diff --git a/dist/xrfragment.aframe.all.js b/dist/xrfragment.aframe.all.js index 6c91fe2..d9c905d 100644 --- a/dist/xrfragment.aframe.all.js +++ b/dist/xrfragment.aframe.all.js @@ -1,5 +1,5 @@ /* - * v0.5.1 generated at Fri Jul 12 05:21:08 PM UTC 2024 + * v0.5.1 generated at Mon Jul 15 02:49:04 PM UTC 2024 * https://xrfragment.org * SPDX-License-Identifier: MPL-2.0 */ @@ -1188,7 +1188,7 @@ xrfragment_URI.template = function(uri,vars) { }; xrfragment_URI.parse = function(stringUrl,flags) { var r = new EReg("^(?:(?![^:@]+:[^:@/]*@)([^:/?#.]+):)?(?://)?((?:(([^:@]*)(?::([^:@]*))?)?@)?([^:/?#]*)(?::(\\d*))?)(((/(?:[^?#](?![^?#/]*\\.[^?#/.]+(?:[?#]|$)))*/?)?([^?#/]*))(?:\\?([^#]*))?(?:#(.*))?)",""); - if(stringUrl.indexOf("://") == -1 && stringUrl.charAt(0) != "/") { + if(stringUrl.indexOf("://") == -1 && stringUrl.charAt(0) != "/" && stringUrl.charAt(0) != "#") { stringUrl = "/" + stringUrl; } r.match(stringUrl); @@ -1372,7 +1372,7 @@ xrfragment_URI.toAbsolute = function(url,newUrl) { if(url.directory != null) { directory = url.directory; } - if(newURI.directory != null) { + if(newURI.directory != null && newURI.source.charAt(0) != "#" && newURI.directory.length > 0) { if(newUrl.charAt(0) != "/" && newUrl.indexOf("://") == -1) { var stripRelative_r = new RegExp("\\./.*","".split("u").join("")); directory = directory.replace(stripRelative_r,""); @@ -1382,7 +1382,7 @@ xrfragment_URI.toAbsolute = function(url,newUrl) { } } resultURI.directory = directory; - if(newURI.file != null) { + if(newURI.file != null && newURI.file.length > 0) { resultURI.file = newURI.file; } else { resultURI.file = url.file; @@ -1939,6 +1939,7 @@ xrf.loadModel = function(model,url,noadd){ let {directory,file,fragment,fileExt} = URI; model.file = URI.file xrf.model = model + xrf.scene = model.scene if( !model.isXRF ) xrf.parseModel(model,url.replace(directory,"")) // this marks the model as an XRF model @@ -2044,6 +2045,9 @@ xrf.navigator.to = (url,flags,loader,data) => { URI.duplicatePos = URI.source == xrf.navigator.URI.source && URI.hasPos URI.hashChange = String(xrf.navigator.URI.fragment||"") != String(URI.fragment||"") let hashbus = xrf.hashbus + + //console.dir({URI1:xrf.navigator.URI,URI2:URI}) + xrf.navigator.URI = URI let {directory,file,fragment,fileExt} = URI; @@ -2500,18 +2504,20 @@ xrf.frag.src = function(v, opts){ if( mesh.isSRC ) return // only embed src once - // correct for relative urls - if( v.string.charAt(0) != '#' && xrf.URI.isRelative( xrf.URI.parse( v.string ) ) ){ - v.string = xrf.navigator.URI.URN + v.string - } - - let url = xrf.frag.src.expandURI( mesh, v.string ) - let srcFrag = opts.srcFrag = xrfragment.URI.parse(url).XRF - opts.isLocal = v.string[0] == '#' opts.isPortal = xrf.frag.src.renderAsPortal(mesh) opts.isSRC = mesh.isSRC = true + // correct for relative urls + let url = v.string + if( v.string.charAt(0) != '#' && xrf.URI.isRelative( xrf.URI.parse( v.string ) ) ){ + url = xrf.navigator.URI.URN + v.string + } + url = xrf.frag.src.expandURI( mesh, url ) + + let srcFrag = opts.srcFrag = xrfragment.URI.parse(url).XRF + + if(xrf.debug) console.log(`src.js: instancing ${opts.isLocal?'local':'remote'} object ${url}`) if( opts.isLocal ){ @@ -3224,7 +3230,7 @@ xrf.addEventListener('dynamicKey', (opts) => { xrf.addEventListener('navigateLoaded', (opts) => { // select active camera if any - let {id,match,v} = opts + let {id,match,v,THREE} = opts let envmap = {} let current = '' @@ -3241,7 +3247,7 @@ xrf.addEventListener('navigateLoaded', (opts) => { // Update the closest ancestor's material map if (node.isMesh && node.material && node.material.map) { closestAncestorMaterialMap = node.material.map.clone(); - closestAncestorMaterialMap.mapping = THREE.EquirectangularReflectionMapping; + closestAncestorMaterialMap.mapping = xrf.THREE.EquirectangularReflectionMapping; closestAncestorMaterialMap.needsUpdate = true } diff --git a/dist/xrfragment.aframe.js b/dist/xrfragment.aframe.js index a335699..d83fed2 100644 --- a/dist/xrfragment.aframe.js +++ b/dist/xrfragment.aframe.js @@ -1,5 +1,5 @@ /* - * v0.5.1 generated at Fri Jul 12 05:21:08 PM UTC 2024 + * v0.5.1 generated at Mon Jul 15 02:49:04 PM UTC 2024 * https://xrfragment.org * SPDX-License-Identifier: MPL-2.0 */ @@ -1186,7 +1186,7 @@ xrfragment_URI.template = function(uri,vars) { }; xrfragment_URI.parse = function(stringUrl,flags) { var r = new EReg("^(?:(?![^:@]+:[^:@/]*@)([^:/?#.]+):)?(?://)?((?:(([^:@]*)(?::([^:@]*))?)?@)?([^:/?#]*)(?::(\\d*))?)(((/(?:[^?#](?![^?#/]*\\.[^?#/.]+(?:[?#]|$)))*/?)?([^?#/]*))(?:\\?([^#]*))?(?:#(.*))?)",""); - if(stringUrl.indexOf("://") == -1 && stringUrl.charAt(0) != "/") { + if(stringUrl.indexOf("://") == -1 && stringUrl.charAt(0) != "/" && stringUrl.charAt(0) != "#") { stringUrl = "/" + stringUrl; } r.match(stringUrl); @@ -1370,7 +1370,7 @@ xrfragment_URI.toAbsolute = function(url,newUrl) { if(url.directory != null) { directory = url.directory; } - if(newURI.directory != null) { + if(newURI.directory != null && newURI.source.charAt(0) != "#" && newURI.directory.length > 0) { if(newUrl.charAt(0) != "/" && newUrl.indexOf("://") == -1) { var stripRelative_r = new RegExp("\\./.*","".split("u").join("")); directory = directory.replace(stripRelative_r,""); @@ -1380,7 +1380,7 @@ xrfragment_URI.toAbsolute = function(url,newUrl) { } } resultURI.directory = directory; - if(newURI.file != null) { + if(newURI.file != null && newURI.file.length > 0) { resultURI.file = newURI.file; } else { resultURI.file = url.file; @@ -1937,6 +1937,7 @@ xrf.loadModel = function(model,url,noadd){ let {directory,file,fragment,fileExt} = URI; model.file = URI.file xrf.model = model + xrf.scene = model.scene if( !model.isXRF ) xrf.parseModel(model,url.replace(directory,"")) // this marks the model as an XRF model @@ -2042,6 +2043,9 @@ xrf.navigator.to = (url,flags,loader,data) => { URI.duplicatePos = URI.source == xrf.navigator.URI.source && URI.hasPos URI.hashChange = String(xrf.navigator.URI.fragment||"") != String(URI.fragment||"") let hashbus = xrf.hashbus + + //console.dir({URI1:xrf.navigator.URI,URI2:URI}) + xrf.navigator.URI = URI let {directory,file,fragment,fileExt} = URI; @@ -2498,18 +2502,20 @@ xrf.frag.src = function(v, opts){ if( mesh.isSRC ) return // only embed src once - // correct for relative urls - if( v.string.charAt(0) != '#' && xrf.URI.isRelative( xrf.URI.parse( v.string ) ) ){ - v.string = xrf.navigator.URI.URN + v.string - } - - let url = xrf.frag.src.expandURI( mesh, v.string ) - let srcFrag = opts.srcFrag = xrfragment.URI.parse(url).XRF - opts.isLocal = v.string[0] == '#' opts.isPortal = xrf.frag.src.renderAsPortal(mesh) opts.isSRC = mesh.isSRC = true + // correct for relative urls + let url = v.string + if( v.string.charAt(0) != '#' && xrf.URI.isRelative( xrf.URI.parse( v.string ) ) ){ + url = xrf.navigator.URI.URN + v.string + } + url = xrf.frag.src.expandURI( mesh, url ) + + let srcFrag = opts.srcFrag = xrfragment.URI.parse(url).XRF + + if(xrf.debug) console.log(`src.js: instancing ${opts.isLocal?'local':'remote'} object ${url}`) if( opts.isLocal ){ @@ -3222,7 +3228,7 @@ xrf.addEventListener('dynamicKey', (opts) => { xrf.addEventListener('navigateLoaded', (opts) => { // select active camera if any - let {id,match,v} = opts + let {id,match,v,THREE} = opts let envmap = {} let current = '' @@ -3239,7 +3245,7 @@ xrf.addEventListener('navigateLoaded', (opts) => { // Update the closest ancestor's material map if (node.isMesh && node.material && node.material.map) { closestAncestorMaterialMap = node.material.map.clone(); - closestAncestorMaterialMap.mapping = THREE.EquirectangularReflectionMapping; + closestAncestorMaterialMap.mapping = xrf.THREE.EquirectangularReflectionMapping; closestAncestorMaterialMap.needsUpdate = true } diff --git a/dist/xrfragment.js b/dist/xrfragment.js index d73cc2d..ef8d3b8 100644 --- a/dist/xrfragment.js +++ b/dist/xrfragment.js @@ -1181,7 +1181,7 @@ xrfragment_URI.template = function(uri,vars) { }; xrfragment_URI.parse = function(stringUrl,flags) { var r = new EReg("^(?:(?![^:@]+:[^:@/]*@)([^:/?#.]+):)?(?://)?((?:(([^:@]*)(?::([^:@]*))?)?@)?([^:/?#]*)(?::(\\d*))?)(((/(?:[^?#](?![^?#/]*\\.[^?#/.]+(?:[?#]|$)))*/?)?([^?#/]*))(?:\\?([^#]*))?(?:#(.*))?)",""); - if(stringUrl.indexOf("://") == -1 && stringUrl.charAt(0) != "/") { + if(stringUrl.indexOf("://") == -1 && stringUrl.charAt(0) != "/" && stringUrl.charAt(0) != "#") { stringUrl = "/" + stringUrl; } r.match(stringUrl); @@ -1365,7 +1365,7 @@ xrfragment_URI.toAbsolute = function(url,newUrl) { if(url.directory != null) { directory = url.directory; } - if(newURI.directory != null) { + if(newURI.directory != null && newURI.source.charAt(0) != "#" && newURI.directory.length > 0) { if(newUrl.charAt(0) != "/" && newUrl.indexOf("://") == -1) { var stripRelative_r = new RegExp("\\./.*","".split("u").join("")); directory = directory.replace(stripRelative_r,""); @@ -1375,7 +1375,7 @@ xrfragment_URI.toAbsolute = function(url,newUrl) { } } resultURI.directory = directory; - if(newURI.file != null) { + if(newURI.file != null && newURI.file.length > 0) { resultURI.file = newURI.file; } else { resultURI.file = url.file; diff --git a/dist/xrfragment.lua b/dist/xrfragment.lua index c2d136e..cda6587 100644 --- a/dist/xrfragment.lua +++ b/dist/xrfragment.lua @@ -2590,7 +2590,7 @@ __xrfragment_URI.template = function(uri,vars) end __xrfragment_URI.parse = function(stringUrl,flags) local r = EReg.new("^(?:(?![^:@]+:[^:@/]*@)([^:/?#.]+):)?(?://)?((?:(([^:@]*)(?::([^:@]*))?)?@)?([^:/?#]*)(?::(\\d*))?)(((/(?:[^?#](?![^?#/]*\\.[^?#/.]+(?:[?#]|$)))*/?)?([^?#/]*))(?:\\?([^#]*))?(?:#(.*))?)", ""); - if ((String.prototype.indexOf(stringUrl, "://") == -1) and (__lua_lib_luautf8_Utf8.sub(stringUrl, 1, 1) ~= "/")) then + if (((String.prototype.indexOf(stringUrl, "://") == -1) and (__lua_lib_luautf8_Utf8.sub(stringUrl, 1, 1) ~= "/")) and (__lua_lib_luautf8_Utf8.sub(stringUrl, 1, 1) ~= "#")) then stringUrl = Std.string("/") .. Std.string(stringUrl); end; r:match(stringUrl); @@ -2785,7 +2785,7 @@ __xrfragment_URI.toAbsolute = function(url,newUrl) if (url.directory ~= nil) then directory = url.directory; end; - if (newURI.directory ~= nil) then + if (((newURI.directory ~= nil) and (__lua_lib_luautf8_Utf8.sub(newURI.source, 1, 1) ~= "#")) and (__lua_lib_luautf8_Utf8.len(newURI.directory) > 0)) then if ((__lua_lib_luautf8_Utf8.sub(newUrl, 1, 1) ~= "/") and (String.prototype.indexOf(newUrl, "://") == -1)) then local stripRelative = EReg.new("\\./.*", ""); directory = stripRelative:replace(directory, ""); @@ -2795,7 +2795,7 @@ __xrfragment_URI.toAbsolute = function(url,newUrl) end; end; resultURI.directory = directory; - if (newURI.file ~= nil) then + if ((newURI.file ~= nil) and (__lua_lib_luautf8_Utf8.len(newURI.file) > 0)) then resultURI.file = newURI.file; else resultURI.file = url.file; diff --git a/dist/xrfragment.module.js b/dist/xrfragment.module.js index 4d1102a..980ba6e 100644 --- a/dist/xrfragment.module.js +++ b/dist/xrfragment.module.js @@ -1,164578 +1,43 @@ /* - * v0.5.1 generated at Fri Jul 12 05:21:08 PM UTC 2024 + * v0.5.1 generated at Mon Jul 15 02:49:04 PM UTC 2024 * https://xrfragment.org * SPDX-License-Identifier: MPL-2.0 */ /* - * v0.5.1 generated at Fri Jul 12 05:20:51 PM UTC 2024 + * v0.5.1 generated at Mon Jul 15 02:48:30 PM UTC 2024 * https://xrfragment.org * SPDX-License-Identifier: MPL-2.0 */ /* - * v0.5.1 generated at Fri Jul 12 05:18:35 PM UTC 2024 + * v0.5.1 generated at Mon Jul 15 02:48:04 PM UTC 2024 * https://xrfragment.org * SPDX-License-Identifier: MPL-2.0 */ /* - * v0.5.1 generated at Fri Jul 12 05:17:07 PM UTC 2024 + * v0.5.1 generated at Mon Jul 15 02:47:21 PM UTC 2024 * https://xrfragment.org * SPDX-License-Identifier: MPL-2.0 */ /* - * v0.5.1 generated at Fri Jul 12 05:16:39 PM UTC 2024 + * v0.5.1 generated at Mon Jul 15 02:38:15 PM UTC 2024 * https://xrfragment.org * SPDX-License-Identifier: MPL-2.0 */ /* - * v0.5.1 generated at Fri Jul 12 05:16:03 PM UTC 2024 + * v0.5.1 generated at Mon Jul 15 02:37:38 PM UTC 2024 * https://xrfragment.org * SPDX-License-Identifier: MPL-2.0 */ /* - * v0.5.1 generated at Fri Jul 12 05:15:49 PM UTC 2024 + * v0.5.1 generated at Mon Jul 15 02:24:57 PM UTC 2024 * https://xrfragment.org * SPDX-License-Identifier: MPL-2.0 */ /* - * v0.5.1 generated at Fri Jul 12 05:15:28 PM UTC 2024 + * v0.5.1 generated at Mon Jul 15 02:21:36 PM UTC 2024 * https://xrfragment.org * SPDX-License-Identifier: MPL-2.0 */ -/* - * v0.5.1 generated at Fri Jul 12 05:14:02 PM UTC 2024 - * https://xrfragment.org - * SPDX-License-Identifier: MPL-2.0 - */ -/* - * v0.5.1 generated at Fri Jul 12 05:13:36 PM UTC 2024 - * https://xrfragment.org - * SPDX-License-Identifier: MPL-2.0 - */ -/* - * v0.5.1 generated at Fri Jul 12 05:13:14 PM UTC 2024 - * https://xrfragment.org - * SPDX-License-Identifier: MPL-2.0 - */ -/* - * v0.5.1 generated at Fri Jul 12 05:13:06 PM UTC 2024 - * https://xrfragment.org - * SPDX-License-Identifier: MPL-2.0 - */ -/* - * v0.5.1 generated at Fri Jul 12 05:12:47 PM UTC 2024 - * https://xrfragment.org - * SPDX-License-Identifier: MPL-2.0 - */ -/* - * v0.5.1 generated at Fri Jul 12 05:12:31 PM UTC 2024 - * https://xrfragment.org - * SPDX-License-Identifier: MPL-2.0 - */ -/* - * v0.5.1 generated at Fri Jul 12 05:12:00 PM UTC 2024 - * https://xrfragment.org - * SPDX-License-Identifier: MPL-2.0 - */ -/* - * v0.5.1 generated at Fri Jul 12 05:11:16 PM UTC 2024 - * https://xrfragment.org - * SPDX-License-Identifier: MPL-2.0 - */ -/* - * v0.5.1 generated at Fri Jul 12 05:09:07 PM UTC 2024 - * https://xrfragment.org - * SPDX-License-Identifier: MPL-2.0 - */ -/* - * v0.5.1 generated at Fri Jul 12 05:02:43 PM UTC 2024 - * https://xrfragment.org - * SPDX-License-Identifier: MPL-2.0 - */ -/* - * v0.5.1 generated at Fri Jul 12 05:00:05 PM UTC 2024 - * https://xrfragment.org - * SPDX-License-Identifier: MPL-2.0 - */ -/* - * v0.5.1 generated at Fri Jul 12 04:59:23 PM UTC 2024 - * https://xrfragment.org - * SPDX-License-Identifier: MPL-2.0 - */ -/* - * v0.5.1 generated at Fri Jul 12 04:11:54 PM UTC 2024 - * https://xrfragment.org - * SPDX-License-Identifier: MPL-2.0 - */ -/* - * v0.5.1 generated at Fri Jul 12 03:55:13 PM UTC 2024 - * https://xrfragment.org - * SPDX-License-Identifier: MPL-2.0 - */ -/* - * v0.5.1 generated at Fri Jul 12 03:54:00 PM UTC 2024 - * https://xrfragment.org - * SPDX-License-Identifier: MPL-2.0 - */ -/* - * v0.5.1 generated at Fri Jul 12 03:53:18 PM UTC 2024 - * https://xrfragment.org - * SPDX-License-Identifier: MPL-2.0 - */ -/* - * v0.5.1 generated at Fri Jul 12 03:53:00 PM UTC 2024 - * https://xrfragment.org - * SPDX-License-Identifier: MPL-2.0 - */ -/* - * v0.5.1 generated at Fri Jul 12 03:52:47 PM UTC 2024 - * https://xrfragment.org - * SPDX-License-Identifier: MPL-2.0 - */ -/* - * v0.5.1 generated at Fri Jul 12 03:47:08 PM UTC 2024 - * https://xrfragment.org - * SPDX-License-Identifier: MPL-2.0 - */ -/* - * v0.5.1 generated at Fri Jul 12 03:46:09 PM UTC 2024 - * https://xrfragment.org - * SPDX-License-Identifier: MPL-2.0 - */ -/* - * v0.5.1 generated at Fri Jul 12 03:42:24 PM UTC 2024 - * https://xrfragment.org - * SPDX-License-Identifier: MPL-2.0 - */ -/* - * v0.5.1 generated at Fri Jul 12 03:42:10 PM UTC 2024 - * https://xrfragment.org - * SPDX-License-Identifier: MPL-2.0 - */ -/* - * v0.5.1 generated at Fri Jul 12 03:41:49 PM UTC 2024 - * https://xrfragment.org - * SPDX-License-Identifier: MPL-2.0 - */ -/* - * v0.5.1 generated at Fri Jul 12 03:41:19 PM UTC 2024 - * https://xrfragment.org - * SPDX-License-Identifier: MPL-2.0 - */ -/* - * v0.5.1 generated at Fri Jul 12 03:41:01 PM UTC 2024 - * https://xrfragment.org - * SPDX-License-Identifier: MPL-2.0 - */ -/* - * v0.5.1 generated at Fri Jul 12 03:40:39 PM UTC 2024 - * https://xrfragment.org - * SPDX-License-Identifier: MPL-2.0 - */ -/* - * v0.5.1 generated at Fri Jul 12 03:38:59 PM UTC 2024 - * https://xrfragment.org - * SPDX-License-Identifier: MPL-2.0 - */ -/* - * v0.5.1 generated at Fri Jul 12 03:38:12 PM UTC 2024 - * https://xrfragment.org - * SPDX-License-Identifier: MPL-2.0 - */ -/* - * v0.5.1 generated at Fri Jul 12 03:36:35 PM UTC 2024 - * https://xrfragment.org - * SPDX-License-Identifier: MPL-2.0 - */ -/* - * v0.5.1 generated at Fri Jul 12 03:34:47 PM UTC 2024 - * https://xrfragment.org - * SPDX-License-Identifier: MPL-2.0 - */ -/* - * v0.5.1 generated at Fri Jul 12 03:34:29 PM UTC 2024 - * https://xrfragment.org - * SPDX-License-Identifier: MPL-2.0 - */ -/* - * v0.5.1 generated at Fri Jul 12 03:33:42 PM UTC 2024 - * https://xrfragment.org - * SPDX-License-Identifier: MPL-2.0 - */ -/* - * v0.5.1 generated at Fri Jul 12 03:33:05 PM UTC 2024 - * https://xrfragment.org - * SPDX-License-Identifier: MPL-2.0 - */ -/* - * v0.5.1 generated at Fri Jul 12 03:32:19 PM UTC 2024 - * https://xrfragment.org - * SPDX-License-Identifier: MPL-2.0 - */ -/* - * v0.5.1 generated at Fri Jul 12 03:24:53 PM UTC 2024 - * https://xrfragment.org - * SPDX-License-Identifier: MPL-2.0 - */ -/* - * v0.5.1 generated at Fri Jul 12 03:24:41 PM UTC 2024 - * https://xrfragment.org - * SPDX-License-Identifier: MPL-2.0 - */ -/* - * v0.5.1 generated at Fri Jul 12 02:59:36 PM UTC 2024 - * https://xrfragment.org - * SPDX-License-Identifier: MPL-2.0 - */ -/* - * v0.5.1 generated at Fri Jul 12 02:58:35 PM UTC 2024 - * https://xrfragment.org - * SPDX-License-Identifier: MPL-2.0 - */ -/* - * v0.5.1 generated at Fri Jul 12 02:58:31 PM UTC 2024 - * https://xrfragment.org - * SPDX-License-Identifier: MPL-2.0 - */ -/* - * v0.5.1 generated at Fri Jul 12 02:57:39 PM UTC 2024 - * https://xrfragment.org - * SPDX-License-Identifier: MPL-2.0 - */ -/* - * v0.5.1 generated at Fri Jul 12 02:57:36 PM UTC 2024 - * https://xrfragment.org - * SPDX-License-Identifier: MPL-2.0 - */ -/* - * v0.5.1 generated at Fri Jul 12 02:57:08 PM UTC 2024 - * https://xrfragment.org - * SPDX-License-Identifier: MPL-2.0 - */ -/* - * v0.5.1 generated at Fri Jul 12 02:56:21 PM UTC 2024 - * https://xrfragment.org - * SPDX-License-Identifier: MPL-2.0 - */ -/* - * v0.5.1 generated at Fri Jul 12 02:55:58 PM UTC 2024 - * https://xrfragment.org - * SPDX-License-Identifier: MPL-2.0 - */ -/* - * v0.5.1 generated at Fri Jul 12 02:55:28 PM UTC 2024 - * https://xrfragment.org - * SPDX-License-Identifier: MPL-2.0 - */ -/* - * v0.5.1 generated at Fri Jul 12 02:54:49 PM UTC 2024 - * https://xrfragment.org - * SPDX-License-Identifier: MPL-2.0 - */ -/* - * v0.5.1 generated at Fri Jul 12 02:54:48 PM UTC 2024 - * https://xrfragment.org - * SPDX-License-Identifier: MPL-2.0 - */ -/* - * v0.5.1 generated at Fri Jul 12 01:51:18 PM UTC 2024 - * https://xrfragment.org - * SPDX-License-Identifier: MPL-2.0 - */ -/* - * v0.5.1 generated at Fri Jul 12 01:51:00 PM UTC 2024 - * https://xrfragment.org - * SPDX-License-Identifier: MPL-2.0 - */ -/* - * v0.5.1 generated at Thu Jul 11 01:59:18 PM UTC 2024 - * https://xrfragment.org - * SPDX-License-Identifier: MPL-2.0 - */ -/* - * v0.5.1 generated at Thu Jul 11 01:57:09 PM UTC 2024 - * https://xrfragment.org - * SPDX-License-Identifier: MPL-2.0 - */ -/* - * v0.5.1 generated at Thu Jul 11 01:51:26 PM UTC 2024 - * https://xrfragment.org - * SPDX-License-Identifier: MPL-2.0 - */ -/* - * v0.5.1 generated at Thu Jul 11 01:49:21 PM UTC 2024 - * https://xrfragment.org - * SPDX-License-Identifier: MPL-2.0 - */ -/* - * v0.5.1 generated at Thu Jul 11 01:47:24 PM UTC 2024 - * https://xrfragment.org - * SPDX-License-Identifier: MPL-2.0 - */ -/* - * v0.5.1 generated at Thu Jul 11 01:47:06 PM UTC 2024 - * https://xrfragment.org - * SPDX-License-Identifier: MPL-2.0 - */ -/* - * v0.5.1 generated at Thu Jul 11 01:47:03 PM UTC 2024 - * https://xrfragment.org - * SPDX-License-Identifier: MPL-2.0 - */ -/* - * v0.5.1 generated at Thu Jul 11 01:40:18 PM UTC 2024 - * https://xrfragment.org - * SPDX-License-Identifier: MPL-2.0 - */ -/* - * v0.5.1 generated at Thu Jul 11 01:39:58 PM UTC 2024 - * https://xrfragment.org - * SPDX-License-Identifier: MPL-2.0 - */ -/* - * v0.5.1 generated at Thu Jul 11 01:38:35 PM UTC 2024 - * https://xrfragment.org - * SPDX-License-Identifier: MPL-2.0 - */ -/* - * v0.5.1 generated at Thu Jul 11 01:37:55 PM UTC 2024 - * https://xrfragment.org - * SPDX-License-Identifier: MPL-2.0 - */ -/* - * v0.5.1 generated at Thu Jul 11 01:37:53 PM UTC 2024 - * https://xrfragment.org - * SPDX-License-Identifier: MPL-2.0 - */ -/* - * v0.5.1 generated at Thu Jul 11 01:37:47 PM UTC 2024 - * https://xrfragment.org - * SPDX-License-Identifier: MPL-2.0 - */ -/* - * v0.5.1 generated at Thu Jul 11 01:37:30 PM UTC 2024 - * https://xrfragment.org - * SPDX-License-Identifier: MPL-2.0 - */ -/* - * v0.5.1 generated at Thu Jul 11 01:36:58 PM UTC 2024 - * https://xrfragment.org - * SPDX-License-Identifier: MPL-2.0 - */ -/* - * v0.5.1 generated at Thu Jul 11 01:36:33 PM UTC 2024 - * https://xrfragment.org - * SPDX-License-Identifier: MPL-2.0 - */ -/* - * v0.5.1 generated at Thu Jul 11 01:32:38 PM UTC 2024 - * https://xrfragment.org - * SPDX-License-Identifier: MPL-2.0 - */ -/* - * v0.5.1 generated at Thu Jul 11 01:32:16 PM UTC 2024 - * https://xrfragment.org - * SPDX-License-Identifier: MPL-2.0 - */ -/* - * v0.5.1 generated at Thu Jul 11 01:31:43 PM UTC 2024 - * https://xrfragment.org - * SPDX-License-Identifier: MPL-2.0 - */ -/* - * v0.5.1 generated at Wed Jul 10 10:20:14 AM UTC 2024 - * https://xrfragment.org - * SPDX-License-Identifier: MPL-2.0 - */ -/* - * v0.5.1 generated at Wed Jul 10 10:19:11 AM UTC 2024 - * https://xrfragment.org - * SPDX-License-Identifier: MPL-2.0 - */ -/* - * v0.5.1 generated at Wed Jul 10 10:18:37 AM UTC 2024 - * https://xrfragment.org - * SPDX-License-Identifier: MPL-2.0 - */ -/* - * v0.5.1 generated at Wed Jul 10 10:18:24 AM UTC 2024 - * https://xrfragment.org - * SPDX-License-Identifier: MPL-2.0 - */ -/* - * v0.5.1 generated at Wed Jul 10 10:18:05 AM UTC 2024 - * https://xrfragment.org - * SPDX-License-Identifier: MPL-2.0 - */ -/* - * v0.5.1 generated at Wed Jul 10 10:17:31 AM UTC 2024 - * https://xrfragment.org - * SPDX-License-Identifier: MPL-2.0 - */ -/* - * v0.5.1 generated at Wed Jul 10 10:16:41 AM UTC 2024 - * https://xrfragment.org - * SPDX-License-Identifier: MPL-2.0 - */ -/* - * v0.5.1 generated at Wed Jul 10 10:15:57 AM UTC 2024 - * https://xrfragment.org - * SPDX-License-Identifier: MPL-2.0 - */ -/* - * v0.5.1 generated at Wed Jul 10 10:00:28 AM UTC 2024 - * https://xrfragment.org - * SPDX-License-Identifier: MPL-2.0 - */ -/* - * v0.5.1 generated at Wed Jul 10 09:59:50 AM UTC 2024 - * https://xrfragment.org - * SPDX-License-Identifier: MPL-2.0 - */ -/* - * v0.5.1 generated at Wed Jul 10 09:54:36 AM UTC 2024 - * https://xrfragment.org - * SPDX-License-Identifier: MPL-2.0 - */ -/* - * v0.5.1 generated at Wed Jul 10 09:52:19 AM UTC 2024 - * https://xrfragment.org - * SPDX-License-Identifier: MPL-2.0 - */ -/* - * v0.5.1 generated at Wed Jul 10 09:51:42 AM UTC 2024 - * https://xrfragment.org - * SPDX-License-Identifier: MPL-2.0 - */ -/* - * v0.5.1 generated at Wed Jul 10 09:47:20 AM UTC 2024 - * https://xrfragment.org - * SPDX-License-Identifier: MPL-2.0 - */ -/* - * v0.5.1 generated at Wed Jul 10 09:39:13 AM UTC 2024 - * https://xrfragment.org - * SPDX-License-Identifier: MPL-2.0 - */ -/* - * v0.5.1 generated at Wed Jul 10 09:38:03 AM UTC 2024 - * https://xrfragment.org - * SPDX-License-Identifier: MPL-2.0 - */ -/* - * v0.5.1 generated at Wed Jul 10 09:37:38 AM UTC 2024 - * https://xrfragment.org - * SPDX-License-Identifier: MPL-2.0 - */ -/* - * v0.5.1 generated at Wed Jul 10 09:35:16 AM UTC 2024 - * https://xrfragment.org - * SPDX-License-Identifier: MPL-2.0 - */ -/* - * v0.5.1 generated at Tue Jul 9 04:28:50 PM UTC 2024 - * https://xrfragment.org - * SPDX-License-Identifier: MPL-2.0 - */ -/* - * v0.5.1 generated at Tue Jul 9 04:28:15 PM UTC 2024 - * https://xrfragment.org - * SPDX-License-Identifier: MPL-2.0 - */ -/* - * v0.5.1 generated at Tue Jul 9 04:28:12 PM UTC 2024 - * https://xrfragment.org - * SPDX-License-Identifier: MPL-2.0 - */ -/* - * v0.5.1 generated at Tue Jul 9 04:24:46 PM UTC 2024 - * https://xrfragment.org - * SPDX-License-Identifier: MPL-2.0 - */ -/* - * v0.5.1 generated at Tue Jul 9 04:24:20 PM UTC 2024 - * https://xrfragment.org - * SPDX-License-Identifier: MPL-2.0 - */ -/* - * v0.5.1 generated at Tue Jul 9 04:23:27 PM UTC 2024 - * https://xrfragment.org - * SPDX-License-Identifier: MPL-2.0 - */ -/* - * v0.5.1 generated at Tue Jul 9 04:23:22 PM UTC 2024 - * https://xrfragment.org - * SPDX-License-Identifier: MPL-2.0 - */ -/* - * v0.5.1 generated at Tue Jul 9 04:21:15 PM UTC 2024 - * https://xrfragment.org - * SPDX-License-Identifier: MPL-2.0 - */ -/* - * v0.5.1 generated at Tue Jul 9 04:21:05 PM UTC 2024 - * https://xrfragment.org - * SPDX-License-Identifier: MPL-2.0 - */ -/* - * v0.5.1 generated at Tue Jul 9 04:20:06 PM UTC 2024 - * https://xrfragment.org - * SPDX-License-Identifier: MPL-2.0 - */ -/* - * v0.5.1 generated at Tue Jul 9 04:15:58 PM UTC 2024 - * https://xrfragment.org - * SPDX-License-Identifier: MPL-2.0 - */ -/* - * v0.5.1 generated at Tue Jul 9 04:14:08 PM UTC 2024 - * https://xrfragment.org - * SPDX-License-Identifier: MPL-2.0 - */ -/* - * v0.5.1 generated at Tue Jul 9 04:13:54 PM UTC 2024 - * https://xrfragment.org - * SPDX-License-Identifier: MPL-2.0 - */ -/* - * v0.5.1 generated at Tue Jul 9 04:13:25 PM UTC 2024 - * https://xrfragment.org - * SPDX-License-Identifier: MPL-2.0 - */ -/* - * v0.5.1 generated at Tue Jul 9 04:08:10 PM UTC 2024 - * https://xrfragment.org - * SPDX-License-Identifier: MPL-2.0 - */ -/* - * v0.5.1 generated at Tue Jul 9 04:08:08 PM UTC 2024 - * https://xrfragment.org - * SPDX-License-Identifier: MPL-2.0 - */ -/* - * v0.5.1 generated at Tue Jul 9 04:05:27 PM UTC 2024 - * https://xrfragment.org - * SPDX-License-Identifier: MPL-2.0 - */ -/* - * v0.5.1 generated at Tue Jul 9 03:58:47 PM UTC 2024 - * https://xrfragment.org - * SPDX-License-Identifier: MPL-2.0 - */ -/* - * v0.5.1 generated at Tue Jul 9 03:58:42 PM UTC 2024 - * https://xrfragment.org - * SPDX-License-Identifier: MPL-2.0 - */ -// Generated by Haxe 4.3.3 -var $hx_exports = typeof exports != "undefined" ? exports : typeof window != "undefined" ? window : typeof self != "undefined" ? self : this; -(function ($global) { "use strict"; -$hx_exports["xrfragment"] = $hx_exports["xrfragment"] || {}; -var $estr = function() { return js_Boot.__string_rec(this,''); },$hxEnums = $hxEnums || {},$_; -function $extend(from, fields) { - var proto = Object.create(from); - for (var name in fields) proto[name] = fields[name]; - if( fields.toString !== Object.prototype.toString ) proto.toString = fields.toString; - return proto; -} -var EReg = function(r,opt) { - this.r = new RegExp(r,opt.split("u").join("")); -}; -EReg.__name__ = true; -EReg.prototype = { - match: function(s) { - if(this.r.global) { - this.r.lastIndex = 0; - } - this.r.m = this.r.exec(s); - this.r.s = s; - return this.r.m != null; - } - ,matched: function(n) { - if(this.r.m != null && n >= 0 && n < this.r.m.length) { - return this.r.m[n]; - } else { - throw haxe_Exception.thrown("EReg::matched"); - } - } - ,matchedRight: function() { - if(this.r.m == null) { - throw haxe_Exception.thrown("No string matched"); - } - var sz = this.r.m.index + this.r.m[0].length; - return HxOverrides.substr(this.r.s,sz,this.r.s.length - sz); - } - ,matchedPos: function() { - if(this.r.m == null) { - throw haxe_Exception.thrown("No string matched"); - } - return { pos : this.r.m.index, len : this.r.m[0].length}; - } - ,split: function(s) { - var d = "#__delim__#"; - return s.replace(this.r,d).split(d); - } -}; -var HxOverrides = function() { }; -HxOverrides.__name__ = true; -HxOverrides.cca = function(s,index) { - var x = s.charCodeAt(index); - if(x != x) { - return undefined; - } - return x; -}; -HxOverrides.substr = function(s,pos,len) { - if(len == null) { - len = s.length; - } else if(len < 0) { - if(pos == 0) { - len = s.length + len; - } else { - return ""; - } - } - return s.substr(pos,len); -}; -HxOverrides.now = function() { - return Date.now(); -}; -Math.__name__ = true; -var Reflect = function() { }; -Reflect.__name__ = true; -Reflect.field = function(o,field) { - try { - return o[field]; - } catch( _g ) { - return null; - } -}; -Reflect.getProperty = function(o,field) { - var tmp; - if(o == null) { - return null; - } else { - var tmp1; - if(o.__properties__) { - tmp = o.__properties__["get_" + field]; - tmp1 = tmp; - } else { - tmp1 = false; - } - if(tmp1) { - return o[tmp](); - } else { - return o[field]; - } - } -}; -Reflect.fields = function(o) { - var a = []; - if(o != null) { - var hasOwnProperty = Object.prototype.hasOwnProperty; - for( var f in o ) { - if(f != "__id__" && f != "hx__closures__" && hasOwnProperty.call(o,f)) { - a.push(f); - } - } - } - return a; -}; -Reflect.isObject = function(v) { - if(v == null) { - return false; - } - var t = typeof(v); - if(!(t == "string" || t == "object" && v.__enum__ == null)) { - if(t == "function") { - return (v.__name__ || v.__ename__) != null; - } else { - return false; - } - } else { - return true; - } -}; -Reflect.deleteField = function(o,field) { - if(!Object.prototype.hasOwnProperty.call(o,field)) { - return false; - } - delete(o[field]); - return true; -}; -Reflect.copy = function(o) { - if(o == null) { - return null; - } - var o2 = { }; - var _g = 0; - var _g1 = Reflect.fields(o); - while(_g < _g1.length) { - var f = _g1[_g]; - ++_g; - o2[f] = Reflect.field(o,f); - } - return o2; -}; -var Std = function() { }; -Std.__name__ = true; -Std.string = function(s) { - return js_Boot.__string_rec(s,""); -}; -Std.parseInt = function(x) { - var v = parseInt(x); - if(isNaN(v)) { - return null; - } - return v; -}; -var StringBuf = function() { - this.b = ""; -}; -StringBuf.__name__ = true; -var StringTools = function() { }; -StringTools.__name__ = true; -StringTools.isSpace = function(s,pos) { - var c = HxOverrides.cca(s,pos); - if(!(c > 8 && c < 14)) { - return c == 32; - } else { - return true; - } -}; -StringTools.ltrim = function(s) { - var l = s.length; - var r = 0; - while(r < l && StringTools.isSpace(s,r)) ++r; - if(r > 0) { - return HxOverrides.substr(s,r,l - r); - } else { - return s; - } -}; -StringTools.rtrim = function(s) { - var l = s.length; - var r = 0; - while(r < l && StringTools.isSpace(s,l - r - 1)) ++r; - if(r > 0) { - return HxOverrides.substr(s,0,l - r); - } else { - return s; - } -}; -StringTools.trim = function(s) { - return StringTools.ltrim(StringTools.rtrim(s)); -}; -StringTools.replace = function(s,sub,by) { - return s.split(sub).join(by); -}; -var haxe_Exception = function(message,previous,native) { - Error.call(this,message); - this.message = message; - this.__previousException = previous; - this.__nativeException = native != null ? native : this; -}; -haxe_Exception.__name__ = true; -haxe_Exception.caught = function(value) { - if(((value) instanceof haxe_Exception)) { - return value; - } else if(((value) instanceof Error)) { - return new haxe_Exception(value.message,null,value); - } else { - return new haxe_ValueException(value,null,value); - } -}; -haxe_Exception.thrown = function(value) { - if(((value) instanceof haxe_Exception)) { - return value.get_native(); - } else if(((value) instanceof Error)) { - return value; - } else { - var e = new haxe_ValueException(value); - return e; - } -}; -haxe_Exception.__super__ = Error; -haxe_Exception.prototype = $extend(Error.prototype,{ - unwrap: function() { - return this.__nativeException; - } - ,get_native: function() { - return this.__nativeException; - } - ,__properties__: {get_native:"get_native"} -}); -var haxe__$Template_TemplateExpr = $hxEnums["haxe._Template.TemplateExpr"] = { __ename__:true,__constructs__:null - ,OpVar: ($_=function(v) { return {_hx_index:0,v:v,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpVar",$_.__params__ = ["v"],$_) - ,OpExpr: ($_=function(expr) { return {_hx_index:1,expr:expr,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpExpr",$_.__params__ = ["expr"],$_) - ,OpIf: ($_=function(expr,eif,eelse) { return {_hx_index:2,expr:expr,eif:eif,eelse:eelse,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpIf",$_.__params__ = ["expr","eif","eelse"],$_) - ,OpStr: ($_=function(str) { return {_hx_index:3,str:str,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpStr",$_.__params__ = ["str"],$_) - ,OpBlock: ($_=function(l) { return {_hx_index:4,l:l,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpBlock",$_.__params__ = ["l"],$_) - ,OpForeach: ($_=function(expr,loop) { return {_hx_index:5,expr:expr,loop:loop,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpForeach",$_.__params__ = ["expr","loop"],$_) - ,OpMacro: ($_=function(name,params) { return {_hx_index:6,name:name,params:params,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpMacro",$_.__params__ = ["name","params"],$_) -}; -haxe__$Template_TemplateExpr.__constructs__ = [haxe__$Template_TemplateExpr.OpVar,haxe__$Template_TemplateExpr.OpExpr,haxe__$Template_TemplateExpr.OpIf,haxe__$Template_TemplateExpr.OpStr,haxe__$Template_TemplateExpr.OpBlock,haxe__$Template_TemplateExpr.OpForeach,haxe__$Template_TemplateExpr.OpMacro]; -var haxe_iterators_ArrayIterator = function(array) { - this.current = 0; - this.array = array; -}; -haxe_iterators_ArrayIterator.__name__ = true; -haxe_iterators_ArrayIterator.prototype = { - hasNext: function() { - return this.current < this.array.length; - } - ,next: function() { - return this.array[this.current++]; - } -}; -var haxe_Template = function(str) { - var tokens = this.parseTokens(str); - this.expr = this.parseBlock(tokens); - if(!tokens.isEmpty()) { - throw haxe_Exception.thrown("Unexpected '" + Std.string(tokens.first().s) + "'"); - } -}; -haxe_Template.__name__ = true; -haxe_Template.prototype = { - execute: function(context,macros) { - this.macros = macros == null ? { } : macros; - this.context = context; - this.stack = new haxe_ds_List(); - this.buf = new StringBuf(); - this.run(this.expr); - return this.buf.b; - } - ,resolve: function(v) { - if(v == "__current__") { - return this.context; - } - if(Reflect.isObject(this.context)) { - var value = Reflect.getProperty(this.context,v); - if(value != null || Object.prototype.hasOwnProperty.call(this.context,v)) { - return value; - } - } - var _g_head = this.stack.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var ctx = val; - var value = Reflect.getProperty(ctx,v); - if(value != null || Object.prototype.hasOwnProperty.call(ctx,v)) { - return value; - } - } - return Reflect.field(haxe_Template.globals,v); - } - ,parseTokens: function(data) { - var tokens = new haxe_ds_List(); - while(haxe_Template.splitter.match(data)) { - var p = haxe_Template.splitter.matchedPos(); - if(p.pos > 0) { - tokens.add({ p : HxOverrides.substr(data,0,p.pos), s : true, l : null}); - } - if(HxOverrides.cca(data,p.pos) == 58) { - tokens.add({ p : HxOverrides.substr(data,p.pos + 2,p.len - 4), s : false, l : null}); - data = haxe_Template.splitter.matchedRight(); - continue; - } - var parp = p.pos + p.len; - var npar = 1; - var params = []; - var part = ""; - while(true) { - var c = HxOverrides.cca(data,parp); - ++parp; - if(c == 40) { - ++npar; - } else if(c == 41) { - --npar; - if(npar <= 0) { - break; - } - } else if(c == null) { - throw haxe_Exception.thrown("Unclosed macro parenthesis"); - } - if(c == 44 && npar == 1) { - params.push(part); - part = ""; - } else { - part += String.fromCodePoint(c); - } - } - params.push(part); - tokens.add({ p : haxe_Template.splitter.matched(2), s : false, l : params}); - data = HxOverrides.substr(data,parp,data.length - parp); - } - if(data.length > 0) { - tokens.add({ p : data, s : true, l : null}); - } - return tokens; - } - ,parseBlock: function(tokens) { - var l = new haxe_ds_List(); - while(true) { - var t = tokens.first(); - if(t == null) { - break; - } - if(!t.s && (t.p == "end" || t.p == "else" || HxOverrides.substr(t.p,0,7) == "elseif ")) { - break; - } - l.add(this.parse(tokens)); - } - if(l.length == 1) { - return l.first(); - } - return haxe__$Template_TemplateExpr.OpBlock(l); - } - ,parse: function(tokens) { - var t = tokens.pop(); - var p = t.p; - if(t.s) { - return haxe__$Template_TemplateExpr.OpStr(p); - } - if(t.l != null) { - var pe = new haxe_ds_List(); - var _g = 0; - var _g1 = t.l; - while(_g < _g1.length) { - var p1 = _g1[_g]; - ++_g; - pe.add(this.parseBlock(this.parseTokens(p1))); - } - return haxe__$Template_TemplateExpr.OpMacro(p,pe); - } - var kwdEnd = function(kwd) { - var pos = -1; - var length = kwd.length; - if(HxOverrides.substr(p,0,length) == kwd) { - pos = length; - var _g_offset = 0; - var _g_s = HxOverrides.substr(p,length,null); - while(_g_offset < _g_s.length) { - var c = _g_s.charCodeAt(_g_offset++); - if(c == 32) { - ++pos; - } else { - break; - } - } - } - return pos; - }; - var pos = kwdEnd("if"); - if(pos > 0) { - p = HxOverrides.substr(p,pos,p.length - pos); - var e = this.parseExpr(p); - var eif = this.parseBlock(tokens); - var t = tokens.first(); - var eelse; - if(t == null) { - throw haxe_Exception.thrown("Unclosed 'if'"); - } - if(t.p == "end") { - tokens.pop(); - eelse = null; - } else if(t.p == "else") { - tokens.pop(); - eelse = this.parseBlock(tokens); - t = tokens.pop(); - if(t == null || t.p != "end") { - throw haxe_Exception.thrown("Unclosed 'else'"); - } - } else { - t.p = HxOverrides.substr(t.p,4,t.p.length - 4); - eelse = this.parse(tokens); - } - return haxe__$Template_TemplateExpr.OpIf(e,eif,eelse); - } - var pos = kwdEnd("foreach"); - if(pos >= 0) { - p = HxOverrides.substr(p,pos,p.length - pos); - var e = this.parseExpr(p); - var efor = this.parseBlock(tokens); - var t = tokens.pop(); - if(t == null || t.p != "end") { - throw haxe_Exception.thrown("Unclosed 'foreach'"); - } - return haxe__$Template_TemplateExpr.OpForeach(e,efor); - } - if(haxe_Template.expr_splitter.match(p)) { - return haxe__$Template_TemplateExpr.OpExpr(this.parseExpr(p)); - } - return haxe__$Template_TemplateExpr.OpVar(p); - } - ,parseExpr: function(data) { - var l = new haxe_ds_List(); - var expr = data; - while(haxe_Template.expr_splitter.match(data)) { - var p = haxe_Template.expr_splitter.matchedPos(); - var k = p.pos + p.len; - if(p.pos != 0) { - l.add({ p : HxOverrides.substr(data,0,p.pos), s : true}); - } - var p1 = haxe_Template.expr_splitter.matched(0); - l.add({ p : p1, s : p1.indexOf("\"") >= 0}); - data = haxe_Template.expr_splitter.matchedRight(); - } - if(data.length != 0) { - var _g_offset = 0; - var _g_s = data; - while(_g_offset < _g_s.length) { - var _g_key = _g_offset; - var _g_value = _g_s.charCodeAt(_g_offset++); - var i = _g_key; - var c = _g_value; - if(c != 32) { - l.add({ p : HxOverrides.substr(data,i,null), s : true}); - break; - } - } - } - var e; - try { - e = this.makeExpr(l); - if(!l.isEmpty()) { - throw haxe_Exception.thrown(l.first().p); - } - } catch( _g ) { - var _g1 = haxe_Exception.caught(_g).unwrap(); - if(typeof(_g1) == "string") { - var s = _g1; - throw haxe_Exception.thrown("Unexpected '" + s + "' in " + expr); - } else { - throw _g; - } - } - return function() { - try { - return e(); - } catch( _g ) { - var exc = haxe_Exception.caught(_g).unwrap(); - throw haxe_Exception.thrown("Error : " + Std.string(exc) + " in " + expr); - } - }; - } - ,makeConst: function(v) { - haxe_Template.expr_trim.match(v); - v = haxe_Template.expr_trim.matched(1); - if(HxOverrides.cca(v,0) == 34) { - var str = HxOverrides.substr(v,1,v.length - 2); - return function() { - return str; - }; - } - if(haxe_Template.expr_int.match(v)) { - var i = Std.parseInt(v); - return function() { - return i; - }; - } - if(haxe_Template.expr_float.match(v)) { - var f = parseFloat(v); - return function() { - return f; - }; - } - var me = this; - return function() { - return me.resolve(v); - }; - } - ,makePath: function(e,l) { - var p = l.first(); - if(p == null || p.p != ".") { - return e; - } - l.pop(); - var field = l.pop(); - if(field == null || !field.s) { - throw haxe_Exception.thrown(field.p); - } - var f = field.p; - haxe_Template.expr_trim.match(f); - f = haxe_Template.expr_trim.matched(1); - return this.makePath(function() { - return Reflect.field(e(),f); - },l); - } - ,makeExpr: function(l) { - return this.makePath(this.makeExpr2(l),l); - } - ,skipSpaces: function(l) { - var p = l.first(); - while(p != null) { - var _g_offset = 0; - var _g_s = p.p; - while(_g_offset < _g_s.length) { - var c = _g_s.charCodeAt(_g_offset++); - if(c != 32) { - return; - } - } - l.pop(); - p = l.first(); - } - } - ,makeExpr2: function(l) { - this.skipSpaces(l); - var p = l.pop(); - this.skipSpaces(l); - if(p == null) { - throw haxe_Exception.thrown(""); - } - if(p.s) { - return this.makeConst(p.p); - } - switch(p.p) { - case "!": - var e = this.makeExpr(l); - return function() { - var v = e(); - if(v != null) { - return v == false; - } else { - return true; - } - }; - case "(": - this.skipSpaces(l); - var e1 = this.makeExpr(l); - this.skipSpaces(l); - var p1 = l.pop(); - if(p1 == null || p1.s) { - throw haxe_Exception.thrown(p1); - } - if(p1.p == ")") { - return e1; - } - this.skipSpaces(l); - var e2 = this.makeExpr(l); - this.skipSpaces(l); - var p2 = l.pop(); - this.skipSpaces(l); - if(p2 == null || p2.p != ")") { - throw haxe_Exception.thrown(p2); - } - switch(p1.p) { - case "!=": - return function() { - return e1() != e2(); - }; - case "&&": - return function() { - return e1() && e2(); - }; - case "*": - return function() { - return e1() * e2(); - }; - case "+": - return function() { - return e1() + e2(); - }; - case "-": - return function() { - return e1() - e2(); - }; - case "/": - return function() { - return e1() / e2(); - }; - case "<": - return function() { - return e1() < e2(); - }; - case "<=": - return function() { - return e1() <= e2(); - }; - case "==": - return function() { - return e1() == e2(); - }; - case ">": - return function() { - return e1() > e2(); - }; - case ">=": - return function() { - return e1() >= e2(); - }; - case "||": - return function() { - return e1() || e2(); - }; - default: - throw haxe_Exception.thrown("Unknown operation " + p1.p); - } - break; - case "-": - var e3 = this.makeExpr(l); - return function() { - return -e3(); - }; - } - throw haxe_Exception.thrown(p.p); - } - ,run: function(e) { - switch(e._hx_index) { - case 0: - var v = e.v; - var _this = this.buf; - var x = Std.string(this.resolve(v)); - _this.b += Std.string(x); - break; - case 1: - var e1 = e.expr; - var _this = this.buf; - var x = Std.string(e1()); - _this.b += Std.string(x); - break; - case 2: - var e1 = e.expr; - var eif = e.eif; - var eelse = e.eelse; - var v = e1(); - if(v == null || v == false) { - if(eelse != null) { - this.run(eelse); - } - } else { - this.run(eif); - } - break; - case 3: - var str = e.str; - this.buf.b += str == null ? "null" : "" + str; - break; - case 4: - var l = e.l; - var _g_head = l.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var e1 = val; - this.run(e1); - } - break; - case 5: - var e1 = e.expr; - var loop = e.loop; - var v = e1(); - try { - var x = $getIterator(v); - if(x.hasNext == null) { - throw haxe_Exception.thrown(null); - } - v = x; - } catch( _g ) { - try { - if(v.hasNext == null) { - throw haxe_Exception.thrown(null); - } - } catch( _g1 ) { - throw haxe_Exception.thrown("Cannot iter on " + Std.string(v)); - } - } - this.stack.push(this.context); - var v1 = v; - var ctx = v1; - while(ctx.hasNext()) { - var ctx1 = ctx.next(); - this.context = ctx1; - this.run(loop); - } - this.context = this.stack.pop(); - break; - case 6: - var m = e.name; - var params = e.params; - var v = Reflect.field(this.macros,m); - var pl = []; - var old = this.buf; - pl.push($bind(this,this.resolve)); - var _g_head = params.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var p = val; - if(p._hx_index == 0) { - var v1 = p.v; - pl.push(this.resolve(v1)); - } else { - this.buf = new StringBuf(); - this.run(p); - pl.push(this.buf.b); - } - } - this.buf = old; - try { - var _this = this.buf; - var x = Std.string(v.apply(this.macros,pl)); - _this.b += Std.string(x); - } catch( _g ) { - var e = haxe_Exception.caught(_g).unwrap(); - var plstr; - try { - plstr = pl.join(","); - } catch( _g1 ) { - plstr = "???"; - } - var msg = "Macro call " + m + "(" + plstr + ") failed (" + Std.string(e) + ")"; - throw haxe_Exception.thrown(msg); - } - break; - } - } -}; -var haxe_ValueException = function(value,previous,native) { - haxe_Exception.call(this,String(value),previous,native); - this.value = value; -}; -haxe_ValueException.__name__ = true; -haxe_ValueException.__super__ = haxe_Exception; -haxe_ValueException.prototype = $extend(haxe_Exception.prototype,{ - unwrap: function() { - return this.value; - } -}); -var haxe_ds_List = function() { - this.length = 0; -}; -haxe_ds_List.__name__ = true; -haxe_ds_List.prototype = { - add: function(item) { - var x = new haxe_ds__$List_ListNode(item,null); - if(this.h == null) { - this.h = x; - } else { - this.q.next = x; - } - this.q = x; - this.length++; - } - ,push: function(item) { - var x = new haxe_ds__$List_ListNode(item,this.h); - this.h = x; - if(this.q == null) { - this.q = x; - } - this.length++; - } - ,first: function() { - if(this.h == null) { - return null; - } else { - return this.h.item; - } - } - ,pop: function() { - if(this.h == null) { - return null; - } - var x = this.h.item; - this.h = this.h.next; - if(this.h == null) { - this.q = null; - } - this.length--; - return x; - } - ,isEmpty: function() { - return this.h == null; - } - ,toString: function() { - var s_b = ""; - var first = true; - var l = this.h; - s_b += "{"; - while(l != null) { - if(first) { - first = false; - } else { - s_b += ", "; - } - s_b += Std.string(Std.string(l.item)); - l = l.next; - } - s_b += "}"; - return s_b; - } -}; -var haxe_ds__$List_ListNode = function(item,next) { - this.item = item; - this.next = next; -}; -haxe_ds__$List_ListNode.__name__ = true; -var js_Boot = function() { }; -js_Boot.__name__ = true; -js_Boot.__string_rec = function(o,s) { - if(o == null) { - return "null"; - } - if(s.length >= 5) { - return "<...>"; - } - var t = typeof(o); - if(t == "function" && (o.__name__ || o.__ename__)) { - t = "object"; - } - switch(t) { - case "function": - return ""; - case "object": - if(o.__enum__) { - var e = $hxEnums[o.__enum__]; - var con = e.__constructs__[o._hx_index]; - var n = con._hx_name; - if(con.__params__) { - s = s + "\t"; - return n + "(" + ((function($this) { - var $r; - var _g = []; - { - var _g1 = 0; - var _g2 = con.__params__; - while(true) { - if(!(_g1 < _g2.length)) { - break; - } - var p = _g2[_g1]; - _g1 = _g1 + 1; - _g.push(js_Boot.__string_rec(o[p],s)); - } - } - $r = _g; - return $r; - }(this))).join(",") + ")"; - } else { - return n; - } - } - if(((o) instanceof Array)) { - var str = "["; - s += "\t"; - var _g = 0; - var _g1 = o.length; - while(_g < _g1) { - var i = _g++; - str += (i > 0 ? "," : "") + js_Boot.__string_rec(o[i],s); - } - str += "]"; - return str; - } - var tostr; - try { - tostr = o.toString; - } catch( _g ) { - return "???"; - } - if(tostr != null && tostr != Object.toString && typeof(tostr) == "function") { - var s2 = o.toString(); - if(s2 != "[object Object]") { - return s2; - } - } - var str = "{\n"; - s += "\t"; - var hasp = o.hasOwnProperty != null; - var k = null; - for( k in o ) { - if(hasp && !o.hasOwnProperty(k)) { - continue; - } - if(k == "prototype" || k == "__class__" || k == "__super__" || k == "__interfaces__" || k == "__properties__") { - continue; - } - if(str.length != 2) { - str += ", \n"; - } - str += s + k + " : " + js_Boot.__string_rec(o[k],s); - } - s = s.substring(1); - str += "\n" + s + "}"; - return str; - case "string": - return o; - default: - return String(o); - } -}; -var xrfragment_Filter = $hx_exports["xrfragment"]["Filter"] = function(str) { - this.q = { }; - this.str = ""; - if(str != null) { - this.parse(str); - } -}; -xrfragment_Filter.__name__ = true; -xrfragment_Filter.prototype = { - toObject: function() { - return Reflect.copy(this.q); - } - ,get: function() { - return Reflect.copy(this.q); - } - ,parse: function(str) { - var token = str.split(" "); - var q = { }; - var process = function(str,prefix) { - if(prefix == null) { - prefix = ""; - } - str = StringTools.trim(str); - var k = str.split("=")[0]; - var v = str.split("=")[1]; - var filter = { }; - if(q[prefix + k]) { - filter = q[prefix + k]; - } - if(xrfragment_XRF.isProp.match(str)) { - var oper = ""; - if(str.indexOf(">") != -1) { - oper = ">"; - } - if(str.indexOf("<") != -1) { - oper = "<"; - } - if(xrfragment_XRF.isExclude.match(k)) { - k = HxOverrides.substr(k,1,null); - } - v = HxOverrides.substr(v,oper.length,null); - if(oper.length == 0) { - oper = "="; - } - var rule = { }; - if(xrfragment_XRF.isNumber.match(v)) { - rule[oper] = parseFloat(v); - } else { - rule[oper] = v; - } - q["expr"] = rule; - } - var value = xrfragment_XRF.isDeep.match(str) ? k.split("*").length - 1 : 0; - q["deep"] = value; - var value = xrfragment_XRF.isExclude.match(str) ? false : true; - q["show"] = value; - var value = k.replace(xrfragment_XRF.operators.r,""); - q["key"] = value; - q["value"] = v; - }; - var _g = 0; - var _g1 = token.length; - while(_g < _g1) { - var i = _g++; - process(token[i]); - } - return this.q = q; - } - ,test: function(obj) { - var qualify = false; - var _g = 0; - var _g1 = Reflect.fields(obj); - while(_g < _g1.length) { - var k = _g1[_g]; - ++_g; - var v = Std.string(Reflect.field(obj,k)); - if(this.testProperty(k,v)) { - qualify = true; - } - } - var _g = 0; - var _g1 = Reflect.fields(obj); - while(_g < _g1.length) { - var k = _g1[_g]; - ++_g; - var v = Std.string(Reflect.field(obj,k)); - if(this.testProperty(k,v,true)) { - qualify = false; - } - } - return qualify; - } - ,testProperty: function(property,value,exclude) { - var conds = 0; - var fails = 0; - var qualify = 0; - var testprop = function(expr) { - conds += 1; - fails += expr ? 0 : 1; - return expr; - }; - if(this.q[value] != null) { - var v = this.q[value]; - if(v[property] != null) { - return v[property]; - } - } - if(Reflect.field(this.q,"expr")) { - var f = Reflect.field(this.q,"expr"); - if(!Reflect.field(this.q,"show")) { - if(Reflect.field(f,"!=") != null && testprop((value == null ? "null" : "" + value) == Std.string(Reflect.field(f,"!="))) && exclude) { - ++qualify; - } - } else { - if(Reflect.field(f,"*") != null && testprop(parseFloat(value) != null)) { - ++qualify; - } - if(Reflect.field(f,">") != null && testprop(parseFloat(value) >= parseFloat(Reflect.field(f,">")))) { - ++qualify; - } - if(Reflect.field(f,"<") != null && testprop(parseFloat(value) <= parseFloat(Reflect.field(f,"<")))) { - ++qualify; - } - if(Reflect.field(f,"=") != null && (testprop(value == Reflect.field(f,"=")) || testprop(parseFloat(value) == parseFloat(Reflect.field(f,"="))))) { - ++qualify; - } - } - } - return qualify > 0; - } -}; -var xrfragment_Parser = $hx_exports["xrfragment"]["Parser"] = function() { }; -xrfragment_Parser.__name__ = true; -xrfragment_Parser.parse = function(key,value,store,index) { - var Frag_h = Object.create(null); - Frag_h["#"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_PREDEFINED_VIEW | xrfragment_XRF.PV_EXECUTE; - Frag_h["src"] = xrfragment_XRF.T_URL; - Frag_h["href"] = xrfragment_XRF.T_URL | xrfragment_XRF.T_PREDEFINED_VIEW; - Frag_h["tag"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["pos"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_VECTOR3 | xrfragment_XRF.T_STRING | xrfragment_XRF.METADATA | xrfragment_XRF.NAVIGATOR; - Frag_h["rot"] = xrfragment_XRF.QUERY_OPERATOR | xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_VECTOR3 | xrfragment_XRF.METADATA | xrfragment_XRF.NAVIGATOR; - Frag_h["t"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_FLOAT | xrfragment_XRF.T_VECTOR2 | xrfragment_XRF.NAVIGATOR | xrfragment_XRF.METADATA; - Frag_h["s"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_MEDIAFRAG; - Frag_h["loop"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_PREDEFINED_VIEW; - Frag_h["uv"] = xrfragment_XRF.T_VECTOR2 | xrfragment_XRF.T_MEDIAFRAG; - Frag_h["namespace"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["SPDX"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["unit"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["description"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - var keyStripped = key.replace(xrfragment_XRF.operators.r,""); - var isPVDynamic = key.length > 0 && !Object.prototype.hasOwnProperty.call(Frag_h,key); - if(isPVDynamic) { - var v = new xrfragment_XRF(key,xrfragment_XRF.PV_EXECUTE | xrfragment_XRF.NAVIGATOR,index); - v.validate(value); - v.flags = xrfragment_XRF.set(xrfragment_XRF.T_DYNAMICKEY,v.flags); - if(!Object.prototype.hasOwnProperty.call(Frag_h,key)) { - v.flags = xrfragment_XRF.set(xrfragment_XRF.CUSTOMFRAG,v.flags); - } - if(value.length == 0) { - v.flags = xrfragment_XRF.set(xrfragment_XRF.T_DYNAMICKEYVALUE,v.flags); - } - store[keyStripped] = v; - return true; - } - var v = new xrfragment_XRF(key,Frag_h[key],index); - if(Object.prototype.hasOwnProperty.call(Frag_h,key)) { - if(!v.validate(value)) { - console.log("src/xrfragment/Parser.hx:67:","⚠ fragment '" + key + "' has incompatible value (" + value + ")"); - return false; - } - store[keyStripped] = v; - if(xrfragment_Parser.debug) { - console.log("src/xrfragment/Parser.hx:71:","✔ " + key + ": " + v.string); - } - } else { - if(typeof(value) == "string") { - v.guessType(v,value); - } - v.flags = xrfragment_XRF.set(xrfragment_XRF.CUSTOMFRAG,v.flags); - store[keyStripped] = v; - } - return true; -}; -xrfragment_Parser.getMetaData = function() { - var meta = { title : ["title","og:title","dc.title"], description : ["aria-description","og:description","dc.description"], author : ["author","dc.creator"], publisher : ["publisher","dc.publisher"], website : ["og:site_name","og:url","dc.publisher"], license : ["SPDX","dc.rights"]}; - return meta; -}; -var xrfragment_URI = $hx_exports["xrfragment"]["URI"] = function() { - this.XRF = { }; - this.hash = { }; - this.fragment = ""; -}; -xrfragment_URI.__name__ = true; -xrfragment_URI.parseFragment = function(url,filter) { - var store = { }; - if(url == null || url.indexOf("#") == -1) { - return store; - } - var fragment = url.split("#"); - var splitArray = fragment[1].split("&"); - var _g = 0; - var _g1 = splitArray.length; - while(_g < _g1) { - var i = _g++; - var splitByEqual = splitArray[i].split("="); - var regexPlus = new EReg("\\+","g"); - var key = splitByEqual[0]; - var value = ""; - if(splitByEqual.length > 1) { - if(xrfragment_XRF.isVector.match(splitByEqual[1])) { - value = splitByEqual[1]; - } else { - var s = regexPlus.split(splitByEqual[1]).join(" "); - value = decodeURIComponent(s.split("+").join(" ")); - } - } - var ok = xrfragment_Parser.parse(key,value,store,i); - } - if(filter != null && filter != 0) { - var _g = 0; - var _g1 = Reflect.fields(store); - while(_g < _g1.length) { - var key = _g1[_g]; - ++_g; - var xrf = store[key]; - if(!xrf.is(filter)) { - Reflect.deleteField(store,key); - } - } - } - return store; -}; -xrfragment_URI.template = function(uri,vars) { - var parts = uri.split("#"); - if(parts.length == 1) { - return uri; - } - var frag = parts[1]; - frag = StringTools.replace(frag,"{","::"); - frag = StringTools.replace(frag,"}","::"); - frag = new haxe_Template(frag).execute(vars); - frag = StringTools.replace(frag,"null",""); - parts[1] = frag; - return parts.join("#"); -}; -xrfragment_URI.parse = function(stringUrl,flags) { - var r = new EReg("^(?:(?![^:@]+:[^:@/]*@)([^:/?#.]+):)?(?://)?((?:(([^:@]*)(?::([^:@]*))?)?@)?([^:/?#]*)(?::(\\d*))?)(((/(?:[^?#](?![^?#/]*\\.[^?#/.]+(?:[?#]|$)))*/?)?([^?#/]*))(?:\\?([^#]*))?(?:#(.*))?)",""); - if(stringUrl.indexOf("://") == -1 && stringUrl.charAt(0) != "/") { - stringUrl = "/" + stringUrl; - } - r.match(stringUrl); - var url = new xrfragment_URI(); - var _g = 0; - var _g1 = xrfragment_URI._parts.length; - while(_g < _g1) { - var i = _g++; - url[xrfragment_URI._parts[i]] = r.matched(i); - } - if(xrfragment_URI.isRelative(url) == true) { - if(url.directory == null && url.host != null) { - url.file = url.host; - } - url.host = ""; - } - url.hash = { }; - if(url.fragment != null && url.fragment.length > 0) { - url.XRF = xrfragment_URI.parseFragment("#" + url.fragment,flags); - var key; - var _g = 0; - var _g1 = Reflect.fields(url.XRF); - while(_g < _g1.length) { - var key = _g1[_g]; - ++_g; - var v = url.XRF[key]; - url.hash[key] = v["string"]; - } - } - xrfragment_URI.computeVars(url); - return url; -}; -xrfragment_URI.computeVars = function(url) { - var r_r = new RegExp("//","g".split("u").join("")); - if(url.directory != null && url.directory.indexOf("//") != -1) { - url.directory = url.directory.replace(r_r,"/"); - } - if(url.path != null && url.path.indexOf("//") != -1) { - url.path = url.path.replace(r_r,"/"); - } - if(url.file != null && url.file.indexOf("//") != -1) { - url.file = url.file.replace(r_r,"/"); - } - url.URN = url.scheme + "://" + url.host; - if(url.port != null) { - url.URN += ":" + url.port; - } - url.URN += url.directory; - if(url.file != null) { - var parts = url.file.split("."); - if(parts.length > 1) { - url.fileExt = parts.pop(); - } - } -}; -xrfragment_URI.toString = function(url) { - var result = ""; - if(url.scheme != null) { - result += url.scheme + "://"; - } - if(url.user != null) { - result += url.user + ":"; - } - if(url.password != null) { - result += url.password + "@"; - } - if(url.host != null) { - result += url.host; - } - if(url.port != null) { - result += ":" + url.port; - } - if(url.directory != null) { - result += url.directory; - } - if(url.file != null) { - result += url.file; - } - if(url.query != null) { - result += "?" + url.query; - } - if(url.fragment != null) { - result += "#" + url.fragment; - } - return result; -}; -xrfragment_URI.appendURI = function(url,appendedURI) { - if(xrfragment_URI.isRelative(url) == true) { - return xrfragment_URI.appendToRelativeURI(url,appendedURI); - } else { - return xrfragment_URI.appendToAbsoluteURI(url,appendedURI); - } -}; -xrfragment_URI.isRelative = function(url) { - return url.scheme == null; -}; -xrfragment_URI.appendToRelativeURI = function(url,appendedURI) { - if(url.directory == null || url.host == null) { - return xrfragment_URI.cloneURI(appendedURI); - } - var resultURI = new xrfragment_URI(); - resultURI.host = url.host; - resultURI.directory = url.directory; - if(appendedURI.host != null) { - resultURI.directory += appendedURI.host; - } - if(appendedURI.directory != null) { - var directory = appendedURI.directory; - if(appendedURI.host == null) { - resultURI.directory += HxOverrides.substr(directory,1,null); - } else { - resultURI.directory += directory; - } - } - if(appendedURI.file != null) { - resultURI.file = appendedURI.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(appendedURI.query != null) { - resultURI.query = appendedURI.query; - } - if(appendedURI.fragment != null) { - resultURI.fragment = appendedURI.fragment; - } - return resultURI; -}; -xrfragment_URI.appendToAbsoluteURI = function(url,appendedURI) { - var resultURI = new xrfragment_URI(); - if(url.scheme != null) { - resultURI.scheme = url.scheme; - } - if(url.host != null) { - resultURI.host = url.host; - } - var directory = ""; - if(url.directory != null) { - directory = url.directory; - } - if(appendedURI.host != null) { - appendedURI.directory += appendedURI.host; - } - if(appendedURI.directory != null) { - directory += appendedURI.directory; - } - resultURI.directory = directory; - if(appendedURI.file != null) { - resultURI.file = appendedURI.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(appendedURI.query != null) { - resultURI.query = appendedURI.query; - } - if(appendedURI.fragment != null) { - resultURI.fragment = appendedURI.fragment; - } - return resultURI; -}; -xrfragment_URI.toAbsolute = function(url,newUrl) { - var newURI = xrfragment_URI.parse(newUrl,0); - var resultURI = new xrfragment_URI(); - resultURI.port = url.port; - resultURI.source = newUrl; - if(newURI.scheme != null) { - resultURI.scheme = newURI.scheme; - } else { - resultURI.scheme = url.scheme; - } - if(newURI.host != null && newURI.host.length > 0) { - resultURI.host = newURI.host; - resultURI.port = null; - resultURI.fragment = null; - resultURI.hash = { }; - resultURI.XRF = { }; - if(newURI.port != null) { - resultURI.port = newURI.port; - } - } else { - resultURI.host = url.host; - } - var directory = ""; - if(url.directory != null) { - directory = url.directory; - } - if(newURI.directory != null) { - if(newUrl.charAt(0) != "/" && newUrl.indexOf("://") == -1) { - var stripRelative_r = new RegExp("\\./.*","".split("u").join("")); - directory = directory.replace(stripRelative_r,""); - directory += newURI.directory; - } else { - directory = newURI.directory; - } - } - resultURI.directory = directory; - if(newURI.file != null) { - resultURI.file = newURI.file; - } else { - resultURI.file = url.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(newURI.query != null) { - resultURI.query = newURI.query; - } - if(newURI.fragment != null) { - resultURI.fragment = newURI.fragment; - } - resultURI.hash = newURI.hash; - resultURI.XRF = newURI.XRF; - xrfragment_URI.computeVars(resultURI); - return resultURI; -}; -xrfragment_URI.cloneURI = function(url) { - var clonedURI = new xrfragment_URI(); - clonedURI.url = url.url; - clonedURI.source = url.source; - clonedURI.scheme = url.scheme; - clonedURI.authority = url.authority; - clonedURI.userInfo = url.userInfo; - clonedURI.password = url.password; - clonedURI.host = url.host; - clonedURI.port = url.port; - clonedURI.relative = url.relative; - clonedURI.path = url.path; - clonedURI.directory = url.directory; - clonedURI.file = url.file; - clonedURI.query = url.query; - clonedURI.fragment = url.fragment; - return clonedURI; -}; -var xrfragment_XRF = $hx_exports["xrfragment"]["XRF"] = function(_fragment,_flags,_index) { - this.floats = []; - this.shift = []; - this.fragment = _fragment; - this.flags = _flags; - this.index = _index; -}; -xrfragment_XRF.__name__ = true; -xrfragment_XRF.set = function(flag,flags) { - return flags | flag; -}; -xrfragment_XRF.unset = function(flag,flags) { - return flags & ~flag; -}; -xrfragment_XRF.prototype = { - is: function(flag) { - var v = this.flags; - if(!(typeof(v) == "number" && ((v | 0) === v))) { - this.flags = 0; - } - return (this.flags & flag) != 0; - } - ,validate: function(value) { - this.guessType(this,value); - var ok = true; - if(value.length == 0 && !this.is(xrfragment_XRF.T_PREDEFINED_VIEW)) { - ok = false; - } - if(!this.is(xrfragment_XRF.T_FLOAT) && this.is(xrfragment_XRF.T_VECTOR2) && !(typeof(this.x) == "number" && typeof(this.y) == "number")) { - ok = false; - } - if(!(this.is(xrfragment_XRF.T_VECTOR2) || this.is(xrfragment_XRF.T_STRING)) && this.is(xrfragment_XRF.T_VECTOR3) && !(typeof(this.x) == "number" && typeof(this.y) == "number" && typeof(this.z) == "number")) { - ok = false; - } - return ok; - } - ,guessType: function(v,str) { - v.string = str; - if(xrfragment_XRF.isReset.match(v.fragment)) { - v.reset = true; - } - if(v.fragment == "loop") { - v.loop = true; - } - if(typeof(str) != "string") { - return; - } - if(str.length > 0) { - if(xrfragment_XRF.isXRFScheme.match(str)) { - v.xrfScheme = true; - str = str.replace(xrfragment_XRF.isXRFScheme.r,""); - v.string = str; - } - if(str.split(",").length > 1) { - var xyzn = str.split(","); - if(xyzn.length > 0) { - v.x = parseFloat(xyzn[0]); - } - if(xyzn.length > 1) { - v.y = parseFloat(xyzn[1]); - } - if(xyzn.length > 2) { - v.z = parseFloat(xyzn[2]); - } - var _g = 0; - var _g1 = xyzn.length; - while(_g < _g1) { - var i = _g++; - v.shift.push(xrfragment_XRF.isShift.match(xyzn[i])); - v.floats.push(parseFloat(xyzn[i].replace(xrfragment_XRF.isShift.r,""))); - } - } - if(xrfragment_XRF.isColor.match(str)) { - v.color = str; - } - if(xrfragment_XRF.isFloat.match(str)) { - v.x = parseFloat(str); - v.float = v.x; - } - if(xrfragment_XRF.isInt.match(str)) { - v.int = Std.parseInt(str); - v.x = v.int; - v.floats.push(v.x); - } - v.filter = new xrfragment_Filter(v.fragment + "=" + v.string); - } else { - v.filter = new xrfragment_Filter(v.fragment); - } - } -}; -function $getIterator(o) { if( o instanceof Array ) return new haxe_iterators_ArrayIterator(o); else return o.iterator(); } -function $bind(o,m) { if( m == null ) return null; if( m.__id__ == null ) m.__id__ = $global.$haxeUID++; var f; if( o.hx__closures__ == null ) o.hx__closures__ = {}; else f = o.hx__closures__[m.__id__]; if( f == null ) { f = m.bind(o); o.hx__closures__[m.__id__] = f; } return f; } -$global.$haxeUID |= 0; -if(typeof(performance) != "undefined" ? typeof(performance.now) == "function" : false) { - HxOverrides.now = performance.now.bind(performance); -} -if( String.fromCodePoint == null ) String.fromCodePoint = function(c) { return c < 0x10000 ? String.fromCharCode(c) : String.fromCharCode((c>>10)+0xD7C0)+String.fromCharCode((c&0x3FF)+0xDC00); } -String.__name__ = true; -Array.__name__ = true; -js_Boot.__toStr = ({ }).toString; -haxe_Template.splitter = new EReg("(::[A-Za-z0-9_ ()&|!+=/><*.\"-]+::|\\$\\$([A-Za-z0-9_-]+)\\()",""); -haxe_Template.expr_splitter = new EReg("(\\(|\\)|[ \r\n\t]*\"[^\"]*\"[ \r\n\t]*|[!+=/><*.&|-]+)",""); -haxe_Template.expr_trim = new EReg("^[ ]*([^ ]+)[ ]*$",""); -haxe_Template.expr_int = new EReg("^[0-9]+$",""); -haxe_Template.expr_float = new EReg("^([+-]?)(?=\\d|,\\d)\\d*(,\\d*)?([Ee]([+-]?\\d+))?$",""); -haxe_Template.globals = { }; -haxe_Template.hxKeepArrayIterator = new haxe_iterators_ArrayIterator([]); -xrfragment_Parser.error = ""; -xrfragment_Parser.debug = false; -xrfragment_URI.__meta__ = { statics : { template : { keep : null}}}; -xrfragment_URI._parts = ["source","scheme","authority","userInfo","user","password","host","port","relative","path","directory","file","query","fragment"]; -xrfragment_XRF.IMMUTABLE = 1; -xrfragment_XRF.PROP_BIND = 2; -xrfragment_XRF.QUERY_OPERATOR = 4; -xrfragment_XRF.PROMPT = 8; -xrfragment_XRF.CUSTOMFRAG = 16; -xrfragment_XRF.NAVIGATOR = 32; -xrfragment_XRF.METADATA = 64; -xrfragment_XRF.PV_OVERRIDE = 128; -xrfragment_XRF.PV_EXECUTE = 256; -xrfragment_XRF.T_COLOR = 8192; -xrfragment_XRF.T_INT = 16384; -xrfragment_XRF.T_FLOAT = 32768; -xrfragment_XRF.T_VECTOR2 = 65536; -xrfragment_XRF.T_VECTOR3 = 131072; -xrfragment_XRF.T_URL = 262144; -xrfragment_XRF.T_PREDEFINED_VIEW = 524288; -xrfragment_XRF.T_STRING = 1048576; -xrfragment_XRF.T_MEDIAFRAG = 2097152; -xrfragment_XRF.T_DYNAMICKEY = 4194304; -xrfragment_XRF.T_DYNAMICKEYVALUE = 8388608; -xrfragment_XRF.isColor = new EReg("^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$",""); -xrfragment_XRF.isInt = new EReg("^[-0-9]+$",""); -xrfragment_XRF.isFloat = new EReg("^[-0-9]+\\.[0-9]+$",""); -xrfragment_XRF.isVector = new EReg("([,]+|\\w)",""); -xrfragment_XRF.isUrl = new EReg("(://)?\\..*",""); -xrfragment_XRF.isUrlOrPretypedView = new EReg("(^#|://)?\\..*",""); -xrfragment_XRF.isString = new EReg(".*",""); -xrfragment_XRF.operators = new EReg("(^[-]|^[!]|[\\*]$)","g"); -xrfragment_XRF.isProp = new EReg("^.*=[><=]?",""); -xrfragment_XRF.isExclude = new EReg("^-",""); -xrfragment_XRF.isDeep = new EReg("\\*",""); -xrfragment_XRF.isNumber = new EReg("^[0-9\\.]+$",""); -xrfragment_XRF.isMediaFrag = new EReg("^([0-9\\.,\\*+-]+)$",""); -xrfragment_XRF.isReset = new EReg("^!",""); -xrfragment_XRF.isShift = new EReg("^(\\+|--)",""); -xrfragment_XRF.isXRFScheme = new EReg("^xrf://",""); -})(typeof window != "undefined" ? window : typeof global != "undefined" ? global : typeof self != "undefined" ? self : this); -var xrfragment = $hx_exports["xrfragment"]; -export default xrfragment; -// Generated by Haxe 4.3.3 -var $hx_exports = typeof exports != "undefined" ? exports : typeof window != "undefined" ? window : typeof self != "undefined" ? self : this; -(function ($global) { "use strict"; -$hx_exports["xrfragment"] = $hx_exports["xrfragment"] || {}; -var $estr = function() { return js_Boot.__string_rec(this,''); },$hxEnums = $hxEnums || {},$_; -function $extend(from, fields) { - var proto = Object.create(from); - for (var name in fields) proto[name] = fields[name]; - if( fields.toString !== Object.prototype.toString ) proto.toString = fields.toString; - return proto; -} -var EReg = function(r,opt) { - this.r = new RegExp(r,opt.split("u").join("")); -}; -EReg.__name__ = true; -EReg.prototype = { - match: function(s) { - if(this.r.global) { - this.r.lastIndex = 0; - } - this.r.m = this.r.exec(s); - this.r.s = s; - return this.r.m != null; - } - ,matched: function(n) { - if(this.r.m != null && n >= 0 && n < this.r.m.length) { - return this.r.m[n]; - } else { - throw haxe_Exception.thrown("EReg::matched"); - } - } - ,matchedRight: function() { - if(this.r.m == null) { - throw haxe_Exception.thrown("No string matched"); - } - var sz = this.r.m.index + this.r.m[0].length; - return HxOverrides.substr(this.r.s,sz,this.r.s.length - sz); - } - ,matchedPos: function() { - if(this.r.m == null) { - throw haxe_Exception.thrown("No string matched"); - } - return { pos : this.r.m.index, len : this.r.m[0].length}; - } - ,split: function(s) { - var d = "#__delim__#"; - return s.replace(this.r,d).split(d); - } -}; -var HxOverrides = function() { }; -HxOverrides.__name__ = true; -HxOverrides.cca = function(s,index) { - var x = s.charCodeAt(index); - if(x != x) { - return undefined; - } - return x; -}; -HxOverrides.substr = function(s,pos,len) { - if(len == null) { - len = s.length; - } else if(len < 0) { - if(pos == 0) { - len = s.length + len; - } else { - return ""; - } - } - return s.substr(pos,len); -}; -HxOverrides.now = function() { - return Date.now(); -}; -Math.__name__ = true; -var Reflect = function() { }; -Reflect.__name__ = true; -Reflect.field = function(o,field) { - try { - return o[field]; - } catch( _g ) { - return null; - } -}; -Reflect.getProperty = function(o,field) { - var tmp; - if(o == null) { - return null; - } else { - var tmp1; - if(o.__properties__) { - tmp = o.__properties__["get_" + field]; - tmp1 = tmp; - } else { - tmp1 = false; - } - if(tmp1) { - return o[tmp](); - } else { - return o[field]; - } - } -}; -Reflect.fields = function(o) { - var a = []; - if(o != null) { - var hasOwnProperty = Object.prototype.hasOwnProperty; - for( var f in o ) { - if(f != "__id__" && f != "hx__closures__" && hasOwnProperty.call(o,f)) { - a.push(f); - } - } - } - return a; -}; -Reflect.isObject = function(v) { - if(v == null) { - return false; - } - var t = typeof(v); - if(!(t == "string" || t == "object" && v.__enum__ == null)) { - if(t == "function") { - return (v.__name__ || v.__ename__) != null; - } else { - return false; - } - } else { - return true; - } -}; -Reflect.deleteField = function(o,field) { - if(!Object.prototype.hasOwnProperty.call(o,field)) { - return false; - } - delete(o[field]); - return true; -}; -Reflect.copy = function(o) { - if(o == null) { - return null; - } - var o2 = { }; - var _g = 0; - var _g1 = Reflect.fields(o); - while(_g < _g1.length) { - var f = _g1[_g]; - ++_g; - o2[f] = Reflect.field(o,f); - } - return o2; -}; -var Std = function() { }; -Std.__name__ = true; -Std.string = function(s) { - return js_Boot.__string_rec(s,""); -}; -Std.parseInt = function(x) { - var v = parseInt(x); - if(isNaN(v)) { - return null; - } - return v; -}; -var StringBuf = function() { - this.b = ""; -}; -StringBuf.__name__ = true; -var StringTools = function() { }; -StringTools.__name__ = true; -StringTools.isSpace = function(s,pos) { - var c = HxOverrides.cca(s,pos); - if(!(c > 8 && c < 14)) { - return c == 32; - } else { - return true; - } -}; -StringTools.ltrim = function(s) { - var l = s.length; - var r = 0; - while(r < l && StringTools.isSpace(s,r)) ++r; - if(r > 0) { - return HxOverrides.substr(s,r,l - r); - } else { - return s; - } -}; -StringTools.rtrim = function(s) { - var l = s.length; - var r = 0; - while(r < l && StringTools.isSpace(s,l - r - 1)) ++r; - if(r > 0) { - return HxOverrides.substr(s,0,l - r); - } else { - return s; - } -}; -StringTools.trim = function(s) { - return StringTools.ltrim(StringTools.rtrim(s)); -}; -StringTools.replace = function(s,sub,by) { - return s.split(sub).join(by); -}; -var haxe_Exception = function(message,previous,native) { - Error.call(this,message); - this.message = message; - this.__previousException = previous; - this.__nativeException = native != null ? native : this; -}; -haxe_Exception.__name__ = true; -haxe_Exception.caught = function(value) { - if(((value) instanceof haxe_Exception)) { - return value; - } else if(((value) instanceof Error)) { - return new haxe_Exception(value.message,null,value); - } else { - return new haxe_ValueException(value,null,value); - } -}; -haxe_Exception.thrown = function(value) { - if(((value) instanceof haxe_Exception)) { - return value.get_native(); - } else if(((value) instanceof Error)) { - return value; - } else { - var e = new haxe_ValueException(value); - return e; - } -}; -haxe_Exception.__super__ = Error; -haxe_Exception.prototype = $extend(Error.prototype,{ - unwrap: function() { - return this.__nativeException; - } - ,get_native: function() { - return this.__nativeException; - } - ,__properties__: {get_native:"get_native"} -}); -var haxe__$Template_TemplateExpr = $hxEnums["haxe._Template.TemplateExpr"] = { __ename__:true,__constructs__:null - ,OpVar: ($_=function(v) { return {_hx_index:0,v:v,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpVar",$_.__params__ = ["v"],$_) - ,OpExpr: ($_=function(expr) { return {_hx_index:1,expr:expr,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpExpr",$_.__params__ = ["expr"],$_) - ,OpIf: ($_=function(expr,eif,eelse) { return {_hx_index:2,expr:expr,eif:eif,eelse:eelse,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpIf",$_.__params__ = ["expr","eif","eelse"],$_) - ,OpStr: ($_=function(str) { return {_hx_index:3,str:str,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpStr",$_.__params__ = ["str"],$_) - ,OpBlock: ($_=function(l) { return {_hx_index:4,l:l,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpBlock",$_.__params__ = ["l"],$_) - ,OpForeach: ($_=function(expr,loop) { return {_hx_index:5,expr:expr,loop:loop,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpForeach",$_.__params__ = ["expr","loop"],$_) - ,OpMacro: ($_=function(name,params) { return {_hx_index:6,name:name,params:params,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpMacro",$_.__params__ = ["name","params"],$_) -}; -haxe__$Template_TemplateExpr.__constructs__ = [haxe__$Template_TemplateExpr.OpVar,haxe__$Template_TemplateExpr.OpExpr,haxe__$Template_TemplateExpr.OpIf,haxe__$Template_TemplateExpr.OpStr,haxe__$Template_TemplateExpr.OpBlock,haxe__$Template_TemplateExpr.OpForeach,haxe__$Template_TemplateExpr.OpMacro]; -var haxe_iterators_ArrayIterator = function(array) { - this.current = 0; - this.array = array; -}; -haxe_iterators_ArrayIterator.__name__ = true; -haxe_iterators_ArrayIterator.prototype = { - hasNext: function() { - return this.current < this.array.length; - } - ,next: function() { - return this.array[this.current++]; - } -}; -var haxe_Template = function(str) { - var tokens = this.parseTokens(str); - this.expr = this.parseBlock(tokens); - if(!tokens.isEmpty()) { - throw haxe_Exception.thrown("Unexpected '" + Std.string(tokens.first().s) + "'"); - } -}; -haxe_Template.__name__ = true; -haxe_Template.prototype = { - execute: function(context,macros) { - this.macros = macros == null ? { } : macros; - this.context = context; - this.stack = new haxe_ds_List(); - this.buf = new StringBuf(); - this.run(this.expr); - return this.buf.b; - } - ,resolve: function(v) { - if(v == "__current__") { - return this.context; - } - if(Reflect.isObject(this.context)) { - var value = Reflect.getProperty(this.context,v); - if(value != null || Object.prototype.hasOwnProperty.call(this.context,v)) { - return value; - } - } - var _g_head = this.stack.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var ctx = val; - var value = Reflect.getProperty(ctx,v); - if(value != null || Object.prototype.hasOwnProperty.call(ctx,v)) { - return value; - } - } - return Reflect.field(haxe_Template.globals,v); - } - ,parseTokens: function(data) { - var tokens = new haxe_ds_List(); - while(haxe_Template.splitter.match(data)) { - var p = haxe_Template.splitter.matchedPos(); - if(p.pos > 0) { - tokens.add({ p : HxOverrides.substr(data,0,p.pos), s : true, l : null}); - } - if(HxOverrides.cca(data,p.pos) == 58) { - tokens.add({ p : HxOverrides.substr(data,p.pos + 2,p.len - 4), s : false, l : null}); - data = haxe_Template.splitter.matchedRight(); - continue; - } - var parp = p.pos + p.len; - var npar = 1; - var params = []; - var part = ""; - while(true) { - var c = HxOverrides.cca(data,parp); - ++parp; - if(c == 40) { - ++npar; - } else if(c == 41) { - --npar; - if(npar <= 0) { - break; - } - } else if(c == null) { - throw haxe_Exception.thrown("Unclosed macro parenthesis"); - } - if(c == 44 && npar == 1) { - params.push(part); - part = ""; - } else { - part += String.fromCodePoint(c); - } - } - params.push(part); - tokens.add({ p : haxe_Template.splitter.matched(2), s : false, l : params}); - data = HxOverrides.substr(data,parp,data.length - parp); - } - if(data.length > 0) { - tokens.add({ p : data, s : true, l : null}); - } - return tokens; - } - ,parseBlock: function(tokens) { - var l = new haxe_ds_List(); - while(true) { - var t = tokens.first(); - if(t == null) { - break; - } - if(!t.s && (t.p == "end" || t.p == "else" || HxOverrides.substr(t.p,0,7) == "elseif ")) { - break; - } - l.add(this.parse(tokens)); - } - if(l.length == 1) { - return l.first(); - } - return haxe__$Template_TemplateExpr.OpBlock(l); - } - ,parse: function(tokens) { - var t = tokens.pop(); - var p = t.p; - if(t.s) { - return haxe__$Template_TemplateExpr.OpStr(p); - } - if(t.l != null) { - var pe = new haxe_ds_List(); - var _g = 0; - var _g1 = t.l; - while(_g < _g1.length) { - var p1 = _g1[_g]; - ++_g; - pe.add(this.parseBlock(this.parseTokens(p1))); - } - return haxe__$Template_TemplateExpr.OpMacro(p,pe); - } - var kwdEnd = function(kwd) { - var pos = -1; - var length = kwd.length; - if(HxOverrides.substr(p,0,length) == kwd) { - pos = length; - var _g_offset = 0; - var _g_s = HxOverrides.substr(p,length,null); - while(_g_offset < _g_s.length) { - var c = _g_s.charCodeAt(_g_offset++); - if(c == 32) { - ++pos; - } else { - break; - } - } - } - return pos; - }; - var pos = kwdEnd("if"); - if(pos > 0) { - p = HxOverrides.substr(p,pos,p.length - pos); - var e = this.parseExpr(p); - var eif = this.parseBlock(tokens); - var t = tokens.first(); - var eelse; - if(t == null) { - throw haxe_Exception.thrown("Unclosed 'if'"); - } - if(t.p == "end") { - tokens.pop(); - eelse = null; - } else if(t.p == "else") { - tokens.pop(); - eelse = this.parseBlock(tokens); - t = tokens.pop(); - if(t == null || t.p != "end") { - throw haxe_Exception.thrown("Unclosed 'else'"); - } - } else { - t.p = HxOverrides.substr(t.p,4,t.p.length - 4); - eelse = this.parse(tokens); - } - return haxe__$Template_TemplateExpr.OpIf(e,eif,eelse); - } - var pos = kwdEnd("foreach"); - if(pos >= 0) { - p = HxOverrides.substr(p,pos,p.length - pos); - var e = this.parseExpr(p); - var efor = this.parseBlock(tokens); - var t = tokens.pop(); - if(t == null || t.p != "end") { - throw haxe_Exception.thrown("Unclosed 'foreach'"); - } - return haxe__$Template_TemplateExpr.OpForeach(e,efor); - } - if(haxe_Template.expr_splitter.match(p)) { - return haxe__$Template_TemplateExpr.OpExpr(this.parseExpr(p)); - } - return haxe__$Template_TemplateExpr.OpVar(p); - } - ,parseExpr: function(data) { - var l = new haxe_ds_List(); - var expr = data; - while(haxe_Template.expr_splitter.match(data)) { - var p = haxe_Template.expr_splitter.matchedPos(); - var k = p.pos + p.len; - if(p.pos != 0) { - l.add({ p : HxOverrides.substr(data,0,p.pos), s : true}); - } - var p1 = haxe_Template.expr_splitter.matched(0); - l.add({ p : p1, s : p1.indexOf("\"") >= 0}); - data = haxe_Template.expr_splitter.matchedRight(); - } - if(data.length != 0) { - var _g_offset = 0; - var _g_s = data; - while(_g_offset < _g_s.length) { - var _g_key = _g_offset; - var _g_value = _g_s.charCodeAt(_g_offset++); - var i = _g_key; - var c = _g_value; - if(c != 32) { - l.add({ p : HxOverrides.substr(data,i,null), s : true}); - break; - } - } - } - var e; - try { - e = this.makeExpr(l); - if(!l.isEmpty()) { - throw haxe_Exception.thrown(l.first().p); - } - } catch( _g ) { - var _g1 = haxe_Exception.caught(_g).unwrap(); - if(typeof(_g1) == "string") { - var s = _g1; - throw haxe_Exception.thrown("Unexpected '" + s + "' in " + expr); - } else { - throw _g; - } - } - return function() { - try { - return e(); - } catch( _g ) { - var exc = haxe_Exception.caught(_g).unwrap(); - throw haxe_Exception.thrown("Error : " + Std.string(exc) + " in " + expr); - } - }; - } - ,makeConst: function(v) { - haxe_Template.expr_trim.match(v); - v = haxe_Template.expr_trim.matched(1); - if(HxOverrides.cca(v,0) == 34) { - var str = HxOverrides.substr(v,1,v.length - 2); - return function() { - return str; - }; - } - if(haxe_Template.expr_int.match(v)) { - var i = Std.parseInt(v); - return function() { - return i; - }; - } - if(haxe_Template.expr_float.match(v)) { - var f = parseFloat(v); - return function() { - return f; - }; - } - var me = this; - return function() { - return me.resolve(v); - }; - } - ,makePath: function(e,l) { - var p = l.first(); - if(p == null || p.p != ".") { - return e; - } - l.pop(); - var field = l.pop(); - if(field == null || !field.s) { - throw haxe_Exception.thrown(field.p); - } - var f = field.p; - haxe_Template.expr_trim.match(f); - f = haxe_Template.expr_trim.matched(1); - return this.makePath(function() { - return Reflect.field(e(),f); - },l); - } - ,makeExpr: function(l) { - return this.makePath(this.makeExpr2(l),l); - } - ,skipSpaces: function(l) { - var p = l.first(); - while(p != null) { - var _g_offset = 0; - var _g_s = p.p; - while(_g_offset < _g_s.length) { - var c = _g_s.charCodeAt(_g_offset++); - if(c != 32) { - return; - } - } - l.pop(); - p = l.first(); - } - } - ,makeExpr2: function(l) { - this.skipSpaces(l); - var p = l.pop(); - this.skipSpaces(l); - if(p == null) { - throw haxe_Exception.thrown(""); - } - if(p.s) { - return this.makeConst(p.p); - } - switch(p.p) { - case "!": - var e = this.makeExpr(l); - return function() { - var v = e(); - if(v != null) { - return v == false; - } else { - return true; - } - }; - case "(": - this.skipSpaces(l); - var e1 = this.makeExpr(l); - this.skipSpaces(l); - var p1 = l.pop(); - if(p1 == null || p1.s) { - throw haxe_Exception.thrown(p1); - } - if(p1.p == ")") { - return e1; - } - this.skipSpaces(l); - var e2 = this.makeExpr(l); - this.skipSpaces(l); - var p2 = l.pop(); - this.skipSpaces(l); - if(p2 == null || p2.p != ")") { - throw haxe_Exception.thrown(p2); - } - switch(p1.p) { - case "!=": - return function() { - return e1() != e2(); - }; - case "&&": - return function() { - return e1() && e2(); - }; - case "*": - return function() { - return e1() * e2(); - }; - case "+": - return function() { - return e1() + e2(); - }; - case "-": - return function() { - return e1() - e2(); - }; - case "/": - return function() { - return e1() / e2(); - }; - case "<": - return function() { - return e1() < e2(); - }; - case "<=": - return function() { - return e1() <= e2(); - }; - case "==": - return function() { - return e1() == e2(); - }; - case ">": - return function() { - return e1() > e2(); - }; - case ">=": - return function() { - return e1() >= e2(); - }; - case "||": - return function() { - return e1() || e2(); - }; - default: - throw haxe_Exception.thrown("Unknown operation " + p1.p); - } - break; - case "-": - var e3 = this.makeExpr(l); - return function() { - return -e3(); - }; - } - throw haxe_Exception.thrown(p.p); - } - ,run: function(e) { - switch(e._hx_index) { - case 0: - var v = e.v; - var _this = this.buf; - var x = Std.string(this.resolve(v)); - _this.b += Std.string(x); - break; - case 1: - var e1 = e.expr; - var _this = this.buf; - var x = Std.string(e1()); - _this.b += Std.string(x); - break; - case 2: - var e1 = e.expr; - var eif = e.eif; - var eelse = e.eelse; - var v = e1(); - if(v == null || v == false) { - if(eelse != null) { - this.run(eelse); - } - } else { - this.run(eif); - } - break; - case 3: - var str = e.str; - this.buf.b += str == null ? "null" : "" + str; - break; - case 4: - var l = e.l; - var _g_head = l.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var e1 = val; - this.run(e1); - } - break; - case 5: - var e1 = e.expr; - var loop = e.loop; - var v = e1(); - try { - var x = $getIterator(v); - if(x.hasNext == null) { - throw haxe_Exception.thrown(null); - } - v = x; - } catch( _g ) { - try { - if(v.hasNext == null) { - throw haxe_Exception.thrown(null); - } - } catch( _g1 ) { - throw haxe_Exception.thrown("Cannot iter on " + Std.string(v)); - } - } - this.stack.push(this.context); - var v1 = v; - var ctx = v1; - while(ctx.hasNext()) { - var ctx1 = ctx.next(); - this.context = ctx1; - this.run(loop); - } - this.context = this.stack.pop(); - break; - case 6: - var m = e.name; - var params = e.params; - var v = Reflect.field(this.macros,m); - var pl = []; - var old = this.buf; - pl.push($bind(this,this.resolve)); - var _g_head = params.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var p = val; - if(p._hx_index == 0) { - var v1 = p.v; - pl.push(this.resolve(v1)); - } else { - this.buf = new StringBuf(); - this.run(p); - pl.push(this.buf.b); - } - } - this.buf = old; - try { - var _this = this.buf; - var x = Std.string(v.apply(this.macros,pl)); - _this.b += Std.string(x); - } catch( _g ) { - var e = haxe_Exception.caught(_g).unwrap(); - var plstr; - try { - plstr = pl.join(","); - } catch( _g1 ) { - plstr = "???"; - } - var msg = "Macro call " + m + "(" + plstr + ") failed (" + Std.string(e) + ")"; - throw haxe_Exception.thrown(msg); - } - break; - } - } -}; -var haxe_ValueException = function(value,previous,native) { - haxe_Exception.call(this,String(value),previous,native); - this.value = value; -}; -haxe_ValueException.__name__ = true; -haxe_ValueException.__super__ = haxe_Exception; -haxe_ValueException.prototype = $extend(haxe_Exception.prototype,{ - unwrap: function() { - return this.value; - } -}); -var haxe_ds_List = function() { - this.length = 0; -}; -haxe_ds_List.__name__ = true; -haxe_ds_List.prototype = { - add: function(item) { - var x = new haxe_ds__$List_ListNode(item,null); - if(this.h == null) { - this.h = x; - } else { - this.q.next = x; - } - this.q = x; - this.length++; - } - ,push: function(item) { - var x = new haxe_ds__$List_ListNode(item,this.h); - this.h = x; - if(this.q == null) { - this.q = x; - } - this.length++; - } - ,first: function() { - if(this.h == null) { - return null; - } else { - return this.h.item; - } - } - ,pop: function() { - if(this.h == null) { - return null; - } - var x = this.h.item; - this.h = this.h.next; - if(this.h == null) { - this.q = null; - } - this.length--; - return x; - } - ,isEmpty: function() { - return this.h == null; - } - ,toString: function() { - var s_b = ""; - var first = true; - var l = this.h; - s_b += "{"; - while(l != null) { - if(first) { - first = false; - } else { - s_b += ", "; - } - s_b += Std.string(Std.string(l.item)); - l = l.next; - } - s_b += "}"; - return s_b; - } -}; -var haxe_ds__$List_ListNode = function(item,next) { - this.item = item; - this.next = next; -}; -haxe_ds__$List_ListNode.__name__ = true; -var js_Boot = function() { }; -js_Boot.__name__ = true; -js_Boot.__string_rec = function(o,s) { - if(o == null) { - return "null"; - } - if(s.length >= 5) { - return "<...>"; - } - var t = typeof(o); - if(t == "function" && (o.__name__ || o.__ename__)) { - t = "object"; - } - switch(t) { - case "function": - return ""; - case "object": - if(o.__enum__) { - var e = $hxEnums[o.__enum__]; - var con = e.__constructs__[o._hx_index]; - var n = con._hx_name; - if(con.__params__) { - s = s + "\t"; - return n + "(" + ((function($this) { - var $r; - var _g = []; - { - var _g1 = 0; - var _g2 = con.__params__; - while(true) { - if(!(_g1 < _g2.length)) { - break; - } - var p = _g2[_g1]; - _g1 = _g1 + 1; - _g.push(js_Boot.__string_rec(o[p],s)); - } - } - $r = _g; - return $r; - }(this))).join(",") + ")"; - } else { - return n; - } - } - if(((o) instanceof Array)) { - var str = "["; - s += "\t"; - var _g = 0; - var _g1 = o.length; - while(_g < _g1) { - var i = _g++; - str += (i > 0 ? "," : "") + js_Boot.__string_rec(o[i],s); - } - str += "]"; - return str; - } - var tostr; - try { - tostr = o.toString; - } catch( _g ) { - return "???"; - } - if(tostr != null && tostr != Object.toString && typeof(tostr) == "function") { - var s2 = o.toString(); - if(s2 != "[object Object]") { - return s2; - } - } - var str = "{\n"; - s += "\t"; - var hasp = o.hasOwnProperty != null; - var k = null; - for( k in o ) { - if(hasp && !o.hasOwnProperty(k)) { - continue; - } - if(k == "prototype" || k == "__class__" || k == "__super__" || k == "__interfaces__" || k == "__properties__") { - continue; - } - if(str.length != 2) { - str += ", \n"; - } - str += s + k + " : " + js_Boot.__string_rec(o[k],s); - } - s = s.substring(1); - str += "\n" + s + "}"; - return str; - case "string": - return o; - default: - return String(o); - } -}; -var xrfragment_Filter = $hx_exports["xrfragment"]["Filter"] = function(str) { - this.q = { }; - this.str = ""; - if(str != null) { - this.parse(str); - } -}; -xrfragment_Filter.__name__ = true; -xrfragment_Filter.prototype = { - toObject: function() { - return Reflect.copy(this.q); - } - ,get: function() { - return Reflect.copy(this.q); - } - ,parse: function(str) { - var token = str.split(" "); - var q = { }; - var process = function(str,prefix) { - if(prefix == null) { - prefix = ""; - } - str = StringTools.trim(str); - var k = str.split("=")[0]; - var v = str.split("=")[1]; - var filter = { }; - if(q[prefix + k]) { - filter = q[prefix + k]; - } - if(xrfragment_XRF.isProp.match(str)) { - var oper = ""; - if(str.indexOf(">") != -1) { - oper = ">"; - } - if(str.indexOf("<") != -1) { - oper = "<"; - } - if(xrfragment_XRF.isExclude.match(k)) { - k = HxOverrides.substr(k,1,null); - } - v = HxOverrides.substr(v,oper.length,null); - if(oper.length == 0) { - oper = "="; - } - var rule = { }; - if(xrfragment_XRF.isNumber.match(v)) { - rule[oper] = parseFloat(v); - } else { - rule[oper] = v; - } - q["expr"] = rule; - } - var value = xrfragment_XRF.isDeep.match(str) ? k.split("*").length - 1 : 0; - q["deep"] = value; - var value = xrfragment_XRF.isExclude.match(str) ? false : true; - q["show"] = value; - var value = k.replace(xrfragment_XRF.operators.r,""); - q["key"] = value; - q["value"] = v; - }; - var _g = 0; - var _g1 = token.length; - while(_g < _g1) { - var i = _g++; - process(token[i]); - } - return this.q = q; - } - ,test: function(obj) { - var qualify = false; - var _g = 0; - var _g1 = Reflect.fields(obj); - while(_g < _g1.length) { - var k = _g1[_g]; - ++_g; - var v = Std.string(Reflect.field(obj,k)); - if(this.testProperty(k,v)) { - qualify = true; - } - } - var _g = 0; - var _g1 = Reflect.fields(obj); - while(_g < _g1.length) { - var k = _g1[_g]; - ++_g; - var v = Std.string(Reflect.field(obj,k)); - if(this.testProperty(k,v,true)) { - qualify = false; - } - } - return qualify; - } - ,testProperty: function(property,value,exclude) { - var conds = 0; - var fails = 0; - var qualify = 0; - var testprop = function(expr) { - conds += 1; - fails += expr ? 0 : 1; - return expr; - }; - if(this.q[value] != null) { - var v = this.q[value]; - if(v[property] != null) { - return v[property]; - } - } - if(Reflect.field(this.q,"expr")) { - var f = Reflect.field(this.q,"expr"); - if(!Reflect.field(this.q,"show")) { - if(Reflect.field(f,"!=") != null && testprop((value == null ? "null" : "" + value) == Std.string(Reflect.field(f,"!="))) && exclude) { - ++qualify; - } - } else { - if(Reflect.field(f,"*") != null && testprop(parseFloat(value) != null)) { - ++qualify; - } - if(Reflect.field(f,">") != null && testprop(parseFloat(value) >= parseFloat(Reflect.field(f,">")))) { - ++qualify; - } - if(Reflect.field(f,"<") != null && testprop(parseFloat(value) <= parseFloat(Reflect.field(f,"<")))) { - ++qualify; - } - if(Reflect.field(f,"=") != null && (testprop(value == Reflect.field(f,"=")) || testprop(parseFloat(value) == parseFloat(Reflect.field(f,"="))))) { - ++qualify; - } - } - } - return qualify > 0; - } -}; -var xrfragment_Parser = $hx_exports["xrfragment"]["Parser"] = function() { }; -xrfragment_Parser.__name__ = true; -xrfragment_Parser.parse = function(key,value,store,index) { - var Frag_h = Object.create(null); - Frag_h["#"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_PREDEFINED_VIEW | xrfragment_XRF.PV_EXECUTE; - Frag_h["src"] = xrfragment_XRF.T_URL; - Frag_h["href"] = xrfragment_XRF.T_URL | xrfragment_XRF.T_PREDEFINED_VIEW; - Frag_h["tag"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["pos"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_VECTOR3 | xrfragment_XRF.T_STRING | xrfragment_XRF.METADATA | xrfragment_XRF.NAVIGATOR; - Frag_h["rot"] = xrfragment_XRF.QUERY_OPERATOR | xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_VECTOR3 | xrfragment_XRF.METADATA | xrfragment_XRF.NAVIGATOR; - Frag_h["t"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_FLOAT | xrfragment_XRF.T_VECTOR2 | xrfragment_XRF.NAVIGATOR | xrfragment_XRF.METADATA; - Frag_h["s"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_MEDIAFRAG; - Frag_h["loop"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_PREDEFINED_VIEW; - Frag_h["uv"] = xrfragment_XRF.T_VECTOR2 | xrfragment_XRF.T_MEDIAFRAG; - Frag_h["namespace"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["SPDX"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["unit"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["description"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - var keyStripped = key.replace(xrfragment_XRF.operators.r,""); - var isPVDynamic = key.length > 0 && !Object.prototype.hasOwnProperty.call(Frag_h,key); - if(isPVDynamic) { - var v = new xrfragment_XRF(key,xrfragment_XRF.PV_EXECUTE | xrfragment_XRF.NAVIGATOR,index); - v.validate(value); - v.flags = xrfragment_XRF.set(xrfragment_XRF.T_DYNAMICKEY,v.flags); - if(!Object.prototype.hasOwnProperty.call(Frag_h,key)) { - v.flags = xrfragment_XRF.set(xrfragment_XRF.CUSTOMFRAG,v.flags); - } - if(value.length == 0) { - v.flags = xrfragment_XRF.set(xrfragment_XRF.T_DYNAMICKEYVALUE,v.flags); - } - store[keyStripped] = v; - return true; - } - var v = new xrfragment_XRF(key,Frag_h[key],index); - if(Object.prototype.hasOwnProperty.call(Frag_h,key)) { - if(!v.validate(value)) { - console.log("src/xrfragment/Parser.hx:67:","⚠ fragment '" + key + "' has incompatible value (" + value + ")"); - return false; - } - store[keyStripped] = v; - if(xrfragment_Parser.debug) { - console.log("src/xrfragment/Parser.hx:71:","✔ " + key + ": " + v.string); - } - } else { - if(typeof(value) == "string") { - v.guessType(v,value); - } - v.flags = xrfragment_XRF.set(xrfragment_XRF.CUSTOMFRAG,v.flags); - store[keyStripped] = v; - } - return true; -}; -xrfragment_Parser.getMetaData = function() { - var meta = { title : ["title","og:title","dc.title"], description : ["aria-description","og:description","dc.description"], author : ["author","dc.creator"], publisher : ["publisher","dc.publisher"], website : ["og:site_name","og:url","dc.publisher"], license : ["SPDX","dc.rights"]}; - return meta; -}; -var xrfragment_URI = $hx_exports["xrfragment"]["URI"] = function() { - this.XRF = { }; - this.hash = { }; - this.fragment = ""; -}; -xrfragment_URI.__name__ = true; -xrfragment_URI.parseFragment = function(url,filter) { - var store = { }; - if(url == null || url.indexOf("#") == -1) { - return store; - } - var fragment = url.split("#"); - var splitArray = fragment[1].split("&"); - var _g = 0; - var _g1 = splitArray.length; - while(_g < _g1) { - var i = _g++; - var splitByEqual = splitArray[i].split("="); - var regexPlus = new EReg("\\+","g"); - var key = splitByEqual[0]; - var value = ""; - if(splitByEqual.length > 1) { - if(xrfragment_XRF.isVector.match(splitByEqual[1])) { - value = splitByEqual[1]; - } else { - var s = regexPlus.split(splitByEqual[1]).join(" "); - value = decodeURIComponent(s.split("+").join(" ")); - } - } - var ok = xrfragment_Parser.parse(key,value,store,i); - } - if(filter != null && filter != 0) { - var _g = 0; - var _g1 = Reflect.fields(store); - while(_g < _g1.length) { - var key = _g1[_g]; - ++_g; - var xrf = store[key]; - if(!xrf.is(filter)) { - Reflect.deleteField(store,key); - } - } - } - return store; -}; -xrfragment_URI.template = function(uri,vars) { - var parts = uri.split("#"); - if(parts.length == 1) { - return uri; - } - var frag = parts[1]; - frag = StringTools.replace(frag,"{","::"); - frag = StringTools.replace(frag,"}","::"); - frag = new haxe_Template(frag).execute(vars); - frag = StringTools.replace(frag,"null",""); - parts[1] = frag; - return parts.join("#"); -}; -xrfragment_URI.parse = function(stringUrl,flags) { - var r = new EReg("^(?:(?![^:@]+:[^:@/]*@)([^:/?#.]+):)?(?://)?((?:(([^:@]*)(?::([^:@]*))?)?@)?([^:/?#]*)(?::(\\d*))?)(((/(?:[^?#](?![^?#/]*\\.[^?#/.]+(?:[?#]|$)))*/?)?([^?#/]*))(?:\\?([^#]*))?(?:#(.*))?)",""); - if(stringUrl.indexOf("://") == -1 && stringUrl.charAt(0) != "/") { - stringUrl = "/" + stringUrl; - } - r.match(stringUrl); - var url = new xrfragment_URI(); - var _g = 0; - var _g1 = xrfragment_URI._parts.length; - while(_g < _g1) { - var i = _g++; - url[xrfragment_URI._parts[i]] = r.matched(i); - } - if(xrfragment_URI.isRelative(url) == true) { - if(url.directory == null && url.host != null) { - url.file = url.host; - } - url.host = ""; - } - url.hash = { }; - if(url.fragment != null && url.fragment.length > 0) { - url.XRF = xrfragment_URI.parseFragment("#" + url.fragment,flags); - var key; - var _g = 0; - var _g1 = Reflect.fields(url.XRF); - while(_g < _g1.length) { - var key = _g1[_g]; - ++_g; - var v = url.XRF[key]; - url.hash[key] = v["string"]; - } - } - xrfragment_URI.computeVars(url); - return url; -}; -xrfragment_URI.computeVars = function(url) { - var r_r = new RegExp("//","g".split("u").join("")); - if(url.directory != null && url.directory.indexOf("//") != -1) { - url.directory = url.directory.replace(r_r,"/"); - } - if(url.path != null && url.path.indexOf("//") != -1) { - url.path = url.path.replace(r_r,"/"); - } - if(url.file != null && url.file.indexOf("//") != -1) { - url.file = url.file.replace(r_r,"/"); - } - url.URN = url.scheme + "://" + url.host; - if(url.port != null) { - url.URN += ":" + url.port; - } - url.URN += url.directory; - if(url.file != null) { - var parts = url.file.split("."); - if(parts.length > 1) { - url.fileExt = parts.pop(); - } - } -}; -xrfragment_URI.toString = function(url) { - var result = ""; - if(url.scheme != null) { - result += url.scheme + "://"; - } - if(url.user != null) { - result += url.user + ":"; - } - if(url.password != null) { - result += url.password + "@"; - } - if(url.host != null) { - result += url.host; - } - if(url.port != null) { - result += ":" + url.port; - } - if(url.directory != null) { - result += url.directory; - } - if(url.file != null) { - result += url.file; - } - if(url.query != null) { - result += "?" + url.query; - } - if(url.fragment != null) { - result += "#" + url.fragment; - } - return result; -}; -xrfragment_URI.appendURI = function(url,appendedURI) { - if(xrfragment_URI.isRelative(url) == true) { - return xrfragment_URI.appendToRelativeURI(url,appendedURI); - } else { - return xrfragment_URI.appendToAbsoluteURI(url,appendedURI); - } -}; -xrfragment_URI.isRelative = function(url) { - return url.scheme == null; -}; -xrfragment_URI.appendToRelativeURI = function(url,appendedURI) { - if(url.directory == null || url.host == null) { - return xrfragment_URI.cloneURI(appendedURI); - } - var resultURI = new xrfragment_URI(); - resultURI.host = url.host; - resultURI.directory = url.directory; - if(appendedURI.host != null) { - resultURI.directory += appendedURI.host; - } - if(appendedURI.directory != null) { - var directory = appendedURI.directory; - if(appendedURI.host == null) { - resultURI.directory += HxOverrides.substr(directory,1,null); - } else { - resultURI.directory += directory; - } - } - if(appendedURI.file != null) { - resultURI.file = appendedURI.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(appendedURI.query != null) { - resultURI.query = appendedURI.query; - } - if(appendedURI.fragment != null) { - resultURI.fragment = appendedURI.fragment; - } - return resultURI; -}; -xrfragment_URI.appendToAbsoluteURI = function(url,appendedURI) { - var resultURI = new xrfragment_URI(); - if(url.scheme != null) { - resultURI.scheme = url.scheme; - } - if(url.host != null) { - resultURI.host = url.host; - } - var directory = ""; - if(url.directory != null) { - directory = url.directory; - } - if(appendedURI.host != null) { - appendedURI.directory += appendedURI.host; - } - if(appendedURI.directory != null) { - directory += appendedURI.directory; - } - resultURI.directory = directory; - if(appendedURI.file != null) { - resultURI.file = appendedURI.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(appendedURI.query != null) { - resultURI.query = appendedURI.query; - } - if(appendedURI.fragment != null) { - resultURI.fragment = appendedURI.fragment; - } - return resultURI; -}; -xrfragment_URI.toAbsolute = function(url,newUrl) { - var newURI = xrfragment_URI.parse(newUrl,0); - var resultURI = new xrfragment_URI(); - resultURI.port = url.port; - resultURI.source = newUrl; - if(newURI.scheme != null) { - resultURI.scheme = newURI.scheme; - } else { - resultURI.scheme = url.scheme; - } - if(newURI.host != null && newURI.host.length > 0) { - resultURI.host = newURI.host; - resultURI.port = null; - resultURI.fragment = null; - resultURI.hash = { }; - resultURI.XRF = { }; - if(newURI.port != null) { - resultURI.port = newURI.port; - } - } else { - resultURI.host = url.host; - } - var directory = ""; - if(url.directory != null) { - directory = url.directory; - } - if(newURI.directory != null) { - if(newUrl.charAt(0) != "/" && newUrl.indexOf("://") == -1) { - var stripRelative_r = new RegExp("\\./.*","".split("u").join("")); - directory = directory.replace(stripRelative_r,""); - directory += newURI.directory; - } else { - directory = newURI.directory; - } - } - resultURI.directory = directory; - if(newURI.file != null) { - resultURI.file = newURI.file; - } else { - resultURI.file = url.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(newURI.query != null) { - resultURI.query = newURI.query; - } - if(newURI.fragment != null) { - resultURI.fragment = newURI.fragment; - } - resultURI.hash = newURI.hash; - resultURI.XRF = newURI.XRF; - xrfragment_URI.computeVars(resultURI); - return resultURI; -}; -xrfragment_URI.cloneURI = function(url) { - var clonedURI = new xrfragment_URI(); - clonedURI.url = url.url; - clonedURI.source = url.source; - clonedURI.scheme = url.scheme; - clonedURI.authority = url.authority; - clonedURI.userInfo = url.userInfo; - clonedURI.password = url.password; - clonedURI.host = url.host; - clonedURI.port = url.port; - clonedURI.relative = url.relative; - clonedURI.path = url.path; - clonedURI.directory = url.directory; - clonedURI.file = url.file; - clonedURI.query = url.query; - clonedURI.fragment = url.fragment; - return clonedURI; -}; -var xrfragment_XRF = $hx_exports["xrfragment"]["XRF"] = function(_fragment,_flags,_index) { - this.floats = []; - this.shift = []; - this.fragment = _fragment; - this.flags = _flags; - this.index = _index; -}; -xrfragment_XRF.__name__ = true; -xrfragment_XRF.set = function(flag,flags) { - return flags | flag; -}; -xrfragment_XRF.unset = function(flag,flags) { - return flags & ~flag; -}; -xrfragment_XRF.prototype = { - is: function(flag) { - var v = this.flags; - if(!(typeof(v) == "number" && ((v | 0) === v))) { - this.flags = 0; - } - return (this.flags & flag) != 0; - } - ,validate: function(value) { - this.guessType(this,value); - var ok = true; - if(value.length == 0 && !this.is(xrfragment_XRF.T_PREDEFINED_VIEW)) { - ok = false; - } - if(!this.is(xrfragment_XRF.T_FLOAT) && this.is(xrfragment_XRF.T_VECTOR2) && !(typeof(this.x) == "number" && typeof(this.y) == "number")) { - ok = false; - } - if(!(this.is(xrfragment_XRF.T_VECTOR2) || this.is(xrfragment_XRF.T_STRING)) && this.is(xrfragment_XRF.T_VECTOR3) && !(typeof(this.x) == "number" && typeof(this.y) == "number" && typeof(this.z) == "number")) { - ok = false; - } - return ok; - } - ,guessType: function(v,str) { - v.string = str; - if(xrfragment_XRF.isReset.match(v.fragment)) { - v.reset = true; - } - if(v.fragment == "loop") { - v.loop = true; - } - if(typeof(str) != "string") { - return; - } - if(str.length > 0) { - if(xrfragment_XRF.isXRFScheme.match(str)) { - v.xrfScheme = true; - str = str.replace(xrfragment_XRF.isXRFScheme.r,""); - v.string = str; - } - if(str.split(",").length > 1) { - var xyzn = str.split(","); - if(xyzn.length > 0) { - v.x = parseFloat(xyzn[0]); - } - if(xyzn.length > 1) { - v.y = parseFloat(xyzn[1]); - } - if(xyzn.length > 2) { - v.z = parseFloat(xyzn[2]); - } - var _g = 0; - var _g1 = xyzn.length; - while(_g < _g1) { - var i = _g++; - v.shift.push(xrfragment_XRF.isShift.match(xyzn[i])); - v.floats.push(parseFloat(xyzn[i].replace(xrfragment_XRF.isShift.r,""))); - } - } - if(xrfragment_XRF.isColor.match(str)) { - v.color = str; - } - if(xrfragment_XRF.isFloat.match(str)) { - v.x = parseFloat(str); - v.float = v.x; - } - if(xrfragment_XRF.isInt.match(str)) { - v.int = Std.parseInt(str); - v.x = v.int; - v.floats.push(v.x); - } - v.filter = new xrfragment_Filter(v.fragment + "=" + v.string); - } else { - v.filter = new xrfragment_Filter(v.fragment); - } - } -}; -function $getIterator(o) { if( o instanceof Array ) return new haxe_iterators_ArrayIterator(o); else return o.iterator(); } -function $bind(o,m) { if( m == null ) return null; if( m.__id__ == null ) m.__id__ = $global.$haxeUID++; var f; if( o.hx__closures__ == null ) o.hx__closures__ = {}; else f = o.hx__closures__[m.__id__]; if( f == null ) { f = m.bind(o); o.hx__closures__[m.__id__] = f; } return f; } -$global.$haxeUID |= 0; -if(typeof(performance) != "undefined" ? typeof(performance.now) == "function" : false) { - HxOverrides.now = performance.now.bind(performance); -} -if( String.fromCodePoint == null ) String.fromCodePoint = function(c) { return c < 0x10000 ? String.fromCharCode(c) : String.fromCharCode((c>>10)+0xD7C0)+String.fromCharCode((c&0x3FF)+0xDC00); } -String.__name__ = true; -Array.__name__ = true; -js_Boot.__toStr = ({ }).toString; -haxe_Template.splitter = new EReg("(::[A-Za-z0-9_ ()&|!+=/><*.\"-]+::|\\$\\$([A-Za-z0-9_-]+)\\()",""); -haxe_Template.expr_splitter = new EReg("(\\(|\\)|[ \r\n\t]*\"[^\"]*\"[ \r\n\t]*|[!+=/><*.&|-]+)",""); -haxe_Template.expr_trim = new EReg("^[ ]*([^ ]+)[ ]*$",""); -haxe_Template.expr_int = new EReg("^[0-9]+$",""); -haxe_Template.expr_float = new EReg("^([+-]?)(?=\\d|,\\d)\\d*(,\\d*)?([Ee]([+-]?\\d+))?$",""); -haxe_Template.globals = { }; -haxe_Template.hxKeepArrayIterator = new haxe_iterators_ArrayIterator([]); -xrfragment_Parser.error = ""; -xrfragment_Parser.debug = false; -xrfragment_URI.__meta__ = { statics : { template : { keep : null}}}; -xrfragment_URI._parts = ["source","scheme","authority","userInfo","user","password","host","port","relative","path","directory","file","query","fragment"]; -xrfragment_XRF.IMMUTABLE = 1; -xrfragment_XRF.PROP_BIND = 2; -xrfragment_XRF.QUERY_OPERATOR = 4; -xrfragment_XRF.PROMPT = 8; -xrfragment_XRF.CUSTOMFRAG = 16; -xrfragment_XRF.NAVIGATOR = 32; -xrfragment_XRF.METADATA = 64; -xrfragment_XRF.PV_OVERRIDE = 128; -xrfragment_XRF.PV_EXECUTE = 256; -xrfragment_XRF.T_COLOR = 8192; -xrfragment_XRF.T_INT = 16384; -xrfragment_XRF.T_FLOAT = 32768; -xrfragment_XRF.T_VECTOR2 = 65536; -xrfragment_XRF.T_VECTOR3 = 131072; -xrfragment_XRF.T_URL = 262144; -xrfragment_XRF.T_PREDEFINED_VIEW = 524288; -xrfragment_XRF.T_STRING = 1048576; -xrfragment_XRF.T_MEDIAFRAG = 2097152; -xrfragment_XRF.T_DYNAMICKEY = 4194304; -xrfragment_XRF.T_DYNAMICKEYVALUE = 8388608; -xrfragment_XRF.isColor = new EReg("^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$",""); -xrfragment_XRF.isInt = new EReg("^[-0-9]+$",""); -xrfragment_XRF.isFloat = new EReg("^[-0-9]+\\.[0-9]+$",""); -xrfragment_XRF.isVector = new EReg("([,]+|\\w)",""); -xrfragment_XRF.isUrl = new EReg("(://)?\\..*",""); -xrfragment_XRF.isUrlOrPretypedView = new EReg("(^#|://)?\\..*",""); -xrfragment_XRF.isString = new EReg(".*",""); -xrfragment_XRF.operators = new EReg("(^[-]|^[!]|[\\*]$)","g"); -xrfragment_XRF.isProp = new EReg("^.*=[><=]?",""); -xrfragment_XRF.isExclude = new EReg("^-",""); -xrfragment_XRF.isDeep = new EReg("\\*",""); -xrfragment_XRF.isNumber = new EReg("^[0-9\\.]+$",""); -xrfragment_XRF.isMediaFrag = new EReg("^([0-9\\.,\\*+-]+)$",""); -xrfragment_XRF.isReset = new EReg("^!",""); -xrfragment_XRF.isShift = new EReg("^(\\+|--)",""); -xrfragment_XRF.isXRFScheme = new EReg("^xrf://",""); -})(typeof window != "undefined" ? window : typeof global != "undefined" ? global : typeof self != "undefined" ? self : this); -var xrfragment = $hx_exports["xrfragment"]; -export default xrfragment; -// Generated by Haxe 4.3.3 -var $hx_exports = typeof exports != "undefined" ? exports : typeof window != "undefined" ? window : typeof self != "undefined" ? self : this; -(function ($global) { "use strict"; -$hx_exports["xrfragment"] = $hx_exports["xrfragment"] || {}; -var $estr = function() { return js_Boot.__string_rec(this,''); },$hxEnums = $hxEnums || {},$_; -function $extend(from, fields) { - var proto = Object.create(from); - for (var name in fields) proto[name] = fields[name]; - if( fields.toString !== Object.prototype.toString ) proto.toString = fields.toString; - return proto; -} -var EReg = function(r,opt) { - this.r = new RegExp(r,opt.split("u").join("")); -}; -EReg.__name__ = true; -EReg.prototype = { - match: function(s) { - if(this.r.global) { - this.r.lastIndex = 0; - } - this.r.m = this.r.exec(s); - this.r.s = s; - return this.r.m != null; - } - ,matched: function(n) { - if(this.r.m != null && n >= 0 && n < this.r.m.length) { - return this.r.m[n]; - } else { - throw haxe_Exception.thrown("EReg::matched"); - } - } - ,matchedRight: function() { - if(this.r.m == null) { - throw haxe_Exception.thrown("No string matched"); - } - var sz = this.r.m.index + this.r.m[0].length; - return HxOverrides.substr(this.r.s,sz,this.r.s.length - sz); - } - ,matchedPos: function() { - if(this.r.m == null) { - throw haxe_Exception.thrown("No string matched"); - } - return { pos : this.r.m.index, len : this.r.m[0].length}; - } - ,split: function(s) { - var d = "#__delim__#"; - return s.replace(this.r,d).split(d); - } -}; -var HxOverrides = function() { }; -HxOverrides.__name__ = true; -HxOverrides.cca = function(s,index) { - var x = s.charCodeAt(index); - if(x != x) { - return undefined; - } - return x; -}; -HxOverrides.substr = function(s,pos,len) { - if(len == null) { - len = s.length; - } else if(len < 0) { - if(pos == 0) { - len = s.length + len; - } else { - return ""; - } - } - return s.substr(pos,len); -}; -HxOverrides.now = function() { - return Date.now(); -}; -Math.__name__ = true; -var Reflect = function() { }; -Reflect.__name__ = true; -Reflect.field = function(o,field) { - try { - return o[field]; - } catch( _g ) { - return null; - } -}; -Reflect.getProperty = function(o,field) { - var tmp; - if(o == null) { - return null; - } else { - var tmp1; - if(o.__properties__) { - tmp = o.__properties__["get_" + field]; - tmp1 = tmp; - } else { - tmp1 = false; - } - if(tmp1) { - return o[tmp](); - } else { - return o[field]; - } - } -}; -Reflect.fields = function(o) { - var a = []; - if(o != null) { - var hasOwnProperty = Object.prototype.hasOwnProperty; - for( var f in o ) { - if(f != "__id__" && f != "hx__closures__" && hasOwnProperty.call(o,f)) { - a.push(f); - } - } - } - return a; -}; -Reflect.isObject = function(v) { - if(v == null) { - return false; - } - var t = typeof(v); - if(!(t == "string" || t == "object" && v.__enum__ == null)) { - if(t == "function") { - return (v.__name__ || v.__ename__) != null; - } else { - return false; - } - } else { - return true; - } -}; -Reflect.deleteField = function(o,field) { - if(!Object.prototype.hasOwnProperty.call(o,field)) { - return false; - } - delete(o[field]); - return true; -}; -Reflect.copy = function(o) { - if(o == null) { - return null; - } - var o2 = { }; - var _g = 0; - var _g1 = Reflect.fields(o); - while(_g < _g1.length) { - var f = _g1[_g]; - ++_g; - o2[f] = Reflect.field(o,f); - } - return o2; -}; -var Std = function() { }; -Std.__name__ = true; -Std.string = function(s) { - return js_Boot.__string_rec(s,""); -}; -Std.parseInt = function(x) { - var v = parseInt(x); - if(isNaN(v)) { - return null; - } - return v; -}; -var StringBuf = function() { - this.b = ""; -}; -StringBuf.__name__ = true; -var StringTools = function() { }; -StringTools.__name__ = true; -StringTools.isSpace = function(s,pos) { - var c = HxOverrides.cca(s,pos); - if(!(c > 8 && c < 14)) { - return c == 32; - } else { - return true; - } -}; -StringTools.ltrim = function(s) { - var l = s.length; - var r = 0; - while(r < l && StringTools.isSpace(s,r)) ++r; - if(r > 0) { - return HxOverrides.substr(s,r,l - r); - } else { - return s; - } -}; -StringTools.rtrim = function(s) { - var l = s.length; - var r = 0; - while(r < l && StringTools.isSpace(s,l - r - 1)) ++r; - if(r > 0) { - return HxOverrides.substr(s,0,l - r); - } else { - return s; - } -}; -StringTools.trim = function(s) { - return StringTools.ltrim(StringTools.rtrim(s)); -}; -StringTools.replace = function(s,sub,by) { - return s.split(sub).join(by); -}; -var haxe_Exception = function(message,previous,native) { - Error.call(this,message); - this.message = message; - this.__previousException = previous; - this.__nativeException = native != null ? native : this; -}; -haxe_Exception.__name__ = true; -haxe_Exception.caught = function(value) { - if(((value) instanceof haxe_Exception)) { - return value; - } else if(((value) instanceof Error)) { - return new haxe_Exception(value.message,null,value); - } else { - return new haxe_ValueException(value,null,value); - } -}; -haxe_Exception.thrown = function(value) { - if(((value) instanceof haxe_Exception)) { - return value.get_native(); - } else if(((value) instanceof Error)) { - return value; - } else { - var e = new haxe_ValueException(value); - return e; - } -}; -haxe_Exception.__super__ = Error; -haxe_Exception.prototype = $extend(Error.prototype,{ - unwrap: function() { - return this.__nativeException; - } - ,get_native: function() { - return this.__nativeException; - } - ,__properties__: {get_native:"get_native"} -}); -var haxe__$Template_TemplateExpr = $hxEnums["haxe._Template.TemplateExpr"] = { __ename__:true,__constructs__:null - ,OpVar: ($_=function(v) { return {_hx_index:0,v:v,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpVar",$_.__params__ = ["v"],$_) - ,OpExpr: ($_=function(expr) { return {_hx_index:1,expr:expr,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpExpr",$_.__params__ = ["expr"],$_) - ,OpIf: ($_=function(expr,eif,eelse) { return {_hx_index:2,expr:expr,eif:eif,eelse:eelse,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpIf",$_.__params__ = ["expr","eif","eelse"],$_) - ,OpStr: ($_=function(str) { return {_hx_index:3,str:str,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpStr",$_.__params__ = ["str"],$_) - ,OpBlock: ($_=function(l) { return {_hx_index:4,l:l,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpBlock",$_.__params__ = ["l"],$_) - ,OpForeach: ($_=function(expr,loop) { return {_hx_index:5,expr:expr,loop:loop,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpForeach",$_.__params__ = ["expr","loop"],$_) - ,OpMacro: ($_=function(name,params) { return {_hx_index:6,name:name,params:params,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpMacro",$_.__params__ = ["name","params"],$_) -}; -haxe__$Template_TemplateExpr.__constructs__ = [haxe__$Template_TemplateExpr.OpVar,haxe__$Template_TemplateExpr.OpExpr,haxe__$Template_TemplateExpr.OpIf,haxe__$Template_TemplateExpr.OpStr,haxe__$Template_TemplateExpr.OpBlock,haxe__$Template_TemplateExpr.OpForeach,haxe__$Template_TemplateExpr.OpMacro]; -var haxe_iterators_ArrayIterator = function(array) { - this.current = 0; - this.array = array; -}; -haxe_iterators_ArrayIterator.__name__ = true; -haxe_iterators_ArrayIterator.prototype = { - hasNext: function() { - return this.current < this.array.length; - } - ,next: function() { - return this.array[this.current++]; - } -}; -var haxe_Template = function(str) { - var tokens = this.parseTokens(str); - this.expr = this.parseBlock(tokens); - if(!tokens.isEmpty()) { - throw haxe_Exception.thrown("Unexpected '" + Std.string(tokens.first().s) + "'"); - } -}; -haxe_Template.__name__ = true; -haxe_Template.prototype = { - execute: function(context,macros) { - this.macros = macros == null ? { } : macros; - this.context = context; - this.stack = new haxe_ds_List(); - this.buf = new StringBuf(); - this.run(this.expr); - return this.buf.b; - } - ,resolve: function(v) { - if(v == "__current__") { - return this.context; - } - if(Reflect.isObject(this.context)) { - var value = Reflect.getProperty(this.context,v); - if(value != null || Object.prototype.hasOwnProperty.call(this.context,v)) { - return value; - } - } - var _g_head = this.stack.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var ctx = val; - var value = Reflect.getProperty(ctx,v); - if(value != null || Object.prototype.hasOwnProperty.call(ctx,v)) { - return value; - } - } - return Reflect.field(haxe_Template.globals,v); - } - ,parseTokens: function(data) { - var tokens = new haxe_ds_List(); - while(haxe_Template.splitter.match(data)) { - var p = haxe_Template.splitter.matchedPos(); - if(p.pos > 0) { - tokens.add({ p : HxOverrides.substr(data,0,p.pos), s : true, l : null}); - } - if(HxOverrides.cca(data,p.pos) == 58) { - tokens.add({ p : HxOverrides.substr(data,p.pos + 2,p.len - 4), s : false, l : null}); - data = haxe_Template.splitter.matchedRight(); - continue; - } - var parp = p.pos + p.len; - var npar = 1; - var params = []; - var part = ""; - while(true) { - var c = HxOverrides.cca(data,parp); - ++parp; - if(c == 40) { - ++npar; - } else if(c == 41) { - --npar; - if(npar <= 0) { - break; - } - } else if(c == null) { - throw haxe_Exception.thrown("Unclosed macro parenthesis"); - } - if(c == 44 && npar == 1) { - params.push(part); - part = ""; - } else { - part += String.fromCodePoint(c); - } - } - params.push(part); - tokens.add({ p : haxe_Template.splitter.matched(2), s : false, l : params}); - data = HxOverrides.substr(data,parp,data.length - parp); - } - if(data.length > 0) { - tokens.add({ p : data, s : true, l : null}); - } - return tokens; - } - ,parseBlock: function(tokens) { - var l = new haxe_ds_List(); - while(true) { - var t = tokens.first(); - if(t == null) { - break; - } - if(!t.s && (t.p == "end" || t.p == "else" || HxOverrides.substr(t.p,0,7) == "elseif ")) { - break; - } - l.add(this.parse(tokens)); - } - if(l.length == 1) { - return l.first(); - } - return haxe__$Template_TemplateExpr.OpBlock(l); - } - ,parse: function(tokens) { - var t = tokens.pop(); - var p = t.p; - if(t.s) { - return haxe__$Template_TemplateExpr.OpStr(p); - } - if(t.l != null) { - var pe = new haxe_ds_List(); - var _g = 0; - var _g1 = t.l; - while(_g < _g1.length) { - var p1 = _g1[_g]; - ++_g; - pe.add(this.parseBlock(this.parseTokens(p1))); - } - return haxe__$Template_TemplateExpr.OpMacro(p,pe); - } - var kwdEnd = function(kwd) { - var pos = -1; - var length = kwd.length; - if(HxOverrides.substr(p,0,length) == kwd) { - pos = length; - var _g_offset = 0; - var _g_s = HxOverrides.substr(p,length,null); - while(_g_offset < _g_s.length) { - var c = _g_s.charCodeAt(_g_offset++); - if(c == 32) { - ++pos; - } else { - break; - } - } - } - return pos; - }; - var pos = kwdEnd("if"); - if(pos > 0) { - p = HxOverrides.substr(p,pos,p.length - pos); - var e = this.parseExpr(p); - var eif = this.parseBlock(tokens); - var t = tokens.first(); - var eelse; - if(t == null) { - throw haxe_Exception.thrown("Unclosed 'if'"); - } - if(t.p == "end") { - tokens.pop(); - eelse = null; - } else if(t.p == "else") { - tokens.pop(); - eelse = this.parseBlock(tokens); - t = tokens.pop(); - if(t == null || t.p != "end") { - throw haxe_Exception.thrown("Unclosed 'else'"); - } - } else { - t.p = HxOverrides.substr(t.p,4,t.p.length - 4); - eelse = this.parse(tokens); - } - return haxe__$Template_TemplateExpr.OpIf(e,eif,eelse); - } - var pos = kwdEnd("foreach"); - if(pos >= 0) { - p = HxOverrides.substr(p,pos,p.length - pos); - var e = this.parseExpr(p); - var efor = this.parseBlock(tokens); - var t = tokens.pop(); - if(t == null || t.p != "end") { - throw haxe_Exception.thrown("Unclosed 'foreach'"); - } - return haxe__$Template_TemplateExpr.OpForeach(e,efor); - } - if(haxe_Template.expr_splitter.match(p)) { - return haxe__$Template_TemplateExpr.OpExpr(this.parseExpr(p)); - } - return haxe__$Template_TemplateExpr.OpVar(p); - } - ,parseExpr: function(data) { - var l = new haxe_ds_List(); - var expr = data; - while(haxe_Template.expr_splitter.match(data)) { - var p = haxe_Template.expr_splitter.matchedPos(); - var k = p.pos + p.len; - if(p.pos != 0) { - l.add({ p : HxOverrides.substr(data,0,p.pos), s : true}); - } - var p1 = haxe_Template.expr_splitter.matched(0); - l.add({ p : p1, s : p1.indexOf("\"") >= 0}); - data = haxe_Template.expr_splitter.matchedRight(); - } - if(data.length != 0) { - var _g_offset = 0; - var _g_s = data; - while(_g_offset < _g_s.length) { - var _g_key = _g_offset; - var _g_value = _g_s.charCodeAt(_g_offset++); - var i = _g_key; - var c = _g_value; - if(c != 32) { - l.add({ p : HxOverrides.substr(data,i,null), s : true}); - break; - } - } - } - var e; - try { - e = this.makeExpr(l); - if(!l.isEmpty()) { - throw haxe_Exception.thrown(l.first().p); - } - } catch( _g ) { - var _g1 = haxe_Exception.caught(_g).unwrap(); - if(typeof(_g1) == "string") { - var s = _g1; - throw haxe_Exception.thrown("Unexpected '" + s + "' in " + expr); - } else { - throw _g; - } - } - return function() { - try { - return e(); - } catch( _g ) { - var exc = haxe_Exception.caught(_g).unwrap(); - throw haxe_Exception.thrown("Error : " + Std.string(exc) + " in " + expr); - } - }; - } - ,makeConst: function(v) { - haxe_Template.expr_trim.match(v); - v = haxe_Template.expr_trim.matched(1); - if(HxOverrides.cca(v,0) == 34) { - var str = HxOverrides.substr(v,1,v.length - 2); - return function() { - return str; - }; - } - if(haxe_Template.expr_int.match(v)) { - var i = Std.parseInt(v); - return function() { - return i; - }; - } - if(haxe_Template.expr_float.match(v)) { - var f = parseFloat(v); - return function() { - return f; - }; - } - var me = this; - return function() { - return me.resolve(v); - }; - } - ,makePath: function(e,l) { - var p = l.first(); - if(p == null || p.p != ".") { - return e; - } - l.pop(); - var field = l.pop(); - if(field == null || !field.s) { - throw haxe_Exception.thrown(field.p); - } - var f = field.p; - haxe_Template.expr_trim.match(f); - f = haxe_Template.expr_trim.matched(1); - return this.makePath(function() { - return Reflect.field(e(),f); - },l); - } - ,makeExpr: function(l) { - return this.makePath(this.makeExpr2(l),l); - } - ,skipSpaces: function(l) { - var p = l.first(); - while(p != null) { - var _g_offset = 0; - var _g_s = p.p; - while(_g_offset < _g_s.length) { - var c = _g_s.charCodeAt(_g_offset++); - if(c != 32) { - return; - } - } - l.pop(); - p = l.first(); - } - } - ,makeExpr2: function(l) { - this.skipSpaces(l); - var p = l.pop(); - this.skipSpaces(l); - if(p == null) { - throw haxe_Exception.thrown(""); - } - if(p.s) { - return this.makeConst(p.p); - } - switch(p.p) { - case "!": - var e = this.makeExpr(l); - return function() { - var v = e(); - if(v != null) { - return v == false; - } else { - return true; - } - }; - case "(": - this.skipSpaces(l); - var e1 = this.makeExpr(l); - this.skipSpaces(l); - var p1 = l.pop(); - if(p1 == null || p1.s) { - throw haxe_Exception.thrown(p1); - } - if(p1.p == ")") { - return e1; - } - this.skipSpaces(l); - var e2 = this.makeExpr(l); - this.skipSpaces(l); - var p2 = l.pop(); - this.skipSpaces(l); - if(p2 == null || p2.p != ")") { - throw haxe_Exception.thrown(p2); - } - switch(p1.p) { - case "!=": - return function() { - return e1() != e2(); - }; - case "&&": - return function() { - return e1() && e2(); - }; - case "*": - return function() { - return e1() * e2(); - }; - case "+": - return function() { - return e1() + e2(); - }; - case "-": - return function() { - return e1() - e2(); - }; - case "/": - return function() { - return e1() / e2(); - }; - case "<": - return function() { - return e1() < e2(); - }; - case "<=": - return function() { - return e1() <= e2(); - }; - case "==": - return function() { - return e1() == e2(); - }; - case ">": - return function() { - return e1() > e2(); - }; - case ">=": - return function() { - return e1() >= e2(); - }; - case "||": - return function() { - return e1() || e2(); - }; - default: - throw haxe_Exception.thrown("Unknown operation " + p1.p); - } - break; - case "-": - var e3 = this.makeExpr(l); - return function() { - return -e3(); - }; - } - throw haxe_Exception.thrown(p.p); - } - ,run: function(e) { - switch(e._hx_index) { - case 0: - var v = e.v; - var _this = this.buf; - var x = Std.string(this.resolve(v)); - _this.b += Std.string(x); - break; - case 1: - var e1 = e.expr; - var _this = this.buf; - var x = Std.string(e1()); - _this.b += Std.string(x); - break; - case 2: - var e1 = e.expr; - var eif = e.eif; - var eelse = e.eelse; - var v = e1(); - if(v == null || v == false) { - if(eelse != null) { - this.run(eelse); - } - } else { - this.run(eif); - } - break; - case 3: - var str = e.str; - this.buf.b += str == null ? "null" : "" + str; - break; - case 4: - var l = e.l; - var _g_head = l.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var e1 = val; - this.run(e1); - } - break; - case 5: - var e1 = e.expr; - var loop = e.loop; - var v = e1(); - try { - var x = $getIterator(v); - if(x.hasNext == null) { - throw haxe_Exception.thrown(null); - } - v = x; - } catch( _g ) { - try { - if(v.hasNext == null) { - throw haxe_Exception.thrown(null); - } - } catch( _g1 ) { - throw haxe_Exception.thrown("Cannot iter on " + Std.string(v)); - } - } - this.stack.push(this.context); - var v1 = v; - var ctx = v1; - while(ctx.hasNext()) { - var ctx1 = ctx.next(); - this.context = ctx1; - this.run(loop); - } - this.context = this.stack.pop(); - break; - case 6: - var m = e.name; - var params = e.params; - var v = Reflect.field(this.macros,m); - var pl = []; - var old = this.buf; - pl.push($bind(this,this.resolve)); - var _g_head = params.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var p = val; - if(p._hx_index == 0) { - var v1 = p.v; - pl.push(this.resolve(v1)); - } else { - this.buf = new StringBuf(); - this.run(p); - pl.push(this.buf.b); - } - } - this.buf = old; - try { - var _this = this.buf; - var x = Std.string(v.apply(this.macros,pl)); - _this.b += Std.string(x); - } catch( _g ) { - var e = haxe_Exception.caught(_g).unwrap(); - var plstr; - try { - plstr = pl.join(","); - } catch( _g1 ) { - plstr = "???"; - } - var msg = "Macro call " + m + "(" + plstr + ") failed (" + Std.string(e) + ")"; - throw haxe_Exception.thrown(msg); - } - break; - } - } -}; -var haxe_ValueException = function(value,previous,native) { - haxe_Exception.call(this,String(value),previous,native); - this.value = value; -}; -haxe_ValueException.__name__ = true; -haxe_ValueException.__super__ = haxe_Exception; -haxe_ValueException.prototype = $extend(haxe_Exception.prototype,{ - unwrap: function() { - return this.value; - } -}); -var haxe_ds_List = function() { - this.length = 0; -}; -haxe_ds_List.__name__ = true; -haxe_ds_List.prototype = { - add: function(item) { - var x = new haxe_ds__$List_ListNode(item,null); - if(this.h == null) { - this.h = x; - } else { - this.q.next = x; - } - this.q = x; - this.length++; - } - ,push: function(item) { - var x = new haxe_ds__$List_ListNode(item,this.h); - this.h = x; - if(this.q == null) { - this.q = x; - } - this.length++; - } - ,first: function() { - if(this.h == null) { - return null; - } else { - return this.h.item; - } - } - ,pop: function() { - if(this.h == null) { - return null; - } - var x = this.h.item; - this.h = this.h.next; - if(this.h == null) { - this.q = null; - } - this.length--; - return x; - } - ,isEmpty: function() { - return this.h == null; - } - ,toString: function() { - var s_b = ""; - var first = true; - var l = this.h; - s_b += "{"; - while(l != null) { - if(first) { - first = false; - } else { - s_b += ", "; - } - s_b += Std.string(Std.string(l.item)); - l = l.next; - } - s_b += "}"; - return s_b; - } -}; -var haxe_ds__$List_ListNode = function(item,next) { - this.item = item; - this.next = next; -}; -haxe_ds__$List_ListNode.__name__ = true; -var js_Boot = function() { }; -js_Boot.__name__ = true; -js_Boot.__string_rec = function(o,s) { - if(o == null) { - return "null"; - } - if(s.length >= 5) { - return "<...>"; - } - var t = typeof(o); - if(t == "function" && (o.__name__ || o.__ename__)) { - t = "object"; - } - switch(t) { - case "function": - return ""; - case "object": - if(o.__enum__) { - var e = $hxEnums[o.__enum__]; - var con = e.__constructs__[o._hx_index]; - var n = con._hx_name; - if(con.__params__) { - s = s + "\t"; - return n + "(" + ((function($this) { - var $r; - var _g = []; - { - var _g1 = 0; - var _g2 = con.__params__; - while(true) { - if(!(_g1 < _g2.length)) { - break; - } - var p = _g2[_g1]; - _g1 = _g1 + 1; - _g.push(js_Boot.__string_rec(o[p],s)); - } - } - $r = _g; - return $r; - }(this))).join(",") + ")"; - } else { - return n; - } - } - if(((o) instanceof Array)) { - var str = "["; - s += "\t"; - var _g = 0; - var _g1 = o.length; - while(_g < _g1) { - var i = _g++; - str += (i > 0 ? "," : "") + js_Boot.__string_rec(o[i],s); - } - str += "]"; - return str; - } - var tostr; - try { - tostr = o.toString; - } catch( _g ) { - return "???"; - } - if(tostr != null && tostr != Object.toString && typeof(tostr) == "function") { - var s2 = o.toString(); - if(s2 != "[object Object]") { - return s2; - } - } - var str = "{\n"; - s += "\t"; - var hasp = o.hasOwnProperty != null; - var k = null; - for( k in o ) { - if(hasp && !o.hasOwnProperty(k)) { - continue; - } - if(k == "prototype" || k == "__class__" || k == "__super__" || k == "__interfaces__" || k == "__properties__") { - continue; - } - if(str.length != 2) { - str += ", \n"; - } - str += s + k + " : " + js_Boot.__string_rec(o[k],s); - } - s = s.substring(1); - str += "\n" + s + "}"; - return str; - case "string": - return o; - default: - return String(o); - } -}; -var xrfragment_Filter = $hx_exports["xrfragment"]["Filter"] = function(str) { - this.q = { }; - this.str = ""; - if(str != null) { - this.parse(str); - } -}; -xrfragment_Filter.__name__ = true; -xrfragment_Filter.prototype = { - toObject: function() { - return Reflect.copy(this.q); - } - ,get: function() { - return Reflect.copy(this.q); - } - ,parse: function(str) { - var token = str.split(" "); - var q = { }; - var process = function(str,prefix) { - if(prefix == null) { - prefix = ""; - } - str = StringTools.trim(str); - var k = str.split("=")[0]; - var v = str.split("=")[1]; - var filter = { }; - if(q[prefix + k]) { - filter = q[prefix + k]; - } - if(xrfragment_XRF.isProp.match(str)) { - var oper = ""; - if(str.indexOf(">") != -1) { - oper = ">"; - } - if(str.indexOf("<") != -1) { - oper = "<"; - } - if(xrfragment_XRF.isExclude.match(k)) { - k = HxOverrides.substr(k,1,null); - } - v = HxOverrides.substr(v,oper.length,null); - if(oper.length == 0) { - oper = "="; - } - var rule = { }; - if(xrfragment_XRF.isNumber.match(v)) { - rule[oper] = parseFloat(v); - } else { - rule[oper] = v; - } - q["expr"] = rule; - } - var value = xrfragment_XRF.isDeep.match(str) ? k.split("*").length - 1 : 0; - q["deep"] = value; - var value = xrfragment_XRF.isExclude.match(str) ? false : true; - q["show"] = value; - var value = k.replace(xrfragment_XRF.operators.r,""); - q["key"] = value; - q["value"] = v; - }; - var _g = 0; - var _g1 = token.length; - while(_g < _g1) { - var i = _g++; - process(token[i]); - } - return this.q = q; - } - ,test: function(obj) { - var qualify = false; - var _g = 0; - var _g1 = Reflect.fields(obj); - while(_g < _g1.length) { - var k = _g1[_g]; - ++_g; - var v = Std.string(Reflect.field(obj,k)); - if(this.testProperty(k,v)) { - qualify = true; - } - } - var _g = 0; - var _g1 = Reflect.fields(obj); - while(_g < _g1.length) { - var k = _g1[_g]; - ++_g; - var v = Std.string(Reflect.field(obj,k)); - if(this.testProperty(k,v,true)) { - qualify = false; - } - } - return qualify; - } - ,testProperty: function(property,value,exclude) { - var conds = 0; - var fails = 0; - var qualify = 0; - var testprop = function(expr) { - conds += 1; - fails += expr ? 0 : 1; - return expr; - }; - if(this.q[value] != null) { - var v = this.q[value]; - if(v[property] != null) { - return v[property]; - } - } - if(Reflect.field(this.q,"expr")) { - var f = Reflect.field(this.q,"expr"); - if(!Reflect.field(this.q,"show")) { - if(Reflect.field(f,"!=") != null && testprop((value == null ? "null" : "" + value) == Std.string(Reflect.field(f,"!="))) && exclude) { - ++qualify; - } - } else { - if(Reflect.field(f,"*") != null && testprop(parseFloat(value) != null)) { - ++qualify; - } - if(Reflect.field(f,">") != null && testprop(parseFloat(value) >= parseFloat(Reflect.field(f,">")))) { - ++qualify; - } - if(Reflect.field(f,"<") != null && testprop(parseFloat(value) <= parseFloat(Reflect.field(f,"<")))) { - ++qualify; - } - if(Reflect.field(f,"=") != null && (testprop(value == Reflect.field(f,"=")) || testprop(parseFloat(value) == parseFloat(Reflect.field(f,"="))))) { - ++qualify; - } - } - } - return qualify > 0; - } -}; -var xrfragment_Parser = $hx_exports["xrfragment"]["Parser"] = function() { }; -xrfragment_Parser.__name__ = true; -xrfragment_Parser.parse = function(key,value,store,index) { - var Frag_h = Object.create(null); - Frag_h["#"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_PREDEFINED_VIEW | xrfragment_XRF.PV_EXECUTE; - Frag_h["src"] = xrfragment_XRF.T_URL; - Frag_h["href"] = xrfragment_XRF.T_URL | xrfragment_XRF.T_PREDEFINED_VIEW; - Frag_h["tag"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["pos"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_VECTOR3 | xrfragment_XRF.T_STRING | xrfragment_XRF.METADATA | xrfragment_XRF.NAVIGATOR; - Frag_h["rot"] = xrfragment_XRF.QUERY_OPERATOR | xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_VECTOR3 | xrfragment_XRF.METADATA | xrfragment_XRF.NAVIGATOR; - Frag_h["t"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_FLOAT | xrfragment_XRF.T_VECTOR2 | xrfragment_XRF.NAVIGATOR | xrfragment_XRF.METADATA; - Frag_h["s"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_MEDIAFRAG; - Frag_h["loop"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_PREDEFINED_VIEW; - Frag_h["uv"] = xrfragment_XRF.T_VECTOR2 | xrfragment_XRF.T_MEDIAFRAG; - Frag_h["namespace"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["SPDX"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["unit"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["description"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - var keyStripped = key.replace(xrfragment_XRF.operators.r,""); - var isPVDynamic = key.length > 0 && !Object.prototype.hasOwnProperty.call(Frag_h,key); - if(isPVDynamic) { - var v = new xrfragment_XRF(key,xrfragment_XRF.PV_EXECUTE | xrfragment_XRF.NAVIGATOR,index); - v.validate(value); - v.flags = xrfragment_XRF.set(xrfragment_XRF.T_DYNAMICKEY,v.flags); - if(!Object.prototype.hasOwnProperty.call(Frag_h,key)) { - v.flags = xrfragment_XRF.set(xrfragment_XRF.CUSTOMFRAG,v.flags); - } - if(value.length == 0) { - v.flags = xrfragment_XRF.set(xrfragment_XRF.T_DYNAMICKEYVALUE,v.flags); - } - store[keyStripped] = v; - return true; - } - var v = new xrfragment_XRF(key,Frag_h[key],index); - if(Object.prototype.hasOwnProperty.call(Frag_h,key)) { - if(!v.validate(value)) { - console.log("src/xrfragment/Parser.hx:67:","⚠ fragment '" + key + "' has incompatible value (" + value + ")"); - return false; - } - store[keyStripped] = v; - if(xrfragment_Parser.debug) { - console.log("src/xrfragment/Parser.hx:71:","✔ " + key + ": " + v.string); - } - } else { - if(typeof(value) == "string") { - v.guessType(v,value); - } - v.flags = xrfragment_XRF.set(xrfragment_XRF.CUSTOMFRAG,v.flags); - store[keyStripped] = v; - } - return true; -}; -xrfragment_Parser.getMetaData = function() { - var meta = { title : ["title","og:title","dc.title"], description : ["aria-description","og:description","dc.description"], author : ["author","dc.creator"], publisher : ["publisher","dc.publisher"], website : ["og:site_name","og:url","dc.publisher"], license : ["SPDX","dc.rights"]}; - return meta; -}; -var xrfragment_URI = $hx_exports["xrfragment"]["URI"] = function() { - this.XRF = { }; - this.hash = { }; - this.fragment = ""; -}; -xrfragment_URI.__name__ = true; -xrfragment_URI.parseFragment = function(url,filter) { - var store = { }; - if(url == null || url.indexOf("#") == -1) { - return store; - } - var fragment = url.split("#"); - var splitArray = fragment[1].split("&"); - var _g = 0; - var _g1 = splitArray.length; - while(_g < _g1) { - var i = _g++; - var splitByEqual = splitArray[i].split("="); - var regexPlus = new EReg("\\+","g"); - var key = splitByEqual[0]; - var value = ""; - if(splitByEqual.length > 1) { - if(xrfragment_XRF.isVector.match(splitByEqual[1])) { - value = splitByEqual[1]; - } else { - var s = regexPlus.split(splitByEqual[1]).join(" "); - value = decodeURIComponent(s.split("+").join(" ")); - } - } - var ok = xrfragment_Parser.parse(key,value,store,i); - } - if(filter != null && filter != 0) { - var _g = 0; - var _g1 = Reflect.fields(store); - while(_g < _g1.length) { - var key = _g1[_g]; - ++_g; - var xrf = store[key]; - if(!xrf.is(filter)) { - Reflect.deleteField(store,key); - } - } - } - return store; -}; -xrfragment_URI.template = function(uri,vars) { - var parts = uri.split("#"); - if(parts.length == 1) { - return uri; - } - var frag = parts[1]; - frag = StringTools.replace(frag,"{","::"); - frag = StringTools.replace(frag,"}","::"); - frag = new haxe_Template(frag).execute(vars); - frag = StringTools.replace(frag,"null",""); - parts[1] = frag; - return parts.join("#"); -}; -xrfragment_URI.parse = function(stringUrl,flags) { - var r = new EReg("^(?:(?![^:@]+:[^:@/]*@)([^:/?#.]+):)?(?://)?((?:(([^:@]*)(?::([^:@]*))?)?@)?([^:/?#]*)(?::(\\d*))?)(((/(?:[^?#](?![^?#/]*\\.[^?#/.]+(?:[?#]|$)))*/?)?([^?#/]*))(?:\\?([^#]*))?(?:#(.*))?)",""); - if(stringUrl.indexOf("://") == -1 && stringUrl.charAt(0) != "/") { - stringUrl = "/" + stringUrl; - } - r.match(stringUrl); - var url = new xrfragment_URI(); - var _g = 0; - var _g1 = xrfragment_URI._parts.length; - while(_g < _g1) { - var i = _g++; - url[xrfragment_URI._parts[i]] = r.matched(i); - } - if(xrfragment_URI.isRelative(url) == true) { - if(url.directory == null && url.host != null) { - url.file = url.host; - } - url.host = ""; - } - url.hash = { }; - if(url.fragment != null && url.fragment.length > 0) { - url.XRF = xrfragment_URI.parseFragment("#" + url.fragment,flags); - var key; - var _g = 0; - var _g1 = Reflect.fields(url.XRF); - while(_g < _g1.length) { - var key = _g1[_g]; - ++_g; - var v = url.XRF[key]; - url.hash[key] = v["string"]; - } - } - xrfragment_URI.computeVars(url); - return url; -}; -xrfragment_URI.computeVars = function(url) { - var r_r = new RegExp("//","g".split("u").join("")); - if(url.directory != null && url.directory.indexOf("//") != -1) { - url.directory = url.directory.replace(r_r,"/"); - } - if(url.path != null && url.path.indexOf("//") != -1) { - url.path = url.path.replace(r_r,"/"); - } - if(url.file != null && url.file.indexOf("//") != -1) { - url.file = url.file.replace(r_r,"/"); - } - url.URN = url.scheme + "://" + url.host; - if(url.port != null) { - url.URN += ":" + url.port; - } - url.URN += url.directory; - if(url.file != null) { - var parts = url.file.split("."); - if(parts.length > 1) { - url.fileExt = parts.pop(); - } - } -}; -xrfragment_URI.toString = function(url) { - var result = ""; - if(url.scheme != null) { - result += url.scheme + "://"; - } - if(url.user != null) { - result += url.user + ":"; - } - if(url.password != null) { - result += url.password + "@"; - } - if(url.host != null) { - result += url.host; - } - if(url.port != null) { - result += ":" + url.port; - } - if(url.directory != null) { - result += url.directory; - } - if(url.file != null) { - result += url.file; - } - if(url.query != null) { - result += "?" + url.query; - } - if(url.fragment != null) { - result += "#" + url.fragment; - } - return result; -}; -xrfragment_URI.appendURI = function(url,appendedURI) { - if(xrfragment_URI.isRelative(url) == true) { - return xrfragment_URI.appendToRelativeURI(url,appendedURI); - } else { - return xrfragment_URI.appendToAbsoluteURI(url,appendedURI); - } -}; -xrfragment_URI.isRelative = function(url) { - return url.scheme == null; -}; -xrfragment_URI.appendToRelativeURI = function(url,appendedURI) { - if(url.directory == null || url.host == null) { - return xrfragment_URI.cloneURI(appendedURI); - } - var resultURI = new xrfragment_URI(); - resultURI.host = url.host; - resultURI.directory = url.directory; - if(appendedURI.host != null) { - resultURI.directory += appendedURI.host; - } - if(appendedURI.directory != null) { - var directory = appendedURI.directory; - if(appendedURI.host == null) { - resultURI.directory += HxOverrides.substr(directory,1,null); - } else { - resultURI.directory += directory; - } - } - if(appendedURI.file != null) { - resultURI.file = appendedURI.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(appendedURI.query != null) { - resultURI.query = appendedURI.query; - } - if(appendedURI.fragment != null) { - resultURI.fragment = appendedURI.fragment; - } - return resultURI; -}; -xrfragment_URI.appendToAbsoluteURI = function(url,appendedURI) { - var resultURI = new xrfragment_URI(); - if(url.scheme != null) { - resultURI.scheme = url.scheme; - } - if(url.host != null) { - resultURI.host = url.host; - } - var directory = ""; - if(url.directory != null) { - directory = url.directory; - } - if(appendedURI.host != null) { - appendedURI.directory += appendedURI.host; - } - if(appendedURI.directory != null) { - directory += appendedURI.directory; - } - resultURI.directory = directory; - if(appendedURI.file != null) { - resultURI.file = appendedURI.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(appendedURI.query != null) { - resultURI.query = appendedURI.query; - } - if(appendedURI.fragment != null) { - resultURI.fragment = appendedURI.fragment; - } - return resultURI; -}; -xrfragment_URI.toAbsolute = function(url,newUrl) { - var newURI = xrfragment_URI.parse(newUrl,0); - var resultURI = new xrfragment_URI(); - resultURI.port = url.port; - resultURI.source = newUrl; - if(newURI.scheme != null) { - resultURI.scheme = newURI.scheme; - } else { - resultURI.scheme = url.scheme; - } - if(newURI.host != null && newURI.host.length > 0) { - resultURI.host = newURI.host; - resultURI.port = null; - resultURI.fragment = null; - resultURI.hash = { }; - resultURI.XRF = { }; - if(newURI.port != null) { - resultURI.port = newURI.port; - } - } else { - resultURI.host = url.host; - } - var directory = ""; - if(url.directory != null) { - directory = url.directory; - } - if(newURI.directory != null) { - if(newUrl.charAt(0) != "/" && newUrl.indexOf("://") == -1) { - var stripRelative_r = new RegExp("\\./.*","".split("u").join("")); - directory = directory.replace(stripRelative_r,""); - directory += newURI.directory; - } else { - directory = newURI.directory; - } - } - resultURI.directory = directory; - if(newURI.file != null) { - resultURI.file = newURI.file; - } else { - resultURI.file = url.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(newURI.query != null) { - resultURI.query = newURI.query; - } - if(newURI.fragment != null) { - resultURI.fragment = newURI.fragment; - } - resultURI.hash = newURI.hash; - resultURI.XRF = newURI.XRF; - xrfragment_URI.computeVars(resultURI); - return resultURI; -}; -xrfragment_URI.cloneURI = function(url) { - var clonedURI = new xrfragment_URI(); - clonedURI.url = url.url; - clonedURI.source = url.source; - clonedURI.scheme = url.scheme; - clonedURI.authority = url.authority; - clonedURI.userInfo = url.userInfo; - clonedURI.password = url.password; - clonedURI.host = url.host; - clonedURI.port = url.port; - clonedURI.relative = url.relative; - clonedURI.path = url.path; - clonedURI.directory = url.directory; - clonedURI.file = url.file; - clonedURI.query = url.query; - clonedURI.fragment = url.fragment; - return clonedURI; -}; -var xrfragment_XRF = $hx_exports["xrfragment"]["XRF"] = function(_fragment,_flags,_index) { - this.floats = []; - this.shift = []; - this.fragment = _fragment; - this.flags = _flags; - this.index = _index; -}; -xrfragment_XRF.__name__ = true; -xrfragment_XRF.set = function(flag,flags) { - return flags | flag; -}; -xrfragment_XRF.unset = function(flag,flags) { - return flags & ~flag; -}; -xrfragment_XRF.prototype = { - is: function(flag) { - var v = this.flags; - if(!(typeof(v) == "number" && ((v | 0) === v))) { - this.flags = 0; - } - return (this.flags & flag) != 0; - } - ,validate: function(value) { - this.guessType(this,value); - var ok = true; - if(value.length == 0 && !this.is(xrfragment_XRF.T_PREDEFINED_VIEW)) { - ok = false; - } - if(!this.is(xrfragment_XRF.T_FLOAT) && this.is(xrfragment_XRF.T_VECTOR2) && !(typeof(this.x) == "number" && typeof(this.y) == "number")) { - ok = false; - } - if(!(this.is(xrfragment_XRF.T_VECTOR2) || this.is(xrfragment_XRF.T_STRING)) && this.is(xrfragment_XRF.T_VECTOR3) && !(typeof(this.x) == "number" && typeof(this.y) == "number" && typeof(this.z) == "number")) { - ok = false; - } - return ok; - } - ,guessType: function(v,str) { - v.string = str; - if(xrfragment_XRF.isReset.match(v.fragment)) { - v.reset = true; - } - if(v.fragment == "loop") { - v.loop = true; - } - if(typeof(str) != "string") { - return; - } - if(str.length > 0) { - if(xrfragment_XRF.isXRFScheme.match(str)) { - v.xrfScheme = true; - str = str.replace(xrfragment_XRF.isXRFScheme.r,""); - v.string = str; - } - if(str.split(",").length > 1) { - var xyzn = str.split(","); - if(xyzn.length > 0) { - v.x = parseFloat(xyzn[0]); - } - if(xyzn.length > 1) { - v.y = parseFloat(xyzn[1]); - } - if(xyzn.length > 2) { - v.z = parseFloat(xyzn[2]); - } - var _g = 0; - var _g1 = xyzn.length; - while(_g < _g1) { - var i = _g++; - v.shift.push(xrfragment_XRF.isShift.match(xyzn[i])); - v.floats.push(parseFloat(xyzn[i].replace(xrfragment_XRF.isShift.r,""))); - } - } - if(xrfragment_XRF.isColor.match(str)) { - v.color = str; - } - if(xrfragment_XRF.isFloat.match(str)) { - v.x = parseFloat(str); - v.float = v.x; - } - if(xrfragment_XRF.isInt.match(str)) { - v.int = Std.parseInt(str); - v.x = v.int; - v.floats.push(v.x); - } - v.filter = new xrfragment_Filter(v.fragment + "=" + v.string); - } else { - v.filter = new xrfragment_Filter(v.fragment); - } - } -}; -function $getIterator(o) { if( o instanceof Array ) return new haxe_iterators_ArrayIterator(o); else return o.iterator(); } -function $bind(o,m) { if( m == null ) return null; if( m.__id__ == null ) m.__id__ = $global.$haxeUID++; var f; if( o.hx__closures__ == null ) o.hx__closures__ = {}; else f = o.hx__closures__[m.__id__]; if( f == null ) { f = m.bind(o); o.hx__closures__[m.__id__] = f; } return f; } -$global.$haxeUID |= 0; -if(typeof(performance) != "undefined" ? typeof(performance.now) == "function" : false) { - HxOverrides.now = performance.now.bind(performance); -} -if( String.fromCodePoint == null ) String.fromCodePoint = function(c) { return c < 0x10000 ? String.fromCharCode(c) : String.fromCharCode((c>>10)+0xD7C0)+String.fromCharCode((c&0x3FF)+0xDC00); } -String.__name__ = true; -Array.__name__ = true; -js_Boot.__toStr = ({ }).toString; -haxe_Template.splitter = new EReg("(::[A-Za-z0-9_ ()&|!+=/><*.\"-]+::|\\$\\$([A-Za-z0-9_-]+)\\()",""); -haxe_Template.expr_splitter = new EReg("(\\(|\\)|[ \r\n\t]*\"[^\"]*\"[ \r\n\t]*|[!+=/><*.&|-]+)",""); -haxe_Template.expr_trim = new EReg("^[ ]*([^ ]+)[ ]*$",""); -haxe_Template.expr_int = new EReg("^[0-9]+$",""); -haxe_Template.expr_float = new EReg("^([+-]?)(?=\\d|,\\d)\\d*(,\\d*)?([Ee]([+-]?\\d+))?$",""); -haxe_Template.globals = { }; -haxe_Template.hxKeepArrayIterator = new haxe_iterators_ArrayIterator([]); -xrfragment_Parser.error = ""; -xrfragment_Parser.debug = false; -xrfragment_URI.__meta__ = { statics : { template : { keep : null}}}; -xrfragment_URI._parts = ["source","scheme","authority","userInfo","user","password","host","port","relative","path","directory","file","query","fragment"]; -xrfragment_XRF.IMMUTABLE = 1; -xrfragment_XRF.PROP_BIND = 2; -xrfragment_XRF.QUERY_OPERATOR = 4; -xrfragment_XRF.PROMPT = 8; -xrfragment_XRF.CUSTOMFRAG = 16; -xrfragment_XRF.NAVIGATOR = 32; -xrfragment_XRF.METADATA = 64; -xrfragment_XRF.PV_OVERRIDE = 128; -xrfragment_XRF.PV_EXECUTE = 256; -xrfragment_XRF.T_COLOR = 8192; -xrfragment_XRF.T_INT = 16384; -xrfragment_XRF.T_FLOAT = 32768; -xrfragment_XRF.T_VECTOR2 = 65536; -xrfragment_XRF.T_VECTOR3 = 131072; -xrfragment_XRF.T_URL = 262144; -xrfragment_XRF.T_PREDEFINED_VIEW = 524288; -xrfragment_XRF.T_STRING = 1048576; -xrfragment_XRF.T_MEDIAFRAG = 2097152; -xrfragment_XRF.T_DYNAMICKEY = 4194304; -xrfragment_XRF.T_DYNAMICKEYVALUE = 8388608; -xrfragment_XRF.isColor = new EReg("^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$",""); -xrfragment_XRF.isInt = new EReg("^[-0-9]+$",""); -xrfragment_XRF.isFloat = new EReg("^[-0-9]+\\.[0-9]+$",""); -xrfragment_XRF.isVector = new EReg("([,]+|\\w)",""); -xrfragment_XRF.isUrl = new EReg("(://)?\\..*",""); -xrfragment_XRF.isUrlOrPretypedView = new EReg("(^#|://)?\\..*",""); -xrfragment_XRF.isString = new EReg(".*",""); -xrfragment_XRF.operators = new EReg("(^[-]|^[!]|[\\*]$)","g"); -xrfragment_XRF.isProp = new EReg("^.*=[><=]?",""); -xrfragment_XRF.isExclude = new EReg("^-",""); -xrfragment_XRF.isDeep = new EReg("\\*",""); -xrfragment_XRF.isNumber = new EReg("^[0-9\\.]+$",""); -xrfragment_XRF.isMediaFrag = new EReg("^([0-9\\.,\\*+-]+)$",""); -xrfragment_XRF.isReset = new EReg("^!",""); -xrfragment_XRF.isShift = new EReg("^(\\+|--)",""); -xrfragment_XRF.isXRFScheme = new EReg("^xrf://",""); -})(typeof window != "undefined" ? window : typeof global != "undefined" ? global : typeof self != "undefined" ? self : this); -var xrfragment = $hx_exports["xrfragment"]; -export default xrfragment; -// Generated by Haxe 4.3.3 -var $hx_exports = typeof exports != "undefined" ? exports : typeof window != "undefined" ? window : typeof self != "undefined" ? self : this; -(function ($global) { "use strict"; -$hx_exports["xrfragment"] = $hx_exports["xrfragment"] || {}; -var $estr = function() { return js_Boot.__string_rec(this,''); },$hxEnums = $hxEnums || {},$_; -function $extend(from, fields) { - var proto = Object.create(from); - for (var name in fields) proto[name] = fields[name]; - if( fields.toString !== Object.prototype.toString ) proto.toString = fields.toString; - return proto; -} -var EReg = function(r,opt) { - this.r = new RegExp(r,opt.split("u").join("")); -}; -EReg.__name__ = true; -EReg.prototype = { - match: function(s) { - if(this.r.global) { - this.r.lastIndex = 0; - } - this.r.m = this.r.exec(s); - this.r.s = s; - return this.r.m != null; - } - ,matched: function(n) { - if(this.r.m != null && n >= 0 && n < this.r.m.length) { - return this.r.m[n]; - } else { - throw haxe_Exception.thrown("EReg::matched"); - } - } - ,matchedRight: function() { - if(this.r.m == null) { - throw haxe_Exception.thrown("No string matched"); - } - var sz = this.r.m.index + this.r.m[0].length; - return HxOverrides.substr(this.r.s,sz,this.r.s.length - sz); - } - ,matchedPos: function() { - if(this.r.m == null) { - throw haxe_Exception.thrown("No string matched"); - } - return { pos : this.r.m.index, len : this.r.m[0].length}; - } - ,split: function(s) { - var d = "#__delim__#"; - return s.replace(this.r,d).split(d); - } -}; -var HxOverrides = function() { }; -HxOverrides.__name__ = true; -HxOverrides.cca = function(s,index) { - var x = s.charCodeAt(index); - if(x != x) { - return undefined; - } - return x; -}; -HxOverrides.substr = function(s,pos,len) { - if(len == null) { - len = s.length; - } else if(len < 0) { - if(pos == 0) { - len = s.length + len; - } else { - return ""; - } - } - return s.substr(pos,len); -}; -HxOverrides.now = function() { - return Date.now(); -}; -Math.__name__ = true; -var Reflect = function() { }; -Reflect.__name__ = true; -Reflect.field = function(o,field) { - try { - return o[field]; - } catch( _g ) { - return null; - } -}; -Reflect.getProperty = function(o,field) { - var tmp; - if(o == null) { - return null; - } else { - var tmp1; - if(o.__properties__) { - tmp = o.__properties__["get_" + field]; - tmp1 = tmp; - } else { - tmp1 = false; - } - if(tmp1) { - return o[tmp](); - } else { - return o[field]; - } - } -}; -Reflect.fields = function(o) { - var a = []; - if(o != null) { - var hasOwnProperty = Object.prototype.hasOwnProperty; - for( var f in o ) { - if(f != "__id__" && f != "hx__closures__" && hasOwnProperty.call(o,f)) { - a.push(f); - } - } - } - return a; -}; -Reflect.isObject = function(v) { - if(v == null) { - return false; - } - var t = typeof(v); - if(!(t == "string" || t == "object" && v.__enum__ == null)) { - if(t == "function") { - return (v.__name__ || v.__ename__) != null; - } else { - return false; - } - } else { - return true; - } -}; -Reflect.deleteField = function(o,field) { - if(!Object.prototype.hasOwnProperty.call(o,field)) { - return false; - } - delete(o[field]); - return true; -}; -Reflect.copy = function(o) { - if(o == null) { - return null; - } - var o2 = { }; - var _g = 0; - var _g1 = Reflect.fields(o); - while(_g < _g1.length) { - var f = _g1[_g]; - ++_g; - o2[f] = Reflect.field(o,f); - } - return o2; -}; -var Std = function() { }; -Std.__name__ = true; -Std.string = function(s) { - return js_Boot.__string_rec(s,""); -}; -Std.parseInt = function(x) { - var v = parseInt(x); - if(isNaN(v)) { - return null; - } - return v; -}; -var StringBuf = function() { - this.b = ""; -}; -StringBuf.__name__ = true; -var StringTools = function() { }; -StringTools.__name__ = true; -StringTools.isSpace = function(s,pos) { - var c = HxOverrides.cca(s,pos); - if(!(c > 8 && c < 14)) { - return c == 32; - } else { - return true; - } -}; -StringTools.ltrim = function(s) { - var l = s.length; - var r = 0; - while(r < l && StringTools.isSpace(s,r)) ++r; - if(r > 0) { - return HxOverrides.substr(s,r,l - r); - } else { - return s; - } -}; -StringTools.rtrim = function(s) { - var l = s.length; - var r = 0; - while(r < l && StringTools.isSpace(s,l - r - 1)) ++r; - if(r > 0) { - return HxOverrides.substr(s,0,l - r); - } else { - return s; - } -}; -StringTools.trim = function(s) { - return StringTools.ltrim(StringTools.rtrim(s)); -}; -StringTools.replace = function(s,sub,by) { - return s.split(sub).join(by); -}; -var haxe_Exception = function(message,previous,native) { - Error.call(this,message); - this.message = message; - this.__previousException = previous; - this.__nativeException = native != null ? native : this; -}; -haxe_Exception.__name__ = true; -haxe_Exception.caught = function(value) { - if(((value) instanceof haxe_Exception)) { - return value; - } else if(((value) instanceof Error)) { - return new haxe_Exception(value.message,null,value); - } else { - return new haxe_ValueException(value,null,value); - } -}; -haxe_Exception.thrown = function(value) { - if(((value) instanceof haxe_Exception)) { - return value.get_native(); - } else if(((value) instanceof Error)) { - return value; - } else { - var e = new haxe_ValueException(value); - return e; - } -}; -haxe_Exception.__super__ = Error; -haxe_Exception.prototype = $extend(Error.prototype,{ - unwrap: function() { - return this.__nativeException; - } - ,get_native: function() { - return this.__nativeException; - } - ,__properties__: {get_native:"get_native"} -}); -var haxe__$Template_TemplateExpr = $hxEnums["haxe._Template.TemplateExpr"] = { __ename__:true,__constructs__:null - ,OpVar: ($_=function(v) { return {_hx_index:0,v:v,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpVar",$_.__params__ = ["v"],$_) - ,OpExpr: ($_=function(expr) { return {_hx_index:1,expr:expr,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpExpr",$_.__params__ = ["expr"],$_) - ,OpIf: ($_=function(expr,eif,eelse) { return {_hx_index:2,expr:expr,eif:eif,eelse:eelse,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpIf",$_.__params__ = ["expr","eif","eelse"],$_) - ,OpStr: ($_=function(str) { return {_hx_index:3,str:str,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpStr",$_.__params__ = ["str"],$_) - ,OpBlock: ($_=function(l) { return {_hx_index:4,l:l,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpBlock",$_.__params__ = ["l"],$_) - ,OpForeach: ($_=function(expr,loop) { return {_hx_index:5,expr:expr,loop:loop,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpForeach",$_.__params__ = ["expr","loop"],$_) - ,OpMacro: ($_=function(name,params) { return {_hx_index:6,name:name,params:params,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpMacro",$_.__params__ = ["name","params"],$_) -}; -haxe__$Template_TemplateExpr.__constructs__ = [haxe__$Template_TemplateExpr.OpVar,haxe__$Template_TemplateExpr.OpExpr,haxe__$Template_TemplateExpr.OpIf,haxe__$Template_TemplateExpr.OpStr,haxe__$Template_TemplateExpr.OpBlock,haxe__$Template_TemplateExpr.OpForeach,haxe__$Template_TemplateExpr.OpMacro]; -var haxe_iterators_ArrayIterator = function(array) { - this.current = 0; - this.array = array; -}; -haxe_iterators_ArrayIterator.__name__ = true; -haxe_iterators_ArrayIterator.prototype = { - hasNext: function() { - return this.current < this.array.length; - } - ,next: function() { - return this.array[this.current++]; - } -}; -var haxe_Template = function(str) { - var tokens = this.parseTokens(str); - this.expr = this.parseBlock(tokens); - if(!tokens.isEmpty()) { - throw haxe_Exception.thrown("Unexpected '" + Std.string(tokens.first().s) + "'"); - } -}; -haxe_Template.__name__ = true; -haxe_Template.prototype = { - execute: function(context,macros) { - this.macros = macros == null ? { } : macros; - this.context = context; - this.stack = new haxe_ds_List(); - this.buf = new StringBuf(); - this.run(this.expr); - return this.buf.b; - } - ,resolve: function(v) { - if(v == "__current__") { - return this.context; - } - if(Reflect.isObject(this.context)) { - var value = Reflect.getProperty(this.context,v); - if(value != null || Object.prototype.hasOwnProperty.call(this.context,v)) { - return value; - } - } - var _g_head = this.stack.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var ctx = val; - var value = Reflect.getProperty(ctx,v); - if(value != null || Object.prototype.hasOwnProperty.call(ctx,v)) { - return value; - } - } - return Reflect.field(haxe_Template.globals,v); - } - ,parseTokens: function(data) { - var tokens = new haxe_ds_List(); - while(haxe_Template.splitter.match(data)) { - var p = haxe_Template.splitter.matchedPos(); - if(p.pos > 0) { - tokens.add({ p : HxOverrides.substr(data,0,p.pos), s : true, l : null}); - } - if(HxOverrides.cca(data,p.pos) == 58) { - tokens.add({ p : HxOverrides.substr(data,p.pos + 2,p.len - 4), s : false, l : null}); - data = haxe_Template.splitter.matchedRight(); - continue; - } - var parp = p.pos + p.len; - var npar = 1; - var params = []; - var part = ""; - while(true) { - var c = HxOverrides.cca(data,parp); - ++parp; - if(c == 40) { - ++npar; - } else if(c == 41) { - --npar; - if(npar <= 0) { - break; - } - } else if(c == null) { - throw haxe_Exception.thrown("Unclosed macro parenthesis"); - } - if(c == 44 && npar == 1) { - params.push(part); - part = ""; - } else { - part += String.fromCodePoint(c); - } - } - params.push(part); - tokens.add({ p : haxe_Template.splitter.matched(2), s : false, l : params}); - data = HxOverrides.substr(data,parp,data.length - parp); - } - if(data.length > 0) { - tokens.add({ p : data, s : true, l : null}); - } - return tokens; - } - ,parseBlock: function(tokens) { - var l = new haxe_ds_List(); - while(true) { - var t = tokens.first(); - if(t == null) { - break; - } - if(!t.s && (t.p == "end" || t.p == "else" || HxOverrides.substr(t.p,0,7) == "elseif ")) { - break; - } - l.add(this.parse(tokens)); - } - if(l.length == 1) { - return l.first(); - } - return haxe__$Template_TemplateExpr.OpBlock(l); - } - ,parse: function(tokens) { - var t = tokens.pop(); - var p = t.p; - if(t.s) { - return haxe__$Template_TemplateExpr.OpStr(p); - } - if(t.l != null) { - var pe = new haxe_ds_List(); - var _g = 0; - var _g1 = t.l; - while(_g < _g1.length) { - var p1 = _g1[_g]; - ++_g; - pe.add(this.parseBlock(this.parseTokens(p1))); - } - return haxe__$Template_TemplateExpr.OpMacro(p,pe); - } - var kwdEnd = function(kwd) { - var pos = -1; - var length = kwd.length; - if(HxOverrides.substr(p,0,length) == kwd) { - pos = length; - var _g_offset = 0; - var _g_s = HxOverrides.substr(p,length,null); - while(_g_offset < _g_s.length) { - var c = _g_s.charCodeAt(_g_offset++); - if(c == 32) { - ++pos; - } else { - break; - } - } - } - return pos; - }; - var pos = kwdEnd("if"); - if(pos > 0) { - p = HxOverrides.substr(p,pos,p.length - pos); - var e = this.parseExpr(p); - var eif = this.parseBlock(tokens); - var t = tokens.first(); - var eelse; - if(t == null) { - throw haxe_Exception.thrown("Unclosed 'if'"); - } - if(t.p == "end") { - tokens.pop(); - eelse = null; - } else if(t.p == "else") { - tokens.pop(); - eelse = this.parseBlock(tokens); - t = tokens.pop(); - if(t == null || t.p != "end") { - throw haxe_Exception.thrown("Unclosed 'else'"); - } - } else { - t.p = HxOverrides.substr(t.p,4,t.p.length - 4); - eelse = this.parse(tokens); - } - return haxe__$Template_TemplateExpr.OpIf(e,eif,eelse); - } - var pos = kwdEnd("foreach"); - if(pos >= 0) { - p = HxOverrides.substr(p,pos,p.length - pos); - var e = this.parseExpr(p); - var efor = this.parseBlock(tokens); - var t = tokens.pop(); - if(t == null || t.p != "end") { - throw haxe_Exception.thrown("Unclosed 'foreach'"); - } - return haxe__$Template_TemplateExpr.OpForeach(e,efor); - } - if(haxe_Template.expr_splitter.match(p)) { - return haxe__$Template_TemplateExpr.OpExpr(this.parseExpr(p)); - } - return haxe__$Template_TemplateExpr.OpVar(p); - } - ,parseExpr: function(data) { - var l = new haxe_ds_List(); - var expr = data; - while(haxe_Template.expr_splitter.match(data)) { - var p = haxe_Template.expr_splitter.matchedPos(); - var k = p.pos + p.len; - if(p.pos != 0) { - l.add({ p : HxOverrides.substr(data,0,p.pos), s : true}); - } - var p1 = haxe_Template.expr_splitter.matched(0); - l.add({ p : p1, s : p1.indexOf("\"") >= 0}); - data = haxe_Template.expr_splitter.matchedRight(); - } - if(data.length != 0) { - var _g_offset = 0; - var _g_s = data; - while(_g_offset < _g_s.length) { - var _g_key = _g_offset; - var _g_value = _g_s.charCodeAt(_g_offset++); - var i = _g_key; - var c = _g_value; - if(c != 32) { - l.add({ p : HxOverrides.substr(data,i,null), s : true}); - break; - } - } - } - var e; - try { - e = this.makeExpr(l); - if(!l.isEmpty()) { - throw haxe_Exception.thrown(l.first().p); - } - } catch( _g ) { - var _g1 = haxe_Exception.caught(_g).unwrap(); - if(typeof(_g1) == "string") { - var s = _g1; - throw haxe_Exception.thrown("Unexpected '" + s + "' in " + expr); - } else { - throw _g; - } - } - return function() { - try { - return e(); - } catch( _g ) { - var exc = haxe_Exception.caught(_g).unwrap(); - throw haxe_Exception.thrown("Error : " + Std.string(exc) + " in " + expr); - } - }; - } - ,makeConst: function(v) { - haxe_Template.expr_trim.match(v); - v = haxe_Template.expr_trim.matched(1); - if(HxOverrides.cca(v,0) == 34) { - var str = HxOverrides.substr(v,1,v.length - 2); - return function() { - return str; - }; - } - if(haxe_Template.expr_int.match(v)) { - var i = Std.parseInt(v); - return function() { - return i; - }; - } - if(haxe_Template.expr_float.match(v)) { - var f = parseFloat(v); - return function() { - return f; - }; - } - var me = this; - return function() { - return me.resolve(v); - }; - } - ,makePath: function(e,l) { - var p = l.first(); - if(p == null || p.p != ".") { - return e; - } - l.pop(); - var field = l.pop(); - if(field == null || !field.s) { - throw haxe_Exception.thrown(field.p); - } - var f = field.p; - haxe_Template.expr_trim.match(f); - f = haxe_Template.expr_trim.matched(1); - return this.makePath(function() { - return Reflect.field(e(),f); - },l); - } - ,makeExpr: function(l) { - return this.makePath(this.makeExpr2(l),l); - } - ,skipSpaces: function(l) { - var p = l.first(); - while(p != null) { - var _g_offset = 0; - var _g_s = p.p; - while(_g_offset < _g_s.length) { - var c = _g_s.charCodeAt(_g_offset++); - if(c != 32) { - return; - } - } - l.pop(); - p = l.first(); - } - } - ,makeExpr2: function(l) { - this.skipSpaces(l); - var p = l.pop(); - this.skipSpaces(l); - if(p == null) { - throw haxe_Exception.thrown(""); - } - if(p.s) { - return this.makeConst(p.p); - } - switch(p.p) { - case "!": - var e = this.makeExpr(l); - return function() { - var v = e(); - if(v != null) { - return v == false; - } else { - return true; - } - }; - case "(": - this.skipSpaces(l); - var e1 = this.makeExpr(l); - this.skipSpaces(l); - var p1 = l.pop(); - if(p1 == null || p1.s) { - throw haxe_Exception.thrown(p1); - } - if(p1.p == ")") { - return e1; - } - this.skipSpaces(l); - var e2 = this.makeExpr(l); - this.skipSpaces(l); - var p2 = l.pop(); - this.skipSpaces(l); - if(p2 == null || p2.p != ")") { - throw haxe_Exception.thrown(p2); - } - switch(p1.p) { - case "!=": - return function() { - return e1() != e2(); - }; - case "&&": - return function() { - return e1() && e2(); - }; - case "*": - return function() { - return e1() * e2(); - }; - case "+": - return function() { - return e1() + e2(); - }; - case "-": - return function() { - return e1() - e2(); - }; - case "/": - return function() { - return e1() / e2(); - }; - case "<": - return function() { - return e1() < e2(); - }; - case "<=": - return function() { - return e1() <= e2(); - }; - case "==": - return function() { - return e1() == e2(); - }; - case ">": - return function() { - return e1() > e2(); - }; - case ">=": - return function() { - return e1() >= e2(); - }; - case "||": - return function() { - return e1() || e2(); - }; - default: - throw haxe_Exception.thrown("Unknown operation " + p1.p); - } - break; - case "-": - var e3 = this.makeExpr(l); - return function() { - return -e3(); - }; - } - throw haxe_Exception.thrown(p.p); - } - ,run: function(e) { - switch(e._hx_index) { - case 0: - var v = e.v; - var _this = this.buf; - var x = Std.string(this.resolve(v)); - _this.b += Std.string(x); - break; - case 1: - var e1 = e.expr; - var _this = this.buf; - var x = Std.string(e1()); - _this.b += Std.string(x); - break; - case 2: - var e1 = e.expr; - var eif = e.eif; - var eelse = e.eelse; - var v = e1(); - if(v == null || v == false) { - if(eelse != null) { - this.run(eelse); - } - } else { - this.run(eif); - } - break; - case 3: - var str = e.str; - this.buf.b += str == null ? "null" : "" + str; - break; - case 4: - var l = e.l; - var _g_head = l.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var e1 = val; - this.run(e1); - } - break; - case 5: - var e1 = e.expr; - var loop = e.loop; - var v = e1(); - try { - var x = $getIterator(v); - if(x.hasNext == null) { - throw haxe_Exception.thrown(null); - } - v = x; - } catch( _g ) { - try { - if(v.hasNext == null) { - throw haxe_Exception.thrown(null); - } - } catch( _g1 ) { - throw haxe_Exception.thrown("Cannot iter on " + Std.string(v)); - } - } - this.stack.push(this.context); - var v1 = v; - var ctx = v1; - while(ctx.hasNext()) { - var ctx1 = ctx.next(); - this.context = ctx1; - this.run(loop); - } - this.context = this.stack.pop(); - break; - case 6: - var m = e.name; - var params = e.params; - var v = Reflect.field(this.macros,m); - var pl = []; - var old = this.buf; - pl.push($bind(this,this.resolve)); - var _g_head = params.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var p = val; - if(p._hx_index == 0) { - var v1 = p.v; - pl.push(this.resolve(v1)); - } else { - this.buf = new StringBuf(); - this.run(p); - pl.push(this.buf.b); - } - } - this.buf = old; - try { - var _this = this.buf; - var x = Std.string(v.apply(this.macros,pl)); - _this.b += Std.string(x); - } catch( _g ) { - var e = haxe_Exception.caught(_g).unwrap(); - var plstr; - try { - plstr = pl.join(","); - } catch( _g1 ) { - plstr = "???"; - } - var msg = "Macro call " + m + "(" + plstr + ") failed (" + Std.string(e) + ")"; - throw haxe_Exception.thrown(msg); - } - break; - } - } -}; -var haxe_ValueException = function(value,previous,native) { - haxe_Exception.call(this,String(value),previous,native); - this.value = value; -}; -haxe_ValueException.__name__ = true; -haxe_ValueException.__super__ = haxe_Exception; -haxe_ValueException.prototype = $extend(haxe_Exception.prototype,{ - unwrap: function() { - return this.value; - } -}); -var haxe_ds_List = function() { - this.length = 0; -}; -haxe_ds_List.__name__ = true; -haxe_ds_List.prototype = { - add: function(item) { - var x = new haxe_ds__$List_ListNode(item,null); - if(this.h == null) { - this.h = x; - } else { - this.q.next = x; - } - this.q = x; - this.length++; - } - ,push: function(item) { - var x = new haxe_ds__$List_ListNode(item,this.h); - this.h = x; - if(this.q == null) { - this.q = x; - } - this.length++; - } - ,first: function() { - if(this.h == null) { - return null; - } else { - return this.h.item; - } - } - ,pop: function() { - if(this.h == null) { - return null; - } - var x = this.h.item; - this.h = this.h.next; - if(this.h == null) { - this.q = null; - } - this.length--; - return x; - } - ,isEmpty: function() { - return this.h == null; - } - ,toString: function() { - var s_b = ""; - var first = true; - var l = this.h; - s_b += "{"; - while(l != null) { - if(first) { - first = false; - } else { - s_b += ", "; - } - s_b += Std.string(Std.string(l.item)); - l = l.next; - } - s_b += "}"; - return s_b; - } -}; -var haxe_ds__$List_ListNode = function(item,next) { - this.item = item; - this.next = next; -}; -haxe_ds__$List_ListNode.__name__ = true; -var js_Boot = function() { }; -js_Boot.__name__ = true; -js_Boot.__string_rec = function(o,s) { - if(o == null) { - return "null"; - } - if(s.length >= 5) { - return "<...>"; - } - var t = typeof(o); - if(t == "function" && (o.__name__ || o.__ename__)) { - t = "object"; - } - switch(t) { - case "function": - return ""; - case "object": - if(o.__enum__) { - var e = $hxEnums[o.__enum__]; - var con = e.__constructs__[o._hx_index]; - var n = con._hx_name; - if(con.__params__) { - s = s + "\t"; - return n + "(" + ((function($this) { - var $r; - var _g = []; - { - var _g1 = 0; - var _g2 = con.__params__; - while(true) { - if(!(_g1 < _g2.length)) { - break; - } - var p = _g2[_g1]; - _g1 = _g1 + 1; - _g.push(js_Boot.__string_rec(o[p],s)); - } - } - $r = _g; - return $r; - }(this))).join(",") + ")"; - } else { - return n; - } - } - if(((o) instanceof Array)) { - var str = "["; - s += "\t"; - var _g = 0; - var _g1 = o.length; - while(_g < _g1) { - var i = _g++; - str += (i > 0 ? "," : "") + js_Boot.__string_rec(o[i],s); - } - str += "]"; - return str; - } - var tostr; - try { - tostr = o.toString; - } catch( _g ) { - return "???"; - } - if(tostr != null && tostr != Object.toString && typeof(tostr) == "function") { - var s2 = o.toString(); - if(s2 != "[object Object]") { - return s2; - } - } - var str = "{\n"; - s += "\t"; - var hasp = o.hasOwnProperty != null; - var k = null; - for( k in o ) { - if(hasp && !o.hasOwnProperty(k)) { - continue; - } - if(k == "prototype" || k == "__class__" || k == "__super__" || k == "__interfaces__" || k == "__properties__") { - continue; - } - if(str.length != 2) { - str += ", \n"; - } - str += s + k + " : " + js_Boot.__string_rec(o[k],s); - } - s = s.substring(1); - str += "\n" + s + "}"; - return str; - case "string": - return o; - default: - return String(o); - } -}; -var xrfragment_Filter = $hx_exports["xrfragment"]["Filter"] = function(str) { - this.q = { }; - this.str = ""; - if(str != null) { - this.parse(str); - } -}; -xrfragment_Filter.__name__ = true; -xrfragment_Filter.prototype = { - toObject: function() { - return Reflect.copy(this.q); - } - ,get: function() { - return Reflect.copy(this.q); - } - ,parse: function(str) { - var token = str.split(" "); - var q = { }; - var process = function(str,prefix) { - if(prefix == null) { - prefix = ""; - } - str = StringTools.trim(str); - var k = str.split("=")[0]; - var v = str.split("=")[1]; - var filter = { }; - if(q[prefix + k]) { - filter = q[prefix + k]; - } - if(xrfragment_XRF.isProp.match(str)) { - var oper = ""; - if(str.indexOf(">") != -1) { - oper = ">"; - } - if(str.indexOf("<") != -1) { - oper = "<"; - } - if(xrfragment_XRF.isExclude.match(k)) { - k = HxOverrides.substr(k,1,null); - } - v = HxOverrides.substr(v,oper.length,null); - if(oper.length == 0) { - oper = "="; - } - var rule = { }; - if(xrfragment_XRF.isNumber.match(v)) { - rule[oper] = parseFloat(v); - } else { - rule[oper] = v; - } - q["expr"] = rule; - } - var value = xrfragment_XRF.isDeep.match(str) ? k.split("*").length - 1 : 0; - q["deep"] = value; - var value = xrfragment_XRF.isExclude.match(str) ? false : true; - q["show"] = value; - var value = k.replace(xrfragment_XRF.operators.r,""); - q["key"] = value; - q["value"] = v; - }; - var _g = 0; - var _g1 = token.length; - while(_g < _g1) { - var i = _g++; - process(token[i]); - } - return this.q = q; - } - ,test: function(obj) { - var qualify = false; - var _g = 0; - var _g1 = Reflect.fields(obj); - while(_g < _g1.length) { - var k = _g1[_g]; - ++_g; - var v = Std.string(Reflect.field(obj,k)); - if(this.testProperty(k,v)) { - qualify = true; - } - } - var _g = 0; - var _g1 = Reflect.fields(obj); - while(_g < _g1.length) { - var k = _g1[_g]; - ++_g; - var v = Std.string(Reflect.field(obj,k)); - if(this.testProperty(k,v,true)) { - qualify = false; - } - } - return qualify; - } - ,testProperty: function(property,value,exclude) { - var conds = 0; - var fails = 0; - var qualify = 0; - var testprop = function(expr) { - conds += 1; - fails += expr ? 0 : 1; - return expr; - }; - if(this.q[value] != null) { - var v = this.q[value]; - if(v[property] != null) { - return v[property]; - } - } - if(Reflect.field(this.q,"expr")) { - var f = Reflect.field(this.q,"expr"); - if(!Reflect.field(this.q,"show")) { - if(Reflect.field(f,"!=") != null && testprop((value == null ? "null" : "" + value) == Std.string(Reflect.field(f,"!="))) && exclude) { - ++qualify; - } - } else { - if(Reflect.field(f,"*") != null && testprop(parseFloat(value) != null)) { - ++qualify; - } - if(Reflect.field(f,">") != null && testprop(parseFloat(value) >= parseFloat(Reflect.field(f,">")))) { - ++qualify; - } - if(Reflect.field(f,"<") != null && testprop(parseFloat(value) <= parseFloat(Reflect.field(f,"<")))) { - ++qualify; - } - if(Reflect.field(f,"=") != null && (testprop(value == Reflect.field(f,"=")) || testprop(parseFloat(value) == parseFloat(Reflect.field(f,"="))))) { - ++qualify; - } - } - } - return qualify > 0; - } -}; -var xrfragment_Parser = $hx_exports["xrfragment"]["Parser"] = function() { }; -xrfragment_Parser.__name__ = true; -xrfragment_Parser.parse = function(key,value,store,index) { - var Frag_h = Object.create(null); - Frag_h["#"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_PREDEFINED_VIEW | xrfragment_XRF.PV_EXECUTE; - Frag_h["src"] = xrfragment_XRF.T_URL; - Frag_h["href"] = xrfragment_XRF.T_URL | xrfragment_XRF.T_PREDEFINED_VIEW; - Frag_h["tag"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["pos"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_VECTOR3 | xrfragment_XRF.T_STRING | xrfragment_XRF.METADATA | xrfragment_XRF.NAVIGATOR; - Frag_h["rot"] = xrfragment_XRF.QUERY_OPERATOR | xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_VECTOR3 | xrfragment_XRF.METADATA | xrfragment_XRF.NAVIGATOR; - Frag_h["t"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_FLOAT | xrfragment_XRF.T_VECTOR2 | xrfragment_XRF.NAVIGATOR | xrfragment_XRF.METADATA; - Frag_h["s"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_MEDIAFRAG; - Frag_h["loop"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_PREDEFINED_VIEW; - Frag_h["uv"] = xrfragment_XRF.T_VECTOR2 | xrfragment_XRF.T_MEDIAFRAG; - Frag_h["namespace"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["SPDX"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["unit"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["description"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - var keyStripped = key.replace(xrfragment_XRF.operators.r,""); - var isPVDynamic = key.length > 0 && !Object.prototype.hasOwnProperty.call(Frag_h,key); - if(isPVDynamic) { - var v = new xrfragment_XRF(key,xrfragment_XRF.PV_EXECUTE | xrfragment_XRF.NAVIGATOR,index); - v.validate(value); - v.flags = xrfragment_XRF.set(xrfragment_XRF.T_DYNAMICKEY,v.flags); - if(!Object.prototype.hasOwnProperty.call(Frag_h,key)) { - v.flags = xrfragment_XRF.set(xrfragment_XRF.CUSTOMFRAG,v.flags); - } - if(value.length == 0) { - v.flags = xrfragment_XRF.set(xrfragment_XRF.T_DYNAMICKEYVALUE,v.flags); - } - store[keyStripped] = v; - return true; - } - var v = new xrfragment_XRF(key,Frag_h[key],index); - if(Object.prototype.hasOwnProperty.call(Frag_h,key)) { - if(!v.validate(value)) { - console.log("src/xrfragment/Parser.hx:67:","⚠ fragment '" + key + "' has incompatible value (" + value + ")"); - return false; - } - store[keyStripped] = v; - if(xrfragment_Parser.debug) { - console.log("src/xrfragment/Parser.hx:71:","✔ " + key + ": " + v.string); - } - } else { - if(typeof(value) == "string") { - v.guessType(v,value); - } - v.flags = xrfragment_XRF.set(xrfragment_XRF.CUSTOMFRAG,v.flags); - store[keyStripped] = v; - } - return true; -}; -xrfragment_Parser.getMetaData = function() { - var meta = { title : ["title","og:title","dc.title"], description : ["aria-description","og:description","dc.description"], author : ["author","dc.creator"], publisher : ["publisher","dc.publisher"], website : ["og:site_name","og:url","dc.publisher"], license : ["SPDX","dc.rights"]}; - return meta; -}; -var xrfragment_URI = $hx_exports["xrfragment"]["URI"] = function() { - this.XRF = { }; - this.hash = { }; - this.fragment = ""; -}; -xrfragment_URI.__name__ = true; -xrfragment_URI.parseFragment = function(url,filter) { - var store = { }; - if(url == null || url.indexOf("#") == -1) { - return store; - } - var fragment = url.split("#"); - var splitArray = fragment[1].split("&"); - var _g = 0; - var _g1 = splitArray.length; - while(_g < _g1) { - var i = _g++; - var splitByEqual = splitArray[i].split("="); - var regexPlus = new EReg("\\+","g"); - var key = splitByEqual[0]; - var value = ""; - if(splitByEqual.length > 1) { - if(xrfragment_XRF.isVector.match(splitByEqual[1])) { - value = splitByEqual[1]; - } else { - var s = regexPlus.split(splitByEqual[1]).join(" "); - value = decodeURIComponent(s.split("+").join(" ")); - } - } - var ok = xrfragment_Parser.parse(key,value,store,i); - } - if(filter != null && filter != 0) { - var _g = 0; - var _g1 = Reflect.fields(store); - while(_g < _g1.length) { - var key = _g1[_g]; - ++_g; - var xrf = store[key]; - if(!xrf.is(filter)) { - Reflect.deleteField(store,key); - } - } - } - return store; -}; -xrfragment_URI.template = function(uri,vars) { - var parts = uri.split("#"); - if(parts.length == 1) { - return uri; - } - var frag = parts[1]; - frag = StringTools.replace(frag,"{","::"); - frag = StringTools.replace(frag,"}","::"); - frag = new haxe_Template(frag).execute(vars); - frag = StringTools.replace(frag,"null",""); - parts[1] = frag; - return parts.join("#"); -}; -xrfragment_URI.parse = function(stringUrl,flags) { - var r = new EReg("^(?:(?![^:@]+:[^:@/]*@)([^:/?#.]+):)?(?://)?((?:(([^:@]*)(?::([^:@]*))?)?@)?([^:/?#]*)(?::(\\d*))?)(((/(?:[^?#](?![^?#/]*\\.[^?#/.]+(?:[?#]|$)))*/?)?([^?#/]*))(?:\\?([^#]*))?(?:#(.*))?)",""); - if(stringUrl.indexOf("://") == -1 && stringUrl.charAt(0) != "/") { - stringUrl = "/" + stringUrl; - } - r.match(stringUrl); - var url = new xrfragment_URI(); - var _g = 0; - var _g1 = xrfragment_URI._parts.length; - while(_g < _g1) { - var i = _g++; - url[xrfragment_URI._parts[i]] = r.matched(i); - } - if(xrfragment_URI.isRelative(url) == true) { - if(url.directory == null && url.host != null) { - url.file = url.host; - } - url.host = ""; - } - url.hash = { }; - if(url.fragment != null && url.fragment.length > 0) { - url.XRF = xrfragment_URI.parseFragment("#" + url.fragment,flags); - var key; - var _g = 0; - var _g1 = Reflect.fields(url.XRF); - while(_g < _g1.length) { - var key = _g1[_g]; - ++_g; - var v = url.XRF[key]; - url.hash[key] = v["string"]; - } - } - xrfragment_URI.computeVars(url); - return url; -}; -xrfragment_URI.computeVars = function(url) { - var r_r = new RegExp("//","g".split("u").join("")); - if(url.directory != null && url.directory.indexOf("//") != -1) { - url.directory = url.directory.replace(r_r,"/"); - } - if(url.path != null && url.path.indexOf("//") != -1) { - url.path = url.path.replace(r_r,"/"); - } - if(url.file != null && url.file.indexOf("//") != -1) { - url.file = url.file.replace(r_r,"/"); - } - url.URN = url.scheme + "://" + url.host; - if(url.port != null) { - url.URN += ":" + url.port; - } - url.URN += url.directory; - if(url.file != null) { - var parts = url.file.split("."); - if(parts.length > 1) { - url.fileExt = parts.pop(); - } - } -}; -xrfragment_URI.toString = function(url) { - var result = ""; - if(url.scheme != null) { - result += url.scheme + "://"; - } - if(url.user != null) { - result += url.user + ":"; - } - if(url.password != null) { - result += url.password + "@"; - } - if(url.host != null) { - result += url.host; - } - if(url.port != null) { - result += ":" + url.port; - } - if(url.directory != null) { - result += url.directory; - } - if(url.file != null) { - result += url.file; - } - if(url.query != null) { - result += "?" + url.query; - } - if(url.fragment != null) { - result += "#" + url.fragment; - } - return result; -}; -xrfragment_URI.appendURI = function(url,appendedURI) { - if(xrfragment_URI.isRelative(url) == true) { - return xrfragment_URI.appendToRelativeURI(url,appendedURI); - } else { - return xrfragment_URI.appendToAbsoluteURI(url,appendedURI); - } -}; -xrfragment_URI.isRelative = function(url) { - return url.scheme == null; -}; -xrfragment_URI.appendToRelativeURI = function(url,appendedURI) { - if(url.directory == null || url.host == null) { - return xrfragment_URI.cloneURI(appendedURI); - } - var resultURI = new xrfragment_URI(); - resultURI.host = url.host; - resultURI.directory = url.directory; - if(appendedURI.host != null) { - resultURI.directory += appendedURI.host; - } - if(appendedURI.directory != null) { - var directory = appendedURI.directory; - if(appendedURI.host == null) { - resultURI.directory += HxOverrides.substr(directory,1,null); - } else { - resultURI.directory += directory; - } - } - if(appendedURI.file != null) { - resultURI.file = appendedURI.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(appendedURI.query != null) { - resultURI.query = appendedURI.query; - } - if(appendedURI.fragment != null) { - resultURI.fragment = appendedURI.fragment; - } - return resultURI; -}; -xrfragment_URI.appendToAbsoluteURI = function(url,appendedURI) { - var resultURI = new xrfragment_URI(); - if(url.scheme != null) { - resultURI.scheme = url.scheme; - } - if(url.host != null) { - resultURI.host = url.host; - } - var directory = ""; - if(url.directory != null) { - directory = url.directory; - } - if(appendedURI.host != null) { - appendedURI.directory += appendedURI.host; - } - if(appendedURI.directory != null) { - directory += appendedURI.directory; - } - resultURI.directory = directory; - if(appendedURI.file != null) { - resultURI.file = appendedURI.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(appendedURI.query != null) { - resultURI.query = appendedURI.query; - } - if(appendedURI.fragment != null) { - resultURI.fragment = appendedURI.fragment; - } - return resultURI; -}; -xrfragment_URI.toAbsolute = function(url,newUrl) { - var newURI = xrfragment_URI.parse(newUrl,0); - var resultURI = new xrfragment_URI(); - resultURI.port = url.port; - resultURI.source = newUrl; - if(newURI.scheme != null) { - resultURI.scheme = newURI.scheme; - } else { - resultURI.scheme = url.scheme; - } - if(newURI.host != null && newURI.host.length > 0) { - resultURI.host = newURI.host; - resultURI.port = null; - resultURI.fragment = null; - resultURI.hash = { }; - resultURI.XRF = { }; - if(newURI.port != null) { - resultURI.port = newURI.port; - } - } else { - resultURI.host = url.host; - } - var directory = ""; - if(url.directory != null) { - directory = url.directory; - } - if(newURI.directory != null) { - if(newUrl.charAt(0) != "/" && newUrl.indexOf("://") == -1) { - var stripRelative_r = new RegExp("\\./.*","".split("u").join("")); - directory = directory.replace(stripRelative_r,""); - directory += newURI.directory; - } else { - directory = newURI.directory; - } - } - resultURI.directory = directory; - if(newURI.file != null) { - resultURI.file = newURI.file; - } else { - resultURI.file = url.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(newURI.query != null) { - resultURI.query = newURI.query; - } - if(newURI.fragment != null) { - resultURI.fragment = newURI.fragment; - } - resultURI.hash = newURI.hash; - resultURI.XRF = newURI.XRF; - xrfragment_URI.computeVars(resultURI); - return resultURI; -}; -xrfragment_URI.cloneURI = function(url) { - var clonedURI = new xrfragment_URI(); - clonedURI.url = url.url; - clonedURI.source = url.source; - clonedURI.scheme = url.scheme; - clonedURI.authority = url.authority; - clonedURI.userInfo = url.userInfo; - clonedURI.password = url.password; - clonedURI.host = url.host; - clonedURI.port = url.port; - clonedURI.relative = url.relative; - clonedURI.path = url.path; - clonedURI.directory = url.directory; - clonedURI.file = url.file; - clonedURI.query = url.query; - clonedURI.fragment = url.fragment; - return clonedURI; -}; -var xrfragment_XRF = $hx_exports["xrfragment"]["XRF"] = function(_fragment,_flags,_index) { - this.floats = []; - this.shift = []; - this.fragment = _fragment; - this.flags = _flags; - this.index = _index; -}; -xrfragment_XRF.__name__ = true; -xrfragment_XRF.set = function(flag,flags) { - return flags | flag; -}; -xrfragment_XRF.unset = function(flag,flags) { - return flags & ~flag; -}; -xrfragment_XRF.prototype = { - is: function(flag) { - var v = this.flags; - if(!(typeof(v) == "number" && ((v | 0) === v))) { - this.flags = 0; - } - return (this.flags & flag) != 0; - } - ,validate: function(value) { - this.guessType(this,value); - var ok = true; - if(value.length == 0 && !this.is(xrfragment_XRF.T_PREDEFINED_VIEW)) { - ok = false; - } - if(!this.is(xrfragment_XRF.T_FLOAT) && this.is(xrfragment_XRF.T_VECTOR2) && !(typeof(this.x) == "number" && typeof(this.y) == "number")) { - ok = false; - } - if(!(this.is(xrfragment_XRF.T_VECTOR2) || this.is(xrfragment_XRF.T_STRING)) && this.is(xrfragment_XRF.T_VECTOR3) && !(typeof(this.x) == "number" && typeof(this.y) == "number" && typeof(this.z) == "number")) { - ok = false; - } - return ok; - } - ,guessType: function(v,str) { - v.string = str; - if(xrfragment_XRF.isReset.match(v.fragment)) { - v.reset = true; - } - if(v.fragment == "loop") { - v.loop = true; - } - if(typeof(str) != "string") { - return; - } - if(str.length > 0) { - if(xrfragment_XRF.isXRFScheme.match(str)) { - v.xrfScheme = true; - str = str.replace(xrfragment_XRF.isXRFScheme.r,""); - v.string = str; - } - if(str.split(",").length > 1) { - var xyzn = str.split(","); - if(xyzn.length > 0) { - v.x = parseFloat(xyzn[0]); - } - if(xyzn.length > 1) { - v.y = parseFloat(xyzn[1]); - } - if(xyzn.length > 2) { - v.z = parseFloat(xyzn[2]); - } - var _g = 0; - var _g1 = xyzn.length; - while(_g < _g1) { - var i = _g++; - v.shift.push(xrfragment_XRF.isShift.match(xyzn[i])); - v.floats.push(parseFloat(xyzn[i].replace(xrfragment_XRF.isShift.r,""))); - } - } - if(xrfragment_XRF.isColor.match(str)) { - v.color = str; - } - if(xrfragment_XRF.isFloat.match(str)) { - v.x = parseFloat(str); - v.float = v.x; - } - if(xrfragment_XRF.isInt.match(str)) { - v.int = Std.parseInt(str); - v.x = v.int; - v.floats.push(v.x); - } - v.filter = new xrfragment_Filter(v.fragment + "=" + v.string); - } else { - v.filter = new xrfragment_Filter(v.fragment); - } - } -}; -function $getIterator(o) { if( o instanceof Array ) return new haxe_iterators_ArrayIterator(o); else return o.iterator(); } -function $bind(o,m) { if( m == null ) return null; if( m.__id__ == null ) m.__id__ = $global.$haxeUID++; var f; if( o.hx__closures__ == null ) o.hx__closures__ = {}; else f = o.hx__closures__[m.__id__]; if( f == null ) { f = m.bind(o); o.hx__closures__[m.__id__] = f; } return f; } -$global.$haxeUID |= 0; -if(typeof(performance) != "undefined" ? typeof(performance.now) == "function" : false) { - HxOverrides.now = performance.now.bind(performance); -} -if( String.fromCodePoint == null ) String.fromCodePoint = function(c) { return c < 0x10000 ? String.fromCharCode(c) : String.fromCharCode((c>>10)+0xD7C0)+String.fromCharCode((c&0x3FF)+0xDC00); } -String.__name__ = true; -Array.__name__ = true; -js_Boot.__toStr = ({ }).toString; -haxe_Template.splitter = new EReg("(::[A-Za-z0-9_ ()&|!+=/><*.\"-]+::|\\$\\$([A-Za-z0-9_-]+)\\()",""); -haxe_Template.expr_splitter = new EReg("(\\(|\\)|[ \r\n\t]*\"[^\"]*\"[ \r\n\t]*|[!+=/><*.&|-]+)",""); -haxe_Template.expr_trim = new EReg("^[ ]*([^ ]+)[ ]*$",""); -haxe_Template.expr_int = new EReg("^[0-9]+$",""); -haxe_Template.expr_float = new EReg("^([+-]?)(?=\\d|,\\d)\\d*(,\\d*)?([Ee]([+-]?\\d+))?$",""); -haxe_Template.globals = { }; -haxe_Template.hxKeepArrayIterator = new haxe_iterators_ArrayIterator([]); -xrfragment_Parser.error = ""; -xrfragment_Parser.debug = false; -xrfragment_URI.__meta__ = { statics : { template : { keep : null}}}; -xrfragment_URI._parts = ["source","scheme","authority","userInfo","user","password","host","port","relative","path","directory","file","query","fragment"]; -xrfragment_XRF.IMMUTABLE = 1; -xrfragment_XRF.PROP_BIND = 2; -xrfragment_XRF.QUERY_OPERATOR = 4; -xrfragment_XRF.PROMPT = 8; -xrfragment_XRF.CUSTOMFRAG = 16; -xrfragment_XRF.NAVIGATOR = 32; -xrfragment_XRF.METADATA = 64; -xrfragment_XRF.PV_OVERRIDE = 128; -xrfragment_XRF.PV_EXECUTE = 256; -xrfragment_XRF.T_COLOR = 8192; -xrfragment_XRF.T_INT = 16384; -xrfragment_XRF.T_FLOAT = 32768; -xrfragment_XRF.T_VECTOR2 = 65536; -xrfragment_XRF.T_VECTOR3 = 131072; -xrfragment_XRF.T_URL = 262144; -xrfragment_XRF.T_PREDEFINED_VIEW = 524288; -xrfragment_XRF.T_STRING = 1048576; -xrfragment_XRF.T_MEDIAFRAG = 2097152; -xrfragment_XRF.T_DYNAMICKEY = 4194304; -xrfragment_XRF.T_DYNAMICKEYVALUE = 8388608; -xrfragment_XRF.isColor = new EReg("^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$",""); -xrfragment_XRF.isInt = new EReg("^[-0-9]+$",""); -xrfragment_XRF.isFloat = new EReg("^[-0-9]+\\.[0-9]+$",""); -xrfragment_XRF.isVector = new EReg("([,]+|\\w)",""); -xrfragment_XRF.isUrl = new EReg("(://)?\\..*",""); -xrfragment_XRF.isUrlOrPretypedView = new EReg("(^#|://)?\\..*",""); -xrfragment_XRF.isString = new EReg(".*",""); -xrfragment_XRF.operators = new EReg("(^[-]|^[!]|[\\*]$)","g"); -xrfragment_XRF.isProp = new EReg("^.*=[><=]?",""); -xrfragment_XRF.isExclude = new EReg("^-",""); -xrfragment_XRF.isDeep = new EReg("\\*",""); -xrfragment_XRF.isNumber = new EReg("^[0-9\\.]+$",""); -xrfragment_XRF.isMediaFrag = new EReg("^([0-9\\.,\\*+-]+)$",""); -xrfragment_XRF.isReset = new EReg("^!",""); -xrfragment_XRF.isShift = new EReg("^(\\+|--)",""); -xrfragment_XRF.isXRFScheme = new EReg("^xrf://",""); -})(typeof window != "undefined" ? window : typeof global != "undefined" ? global : typeof self != "undefined" ? self : this); -var xrfragment = $hx_exports["xrfragment"]; -export default xrfragment; -// Generated by Haxe 4.3.3 -var $hx_exports = typeof exports != "undefined" ? exports : typeof window != "undefined" ? window : typeof self != "undefined" ? self : this; -(function ($global) { "use strict"; -$hx_exports["xrfragment"] = $hx_exports["xrfragment"] || {}; -var $estr = function() { return js_Boot.__string_rec(this,''); },$hxEnums = $hxEnums || {},$_; -function $extend(from, fields) { - var proto = Object.create(from); - for (var name in fields) proto[name] = fields[name]; - if( fields.toString !== Object.prototype.toString ) proto.toString = fields.toString; - return proto; -} -var EReg = function(r,opt) { - this.r = new RegExp(r,opt.split("u").join("")); -}; -EReg.__name__ = true; -EReg.prototype = { - match: function(s) { - if(this.r.global) { - this.r.lastIndex = 0; - } - this.r.m = this.r.exec(s); - this.r.s = s; - return this.r.m != null; - } - ,matched: function(n) { - if(this.r.m != null && n >= 0 && n < this.r.m.length) { - return this.r.m[n]; - } else { - throw haxe_Exception.thrown("EReg::matched"); - } - } - ,matchedRight: function() { - if(this.r.m == null) { - throw haxe_Exception.thrown("No string matched"); - } - var sz = this.r.m.index + this.r.m[0].length; - return HxOverrides.substr(this.r.s,sz,this.r.s.length - sz); - } - ,matchedPos: function() { - if(this.r.m == null) { - throw haxe_Exception.thrown("No string matched"); - } - return { pos : this.r.m.index, len : this.r.m[0].length}; - } - ,split: function(s) { - var d = "#__delim__#"; - return s.replace(this.r,d).split(d); - } -}; -var HxOverrides = function() { }; -HxOverrides.__name__ = true; -HxOverrides.cca = function(s,index) { - var x = s.charCodeAt(index); - if(x != x) { - return undefined; - } - return x; -}; -HxOverrides.substr = function(s,pos,len) { - if(len == null) { - len = s.length; - } else if(len < 0) { - if(pos == 0) { - len = s.length + len; - } else { - return ""; - } - } - return s.substr(pos,len); -}; -HxOverrides.now = function() { - return Date.now(); -}; -Math.__name__ = true; -var Reflect = function() { }; -Reflect.__name__ = true; -Reflect.field = function(o,field) { - try { - return o[field]; - } catch( _g ) { - return null; - } -}; -Reflect.getProperty = function(o,field) { - var tmp; - if(o == null) { - return null; - } else { - var tmp1; - if(o.__properties__) { - tmp = o.__properties__["get_" + field]; - tmp1 = tmp; - } else { - tmp1 = false; - } - if(tmp1) { - return o[tmp](); - } else { - return o[field]; - } - } -}; -Reflect.fields = function(o) { - var a = []; - if(o != null) { - var hasOwnProperty = Object.prototype.hasOwnProperty; - for( var f in o ) { - if(f != "__id__" && f != "hx__closures__" && hasOwnProperty.call(o,f)) { - a.push(f); - } - } - } - return a; -}; -Reflect.isObject = function(v) { - if(v == null) { - return false; - } - var t = typeof(v); - if(!(t == "string" || t == "object" && v.__enum__ == null)) { - if(t == "function") { - return (v.__name__ || v.__ename__) != null; - } else { - return false; - } - } else { - return true; - } -}; -Reflect.deleteField = function(o,field) { - if(!Object.prototype.hasOwnProperty.call(o,field)) { - return false; - } - delete(o[field]); - return true; -}; -Reflect.copy = function(o) { - if(o == null) { - return null; - } - var o2 = { }; - var _g = 0; - var _g1 = Reflect.fields(o); - while(_g < _g1.length) { - var f = _g1[_g]; - ++_g; - o2[f] = Reflect.field(o,f); - } - return o2; -}; -var Std = function() { }; -Std.__name__ = true; -Std.string = function(s) { - return js_Boot.__string_rec(s,""); -}; -Std.parseInt = function(x) { - var v = parseInt(x); - if(isNaN(v)) { - return null; - } - return v; -}; -var StringBuf = function() { - this.b = ""; -}; -StringBuf.__name__ = true; -var StringTools = function() { }; -StringTools.__name__ = true; -StringTools.isSpace = function(s,pos) { - var c = HxOverrides.cca(s,pos); - if(!(c > 8 && c < 14)) { - return c == 32; - } else { - return true; - } -}; -StringTools.ltrim = function(s) { - var l = s.length; - var r = 0; - while(r < l && StringTools.isSpace(s,r)) ++r; - if(r > 0) { - return HxOverrides.substr(s,r,l - r); - } else { - return s; - } -}; -StringTools.rtrim = function(s) { - var l = s.length; - var r = 0; - while(r < l && StringTools.isSpace(s,l - r - 1)) ++r; - if(r > 0) { - return HxOverrides.substr(s,0,l - r); - } else { - return s; - } -}; -StringTools.trim = function(s) { - return StringTools.ltrim(StringTools.rtrim(s)); -}; -StringTools.replace = function(s,sub,by) { - return s.split(sub).join(by); -}; -var haxe_Exception = function(message,previous,native) { - Error.call(this,message); - this.message = message; - this.__previousException = previous; - this.__nativeException = native != null ? native : this; -}; -haxe_Exception.__name__ = true; -haxe_Exception.caught = function(value) { - if(((value) instanceof haxe_Exception)) { - return value; - } else if(((value) instanceof Error)) { - return new haxe_Exception(value.message,null,value); - } else { - return new haxe_ValueException(value,null,value); - } -}; -haxe_Exception.thrown = function(value) { - if(((value) instanceof haxe_Exception)) { - return value.get_native(); - } else if(((value) instanceof Error)) { - return value; - } else { - var e = new haxe_ValueException(value); - return e; - } -}; -haxe_Exception.__super__ = Error; -haxe_Exception.prototype = $extend(Error.prototype,{ - unwrap: function() { - return this.__nativeException; - } - ,get_native: function() { - return this.__nativeException; - } - ,__properties__: {get_native:"get_native"} -}); -var haxe__$Template_TemplateExpr = $hxEnums["haxe._Template.TemplateExpr"] = { __ename__:true,__constructs__:null - ,OpVar: ($_=function(v) { return {_hx_index:0,v:v,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpVar",$_.__params__ = ["v"],$_) - ,OpExpr: ($_=function(expr) { return {_hx_index:1,expr:expr,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpExpr",$_.__params__ = ["expr"],$_) - ,OpIf: ($_=function(expr,eif,eelse) { return {_hx_index:2,expr:expr,eif:eif,eelse:eelse,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpIf",$_.__params__ = ["expr","eif","eelse"],$_) - ,OpStr: ($_=function(str) { return {_hx_index:3,str:str,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpStr",$_.__params__ = ["str"],$_) - ,OpBlock: ($_=function(l) { return {_hx_index:4,l:l,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpBlock",$_.__params__ = ["l"],$_) - ,OpForeach: ($_=function(expr,loop) { return {_hx_index:5,expr:expr,loop:loop,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpForeach",$_.__params__ = ["expr","loop"],$_) - ,OpMacro: ($_=function(name,params) { return {_hx_index:6,name:name,params:params,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpMacro",$_.__params__ = ["name","params"],$_) -}; -haxe__$Template_TemplateExpr.__constructs__ = [haxe__$Template_TemplateExpr.OpVar,haxe__$Template_TemplateExpr.OpExpr,haxe__$Template_TemplateExpr.OpIf,haxe__$Template_TemplateExpr.OpStr,haxe__$Template_TemplateExpr.OpBlock,haxe__$Template_TemplateExpr.OpForeach,haxe__$Template_TemplateExpr.OpMacro]; -var haxe_iterators_ArrayIterator = function(array) { - this.current = 0; - this.array = array; -}; -haxe_iterators_ArrayIterator.__name__ = true; -haxe_iterators_ArrayIterator.prototype = { - hasNext: function() { - return this.current < this.array.length; - } - ,next: function() { - return this.array[this.current++]; - } -}; -var haxe_Template = function(str) { - var tokens = this.parseTokens(str); - this.expr = this.parseBlock(tokens); - if(!tokens.isEmpty()) { - throw haxe_Exception.thrown("Unexpected '" + Std.string(tokens.first().s) + "'"); - } -}; -haxe_Template.__name__ = true; -haxe_Template.prototype = { - execute: function(context,macros) { - this.macros = macros == null ? { } : macros; - this.context = context; - this.stack = new haxe_ds_List(); - this.buf = new StringBuf(); - this.run(this.expr); - return this.buf.b; - } - ,resolve: function(v) { - if(v == "__current__") { - return this.context; - } - if(Reflect.isObject(this.context)) { - var value = Reflect.getProperty(this.context,v); - if(value != null || Object.prototype.hasOwnProperty.call(this.context,v)) { - return value; - } - } - var _g_head = this.stack.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var ctx = val; - var value = Reflect.getProperty(ctx,v); - if(value != null || Object.prototype.hasOwnProperty.call(ctx,v)) { - return value; - } - } - return Reflect.field(haxe_Template.globals,v); - } - ,parseTokens: function(data) { - var tokens = new haxe_ds_List(); - while(haxe_Template.splitter.match(data)) { - var p = haxe_Template.splitter.matchedPos(); - if(p.pos > 0) { - tokens.add({ p : HxOverrides.substr(data,0,p.pos), s : true, l : null}); - } - if(HxOverrides.cca(data,p.pos) == 58) { - tokens.add({ p : HxOverrides.substr(data,p.pos + 2,p.len - 4), s : false, l : null}); - data = haxe_Template.splitter.matchedRight(); - continue; - } - var parp = p.pos + p.len; - var npar = 1; - var params = []; - var part = ""; - while(true) { - var c = HxOverrides.cca(data,parp); - ++parp; - if(c == 40) { - ++npar; - } else if(c == 41) { - --npar; - if(npar <= 0) { - break; - } - } else if(c == null) { - throw haxe_Exception.thrown("Unclosed macro parenthesis"); - } - if(c == 44 && npar == 1) { - params.push(part); - part = ""; - } else { - part += String.fromCodePoint(c); - } - } - params.push(part); - tokens.add({ p : haxe_Template.splitter.matched(2), s : false, l : params}); - data = HxOverrides.substr(data,parp,data.length - parp); - } - if(data.length > 0) { - tokens.add({ p : data, s : true, l : null}); - } - return tokens; - } - ,parseBlock: function(tokens) { - var l = new haxe_ds_List(); - while(true) { - var t = tokens.first(); - if(t == null) { - break; - } - if(!t.s && (t.p == "end" || t.p == "else" || HxOverrides.substr(t.p,0,7) == "elseif ")) { - break; - } - l.add(this.parse(tokens)); - } - if(l.length == 1) { - return l.first(); - } - return haxe__$Template_TemplateExpr.OpBlock(l); - } - ,parse: function(tokens) { - var t = tokens.pop(); - var p = t.p; - if(t.s) { - return haxe__$Template_TemplateExpr.OpStr(p); - } - if(t.l != null) { - var pe = new haxe_ds_List(); - var _g = 0; - var _g1 = t.l; - while(_g < _g1.length) { - var p1 = _g1[_g]; - ++_g; - pe.add(this.parseBlock(this.parseTokens(p1))); - } - return haxe__$Template_TemplateExpr.OpMacro(p,pe); - } - var kwdEnd = function(kwd) { - var pos = -1; - var length = kwd.length; - if(HxOverrides.substr(p,0,length) == kwd) { - pos = length; - var _g_offset = 0; - var _g_s = HxOverrides.substr(p,length,null); - while(_g_offset < _g_s.length) { - var c = _g_s.charCodeAt(_g_offset++); - if(c == 32) { - ++pos; - } else { - break; - } - } - } - return pos; - }; - var pos = kwdEnd("if"); - if(pos > 0) { - p = HxOverrides.substr(p,pos,p.length - pos); - var e = this.parseExpr(p); - var eif = this.parseBlock(tokens); - var t = tokens.first(); - var eelse; - if(t == null) { - throw haxe_Exception.thrown("Unclosed 'if'"); - } - if(t.p == "end") { - tokens.pop(); - eelse = null; - } else if(t.p == "else") { - tokens.pop(); - eelse = this.parseBlock(tokens); - t = tokens.pop(); - if(t == null || t.p != "end") { - throw haxe_Exception.thrown("Unclosed 'else'"); - } - } else { - t.p = HxOverrides.substr(t.p,4,t.p.length - 4); - eelse = this.parse(tokens); - } - return haxe__$Template_TemplateExpr.OpIf(e,eif,eelse); - } - var pos = kwdEnd("foreach"); - if(pos >= 0) { - p = HxOverrides.substr(p,pos,p.length - pos); - var e = this.parseExpr(p); - var efor = this.parseBlock(tokens); - var t = tokens.pop(); - if(t == null || t.p != "end") { - throw haxe_Exception.thrown("Unclosed 'foreach'"); - } - return haxe__$Template_TemplateExpr.OpForeach(e,efor); - } - if(haxe_Template.expr_splitter.match(p)) { - return haxe__$Template_TemplateExpr.OpExpr(this.parseExpr(p)); - } - return haxe__$Template_TemplateExpr.OpVar(p); - } - ,parseExpr: function(data) { - var l = new haxe_ds_List(); - var expr = data; - while(haxe_Template.expr_splitter.match(data)) { - var p = haxe_Template.expr_splitter.matchedPos(); - var k = p.pos + p.len; - if(p.pos != 0) { - l.add({ p : HxOverrides.substr(data,0,p.pos), s : true}); - } - var p1 = haxe_Template.expr_splitter.matched(0); - l.add({ p : p1, s : p1.indexOf("\"") >= 0}); - data = haxe_Template.expr_splitter.matchedRight(); - } - if(data.length != 0) { - var _g_offset = 0; - var _g_s = data; - while(_g_offset < _g_s.length) { - var _g_key = _g_offset; - var _g_value = _g_s.charCodeAt(_g_offset++); - var i = _g_key; - var c = _g_value; - if(c != 32) { - l.add({ p : HxOverrides.substr(data,i,null), s : true}); - break; - } - } - } - var e; - try { - e = this.makeExpr(l); - if(!l.isEmpty()) { - throw haxe_Exception.thrown(l.first().p); - } - } catch( _g ) { - var _g1 = haxe_Exception.caught(_g).unwrap(); - if(typeof(_g1) == "string") { - var s = _g1; - throw haxe_Exception.thrown("Unexpected '" + s + "' in " + expr); - } else { - throw _g; - } - } - return function() { - try { - return e(); - } catch( _g ) { - var exc = haxe_Exception.caught(_g).unwrap(); - throw haxe_Exception.thrown("Error : " + Std.string(exc) + " in " + expr); - } - }; - } - ,makeConst: function(v) { - haxe_Template.expr_trim.match(v); - v = haxe_Template.expr_trim.matched(1); - if(HxOverrides.cca(v,0) == 34) { - var str = HxOverrides.substr(v,1,v.length - 2); - return function() { - return str; - }; - } - if(haxe_Template.expr_int.match(v)) { - var i = Std.parseInt(v); - return function() { - return i; - }; - } - if(haxe_Template.expr_float.match(v)) { - var f = parseFloat(v); - return function() { - return f; - }; - } - var me = this; - return function() { - return me.resolve(v); - }; - } - ,makePath: function(e,l) { - var p = l.first(); - if(p == null || p.p != ".") { - return e; - } - l.pop(); - var field = l.pop(); - if(field == null || !field.s) { - throw haxe_Exception.thrown(field.p); - } - var f = field.p; - haxe_Template.expr_trim.match(f); - f = haxe_Template.expr_trim.matched(1); - return this.makePath(function() { - return Reflect.field(e(),f); - },l); - } - ,makeExpr: function(l) { - return this.makePath(this.makeExpr2(l),l); - } - ,skipSpaces: function(l) { - var p = l.first(); - while(p != null) { - var _g_offset = 0; - var _g_s = p.p; - while(_g_offset < _g_s.length) { - var c = _g_s.charCodeAt(_g_offset++); - if(c != 32) { - return; - } - } - l.pop(); - p = l.first(); - } - } - ,makeExpr2: function(l) { - this.skipSpaces(l); - var p = l.pop(); - this.skipSpaces(l); - if(p == null) { - throw haxe_Exception.thrown(""); - } - if(p.s) { - return this.makeConst(p.p); - } - switch(p.p) { - case "!": - var e = this.makeExpr(l); - return function() { - var v = e(); - if(v != null) { - return v == false; - } else { - return true; - } - }; - case "(": - this.skipSpaces(l); - var e1 = this.makeExpr(l); - this.skipSpaces(l); - var p1 = l.pop(); - if(p1 == null || p1.s) { - throw haxe_Exception.thrown(p1); - } - if(p1.p == ")") { - return e1; - } - this.skipSpaces(l); - var e2 = this.makeExpr(l); - this.skipSpaces(l); - var p2 = l.pop(); - this.skipSpaces(l); - if(p2 == null || p2.p != ")") { - throw haxe_Exception.thrown(p2); - } - switch(p1.p) { - case "!=": - return function() { - return e1() != e2(); - }; - case "&&": - return function() { - return e1() && e2(); - }; - case "*": - return function() { - return e1() * e2(); - }; - case "+": - return function() { - return e1() + e2(); - }; - case "-": - return function() { - return e1() - e2(); - }; - case "/": - return function() { - return e1() / e2(); - }; - case "<": - return function() { - return e1() < e2(); - }; - case "<=": - return function() { - return e1() <= e2(); - }; - case "==": - return function() { - return e1() == e2(); - }; - case ">": - return function() { - return e1() > e2(); - }; - case ">=": - return function() { - return e1() >= e2(); - }; - case "||": - return function() { - return e1() || e2(); - }; - default: - throw haxe_Exception.thrown("Unknown operation " + p1.p); - } - break; - case "-": - var e3 = this.makeExpr(l); - return function() { - return -e3(); - }; - } - throw haxe_Exception.thrown(p.p); - } - ,run: function(e) { - switch(e._hx_index) { - case 0: - var v = e.v; - var _this = this.buf; - var x = Std.string(this.resolve(v)); - _this.b += Std.string(x); - break; - case 1: - var e1 = e.expr; - var _this = this.buf; - var x = Std.string(e1()); - _this.b += Std.string(x); - break; - case 2: - var e1 = e.expr; - var eif = e.eif; - var eelse = e.eelse; - var v = e1(); - if(v == null || v == false) { - if(eelse != null) { - this.run(eelse); - } - } else { - this.run(eif); - } - break; - case 3: - var str = e.str; - this.buf.b += str == null ? "null" : "" + str; - break; - case 4: - var l = e.l; - var _g_head = l.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var e1 = val; - this.run(e1); - } - break; - case 5: - var e1 = e.expr; - var loop = e.loop; - var v = e1(); - try { - var x = $getIterator(v); - if(x.hasNext == null) { - throw haxe_Exception.thrown(null); - } - v = x; - } catch( _g ) { - try { - if(v.hasNext == null) { - throw haxe_Exception.thrown(null); - } - } catch( _g1 ) { - throw haxe_Exception.thrown("Cannot iter on " + Std.string(v)); - } - } - this.stack.push(this.context); - var v1 = v; - var ctx = v1; - while(ctx.hasNext()) { - var ctx1 = ctx.next(); - this.context = ctx1; - this.run(loop); - } - this.context = this.stack.pop(); - break; - case 6: - var m = e.name; - var params = e.params; - var v = Reflect.field(this.macros,m); - var pl = []; - var old = this.buf; - pl.push($bind(this,this.resolve)); - var _g_head = params.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var p = val; - if(p._hx_index == 0) { - var v1 = p.v; - pl.push(this.resolve(v1)); - } else { - this.buf = new StringBuf(); - this.run(p); - pl.push(this.buf.b); - } - } - this.buf = old; - try { - var _this = this.buf; - var x = Std.string(v.apply(this.macros,pl)); - _this.b += Std.string(x); - } catch( _g ) { - var e = haxe_Exception.caught(_g).unwrap(); - var plstr; - try { - plstr = pl.join(","); - } catch( _g1 ) { - plstr = "???"; - } - var msg = "Macro call " + m + "(" + plstr + ") failed (" + Std.string(e) + ")"; - throw haxe_Exception.thrown(msg); - } - break; - } - } -}; -var haxe_ValueException = function(value,previous,native) { - haxe_Exception.call(this,String(value),previous,native); - this.value = value; -}; -haxe_ValueException.__name__ = true; -haxe_ValueException.__super__ = haxe_Exception; -haxe_ValueException.prototype = $extend(haxe_Exception.prototype,{ - unwrap: function() { - return this.value; - } -}); -var haxe_ds_List = function() { - this.length = 0; -}; -haxe_ds_List.__name__ = true; -haxe_ds_List.prototype = { - add: function(item) { - var x = new haxe_ds__$List_ListNode(item,null); - if(this.h == null) { - this.h = x; - } else { - this.q.next = x; - } - this.q = x; - this.length++; - } - ,push: function(item) { - var x = new haxe_ds__$List_ListNode(item,this.h); - this.h = x; - if(this.q == null) { - this.q = x; - } - this.length++; - } - ,first: function() { - if(this.h == null) { - return null; - } else { - return this.h.item; - } - } - ,pop: function() { - if(this.h == null) { - return null; - } - var x = this.h.item; - this.h = this.h.next; - if(this.h == null) { - this.q = null; - } - this.length--; - return x; - } - ,isEmpty: function() { - return this.h == null; - } - ,toString: function() { - var s_b = ""; - var first = true; - var l = this.h; - s_b += "{"; - while(l != null) { - if(first) { - first = false; - } else { - s_b += ", "; - } - s_b += Std.string(Std.string(l.item)); - l = l.next; - } - s_b += "}"; - return s_b; - } -}; -var haxe_ds__$List_ListNode = function(item,next) { - this.item = item; - this.next = next; -}; -haxe_ds__$List_ListNode.__name__ = true; -var js_Boot = function() { }; -js_Boot.__name__ = true; -js_Boot.__string_rec = function(o,s) { - if(o == null) { - return "null"; - } - if(s.length >= 5) { - return "<...>"; - } - var t = typeof(o); - if(t == "function" && (o.__name__ || o.__ename__)) { - t = "object"; - } - switch(t) { - case "function": - return ""; - case "object": - if(o.__enum__) { - var e = $hxEnums[o.__enum__]; - var con = e.__constructs__[o._hx_index]; - var n = con._hx_name; - if(con.__params__) { - s = s + "\t"; - return n + "(" + ((function($this) { - var $r; - var _g = []; - { - var _g1 = 0; - var _g2 = con.__params__; - while(true) { - if(!(_g1 < _g2.length)) { - break; - } - var p = _g2[_g1]; - _g1 = _g1 + 1; - _g.push(js_Boot.__string_rec(o[p],s)); - } - } - $r = _g; - return $r; - }(this))).join(",") + ")"; - } else { - return n; - } - } - if(((o) instanceof Array)) { - var str = "["; - s += "\t"; - var _g = 0; - var _g1 = o.length; - while(_g < _g1) { - var i = _g++; - str += (i > 0 ? "," : "") + js_Boot.__string_rec(o[i],s); - } - str += "]"; - return str; - } - var tostr; - try { - tostr = o.toString; - } catch( _g ) { - return "???"; - } - if(tostr != null && tostr != Object.toString && typeof(tostr) == "function") { - var s2 = o.toString(); - if(s2 != "[object Object]") { - return s2; - } - } - var str = "{\n"; - s += "\t"; - var hasp = o.hasOwnProperty != null; - var k = null; - for( k in o ) { - if(hasp && !o.hasOwnProperty(k)) { - continue; - } - if(k == "prototype" || k == "__class__" || k == "__super__" || k == "__interfaces__" || k == "__properties__") { - continue; - } - if(str.length != 2) { - str += ", \n"; - } - str += s + k + " : " + js_Boot.__string_rec(o[k],s); - } - s = s.substring(1); - str += "\n" + s + "}"; - return str; - case "string": - return o; - default: - return String(o); - } -}; -var xrfragment_Filter = $hx_exports["xrfragment"]["Filter"] = function(str) { - this.q = { }; - this.str = ""; - if(str != null) { - this.parse(str); - } -}; -xrfragment_Filter.__name__ = true; -xrfragment_Filter.prototype = { - toObject: function() { - return Reflect.copy(this.q); - } - ,get: function() { - return Reflect.copy(this.q); - } - ,parse: function(str) { - var token = str.split(" "); - var q = { }; - var process = function(str,prefix) { - if(prefix == null) { - prefix = ""; - } - str = StringTools.trim(str); - var k = str.split("=")[0]; - var v = str.split("=")[1]; - var filter = { }; - if(q[prefix + k]) { - filter = q[prefix + k]; - } - if(xrfragment_XRF.isProp.match(str)) { - var oper = ""; - if(str.indexOf(">") != -1) { - oper = ">"; - } - if(str.indexOf("<") != -1) { - oper = "<"; - } - if(xrfragment_XRF.isExclude.match(k)) { - k = HxOverrides.substr(k,1,null); - } - v = HxOverrides.substr(v,oper.length,null); - if(oper.length == 0) { - oper = "="; - } - var rule = { }; - if(xrfragment_XRF.isNumber.match(v)) { - rule[oper] = parseFloat(v); - } else { - rule[oper] = v; - } - q["expr"] = rule; - } - var value = xrfragment_XRF.isDeep.match(str) ? k.split("*").length - 1 : 0; - q["deep"] = value; - var value = xrfragment_XRF.isExclude.match(str) ? false : true; - q["show"] = value; - var value = k.replace(xrfragment_XRF.operators.r,""); - q["key"] = value; - q["value"] = v; - }; - var _g = 0; - var _g1 = token.length; - while(_g < _g1) { - var i = _g++; - process(token[i]); - } - return this.q = q; - } - ,test: function(obj) { - var qualify = false; - var _g = 0; - var _g1 = Reflect.fields(obj); - while(_g < _g1.length) { - var k = _g1[_g]; - ++_g; - var v = Std.string(Reflect.field(obj,k)); - if(this.testProperty(k,v)) { - qualify = true; - } - } - var _g = 0; - var _g1 = Reflect.fields(obj); - while(_g < _g1.length) { - var k = _g1[_g]; - ++_g; - var v = Std.string(Reflect.field(obj,k)); - if(this.testProperty(k,v,true)) { - qualify = false; - } - } - return qualify; - } - ,testProperty: function(property,value,exclude) { - var conds = 0; - var fails = 0; - var qualify = 0; - var testprop = function(expr) { - conds += 1; - fails += expr ? 0 : 1; - return expr; - }; - if(this.q[value] != null) { - var v = this.q[value]; - if(v[property] != null) { - return v[property]; - } - } - if(Reflect.field(this.q,"expr")) { - var f = Reflect.field(this.q,"expr"); - if(!Reflect.field(this.q,"show")) { - if(Reflect.field(f,"!=") != null && testprop((value == null ? "null" : "" + value) == Std.string(Reflect.field(f,"!="))) && exclude) { - ++qualify; - } - } else { - if(Reflect.field(f,"*") != null && testprop(parseFloat(value) != null)) { - ++qualify; - } - if(Reflect.field(f,">") != null && testprop(parseFloat(value) >= parseFloat(Reflect.field(f,">")))) { - ++qualify; - } - if(Reflect.field(f,"<") != null && testprop(parseFloat(value) <= parseFloat(Reflect.field(f,"<")))) { - ++qualify; - } - if(Reflect.field(f,"=") != null && (testprop(value == Reflect.field(f,"=")) || testprop(parseFloat(value) == parseFloat(Reflect.field(f,"="))))) { - ++qualify; - } - } - } - return qualify > 0; - } -}; -var xrfragment_Parser = $hx_exports["xrfragment"]["Parser"] = function() { }; -xrfragment_Parser.__name__ = true; -xrfragment_Parser.parse = function(key,value,store,index) { - var Frag_h = Object.create(null); - Frag_h["#"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_PREDEFINED_VIEW | xrfragment_XRF.PV_EXECUTE; - Frag_h["src"] = xrfragment_XRF.T_URL; - Frag_h["href"] = xrfragment_XRF.T_URL | xrfragment_XRF.T_PREDEFINED_VIEW; - Frag_h["tag"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["pos"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_VECTOR3 | xrfragment_XRF.T_STRING | xrfragment_XRF.METADATA | xrfragment_XRF.NAVIGATOR; - Frag_h["rot"] = xrfragment_XRF.QUERY_OPERATOR | xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_VECTOR3 | xrfragment_XRF.METADATA | xrfragment_XRF.NAVIGATOR; - Frag_h["t"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_FLOAT | xrfragment_XRF.T_VECTOR2 | xrfragment_XRF.NAVIGATOR | xrfragment_XRF.METADATA; - Frag_h["s"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_MEDIAFRAG; - Frag_h["loop"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_PREDEFINED_VIEW; - Frag_h["uv"] = xrfragment_XRF.T_VECTOR2 | xrfragment_XRF.T_MEDIAFRAG; - Frag_h["namespace"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["SPDX"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["unit"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["description"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - var keyStripped = key.replace(xrfragment_XRF.operators.r,""); - var isPVDynamic = key.length > 0 && !Object.prototype.hasOwnProperty.call(Frag_h,key); - if(isPVDynamic) { - var v = new xrfragment_XRF(key,xrfragment_XRF.PV_EXECUTE | xrfragment_XRF.NAVIGATOR,index); - v.validate(value); - v.flags = xrfragment_XRF.set(xrfragment_XRF.T_DYNAMICKEY,v.flags); - if(!Object.prototype.hasOwnProperty.call(Frag_h,key)) { - v.flags = xrfragment_XRF.set(xrfragment_XRF.CUSTOMFRAG,v.flags); - } - if(value.length == 0) { - v.flags = xrfragment_XRF.set(xrfragment_XRF.T_DYNAMICKEYVALUE,v.flags); - } - store[keyStripped] = v; - return true; - } - var v = new xrfragment_XRF(key,Frag_h[key],index); - if(Object.prototype.hasOwnProperty.call(Frag_h,key)) { - if(!v.validate(value)) { - console.log("src/xrfragment/Parser.hx:67:","⚠ fragment '" + key + "' has incompatible value (" + value + ")"); - return false; - } - store[keyStripped] = v; - if(xrfragment_Parser.debug) { - console.log("src/xrfragment/Parser.hx:71:","✔ " + key + ": " + v.string); - } - } else { - if(typeof(value) == "string") { - v.guessType(v,value); - } - v.flags = xrfragment_XRF.set(xrfragment_XRF.CUSTOMFRAG,v.flags); - store[keyStripped] = v; - } - return true; -}; -xrfragment_Parser.getMetaData = function() { - var meta = { title : ["title","og:title","dc.title"], description : ["aria-description","og:description","dc.description"], author : ["author","dc.creator"], publisher : ["publisher","dc.publisher"], website : ["og:site_name","og:url","dc.publisher"], license : ["SPDX","dc.rights"]}; - return meta; -}; -var xrfragment_URI = $hx_exports["xrfragment"]["URI"] = function() { - this.XRF = { }; - this.hash = { }; - this.fragment = ""; -}; -xrfragment_URI.__name__ = true; -xrfragment_URI.parseFragment = function(url,filter) { - var store = { }; - if(url == null || url.indexOf("#") == -1) { - return store; - } - var fragment = url.split("#"); - var splitArray = fragment[1].split("&"); - var _g = 0; - var _g1 = splitArray.length; - while(_g < _g1) { - var i = _g++; - var splitByEqual = splitArray[i].split("="); - var regexPlus = new EReg("\\+","g"); - var key = splitByEqual[0]; - var value = ""; - if(splitByEqual.length > 1) { - if(xrfragment_XRF.isVector.match(splitByEqual[1])) { - value = splitByEqual[1]; - } else { - var s = regexPlus.split(splitByEqual[1]).join(" "); - value = decodeURIComponent(s.split("+").join(" ")); - } - } - var ok = xrfragment_Parser.parse(key,value,store,i); - } - if(filter != null && filter != 0) { - var _g = 0; - var _g1 = Reflect.fields(store); - while(_g < _g1.length) { - var key = _g1[_g]; - ++_g; - var xrf = store[key]; - if(!xrf.is(filter)) { - Reflect.deleteField(store,key); - } - } - } - return store; -}; -xrfragment_URI.template = function(uri,vars) { - var parts = uri.split("#"); - if(parts.length == 1) { - return uri; - } - var frag = parts[1]; - frag = StringTools.replace(frag,"{","::"); - frag = StringTools.replace(frag,"}","::"); - frag = new haxe_Template(frag).execute(vars); - frag = StringTools.replace(frag,"null",""); - parts[1] = frag; - return parts.join("#"); -}; -xrfragment_URI.parse = function(stringUrl,flags) { - var r = new EReg("^(?:(?![^:@]+:[^:@/]*@)([^:/?#.]+):)?(?://)?((?:(([^:@]*)(?::([^:@]*))?)?@)?([^:/?#]*)(?::(\\d*))?)(((/(?:[^?#](?![^?#/]*\\.[^?#/.]+(?:[?#]|$)))*/?)?([^?#/]*))(?:\\?([^#]*))?(?:#(.*))?)",""); - if(stringUrl.indexOf("://") == -1 && stringUrl.charAt(0) != "/") { - stringUrl = "/" + stringUrl; - } - r.match(stringUrl); - var url = new xrfragment_URI(); - var _g = 0; - var _g1 = xrfragment_URI._parts.length; - while(_g < _g1) { - var i = _g++; - url[xrfragment_URI._parts[i]] = r.matched(i); - } - if(xrfragment_URI.isRelative(url) == true) { - if(url.directory == null && url.host != null) { - url.file = url.host; - } - url.host = ""; - } - url.hash = { }; - if(url.fragment != null && url.fragment.length > 0) { - url.XRF = xrfragment_URI.parseFragment("#" + url.fragment,flags); - var key; - var _g = 0; - var _g1 = Reflect.fields(url.XRF); - while(_g < _g1.length) { - var key = _g1[_g]; - ++_g; - var v = url.XRF[key]; - url.hash[key] = v["string"]; - } - } - xrfragment_URI.computeVars(url); - return url; -}; -xrfragment_URI.computeVars = function(url) { - var r_r = new RegExp("//","g".split("u").join("")); - if(url.directory != null && url.directory.indexOf("//") != -1) { - url.directory = url.directory.replace(r_r,"/"); - } - if(url.path != null && url.path.indexOf("//") != -1) { - url.path = url.path.replace(r_r,"/"); - } - if(url.file != null && url.file.indexOf("//") != -1) { - url.file = url.file.replace(r_r,"/"); - } - url.URN = url.scheme + "://" + url.host; - if(url.port != null) { - url.URN += ":" + url.port; - } - url.URN += url.directory; - if(url.file != null) { - var parts = url.file.split("."); - if(parts.length > 1) { - url.fileExt = parts.pop(); - } - } -}; -xrfragment_URI.toString = function(url) { - var result = ""; - if(url.scheme != null) { - result += url.scheme + "://"; - } - if(url.user != null) { - result += url.user + ":"; - } - if(url.password != null) { - result += url.password + "@"; - } - if(url.host != null) { - result += url.host; - } - if(url.port != null) { - result += ":" + url.port; - } - if(url.directory != null) { - result += url.directory; - } - if(url.file != null) { - result += url.file; - } - if(url.query != null) { - result += "?" + url.query; - } - if(url.fragment != null) { - result += "#" + url.fragment; - } - return result; -}; -xrfragment_URI.appendURI = function(url,appendedURI) { - if(xrfragment_URI.isRelative(url) == true) { - return xrfragment_URI.appendToRelativeURI(url,appendedURI); - } else { - return xrfragment_URI.appendToAbsoluteURI(url,appendedURI); - } -}; -xrfragment_URI.isRelative = function(url) { - return url.scheme == null; -}; -xrfragment_URI.appendToRelativeURI = function(url,appendedURI) { - if(url.directory == null || url.host == null) { - return xrfragment_URI.cloneURI(appendedURI); - } - var resultURI = new xrfragment_URI(); - resultURI.host = url.host; - resultURI.directory = url.directory; - if(appendedURI.host != null) { - resultURI.directory += appendedURI.host; - } - if(appendedURI.directory != null) { - var directory = appendedURI.directory; - if(appendedURI.host == null) { - resultURI.directory += HxOverrides.substr(directory,1,null); - } else { - resultURI.directory += directory; - } - } - if(appendedURI.file != null) { - resultURI.file = appendedURI.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(appendedURI.query != null) { - resultURI.query = appendedURI.query; - } - if(appendedURI.fragment != null) { - resultURI.fragment = appendedURI.fragment; - } - return resultURI; -}; -xrfragment_URI.appendToAbsoluteURI = function(url,appendedURI) { - var resultURI = new xrfragment_URI(); - if(url.scheme != null) { - resultURI.scheme = url.scheme; - } - if(url.host != null) { - resultURI.host = url.host; - } - var directory = ""; - if(url.directory != null) { - directory = url.directory; - } - if(appendedURI.host != null) { - appendedURI.directory += appendedURI.host; - } - if(appendedURI.directory != null) { - directory += appendedURI.directory; - } - resultURI.directory = directory; - if(appendedURI.file != null) { - resultURI.file = appendedURI.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(appendedURI.query != null) { - resultURI.query = appendedURI.query; - } - if(appendedURI.fragment != null) { - resultURI.fragment = appendedURI.fragment; - } - return resultURI; -}; -xrfragment_URI.toAbsolute = function(url,newUrl) { - var newURI = xrfragment_URI.parse(newUrl,0); - var resultURI = new xrfragment_URI(); - resultURI.port = url.port; - resultURI.source = newUrl; - if(newURI.scheme != null) { - resultURI.scheme = newURI.scheme; - } else { - resultURI.scheme = url.scheme; - } - if(newURI.host != null && newURI.host.length > 0) { - resultURI.host = newURI.host; - resultURI.port = null; - resultURI.fragment = null; - resultURI.hash = { }; - resultURI.XRF = { }; - if(newURI.port != null) { - resultURI.port = newURI.port; - } - } else { - resultURI.host = url.host; - } - var directory = ""; - if(url.directory != null) { - directory = url.directory; - } - if(newURI.directory != null) { - if(newUrl.charAt(0) != "/" && newUrl.indexOf("://") == -1) { - var stripRelative_r = new RegExp("\\./.*","".split("u").join("")); - directory = directory.replace(stripRelative_r,""); - directory += newURI.directory; - } else { - directory = newURI.directory; - } - } - resultURI.directory = directory; - if(newURI.file != null) { - resultURI.file = newURI.file; - } else { - resultURI.file = url.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(newURI.query != null) { - resultURI.query = newURI.query; - } - if(newURI.fragment != null) { - resultURI.fragment = newURI.fragment; - } - resultURI.hash = newURI.hash; - resultURI.XRF = newURI.XRF; - xrfragment_URI.computeVars(resultURI); - return resultURI; -}; -xrfragment_URI.cloneURI = function(url) { - var clonedURI = new xrfragment_URI(); - clonedURI.url = url.url; - clonedURI.source = url.source; - clonedURI.scheme = url.scheme; - clonedURI.authority = url.authority; - clonedURI.userInfo = url.userInfo; - clonedURI.password = url.password; - clonedURI.host = url.host; - clonedURI.port = url.port; - clonedURI.relative = url.relative; - clonedURI.path = url.path; - clonedURI.directory = url.directory; - clonedURI.file = url.file; - clonedURI.query = url.query; - clonedURI.fragment = url.fragment; - return clonedURI; -}; -var xrfragment_XRF = $hx_exports["xrfragment"]["XRF"] = function(_fragment,_flags,_index) { - this.floats = []; - this.shift = []; - this.fragment = _fragment; - this.flags = _flags; - this.index = _index; -}; -xrfragment_XRF.__name__ = true; -xrfragment_XRF.set = function(flag,flags) { - return flags | flag; -}; -xrfragment_XRF.unset = function(flag,flags) { - return flags & ~flag; -}; -xrfragment_XRF.prototype = { - is: function(flag) { - var v = this.flags; - if(!(typeof(v) == "number" && ((v | 0) === v))) { - this.flags = 0; - } - return (this.flags & flag) != 0; - } - ,validate: function(value) { - this.guessType(this,value); - var ok = true; - if(value.length == 0 && !this.is(xrfragment_XRF.T_PREDEFINED_VIEW)) { - ok = false; - } - if(!this.is(xrfragment_XRF.T_FLOAT) && this.is(xrfragment_XRF.T_VECTOR2) && !(typeof(this.x) == "number" && typeof(this.y) == "number")) { - ok = false; - } - if(!(this.is(xrfragment_XRF.T_VECTOR2) || this.is(xrfragment_XRF.T_STRING)) && this.is(xrfragment_XRF.T_VECTOR3) && !(typeof(this.x) == "number" && typeof(this.y) == "number" && typeof(this.z) == "number")) { - ok = false; - } - return ok; - } - ,guessType: function(v,str) { - v.string = str; - if(xrfragment_XRF.isReset.match(v.fragment)) { - v.reset = true; - } - if(v.fragment == "loop") { - v.loop = true; - } - if(typeof(str) != "string") { - return; - } - if(str.length > 0) { - if(xrfragment_XRF.isXRFScheme.match(str)) { - v.xrfScheme = true; - str = str.replace(xrfragment_XRF.isXRFScheme.r,""); - v.string = str; - } - if(str.split(",").length > 1) { - var xyzn = str.split(","); - if(xyzn.length > 0) { - v.x = parseFloat(xyzn[0]); - } - if(xyzn.length > 1) { - v.y = parseFloat(xyzn[1]); - } - if(xyzn.length > 2) { - v.z = parseFloat(xyzn[2]); - } - var _g = 0; - var _g1 = xyzn.length; - while(_g < _g1) { - var i = _g++; - v.shift.push(xrfragment_XRF.isShift.match(xyzn[i])); - v.floats.push(parseFloat(xyzn[i].replace(xrfragment_XRF.isShift.r,""))); - } - } - if(xrfragment_XRF.isColor.match(str)) { - v.color = str; - } - if(xrfragment_XRF.isFloat.match(str)) { - v.x = parseFloat(str); - v.float = v.x; - } - if(xrfragment_XRF.isInt.match(str)) { - v.int = Std.parseInt(str); - v.x = v.int; - v.floats.push(v.x); - } - v.filter = new xrfragment_Filter(v.fragment + "=" + v.string); - } else { - v.filter = new xrfragment_Filter(v.fragment); - } - } -}; -function $getIterator(o) { if( o instanceof Array ) return new haxe_iterators_ArrayIterator(o); else return o.iterator(); } -function $bind(o,m) { if( m == null ) return null; if( m.__id__ == null ) m.__id__ = $global.$haxeUID++; var f; if( o.hx__closures__ == null ) o.hx__closures__ = {}; else f = o.hx__closures__[m.__id__]; if( f == null ) { f = m.bind(o); o.hx__closures__[m.__id__] = f; } return f; } -$global.$haxeUID |= 0; -if(typeof(performance) != "undefined" ? typeof(performance.now) == "function" : false) { - HxOverrides.now = performance.now.bind(performance); -} -if( String.fromCodePoint == null ) String.fromCodePoint = function(c) { return c < 0x10000 ? String.fromCharCode(c) : String.fromCharCode((c>>10)+0xD7C0)+String.fromCharCode((c&0x3FF)+0xDC00); } -String.__name__ = true; -Array.__name__ = true; -js_Boot.__toStr = ({ }).toString; -haxe_Template.splitter = new EReg("(::[A-Za-z0-9_ ()&|!+=/><*.\"-]+::|\\$\\$([A-Za-z0-9_-]+)\\()",""); -haxe_Template.expr_splitter = new EReg("(\\(|\\)|[ \r\n\t]*\"[^\"]*\"[ \r\n\t]*|[!+=/><*.&|-]+)",""); -haxe_Template.expr_trim = new EReg("^[ ]*([^ ]+)[ ]*$",""); -haxe_Template.expr_int = new EReg("^[0-9]+$",""); -haxe_Template.expr_float = new EReg("^([+-]?)(?=\\d|,\\d)\\d*(,\\d*)?([Ee]([+-]?\\d+))?$",""); -haxe_Template.globals = { }; -haxe_Template.hxKeepArrayIterator = new haxe_iterators_ArrayIterator([]); -xrfragment_Parser.error = ""; -xrfragment_Parser.debug = false; -xrfragment_URI.__meta__ = { statics : { template : { keep : null}}}; -xrfragment_URI._parts = ["source","scheme","authority","userInfo","user","password","host","port","relative","path","directory","file","query","fragment"]; -xrfragment_XRF.IMMUTABLE = 1; -xrfragment_XRF.PROP_BIND = 2; -xrfragment_XRF.QUERY_OPERATOR = 4; -xrfragment_XRF.PROMPT = 8; -xrfragment_XRF.CUSTOMFRAG = 16; -xrfragment_XRF.NAVIGATOR = 32; -xrfragment_XRF.METADATA = 64; -xrfragment_XRF.PV_OVERRIDE = 128; -xrfragment_XRF.PV_EXECUTE = 256; -xrfragment_XRF.T_COLOR = 8192; -xrfragment_XRF.T_INT = 16384; -xrfragment_XRF.T_FLOAT = 32768; -xrfragment_XRF.T_VECTOR2 = 65536; -xrfragment_XRF.T_VECTOR3 = 131072; -xrfragment_XRF.T_URL = 262144; -xrfragment_XRF.T_PREDEFINED_VIEW = 524288; -xrfragment_XRF.T_STRING = 1048576; -xrfragment_XRF.T_MEDIAFRAG = 2097152; -xrfragment_XRF.T_DYNAMICKEY = 4194304; -xrfragment_XRF.T_DYNAMICKEYVALUE = 8388608; -xrfragment_XRF.isColor = new EReg("^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$",""); -xrfragment_XRF.isInt = new EReg("^[-0-9]+$",""); -xrfragment_XRF.isFloat = new EReg("^[-0-9]+\\.[0-9]+$",""); -xrfragment_XRF.isVector = new EReg("([,]+|\\w)",""); -xrfragment_XRF.isUrl = new EReg("(://)?\\..*",""); -xrfragment_XRF.isUrlOrPretypedView = new EReg("(^#|://)?\\..*",""); -xrfragment_XRF.isString = new EReg(".*",""); -xrfragment_XRF.operators = new EReg("(^[-]|^[!]|[\\*]$)","g"); -xrfragment_XRF.isProp = new EReg("^.*=[><=]?",""); -xrfragment_XRF.isExclude = new EReg("^-",""); -xrfragment_XRF.isDeep = new EReg("\\*",""); -xrfragment_XRF.isNumber = new EReg("^[0-9\\.]+$",""); -xrfragment_XRF.isMediaFrag = new EReg("^([0-9\\.,\\*+-]+)$",""); -xrfragment_XRF.isReset = new EReg("^!",""); -xrfragment_XRF.isShift = new EReg("^(\\+|--)",""); -xrfragment_XRF.isXRFScheme = new EReg("^xrf://",""); -})(typeof window != "undefined" ? window : typeof global != "undefined" ? global : typeof self != "undefined" ? self : this); -var xrfragment = $hx_exports["xrfragment"]; -export default xrfragment; -// Generated by Haxe 4.3.3 -var $hx_exports = typeof exports != "undefined" ? exports : typeof window != "undefined" ? window : typeof self != "undefined" ? self : this; -(function ($global) { "use strict"; -$hx_exports["xrfragment"] = $hx_exports["xrfragment"] || {}; -var $estr = function() { return js_Boot.__string_rec(this,''); },$hxEnums = $hxEnums || {},$_; -function $extend(from, fields) { - var proto = Object.create(from); - for (var name in fields) proto[name] = fields[name]; - if( fields.toString !== Object.prototype.toString ) proto.toString = fields.toString; - return proto; -} -var EReg = function(r,opt) { - this.r = new RegExp(r,opt.split("u").join("")); -}; -EReg.__name__ = true; -EReg.prototype = { - match: function(s) { - if(this.r.global) { - this.r.lastIndex = 0; - } - this.r.m = this.r.exec(s); - this.r.s = s; - return this.r.m != null; - } - ,matched: function(n) { - if(this.r.m != null && n >= 0 && n < this.r.m.length) { - return this.r.m[n]; - } else { - throw haxe_Exception.thrown("EReg::matched"); - } - } - ,matchedRight: function() { - if(this.r.m == null) { - throw haxe_Exception.thrown("No string matched"); - } - var sz = this.r.m.index + this.r.m[0].length; - return HxOverrides.substr(this.r.s,sz,this.r.s.length - sz); - } - ,matchedPos: function() { - if(this.r.m == null) { - throw haxe_Exception.thrown("No string matched"); - } - return { pos : this.r.m.index, len : this.r.m[0].length}; - } - ,split: function(s) { - var d = "#__delim__#"; - return s.replace(this.r,d).split(d); - } -}; -var HxOverrides = function() { }; -HxOverrides.__name__ = true; -HxOverrides.cca = function(s,index) { - var x = s.charCodeAt(index); - if(x != x) { - return undefined; - } - return x; -}; -HxOverrides.substr = function(s,pos,len) { - if(len == null) { - len = s.length; - } else if(len < 0) { - if(pos == 0) { - len = s.length + len; - } else { - return ""; - } - } - return s.substr(pos,len); -}; -HxOverrides.now = function() { - return Date.now(); -}; -Math.__name__ = true; -var Reflect = function() { }; -Reflect.__name__ = true; -Reflect.field = function(o,field) { - try { - return o[field]; - } catch( _g ) { - return null; - } -}; -Reflect.getProperty = function(o,field) { - var tmp; - if(o == null) { - return null; - } else { - var tmp1; - if(o.__properties__) { - tmp = o.__properties__["get_" + field]; - tmp1 = tmp; - } else { - tmp1 = false; - } - if(tmp1) { - return o[tmp](); - } else { - return o[field]; - } - } -}; -Reflect.fields = function(o) { - var a = []; - if(o != null) { - var hasOwnProperty = Object.prototype.hasOwnProperty; - for( var f in o ) { - if(f != "__id__" && f != "hx__closures__" && hasOwnProperty.call(o,f)) { - a.push(f); - } - } - } - return a; -}; -Reflect.isObject = function(v) { - if(v == null) { - return false; - } - var t = typeof(v); - if(!(t == "string" || t == "object" && v.__enum__ == null)) { - if(t == "function") { - return (v.__name__ || v.__ename__) != null; - } else { - return false; - } - } else { - return true; - } -}; -Reflect.deleteField = function(o,field) { - if(!Object.prototype.hasOwnProperty.call(o,field)) { - return false; - } - delete(o[field]); - return true; -}; -Reflect.copy = function(o) { - if(o == null) { - return null; - } - var o2 = { }; - var _g = 0; - var _g1 = Reflect.fields(o); - while(_g < _g1.length) { - var f = _g1[_g]; - ++_g; - o2[f] = Reflect.field(o,f); - } - return o2; -}; -var Std = function() { }; -Std.__name__ = true; -Std.string = function(s) { - return js_Boot.__string_rec(s,""); -}; -Std.parseInt = function(x) { - var v = parseInt(x); - if(isNaN(v)) { - return null; - } - return v; -}; -var StringBuf = function() { - this.b = ""; -}; -StringBuf.__name__ = true; -var StringTools = function() { }; -StringTools.__name__ = true; -StringTools.isSpace = function(s,pos) { - var c = HxOverrides.cca(s,pos); - if(!(c > 8 && c < 14)) { - return c == 32; - } else { - return true; - } -}; -StringTools.ltrim = function(s) { - var l = s.length; - var r = 0; - while(r < l && StringTools.isSpace(s,r)) ++r; - if(r > 0) { - return HxOverrides.substr(s,r,l - r); - } else { - return s; - } -}; -StringTools.rtrim = function(s) { - var l = s.length; - var r = 0; - while(r < l && StringTools.isSpace(s,l - r - 1)) ++r; - if(r > 0) { - return HxOverrides.substr(s,0,l - r); - } else { - return s; - } -}; -StringTools.trim = function(s) { - return StringTools.ltrim(StringTools.rtrim(s)); -}; -StringTools.replace = function(s,sub,by) { - return s.split(sub).join(by); -}; -var haxe_Exception = function(message,previous,native) { - Error.call(this,message); - this.message = message; - this.__previousException = previous; - this.__nativeException = native != null ? native : this; -}; -haxe_Exception.__name__ = true; -haxe_Exception.caught = function(value) { - if(((value) instanceof haxe_Exception)) { - return value; - } else if(((value) instanceof Error)) { - return new haxe_Exception(value.message,null,value); - } else { - return new haxe_ValueException(value,null,value); - } -}; -haxe_Exception.thrown = function(value) { - if(((value) instanceof haxe_Exception)) { - return value.get_native(); - } else if(((value) instanceof Error)) { - return value; - } else { - var e = new haxe_ValueException(value); - return e; - } -}; -haxe_Exception.__super__ = Error; -haxe_Exception.prototype = $extend(Error.prototype,{ - unwrap: function() { - return this.__nativeException; - } - ,get_native: function() { - return this.__nativeException; - } - ,__properties__: {get_native:"get_native"} -}); -var haxe__$Template_TemplateExpr = $hxEnums["haxe._Template.TemplateExpr"] = { __ename__:true,__constructs__:null - ,OpVar: ($_=function(v) { return {_hx_index:0,v:v,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpVar",$_.__params__ = ["v"],$_) - ,OpExpr: ($_=function(expr) { return {_hx_index:1,expr:expr,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpExpr",$_.__params__ = ["expr"],$_) - ,OpIf: ($_=function(expr,eif,eelse) { return {_hx_index:2,expr:expr,eif:eif,eelse:eelse,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpIf",$_.__params__ = ["expr","eif","eelse"],$_) - ,OpStr: ($_=function(str) { return {_hx_index:3,str:str,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpStr",$_.__params__ = ["str"],$_) - ,OpBlock: ($_=function(l) { return {_hx_index:4,l:l,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpBlock",$_.__params__ = ["l"],$_) - ,OpForeach: ($_=function(expr,loop) { return {_hx_index:5,expr:expr,loop:loop,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpForeach",$_.__params__ = ["expr","loop"],$_) - ,OpMacro: ($_=function(name,params) { return {_hx_index:6,name:name,params:params,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpMacro",$_.__params__ = ["name","params"],$_) -}; -haxe__$Template_TemplateExpr.__constructs__ = [haxe__$Template_TemplateExpr.OpVar,haxe__$Template_TemplateExpr.OpExpr,haxe__$Template_TemplateExpr.OpIf,haxe__$Template_TemplateExpr.OpStr,haxe__$Template_TemplateExpr.OpBlock,haxe__$Template_TemplateExpr.OpForeach,haxe__$Template_TemplateExpr.OpMacro]; -var haxe_iterators_ArrayIterator = function(array) { - this.current = 0; - this.array = array; -}; -haxe_iterators_ArrayIterator.__name__ = true; -haxe_iterators_ArrayIterator.prototype = { - hasNext: function() { - return this.current < this.array.length; - } - ,next: function() { - return this.array[this.current++]; - } -}; -var haxe_Template = function(str) { - var tokens = this.parseTokens(str); - this.expr = this.parseBlock(tokens); - if(!tokens.isEmpty()) { - throw haxe_Exception.thrown("Unexpected '" + Std.string(tokens.first().s) + "'"); - } -}; -haxe_Template.__name__ = true; -haxe_Template.prototype = { - execute: function(context,macros) { - this.macros = macros == null ? { } : macros; - this.context = context; - this.stack = new haxe_ds_List(); - this.buf = new StringBuf(); - this.run(this.expr); - return this.buf.b; - } - ,resolve: function(v) { - if(v == "__current__") { - return this.context; - } - if(Reflect.isObject(this.context)) { - var value = Reflect.getProperty(this.context,v); - if(value != null || Object.prototype.hasOwnProperty.call(this.context,v)) { - return value; - } - } - var _g_head = this.stack.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var ctx = val; - var value = Reflect.getProperty(ctx,v); - if(value != null || Object.prototype.hasOwnProperty.call(ctx,v)) { - return value; - } - } - return Reflect.field(haxe_Template.globals,v); - } - ,parseTokens: function(data) { - var tokens = new haxe_ds_List(); - while(haxe_Template.splitter.match(data)) { - var p = haxe_Template.splitter.matchedPos(); - if(p.pos > 0) { - tokens.add({ p : HxOverrides.substr(data,0,p.pos), s : true, l : null}); - } - if(HxOverrides.cca(data,p.pos) == 58) { - tokens.add({ p : HxOverrides.substr(data,p.pos + 2,p.len - 4), s : false, l : null}); - data = haxe_Template.splitter.matchedRight(); - continue; - } - var parp = p.pos + p.len; - var npar = 1; - var params = []; - var part = ""; - while(true) { - var c = HxOverrides.cca(data,parp); - ++parp; - if(c == 40) { - ++npar; - } else if(c == 41) { - --npar; - if(npar <= 0) { - break; - } - } else if(c == null) { - throw haxe_Exception.thrown("Unclosed macro parenthesis"); - } - if(c == 44 && npar == 1) { - params.push(part); - part = ""; - } else { - part += String.fromCodePoint(c); - } - } - params.push(part); - tokens.add({ p : haxe_Template.splitter.matched(2), s : false, l : params}); - data = HxOverrides.substr(data,parp,data.length - parp); - } - if(data.length > 0) { - tokens.add({ p : data, s : true, l : null}); - } - return tokens; - } - ,parseBlock: function(tokens) { - var l = new haxe_ds_List(); - while(true) { - var t = tokens.first(); - if(t == null) { - break; - } - if(!t.s && (t.p == "end" || t.p == "else" || HxOverrides.substr(t.p,0,7) == "elseif ")) { - break; - } - l.add(this.parse(tokens)); - } - if(l.length == 1) { - return l.first(); - } - return haxe__$Template_TemplateExpr.OpBlock(l); - } - ,parse: function(tokens) { - var t = tokens.pop(); - var p = t.p; - if(t.s) { - return haxe__$Template_TemplateExpr.OpStr(p); - } - if(t.l != null) { - var pe = new haxe_ds_List(); - var _g = 0; - var _g1 = t.l; - while(_g < _g1.length) { - var p1 = _g1[_g]; - ++_g; - pe.add(this.parseBlock(this.parseTokens(p1))); - } - return haxe__$Template_TemplateExpr.OpMacro(p,pe); - } - var kwdEnd = function(kwd) { - var pos = -1; - var length = kwd.length; - if(HxOverrides.substr(p,0,length) == kwd) { - pos = length; - var _g_offset = 0; - var _g_s = HxOverrides.substr(p,length,null); - while(_g_offset < _g_s.length) { - var c = _g_s.charCodeAt(_g_offset++); - if(c == 32) { - ++pos; - } else { - break; - } - } - } - return pos; - }; - var pos = kwdEnd("if"); - if(pos > 0) { - p = HxOverrides.substr(p,pos,p.length - pos); - var e = this.parseExpr(p); - var eif = this.parseBlock(tokens); - var t = tokens.first(); - var eelse; - if(t == null) { - throw haxe_Exception.thrown("Unclosed 'if'"); - } - if(t.p == "end") { - tokens.pop(); - eelse = null; - } else if(t.p == "else") { - tokens.pop(); - eelse = this.parseBlock(tokens); - t = tokens.pop(); - if(t == null || t.p != "end") { - throw haxe_Exception.thrown("Unclosed 'else'"); - } - } else { - t.p = HxOverrides.substr(t.p,4,t.p.length - 4); - eelse = this.parse(tokens); - } - return haxe__$Template_TemplateExpr.OpIf(e,eif,eelse); - } - var pos = kwdEnd("foreach"); - if(pos >= 0) { - p = HxOverrides.substr(p,pos,p.length - pos); - var e = this.parseExpr(p); - var efor = this.parseBlock(tokens); - var t = tokens.pop(); - if(t == null || t.p != "end") { - throw haxe_Exception.thrown("Unclosed 'foreach'"); - } - return haxe__$Template_TemplateExpr.OpForeach(e,efor); - } - if(haxe_Template.expr_splitter.match(p)) { - return haxe__$Template_TemplateExpr.OpExpr(this.parseExpr(p)); - } - return haxe__$Template_TemplateExpr.OpVar(p); - } - ,parseExpr: function(data) { - var l = new haxe_ds_List(); - var expr = data; - while(haxe_Template.expr_splitter.match(data)) { - var p = haxe_Template.expr_splitter.matchedPos(); - var k = p.pos + p.len; - if(p.pos != 0) { - l.add({ p : HxOverrides.substr(data,0,p.pos), s : true}); - } - var p1 = haxe_Template.expr_splitter.matched(0); - l.add({ p : p1, s : p1.indexOf("\"") >= 0}); - data = haxe_Template.expr_splitter.matchedRight(); - } - if(data.length != 0) { - var _g_offset = 0; - var _g_s = data; - while(_g_offset < _g_s.length) { - var _g_key = _g_offset; - var _g_value = _g_s.charCodeAt(_g_offset++); - var i = _g_key; - var c = _g_value; - if(c != 32) { - l.add({ p : HxOverrides.substr(data,i,null), s : true}); - break; - } - } - } - var e; - try { - e = this.makeExpr(l); - if(!l.isEmpty()) { - throw haxe_Exception.thrown(l.first().p); - } - } catch( _g ) { - var _g1 = haxe_Exception.caught(_g).unwrap(); - if(typeof(_g1) == "string") { - var s = _g1; - throw haxe_Exception.thrown("Unexpected '" + s + "' in " + expr); - } else { - throw _g; - } - } - return function() { - try { - return e(); - } catch( _g ) { - var exc = haxe_Exception.caught(_g).unwrap(); - throw haxe_Exception.thrown("Error : " + Std.string(exc) + " in " + expr); - } - }; - } - ,makeConst: function(v) { - haxe_Template.expr_trim.match(v); - v = haxe_Template.expr_trim.matched(1); - if(HxOverrides.cca(v,0) == 34) { - var str = HxOverrides.substr(v,1,v.length - 2); - return function() { - return str; - }; - } - if(haxe_Template.expr_int.match(v)) { - var i = Std.parseInt(v); - return function() { - return i; - }; - } - if(haxe_Template.expr_float.match(v)) { - var f = parseFloat(v); - return function() { - return f; - }; - } - var me = this; - return function() { - return me.resolve(v); - }; - } - ,makePath: function(e,l) { - var p = l.first(); - if(p == null || p.p != ".") { - return e; - } - l.pop(); - var field = l.pop(); - if(field == null || !field.s) { - throw haxe_Exception.thrown(field.p); - } - var f = field.p; - haxe_Template.expr_trim.match(f); - f = haxe_Template.expr_trim.matched(1); - return this.makePath(function() { - return Reflect.field(e(),f); - },l); - } - ,makeExpr: function(l) { - return this.makePath(this.makeExpr2(l),l); - } - ,skipSpaces: function(l) { - var p = l.first(); - while(p != null) { - var _g_offset = 0; - var _g_s = p.p; - while(_g_offset < _g_s.length) { - var c = _g_s.charCodeAt(_g_offset++); - if(c != 32) { - return; - } - } - l.pop(); - p = l.first(); - } - } - ,makeExpr2: function(l) { - this.skipSpaces(l); - var p = l.pop(); - this.skipSpaces(l); - if(p == null) { - throw haxe_Exception.thrown(""); - } - if(p.s) { - return this.makeConst(p.p); - } - switch(p.p) { - case "!": - var e = this.makeExpr(l); - return function() { - var v = e(); - if(v != null) { - return v == false; - } else { - return true; - } - }; - case "(": - this.skipSpaces(l); - var e1 = this.makeExpr(l); - this.skipSpaces(l); - var p1 = l.pop(); - if(p1 == null || p1.s) { - throw haxe_Exception.thrown(p1); - } - if(p1.p == ")") { - return e1; - } - this.skipSpaces(l); - var e2 = this.makeExpr(l); - this.skipSpaces(l); - var p2 = l.pop(); - this.skipSpaces(l); - if(p2 == null || p2.p != ")") { - throw haxe_Exception.thrown(p2); - } - switch(p1.p) { - case "!=": - return function() { - return e1() != e2(); - }; - case "&&": - return function() { - return e1() && e2(); - }; - case "*": - return function() { - return e1() * e2(); - }; - case "+": - return function() { - return e1() + e2(); - }; - case "-": - return function() { - return e1() - e2(); - }; - case "/": - return function() { - return e1() / e2(); - }; - case "<": - return function() { - return e1() < e2(); - }; - case "<=": - return function() { - return e1() <= e2(); - }; - case "==": - return function() { - return e1() == e2(); - }; - case ">": - return function() { - return e1() > e2(); - }; - case ">=": - return function() { - return e1() >= e2(); - }; - case "||": - return function() { - return e1() || e2(); - }; - default: - throw haxe_Exception.thrown("Unknown operation " + p1.p); - } - break; - case "-": - var e3 = this.makeExpr(l); - return function() { - return -e3(); - }; - } - throw haxe_Exception.thrown(p.p); - } - ,run: function(e) { - switch(e._hx_index) { - case 0: - var v = e.v; - var _this = this.buf; - var x = Std.string(this.resolve(v)); - _this.b += Std.string(x); - break; - case 1: - var e1 = e.expr; - var _this = this.buf; - var x = Std.string(e1()); - _this.b += Std.string(x); - break; - case 2: - var e1 = e.expr; - var eif = e.eif; - var eelse = e.eelse; - var v = e1(); - if(v == null || v == false) { - if(eelse != null) { - this.run(eelse); - } - } else { - this.run(eif); - } - break; - case 3: - var str = e.str; - this.buf.b += str == null ? "null" : "" + str; - break; - case 4: - var l = e.l; - var _g_head = l.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var e1 = val; - this.run(e1); - } - break; - case 5: - var e1 = e.expr; - var loop = e.loop; - var v = e1(); - try { - var x = $getIterator(v); - if(x.hasNext == null) { - throw haxe_Exception.thrown(null); - } - v = x; - } catch( _g ) { - try { - if(v.hasNext == null) { - throw haxe_Exception.thrown(null); - } - } catch( _g1 ) { - throw haxe_Exception.thrown("Cannot iter on " + Std.string(v)); - } - } - this.stack.push(this.context); - var v1 = v; - var ctx = v1; - while(ctx.hasNext()) { - var ctx1 = ctx.next(); - this.context = ctx1; - this.run(loop); - } - this.context = this.stack.pop(); - break; - case 6: - var m = e.name; - var params = e.params; - var v = Reflect.field(this.macros,m); - var pl = []; - var old = this.buf; - pl.push($bind(this,this.resolve)); - var _g_head = params.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var p = val; - if(p._hx_index == 0) { - var v1 = p.v; - pl.push(this.resolve(v1)); - } else { - this.buf = new StringBuf(); - this.run(p); - pl.push(this.buf.b); - } - } - this.buf = old; - try { - var _this = this.buf; - var x = Std.string(v.apply(this.macros,pl)); - _this.b += Std.string(x); - } catch( _g ) { - var e = haxe_Exception.caught(_g).unwrap(); - var plstr; - try { - plstr = pl.join(","); - } catch( _g1 ) { - plstr = "???"; - } - var msg = "Macro call " + m + "(" + plstr + ") failed (" + Std.string(e) + ")"; - throw haxe_Exception.thrown(msg); - } - break; - } - } -}; -var haxe_ValueException = function(value,previous,native) { - haxe_Exception.call(this,String(value),previous,native); - this.value = value; -}; -haxe_ValueException.__name__ = true; -haxe_ValueException.__super__ = haxe_Exception; -haxe_ValueException.prototype = $extend(haxe_Exception.prototype,{ - unwrap: function() { - return this.value; - } -}); -var haxe_ds_List = function() { - this.length = 0; -}; -haxe_ds_List.__name__ = true; -haxe_ds_List.prototype = { - add: function(item) { - var x = new haxe_ds__$List_ListNode(item,null); - if(this.h == null) { - this.h = x; - } else { - this.q.next = x; - } - this.q = x; - this.length++; - } - ,push: function(item) { - var x = new haxe_ds__$List_ListNode(item,this.h); - this.h = x; - if(this.q == null) { - this.q = x; - } - this.length++; - } - ,first: function() { - if(this.h == null) { - return null; - } else { - return this.h.item; - } - } - ,pop: function() { - if(this.h == null) { - return null; - } - var x = this.h.item; - this.h = this.h.next; - if(this.h == null) { - this.q = null; - } - this.length--; - return x; - } - ,isEmpty: function() { - return this.h == null; - } - ,toString: function() { - var s_b = ""; - var first = true; - var l = this.h; - s_b += "{"; - while(l != null) { - if(first) { - first = false; - } else { - s_b += ", "; - } - s_b += Std.string(Std.string(l.item)); - l = l.next; - } - s_b += "}"; - return s_b; - } -}; -var haxe_ds__$List_ListNode = function(item,next) { - this.item = item; - this.next = next; -}; -haxe_ds__$List_ListNode.__name__ = true; -var js_Boot = function() { }; -js_Boot.__name__ = true; -js_Boot.__string_rec = function(o,s) { - if(o == null) { - return "null"; - } - if(s.length >= 5) { - return "<...>"; - } - var t = typeof(o); - if(t == "function" && (o.__name__ || o.__ename__)) { - t = "object"; - } - switch(t) { - case "function": - return ""; - case "object": - if(o.__enum__) { - var e = $hxEnums[o.__enum__]; - var con = e.__constructs__[o._hx_index]; - var n = con._hx_name; - if(con.__params__) { - s = s + "\t"; - return n + "(" + ((function($this) { - var $r; - var _g = []; - { - var _g1 = 0; - var _g2 = con.__params__; - while(true) { - if(!(_g1 < _g2.length)) { - break; - } - var p = _g2[_g1]; - _g1 = _g1 + 1; - _g.push(js_Boot.__string_rec(o[p],s)); - } - } - $r = _g; - return $r; - }(this))).join(",") + ")"; - } else { - return n; - } - } - if(((o) instanceof Array)) { - var str = "["; - s += "\t"; - var _g = 0; - var _g1 = o.length; - while(_g < _g1) { - var i = _g++; - str += (i > 0 ? "," : "") + js_Boot.__string_rec(o[i],s); - } - str += "]"; - return str; - } - var tostr; - try { - tostr = o.toString; - } catch( _g ) { - return "???"; - } - if(tostr != null && tostr != Object.toString && typeof(tostr) == "function") { - var s2 = o.toString(); - if(s2 != "[object Object]") { - return s2; - } - } - var str = "{\n"; - s += "\t"; - var hasp = o.hasOwnProperty != null; - var k = null; - for( k in o ) { - if(hasp && !o.hasOwnProperty(k)) { - continue; - } - if(k == "prototype" || k == "__class__" || k == "__super__" || k == "__interfaces__" || k == "__properties__") { - continue; - } - if(str.length != 2) { - str += ", \n"; - } - str += s + k + " : " + js_Boot.__string_rec(o[k],s); - } - s = s.substring(1); - str += "\n" + s + "}"; - return str; - case "string": - return o; - default: - return String(o); - } -}; -var xrfragment_Filter = $hx_exports["xrfragment"]["Filter"] = function(str) { - this.q = { }; - this.str = ""; - if(str != null) { - this.parse(str); - } -}; -xrfragment_Filter.__name__ = true; -xrfragment_Filter.prototype = { - toObject: function() { - return Reflect.copy(this.q); - } - ,get: function() { - return Reflect.copy(this.q); - } - ,parse: function(str) { - var token = str.split(" "); - var q = { }; - var process = function(str,prefix) { - if(prefix == null) { - prefix = ""; - } - str = StringTools.trim(str); - var k = str.split("=")[0]; - var v = str.split("=")[1]; - var filter = { }; - if(q[prefix + k]) { - filter = q[prefix + k]; - } - if(xrfragment_XRF.isProp.match(str)) { - var oper = ""; - if(str.indexOf(">") != -1) { - oper = ">"; - } - if(str.indexOf("<") != -1) { - oper = "<"; - } - if(xrfragment_XRF.isExclude.match(k)) { - k = HxOverrides.substr(k,1,null); - } - v = HxOverrides.substr(v,oper.length,null); - if(oper.length == 0) { - oper = "="; - } - var rule = { }; - if(xrfragment_XRF.isNumber.match(v)) { - rule[oper] = parseFloat(v); - } else { - rule[oper] = v; - } - q["expr"] = rule; - } - var value = xrfragment_XRF.isDeep.match(str) ? k.split("*").length - 1 : 0; - q["deep"] = value; - var value = xrfragment_XRF.isExclude.match(str) ? false : true; - q["show"] = value; - var value = k.replace(xrfragment_XRF.operators.r,""); - q["key"] = value; - q["value"] = v; - }; - var _g = 0; - var _g1 = token.length; - while(_g < _g1) { - var i = _g++; - process(token[i]); - } - return this.q = q; - } - ,test: function(obj) { - var qualify = false; - var _g = 0; - var _g1 = Reflect.fields(obj); - while(_g < _g1.length) { - var k = _g1[_g]; - ++_g; - var v = Std.string(Reflect.field(obj,k)); - if(this.testProperty(k,v)) { - qualify = true; - } - } - var _g = 0; - var _g1 = Reflect.fields(obj); - while(_g < _g1.length) { - var k = _g1[_g]; - ++_g; - var v = Std.string(Reflect.field(obj,k)); - if(this.testProperty(k,v,true)) { - qualify = false; - } - } - return qualify; - } - ,testProperty: function(property,value,exclude) { - var conds = 0; - var fails = 0; - var qualify = 0; - var testprop = function(expr) { - conds += 1; - fails += expr ? 0 : 1; - return expr; - }; - if(this.q[value] != null) { - var v = this.q[value]; - if(v[property] != null) { - return v[property]; - } - } - if(Reflect.field(this.q,"expr")) { - var f = Reflect.field(this.q,"expr"); - if(!Reflect.field(this.q,"show")) { - if(Reflect.field(f,"!=") != null && testprop((value == null ? "null" : "" + value) == Std.string(Reflect.field(f,"!="))) && exclude) { - ++qualify; - } - } else { - if(Reflect.field(f,"*") != null && testprop(parseFloat(value) != null)) { - ++qualify; - } - if(Reflect.field(f,">") != null && testprop(parseFloat(value) >= parseFloat(Reflect.field(f,">")))) { - ++qualify; - } - if(Reflect.field(f,"<") != null && testprop(parseFloat(value) <= parseFloat(Reflect.field(f,"<")))) { - ++qualify; - } - if(Reflect.field(f,"=") != null && (testprop(value == Reflect.field(f,"=")) || testprop(parseFloat(value) == parseFloat(Reflect.field(f,"="))))) { - ++qualify; - } - } - } - return qualify > 0; - } -}; -var xrfragment_Parser = $hx_exports["xrfragment"]["Parser"] = function() { }; -xrfragment_Parser.__name__ = true; -xrfragment_Parser.parse = function(key,value,store,index) { - var Frag_h = Object.create(null); - Frag_h["#"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_PREDEFINED_VIEW | xrfragment_XRF.PV_EXECUTE; - Frag_h["src"] = xrfragment_XRF.T_URL; - Frag_h["href"] = xrfragment_XRF.T_URL | xrfragment_XRF.T_PREDEFINED_VIEW; - Frag_h["tag"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["pos"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_VECTOR3 | xrfragment_XRF.T_STRING | xrfragment_XRF.METADATA | xrfragment_XRF.NAVIGATOR; - Frag_h["rot"] = xrfragment_XRF.QUERY_OPERATOR | xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_VECTOR3 | xrfragment_XRF.METADATA | xrfragment_XRF.NAVIGATOR; - Frag_h["t"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_FLOAT | xrfragment_XRF.T_VECTOR2 | xrfragment_XRF.NAVIGATOR | xrfragment_XRF.METADATA; - Frag_h["s"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_MEDIAFRAG; - Frag_h["loop"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_PREDEFINED_VIEW; - Frag_h["uv"] = xrfragment_XRF.T_VECTOR2 | xrfragment_XRF.T_MEDIAFRAG; - Frag_h["namespace"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["SPDX"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["unit"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["description"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - var keyStripped = key.replace(xrfragment_XRF.operators.r,""); - var isPVDynamic = key.length > 0 && !Object.prototype.hasOwnProperty.call(Frag_h,key); - if(isPVDynamic) { - var v = new xrfragment_XRF(key,xrfragment_XRF.PV_EXECUTE | xrfragment_XRF.NAVIGATOR,index); - v.validate(value); - v.flags = xrfragment_XRF.set(xrfragment_XRF.T_DYNAMICKEY,v.flags); - if(!Object.prototype.hasOwnProperty.call(Frag_h,key)) { - v.flags = xrfragment_XRF.set(xrfragment_XRF.CUSTOMFRAG,v.flags); - } - if(value.length == 0) { - v.flags = xrfragment_XRF.set(xrfragment_XRF.T_DYNAMICKEYVALUE,v.flags); - } - store[keyStripped] = v; - return true; - } - var v = new xrfragment_XRF(key,Frag_h[key],index); - if(Object.prototype.hasOwnProperty.call(Frag_h,key)) { - if(!v.validate(value)) { - console.log("src/xrfragment/Parser.hx:67:","⚠ fragment '" + key + "' has incompatible value (" + value + ")"); - return false; - } - store[keyStripped] = v; - if(xrfragment_Parser.debug) { - console.log("src/xrfragment/Parser.hx:71:","✔ " + key + ": " + v.string); - } - } else { - if(typeof(value) == "string") { - v.guessType(v,value); - } - v.flags = xrfragment_XRF.set(xrfragment_XRF.CUSTOMFRAG,v.flags); - store[keyStripped] = v; - } - return true; -}; -xrfragment_Parser.getMetaData = function() { - var meta = { title : ["title","og:title","dc.title"], description : ["aria-description","og:description","dc.description"], author : ["author","dc.creator"], publisher : ["publisher","dc.publisher"], website : ["og:site_name","og:url","dc.publisher"], license : ["SPDX","dc.rights"]}; - return meta; -}; -var xrfragment_URI = $hx_exports["xrfragment"]["URI"] = function() { - this.XRF = { }; - this.hash = { }; - this.fragment = ""; -}; -xrfragment_URI.__name__ = true; -xrfragment_URI.parseFragment = function(url,filter) { - var store = { }; - if(url == null || url.indexOf("#") == -1) { - return store; - } - var fragment = url.split("#"); - var splitArray = fragment[1].split("&"); - var _g = 0; - var _g1 = splitArray.length; - while(_g < _g1) { - var i = _g++; - var splitByEqual = splitArray[i].split("="); - var regexPlus = new EReg("\\+","g"); - var key = splitByEqual[0]; - var value = ""; - if(splitByEqual.length > 1) { - if(xrfragment_XRF.isVector.match(splitByEqual[1])) { - value = splitByEqual[1]; - } else { - var s = regexPlus.split(splitByEqual[1]).join(" "); - value = decodeURIComponent(s.split("+").join(" ")); - } - } - var ok = xrfragment_Parser.parse(key,value,store,i); - } - if(filter != null && filter != 0) { - var _g = 0; - var _g1 = Reflect.fields(store); - while(_g < _g1.length) { - var key = _g1[_g]; - ++_g; - var xrf = store[key]; - if(!xrf.is(filter)) { - Reflect.deleteField(store,key); - } - } - } - return store; -}; -xrfragment_URI.template = function(uri,vars) { - var parts = uri.split("#"); - if(parts.length == 1) { - return uri; - } - var frag = parts[1]; - frag = StringTools.replace(frag,"{","::"); - frag = StringTools.replace(frag,"}","::"); - frag = new haxe_Template(frag).execute(vars); - frag = StringTools.replace(frag,"null",""); - parts[1] = frag; - return parts.join("#"); -}; -xrfragment_URI.parse = function(stringUrl,flags) { - var r = new EReg("^(?:(?![^:@]+:[^:@/]*@)([^:/?#.]+):)?(?://)?((?:(([^:@]*)(?::([^:@]*))?)?@)?([^:/?#]*)(?::(\\d*))?)(((/(?:[^?#](?![^?#/]*\\.[^?#/.]+(?:[?#]|$)))*/?)?([^?#/]*))(?:\\?([^#]*))?(?:#(.*))?)",""); - if(stringUrl.indexOf("://") == -1 && stringUrl.charAt(0) != "/") { - stringUrl = "/" + stringUrl; - } - r.match(stringUrl); - var url = new xrfragment_URI(); - var _g = 0; - var _g1 = xrfragment_URI._parts.length; - while(_g < _g1) { - var i = _g++; - url[xrfragment_URI._parts[i]] = r.matched(i); - } - if(xrfragment_URI.isRelative(url) == true) { - if(url.directory == null && url.host != null) { - url.file = url.host; - } - url.host = ""; - } - url.hash = { }; - if(url.fragment != null && url.fragment.length > 0) { - url.XRF = xrfragment_URI.parseFragment("#" + url.fragment,flags); - var key; - var _g = 0; - var _g1 = Reflect.fields(url.XRF); - while(_g < _g1.length) { - var key = _g1[_g]; - ++_g; - var v = url.XRF[key]; - url.hash[key] = v["string"]; - } - } - xrfragment_URI.computeVars(url); - return url; -}; -xrfragment_URI.computeVars = function(url) { - var r_r = new RegExp("//","g".split("u").join("")); - if(url.directory != null && url.directory.indexOf("//") != -1) { - url.directory = url.directory.replace(r_r,"/"); - } - if(url.path != null && url.path.indexOf("//") != -1) { - url.path = url.path.replace(r_r,"/"); - } - if(url.file != null && url.file.indexOf("//") != -1) { - url.file = url.file.replace(r_r,"/"); - } - url.URN = url.scheme + "://" + url.host; - if(url.port != null) { - url.URN += ":" + url.port; - } - url.URN += url.directory; - if(url.file != null) { - var parts = url.file.split("."); - if(parts.length > 1) { - url.fileExt = parts.pop(); - } - } -}; -xrfragment_URI.toString = function(url) { - var result = ""; - if(url.scheme != null) { - result += url.scheme + "://"; - } - if(url.user != null) { - result += url.user + ":"; - } - if(url.password != null) { - result += url.password + "@"; - } - if(url.host != null) { - result += url.host; - } - if(url.port != null) { - result += ":" + url.port; - } - if(url.directory != null) { - result += url.directory; - } - if(url.file != null) { - result += url.file; - } - if(url.query != null) { - result += "?" + url.query; - } - if(url.fragment != null) { - result += "#" + url.fragment; - } - return result; -}; -xrfragment_URI.appendURI = function(url,appendedURI) { - if(xrfragment_URI.isRelative(url) == true) { - return xrfragment_URI.appendToRelativeURI(url,appendedURI); - } else { - return xrfragment_URI.appendToAbsoluteURI(url,appendedURI); - } -}; -xrfragment_URI.isRelative = function(url) { - return url.scheme == null; -}; -xrfragment_URI.appendToRelativeURI = function(url,appendedURI) { - if(url.directory == null || url.host == null) { - return xrfragment_URI.cloneURI(appendedURI); - } - var resultURI = new xrfragment_URI(); - resultURI.host = url.host; - resultURI.directory = url.directory; - if(appendedURI.host != null) { - resultURI.directory += appendedURI.host; - } - if(appendedURI.directory != null) { - var directory = appendedURI.directory; - if(appendedURI.host == null) { - resultURI.directory += HxOverrides.substr(directory,1,null); - } else { - resultURI.directory += directory; - } - } - if(appendedURI.file != null) { - resultURI.file = appendedURI.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(appendedURI.query != null) { - resultURI.query = appendedURI.query; - } - if(appendedURI.fragment != null) { - resultURI.fragment = appendedURI.fragment; - } - return resultURI; -}; -xrfragment_URI.appendToAbsoluteURI = function(url,appendedURI) { - var resultURI = new xrfragment_URI(); - if(url.scheme != null) { - resultURI.scheme = url.scheme; - } - if(url.host != null) { - resultURI.host = url.host; - } - var directory = ""; - if(url.directory != null) { - directory = url.directory; - } - if(appendedURI.host != null) { - appendedURI.directory += appendedURI.host; - } - if(appendedURI.directory != null) { - directory += appendedURI.directory; - } - resultURI.directory = directory; - if(appendedURI.file != null) { - resultURI.file = appendedURI.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(appendedURI.query != null) { - resultURI.query = appendedURI.query; - } - if(appendedURI.fragment != null) { - resultURI.fragment = appendedURI.fragment; - } - return resultURI; -}; -xrfragment_URI.toAbsolute = function(url,newUrl) { - var newURI = xrfragment_URI.parse(newUrl,0); - var resultURI = new xrfragment_URI(); - resultURI.port = url.port; - resultURI.source = newUrl; - if(newURI.scheme != null) { - resultURI.scheme = newURI.scheme; - } else { - resultURI.scheme = url.scheme; - } - if(newURI.host != null && newURI.host.length > 0) { - resultURI.host = newURI.host; - resultURI.port = null; - resultURI.fragment = null; - resultURI.hash = { }; - resultURI.XRF = { }; - if(newURI.port != null) { - resultURI.port = newURI.port; - } - } else { - resultURI.host = url.host; - } - var directory = ""; - if(url.directory != null) { - directory = url.directory; - } - if(newURI.directory != null) { - if(newUrl.charAt(0) != "/" && newUrl.indexOf("://") == -1) { - var stripRelative_r = new RegExp("\\./.*","".split("u").join("")); - directory = directory.replace(stripRelative_r,""); - directory += newURI.directory; - } else { - directory = newURI.directory; - } - } - resultURI.directory = directory; - if(newURI.file != null) { - resultURI.file = newURI.file; - } else { - resultURI.file = url.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(newURI.query != null) { - resultURI.query = newURI.query; - } - if(newURI.fragment != null) { - resultURI.fragment = newURI.fragment; - } - resultURI.hash = newURI.hash; - resultURI.XRF = newURI.XRF; - xrfragment_URI.computeVars(resultURI); - return resultURI; -}; -xrfragment_URI.cloneURI = function(url) { - var clonedURI = new xrfragment_URI(); - clonedURI.url = url.url; - clonedURI.source = url.source; - clonedURI.scheme = url.scheme; - clonedURI.authority = url.authority; - clonedURI.userInfo = url.userInfo; - clonedURI.password = url.password; - clonedURI.host = url.host; - clonedURI.port = url.port; - clonedURI.relative = url.relative; - clonedURI.path = url.path; - clonedURI.directory = url.directory; - clonedURI.file = url.file; - clonedURI.query = url.query; - clonedURI.fragment = url.fragment; - return clonedURI; -}; -var xrfragment_XRF = $hx_exports["xrfragment"]["XRF"] = function(_fragment,_flags,_index) { - this.floats = []; - this.shift = []; - this.fragment = _fragment; - this.flags = _flags; - this.index = _index; -}; -xrfragment_XRF.__name__ = true; -xrfragment_XRF.set = function(flag,flags) { - return flags | flag; -}; -xrfragment_XRF.unset = function(flag,flags) { - return flags & ~flag; -}; -xrfragment_XRF.prototype = { - is: function(flag) { - var v = this.flags; - if(!(typeof(v) == "number" && ((v | 0) === v))) { - this.flags = 0; - } - return (this.flags & flag) != 0; - } - ,validate: function(value) { - this.guessType(this,value); - var ok = true; - if(value.length == 0 && !this.is(xrfragment_XRF.T_PREDEFINED_VIEW)) { - ok = false; - } - if(!this.is(xrfragment_XRF.T_FLOAT) && this.is(xrfragment_XRF.T_VECTOR2) && !(typeof(this.x) == "number" && typeof(this.y) == "number")) { - ok = false; - } - if(!(this.is(xrfragment_XRF.T_VECTOR2) || this.is(xrfragment_XRF.T_STRING)) && this.is(xrfragment_XRF.T_VECTOR3) && !(typeof(this.x) == "number" && typeof(this.y) == "number" && typeof(this.z) == "number")) { - ok = false; - } - return ok; - } - ,guessType: function(v,str) { - v.string = str; - if(xrfragment_XRF.isReset.match(v.fragment)) { - v.reset = true; - } - if(v.fragment == "loop") { - v.loop = true; - } - if(typeof(str) != "string") { - return; - } - if(str.length > 0) { - if(xrfragment_XRF.isXRFScheme.match(str)) { - v.xrfScheme = true; - str = str.replace(xrfragment_XRF.isXRFScheme.r,""); - v.string = str; - } - if(str.split(",").length > 1) { - var xyzn = str.split(","); - if(xyzn.length > 0) { - v.x = parseFloat(xyzn[0]); - } - if(xyzn.length > 1) { - v.y = parseFloat(xyzn[1]); - } - if(xyzn.length > 2) { - v.z = parseFloat(xyzn[2]); - } - var _g = 0; - var _g1 = xyzn.length; - while(_g < _g1) { - var i = _g++; - v.shift.push(xrfragment_XRF.isShift.match(xyzn[i])); - v.floats.push(parseFloat(xyzn[i].replace(xrfragment_XRF.isShift.r,""))); - } - } - if(xrfragment_XRF.isColor.match(str)) { - v.color = str; - } - if(xrfragment_XRF.isFloat.match(str)) { - v.x = parseFloat(str); - v.float = v.x; - } - if(xrfragment_XRF.isInt.match(str)) { - v.int = Std.parseInt(str); - v.x = v.int; - v.floats.push(v.x); - } - v.filter = new xrfragment_Filter(v.fragment + "=" + v.string); - } else { - v.filter = new xrfragment_Filter(v.fragment); - } - } -}; -function $getIterator(o) { if( o instanceof Array ) return new haxe_iterators_ArrayIterator(o); else return o.iterator(); } -function $bind(o,m) { if( m == null ) return null; if( m.__id__ == null ) m.__id__ = $global.$haxeUID++; var f; if( o.hx__closures__ == null ) o.hx__closures__ = {}; else f = o.hx__closures__[m.__id__]; if( f == null ) { f = m.bind(o); o.hx__closures__[m.__id__] = f; } return f; } -$global.$haxeUID |= 0; -if(typeof(performance) != "undefined" ? typeof(performance.now) == "function" : false) { - HxOverrides.now = performance.now.bind(performance); -} -if( String.fromCodePoint == null ) String.fromCodePoint = function(c) { return c < 0x10000 ? String.fromCharCode(c) : String.fromCharCode((c>>10)+0xD7C0)+String.fromCharCode((c&0x3FF)+0xDC00); } -String.__name__ = true; -Array.__name__ = true; -js_Boot.__toStr = ({ }).toString; -haxe_Template.splitter = new EReg("(::[A-Za-z0-9_ ()&|!+=/><*.\"-]+::|\\$\\$([A-Za-z0-9_-]+)\\()",""); -haxe_Template.expr_splitter = new EReg("(\\(|\\)|[ \r\n\t]*\"[^\"]*\"[ \r\n\t]*|[!+=/><*.&|-]+)",""); -haxe_Template.expr_trim = new EReg("^[ ]*([^ ]+)[ ]*$",""); -haxe_Template.expr_int = new EReg("^[0-9]+$",""); -haxe_Template.expr_float = new EReg("^([+-]?)(?=\\d|,\\d)\\d*(,\\d*)?([Ee]([+-]?\\d+))?$",""); -haxe_Template.globals = { }; -haxe_Template.hxKeepArrayIterator = new haxe_iterators_ArrayIterator([]); -xrfragment_Parser.error = ""; -xrfragment_Parser.debug = false; -xrfragment_URI.__meta__ = { statics : { template : { keep : null}}}; -xrfragment_URI._parts = ["source","scheme","authority","userInfo","user","password","host","port","relative","path","directory","file","query","fragment"]; -xrfragment_XRF.IMMUTABLE = 1; -xrfragment_XRF.PROP_BIND = 2; -xrfragment_XRF.QUERY_OPERATOR = 4; -xrfragment_XRF.PROMPT = 8; -xrfragment_XRF.CUSTOMFRAG = 16; -xrfragment_XRF.NAVIGATOR = 32; -xrfragment_XRF.METADATA = 64; -xrfragment_XRF.PV_OVERRIDE = 128; -xrfragment_XRF.PV_EXECUTE = 256; -xrfragment_XRF.T_COLOR = 8192; -xrfragment_XRF.T_INT = 16384; -xrfragment_XRF.T_FLOAT = 32768; -xrfragment_XRF.T_VECTOR2 = 65536; -xrfragment_XRF.T_VECTOR3 = 131072; -xrfragment_XRF.T_URL = 262144; -xrfragment_XRF.T_PREDEFINED_VIEW = 524288; -xrfragment_XRF.T_STRING = 1048576; -xrfragment_XRF.T_MEDIAFRAG = 2097152; -xrfragment_XRF.T_DYNAMICKEY = 4194304; -xrfragment_XRF.T_DYNAMICKEYVALUE = 8388608; -xrfragment_XRF.isColor = new EReg("^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$",""); -xrfragment_XRF.isInt = new EReg("^[-0-9]+$",""); -xrfragment_XRF.isFloat = new EReg("^[-0-9]+\\.[0-9]+$",""); -xrfragment_XRF.isVector = new EReg("([,]+|\\w)",""); -xrfragment_XRF.isUrl = new EReg("(://)?\\..*",""); -xrfragment_XRF.isUrlOrPretypedView = new EReg("(^#|://)?\\..*",""); -xrfragment_XRF.isString = new EReg(".*",""); -xrfragment_XRF.operators = new EReg("(^[-]|^[!]|[\\*]$)","g"); -xrfragment_XRF.isProp = new EReg("^.*=[><=]?",""); -xrfragment_XRF.isExclude = new EReg("^-",""); -xrfragment_XRF.isDeep = new EReg("\\*",""); -xrfragment_XRF.isNumber = new EReg("^[0-9\\.]+$",""); -xrfragment_XRF.isMediaFrag = new EReg("^([0-9\\.,\\*+-]+)$",""); -xrfragment_XRF.isReset = new EReg("^!",""); -xrfragment_XRF.isShift = new EReg("^(\\+|--)",""); -xrfragment_XRF.isXRFScheme = new EReg("^xrf://",""); -})(typeof window != "undefined" ? window : typeof global != "undefined" ? global : typeof self != "undefined" ? self : this); -var xrfragment = $hx_exports["xrfragment"]; -export default xrfragment; -// Generated by Haxe 4.3.3 -var $hx_exports = typeof exports != "undefined" ? exports : typeof window != "undefined" ? window : typeof self != "undefined" ? self : this; -(function ($global) { "use strict"; -$hx_exports["xrfragment"] = $hx_exports["xrfragment"] || {}; -var $estr = function() { return js_Boot.__string_rec(this,''); },$hxEnums = $hxEnums || {},$_; -function $extend(from, fields) { - var proto = Object.create(from); - for (var name in fields) proto[name] = fields[name]; - if( fields.toString !== Object.prototype.toString ) proto.toString = fields.toString; - return proto; -} -var EReg = function(r,opt) { - this.r = new RegExp(r,opt.split("u").join("")); -}; -EReg.__name__ = true; -EReg.prototype = { - match: function(s) { - if(this.r.global) { - this.r.lastIndex = 0; - } - this.r.m = this.r.exec(s); - this.r.s = s; - return this.r.m != null; - } - ,matched: function(n) { - if(this.r.m != null && n >= 0 && n < this.r.m.length) { - return this.r.m[n]; - } else { - throw haxe_Exception.thrown("EReg::matched"); - } - } - ,matchedRight: function() { - if(this.r.m == null) { - throw haxe_Exception.thrown("No string matched"); - } - var sz = this.r.m.index + this.r.m[0].length; - return HxOverrides.substr(this.r.s,sz,this.r.s.length - sz); - } - ,matchedPos: function() { - if(this.r.m == null) { - throw haxe_Exception.thrown("No string matched"); - } - return { pos : this.r.m.index, len : this.r.m[0].length}; - } - ,split: function(s) { - var d = "#__delim__#"; - return s.replace(this.r,d).split(d); - } -}; -var HxOverrides = function() { }; -HxOverrides.__name__ = true; -HxOverrides.cca = function(s,index) { - var x = s.charCodeAt(index); - if(x != x) { - return undefined; - } - return x; -}; -HxOverrides.substr = function(s,pos,len) { - if(len == null) { - len = s.length; - } else if(len < 0) { - if(pos == 0) { - len = s.length + len; - } else { - return ""; - } - } - return s.substr(pos,len); -}; -HxOverrides.now = function() { - return Date.now(); -}; -Math.__name__ = true; -var Reflect = function() { }; -Reflect.__name__ = true; -Reflect.field = function(o,field) { - try { - return o[field]; - } catch( _g ) { - return null; - } -}; -Reflect.getProperty = function(o,field) { - var tmp; - if(o == null) { - return null; - } else { - var tmp1; - if(o.__properties__) { - tmp = o.__properties__["get_" + field]; - tmp1 = tmp; - } else { - tmp1 = false; - } - if(tmp1) { - return o[tmp](); - } else { - return o[field]; - } - } -}; -Reflect.fields = function(o) { - var a = []; - if(o != null) { - var hasOwnProperty = Object.prototype.hasOwnProperty; - for( var f in o ) { - if(f != "__id__" && f != "hx__closures__" && hasOwnProperty.call(o,f)) { - a.push(f); - } - } - } - return a; -}; -Reflect.isObject = function(v) { - if(v == null) { - return false; - } - var t = typeof(v); - if(!(t == "string" || t == "object" && v.__enum__ == null)) { - if(t == "function") { - return (v.__name__ || v.__ename__) != null; - } else { - return false; - } - } else { - return true; - } -}; -Reflect.deleteField = function(o,field) { - if(!Object.prototype.hasOwnProperty.call(o,field)) { - return false; - } - delete(o[field]); - return true; -}; -Reflect.copy = function(o) { - if(o == null) { - return null; - } - var o2 = { }; - var _g = 0; - var _g1 = Reflect.fields(o); - while(_g < _g1.length) { - var f = _g1[_g]; - ++_g; - o2[f] = Reflect.field(o,f); - } - return o2; -}; -var Std = function() { }; -Std.__name__ = true; -Std.string = function(s) { - return js_Boot.__string_rec(s,""); -}; -Std.parseInt = function(x) { - var v = parseInt(x); - if(isNaN(v)) { - return null; - } - return v; -}; -var StringBuf = function() { - this.b = ""; -}; -StringBuf.__name__ = true; -var StringTools = function() { }; -StringTools.__name__ = true; -StringTools.isSpace = function(s,pos) { - var c = HxOverrides.cca(s,pos); - if(!(c > 8 && c < 14)) { - return c == 32; - } else { - return true; - } -}; -StringTools.ltrim = function(s) { - var l = s.length; - var r = 0; - while(r < l && StringTools.isSpace(s,r)) ++r; - if(r > 0) { - return HxOverrides.substr(s,r,l - r); - } else { - return s; - } -}; -StringTools.rtrim = function(s) { - var l = s.length; - var r = 0; - while(r < l && StringTools.isSpace(s,l - r - 1)) ++r; - if(r > 0) { - return HxOverrides.substr(s,0,l - r); - } else { - return s; - } -}; -StringTools.trim = function(s) { - return StringTools.ltrim(StringTools.rtrim(s)); -}; -StringTools.replace = function(s,sub,by) { - return s.split(sub).join(by); -}; -var haxe_Exception = function(message,previous,native) { - Error.call(this,message); - this.message = message; - this.__previousException = previous; - this.__nativeException = native != null ? native : this; -}; -haxe_Exception.__name__ = true; -haxe_Exception.caught = function(value) { - if(((value) instanceof haxe_Exception)) { - return value; - } else if(((value) instanceof Error)) { - return new haxe_Exception(value.message,null,value); - } else { - return new haxe_ValueException(value,null,value); - } -}; -haxe_Exception.thrown = function(value) { - if(((value) instanceof haxe_Exception)) { - return value.get_native(); - } else if(((value) instanceof Error)) { - return value; - } else { - var e = new haxe_ValueException(value); - return e; - } -}; -haxe_Exception.__super__ = Error; -haxe_Exception.prototype = $extend(Error.prototype,{ - unwrap: function() { - return this.__nativeException; - } - ,get_native: function() { - return this.__nativeException; - } - ,__properties__: {get_native:"get_native"} -}); -var haxe__$Template_TemplateExpr = $hxEnums["haxe._Template.TemplateExpr"] = { __ename__:true,__constructs__:null - ,OpVar: ($_=function(v) { return {_hx_index:0,v:v,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpVar",$_.__params__ = ["v"],$_) - ,OpExpr: ($_=function(expr) { return {_hx_index:1,expr:expr,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpExpr",$_.__params__ = ["expr"],$_) - ,OpIf: ($_=function(expr,eif,eelse) { return {_hx_index:2,expr:expr,eif:eif,eelse:eelse,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpIf",$_.__params__ = ["expr","eif","eelse"],$_) - ,OpStr: ($_=function(str) { return {_hx_index:3,str:str,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpStr",$_.__params__ = ["str"],$_) - ,OpBlock: ($_=function(l) { return {_hx_index:4,l:l,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpBlock",$_.__params__ = ["l"],$_) - ,OpForeach: ($_=function(expr,loop) { return {_hx_index:5,expr:expr,loop:loop,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpForeach",$_.__params__ = ["expr","loop"],$_) - ,OpMacro: ($_=function(name,params) { return {_hx_index:6,name:name,params:params,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpMacro",$_.__params__ = ["name","params"],$_) -}; -haxe__$Template_TemplateExpr.__constructs__ = [haxe__$Template_TemplateExpr.OpVar,haxe__$Template_TemplateExpr.OpExpr,haxe__$Template_TemplateExpr.OpIf,haxe__$Template_TemplateExpr.OpStr,haxe__$Template_TemplateExpr.OpBlock,haxe__$Template_TemplateExpr.OpForeach,haxe__$Template_TemplateExpr.OpMacro]; -var haxe_iterators_ArrayIterator = function(array) { - this.current = 0; - this.array = array; -}; -haxe_iterators_ArrayIterator.__name__ = true; -haxe_iterators_ArrayIterator.prototype = { - hasNext: function() { - return this.current < this.array.length; - } - ,next: function() { - return this.array[this.current++]; - } -}; -var haxe_Template = function(str) { - var tokens = this.parseTokens(str); - this.expr = this.parseBlock(tokens); - if(!tokens.isEmpty()) { - throw haxe_Exception.thrown("Unexpected '" + Std.string(tokens.first().s) + "'"); - } -}; -haxe_Template.__name__ = true; -haxe_Template.prototype = { - execute: function(context,macros) { - this.macros = macros == null ? { } : macros; - this.context = context; - this.stack = new haxe_ds_List(); - this.buf = new StringBuf(); - this.run(this.expr); - return this.buf.b; - } - ,resolve: function(v) { - if(v == "__current__") { - return this.context; - } - if(Reflect.isObject(this.context)) { - var value = Reflect.getProperty(this.context,v); - if(value != null || Object.prototype.hasOwnProperty.call(this.context,v)) { - return value; - } - } - var _g_head = this.stack.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var ctx = val; - var value = Reflect.getProperty(ctx,v); - if(value != null || Object.prototype.hasOwnProperty.call(ctx,v)) { - return value; - } - } - return Reflect.field(haxe_Template.globals,v); - } - ,parseTokens: function(data) { - var tokens = new haxe_ds_List(); - while(haxe_Template.splitter.match(data)) { - var p = haxe_Template.splitter.matchedPos(); - if(p.pos > 0) { - tokens.add({ p : HxOverrides.substr(data,0,p.pos), s : true, l : null}); - } - if(HxOverrides.cca(data,p.pos) == 58) { - tokens.add({ p : HxOverrides.substr(data,p.pos + 2,p.len - 4), s : false, l : null}); - data = haxe_Template.splitter.matchedRight(); - continue; - } - var parp = p.pos + p.len; - var npar = 1; - var params = []; - var part = ""; - while(true) { - var c = HxOverrides.cca(data,parp); - ++parp; - if(c == 40) { - ++npar; - } else if(c == 41) { - --npar; - if(npar <= 0) { - break; - } - } else if(c == null) { - throw haxe_Exception.thrown("Unclosed macro parenthesis"); - } - if(c == 44 && npar == 1) { - params.push(part); - part = ""; - } else { - part += String.fromCodePoint(c); - } - } - params.push(part); - tokens.add({ p : haxe_Template.splitter.matched(2), s : false, l : params}); - data = HxOverrides.substr(data,parp,data.length - parp); - } - if(data.length > 0) { - tokens.add({ p : data, s : true, l : null}); - } - return tokens; - } - ,parseBlock: function(tokens) { - var l = new haxe_ds_List(); - while(true) { - var t = tokens.first(); - if(t == null) { - break; - } - if(!t.s && (t.p == "end" || t.p == "else" || HxOverrides.substr(t.p,0,7) == "elseif ")) { - break; - } - l.add(this.parse(tokens)); - } - if(l.length == 1) { - return l.first(); - } - return haxe__$Template_TemplateExpr.OpBlock(l); - } - ,parse: function(tokens) { - var t = tokens.pop(); - var p = t.p; - if(t.s) { - return haxe__$Template_TemplateExpr.OpStr(p); - } - if(t.l != null) { - var pe = new haxe_ds_List(); - var _g = 0; - var _g1 = t.l; - while(_g < _g1.length) { - var p1 = _g1[_g]; - ++_g; - pe.add(this.parseBlock(this.parseTokens(p1))); - } - return haxe__$Template_TemplateExpr.OpMacro(p,pe); - } - var kwdEnd = function(kwd) { - var pos = -1; - var length = kwd.length; - if(HxOverrides.substr(p,0,length) == kwd) { - pos = length; - var _g_offset = 0; - var _g_s = HxOverrides.substr(p,length,null); - while(_g_offset < _g_s.length) { - var c = _g_s.charCodeAt(_g_offset++); - if(c == 32) { - ++pos; - } else { - break; - } - } - } - return pos; - }; - var pos = kwdEnd("if"); - if(pos > 0) { - p = HxOverrides.substr(p,pos,p.length - pos); - var e = this.parseExpr(p); - var eif = this.parseBlock(tokens); - var t = tokens.first(); - var eelse; - if(t == null) { - throw haxe_Exception.thrown("Unclosed 'if'"); - } - if(t.p == "end") { - tokens.pop(); - eelse = null; - } else if(t.p == "else") { - tokens.pop(); - eelse = this.parseBlock(tokens); - t = tokens.pop(); - if(t == null || t.p != "end") { - throw haxe_Exception.thrown("Unclosed 'else'"); - } - } else { - t.p = HxOverrides.substr(t.p,4,t.p.length - 4); - eelse = this.parse(tokens); - } - return haxe__$Template_TemplateExpr.OpIf(e,eif,eelse); - } - var pos = kwdEnd("foreach"); - if(pos >= 0) { - p = HxOverrides.substr(p,pos,p.length - pos); - var e = this.parseExpr(p); - var efor = this.parseBlock(tokens); - var t = tokens.pop(); - if(t == null || t.p != "end") { - throw haxe_Exception.thrown("Unclosed 'foreach'"); - } - return haxe__$Template_TemplateExpr.OpForeach(e,efor); - } - if(haxe_Template.expr_splitter.match(p)) { - return haxe__$Template_TemplateExpr.OpExpr(this.parseExpr(p)); - } - return haxe__$Template_TemplateExpr.OpVar(p); - } - ,parseExpr: function(data) { - var l = new haxe_ds_List(); - var expr = data; - while(haxe_Template.expr_splitter.match(data)) { - var p = haxe_Template.expr_splitter.matchedPos(); - var k = p.pos + p.len; - if(p.pos != 0) { - l.add({ p : HxOverrides.substr(data,0,p.pos), s : true}); - } - var p1 = haxe_Template.expr_splitter.matched(0); - l.add({ p : p1, s : p1.indexOf("\"") >= 0}); - data = haxe_Template.expr_splitter.matchedRight(); - } - if(data.length != 0) { - var _g_offset = 0; - var _g_s = data; - while(_g_offset < _g_s.length) { - var _g_key = _g_offset; - var _g_value = _g_s.charCodeAt(_g_offset++); - var i = _g_key; - var c = _g_value; - if(c != 32) { - l.add({ p : HxOverrides.substr(data,i,null), s : true}); - break; - } - } - } - var e; - try { - e = this.makeExpr(l); - if(!l.isEmpty()) { - throw haxe_Exception.thrown(l.first().p); - } - } catch( _g ) { - var _g1 = haxe_Exception.caught(_g).unwrap(); - if(typeof(_g1) == "string") { - var s = _g1; - throw haxe_Exception.thrown("Unexpected '" + s + "' in " + expr); - } else { - throw _g; - } - } - return function() { - try { - return e(); - } catch( _g ) { - var exc = haxe_Exception.caught(_g).unwrap(); - throw haxe_Exception.thrown("Error : " + Std.string(exc) + " in " + expr); - } - }; - } - ,makeConst: function(v) { - haxe_Template.expr_trim.match(v); - v = haxe_Template.expr_trim.matched(1); - if(HxOverrides.cca(v,0) == 34) { - var str = HxOverrides.substr(v,1,v.length - 2); - return function() { - return str; - }; - } - if(haxe_Template.expr_int.match(v)) { - var i = Std.parseInt(v); - return function() { - return i; - }; - } - if(haxe_Template.expr_float.match(v)) { - var f = parseFloat(v); - return function() { - return f; - }; - } - var me = this; - return function() { - return me.resolve(v); - }; - } - ,makePath: function(e,l) { - var p = l.first(); - if(p == null || p.p != ".") { - return e; - } - l.pop(); - var field = l.pop(); - if(field == null || !field.s) { - throw haxe_Exception.thrown(field.p); - } - var f = field.p; - haxe_Template.expr_trim.match(f); - f = haxe_Template.expr_trim.matched(1); - return this.makePath(function() { - return Reflect.field(e(),f); - },l); - } - ,makeExpr: function(l) { - return this.makePath(this.makeExpr2(l),l); - } - ,skipSpaces: function(l) { - var p = l.first(); - while(p != null) { - var _g_offset = 0; - var _g_s = p.p; - while(_g_offset < _g_s.length) { - var c = _g_s.charCodeAt(_g_offset++); - if(c != 32) { - return; - } - } - l.pop(); - p = l.first(); - } - } - ,makeExpr2: function(l) { - this.skipSpaces(l); - var p = l.pop(); - this.skipSpaces(l); - if(p == null) { - throw haxe_Exception.thrown(""); - } - if(p.s) { - return this.makeConst(p.p); - } - switch(p.p) { - case "!": - var e = this.makeExpr(l); - return function() { - var v = e(); - if(v != null) { - return v == false; - } else { - return true; - } - }; - case "(": - this.skipSpaces(l); - var e1 = this.makeExpr(l); - this.skipSpaces(l); - var p1 = l.pop(); - if(p1 == null || p1.s) { - throw haxe_Exception.thrown(p1); - } - if(p1.p == ")") { - return e1; - } - this.skipSpaces(l); - var e2 = this.makeExpr(l); - this.skipSpaces(l); - var p2 = l.pop(); - this.skipSpaces(l); - if(p2 == null || p2.p != ")") { - throw haxe_Exception.thrown(p2); - } - switch(p1.p) { - case "!=": - return function() { - return e1() != e2(); - }; - case "&&": - return function() { - return e1() && e2(); - }; - case "*": - return function() { - return e1() * e2(); - }; - case "+": - return function() { - return e1() + e2(); - }; - case "-": - return function() { - return e1() - e2(); - }; - case "/": - return function() { - return e1() / e2(); - }; - case "<": - return function() { - return e1() < e2(); - }; - case "<=": - return function() { - return e1() <= e2(); - }; - case "==": - return function() { - return e1() == e2(); - }; - case ">": - return function() { - return e1() > e2(); - }; - case ">=": - return function() { - return e1() >= e2(); - }; - case "||": - return function() { - return e1() || e2(); - }; - default: - throw haxe_Exception.thrown("Unknown operation " + p1.p); - } - break; - case "-": - var e3 = this.makeExpr(l); - return function() { - return -e3(); - }; - } - throw haxe_Exception.thrown(p.p); - } - ,run: function(e) { - switch(e._hx_index) { - case 0: - var v = e.v; - var _this = this.buf; - var x = Std.string(this.resolve(v)); - _this.b += Std.string(x); - break; - case 1: - var e1 = e.expr; - var _this = this.buf; - var x = Std.string(e1()); - _this.b += Std.string(x); - break; - case 2: - var e1 = e.expr; - var eif = e.eif; - var eelse = e.eelse; - var v = e1(); - if(v == null || v == false) { - if(eelse != null) { - this.run(eelse); - } - } else { - this.run(eif); - } - break; - case 3: - var str = e.str; - this.buf.b += str == null ? "null" : "" + str; - break; - case 4: - var l = e.l; - var _g_head = l.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var e1 = val; - this.run(e1); - } - break; - case 5: - var e1 = e.expr; - var loop = e.loop; - var v = e1(); - try { - var x = $getIterator(v); - if(x.hasNext == null) { - throw haxe_Exception.thrown(null); - } - v = x; - } catch( _g ) { - try { - if(v.hasNext == null) { - throw haxe_Exception.thrown(null); - } - } catch( _g1 ) { - throw haxe_Exception.thrown("Cannot iter on " + Std.string(v)); - } - } - this.stack.push(this.context); - var v1 = v; - var ctx = v1; - while(ctx.hasNext()) { - var ctx1 = ctx.next(); - this.context = ctx1; - this.run(loop); - } - this.context = this.stack.pop(); - break; - case 6: - var m = e.name; - var params = e.params; - var v = Reflect.field(this.macros,m); - var pl = []; - var old = this.buf; - pl.push($bind(this,this.resolve)); - var _g_head = params.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var p = val; - if(p._hx_index == 0) { - var v1 = p.v; - pl.push(this.resolve(v1)); - } else { - this.buf = new StringBuf(); - this.run(p); - pl.push(this.buf.b); - } - } - this.buf = old; - try { - var _this = this.buf; - var x = Std.string(v.apply(this.macros,pl)); - _this.b += Std.string(x); - } catch( _g ) { - var e = haxe_Exception.caught(_g).unwrap(); - var plstr; - try { - plstr = pl.join(","); - } catch( _g1 ) { - plstr = "???"; - } - var msg = "Macro call " + m + "(" + plstr + ") failed (" + Std.string(e) + ")"; - throw haxe_Exception.thrown(msg); - } - break; - } - } -}; -var haxe_ValueException = function(value,previous,native) { - haxe_Exception.call(this,String(value),previous,native); - this.value = value; -}; -haxe_ValueException.__name__ = true; -haxe_ValueException.__super__ = haxe_Exception; -haxe_ValueException.prototype = $extend(haxe_Exception.prototype,{ - unwrap: function() { - return this.value; - } -}); -var haxe_ds_List = function() { - this.length = 0; -}; -haxe_ds_List.__name__ = true; -haxe_ds_List.prototype = { - add: function(item) { - var x = new haxe_ds__$List_ListNode(item,null); - if(this.h == null) { - this.h = x; - } else { - this.q.next = x; - } - this.q = x; - this.length++; - } - ,push: function(item) { - var x = new haxe_ds__$List_ListNode(item,this.h); - this.h = x; - if(this.q == null) { - this.q = x; - } - this.length++; - } - ,first: function() { - if(this.h == null) { - return null; - } else { - return this.h.item; - } - } - ,pop: function() { - if(this.h == null) { - return null; - } - var x = this.h.item; - this.h = this.h.next; - if(this.h == null) { - this.q = null; - } - this.length--; - return x; - } - ,isEmpty: function() { - return this.h == null; - } - ,toString: function() { - var s_b = ""; - var first = true; - var l = this.h; - s_b += "{"; - while(l != null) { - if(first) { - first = false; - } else { - s_b += ", "; - } - s_b += Std.string(Std.string(l.item)); - l = l.next; - } - s_b += "}"; - return s_b; - } -}; -var haxe_ds__$List_ListNode = function(item,next) { - this.item = item; - this.next = next; -}; -haxe_ds__$List_ListNode.__name__ = true; -var js_Boot = function() { }; -js_Boot.__name__ = true; -js_Boot.__string_rec = function(o,s) { - if(o == null) { - return "null"; - } - if(s.length >= 5) { - return "<...>"; - } - var t = typeof(o); - if(t == "function" && (o.__name__ || o.__ename__)) { - t = "object"; - } - switch(t) { - case "function": - return ""; - case "object": - if(o.__enum__) { - var e = $hxEnums[o.__enum__]; - var con = e.__constructs__[o._hx_index]; - var n = con._hx_name; - if(con.__params__) { - s = s + "\t"; - return n + "(" + ((function($this) { - var $r; - var _g = []; - { - var _g1 = 0; - var _g2 = con.__params__; - while(true) { - if(!(_g1 < _g2.length)) { - break; - } - var p = _g2[_g1]; - _g1 = _g1 + 1; - _g.push(js_Boot.__string_rec(o[p],s)); - } - } - $r = _g; - return $r; - }(this))).join(",") + ")"; - } else { - return n; - } - } - if(((o) instanceof Array)) { - var str = "["; - s += "\t"; - var _g = 0; - var _g1 = o.length; - while(_g < _g1) { - var i = _g++; - str += (i > 0 ? "," : "") + js_Boot.__string_rec(o[i],s); - } - str += "]"; - return str; - } - var tostr; - try { - tostr = o.toString; - } catch( _g ) { - return "???"; - } - if(tostr != null && tostr != Object.toString && typeof(tostr) == "function") { - var s2 = o.toString(); - if(s2 != "[object Object]") { - return s2; - } - } - var str = "{\n"; - s += "\t"; - var hasp = o.hasOwnProperty != null; - var k = null; - for( k in o ) { - if(hasp && !o.hasOwnProperty(k)) { - continue; - } - if(k == "prototype" || k == "__class__" || k == "__super__" || k == "__interfaces__" || k == "__properties__") { - continue; - } - if(str.length != 2) { - str += ", \n"; - } - str += s + k + " : " + js_Boot.__string_rec(o[k],s); - } - s = s.substring(1); - str += "\n" + s + "}"; - return str; - case "string": - return o; - default: - return String(o); - } -}; -var xrfragment_Filter = $hx_exports["xrfragment"]["Filter"] = function(str) { - this.q = { }; - this.str = ""; - if(str != null) { - this.parse(str); - } -}; -xrfragment_Filter.__name__ = true; -xrfragment_Filter.prototype = { - toObject: function() { - return Reflect.copy(this.q); - } - ,get: function() { - return Reflect.copy(this.q); - } - ,parse: function(str) { - var token = str.split(" "); - var q = { }; - var process = function(str,prefix) { - if(prefix == null) { - prefix = ""; - } - str = StringTools.trim(str); - var k = str.split("=")[0]; - var v = str.split("=")[1]; - var filter = { }; - if(q[prefix + k]) { - filter = q[prefix + k]; - } - if(xrfragment_XRF.isProp.match(str)) { - var oper = ""; - if(str.indexOf(">") != -1) { - oper = ">"; - } - if(str.indexOf("<") != -1) { - oper = "<"; - } - if(xrfragment_XRF.isExclude.match(k)) { - k = HxOverrides.substr(k,1,null); - } - v = HxOverrides.substr(v,oper.length,null); - if(oper.length == 0) { - oper = "="; - } - var rule = { }; - if(xrfragment_XRF.isNumber.match(v)) { - rule[oper] = parseFloat(v); - } else { - rule[oper] = v; - } - q["expr"] = rule; - } - var value = xrfragment_XRF.isDeep.match(str) ? k.split("*").length - 1 : 0; - q["deep"] = value; - var value = xrfragment_XRF.isExclude.match(str) ? false : true; - q["show"] = value; - var value = k.replace(xrfragment_XRF.operators.r,""); - q["key"] = value; - q["value"] = v; - }; - var _g = 0; - var _g1 = token.length; - while(_g < _g1) { - var i = _g++; - process(token[i]); - } - return this.q = q; - } - ,test: function(obj) { - var qualify = false; - var _g = 0; - var _g1 = Reflect.fields(obj); - while(_g < _g1.length) { - var k = _g1[_g]; - ++_g; - var v = Std.string(Reflect.field(obj,k)); - if(this.testProperty(k,v)) { - qualify = true; - } - } - var _g = 0; - var _g1 = Reflect.fields(obj); - while(_g < _g1.length) { - var k = _g1[_g]; - ++_g; - var v = Std.string(Reflect.field(obj,k)); - if(this.testProperty(k,v,true)) { - qualify = false; - } - } - return qualify; - } - ,testProperty: function(property,value,exclude) { - var conds = 0; - var fails = 0; - var qualify = 0; - var testprop = function(expr) { - conds += 1; - fails += expr ? 0 : 1; - return expr; - }; - if(this.q[value] != null) { - var v = this.q[value]; - if(v[property] != null) { - return v[property]; - } - } - if(Reflect.field(this.q,"expr")) { - var f = Reflect.field(this.q,"expr"); - if(!Reflect.field(this.q,"show")) { - if(Reflect.field(f,"!=") != null && testprop((value == null ? "null" : "" + value) == Std.string(Reflect.field(f,"!="))) && exclude) { - ++qualify; - } - } else { - if(Reflect.field(f,"*") != null && testprop(parseFloat(value) != null)) { - ++qualify; - } - if(Reflect.field(f,">") != null && testprop(parseFloat(value) >= parseFloat(Reflect.field(f,">")))) { - ++qualify; - } - if(Reflect.field(f,"<") != null && testprop(parseFloat(value) <= parseFloat(Reflect.field(f,"<")))) { - ++qualify; - } - if(Reflect.field(f,"=") != null && (testprop(value == Reflect.field(f,"=")) || testprop(parseFloat(value) == parseFloat(Reflect.field(f,"="))))) { - ++qualify; - } - } - } - return qualify > 0; - } -}; -var xrfragment_Parser = $hx_exports["xrfragment"]["Parser"] = function() { }; -xrfragment_Parser.__name__ = true; -xrfragment_Parser.parse = function(key,value,store,index) { - var Frag_h = Object.create(null); - Frag_h["#"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_PREDEFINED_VIEW | xrfragment_XRF.PV_EXECUTE; - Frag_h["src"] = xrfragment_XRF.T_URL; - Frag_h["href"] = xrfragment_XRF.T_URL | xrfragment_XRF.T_PREDEFINED_VIEW; - Frag_h["tag"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["pos"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_VECTOR3 | xrfragment_XRF.T_STRING | xrfragment_XRF.METADATA | xrfragment_XRF.NAVIGATOR; - Frag_h["rot"] = xrfragment_XRF.QUERY_OPERATOR | xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_VECTOR3 | xrfragment_XRF.METADATA | xrfragment_XRF.NAVIGATOR; - Frag_h["t"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_FLOAT | xrfragment_XRF.T_VECTOR2 | xrfragment_XRF.NAVIGATOR | xrfragment_XRF.METADATA; - Frag_h["s"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_MEDIAFRAG; - Frag_h["loop"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_PREDEFINED_VIEW; - Frag_h["uv"] = xrfragment_XRF.T_VECTOR2 | xrfragment_XRF.T_MEDIAFRAG; - Frag_h["namespace"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["SPDX"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["unit"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["description"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - var keyStripped = key.replace(xrfragment_XRF.operators.r,""); - var isPVDynamic = key.length > 0 && !Object.prototype.hasOwnProperty.call(Frag_h,key); - if(isPVDynamic) { - var v = new xrfragment_XRF(key,xrfragment_XRF.PV_EXECUTE | xrfragment_XRF.NAVIGATOR,index); - v.validate(value); - v.flags = xrfragment_XRF.set(xrfragment_XRF.T_DYNAMICKEY,v.flags); - if(!Object.prototype.hasOwnProperty.call(Frag_h,key)) { - v.flags = xrfragment_XRF.set(xrfragment_XRF.CUSTOMFRAG,v.flags); - } - if(value.length == 0) { - v.flags = xrfragment_XRF.set(xrfragment_XRF.T_DYNAMICKEYVALUE,v.flags); - } - store[keyStripped] = v; - return true; - } - var v = new xrfragment_XRF(key,Frag_h[key],index); - if(Object.prototype.hasOwnProperty.call(Frag_h,key)) { - if(!v.validate(value)) { - console.log("src/xrfragment/Parser.hx:67:","⚠ fragment '" + key + "' has incompatible value (" + value + ")"); - return false; - } - store[keyStripped] = v; - if(xrfragment_Parser.debug) { - console.log("src/xrfragment/Parser.hx:71:","✔ " + key + ": " + v.string); - } - } else { - if(typeof(value) == "string") { - v.guessType(v,value); - } - v.flags = xrfragment_XRF.set(xrfragment_XRF.CUSTOMFRAG,v.flags); - store[keyStripped] = v; - } - return true; -}; -xrfragment_Parser.getMetaData = function() { - var meta = { title : ["title","og:title","dc.title"], description : ["aria-description","og:description","dc.description"], author : ["author","dc.creator"], publisher : ["publisher","dc.publisher"], website : ["og:site_name","og:url","dc.publisher"], license : ["SPDX","dc.rights"]}; - return meta; -}; -var xrfragment_URI = $hx_exports["xrfragment"]["URI"] = function() { - this.XRF = { }; - this.hash = { }; - this.fragment = ""; -}; -xrfragment_URI.__name__ = true; -xrfragment_URI.parseFragment = function(url,filter) { - var store = { }; - if(url == null || url.indexOf("#") == -1) { - return store; - } - var fragment = url.split("#"); - var splitArray = fragment[1].split("&"); - var _g = 0; - var _g1 = splitArray.length; - while(_g < _g1) { - var i = _g++; - var splitByEqual = splitArray[i].split("="); - var regexPlus = new EReg("\\+","g"); - var key = splitByEqual[0]; - var value = ""; - if(splitByEqual.length > 1) { - if(xrfragment_XRF.isVector.match(splitByEqual[1])) { - value = splitByEqual[1]; - } else { - var s = regexPlus.split(splitByEqual[1]).join(" "); - value = decodeURIComponent(s.split("+").join(" ")); - } - } - var ok = xrfragment_Parser.parse(key,value,store,i); - } - if(filter != null && filter != 0) { - var _g = 0; - var _g1 = Reflect.fields(store); - while(_g < _g1.length) { - var key = _g1[_g]; - ++_g; - var xrf = store[key]; - if(!xrf.is(filter)) { - Reflect.deleteField(store,key); - } - } - } - return store; -}; -xrfragment_URI.template = function(uri,vars) { - var parts = uri.split("#"); - if(parts.length == 1) { - return uri; - } - var frag = parts[1]; - frag = StringTools.replace(frag,"{","::"); - frag = StringTools.replace(frag,"}","::"); - frag = new haxe_Template(frag).execute(vars); - frag = StringTools.replace(frag,"null",""); - parts[1] = frag; - return parts.join("#"); -}; -xrfragment_URI.parse = function(stringUrl,flags) { - var r = new EReg("^(?:(?![^:@]+:[^:@/]*@)([^:/?#.]+):)?(?://)?((?:(([^:@]*)(?::([^:@]*))?)?@)?([^:/?#]*)(?::(\\d*))?)(((/(?:[^?#](?![^?#/]*\\.[^?#/.]+(?:[?#]|$)))*/?)?([^?#/]*))(?:\\?([^#]*))?(?:#(.*))?)",""); - if(stringUrl.indexOf("://") == -1 && stringUrl.charAt(0) != "/") { - stringUrl = "/" + stringUrl; - } - r.match(stringUrl); - var url = new xrfragment_URI(); - var _g = 0; - var _g1 = xrfragment_URI._parts.length; - while(_g < _g1) { - var i = _g++; - url[xrfragment_URI._parts[i]] = r.matched(i); - } - if(xrfragment_URI.isRelative(url) == true) { - if(url.directory == null && url.host != null) { - url.file = url.host; - } - url.host = ""; - } - url.hash = { }; - if(url.fragment != null && url.fragment.length > 0) { - url.XRF = xrfragment_URI.parseFragment("#" + url.fragment,flags); - var key; - var _g = 0; - var _g1 = Reflect.fields(url.XRF); - while(_g < _g1.length) { - var key = _g1[_g]; - ++_g; - var v = url.XRF[key]; - url.hash[key] = v["string"]; - } - } - xrfragment_URI.computeVars(url); - return url; -}; -xrfragment_URI.computeVars = function(url) { - var r_r = new RegExp("//","g".split("u").join("")); - if(url.directory != null && url.directory.indexOf("//") != -1) { - url.directory = url.directory.replace(r_r,"/"); - } - if(url.path != null && url.path.indexOf("//") != -1) { - url.path = url.path.replace(r_r,"/"); - } - if(url.file != null && url.file.indexOf("//") != -1) { - url.file = url.file.replace(r_r,"/"); - } - url.URN = url.scheme + "://" + url.host; - if(url.port != null) { - url.URN += ":" + url.port; - } - url.URN += url.directory; - if(url.file != null) { - var parts = url.file.split("."); - if(parts.length > 1) { - url.fileExt = parts.pop(); - } - } -}; -xrfragment_URI.toString = function(url) { - var result = ""; - if(url.scheme != null) { - result += url.scheme + "://"; - } - if(url.user != null) { - result += url.user + ":"; - } - if(url.password != null) { - result += url.password + "@"; - } - if(url.host != null) { - result += url.host; - } - if(url.port != null) { - result += ":" + url.port; - } - if(url.directory != null) { - result += url.directory; - } - if(url.file != null) { - result += url.file; - } - if(url.query != null) { - result += "?" + url.query; - } - if(url.fragment != null) { - result += "#" + url.fragment; - } - return result; -}; -xrfragment_URI.appendURI = function(url,appendedURI) { - if(xrfragment_URI.isRelative(url) == true) { - return xrfragment_URI.appendToRelativeURI(url,appendedURI); - } else { - return xrfragment_URI.appendToAbsoluteURI(url,appendedURI); - } -}; -xrfragment_URI.isRelative = function(url) { - return url.scheme == null; -}; -xrfragment_URI.appendToRelativeURI = function(url,appendedURI) { - if(url.directory == null || url.host == null) { - return xrfragment_URI.cloneURI(appendedURI); - } - var resultURI = new xrfragment_URI(); - resultURI.host = url.host; - resultURI.directory = url.directory; - if(appendedURI.host != null) { - resultURI.directory += appendedURI.host; - } - if(appendedURI.directory != null) { - var directory = appendedURI.directory; - if(appendedURI.host == null) { - resultURI.directory += HxOverrides.substr(directory,1,null); - } else { - resultURI.directory += directory; - } - } - if(appendedURI.file != null) { - resultURI.file = appendedURI.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(appendedURI.query != null) { - resultURI.query = appendedURI.query; - } - if(appendedURI.fragment != null) { - resultURI.fragment = appendedURI.fragment; - } - return resultURI; -}; -xrfragment_URI.appendToAbsoluteURI = function(url,appendedURI) { - var resultURI = new xrfragment_URI(); - if(url.scheme != null) { - resultURI.scheme = url.scheme; - } - if(url.host != null) { - resultURI.host = url.host; - } - var directory = ""; - if(url.directory != null) { - directory = url.directory; - } - if(appendedURI.host != null) { - appendedURI.directory += appendedURI.host; - } - if(appendedURI.directory != null) { - directory += appendedURI.directory; - } - resultURI.directory = directory; - if(appendedURI.file != null) { - resultURI.file = appendedURI.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(appendedURI.query != null) { - resultURI.query = appendedURI.query; - } - if(appendedURI.fragment != null) { - resultURI.fragment = appendedURI.fragment; - } - return resultURI; -}; -xrfragment_URI.toAbsolute = function(url,newUrl) { - var newURI = xrfragment_URI.parse(newUrl,0); - var resultURI = new xrfragment_URI(); - resultURI.port = url.port; - resultURI.source = newUrl; - if(newURI.scheme != null) { - resultURI.scheme = newURI.scheme; - } else { - resultURI.scheme = url.scheme; - } - if(newURI.host != null && newURI.host.length > 0) { - resultURI.host = newURI.host; - resultURI.port = null; - resultURI.fragment = null; - resultURI.hash = { }; - resultURI.XRF = { }; - if(newURI.port != null) { - resultURI.port = newURI.port; - } - } else { - resultURI.host = url.host; - } - var directory = ""; - if(url.directory != null) { - directory = url.directory; - } - if(newURI.directory != null) { - if(newUrl.charAt(0) != "/" && newUrl.indexOf("://") == -1) { - var stripRelative_r = new RegExp("\\./.*","".split("u").join("")); - directory = directory.replace(stripRelative_r,""); - directory += newURI.directory; - } else { - directory = newURI.directory; - } - } - resultURI.directory = directory; - if(newURI.file != null) { - resultURI.file = newURI.file; - } else { - resultURI.file = url.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(newURI.query != null) { - resultURI.query = newURI.query; - } - if(newURI.fragment != null) { - resultURI.fragment = newURI.fragment; - } - resultURI.hash = newURI.hash; - resultURI.XRF = newURI.XRF; - xrfragment_URI.computeVars(resultURI); - return resultURI; -}; -xrfragment_URI.cloneURI = function(url) { - var clonedURI = new xrfragment_URI(); - clonedURI.url = url.url; - clonedURI.source = url.source; - clonedURI.scheme = url.scheme; - clonedURI.authority = url.authority; - clonedURI.userInfo = url.userInfo; - clonedURI.password = url.password; - clonedURI.host = url.host; - clonedURI.port = url.port; - clonedURI.relative = url.relative; - clonedURI.path = url.path; - clonedURI.directory = url.directory; - clonedURI.file = url.file; - clonedURI.query = url.query; - clonedURI.fragment = url.fragment; - return clonedURI; -}; -var xrfragment_XRF = $hx_exports["xrfragment"]["XRF"] = function(_fragment,_flags,_index) { - this.floats = []; - this.shift = []; - this.fragment = _fragment; - this.flags = _flags; - this.index = _index; -}; -xrfragment_XRF.__name__ = true; -xrfragment_XRF.set = function(flag,flags) { - return flags | flag; -}; -xrfragment_XRF.unset = function(flag,flags) { - return flags & ~flag; -}; -xrfragment_XRF.prototype = { - is: function(flag) { - var v = this.flags; - if(!(typeof(v) == "number" && ((v | 0) === v))) { - this.flags = 0; - } - return (this.flags & flag) != 0; - } - ,validate: function(value) { - this.guessType(this,value); - var ok = true; - if(value.length == 0 && !this.is(xrfragment_XRF.T_PREDEFINED_VIEW)) { - ok = false; - } - if(!this.is(xrfragment_XRF.T_FLOAT) && this.is(xrfragment_XRF.T_VECTOR2) && !(typeof(this.x) == "number" && typeof(this.y) == "number")) { - ok = false; - } - if(!(this.is(xrfragment_XRF.T_VECTOR2) || this.is(xrfragment_XRF.T_STRING)) && this.is(xrfragment_XRF.T_VECTOR3) && !(typeof(this.x) == "number" && typeof(this.y) == "number" && typeof(this.z) == "number")) { - ok = false; - } - return ok; - } - ,guessType: function(v,str) { - v.string = str; - if(xrfragment_XRF.isReset.match(v.fragment)) { - v.reset = true; - } - if(v.fragment == "loop") { - v.loop = true; - } - if(typeof(str) != "string") { - return; - } - if(str.length > 0) { - if(xrfragment_XRF.isXRFScheme.match(str)) { - v.xrfScheme = true; - str = str.replace(xrfragment_XRF.isXRFScheme.r,""); - v.string = str; - } - if(str.split(",").length > 1) { - var xyzn = str.split(","); - if(xyzn.length > 0) { - v.x = parseFloat(xyzn[0]); - } - if(xyzn.length > 1) { - v.y = parseFloat(xyzn[1]); - } - if(xyzn.length > 2) { - v.z = parseFloat(xyzn[2]); - } - var _g = 0; - var _g1 = xyzn.length; - while(_g < _g1) { - var i = _g++; - v.shift.push(xrfragment_XRF.isShift.match(xyzn[i])); - v.floats.push(parseFloat(xyzn[i].replace(xrfragment_XRF.isShift.r,""))); - } - } - if(xrfragment_XRF.isColor.match(str)) { - v.color = str; - } - if(xrfragment_XRF.isFloat.match(str)) { - v.x = parseFloat(str); - v.float = v.x; - } - if(xrfragment_XRF.isInt.match(str)) { - v.int = Std.parseInt(str); - v.x = v.int; - v.floats.push(v.x); - } - v.filter = new xrfragment_Filter(v.fragment + "=" + v.string); - } else { - v.filter = new xrfragment_Filter(v.fragment); - } - } -}; -function $getIterator(o) { if( o instanceof Array ) return new haxe_iterators_ArrayIterator(o); else return o.iterator(); } -function $bind(o,m) { if( m == null ) return null; if( m.__id__ == null ) m.__id__ = $global.$haxeUID++; var f; if( o.hx__closures__ == null ) o.hx__closures__ = {}; else f = o.hx__closures__[m.__id__]; if( f == null ) { f = m.bind(o); o.hx__closures__[m.__id__] = f; } return f; } -$global.$haxeUID |= 0; -if(typeof(performance) != "undefined" ? typeof(performance.now) == "function" : false) { - HxOverrides.now = performance.now.bind(performance); -} -if( String.fromCodePoint == null ) String.fromCodePoint = function(c) { return c < 0x10000 ? String.fromCharCode(c) : String.fromCharCode((c>>10)+0xD7C0)+String.fromCharCode((c&0x3FF)+0xDC00); } -String.__name__ = true; -Array.__name__ = true; -js_Boot.__toStr = ({ }).toString; -haxe_Template.splitter = new EReg("(::[A-Za-z0-9_ ()&|!+=/><*.\"-]+::|\\$\\$([A-Za-z0-9_-]+)\\()",""); -haxe_Template.expr_splitter = new EReg("(\\(|\\)|[ \r\n\t]*\"[^\"]*\"[ \r\n\t]*|[!+=/><*.&|-]+)",""); -haxe_Template.expr_trim = new EReg("^[ ]*([^ ]+)[ ]*$",""); -haxe_Template.expr_int = new EReg("^[0-9]+$",""); -haxe_Template.expr_float = new EReg("^([+-]?)(?=\\d|,\\d)\\d*(,\\d*)?([Ee]([+-]?\\d+))?$",""); -haxe_Template.globals = { }; -haxe_Template.hxKeepArrayIterator = new haxe_iterators_ArrayIterator([]); -xrfragment_Parser.error = ""; -xrfragment_Parser.debug = false; -xrfragment_URI.__meta__ = { statics : { template : { keep : null}}}; -xrfragment_URI._parts = ["source","scheme","authority","userInfo","user","password","host","port","relative","path","directory","file","query","fragment"]; -xrfragment_XRF.IMMUTABLE = 1; -xrfragment_XRF.PROP_BIND = 2; -xrfragment_XRF.QUERY_OPERATOR = 4; -xrfragment_XRF.PROMPT = 8; -xrfragment_XRF.CUSTOMFRAG = 16; -xrfragment_XRF.NAVIGATOR = 32; -xrfragment_XRF.METADATA = 64; -xrfragment_XRF.PV_OVERRIDE = 128; -xrfragment_XRF.PV_EXECUTE = 256; -xrfragment_XRF.T_COLOR = 8192; -xrfragment_XRF.T_INT = 16384; -xrfragment_XRF.T_FLOAT = 32768; -xrfragment_XRF.T_VECTOR2 = 65536; -xrfragment_XRF.T_VECTOR3 = 131072; -xrfragment_XRF.T_URL = 262144; -xrfragment_XRF.T_PREDEFINED_VIEW = 524288; -xrfragment_XRF.T_STRING = 1048576; -xrfragment_XRF.T_MEDIAFRAG = 2097152; -xrfragment_XRF.T_DYNAMICKEY = 4194304; -xrfragment_XRF.T_DYNAMICKEYVALUE = 8388608; -xrfragment_XRF.isColor = new EReg("^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$",""); -xrfragment_XRF.isInt = new EReg("^[-0-9]+$",""); -xrfragment_XRF.isFloat = new EReg("^[-0-9]+\\.[0-9]+$",""); -xrfragment_XRF.isVector = new EReg("([,]+|\\w)",""); -xrfragment_XRF.isUrl = new EReg("(://)?\\..*",""); -xrfragment_XRF.isUrlOrPretypedView = new EReg("(^#|://)?\\..*",""); -xrfragment_XRF.isString = new EReg(".*",""); -xrfragment_XRF.operators = new EReg("(^[-]|^[!]|[\\*]$)","g"); -xrfragment_XRF.isProp = new EReg("^.*=[><=]?",""); -xrfragment_XRF.isExclude = new EReg("^-",""); -xrfragment_XRF.isDeep = new EReg("\\*",""); -xrfragment_XRF.isNumber = new EReg("^[0-9\\.]+$",""); -xrfragment_XRF.isMediaFrag = new EReg("^([0-9\\.,\\*+-]+)$",""); -xrfragment_XRF.isReset = new EReg("^!",""); -xrfragment_XRF.isShift = new EReg("^(\\+|--)",""); -xrfragment_XRF.isXRFScheme = new EReg("^xrf://",""); -})(typeof window != "undefined" ? window : typeof global != "undefined" ? global : typeof self != "undefined" ? self : this); -var xrfragment = $hx_exports["xrfragment"]; -export default xrfragment; -// Generated by Haxe 4.3.3 -var $hx_exports = typeof exports != "undefined" ? exports : typeof window != "undefined" ? window : typeof self != "undefined" ? self : this; -(function ($global) { "use strict"; -$hx_exports["xrfragment"] = $hx_exports["xrfragment"] || {}; -var $estr = function() { return js_Boot.__string_rec(this,''); },$hxEnums = $hxEnums || {},$_; -function $extend(from, fields) { - var proto = Object.create(from); - for (var name in fields) proto[name] = fields[name]; - if( fields.toString !== Object.prototype.toString ) proto.toString = fields.toString; - return proto; -} -var EReg = function(r,opt) { - this.r = new RegExp(r,opt.split("u").join("")); -}; -EReg.__name__ = true; -EReg.prototype = { - match: function(s) { - if(this.r.global) { - this.r.lastIndex = 0; - } - this.r.m = this.r.exec(s); - this.r.s = s; - return this.r.m != null; - } - ,matched: function(n) { - if(this.r.m != null && n >= 0 && n < this.r.m.length) { - return this.r.m[n]; - } else { - throw haxe_Exception.thrown("EReg::matched"); - } - } - ,matchedRight: function() { - if(this.r.m == null) { - throw haxe_Exception.thrown("No string matched"); - } - var sz = this.r.m.index + this.r.m[0].length; - return HxOverrides.substr(this.r.s,sz,this.r.s.length - sz); - } - ,matchedPos: function() { - if(this.r.m == null) { - throw haxe_Exception.thrown("No string matched"); - } - return { pos : this.r.m.index, len : this.r.m[0].length}; - } - ,split: function(s) { - var d = "#__delim__#"; - return s.replace(this.r,d).split(d); - } -}; -var HxOverrides = function() { }; -HxOverrides.__name__ = true; -HxOverrides.cca = function(s,index) { - var x = s.charCodeAt(index); - if(x != x) { - return undefined; - } - return x; -}; -HxOverrides.substr = function(s,pos,len) { - if(len == null) { - len = s.length; - } else if(len < 0) { - if(pos == 0) { - len = s.length + len; - } else { - return ""; - } - } - return s.substr(pos,len); -}; -HxOverrides.now = function() { - return Date.now(); -}; -Math.__name__ = true; -var Reflect = function() { }; -Reflect.__name__ = true; -Reflect.field = function(o,field) { - try { - return o[field]; - } catch( _g ) { - return null; - } -}; -Reflect.getProperty = function(o,field) { - var tmp; - if(o == null) { - return null; - } else { - var tmp1; - if(o.__properties__) { - tmp = o.__properties__["get_" + field]; - tmp1 = tmp; - } else { - tmp1 = false; - } - if(tmp1) { - return o[tmp](); - } else { - return o[field]; - } - } -}; -Reflect.fields = function(o) { - var a = []; - if(o != null) { - var hasOwnProperty = Object.prototype.hasOwnProperty; - for( var f in o ) { - if(f != "__id__" && f != "hx__closures__" && hasOwnProperty.call(o,f)) { - a.push(f); - } - } - } - return a; -}; -Reflect.isObject = function(v) { - if(v == null) { - return false; - } - var t = typeof(v); - if(!(t == "string" || t == "object" && v.__enum__ == null)) { - if(t == "function") { - return (v.__name__ || v.__ename__) != null; - } else { - return false; - } - } else { - return true; - } -}; -Reflect.deleteField = function(o,field) { - if(!Object.prototype.hasOwnProperty.call(o,field)) { - return false; - } - delete(o[field]); - return true; -}; -Reflect.copy = function(o) { - if(o == null) { - return null; - } - var o2 = { }; - var _g = 0; - var _g1 = Reflect.fields(o); - while(_g < _g1.length) { - var f = _g1[_g]; - ++_g; - o2[f] = Reflect.field(o,f); - } - return o2; -}; -var Std = function() { }; -Std.__name__ = true; -Std.string = function(s) { - return js_Boot.__string_rec(s,""); -}; -Std.parseInt = function(x) { - var v = parseInt(x); - if(isNaN(v)) { - return null; - } - return v; -}; -var StringBuf = function() { - this.b = ""; -}; -StringBuf.__name__ = true; -var StringTools = function() { }; -StringTools.__name__ = true; -StringTools.isSpace = function(s,pos) { - var c = HxOverrides.cca(s,pos); - if(!(c > 8 && c < 14)) { - return c == 32; - } else { - return true; - } -}; -StringTools.ltrim = function(s) { - var l = s.length; - var r = 0; - while(r < l && StringTools.isSpace(s,r)) ++r; - if(r > 0) { - return HxOverrides.substr(s,r,l - r); - } else { - return s; - } -}; -StringTools.rtrim = function(s) { - var l = s.length; - var r = 0; - while(r < l && StringTools.isSpace(s,l - r - 1)) ++r; - if(r > 0) { - return HxOverrides.substr(s,0,l - r); - } else { - return s; - } -}; -StringTools.trim = function(s) { - return StringTools.ltrim(StringTools.rtrim(s)); -}; -StringTools.replace = function(s,sub,by) { - return s.split(sub).join(by); -}; -var haxe_Exception = function(message,previous,native) { - Error.call(this,message); - this.message = message; - this.__previousException = previous; - this.__nativeException = native != null ? native : this; -}; -haxe_Exception.__name__ = true; -haxe_Exception.caught = function(value) { - if(((value) instanceof haxe_Exception)) { - return value; - } else if(((value) instanceof Error)) { - return new haxe_Exception(value.message,null,value); - } else { - return new haxe_ValueException(value,null,value); - } -}; -haxe_Exception.thrown = function(value) { - if(((value) instanceof haxe_Exception)) { - return value.get_native(); - } else if(((value) instanceof Error)) { - return value; - } else { - var e = new haxe_ValueException(value); - return e; - } -}; -haxe_Exception.__super__ = Error; -haxe_Exception.prototype = $extend(Error.prototype,{ - unwrap: function() { - return this.__nativeException; - } - ,get_native: function() { - return this.__nativeException; - } - ,__properties__: {get_native:"get_native"} -}); -var haxe__$Template_TemplateExpr = $hxEnums["haxe._Template.TemplateExpr"] = { __ename__:true,__constructs__:null - ,OpVar: ($_=function(v) { return {_hx_index:0,v:v,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpVar",$_.__params__ = ["v"],$_) - ,OpExpr: ($_=function(expr) { return {_hx_index:1,expr:expr,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpExpr",$_.__params__ = ["expr"],$_) - ,OpIf: ($_=function(expr,eif,eelse) { return {_hx_index:2,expr:expr,eif:eif,eelse:eelse,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpIf",$_.__params__ = ["expr","eif","eelse"],$_) - ,OpStr: ($_=function(str) { return {_hx_index:3,str:str,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpStr",$_.__params__ = ["str"],$_) - ,OpBlock: ($_=function(l) { return {_hx_index:4,l:l,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpBlock",$_.__params__ = ["l"],$_) - ,OpForeach: ($_=function(expr,loop) { return {_hx_index:5,expr:expr,loop:loop,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpForeach",$_.__params__ = ["expr","loop"],$_) - ,OpMacro: ($_=function(name,params) { return {_hx_index:6,name:name,params:params,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpMacro",$_.__params__ = ["name","params"],$_) -}; -haxe__$Template_TemplateExpr.__constructs__ = [haxe__$Template_TemplateExpr.OpVar,haxe__$Template_TemplateExpr.OpExpr,haxe__$Template_TemplateExpr.OpIf,haxe__$Template_TemplateExpr.OpStr,haxe__$Template_TemplateExpr.OpBlock,haxe__$Template_TemplateExpr.OpForeach,haxe__$Template_TemplateExpr.OpMacro]; -var haxe_iterators_ArrayIterator = function(array) { - this.current = 0; - this.array = array; -}; -haxe_iterators_ArrayIterator.__name__ = true; -haxe_iterators_ArrayIterator.prototype = { - hasNext: function() { - return this.current < this.array.length; - } - ,next: function() { - return this.array[this.current++]; - } -}; -var haxe_Template = function(str) { - var tokens = this.parseTokens(str); - this.expr = this.parseBlock(tokens); - if(!tokens.isEmpty()) { - throw haxe_Exception.thrown("Unexpected '" + Std.string(tokens.first().s) + "'"); - } -}; -haxe_Template.__name__ = true; -haxe_Template.prototype = { - execute: function(context,macros) { - this.macros = macros == null ? { } : macros; - this.context = context; - this.stack = new haxe_ds_List(); - this.buf = new StringBuf(); - this.run(this.expr); - return this.buf.b; - } - ,resolve: function(v) { - if(v == "__current__") { - return this.context; - } - if(Reflect.isObject(this.context)) { - var value = Reflect.getProperty(this.context,v); - if(value != null || Object.prototype.hasOwnProperty.call(this.context,v)) { - return value; - } - } - var _g_head = this.stack.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var ctx = val; - var value = Reflect.getProperty(ctx,v); - if(value != null || Object.prototype.hasOwnProperty.call(ctx,v)) { - return value; - } - } - return Reflect.field(haxe_Template.globals,v); - } - ,parseTokens: function(data) { - var tokens = new haxe_ds_List(); - while(haxe_Template.splitter.match(data)) { - var p = haxe_Template.splitter.matchedPos(); - if(p.pos > 0) { - tokens.add({ p : HxOverrides.substr(data,0,p.pos), s : true, l : null}); - } - if(HxOverrides.cca(data,p.pos) == 58) { - tokens.add({ p : HxOverrides.substr(data,p.pos + 2,p.len - 4), s : false, l : null}); - data = haxe_Template.splitter.matchedRight(); - continue; - } - var parp = p.pos + p.len; - var npar = 1; - var params = []; - var part = ""; - while(true) { - var c = HxOverrides.cca(data,parp); - ++parp; - if(c == 40) { - ++npar; - } else if(c == 41) { - --npar; - if(npar <= 0) { - break; - } - } else if(c == null) { - throw haxe_Exception.thrown("Unclosed macro parenthesis"); - } - if(c == 44 && npar == 1) { - params.push(part); - part = ""; - } else { - part += String.fromCodePoint(c); - } - } - params.push(part); - tokens.add({ p : haxe_Template.splitter.matched(2), s : false, l : params}); - data = HxOverrides.substr(data,parp,data.length - parp); - } - if(data.length > 0) { - tokens.add({ p : data, s : true, l : null}); - } - return tokens; - } - ,parseBlock: function(tokens) { - var l = new haxe_ds_List(); - while(true) { - var t = tokens.first(); - if(t == null) { - break; - } - if(!t.s && (t.p == "end" || t.p == "else" || HxOverrides.substr(t.p,0,7) == "elseif ")) { - break; - } - l.add(this.parse(tokens)); - } - if(l.length == 1) { - return l.first(); - } - return haxe__$Template_TemplateExpr.OpBlock(l); - } - ,parse: function(tokens) { - var t = tokens.pop(); - var p = t.p; - if(t.s) { - return haxe__$Template_TemplateExpr.OpStr(p); - } - if(t.l != null) { - var pe = new haxe_ds_List(); - var _g = 0; - var _g1 = t.l; - while(_g < _g1.length) { - var p1 = _g1[_g]; - ++_g; - pe.add(this.parseBlock(this.parseTokens(p1))); - } - return haxe__$Template_TemplateExpr.OpMacro(p,pe); - } - var kwdEnd = function(kwd) { - var pos = -1; - var length = kwd.length; - if(HxOverrides.substr(p,0,length) == kwd) { - pos = length; - var _g_offset = 0; - var _g_s = HxOverrides.substr(p,length,null); - while(_g_offset < _g_s.length) { - var c = _g_s.charCodeAt(_g_offset++); - if(c == 32) { - ++pos; - } else { - break; - } - } - } - return pos; - }; - var pos = kwdEnd("if"); - if(pos > 0) { - p = HxOverrides.substr(p,pos,p.length - pos); - var e = this.parseExpr(p); - var eif = this.parseBlock(tokens); - var t = tokens.first(); - var eelse; - if(t == null) { - throw haxe_Exception.thrown("Unclosed 'if'"); - } - if(t.p == "end") { - tokens.pop(); - eelse = null; - } else if(t.p == "else") { - tokens.pop(); - eelse = this.parseBlock(tokens); - t = tokens.pop(); - if(t == null || t.p != "end") { - throw haxe_Exception.thrown("Unclosed 'else'"); - } - } else { - t.p = HxOverrides.substr(t.p,4,t.p.length - 4); - eelse = this.parse(tokens); - } - return haxe__$Template_TemplateExpr.OpIf(e,eif,eelse); - } - var pos = kwdEnd("foreach"); - if(pos >= 0) { - p = HxOverrides.substr(p,pos,p.length - pos); - var e = this.parseExpr(p); - var efor = this.parseBlock(tokens); - var t = tokens.pop(); - if(t == null || t.p != "end") { - throw haxe_Exception.thrown("Unclosed 'foreach'"); - } - return haxe__$Template_TemplateExpr.OpForeach(e,efor); - } - if(haxe_Template.expr_splitter.match(p)) { - return haxe__$Template_TemplateExpr.OpExpr(this.parseExpr(p)); - } - return haxe__$Template_TemplateExpr.OpVar(p); - } - ,parseExpr: function(data) { - var l = new haxe_ds_List(); - var expr = data; - while(haxe_Template.expr_splitter.match(data)) { - var p = haxe_Template.expr_splitter.matchedPos(); - var k = p.pos + p.len; - if(p.pos != 0) { - l.add({ p : HxOverrides.substr(data,0,p.pos), s : true}); - } - var p1 = haxe_Template.expr_splitter.matched(0); - l.add({ p : p1, s : p1.indexOf("\"") >= 0}); - data = haxe_Template.expr_splitter.matchedRight(); - } - if(data.length != 0) { - var _g_offset = 0; - var _g_s = data; - while(_g_offset < _g_s.length) { - var _g_key = _g_offset; - var _g_value = _g_s.charCodeAt(_g_offset++); - var i = _g_key; - var c = _g_value; - if(c != 32) { - l.add({ p : HxOverrides.substr(data,i,null), s : true}); - break; - } - } - } - var e; - try { - e = this.makeExpr(l); - if(!l.isEmpty()) { - throw haxe_Exception.thrown(l.first().p); - } - } catch( _g ) { - var _g1 = haxe_Exception.caught(_g).unwrap(); - if(typeof(_g1) == "string") { - var s = _g1; - throw haxe_Exception.thrown("Unexpected '" + s + "' in " + expr); - } else { - throw _g; - } - } - return function() { - try { - return e(); - } catch( _g ) { - var exc = haxe_Exception.caught(_g).unwrap(); - throw haxe_Exception.thrown("Error : " + Std.string(exc) + " in " + expr); - } - }; - } - ,makeConst: function(v) { - haxe_Template.expr_trim.match(v); - v = haxe_Template.expr_trim.matched(1); - if(HxOverrides.cca(v,0) == 34) { - var str = HxOverrides.substr(v,1,v.length - 2); - return function() { - return str; - }; - } - if(haxe_Template.expr_int.match(v)) { - var i = Std.parseInt(v); - return function() { - return i; - }; - } - if(haxe_Template.expr_float.match(v)) { - var f = parseFloat(v); - return function() { - return f; - }; - } - var me = this; - return function() { - return me.resolve(v); - }; - } - ,makePath: function(e,l) { - var p = l.first(); - if(p == null || p.p != ".") { - return e; - } - l.pop(); - var field = l.pop(); - if(field == null || !field.s) { - throw haxe_Exception.thrown(field.p); - } - var f = field.p; - haxe_Template.expr_trim.match(f); - f = haxe_Template.expr_trim.matched(1); - return this.makePath(function() { - return Reflect.field(e(),f); - },l); - } - ,makeExpr: function(l) { - return this.makePath(this.makeExpr2(l),l); - } - ,skipSpaces: function(l) { - var p = l.first(); - while(p != null) { - var _g_offset = 0; - var _g_s = p.p; - while(_g_offset < _g_s.length) { - var c = _g_s.charCodeAt(_g_offset++); - if(c != 32) { - return; - } - } - l.pop(); - p = l.first(); - } - } - ,makeExpr2: function(l) { - this.skipSpaces(l); - var p = l.pop(); - this.skipSpaces(l); - if(p == null) { - throw haxe_Exception.thrown(""); - } - if(p.s) { - return this.makeConst(p.p); - } - switch(p.p) { - case "!": - var e = this.makeExpr(l); - return function() { - var v = e(); - if(v != null) { - return v == false; - } else { - return true; - } - }; - case "(": - this.skipSpaces(l); - var e1 = this.makeExpr(l); - this.skipSpaces(l); - var p1 = l.pop(); - if(p1 == null || p1.s) { - throw haxe_Exception.thrown(p1); - } - if(p1.p == ")") { - return e1; - } - this.skipSpaces(l); - var e2 = this.makeExpr(l); - this.skipSpaces(l); - var p2 = l.pop(); - this.skipSpaces(l); - if(p2 == null || p2.p != ")") { - throw haxe_Exception.thrown(p2); - } - switch(p1.p) { - case "!=": - return function() { - return e1() != e2(); - }; - case "&&": - return function() { - return e1() && e2(); - }; - case "*": - return function() { - return e1() * e2(); - }; - case "+": - return function() { - return e1() + e2(); - }; - case "-": - return function() { - return e1() - e2(); - }; - case "/": - return function() { - return e1() / e2(); - }; - case "<": - return function() { - return e1() < e2(); - }; - case "<=": - return function() { - return e1() <= e2(); - }; - case "==": - return function() { - return e1() == e2(); - }; - case ">": - return function() { - return e1() > e2(); - }; - case ">=": - return function() { - return e1() >= e2(); - }; - case "||": - return function() { - return e1() || e2(); - }; - default: - throw haxe_Exception.thrown("Unknown operation " + p1.p); - } - break; - case "-": - var e3 = this.makeExpr(l); - return function() { - return -e3(); - }; - } - throw haxe_Exception.thrown(p.p); - } - ,run: function(e) { - switch(e._hx_index) { - case 0: - var v = e.v; - var _this = this.buf; - var x = Std.string(this.resolve(v)); - _this.b += Std.string(x); - break; - case 1: - var e1 = e.expr; - var _this = this.buf; - var x = Std.string(e1()); - _this.b += Std.string(x); - break; - case 2: - var e1 = e.expr; - var eif = e.eif; - var eelse = e.eelse; - var v = e1(); - if(v == null || v == false) { - if(eelse != null) { - this.run(eelse); - } - } else { - this.run(eif); - } - break; - case 3: - var str = e.str; - this.buf.b += str == null ? "null" : "" + str; - break; - case 4: - var l = e.l; - var _g_head = l.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var e1 = val; - this.run(e1); - } - break; - case 5: - var e1 = e.expr; - var loop = e.loop; - var v = e1(); - try { - var x = $getIterator(v); - if(x.hasNext == null) { - throw haxe_Exception.thrown(null); - } - v = x; - } catch( _g ) { - try { - if(v.hasNext == null) { - throw haxe_Exception.thrown(null); - } - } catch( _g1 ) { - throw haxe_Exception.thrown("Cannot iter on " + Std.string(v)); - } - } - this.stack.push(this.context); - var v1 = v; - var ctx = v1; - while(ctx.hasNext()) { - var ctx1 = ctx.next(); - this.context = ctx1; - this.run(loop); - } - this.context = this.stack.pop(); - break; - case 6: - var m = e.name; - var params = e.params; - var v = Reflect.field(this.macros,m); - var pl = []; - var old = this.buf; - pl.push($bind(this,this.resolve)); - var _g_head = params.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var p = val; - if(p._hx_index == 0) { - var v1 = p.v; - pl.push(this.resolve(v1)); - } else { - this.buf = new StringBuf(); - this.run(p); - pl.push(this.buf.b); - } - } - this.buf = old; - try { - var _this = this.buf; - var x = Std.string(v.apply(this.macros,pl)); - _this.b += Std.string(x); - } catch( _g ) { - var e = haxe_Exception.caught(_g).unwrap(); - var plstr; - try { - plstr = pl.join(","); - } catch( _g1 ) { - plstr = "???"; - } - var msg = "Macro call " + m + "(" + plstr + ") failed (" + Std.string(e) + ")"; - throw haxe_Exception.thrown(msg); - } - break; - } - } -}; -var haxe_ValueException = function(value,previous,native) { - haxe_Exception.call(this,String(value),previous,native); - this.value = value; -}; -haxe_ValueException.__name__ = true; -haxe_ValueException.__super__ = haxe_Exception; -haxe_ValueException.prototype = $extend(haxe_Exception.prototype,{ - unwrap: function() { - return this.value; - } -}); -var haxe_ds_List = function() { - this.length = 0; -}; -haxe_ds_List.__name__ = true; -haxe_ds_List.prototype = { - add: function(item) { - var x = new haxe_ds__$List_ListNode(item,null); - if(this.h == null) { - this.h = x; - } else { - this.q.next = x; - } - this.q = x; - this.length++; - } - ,push: function(item) { - var x = new haxe_ds__$List_ListNode(item,this.h); - this.h = x; - if(this.q == null) { - this.q = x; - } - this.length++; - } - ,first: function() { - if(this.h == null) { - return null; - } else { - return this.h.item; - } - } - ,pop: function() { - if(this.h == null) { - return null; - } - var x = this.h.item; - this.h = this.h.next; - if(this.h == null) { - this.q = null; - } - this.length--; - return x; - } - ,isEmpty: function() { - return this.h == null; - } - ,toString: function() { - var s_b = ""; - var first = true; - var l = this.h; - s_b += "{"; - while(l != null) { - if(first) { - first = false; - } else { - s_b += ", "; - } - s_b += Std.string(Std.string(l.item)); - l = l.next; - } - s_b += "}"; - return s_b; - } -}; -var haxe_ds__$List_ListNode = function(item,next) { - this.item = item; - this.next = next; -}; -haxe_ds__$List_ListNode.__name__ = true; -var js_Boot = function() { }; -js_Boot.__name__ = true; -js_Boot.__string_rec = function(o,s) { - if(o == null) { - return "null"; - } - if(s.length >= 5) { - return "<...>"; - } - var t = typeof(o); - if(t == "function" && (o.__name__ || o.__ename__)) { - t = "object"; - } - switch(t) { - case "function": - return ""; - case "object": - if(o.__enum__) { - var e = $hxEnums[o.__enum__]; - var con = e.__constructs__[o._hx_index]; - var n = con._hx_name; - if(con.__params__) { - s = s + "\t"; - return n + "(" + ((function($this) { - var $r; - var _g = []; - { - var _g1 = 0; - var _g2 = con.__params__; - while(true) { - if(!(_g1 < _g2.length)) { - break; - } - var p = _g2[_g1]; - _g1 = _g1 + 1; - _g.push(js_Boot.__string_rec(o[p],s)); - } - } - $r = _g; - return $r; - }(this))).join(",") + ")"; - } else { - return n; - } - } - if(((o) instanceof Array)) { - var str = "["; - s += "\t"; - var _g = 0; - var _g1 = o.length; - while(_g < _g1) { - var i = _g++; - str += (i > 0 ? "," : "") + js_Boot.__string_rec(o[i],s); - } - str += "]"; - return str; - } - var tostr; - try { - tostr = o.toString; - } catch( _g ) { - return "???"; - } - if(tostr != null && tostr != Object.toString && typeof(tostr) == "function") { - var s2 = o.toString(); - if(s2 != "[object Object]") { - return s2; - } - } - var str = "{\n"; - s += "\t"; - var hasp = o.hasOwnProperty != null; - var k = null; - for( k in o ) { - if(hasp && !o.hasOwnProperty(k)) { - continue; - } - if(k == "prototype" || k == "__class__" || k == "__super__" || k == "__interfaces__" || k == "__properties__") { - continue; - } - if(str.length != 2) { - str += ", \n"; - } - str += s + k + " : " + js_Boot.__string_rec(o[k],s); - } - s = s.substring(1); - str += "\n" + s + "}"; - return str; - case "string": - return o; - default: - return String(o); - } -}; -var xrfragment_Filter = $hx_exports["xrfragment"]["Filter"] = function(str) { - this.q = { }; - this.str = ""; - if(str != null) { - this.parse(str); - } -}; -xrfragment_Filter.__name__ = true; -xrfragment_Filter.prototype = { - toObject: function() { - return Reflect.copy(this.q); - } - ,get: function() { - return Reflect.copy(this.q); - } - ,parse: function(str) { - var token = str.split(" "); - var q = { }; - var process = function(str,prefix) { - if(prefix == null) { - prefix = ""; - } - str = StringTools.trim(str); - var k = str.split("=")[0]; - var v = str.split("=")[1]; - var filter = { }; - if(q[prefix + k]) { - filter = q[prefix + k]; - } - if(xrfragment_XRF.isProp.match(str)) { - var oper = ""; - if(str.indexOf(">") != -1) { - oper = ">"; - } - if(str.indexOf("<") != -1) { - oper = "<"; - } - if(xrfragment_XRF.isExclude.match(k)) { - k = HxOverrides.substr(k,1,null); - } - v = HxOverrides.substr(v,oper.length,null); - if(oper.length == 0) { - oper = "="; - } - var rule = { }; - if(xrfragment_XRF.isNumber.match(v)) { - rule[oper] = parseFloat(v); - } else { - rule[oper] = v; - } - q["expr"] = rule; - } - var value = xrfragment_XRF.isDeep.match(str) ? k.split("*").length - 1 : 0; - q["deep"] = value; - var value = xrfragment_XRF.isExclude.match(str) ? false : true; - q["show"] = value; - var value = k.replace(xrfragment_XRF.operators.r,""); - q["key"] = value; - q["value"] = v; - }; - var _g = 0; - var _g1 = token.length; - while(_g < _g1) { - var i = _g++; - process(token[i]); - } - return this.q = q; - } - ,test: function(obj) { - var qualify = false; - var _g = 0; - var _g1 = Reflect.fields(obj); - while(_g < _g1.length) { - var k = _g1[_g]; - ++_g; - var v = Std.string(Reflect.field(obj,k)); - if(this.testProperty(k,v)) { - qualify = true; - } - } - var _g = 0; - var _g1 = Reflect.fields(obj); - while(_g < _g1.length) { - var k = _g1[_g]; - ++_g; - var v = Std.string(Reflect.field(obj,k)); - if(this.testProperty(k,v,true)) { - qualify = false; - } - } - return qualify; - } - ,testProperty: function(property,value,exclude) { - var conds = 0; - var fails = 0; - var qualify = 0; - var testprop = function(expr) { - conds += 1; - fails += expr ? 0 : 1; - return expr; - }; - if(this.q[value] != null) { - var v = this.q[value]; - if(v[property] != null) { - return v[property]; - } - } - if(Reflect.field(this.q,"expr")) { - var f = Reflect.field(this.q,"expr"); - if(!Reflect.field(this.q,"show")) { - if(Reflect.field(f,"!=") != null && testprop((value == null ? "null" : "" + value) == Std.string(Reflect.field(f,"!="))) && exclude) { - ++qualify; - } - } else { - if(Reflect.field(f,"*") != null && testprop(parseFloat(value) != null)) { - ++qualify; - } - if(Reflect.field(f,">") != null && testprop(parseFloat(value) >= parseFloat(Reflect.field(f,">")))) { - ++qualify; - } - if(Reflect.field(f,"<") != null && testprop(parseFloat(value) <= parseFloat(Reflect.field(f,"<")))) { - ++qualify; - } - if(Reflect.field(f,"=") != null && (testprop(value == Reflect.field(f,"=")) || testprop(parseFloat(value) == parseFloat(Reflect.field(f,"="))))) { - ++qualify; - } - } - } - return qualify > 0; - } -}; -var xrfragment_Parser = $hx_exports["xrfragment"]["Parser"] = function() { }; -xrfragment_Parser.__name__ = true; -xrfragment_Parser.parse = function(key,value,store,index) { - var Frag_h = Object.create(null); - Frag_h["#"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_PREDEFINED_VIEW | xrfragment_XRF.PV_EXECUTE; - Frag_h["src"] = xrfragment_XRF.T_URL; - Frag_h["href"] = xrfragment_XRF.T_URL | xrfragment_XRF.T_PREDEFINED_VIEW; - Frag_h["tag"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["pos"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_VECTOR3 | xrfragment_XRF.T_STRING | xrfragment_XRF.METADATA | xrfragment_XRF.NAVIGATOR; - Frag_h["rot"] = xrfragment_XRF.QUERY_OPERATOR | xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_VECTOR3 | xrfragment_XRF.METADATA | xrfragment_XRF.NAVIGATOR; - Frag_h["t"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_FLOAT | xrfragment_XRF.T_VECTOR2 | xrfragment_XRF.NAVIGATOR | xrfragment_XRF.METADATA; - Frag_h["s"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_MEDIAFRAG; - Frag_h["loop"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_PREDEFINED_VIEW; - Frag_h["uv"] = xrfragment_XRF.T_VECTOR2 | xrfragment_XRF.T_MEDIAFRAG; - Frag_h["namespace"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["SPDX"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["unit"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["description"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - var keyStripped = key.replace(xrfragment_XRF.operators.r,""); - var isPVDynamic = key.length > 0 && !Object.prototype.hasOwnProperty.call(Frag_h,key); - if(isPVDynamic) { - var v = new xrfragment_XRF(key,xrfragment_XRF.PV_EXECUTE | xrfragment_XRF.NAVIGATOR,index); - v.validate(value); - v.flags = xrfragment_XRF.set(xrfragment_XRF.T_DYNAMICKEY,v.flags); - if(!Object.prototype.hasOwnProperty.call(Frag_h,key)) { - v.flags = xrfragment_XRF.set(xrfragment_XRF.CUSTOMFRAG,v.flags); - } - if(value.length == 0) { - v.flags = xrfragment_XRF.set(xrfragment_XRF.T_DYNAMICKEYVALUE,v.flags); - } - store[keyStripped] = v; - return true; - } - var v = new xrfragment_XRF(key,Frag_h[key],index); - if(Object.prototype.hasOwnProperty.call(Frag_h,key)) { - if(!v.validate(value)) { - console.log("src/xrfragment/Parser.hx:67:","⚠ fragment '" + key + "' has incompatible value (" + value + ")"); - return false; - } - store[keyStripped] = v; - if(xrfragment_Parser.debug) { - console.log("src/xrfragment/Parser.hx:71:","✔ " + key + ": " + v.string); - } - } else { - if(typeof(value) == "string") { - v.guessType(v,value); - } - v.flags = xrfragment_XRF.set(xrfragment_XRF.CUSTOMFRAG,v.flags); - store[keyStripped] = v; - } - return true; -}; -xrfragment_Parser.getMetaData = function() { - var meta = { title : ["title","og:title","dc.title"], description : ["aria-description","og:description","dc.description"], author : ["author","dc.creator"], publisher : ["publisher","dc.publisher"], website : ["og:site_name","og:url","dc.publisher"], license : ["SPDX","dc.rights"]}; - return meta; -}; -var xrfragment_URI = $hx_exports["xrfragment"]["URI"] = function() { - this.XRF = { }; - this.hash = { }; - this.fragment = ""; -}; -xrfragment_URI.__name__ = true; -xrfragment_URI.parseFragment = function(url,filter) { - var store = { }; - if(url == null || url.indexOf("#") == -1) { - return store; - } - var fragment = url.split("#"); - var splitArray = fragment[1].split("&"); - var _g = 0; - var _g1 = splitArray.length; - while(_g < _g1) { - var i = _g++; - var splitByEqual = splitArray[i].split("="); - var regexPlus = new EReg("\\+","g"); - var key = splitByEqual[0]; - var value = ""; - if(splitByEqual.length > 1) { - if(xrfragment_XRF.isVector.match(splitByEqual[1])) { - value = splitByEqual[1]; - } else { - var s = regexPlus.split(splitByEqual[1]).join(" "); - value = decodeURIComponent(s.split("+").join(" ")); - } - } - var ok = xrfragment_Parser.parse(key,value,store,i); - } - if(filter != null && filter != 0) { - var _g = 0; - var _g1 = Reflect.fields(store); - while(_g < _g1.length) { - var key = _g1[_g]; - ++_g; - var xrf = store[key]; - if(!xrf.is(filter)) { - Reflect.deleteField(store,key); - } - } - } - return store; -}; -xrfragment_URI.template = function(uri,vars) { - var parts = uri.split("#"); - if(parts.length == 1) { - return uri; - } - var frag = parts[1]; - frag = StringTools.replace(frag,"{","::"); - frag = StringTools.replace(frag,"}","::"); - frag = new haxe_Template(frag).execute(vars); - frag = StringTools.replace(frag,"null",""); - parts[1] = frag; - return parts.join("#"); -}; -xrfragment_URI.parse = function(stringUrl,flags) { - var r = new EReg("^(?:(?![^:@]+:[^:@/]*@)([^:/?#.]+):)?(?://)?((?:(([^:@]*)(?::([^:@]*))?)?@)?([^:/?#]*)(?::(\\d*))?)(((/(?:[^?#](?![^?#/]*\\.[^?#/.]+(?:[?#]|$)))*/?)?([^?#/]*))(?:\\?([^#]*))?(?:#(.*))?)",""); - if(stringUrl.indexOf("://") == -1 && stringUrl.charAt(0) != "/") { - stringUrl = "/" + stringUrl; - } - r.match(stringUrl); - var url = new xrfragment_URI(); - var _g = 0; - var _g1 = xrfragment_URI._parts.length; - while(_g < _g1) { - var i = _g++; - url[xrfragment_URI._parts[i]] = r.matched(i); - } - if(xrfragment_URI.isRelative(url) == true) { - if(url.directory == null && url.host != null) { - url.file = url.host; - } - url.host = ""; - } - url.hash = { }; - if(url.fragment != null && url.fragment.length > 0) { - url.XRF = xrfragment_URI.parseFragment("#" + url.fragment,flags); - var key; - var _g = 0; - var _g1 = Reflect.fields(url.XRF); - while(_g < _g1.length) { - var key = _g1[_g]; - ++_g; - var v = url.XRF[key]; - url.hash[key] = v["string"]; - } - } - xrfragment_URI.computeVars(url); - return url; -}; -xrfragment_URI.computeVars = function(url) { - var r_r = new RegExp("//","g".split("u").join("")); - if(url.directory != null && url.directory.indexOf("//") != -1) { - url.directory = url.directory.replace(r_r,"/"); - } - if(url.path != null && url.path.indexOf("//") != -1) { - url.path = url.path.replace(r_r,"/"); - } - if(url.file != null && url.file.indexOf("//") != -1) { - url.file = url.file.replace(r_r,"/"); - } - url.URN = url.scheme + "://" + url.host; - if(url.port != null) { - url.URN += ":" + url.port; - } - url.URN += url.directory; - if(url.file != null) { - var parts = url.file.split("."); - if(parts.length > 1) { - url.fileExt = parts.pop(); - } - } -}; -xrfragment_URI.toString = function(url) { - var result = ""; - if(url.scheme != null) { - result += url.scheme + "://"; - } - if(url.user != null) { - result += url.user + ":"; - } - if(url.password != null) { - result += url.password + "@"; - } - if(url.host != null) { - result += url.host; - } - if(url.port != null) { - result += ":" + url.port; - } - if(url.directory != null) { - result += url.directory; - } - if(url.file != null) { - result += url.file; - } - if(url.query != null) { - result += "?" + url.query; - } - if(url.fragment != null) { - result += "#" + url.fragment; - } - return result; -}; -xrfragment_URI.appendURI = function(url,appendedURI) { - if(xrfragment_URI.isRelative(url) == true) { - return xrfragment_URI.appendToRelativeURI(url,appendedURI); - } else { - return xrfragment_URI.appendToAbsoluteURI(url,appendedURI); - } -}; -xrfragment_URI.isRelative = function(url) { - return url.scheme == null; -}; -xrfragment_URI.appendToRelativeURI = function(url,appendedURI) { - if(url.directory == null || url.host == null) { - return xrfragment_URI.cloneURI(appendedURI); - } - var resultURI = new xrfragment_URI(); - resultURI.host = url.host; - resultURI.directory = url.directory; - if(appendedURI.host != null) { - resultURI.directory += appendedURI.host; - } - if(appendedURI.directory != null) { - var directory = appendedURI.directory; - if(appendedURI.host == null) { - resultURI.directory += HxOverrides.substr(directory,1,null); - } else { - resultURI.directory += directory; - } - } - if(appendedURI.file != null) { - resultURI.file = appendedURI.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(appendedURI.query != null) { - resultURI.query = appendedURI.query; - } - if(appendedURI.fragment != null) { - resultURI.fragment = appendedURI.fragment; - } - return resultURI; -}; -xrfragment_URI.appendToAbsoluteURI = function(url,appendedURI) { - var resultURI = new xrfragment_URI(); - if(url.scheme != null) { - resultURI.scheme = url.scheme; - } - if(url.host != null) { - resultURI.host = url.host; - } - var directory = ""; - if(url.directory != null) { - directory = url.directory; - } - if(appendedURI.host != null) { - appendedURI.directory += appendedURI.host; - } - if(appendedURI.directory != null) { - directory += appendedURI.directory; - } - resultURI.directory = directory; - if(appendedURI.file != null) { - resultURI.file = appendedURI.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(appendedURI.query != null) { - resultURI.query = appendedURI.query; - } - if(appendedURI.fragment != null) { - resultURI.fragment = appendedURI.fragment; - } - return resultURI; -}; -xrfragment_URI.toAbsolute = function(url,newUrl) { - var newURI = xrfragment_URI.parse(newUrl,0); - var resultURI = new xrfragment_URI(); - resultURI.port = url.port; - resultURI.source = newUrl; - if(newURI.scheme != null) { - resultURI.scheme = newURI.scheme; - } else { - resultURI.scheme = url.scheme; - } - if(newURI.host != null && newURI.host.length > 0) { - resultURI.host = newURI.host; - resultURI.port = null; - resultURI.fragment = null; - resultURI.hash = { }; - resultURI.XRF = { }; - if(newURI.port != null) { - resultURI.port = newURI.port; - } - } else { - resultURI.host = url.host; - } - var directory = ""; - if(url.directory != null) { - directory = url.directory; - } - if(newURI.directory != null) { - if(newUrl.charAt(0) != "/" && newUrl.indexOf("://") == -1) { - var stripRelative_r = new RegExp("\\./.*","".split("u").join("")); - directory = directory.replace(stripRelative_r,""); - directory += newURI.directory; - } else { - directory = newURI.directory; - } - } - resultURI.directory = directory; - if(newURI.file != null) { - resultURI.file = newURI.file; - } else { - resultURI.file = url.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(newURI.query != null) { - resultURI.query = newURI.query; - } - if(newURI.fragment != null) { - resultURI.fragment = newURI.fragment; - } - resultURI.hash = newURI.hash; - resultURI.XRF = newURI.XRF; - xrfragment_URI.computeVars(resultURI); - return resultURI; -}; -xrfragment_URI.cloneURI = function(url) { - var clonedURI = new xrfragment_URI(); - clonedURI.url = url.url; - clonedURI.source = url.source; - clonedURI.scheme = url.scheme; - clonedURI.authority = url.authority; - clonedURI.userInfo = url.userInfo; - clonedURI.password = url.password; - clonedURI.host = url.host; - clonedURI.port = url.port; - clonedURI.relative = url.relative; - clonedURI.path = url.path; - clonedURI.directory = url.directory; - clonedURI.file = url.file; - clonedURI.query = url.query; - clonedURI.fragment = url.fragment; - return clonedURI; -}; -var xrfragment_XRF = $hx_exports["xrfragment"]["XRF"] = function(_fragment,_flags,_index) { - this.floats = []; - this.shift = []; - this.fragment = _fragment; - this.flags = _flags; - this.index = _index; -}; -xrfragment_XRF.__name__ = true; -xrfragment_XRF.set = function(flag,flags) { - return flags | flag; -}; -xrfragment_XRF.unset = function(flag,flags) { - return flags & ~flag; -}; -xrfragment_XRF.prototype = { - is: function(flag) { - var v = this.flags; - if(!(typeof(v) == "number" && ((v | 0) === v))) { - this.flags = 0; - } - return (this.flags & flag) != 0; - } - ,validate: function(value) { - this.guessType(this,value); - var ok = true; - if(value.length == 0 && !this.is(xrfragment_XRF.T_PREDEFINED_VIEW)) { - ok = false; - } - if(!this.is(xrfragment_XRF.T_FLOAT) && this.is(xrfragment_XRF.T_VECTOR2) && !(typeof(this.x) == "number" && typeof(this.y) == "number")) { - ok = false; - } - if(!(this.is(xrfragment_XRF.T_VECTOR2) || this.is(xrfragment_XRF.T_STRING)) && this.is(xrfragment_XRF.T_VECTOR3) && !(typeof(this.x) == "number" && typeof(this.y) == "number" && typeof(this.z) == "number")) { - ok = false; - } - return ok; - } - ,guessType: function(v,str) { - v.string = str; - if(xrfragment_XRF.isReset.match(v.fragment)) { - v.reset = true; - } - if(v.fragment == "loop") { - v.loop = true; - } - if(typeof(str) != "string") { - return; - } - if(str.length > 0) { - if(xrfragment_XRF.isXRFScheme.match(str)) { - v.xrfScheme = true; - str = str.replace(xrfragment_XRF.isXRFScheme.r,""); - v.string = str; - } - if(str.split(",").length > 1) { - var xyzn = str.split(","); - if(xyzn.length > 0) { - v.x = parseFloat(xyzn[0]); - } - if(xyzn.length > 1) { - v.y = parseFloat(xyzn[1]); - } - if(xyzn.length > 2) { - v.z = parseFloat(xyzn[2]); - } - var _g = 0; - var _g1 = xyzn.length; - while(_g < _g1) { - var i = _g++; - v.shift.push(xrfragment_XRF.isShift.match(xyzn[i])); - v.floats.push(parseFloat(xyzn[i].replace(xrfragment_XRF.isShift.r,""))); - } - } - if(xrfragment_XRF.isColor.match(str)) { - v.color = str; - } - if(xrfragment_XRF.isFloat.match(str)) { - v.x = parseFloat(str); - v.float = v.x; - } - if(xrfragment_XRF.isInt.match(str)) { - v.int = Std.parseInt(str); - v.x = v.int; - v.floats.push(v.x); - } - v.filter = new xrfragment_Filter(v.fragment + "=" + v.string); - } else { - v.filter = new xrfragment_Filter(v.fragment); - } - } -}; -function $getIterator(o) { if( o instanceof Array ) return new haxe_iterators_ArrayIterator(o); else return o.iterator(); } -function $bind(o,m) { if( m == null ) return null; if( m.__id__ == null ) m.__id__ = $global.$haxeUID++; var f; if( o.hx__closures__ == null ) o.hx__closures__ = {}; else f = o.hx__closures__[m.__id__]; if( f == null ) { f = m.bind(o); o.hx__closures__[m.__id__] = f; } return f; } -$global.$haxeUID |= 0; -if(typeof(performance) != "undefined" ? typeof(performance.now) == "function" : false) { - HxOverrides.now = performance.now.bind(performance); -} -if( String.fromCodePoint == null ) String.fromCodePoint = function(c) { return c < 0x10000 ? String.fromCharCode(c) : String.fromCharCode((c>>10)+0xD7C0)+String.fromCharCode((c&0x3FF)+0xDC00); } -String.__name__ = true; -Array.__name__ = true; -js_Boot.__toStr = ({ }).toString; -haxe_Template.splitter = new EReg("(::[A-Za-z0-9_ ()&|!+=/><*.\"-]+::|\\$\\$([A-Za-z0-9_-]+)\\()",""); -haxe_Template.expr_splitter = new EReg("(\\(|\\)|[ \r\n\t]*\"[^\"]*\"[ \r\n\t]*|[!+=/><*.&|-]+)",""); -haxe_Template.expr_trim = new EReg("^[ ]*([^ ]+)[ ]*$",""); -haxe_Template.expr_int = new EReg("^[0-9]+$",""); -haxe_Template.expr_float = new EReg("^([+-]?)(?=\\d|,\\d)\\d*(,\\d*)?([Ee]([+-]?\\d+))?$",""); -haxe_Template.globals = { }; -haxe_Template.hxKeepArrayIterator = new haxe_iterators_ArrayIterator([]); -xrfragment_Parser.error = ""; -xrfragment_Parser.debug = false; -xrfragment_URI.__meta__ = { statics : { template : { keep : null}}}; -xrfragment_URI._parts = ["source","scheme","authority","userInfo","user","password","host","port","relative","path","directory","file","query","fragment"]; -xrfragment_XRF.IMMUTABLE = 1; -xrfragment_XRF.PROP_BIND = 2; -xrfragment_XRF.QUERY_OPERATOR = 4; -xrfragment_XRF.PROMPT = 8; -xrfragment_XRF.CUSTOMFRAG = 16; -xrfragment_XRF.NAVIGATOR = 32; -xrfragment_XRF.METADATA = 64; -xrfragment_XRF.PV_OVERRIDE = 128; -xrfragment_XRF.PV_EXECUTE = 256; -xrfragment_XRF.T_COLOR = 8192; -xrfragment_XRF.T_INT = 16384; -xrfragment_XRF.T_FLOAT = 32768; -xrfragment_XRF.T_VECTOR2 = 65536; -xrfragment_XRF.T_VECTOR3 = 131072; -xrfragment_XRF.T_URL = 262144; -xrfragment_XRF.T_PREDEFINED_VIEW = 524288; -xrfragment_XRF.T_STRING = 1048576; -xrfragment_XRF.T_MEDIAFRAG = 2097152; -xrfragment_XRF.T_DYNAMICKEY = 4194304; -xrfragment_XRF.T_DYNAMICKEYVALUE = 8388608; -xrfragment_XRF.isColor = new EReg("^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$",""); -xrfragment_XRF.isInt = new EReg("^[-0-9]+$",""); -xrfragment_XRF.isFloat = new EReg("^[-0-9]+\\.[0-9]+$",""); -xrfragment_XRF.isVector = new EReg("([,]+|\\w)",""); -xrfragment_XRF.isUrl = new EReg("(://)?\\..*",""); -xrfragment_XRF.isUrlOrPretypedView = new EReg("(^#|://)?\\..*",""); -xrfragment_XRF.isString = new EReg(".*",""); -xrfragment_XRF.operators = new EReg("(^[-]|^[!]|[\\*]$)","g"); -xrfragment_XRF.isProp = new EReg("^.*=[><=]?",""); -xrfragment_XRF.isExclude = new EReg("^-",""); -xrfragment_XRF.isDeep = new EReg("\\*",""); -xrfragment_XRF.isNumber = new EReg("^[0-9\\.]+$",""); -xrfragment_XRF.isMediaFrag = new EReg("^([0-9\\.,\\*+-]+)$",""); -xrfragment_XRF.isReset = new EReg("^!",""); -xrfragment_XRF.isShift = new EReg("^(\\+|--)",""); -xrfragment_XRF.isXRFScheme = new EReg("^xrf://",""); -})(typeof window != "undefined" ? window : typeof global != "undefined" ? global : typeof self != "undefined" ? self : this); -var xrfragment = $hx_exports["xrfragment"]; -export default xrfragment; -// Generated by Haxe 4.3.3 -var $hx_exports = typeof exports != "undefined" ? exports : typeof window != "undefined" ? window : typeof self != "undefined" ? self : this; -(function ($global) { "use strict"; -$hx_exports["xrfragment"] = $hx_exports["xrfragment"] || {}; -var $estr = function() { return js_Boot.__string_rec(this,''); },$hxEnums = $hxEnums || {},$_; -function $extend(from, fields) { - var proto = Object.create(from); - for (var name in fields) proto[name] = fields[name]; - if( fields.toString !== Object.prototype.toString ) proto.toString = fields.toString; - return proto; -} -var EReg = function(r,opt) { - this.r = new RegExp(r,opt.split("u").join("")); -}; -EReg.__name__ = true; -EReg.prototype = { - match: function(s) { - if(this.r.global) { - this.r.lastIndex = 0; - } - this.r.m = this.r.exec(s); - this.r.s = s; - return this.r.m != null; - } - ,matched: function(n) { - if(this.r.m != null && n >= 0 && n < this.r.m.length) { - return this.r.m[n]; - } else { - throw haxe_Exception.thrown("EReg::matched"); - } - } - ,matchedRight: function() { - if(this.r.m == null) { - throw haxe_Exception.thrown("No string matched"); - } - var sz = this.r.m.index + this.r.m[0].length; - return HxOverrides.substr(this.r.s,sz,this.r.s.length - sz); - } - ,matchedPos: function() { - if(this.r.m == null) { - throw haxe_Exception.thrown("No string matched"); - } - return { pos : this.r.m.index, len : this.r.m[0].length}; - } - ,split: function(s) { - var d = "#__delim__#"; - return s.replace(this.r,d).split(d); - } -}; -var HxOverrides = function() { }; -HxOverrides.__name__ = true; -HxOverrides.cca = function(s,index) { - var x = s.charCodeAt(index); - if(x != x) { - return undefined; - } - return x; -}; -HxOverrides.substr = function(s,pos,len) { - if(len == null) { - len = s.length; - } else if(len < 0) { - if(pos == 0) { - len = s.length + len; - } else { - return ""; - } - } - return s.substr(pos,len); -}; -HxOverrides.now = function() { - return Date.now(); -}; -Math.__name__ = true; -var Reflect = function() { }; -Reflect.__name__ = true; -Reflect.field = function(o,field) { - try { - return o[field]; - } catch( _g ) { - return null; - } -}; -Reflect.getProperty = function(o,field) { - var tmp; - if(o == null) { - return null; - } else { - var tmp1; - if(o.__properties__) { - tmp = o.__properties__["get_" + field]; - tmp1 = tmp; - } else { - tmp1 = false; - } - if(tmp1) { - return o[tmp](); - } else { - return o[field]; - } - } -}; -Reflect.fields = function(o) { - var a = []; - if(o != null) { - var hasOwnProperty = Object.prototype.hasOwnProperty; - for( var f in o ) { - if(f != "__id__" && f != "hx__closures__" && hasOwnProperty.call(o,f)) { - a.push(f); - } - } - } - return a; -}; -Reflect.isObject = function(v) { - if(v == null) { - return false; - } - var t = typeof(v); - if(!(t == "string" || t == "object" && v.__enum__ == null)) { - if(t == "function") { - return (v.__name__ || v.__ename__) != null; - } else { - return false; - } - } else { - return true; - } -}; -Reflect.deleteField = function(o,field) { - if(!Object.prototype.hasOwnProperty.call(o,field)) { - return false; - } - delete(o[field]); - return true; -}; -Reflect.copy = function(o) { - if(o == null) { - return null; - } - var o2 = { }; - var _g = 0; - var _g1 = Reflect.fields(o); - while(_g < _g1.length) { - var f = _g1[_g]; - ++_g; - o2[f] = Reflect.field(o,f); - } - return o2; -}; -var Std = function() { }; -Std.__name__ = true; -Std.string = function(s) { - return js_Boot.__string_rec(s,""); -}; -Std.parseInt = function(x) { - var v = parseInt(x); - if(isNaN(v)) { - return null; - } - return v; -}; -var StringBuf = function() { - this.b = ""; -}; -StringBuf.__name__ = true; -var StringTools = function() { }; -StringTools.__name__ = true; -StringTools.isSpace = function(s,pos) { - var c = HxOverrides.cca(s,pos); - if(!(c > 8 && c < 14)) { - return c == 32; - } else { - return true; - } -}; -StringTools.ltrim = function(s) { - var l = s.length; - var r = 0; - while(r < l && StringTools.isSpace(s,r)) ++r; - if(r > 0) { - return HxOverrides.substr(s,r,l - r); - } else { - return s; - } -}; -StringTools.rtrim = function(s) { - var l = s.length; - var r = 0; - while(r < l && StringTools.isSpace(s,l - r - 1)) ++r; - if(r > 0) { - return HxOverrides.substr(s,0,l - r); - } else { - return s; - } -}; -StringTools.trim = function(s) { - return StringTools.ltrim(StringTools.rtrim(s)); -}; -StringTools.replace = function(s,sub,by) { - return s.split(sub).join(by); -}; -var haxe_Exception = function(message,previous,native) { - Error.call(this,message); - this.message = message; - this.__previousException = previous; - this.__nativeException = native != null ? native : this; -}; -haxe_Exception.__name__ = true; -haxe_Exception.caught = function(value) { - if(((value) instanceof haxe_Exception)) { - return value; - } else if(((value) instanceof Error)) { - return new haxe_Exception(value.message,null,value); - } else { - return new haxe_ValueException(value,null,value); - } -}; -haxe_Exception.thrown = function(value) { - if(((value) instanceof haxe_Exception)) { - return value.get_native(); - } else if(((value) instanceof Error)) { - return value; - } else { - var e = new haxe_ValueException(value); - return e; - } -}; -haxe_Exception.__super__ = Error; -haxe_Exception.prototype = $extend(Error.prototype,{ - unwrap: function() { - return this.__nativeException; - } - ,get_native: function() { - return this.__nativeException; - } - ,__properties__: {get_native:"get_native"} -}); -var haxe__$Template_TemplateExpr = $hxEnums["haxe._Template.TemplateExpr"] = { __ename__:true,__constructs__:null - ,OpVar: ($_=function(v) { return {_hx_index:0,v:v,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpVar",$_.__params__ = ["v"],$_) - ,OpExpr: ($_=function(expr) { return {_hx_index:1,expr:expr,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpExpr",$_.__params__ = ["expr"],$_) - ,OpIf: ($_=function(expr,eif,eelse) { return {_hx_index:2,expr:expr,eif:eif,eelse:eelse,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpIf",$_.__params__ = ["expr","eif","eelse"],$_) - ,OpStr: ($_=function(str) { return {_hx_index:3,str:str,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpStr",$_.__params__ = ["str"],$_) - ,OpBlock: ($_=function(l) { return {_hx_index:4,l:l,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpBlock",$_.__params__ = ["l"],$_) - ,OpForeach: ($_=function(expr,loop) { return {_hx_index:5,expr:expr,loop:loop,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpForeach",$_.__params__ = ["expr","loop"],$_) - ,OpMacro: ($_=function(name,params) { return {_hx_index:6,name:name,params:params,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpMacro",$_.__params__ = ["name","params"],$_) -}; -haxe__$Template_TemplateExpr.__constructs__ = [haxe__$Template_TemplateExpr.OpVar,haxe__$Template_TemplateExpr.OpExpr,haxe__$Template_TemplateExpr.OpIf,haxe__$Template_TemplateExpr.OpStr,haxe__$Template_TemplateExpr.OpBlock,haxe__$Template_TemplateExpr.OpForeach,haxe__$Template_TemplateExpr.OpMacro]; -var haxe_iterators_ArrayIterator = function(array) { - this.current = 0; - this.array = array; -}; -haxe_iterators_ArrayIterator.__name__ = true; -haxe_iterators_ArrayIterator.prototype = { - hasNext: function() { - return this.current < this.array.length; - } - ,next: function() { - return this.array[this.current++]; - } -}; -var haxe_Template = function(str) { - var tokens = this.parseTokens(str); - this.expr = this.parseBlock(tokens); - if(!tokens.isEmpty()) { - throw haxe_Exception.thrown("Unexpected '" + Std.string(tokens.first().s) + "'"); - } -}; -haxe_Template.__name__ = true; -haxe_Template.prototype = { - execute: function(context,macros) { - this.macros = macros == null ? { } : macros; - this.context = context; - this.stack = new haxe_ds_List(); - this.buf = new StringBuf(); - this.run(this.expr); - return this.buf.b; - } - ,resolve: function(v) { - if(v == "__current__") { - return this.context; - } - if(Reflect.isObject(this.context)) { - var value = Reflect.getProperty(this.context,v); - if(value != null || Object.prototype.hasOwnProperty.call(this.context,v)) { - return value; - } - } - var _g_head = this.stack.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var ctx = val; - var value = Reflect.getProperty(ctx,v); - if(value != null || Object.prototype.hasOwnProperty.call(ctx,v)) { - return value; - } - } - return Reflect.field(haxe_Template.globals,v); - } - ,parseTokens: function(data) { - var tokens = new haxe_ds_List(); - while(haxe_Template.splitter.match(data)) { - var p = haxe_Template.splitter.matchedPos(); - if(p.pos > 0) { - tokens.add({ p : HxOverrides.substr(data,0,p.pos), s : true, l : null}); - } - if(HxOverrides.cca(data,p.pos) == 58) { - tokens.add({ p : HxOverrides.substr(data,p.pos + 2,p.len - 4), s : false, l : null}); - data = haxe_Template.splitter.matchedRight(); - continue; - } - var parp = p.pos + p.len; - var npar = 1; - var params = []; - var part = ""; - while(true) { - var c = HxOverrides.cca(data,parp); - ++parp; - if(c == 40) { - ++npar; - } else if(c == 41) { - --npar; - if(npar <= 0) { - break; - } - } else if(c == null) { - throw haxe_Exception.thrown("Unclosed macro parenthesis"); - } - if(c == 44 && npar == 1) { - params.push(part); - part = ""; - } else { - part += String.fromCodePoint(c); - } - } - params.push(part); - tokens.add({ p : haxe_Template.splitter.matched(2), s : false, l : params}); - data = HxOverrides.substr(data,parp,data.length - parp); - } - if(data.length > 0) { - tokens.add({ p : data, s : true, l : null}); - } - return tokens; - } - ,parseBlock: function(tokens) { - var l = new haxe_ds_List(); - while(true) { - var t = tokens.first(); - if(t == null) { - break; - } - if(!t.s && (t.p == "end" || t.p == "else" || HxOverrides.substr(t.p,0,7) == "elseif ")) { - break; - } - l.add(this.parse(tokens)); - } - if(l.length == 1) { - return l.first(); - } - return haxe__$Template_TemplateExpr.OpBlock(l); - } - ,parse: function(tokens) { - var t = tokens.pop(); - var p = t.p; - if(t.s) { - return haxe__$Template_TemplateExpr.OpStr(p); - } - if(t.l != null) { - var pe = new haxe_ds_List(); - var _g = 0; - var _g1 = t.l; - while(_g < _g1.length) { - var p1 = _g1[_g]; - ++_g; - pe.add(this.parseBlock(this.parseTokens(p1))); - } - return haxe__$Template_TemplateExpr.OpMacro(p,pe); - } - var kwdEnd = function(kwd) { - var pos = -1; - var length = kwd.length; - if(HxOverrides.substr(p,0,length) == kwd) { - pos = length; - var _g_offset = 0; - var _g_s = HxOverrides.substr(p,length,null); - while(_g_offset < _g_s.length) { - var c = _g_s.charCodeAt(_g_offset++); - if(c == 32) { - ++pos; - } else { - break; - } - } - } - return pos; - }; - var pos = kwdEnd("if"); - if(pos > 0) { - p = HxOverrides.substr(p,pos,p.length - pos); - var e = this.parseExpr(p); - var eif = this.parseBlock(tokens); - var t = tokens.first(); - var eelse; - if(t == null) { - throw haxe_Exception.thrown("Unclosed 'if'"); - } - if(t.p == "end") { - tokens.pop(); - eelse = null; - } else if(t.p == "else") { - tokens.pop(); - eelse = this.parseBlock(tokens); - t = tokens.pop(); - if(t == null || t.p != "end") { - throw haxe_Exception.thrown("Unclosed 'else'"); - } - } else { - t.p = HxOverrides.substr(t.p,4,t.p.length - 4); - eelse = this.parse(tokens); - } - return haxe__$Template_TemplateExpr.OpIf(e,eif,eelse); - } - var pos = kwdEnd("foreach"); - if(pos >= 0) { - p = HxOverrides.substr(p,pos,p.length - pos); - var e = this.parseExpr(p); - var efor = this.parseBlock(tokens); - var t = tokens.pop(); - if(t == null || t.p != "end") { - throw haxe_Exception.thrown("Unclosed 'foreach'"); - } - return haxe__$Template_TemplateExpr.OpForeach(e,efor); - } - if(haxe_Template.expr_splitter.match(p)) { - return haxe__$Template_TemplateExpr.OpExpr(this.parseExpr(p)); - } - return haxe__$Template_TemplateExpr.OpVar(p); - } - ,parseExpr: function(data) { - var l = new haxe_ds_List(); - var expr = data; - while(haxe_Template.expr_splitter.match(data)) { - var p = haxe_Template.expr_splitter.matchedPos(); - var k = p.pos + p.len; - if(p.pos != 0) { - l.add({ p : HxOverrides.substr(data,0,p.pos), s : true}); - } - var p1 = haxe_Template.expr_splitter.matched(0); - l.add({ p : p1, s : p1.indexOf("\"") >= 0}); - data = haxe_Template.expr_splitter.matchedRight(); - } - if(data.length != 0) { - var _g_offset = 0; - var _g_s = data; - while(_g_offset < _g_s.length) { - var _g_key = _g_offset; - var _g_value = _g_s.charCodeAt(_g_offset++); - var i = _g_key; - var c = _g_value; - if(c != 32) { - l.add({ p : HxOverrides.substr(data,i,null), s : true}); - break; - } - } - } - var e; - try { - e = this.makeExpr(l); - if(!l.isEmpty()) { - throw haxe_Exception.thrown(l.first().p); - } - } catch( _g ) { - var _g1 = haxe_Exception.caught(_g).unwrap(); - if(typeof(_g1) == "string") { - var s = _g1; - throw haxe_Exception.thrown("Unexpected '" + s + "' in " + expr); - } else { - throw _g; - } - } - return function() { - try { - return e(); - } catch( _g ) { - var exc = haxe_Exception.caught(_g).unwrap(); - throw haxe_Exception.thrown("Error : " + Std.string(exc) + " in " + expr); - } - }; - } - ,makeConst: function(v) { - haxe_Template.expr_trim.match(v); - v = haxe_Template.expr_trim.matched(1); - if(HxOverrides.cca(v,0) == 34) { - var str = HxOverrides.substr(v,1,v.length - 2); - return function() { - return str; - }; - } - if(haxe_Template.expr_int.match(v)) { - var i = Std.parseInt(v); - return function() { - return i; - }; - } - if(haxe_Template.expr_float.match(v)) { - var f = parseFloat(v); - return function() { - return f; - }; - } - var me = this; - return function() { - return me.resolve(v); - }; - } - ,makePath: function(e,l) { - var p = l.first(); - if(p == null || p.p != ".") { - return e; - } - l.pop(); - var field = l.pop(); - if(field == null || !field.s) { - throw haxe_Exception.thrown(field.p); - } - var f = field.p; - haxe_Template.expr_trim.match(f); - f = haxe_Template.expr_trim.matched(1); - return this.makePath(function() { - return Reflect.field(e(),f); - },l); - } - ,makeExpr: function(l) { - return this.makePath(this.makeExpr2(l),l); - } - ,skipSpaces: function(l) { - var p = l.first(); - while(p != null) { - var _g_offset = 0; - var _g_s = p.p; - while(_g_offset < _g_s.length) { - var c = _g_s.charCodeAt(_g_offset++); - if(c != 32) { - return; - } - } - l.pop(); - p = l.first(); - } - } - ,makeExpr2: function(l) { - this.skipSpaces(l); - var p = l.pop(); - this.skipSpaces(l); - if(p == null) { - throw haxe_Exception.thrown(""); - } - if(p.s) { - return this.makeConst(p.p); - } - switch(p.p) { - case "!": - var e = this.makeExpr(l); - return function() { - var v = e(); - if(v != null) { - return v == false; - } else { - return true; - } - }; - case "(": - this.skipSpaces(l); - var e1 = this.makeExpr(l); - this.skipSpaces(l); - var p1 = l.pop(); - if(p1 == null || p1.s) { - throw haxe_Exception.thrown(p1); - } - if(p1.p == ")") { - return e1; - } - this.skipSpaces(l); - var e2 = this.makeExpr(l); - this.skipSpaces(l); - var p2 = l.pop(); - this.skipSpaces(l); - if(p2 == null || p2.p != ")") { - throw haxe_Exception.thrown(p2); - } - switch(p1.p) { - case "!=": - return function() { - return e1() != e2(); - }; - case "&&": - return function() { - return e1() && e2(); - }; - case "*": - return function() { - return e1() * e2(); - }; - case "+": - return function() { - return e1() + e2(); - }; - case "-": - return function() { - return e1() - e2(); - }; - case "/": - return function() { - return e1() / e2(); - }; - case "<": - return function() { - return e1() < e2(); - }; - case "<=": - return function() { - return e1() <= e2(); - }; - case "==": - return function() { - return e1() == e2(); - }; - case ">": - return function() { - return e1() > e2(); - }; - case ">=": - return function() { - return e1() >= e2(); - }; - case "||": - return function() { - return e1() || e2(); - }; - default: - throw haxe_Exception.thrown("Unknown operation " + p1.p); - } - break; - case "-": - var e3 = this.makeExpr(l); - return function() { - return -e3(); - }; - } - throw haxe_Exception.thrown(p.p); - } - ,run: function(e) { - switch(e._hx_index) { - case 0: - var v = e.v; - var _this = this.buf; - var x = Std.string(this.resolve(v)); - _this.b += Std.string(x); - break; - case 1: - var e1 = e.expr; - var _this = this.buf; - var x = Std.string(e1()); - _this.b += Std.string(x); - break; - case 2: - var e1 = e.expr; - var eif = e.eif; - var eelse = e.eelse; - var v = e1(); - if(v == null || v == false) { - if(eelse != null) { - this.run(eelse); - } - } else { - this.run(eif); - } - break; - case 3: - var str = e.str; - this.buf.b += str == null ? "null" : "" + str; - break; - case 4: - var l = e.l; - var _g_head = l.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var e1 = val; - this.run(e1); - } - break; - case 5: - var e1 = e.expr; - var loop = e.loop; - var v = e1(); - try { - var x = $getIterator(v); - if(x.hasNext == null) { - throw haxe_Exception.thrown(null); - } - v = x; - } catch( _g ) { - try { - if(v.hasNext == null) { - throw haxe_Exception.thrown(null); - } - } catch( _g1 ) { - throw haxe_Exception.thrown("Cannot iter on " + Std.string(v)); - } - } - this.stack.push(this.context); - var v1 = v; - var ctx = v1; - while(ctx.hasNext()) { - var ctx1 = ctx.next(); - this.context = ctx1; - this.run(loop); - } - this.context = this.stack.pop(); - break; - case 6: - var m = e.name; - var params = e.params; - var v = Reflect.field(this.macros,m); - var pl = []; - var old = this.buf; - pl.push($bind(this,this.resolve)); - var _g_head = params.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var p = val; - if(p._hx_index == 0) { - var v1 = p.v; - pl.push(this.resolve(v1)); - } else { - this.buf = new StringBuf(); - this.run(p); - pl.push(this.buf.b); - } - } - this.buf = old; - try { - var _this = this.buf; - var x = Std.string(v.apply(this.macros,pl)); - _this.b += Std.string(x); - } catch( _g ) { - var e = haxe_Exception.caught(_g).unwrap(); - var plstr; - try { - plstr = pl.join(","); - } catch( _g1 ) { - plstr = "???"; - } - var msg = "Macro call " + m + "(" + plstr + ") failed (" + Std.string(e) + ")"; - throw haxe_Exception.thrown(msg); - } - break; - } - } -}; -var haxe_ValueException = function(value,previous,native) { - haxe_Exception.call(this,String(value),previous,native); - this.value = value; -}; -haxe_ValueException.__name__ = true; -haxe_ValueException.__super__ = haxe_Exception; -haxe_ValueException.prototype = $extend(haxe_Exception.prototype,{ - unwrap: function() { - return this.value; - } -}); -var haxe_ds_List = function() { - this.length = 0; -}; -haxe_ds_List.__name__ = true; -haxe_ds_List.prototype = { - add: function(item) { - var x = new haxe_ds__$List_ListNode(item,null); - if(this.h == null) { - this.h = x; - } else { - this.q.next = x; - } - this.q = x; - this.length++; - } - ,push: function(item) { - var x = new haxe_ds__$List_ListNode(item,this.h); - this.h = x; - if(this.q == null) { - this.q = x; - } - this.length++; - } - ,first: function() { - if(this.h == null) { - return null; - } else { - return this.h.item; - } - } - ,pop: function() { - if(this.h == null) { - return null; - } - var x = this.h.item; - this.h = this.h.next; - if(this.h == null) { - this.q = null; - } - this.length--; - return x; - } - ,isEmpty: function() { - return this.h == null; - } - ,toString: function() { - var s_b = ""; - var first = true; - var l = this.h; - s_b += "{"; - while(l != null) { - if(first) { - first = false; - } else { - s_b += ", "; - } - s_b += Std.string(Std.string(l.item)); - l = l.next; - } - s_b += "}"; - return s_b; - } -}; -var haxe_ds__$List_ListNode = function(item,next) { - this.item = item; - this.next = next; -}; -haxe_ds__$List_ListNode.__name__ = true; -var js_Boot = function() { }; -js_Boot.__name__ = true; -js_Boot.__string_rec = function(o,s) { - if(o == null) { - return "null"; - } - if(s.length >= 5) { - return "<...>"; - } - var t = typeof(o); - if(t == "function" && (o.__name__ || o.__ename__)) { - t = "object"; - } - switch(t) { - case "function": - return ""; - case "object": - if(o.__enum__) { - var e = $hxEnums[o.__enum__]; - var con = e.__constructs__[o._hx_index]; - var n = con._hx_name; - if(con.__params__) { - s = s + "\t"; - return n + "(" + ((function($this) { - var $r; - var _g = []; - { - var _g1 = 0; - var _g2 = con.__params__; - while(true) { - if(!(_g1 < _g2.length)) { - break; - } - var p = _g2[_g1]; - _g1 = _g1 + 1; - _g.push(js_Boot.__string_rec(o[p],s)); - } - } - $r = _g; - return $r; - }(this))).join(",") + ")"; - } else { - return n; - } - } - if(((o) instanceof Array)) { - var str = "["; - s += "\t"; - var _g = 0; - var _g1 = o.length; - while(_g < _g1) { - var i = _g++; - str += (i > 0 ? "," : "") + js_Boot.__string_rec(o[i],s); - } - str += "]"; - return str; - } - var tostr; - try { - tostr = o.toString; - } catch( _g ) { - return "???"; - } - if(tostr != null && tostr != Object.toString && typeof(tostr) == "function") { - var s2 = o.toString(); - if(s2 != "[object Object]") { - return s2; - } - } - var str = "{\n"; - s += "\t"; - var hasp = o.hasOwnProperty != null; - var k = null; - for( k in o ) { - if(hasp && !o.hasOwnProperty(k)) { - continue; - } - if(k == "prototype" || k == "__class__" || k == "__super__" || k == "__interfaces__" || k == "__properties__") { - continue; - } - if(str.length != 2) { - str += ", \n"; - } - str += s + k + " : " + js_Boot.__string_rec(o[k],s); - } - s = s.substring(1); - str += "\n" + s + "}"; - return str; - case "string": - return o; - default: - return String(o); - } -}; -var xrfragment_Filter = $hx_exports["xrfragment"]["Filter"] = function(str) { - this.q = { }; - this.str = ""; - if(str != null) { - this.parse(str); - } -}; -xrfragment_Filter.__name__ = true; -xrfragment_Filter.prototype = { - toObject: function() { - return Reflect.copy(this.q); - } - ,get: function() { - return Reflect.copy(this.q); - } - ,parse: function(str) { - var token = str.split(" "); - var q = { }; - var process = function(str,prefix) { - if(prefix == null) { - prefix = ""; - } - str = StringTools.trim(str); - var k = str.split("=")[0]; - var v = str.split("=")[1]; - var filter = { }; - if(q[prefix + k]) { - filter = q[prefix + k]; - } - if(xrfragment_XRF.isProp.match(str)) { - var oper = ""; - if(str.indexOf(">") != -1) { - oper = ">"; - } - if(str.indexOf("<") != -1) { - oper = "<"; - } - if(xrfragment_XRF.isExclude.match(k)) { - k = HxOverrides.substr(k,1,null); - } - v = HxOverrides.substr(v,oper.length,null); - if(oper.length == 0) { - oper = "="; - } - var rule = { }; - if(xrfragment_XRF.isNumber.match(v)) { - rule[oper] = parseFloat(v); - } else { - rule[oper] = v; - } - q["expr"] = rule; - } - var value = xrfragment_XRF.isDeep.match(str) ? k.split("*").length - 1 : 0; - q["deep"] = value; - var value = xrfragment_XRF.isExclude.match(str) ? false : true; - q["show"] = value; - var value = k.replace(xrfragment_XRF.operators.r,""); - q["key"] = value; - q["value"] = v; - }; - var _g = 0; - var _g1 = token.length; - while(_g < _g1) { - var i = _g++; - process(token[i]); - } - return this.q = q; - } - ,test: function(obj) { - var qualify = false; - var _g = 0; - var _g1 = Reflect.fields(obj); - while(_g < _g1.length) { - var k = _g1[_g]; - ++_g; - var v = Std.string(Reflect.field(obj,k)); - if(this.testProperty(k,v)) { - qualify = true; - } - } - var _g = 0; - var _g1 = Reflect.fields(obj); - while(_g < _g1.length) { - var k = _g1[_g]; - ++_g; - var v = Std.string(Reflect.field(obj,k)); - if(this.testProperty(k,v,true)) { - qualify = false; - } - } - return qualify; - } - ,testProperty: function(property,value,exclude) { - var conds = 0; - var fails = 0; - var qualify = 0; - var testprop = function(expr) { - conds += 1; - fails += expr ? 0 : 1; - return expr; - }; - if(this.q[value] != null) { - var v = this.q[value]; - if(v[property] != null) { - return v[property]; - } - } - if(Reflect.field(this.q,"expr")) { - var f = Reflect.field(this.q,"expr"); - if(!Reflect.field(this.q,"show")) { - if(Reflect.field(f,"!=") != null && testprop((value == null ? "null" : "" + value) == Std.string(Reflect.field(f,"!="))) && exclude) { - ++qualify; - } - } else { - if(Reflect.field(f,"*") != null && testprop(parseFloat(value) != null)) { - ++qualify; - } - if(Reflect.field(f,">") != null && testprop(parseFloat(value) >= parseFloat(Reflect.field(f,">")))) { - ++qualify; - } - if(Reflect.field(f,"<") != null && testprop(parseFloat(value) <= parseFloat(Reflect.field(f,"<")))) { - ++qualify; - } - if(Reflect.field(f,"=") != null && (testprop(value == Reflect.field(f,"=")) || testprop(parseFloat(value) == parseFloat(Reflect.field(f,"="))))) { - ++qualify; - } - } - } - return qualify > 0; - } -}; -var xrfragment_Parser = $hx_exports["xrfragment"]["Parser"] = function() { }; -xrfragment_Parser.__name__ = true; -xrfragment_Parser.parse = function(key,value,store,index) { - var Frag_h = Object.create(null); - Frag_h["#"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_PREDEFINED_VIEW | xrfragment_XRF.PV_EXECUTE; - Frag_h["src"] = xrfragment_XRF.T_URL; - Frag_h["href"] = xrfragment_XRF.T_URL | xrfragment_XRF.T_PREDEFINED_VIEW; - Frag_h["tag"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["pos"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_VECTOR3 | xrfragment_XRF.T_STRING | xrfragment_XRF.METADATA | xrfragment_XRF.NAVIGATOR; - Frag_h["rot"] = xrfragment_XRF.QUERY_OPERATOR | xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_VECTOR3 | xrfragment_XRF.METADATA | xrfragment_XRF.NAVIGATOR; - Frag_h["t"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_FLOAT | xrfragment_XRF.T_VECTOR2 | xrfragment_XRF.NAVIGATOR | xrfragment_XRF.METADATA; - Frag_h["s"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_MEDIAFRAG; - Frag_h["loop"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_PREDEFINED_VIEW; - Frag_h["uv"] = xrfragment_XRF.T_VECTOR2 | xrfragment_XRF.T_MEDIAFRAG; - Frag_h["namespace"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["SPDX"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["unit"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["description"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - var keyStripped = key.replace(xrfragment_XRF.operators.r,""); - var isPVDynamic = key.length > 0 && !Object.prototype.hasOwnProperty.call(Frag_h,key); - if(isPVDynamic) { - var v = new xrfragment_XRF(key,xrfragment_XRF.PV_EXECUTE | xrfragment_XRF.NAVIGATOR,index); - v.validate(value); - v.flags = xrfragment_XRF.set(xrfragment_XRF.T_DYNAMICKEY,v.flags); - if(!Object.prototype.hasOwnProperty.call(Frag_h,key)) { - v.flags = xrfragment_XRF.set(xrfragment_XRF.CUSTOMFRAG,v.flags); - } - if(value.length == 0) { - v.flags = xrfragment_XRF.set(xrfragment_XRF.T_DYNAMICKEYVALUE,v.flags); - } - store[keyStripped] = v; - return true; - } - var v = new xrfragment_XRF(key,Frag_h[key],index); - if(Object.prototype.hasOwnProperty.call(Frag_h,key)) { - if(!v.validate(value)) { - console.log("src/xrfragment/Parser.hx:67:","⚠ fragment '" + key + "' has incompatible value (" + value + ")"); - return false; - } - store[keyStripped] = v; - if(xrfragment_Parser.debug) { - console.log("src/xrfragment/Parser.hx:71:","✔ " + key + ": " + v.string); - } - } else { - if(typeof(value) == "string") { - v.guessType(v,value); - } - v.flags = xrfragment_XRF.set(xrfragment_XRF.CUSTOMFRAG,v.flags); - store[keyStripped] = v; - } - return true; -}; -xrfragment_Parser.getMetaData = function() { - var meta = { title : ["title","og:title","dc.title"], description : ["aria-description","og:description","dc.description"], author : ["author","dc.creator"], publisher : ["publisher","dc.publisher"], website : ["og:site_name","og:url","dc.publisher"], license : ["SPDX","dc.rights"]}; - return meta; -}; -var xrfragment_URI = $hx_exports["xrfragment"]["URI"] = function() { - this.XRF = { }; - this.hash = { }; - this.fragment = ""; -}; -xrfragment_URI.__name__ = true; -xrfragment_URI.parseFragment = function(url,filter) { - var store = { }; - if(url == null || url.indexOf("#") == -1) { - return store; - } - var fragment = url.split("#"); - var splitArray = fragment[1].split("&"); - var _g = 0; - var _g1 = splitArray.length; - while(_g < _g1) { - var i = _g++; - var splitByEqual = splitArray[i].split("="); - var regexPlus = new EReg("\\+","g"); - var key = splitByEqual[0]; - var value = ""; - if(splitByEqual.length > 1) { - if(xrfragment_XRF.isVector.match(splitByEqual[1])) { - value = splitByEqual[1]; - } else { - var s = regexPlus.split(splitByEqual[1]).join(" "); - value = decodeURIComponent(s.split("+").join(" ")); - } - } - var ok = xrfragment_Parser.parse(key,value,store,i); - } - if(filter != null && filter != 0) { - var _g = 0; - var _g1 = Reflect.fields(store); - while(_g < _g1.length) { - var key = _g1[_g]; - ++_g; - var xrf = store[key]; - if(!xrf.is(filter)) { - Reflect.deleteField(store,key); - } - } - } - return store; -}; -xrfragment_URI.template = function(uri,vars) { - var parts = uri.split("#"); - if(parts.length == 1) { - return uri; - } - var frag = parts[1]; - frag = StringTools.replace(frag,"{","::"); - frag = StringTools.replace(frag,"}","::"); - frag = new haxe_Template(frag).execute(vars); - frag = StringTools.replace(frag,"null",""); - parts[1] = frag; - return parts.join("#"); -}; -xrfragment_URI.parse = function(stringUrl,flags) { - var r = new EReg("^(?:(?![^:@]+:[^:@/]*@)([^:/?#.]+):)?(?://)?((?:(([^:@]*)(?::([^:@]*))?)?@)?([^:/?#]*)(?::(\\d*))?)(((/(?:[^?#](?![^?#/]*\\.[^?#/.]+(?:[?#]|$)))*/?)?([^?#/]*))(?:\\?([^#]*))?(?:#(.*))?)",""); - if(stringUrl.indexOf("://") == -1 && stringUrl.charAt(0) != "/") { - stringUrl = "/" + stringUrl; - } - r.match(stringUrl); - var url = new xrfragment_URI(); - var _g = 0; - var _g1 = xrfragment_URI._parts.length; - while(_g < _g1) { - var i = _g++; - url[xrfragment_URI._parts[i]] = r.matched(i); - } - if(xrfragment_URI.isRelative(url) == true) { - if(url.directory == null && url.host != null) { - url.file = url.host; - } - url.host = ""; - } - url.hash = { }; - if(url.fragment != null && url.fragment.length > 0) { - url.XRF = xrfragment_URI.parseFragment("#" + url.fragment,flags); - var key; - var _g = 0; - var _g1 = Reflect.fields(url.XRF); - while(_g < _g1.length) { - var key = _g1[_g]; - ++_g; - var v = url.XRF[key]; - url.hash[key] = v["string"]; - } - } - xrfragment_URI.computeVars(url); - return url; -}; -xrfragment_URI.computeVars = function(url) { - var r_r = new RegExp("//","g".split("u").join("")); - if(url.directory != null && url.directory.indexOf("//") != -1) { - url.directory = url.directory.replace(r_r,"/"); - } - if(url.path != null && url.path.indexOf("//") != -1) { - url.path = url.path.replace(r_r,"/"); - } - if(url.file != null && url.file.indexOf("//") != -1) { - url.file = url.file.replace(r_r,"/"); - } - url.URN = url.scheme + "://" + url.host; - if(url.port != null) { - url.URN += ":" + url.port; - } - url.URN += url.directory; - if(url.file != null) { - var parts = url.file.split("."); - if(parts.length > 1) { - url.fileExt = parts.pop(); - } - } -}; -xrfragment_URI.toString = function(url) { - var result = ""; - if(url.scheme != null) { - result += url.scheme + "://"; - } - if(url.user != null) { - result += url.user + ":"; - } - if(url.password != null) { - result += url.password + "@"; - } - if(url.host != null) { - result += url.host; - } - if(url.port != null) { - result += ":" + url.port; - } - if(url.directory != null) { - result += url.directory; - } - if(url.file != null) { - result += url.file; - } - if(url.query != null) { - result += "?" + url.query; - } - if(url.fragment != null) { - result += "#" + url.fragment; - } - return result; -}; -xrfragment_URI.appendURI = function(url,appendedURI) { - if(xrfragment_URI.isRelative(url) == true) { - return xrfragment_URI.appendToRelativeURI(url,appendedURI); - } else { - return xrfragment_URI.appendToAbsoluteURI(url,appendedURI); - } -}; -xrfragment_URI.isRelative = function(url) { - return url.scheme == null; -}; -xrfragment_URI.appendToRelativeURI = function(url,appendedURI) { - if(url.directory == null || url.host == null) { - return xrfragment_URI.cloneURI(appendedURI); - } - var resultURI = new xrfragment_URI(); - resultURI.host = url.host; - resultURI.directory = url.directory; - if(appendedURI.host != null) { - resultURI.directory += appendedURI.host; - } - if(appendedURI.directory != null) { - var directory = appendedURI.directory; - if(appendedURI.host == null) { - resultURI.directory += HxOverrides.substr(directory,1,null); - } else { - resultURI.directory += directory; - } - } - if(appendedURI.file != null) { - resultURI.file = appendedURI.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(appendedURI.query != null) { - resultURI.query = appendedURI.query; - } - if(appendedURI.fragment != null) { - resultURI.fragment = appendedURI.fragment; - } - return resultURI; -}; -xrfragment_URI.appendToAbsoluteURI = function(url,appendedURI) { - var resultURI = new xrfragment_URI(); - if(url.scheme != null) { - resultURI.scheme = url.scheme; - } - if(url.host != null) { - resultURI.host = url.host; - } - var directory = ""; - if(url.directory != null) { - directory = url.directory; - } - if(appendedURI.host != null) { - appendedURI.directory += appendedURI.host; - } - if(appendedURI.directory != null) { - directory += appendedURI.directory; - } - resultURI.directory = directory; - if(appendedURI.file != null) { - resultURI.file = appendedURI.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(appendedURI.query != null) { - resultURI.query = appendedURI.query; - } - if(appendedURI.fragment != null) { - resultURI.fragment = appendedURI.fragment; - } - return resultURI; -}; -xrfragment_URI.toAbsolute = function(url,newUrl) { - var newURI = xrfragment_URI.parse(newUrl,0); - var resultURI = new xrfragment_URI(); - resultURI.port = url.port; - resultURI.source = newUrl; - if(newURI.scheme != null) { - resultURI.scheme = newURI.scheme; - } else { - resultURI.scheme = url.scheme; - } - if(newURI.host != null && newURI.host.length > 0) { - resultURI.host = newURI.host; - resultURI.port = null; - resultURI.fragment = null; - resultURI.hash = { }; - resultURI.XRF = { }; - if(newURI.port != null) { - resultURI.port = newURI.port; - } - } else { - resultURI.host = url.host; - } - var directory = ""; - if(url.directory != null) { - directory = url.directory; - } - if(newURI.directory != null) { - if(newUrl.charAt(0) != "/" && newUrl.indexOf("://") == -1) { - var stripRelative_r = new RegExp("\\./.*","".split("u").join("")); - directory = directory.replace(stripRelative_r,""); - directory += newURI.directory; - } else { - directory = newURI.directory; - } - } - resultURI.directory = directory; - if(newURI.file != null) { - resultURI.file = newURI.file; - } else { - resultURI.file = url.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(newURI.query != null) { - resultURI.query = newURI.query; - } - if(newURI.fragment != null) { - resultURI.fragment = newURI.fragment; - } - resultURI.hash = newURI.hash; - resultURI.XRF = newURI.XRF; - xrfragment_URI.computeVars(resultURI); - return resultURI; -}; -xrfragment_URI.cloneURI = function(url) { - var clonedURI = new xrfragment_URI(); - clonedURI.url = url.url; - clonedURI.source = url.source; - clonedURI.scheme = url.scheme; - clonedURI.authority = url.authority; - clonedURI.userInfo = url.userInfo; - clonedURI.password = url.password; - clonedURI.host = url.host; - clonedURI.port = url.port; - clonedURI.relative = url.relative; - clonedURI.path = url.path; - clonedURI.directory = url.directory; - clonedURI.file = url.file; - clonedURI.query = url.query; - clonedURI.fragment = url.fragment; - return clonedURI; -}; -var xrfragment_XRF = $hx_exports["xrfragment"]["XRF"] = function(_fragment,_flags,_index) { - this.floats = []; - this.shift = []; - this.fragment = _fragment; - this.flags = _flags; - this.index = _index; -}; -xrfragment_XRF.__name__ = true; -xrfragment_XRF.set = function(flag,flags) { - return flags | flag; -}; -xrfragment_XRF.unset = function(flag,flags) { - return flags & ~flag; -}; -xrfragment_XRF.prototype = { - is: function(flag) { - var v = this.flags; - if(!(typeof(v) == "number" && ((v | 0) === v))) { - this.flags = 0; - } - return (this.flags & flag) != 0; - } - ,validate: function(value) { - this.guessType(this,value); - var ok = true; - if(value.length == 0 && !this.is(xrfragment_XRF.T_PREDEFINED_VIEW)) { - ok = false; - } - if(!this.is(xrfragment_XRF.T_FLOAT) && this.is(xrfragment_XRF.T_VECTOR2) && !(typeof(this.x) == "number" && typeof(this.y) == "number")) { - ok = false; - } - if(!(this.is(xrfragment_XRF.T_VECTOR2) || this.is(xrfragment_XRF.T_STRING)) && this.is(xrfragment_XRF.T_VECTOR3) && !(typeof(this.x) == "number" && typeof(this.y) == "number" && typeof(this.z) == "number")) { - ok = false; - } - return ok; - } - ,guessType: function(v,str) { - v.string = str; - if(xrfragment_XRF.isReset.match(v.fragment)) { - v.reset = true; - } - if(v.fragment == "loop") { - v.loop = true; - } - if(typeof(str) != "string") { - return; - } - if(str.length > 0) { - if(xrfragment_XRF.isXRFScheme.match(str)) { - v.xrfScheme = true; - str = str.replace(xrfragment_XRF.isXRFScheme.r,""); - v.string = str; - } - if(str.split(",").length > 1) { - var xyzn = str.split(","); - if(xyzn.length > 0) { - v.x = parseFloat(xyzn[0]); - } - if(xyzn.length > 1) { - v.y = parseFloat(xyzn[1]); - } - if(xyzn.length > 2) { - v.z = parseFloat(xyzn[2]); - } - var _g = 0; - var _g1 = xyzn.length; - while(_g < _g1) { - var i = _g++; - v.shift.push(xrfragment_XRF.isShift.match(xyzn[i])); - v.floats.push(parseFloat(xyzn[i].replace(xrfragment_XRF.isShift.r,""))); - } - } - if(xrfragment_XRF.isColor.match(str)) { - v.color = str; - } - if(xrfragment_XRF.isFloat.match(str)) { - v.x = parseFloat(str); - v.float = v.x; - } - if(xrfragment_XRF.isInt.match(str)) { - v.int = Std.parseInt(str); - v.x = v.int; - v.floats.push(v.x); - } - v.filter = new xrfragment_Filter(v.fragment + "=" + v.string); - } else { - v.filter = new xrfragment_Filter(v.fragment); - } - } -}; -function $getIterator(o) { if( o instanceof Array ) return new haxe_iterators_ArrayIterator(o); else return o.iterator(); } -function $bind(o,m) { if( m == null ) return null; if( m.__id__ == null ) m.__id__ = $global.$haxeUID++; var f; if( o.hx__closures__ == null ) o.hx__closures__ = {}; else f = o.hx__closures__[m.__id__]; if( f == null ) { f = m.bind(o); o.hx__closures__[m.__id__] = f; } return f; } -$global.$haxeUID |= 0; -if(typeof(performance) != "undefined" ? typeof(performance.now) == "function" : false) { - HxOverrides.now = performance.now.bind(performance); -} -if( String.fromCodePoint == null ) String.fromCodePoint = function(c) { return c < 0x10000 ? String.fromCharCode(c) : String.fromCharCode((c>>10)+0xD7C0)+String.fromCharCode((c&0x3FF)+0xDC00); } -String.__name__ = true; -Array.__name__ = true; -js_Boot.__toStr = ({ }).toString; -haxe_Template.splitter = new EReg("(::[A-Za-z0-9_ ()&|!+=/><*.\"-]+::|\\$\\$([A-Za-z0-9_-]+)\\()",""); -haxe_Template.expr_splitter = new EReg("(\\(|\\)|[ \r\n\t]*\"[^\"]*\"[ \r\n\t]*|[!+=/><*.&|-]+)",""); -haxe_Template.expr_trim = new EReg("^[ ]*([^ ]+)[ ]*$",""); -haxe_Template.expr_int = new EReg("^[0-9]+$",""); -haxe_Template.expr_float = new EReg("^([+-]?)(?=\\d|,\\d)\\d*(,\\d*)?([Ee]([+-]?\\d+))?$",""); -haxe_Template.globals = { }; -haxe_Template.hxKeepArrayIterator = new haxe_iterators_ArrayIterator([]); -xrfragment_Parser.error = ""; -xrfragment_Parser.debug = false; -xrfragment_URI.__meta__ = { statics : { template : { keep : null}}}; -xrfragment_URI._parts = ["source","scheme","authority","userInfo","user","password","host","port","relative","path","directory","file","query","fragment"]; -xrfragment_XRF.IMMUTABLE = 1; -xrfragment_XRF.PROP_BIND = 2; -xrfragment_XRF.QUERY_OPERATOR = 4; -xrfragment_XRF.PROMPT = 8; -xrfragment_XRF.CUSTOMFRAG = 16; -xrfragment_XRF.NAVIGATOR = 32; -xrfragment_XRF.METADATA = 64; -xrfragment_XRF.PV_OVERRIDE = 128; -xrfragment_XRF.PV_EXECUTE = 256; -xrfragment_XRF.T_COLOR = 8192; -xrfragment_XRF.T_INT = 16384; -xrfragment_XRF.T_FLOAT = 32768; -xrfragment_XRF.T_VECTOR2 = 65536; -xrfragment_XRF.T_VECTOR3 = 131072; -xrfragment_XRF.T_URL = 262144; -xrfragment_XRF.T_PREDEFINED_VIEW = 524288; -xrfragment_XRF.T_STRING = 1048576; -xrfragment_XRF.T_MEDIAFRAG = 2097152; -xrfragment_XRF.T_DYNAMICKEY = 4194304; -xrfragment_XRF.T_DYNAMICKEYVALUE = 8388608; -xrfragment_XRF.isColor = new EReg("^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$",""); -xrfragment_XRF.isInt = new EReg("^[-0-9]+$",""); -xrfragment_XRF.isFloat = new EReg("^[-0-9]+\\.[0-9]+$",""); -xrfragment_XRF.isVector = new EReg("([,]+|\\w)",""); -xrfragment_XRF.isUrl = new EReg("(://)?\\..*",""); -xrfragment_XRF.isUrlOrPretypedView = new EReg("(^#|://)?\\..*",""); -xrfragment_XRF.isString = new EReg(".*",""); -xrfragment_XRF.operators = new EReg("(^[-]|^[!]|[\\*]$)","g"); -xrfragment_XRF.isProp = new EReg("^.*=[><=]?",""); -xrfragment_XRF.isExclude = new EReg("^-",""); -xrfragment_XRF.isDeep = new EReg("\\*",""); -xrfragment_XRF.isNumber = new EReg("^[0-9\\.]+$",""); -xrfragment_XRF.isMediaFrag = new EReg("^([0-9\\.,\\*+-]+)$",""); -xrfragment_XRF.isReset = new EReg("^!",""); -xrfragment_XRF.isShift = new EReg("^(\\+|--)",""); -xrfragment_XRF.isXRFScheme = new EReg("^xrf://",""); -})(typeof window != "undefined" ? window : typeof global != "undefined" ? global : typeof self != "undefined" ? self : this); -var xrfragment = $hx_exports["xrfragment"]; -export default xrfragment; -// Generated by Haxe 4.3.3 -var $hx_exports = typeof exports != "undefined" ? exports : typeof window != "undefined" ? window : typeof self != "undefined" ? self : this; -(function ($global) { "use strict"; -$hx_exports["xrfragment"] = $hx_exports["xrfragment"] || {}; -var $estr = function() { return js_Boot.__string_rec(this,''); },$hxEnums = $hxEnums || {},$_; -function $extend(from, fields) { - var proto = Object.create(from); - for (var name in fields) proto[name] = fields[name]; - if( fields.toString !== Object.prototype.toString ) proto.toString = fields.toString; - return proto; -} -var EReg = function(r,opt) { - this.r = new RegExp(r,opt.split("u").join("")); -}; -EReg.__name__ = true; -EReg.prototype = { - match: function(s) { - if(this.r.global) { - this.r.lastIndex = 0; - } - this.r.m = this.r.exec(s); - this.r.s = s; - return this.r.m != null; - } - ,matched: function(n) { - if(this.r.m != null && n >= 0 && n < this.r.m.length) { - return this.r.m[n]; - } else { - throw haxe_Exception.thrown("EReg::matched"); - } - } - ,matchedRight: function() { - if(this.r.m == null) { - throw haxe_Exception.thrown("No string matched"); - } - var sz = this.r.m.index + this.r.m[0].length; - return HxOverrides.substr(this.r.s,sz,this.r.s.length - sz); - } - ,matchedPos: function() { - if(this.r.m == null) { - throw haxe_Exception.thrown("No string matched"); - } - return { pos : this.r.m.index, len : this.r.m[0].length}; - } - ,split: function(s) { - var d = "#__delim__#"; - return s.replace(this.r,d).split(d); - } -}; -var HxOverrides = function() { }; -HxOverrides.__name__ = true; -HxOverrides.cca = function(s,index) { - var x = s.charCodeAt(index); - if(x != x) { - return undefined; - } - return x; -}; -HxOverrides.substr = function(s,pos,len) { - if(len == null) { - len = s.length; - } else if(len < 0) { - if(pos == 0) { - len = s.length + len; - } else { - return ""; - } - } - return s.substr(pos,len); -}; -HxOverrides.now = function() { - return Date.now(); -}; -Math.__name__ = true; -var Reflect = function() { }; -Reflect.__name__ = true; -Reflect.field = function(o,field) { - try { - return o[field]; - } catch( _g ) { - return null; - } -}; -Reflect.getProperty = function(o,field) { - var tmp; - if(o == null) { - return null; - } else { - var tmp1; - if(o.__properties__) { - tmp = o.__properties__["get_" + field]; - tmp1 = tmp; - } else { - tmp1 = false; - } - if(tmp1) { - return o[tmp](); - } else { - return o[field]; - } - } -}; -Reflect.fields = function(o) { - var a = []; - if(o != null) { - var hasOwnProperty = Object.prototype.hasOwnProperty; - for( var f in o ) { - if(f != "__id__" && f != "hx__closures__" && hasOwnProperty.call(o,f)) { - a.push(f); - } - } - } - return a; -}; -Reflect.isObject = function(v) { - if(v == null) { - return false; - } - var t = typeof(v); - if(!(t == "string" || t == "object" && v.__enum__ == null)) { - if(t == "function") { - return (v.__name__ || v.__ename__) != null; - } else { - return false; - } - } else { - return true; - } -}; -Reflect.deleteField = function(o,field) { - if(!Object.prototype.hasOwnProperty.call(o,field)) { - return false; - } - delete(o[field]); - return true; -}; -Reflect.copy = function(o) { - if(o == null) { - return null; - } - var o2 = { }; - var _g = 0; - var _g1 = Reflect.fields(o); - while(_g < _g1.length) { - var f = _g1[_g]; - ++_g; - o2[f] = Reflect.field(o,f); - } - return o2; -}; -var Std = function() { }; -Std.__name__ = true; -Std.string = function(s) { - return js_Boot.__string_rec(s,""); -}; -Std.parseInt = function(x) { - var v = parseInt(x); - if(isNaN(v)) { - return null; - } - return v; -}; -var StringBuf = function() { - this.b = ""; -}; -StringBuf.__name__ = true; -var StringTools = function() { }; -StringTools.__name__ = true; -StringTools.isSpace = function(s,pos) { - var c = HxOverrides.cca(s,pos); - if(!(c > 8 && c < 14)) { - return c == 32; - } else { - return true; - } -}; -StringTools.ltrim = function(s) { - var l = s.length; - var r = 0; - while(r < l && StringTools.isSpace(s,r)) ++r; - if(r > 0) { - return HxOverrides.substr(s,r,l - r); - } else { - return s; - } -}; -StringTools.rtrim = function(s) { - var l = s.length; - var r = 0; - while(r < l && StringTools.isSpace(s,l - r - 1)) ++r; - if(r > 0) { - return HxOverrides.substr(s,0,l - r); - } else { - return s; - } -}; -StringTools.trim = function(s) { - return StringTools.ltrim(StringTools.rtrim(s)); -}; -StringTools.replace = function(s,sub,by) { - return s.split(sub).join(by); -}; -var haxe_Exception = function(message,previous,native) { - Error.call(this,message); - this.message = message; - this.__previousException = previous; - this.__nativeException = native != null ? native : this; -}; -haxe_Exception.__name__ = true; -haxe_Exception.caught = function(value) { - if(((value) instanceof haxe_Exception)) { - return value; - } else if(((value) instanceof Error)) { - return new haxe_Exception(value.message,null,value); - } else { - return new haxe_ValueException(value,null,value); - } -}; -haxe_Exception.thrown = function(value) { - if(((value) instanceof haxe_Exception)) { - return value.get_native(); - } else if(((value) instanceof Error)) { - return value; - } else { - var e = new haxe_ValueException(value); - return e; - } -}; -haxe_Exception.__super__ = Error; -haxe_Exception.prototype = $extend(Error.prototype,{ - unwrap: function() { - return this.__nativeException; - } - ,get_native: function() { - return this.__nativeException; - } - ,__properties__: {get_native:"get_native"} -}); -var haxe__$Template_TemplateExpr = $hxEnums["haxe._Template.TemplateExpr"] = { __ename__:true,__constructs__:null - ,OpVar: ($_=function(v) { return {_hx_index:0,v:v,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpVar",$_.__params__ = ["v"],$_) - ,OpExpr: ($_=function(expr) { return {_hx_index:1,expr:expr,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpExpr",$_.__params__ = ["expr"],$_) - ,OpIf: ($_=function(expr,eif,eelse) { return {_hx_index:2,expr:expr,eif:eif,eelse:eelse,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpIf",$_.__params__ = ["expr","eif","eelse"],$_) - ,OpStr: ($_=function(str) { return {_hx_index:3,str:str,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpStr",$_.__params__ = ["str"],$_) - ,OpBlock: ($_=function(l) { return {_hx_index:4,l:l,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpBlock",$_.__params__ = ["l"],$_) - ,OpForeach: ($_=function(expr,loop) { return {_hx_index:5,expr:expr,loop:loop,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpForeach",$_.__params__ = ["expr","loop"],$_) - ,OpMacro: ($_=function(name,params) { return {_hx_index:6,name:name,params:params,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpMacro",$_.__params__ = ["name","params"],$_) -}; -haxe__$Template_TemplateExpr.__constructs__ = [haxe__$Template_TemplateExpr.OpVar,haxe__$Template_TemplateExpr.OpExpr,haxe__$Template_TemplateExpr.OpIf,haxe__$Template_TemplateExpr.OpStr,haxe__$Template_TemplateExpr.OpBlock,haxe__$Template_TemplateExpr.OpForeach,haxe__$Template_TemplateExpr.OpMacro]; -var haxe_iterators_ArrayIterator = function(array) { - this.current = 0; - this.array = array; -}; -haxe_iterators_ArrayIterator.__name__ = true; -haxe_iterators_ArrayIterator.prototype = { - hasNext: function() { - return this.current < this.array.length; - } - ,next: function() { - return this.array[this.current++]; - } -}; -var haxe_Template = function(str) { - var tokens = this.parseTokens(str); - this.expr = this.parseBlock(tokens); - if(!tokens.isEmpty()) { - throw haxe_Exception.thrown("Unexpected '" + Std.string(tokens.first().s) + "'"); - } -}; -haxe_Template.__name__ = true; -haxe_Template.prototype = { - execute: function(context,macros) { - this.macros = macros == null ? { } : macros; - this.context = context; - this.stack = new haxe_ds_List(); - this.buf = new StringBuf(); - this.run(this.expr); - return this.buf.b; - } - ,resolve: function(v) { - if(v == "__current__") { - return this.context; - } - if(Reflect.isObject(this.context)) { - var value = Reflect.getProperty(this.context,v); - if(value != null || Object.prototype.hasOwnProperty.call(this.context,v)) { - return value; - } - } - var _g_head = this.stack.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var ctx = val; - var value = Reflect.getProperty(ctx,v); - if(value != null || Object.prototype.hasOwnProperty.call(ctx,v)) { - return value; - } - } - return Reflect.field(haxe_Template.globals,v); - } - ,parseTokens: function(data) { - var tokens = new haxe_ds_List(); - while(haxe_Template.splitter.match(data)) { - var p = haxe_Template.splitter.matchedPos(); - if(p.pos > 0) { - tokens.add({ p : HxOverrides.substr(data,0,p.pos), s : true, l : null}); - } - if(HxOverrides.cca(data,p.pos) == 58) { - tokens.add({ p : HxOverrides.substr(data,p.pos + 2,p.len - 4), s : false, l : null}); - data = haxe_Template.splitter.matchedRight(); - continue; - } - var parp = p.pos + p.len; - var npar = 1; - var params = []; - var part = ""; - while(true) { - var c = HxOverrides.cca(data,parp); - ++parp; - if(c == 40) { - ++npar; - } else if(c == 41) { - --npar; - if(npar <= 0) { - break; - } - } else if(c == null) { - throw haxe_Exception.thrown("Unclosed macro parenthesis"); - } - if(c == 44 && npar == 1) { - params.push(part); - part = ""; - } else { - part += String.fromCodePoint(c); - } - } - params.push(part); - tokens.add({ p : haxe_Template.splitter.matched(2), s : false, l : params}); - data = HxOverrides.substr(data,parp,data.length - parp); - } - if(data.length > 0) { - tokens.add({ p : data, s : true, l : null}); - } - return tokens; - } - ,parseBlock: function(tokens) { - var l = new haxe_ds_List(); - while(true) { - var t = tokens.first(); - if(t == null) { - break; - } - if(!t.s && (t.p == "end" || t.p == "else" || HxOverrides.substr(t.p,0,7) == "elseif ")) { - break; - } - l.add(this.parse(tokens)); - } - if(l.length == 1) { - return l.first(); - } - return haxe__$Template_TemplateExpr.OpBlock(l); - } - ,parse: function(tokens) { - var t = tokens.pop(); - var p = t.p; - if(t.s) { - return haxe__$Template_TemplateExpr.OpStr(p); - } - if(t.l != null) { - var pe = new haxe_ds_List(); - var _g = 0; - var _g1 = t.l; - while(_g < _g1.length) { - var p1 = _g1[_g]; - ++_g; - pe.add(this.parseBlock(this.parseTokens(p1))); - } - return haxe__$Template_TemplateExpr.OpMacro(p,pe); - } - var kwdEnd = function(kwd) { - var pos = -1; - var length = kwd.length; - if(HxOverrides.substr(p,0,length) == kwd) { - pos = length; - var _g_offset = 0; - var _g_s = HxOverrides.substr(p,length,null); - while(_g_offset < _g_s.length) { - var c = _g_s.charCodeAt(_g_offset++); - if(c == 32) { - ++pos; - } else { - break; - } - } - } - return pos; - }; - var pos = kwdEnd("if"); - if(pos > 0) { - p = HxOverrides.substr(p,pos,p.length - pos); - var e = this.parseExpr(p); - var eif = this.parseBlock(tokens); - var t = tokens.first(); - var eelse; - if(t == null) { - throw haxe_Exception.thrown("Unclosed 'if'"); - } - if(t.p == "end") { - tokens.pop(); - eelse = null; - } else if(t.p == "else") { - tokens.pop(); - eelse = this.parseBlock(tokens); - t = tokens.pop(); - if(t == null || t.p != "end") { - throw haxe_Exception.thrown("Unclosed 'else'"); - } - } else { - t.p = HxOverrides.substr(t.p,4,t.p.length - 4); - eelse = this.parse(tokens); - } - return haxe__$Template_TemplateExpr.OpIf(e,eif,eelse); - } - var pos = kwdEnd("foreach"); - if(pos >= 0) { - p = HxOverrides.substr(p,pos,p.length - pos); - var e = this.parseExpr(p); - var efor = this.parseBlock(tokens); - var t = tokens.pop(); - if(t == null || t.p != "end") { - throw haxe_Exception.thrown("Unclosed 'foreach'"); - } - return haxe__$Template_TemplateExpr.OpForeach(e,efor); - } - if(haxe_Template.expr_splitter.match(p)) { - return haxe__$Template_TemplateExpr.OpExpr(this.parseExpr(p)); - } - return haxe__$Template_TemplateExpr.OpVar(p); - } - ,parseExpr: function(data) { - var l = new haxe_ds_List(); - var expr = data; - while(haxe_Template.expr_splitter.match(data)) { - var p = haxe_Template.expr_splitter.matchedPos(); - var k = p.pos + p.len; - if(p.pos != 0) { - l.add({ p : HxOverrides.substr(data,0,p.pos), s : true}); - } - var p1 = haxe_Template.expr_splitter.matched(0); - l.add({ p : p1, s : p1.indexOf("\"") >= 0}); - data = haxe_Template.expr_splitter.matchedRight(); - } - if(data.length != 0) { - var _g_offset = 0; - var _g_s = data; - while(_g_offset < _g_s.length) { - var _g_key = _g_offset; - var _g_value = _g_s.charCodeAt(_g_offset++); - var i = _g_key; - var c = _g_value; - if(c != 32) { - l.add({ p : HxOverrides.substr(data,i,null), s : true}); - break; - } - } - } - var e; - try { - e = this.makeExpr(l); - if(!l.isEmpty()) { - throw haxe_Exception.thrown(l.first().p); - } - } catch( _g ) { - var _g1 = haxe_Exception.caught(_g).unwrap(); - if(typeof(_g1) == "string") { - var s = _g1; - throw haxe_Exception.thrown("Unexpected '" + s + "' in " + expr); - } else { - throw _g; - } - } - return function() { - try { - return e(); - } catch( _g ) { - var exc = haxe_Exception.caught(_g).unwrap(); - throw haxe_Exception.thrown("Error : " + Std.string(exc) + " in " + expr); - } - }; - } - ,makeConst: function(v) { - haxe_Template.expr_trim.match(v); - v = haxe_Template.expr_trim.matched(1); - if(HxOverrides.cca(v,0) == 34) { - var str = HxOverrides.substr(v,1,v.length - 2); - return function() { - return str; - }; - } - if(haxe_Template.expr_int.match(v)) { - var i = Std.parseInt(v); - return function() { - return i; - }; - } - if(haxe_Template.expr_float.match(v)) { - var f = parseFloat(v); - return function() { - return f; - }; - } - var me = this; - return function() { - return me.resolve(v); - }; - } - ,makePath: function(e,l) { - var p = l.first(); - if(p == null || p.p != ".") { - return e; - } - l.pop(); - var field = l.pop(); - if(field == null || !field.s) { - throw haxe_Exception.thrown(field.p); - } - var f = field.p; - haxe_Template.expr_trim.match(f); - f = haxe_Template.expr_trim.matched(1); - return this.makePath(function() { - return Reflect.field(e(),f); - },l); - } - ,makeExpr: function(l) { - return this.makePath(this.makeExpr2(l),l); - } - ,skipSpaces: function(l) { - var p = l.first(); - while(p != null) { - var _g_offset = 0; - var _g_s = p.p; - while(_g_offset < _g_s.length) { - var c = _g_s.charCodeAt(_g_offset++); - if(c != 32) { - return; - } - } - l.pop(); - p = l.first(); - } - } - ,makeExpr2: function(l) { - this.skipSpaces(l); - var p = l.pop(); - this.skipSpaces(l); - if(p == null) { - throw haxe_Exception.thrown(""); - } - if(p.s) { - return this.makeConst(p.p); - } - switch(p.p) { - case "!": - var e = this.makeExpr(l); - return function() { - var v = e(); - if(v != null) { - return v == false; - } else { - return true; - } - }; - case "(": - this.skipSpaces(l); - var e1 = this.makeExpr(l); - this.skipSpaces(l); - var p1 = l.pop(); - if(p1 == null || p1.s) { - throw haxe_Exception.thrown(p1); - } - if(p1.p == ")") { - return e1; - } - this.skipSpaces(l); - var e2 = this.makeExpr(l); - this.skipSpaces(l); - var p2 = l.pop(); - this.skipSpaces(l); - if(p2 == null || p2.p != ")") { - throw haxe_Exception.thrown(p2); - } - switch(p1.p) { - case "!=": - return function() { - return e1() != e2(); - }; - case "&&": - return function() { - return e1() && e2(); - }; - case "*": - return function() { - return e1() * e2(); - }; - case "+": - return function() { - return e1() + e2(); - }; - case "-": - return function() { - return e1() - e2(); - }; - case "/": - return function() { - return e1() / e2(); - }; - case "<": - return function() { - return e1() < e2(); - }; - case "<=": - return function() { - return e1() <= e2(); - }; - case "==": - return function() { - return e1() == e2(); - }; - case ">": - return function() { - return e1() > e2(); - }; - case ">=": - return function() { - return e1() >= e2(); - }; - case "||": - return function() { - return e1() || e2(); - }; - default: - throw haxe_Exception.thrown("Unknown operation " + p1.p); - } - break; - case "-": - var e3 = this.makeExpr(l); - return function() { - return -e3(); - }; - } - throw haxe_Exception.thrown(p.p); - } - ,run: function(e) { - switch(e._hx_index) { - case 0: - var v = e.v; - var _this = this.buf; - var x = Std.string(this.resolve(v)); - _this.b += Std.string(x); - break; - case 1: - var e1 = e.expr; - var _this = this.buf; - var x = Std.string(e1()); - _this.b += Std.string(x); - break; - case 2: - var e1 = e.expr; - var eif = e.eif; - var eelse = e.eelse; - var v = e1(); - if(v == null || v == false) { - if(eelse != null) { - this.run(eelse); - } - } else { - this.run(eif); - } - break; - case 3: - var str = e.str; - this.buf.b += str == null ? "null" : "" + str; - break; - case 4: - var l = e.l; - var _g_head = l.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var e1 = val; - this.run(e1); - } - break; - case 5: - var e1 = e.expr; - var loop = e.loop; - var v = e1(); - try { - var x = $getIterator(v); - if(x.hasNext == null) { - throw haxe_Exception.thrown(null); - } - v = x; - } catch( _g ) { - try { - if(v.hasNext == null) { - throw haxe_Exception.thrown(null); - } - } catch( _g1 ) { - throw haxe_Exception.thrown("Cannot iter on " + Std.string(v)); - } - } - this.stack.push(this.context); - var v1 = v; - var ctx = v1; - while(ctx.hasNext()) { - var ctx1 = ctx.next(); - this.context = ctx1; - this.run(loop); - } - this.context = this.stack.pop(); - break; - case 6: - var m = e.name; - var params = e.params; - var v = Reflect.field(this.macros,m); - var pl = []; - var old = this.buf; - pl.push($bind(this,this.resolve)); - var _g_head = params.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var p = val; - if(p._hx_index == 0) { - var v1 = p.v; - pl.push(this.resolve(v1)); - } else { - this.buf = new StringBuf(); - this.run(p); - pl.push(this.buf.b); - } - } - this.buf = old; - try { - var _this = this.buf; - var x = Std.string(v.apply(this.macros,pl)); - _this.b += Std.string(x); - } catch( _g ) { - var e = haxe_Exception.caught(_g).unwrap(); - var plstr; - try { - plstr = pl.join(","); - } catch( _g1 ) { - plstr = "???"; - } - var msg = "Macro call " + m + "(" + plstr + ") failed (" + Std.string(e) + ")"; - throw haxe_Exception.thrown(msg); - } - break; - } - } -}; -var haxe_ValueException = function(value,previous,native) { - haxe_Exception.call(this,String(value),previous,native); - this.value = value; -}; -haxe_ValueException.__name__ = true; -haxe_ValueException.__super__ = haxe_Exception; -haxe_ValueException.prototype = $extend(haxe_Exception.prototype,{ - unwrap: function() { - return this.value; - } -}); -var haxe_ds_List = function() { - this.length = 0; -}; -haxe_ds_List.__name__ = true; -haxe_ds_List.prototype = { - add: function(item) { - var x = new haxe_ds__$List_ListNode(item,null); - if(this.h == null) { - this.h = x; - } else { - this.q.next = x; - } - this.q = x; - this.length++; - } - ,push: function(item) { - var x = new haxe_ds__$List_ListNode(item,this.h); - this.h = x; - if(this.q == null) { - this.q = x; - } - this.length++; - } - ,first: function() { - if(this.h == null) { - return null; - } else { - return this.h.item; - } - } - ,pop: function() { - if(this.h == null) { - return null; - } - var x = this.h.item; - this.h = this.h.next; - if(this.h == null) { - this.q = null; - } - this.length--; - return x; - } - ,isEmpty: function() { - return this.h == null; - } - ,toString: function() { - var s_b = ""; - var first = true; - var l = this.h; - s_b += "{"; - while(l != null) { - if(first) { - first = false; - } else { - s_b += ", "; - } - s_b += Std.string(Std.string(l.item)); - l = l.next; - } - s_b += "}"; - return s_b; - } -}; -var haxe_ds__$List_ListNode = function(item,next) { - this.item = item; - this.next = next; -}; -haxe_ds__$List_ListNode.__name__ = true; -var js_Boot = function() { }; -js_Boot.__name__ = true; -js_Boot.__string_rec = function(o,s) { - if(o == null) { - return "null"; - } - if(s.length >= 5) { - return "<...>"; - } - var t = typeof(o); - if(t == "function" && (o.__name__ || o.__ename__)) { - t = "object"; - } - switch(t) { - case "function": - return ""; - case "object": - if(o.__enum__) { - var e = $hxEnums[o.__enum__]; - var con = e.__constructs__[o._hx_index]; - var n = con._hx_name; - if(con.__params__) { - s = s + "\t"; - return n + "(" + ((function($this) { - var $r; - var _g = []; - { - var _g1 = 0; - var _g2 = con.__params__; - while(true) { - if(!(_g1 < _g2.length)) { - break; - } - var p = _g2[_g1]; - _g1 = _g1 + 1; - _g.push(js_Boot.__string_rec(o[p],s)); - } - } - $r = _g; - return $r; - }(this))).join(",") + ")"; - } else { - return n; - } - } - if(((o) instanceof Array)) { - var str = "["; - s += "\t"; - var _g = 0; - var _g1 = o.length; - while(_g < _g1) { - var i = _g++; - str += (i > 0 ? "," : "") + js_Boot.__string_rec(o[i],s); - } - str += "]"; - return str; - } - var tostr; - try { - tostr = o.toString; - } catch( _g ) { - return "???"; - } - if(tostr != null && tostr != Object.toString && typeof(tostr) == "function") { - var s2 = o.toString(); - if(s2 != "[object Object]") { - return s2; - } - } - var str = "{\n"; - s += "\t"; - var hasp = o.hasOwnProperty != null; - var k = null; - for( k in o ) { - if(hasp && !o.hasOwnProperty(k)) { - continue; - } - if(k == "prototype" || k == "__class__" || k == "__super__" || k == "__interfaces__" || k == "__properties__") { - continue; - } - if(str.length != 2) { - str += ", \n"; - } - str += s + k + " : " + js_Boot.__string_rec(o[k],s); - } - s = s.substring(1); - str += "\n" + s + "}"; - return str; - case "string": - return o; - default: - return String(o); - } -}; -var xrfragment_Filter = $hx_exports["xrfragment"]["Filter"] = function(str) { - this.q = { }; - this.str = ""; - if(str != null) { - this.parse(str); - } -}; -xrfragment_Filter.__name__ = true; -xrfragment_Filter.prototype = { - toObject: function() { - return Reflect.copy(this.q); - } - ,get: function() { - return Reflect.copy(this.q); - } - ,parse: function(str) { - var token = str.split(" "); - var q = { }; - var process = function(str,prefix) { - if(prefix == null) { - prefix = ""; - } - str = StringTools.trim(str); - var k = str.split("=")[0]; - var v = str.split("=")[1]; - var filter = { }; - if(q[prefix + k]) { - filter = q[prefix + k]; - } - if(xrfragment_XRF.isProp.match(str)) { - var oper = ""; - if(str.indexOf(">") != -1) { - oper = ">"; - } - if(str.indexOf("<") != -1) { - oper = "<"; - } - if(xrfragment_XRF.isExclude.match(k)) { - k = HxOverrides.substr(k,1,null); - } - v = HxOverrides.substr(v,oper.length,null); - if(oper.length == 0) { - oper = "="; - } - var rule = { }; - if(xrfragment_XRF.isNumber.match(v)) { - rule[oper] = parseFloat(v); - } else { - rule[oper] = v; - } - q["expr"] = rule; - } - var value = xrfragment_XRF.isDeep.match(str) ? k.split("*").length - 1 : 0; - q["deep"] = value; - var value = xrfragment_XRF.isExclude.match(str) ? false : true; - q["show"] = value; - var value = k.replace(xrfragment_XRF.operators.r,""); - q["key"] = value; - q["value"] = v; - }; - var _g = 0; - var _g1 = token.length; - while(_g < _g1) { - var i = _g++; - process(token[i]); - } - return this.q = q; - } - ,test: function(obj) { - var qualify = false; - var _g = 0; - var _g1 = Reflect.fields(obj); - while(_g < _g1.length) { - var k = _g1[_g]; - ++_g; - var v = Std.string(Reflect.field(obj,k)); - if(this.testProperty(k,v)) { - qualify = true; - } - } - var _g = 0; - var _g1 = Reflect.fields(obj); - while(_g < _g1.length) { - var k = _g1[_g]; - ++_g; - var v = Std.string(Reflect.field(obj,k)); - if(this.testProperty(k,v,true)) { - qualify = false; - } - } - return qualify; - } - ,testProperty: function(property,value,exclude) { - var conds = 0; - var fails = 0; - var qualify = 0; - var testprop = function(expr) { - conds += 1; - fails += expr ? 0 : 1; - return expr; - }; - if(this.q[value] != null) { - var v = this.q[value]; - if(v[property] != null) { - return v[property]; - } - } - if(Reflect.field(this.q,"expr")) { - var f = Reflect.field(this.q,"expr"); - if(!Reflect.field(this.q,"show")) { - if(Reflect.field(f,"!=") != null && testprop((value == null ? "null" : "" + value) == Std.string(Reflect.field(f,"!="))) && exclude) { - ++qualify; - } - } else { - if(Reflect.field(f,"*") != null && testprop(parseFloat(value) != null)) { - ++qualify; - } - if(Reflect.field(f,">") != null && testprop(parseFloat(value) >= parseFloat(Reflect.field(f,">")))) { - ++qualify; - } - if(Reflect.field(f,"<") != null && testprop(parseFloat(value) <= parseFloat(Reflect.field(f,"<")))) { - ++qualify; - } - if(Reflect.field(f,"=") != null && (testprop(value == Reflect.field(f,"=")) || testprop(parseFloat(value) == parseFloat(Reflect.field(f,"="))))) { - ++qualify; - } - } - } - return qualify > 0; - } -}; -var xrfragment_Parser = $hx_exports["xrfragment"]["Parser"] = function() { }; -xrfragment_Parser.__name__ = true; -xrfragment_Parser.parse = function(key,value,store,index) { - var Frag_h = Object.create(null); - Frag_h["#"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_PREDEFINED_VIEW | xrfragment_XRF.PV_EXECUTE; - Frag_h["src"] = xrfragment_XRF.T_URL; - Frag_h["href"] = xrfragment_XRF.T_URL | xrfragment_XRF.T_PREDEFINED_VIEW; - Frag_h["tag"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["pos"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_VECTOR3 | xrfragment_XRF.T_STRING | xrfragment_XRF.METADATA | xrfragment_XRF.NAVIGATOR; - Frag_h["rot"] = xrfragment_XRF.QUERY_OPERATOR | xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_VECTOR3 | xrfragment_XRF.METADATA | xrfragment_XRF.NAVIGATOR; - Frag_h["t"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_FLOAT | xrfragment_XRF.T_VECTOR2 | xrfragment_XRF.NAVIGATOR | xrfragment_XRF.METADATA; - Frag_h["s"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_MEDIAFRAG; - Frag_h["loop"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_PREDEFINED_VIEW; - Frag_h["uv"] = xrfragment_XRF.T_VECTOR2 | xrfragment_XRF.T_MEDIAFRAG; - Frag_h["namespace"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["SPDX"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["unit"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["description"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - var keyStripped = key.replace(xrfragment_XRF.operators.r,""); - var isPVDynamic = key.length > 0 && !Object.prototype.hasOwnProperty.call(Frag_h,key); - if(isPVDynamic) { - var v = new xrfragment_XRF(key,xrfragment_XRF.PV_EXECUTE | xrfragment_XRF.NAVIGATOR,index); - v.validate(value); - v.flags = xrfragment_XRF.set(xrfragment_XRF.T_DYNAMICKEY,v.flags); - if(!Object.prototype.hasOwnProperty.call(Frag_h,key)) { - v.flags = xrfragment_XRF.set(xrfragment_XRF.CUSTOMFRAG,v.flags); - } - if(value.length == 0) { - v.flags = xrfragment_XRF.set(xrfragment_XRF.T_DYNAMICKEYVALUE,v.flags); - } - store[keyStripped] = v; - return true; - } - var v = new xrfragment_XRF(key,Frag_h[key],index); - if(Object.prototype.hasOwnProperty.call(Frag_h,key)) { - if(!v.validate(value)) { - console.log("src/xrfragment/Parser.hx:67:","⚠ fragment '" + key + "' has incompatible value (" + value + ")"); - return false; - } - store[keyStripped] = v; - if(xrfragment_Parser.debug) { - console.log("src/xrfragment/Parser.hx:71:","✔ " + key + ": " + v.string); - } - } else { - if(typeof(value) == "string") { - v.guessType(v,value); - } - v.flags = xrfragment_XRF.set(xrfragment_XRF.CUSTOMFRAG,v.flags); - store[keyStripped] = v; - } - return true; -}; -xrfragment_Parser.getMetaData = function() { - var meta = { title : ["title","og:title","dc.title"], description : ["aria-description","og:description","dc.description"], author : ["author","dc.creator"], publisher : ["publisher","dc.publisher"], website : ["og:site_name","og:url","dc.publisher"], license : ["SPDX","dc.rights"]}; - return meta; -}; -var xrfragment_URI = $hx_exports["xrfragment"]["URI"] = function() { - this.XRF = { }; - this.hash = { }; - this.fragment = ""; -}; -xrfragment_URI.__name__ = true; -xrfragment_URI.parseFragment = function(url,filter) { - var store = { }; - if(url == null || url.indexOf("#") == -1) { - return store; - } - var fragment = url.split("#"); - var splitArray = fragment[1].split("&"); - var _g = 0; - var _g1 = splitArray.length; - while(_g < _g1) { - var i = _g++; - var splitByEqual = splitArray[i].split("="); - var regexPlus = new EReg("\\+","g"); - var key = splitByEqual[0]; - var value = ""; - if(splitByEqual.length > 1) { - if(xrfragment_XRF.isVector.match(splitByEqual[1])) { - value = splitByEqual[1]; - } else { - var s = regexPlus.split(splitByEqual[1]).join(" "); - value = decodeURIComponent(s.split("+").join(" ")); - } - } - var ok = xrfragment_Parser.parse(key,value,store,i); - } - if(filter != null && filter != 0) { - var _g = 0; - var _g1 = Reflect.fields(store); - while(_g < _g1.length) { - var key = _g1[_g]; - ++_g; - var xrf = store[key]; - if(!xrf.is(filter)) { - Reflect.deleteField(store,key); - } - } - } - return store; -}; -xrfragment_URI.template = function(uri,vars) { - var parts = uri.split("#"); - if(parts.length == 1) { - return uri; - } - var frag = parts[1]; - frag = StringTools.replace(frag,"{","::"); - frag = StringTools.replace(frag,"}","::"); - frag = new haxe_Template(frag).execute(vars); - frag = StringTools.replace(frag,"null",""); - parts[1] = frag; - return parts.join("#"); -}; -xrfragment_URI.parse = function(stringUrl,flags) { - var r = new EReg("^(?:(?![^:@]+:[^:@/]*@)([^:/?#.]+):)?(?://)?((?:(([^:@]*)(?::([^:@]*))?)?@)?([^:/?#]*)(?::(\\d*))?)(((/(?:[^?#](?![^?#/]*\\.[^?#/.]+(?:[?#]|$)))*/?)?([^?#/]*))(?:\\?([^#]*))?(?:#(.*))?)",""); - if(stringUrl.indexOf("://") == -1 && stringUrl.charAt(0) != "/") { - stringUrl = "/" + stringUrl; - } - r.match(stringUrl); - var url = new xrfragment_URI(); - var _g = 0; - var _g1 = xrfragment_URI._parts.length; - while(_g < _g1) { - var i = _g++; - url[xrfragment_URI._parts[i]] = r.matched(i); - } - if(xrfragment_URI.isRelative(url) == true) { - if(url.directory == null && url.host != null) { - url.file = url.host; - } - url.host = ""; - } - url.hash = { }; - if(url.fragment != null && url.fragment.length > 0) { - url.XRF = xrfragment_URI.parseFragment("#" + url.fragment,flags); - var key; - var _g = 0; - var _g1 = Reflect.fields(url.XRF); - while(_g < _g1.length) { - var key = _g1[_g]; - ++_g; - var v = url.XRF[key]; - url.hash[key] = v["string"]; - } - } - xrfragment_URI.computeVars(url); - return url; -}; -xrfragment_URI.computeVars = function(url) { - var r_r = new RegExp("//","g".split("u").join("")); - if(url.directory != null && url.directory.indexOf("//") != -1) { - url.directory = url.directory.replace(r_r,"/"); - } - if(url.path != null && url.path.indexOf("//") != -1) { - url.path = url.path.replace(r_r,"/"); - } - if(url.file != null && url.file.indexOf("//") != -1) { - url.file = url.file.replace(r_r,"/"); - } - url.URN = url.scheme + "://" + url.host; - if(url.port != null) { - url.URN += ":" + url.port; - } - url.URN += url.directory; - if(url.file != null) { - var parts = url.file.split("."); - if(parts.length > 1) { - url.fileExt = parts.pop(); - } - } -}; -xrfragment_URI.toString = function(url) { - var result = ""; - if(url.scheme != null) { - result += url.scheme + "://"; - } - if(url.user != null) { - result += url.user + ":"; - } - if(url.password != null) { - result += url.password + "@"; - } - if(url.host != null) { - result += url.host; - } - if(url.port != null) { - result += ":" + url.port; - } - if(url.directory != null) { - result += url.directory; - } - if(url.file != null) { - result += url.file; - } - if(url.query != null) { - result += "?" + url.query; - } - if(url.fragment != null) { - result += "#" + url.fragment; - } - return result; -}; -xrfragment_URI.appendURI = function(url,appendedURI) { - if(xrfragment_URI.isRelative(url) == true) { - return xrfragment_URI.appendToRelativeURI(url,appendedURI); - } else { - return xrfragment_URI.appendToAbsoluteURI(url,appendedURI); - } -}; -xrfragment_URI.isRelative = function(url) { - return url.scheme == null; -}; -xrfragment_URI.appendToRelativeURI = function(url,appendedURI) { - if(url.directory == null || url.host == null) { - return xrfragment_URI.cloneURI(appendedURI); - } - var resultURI = new xrfragment_URI(); - resultURI.host = url.host; - resultURI.directory = url.directory; - if(appendedURI.host != null) { - resultURI.directory += appendedURI.host; - } - if(appendedURI.directory != null) { - var directory = appendedURI.directory; - if(appendedURI.host == null) { - resultURI.directory += HxOverrides.substr(directory,1,null); - } else { - resultURI.directory += directory; - } - } - if(appendedURI.file != null) { - resultURI.file = appendedURI.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(appendedURI.query != null) { - resultURI.query = appendedURI.query; - } - if(appendedURI.fragment != null) { - resultURI.fragment = appendedURI.fragment; - } - return resultURI; -}; -xrfragment_URI.appendToAbsoluteURI = function(url,appendedURI) { - var resultURI = new xrfragment_URI(); - if(url.scheme != null) { - resultURI.scheme = url.scheme; - } - if(url.host != null) { - resultURI.host = url.host; - } - var directory = ""; - if(url.directory != null) { - directory = url.directory; - } - if(appendedURI.host != null) { - appendedURI.directory += appendedURI.host; - } - if(appendedURI.directory != null) { - directory += appendedURI.directory; - } - resultURI.directory = directory; - if(appendedURI.file != null) { - resultURI.file = appendedURI.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(appendedURI.query != null) { - resultURI.query = appendedURI.query; - } - if(appendedURI.fragment != null) { - resultURI.fragment = appendedURI.fragment; - } - return resultURI; -}; -xrfragment_URI.toAbsolute = function(url,newUrl) { - var newURI = xrfragment_URI.parse(newUrl,0); - var resultURI = new xrfragment_URI(); - resultURI.port = url.port; - resultURI.source = newUrl; - if(newURI.scheme != null) { - resultURI.scheme = newURI.scheme; - } else { - resultURI.scheme = url.scheme; - } - if(newURI.host != null && newURI.host.length > 0) { - resultURI.host = newURI.host; - resultURI.port = null; - resultURI.fragment = null; - resultURI.hash = { }; - resultURI.XRF = { }; - if(newURI.port != null) { - resultURI.port = newURI.port; - } - } else { - resultURI.host = url.host; - } - var directory = ""; - if(url.directory != null) { - directory = url.directory; - } - if(newURI.directory != null) { - if(newUrl.charAt(0) != "/" && newUrl.indexOf("://") == -1) { - var stripRelative_r = new RegExp("\\./.*","".split("u").join("")); - directory = directory.replace(stripRelative_r,""); - directory += newURI.directory; - } else { - directory = newURI.directory; - } - } - resultURI.directory = directory; - if(newURI.file != null) { - resultURI.file = newURI.file; - } else { - resultURI.file = url.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(newURI.query != null) { - resultURI.query = newURI.query; - } - if(newURI.fragment != null) { - resultURI.fragment = newURI.fragment; - } - resultURI.hash = newURI.hash; - resultURI.XRF = newURI.XRF; - xrfragment_URI.computeVars(resultURI); - return resultURI; -}; -xrfragment_URI.cloneURI = function(url) { - var clonedURI = new xrfragment_URI(); - clonedURI.url = url.url; - clonedURI.source = url.source; - clonedURI.scheme = url.scheme; - clonedURI.authority = url.authority; - clonedURI.userInfo = url.userInfo; - clonedURI.password = url.password; - clonedURI.host = url.host; - clonedURI.port = url.port; - clonedURI.relative = url.relative; - clonedURI.path = url.path; - clonedURI.directory = url.directory; - clonedURI.file = url.file; - clonedURI.query = url.query; - clonedURI.fragment = url.fragment; - return clonedURI; -}; -var xrfragment_XRF = $hx_exports["xrfragment"]["XRF"] = function(_fragment,_flags,_index) { - this.floats = []; - this.shift = []; - this.fragment = _fragment; - this.flags = _flags; - this.index = _index; -}; -xrfragment_XRF.__name__ = true; -xrfragment_XRF.set = function(flag,flags) { - return flags | flag; -}; -xrfragment_XRF.unset = function(flag,flags) { - return flags & ~flag; -}; -xrfragment_XRF.prototype = { - is: function(flag) { - var v = this.flags; - if(!(typeof(v) == "number" && ((v | 0) === v))) { - this.flags = 0; - } - return (this.flags & flag) != 0; - } - ,validate: function(value) { - this.guessType(this,value); - var ok = true; - if(value.length == 0 && !this.is(xrfragment_XRF.T_PREDEFINED_VIEW)) { - ok = false; - } - if(!this.is(xrfragment_XRF.T_FLOAT) && this.is(xrfragment_XRF.T_VECTOR2) && !(typeof(this.x) == "number" && typeof(this.y) == "number")) { - ok = false; - } - if(!(this.is(xrfragment_XRF.T_VECTOR2) || this.is(xrfragment_XRF.T_STRING)) && this.is(xrfragment_XRF.T_VECTOR3) && !(typeof(this.x) == "number" && typeof(this.y) == "number" && typeof(this.z) == "number")) { - ok = false; - } - return ok; - } - ,guessType: function(v,str) { - v.string = str; - if(xrfragment_XRF.isReset.match(v.fragment)) { - v.reset = true; - } - if(v.fragment == "loop") { - v.loop = true; - } - if(typeof(str) != "string") { - return; - } - if(str.length > 0) { - if(xrfragment_XRF.isXRFScheme.match(str)) { - v.xrfScheme = true; - str = str.replace(xrfragment_XRF.isXRFScheme.r,""); - v.string = str; - } - if(str.split(",").length > 1) { - var xyzn = str.split(","); - if(xyzn.length > 0) { - v.x = parseFloat(xyzn[0]); - } - if(xyzn.length > 1) { - v.y = parseFloat(xyzn[1]); - } - if(xyzn.length > 2) { - v.z = parseFloat(xyzn[2]); - } - var _g = 0; - var _g1 = xyzn.length; - while(_g < _g1) { - var i = _g++; - v.shift.push(xrfragment_XRF.isShift.match(xyzn[i])); - v.floats.push(parseFloat(xyzn[i].replace(xrfragment_XRF.isShift.r,""))); - } - } - if(xrfragment_XRF.isColor.match(str)) { - v.color = str; - } - if(xrfragment_XRF.isFloat.match(str)) { - v.x = parseFloat(str); - v.float = v.x; - } - if(xrfragment_XRF.isInt.match(str)) { - v.int = Std.parseInt(str); - v.x = v.int; - v.floats.push(v.x); - } - v.filter = new xrfragment_Filter(v.fragment + "=" + v.string); - } else { - v.filter = new xrfragment_Filter(v.fragment); - } - } -}; -function $getIterator(o) { if( o instanceof Array ) return new haxe_iterators_ArrayIterator(o); else return o.iterator(); } -function $bind(o,m) { if( m == null ) return null; if( m.__id__ == null ) m.__id__ = $global.$haxeUID++; var f; if( o.hx__closures__ == null ) o.hx__closures__ = {}; else f = o.hx__closures__[m.__id__]; if( f == null ) { f = m.bind(o); o.hx__closures__[m.__id__] = f; } return f; } -$global.$haxeUID |= 0; -if(typeof(performance) != "undefined" ? typeof(performance.now) == "function" : false) { - HxOverrides.now = performance.now.bind(performance); -} -if( String.fromCodePoint == null ) String.fromCodePoint = function(c) { return c < 0x10000 ? String.fromCharCode(c) : String.fromCharCode((c>>10)+0xD7C0)+String.fromCharCode((c&0x3FF)+0xDC00); } -String.__name__ = true; -Array.__name__ = true; -js_Boot.__toStr = ({ }).toString; -haxe_Template.splitter = new EReg("(::[A-Za-z0-9_ ()&|!+=/><*.\"-]+::|\\$\\$([A-Za-z0-9_-]+)\\()",""); -haxe_Template.expr_splitter = new EReg("(\\(|\\)|[ \r\n\t]*\"[^\"]*\"[ \r\n\t]*|[!+=/><*.&|-]+)",""); -haxe_Template.expr_trim = new EReg("^[ ]*([^ ]+)[ ]*$",""); -haxe_Template.expr_int = new EReg("^[0-9]+$",""); -haxe_Template.expr_float = new EReg("^([+-]?)(?=\\d|,\\d)\\d*(,\\d*)?([Ee]([+-]?\\d+))?$",""); -haxe_Template.globals = { }; -haxe_Template.hxKeepArrayIterator = new haxe_iterators_ArrayIterator([]); -xrfragment_Parser.error = ""; -xrfragment_Parser.debug = false; -xrfragment_URI.__meta__ = { statics : { template : { keep : null}}}; -xrfragment_URI._parts = ["source","scheme","authority","userInfo","user","password","host","port","relative","path","directory","file","query","fragment"]; -xrfragment_XRF.IMMUTABLE = 1; -xrfragment_XRF.PROP_BIND = 2; -xrfragment_XRF.QUERY_OPERATOR = 4; -xrfragment_XRF.PROMPT = 8; -xrfragment_XRF.CUSTOMFRAG = 16; -xrfragment_XRF.NAVIGATOR = 32; -xrfragment_XRF.METADATA = 64; -xrfragment_XRF.PV_OVERRIDE = 128; -xrfragment_XRF.PV_EXECUTE = 256; -xrfragment_XRF.T_COLOR = 8192; -xrfragment_XRF.T_INT = 16384; -xrfragment_XRF.T_FLOAT = 32768; -xrfragment_XRF.T_VECTOR2 = 65536; -xrfragment_XRF.T_VECTOR3 = 131072; -xrfragment_XRF.T_URL = 262144; -xrfragment_XRF.T_PREDEFINED_VIEW = 524288; -xrfragment_XRF.T_STRING = 1048576; -xrfragment_XRF.T_MEDIAFRAG = 2097152; -xrfragment_XRF.T_DYNAMICKEY = 4194304; -xrfragment_XRF.T_DYNAMICKEYVALUE = 8388608; -xrfragment_XRF.isColor = new EReg("^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$",""); -xrfragment_XRF.isInt = new EReg("^[-0-9]+$",""); -xrfragment_XRF.isFloat = new EReg("^[-0-9]+\\.[0-9]+$",""); -xrfragment_XRF.isVector = new EReg("([,]+|\\w)",""); -xrfragment_XRF.isUrl = new EReg("(://)?\\..*",""); -xrfragment_XRF.isUrlOrPretypedView = new EReg("(^#|://)?\\..*",""); -xrfragment_XRF.isString = new EReg(".*",""); -xrfragment_XRF.operators = new EReg("(^[-]|^[!]|[\\*]$)","g"); -xrfragment_XRF.isProp = new EReg("^.*=[><=]?",""); -xrfragment_XRF.isExclude = new EReg("^-",""); -xrfragment_XRF.isDeep = new EReg("\\*",""); -xrfragment_XRF.isNumber = new EReg("^[0-9\\.]+$",""); -xrfragment_XRF.isMediaFrag = new EReg("^([0-9\\.,\\*+-]+)$",""); -xrfragment_XRF.isReset = new EReg("^!",""); -xrfragment_XRF.isShift = new EReg("^(\\+|--)",""); -xrfragment_XRF.isXRFScheme = new EReg("^xrf://",""); -})(typeof window != "undefined" ? window : typeof global != "undefined" ? global : typeof self != "undefined" ? self : this); -var xrfragment = $hx_exports["xrfragment"]; -export default xrfragment; -// Generated by Haxe 4.3.3 -var $hx_exports = typeof exports != "undefined" ? exports : typeof window != "undefined" ? window : typeof self != "undefined" ? self : this; -(function ($global) { "use strict"; -$hx_exports["xrfragment"] = $hx_exports["xrfragment"] || {}; -var $estr = function() { return js_Boot.__string_rec(this,''); },$hxEnums = $hxEnums || {},$_; -function $extend(from, fields) { - var proto = Object.create(from); - for (var name in fields) proto[name] = fields[name]; - if( fields.toString !== Object.prototype.toString ) proto.toString = fields.toString; - return proto; -} -var EReg = function(r,opt) { - this.r = new RegExp(r,opt.split("u").join("")); -}; -EReg.__name__ = true; -EReg.prototype = { - match: function(s) { - if(this.r.global) { - this.r.lastIndex = 0; - } - this.r.m = this.r.exec(s); - this.r.s = s; - return this.r.m != null; - } - ,matched: function(n) { - if(this.r.m != null && n >= 0 && n < this.r.m.length) { - return this.r.m[n]; - } else { - throw haxe_Exception.thrown("EReg::matched"); - } - } - ,matchedRight: function() { - if(this.r.m == null) { - throw haxe_Exception.thrown("No string matched"); - } - var sz = this.r.m.index + this.r.m[0].length; - return HxOverrides.substr(this.r.s,sz,this.r.s.length - sz); - } - ,matchedPos: function() { - if(this.r.m == null) { - throw haxe_Exception.thrown("No string matched"); - } - return { pos : this.r.m.index, len : this.r.m[0].length}; - } - ,split: function(s) { - var d = "#__delim__#"; - return s.replace(this.r,d).split(d); - } -}; -var HxOverrides = function() { }; -HxOverrides.__name__ = true; -HxOverrides.cca = function(s,index) { - var x = s.charCodeAt(index); - if(x != x) { - return undefined; - } - return x; -}; -HxOverrides.substr = function(s,pos,len) { - if(len == null) { - len = s.length; - } else if(len < 0) { - if(pos == 0) { - len = s.length + len; - } else { - return ""; - } - } - return s.substr(pos,len); -}; -HxOverrides.now = function() { - return Date.now(); -}; -Math.__name__ = true; -var Reflect = function() { }; -Reflect.__name__ = true; -Reflect.field = function(o,field) { - try { - return o[field]; - } catch( _g ) { - return null; - } -}; -Reflect.getProperty = function(o,field) { - var tmp; - if(o == null) { - return null; - } else { - var tmp1; - if(o.__properties__) { - tmp = o.__properties__["get_" + field]; - tmp1 = tmp; - } else { - tmp1 = false; - } - if(tmp1) { - return o[tmp](); - } else { - return o[field]; - } - } -}; -Reflect.fields = function(o) { - var a = []; - if(o != null) { - var hasOwnProperty = Object.prototype.hasOwnProperty; - for( var f in o ) { - if(f != "__id__" && f != "hx__closures__" && hasOwnProperty.call(o,f)) { - a.push(f); - } - } - } - return a; -}; -Reflect.isObject = function(v) { - if(v == null) { - return false; - } - var t = typeof(v); - if(!(t == "string" || t == "object" && v.__enum__ == null)) { - if(t == "function") { - return (v.__name__ || v.__ename__) != null; - } else { - return false; - } - } else { - return true; - } -}; -Reflect.deleteField = function(o,field) { - if(!Object.prototype.hasOwnProperty.call(o,field)) { - return false; - } - delete(o[field]); - return true; -}; -Reflect.copy = function(o) { - if(o == null) { - return null; - } - var o2 = { }; - var _g = 0; - var _g1 = Reflect.fields(o); - while(_g < _g1.length) { - var f = _g1[_g]; - ++_g; - o2[f] = Reflect.field(o,f); - } - return o2; -}; -var Std = function() { }; -Std.__name__ = true; -Std.string = function(s) { - return js_Boot.__string_rec(s,""); -}; -Std.parseInt = function(x) { - var v = parseInt(x); - if(isNaN(v)) { - return null; - } - return v; -}; -var StringBuf = function() { - this.b = ""; -}; -StringBuf.__name__ = true; -var StringTools = function() { }; -StringTools.__name__ = true; -StringTools.isSpace = function(s,pos) { - var c = HxOverrides.cca(s,pos); - if(!(c > 8 && c < 14)) { - return c == 32; - } else { - return true; - } -}; -StringTools.ltrim = function(s) { - var l = s.length; - var r = 0; - while(r < l && StringTools.isSpace(s,r)) ++r; - if(r > 0) { - return HxOverrides.substr(s,r,l - r); - } else { - return s; - } -}; -StringTools.rtrim = function(s) { - var l = s.length; - var r = 0; - while(r < l && StringTools.isSpace(s,l - r - 1)) ++r; - if(r > 0) { - return HxOverrides.substr(s,0,l - r); - } else { - return s; - } -}; -StringTools.trim = function(s) { - return StringTools.ltrim(StringTools.rtrim(s)); -}; -StringTools.replace = function(s,sub,by) { - return s.split(sub).join(by); -}; -var haxe_Exception = function(message,previous,native) { - Error.call(this,message); - this.message = message; - this.__previousException = previous; - this.__nativeException = native != null ? native : this; -}; -haxe_Exception.__name__ = true; -haxe_Exception.caught = function(value) { - if(((value) instanceof haxe_Exception)) { - return value; - } else if(((value) instanceof Error)) { - return new haxe_Exception(value.message,null,value); - } else { - return new haxe_ValueException(value,null,value); - } -}; -haxe_Exception.thrown = function(value) { - if(((value) instanceof haxe_Exception)) { - return value.get_native(); - } else if(((value) instanceof Error)) { - return value; - } else { - var e = new haxe_ValueException(value); - return e; - } -}; -haxe_Exception.__super__ = Error; -haxe_Exception.prototype = $extend(Error.prototype,{ - unwrap: function() { - return this.__nativeException; - } - ,get_native: function() { - return this.__nativeException; - } - ,__properties__: {get_native:"get_native"} -}); -var haxe__$Template_TemplateExpr = $hxEnums["haxe._Template.TemplateExpr"] = { __ename__:true,__constructs__:null - ,OpVar: ($_=function(v) { return {_hx_index:0,v:v,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpVar",$_.__params__ = ["v"],$_) - ,OpExpr: ($_=function(expr) { return {_hx_index:1,expr:expr,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpExpr",$_.__params__ = ["expr"],$_) - ,OpIf: ($_=function(expr,eif,eelse) { return {_hx_index:2,expr:expr,eif:eif,eelse:eelse,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpIf",$_.__params__ = ["expr","eif","eelse"],$_) - ,OpStr: ($_=function(str) { return {_hx_index:3,str:str,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpStr",$_.__params__ = ["str"],$_) - ,OpBlock: ($_=function(l) { return {_hx_index:4,l:l,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpBlock",$_.__params__ = ["l"],$_) - ,OpForeach: ($_=function(expr,loop) { return {_hx_index:5,expr:expr,loop:loop,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpForeach",$_.__params__ = ["expr","loop"],$_) - ,OpMacro: ($_=function(name,params) { return {_hx_index:6,name:name,params:params,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpMacro",$_.__params__ = ["name","params"],$_) -}; -haxe__$Template_TemplateExpr.__constructs__ = [haxe__$Template_TemplateExpr.OpVar,haxe__$Template_TemplateExpr.OpExpr,haxe__$Template_TemplateExpr.OpIf,haxe__$Template_TemplateExpr.OpStr,haxe__$Template_TemplateExpr.OpBlock,haxe__$Template_TemplateExpr.OpForeach,haxe__$Template_TemplateExpr.OpMacro]; -var haxe_iterators_ArrayIterator = function(array) { - this.current = 0; - this.array = array; -}; -haxe_iterators_ArrayIterator.__name__ = true; -haxe_iterators_ArrayIterator.prototype = { - hasNext: function() { - return this.current < this.array.length; - } - ,next: function() { - return this.array[this.current++]; - } -}; -var haxe_Template = function(str) { - var tokens = this.parseTokens(str); - this.expr = this.parseBlock(tokens); - if(!tokens.isEmpty()) { - throw haxe_Exception.thrown("Unexpected '" + Std.string(tokens.first().s) + "'"); - } -}; -haxe_Template.__name__ = true; -haxe_Template.prototype = { - execute: function(context,macros) { - this.macros = macros == null ? { } : macros; - this.context = context; - this.stack = new haxe_ds_List(); - this.buf = new StringBuf(); - this.run(this.expr); - return this.buf.b; - } - ,resolve: function(v) { - if(v == "__current__") { - return this.context; - } - if(Reflect.isObject(this.context)) { - var value = Reflect.getProperty(this.context,v); - if(value != null || Object.prototype.hasOwnProperty.call(this.context,v)) { - return value; - } - } - var _g_head = this.stack.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var ctx = val; - var value = Reflect.getProperty(ctx,v); - if(value != null || Object.prototype.hasOwnProperty.call(ctx,v)) { - return value; - } - } - return Reflect.field(haxe_Template.globals,v); - } - ,parseTokens: function(data) { - var tokens = new haxe_ds_List(); - while(haxe_Template.splitter.match(data)) { - var p = haxe_Template.splitter.matchedPos(); - if(p.pos > 0) { - tokens.add({ p : HxOverrides.substr(data,0,p.pos), s : true, l : null}); - } - if(HxOverrides.cca(data,p.pos) == 58) { - tokens.add({ p : HxOverrides.substr(data,p.pos + 2,p.len - 4), s : false, l : null}); - data = haxe_Template.splitter.matchedRight(); - continue; - } - var parp = p.pos + p.len; - var npar = 1; - var params = []; - var part = ""; - while(true) { - var c = HxOverrides.cca(data,parp); - ++parp; - if(c == 40) { - ++npar; - } else if(c == 41) { - --npar; - if(npar <= 0) { - break; - } - } else if(c == null) { - throw haxe_Exception.thrown("Unclosed macro parenthesis"); - } - if(c == 44 && npar == 1) { - params.push(part); - part = ""; - } else { - part += String.fromCodePoint(c); - } - } - params.push(part); - tokens.add({ p : haxe_Template.splitter.matched(2), s : false, l : params}); - data = HxOverrides.substr(data,parp,data.length - parp); - } - if(data.length > 0) { - tokens.add({ p : data, s : true, l : null}); - } - return tokens; - } - ,parseBlock: function(tokens) { - var l = new haxe_ds_List(); - while(true) { - var t = tokens.first(); - if(t == null) { - break; - } - if(!t.s && (t.p == "end" || t.p == "else" || HxOverrides.substr(t.p,0,7) == "elseif ")) { - break; - } - l.add(this.parse(tokens)); - } - if(l.length == 1) { - return l.first(); - } - return haxe__$Template_TemplateExpr.OpBlock(l); - } - ,parse: function(tokens) { - var t = tokens.pop(); - var p = t.p; - if(t.s) { - return haxe__$Template_TemplateExpr.OpStr(p); - } - if(t.l != null) { - var pe = new haxe_ds_List(); - var _g = 0; - var _g1 = t.l; - while(_g < _g1.length) { - var p1 = _g1[_g]; - ++_g; - pe.add(this.parseBlock(this.parseTokens(p1))); - } - return haxe__$Template_TemplateExpr.OpMacro(p,pe); - } - var kwdEnd = function(kwd) { - var pos = -1; - var length = kwd.length; - if(HxOverrides.substr(p,0,length) == kwd) { - pos = length; - var _g_offset = 0; - var _g_s = HxOverrides.substr(p,length,null); - while(_g_offset < _g_s.length) { - var c = _g_s.charCodeAt(_g_offset++); - if(c == 32) { - ++pos; - } else { - break; - } - } - } - return pos; - }; - var pos = kwdEnd("if"); - if(pos > 0) { - p = HxOverrides.substr(p,pos,p.length - pos); - var e = this.parseExpr(p); - var eif = this.parseBlock(tokens); - var t = tokens.first(); - var eelse; - if(t == null) { - throw haxe_Exception.thrown("Unclosed 'if'"); - } - if(t.p == "end") { - tokens.pop(); - eelse = null; - } else if(t.p == "else") { - tokens.pop(); - eelse = this.parseBlock(tokens); - t = tokens.pop(); - if(t == null || t.p != "end") { - throw haxe_Exception.thrown("Unclosed 'else'"); - } - } else { - t.p = HxOverrides.substr(t.p,4,t.p.length - 4); - eelse = this.parse(tokens); - } - return haxe__$Template_TemplateExpr.OpIf(e,eif,eelse); - } - var pos = kwdEnd("foreach"); - if(pos >= 0) { - p = HxOverrides.substr(p,pos,p.length - pos); - var e = this.parseExpr(p); - var efor = this.parseBlock(tokens); - var t = tokens.pop(); - if(t == null || t.p != "end") { - throw haxe_Exception.thrown("Unclosed 'foreach'"); - } - return haxe__$Template_TemplateExpr.OpForeach(e,efor); - } - if(haxe_Template.expr_splitter.match(p)) { - return haxe__$Template_TemplateExpr.OpExpr(this.parseExpr(p)); - } - return haxe__$Template_TemplateExpr.OpVar(p); - } - ,parseExpr: function(data) { - var l = new haxe_ds_List(); - var expr = data; - while(haxe_Template.expr_splitter.match(data)) { - var p = haxe_Template.expr_splitter.matchedPos(); - var k = p.pos + p.len; - if(p.pos != 0) { - l.add({ p : HxOverrides.substr(data,0,p.pos), s : true}); - } - var p1 = haxe_Template.expr_splitter.matched(0); - l.add({ p : p1, s : p1.indexOf("\"") >= 0}); - data = haxe_Template.expr_splitter.matchedRight(); - } - if(data.length != 0) { - var _g_offset = 0; - var _g_s = data; - while(_g_offset < _g_s.length) { - var _g_key = _g_offset; - var _g_value = _g_s.charCodeAt(_g_offset++); - var i = _g_key; - var c = _g_value; - if(c != 32) { - l.add({ p : HxOverrides.substr(data,i,null), s : true}); - break; - } - } - } - var e; - try { - e = this.makeExpr(l); - if(!l.isEmpty()) { - throw haxe_Exception.thrown(l.first().p); - } - } catch( _g ) { - var _g1 = haxe_Exception.caught(_g).unwrap(); - if(typeof(_g1) == "string") { - var s = _g1; - throw haxe_Exception.thrown("Unexpected '" + s + "' in " + expr); - } else { - throw _g; - } - } - return function() { - try { - return e(); - } catch( _g ) { - var exc = haxe_Exception.caught(_g).unwrap(); - throw haxe_Exception.thrown("Error : " + Std.string(exc) + " in " + expr); - } - }; - } - ,makeConst: function(v) { - haxe_Template.expr_trim.match(v); - v = haxe_Template.expr_trim.matched(1); - if(HxOverrides.cca(v,0) == 34) { - var str = HxOverrides.substr(v,1,v.length - 2); - return function() { - return str; - }; - } - if(haxe_Template.expr_int.match(v)) { - var i = Std.parseInt(v); - return function() { - return i; - }; - } - if(haxe_Template.expr_float.match(v)) { - var f = parseFloat(v); - return function() { - return f; - }; - } - var me = this; - return function() { - return me.resolve(v); - }; - } - ,makePath: function(e,l) { - var p = l.first(); - if(p == null || p.p != ".") { - return e; - } - l.pop(); - var field = l.pop(); - if(field == null || !field.s) { - throw haxe_Exception.thrown(field.p); - } - var f = field.p; - haxe_Template.expr_trim.match(f); - f = haxe_Template.expr_trim.matched(1); - return this.makePath(function() { - return Reflect.field(e(),f); - },l); - } - ,makeExpr: function(l) { - return this.makePath(this.makeExpr2(l),l); - } - ,skipSpaces: function(l) { - var p = l.first(); - while(p != null) { - var _g_offset = 0; - var _g_s = p.p; - while(_g_offset < _g_s.length) { - var c = _g_s.charCodeAt(_g_offset++); - if(c != 32) { - return; - } - } - l.pop(); - p = l.first(); - } - } - ,makeExpr2: function(l) { - this.skipSpaces(l); - var p = l.pop(); - this.skipSpaces(l); - if(p == null) { - throw haxe_Exception.thrown(""); - } - if(p.s) { - return this.makeConst(p.p); - } - switch(p.p) { - case "!": - var e = this.makeExpr(l); - return function() { - var v = e(); - if(v != null) { - return v == false; - } else { - return true; - } - }; - case "(": - this.skipSpaces(l); - var e1 = this.makeExpr(l); - this.skipSpaces(l); - var p1 = l.pop(); - if(p1 == null || p1.s) { - throw haxe_Exception.thrown(p1); - } - if(p1.p == ")") { - return e1; - } - this.skipSpaces(l); - var e2 = this.makeExpr(l); - this.skipSpaces(l); - var p2 = l.pop(); - this.skipSpaces(l); - if(p2 == null || p2.p != ")") { - throw haxe_Exception.thrown(p2); - } - switch(p1.p) { - case "!=": - return function() { - return e1() != e2(); - }; - case "&&": - return function() { - return e1() && e2(); - }; - case "*": - return function() { - return e1() * e2(); - }; - case "+": - return function() { - return e1() + e2(); - }; - case "-": - return function() { - return e1() - e2(); - }; - case "/": - return function() { - return e1() / e2(); - }; - case "<": - return function() { - return e1() < e2(); - }; - case "<=": - return function() { - return e1() <= e2(); - }; - case "==": - return function() { - return e1() == e2(); - }; - case ">": - return function() { - return e1() > e2(); - }; - case ">=": - return function() { - return e1() >= e2(); - }; - case "||": - return function() { - return e1() || e2(); - }; - default: - throw haxe_Exception.thrown("Unknown operation " + p1.p); - } - break; - case "-": - var e3 = this.makeExpr(l); - return function() { - return -e3(); - }; - } - throw haxe_Exception.thrown(p.p); - } - ,run: function(e) { - switch(e._hx_index) { - case 0: - var v = e.v; - var _this = this.buf; - var x = Std.string(this.resolve(v)); - _this.b += Std.string(x); - break; - case 1: - var e1 = e.expr; - var _this = this.buf; - var x = Std.string(e1()); - _this.b += Std.string(x); - break; - case 2: - var e1 = e.expr; - var eif = e.eif; - var eelse = e.eelse; - var v = e1(); - if(v == null || v == false) { - if(eelse != null) { - this.run(eelse); - } - } else { - this.run(eif); - } - break; - case 3: - var str = e.str; - this.buf.b += str == null ? "null" : "" + str; - break; - case 4: - var l = e.l; - var _g_head = l.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var e1 = val; - this.run(e1); - } - break; - case 5: - var e1 = e.expr; - var loop = e.loop; - var v = e1(); - try { - var x = $getIterator(v); - if(x.hasNext == null) { - throw haxe_Exception.thrown(null); - } - v = x; - } catch( _g ) { - try { - if(v.hasNext == null) { - throw haxe_Exception.thrown(null); - } - } catch( _g1 ) { - throw haxe_Exception.thrown("Cannot iter on " + Std.string(v)); - } - } - this.stack.push(this.context); - var v1 = v; - var ctx = v1; - while(ctx.hasNext()) { - var ctx1 = ctx.next(); - this.context = ctx1; - this.run(loop); - } - this.context = this.stack.pop(); - break; - case 6: - var m = e.name; - var params = e.params; - var v = Reflect.field(this.macros,m); - var pl = []; - var old = this.buf; - pl.push($bind(this,this.resolve)); - var _g_head = params.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var p = val; - if(p._hx_index == 0) { - var v1 = p.v; - pl.push(this.resolve(v1)); - } else { - this.buf = new StringBuf(); - this.run(p); - pl.push(this.buf.b); - } - } - this.buf = old; - try { - var _this = this.buf; - var x = Std.string(v.apply(this.macros,pl)); - _this.b += Std.string(x); - } catch( _g ) { - var e = haxe_Exception.caught(_g).unwrap(); - var plstr; - try { - plstr = pl.join(","); - } catch( _g1 ) { - plstr = "???"; - } - var msg = "Macro call " + m + "(" + plstr + ") failed (" + Std.string(e) + ")"; - throw haxe_Exception.thrown(msg); - } - break; - } - } -}; -var haxe_ValueException = function(value,previous,native) { - haxe_Exception.call(this,String(value),previous,native); - this.value = value; -}; -haxe_ValueException.__name__ = true; -haxe_ValueException.__super__ = haxe_Exception; -haxe_ValueException.prototype = $extend(haxe_Exception.prototype,{ - unwrap: function() { - return this.value; - } -}); -var haxe_ds_List = function() { - this.length = 0; -}; -haxe_ds_List.__name__ = true; -haxe_ds_List.prototype = { - add: function(item) { - var x = new haxe_ds__$List_ListNode(item,null); - if(this.h == null) { - this.h = x; - } else { - this.q.next = x; - } - this.q = x; - this.length++; - } - ,push: function(item) { - var x = new haxe_ds__$List_ListNode(item,this.h); - this.h = x; - if(this.q == null) { - this.q = x; - } - this.length++; - } - ,first: function() { - if(this.h == null) { - return null; - } else { - return this.h.item; - } - } - ,pop: function() { - if(this.h == null) { - return null; - } - var x = this.h.item; - this.h = this.h.next; - if(this.h == null) { - this.q = null; - } - this.length--; - return x; - } - ,isEmpty: function() { - return this.h == null; - } - ,toString: function() { - var s_b = ""; - var first = true; - var l = this.h; - s_b += "{"; - while(l != null) { - if(first) { - first = false; - } else { - s_b += ", "; - } - s_b += Std.string(Std.string(l.item)); - l = l.next; - } - s_b += "}"; - return s_b; - } -}; -var haxe_ds__$List_ListNode = function(item,next) { - this.item = item; - this.next = next; -}; -haxe_ds__$List_ListNode.__name__ = true; -var js_Boot = function() { }; -js_Boot.__name__ = true; -js_Boot.__string_rec = function(o,s) { - if(o == null) { - return "null"; - } - if(s.length >= 5) { - return "<...>"; - } - var t = typeof(o); - if(t == "function" && (o.__name__ || o.__ename__)) { - t = "object"; - } - switch(t) { - case "function": - return ""; - case "object": - if(o.__enum__) { - var e = $hxEnums[o.__enum__]; - var con = e.__constructs__[o._hx_index]; - var n = con._hx_name; - if(con.__params__) { - s = s + "\t"; - return n + "(" + ((function($this) { - var $r; - var _g = []; - { - var _g1 = 0; - var _g2 = con.__params__; - while(true) { - if(!(_g1 < _g2.length)) { - break; - } - var p = _g2[_g1]; - _g1 = _g1 + 1; - _g.push(js_Boot.__string_rec(o[p],s)); - } - } - $r = _g; - return $r; - }(this))).join(",") + ")"; - } else { - return n; - } - } - if(((o) instanceof Array)) { - var str = "["; - s += "\t"; - var _g = 0; - var _g1 = o.length; - while(_g < _g1) { - var i = _g++; - str += (i > 0 ? "," : "") + js_Boot.__string_rec(o[i],s); - } - str += "]"; - return str; - } - var tostr; - try { - tostr = o.toString; - } catch( _g ) { - return "???"; - } - if(tostr != null && tostr != Object.toString && typeof(tostr) == "function") { - var s2 = o.toString(); - if(s2 != "[object Object]") { - return s2; - } - } - var str = "{\n"; - s += "\t"; - var hasp = o.hasOwnProperty != null; - var k = null; - for( k in o ) { - if(hasp && !o.hasOwnProperty(k)) { - continue; - } - if(k == "prototype" || k == "__class__" || k == "__super__" || k == "__interfaces__" || k == "__properties__") { - continue; - } - if(str.length != 2) { - str += ", \n"; - } - str += s + k + " : " + js_Boot.__string_rec(o[k],s); - } - s = s.substring(1); - str += "\n" + s + "}"; - return str; - case "string": - return o; - default: - return String(o); - } -}; -var xrfragment_Filter = $hx_exports["xrfragment"]["Filter"] = function(str) { - this.q = { }; - this.str = ""; - if(str != null) { - this.parse(str); - } -}; -xrfragment_Filter.__name__ = true; -xrfragment_Filter.prototype = { - toObject: function() { - return Reflect.copy(this.q); - } - ,get: function() { - return Reflect.copy(this.q); - } - ,parse: function(str) { - var token = str.split(" "); - var q = { }; - var process = function(str,prefix) { - if(prefix == null) { - prefix = ""; - } - str = StringTools.trim(str); - var k = str.split("=")[0]; - var v = str.split("=")[1]; - var filter = { }; - if(q[prefix + k]) { - filter = q[prefix + k]; - } - if(xrfragment_XRF.isProp.match(str)) { - var oper = ""; - if(str.indexOf(">") != -1) { - oper = ">"; - } - if(str.indexOf("<") != -1) { - oper = "<"; - } - if(xrfragment_XRF.isExclude.match(k)) { - k = HxOverrides.substr(k,1,null); - } - v = HxOverrides.substr(v,oper.length,null); - if(oper.length == 0) { - oper = "="; - } - var rule = { }; - if(xrfragment_XRF.isNumber.match(v)) { - rule[oper] = parseFloat(v); - } else { - rule[oper] = v; - } - q["expr"] = rule; - } - var value = xrfragment_XRF.isDeep.match(str) ? k.split("*").length - 1 : 0; - q["deep"] = value; - var value = xrfragment_XRF.isExclude.match(str) ? false : true; - q["show"] = value; - var value = k.replace(xrfragment_XRF.operators.r,""); - q["key"] = value; - q["value"] = v; - }; - var _g = 0; - var _g1 = token.length; - while(_g < _g1) { - var i = _g++; - process(token[i]); - } - return this.q = q; - } - ,test: function(obj) { - var qualify = false; - var _g = 0; - var _g1 = Reflect.fields(obj); - while(_g < _g1.length) { - var k = _g1[_g]; - ++_g; - var v = Std.string(Reflect.field(obj,k)); - if(this.testProperty(k,v)) { - qualify = true; - } - } - var _g = 0; - var _g1 = Reflect.fields(obj); - while(_g < _g1.length) { - var k = _g1[_g]; - ++_g; - var v = Std.string(Reflect.field(obj,k)); - if(this.testProperty(k,v,true)) { - qualify = false; - } - } - return qualify; - } - ,testProperty: function(property,value,exclude) { - var conds = 0; - var fails = 0; - var qualify = 0; - var testprop = function(expr) { - conds += 1; - fails += expr ? 0 : 1; - return expr; - }; - if(this.q[value] != null) { - var v = this.q[value]; - if(v[property] != null) { - return v[property]; - } - } - if(Reflect.field(this.q,"expr")) { - var f = Reflect.field(this.q,"expr"); - if(!Reflect.field(this.q,"show")) { - if(Reflect.field(f,"!=") != null && testprop((value == null ? "null" : "" + value) == Std.string(Reflect.field(f,"!="))) && exclude) { - ++qualify; - } - } else { - if(Reflect.field(f,"*") != null && testprop(parseFloat(value) != null)) { - ++qualify; - } - if(Reflect.field(f,">") != null && testprop(parseFloat(value) >= parseFloat(Reflect.field(f,">")))) { - ++qualify; - } - if(Reflect.field(f,"<") != null && testprop(parseFloat(value) <= parseFloat(Reflect.field(f,"<")))) { - ++qualify; - } - if(Reflect.field(f,"=") != null && (testprop(value == Reflect.field(f,"=")) || testprop(parseFloat(value) == parseFloat(Reflect.field(f,"="))))) { - ++qualify; - } - } - } - return qualify > 0; - } -}; -var xrfragment_Parser = $hx_exports["xrfragment"]["Parser"] = function() { }; -xrfragment_Parser.__name__ = true; -xrfragment_Parser.parse = function(key,value,store,index) { - var Frag_h = Object.create(null); - Frag_h["#"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_PREDEFINED_VIEW | xrfragment_XRF.PV_EXECUTE; - Frag_h["src"] = xrfragment_XRF.T_URL; - Frag_h["href"] = xrfragment_XRF.T_URL | xrfragment_XRF.T_PREDEFINED_VIEW; - Frag_h["tag"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["pos"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_VECTOR3 | xrfragment_XRF.T_STRING | xrfragment_XRF.METADATA | xrfragment_XRF.NAVIGATOR; - Frag_h["rot"] = xrfragment_XRF.QUERY_OPERATOR | xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_VECTOR3 | xrfragment_XRF.METADATA | xrfragment_XRF.NAVIGATOR; - Frag_h["t"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_FLOAT | xrfragment_XRF.T_VECTOR2 | xrfragment_XRF.NAVIGATOR | xrfragment_XRF.METADATA; - Frag_h["s"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_MEDIAFRAG; - Frag_h["loop"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_PREDEFINED_VIEW; - Frag_h["uv"] = xrfragment_XRF.T_VECTOR2 | xrfragment_XRF.T_MEDIAFRAG; - Frag_h["namespace"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["SPDX"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["unit"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["description"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - var keyStripped = key.replace(xrfragment_XRF.operators.r,""); - var isPVDynamic = key.length > 0 && !Object.prototype.hasOwnProperty.call(Frag_h,key); - if(isPVDynamic) { - var v = new xrfragment_XRF(key,xrfragment_XRF.PV_EXECUTE | xrfragment_XRF.NAVIGATOR,index); - v.validate(value); - v.flags = xrfragment_XRF.set(xrfragment_XRF.T_DYNAMICKEY,v.flags); - if(!Object.prototype.hasOwnProperty.call(Frag_h,key)) { - v.flags = xrfragment_XRF.set(xrfragment_XRF.CUSTOMFRAG,v.flags); - } - if(value.length == 0) { - v.flags = xrfragment_XRF.set(xrfragment_XRF.T_DYNAMICKEYVALUE,v.flags); - } - store[keyStripped] = v; - return true; - } - var v = new xrfragment_XRF(key,Frag_h[key],index); - if(Object.prototype.hasOwnProperty.call(Frag_h,key)) { - if(!v.validate(value)) { - console.log("src/xrfragment/Parser.hx:67:","⚠ fragment '" + key + "' has incompatible value (" + value + ")"); - return false; - } - store[keyStripped] = v; - if(xrfragment_Parser.debug) { - console.log("src/xrfragment/Parser.hx:71:","✔ " + key + ": " + v.string); - } - } else { - if(typeof(value) == "string") { - v.guessType(v,value); - } - v.flags = xrfragment_XRF.set(xrfragment_XRF.CUSTOMFRAG,v.flags); - store[keyStripped] = v; - } - return true; -}; -xrfragment_Parser.getMetaData = function() { - var meta = { title : ["title","og:title","dc.title"], description : ["aria-description","og:description","dc.description"], author : ["author","dc.creator"], publisher : ["publisher","dc.publisher"], website : ["og:site_name","og:url","dc.publisher"], license : ["SPDX","dc.rights"]}; - return meta; -}; -var xrfragment_URI = $hx_exports["xrfragment"]["URI"] = function() { - this.XRF = { }; - this.hash = { }; - this.fragment = ""; -}; -xrfragment_URI.__name__ = true; -xrfragment_URI.parseFragment = function(url,filter) { - var store = { }; - if(url == null || url.indexOf("#") == -1) { - return store; - } - var fragment = url.split("#"); - var splitArray = fragment[1].split("&"); - var _g = 0; - var _g1 = splitArray.length; - while(_g < _g1) { - var i = _g++; - var splitByEqual = splitArray[i].split("="); - var regexPlus = new EReg("\\+","g"); - var key = splitByEqual[0]; - var value = ""; - if(splitByEqual.length > 1) { - if(xrfragment_XRF.isVector.match(splitByEqual[1])) { - value = splitByEqual[1]; - } else { - var s = regexPlus.split(splitByEqual[1]).join(" "); - value = decodeURIComponent(s.split("+").join(" ")); - } - } - var ok = xrfragment_Parser.parse(key,value,store,i); - } - if(filter != null && filter != 0) { - var _g = 0; - var _g1 = Reflect.fields(store); - while(_g < _g1.length) { - var key = _g1[_g]; - ++_g; - var xrf = store[key]; - if(!xrf.is(filter)) { - Reflect.deleteField(store,key); - } - } - } - return store; -}; -xrfragment_URI.template = function(uri,vars) { - var parts = uri.split("#"); - if(parts.length == 1) { - return uri; - } - var frag = parts[1]; - frag = StringTools.replace(frag,"{","::"); - frag = StringTools.replace(frag,"}","::"); - frag = new haxe_Template(frag).execute(vars); - frag = StringTools.replace(frag,"null",""); - parts[1] = frag; - return parts.join("#"); -}; -xrfragment_URI.parse = function(stringUrl,flags) { - var r = new EReg("^(?:(?![^:@]+:[^:@/]*@)([^:/?#.]+):)?(?://)?((?:(([^:@]*)(?::([^:@]*))?)?@)?([^:/?#]*)(?::(\\d*))?)(((/(?:[^?#](?![^?#/]*\\.[^?#/.]+(?:[?#]|$)))*/?)?([^?#/]*))(?:\\?([^#]*))?(?:#(.*))?)",""); - if(stringUrl.indexOf("://") == -1 && stringUrl.charAt(0) != "/") { - stringUrl = "/" + stringUrl; - } - r.match(stringUrl); - var url = new xrfragment_URI(); - var _g = 0; - var _g1 = xrfragment_URI._parts.length; - while(_g < _g1) { - var i = _g++; - url[xrfragment_URI._parts[i]] = r.matched(i); - } - if(xrfragment_URI.isRelative(url) == true) { - if(url.directory == null && url.host != null) { - url.file = url.host; - } - url.host = ""; - } - url.hash = { }; - if(url.fragment != null && url.fragment.length > 0) { - url.XRF = xrfragment_URI.parseFragment("#" + url.fragment,flags); - var key; - var _g = 0; - var _g1 = Reflect.fields(url.XRF); - while(_g < _g1.length) { - var key = _g1[_g]; - ++_g; - var v = url.XRF[key]; - url.hash[key] = v["string"]; - } - } - xrfragment_URI.computeVars(url); - return url; -}; -xrfragment_URI.computeVars = function(url) { - var r_r = new RegExp("//","g".split("u").join("")); - if(url.directory != null && url.directory.indexOf("//") != -1) { - url.directory = url.directory.replace(r_r,"/"); - } - if(url.path != null && url.path.indexOf("//") != -1) { - url.path = url.path.replace(r_r,"/"); - } - if(url.file != null && url.file.indexOf("//") != -1) { - url.file = url.file.replace(r_r,"/"); - } - url.URN = url.scheme + "://" + url.host; - if(url.port != null) { - url.URN += ":" + url.port; - } - url.URN += url.directory; - if(url.file != null) { - var parts = url.file.split("."); - if(parts.length > 1) { - url.fileExt = parts.pop(); - } - } -}; -xrfragment_URI.toString = function(url) { - var result = ""; - if(url.scheme != null) { - result += url.scheme + "://"; - } - if(url.user != null) { - result += url.user + ":"; - } - if(url.password != null) { - result += url.password + "@"; - } - if(url.host != null) { - result += url.host; - } - if(url.port != null) { - result += ":" + url.port; - } - if(url.directory != null) { - result += url.directory; - } - if(url.file != null) { - result += url.file; - } - if(url.query != null) { - result += "?" + url.query; - } - if(url.fragment != null) { - result += "#" + url.fragment; - } - return result; -}; -xrfragment_URI.appendURI = function(url,appendedURI) { - if(xrfragment_URI.isRelative(url) == true) { - return xrfragment_URI.appendToRelativeURI(url,appendedURI); - } else { - return xrfragment_URI.appendToAbsoluteURI(url,appendedURI); - } -}; -xrfragment_URI.isRelative = function(url) { - return url.scheme == null; -}; -xrfragment_URI.appendToRelativeURI = function(url,appendedURI) { - if(url.directory == null || url.host == null) { - return xrfragment_URI.cloneURI(appendedURI); - } - var resultURI = new xrfragment_URI(); - resultURI.host = url.host; - resultURI.directory = url.directory; - if(appendedURI.host != null) { - resultURI.directory += appendedURI.host; - } - if(appendedURI.directory != null) { - var directory = appendedURI.directory; - if(appendedURI.host == null) { - resultURI.directory += HxOverrides.substr(directory,1,null); - } else { - resultURI.directory += directory; - } - } - if(appendedURI.file != null) { - resultURI.file = appendedURI.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(appendedURI.query != null) { - resultURI.query = appendedURI.query; - } - if(appendedURI.fragment != null) { - resultURI.fragment = appendedURI.fragment; - } - return resultURI; -}; -xrfragment_URI.appendToAbsoluteURI = function(url,appendedURI) { - var resultURI = new xrfragment_URI(); - if(url.scheme != null) { - resultURI.scheme = url.scheme; - } - if(url.host != null) { - resultURI.host = url.host; - } - var directory = ""; - if(url.directory != null) { - directory = url.directory; - } - if(appendedURI.host != null) { - appendedURI.directory += appendedURI.host; - } - if(appendedURI.directory != null) { - directory += appendedURI.directory; - } - resultURI.directory = directory; - if(appendedURI.file != null) { - resultURI.file = appendedURI.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(appendedURI.query != null) { - resultURI.query = appendedURI.query; - } - if(appendedURI.fragment != null) { - resultURI.fragment = appendedURI.fragment; - } - return resultURI; -}; -xrfragment_URI.toAbsolute = function(url,newUrl) { - var newURI = xrfragment_URI.parse(newUrl,0); - var resultURI = new xrfragment_URI(); - resultURI.port = url.port; - resultURI.source = newUrl; - if(newURI.scheme != null) { - resultURI.scheme = newURI.scheme; - } else { - resultURI.scheme = url.scheme; - } - if(newURI.host != null && newURI.host.length > 0) { - resultURI.host = newURI.host; - resultURI.port = null; - resultURI.fragment = null; - resultURI.hash = { }; - resultURI.XRF = { }; - if(newURI.port != null) { - resultURI.port = newURI.port; - } - } else { - resultURI.host = url.host; - } - var directory = ""; - if(url.directory != null) { - directory = url.directory; - } - if(newURI.directory != null) { - if(newUrl.charAt(0) != "/" && newUrl.indexOf("://") == -1) { - var stripRelative_r = new RegExp("\\./.*","".split("u").join("")); - directory = directory.replace(stripRelative_r,""); - directory += newURI.directory; - } else { - directory = newURI.directory; - } - } - resultURI.directory = directory; - if(newURI.file != null) { - resultURI.file = newURI.file; - } else { - resultURI.file = url.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(newURI.query != null) { - resultURI.query = newURI.query; - } - if(newURI.fragment != null) { - resultURI.fragment = newURI.fragment; - } - resultURI.hash = newURI.hash; - resultURI.XRF = newURI.XRF; - xrfragment_URI.computeVars(resultURI); - return resultURI; -}; -xrfragment_URI.cloneURI = function(url) { - var clonedURI = new xrfragment_URI(); - clonedURI.url = url.url; - clonedURI.source = url.source; - clonedURI.scheme = url.scheme; - clonedURI.authority = url.authority; - clonedURI.userInfo = url.userInfo; - clonedURI.password = url.password; - clonedURI.host = url.host; - clonedURI.port = url.port; - clonedURI.relative = url.relative; - clonedURI.path = url.path; - clonedURI.directory = url.directory; - clonedURI.file = url.file; - clonedURI.query = url.query; - clonedURI.fragment = url.fragment; - return clonedURI; -}; -var xrfragment_XRF = $hx_exports["xrfragment"]["XRF"] = function(_fragment,_flags,_index) { - this.floats = []; - this.shift = []; - this.fragment = _fragment; - this.flags = _flags; - this.index = _index; -}; -xrfragment_XRF.__name__ = true; -xrfragment_XRF.set = function(flag,flags) { - return flags | flag; -}; -xrfragment_XRF.unset = function(flag,flags) { - return flags & ~flag; -}; -xrfragment_XRF.prototype = { - is: function(flag) { - var v = this.flags; - if(!(typeof(v) == "number" && ((v | 0) === v))) { - this.flags = 0; - } - return (this.flags & flag) != 0; - } - ,validate: function(value) { - this.guessType(this,value); - var ok = true; - if(value.length == 0 && !this.is(xrfragment_XRF.T_PREDEFINED_VIEW)) { - ok = false; - } - if(!this.is(xrfragment_XRF.T_FLOAT) && this.is(xrfragment_XRF.T_VECTOR2) && !(typeof(this.x) == "number" && typeof(this.y) == "number")) { - ok = false; - } - if(!(this.is(xrfragment_XRF.T_VECTOR2) || this.is(xrfragment_XRF.T_STRING)) && this.is(xrfragment_XRF.T_VECTOR3) && !(typeof(this.x) == "number" && typeof(this.y) == "number" && typeof(this.z) == "number")) { - ok = false; - } - return ok; - } - ,guessType: function(v,str) { - v.string = str; - if(xrfragment_XRF.isReset.match(v.fragment)) { - v.reset = true; - } - if(v.fragment == "loop") { - v.loop = true; - } - if(typeof(str) != "string") { - return; - } - if(str.length > 0) { - if(xrfragment_XRF.isXRFScheme.match(str)) { - v.xrfScheme = true; - str = str.replace(xrfragment_XRF.isXRFScheme.r,""); - v.string = str; - } - if(str.split(",").length > 1) { - var xyzn = str.split(","); - if(xyzn.length > 0) { - v.x = parseFloat(xyzn[0]); - } - if(xyzn.length > 1) { - v.y = parseFloat(xyzn[1]); - } - if(xyzn.length > 2) { - v.z = parseFloat(xyzn[2]); - } - var _g = 0; - var _g1 = xyzn.length; - while(_g < _g1) { - var i = _g++; - v.shift.push(xrfragment_XRF.isShift.match(xyzn[i])); - v.floats.push(parseFloat(xyzn[i].replace(xrfragment_XRF.isShift.r,""))); - } - } - if(xrfragment_XRF.isColor.match(str)) { - v.color = str; - } - if(xrfragment_XRF.isFloat.match(str)) { - v.x = parseFloat(str); - v.float = v.x; - } - if(xrfragment_XRF.isInt.match(str)) { - v.int = Std.parseInt(str); - v.x = v.int; - v.floats.push(v.x); - } - v.filter = new xrfragment_Filter(v.fragment + "=" + v.string); - } else { - v.filter = new xrfragment_Filter(v.fragment); - } - } -}; -function $getIterator(o) { if( o instanceof Array ) return new haxe_iterators_ArrayIterator(o); else return o.iterator(); } -function $bind(o,m) { if( m == null ) return null; if( m.__id__ == null ) m.__id__ = $global.$haxeUID++; var f; if( o.hx__closures__ == null ) o.hx__closures__ = {}; else f = o.hx__closures__[m.__id__]; if( f == null ) { f = m.bind(o); o.hx__closures__[m.__id__] = f; } return f; } -$global.$haxeUID |= 0; -if(typeof(performance) != "undefined" ? typeof(performance.now) == "function" : false) { - HxOverrides.now = performance.now.bind(performance); -} -if( String.fromCodePoint == null ) String.fromCodePoint = function(c) { return c < 0x10000 ? String.fromCharCode(c) : String.fromCharCode((c>>10)+0xD7C0)+String.fromCharCode((c&0x3FF)+0xDC00); } -String.__name__ = true; -Array.__name__ = true; -js_Boot.__toStr = ({ }).toString; -haxe_Template.splitter = new EReg("(::[A-Za-z0-9_ ()&|!+=/><*.\"-]+::|\\$\\$([A-Za-z0-9_-]+)\\()",""); -haxe_Template.expr_splitter = new EReg("(\\(|\\)|[ \r\n\t]*\"[^\"]*\"[ \r\n\t]*|[!+=/><*.&|-]+)",""); -haxe_Template.expr_trim = new EReg("^[ ]*([^ ]+)[ ]*$",""); -haxe_Template.expr_int = new EReg("^[0-9]+$",""); -haxe_Template.expr_float = new EReg("^([+-]?)(?=\\d|,\\d)\\d*(,\\d*)?([Ee]([+-]?\\d+))?$",""); -haxe_Template.globals = { }; -haxe_Template.hxKeepArrayIterator = new haxe_iterators_ArrayIterator([]); -xrfragment_Parser.error = ""; -xrfragment_Parser.debug = false; -xrfragment_URI.__meta__ = { statics : { template : { keep : null}}}; -xrfragment_URI._parts = ["source","scheme","authority","userInfo","user","password","host","port","relative","path","directory","file","query","fragment"]; -xrfragment_XRF.IMMUTABLE = 1; -xrfragment_XRF.PROP_BIND = 2; -xrfragment_XRF.QUERY_OPERATOR = 4; -xrfragment_XRF.PROMPT = 8; -xrfragment_XRF.CUSTOMFRAG = 16; -xrfragment_XRF.NAVIGATOR = 32; -xrfragment_XRF.METADATA = 64; -xrfragment_XRF.PV_OVERRIDE = 128; -xrfragment_XRF.PV_EXECUTE = 256; -xrfragment_XRF.T_COLOR = 8192; -xrfragment_XRF.T_INT = 16384; -xrfragment_XRF.T_FLOAT = 32768; -xrfragment_XRF.T_VECTOR2 = 65536; -xrfragment_XRF.T_VECTOR3 = 131072; -xrfragment_XRF.T_URL = 262144; -xrfragment_XRF.T_PREDEFINED_VIEW = 524288; -xrfragment_XRF.T_STRING = 1048576; -xrfragment_XRF.T_MEDIAFRAG = 2097152; -xrfragment_XRF.T_DYNAMICKEY = 4194304; -xrfragment_XRF.T_DYNAMICKEYVALUE = 8388608; -xrfragment_XRF.isColor = new EReg("^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$",""); -xrfragment_XRF.isInt = new EReg("^[-0-9]+$",""); -xrfragment_XRF.isFloat = new EReg("^[-0-9]+\\.[0-9]+$",""); -xrfragment_XRF.isVector = new EReg("([,]+|\\w)",""); -xrfragment_XRF.isUrl = new EReg("(://)?\\..*",""); -xrfragment_XRF.isUrlOrPretypedView = new EReg("(^#|://)?\\..*",""); -xrfragment_XRF.isString = new EReg(".*",""); -xrfragment_XRF.operators = new EReg("(^[-]|^[!]|[\\*]$)","g"); -xrfragment_XRF.isProp = new EReg("^.*=[><=]?",""); -xrfragment_XRF.isExclude = new EReg("^-",""); -xrfragment_XRF.isDeep = new EReg("\\*",""); -xrfragment_XRF.isNumber = new EReg("^[0-9\\.]+$",""); -xrfragment_XRF.isMediaFrag = new EReg("^([0-9\\.,\\*+-]+)$",""); -xrfragment_XRF.isReset = new EReg("^!",""); -xrfragment_XRF.isShift = new EReg("^(\\+|--)",""); -xrfragment_XRF.isXRFScheme = new EReg("^xrf://",""); -})(typeof window != "undefined" ? window : typeof global != "undefined" ? global : typeof self != "undefined" ? self : this); -var xrfragment = $hx_exports["xrfragment"]; -export default xrfragment; -// Generated by Haxe 4.3.3 -var $hx_exports = typeof exports != "undefined" ? exports : typeof window != "undefined" ? window : typeof self != "undefined" ? self : this; -(function ($global) { "use strict"; -$hx_exports["xrfragment"] = $hx_exports["xrfragment"] || {}; -var $estr = function() { return js_Boot.__string_rec(this,''); },$hxEnums = $hxEnums || {},$_; -function $extend(from, fields) { - var proto = Object.create(from); - for (var name in fields) proto[name] = fields[name]; - if( fields.toString !== Object.prototype.toString ) proto.toString = fields.toString; - return proto; -} -var EReg = function(r,opt) { - this.r = new RegExp(r,opt.split("u").join("")); -}; -EReg.__name__ = true; -EReg.prototype = { - match: function(s) { - if(this.r.global) { - this.r.lastIndex = 0; - } - this.r.m = this.r.exec(s); - this.r.s = s; - return this.r.m != null; - } - ,matched: function(n) { - if(this.r.m != null && n >= 0 && n < this.r.m.length) { - return this.r.m[n]; - } else { - throw haxe_Exception.thrown("EReg::matched"); - } - } - ,matchedRight: function() { - if(this.r.m == null) { - throw haxe_Exception.thrown("No string matched"); - } - var sz = this.r.m.index + this.r.m[0].length; - return HxOverrides.substr(this.r.s,sz,this.r.s.length - sz); - } - ,matchedPos: function() { - if(this.r.m == null) { - throw haxe_Exception.thrown("No string matched"); - } - return { pos : this.r.m.index, len : this.r.m[0].length}; - } - ,split: function(s) { - var d = "#__delim__#"; - return s.replace(this.r,d).split(d); - } -}; -var HxOverrides = function() { }; -HxOverrides.__name__ = true; -HxOverrides.cca = function(s,index) { - var x = s.charCodeAt(index); - if(x != x) { - return undefined; - } - return x; -}; -HxOverrides.substr = function(s,pos,len) { - if(len == null) { - len = s.length; - } else if(len < 0) { - if(pos == 0) { - len = s.length + len; - } else { - return ""; - } - } - return s.substr(pos,len); -}; -HxOverrides.now = function() { - return Date.now(); -}; -Math.__name__ = true; -var Reflect = function() { }; -Reflect.__name__ = true; -Reflect.field = function(o,field) { - try { - return o[field]; - } catch( _g ) { - return null; - } -}; -Reflect.getProperty = function(o,field) { - var tmp; - if(o == null) { - return null; - } else { - var tmp1; - if(o.__properties__) { - tmp = o.__properties__["get_" + field]; - tmp1 = tmp; - } else { - tmp1 = false; - } - if(tmp1) { - return o[tmp](); - } else { - return o[field]; - } - } -}; -Reflect.fields = function(o) { - var a = []; - if(o != null) { - var hasOwnProperty = Object.prototype.hasOwnProperty; - for( var f in o ) { - if(f != "__id__" && f != "hx__closures__" && hasOwnProperty.call(o,f)) { - a.push(f); - } - } - } - return a; -}; -Reflect.isObject = function(v) { - if(v == null) { - return false; - } - var t = typeof(v); - if(!(t == "string" || t == "object" && v.__enum__ == null)) { - if(t == "function") { - return (v.__name__ || v.__ename__) != null; - } else { - return false; - } - } else { - return true; - } -}; -Reflect.deleteField = function(o,field) { - if(!Object.prototype.hasOwnProperty.call(o,field)) { - return false; - } - delete(o[field]); - return true; -}; -Reflect.copy = function(o) { - if(o == null) { - return null; - } - var o2 = { }; - var _g = 0; - var _g1 = Reflect.fields(o); - while(_g < _g1.length) { - var f = _g1[_g]; - ++_g; - o2[f] = Reflect.field(o,f); - } - return o2; -}; -var Std = function() { }; -Std.__name__ = true; -Std.string = function(s) { - return js_Boot.__string_rec(s,""); -}; -Std.parseInt = function(x) { - var v = parseInt(x); - if(isNaN(v)) { - return null; - } - return v; -}; -var StringBuf = function() { - this.b = ""; -}; -StringBuf.__name__ = true; -var StringTools = function() { }; -StringTools.__name__ = true; -StringTools.isSpace = function(s,pos) { - var c = HxOverrides.cca(s,pos); - if(!(c > 8 && c < 14)) { - return c == 32; - } else { - return true; - } -}; -StringTools.ltrim = function(s) { - var l = s.length; - var r = 0; - while(r < l && StringTools.isSpace(s,r)) ++r; - if(r > 0) { - return HxOverrides.substr(s,r,l - r); - } else { - return s; - } -}; -StringTools.rtrim = function(s) { - var l = s.length; - var r = 0; - while(r < l && StringTools.isSpace(s,l - r - 1)) ++r; - if(r > 0) { - return HxOverrides.substr(s,0,l - r); - } else { - return s; - } -}; -StringTools.trim = function(s) { - return StringTools.ltrim(StringTools.rtrim(s)); -}; -StringTools.replace = function(s,sub,by) { - return s.split(sub).join(by); -}; -var haxe_Exception = function(message,previous,native) { - Error.call(this,message); - this.message = message; - this.__previousException = previous; - this.__nativeException = native != null ? native : this; -}; -haxe_Exception.__name__ = true; -haxe_Exception.caught = function(value) { - if(((value) instanceof haxe_Exception)) { - return value; - } else if(((value) instanceof Error)) { - return new haxe_Exception(value.message,null,value); - } else { - return new haxe_ValueException(value,null,value); - } -}; -haxe_Exception.thrown = function(value) { - if(((value) instanceof haxe_Exception)) { - return value.get_native(); - } else if(((value) instanceof Error)) { - return value; - } else { - var e = new haxe_ValueException(value); - return e; - } -}; -haxe_Exception.__super__ = Error; -haxe_Exception.prototype = $extend(Error.prototype,{ - unwrap: function() { - return this.__nativeException; - } - ,get_native: function() { - return this.__nativeException; - } - ,__properties__: {get_native:"get_native"} -}); -var haxe__$Template_TemplateExpr = $hxEnums["haxe._Template.TemplateExpr"] = { __ename__:true,__constructs__:null - ,OpVar: ($_=function(v) { return {_hx_index:0,v:v,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpVar",$_.__params__ = ["v"],$_) - ,OpExpr: ($_=function(expr) { return {_hx_index:1,expr:expr,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpExpr",$_.__params__ = ["expr"],$_) - ,OpIf: ($_=function(expr,eif,eelse) { return {_hx_index:2,expr:expr,eif:eif,eelse:eelse,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpIf",$_.__params__ = ["expr","eif","eelse"],$_) - ,OpStr: ($_=function(str) { return {_hx_index:3,str:str,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpStr",$_.__params__ = ["str"],$_) - ,OpBlock: ($_=function(l) { return {_hx_index:4,l:l,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpBlock",$_.__params__ = ["l"],$_) - ,OpForeach: ($_=function(expr,loop) { return {_hx_index:5,expr:expr,loop:loop,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpForeach",$_.__params__ = ["expr","loop"],$_) - ,OpMacro: ($_=function(name,params) { return {_hx_index:6,name:name,params:params,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpMacro",$_.__params__ = ["name","params"],$_) -}; -haxe__$Template_TemplateExpr.__constructs__ = [haxe__$Template_TemplateExpr.OpVar,haxe__$Template_TemplateExpr.OpExpr,haxe__$Template_TemplateExpr.OpIf,haxe__$Template_TemplateExpr.OpStr,haxe__$Template_TemplateExpr.OpBlock,haxe__$Template_TemplateExpr.OpForeach,haxe__$Template_TemplateExpr.OpMacro]; -var haxe_iterators_ArrayIterator = function(array) { - this.current = 0; - this.array = array; -}; -haxe_iterators_ArrayIterator.__name__ = true; -haxe_iterators_ArrayIterator.prototype = { - hasNext: function() { - return this.current < this.array.length; - } - ,next: function() { - return this.array[this.current++]; - } -}; -var haxe_Template = function(str) { - var tokens = this.parseTokens(str); - this.expr = this.parseBlock(tokens); - if(!tokens.isEmpty()) { - throw haxe_Exception.thrown("Unexpected '" + Std.string(tokens.first().s) + "'"); - } -}; -haxe_Template.__name__ = true; -haxe_Template.prototype = { - execute: function(context,macros) { - this.macros = macros == null ? { } : macros; - this.context = context; - this.stack = new haxe_ds_List(); - this.buf = new StringBuf(); - this.run(this.expr); - return this.buf.b; - } - ,resolve: function(v) { - if(v == "__current__") { - return this.context; - } - if(Reflect.isObject(this.context)) { - var value = Reflect.getProperty(this.context,v); - if(value != null || Object.prototype.hasOwnProperty.call(this.context,v)) { - return value; - } - } - var _g_head = this.stack.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var ctx = val; - var value = Reflect.getProperty(ctx,v); - if(value != null || Object.prototype.hasOwnProperty.call(ctx,v)) { - return value; - } - } - return Reflect.field(haxe_Template.globals,v); - } - ,parseTokens: function(data) { - var tokens = new haxe_ds_List(); - while(haxe_Template.splitter.match(data)) { - var p = haxe_Template.splitter.matchedPos(); - if(p.pos > 0) { - tokens.add({ p : HxOverrides.substr(data,0,p.pos), s : true, l : null}); - } - if(HxOverrides.cca(data,p.pos) == 58) { - tokens.add({ p : HxOverrides.substr(data,p.pos + 2,p.len - 4), s : false, l : null}); - data = haxe_Template.splitter.matchedRight(); - continue; - } - var parp = p.pos + p.len; - var npar = 1; - var params = []; - var part = ""; - while(true) { - var c = HxOverrides.cca(data,parp); - ++parp; - if(c == 40) { - ++npar; - } else if(c == 41) { - --npar; - if(npar <= 0) { - break; - } - } else if(c == null) { - throw haxe_Exception.thrown("Unclosed macro parenthesis"); - } - if(c == 44 && npar == 1) { - params.push(part); - part = ""; - } else { - part += String.fromCodePoint(c); - } - } - params.push(part); - tokens.add({ p : haxe_Template.splitter.matched(2), s : false, l : params}); - data = HxOverrides.substr(data,parp,data.length - parp); - } - if(data.length > 0) { - tokens.add({ p : data, s : true, l : null}); - } - return tokens; - } - ,parseBlock: function(tokens) { - var l = new haxe_ds_List(); - while(true) { - var t = tokens.first(); - if(t == null) { - break; - } - if(!t.s && (t.p == "end" || t.p == "else" || HxOverrides.substr(t.p,0,7) == "elseif ")) { - break; - } - l.add(this.parse(tokens)); - } - if(l.length == 1) { - return l.first(); - } - return haxe__$Template_TemplateExpr.OpBlock(l); - } - ,parse: function(tokens) { - var t = tokens.pop(); - var p = t.p; - if(t.s) { - return haxe__$Template_TemplateExpr.OpStr(p); - } - if(t.l != null) { - var pe = new haxe_ds_List(); - var _g = 0; - var _g1 = t.l; - while(_g < _g1.length) { - var p1 = _g1[_g]; - ++_g; - pe.add(this.parseBlock(this.parseTokens(p1))); - } - return haxe__$Template_TemplateExpr.OpMacro(p,pe); - } - var kwdEnd = function(kwd) { - var pos = -1; - var length = kwd.length; - if(HxOverrides.substr(p,0,length) == kwd) { - pos = length; - var _g_offset = 0; - var _g_s = HxOverrides.substr(p,length,null); - while(_g_offset < _g_s.length) { - var c = _g_s.charCodeAt(_g_offset++); - if(c == 32) { - ++pos; - } else { - break; - } - } - } - return pos; - }; - var pos = kwdEnd("if"); - if(pos > 0) { - p = HxOverrides.substr(p,pos,p.length - pos); - var e = this.parseExpr(p); - var eif = this.parseBlock(tokens); - var t = tokens.first(); - var eelse; - if(t == null) { - throw haxe_Exception.thrown("Unclosed 'if'"); - } - if(t.p == "end") { - tokens.pop(); - eelse = null; - } else if(t.p == "else") { - tokens.pop(); - eelse = this.parseBlock(tokens); - t = tokens.pop(); - if(t == null || t.p != "end") { - throw haxe_Exception.thrown("Unclosed 'else'"); - } - } else { - t.p = HxOverrides.substr(t.p,4,t.p.length - 4); - eelse = this.parse(tokens); - } - return haxe__$Template_TemplateExpr.OpIf(e,eif,eelse); - } - var pos = kwdEnd("foreach"); - if(pos >= 0) { - p = HxOverrides.substr(p,pos,p.length - pos); - var e = this.parseExpr(p); - var efor = this.parseBlock(tokens); - var t = tokens.pop(); - if(t == null || t.p != "end") { - throw haxe_Exception.thrown("Unclosed 'foreach'"); - } - return haxe__$Template_TemplateExpr.OpForeach(e,efor); - } - if(haxe_Template.expr_splitter.match(p)) { - return haxe__$Template_TemplateExpr.OpExpr(this.parseExpr(p)); - } - return haxe__$Template_TemplateExpr.OpVar(p); - } - ,parseExpr: function(data) { - var l = new haxe_ds_List(); - var expr = data; - while(haxe_Template.expr_splitter.match(data)) { - var p = haxe_Template.expr_splitter.matchedPos(); - var k = p.pos + p.len; - if(p.pos != 0) { - l.add({ p : HxOverrides.substr(data,0,p.pos), s : true}); - } - var p1 = haxe_Template.expr_splitter.matched(0); - l.add({ p : p1, s : p1.indexOf("\"") >= 0}); - data = haxe_Template.expr_splitter.matchedRight(); - } - if(data.length != 0) { - var _g_offset = 0; - var _g_s = data; - while(_g_offset < _g_s.length) { - var _g_key = _g_offset; - var _g_value = _g_s.charCodeAt(_g_offset++); - var i = _g_key; - var c = _g_value; - if(c != 32) { - l.add({ p : HxOverrides.substr(data,i,null), s : true}); - break; - } - } - } - var e; - try { - e = this.makeExpr(l); - if(!l.isEmpty()) { - throw haxe_Exception.thrown(l.first().p); - } - } catch( _g ) { - var _g1 = haxe_Exception.caught(_g).unwrap(); - if(typeof(_g1) == "string") { - var s = _g1; - throw haxe_Exception.thrown("Unexpected '" + s + "' in " + expr); - } else { - throw _g; - } - } - return function() { - try { - return e(); - } catch( _g ) { - var exc = haxe_Exception.caught(_g).unwrap(); - throw haxe_Exception.thrown("Error : " + Std.string(exc) + " in " + expr); - } - }; - } - ,makeConst: function(v) { - haxe_Template.expr_trim.match(v); - v = haxe_Template.expr_trim.matched(1); - if(HxOverrides.cca(v,0) == 34) { - var str = HxOverrides.substr(v,1,v.length - 2); - return function() { - return str; - }; - } - if(haxe_Template.expr_int.match(v)) { - var i = Std.parseInt(v); - return function() { - return i; - }; - } - if(haxe_Template.expr_float.match(v)) { - var f = parseFloat(v); - return function() { - return f; - }; - } - var me = this; - return function() { - return me.resolve(v); - }; - } - ,makePath: function(e,l) { - var p = l.first(); - if(p == null || p.p != ".") { - return e; - } - l.pop(); - var field = l.pop(); - if(field == null || !field.s) { - throw haxe_Exception.thrown(field.p); - } - var f = field.p; - haxe_Template.expr_trim.match(f); - f = haxe_Template.expr_trim.matched(1); - return this.makePath(function() { - return Reflect.field(e(),f); - },l); - } - ,makeExpr: function(l) { - return this.makePath(this.makeExpr2(l),l); - } - ,skipSpaces: function(l) { - var p = l.first(); - while(p != null) { - var _g_offset = 0; - var _g_s = p.p; - while(_g_offset < _g_s.length) { - var c = _g_s.charCodeAt(_g_offset++); - if(c != 32) { - return; - } - } - l.pop(); - p = l.first(); - } - } - ,makeExpr2: function(l) { - this.skipSpaces(l); - var p = l.pop(); - this.skipSpaces(l); - if(p == null) { - throw haxe_Exception.thrown(""); - } - if(p.s) { - return this.makeConst(p.p); - } - switch(p.p) { - case "!": - var e = this.makeExpr(l); - return function() { - var v = e(); - if(v != null) { - return v == false; - } else { - return true; - } - }; - case "(": - this.skipSpaces(l); - var e1 = this.makeExpr(l); - this.skipSpaces(l); - var p1 = l.pop(); - if(p1 == null || p1.s) { - throw haxe_Exception.thrown(p1); - } - if(p1.p == ")") { - return e1; - } - this.skipSpaces(l); - var e2 = this.makeExpr(l); - this.skipSpaces(l); - var p2 = l.pop(); - this.skipSpaces(l); - if(p2 == null || p2.p != ")") { - throw haxe_Exception.thrown(p2); - } - switch(p1.p) { - case "!=": - return function() { - return e1() != e2(); - }; - case "&&": - return function() { - return e1() && e2(); - }; - case "*": - return function() { - return e1() * e2(); - }; - case "+": - return function() { - return e1() + e2(); - }; - case "-": - return function() { - return e1() - e2(); - }; - case "/": - return function() { - return e1() / e2(); - }; - case "<": - return function() { - return e1() < e2(); - }; - case "<=": - return function() { - return e1() <= e2(); - }; - case "==": - return function() { - return e1() == e2(); - }; - case ">": - return function() { - return e1() > e2(); - }; - case ">=": - return function() { - return e1() >= e2(); - }; - case "||": - return function() { - return e1() || e2(); - }; - default: - throw haxe_Exception.thrown("Unknown operation " + p1.p); - } - break; - case "-": - var e3 = this.makeExpr(l); - return function() { - return -e3(); - }; - } - throw haxe_Exception.thrown(p.p); - } - ,run: function(e) { - switch(e._hx_index) { - case 0: - var v = e.v; - var _this = this.buf; - var x = Std.string(this.resolve(v)); - _this.b += Std.string(x); - break; - case 1: - var e1 = e.expr; - var _this = this.buf; - var x = Std.string(e1()); - _this.b += Std.string(x); - break; - case 2: - var e1 = e.expr; - var eif = e.eif; - var eelse = e.eelse; - var v = e1(); - if(v == null || v == false) { - if(eelse != null) { - this.run(eelse); - } - } else { - this.run(eif); - } - break; - case 3: - var str = e.str; - this.buf.b += str == null ? "null" : "" + str; - break; - case 4: - var l = e.l; - var _g_head = l.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var e1 = val; - this.run(e1); - } - break; - case 5: - var e1 = e.expr; - var loop = e.loop; - var v = e1(); - try { - var x = $getIterator(v); - if(x.hasNext == null) { - throw haxe_Exception.thrown(null); - } - v = x; - } catch( _g ) { - try { - if(v.hasNext == null) { - throw haxe_Exception.thrown(null); - } - } catch( _g1 ) { - throw haxe_Exception.thrown("Cannot iter on " + Std.string(v)); - } - } - this.stack.push(this.context); - var v1 = v; - var ctx = v1; - while(ctx.hasNext()) { - var ctx1 = ctx.next(); - this.context = ctx1; - this.run(loop); - } - this.context = this.stack.pop(); - break; - case 6: - var m = e.name; - var params = e.params; - var v = Reflect.field(this.macros,m); - var pl = []; - var old = this.buf; - pl.push($bind(this,this.resolve)); - var _g_head = params.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var p = val; - if(p._hx_index == 0) { - var v1 = p.v; - pl.push(this.resolve(v1)); - } else { - this.buf = new StringBuf(); - this.run(p); - pl.push(this.buf.b); - } - } - this.buf = old; - try { - var _this = this.buf; - var x = Std.string(v.apply(this.macros,pl)); - _this.b += Std.string(x); - } catch( _g ) { - var e = haxe_Exception.caught(_g).unwrap(); - var plstr; - try { - plstr = pl.join(","); - } catch( _g1 ) { - plstr = "???"; - } - var msg = "Macro call " + m + "(" + plstr + ") failed (" + Std.string(e) + ")"; - throw haxe_Exception.thrown(msg); - } - break; - } - } -}; -var haxe_ValueException = function(value,previous,native) { - haxe_Exception.call(this,String(value),previous,native); - this.value = value; -}; -haxe_ValueException.__name__ = true; -haxe_ValueException.__super__ = haxe_Exception; -haxe_ValueException.prototype = $extend(haxe_Exception.prototype,{ - unwrap: function() { - return this.value; - } -}); -var haxe_ds_List = function() { - this.length = 0; -}; -haxe_ds_List.__name__ = true; -haxe_ds_List.prototype = { - add: function(item) { - var x = new haxe_ds__$List_ListNode(item,null); - if(this.h == null) { - this.h = x; - } else { - this.q.next = x; - } - this.q = x; - this.length++; - } - ,push: function(item) { - var x = new haxe_ds__$List_ListNode(item,this.h); - this.h = x; - if(this.q == null) { - this.q = x; - } - this.length++; - } - ,first: function() { - if(this.h == null) { - return null; - } else { - return this.h.item; - } - } - ,pop: function() { - if(this.h == null) { - return null; - } - var x = this.h.item; - this.h = this.h.next; - if(this.h == null) { - this.q = null; - } - this.length--; - return x; - } - ,isEmpty: function() { - return this.h == null; - } - ,toString: function() { - var s_b = ""; - var first = true; - var l = this.h; - s_b += "{"; - while(l != null) { - if(first) { - first = false; - } else { - s_b += ", "; - } - s_b += Std.string(Std.string(l.item)); - l = l.next; - } - s_b += "}"; - return s_b; - } -}; -var haxe_ds__$List_ListNode = function(item,next) { - this.item = item; - this.next = next; -}; -haxe_ds__$List_ListNode.__name__ = true; -var js_Boot = function() { }; -js_Boot.__name__ = true; -js_Boot.__string_rec = function(o,s) { - if(o == null) { - return "null"; - } - if(s.length >= 5) { - return "<...>"; - } - var t = typeof(o); - if(t == "function" && (o.__name__ || o.__ename__)) { - t = "object"; - } - switch(t) { - case "function": - return ""; - case "object": - if(o.__enum__) { - var e = $hxEnums[o.__enum__]; - var con = e.__constructs__[o._hx_index]; - var n = con._hx_name; - if(con.__params__) { - s = s + "\t"; - return n + "(" + ((function($this) { - var $r; - var _g = []; - { - var _g1 = 0; - var _g2 = con.__params__; - while(true) { - if(!(_g1 < _g2.length)) { - break; - } - var p = _g2[_g1]; - _g1 = _g1 + 1; - _g.push(js_Boot.__string_rec(o[p],s)); - } - } - $r = _g; - return $r; - }(this))).join(",") + ")"; - } else { - return n; - } - } - if(((o) instanceof Array)) { - var str = "["; - s += "\t"; - var _g = 0; - var _g1 = o.length; - while(_g < _g1) { - var i = _g++; - str += (i > 0 ? "," : "") + js_Boot.__string_rec(o[i],s); - } - str += "]"; - return str; - } - var tostr; - try { - tostr = o.toString; - } catch( _g ) { - return "???"; - } - if(tostr != null && tostr != Object.toString && typeof(tostr) == "function") { - var s2 = o.toString(); - if(s2 != "[object Object]") { - return s2; - } - } - var str = "{\n"; - s += "\t"; - var hasp = o.hasOwnProperty != null; - var k = null; - for( k in o ) { - if(hasp && !o.hasOwnProperty(k)) { - continue; - } - if(k == "prototype" || k == "__class__" || k == "__super__" || k == "__interfaces__" || k == "__properties__") { - continue; - } - if(str.length != 2) { - str += ", \n"; - } - str += s + k + " : " + js_Boot.__string_rec(o[k],s); - } - s = s.substring(1); - str += "\n" + s + "}"; - return str; - case "string": - return o; - default: - return String(o); - } -}; -var xrfragment_Filter = $hx_exports["xrfragment"]["Filter"] = function(str) { - this.q = { }; - this.str = ""; - if(str != null) { - this.parse(str); - } -}; -xrfragment_Filter.__name__ = true; -xrfragment_Filter.prototype = { - toObject: function() { - return Reflect.copy(this.q); - } - ,get: function() { - return Reflect.copy(this.q); - } - ,parse: function(str) { - var token = str.split(" "); - var q = { }; - var process = function(str,prefix) { - if(prefix == null) { - prefix = ""; - } - str = StringTools.trim(str); - var k = str.split("=")[0]; - var v = str.split("=")[1]; - var filter = { }; - if(q[prefix + k]) { - filter = q[prefix + k]; - } - if(xrfragment_XRF.isProp.match(str)) { - var oper = ""; - if(str.indexOf(">") != -1) { - oper = ">"; - } - if(str.indexOf("<") != -1) { - oper = "<"; - } - if(xrfragment_XRF.isExclude.match(k)) { - k = HxOverrides.substr(k,1,null); - } - v = HxOverrides.substr(v,oper.length,null); - if(oper.length == 0) { - oper = "="; - } - var rule = { }; - if(xrfragment_XRF.isNumber.match(v)) { - rule[oper] = parseFloat(v); - } else { - rule[oper] = v; - } - q["expr"] = rule; - } - var value = xrfragment_XRF.isDeep.match(str) ? k.split("*").length - 1 : 0; - q["deep"] = value; - var value = xrfragment_XRF.isExclude.match(str) ? false : true; - q["show"] = value; - var value = k.replace(xrfragment_XRF.operators.r,""); - q["key"] = value; - q["value"] = v; - }; - var _g = 0; - var _g1 = token.length; - while(_g < _g1) { - var i = _g++; - process(token[i]); - } - return this.q = q; - } - ,test: function(obj) { - var qualify = false; - var _g = 0; - var _g1 = Reflect.fields(obj); - while(_g < _g1.length) { - var k = _g1[_g]; - ++_g; - var v = Std.string(Reflect.field(obj,k)); - if(this.testProperty(k,v)) { - qualify = true; - } - } - var _g = 0; - var _g1 = Reflect.fields(obj); - while(_g < _g1.length) { - var k = _g1[_g]; - ++_g; - var v = Std.string(Reflect.field(obj,k)); - if(this.testProperty(k,v,true)) { - qualify = false; - } - } - return qualify; - } - ,testProperty: function(property,value,exclude) { - var conds = 0; - var fails = 0; - var qualify = 0; - var testprop = function(expr) { - conds += 1; - fails += expr ? 0 : 1; - return expr; - }; - if(this.q[value] != null) { - var v = this.q[value]; - if(v[property] != null) { - return v[property]; - } - } - if(Reflect.field(this.q,"expr")) { - var f = Reflect.field(this.q,"expr"); - if(!Reflect.field(this.q,"show")) { - if(Reflect.field(f,"!=") != null && testprop((value == null ? "null" : "" + value) == Std.string(Reflect.field(f,"!="))) && exclude) { - ++qualify; - } - } else { - if(Reflect.field(f,"*") != null && testprop(parseFloat(value) != null)) { - ++qualify; - } - if(Reflect.field(f,">") != null && testprop(parseFloat(value) >= parseFloat(Reflect.field(f,">")))) { - ++qualify; - } - if(Reflect.field(f,"<") != null && testprop(parseFloat(value) <= parseFloat(Reflect.field(f,"<")))) { - ++qualify; - } - if(Reflect.field(f,"=") != null && (testprop(value == Reflect.field(f,"=")) || testprop(parseFloat(value) == parseFloat(Reflect.field(f,"="))))) { - ++qualify; - } - } - } - return qualify > 0; - } -}; -var xrfragment_Parser = $hx_exports["xrfragment"]["Parser"] = function() { }; -xrfragment_Parser.__name__ = true; -xrfragment_Parser.parse = function(key,value,store,index) { - var Frag_h = Object.create(null); - Frag_h["#"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_PREDEFINED_VIEW | xrfragment_XRF.PV_EXECUTE; - Frag_h["src"] = xrfragment_XRF.T_URL; - Frag_h["href"] = xrfragment_XRF.T_URL | xrfragment_XRF.T_PREDEFINED_VIEW; - Frag_h["tag"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["pos"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_VECTOR3 | xrfragment_XRF.T_STRING | xrfragment_XRF.METADATA | xrfragment_XRF.NAVIGATOR; - Frag_h["rot"] = xrfragment_XRF.QUERY_OPERATOR | xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_VECTOR3 | xrfragment_XRF.METADATA | xrfragment_XRF.NAVIGATOR; - Frag_h["t"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_FLOAT | xrfragment_XRF.T_VECTOR2 | xrfragment_XRF.NAVIGATOR | xrfragment_XRF.METADATA; - Frag_h["s"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_MEDIAFRAG; - Frag_h["loop"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_PREDEFINED_VIEW; - Frag_h["uv"] = xrfragment_XRF.T_VECTOR2 | xrfragment_XRF.T_MEDIAFRAG; - Frag_h["namespace"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["SPDX"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["unit"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["description"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - var keyStripped = key.replace(xrfragment_XRF.operators.r,""); - var isPVDynamic = key.length > 0 && !Object.prototype.hasOwnProperty.call(Frag_h,key); - if(isPVDynamic) { - var v = new xrfragment_XRF(key,xrfragment_XRF.PV_EXECUTE | xrfragment_XRF.NAVIGATOR,index); - v.validate(value); - v.flags = xrfragment_XRF.set(xrfragment_XRF.T_DYNAMICKEY,v.flags); - if(!Object.prototype.hasOwnProperty.call(Frag_h,key)) { - v.flags = xrfragment_XRF.set(xrfragment_XRF.CUSTOMFRAG,v.flags); - } - if(value.length == 0) { - v.flags = xrfragment_XRF.set(xrfragment_XRF.T_DYNAMICKEYVALUE,v.flags); - } - store[keyStripped] = v; - return true; - } - var v = new xrfragment_XRF(key,Frag_h[key],index); - if(Object.prototype.hasOwnProperty.call(Frag_h,key)) { - if(!v.validate(value)) { - console.log("src/xrfragment/Parser.hx:67:","⚠ fragment '" + key + "' has incompatible value (" + value + ")"); - return false; - } - store[keyStripped] = v; - if(xrfragment_Parser.debug) { - console.log("src/xrfragment/Parser.hx:71:","✔ " + key + ": " + v.string); - } - } else { - if(typeof(value) == "string") { - v.guessType(v,value); - } - v.flags = xrfragment_XRF.set(xrfragment_XRF.CUSTOMFRAG,v.flags); - store[keyStripped] = v; - } - return true; -}; -xrfragment_Parser.getMetaData = function() { - var meta = { title : ["title","og:title","dc.title"], description : ["aria-description","og:description","dc.description"], author : ["author","dc.creator"], publisher : ["publisher","dc.publisher"], website : ["og:site_name","og:url","dc.publisher"], license : ["SPDX","dc.rights"]}; - return meta; -}; -var xrfragment_URI = $hx_exports["xrfragment"]["URI"] = function() { - this.XRF = { }; - this.hash = { }; - this.fragment = ""; -}; -xrfragment_URI.__name__ = true; -xrfragment_URI.parseFragment = function(url,filter) { - var store = { }; - if(url == null || url.indexOf("#") == -1) { - return store; - } - var fragment = url.split("#"); - var splitArray = fragment[1].split("&"); - var _g = 0; - var _g1 = splitArray.length; - while(_g < _g1) { - var i = _g++; - var splitByEqual = splitArray[i].split("="); - var regexPlus = new EReg("\\+","g"); - var key = splitByEqual[0]; - var value = ""; - if(splitByEqual.length > 1) { - if(xrfragment_XRF.isVector.match(splitByEqual[1])) { - value = splitByEqual[1]; - } else { - var s = regexPlus.split(splitByEqual[1]).join(" "); - value = decodeURIComponent(s.split("+").join(" ")); - } - } - var ok = xrfragment_Parser.parse(key,value,store,i); - } - if(filter != null && filter != 0) { - var _g = 0; - var _g1 = Reflect.fields(store); - while(_g < _g1.length) { - var key = _g1[_g]; - ++_g; - var xrf = store[key]; - if(!xrf.is(filter)) { - Reflect.deleteField(store,key); - } - } - } - return store; -}; -xrfragment_URI.template = function(uri,vars) { - var parts = uri.split("#"); - if(parts.length == 1) { - return uri; - } - var frag = parts[1]; - frag = StringTools.replace(frag,"{","::"); - frag = StringTools.replace(frag,"}","::"); - frag = new haxe_Template(frag).execute(vars); - frag = StringTools.replace(frag,"null",""); - parts[1] = frag; - return parts.join("#"); -}; -xrfragment_URI.parse = function(stringUrl,flags) { - var r = new EReg("^(?:(?![^:@]+:[^:@/]*@)([^:/?#.]+):)?(?://)?((?:(([^:@]*)(?::([^:@]*))?)?@)?([^:/?#]*)(?::(\\d*))?)(((/(?:[^?#](?![^?#/]*\\.[^?#/.]+(?:[?#]|$)))*/?)?([^?#/]*))(?:\\?([^#]*))?(?:#(.*))?)",""); - if(stringUrl.indexOf("://") == -1 && stringUrl.charAt(0) != "/") { - stringUrl = "/" + stringUrl; - } - r.match(stringUrl); - var url = new xrfragment_URI(); - var _g = 0; - var _g1 = xrfragment_URI._parts.length; - while(_g < _g1) { - var i = _g++; - url[xrfragment_URI._parts[i]] = r.matched(i); - } - if(xrfragment_URI.isRelative(url) == true) { - if(url.directory == null && url.host != null) { - url.file = url.host; - } - url.host = ""; - } - url.hash = { }; - if(url.fragment != null && url.fragment.length > 0) { - url.XRF = xrfragment_URI.parseFragment("#" + url.fragment,flags); - var key; - var _g = 0; - var _g1 = Reflect.fields(url.XRF); - while(_g < _g1.length) { - var key = _g1[_g]; - ++_g; - var v = url.XRF[key]; - url.hash[key] = v["string"]; - } - } - xrfragment_URI.computeVars(url); - return url; -}; -xrfragment_URI.computeVars = function(url) { - var r_r = new RegExp("//","g".split("u").join("")); - if(url.directory != null && url.directory.indexOf("//") != -1) { - url.directory = url.directory.replace(r_r,"/"); - } - if(url.path != null && url.path.indexOf("//") != -1) { - url.path = url.path.replace(r_r,"/"); - } - if(url.file != null && url.file.indexOf("//") != -1) { - url.file = url.file.replace(r_r,"/"); - } - url.URN = url.scheme + "://" + url.host; - if(url.port != null) { - url.URN += ":" + url.port; - } - url.URN += url.directory; - if(url.file != null) { - var parts = url.file.split("."); - if(parts.length > 1) { - url.fileExt = parts.pop(); - } - } -}; -xrfragment_URI.toString = function(url) { - var result = ""; - if(url.scheme != null) { - result += url.scheme + "://"; - } - if(url.user != null) { - result += url.user + ":"; - } - if(url.password != null) { - result += url.password + "@"; - } - if(url.host != null) { - result += url.host; - } - if(url.port != null) { - result += ":" + url.port; - } - if(url.directory != null) { - result += url.directory; - } - if(url.file != null) { - result += url.file; - } - if(url.query != null) { - result += "?" + url.query; - } - if(url.fragment != null) { - result += "#" + url.fragment; - } - return result; -}; -xrfragment_URI.appendURI = function(url,appendedURI) { - if(xrfragment_URI.isRelative(url) == true) { - return xrfragment_URI.appendToRelativeURI(url,appendedURI); - } else { - return xrfragment_URI.appendToAbsoluteURI(url,appendedURI); - } -}; -xrfragment_URI.isRelative = function(url) { - return url.scheme == null; -}; -xrfragment_URI.appendToRelativeURI = function(url,appendedURI) { - if(url.directory == null || url.host == null) { - return xrfragment_URI.cloneURI(appendedURI); - } - var resultURI = new xrfragment_URI(); - resultURI.host = url.host; - resultURI.directory = url.directory; - if(appendedURI.host != null) { - resultURI.directory += appendedURI.host; - } - if(appendedURI.directory != null) { - var directory = appendedURI.directory; - if(appendedURI.host == null) { - resultURI.directory += HxOverrides.substr(directory,1,null); - } else { - resultURI.directory += directory; - } - } - if(appendedURI.file != null) { - resultURI.file = appendedURI.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(appendedURI.query != null) { - resultURI.query = appendedURI.query; - } - if(appendedURI.fragment != null) { - resultURI.fragment = appendedURI.fragment; - } - return resultURI; -}; -xrfragment_URI.appendToAbsoluteURI = function(url,appendedURI) { - var resultURI = new xrfragment_URI(); - if(url.scheme != null) { - resultURI.scheme = url.scheme; - } - if(url.host != null) { - resultURI.host = url.host; - } - var directory = ""; - if(url.directory != null) { - directory = url.directory; - } - if(appendedURI.host != null) { - appendedURI.directory += appendedURI.host; - } - if(appendedURI.directory != null) { - directory += appendedURI.directory; - } - resultURI.directory = directory; - if(appendedURI.file != null) { - resultURI.file = appendedURI.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(appendedURI.query != null) { - resultURI.query = appendedURI.query; - } - if(appendedURI.fragment != null) { - resultURI.fragment = appendedURI.fragment; - } - return resultURI; -}; -xrfragment_URI.toAbsolute = function(url,newUrl) { - var newURI = xrfragment_URI.parse(newUrl,0); - var resultURI = new xrfragment_URI(); - resultURI.port = url.port; - resultURI.source = newUrl; - if(newURI.scheme != null) { - resultURI.scheme = newURI.scheme; - } else { - resultURI.scheme = url.scheme; - } - if(newURI.host != null && newURI.host.length > 0) { - resultURI.host = newURI.host; - resultURI.port = null; - resultURI.fragment = null; - resultURI.hash = { }; - resultURI.XRF = { }; - if(newURI.port != null) { - resultURI.port = newURI.port; - } - } else { - resultURI.host = url.host; - } - var directory = ""; - if(url.directory != null) { - directory = url.directory; - } - if(newURI.directory != null) { - if(newUrl.charAt(0) != "/" && newUrl.indexOf("://") == -1) { - var stripRelative_r = new RegExp("\\./.*","".split("u").join("")); - directory = directory.replace(stripRelative_r,""); - directory += newURI.directory; - } else { - directory = newURI.directory; - } - } - resultURI.directory = directory; - if(newURI.file != null) { - resultURI.file = newURI.file; - } else { - resultURI.file = url.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(newURI.query != null) { - resultURI.query = newURI.query; - } - if(newURI.fragment != null) { - resultURI.fragment = newURI.fragment; - } - resultURI.hash = newURI.hash; - resultURI.XRF = newURI.XRF; - xrfragment_URI.computeVars(resultURI); - return resultURI; -}; -xrfragment_URI.cloneURI = function(url) { - var clonedURI = new xrfragment_URI(); - clonedURI.url = url.url; - clonedURI.source = url.source; - clonedURI.scheme = url.scheme; - clonedURI.authority = url.authority; - clonedURI.userInfo = url.userInfo; - clonedURI.password = url.password; - clonedURI.host = url.host; - clonedURI.port = url.port; - clonedURI.relative = url.relative; - clonedURI.path = url.path; - clonedURI.directory = url.directory; - clonedURI.file = url.file; - clonedURI.query = url.query; - clonedURI.fragment = url.fragment; - return clonedURI; -}; -var xrfragment_XRF = $hx_exports["xrfragment"]["XRF"] = function(_fragment,_flags,_index) { - this.floats = []; - this.shift = []; - this.fragment = _fragment; - this.flags = _flags; - this.index = _index; -}; -xrfragment_XRF.__name__ = true; -xrfragment_XRF.set = function(flag,flags) { - return flags | flag; -}; -xrfragment_XRF.unset = function(flag,flags) { - return flags & ~flag; -}; -xrfragment_XRF.prototype = { - is: function(flag) { - var v = this.flags; - if(!(typeof(v) == "number" && ((v | 0) === v))) { - this.flags = 0; - } - return (this.flags & flag) != 0; - } - ,validate: function(value) { - this.guessType(this,value); - var ok = true; - if(value.length == 0 && !this.is(xrfragment_XRF.T_PREDEFINED_VIEW)) { - ok = false; - } - if(!this.is(xrfragment_XRF.T_FLOAT) && this.is(xrfragment_XRF.T_VECTOR2) && !(typeof(this.x) == "number" && typeof(this.y) == "number")) { - ok = false; - } - if(!(this.is(xrfragment_XRF.T_VECTOR2) || this.is(xrfragment_XRF.T_STRING)) && this.is(xrfragment_XRF.T_VECTOR3) && !(typeof(this.x) == "number" && typeof(this.y) == "number" && typeof(this.z) == "number")) { - ok = false; - } - return ok; - } - ,guessType: function(v,str) { - v.string = str; - if(xrfragment_XRF.isReset.match(v.fragment)) { - v.reset = true; - } - if(v.fragment == "loop") { - v.loop = true; - } - if(typeof(str) != "string") { - return; - } - if(str.length > 0) { - if(xrfragment_XRF.isXRFScheme.match(str)) { - v.xrfScheme = true; - str = str.replace(xrfragment_XRF.isXRFScheme.r,""); - v.string = str; - } - if(str.split(",").length > 1) { - var xyzn = str.split(","); - if(xyzn.length > 0) { - v.x = parseFloat(xyzn[0]); - } - if(xyzn.length > 1) { - v.y = parseFloat(xyzn[1]); - } - if(xyzn.length > 2) { - v.z = parseFloat(xyzn[2]); - } - var _g = 0; - var _g1 = xyzn.length; - while(_g < _g1) { - var i = _g++; - v.shift.push(xrfragment_XRF.isShift.match(xyzn[i])); - v.floats.push(parseFloat(xyzn[i].replace(xrfragment_XRF.isShift.r,""))); - } - } - if(xrfragment_XRF.isColor.match(str)) { - v.color = str; - } - if(xrfragment_XRF.isFloat.match(str)) { - v.x = parseFloat(str); - v.float = v.x; - } - if(xrfragment_XRF.isInt.match(str)) { - v.int = Std.parseInt(str); - v.x = v.int; - v.floats.push(v.x); - } - v.filter = new xrfragment_Filter(v.fragment + "=" + v.string); - } else { - v.filter = new xrfragment_Filter(v.fragment); - } - } -}; -function $getIterator(o) { if( o instanceof Array ) return new haxe_iterators_ArrayIterator(o); else return o.iterator(); } -function $bind(o,m) { if( m == null ) return null; if( m.__id__ == null ) m.__id__ = $global.$haxeUID++; var f; if( o.hx__closures__ == null ) o.hx__closures__ = {}; else f = o.hx__closures__[m.__id__]; if( f == null ) { f = m.bind(o); o.hx__closures__[m.__id__] = f; } return f; } -$global.$haxeUID |= 0; -if(typeof(performance) != "undefined" ? typeof(performance.now) == "function" : false) { - HxOverrides.now = performance.now.bind(performance); -} -if( String.fromCodePoint == null ) String.fromCodePoint = function(c) { return c < 0x10000 ? String.fromCharCode(c) : String.fromCharCode((c>>10)+0xD7C0)+String.fromCharCode((c&0x3FF)+0xDC00); } -String.__name__ = true; -Array.__name__ = true; -js_Boot.__toStr = ({ }).toString; -haxe_Template.splitter = new EReg("(::[A-Za-z0-9_ ()&|!+=/><*.\"-]+::|\\$\\$([A-Za-z0-9_-]+)\\()",""); -haxe_Template.expr_splitter = new EReg("(\\(|\\)|[ \r\n\t]*\"[^\"]*\"[ \r\n\t]*|[!+=/><*.&|-]+)",""); -haxe_Template.expr_trim = new EReg("^[ ]*([^ ]+)[ ]*$",""); -haxe_Template.expr_int = new EReg("^[0-9]+$",""); -haxe_Template.expr_float = new EReg("^([+-]?)(?=\\d|,\\d)\\d*(,\\d*)?([Ee]([+-]?\\d+))?$",""); -haxe_Template.globals = { }; -haxe_Template.hxKeepArrayIterator = new haxe_iterators_ArrayIterator([]); -xrfragment_Parser.error = ""; -xrfragment_Parser.debug = false; -xrfragment_URI.__meta__ = { statics : { template : { keep : null}}}; -xrfragment_URI._parts = ["source","scheme","authority","userInfo","user","password","host","port","relative","path","directory","file","query","fragment"]; -xrfragment_XRF.IMMUTABLE = 1; -xrfragment_XRF.PROP_BIND = 2; -xrfragment_XRF.QUERY_OPERATOR = 4; -xrfragment_XRF.PROMPT = 8; -xrfragment_XRF.CUSTOMFRAG = 16; -xrfragment_XRF.NAVIGATOR = 32; -xrfragment_XRF.METADATA = 64; -xrfragment_XRF.PV_OVERRIDE = 128; -xrfragment_XRF.PV_EXECUTE = 256; -xrfragment_XRF.T_COLOR = 8192; -xrfragment_XRF.T_INT = 16384; -xrfragment_XRF.T_FLOAT = 32768; -xrfragment_XRF.T_VECTOR2 = 65536; -xrfragment_XRF.T_VECTOR3 = 131072; -xrfragment_XRF.T_URL = 262144; -xrfragment_XRF.T_PREDEFINED_VIEW = 524288; -xrfragment_XRF.T_STRING = 1048576; -xrfragment_XRF.T_MEDIAFRAG = 2097152; -xrfragment_XRF.T_DYNAMICKEY = 4194304; -xrfragment_XRF.T_DYNAMICKEYVALUE = 8388608; -xrfragment_XRF.isColor = new EReg("^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$",""); -xrfragment_XRF.isInt = new EReg("^[-0-9]+$",""); -xrfragment_XRF.isFloat = new EReg("^[-0-9]+\\.[0-9]+$",""); -xrfragment_XRF.isVector = new EReg("([,]+|\\w)",""); -xrfragment_XRF.isUrl = new EReg("(://)?\\..*",""); -xrfragment_XRF.isUrlOrPretypedView = new EReg("(^#|://)?\\..*",""); -xrfragment_XRF.isString = new EReg(".*",""); -xrfragment_XRF.operators = new EReg("(^[-]|^[!]|[\\*]$)","g"); -xrfragment_XRF.isProp = new EReg("^.*=[><=]?",""); -xrfragment_XRF.isExclude = new EReg("^-",""); -xrfragment_XRF.isDeep = new EReg("\\*",""); -xrfragment_XRF.isNumber = new EReg("^[0-9\\.]+$",""); -xrfragment_XRF.isMediaFrag = new EReg("^([0-9\\.,\\*+-]+)$",""); -xrfragment_XRF.isReset = new EReg("^!",""); -xrfragment_XRF.isShift = new EReg("^(\\+|--)",""); -xrfragment_XRF.isXRFScheme = new EReg("^xrf://",""); -})(typeof window != "undefined" ? window : typeof global != "undefined" ? global : typeof self != "undefined" ? self : this); -var xrfragment = $hx_exports["xrfragment"]; -export default xrfragment; -// Generated by Haxe 4.3.3 -var $hx_exports = typeof exports != "undefined" ? exports : typeof window != "undefined" ? window : typeof self != "undefined" ? self : this; -(function ($global) { "use strict"; -$hx_exports["xrfragment"] = $hx_exports["xrfragment"] || {}; -var $estr = function() { return js_Boot.__string_rec(this,''); },$hxEnums = $hxEnums || {},$_; -function $extend(from, fields) { - var proto = Object.create(from); - for (var name in fields) proto[name] = fields[name]; - if( fields.toString !== Object.prototype.toString ) proto.toString = fields.toString; - return proto; -} -var EReg = function(r,opt) { - this.r = new RegExp(r,opt.split("u").join("")); -}; -EReg.__name__ = true; -EReg.prototype = { - match: function(s) { - if(this.r.global) { - this.r.lastIndex = 0; - } - this.r.m = this.r.exec(s); - this.r.s = s; - return this.r.m != null; - } - ,matched: function(n) { - if(this.r.m != null && n >= 0 && n < this.r.m.length) { - return this.r.m[n]; - } else { - throw haxe_Exception.thrown("EReg::matched"); - } - } - ,matchedRight: function() { - if(this.r.m == null) { - throw haxe_Exception.thrown("No string matched"); - } - var sz = this.r.m.index + this.r.m[0].length; - return HxOverrides.substr(this.r.s,sz,this.r.s.length - sz); - } - ,matchedPos: function() { - if(this.r.m == null) { - throw haxe_Exception.thrown("No string matched"); - } - return { pos : this.r.m.index, len : this.r.m[0].length}; - } - ,split: function(s) { - var d = "#__delim__#"; - return s.replace(this.r,d).split(d); - } -}; -var HxOverrides = function() { }; -HxOverrides.__name__ = true; -HxOverrides.cca = function(s,index) { - var x = s.charCodeAt(index); - if(x != x) { - return undefined; - } - return x; -}; -HxOverrides.substr = function(s,pos,len) { - if(len == null) { - len = s.length; - } else if(len < 0) { - if(pos == 0) { - len = s.length + len; - } else { - return ""; - } - } - return s.substr(pos,len); -}; -HxOverrides.now = function() { - return Date.now(); -}; -Math.__name__ = true; -var Reflect = function() { }; -Reflect.__name__ = true; -Reflect.field = function(o,field) { - try { - return o[field]; - } catch( _g ) { - return null; - } -}; -Reflect.getProperty = function(o,field) { - var tmp; - if(o == null) { - return null; - } else { - var tmp1; - if(o.__properties__) { - tmp = o.__properties__["get_" + field]; - tmp1 = tmp; - } else { - tmp1 = false; - } - if(tmp1) { - return o[tmp](); - } else { - return o[field]; - } - } -}; -Reflect.fields = function(o) { - var a = []; - if(o != null) { - var hasOwnProperty = Object.prototype.hasOwnProperty; - for( var f in o ) { - if(f != "__id__" && f != "hx__closures__" && hasOwnProperty.call(o,f)) { - a.push(f); - } - } - } - return a; -}; -Reflect.isObject = function(v) { - if(v == null) { - return false; - } - var t = typeof(v); - if(!(t == "string" || t == "object" && v.__enum__ == null)) { - if(t == "function") { - return (v.__name__ || v.__ename__) != null; - } else { - return false; - } - } else { - return true; - } -}; -Reflect.deleteField = function(o,field) { - if(!Object.prototype.hasOwnProperty.call(o,field)) { - return false; - } - delete(o[field]); - return true; -}; -Reflect.copy = function(o) { - if(o == null) { - return null; - } - var o2 = { }; - var _g = 0; - var _g1 = Reflect.fields(o); - while(_g < _g1.length) { - var f = _g1[_g]; - ++_g; - o2[f] = Reflect.field(o,f); - } - return o2; -}; -var Std = function() { }; -Std.__name__ = true; -Std.string = function(s) { - return js_Boot.__string_rec(s,""); -}; -Std.parseInt = function(x) { - var v = parseInt(x); - if(isNaN(v)) { - return null; - } - return v; -}; -var StringBuf = function() { - this.b = ""; -}; -StringBuf.__name__ = true; -var StringTools = function() { }; -StringTools.__name__ = true; -StringTools.isSpace = function(s,pos) { - var c = HxOverrides.cca(s,pos); - if(!(c > 8 && c < 14)) { - return c == 32; - } else { - return true; - } -}; -StringTools.ltrim = function(s) { - var l = s.length; - var r = 0; - while(r < l && StringTools.isSpace(s,r)) ++r; - if(r > 0) { - return HxOverrides.substr(s,r,l - r); - } else { - return s; - } -}; -StringTools.rtrim = function(s) { - var l = s.length; - var r = 0; - while(r < l && StringTools.isSpace(s,l - r - 1)) ++r; - if(r > 0) { - return HxOverrides.substr(s,0,l - r); - } else { - return s; - } -}; -StringTools.trim = function(s) { - return StringTools.ltrim(StringTools.rtrim(s)); -}; -StringTools.replace = function(s,sub,by) { - return s.split(sub).join(by); -}; -var haxe_Exception = function(message,previous,native) { - Error.call(this,message); - this.message = message; - this.__previousException = previous; - this.__nativeException = native != null ? native : this; -}; -haxe_Exception.__name__ = true; -haxe_Exception.caught = function(value) { - if(((value) instanceof haxe_Exception)) { - return value; - } else if(((value) instanceof Error)) { - return new haxe_Exception(value.message,null,value); - } else { - return new haxe_ValueException(value,null,value); - } -}; -haxe_Exception.thrown = function(value) { - if(((value) instanceof haxe_Exception)) { - return value.get_native(); - } else if(((value) instanceof Error)) { - return value; - } else { - var e = new haxe_ValueException(value); - return e; - } -}; -haxe_Exception.__super__ = Error; -haxe_Exception.prototype = $extend(Error.prototype,{ - unwrap: function() { - return this.__nativeException; - } - ,get_native: function() { - return this.__nativeException; - } - ,__properties__: {get_native:"get_native"} -}); -var haxe__$Template_TemplateExpr = $hxEnums["haxe._Template.TemplateExpr"] = { __ename__:true,__constructs__:null - ,OpVar: ($_=function(v) { return {_hx_index:0,v:v,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpVar",$_.__params__ = ["v"],$_) - ,OpExpr: ($_=function(expr) { return {_hx_index:1,expr:expr,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpExpr",$_.__params__ = ["expr"],$_) - ,OpIf: ($_=function(expr,eif,eelse) { return {_hx_index:2,expr:expr,eif:eif,eelse:eelse,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpIf",$_.__params__ = ["expr","eif","eelse"],$_) - ,OpStr: ($_=function(str) { return {_hx_index:3,str:str,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpStr",$_.__params__ = ["str"],$_) - ,OpBlock: ($_=function(l) { return {_hx_index:4,l:l,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpBlock",$_.__params__ = ["l"],$_) - ,OpForeach: ($_=function(expr,loop) { return {_hx_index:5,expr:expr,loop:loop,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpForeach",$_.__params__ = ["expr","loop"],$_) - ,OpMacro: ($_=function(name,params) { return {_hx_index:6,name:name,params:params,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpMacro",$_.__params__ = ["name","params"],$_) -}; -haxe__$Template_TemplateExpr.__constructs__ = [haxe__$Template_TemplateExpr.OpVar,haxe__$Template_TemplateExpr.OpExpr,haxe__$Template_TemplateExpr.OpIf,haxe__$Template_TemplateExpr.OpStr,haxe__$Template_TemplateExpr.OpBlock,haxe__$Template_TemplateExpr.OpForeach,haxe__$Template_TemplateExpr.OpMacro]; -var haxe_iterators_ArrayIterator = function(array) { - this.current = 0; - this.array = array; -}; -haxe_iterators_ArrayIterator.__name__ = true; -haxe_iterators_ArrayIterator.prototype = { - hasNext: function() { - return this.current < this.array.length; - } - ,next: function() { - return this.array[this.current++]; - } -}; -var haxe_Template = function(str) { - var tokens = this.parseTokens(str); - this.expr = this.parseBlock(tokens); - if(!tokens.isEmpty()) { - throw haxe_Exception.thrown("Unexpected '" + Std.string(tokens.first().s) + "'"); - } -}; -haxe_Template.__name__ = true; -haxe_Template.prototype = { - execute: function(context,macros) { - this.macros = macros == null ? { } : macros; - this.context = context; - this.stack = new haxe_ds_List(); - this.buf = new StringBuf(); - this.run(this.expr); - return this.buf.b; - } - ,resolve: function(v) { - if(v == "__current__") { - return this.context; - } - if(Reflect.isObject(this.context)) { - var value = Reflect.getProperty(this.context,v); - if(value != null || Object.prototype.hasOwnProperty.call(this.context,v)) { - return value; - } - } - var _g_head = this.stack.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var ctx = val; - var value = Reflect.getProperty(ctx,v); - if(value != null || Object.prototype.hasOwnProperty.call(ctx,v)) { - return value; - } - } - return Reflect.field(haxe_Template.globals,v); - } - ,parseTokens: function(data) { - var tokens = new haxe_ds_List(); - while(haxe_Template.splitter.match(data)) { - var p = haxe_Template.splitter.matchedPos(); - if(p.pos > 0) { - tokens.add({ p : HxOverrides.substr(data,0,p.pos), s : true, l : null}); - } - if(HxOverrides.cca(data,p.pos) == 58) { - tokens.add({ p : HxOverrides.substr(data,p.pos + 2,p.len - 4), s : false, l : null}); - data = haxe_Template.splitter.matchedRight(); - continue; - } - var parp = p.pos + p.len; - var npar = 1; - var params = []; - var part = ""; - while(true) { - var c = HxOverrides.cca(data,parp); - ++parp; - if(c == 40) { - ++npar; - } else if(c == 41) { - --npar; - if(npar <= 0) { - break; - } - } else if(c == null) { - throw haxe_Exception.thrown("Unclosed macro parenthesis"); - } - if(c == 44 && npar == 1) { - params.push(part); - part = ""; - } else { - part += String.fromCodePoint(c); - } - } - params.push(part); - tokens.add({ p : haxe_Template.splitter.matched(2), s : false, l : params}); - data = HxOverrides.substr(data,parp,data.length - parp); - } - if(data.length > 0) { - tokens.add({ p : data, s : true, l : null}); - } - return tokens; - } - ,parseBlock: function(tokens) { - var l = new haxe_ds_List(); - while(true) { - var t = tokens.first(); - if(t == null) { - break; - } - if(!t.s && (t.p == "end" || t.p == "else" || HxOverrides.substr(t.p,0,7) == "elseif ")) { - break; - } - l.add(this.parse(tokens)); - } - if(l.length == 1) { - return l.first(); - } - return haxe__$Template_TemplateExpr.OpBlock(l); - } - ,parse: function(tokens) { - var t = tokens.pop(); - var p = t.p; - if(t.s) { - return haxe__$Template_TemplateExpr.OpStr(p); - } - if(t.l != null) { - var pe = new haxe_ds_List(); - var _g = 0; - var _g1 = t.l; - while(_g < _g1.length) { - var p1 = _g1[_g]; - ++_g; - pe.add(this.parseBlock(this.parseTokens(p1))); - } - return haxe__$Template_TemplateExpr.OpMacro(p,pe); - } - var kwdEnd = function(kwd) { - var pos = -1; - var length = kwd.length; - if(HxOverrides.substr(p,0,length) == kwd) { - pos = length; - var _g_offset = 0; - var _g_s = HxOverrides.substr(p,length,null); - while(_g_offset < _g_s.length) { - var c = _g_s.charCodeAt(_g_offset++); - if(c == 32) { - ++pos; - } else { - break; - } - } - } - return pos; - }; - var pos = kwdEnd("if"); - if(pos > 0) { - p = HxOverrides.substr(p,pos,p.length - pos); - var e = this.parseExpr(p); - var eif = this.parseBlock(tokens); - var t = tokens.first(); - var eelse; - if(t == null) { - throw haxe_Exception.thrown("Unclosed 'if'"); - } - if(t.p == "end") { - tokens.pop(); - eelse = null; - } else if(t.p == "else") { - tokens.pop(); - eelse = this.parseBlock(tokens); - t = tokens.pop(); - if(t == null || t.p != "end") { - throw haxe_Exception.thrown("Unclosed 'else'"); - } - } else { - t.p = HxOverrides.substr(t.p,4,t.p.length - 4); - eelse = this.parse(tokens); - } - return haxe__$Template_TemplateExpr.OpIf(e,eif,eelse); - } - var pos = kwdEnd("foreach"); - if(pos >= 0) { - p = HxOverrides.substr(p,pos,p.length - pos); - var e = this.parseExpr(p); - var efor = this.parseBlock(tokens); - var t = tokens.pop(); - if(t == null || t.p != "end") { - throw haxe_Exception.thrown("Unclosed 'foreach'"); - } - return haxe__$Template_TemplateExpr.OpForeach(e,efor); - } - if(haxe_Template.expr_splitter.match(p)) { - return haxe__$Template_TemplateExpr.OpExpr(this.parseExpr(p)); - } - return haxe__$Template_TemplateExpr.OpVar(p); - } - ,parseExpr: function(data) { - var l = new haxe_ds_List(); - var expr = data; - while(haxe_Template.expr_splitter.match(data)) { - var p = haxe_Template.expr_splitter.matchedPos(); - var k = p.pos + p.len; - if(p.pos != 0) { - l.add({ p : HxOverrides.substr(data,0,p.pos), s : true}); - } - var p1 = haxe_Template.expr_splitter.matched(0); - l.add({ p : p1, s : p1.indexOf("\"") >= 0}); - data = haxe_Template.expr_splitter.matchedRight(); - } - if(data.length != 0) { - var _g_offset = 0; - var _g_s = data; - while(_g_offset < _g_s.length) { - var _g_key = _g_offset; - var _g_value = _g_s.charCodeAt(_g_offset++); - var i = _g_key; - var c = _g_value; - if(c != 32) { - l.add({ p : HxOverrides.substr(data,i,null), s : true}); - break; - } - } - } - var e; - try { - e = this.makeExpr(l); - if(!l.isEmpty()) { - throw haxe_Exception.thrown(l.first().p); - } - } catch( _g ) { - var _g1 = haxe_Exception.caught(_g).unwrap(); - if(typeof(_g1) == "string") { - var s = _g1; - throw haxe_Exception.thrown("Unexpected '" + s + "' in " + expr); - } else { - throw _g; - } - } - return function() { - try { - return e(); - } catch( _g ) { - var exc = haxe_Exception.caught(_g).unwrap(); - throw haxe_Exception.thrown("Error : " + Std.string(exc) + " in " + expr); - } - }; - } - ,makeConst: function(v) { - haxe_Template.expr_trim.match(v); - v = haxe_Template.expr_trim.matched(1); - if(HxOverrides.cca(v,0) == 34) { - var str = HxOverrides.substr(v,1,v.length - 2); - return function() { - return str; - }; - } - if(haxe_Template.expr_int.match(v)) { - var i = Std.parseInt(v); - return function() { - return i; - }; - } - if(haxe_Template.expr_float.match(v)) { - var f = parseFloat(v); - return function() { - return f; - }; - } - var me = this; - return function() { - return me.resolve(v); - }; - } - ,makePath: function(e,l) { - var p = l.first(); - if(p == null || p.p != ".") { - return e; - } - l.pop(); - var field = l.pop(); - if(field == null || !field.s) { - throw haxe_Exception.thrown(field.p); - } - var f = field.p; - haxe_Template.expr_trim.match(f); - f = haxe_Template.expr_trim.matched(1); - return this.makePath(function() { - return Reflect.field(e(),f); - },l); - } - ,makeExpr: function(l) { - return this.makePath(this.makeExpr2(l),l); - } - ,skipSpaces: function(l) { - var p = l.first(); - while(p != null) { - var _g_offset = 0; - var _g_s = p.p; - while(_g_offset < _g_s.length) { - var c = _g_s.charCodeAt(_g_offset++); - if(c != 32) { - return; - } - } - l.pop(); - p = l.first(); - } - } - ,makeExpr2: function(l) { - this.skipSpaces(l); - var p = l.pop(); - this.skipSpaces(l); - if(p == null) { - throw haxe_Exception.thrown(""); - } - if(p.s) { - return this.makeConst(p.p); - } - switch(p.p) { - case "!": - var e = this.makeExpr(l); - return function() { - var v = e(); - if(v != null) { - return v == false; - } else { - return true; - } - }; - case "(": - this.skipSpaces(l); - var e1 = this.makeExpr(l); - this.skipSpaces(l); - var p1 = l.pop(); - if(p1 == null || p1.s) { - throw haxe_Exception.thrown(p1); - } - if(p1.p == ")") { - return e1; - } - this.skipSpaces(l); - var e2 = this.makeExpr(l); - this.skipSpaces(l); - var p2 = l.pop(); - this.skipSpaces(l); - if(p2 == null || p2.p != ")") { - throw haxe_Exception.thrown(p2); - } - switch(p1.p) { - case "!=": - return function() { - return e1() != e2(); - }; - case "&&": - return function() { - return e1() && e2(); - }; - case "*": - return function() { - return e1() * e2(); - }; - case "+": - return function() { - return e1() + e2(); - }; - case "-": - return function() { - return e1() - e2(); - }; - case "/": - return function() { - return e1() / e2(); - }; - case "<": - return function() { - return e1() < e2(); - }; - case "<=": - return function() { - return e1() <= e2(); - }; - case "==": - return function() { - return e1() == e2(); - }; - case ">": - return function() { - return e1() > e2(); - }; - case ">=": - return function() { - return e1() >= e2(); - }; - case "||": - return function() { - return e1() || e2(); - }; - default: - throw haxe_Exception.thrown("Unknown operation " + p1.p); - } - break; - case "-": - var e3 = this.makeExpr(l); - return function() { - return -e3(); - }; - } - throw haxe_Exception.thrown(p.p); - } - ,run: function(e) { - switch(e._hx_index) { - case 0: - var v = e.v; - var _this = this.buf; - var x = Std.string(this.resolve(v)); - _this.b += Std.string(x); - break; - case 1: - var e1 = e.expr; - var _this = this.buf; - var x = Std.string(e1()); - _this.b += Std.string(x); - break; - case 2: - var e1 = e.expr; - var eif = e.eif; - var eelse = e.eelse; - var v = e1(); - if(v == null || v == false) { - if(eelse != null) { - this.run(eelse); - } - } else { - this.run(eif); - } - break; - case 3: - var str = e.str; - this.buf.b += str == null ? "null" : "" + str; - break; - case 4: - var l = e.l; - var _g_head = l.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var e1 = val; - this.run(e1); - } - break; - case 5: - var e1 = e.expr; - var loop = e.loop; - var v = e1(); - try { - var x = $getIterator(v); - if(x.hasNext == null) { - throw haxe_Exception.thrown(null); - } - v = x; - } catch( _g ) { - try { - if(v.hasNext == null) { - throw haxe_Exception.thrown(null); - } - } catch( _g1 ) { - throw haxe_Exception.thrown("Cannot iter on " + Std.string(v)); - } - } - this.stack.push(this.context); - var v1 = v; - var ctx = v1; - while(ctx.hasNext()) { - var ctx1 = ctx.next(); - this.context = ctx1; - this.run(loop); - } - this.context = this.stack.pop(); - break; - case 6: - var m = e.name; - var params = e.params; - var v = Reflect.field(this.macros,m); - var pl = []; - var old = this.buf; - pl.push($bind(this,this.resolve)); - var _g_head = params.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var p = val; - if(p._hx_index == 0) { - var v1 = p.v; - pl.push(this.resolve(v1)); - } else { - this.buf = new StringBuf(); - this.run(p); - pl.push(this.buf.b); - } - } - this.buf = old; - try { - var _this = this.buf; - var x = Std.string(v.apply(this.macros,pl)); - _this.b += Std.string(x); - } catch( _g ) { - var e = haxe_Exception.caught(_g).unwrap(); - var plstr; - try { - plstr = pl.join(","); - } catch( _g1 ) { - plstr = "???"; - } - var msg = "Macro call " + m + "(" + plstr + ") failed (" + Std.string(e) + ")"; - throw haxe_Exception.thrown(msg); - } - break; - } - } -}; -var haxe_ValueException = function(value,previous,native) { - haxe_Exception.call(this,String(value),previous,native); - this.value = value; -}; -haxe_ValueException.__name__ = true; -haxe_ValueException.__super__ = haxe_Exception; -haxe_ValueException.prototype = $extend(haxe_Exception.prototype,{ - unwrap: function() { - return this.value; - } -}); -var haxe_ds_List = function() { - this.length = 0; -}; -haxe_ds_List.__name__ = true; -haxe_ds_List.prototype = { - add: function(item) { - var x = new haxe_ds__$List_ListNode(item,null); - if(this.h == null) { - this.h = x; - } else { - this.q.next = x; - } - this.q = x; - this.length++; - } - ,push: function(item) { - var x = new haxe_ds__$List_ListNode(item,this.h); - this.h = x; - if(this.q == null) { - this.q = x; - } - this.length++; - } - ,first: function() { - if(this.h == null) { - return null; - } else { - return this.h.item; - } - } - ,pop: function() { - if(this.h == null) { - return null; - } - var x = this.h.item; - this.h = this.h.next; - if(this.h == null) { - this.q = null; - } - this.length--; - return x; - } - ,isEmpty: function() { - return this.h == null; - } - ,toString: function() { - var s_b = ""; - var first = true; - var l = this.h; - s_b += "{"; - while(l != null) { - if(first) { - first = false; - } else { - s_b += ", "; - } - s_b += Std.string(Std.string(l.item)); - l = l.next; - } - s_b += "}"; - return s_b; - } -}; -var haxe_ds__$List_ListNode = function(item,next) { - this.item = item; - this.next = next; -}; -haxe_ds__$List_ListNode.__name__ = true; -var js_Boot = function() { }; -js_Boot.__name__ = true; -js_Boot.__string_rec = function(o,s) { - if(o == null) { - return "null"; - } - if(s.length >= 5) { - return "<...>"; - } - var t = typeof(o); - if(t == "function" && (o.__name__ || o.__ename__)) { - t = "object"; - } - switch(t) { - case "function": - return ""; - case "object": - if(o.__enum__) { - var e = $hxEnums[o.__enum__]; - var con = e.__constructs__[o._hx_index]; - var n = con._hx_name; - if(con.__params__) { - s = s + "\t"; - return n + "(" + ((function($this) { - var $r; - var _g = []; - { - var _g1 = 0; - var _g2 = con.__params__; - while(true) { - if(!(_g1 < _g2.length)) { - break; - } - var p = _g2[_g1]; - _g1 = _g1 + 1; - _g.push(js_Boot.__string_rec(o[p],s)); - } - } - $r = _g; - return $r; - }(this))).join(",") + ")"; - } else { - return n; - } - } - if(((o) instanceof Array)) { - var str = "["; - s += "\t"; - var _g = 0; - var _g1 = o.length; - while(_g < _g1) { - var i = _g++; - str += (i > 0 ? "," : "") + js_Boot.__string_rec(o[i],s); - } - str += "]"; - return str; - } - var tostr; - try { - tostr = o.toString; - } catch( _g ) { - return "???"; - } - if(tostr != null && tostr != Object.toString && typeof(tostr) == "function") { - var s2 = o.toString(); - if(s2 != "[object Object]") { - return s2; - } - } - var str = "{\n"; - s += "\t"; - var hasp = o.hasOwnProperty != null; - var k = null; - for( k in o ) { - if(hasp && !o.hasOwnProperty(k)) { - continue; - } - if(k == "prototype" || k == "__class__" || k == "__super__" || k == "__interfaces__" || k == "__properties__") { - continue; - } - if(str.length != 2) { - str += ", \n"; - } - str += s + k + " : " + js_Boot.__string_rec(o[k],s); - } - s = s.substring(1); - str += "\n" + s + "}"; - return str; - case "string": - return o; - default: - return String(o); - } -}; -var xrfragment_Filter = $hx_exports["xrfragment"]["Filter"] = function(str) { - this.q = { }; - this.str = ""; - if(str != null) { - this.parse(str); - } -}; -xrfragment_Filter.__name__ = true; -xrfragment_Filter.prototype = { - toObject: function() { - return Reflect.copy(this.q); - } - ,get: function() { - return Reflect.copy(this.q); - } - ,parse: function(str) { - var token = str.split(" "); - var q = { }; - var process = function(str,prefix) { - if(prefix == null) { - prefix = ""; - } - str = StringTools.trim(str); - var k = str.split("=")[0]; - var v = str.split("=")[1]; - var filter = { }; - if(q[prefix + k]) { - filter = q[prefix + k]; - } - if(xrfragment_XRF.isProp.match(str)) { - var oper = ""; - if(str.indexOf(">") != -1) { - oper = ">"; - } - if(str.indexOf("<") != -1) { - oper = "<"; - } - if(xrfragment_XRF.isExclude.match(k)) { - k = HxOverrides.substr(k,1,null); - } - v = HxOverrides.substr(v,oper.length,null); - if(oper.length == 0) { - oper = "="; - } - var rule = { }; - if(xrfragment_XRF.isNumber.match(v)) { - rule[oper] = parseFloat(v); - } else { - rule[oper] = v; - } - q["expr"] = rule; - } - var value = xrfragment_XRF.isDeep.match(str) ? k.split("*").length - 1 : 0; - q["deep"] = value; - var value = xrfragment_XRF.isExclude.match(str) ? false : true; - q["show"] = value; - var value = k.replace(xrfragment_XRF.operators.r,""); - q["key"] = value; - q["value"] = v; - }; - var _g = 0; - var _g1 = token.length; - while(_g < _g1) { - var i = _g++; - process(token[i]); - } - return this.q = q; - } - ,test: function(obj) { - var qualify = false; - var _g = 0; - var _g1 = Reflect.fields(obj); - while(_g < _g1.length) { - var k = _g1[_g]; - ++_g; - var v = Std.string(Reflect.field(obj,k)); - if(this.testProperty(k,v)) { - qualify = true; - } - } - var _g = 0; - var _g1 = Reflect.fields(obj); - while(_g < _g1.length) { - var k = _g1[_g]; - ++_g; - var v = Std.string(Reflect.field(obj,k)); - if(this.testProperty(k,v,true)) { - qualify = false; - } - } - return qualify; - } - ,testProperty: function(property,value,exclude) { - var conds = 0; - var fails = 0; - var qualify = 0; - var testprop = function(expr) { - conds += 1; - fails += expr ? 0 : 1; - return expr; - }; - if(this.q[value] != null) { - var v = this.q[value]; - if(v[property] != null) { - return v[property]; - } - } - if(Reflect.field(this.q,"expr")) { - var f = Reflect.field(this.q,"expr"); - if(!Reflect.field(this.q,"show")) { - if(Reflect.field(f,"!=") != null && testprop((value == null ? "null" : "" + value) == Std.string(Reflect.field(f,"!="))) && exclude) { - ++qualify; - } - } else { - if(Reflect.field(f,"*") != null && testprop(parseFloat(value) != null)) { - ++qualify; - } - if(Reflect.field(f,">") != null && testprop(parseFloat(value) >= parseFloat(Reflect.field(f,">")))) { - ++qualify; - } - if(Reflect.field(f,"<") != null && testprop(parseFloat(value) <= parseFloat(Reflect.field(f,"<")))) { - ++qualify; - } - if(Reflect.field(f,"=") != null && (testprop(value == Reflect.field(f,"=")) || testprop(parseFloat(value) == parseFloat(Reflect.field(f,"="))))) { - ++qualify; - } - } - } - return qualify > 0; - } -}; -var xrfragment_Parser = $hx_exports["xrfragment"]["Parser"] = function() { }; -xrfragment_Parser.__name__ = true; -xrfragment_Parser.parse = function(key,value,store,index) { - var Frag_h = Object.create(null); - Frag_h["#"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_PREDEFINED_VIEW | xrfragment_XRF.PV_EXECUTE; - Frag_h["src"] = xrfragment_XRF.T_URL; - Frag_h["href"] = xrfragment_XRF.T_URL | xrfragment_XRF.T_PREDEFINED_VIEW; - Frag_h["tag"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["pos"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_VECTOR3 | xrfragment_XRF.T_STRING | xrfragment_XRF.METADATA | xrfragment_XRF.NAVIGATOR; - Frag_h["rot"] = xrfragment_XRF.QUERY_OPERATOR | xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_VECTOR3 | xrfragment_XRF.METADATA | xrfragment_XRF.NAVIGATOR; - Frag_h["t"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_FLOAT | xrfragment_XRF.T_VECTOR2 | xrfragment_XRF.NAVIGATOR | xrfragment_XRF.METADATA; - Frag_h["s"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_MEDIAFRAG; - Frag_h["loop"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_PREDEFINED_VIEW; - Frag_h["uv"] = xrfragment_XRF.T_VECTOR2 | xrfragment_XRF.T_MEDIAFRAG; - Frag_h["namespace"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["SPDX"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["unit"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["description"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - var keyStripped = key.replace(xrfragment_XRF.operators.r,""); - var isPVDynamic = key.length > 0 && !Object.prototype.hasOwnProperty.call(Frag_h,key); - if(isPVDynamic) { - var v = new xrfragment_XRF(key,xrfragment_XRF.PV_EXECUTE | xrfragment_XRF.NAVIGATOR,index); - v.validate(value); - v.flags = xrfragment_XRF.set(xrfragment_XRF.T_DYNAMICKEY,v.flags); - if(!Object.prototype.hasOwnProperty.call(Frag_h,key)) { - v.flags = xrfragment_XRF.set(xrfragment_XRF.CUSTOMFRAG,v.flags); - } - if(value.length == 0) { - v.flags = xrfragment_XRF.set(xrfragment_XRF.T_DYNAMICKEYVALUE,v.flags); - } - store[keyStripped] = v; - return true; - } - var v = new xrfragment_XRF(key,Frag_h[key],index); - if(Object.prototype.hasOwnProperty.call(Frag_h,key)) { - if(!v.validate(value)) { - console.log("src/xrfragment/Parser.hx:67:","⚠ fragment '" + key + "' has incompatible value (" + value + ")"); - return false; - } - store[keyStripped] = v; - if(xrfragment_Parser.debug) { - console.log("src/xrfragment/Parser.hx:71:","✔ " + key + ": " + v.string); - } - } else { - if(typeof(value) == "string") { - v.guessType(v,value); - } - v.flags = xrfragment_XRF.set(xrfragment_XRF.CUSTOMFRAG,v.flags); - store[keyStripped] = v; - } - return true; -}; -xrfragment_Parser.getMetaData = function() { - var meta = { title : ["title","og:title","dc.title"], description : ["aria-description","og:description","dc.description"], author : ["author","dc.creator"], publisher : ["publisher","dc.publisher"], website : ["og:site_name","og:url","dc.publisher"], license : ["SPDX","dc.rights"]}; - return meta; -}; -var xrfragment_URI = $hx_exports["xrfragment"]["URI"] = function() { - this.XRF = { }; - this.hash = { }; - this.fragment = ""; -}; -xrfragment_URI.__name__ = true; -xrfragment_URI.parseFragment = function(url,filter) { - var store = { }; - if(url == null || url.indexOf("#") == -1) { - return store; - } - var fragment = url.split("#"); - var splitArray = fragment[1].split("&"); - var _g = 0; - var _g1 = splitArray.length; - while(_g < _g1) { - var i = _g++; - var splitByEqual = splitArray[i].split("="); - var regexPlus = new EReg("\\+","g"); - var key = splitByEqual[0]; - var value = ""; - if(splitByEqual.length > 1) { - if(xrfragment_XRF.isVector.match(splitByEqual[1])) { - value = splitByEqual[1]; - } else { - var s = regexPlus.split(splitByEqual[1]).join(" "); - value = decodeURIComponent(s.split("+").join(" ")); - } - } - var ok = xrfragment_Parser.parse(key,value,store,i); - } - if(filter != null && filter != 0) { - var _g = 0; - var _g1 = Reflect.fields(store); - while(_g < _g1.length) { - var key = _g1[_g]; - ++_g; - var xrf = store[key]; - if(!xrf.is(filter)) { - Reflect.deleteField(store,key); - } - } - } - return store; -}; -xrfragment_URI.template = function(uri,vars) { - var parts = uri.split("#"); - if(parts.length == 1) { - return uri; - } - var frag = parts[1]; - frag = StringTools.replace(frag,"{","::"); - frag = StringTools.replace(frag,"}","::"); - frag = new haxe_Template(frag).execute(vars); - frag = StringTools.replace(frag,"null",""); - parts[1] = frag; - return parts.join("#"); -}; -xrfragment_URI.parse = function(stringUrl,flags) { - var r = new EReg("^(?:(?![^:@]+:[^:@/]*@)([^:/?#.]+):)?(?://)?((?:(([^:@]*)(?::([^:@]*))?)?@)?([^:/?#]*)(?::(\\d*))?)(((/(?:[^?#](?![^?#/]*\\.[^?#/.]+(?:[?#]|$)))*/?)?([^?#/]*))(?:\\?([^#]*))?(?:#(.*))?)",""); - if(stringUrl.indexOf("://") == -1 && stringUrl.charAt(0) != "/") { - stringUrl = "/" + stringUrl; - } - r.match(stringUrl); - var url = new xrfragment_URI(); - var _g = 0; - var _g1 = xrfragment_URI._parts.length; - while(_g < _g1) { - var i = _g++; - url[xrfragment_URI._parts[i]] = r.matched(i); - } - if(xrfragment_URI.isRelative(url) == true) { - if(url.directory == null && url.host != null) { - url.file = url.host; - } - url.host = ""; - } - url.hash = { }; - if(url.fragment != null && url.fragment.length > 0) { - url.XRF = xrfragment_URI.parseFragment("#" + url.fragment,flags); - var key; - var _g = 0; - var _g1 = Reflect.fields(url.XRF); - while(_g < _g1.length) { - var key = _g1[_g]; - ++_g; - var v = url.XRF[key]; - url.hash[key] = v["string"]; - } - } - xrfragment_URI.computeVars(url); - return url; -}; -xrfragment_URI.computeVars = function(url) { - var r_r = new RegExp("//","g".split("u").join("")); - if(url.directory != null && url.directory.indexOf("//") != -1) { - url.directory = url.directory.replace(r_r,"/"); - } - if(url.path != null && url.path.indexOf("//") != -1) { - url.path = url.path.replace(r_r,"/"); - } - if(url.file != null && url.file.indexOf("//") != -1) { - url.file = url.file.replace(r_r,"/"); - } - url.URN = url.scheme + "://" + url.host; - if(url.port != null) { - url.URN += ":" + url.port; - } - url.URN += url.directory; - if(url.file != null) { - var parts = url.file.split("."); - if(parts.length > 1) { - url.fileExt = parts.pop(); - } - } -}; -xrfragment_URI.toString = function(url) { - var result = ""; - if(url.scheme != null) { - result += url.scheme + "://"; - } - if(url.user != null) { - result += url.user + ":"; - } - if(url.password != null) { - result += url.password + "@"; - } - if(url.host != null) { - result += url.host; - } - if(url.port != null) { - result += ":" + url.port; - } - if(url.directory != null) { - result += url.directory; - } - if(url.file != null) { - result += url.file; - } - if(url.query != null) { - result += "?" + url.query; - } - if(url.fragment != null) { - result += "#" + url.fragment; - } - return result; -}; -xrfragment_URI.appendURI = function(url,appendedURI) { - if(xrfragment_URI.isRelative(url) == true) { - return xrfragment_URI.appendToRelativeURI(url,appendedURI); - } else { - return xrfragment_URI.appendToAbsoluteURI(url,appendedURI); - } -}; -xrfragment_URI.isRelative = function(url) { - return url.scheme == null; -}; -xrfragment_URI.appendToRelativeURI = function(url,appendedURI) { - if(url.directory == null || url.host == null) { - return xrfragment_URI.cloneURI(appendedURI); - } - var resultURI = new xrfragment_URI(); - resultURI.host = url.host; - resultURI.directory = url.directory; - if(appendedURI.host != null) { - resultURI.directory += appendedURI.host; - } - if(appendedURI.directory != null) { - var directory = appendedURI.directory; - if(appendedURI.host == null) { - resultURI.directory += HxOverrides.substr(directory,1,null); - } else { - resultURI.directory += directory; - } - } - if(appendedURI.file != null) { - resultURI.file = appendedURI.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(appendedURI.query != null) { - resultURI.query = appendedURI.query; - } - if(appendedURI.fragment != null) { - resultURI.fragment = appendedURI.fragment; - } - return resultURI; -}; -xrfragment_URI.appendToAbsoluteURI = function(url,appendedURI) { - var resultURI = new xrfragment_URI(); - if(url.scheme != null) { - resultURI.scheme = url.scheme; - } - if(url.host != null) { - resultURI.host = url.host; - } - var directory = ""; - if(url.directory != null) { - directory = url.directory; - } - if(appendedURI.host != null) { - appendedURI.directory += appendedURI.host; - } - if(appendedURI.directory != null) { - directory += appendedURI.directory; - } - resultURI.directory = directory; - if(appendedURI.file != null) { - resultURI.file = appendedURI.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(appendedURI.query != null) { - resultURI.query = appendedURI.query; - } - if(appendedURI.fragment != null) { - resultURI.fragment = appendedURI.fragment; - } - return resultURI; -}; -xrfragment_URI.toAbsolute = function(url,newUrl) { - var newURI = xrfragment_URI.parse(newUrl,0); - var resultURI = new xrfragment_URI(); - resultURI.port = url.port; - resultURI.source = newUrl; - if(newURI.scheme != null) { - resultURI.scheme = newURI.scheme; - } else { - resultURI.scheme = url.scheme; - } - if(newURI.host != null && newURI.host.length > 0) { - resultURI.host = newURI.host; - resultURI.port = null; - resultURI.fragment = null; - resultURI.hash = { }; - resultURI.XRF = { }; - if(newURI.port != null) { - resultURI.port = newURI.port; - } - } else { - resultURI.host = url.host; - } - var directory = ""; - if(url.directory != null) { - directory = url.directory; - } - if(newURI.directory != null) { - if(newUrl.charAt(0) != "/" && newUrl.indexOf("://") == -1) { - var stripRelative_r = new RegExp("\\./.*","".split("u").join("")); - directory = directory.replace(stripRelative_r,""); - directory += newURI.directory; - } else { - directory = newURI.directory; - } - } - resultURI.directory = directory; - if(newURI.file != null) { - resultURI.file = newURI.file; - } else { - resultURI.file = url.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(newURI.query != null) { - resultURI.query = newURI.query; - } - if(newURI.fragment != null) { - resultURI.fragment = newURI.fragment; - } - resultURI.hash = newURI.hash; - resultURI.XRF = newURI.XRF; - xrfragment_URI.computeVars(resultURI); - return resultURI; -}; -xrfragment_URI.cloneURI = function(url) { - var clonedURI = new xrfragment_URI(); - clonedURI.url = url.url; - clonedURI.source = url.source; - clonedURI.scheme = url.scheme; - clonedURI.authority = url.authority; - clonedURI.userInfo = url.userInfo; - clonedURI.password = url.password; - clonedURI.host = url.host; - clonedURI.port = url.port; - clonedURI.relative = url.relative; - clonedURI.path = url.path; - clonedURI.directory = url.directory; - clonedURI.file = url.file; - clonedURI.query = url.query; - clonedURI.fragment = url.fragment; - return clonedURI; -}; -var xrfragment_XRF = $hx_exports["xrfragment"]["XRF"] = function(_fragment,_flags,_index) { - this.floats = []; - this.shift = []; - this.fragment = _fragment; - this.flags = _flags; - this.index = _index; -}; -xrfragment_XRF.__name__ = true; -xrfragment_XRF.set = function(flag,flags) { - return flags | flag; -}; -xrfragment_XRF.unset = function(flag,flags) { - return flags & ~flag; -}; -xrfragment_XRF.prototype = { - is: function(flag) { - var v = this.flags; - if(!(typeof(v) == "number" && ((v | 0) === v))) { - this.flags = 0; - } - return (this.flags & flag) != 0; - } - ,validate: function(value) { - this.guessType(this,value); - var ok = true; - if(value.length == 0 && !this.is(xrfragment_XRF.T_PREDEFINED_VIEW)) { - ok = false; - } - if(!this.is(xrfragment_XRF.T_FLOAT) && this.is(xrfragment_XRF.T_VECTOR2) && !(typeof(this.x) == "number" && typeof(this.y) == "number")) { - ok = false; - } - if(!(this.is(xrfragment_XRF.T_VECTOR2) || this.is(xrfragment_XRF.T_STRING)) && this.is(xrfragment_XRF.T_VECTOR3) && !(typeof(this.x) == "number" && typeof(this.y) == "number" && typeof(this.z) == "number")) { - ok = false; - } - return ok; - } - ,guessType: function(v,str) { - v.string = str; - if(xrfragment_XRF.isReset.match(v.fragment)) { - v.reset = true; - } - if(v.fragment == "loop") { - v.loop = true; - } - if(typeof(str) != "string") { - return; - } - if(str.length > 0) { - if(xrfragment_XRF.isXRFScheme.match(str)) { - v.xrfScheme = true; - str = str.replace(xrfragment_XRF.isXRFScheme.r,""); - v.string = str; - } - if(str.split(",").length > 1) { - var xyzn = str.split(","); - if(xyzn.length > 0) { - v.x = parseFloat(xyzn[0]); - } - if(xyzn.length > 1) { - v.y = parseFloat(xyzn[1]); - } - if(xyzn.length > 2) { - v.z = parseFloat(xyzn[2]); - } - var _g = 0; - var _g1 = xyzn.length; - while(_g < _g1) { - var i = _g++; - v.shift.push(xrfragment_XRF.isShift.match(xyzn[i])); - v.floats.push(parseFloat(xyzn[i].replace(xrfragment_XRF.isShift.r,""))); - } - } - if(xrfragment_XRF.isColor.match(str)) { - v.color = str; - } - if(xrfragment_XRF.isFloat.match(str)) { - v.x = parseFloat(str); - v.float = v.x; - } - if(xrfragment_XRF.isInt.match(str)) { - v.int = Std.parseInt(str); - v.x = v.int; - v.floats.push(v.x); - } - v.filter = new xrfragment_Filter(v.fragment + "=" + v.string); - } else { - v.filter = new xrfragment_Filter(v.fragment); - } - } -}; -function $getIterator(o) { if( o instanceof Array ) return new haxe_iterators_ArrayIterator(o); else return o.iterator(); } -function $bind(o,m) { if( m == null ) return null; if( m.__id__ == null ) m.__id__ = $global.$haxeUID++; var f; if( o.hx__closures__ == null ) o.hx__closures__ = {}; else f = o.hx__closures__[m.__id__]; if( f == null ) { f = m.bind(o); o.hx__closures__[m.__id__] = f; } return f; } -$global.$haxeUID |= 0; -if(typeof(performance) != "undefined" ? typeof(performance.now) == "function" : false) { - HxOverrides.now = performance.now.bind(performance); -} -if( String.fromCodePoint == null ) String.fromCodePoint = function(c) { return c < 0x10000 ? String.fromCharCode(c) : String.fromCharCode((c>>10)+0xD7C0)+String.fromCharCode((c&0x3FF)+0xDC00); } -String.__name__ = true; -Array.__name__ = true; -js_Boot.__toStr = ({ }).toString; -haxe_Template.splitter = new EReg("(::[A-Za-z0-9_ ()&|!+=/><*.\"-]+::|\\$\\$([A-Za-z0-9_-]+)\\()",""); -haxe_Template.expr_splitter = new EReg("(\\(|\\)|[ \r\n\t]*\"[^\"]*\"[ \r\n\t]*|[!+=/><*.&|-]+)",""); -haxe_Template.expr_trim = new EReg("^[ ]*([^ ]+)[ ]*$",""); -haxe_Template.expr_int = new EReg("^[0-9]+$",""); -haxe_Template.expr_float = new EReg("^([+-]?)(?=\\d|,\\d)\\d*(,\\d*)?([Ee]([+-]?\\d+))?$",""); -haxe_Template.globals = { }; -haxe_Template.hxKeepArrayIterator = new haxe_iterators_ArrayIterator([]); -xrfragment_Parser.error = ""; -xrfragment_Parser.debug = false; -xrfragment_URI.__meta__ = { statics : { template : { keep : null}}}; -xrfragment_URI._parts = ["source","scheme","authority","userInfo","user","password","host","port","relative","path","directory","file","query","fragment"]; -xrfragment_XRF.IMMUTABLE = 1; -xrfragment_XRF.PROP_BIND = 2; -xrfragment_XRF.QUERY_OPERATOR = 4; -xrfragment_XRF.PROMPT = 8; -xrfragment_XRF.CUSTOMFRAG = 16; -xrfragment_XRF.NAVIGATOR = 32; -xrfragment_XRF.METADATA = 64; -xrfragment_XRF.PV_OVERRIDE = 128; -xrfragment_XRF.PV_EXECUTE = 256; -xrfragment_XRF.T_COLOR = 8192; -xrfragment_XRF.T_INT = 16384; -xrfragment_XRF.T_FLOAT = 32768; -xrfragment_XRF.T_VECTOR2 = 65536; -xrfragment_XRF.T_VECTOR3 = 131072; -xrfragment_XRF.T_URL = 262144; -xrfragment_XRF.T_PREDEFINED_VIEW = 524288; -xrfragment_XRF.T_STRING = 1048576; -xrfragment_XRF.T_MEDIAFRAG = 2097152; -xrfragment_XRF.T_DYNAMICKEY = 4194304; -xrfragment_XRF.T_DYNAMICKEYVALUE = 8388608; -xrfragment_XRF.isColor = new EReg("^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$",""); -xrfragment_XRF.isInt = new EReg("^[-0-9]+$",""); -xrfragment_XRF.isFloat = new EReg("^[-0-9]+\\.[0-9]+$",""); -xrfragment_XRF.isVector = new EReg("([,]+|\\w)",""); -xrfragment_XRF.isUrl = new EReg("(://)?\\..*",""); -xrfragment_XRF.isUrlOrPretypedView = new EReg("(^#|://)?\\..*",""); -xrfragment_XRF.isString = new EReg(".*",""); -xrfragment_XRF.operators = new EReg("(^[-]|^[!]|[\\*]$)","g"); -xrfragment_XRF.isProp = new EReg("^.*=[><=]?",""); -xrfragment_XRF.isExclude = new EReg("^-",""); -xrfragment_XRF.isDeep = new EReg("\\*",""); -xrfragment_XRF.isNumber = new EReg("^[0-9\\.]+$",""); -xrfragment_XRF.isMediaFrag = new EReg("^([0-9\\.,\\*+-]+)$",""); -xrfragment_XRF.isReset = new EReg("^!",""); -xrfragment_XRF.isShift = new EReg("^(\\+|--)",""); -xrfragment_XRF.isXRFScheme = new EReg("^xrf://",""); -})(typeof window != "undefined" ? window : typeof global != "undefined" ? global : typeof self != "undefined" ? self : this); -var xrfragment = $hx_exports["xrfragment"]; -export default xrfragment; -// Generated by Haxe 4.3.3 -var $hx_exports = typeof exports != "undefined" ? exports : typeof window != "undefined" ? window : typeof self != "undefined" ? self : this; -(function ($global) { "use strict"; -$hx_exports["xrfragment"] = $hx_exports["xrfragment"] || {}; -var $estr = function() { return js_Boot.__string_rec(this,''); },$hxEnums = $hxEnums || {},$_; -function $extend(from, fields) { - var proto = Object.create(from); - for (var name in fields) proto[name] = fields[name]; - if( fields.toString !== Object.prototype.toString ) proto.toString = fields.toString; - return proto; -} -var EReg = function(r,opt) { - this.r = new RegExp(r,opt.split("u").join("")); -}; -EReg.__name__ = true; -EReg.prototype = { - match: function(s) { - if(this.r.global) { - this.r.lastIndex = 0; - } - this.r.m = this.r.exec(s); - this.r.s = s; - return this.r.m != null; - } - ,matched: function(n) { - if(this.r.m != null && n >= 0 && n < this.r.m.length) { - return this.r.m[n]; - } else { - throw haxe_Exception.thrown("EReg::matched"); - } - } - ,matchedRight: function() { - if(this.r.m == null) { - throw haxe_Exception.thrown("No string matched"); - } - var sz = this.r.m.index + this.r.m[0].length; - return HxOverrides.substr(this.r.s,sz,this.r.s.length - sz); - } - ,matchedPos: function() { - if(this.r.m == null) { - throw haxe_Exception.thrown("No string matched"); - } - return { pos : this.r.m.index, len : this.r.m[0].length}; - } - ,split: function(s) { - var d = "#__delim__#"; - return s.replace(this.r,d).split(d); - } -}; -var HxOverrides = function() { }; -HxOverrides.__name__ = true; -HxOverrides.cca = function(s,index) { - var x = s.charCodeAt(index); - if(x != x) { - return undefined; - } - return x; -}; -HxOverrides.substr = function(s,pos,len) { - if(len == null) { - len = s.length; - } else if(len < 0) { - if(pos == 0) { - len = s.length + len; - } else { - return ""; - } - } - return s.substr(pos,len); -}; -HxOverrides.now = function() { - return Date.now(); -}; -Math.__name__ = true; -var Reflect = function() { }; -Reflect.__name__ = true; -Reflect.field = function(o,field) { - try { - return o[field]; - } catch( _g ) { - return null; - } -}; -Reflect.getProperty = function(o,field) { - var tmp; - if(o == null) { - return null; - } else { - var tmp1; - if(o.__properties__) { - tmp = o.__properties__["get_" + field]; - tmp1 = tmp; - } else { - tmp1 = false; - } - if(tmp1) { - return o[tmp](); - } else { - return o[field]; - } - } -}; -Reflect.fields = function(o) { - var a = []; - if(o != null) { - var hasOwnProperty = Object.prototype.hasOwnProperty; - for( var f in o ) { - if(f != "__id__" && f != "hx__closures__" && hasOwnProperty.call(o,f)) { - a.push(f); - } - } - } - return a; -}; -Reflect.isObject = function(v) { - if(v == null) { - return false; - } - var t = typeof(v); - if(!(t == "string" || t == "object" && v.__enum__ == null)) { - if(t == "function") { - return (v.__name__ || v.__ename__) != null; - } else { - return false; - } - } else { - return true; - } -}; -Reflect.deleteField = function(o,field) { - if(!Object.prototype.hasOwnProperty.call(o,field)) { - return false; - } - delete(o[field]); - return true; -}; -Reflect.copy = function(o) { - if(o == null) { - return null; - } - var o2 = { }; - var _g = 0; - var _g1 = Reflect.fields(o); - while(_g < _g1.length) { - var f = _g1[_g]; - ++_g; - o2[f] = Reflect.field(o,f); - } - return o2; -}; -var Std = function() { }; -Std.__name__ = true; -Std.string = function(s) { - return js_Boot.__string_rec(s,""); -}; -Std.parseInt = function(x) { - var v = parseInt(x); - if(isNaN(v)) { - return null; - } - return v; -}; -var StringBuf = function() { - this.b = ""; -}; -StringBuf.__name__ = true; -var StringTools = function() { }; -StringTools.__name__ = true; -StringTools.isSpace = function(s,pos) { - var c = HxOverrides.cca(s,pos); - if(!(c > 8 && c < 14)) { - return c == 32; - } else { - return true; - } -}; -StringTools.ltrim = function(s) { - var l = s.length; - var r = 0; - while(r < l && StringTools.isSpace(s,r)) ++r; - if(r > 0) { - return HxOverrides.substr(s,r,l - r); - } else { - return s; - } -}; -StringTools.rtrim = function(s) { - var l = s.length; - var r = 0; - while(r < l && StringTools.isSpace(s,l - r - 1)) ++r; - if(r > 0) { - return HxOverrides.substr(s,0,l - r); - } else { - return s; - } -}; -StringTools.trim = function(s) { - return StringTools.ltrim(StringTools.rtrim(s)); -}; -StringTools.replace = function(s,sub,by) { - return s.split(sub).join(by); -}; -var haxe_Exception = function(message,previous,native) { - Error.call(this,message); - this.message = message; - this.__previousException = previous; - this.__nativeException = native != null ? native : this; -}; -haxe_Exception.__name__ = true; -haxe_Exception.caught = function(value) { - if(((value) instanceof haxe_Exception)) { - return value; - } else if(((value) instanceof Error)) { - return new haxe_Exception(value.message,null,value); - } else { - return new haxe_ValueException(value,null,value); - } -}; -haxe_Exception.thrown = function(value) { - if(((value) instanceof haxe_Exception)) { - return value.get_native(); - } else if(((value) instanceof Error)) { - return value; - } else { - var e = new haxe_ValueException(value); - return e; - } -}; -haxe_Exception.__super__ = Error; -haxe_Exception.prototype = $extend(Error.prototype,{ - unwrap: function() { - return this.__nativeException; - } - ,get_native: function() { - return this.__nativeException; - } - ,__properties__: {get_native:"get_native"} -}); -var haxe__$Template_TemplateExpr = $hxEnums["haxe._Template.TemplateExpr"] = { __ename__:true,__constructs__:null - ,OpVar: ($_=function(v) { return {_hx_index:0,v:v,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpVar",$_.__params__ = ["v"],$_) - ,OpExpr: ($_=function(expr) { return {_hx_index:1,expr:expr,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpExpr",$_.__params__ = ["expr"],$_) - ,OpIf: ($_=function(expr,eif,eelse) { return {_hx_index:2,expr:expr,eif:eif,eelse:eelse,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpIf",$_.__params__ = ["expr","eif","eelse"],$_) - ,OpStr: ($_=function(str) { return {_hx_index:3,str:str,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpStr",$_.__params__ = ["str"],$_) - ,OpBlock: ($_=function(l) { return {_hx_index:4,l:l,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpBlock",$_.__params__ = ["l"],$_) - ,OpForeach: ($_=function(expr,loop) { return {_hx_index:5,expr:expr,loop:loop,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpForeach",$_.__params__ = ["expr","loop"],$_) - ,OpMacro: ($_=function(name,params) { return {_hx_index:6,name:name,params:params,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpMacro",$_.__params__ = ["name","params"],$_) -}; -haxe__$Template_TemplateExpr.__constructs__ = [haxe__$Template_TemplateExpr.OpVar,haxe__$Template_TemplateExpr.OpExpr,haxe__$Template_TemplateExpr.OpIf,haxe__$Template_TemplateExpr.OpStr,haxe__$Template_TemplateExpr.OpBlock,haxe__$Template_TemplateExpr.OpForeach,haxe__$Template_TemplateExpr.OpMacro]; -var haxe_iterators_ArrayIterator = function(array) { - this.current = 0; - this.array = array; -}; -haxe_iterators_ArrayIterator.__name__ = true; -haxe_iterators_ArrayIterator.prototype = { - hasNext: function() { - return this.current < this.array.length; - } - ,next: function() { - return this.array[this.current++]; - } -}; -var haxe_Template = function(str) { - var tokens = this.parseTokens(str); - this.expr = this.parseBlock(tokens); - if(!tokens.isEmpty()) { - throw haxe_Exception.thrown("Unexpected '" + Std.string(tokens.first().s) + "'"); - } -}; -haxe_Template.__name__ = true; -haxe_Template.prototype = { - execute: function(context,macros) { - this.macros = macros == null ? { } : macros; - this.context = context; - this.stack = new haxe_ds_List(); - this.buf = new StringBuf(); - this.run(this.expr); - return this.buf.b; - } - ,resolve: function(v) { - if(v == "__current__") { - return this.context; - } - if(Reflect.isObject(this.context)) { - var value = Reflect.getProperty(this.context,v); - if(value != null || Object.prototype.hasOwnProperty.call(this.context,v)) { - return value; - } - } - var _g_head = this.stack.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var ctx = val; - var value = Reflect.getProperty(ctx,v); - if(value != null || Object.prototype.hasOwnProperty.call(ctx,v)) { - return value; - } - } - return Reflect.field(haxe_Template.globals,v); - } - ,parseTokens: function(data) { - var tokens = new haxe_ds_List(); - while(haxe_Template.splitter.match(data)) { - var p = haxe_Template.splitter.matchedPos(); - if(p.pos > 0) { - tokens.add({ p : HxOverrides.substr(data,0,p.pos), s : true, l : null}); - } - if(HxOverrides.cca(data,p.pos) == 58) { - tokens.add({ p : HxOverrides.substr(data,p.pos + 2,p.len - 4), s : false, l : null}); - data = haxe_Template.splitter.matchedRight(); - continue; - } - var parp = p.pos + p.len; - var npar = 1; - var params = []; - var part = ""; - while(true) { - var c = HxOverrides.cca(data,parp); - ++parp; - if(c == 40) { - ++npar; - } else if(c == 41) { - --npar; - if(npar <= 0) { - break; - } - } else if(c == null) { - throw haxe_Exception.thrown("Unclosed macro parenthesis"); - } - if(c == 44 && npar == 1) { - params.push(part); - part = ""; - } else { - part += String.fromCodePoint(c); - } - } - params.push(part); - tokens.add({ p : haxe_Template.splitter.matched(2), s : false, l : params}); - data = HxOverrides.substr(data,parp,data.length - parp); - } - if(data.length > 0) { - tokens.add({ p : data, s : true, l : null}); - } - return tokens; - } - ,parseBlock: function(tokens) { - var l = new haxe_ds_List(); - while(true) { - var t = tokens.first(); - if(t == null) { - break; - } - if(!t.s && (t.p == "end" || t.p == "else" || HxOverrides.substr(t.p,0,7) == "elseif ")) { - break; - } - l.add(this.parse(tokens)); - } - if(l.length == 1) { - return l.first(); - } - return haxe__$Template_TemplateExpr.OpBlock(l); - } - ,parse: function(tokens) { - var t = tokens.pop(); - var p = t.p; - if(t.s) { - return haxe__$Template_TemplateExpr.OpStr(p); - } - if(t.l != null) { - var pe = new haxe_ds_List(); - var _g = 0; - var _g1 = t.l; - while(_g < _g1.length) { - var p1 = _g1[_g]; - ++_g; - pe.add(this.parseBlock(this.parseTokens(p1))); - } - return haxe__$Template_TemplateExpr.OpMacro(p,pe); - } - var kwdEnd = function(kwd) { - var pos = -1; - var length = kwd.length; - if(HxOverrides.substr(p,0,length) == kwd) { - pos = length; - var _g_offset = 0; - var _g_s = HxOverrides.substr(p,length,null); - while(_g_offset < _g_s.length) { - var c = _g_s.charCodeAt(_g_offset++); - if(c == 32) { - ++pos; - } else { - break; - } - } - } - return pos; - }; - var pos = kwdEnd("if"); - if(pos > 0) { - p = HxOverrides.substr(p,pos,p.length - pos); - var e = this.parseExpr(p); - var eif = this.parseBlock(tokens); - var t = tokens.first(); - var eelse; - if(t == null) { - throw haxe_Exception.thrown("Unclosed 'if'"); - } - if(t.p == "end") { - tokens.pop(); - eelse = null; - } else if(t.p == "else") { - tokens.pop(); - eelse = this.parseBlock(tokens); - t = tokens.pop(); - if(t == null || t.p != "end") { - throw haxe_Exception.thrown("Unclosed 'else'"); - } - } else { - t.p = HxOverrides.substr(t.p,4,t.p.length - 4); - eelse = this.parse(tokens); - } - return haxe__$Template_TemplateExpr.OpIf(e,eif,eelse); - } - var pos = kwdEnd("foreach"); - if(pos >= 0) { - p = HxOverrides.substr(p,pos,p.length - pos); - var e = this.parseExpr(p); - var efor = this.parseBlock(tokens); - var t = tokens.pop(); - if(t == null || t.p != "end") { - throw haxe_Exception.thrown("Unclosed 'foreach'"); - } - return haxe__$Template_TemplateExpr.OpForeach(e,efor); - } - if(haxe_Template.expr_splitter.match(p)) { - return haxe__$Template_TemplateExpr.OpExpr(this.parseExpr(p)); - } - return haxe__$Template_TemplateExpr.OpVar(p); - } - ,parseExpr: function(data) { - var l = new haxe_ds_List(); - var expr = data; - while(haxe_Template.expr_splitter.match(data)) { - var p = haxe_Template.expr_splitter.matchedPos(); - var k = p.pos + p.len; - if(p.pos != 0) { - l.add({ p : HxOverrides.substr(data,0,p.pos), s : true}); - } - var p1 = haxe_Template.expr_splitter.matched(0); - l.add({ p : p1, s : p1.indexOf("\"") >= 0}); - data = haxe_Template.expr_splitter.matchedRight(); - } - if(data.length != 0) { - var _g_offset = 0; - var _g_s = data; - while(_g_offset < _g_s.length) { - var _g_key = _g_offset; - var _g_value = _g_s.charCodeAt(_g_offset++); - var i = _g_key; - var c = _g_value; - if(c != 32) { - l.add({ p : HxOverrides.substr(data,i,null), s : true}); - break; - } - } - } - var e; - try { - e = this.makeExpr(l); - if(!l.isEmpty()) { - throw haxe_Exception.thrown(l.first().p); - } - } catch( _g ) { - var _g1 = haxe_Exception.caught(_g).unwrap(); - if(typeof(_g1) == "string") { - var s = _g1; - throw haxe_Exception.thrown("Unexpected '" + s + "' in " + expr); - } else { - throw _g; - } - } - return function() { - try { - return e(); - } catch( _g ) { - var exc = haxe_Exception.caught(_g).unwrap(); - throw haxe_Exception.thrown("Error : " + Std.string(exc) + " in " + expr); - } - }; - } - ,makeConst: function(v) { - haxe_Template.expr_trim.match(v); - v = haxe_Template.expr_trim.matched(1); - if(HxOverrides.cca(v,0) == 34) { - var str = HxOverrides.substr(v,1,v.length - 2); - return function() { - return str; - }; - } - if(haxe_Template.expr_int.match(v)) { - var i = Std.parseInt(v); - return function() { - return i; - }; - } - if(haxe_Template.expr_float.match(v)) { - var f = parseFloat(v); - return function() { - return f; - }; - } - var me = this; - return function() { - return me.resolve(v); - }; - } - ,makePath: function(e,l) { - var p = l.first(); - if(p == null || p.p != ".") { - return e; - } - l.pop(); - var field = l.pop(); - if(field == null || !field.s) { - throw haxe_Exception.thrown(field.p); - } - var f = field.p; - haxe_Template.expr_trim.match(f); - f = haxe_Template.expr_trim.matched(1); - return this.makePath(function() { - return Reflect.field(e(),f); - },l); - } - ,makeExpr: function(l) { - return this.makePath(this.makeExpr2(l),l); - } - ,skipSpaces: function(l) { - var p = l.first(); - while(p != null) { - var _g_offset = 0; - var _g_s = p.p; - while(_g_offset < _g_s.length) { - var c = _g_s.charCodeAt(_g_offset++); - if(c != 32) { - return; - } - } - l.pop(); - p = l.first(); - } - } - ,makeExpr2: function(l) { - this.skipSpaces(l); - var p = l.pop(); - this.skipSpaces(l); - if(p == null) { - throw haxe_Exception.thrown(""); - } - if(p.s) { - return this.makeConst(p.p); - } - switch(p.p) { - case "!": - var e = this.makeExpr(l); - return function() { - var v = e(); - if(v != null) { - return v == false; - } else { - return true; - } - }; - case "(": - this.skipSpaces(l); - var e1 = this.makeExpr(l); - this.skipSpaces(l); - var p1 = l.pop(); - if(p1 == null || p1.s) { - throw haxe_Exception.thrown(p1); - } - if(p1.p == ")") { - return e1; - } - this.skipSpaces(l); - var e2 = this.makeExpr(l); - this.skipSpaces(l); - var p2 = l.pop(); - this.skipSpaces(l); - if(p2 == null || p2.p != ")") { - throw haxe_Exception.thrown(p2); - } - switch(p1.p) { - case "!=": - return function() { - return e1() != e2(); - }; - case "&&": - return function() { - return e1() && e2(); - }; - case "*": - return function() { - return e1() * e2(); - }; - case "+": - return function() { - return e1() + e2(); - }; - case "-": - return function() { - return e1() - e2(); - }; - case "/": - return function() { - return e1() / e2(); - }; - case "<": - return function() { - return e1() < e2(); - }; - case "<=": - return function() { - return e1() <= e2(); - }; - case "==": - return function() { - return e1() == e2(); - }; - case ">": - return function() { - return e1() > e2(); - }; - case ">=": - return function() { - return e1() >= e2(); - }; - case "||": - return function() { - return e1() || e2(); - }; - default: - throw haxe_Exception.thrown("Unknown operation " + p1.p); - } - break; - case "-": - var e3 = this.makeExpr(l); - return function() { - return -e3(); - }; - } - throw haxe_Exception.thrown(p.p); - } - ,run: function(e) { - switch(e._hx_index) { - case 0: - var v = e.v; - var _this = this.buf; - var x = Std.string(this.resolve(v)); - _this.b += Std.string(x); - break; - case 1: - var e1 = e.expr; - var _this = this.buf; - var x = Std.string(e1()); - _this.b += Std.string(x); - break; - case 2: - var e1 = e.expr; - var eif = e.eif; - var eelse = e.eelse; - var v = e1(); - if(v == null || v == false) { - if(eelse != null) { - this.run(eelse); - } - } else { - this.run(eif); - } - break; - case 3: - var str = e.str; - this.buf.b += str == null ? "null" : "" + str; - break; - case 4: - var l = e.l; - var _g_head = l.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var e1 = val; - this.run(e1); - } - break; - case 5: - var e1 = e.expr; - var loop = e.loop; - var v = e1(); - try { - var x = $getIterator(v); - if(x.hasNext == null) { - throw haxe_Exception.thrown(null); - } - v = x; - } catch( _g ) { - try { - if(v.hasNext == null) { - throw haxe_Exception.thrown(null); - } - } catch( _g1 ) { - throw haxe_Exception.thrown("Cannot iter on " + Std.string(v)); - } - } - this.stack.push(this.context); - var v1 = v; - var ctx = v1; - while(ctx.hasNext()) { - var ctx1 = ctx.next(); - this.context = ctx1; - this.run(loop); - } - this.context = this.stack.pop(); - break; - case 6: - var m = e.name; - var params = e.params; - var v = Reflect.field(this.macros,m); - var pl = []; - var old = this.buf; - pl.push($bind(this,this.resolve)); - var _g_head = params.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var p = val; - if(p._hx_index == 0) { - var v1 = p.v; - pl.push(this.resolve(v1)); - } else { - this.buf = new StringBuf(); - this.run(p); - pl.push(this.buf.b); - } - } - this.buf = old; - try { - var _this = this.buf; - var x = Std.string(v.apply(this.macros,pl)); - _this.b += Std.string(x); - } catch( _g ) { - var e = haxe_Exception.caught(_g).unwrap(); - var plstr; - try { - plstr = pl.join(","); - } catch( _g1 ) { - plstr = "???"; - } - var msg = "Macro call " + m + "(" + plstr + ") failed (" + Std.string(e) + ")"; - throw haxe_Exception.thrown(msg); - } - break; - } - } -}; -var haxe_ValueException = function(value,previous,native) { - haxe_Exception.call(this,String(value),previous,native); - this.value = value; -}; -haxe_ValueException.__name__ = true; -haxe_ValueException.__super__ = haxe_Exception; -haxe_ValueException.prototype = $extend(haxe_Exception.prototype,{ - unwrap: function() { - return this.value; - } -}); -var haxe_ds_List = function() { - this.length = 0; -}; -haxe_ds_List.__name__ = true; -haxe_ds_List.prototype = { - add: function(item) { - var x = new haxe_ds__$List_ListNode(item,null); - if(this.h == null) { - this.h = x; - } else { - this.q.next = x; - } - this.q = x; - this.length++; - } - ,push: function(item) { - var x = new haxe_ds__$List_ListNode(item,this.h); - this.h = x; - if(this.q == null) { - this.q = x; - } - this.length++; - } - ,first: function() { - if(this.h == null) { - return null; - } else { - return this.h.item; - } - } - ,pop: function() { - if(this.h == null) { - return null; - } - var x = this.h.item; - this.h = this.h.next; - if(this.h == null) { - this.q = null; - } - this.length--; - return x; - } - ,isEmpty: function() { - return this.h == null; - } - ,toString: function() { - var s_b = ""; - var first = true; - var l = this.h; - s_b += "{"; - while(l != null) { - if(first) { - first = false; - } else { - s_b += ", "; - } - s_b += Std.string(Std.string(l.item)); - l = l.next; - } - s_b += "}"; - return s_b; - } -}; -var haxe_ds__$List_ListNode = function(item,next) { - this.item = item; - this.next = next; -}; -haxe_ds__$List_ListNode.__name__ = true; -var js_Boot = function() { }; -js_Boot.__name__ = true; -js_Boot.__string_rec = function(o,s) { - if(o == null) { - return "null"; - } - if(s.length >= 5) { - return "<...>"; - } - var t = typeof(o); - if(t == "function" && (o.__name__ || o.__ename__)) { - t = "object"; - } - switch(t) { - case "function": - return ""; - case "object": - if(o.__enum__) { - var e = $hxEnums[o.__enum__]; - var con = e.__constructs__[o._hx_index]; - var n = con._hx_name; - if(con.__params__) { - s = s + "\t"; - return n + "(" + ((function($this) { - var $r; - var _g = []; - { - var _g1 = 0; - var _g2 = con.__params__; - while(true) { - if(!(_g1 < _g2.length)) { - break; - } - var p = _g2[_g1]; - _g1 = _g1 + 1; - _g.push(js_Boot.__string_rec(o[p],s)); - } - } - $r = _g; - return $r; - }(this))).join(",") + ")"; - } else { - return n; - } - } - if(((o) instanceof Array)) { - var str = "["; - s += "\t"; - var _g = 0; - var _g1 = o.length; - while(_g < _g1) { - var i = _g++; - str += (i > 0 ? "," : "") + js_Boot.__string_rec(o[i],s); - } - str += "]"; - return str; - } - var tostr; - try { - tostr = o.toString; - } catch( _g ) { - return "???"; - } - if(tostr != null && tostr != Object.toString && typeof(tostr) == "function") { - var s2 = o.toString(); - if(s2 != "[object Object]") { - return s2; - } - } - var str = "{\n"; - s += "\t"; - var hasp = o.hasOwnProperty != null; - var k = null; - for( k in o ) { - if(hasp && !o.hasOwnProperty(k)) { - continue; - } - if(k == "prototype" || k == "__class__" || k == "__super__" || k == "__interfaces__" || k == "__properties__") { - continue; - } - if(str.length != 2) { - str += ", \n"; - } - str += s + k + " : " + js_Boot.__string_rec(o[k],s); - } - s = s.substring(1); - str += "\n" + s + "}"; - return str; - case "string": - return o; - default: - return String(o); - } -}; -var xrfragment_Filter = $hx_exports["xrfragment"]["Filter"] = function(str) { - this.q = { }; - this.str = ""; - if(str != null) { - this.parse(str); - } -}; -xrfragment_Filter.__name__ = true; -xrfragment_Filter.prototype = { - toObject: function() { - return Reflect.copy(this.q); - } - ,get: function() { - return Reflect.copy(this.q); - } - ,parse: function(str) { - var token = str.split(" "); - var q = { }; - var process = function(str,prefix) { - if(prefix == null) { - prefix = ""; - } - str = StringTools.trim(str); - var k = str.split("=")[0]; - var v = str.split("=")[1]; - var filter = { }; - if(q[prefix + k]) { - filter = q[prefix + k]; - } - if(xrfragment_XRF.isProp.match(str)) { - var oper = ""; - if(str.indexOf(">") != -1) { - oper = ">"; - } - if(str.indexOf("<") != -1) { - oper = "<"; - } - if(xrfragment_XRF.isExclude.match(k)) { - k = HxOverrides.substr(k,1,null); - } - v = HxOverrides.substr(v,oper.length,null); - if(oper.length == 0) { - oper = "="; - } - var rule = { }; - if(xrfragment_XRF.isNumber.match(v)) { - rule[oper] = parseFloat(v); - } else { - rule[oper] = v; - } - q["expr"] = rule; - } - var value = xrfragment_XRF.isDeep.match(str) ? k.split("*").length - 1 : 0; - q["deep"] = value; - var value = xrfragment_XRF.isExclude.match(str) ? false : true; - q["show"] = value; - var value = k.replace(xrfragment_XRF.operators.r,""); - q["key"] = value; - q["value"] = v; - }; - var _g = 0; - var _g1 = token.length; - while(_g < _g1) { - var i = _g++; - process(token[i]); - } - return this.q = q; - } - ,test: function(obj) { - var qualify = false; - var _g = 0; - var _g1 = Reflect.fields(obj); - while(_g < _g1.length) { - var k = _g1[_g]; - ++_g; - var v = Std.string(Reflect.field(obj,k)); - if(this.testProperty(k,v)) { - qualify = true; - } - } - var _g = 0; - var _g1 = Reflect.fields(obj); - while(_g < _g1.length) { - var k = _g1[_g]; - ++_g; - var v = Std.string(Reflect.field(obj,k)); - if(this.testProperty(k,v,true)) { - qualify = false; - } - } - return qualify; - } - ,testProperty: function(property,value,exclude) { - var conds = 0; - var fails = 0; - var qualify = 0; - var testprop = function(expr) { - conds += 1; - fails += expr ? 0 : 1; - return expr; - }; - if(this.q[value] != null) { - var v = this.q[value]; - if(v[property] != null) { - return v[property]; - } - } - if(Reflect.field(this.q,"expr")) { - var f = Reflect.field(this.q,"expr"); - if(!Reflect.field(this.q,"show")) { - if(Reflect.field(f,"!=") != null && testprop((value == null ? "null" : "" + value) == Std.string(Reflect.field(f,"!="))) && exclude) { - ++qualify; - } - } else { - if(Reflect.field(f,"*") != null && testprop(parseFloat(value) != null)) { - ++qualify; - } - if(Reflect.field(f,">") != null && testprop(parseFloat(value) >= parseFloat(Reflect.field(f,">")))) { - ++qualify; - } - if(Reflect.field(f,"<") != null && testprop(parseFloat(value) <= parseFloat(Reflect.field(f,"<")))) { - ++qualify; - } - if(Reflect.field(f,"=") != null && (testprop(value == Reflect.field(f,"=")) || testprop(parseFloat(value) == parseFloat(Reflect.field(f,"="))))) { - ++qualify; - } - } - } - return qualify > 0; - } -}; -var xrfragment_Parser = $hx_exports["xrfragment"]["Parser"] = function() { }; -xrfragment_Parser.__name__ = true; -xrfragment_Parser.parse = function(key,value,store,index) { - var Frag_h = Object.create(null); - Frag_h["#"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_PREDEFINED_VIEW | xrfragment_XRF.PV_EXECUTE; - Frag_h["src"] = xrfragment_XRF.T_URL; - Frag_h["href"] = xrfragment_XRF.T_URL | xrfragment_XRF.T_PREDEFINED_VIEW; - Frag_h["tag"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["pos"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_VECTOR3 | xrfragment_XRF.T_STRING | xrfragment_XRF.METADATA | xrfragment_XRF.NAVIGATOR; - Frag_h["rot"] = xrfragment_XRF.QUERY_OPERATOR | xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_VECTOR3 | xrfragment_XRF.METADATA | xrfragment_XRF.NAVIGATOR; - Frag_h["t"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_FLOAT | xrfragment_XRF.T_VECTOR2 | xrfragment_XRF.NAVIGATOR | xrfragment_XRF.METADATA; - Frag_h["s"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_MEDIAFRAG; - Frag_h["loop"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_PREDEFINED_VIEW; - Frag_h["uv"] = xrfragment_XRF.T_VECTOR2 | xrfragment_XRF.T_MEDIAFRAG; - Frag_h["namespace"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["SPDX"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["unit"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["description"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - var keyStripped = key.replace(xrfragment_XRF.operators.r,""); - var isPVDynamic = key.length > 0 && !Object.prototype.hasOwnProperty.call(Frag_h,key); - if(isPVDynamic) { - var v = new xrfragment_XRF(key,xrfragment_XRF.PV_EXECUTE | xrfragment_XRF.NAVIGATOR,index); - v.validate(value); - v.flags = xrfragment_XRF.set(xrfragment_XRF.T_DYNAMICKEY,v.flags); - if(!Object.prototype.hasOwnProperty.call(Frag_h,key)) { - v.flags = xrfragment_XRF.set(xrfragment_XRF.CUSTOMFRAG,v.flags); - } - if(value.length == 0) { - v.flags = xrfragment_XRF.set(xrfragment_XRF.T_DYNAMICKEYVALUE,v.flags); - } - store[keyStripped] = v; - return true; - } - var v = new xrfragment_XRF(key,Frag_h[key],index); - if(Object.prototype.hasOwnProperty.call(Frag_h,key)) { - if(!v.validate(value)) { - console.log("src/xrfragment/Parser.hx:67:","⚠ fragment '" + key + "' has incompatible value (" + value + ")"); - return false; - } - store[keyStripped] = v; - if(xrfragment_Parser.debug) { - console.log("src/xrfragment/Parser.hx:71:","✔ " + key + ": " + v.string); - } - } else { - if(typeof(value) == "string") { - v.guessType(v,value); - } - v.flags = xrfragment_XRF.set(xrfragment_XRF.CUSTOMFRAG,v.flags); - store[keyStripped] = v; - } - return true; -}; -xrfragment_Parser.getMetaData = function() { - var meta = { title : ["title","og:title","dc.title"], description : ["aria-description","og:description","dc.description"], author : ["author","dc.creator"], publisher : ["publisher","dc.publisher"], website : ["og:site_name","og:url","dc.publisher"], license : ["SPDX","dc.rights"]}; - return meta; -}; -var xrfragment_URI = $hx_exports["xrfragment"]["URI"] = function() { - this.XRF = { }; - this.hash = { }; - this.fragment = ""; -}; -xrfragment_URI.__name__ = true; -xrfragment_URI.parseFragment = function(url,filter) { - var store = { }; - if(url == null || url.indexOf("#") == -1) { - return store; - } - var fragment = url.split("#"); - var splitArray = fragment[1].split("&"); - var _g = 0; - var _g1 = splitArray.length; - while(_g < _g1) { - var i = _g++; - var splitByEqual = splitArray[i].split("="); - var regexPlus = new EReg("\\+","g"); - var key = splitByEqual[0]; - var value = ""; - if(splitByEqual.length > 1) { - if(xrfragment_XRF.isVector.match(splitByEqual[1])) { - value = splitByEqual[1]; - } else { - var s = regexPlus.split(splitByEqual[1]).join(" "); - value = decodeURIComponent(s.split("+").join(" ")); - } - } - var ok = xrfragment_Parser.parse(key,value,store,i); - } - if(filter != null && filter != 0) { - var _g = 0; - var _g1 = Reflect.fields(store); - while(_g < _g1.length) { - var key = _g1[_g]; - ++_g; - var xrf = store[key]; - if(!xrf.is(filter)) { - Reflect.deleteField(store,key); - } - } - } - return store; -}; -xrfragment_URI.template = function(uri,vars) { - var parts = uri.split("#"); - if(parts.length == 1) { - return uri; - } - var frag = parts[1]; - frag = StringTools.replace(frag,"{","::"); - frag = StringTools.replace(frag,"}","::"); - frag = new haxe_Template(frag).execute(vars); - frag = StringTools.replace(frag,"null",""); - parts[1] = frag; - return parts.join("#"); -}; -xrfragment_URI.parse = function(stringUrl,flags) { - var r = new EReg("^(?:(?![^:@]+:[^:@/]*@)([^:/?#.]+):)?(?://)?((?:(([^:@]*)(?::([^:@]*))?)?@)?([^:/?#]*)(?::(\\d*))?)(((/(?:[^?#](?![^?#/]*\\.[^?#/.]+(?:[?#]|$)))*/?)?([^?#/]*))(?:\\?([^#]*))?(?:#(.*))?)",""); - if(stringUrl.indexOf("://") == -1 && stringUrl.charAt(0) != "/") { - stringUrl = "/" + stringUrl; - } - r.match(stringUrl); - var url = new xrfragment_URI(); - var _g = 0; - var _g1 = xrfragment_URI._parts.length; - while(_g < _g1) { - var i = _g++; - url[xrfragment_URI._parts[i]] = r.matched(i); - } - if(xrfragment_URI.isRelative(url) == true) { - if(url.directory == null && url.host != null) { - url.file = url.host; - } - url.host = ""; - } - url.hash = { }; - if(url.fragment != null && url.fragment.length > 0) { - url.XRF = xrfragment_URI.parseFragment("#" + url.fragment,flags); - var key; - var _g = 0; - var _g1 = Reflect.fields(url.XRF); - while(_g < _g1.length) { - var key = _g1[_g]; - ++_g; - var v = url.XRF[key]; - url.hash[key] = v["string"]; - } - } - xrfragment_URI.computeVars(url); - return url; -}; -xrfragment_URI.computeVars = function(url) { - var r_r = new RegExp("//","g".split("u").join("")); - if(url.directory != null && url.directory.indexOf("//") != -1) { - url.directory = url.directory.replace(r_r,"/"); - } - if(url.path != null && url.path.indexOf("//") != -1) { - url.path = url.path.replace(r_r,"/"); - } - if(url.file != null && url.file.indexOf("//") != -1) { - url.file = url.file.replace(r_r,"/"); - } - url.URN = url.scheme + "://" + url.host; - if(url.port != null) { - url.URN += ":" + url.port; - } - url.URN += url.directory; - if(url.file != null) { - var parts = url.file.split("."); - if(parts.length > 1) { - url.fileExt = parts.pop(); - } - } -}; -xrfragment_URI.toString = function(url) { - var result = ""; - if(url.scheme != null) { - result += url.scheme + "://"; - } - if(url.user != null) { - result += url.user + ":"; - } - if(url.password != null) { - result += url.password + "@"; - } - if(url.host != null) { - result += url.host; - } - if(url.port != null) { - result += ":" + url.port; - } - if(url.directory != null) { - result += url.directory; - } - if(url.file != null) { - result += url.file; - } - if(url.query != null) { - result += "?" + url.query; - } - if(url.fragment != null) { - result += "#" + url.fragment; - } - return result; -}; -xrfragment_URI.appendURI = function(url,appendedURI) { - if(xrfragment_URI.isRelative(url) == true) { - return xrfragment_URI.appendToRelativeURI(url,appendedURI); - } else { - return xrfragment_URI.appendToAbsoluteURI(url,appendedURI); - } -}; -xrfragment_URI.isRelative = function(url) { - return url.scheme == null; -}; -xrfragment_URI.appendToRelativeURI = function(url,appendedURI) { - if(url.directory == null || url.host == null) { - return xrfragment_URI.cloneURI(appendedURI); - } - var resultURI = new xrfragment_URI(); - resultURI.host = url.host; - resultURI.directory = url.directory; - if(appendedURI.host != null) { - resultURI.directory += appendedURI.host; - } - if(appendedURI.directory != null) { - var directory = appendedURI.directory; - if(appendedURI.host == null) { - resultURI.directory += HxOverrides.substr(directory,1,null); - } else { - resultURI.directory += directory; - } - } - if(appendedURI.file != null) { - resultURI.file = appendedURI.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(appendedURI.query != null) { - resultURI.query = appendedURI.query; - } - if(appendedURI.fragment != null) { - resultURI.fragment = appendedURI.fragment; - } - return resultURI; -}; -xrfragment_URI.appendToAbsoluteURI = function(url,appendedURI) { - var resultURI = new xrfragment_URI(); - if(url.scheme != null) { - resultURI.scheme = url.scheme; - } - if(url.host != null) { - resultURI.host = url.host; - } - var directory = ""; - if(url.directory != null) { - directory = url.directory; - } - if(appendedURI.host != null) { - appendedURI.directory += appendedURI.host; - } - if(appendedURI.directory != null) { - directory += appendedURI.directory; - } - resultURI.directory = directory; - if(appendedURI.file != null) { - resultURI.file = appendedURI.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(appendedURI.query != null) { - resultURI.query = appendedURI.query; - } - if(appendedURI.fragment != null) { - resultURI.fragment = appendedURI.fragment; - } - return resultURI; -}; -xrfragment_URI.toAbsolute = function(url,newUrl) { - var newURI = xrfragment_URI.parse(newUrl,0); - var resultURI = new xrfragment_URI(); - resultURI.port = url.port; - resultURI.source = newUrl; - if(newURI.scheme != null) { - resultURI.scheme = newURI.scheme; - } else { - resultURI.scheme = url.scheme; - } - if(newURI.host != null && newURI.host.length > 0) { - resultURI.host = newURI.host; - resultURI.port = null; - resultURI.fragment = null; - resultURI.hash = { }; - resultURI.XRF = { }; - if(newURI.port != null) { - resultURI.port = newURI.port; - } - } else { - resultURI.host = url.host; - } - var directory = ""; - if(url.directory != null) { - directory = url.directory; - } - if(newURI.directory != null) { - if(newUrl.charAt(0) != "/" && newUrl.indexOf("://") == -1) { - var stripRelative_r = new RegExp("\\./.*","".split("u").join("")); - directory = directory.replace(stripRelative_r,""); - directory += newURI.directory; - } else { - directory = newURI.directory; - } - } - resultURI.directory = directory; - if(newURI.file != null) { - resultURI.file = newURI.file; - } else { - resultURI.file = url.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(newURI.query != null) { - resultURI.query = newURI.query; - } - if(newURI.fragment != null) { - resultURI.fragment = newURI.fragment; - } - resultURI.hash = newURI.hash; - resultURI.XRF = newURI.XRF; - xrfragment_URI.computeVars(resultURI); - return resultURI; -}; -xrfragment_URI.cloneURI = function(url) { - var clonedURI = new xrfragment_URI(); - clonedURI.url = url.url; - clonedURI.source = url.source; - clonedURI.scheme = url.scheme; - clonedURI.authority = url.authority; - clonedURI.userInfo = url.userInfo; - clonedURI.password = url.password; - clonedURI.host = url.host; - clonedURI.port = url.port; - clonedURI.relative = url.relative; - clonedURI.path = url.path; - clonedURI.directory = url.directory; - clonedURI.file = url.file; - clonedURI.query = url.query; - clonedURI.fragment = url.fragment; - return clonedURI; -}; -var xrfragment_XRF = $hx_exports["xrfragment"]["XRF"] = function(_fragment,_flags,_index) { - this.floats = []; - this.shift = []; - this.fragment = _fragment; - this.flags = _flags; - this.index = _index; -}; -xrfragment_XRF.__name__ = true; -xrfragment_XRF.set = function(flag,flags) { - return flags | flag; -}; -xrfragment_XRF.unset = function(flag,flags) { - return flags & ~flag; -}; -xrfragment_XRF.prototype = { - is: function(flag) { - var v = this.flags; - if(!(typeof(v) == "number" && ((v | 0) === v))) { - this.flags = 0; - } - return (this.flags & flag) != 0; - } - ,validate: function(value) { - this.guessType(this,value); - var ok = true; - if(value.length == 0 && !this.is(xrfragment_XRF.T_PREDEFINED_VIEW)) { - ok = false; - } - if(!this.is(xrfragment_XRF.T_FLOAT) && this.is(xrfragment_XRF.T_VECTOR2) && !(typeof(this.x) == "number" && typeof(this.y) == "number")) { - ok = false; - } - if(!(this.is(xrfragment_XRF.T_VECTOR2) || this.is(xrfragment_XRF.T_STRING)) && this.is(xrfragment_XRF.T_VECTOR3) && !(typeof(this.x) == "number" && typeof(this.y) == "number" && typeof(this.z) == "number")) { - ok = false; - } - return ok; - } - ,guessType: function(v,str) { - v.string = str; - if(xrfragment_XRF.isReset.match(v.fragment)) { - v.reset = true; - } - if(v.fragment == "loop") { - v.loop = true; - } - if(typeof(str) != "string") { - return; - } - if(str.length > 0) { - if(xrfragment_XRF.isXRFScheme.match(str)) { - v.xrfScheme = true; - str = str.replace(xrfragment_XRF.isXRFScheme.r,""); - v.string = str; - } - if(str.split(",").length > 1) { - var xyzn = str.split(","); - if(xyzn.length > 0) { - v.x = parseFloat(xyzn[0]); - } - if(xyzn.length > 1) { - v.y = parseFloat(xyzn[1]); - } - if(xyzn.length > 2) { - v.z = parseFloat(xyzn[2]); - } - var _g = 0; - var _g1 = xyzn.length; - while(_g < _g1) { - var i = _g++; - v.shift.push(xrfragment_XRF.isShift.match(xyzn[i])); - v.floats.push(parseFloat(xyzn[i].replace(xrfragment_XRF.isShift.r,""))); - } - } - if(xrfragment_XRF.isColor.match(str)) { - v.color = str; - } - if(xrfragment_XRF.isFloat.match(str)) { - v.x = parseFloat(str); - v.float = v.x; - } - if(xrfragment_XRF.isInt.match(str)) { - v.int = Std.parseInt(str); - v.x = v.int; - v.floats.push(v.x); - } - v.filter = new xrfragment_Filter(v.fragment + "=" + v.string); - } else { - v.filter = new xrfragment_Filter(v.fragment); - } - } -}; -function $getIterator(o) { if( o instanceof Array ) return new haxe_iterators_ArrayIterator(o); else return o.iterator(); } -function $bind(o,m) { if( m == null ) return null; if( m.__id__ == null ) m.__id__ = $global.$haxeUID++; var f; if( o.hx__closures__ == null ) o.hx__closures__ = {}; else f = o.hx__closures__[m.__id__]; if( f == null ) { f = m.bind(o); o.hx__closures__[m.__id__] = f; } return f; } -$global.$haxeUID |= 0; -if(typeof(performance) != "undefined" ? typeof(performance.now) == "function" : false) { - HxOverrides.now = performance.now.bind(performance); -} -if( String.fromCodePoint == null ) String.fromCodePoint = function(c) { return c < 0x10000 ? String.fromCharCode(c) : String.fromCharCode((c>>10)+0xD7C0)+String.fromCharCode((c&0x3FF)+0xDC00); } -String.__name__ = true; -Array.__name__ = true; -js_Boot.__toStr = ({ }).toString; -haxe_Template.splitter = new EReg("(::[A-Za-z0-9_ ()&|!+=/><*.\"-]+::|\\$\\$([A-Za-z0-9_-]+)\\()",""); -haxe_Template.expr_splitter = new EReg("(\\(|\\)|[ \r\n\t]*\"[^\"]*\"[ \r\n\t]*|[!+=/><*.&|-]+)",""); -haxe_Template.expr_trim = new EReg("^[ ]*([^ ]+)[ ]*$",""); -haxe_Template.expr_int = new EReg("^[0-9]+$",""); -haxe_Template.expr_float = new EReg("^([+-]?)(?=\\d|,\\d)\\d*(,\\d*)?([Ee]([+-]?\\d+))?$",""); -haxe_Template.globals = { }; -haxe_Template.hxKeepArrayIterator = new haxe_iterators_ArrayIterator([]); -xrfragment_Parser.error = ""; -xrfragment_Parser.debug = false; -xrfragment_URI.__meta__ = { statics : { template : { keep : null}}}; -xrfragment_URI._parts = ["source","scheme","authority","userInfo","user","password","host","port","relative","path","directory","file","query","fragment"]; -xrfragment_XRF.IMMUTABLE = 1; -xrfragment_XRF.PROP_BIND = 2; -xrfragment_XRF.QUERY_OPERATOR = 4; -xrfragment_XRF.PROMPT = 8; -xrfragment_XRF.CUSTOMFRAG = 16; -xrfragment_XRF.NAVIGATOR = 32; -xrfragment_XRF.METADATA = 64; -xrfragment_XRF.PV_OVERRIDE = 128; -xrfragment_XRF.PV_EXECUTE = 256; -xrfragment_XRF.T_COLOR = 8192; -xrfragment_XRF.T_INT = 16384; -xrfragment_XRF.T_FLOAT = 32768; -xrfragment_XRF.T_VECTOR2 = 65536; -xrfragment_XRF.T_VECTOR3 = 131072; -xrfragment_XRF.T_URL = 262144; -xrfragment_XRF.T_PREDEFINED_VIEW = 524288; -xrfragment_XRF.T_STRING = 1048576; -xrfragment_XRF.T_MEDIAFRAG = 2097152; -xrfragment_XRF.T_DYNAMICKEY = 4194304; -xrfragment_XRF.T_DYNAMICKEYVALUE = 8388608; -xrfragment_XRF.isColor = new EReg("^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$",""); -xrfragment_XRF.isInt = new EReg("^[-0-9]+$",""); -xrfragment_XRF.isFloat = new EReg("^[-0-9]+\\.[0-9]+$",""); -xrfragment_XRF.isVector = new EReg("([,]+|\\w)",""); -xrfragment_XRF.isUrl = new EReg("(://)?\\..*",""); -xrfragment_XRF.isUrlOrPretypedView = new EReg("(^#|://)?\\..*",""); -xrfragment_XRF.isString = new EReg(".*",""); -xrfragment_XRF.operators = new EReg("(^[-]|^[!]|[\\*]$)","g"); -xrfragment_XRF.isProp = new EReg("^.*=[><=]?",""); -xrfragment_XRF.isExclude = new EReg("^-",""); -xrfragment_XRF.isDeep = new EReg("\\*",""); -xrfragment_XRF.isNumber = new EReg("^[0-9\\.]+$",""); -xrfragment_XRF.isMediaFrag = new EReg("^([0-9\\.,\\*+-]+)$",""); -xrfragment_XRF.isReset = new EReg("^!",""); -xrfragment_XRF.isShift = new EReg("^(\\+|--)",""); -xrfragment_XRF.isXRFScheme = new EReg("^xrf://",""); -})(typeof window != "undefined" ? window : typeof global != "undefined" ? global : typeof self != "undefined" ? self : this); -var xrfragment = $hx_exports["xrfragment"]; -export default xrfragment; -// Generated by Haxe 4.3.3 -var $hx_exports = typeof exports != "undefined" ? exports : typeof window != "undefined" ? window : typeof self != "undefined" ? self : this; -(function ($global) { "use strict"; -$hx_exports["xrfragment"] = $hx_exports["xrfragment"] || {}; -var $estr = function() { return js_Boot.__string_rec(this,''); },$hxEnums = $hxEnums || {},$_; -function $extend(from, fields) { - var proto = Object.create(from); - for (var name in fields) proto[name] = fields[name]; - if( fields.toString !== Object.prototype.toString ) proto.toString = fields.toString; - return proto; -} -var EReg = function(r,opt) { - this.r = new RegExp(r,opt.split("u").join("")); -}; -EReg.__name__ = true; -EReg.prototype = { - match: function(s) { - if(this.r.global) { - this.r.lastIndex = 0; - } - this.r.m = this.r.exec(s); - this.r.s = s; - return this.r.m != null; - } - ,matched: function(n) { - if(this.r.m != null && n >= 0 && n < this.r.m.length) { - return this.r.m[n]; - } else { - throw haxe_Exception.thrown("EReg::matched"); - } - } - ,matchedRight: function() { - if(this.r.m == null) { - throw haxe_Exception.thrown("No string matched"); - } - var sz = this.r.m.index + this.r.m[0].length; - return HxOverrides.substr(this.r.s,sz,this.r.s.length - sz); - } - ,matchedPos: function() { - if(this.r.m == null) { - throw haxe_Exception.thrown("No string matched"); - } - return { pos : this.r.m.index, len : this.r.m[0].length}; - } - ,split: function(s) { - var d = "#__delim__#"; - return s.replace(this.r,d).split(d); - } -}; -var HxOverrides = function() { }; -HxOverrides.__name__ = true; -HxOverrides.cca = function(s,index) { - var x = s.charCodeAt(index); - if(x != x) { - return undefined; - } - return x; -}; -HxOverrides.substr = function(s,pos,len) { - if(len == null) { - len = s.length; - } else if(len < 0) { - if(pos == 0) { - len = s.length + len; - } else { - return ""; - } - } - return s.substr(pos,len); -}; -HxOverrides.now = function() { - return Date.now(); -}; -Math.__name__ = true; -var Reflect = function() { }; -Reflect.__name__ = true; -Reflect.field = function(o,field) { - try { - return o[field]; - } catch( _g ) { - return null; - } -}; -Reflect.getProperty = function(o,field) { - var tmp; - if(o == null) { - return null; - } else { - var tmp1; - if(o.__properties__) { - tmp = o.__properties__["get_" + field]; - tmp1 = tmp; - } else { - tmp1 = false; - } - if(tmp1) { - return o[tmp](); - } else { - return o[field]; - } - } -}; -Reflect.fields = function(o) { - var a = []; - if(o != null) { - var hasOwnProperty = Object.prototype.hasOwnProperty; - for( var f in o ) { - if(f != "__id__" && f != "hx__closures__" && hasOwnProperty.call(o,f)) { - a.push(f); - } - } - } - return a; -}; -Reflect.isObject = function(v) { - if(v == null) { - return false; - } - var t = typeof(v); - if(!(t == "string" || t == "object" && v.__enum__ == null)) { - if(t == "function") { - return (v.__name__ || v.__ename__) != null; - } else { - return false; - } - } else { - return true; - } -}; -Reflect.deleteField = function(o,field) { - if(!Object.prototype.hasOwnProperty.call(o,field)) { - return false; - } - delete(o[field]); - return true; -}; -Reflect.copy = function(o) { - if(o == null) { - return null; - } - var o2 = { }; - var _g = 0; - var _g1 = Reflect.fields(o); - while(_g < _g1.length) { - var f = _g1[_g]; - ++_g; - o2[f] = Reflect.field(o,f); - } - return o2; -}; -var Std = function() { }; -Std.__name__ = true; -Std.string = function(s) { - return js_Boot.__string_rec(s,""); -}; -Std.parseInt = function(x) { - var v = parseInt(x); - if(isNaN(v)) { - return null; - } - return v; -}; -var StringBuf = function() { - this.b = ""; -}; -StringBuf.__name__ = true; -var StringTools = function() { }; -StringTools.__name__ = true; -StringTools.isSpace = function(s,pos) { - var c = HxOverrides.cca(s,pos); - if(!(c > 8 && c < 14)) { - return c == 32; - } else { - return true; - } -}; -StringTools.ltrim = function(s) { - var l = s.length; - var r = 0; - while(r < l && StringTools.isSpace(s,r)) ++r; - if(r > 0) { - return HxOverrides.substr(s,r,l - r); - } else { - return s; - } -}; -StringTools.rtrim = function(s) { - var l = s.length; - var r = 0; - while(r < l && StringTools.isSpace(s,l - r - 1)) ++r; - if(r > 0) { - return HxOverrides.substr(s,0,l - r); - } else { - return s; - } -}; -StringTools.trim = function(s) { - return StringTools.ltrim(StringTools.rtrim(s)); -}; -StringTools.replace = function(s,sub,by) { - return s.split(sub).join(by); -}; -var haxe_Exception = function(message,previous,native) { - Error.call(this,message); - this.message = message; - this.__previousException = previous; - this.__nativeException = native != null ? native : this; -}; -haxe_Exception.__name__ = true; -haxe_Exception.caught = function(value) { - if(((value) instanceof haxe_Exception)) { - return value; - } else if(((value) instanceof Error)) { - return new haxe_Exception(value.message,null,value); - } else { - return new haxe_ValueException(value,null,value); - } -}; -haxe_Exception.thrown = function(value) { - if(((value) instanceof haxe_Exception)) { - return value.get_native(); - } else if(((value) instanceof Error)) { - return value; - } else { - var e = new haxe_ValueException(value); - return e; - } -}; -haxe_Exception.__super__ = Error; -haxe_Exception.prototype = $extend(Error.prototype,{ - unwrap: function() { - return this.__nativeException; - } - ,get_native: function() { - return this.__nativeException; - } - ,__properties__: {get_native:"get_native"} -}); -var haxe__$Template_TemplateExpr = $hxEnums["haxe._Template.TemplateExpr"] = { __ename__:true,__constructs__:null - ,OpVar: ($_=function(v) { return {_hx_index:0,v:v,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpVar",$_.__params__ = ["v"],$_) - ,OpExpr: ($_=function(expr) { return {_hx_index:1,expr:expr,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpExpr",$_.__params__ = ["expr"],$_) - ,OpIf: ($_=function(expr,eif,eelse) { return {_hx_index:2,expr:expr,eif:eif,eelse:eelse,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpIf",$_.__params__ = ["expr","eif","eelse"],$_) - ,OpStr: ($_=function(str) { return {_hx_index:3,str:str,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpStr",$_.__params__ = ["str"],$_) - ,OpBlock: ($_=function(l) { return {_hx_index:4,l:l,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpBlock",$_.__params__ = ["l"],$_) - ,OpForeach: ($_=function(expr,loop) { return {_hx_index:5,expr:expr,loop:loop,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpForeach",$_.__params__ = ["expr","loop"],$_) - ,OpMacro: ($_=function(name,params) { return {_hx_index:6,name:name,params:params,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpMacro",$_.__params__ = ["name","params"],$_) -}; -haxe__$Template_TemplateExpr.__constructs__ = [haxe__$Template_TemplateExpr.OpVar,haxe__$Template_TemplateExpr.OpExpr,haxe__$Template_TemplateExpr.OpIf,haxe__$Template_TemplateExpr.OpStr,haxe__$Template_TemplateExpr.OpBlock,haxe__$Template_TemplateExpr.OpForeach,haxe__$Template_TemplateExpr.OpMacro]; -var haxe_iterators_ArrayIterator = function(array) { - this.current = 0; - this.array = array; -}; -haxe_iterators_ArrayIterator.__name__ = true; -haxe_iterators_ArrayIterator.prototype = { - hasNext: function() { - return this.current < this.array.length; - } - ,next: function() { - return this.array[this.current++]; - } -}; -var haxe_Template = function(str) { - var tokens = this.parseTokens(str); - this.expr = this.parseBlock(tokens); - if(!tokens.isEmpty()) { - throw haxe_Exception.thrown("Unexpected '" + Std.string(tokens.first().s) + "'"); - } -}; -haxe_Template.__name__ = true; -haxe_Template.prototype = { - execute: function(context,macros) { - this.macros = macros == null ? { } : macros; - this.context = context; - this.stack = new haxe_ds_List(); - this.buf = new StringBuf(); - this.run(this.expr); - return this.buf.b; - } - ,resolve: function(v) { - if(v == "__current__") { - return this.context; - } - if(Reflect.isObject(this.context)) { - var value = Reflect.getProperty(this.context,v); - if(value != null || Object.prototype.hasOwnProperty.call(this.context,v)) { - return value; - } - } - var _g_head = this.stack.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var ctx = val; - var value = Reflect.getProperty(ctx,v); - if(value != null || Object.prototype.hasOwnProperty.call(ctx,v)) { - return value; - } - } - return Reflect.field(haxe_Template.globals,v); - } - ,parseTokens: function(data) { - var tokens = new haxe_ds_List(); - while(haxe_Template.splitter.match(data)) { - var p = haxe_Template.splitter.matchedPos(); - if(p.pos > 0) { - tokens.add({ p : HxOverrides.substr(data,0,p.pos), s : true, l : null}); - } - if(HxOverrides.cca(data,p.pos) == 58) { - tokens.add({ p : HxOverrides.substr(data,p.pos + 2,p.len - 4), s : false, l : null}); - data = haxe_Template.splitter.matchedRight(); - continue; - } - var parp = p.pos + p.len; - var npar = 1; - var params = []; - var part = ""; - while(true) { - var c = HxOverrides.cca(data,parp); - ++parp; - if(c == 40) { - ++npar; - } else if(c == 41) { - --npar; - if(npar <= 0) { - break; - } - } else if(c == null) { - throw haxe_Exception.thrown("Unclosed macro parenthesis"); - } - if(c == 44 && npar == 1) { - params.push(part); - part = ""; - } else { - part += String.fromCodePoint(c); - } - } - params.push(part); - tokens.add({ p : haxe_Template.splitter.matched(2), s : false, l : params}); - data = HxOverrides.substr(data,parp,data.length - parp); - } - if(data.length > 0) { - tokens.add({ p : data, s : true, l : null}); - } - return tokens; - } - ,parseBlock: function(tokens) { - var l = new haxe_ds_List(); - while(true) { - var t = tokens.first(); - if(t == null) { - break; - } - if(!t.s && (t.p == "end" || t.p == "else" || HxOverrides.substr(t.p,0,7) == "elseif ")) { - break; - } - l.add(this.parse(tokens)); - } - if(l.length == 1) { - return l.first(); - } - return haxe__$Template_TemplateExpr.OpBlock(l); - } - ,parse: function(tokens) { - var t = tokens.pop(); - var p = t.p; - if(t.s) { - return haxe__$Template_TemplateExpr.OpStr(p); - } - if(t.l != null) { - var pe = new haxe_ds_List(); - var _g = 0; - var _g1 = t.l; - while(_g < _g1.length) { - var p1 = _g1[_g]; - ++_g; - pe.add(this.parseBlock(this.parseTokens(p1))); - } - return haxe__$Template_TemplateExpr.OpMacro(p,pe); - } - var kwdEnd = function(kwd) { - var pos = -1; - var length = kwd.length; - if(HxOverrides.substr(p,0,length) == kwd) { - pos = length; - var _g_offset = 0; - var _g_s = HxOverrides.substr(p,length,null); - while(_g_offset < _g_s.length) { - var c = _g_s.charCodeAt(_g_offset++); - if(c == 32) { - ++pos; - } else { - break; - } - } - } - return pos; - }; - var pos = kwdEnd("if"); - if(pos > 0) { - p = HxOverrides.substr(p,pos,p.length - pos); - var e = this.parseExpr(p); - var eif = this.parseBlock(tokens); - var t = tokens.first(); - var eelse; - if(t == null) { - throw haxe_Exception.thrown("Unclosed 'if'"); - } - if(t.p == "end") { - tokens.pop(); - eelse = null; - } else if(t.p == "else") { - tokens.pop(); - eelse = this.parseBlock(tokens); - t = tokens.pop(); - if(t == null || t.p != "end") { - throw haxe_Exception.thrown("Unclosed 'else'"); - } - } else { - t.p = HxOverrides.substr(t.p,4,t.p.length - 4); - eelse = this.parse(tokens); - } - return haxe__$Template_TemplateExpr.OpIf(e,eif,eelse); - } - var pos = kwdEnd("foreach"); - if(pos >= 0) { - p = HxOverrides.substr(p,pos,p.length - pos); - var e = this.parseExpr(p); - var efor = this.parseBlock(tokens); - var t = tokens.pop(); - if(t == null || t.p != "end") { - throw haxe_Exception.thrown("Unclosed 'foreach'"); - } - return haxe__$Template_TemplateExpr.OpForeach(e,efor); - } - if(haxe_Template.expr_splitter.match(p)) { - return haxe__$Template_TemplateExpr.OpExpr(this.parseExpr(p)); - } - return haxe__$Template_TemplateExpr.OpVar(p); - } - ,parseExpr: function(data) { - var l = new haxe_ds_List(); - var expr = data; - while(haxe_Template.expr_splitter.match(data)) { - var p = haxe_Template.expr_splitter.matchedPos(); - var k = p.pos + p.len; - if(p.pos != 0) { - l.add({ p : HxOverrides.substr(data,0,p.pos), s : true}); - } - var p1 = haxe_Template.expr_splitter.matched(0); - l.add({ p : p1, s : p1.indexOf("\"") >= 0}); - data = haxe_Template.expr_splitter.matchedRight(); - } - if(data.length != 0) { - var _g_offset = 0; - var _g_s = data; - while(_g_offset < _g_s.length) { - var _g_key = _g_offset; - var _g_value = _g_s.charCodeAt(_g_offset++); - var i = _g_key; - var c = _g_value; - if(c != 32) { - l.add({ p : HxOverrides.substr(data,i,null), s : true}); - break; - } - } - } - var e; - try { - e = this.makeExpr(l); - if(!l.isEmpty()) { - throw haxe_Exception.thrown(l.first().p); - } - } catch( _g ) { - var _g1 = haxe_Exception.caught(_g).unwrap(); - if(typeof(_g1) == "string") { - var s = _g1; - throw haxe_Exception.thrown("Unexpected '" + s + "' in " + expr); - } else { - throw _g; - } - } - return function() { - try { - return e(); - } catch( _g ) { - var exc = haxe_Exception.caught(_g).unwrap(); - throw haxe_Exception.thrown("Error : " + Std.string(exc) + " in " + expr); - } - }; - } - ,makeConst: function(v) { - haxe_Template.expr_trim.match(v); - v = haxe_Template.expr_trim.matched(1); - if(HxOverrides.cca(v,0) == 34) { - var str = HxOverrides.substr(v,1,v.length - 2); - return function() { - return str; - }; - } - if(haxe_Template.expr_int.match(v)) { - var i = Std.parseInt(v); - return function() { - return i; - }; - } - if(haxe_Template.expr_float.match(v)) { - var f = parseFloat(v); - return function() { - return f; - }; - } - var me = this; - return function() { - return me.resolve(v); - }; - } - ,makePath: function(e,l) { - var p = l.first(); - if(p == null || p.p != ".") { - return e; - } - l.pop(); - var field = l.pop(); - if(field == null || !field.s) { - throw haxe_Exception.thrown(field.p); - } - var f = field.p; - haxe_Template.expr_trim.match(f); - f = haxe_Template.expr_trim.matched(1); - return this.makePath(function() { - return Reflect.field(e(),f); - },l); - } - ,makeExpr: function(l) { - return this.makePath(this.makeExpr2(l),l); - } - ,skipSpaces: function(l) { - var p = l.first(); - while(p != null) { - var _g_offset = 0; - var _g_s = p.p; - while(_g_offset < _g_s.length) { - var c = _g_s.charCodeAt(_g_offset++); - if(c != 32) { - return; - } - } - l.pop(); - p = l.first(); - } - } - ,makeExpr2: function(l) { - this.skipSpaces(l); - var p = l.pop(); - this.skipSpaces(l); - if(p == null) { - throw haxe_Exception.thrown(""); - } - if(p.s) { - return this.makeConst(p.p); - } - switch(p.p) { - case "!": - var e = this.makeExpr(l); - return function() { - var v = e(); - if(v != null) { - return v == false; - } else { - return true; - } - }; - case "(": - this.skipSpaces(l); - var e1 = this.makeExpr(l); - this.skipSpaces(l); - var p1 = l.pop(); - if(p1 == null || p1.s) { - throw haxe_Exception.thrown(p1); - } - if(p1.p == ")") { - return e1; - } - this.skipSpaces(l); - var e2 = this.makeExpr(l); - this.skipSpaces(l); - var p2 = l.pop(); - this.skipSpaces(l); - if(p2 == null || p2.p != ")") { - throw haxe_Exception.thrown(p2); - } - switch(p1.p) { - case "!=": - return function() { - return e1() != e2(); - }; - case "&&": - return function() { - return e1() && e2(); - }; - case "*": - return function() { - return e1() * e2(); - }; - case "+": - return function() { - return e1() + e2(); - }; - case "-": - return function() { - return e1() - e2(); - }; - case "/": - return function() { - return e1() / e2(); - }; - case "<": - return function() { - return e1() < e2(); - }; - case "<=": - return function() { - return e1() <= e2(); - }; - case "==": - return function() { - return e1() == e2(); - }; - case ">": - return function() { - return e1() > e2(); - }; - case ">=": - return function() { - return e1() >= e2(); - }; - case "||": - return function() { - return e1() || e2(); - }; - default: - throw haxe_Exception.thrown("Unknown operation " + p1.p); - } - break; - case "-": - var e3 = this.makeExpr(l); - return function() { - return -e3(); - }; - } - throw haxe_Exception.thrown(p.p); - } - ,run: function(e) { - switch(e._hx_index) { - case 0: - var v = e.v; - var _this = this.buf; - var x = Std.string(this.resolve(v)); - _this.b += Std.string(x); - break; - case 1: - var e1 = e.expr; - var _this = this.buf; - var x = Std.string(e1()); - _this.b += Std.string(x); - break; - case 2: - var e1 = e.expr; - var eif = e.eif; - var eelse = e.eelse; - var v = e1(); - if(v == null || v == false) { - if(eelse != null) { - this.run(eelse); - } - } else { - this.run(eif); - } - break; - case 3: - var str = e.str; - this.buf.b += str == null ? "null" : "" + str; - break; - case 4: - var l = e.l; - var _g_head = l.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var e1 = val; - this.run(e1); - } - break; - case 5: - var e1 = e.expr; - var loop = e.loop; - var v = e1(); - try { - var x = $getIterator(v); - if(x.hasNext == null) { - throw haxe_Exception.thrown(null); - } - v = x; - } catch( _g ) { - try { - if(v.hasNext == null) { - throw haxe_Exception.thrown(null); - } - } catch( _g1 ) { - throw haxe_Exception.thrown("Cannot iter on " + Std.string(v)); - } - } - this.stack.push(this.context); - var v1 = v; - var ctx = v1; - while(ctx.hasNext()) { - var ctx1 = ctx.next(); - this.context = ctx1; - this.run(loop); - } - this.context = this.stack.pop(); - break; - case 6: - var m = e.name; - var params = e.params; - var v = Reflect.field(this.macros,m); - var pl = []; - var old = this.buf; - pl.push($bind(this,this.resolve)); - var _g_head = params.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var p = val; - if(p._hx_index == 0) { - var v1 = p.v; - pl.push(this.resolve(v1)); - } else { - this.buf = new StringBuf(); - this.run(p); - pl.push(this.buf.b); - } - } - this.buf = old; - try { - var _this = this.buf; - var x = Std.string(v.apply(this.macros,pl)); - _this.b += Std.string(x); - } catch( _g ) { - var e = haxe_Exception.caught(_g).unwrap(); - var plstr; - try { - plstr = pl.join(","); - } catch( _g1 ) { - plstr = "???"; - } - var msg = "Macro call " + m + "(" + plstr + ") failed (" + Std.string(e) + ")"; - throw haxe_Exception.thrown(msg); - } - break; - } - } -}; -var haxe_ValueException = function(value,previous,native) { - haxe_Exception.call(this,String(value),previous,native); - this.value = value; -}; -haxe_ValueException.__name__ = true; -haxe_ValueException.__super__ = haxe_Exception; -haxe_ValueException.prototype = $extend(haxe_Exception.prototype,{ - unwrap: function() { - return this.value; - } -}); -var haxe_ds_List = function() { - this.length = 0; -}; -haxe_ds_List.__name__ = true; -haxe_ds_List.prototype = { - add: function(item) { - var x = new haxe_ds__$List_ListNode(item,null); - if(this.h == null) { - this.h = x; - } else { - this.q.next = x; - } - this.q = x; - this.length++; - } - ,push: function(item) { - var x = new haxe_ds__$List_ListNode(item,this.h); - this.h = x; - if(this.q == null) { - this.q = x; - } - this.length++; - } - ,first: function() { - if(this.h == null) { - return null; - } else { - return this.h.item; - } - } - ,pop: function() { - if(this.h == null) { - return null; - } - var x = this.h.item; - this.h = this.h.next; - if(this.h == null) { - this.q = null; - } - this.length--; - return x; - } - ,isEmpty: function() { - return this.h == null; - } - ,toString: function() { - var s_b = ""; - var first = true; - var l = this.h; - s_b += "{"; - while(l != null) { - if(first) { - first = false; - } else { - s_b += ", "; - } - s_b += Std.string(Std.string(l.item)); - l = l.next; - } - s_b += "}"; - return s_b; - } -}; -var haxe_ds__$List_ListNode = function(item,next) { - this.item = item; - this.next = next; -}; -haxe_ds__$List_ListNode.__name__ = true; -var js_Boot = function() { }; -js_Boot.__name__ = true; -js_Boot.__string_rec = function(o,s) { - if(o == null) { - return "null"; - } - if(s.length >= 5) { - return "<...>"; - } - var t = typeof(o); - if(t == "function" && (o.__name__ || o.__ename__)) { - t = "object"; - } - switch(t) { - case "function": - return ""; - case "object": - if(o.__enum__) { - var e = $hxEnums[o.__enum__]; - var con = e.__constructs__[o._hx_index]; - var n = con._hx_name; - if(con.__params__) { - s = s + "\t"; - return n + "(" + ((function($this) { - var $r; - var _g = []; - { - var _g1 = 0; - var _g2 = con.__params__; - while(true) { - if(!(_g1 < _g2.length)) { - break; - } - var p = _g2[_g1]; - _g1 = _g1 + 1; - _g.push(js_Boot.__string_rec(o[p],s)); - } - } - $r = _g; - return $r; - }(this))).join(",") + ")"; - } else { - return n; - } - } - if(((o) instanceof Array)) { - var str = "["; - s += "\t"; - var _g = 0; - var _g1 = o.length; - while(_g < _g1) { - var i = _g++; - str += (i > 0 ? "," : "") + js_Boot.__string_rec(o[i],s); - } - str += "]"; - return str; - } - var tostr; - try { - tostr = o.toString; - } catch( _g ) { - return "???"; - } - if(tostr != null && tostr != Object.toString && typeof(tostr) == "function") { - var s2 = o.toString(); - if(s2 != "[object Object]") { - return s2; - } - } - var str = "{\n"; - s += "\t"; - var hasp = o.hasOwnProperty != null; - var k = null; - for( k in o ) { - if(hasp && !o.hasOwnProperty(k)) { - continue; - } - if(k == "prototype" || k == "__class__" || k == "__super__" || k == "__interfaces__" || k == "__properties__") { - continue; - } - if(str.length != 2) { - str += ", \n"; - } - str += s + k + " : " + js_Boot.__string_rec(o[k],s); - } - s = s.substring(1); - str += "\n" + s + "}"; - return str; - case "string": - return o; - default: - return String(o); - } -}; -var xrfragment_Filter = $hx_exports["xrfragment"]["Filter"] = function(str) { - this.q = { }; - this.str = ""; - if(str != null) { - this.parse(str); - } -}; -xrfragment_Filter.__name__ = true; -xrfragment_Filter.prototype = { - toObject: function() { - return Reflect.copy(this.q); - } - ,get: function() { - return Reflect.copy(this.q); - } - ,parse: function(str) { - var token = str.split(" "); - var q = { }; - var process = function(str,prefix) { - if(prefix == null) { - prefix = ""; - } - str = StringTools.trim(str); - var k = str.split("=")[0]; - var v = str.split("=")[1]; - var filter = { }; - if(q[prefix + k]) { - filter = q[prefix + k]; - } - if(xrfragment_XRF.isProp.match(str)) { - var oper = ""; - if(str.indexOf(">") != -1) { - oper = ">"; - } - if(str.indexOf("<") != -1) { - oper = "<"; - } - if(xrfragment_XRF.isExclude.match(k)) { - k = HxOverrides.substr(k,1,null); - } - v = HxOverrides.substr(v,oper.length,null); - if(oper.length == 0) { - oper = "="; - } - var rule = { }; - if(xrfragment_XRF.isNumber.match(v)) { - rule[oper] = parseFloat(v); - } else { - rule[oper] = v; - } - q["expr"] = rule; - } - var value = xrfragment_XRF.isDeep.match(str) ? k.split("*").length - 1 : 0; - q["deep"] = value; - var value = xrfragment_XRF.isExclude.match(str) ? false : true; - q["show"] = value; - var value = k.replace(xrfragment_XRF.operators.r,""); - q["key"] = value; - q["value"] = v; - }; - var _g = 0; - var _g1 = token.length; - while(_g < _g1) { - var i = _g++; - process(token[i]); - } - return this.q = q; - } - ,test: function(obj) { - var qualify = false; - var _g = 0; - var _g1 = Reflect.fields(obj); - while(_g < _g1.length) { - var k = _g1[_g]; - ++_g; - var v = Std.string(Reflect.field(obj,k)); - if(this.testProperty(k,v)) { - qualify = true; - } - } - var _g = 0; - var _g1 = Reflect.fields(obj); - while(_g < _g1.length) { - var k = _g1[_g]; - ++_g; - var v = Std.string(Reflect.field(obj,k)); - if(this.testProperty(k,v,true)) { - qualify = false; - } - } - return qualify; - } - ,testProperty: function(property,value,exclude) { - var conds = 0; - var fails = 0; - var qualify = 0; - var testprop = function(expr) { - conds += 1; - fails += expr ? 0 : 1; - return expr; - }; - if(this.q[value] != null) { - var v = this.q[value]; - if(v[property] != null) { - return v[property]; - } - } - if(Reflect.field(this.q,"expr")) { - var f = Reflect.field(this.q,"expr"); - if(!Reflect.field(this.q,"show")) { - if(Reflect.field(f,"!=") != null && testprop((value == null ? "null" : "" + value) == Std.string(Reflect.field(f,"!="))) && exclude) { - ++qualify; - } - } else { - if(Reflect.field(f,"*") != null && testprop(parseFloat(value) != null)) { - ++qualify; - } - if(Reflect.field(f,">") != null && testprop(parseFloat(value) >= parseFloat(Reflect.field(f,">")))) { - ++qualify; - } - if(Reflect.field(f,"<") != null && testprop(parseFloat(value) <= parseFloat(Reflect.field(f,"<")))) { - ++qualify; - } - if(Reflect.field(f,"=") != null && (testprop(value == Reflect.field(f,"=")) || testprop(parseFloat(value) == parseFloat(Reflect.field(f,"="))))) { - ++qualify; - } - } - } - return qualify > 0; - } -}; -var xrfragment_Parser = $hx_exports["xrfragment"]["Parser"] = function() { }; -xrfragment_Parser.__name__ = true; -xrfragment_Parser.parse = function(key,value,store,index) { - var Frag_h = Object.create(null); - Frag_h["#"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_PREDEFINED_VIEW | xrfragment_XRF.PV_EXECUTE; - Frag_h["src"] = xrfragment_XRF.T_URL; - Frag_h["href"] = xrfragment_XRF.T_URL | xrfragment_XRF.T_PREDEFINED_VIEW; - Frag_h["tag"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["pos"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_VECTOR3 | xrfragment_XRF.T_STRING | xrfragment_XRF.METADATA | xrfragment_XRF.NAVIGATOR; - Frag_h["rot"] = xrfragment_XRF.QUERY_OPERATOR | xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_VECTOR3 | xrfragment_XRF.METADATA | xrfragment_XRF.NAVIGATOR; - Frag_h["t"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_FLOAT | xrfragment_XRF.T_VECTOR2 | xrfragment_XRF.NAVIGATOR | xrfragment_XRF.METADATA; - Frag_h["s"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_MEDIAFRAG; - Frag_h["loop"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_PREDEFINED_VIEW; - Frag_h["uv"] = xrfragment_XRF.T_VECTOR2 | xrfragment_XRF.T_MEDIAFRAG; - Frag_h["namespace"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["SPDX"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["unit"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["description"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - var keyStripped = key.replace(xrfragment_XRF.operators.r,""); - var isPVDynamic = key.length > 0 && !Object.prototype.hasOwnProperty.call(Frag_h,key); - if(isPVDynamic) { - var v = new xrfragment_XRF(key,xrfragment_XRF.PV_EXECUTE | xrfragment_XRF.NAVIGATOR,index); - v.validate(value); - v.flags = xrfragment_XRF.set(xrfragment_XRF.T_DYNAMICKEY,v.flags); - if(!Object.prototype.hasOwnProperty.call(Frag_h,key)) { - v.flags = xrfragment_XRF.set(xrfragment_XRF.CUSTOMFRAG,v.flags); - } - if(value.length == 0) { - v.flags = xrfragment_XRF.set(xrfragment_XRF.T_DYNAMICKEYVALUE,v.flags); - } - store[keyStripped] = v; - return true; - } - var v = new xrfragment_XRF(key,Frag_h[key],index); - if(Object.prototype.hasOwnProperty.call(Frag_h,key)) { - if(!v.validate(value)) { - console.log("src/xrfragment/Parser.hx:67:","⚠ fragment '" + key + "' has incompatible value (" + value + ")"); - return false; - } - store[keyStripped] = v; - if(xrfragment_Parser.debug) { - console.log("src/xrfragment/Parser.hx:71:","✔ " + key + ": " + v.string); - } - } else { - if(typeof(value) == "string") { - v.guessType(v,value); - } - v.flags = xrfragment_XRF.set(xrfragment_XRF.CUSTOMFRAG,v.flags); - store[keyStripped] = v; - } - return true; -}; -xrfragment_Parser.getMetaData = function() { - var meta = { title : ["title","og:title","dc.title"], description : ["aria-description","og:description","dc.description"], author : ["author","dc.creator"], publisher : ["publisher","dc.publisher"], website : ["og:site_name","og:url","dc.publisher"], license : ["SPDX","dc.rights"]}; - return meta; -}; -var xrfragment_URI = $hx_exports["xrfragment"]["URI"] = function() { - this.XRF = { }; - this.hash = { }; - this.fragment = ""; -}; -xrfragment_URI.__name__ = true; -xrfragment_URI.parseFragment = function(url,filter) { - var store = { }; - if(url == null || url.indexOf("#") == -1) { - return store; - } - var fragment = url.split("#"); - var splitArray = fragment[1].split("&"); - var _g = 0; - var _g1 = splitArray.length; - while(_g < _g1) { - var i = _g++; - var splitByEqual = splitArray[i].split("="); - var regexPlus = new EReg("\\+","g"); - var key = splitByEqual[0]; - var value = ""; - if(splitByEqual.length > 1) { - if(xrfragment_XRF.isVector.match(splitByEqual[1])) { - value = splitByEqual[1]; - } else { - var s = regexPlus.split(splitByEqual[1]).join(" "); - value = decodeURIComponent(s.split("+").join(" ")); - } - } - var ok = xrfragment_Parser.parse(key,value,store,i); - } - if(filter != null && filter != 0) { - var _g = 0; - var _g1 = Reflect.fields(store); - while(_g < _g1.length) { - var key = _g1[_g]; - ++_g; - var xrf = store[key]; - if(!xrf.is(filter)) { - Reflect.deleteField(store,key); - } - } - } - return store; -}; -xrfragment_URI.template = function(uri,vars) { - var parts = uri.split("#"); - if(parts.length == 1) { - return uri; - } - var frag = parts[1]; - frag = StringTools.replace(frag,"{","::"); - frag = StringTools.replace(frag,"}","::"); - frag = new haxe_Template(frag).execute(vars); - frag = StringTools.replace(frag,"null",""); - parts[1] = frag; - return parts.join("#"); -}; -xrfragment_URI.parse = function(stringUrl,flags) { - var r = new EReg("^(?:(?![^:@]+:[^:@/]*@)([^:/?#.]+):)?(?://)?((?:(([^:@]*)(?::([^:@]*))?)?@)?([^:/?#]*)(?::(\\d*))?)(((/(?:[^?#](?![^?#/]*\\.[^?#/.]+(?:[?#]|$)))*/?)?([^?#/]*))(?:\\?([^#]*))?(?:#(.*))?)",""); - if(stringUrl.indexOf("://") == -1 && stringUrl.charAt(0) != "/") { - stringUrl = "/" + stringUrl; - } - r.match(stringUrl); - var url = new xrfragment_URI(); - var _g = 0; - var _g1 = xrfragment_URI._parts.length; - while(_g < _g1) { - var i = _g++; - url[xrfragment_URI._parts[i]] = r.matched(i); - } - if(xrfragment_URI.isRelative(url) == true) { - if(url.directory == null && url.host != null) { - url.file = url.host; - } - url.host = ""; - } - url.hash = { }; - if(url.fragment != null && url.fragment.length > 0) { - url.XRF = xrfragment_URI.parseFragment("#" + url.fragment,flags); - var key; - var _g = 0; - var _g1 = Reflect.fields(url.XRF); - while(_g < _g1.length) { - var key = _g1[_g]; - ++_g; - var v = url.XRF[key]; - url.hash[key] = v["string"]; - } - } - xrfragment_URI.computeVars(url); - return url; -}; -xrfragment_URI.computeVars = function(url) { - var r_r = new RegExp("//","g".split("u").join("")); - if(url.directory != null && url.directory.indexOf("//") != -1) { - url.directory = url.directory.replace(r_r,"/"); - } - if(url.path != null && url.path.indexOf("//") != -1) { - url.path = url.path.replace(r_r,"/"); - } - if(url.file != null && url.file.indexOf("//") != -1) { - url.file = url.file.replace(r_r,"/"); - } - url.URN = url.scheme + "://" + url.host; - if(url.port != null) { - url.URN += ":" + url.port; - } - url.URN += url.directory; - if(url.file != null) { - var parts = url.file.split("."); - if(parts.length > 1) { - url.fileExt = parts.pop(); - } - } -}; -xrfragment_URI.toString = function(url) { - var result = ""; - if(url.scheme != null) { - result += url.scheme + "://"; - } - if(url.user != null) { - result += url.user + ":"; - } - if(url.password != null) { - result += url.password + "@"; - } - if(url.host != null) { - result += url.host; - } - if(url.port != null) { - result += ":" + url.port; - } - if(url.directory != null) { - result += url.directory; - } - if(url.file != null) { - result += url.file; - } - if(url.query != null) { - result += "?" + url.query; - } - if(url.fragment != null) { - result += "#" + url.fragment; - } - return result; -}; -xrfragment_URI.appendURI = function(url,appendedURI) { - if(xrfragment_URI.isRelative(url) == true) { - return xrfragment_URI.appendToRelativeURI(url,appendedURI); - } else { - return xrfragment_URI.appendToAbsoluteURI(url,appendedURI); - } -}; -xrfragment_URI.isRelative = function(url) { - return url.scheme == null; -}; -xrfragment_URI.appendToRelativeURI = function(url,appendedURI) { - if(url.directory == null || url.host == null) { - return xrfragment_URI.cloneURI(appendedURI); - } - var resultURI = new xrfragment_URI(); - resultURI.host = url.host; - resultURI.directory = url.directory; - if(appendedURI.host != null) { - resultURI.directory += appendedURI.host; - } - if(appendedURI.directory != null) { - var directory = appendedURI.directory; - if(appendedURI.host == null) { - resultURI.directory += HxOverrides.substr(directory,1,null); - } else { - resultURI.directory += directory; - } - } - if(appendedURI.file != null) { - resultURI.file = appendedURI.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(appendedURI.query != null) { - resultURI.query = appendedURI.query; - } - if(appendedURI.fragment != null) { - resultURI.fragment = appendedURI.fragment; - } - return resultURI; -}; -xrfragment_URI.appendToAbsoluteURI = function(url,appendedURI) { - var resultURI = new xrfragment_URI(); - if(url.scheme != null) { - resultURI.scheme = url.scheme; - } - if(url.host != null) { - resultURI.host = url.host; - } - var directory = ""; - if(url.directory != null) { - directory = url.directory; - } - if(appendedURI.host != null) { - appendedURI.directory += appendedURI.host; - } - if(appendedURI.directory != null) { - directory += appendedURI.directory; - } - resultURI.directory = directory; - if(appendedURI.file != null) { - resultURI.file = appendedURI.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(appendedURI.query != null) { - resultURI.query = appendedURI.query; - } - if(appendedURI.fragment != null) { - resultURI.fragment = appendedURI.fragment; - } - return resultURI; -}; -xrfragment_URI.toAbsolute = function(url,newUrl) { - var newURI = xrfragment_URI.parse(newUrl,0); - var resultURI = new xrfragment_URI(); - resultURI.port = url.port; - resultURI.source = newUrl; - if(newURI.scheme != null) { - resultURI.scheme = newURI.scheme; - } else { - resultURI.scheme = url.scheme; - } - if(newURI.host != null && newURI.host.length > 0) { - resultURI.host = newURI.host; - resultURI.port = null; - resultURI.fragment = null; - resultURI.hash = { }; - resultURI.XRF = { }; - if(newURI.port != null) { - resultURI.port = newURI.port; - } - } else { - resultURI.host = url.host; - } - var directory = ""; - if(url.directory != null) { - directory = url.directory; - } - if(newURI.directory != null) { - if(newUrl.charAt(0) != "/" && newUrl.indexOf("://") == -1) { - var stripRelative_r = new RegExp("\\./.*","".split("u").join("")); - directory = directory.replace(stripRelative_r,""); - directory += newURI.directory; - } else { - directory = newURI.directory; - } - } - resultURI.directory = directory; - if(newURI.file != null) { - resultURI.file = newURI.file; - } else { - resultURI.file = url.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(newURI.query != null) { - resultURI.query = newURI.query; - } - if(newURI.fragment != null) { - resultURI.fragment = newURI.fragment; - } - resultURI.hash = newURI.hash; - resultURI.XRF = newURI.XRF; - xrfragment_URI.computeVars(resultURI); - return resultURI; -}; -xrfragment_URI.cloneURI = function(url) { - var clonedURI = new xrfragment_URI(); - clonedURI.url = url.url; - clonedURI.source = url.source; - clonedURI.scheme = url.scheme; - clonedURI.authority = url.authority; - clonedURI.userInfo = url.userInfo; - clonedURI.password = url.password; - clonedURI.host = url.host; - clonedURI.port = url.port; - clonedURI.relative = url.relative; - clonedURI.path = url.path; - clonedURI.directory = url.directory; - clonedURI.file = url.file; - clonedURI.query = url.query; - clonedURI.fragment = url.fragment; - return clonedURI; -}; -var xrfragment_XRF = $hx_exports["xrfragment"]["XRF"] = function(_fragment,_flags,_index) { - this.floats = []; - this.shift = []; - this.fragment = _fragment; - this.flags = _flags; - this.index = _index; -}; -xrfragment_XRF.__name__ = true; -xrfragment_XRF.set = function(flag,flags) { - return flags | flag; -}; -xrfragment_XRF.unset = function(flag,flags) { - return flags & ~flag; -}; -xrfragment_XRF.prototype = { - is: function(flag) { - var v = this.flags; - if(!(typeof(v) == "number" && ((v | 0) === v))) { - this.flags = 0; - } - return (this.flags & flag) != 0; - } - ,validate: function(value) { - this.guessType(this,value); - var ok = true; - if(value.length == 0 && !this.is(xrfragment_XRF.T_PREDEFINED_VIEW)) { - ok = false; - } - if(!this.is(xrfragment_XRF.T_FLOAT) && this.is(xrfragment_XRF.T_VECTOR2) && !(typeof(this.x) == "number" && typeof(this.y) == "number")) { - ok = false; - } - if(!(this.is(xrfragment_XRF.T_VECTOR2) || this.is(xrfragment_XRF.T_STRING)) && this.is(xrfragment_XRF.T_VECTOR3) && !(typeof(this.x) == "number" && typeof(this.y) == "number" && typeof(this.z) == "number")) { - ok = false; - } - return ok; - } - ,guessType: function(v,str) { - v.string = str; - if(xrfragment_XRF.isReset.match(v.fragment)) { - v.reset = true; - } - if(v.fragment == "loop") { - v.loop = true; - } - if(typeof(str) != "string") { - return; - } - if(str.length > 0) { - if(xrfragment_XRF.isXRFScheme.match(str)) { - v.xrfScheme = true; - str = str.replace(xrfragment_XRF.isXRFScheme.r,""); - v.string = str; - } - if(str.split(",").length > 1) { - var xyzn = str.split(","); - if(xyzn.length > 0) { - v.x = parseFloat(xyzn[0]); - } - if(xyzn.length > 1) { - v.y = parseFloat(xyzn[1]); - } - if(xyzn.length > 2) { - v.z = parseFloat(xyzn[2]); - } - var _g = 0; - var _g1 = xyzn.length; - while(_g < _g1) { - var i = _g++; - v.shift.push(xrfragment_XRF.isShift.match(xyzn[i])); - v.floats.push(parseFloat(xyzn[i].replace(xrfragment_XRF.isShift.r,""))); - } - } - if(xrfragment_XRF.isColor.match(str)) { - v.color = str; - } - if(xrfragment_XRF.isFloat.match(str)) { - v.x = parseFloat(str); - v.float = v.x; - } - if(xrfragment_XRF.isInt.match(str)) { - v.int = Std.parseInt(str); - v.x = v.int; - v.floats.push(v.x); - } - v.filter = new xrfragment_Filter(v.fragment + "=" + v.string); - } else { - v.filter = new xrfragment_Filter(v.fragment); - } - } -}; -function $getIterator(o) { if( o instanceof Array ) return new haxe_iterators_ArrayIterator(o); else return o.iterator(); } -function $bind(o,m) { if( m == null ) return null; if( m.__id__ == null ) m.__id__ = $global.$haxeUID++; var f; if( o.hx__closures__ == null ) o.hx__closures__ = {}; else f = o.hx__closures__[m.__id__]; if( f == null ) { f = m.bind(o); o.hx__closures__[m.__id__] = f; } return f; } -$global.$haxeUID |= 0; -if(typeof(performance) != "undefined" ? typeof(performance.now) == "function" : false) { - HxOverrides.now = performance.now.bind(performance); -} -if( String.fromCodePoint == null ) String.fromCodePoint = function(c) { return c < 0x10000 ? String.fromCharCode(c) : String.fromCharCode((c>>10)+0xD7C0)+String.fromCharCode((c&0x3FF)+0xDC00); } -String.__name__ = true; -Array.__name__ = true; -js_Boot.__toStr = ({ }).toString; -haxe_Template.splitter = new EReg("(::[A-Za-z0-9_ ()&|!+=/><*.\"-]+::|\\$\\$([A-Za-z0-9_-]+)\\()",""); -haxe_Template.expr_splitter = new EReg("(\\(|\\)|[ \r\n\t]*\"[^\"]*\"[ \r\n\t]*|[!+=/><*.&|-]+)",""); -haxe_Template.expr_trim = new EReg("^[ ]*([^ ]+)[ ]*$",""); -haxe_Template.expr_int = new EReg("^[0-9]+$",""); -haxe_Template.expr_float = new EReg("^([+-]?)(?=\\d|,\\d)\\d*(,\\d*)?([Ee]([+-]?\\d+))?$",""); -haxe_Template.globals = { }; -haxe_Template.hxKeepArrayIterator = new haxe_iterators_ArrayIterator([]); -xrfragment_Parser.error = ""; -xrfragment_Parser.debug = false; -xrfragment_URI.__meta__ = { statics : { template : { keep : null}}}; -xrfragment_URI._parts = ["source","scheme","authority","userInfo","user","password","host","port","relative","path","directory","file","query","fragment"]; -xrfragment_XRF.IMMUTABLE = 1; -xrfragment_XRF.PROP_BIND = 2; -xrfragment_XRF.QUERY_OPERATOR = 4; -xrfragment_XRF.PROMPT = 8; -xrfragment_XRF.CUSTOMFRAG = 16; -xrfragment_XRF.NAVIGATOR = 32; -xrfragment_XRF.METADATA = 64; -xrfragment_XRF.PV_OVERRIDE = 128; -xrfragment_XRF.PV_EXECUTE = 256; -xrfragment_XRF.T_COLOR = 8192; -xrfragment_XRF.T_INT = 16384; -xrfragment_XRF.T_FLOAT = 32768; -xrfragment_XRF.T_VECTOR2 = 65536; -xrfragment_XRF.T_VECTOR3 = 131072; -xrfragment_XRF.T_URL = 262144; -xrfragment_XRF.T_PREDEFINED_VIEW = 524288; -xrfragment_XRF.T_STRING = 1048576; -xrfragment_XRF.T_MEDIAFRAG = 2097152; -xrfragment_XRF.T_DYNAMICKEY = 4194304; -xrfragment_XRF.T_DYNAMICKEYVALUE = 8388608; -xrfragment_XRF.isColor = new EReg("^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$",""); -xrfragment_XRF.isInt = new EReg("^[-0-9]+$",""); -xrfragment_XRF.isFloat = new EReg("^[-0-9]+\\.[0-9]+$",""); -xrfragment_XRF.isVector = new EReg("([,]+|\\w)",""); -xrfragment_XRF.isUrl = new EReg("(://)?\\..*",""); -xrfragment_XRF.isUrlOrPretypedView = new EReg("(^#|://)?\\..*",""); -xrfragment_XRF.isString = new EReg(".*",""); -xrfragment_XRF.operators = new EReg("(^[-]|^[!]|[\\*]$)","g"); -xrfragment_XRF.isProp = new EReg("^.*=[><=]?",""); -xrfragment_XRF.isExclude = new EReg("^-",""); -xrfragment_XRF.isDeep = new EReg("\\*",""); -xrfragment_XRF.isNumber = new EReg("^[0-9\\.]+$",""); -xrfragment_XRF.isMediaFrag = new EReg("^([0-9\\.,\\*+-]+)$",""); -xrfragment_XRF.isReset = new EReg("^!",""); -xrfragment_XRF.isShift = new EReg("^(\\+|--)",""); -xrfragment_XRF.isXRFScheme = new EReg("^xrf://",""); -})(typeof window != "undefined" ? window : typeof global != "undefined" ? global : typeof self != "undefined" ? self : this); -var xrfragment = $hx_exports["xrfragment"]; -export default xrfragment; -// Generated by Haxe 4.3.3 -var $hx_exports = typeof exports != "undefined" ? exports : typeof window != "undefined" ? window : typeof self != "undefined" ? self : this; -(function ($global) { "use strict"; -$hx_exports["xrfragment"] = $hx_exports["xrfragment"] || {}; -var $estr = function() { return js_Boot.__string_rec(this,''); },$hxEnums = $hxEnums || {},$_; -function $extend(from, fields) { - var proto = Object.create(from); - for (var name in fields) proto[name] = fields[name]; - if( fields.toString !== Object.prototype.toString ) proto.toString = fields.toString; - return proto; -} -var EReg = function(r,opt) { - this.r = new RegExp(r,opt.split("u").join("")); -}; -EReg.__name__ = true; -EReg.prototype = { - match: function(s) { - if(this.r.global) { - this.r.lastIndex = 0; - } - this.r.m = this.r.exec(s); - this.r.s = s; - return this.r.m != null; - } - ,matched: function(n) { - if(this.r.m != null && n >= 0 && n < this.r.m.length) { - return this.r.m[n]; - } else { - throw haxe_Exception.thrown("EReg::matched"); - } - } - ,matchedRight: function() { - if(this.r.m == null) { - throw haxe_Exception.thrown("No string matched"); - } - var sz = this.r.m.index + this.r.m[0].length; - return HxOverrides.substr(this.r.s,sz,this.r.s.length - sz); - } - ,matchedPos: function() { - if(this.r.m == null) { - throw haxe_Exception.thrown("No string matched"); - } - return { pos : this.r.m.index, len : this.r.m[0].length}; - } - ,split: function(s) { - var d = "#__delim__#"; - return s.replace(this.r,d).split(d); - } -}; -var HxOverrides = function() { }; -HxOverrides.__name__ = true; -HxOverrides.cca = function(s,index) { - var x = s.charCodeAt(index); - if(x != x) { - return undefined; - } - return x; -}; -HxOverrides.substr = function(s,pos,len) { - if(len == null) { - len = s.length; - } else if(len < 0) { - if(pos == 0) { - len = s.length + len; - } else { - return ""; - } - } - return s.substr(pos,len); -}; -HxOverrides.now = function() { - return Date.now(); -}; -Math.__name__ = true; -var Reflect = function() { }; -Reflect.__name__ = true; -Reflect.field = function(o,field) { - try { - return o[field]; - } catch( _g ) { - return null; - } -}; -Reflect.getProperty = function(o,field) { - var tmp; - if(o == null) { - return null; - } else { - var tmp1; - if(o.__properties__) { - tmp = o.__properties__["get_" + field]; - tmp1 = tmp; - } else { - tmp1 = false; - } - if(tmp1) { - return o[tmp](); - } else { - return o[field]; - } - } -}; -Reflect.fields = function(o) { - var a = []; - if(o != null) { - var hasOwnProperty = Object.prototype.hasOwnProperty; - for( var f in o ) { - if(f != "__id__" && f != "hx__closures__" && hasOwnProperty.call(o,f)) { - a.push(f); - } - } - } - return a; -}; -Reflect.isObject = function(v) { - if(v == null) { - return false; - } - var t = typeof(v); - if(!(t == "string" || t == "object" && v.__enum__ == null)) { - if(t == "function") { - return (v.__name__ || v.__ename__) != null; - } else { - return false; - } - } else { - return true; - } -}; -Reflect.deleteField = function(o,field) { - if(!Object.prototype.hasOwnProperty.call(o,field)) { - return false; - } - delete(o[field]); - return true; -}; -Reflect.copy = function(o) { - if(o == null) { - return null; - } - var o2 = { }; - var _g = 0; - var _g1 = Reflect.fields(o); - while(_g < _g1.length) { - var f = _g1[_g]; - ++_g; - o2[f] = Reflect.field(o,f); - } - return o2; -}; -var Std = function() { }; -Std.__name__ = true; -Std.string = function(s) { - return js_Boot.__string_rec(s,""); -}; -Std.parseInt = function(x) { - var v = parseInt(x); - if(isNaN(v)) { - return null; - } - return v; -}; -var StringBuf = function() { - this.b = ""; -}; -StringBuf.__name__ = true; -var StringTools = function() { }; -StringTools.__name__ = true; -StringTools.isSpace = function(s,pos) { - var c = HxOverrides.cca(s,pos); - if(!(c > 8 && c < 14)) { - return c == 32; - } else { - return true; - } -}; -StringTools.ltrim = function(s) { - var l = s.length; - var r = 0; - while(r < l && StringTools.isSpace(s,r)) ++r; - if(r > 0) { - return HxOverrides.substr(s,r,l - r); - } else { - return s; - } -}; -StringTools.rtrim = function(s) { - var l = s.length; - var r = 0; - while(r < l && StringTools.isSpace(s,l - r - 1)) ++r; - if(r > 0) { - return HxOverrides.substr(s,0,l - r); - } else { - return s; - } -}; -StringTools.trim = function(s) { - return StringTools.ltrim(StringTools.rtrim(s)); -}; -StringTools.replace = function(s,sub,by) { - return s.split(sub).join(by); -}; -var haxe_Exception = function(message,previous,native) { - Error.call(this,message); - this.message = message; - this.__previousException = previous; - this.__nativeException = native != null ? native : this; -}; -haxe_Exception.__name__ = true; -haxe_Exception.caught = function(value) { - if(((value) instanceof haxe_Exception)) { - return value; - } else if(((value) instanceof Error)) { - return new haxe_Exception(value.message,null,value); - } else { - return new haxe_ValueException(value,null,value); - } -}; -haxe_Exception.thrown = function(value) { - if(((value) instanceof haxe_Exception)) { - return value.get_native(); - } else if(((value) instanceof Error)) { - return value; - } else { - var e = new haxe_ValueException(value); - return e; - } -}; -haxe_Exception.__super__ = Error; -haxe_Exception.prototype = $extend(Error.prototype,{ - unwrap: function() { - return this.__nativeException; - } - ,get_native: function() { - return this.__nativeException; - } - ,__properties__: {get_native:"get_native"} -}); -var haxe__$Template_TemplateExpr = $hxEnums["haxe._Template.TemplateExpr"] = { __ename__:true,__constructs__:null - ,OpVar: ($_=function(v) { return {_hx_index:0,v:v,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpVar",$_.__params__ = ["v"],$_) - ,OpExpr: ($_=function(expr) { return {_hx_index:1,expr:expr,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpExpr",$_.__params__ = ["expr"],$_) - ,OpIf: ($_=function(expr,eif,eelse) { return {_hx_index:2,expr:expr,eif:eif,eelse:eelse,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpIf",$_.__params__ = ["expr","eif","eelse"],$_) - ,OpStr: ($_=function(str) { return {_hx_index:3,str:str,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpStr",$_.__params__ = ["str"],$_) - ,OpBlock: ($_=function(l) { return {_hx_index:4,l:l,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpBlock",$_.__params__ = ["l"],$_) - ,OpForeach: ($_=function(expr,loop) { return {_hx_index:5,expr:expr,loop:loop,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpForeach",$_.__params__ = ["expr","loop"],$_) - ,OpMacro: ($_=function(name,params) { return {_hx_index:6,name:name,params:params,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpMacro",$_.__params__ = ["name","params"],$_) -}; -haxe__$Template_TemplateExpr.__constructs__ = [haxe__$Template_TemplateExpr.OpVar,haxe__$Template_TemplateExpr.OpExpr,haxe__$Template_TemplateExpr.OpIf,haxe__$Template_TemplateExpr.OpStr,haxe__$Template_TemplateExpr.OpBlock,haxe__$Template_TemplateExpr.OpForeach,haxe__$Template_TemplateExpr.OpMacro]; -var haxe_iterators_ArrayIterator = function(array) { - this.current = 0; - this.array = array; -}; -haxe_iterators_ArrayIterator.__name__ = true; -haxe_iterators_ArrayIterator.prototype = { - hasNext: function() { - return this.current < this.array.length; - } - ,next: function() { - return this.array[this.current++]; - } -}; -var haxe_Template = function(str) { - var tokens = this.parseTokens(str); - this.expr = this.parseBlock(tokens); - if(!tokens.isEmpty()) { - throw haxe_Exception.thrown("Unexpected '" + Std.string(tokens.first().s) + "'"); - } -}; -haxe_Template.__name__ = true; -haxe_Template.prototype = { - execute: function(context,macros) { - this.macros = macros == null ? { } : macros; - this.context = context; - this.stack = new haxe_ds_List(); - this.buf = new StringBuf(); - this.run(this.expr); - return this.buf.b; - } - ,resolve: function(v) { - if(v == "__current__") { - return this.context; - } - if(Reflect.isObject(this.context)) { - var value = Reflect.getProperty(this.context,v); - if(value != null || Object.prototype.hasOwnProperty.call(this.context,v)) { - return value; - } - } - var _g_head = this.stack.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var ctx = val; - var value = Reflect.getProperty(ctx,v); - if(value != null || Object.prototype.hasOwnProperty.call(ctx,v)) { - return value; - } - } - return Reflect.field(haxe_Template.globals,v); - } - ,parseTokens: function(data) { - var tokens = new haxe_ds_List(); - while(haxe_Template.splitter.match(data)) { - var p = haxe_Template.splitter.matchedPos(); - if(p.pos > 0) { - tokens.add({ p : HxOverrides.substr(data,0,p.pos), s : true, l : null}); - } - if(HxOverrides.cca(data,p.pos) == 58) { - tokens.add({ p : HxOverrides.substr(data,p.pos + 2,p.len - 4), s : false, l : null}); - data = haxe_Template.splitter.matchedRight(); - continue; - } - var parp = p.pos + p.len; - var npar = 1; - var params = []; - var part = ""; - while(true) { - var c = HxOverrides.cca(data,parp); - ++parp; - if(c == 40) { - ++npar; - } else if(c == 41) { - --npar; - if(npar <= 0) { - break; - } - } else if(c == null) { - throw haxe_Exception.thrown("Unclosed macro parenthesis"); - } - if(c == 44 && npar == 1) { - params.push(part); - part = ""; - } else { - part += String.fromCodePoint(c); - } - } - params.push(part); - tokens.add({ p : haxe_Template.splitter.matched(2), s : false, l : params}); - data = HxOverrides.substr(data,parp,data.length - parp); - } - if(data.length > 0) { - tokens.add({ p : data, s : true, l : null}); - } - return tokens; - } - ,parseBlock: function(tokens) { - var l = new haxe_ds_List(); - while(true) { - var t = tokens.first(); - if(t == null) { - break; - } - if(!t.s && (t.p == "end" || t.p == "else" || HxOverrides.substr(t.p,0,7) == "elseif ")) { - break; - } - l.add(this.parse(tokens)); - } - if(l.length == 1) { - return l.first(); - } - return haxe__$Template_TemplateExpr.OpBlock(l); - } - ,parse: function(tokens) { - var t = tokens.pop(); - var p = t.p; - if(t.s) { - return haxe__$Template_TemplateExpr.OpStr(p); - } - if(t.l != null) { - var pe = new haxe_ds_List(); - var _g = 0; - var _g1 = t.l; - while(_g < _g1.length) { - var p1 = _g1[_g]; - ++_g; - pe.add(this.parseBlock(this.parseTokens(p1))); - } - return haxe__$Template_TemplateExpr.OpMacro(p,pe); - } - var kwdEnd = function(kwd) { - var pos = -1; - var length = kwd.length; - if(HxOverrides.substr(p,0,length) == kwd) { - pos = length; - var _g_offset = 0; - var _g_s = HxOverrides.substr(p,length,null); - while(_g_offset < _g_s.length) { - var c = _g_s.charCodeAt(_g_offset++); - if(c == 32) { - ++pos; - } else { - break; - } - } - } - return pos; - }; - var pos = kwdEnd("if"); - if(pos > 0) { - p = HxOverrides.substr(p,pos,p.length - pos); - var e = this.parseExpr(p); - var eif = this.parseBlock(tokens); - var t = tokens.first(); - var eelse; - if(t == null) { - throw haxe_Exception.thrown("Unclosed 'if'"); - } - if(t.p == "end") { - tokens.pop(); - eelse = null; - } else if(t.p == "else") { - tokens.pop(); - eelse = this.parseBlock(tokens); - t = tokens.pop(); - if(t == null || t.p != "end") { - throw haxe_Exception.thrown("Unclosed 'else'"); - } - } else { - t.p = HxOverrides.substr(t.p,4,t.p.length - 4); - eelse = this.parse(tokens); - } - return haxe__$Template_TemplateExpr.OpIf(e,eif,eelse); - } - var pos = kwdEnd("foreach"); - if(pos >= 0) { - p = HxOverrides.substr(p,pos,p.length - pos); - var e = this.parseExpr(p); - var efor = this.parseBlock(tokens); - var t = tokens.pop(); - if(t == null || t.p != "end") { - throw haxe_Exception.thrown("Unclosed 'foreach'"); - } - return haxe__$Template_TemplateExpr.OpForeach(e,efor); - } - if(haxe_Template.expr_splitter.match(p)) { - return haxe__$Template_TemplateExpr.OpExpr(this.parseExpr(p)); - } - return haxe__$Template_TemplateExpr.OpVar(p); - } - ,parseExpr: function(data) { - var l = new haxe_ds_List(); - var expr = data; - while(haxe_Template.expr_splitter.match(data)) { - var p = haxe_Template.expr_splitter.matchedPos(); - var k = p.pos + p.len; - if(p.pos != 0) { - l.add({ p : HxOverrides.substr(data,0,p.pos), s : true}); - } - var p1 = haxe_Template.expr_splitter.matched(0); - l.add({ p : p1, s : p1.indexOf("\"") >= 0}); - data = haxe_Template.expr_splitter.matchedRight(); - } - if(data.length != 0) { - var _g_offset = 0; - var _g_s = data; - while(_g_offset < _g_s.length) { - var _g_key = _g_offset; - var _g_value = _g_s.charCodeAt(_g_offset++); - var i = _g_key; - var c = _g_value; - if(c != 32) { - l.add({ p : HxOverrides.substr(data,i,null), s : true}); - break; - } - } - } - var e; - try { - e = this.makeExpr(l); - if(!l.isEmpty()) { - throw haxe_Exception.thrown(l.first().p); - } - } catch( _g ) { - var _g1 = haxe_Exception.caught(_g).unwrap(); - if(typeof(_g1) == "string") { - var s = _g1; - throw haxe_Exception.thrown("Unexpected '" + s + "' in " + expr); - } else { - throw _g; - } - } - return function() { - try { - return e(); - } catch( _g ) { - var exc = haxe_Exception.caught(_g).unwrap(); - throw haxe_Exception.thrown("Error : " + Std.string(exc) + " in " + expr); - } - }; - } - ,makeConst: function(v) { - haxe_Template.expr_trim.match(v); - v = haxe_Template.expr_trim.matched(1); - if(HxOverrides.cca(v,0) == 34) { - var str = HxOverrides.substr(v,1,v.length - 2); - return function() { - return str; - }; - } - if(haxe_Template.expr_int.match(v)) { - var i = Std.parseInt(v); - return function() { - return i; - }; - } - if(haxe_Template.expr_float.match(v)) { - var f = parseFloat(v); - return function() { - return f; - }; - } - var me = this; - return function() { - return me.resolve(v); - }; - } - ,makePath: function(e,l) { - var p = l.first(); - if(p == null || p.p != ".") { - return e; - } - l.pop(); - var field = l.pop(); - if(field == null || !field.s) { - throw haxe_Exception.thrown(field.p); - } - var f = field.p; - haxe_Template.expr_trim.match(f); - f = haxe_Template.expr_trim.matched(1); - return this.makePath(function() { - return Reflect.field(e(),f); - },l); - } - ,makeExpr: function(l) { - return this.makePath(this.makeExpr2(l),l); - } - ,skipSpaces: function(l) { - var p = l.first(); - while(p != null) { - var _g_offset = 0; - var _g_s = p.p; - while(_g_offset < _g_s.length) { - var c = _g_s.charCodeAt(_g_offset++); - if(c != 32) { - return; - } - } - l.pop(); - p = l.first(); - } - } - ,makeExpr2: function(l) { - this.skipSpaces(l); - var p = l.pop(); - this.skipSpaces(l); - if(p == null) { - throw haxe_Exception.thrown(""); - } - if(p.s) { - return this.makeConst(p.p); - } - switch(p.p) { - case "!": - var e = this.makeExpr(l); - return function() { - var v = e(); - if(v != null) { - return v == false; - } else { - return true; - } - }; - case "(": - this.skipSpaces(l); - var e1 = this.makeExpr(l); - this.skipSpaces(l); - var p1 = l.pop(); - if(p1 == null || p1.s) { - throw haxe_Exception.thrown(p1); - } - if(p1.p == ")") { - return e1; - } - this.skipSpaces(l); - var e2 = this.makeExpr(l); - this.skipSpaces(l); - var p2 = l.pop(); - this.skipSpaces(l); - if(p2 == null || p2.p != ")") { - throw haxe_Exception.thrown(p2); - } - switch(p1.p) { - case "!=": - return function() { - return e1() != e2(); - }; - case "&&": - return function() { - return e1() && e2(); - }; - case "*": - return function() { - return e1() * e2(); - }; - case "+": - return function() { - return e1() + e2(); - }; - case "-": - return function() { - return e1() - e2(); - }; - case "/": - return function() { - return e1() / e2(); - }; - case "<": - return function() { - return e1() < e2(); - }; - case "<=": - return function() { - return e1() <= e2(); - }; - case "==": - return function() { - return e1() == e2(); - }; - case ">": - return function() { - return e1() > e2(); - }; - case ">=": - return function() { - return e1() >= e2(); - }; - case "||": - return function() { - return e1() || e2(); - }; - default: - throw haxe_Exception.thrown("Unknown operation " + p1.p); - } - break; - case "-": - var e3 = this.makeExpr(l); - return function() { - return -e3(); - }; - } - throw haxe_Exception.thrown(p.p); - } - ,run: function(e) { - switch(e._hx_index) { - case 0: - var v = e.v; - var _this = this.buf; - var x = Std.string(this.resolve(v)); - _this.b += Std.string(x); - break; - case 1: - var e1 = e.expr; - var _this = this.buf; - var x = Std.string(e1()); - _this.b += Std.string(x); - break; - case 2: - var e1 = e.expr; - var eif = e.eif; - var eelse = e.eelse; - var v = e1(); - if(v == null || v == false) { - if(eelse != null) { - this.run(eelse); - } - } else { - this.run(eif); - } - break; - case 3: - var str = e.str; - this.buf.b += str == null ? "null" : "" + str; - break; - case 4: - var l = e.l; - var _g_head = l.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var e1 = val; - this.run(e1); - } - break; - case 5: - var e1 = e.expr; - var loop = e.loop; - var v = e1(); - try { - var x = $getIterator(v); - if(x.hasNext == null) { - throw haxe_Exception.thrown(null); - } - v = x; - } catch( _g ) { - try { - if(v.hasNext == null) { - throw haxe_Exception.thrown(null); - } - } catch( _g1 ) { - throw haxe_Exception.thrown("Cannot iter on " + Std.string(v)); - } - } - this.stack.push(this.context); - var v1 = v; - var ctx = v1; - while(ctx.hasNext()) { - var ctx1 = ctx.next(); - this.context = ctx1; - this.run(loop); - } - this.context = this.stack.pop(); - break; - case 6: - var m = e.name; - var params = e.params; - var v = Reflect.field(this.macros,m); - var pl = []; - var old = this.buf; - pl.push($bind(this,this.resolve)); - var _g_head = params.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var p = val; - if(p._hx_index == 0) { - var v1 = p.v; - pl.push(this.resolve(v1)); - } else { - this.buf = new StringBuf(); - this.run(p); - pl.push(this.buf.b); - } - } - this.buf = old; - try { - var _this = this.buf; - var x = Std.string(v.apply(this.macros,pl)); - _this.b += Std.string(x); - } catch( _g ) { - var e = haxe_Exception.caught(_g).unwrap(); - var plstr; - try { - plstr = pl.join(","); - } catch( _g1 ) { - plstr = "???"; - } - var msg = "Macro call " + m + "(" + plstr + ") failed (" + Std.string(e) + ")"; - throw haxe_Exception.thrown(msg); - } - break; - } - } -}; -var haxe_ValueException = function(value,previous,native) { - haxe_Exception.call(this,String(value),previous,native); - this.value = value; -}; -haxe_ValueException.__name__ = true; -haxe_ValueException.__super__ = haxe_Exception; -haxe_ValueException.prototype = $extend(haxe_Exception.prototype,{ - unwrap: function() { - return this.value; - } -}); -var haxe_ds_List = function() { - this.length = 0; -}; -haxe_ds_List.__name__ = true; -haxe_ds_List.prototype = { - add: function(item) { - var x = new haxe_ds__$List_ListNode(item,null); - if(this.h == null) { - this.h = x; - } else { - this.q.next = x; - } - this.q = x; - this.length++; - } - ,push: function(item) { - var x = new haxe_ds__$List_ListNode(item,this.h); - this.h = x; - if(this.q == null) { - this.q = x; - } - this.length++; - } - ,first: function() { - if(this.h == null) { - return null; - } else { - return this.h.item; - } - } - ,pop: function() { - if(this.h == null) { - return null; - } - var x = this.h.item; - this.h = this.h.next; - if(this.h == null) { - this.q = null; - } - this.length--; - return x; - } - ,isEmpty: function() { - return this.h == null; - } - ,toString: function() { - var s_b = ""; - var first = true; - var l = this.h; - s_b += "{"; - while(l != null) { - if(first) { - first = false; - } else { - s_b += ", "; - } - s_b += Std.string(Std.string(l.item)); - l = l.next; - } - s_b += "}"; - return s_b; - } -}; -var haxe_ds__$List_ListNode = function(item,next) { - this.item = item; - this.next = next; -}; -haxe_ds__$List_ListNode.__name__ = true; -var js_Boot = function() { }; -js_Boot.__name__ = true; -js_Boot.__string_rec = function(o,s) { - if(o == null) { - return "null"; - } - if(s.length >= 5) { - return "<...>"; - } - var t = typeof(o); - if(t == "function" && (o.__name__ || o.__ename__)) { - t = "object"; - } - switch(t) { - case "function": - return ""; - case "object": - if(o.__enum__) { - var e = $hxEnums[o.__enum__]; - var con = e.__constructs__[o._hx_index]; - var n = con._hx_name; - if(con.__params__) { - s = s + "\t"; - return n + "(" + ((function($this) { - var $r; - var _g = []; - { - var _g1 = 0; - var _g2 = con.__params__; - while(true) { - if(!(_g1 < _g2.length)) { - break; - } - var p = _g2[_g1]; - _g1 = _g1 + 1; - _g.push(js_Boot.__string_rec(o[p],s)); - } - } - $r = _g; - return $r; - }(this))).join(",") + ")"; - } else { - return n; - } - } - if(((o) instanceof Array)) { - var str = "["; - s += "\t"; - var _g = 0; - var _g1 = o.length; - while(_g < _g1) { - var i = _g++; - str += (i > 0 ? "," : "") + js_Boot.__string_rec(o[i],s); - } - str += "]"; - return str; - } - var tostr; - try { - tostr = o.toString; - } catch( _g ) { - return "???"; - } - if(tostr != null && tostr != Object.toString && typeof(tostr) == "function") { - var s2 = o.toString(); - if(s2 != "[object Object]") { - return s2; - } - } - var str = "{\n"; - s += "\t"; - var hasp = o.hasOwnProperty != null; - var k = null; - for( k in o ) { - if(hasp && !o.hasOwnProperty(k)) { - continue; - } - if(k == "prototype" || k == "__class__" || k == "__super__" || k == "__interfaces__" || k == "__properties__") { - continue; - } - if(str.length != 2) { - str += ", \n"; - } - str += s + k + " : " + js_Boot.__string_rec(o[k],s); - } - s = s.substring(1); - str += "\n" + s + "}"; - return str; - case "string": - return o; - default: - return String(o); - } -}; -var xrfragment_Filter = $hx_exports["xrfragment"]["Filter"] = function(str) { - this.q = { }; - this.str = ""; - if(str != null) { - this.parse(str); - } -}; -xrfragment_Filter.__name__ = true; -xrfragment_Filter.prototype = { - toObject: function() { - return Reflect.copy(this.q); - } - ,get: function() { - return Reflect.copy(this.q); - } - ,parse: function(str) { - var token = str.split(" "); - var q = { }; - var process = function(str,prefix) { - if(prefix == null) { - prefix = ""; - } - str = StringTools.trim(str); - var k = str.split("=")[0]; - var v = str.split("=")[1]; - var filter = { }; - if(q[prefix + k]) { - filter = q[prefix + k]; - } - if(xrfragment_XRF.isProp.match(str)) { - var oper = ""; - if(str.indexOf(">") != -1) { - oper = ">"; - } - if(str.indexOf("<") != -1) { - oper = "<"; - } - if(xrfragment_XRF.isExclude.match(k)) { - k = HxOverrides.substr(k,1,null); - } - v = HxOverrides.substr(v,oper.length,null); - if(oper.length == 0) { - oper = "="; - } - var rule = { }; - if(xrfragment_XRF.isNumber.match(v)) { - rule[oper] = parseFloat(v); - } else { - rule[oper] = v; - } - q["expr"] = rule; - } - var value = xrfragment_XRF.isDeep.match(str) ? k.split("*").length - 1 : 0; - q["deep"] = value; - var value = xrfragment_XRF.isExclude.match(str) ? false : true; - q["show"] = value; - var value = k.replace(xrfragment_XRF.operators.r,""); - q["key"] = value; - q["value"] = v; - }; - var _g = 0; - var _g1 = token.length; - while(_g < _g1) { - var i = _g++; - process(token[i]); - } - return this.q = q; - } - ,test: function(obj) { - var qualify = false; - var _g = 0; - var _g1 = Reflect.fields(obj); - while(_g < _g1.length) { - var k = _g1[_g]; - ++_g; - var v = Std.string(Reflect.field(obj,k)); - if(this.testProperty(k,v)) { - qualify = true; - } - } - var _g = 0; - var _g1 = Reflect.fields(obj); - while(_g < _g1.length) { - var k = _g1[_g]; - ++_g; - var v = Std.string(Reflect.field(obj,k)); - if(this.testProperty(k,v,true)) { - qualify = false; - } - } - return qualify; - } - ,testProperty: function(property,value,exclude) { - var conds = 0; - var fails = 0; - var qualify = 0; - var testprop = function(expr) { - conds += 1; - fails += expr ? 0 : 1; - return expr; - }; - if(this.q[value] != null) { - var v = this.q[value]; - if(v[property] != null) { - return v[property]; - } - } - if(Reflect.field(this.q,"expr")) { - var f = Reflect.field(this.q,"expr"); - if(!Reflect.field(this.q,"show")) { - if(Reflect.field(f,"!=") != null && testprop((value == null ? "null" : "" + value) == Std.string(Reflect.field(f,"!="))) && exclude) { - ++qualify; - } - } else { - if(Reflect.field(f,"*") != null && testprop(parseFloat(value) != null)) { - ++qualify; - } - if(Reflect.field(f,">") != null && testprop(parseFloat(value) >= parseFloat(Reflect.field(f,">")))) { - ++qualify; - } - if(Reflect.field(f,"<") != null && testprop(parseFloat(value) <= parseFloat(Reflect.field(f,"<")))) { - ++qualify; - } - if(Reflect.field(f,"=") != null && (testprop(value == Reflect.field(f,"=")) || testprop(parseFloat(value) == parseFloat(Reflect.field(f,"="))))) { - ++qualify; - } - } - } - return qualify > 0; - } -}; -var xrfragment_Parser = $hx_exports["xrfragment"]["Parser"] = function() { }; -xrfragment_Parser.__name__ = true; -xrfragment_Parser.parse = function(key,value,store,index) { - var Frag_h = Object.create(null); - Frag_h["#"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_PREDEFINED_VIEW | xrfragment_XRF.PV_EXECUTE; - Frag_h["src"] = xrfragment_XRF.T_URL; - Frag_h["href"] = xrfragment_XRF.T_URL | xrfragment_XRF.T_PREDEFINED_VIEW; - Frag_h["tag"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["pos"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_VECTOR3 | xrfragment_XRF.T_STRING | xrfragment_XRF.METADATA | xrfragment_XRF.NAVIGATOR; - Frag_h["rot"] = xrfragment_XRF.QUERY_OPERATOR | xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_VECTOR3 | xrfragment_XRF.METADATA | xrfragment_XRF.NAVIGATOR; - Frag_h["t"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_FLOAT | xrfragment_XRF.T_VECTOR2 | xrfragment_XRF.NAVIGATOR | xrfragment_XRF.METADATA; - Frag_h["s"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_MEDIAFRAG; - Frag_h["loop"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_PREDEFINED_VIEW; - Frag_h["uv"] = xrfragment_XRF.T_VECTOR2 | xrfragment_XRF.T_MEDIAFRAG; - Frag_h["namespace"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["SPDX"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["unit"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["description"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - var keyStripped = key.replace(xrfragment_XRF.operators.r,""); - var isPVDynamic = key.length > 0 && !Object.prototype.hasOwnProperty.call(Frag_h,key); - if(isPVDynamic) { - var v = new xrfragment_XRF(key,xrfragment_XRF.PV_EXECUTE | xrfragment_XRF.NAVIGATOR,index); - v.validate(value); - v.flags = xrfragment_XRF.set(xrfragment_XRF.T_DYNAMICKEY,v.flags); - if(!Object.prototype.hasOwnProperty.call(Frag_h,key)) { - v.flags = xrfragment_XRF.set(xrfragment_XRF.CUSTOMFRAG,v.flags); - } - if(value.length == 0) { - v.flags = xrfragment_XRF.set(xrfragment_XRF.T_DYNAMICKEYVALUE,v.flags); - } - store[keyStripped] = v; - return true; - } - var v = new xrfragment_XRF(key,Frag_h[key],index); - if(Object.prototype.hasOwnProperty.call(Frag_h,key)) { - if(!v.validate(value)) { - console.log("src/xrfragment/Parser.hx:67:","⚠ fragment '" + key + "' has incompatible value (" + value + ")"); - return false; - } - store[keyStripped] = v; - if(xrfragment_Parser.debug) { - console.log("src/xrfragment/Parser.hx:71:","✔ " + key + ": " + v.string); - } - } else { - if(typeof(value) == "string") { - v.guessType(v,value); - } - v.flags = xrfragment_XRF.set(xrfragment_XRF.CUSTOMFRAG,v.flags); - store[keyStripped] = v; - } - return true; -}; -xrfragment_Parser.getMetaData = function() { - var meta = { title : ["title","og:title","dc.title"], description : ["aria-description","og:description","dc.description"], author : ["author","dc.creator"], publisher : ["publisher","dc.publisher"], website : ["og:site_name","og:url","dc.publisher"], license : ["SPDX","dc.rights"]}; - return meta; -}; -var xrfragment_URI = $hx_exports["xrfragment"]["URI"] = function() { - this.XRF = { }; - this.hash = { }; - this.fragment = ""; -}; -xrfragment_URI.__name__ = true; -xrfragment_URI.parseFragment = function(url,filter) { - var store = { }; - if(url == null || url.indexOf("#") == -1) { - return store; - } - var fragment = url.split("#"); - var splitArray = fragment[1].split("&"); - var _g = 0; - var _g1 = splitArray.length; - while(_g < _g1) { - var i = _g++; - var splitByEqual = splitArray[i].split("="); - var regexPlus = new EReg("\\+","g"); - var key = splitByEqual[0]; - var value = ""; - if(splitByEqual.length > 1) { - if(xrfragment_XRF.isVector.match(splitByEqual[1])) { - value = splitByEqual[1]; - } else { - var s = regexPlus.split(splitByEqual[1]).join(" "); - value = decodeURIComponent(s.split("+").join(" ")); - } - } - var ok = xrfragment_Parser.parse(key,value,store,i); - } - if(filter != null && filter != 0) { - var _g = 0; - var _g1 = Reflect.fields(store); - while(_g < _g1.length) { - var key = _g1[_g]; - ++_g; - var xrf = store[key]; - if(!xrf.is(filter)) { - Reflect.deleteField(store,key); - } - } - } - return store; -}; -xrfragment_URI.template = function(uri,vars) { - var parts = uri.split("#"); - if(parts.length == 1) { - return uri; - } - var frag = parts[1]; - frag = StringTools.replace(frag,"{","::"); - frag = StringTools.replace(frag,"}","::"); - frag = new haxe_Template(frag).execute(vars); - frag = StringTools.replace(frag,"null",""); - parts[1] = frag; - return parts.join("#"); -}; -xrfragment_URI.parse = function(stringUrl,flags) { - var r = new EReg("^(?:(?![^:@]+:[^:@/]*@)([^:/?#.]+):)?(?://)?((?:(([^:@]*)(?::([^:@]*))?)?@)?([^:/?#]*)(?::(\\d*))?)(((/(?:[^?#](?![^?#/]*\\.[^?#/.]+(?:[?#]|$)))*/?)?([^?#/]*))(?:\\?([^#]*))?(?:#(.*))?)",""); - if(stringUrl.indexOf("://") == -1 && stringUrl.charAt(0) != "/") { - stringUrl = "/" + stringUrl; - } - r.match(stringUrl); - var url = new xrfragment_URI(); - var _g = 0; - var _g1 = xrfragment_URI._parts.length; - while(_g < _g1) { - var i = _g++; - url[xrfragment_URI._parts[i]] = r.matched(i); - } - if(xrfragment_URI.isRelative(url) == true) { - if(url.directory == null && url.host != null) { - url.file = url.host; - } - url.host = ""; - } - url.hash = { }; - if(url.fragment != null && url.fragment.length > 0) { - url.XRF = xrfragment_URI.parseFragment("#" + url.fragment,flags); - var key; - var _g = 0; - var _g1 = Reflect.fields(url.XRF); - while(_g < _g1.length) { - var key = _g1[_g]; - ++_g; - var v = url.XRF[key]; - url.hash[key] = v["string"]; - } - } - xrfragment_URI.computeVars(url); - return url; -}; -xrfragment_URI.computeVars = function(url) { - var r_r = new RegExp("//","g".split("u").join("")); - if(url.directory != null && url.directory.indexOf("//") != -1) { - url.directory = url.directory.replace(r_r,"/"); - } - if(url.path != null && url.path.indexOf("//") != -1) { - url.path = url.path.replace(r_r,"/"); - } - if(url.file != null && url.file.indexOf("//") != -1) { - url.file = url.file.replace(r_r,"/"); - } - url.URN = url.scheme + "://" + url.host; - if(url.port != null) { - url.URN += ":" + url.port; - } - url.URN += url.directory; - if(url.file != null) { - var parts = url.file.split("."); - if(parts.length > 1) { - url.fileExt = parts.pop(); - } - } -}; -xrfragment_URI.toString = function(url) { - var result = ""; - if(url.scheme != null) { - result += url.scheme + "://"; - } - if(url.user != null) { - result += url.user + ":"; - } - if(url.password != null) { - result += url.password + "@"; - } - if(url.host != null) { - result += url.host; - } - if(url.port != null) { - result += ":" + url.port; - } - if(url.directory != null) { - result += url.directory; - } - if(url.file != null) { - result += url.file; - } - if(url.query != null) { - result += "?" + url.query; - } - if(url.fragment != null) { - result += "#" + url.fragment; - } - return result; -}; -xrfragment_URI.appendURI = function(url,appendedURI) { - if(xrfragment_URI.isRelative(url) == true) { - return xrfragment_URI.appendToRelativeURI(url,appendedURI); - } else { - return xrfragment_URI.appendToAbsoluteURI(url,appendedURI); - } -}; -xrfragment_URI.isRelative = function(url) { - return url.scheme == null; -}; -xrfragment_URI.appendToRelativeURI = function(url,appendedURI) { - if(url.directory == null || url.host == null) { - return xrfragment_URI.cloneURI(appendedURI); - } - var resultURI = new xrfragment_URI(); - resultURI.host = url.host; - resultURI.directory = url.directory; - if(appendedURI.host != null) { - resultURI.directory += appendedURI.host; - } - if(appendedURI.directory != null) { - var directory = appendedURI.directory; - if(appendedURI.host == null) { - resultURI.directory += HxOverrides.substr(directory,1,null); - } else { - resultURI.directory += directory; - } - } - if(appendedURI.file != null) { - resultURI.file = appendedURI.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(appendedURI.query != null) { - resultURI.query = appendedURI.query; - } - if(appendedURI.fragment != null) { - resultURI.fragment = appendedURI.fragment; - } - return resultURI; -}; -xrfragment_URI.appendToAbsoluteURI = function(url,appendedURI) { - var resultURI = new xrfragment_URI(); - if(url.scheme != null) { - resultURI.scheme = url.scheme; - } - if(url.host != null) { - resultURI.host = url.host; - } - var directory = ""; - if(url.directory != null) { - directory = url.directory; - } - if(appendedURI.host != null) { - appendedURI.directory += appendedURI.host; - } - if(appendedURI.directory != null) { - directory += appendedURI.directory; - } - resultURI.directory = directory; - if(appendedURI.file != null) { - resultURI.file = appendedURI.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(appendedURI.query != null) { - resultURI.query = appendedURI.query; - } - if(appendedURI.fragment != null) { - resultURI.fragment = appendedURI.fragment; - } - return resultURI; -}; -xrfragment_URI.toAbsolute = function(url,newUrl) { - var newURI = xrfragment_URI.parse(newUrl,0); - var resultURI = new xrfragment_URI(); - resultURI.port = url.port; - resultURI.source = newUrl; - if(newURI.scheme != null) { - resultURI.scheme = newURI.scheme; - } else { - resultURI.scheme = url.scheme; - } - if(newURI.host != null && newURI.host.length > 0) { - resultURI.host = newURI.host; - resultURI.port = null; - resultURI.fragment = null; - resultURI.hash = { }; - resultURI.XRF = { }; - if(newURI.port != null) { - resultURI.port = newURI.port; - } - } else { - resultURI.host = url.host; - } - var directory = ""; - if(url.directory != null) { - directory = url.directory; - } - if(newURI.directory != null) { - if(newUrl.charAt(0) != "/" && newUrl.indexOf("://") == -1) { - var stripRelative_r = new RegExp("\\./.*","".split("u").join("")); - directory = directory.replace(stripRelative_r,""); - directory += newURI.directory; - } else { - directory = newURI.directory; - } - } - resultURI.directory = directory; - if(newURI.file != null) { - resultURI.file = newURI.file; - } else { - resultURI.file = url.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(newURI.query != null) { - resultURI.query = newURI.query; - } - if(newURI.fragment != null) { - resultURI.fragment = newURI.fragment; - } - resultURI.hash = newURI.hash; - resultURI.XRF = newURI.XRF; - xrfragment_URI.computeVars(resultURI); - return resultURI; -}; -xrfragment_URI.cloneURI = function(url) { - var clonedURI = new xrfragment_URI(); - clonedURI.url = url.url; - clonedURI.source = url.source; - clonedURI.scheme = url.scheme; - clonedURI.authority = url.authority; - clonedURI.userInfo = url.userInfo; - clonedURI.password = url.password; - clonedURI.host = url.host; - clonedURI.port = url.port; - clonedURI.relative = url.relative; - clonedURI.path = url.path; - clonedURI.directory = url.directory; - clonedURI.file = url.file; - clonedURI.query = url.query; - clonedURI.fragment = url.fragment; - return clonedURI; -}; -var xrfragment_XRF = $hx_exports["xrfragment"]["XRF"] = function(_fragment,_flags,_index) { - this.floats = []; - this.shift = []; - this.fragment = _fragment; - this.flags = _flags; - this.index = _index; -}; -xrfragment_XRF.__name__ = true; -xrfragment_XRF.set = function(flag,flags) { - return flags | flag; -}; -xrfragment_XRF.unset = function(flag,flags) { - return flags & ~flag; -}; -xrfragment_XRF.prototype = { - is: function(flag) { - var v = this.flags; - if(!(typeof(v) == "number" && ((v | 0) === v))) { - this.flags = 0; - } - return (this.flags & flag) != 0; - } - ,validate: function(value) { - this.guessType(this,value); - var ok = true; - if(value.length == 0 && !this.is(xrfragment_XRF.T_PREDEFINED_VIEW)) { - ok = false; - } - if(!this.is(xrfragment_XRF.T_FLOAT) && this.is(xrfragment_XRF.T_VECTOR2) && !(typeof(this.x) == "number" && typeof(this.y) == "number")) { - ok = false; - } - if(!(this.is(xrfragment_XRF.T_VECTOR2) || this.is(xrfragment_XRF.T_STRING)) && this.is(xrfragment_XRF.T_VECTOR3) && !(typeof(this.x) == "number" && typeof(this.y) == "number" && typeof(this.z) == "number")) { - ok = false; - } - return ok; - } - ,guessType: function(v,str) { - v.string = str; - if(xrfragment_XRF.isReset.match(v.fragment)) { - v.reset = true; - } - if(v.fragment == "loop") { - v.loop = true; - } - if(typeof(str) != "string") { - return; - } - if(str.length > 0) { - if(xrfragment_XRF.isXRFScheme.match(str)) { - v.xrfScheme = true; - str = str.replace(xrfragment_XRF.isXRFScheme.r,""); - v.string = str; - } - if(str.split(",").length > 1) { - var xyzn = str.split(","); - if(xyzn.length > 0) { - v.x = parseFloat(xyzn[0]); - } - if(xyzn.length > 1) { - v.y = parseFloat(xyzn[1]); - } - if(xyzn.length > 2) { - v.z = parseFloat(xyzn[2]); - } - var _g = 0; - var _g1 = xyzn.length; - while(_g < _g1) { - var i = _g++; - v.shift.push(xrfragment_XRF.isShift.match(xyzn[i])); - v.floats.push(parseFloat(xyzn[i].replace(xrfragment_XRF.isShift.r,""))); - } - } - if(xrfragment_XRF.isColor.match(str)) { - v.color = str; - } - if(xrfragment_XRF.isFloat.match(str)) { - v.x = parseFloat(str); - v.float = v.x; - } - if(xrfragment_XRF.isInt.match(str)) { - v.int = Std.parseInt(str); - v.x = v.int; - v.floats.push(v.x); - } - v.filter = new xrfragment_Filter(v.fragment + "=" + v.string); - } else { - v.filter = new xrfragment_Filter(v.fragment); - } - } -}; -function $getIterator(o) { if( o instanceof Array ) return new haxe_iterators_ArrayIterator(o); else return o.iterator(); } -function $bind(o,m) { if( m == null ) return null; if( m.__id__ == null ) m.__id__ = $global.$haxeUID++; var f; if( o.hx__closures__ == null ) o.hx__closures__ = {}; else f = o.hx__closures__[m.__id__]; if( f == null ) { f = m.bind(o); o.hx__closures__[m.__id__] = f; } return f; } -$global.$haxeUID |= 0; -if(typeof(performance) != "undefined" ? typeof(performance.now) == "function" : false) { - HxOverrides.now = performance.now.bind(performance); -} -if( String.fromCodePoint == null ) String.fromCodePoint = function(c) { return c < 0x10000 ? String.fromCharCode(c) : String.fromCharCode((c>>10)+0xD7C0)+String.fromCharCode((c&0x3FF)+0xDC00); } -String.__name__ = true; -Array.__name__ = true; -js_Boot.__toStr = ({ }).toString; -haxe_Template.splitter = new EReg("(::[A-Za-z0-9_ ()&|!+=/><*.\"-]+::|\\$\\$([A-Za-z0-9_-]+)\\()",""); -haxe_Template.expr_splitter = new EReg("(\\(|\\)|[ \r\n\t]*\"[^\"]*\"[ \r\n\t]*|[!+=/><*.&|-]+)",""); -haxe_Template.expr_trim = new EReg("^[ ]*([^ ]+)[ ]*$",""); -haxe_Template.expr_int = new EReg("^[0-9]+$",""); -haxe_Template.expr_float = new EReg("^([+-]?)(?=\\d|,\\d)\\d*(,\\d*)?([Ee]([+-]?\\d+))?$",""); -haxe_Template.globals = { }; -haxe_Template.hxKeepArrayIterator = new haxe_iterators_ArrayIterator([]); -xrfragment_Parser.error = ""; -xrfragment_Parser.debug = false; -xrfragment_URI.__meta__ = { statics : { template : { keep : null}}}; -xrfragment_URI._parts = ["source","scheme","authority","userInfo","user","password","host","port","relative","path","directory","file","query","fragment"]; -xrfragment_XRF.IMMUTABLE = 1; -xrfragment_XRF.PROP_BIND = 2; -xrfragment_XRF.QUERY_OPERATOR = 4; -xrfragment_XRF.PROMPT = 8; -xrfragment_XRF.CUSTOMFRAG = 16; -xrfragment_XRF.NAVIGATOR = 32; -xrfragment_XRF.METADATA = 64; -xrfragment_XRF.PV_OVERRIDE = 128; -xrfragment_XRF.PV_EXECUTE = 256; -xrfragment_XRF.T_COLOR = 8192; -xrfragment_XRF.T_INT = 16384; -xrfragment_XRF.T_FLOAT = 32768; -xrfragment_XRF.T_VECTOR2 = 65536; -xrfragment_XRF.T_VECTOR3 = 131072; -xrfragment_XRF.T_URL = 262144; -xrfragment_XRF.T_PREDEFINED_VIEW = 524288; -xrfragment_XRF.T_STRING = 1048576; -xrfragment_XRF.T_MEDIAFRAG = 2097152; -xrfragment_XRF.T_DYNAMICKEY = 4194304; -xrfragment_XRF.T_DYNAMICKEYVALUE = 8388608; -xrfragment_XRF.isColor = new EReg("^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$",""); -xrfragment_XRF.isInt = new EReg("^[-0-9]+$",""); -xrfragment_XRF.isFloat = new EReg("^[-0-9]+\\.[0-9]+$",""); -xrfragment_XRF.isVector = new EReg("([,]+|\\w)",""); -xrfragment_XRF.isUrl = new EReg("(://)?\\..*",""); -xrfragment_XRF.isUrlOrPretypedView = new EReg("(^#|://)?\\..*",""); -xrfragment_XRF.isString = new EReg(".*",""); -xrfragment_XRF.operators = new EReg("(^[-]|^[!]|[\\*]$)","g"); -xrfragment_XRF.isProp = new EReg("^.*=[><=]?",""); -xrfragment_XRF.isExclude = new EReg("^-",""); -xrfragment_XRF.isDeep = new EReg("\\*",""); -xrfragment_XRF.isNumber = new EReg("^[0-9\\.]+$",""); -xrfragment_XRF.isMediaFrag = new EReg("^([0-9\\.,\\*+-]+)$",""); -xrfragment_XRF.isReset = new EReg("^!",""); -xrfragment_XRF.isShift = new EReg("^(\\+|--)",""); -xrfragment_XRF.isXRFScheme = new EReg("^xrf://",""); -})(typeof window != "undefined" ? window : typeof global != "undefined" ? global : typeof self != "undefined" ? self : this); -var xrfragment = $hx_exports["xrfragment"]; -export default xrfragment; -// Generated by Haxe 4.3.3 -var $hx_exports = typeof exports != "undefined" ? exports : typeof window != "undefined" ? window : typeof self != "undefined" ? self : this; -(function ($global) { "use strict"; -$hx_exports["xrfragment"] = $hx_exports["xrfragment"] || {}; -var $estr = function() { return js_Boot.__string_rec(this,''); },$hxEnums = $hxEnums || {},$_; -function $extend(from, fields) { - var proto = Object.create(from); - for (var name in fields) proto[name] = fields[name]; - if( fields.toString !== Object.prototype.toString ) proto.toString = fields.toString; - return proto; -} -var EReg = function(r,opt) { - this.r = new RegExp(r,opt.split("u").join("")); -}; -EReg.__name__ = true; -EReg.prototype = { - match: function(s) { - if(this.r.global) { - this.r.lastIndex = 0; - } - this.r.m = this.r.exec(s); - this.r.s = s; - return this.r.m != null; - } - ,matched: function(n) { - if(this.r.m != null && n >= 0 && n < this.r.m.length) { - return this.r.m[n]; - } else { - throw haxe_Exception.thrown("EReg::matched"); - } - } - ,matchedRight: function() { - if(this.r.m == null) { - throw haxe_Exception.thrown("No string matched"); - } - var sz = this.r.m.index + this.r.m[0].length; - return HxOverrides.substr(this.r.s,sz,this.r.s.length - sz); - } - ,matchedPos: function() { - if(this.r.m == null) { - throw haxe_Exception.thrown("No string matched"); - } - return { pos : this.r.m.index, len : this.r.m[0].length}; - } - ,split: function(s) { - var d = "#__delim__#"; - return s.replace(this.r,d).split(d); - } -}; -var HxOverrides = function() { }; -HxOverrides.__name__ = true; -HxOverrides.cca = function(s,index) { - var x = s.charCodeAt(index); - if(x != x) { - return undefined; - } - return x; -}; -HxOverrides.substr = function(s,pos,len) { - if(len == null) { - len = s.length; - } else if(len < 0) { - if(pos == 0) { - len = s.length + len; - } else { - return ""; - } - } - return s.substr(pos,len); -}; -HxOverrides.now = function() { - return Date.now(); -}; -Math.__name__ = true; -var Reflect = function() { }; -Reflect.__name__ = true; -Reflect.field = function(o,field) { - try { - return o[field]; - } catch( _g ) { - return null; - } -}; -Reflect.getProperty = function(o,field) { - var tmp; - if(o == null) { - return null; - } else { - var tmp1; - if(o.__properties__) { - tmp = o.__properties__["get_" + field]; - tmp1 = tmp; - } else { - tmp1 = false; - } - if(tmp1) { - return o[tmp](); - } else { - return o[field]; - } - } -}; -Reflect.fields = function(o) { - var a = []; - if(o != null) { - var hasOwnProperty = Object.prototype.hasOwnProperty; - for( var f in o ) { - if(f != "__id__" && f != "hx__closures__" && hasOwnProperty.call(o,f)) { - a.push(f); - } - } - } - return a; -}; -Reflect.isObject = function(v) { - if(v == null) { - return false; - } - var t = typeof(v); - if(!(t == "string" || t == "object" && v.__enum__ == null)) { - if(t == "function") { - return (v.__name__ || v.__ename__) != null; - } else { - return false; - } - } else { - return true; - } -}; -Reflect.deleteField = function(o,field) { - if(!Object.prototype.hasOwnProperty.call(o,field)) { - return false; - } - delete(o[field]); - return true; -}; -Reflect.copy = function(o) { - if(o == null) { - return null; - } - var o2 = { }; - var _g = 0; - var _g1 = Reflect.fields(o); - while(_g < _g1.length) { - var f = _g1[_g]; - ++_g; - o2[f] = Reflect.field(o,f); - } - return o2; -}; -var Std = function() { }; -Std.__name__ = true; -Std.string = function(s) { - return js_Boot.__string_rec(s,""); -}; -Std.parseInt = function(x) { - var v = parseInt(x); - if(isNaN(v)) { - return null; - } - return v; -}; -var StringBuf = function() { - this.b = ""; -}; -StringBuf.__name__ = true; -var StringTools = function() { }; -StringTools.__name__ = true; -StringTools.isSpace = function(s,pos) { - var c = HxOverrides.cca(s,pos); - if(!(c > 8 && c < 14)) { - return c == 32; - } else { - return true; - } -}; -StringTools.ltrim = function(s) { - var l = s.length; - var r = 0; - while(r < l && StringTools.isSpace(s,r)) ++r; - if(r > 0) { - return HxOverrides.substr(s,r,l - r); - } else { - return s; - } -}; -StringTools.rtrim = function(s) { - var l = s.length; - var r = 0; - while(r < l && StringTools.isSpace(s,l - r - 1)) ++r; - if(r > 0) { - return HxOverrides.substr(s,0,l - r); - } else { - return s; - } -}; -StringTools.trim = function(s) { - return StringTools.ltrim(StringTools.rtrim(s)); -}; -StringTools.replace = function(s,sub,by) { - return s.split(sub).join(by); -}; -var haxe_Exception = function(message,previous,native) { - Error.call(this,message); - this.message = message; - this.__previousException = previous; - this.__nativeException = native != null ? native : this; -}; -haxe_Exception.__name__ = true; -haxe_Exception.caught = function(value) { - if(((value) instanceof haxe_Exception)) { - return value; - } else if(((value) instanceof Error)) { - return new haxe_Exception(value.message,null,value); - } else { - return new haxe_ValueException(value,null,value); - } -}; -haxe_Exception.thrown = function(value) { - if(((value) instanceof haxe_Exception)) { - return value.get_native(); - } else if(((value) instanceof Error)) { - return value; - } else { - var e = new haxe_ValueException(value); - return e; - } -}; -haxe_Exception.__super__ = Error; -haxe_Exception.prototype = $extend(Error.prototype,{ - unwrap: function() { - return this.__nativeException; - } - ,get_native: function() { - return this.__nativeException; - } - ,__properties__: {get_native:"get_native"} -}); -var haxe__$Template_TemplateExpr = $hxEnums["haxe._Template.TemplateExpr"] = { __ename__:true,__constructs__:null - ,OpVar: ($_=function(v) { return {_hx_index:0,v:v,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpVar",$_.__params__ = ["v"],$_) - ,OpExpr: ($_=function(expr) { return {_hx_index:1,expr:expr,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpExpr",$_.__params__ = ["expr"],$_) - ,OpIf: ($_=function(expr,eif,eelse) { return {_hx_index:2,expr:expr,eif:eif,eelse:eelse,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpIf",$_.__params__ = ["expr","eif","eelse"],$_) - ,OpStr: ($_=function(str) { return {_hx_index:3,str:str,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpStr",$_.__params__ = ["str"],$_) - ,OpBlock: ($_=function(l) { return {_hx_index:4,l:l,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpBlock",$_.__params__ = ["l"],$_) - ,OpForeach: ($_=function(expr,loop) { return {_hx_index:5,expr:expr,loop:loop,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpForeach",$_.__params__ = ["expr","loop"],$_) - ,OpMacro: ($_=function(name,params) { return {_hx_index:6,name:name,params:params,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpMacro",$_.__params__ = ["name","params"],$_) -}; -haxe__$Template_TemplateExpr.__constructs__ = [haxe__$Template_TemplateExpr.OpVar,haxe__$Template_TemplateExpr.OpExpr,haxe__$Template_TemplateExpr.OpIf,haxe__$Template_TemplateExpr.OpStr,haxe__$Template_TemplateExpr.OpBlock,haxe__$Template_TemplateExpr.OpForeach,haxe__$Template_TemplateExpr.OpMacro]; -var haxe_iterators_ArrayIterator = function(array) { - this.current = 0; - this.array = array; -}; -haxe_iterators_ArrayIterator.__name__ = true; -haxe_iterators_ArrayIterator.prototype = { - hasNext: function() { - return this.current < this.array.length; - } - ,next: function() { - return this.array[this.current++]; - } -}; -var haxe_Template = function(str) { - var tokens = this.parseTokens(str); - this.expr = this.parseBlock(tokens); - if(!tokens.isEmpty()) { - throw haxe_Exception.thrown("Unexpected '" + Std.string(tokens.first().s) + "'"); - } -}; -haxe_Template.__name__ = true; -haxe_Template.prototype = { - execute: function(context,macros) { - this.macros = macros == null ? { } : macros; - this.context = context; - this.stack = new haxe_ds_List(); - this.buf = new StringBuf(); - this.run(this.expr); - return this.buf.b; - } - ,resolve: function(v) { - if(v == "__current__") { - return this.context; - } - if(Reflect.isObject(this.context)) { - var value = Reflect.getProperty(this.context,v); - if(value != null || Object.prototype.hasOwnProperty.call(this.context,v)) { - return value; - } - } - var _g_head = this.stack.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var ctx = val; - var value = Reflect.getProperty(ctx,v); - if(value != null || Object.prototype.hasOwnProperty.call(ctx,v)) { - return value; - } - } - return Reflect.field(haxe_Template.globals,v); - } - ,parseTokens: function(data) { - var tokens = new haxe_ds_List(); - while(haxe_Template.splitter.match(data)) { - var p = haxe_Template.splitter.matchedPos(); - if(p.pos > 0) { - tokens.add({ p : HxOverrides.substr(data,0,p.pos), s : true, l : null}); - } - if(HxOverrides.cca(data,p.pos) == 58) { - tokens.add({ p : HxOverrides.substr(data,p.pos + 2,p.len - 4), s : false, l : null}); - data = haxe_Template.splitter.matchedRight(); - continue; - } - var parp = p.pos + p.len; - var npar = 1; - var params = []; - var part = ""; - while(true) { - var c = HxOverrides.cca(data,parp); - ++parp; - if(c == 40) { - ++npar; - } else if(c == 41) { - --npar; - if(npar <= 0) { - break; - } - } else if(c == null) { - throw haxe_Exception.thrown("Unclosed macro parenthesis"); - } - if(c == 44 && npar == 1) { - params.push(part); - part = ""; - } else { - part += String.fromCodePoint(c); - } - } - params.push(part); - tokens.add({ p : haxe_Template.splitter.matched(2), s : false, l : params}); - data = HxOverrides.substr(data,parp,data.length - parp); - } - if(data.length > 0) { - tokens.add({ p : data, s : true, l : null}); - } - return tokens; - } - ,parseBlock: function(tokens) { - var l = new haxe_ds_List(); - while(true) { - var t = tokens.first(); - if(t == null) { - break; - } - if(!t.s && (t.p == "end" || t.p == "else" || HxOverrides.substr(t.p,0,7) == "elseif ")) { - break; - } - l.add(this.parse(tokens)); - } - if(l.length == 1) { - return l.first(); - } - return haxe__$Template_TemplateExpr.OpBlock(l); - } - ,parse: function(tokens) { - var t = tokens.pop(); - var p = t.p; - if(t.s) { - return haxe__$Template_TemplateExpr.OpStr(p); - } - if(t.l != null) { - var pe = new haxe_ds_List(); - var _g = 0; - var _g1 = t.l; - while(_g < _g1.length) { - var p1 = _g1[_g]; - ++_g; - pe.add(this.parseBlock(this.parseTokens(p1))); - } - return haxe__$Template_TemplateExpr.OpMacro(p,pe); - } - var kwdEnd = function(kwd) { - var pos = -1; - var length = kwd.length; - if(HxOverrides.substr(p,0,length) == kwd) { - pos = length; - var _g_offset = 0; - var _g_s = HxOverrides.substr(p,length,null); - while(_g_offset < _g_s.length) { - var c = _g_s.charCodeAt(_g_offset++); - if(c == 32) { - ++pos; - } else { - break; - } - } - } - return pos; - }; - var pos = kwdEnd("if"); - if(pos > 0) { - p = HxOverrides.substr(p,pos,p.length - pos); - var e = this.parseExpr(p); - var eif = this.parseBlock(tokens); - var t = tokens.first(); - var eelse; - if(t == null) { - throw haxe_Exception.thrown("Unclosed 'if'"); - } - if(t.p == "end") { - tokens.pop(); - eelse = null; - } else if(t.p == "else") { - tokens.pop(); - eelse = this.parseBlock(tokens); - t = tokens.pop(); - if(t == null || t.p != "end") { - throw haxe_Exception.thrown("Unclosed 'else'"); - } - } else { - t.p = HxOverrides.substr(t.p,4,t.p.length - 4); - eelse = this.parse(tokens); - } - return haxe__$Template_TemplateExpr.OpIf(e,eif,eelse); - } - var pos = kwdEnd("foreach"); - if(pos >= 0) { - p = HxOverrides.substr(p,pos,p.length - pos); - var e = this.parseExpr(p); - var efor = this.parseBlock(tokens); - var t = tokens.pop(); - if(t == null || t.p != "end") { - throw haxe_Exception.thrown("Unclosed 'foreach'"); - } - return haxe__$Template_TemplateExpr.OpForeach(e,efor); - } - if(haxe_Template.expr_splitter.match(p)) { - return haxe__$Template_TemplateExpr.OpExpr(this.parseExpr(p)); - } - return haxe__$Template_TemplateExpr.OpVar(p); - } - ,parseExpr: function(data) { - var l = new haxe_ds_List(); - var expr = data; - while(haxe_Template.expr_splitter.match(data)) { - var p = haxe_Template.expr_splitter.matchedPos(); - var k = p.pos + p.len; - if(p.pos != 0) { - l.add({ p : HxOverrides.substr(data,0,p.pos), s : true}); - } - var p1 = haxe_Template.expr_splitter.matched(0); - l.add({ p : p1, s : p1.indexOf("\"") >= 0}); - data = haxe_Template.expr_splitter.matchedRight(); - } - if(data.length != 0) { - var _g_offset = 0; - var _g_s = data; - while(_g_offset < _g_s.length) { - var _g_key = _g_offset; - var _g_value = _g_s.charCodeAt(_g_offset++); - var i = _g_key; - var c = _g_value; - if(c != 32) { - l.add({ p : HxOverrides.substr(data,i,null), s : true}); - break; - } - } - } - var e; - try { - e = this.makeExpr(l); - if(!l.isEmpty()) { - throw haxe_Exception.thrown(l.first().p); - } - } catch( _g ) { - var _g1 = haxe_Exception.caught(_g).unwrap(); - if(typeof(_g1) == "string") { - var s = _g1; - throw haxe_Exception.thrown("Unexpected '" + s + "' in " + expr); - } else { - throw _g; - } - } - return function() { - try { - return e(); - } catch( _g ) { - var exc = haxe_Exception.caught(_g).unwrap(); - throw haxe_Exception.thrown("Error : " + Std.string(exc) + " in " + expr); - } - }; - } - ,makeConst: function(v) { - haxe_Template.expr_trim.match(v); - v = haxe_Template.expr_trim.matched(1); - if(HxOverrides.cca(v,0) == 34) { - var str = HxOverrides.substr(v,1,v.length - 2); - return function() { - return str; - }; - } - if(haxe_Template.expr_int.match(v)) { - var i = Std.parseInt(v); - return function() { - return i; - }; - } - if(haxe_Template.expr_float.match(v)) { - var f = parseFloat(v); - return function() { - return f; - }; - } - var me = this; - return function() { - return me.resolve(v); - }; - } - ,makePath: function(e,l) { - var p = l.first(); - if(p == null || p.p != ".") { - return e; - } - l.pop(); - var field = l.pop(); - if(field == null || !field.s) { - throw haxe_Exception.thrown(field.p); - } - var f = field.p; - haxe_Template.expr_trim.match(f); - f = haxe_Template.expr_trim.matched(1); - return this.makePath(function() { - return Reflect.field(e(),f); - },l); - } - ,makeExpr: function(l) { - return this.makePath(this.makeExpr2(l),l); - } - ,skipSpaces: function(l) { - var p = l.first(); - while(p != null) { - var _g_offset = 0; - var _g_s = p.p; - while(_g_offset < _g_s.length) { - var c = _g_s.charCodeAt(_g_offset++); - if(c != 32) { - return; - } - } - l.pop(); - p = l.first(); - } - } - ,makeExpr2: function(l) { - this.skipSpaces(l); - var p = l.pop(); - this.skipSpaces(l); - if(p == null) { - throw haxe_Exception.thrown(""); - } - if(p.s) { - return this.makeConst(p.p); - } - switch(p.p) { - case "!": - var e = this.makeExpr(l); - return function() { - var v = e(); - if(v != null) { - return v == false; - } else { - return true; - } - }; - case "(": - this.skipSpaces(l); - var e1 = this.makeExpr(l); - this.skipSpaces(l); - var p1 = l.pop(); - if(p1 == null || p1.s) { - throw haxe_Exception.thrown(p1); - } - if(p1.p == ")") { - return e1; - } - this.skipSpaces(l); - var e2 = this.makeExpr(l); - this.skipSpaces(l); - var p2 = l.pop(); - this.skipSpaces(l); - if(p2 == null || p2.p != ")") { - throw haxe_Exception.thrown(p2); - } - switch(p1.p) { - case "!=": - return function() { - return e1() != e2(); - }; - case "&&": - return function() { - return e1() && e2(); - }; - case "*": - return function() { - return e1() * e2(); - }; - case "+": - return function() { - return e1() + e2(); - }; - case "-": - return function() { - return e1() - e2(); - }; - case "/": - return function() { - return e1() / e2(); - }; - case "<": - return function() { - return e1() < e2(); - }; - case "<=": - return function() { - return e1() <= e2(); - }; - case "==": - return function() { - return e1() == e2(); - }; - case ">": - return function() { - return e1() > e2(); - }; - case ">=": - return function() { - return e1() >= e2(); - }; - case "||": - return function() { - return e1() || e2(); - }; - default: - throw haxe_Exception.thrown("Unknown operation " + p1.p); - } - break; - case "-": - var e3 = this.makeExpr(l); - return function() { - return -e3(); - }; - } - throw haxe_Exception.thrown(p.p); - } - ,run: function(e) { - switch(e._hx_index) { - case 0: - var v = e.v; - var _this = this.buf; - var x = Std.string(this.resolve(v)); - _this.b += Std.string(x); - break; - case 1: - var e1 = e.expr; - var _this = this.buf; - var x = Std.string(e1()); - _this.b += Std.string(x); - break; - case 2: - var e1 = e.expr; - var eif = e.eif; - var eelse = e.eelse; - var v = e1(); - if(v == null || v == false) { - if(eelse != null) { - this.run(eelse); - } - } else { - this.run(eif); - } - break; - case 3: - var str = e.str; - this.buf.b += str == null ? "null" : "" + str; - break; - case 4: - var l = e.l; - var _g_head = l.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var e1 = val; - this.run(e1); - } - break; - case 5: - var e1 = e.expr; - var loop = e.loop; - var v = e1(); - try { - var x = $getIterator(v); - if(x.hasNext == null) { - throw haxe_Exception.thrown(null); - } - v = x; - } catch( _g ) { - try { - if(v.hasNext == null) { - throw haxe_Exception.thrown(null); - } - } catch( _g1 ) { - throw haxe_Exception.thrown("Cannot iter on " + Std.string(v)); - } - } - this.stack.push(this.context); - var v1 = v; - var ctx = v1; - while(ctx.hasNext()) { - var ctx1 = ctx.next(); - this.context = ctx1; - this.run(loop); - } - this.context = this.stack.pop(); - break; - case 6: - var m = e.name; - var params = e.params; - var v = Reflect.field(this.macros,m); - var pl = []; - var old = this.buf; - pl.push($bind(this,this.resolve)); - var _g_head = params.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var p = val; - if(p._hx_index == 0) { - var v1 = p.v; - pl.push(this.resolve(v1)); - } else { - this.buf = new StringBuf(); - this.run(p); - pl.push(this.buf.b); - } - } - this.buf = old; - try { - var _this = this.buf; - var x = Std.string(v.apply(this.macros,pl)); - _this.b += Std.string(x); - } catch( _g ) { - var e = haxe_Exception.caught(_g).unwrap(); - var plstr; - try { - plstr = pl.join(","); - } catch( _g1 ) { - plstr = "???"; - } - var msg = "Macro call " + m + "(" + plstr + ") failed (" + Std.string(e) + ")"; - throw haxe_Exception.thrown(msg); - } - break; - } - } -}; -var haxe_ValueException = function(value,previous,native) { - haxe_Exception.call(this,String(value),previous,native); - this.value = value; -}; -haxe_ValueException.__name__ = true; -haxe_ValueException.__super__ = haxe_Exception; -haxe_ValueException.prototype = $extend(haxe_Exception.prototype,{ - unwrap: function() { - return this.value; - } -}); -var haxe_ds_List = function() { - this.length = 0; -}; -haxe_ds_List.__name__ = true; -haxe_ds_List.prototype = { - add: function(item) { - var x = new haxe_ds__$List_ListNode(item,null); - if(this.h == null) { - this.h = x; - } else { - this.q.next = x; - } - this.q = x; - this.length++; - } - ,push: function(item) { - var x = new haxe_ds__$List_ListNode(item,this.h); - this.h = x; - if(this.q == null) { - this.q = x; - } - this.length++; - } - ,first: function() { - if(this.h == null) { - return null; - } else { - return this.h.item; - } - } - ,pop: function() { - if(this.h == null) { - return null; - } - var x = this.h.item; - this.h = this.h.next; - if(this.h == null) { - this.q = null; - } - this.length--; - return x; - } - ,isEmpty: function() { - return this.h == null; - } - ,toString: function() { - var s_b = ""; - var first = true; - var l = this.h; - s_b += "{"; - while(l != null) { - if(first) { - first = false; - } else { - s_b += ", "; - } - s_b += Std.string(Std.string(l.item)); - l = l.next; - } - s_b += "}"; - return s_b; - } -}; -var haxe_ds__$List_ListNode = function(item,next) { - this.item = item; - this.next = next; -}; -haxe_ds__$List_ListNode.__name__ = true; -var js_Boot = function() { }; -js_Boot.__name__ = true; -js_Boot.__string_rec = function(o,s) { - if(o == null) { - return "null"; - } - if(s.length >= 5) { - return "<...>"; - } - var t = typeof(o); - if(t == "function" && (o.__name__ || o.__ename__)) { - t = "object"; - } - switch(t) { - case "function": - return ""; - case "object": - if(o.__enum__) { - var e = $hxEnums[o.__enum__]; - var con = e.__constructs__[o._hx_index]; - var n = con._hx_name; - if(con.__params__) { - s = s + "\t"; - return n + "(" + ((function($this) { - var $r; - var _g = []; - { - var _g1 = 0; - var _g2 = con.__params__; - while(true) { - if(!(_g1 < _g2.length)) { - break; - } - var p = _g2[_g1]; - _g1 = _g1 + 1; - _g.push(js_Boot.__string_rec(o[p],s)); - } - } - $r = _g; - return $r; - }(this))).join(",") + ")"; - } else { - return n; - } - } - if(((o) instanceof Array)) { - var str = "["; - s += "\t"; - var _g = 0; - var _g1 = o.length; - while(_g < _g1) { - var i = _g++; - str += (i > 0 ? "," : "") + js_Boot.__string_rec(o[i],s); - } - str += "]"; - return str; - } - var tostr; - try { - tostr = o.toString; - } catch( _g ) { - return "???"; - } - if(tostr != null && tostr != Object.toString && typeof(tostr) == "function") { - var s2 = o.toString(); - if(s2 != "[object Object]") { - return s2; - } - } - var str = "{\n"; - s += "\t"; - var hasp = o.hasOwnProperty != null; - var k = null; - for( k in o ) { - if(hasp && !o.hasOwnProperty(k)) { - continue; - } - if(k == "prototype" || k == "__class__" || k == "__super__" || k == "__interfaces__" || k == "__properties__") { - continue; - } - if(str.length != 2) { - str += ", \n"; - } - str += s + k + " : " + js_Boot.__string_rec(o[k],s); - } - s = s.substring(1); - str += "\n" + s + "}"; - return str; - case "string": - return o; - default: - return String(o); - } -}; -var xrfragment_Filter = $hx_exports["xrfragment"]["Filter"] = function(str) { - this.q = { }; - this.str = ""; - if(str != null) { - this.parse(str); - } -}; -xrfragment_Filter.__name__ = true; -xrfragment_Filter.prototype = { - toObject: function() { - return Reflect.copy(this.q); - } - ,get: function() { - return Reflect.copy(this.q); - } - ,parse: function(str) { - var token = str.split(" "); - var q = { }; - var process = function(str,prefix) { - if(prefix == null) { - prefix = ""; - } - str = StringTools.trim(str); - var k = str.split("=")[0]; - var v = str.split("=")[1]; - var filter = { }; - if(q[prefix + k]) { - filter = q[prefix + k]; - } - if(xrfragment_XRF.isProp.match(str)) { - var oper = ""; - if(str.indexOf(">") != -1) { - oper = ">"; - } - if(str.indexOf("<") != -1) { - oper = "<"; - } - if(xrfragment_XRF.isExclude.match(k)) { - k = HxOverrides.substr(k,1,null); - } - v = HxOverrides.substr(v,oper.length,null); - if(oper.length == 0) { - oper = "="; - } - var rule = { }; - if(xrfragment_XRF.isNumber.match(v)) { - rule[oper] = parseFloat(v); - } else { - rule[oper] = v; - } - q["expr"] = rule; - } - var value = xrfragment_XRF.isDeep.match(str) ? k.split("*").length - 1 : 0; - q["deep"] = value; - var value = xrfragment_XRF.isExclude.match(str) ? false : true; - q["show"] = value; - var value = k.replace(xrfragment_XRF.operators.r,""); - q["key"] = value; - q["value"] = v; - }; - var _g = 0; - var _g1 = token.length; - while(_g < _g1) { - var i = _g++; - process(token[i]); - } - return this.q = q; - } - ,test: function(obj) { - var qualify = false; - var _g = 0; - var _g1 = Reflect.fields(obj); - while(_g < _g1.length) { - var k = _g1[_g]; - ++_g; - var v = Std.string(Reflect.field(obj,k)); - if(this.testProperty(k,v)) { - qualify = true; - } - } - var _g = 0; - var _g1 = Reflect.fields(obj); - while(_g < _g1.length) { - var k = _g1[_g]; - ++_g; - var v = Std.string(Reflect.field(obj,k)); - if(this.testProperty(k,v,true)) { - qualify = false; - } - } - return qualify; - } - ,testProperty: function(property,value,exclude) { - var conds = 0; - var fails = 0; - var qualify = 0; - var testprop = function(expr) { - conds += 1; - fails += expr ? 0 : 1; - return expr; - }; - if(this.q[value] != null) { - var v = this.q[value]; - if(v[property] != null) { - return v[property]; - } - } - if(Reflect.field(this.q,"expr")) { - var f = Reflect.field(this.q,"expr"); - if(!Reflect.field(this.q,"show")) { - if(Reflect.field(f,"!=") != null && testprop((value == null ? "null" : "" + value) == Std.string(Reflect.field(f,"!="))) && exclude) { - ++qualify; - } - } else { - if(Reflect.field(f,"*") != null && testprop(parseFloat(value) != null)) { - ++qualify; - } - if(Reflect.field(f,">") != null && testprop(parseFloat(value) >= parseFloat(Reflect.field(f,">")))) { - ++qualify; - } - if(Reflect.field(f,"<") != null && testprop(parseFloat(value) <= parseFloat(Reflect.field(f,"<")))) { - ++qualify; - } - if(Reflect.field(f,"=") != null && (testprop(value == Reflect.field(f,"=")) || testprop(parseFloat(value) == parseFloat(Reflect.field(f,"="))))) { - ++qualify; - } - } - } - return qualify > 0; - } -}; -var xrfragment_Parser = $hx_exports["xrfragment"]["Parser"] = function() { }; -xrfragment_Parser.__name__ = true; -xrfragment_Parser.parse = function(key,value,store,index) { - var Frag_h = Object.create(null); - Frag_h["#"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_PREDEFINED_VIEW | xrfragment_XRF.PV_EXECUTE; - Frag_h["src"] = xrfragment_XRF.T_URL; - Frag_h["href"] = xrfragment_XRF.T_URL | xrfragment_XRF.T_PREDEFINED_VIEW; - Frag_h["tag"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["pos"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_VECTOR3 | xrfragment_XRF.T_STRING | xrfragment_XRF.METADATA | xrfragment_XRF.NAVIGATOR; - Frag_h["rot"] = xrfragment_XRF.QUERY_OPERATOR | xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_VECTOR3 | xrfragment_XRF.METADATA | xrfragment_XRF.NAVIGATOR; - Frag_h["t"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_FLOAT | xrfragment_XRF.T_VECTOR2 | xrfragment_XRF.NAVIGATOR | xrfragment_XRF.METADATA; - Frag_h["s"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_MEDIAFRAG; - Frag_h["loop"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_PREDEFINED_VIEW; - Frag_h["uv"] = xrfragment_XRF.T_VECTOR2 | xrfragment_XRF.T_MEDIAFRAG; - Frag_h["namespace"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["SPDX"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["unit"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["description"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - var keyStripped = key.replace(xrfragment_XRF.operators.r,""); - var isPVDynamic = key.length > 0 && !Object.prototype.hasOwnProperty.call(Frag_h,key); - if(isPVDynamic) { - var v = new xrfragment_XRF(key,xrfragment_XRF.PV_EXECUTE | xrfragment_XRF.NAVIGATOR,index); - v.validate(value); - v.flags = xrfragment_XRF.set(xrfragment_XRF.T_DYNAMICKEY,v.flags); - if(!Object.prototype.hasOwnProperty.call(Frag_h,key)) { - v.flags = xrfragment_XRF.set(xrfragment_XRF.CUSTOMFRAG,v.flags); - } - if(value.length == 0) { - v.flags = xrfragment_XRF.set(xrfragment_XRF.T_DYNAMICKEYVALUE,v.flags); - } - store[keyStripped] = v; - return true; - } - var v = new xrfragment_XRF(key,Frag_h[key],index); - if(Object.prototype.hasOwnProperty.call(Frag_h,key)) { - if(!v.validate(value)) { - console.log("src/xrfragment/Parser.hx:67:","⚠ fragment '" + key + "' has incompatible value (" + value + ")"); - return false; - } - store[keyStripped] = v; - if(xrfragment_Parser.debug) { - console.log("src/xrfragment/Parser.hx:71:","✔ " + key + ": " + v.string); - } - } else { - if(typeof(value) == "string") { - v.guessType(v,value); - } - v.flags = xrfragment_XRF.set(xrfragment_XRF.CUSTOMFRAG,v.flags); - store[keyStripped] = v; - } - return true; -}; -xrfragment_Parser.getMetaData = function() { - var meta = { title : ["title","og:title","dc.title"], description : ["aria-description","og:description","dc.description"], author : ["author","dc.creator"], publisher : ["publisher","dc.publisher"], website : ["og:site_name","og:url","dc.publisher"], license : ["SPDX","dc.rights"]}; - return meta; -}; -var xrfragment_URI = $hx_exports["xrfragment"]["URI"] = function() { - this.XRF = { }; - this.hash = { }; - this.fragment = ""; -}; -xrfragment_URI.__name__ = true; -xrfragment_URI.parseFragment = function(url,filter) { - var store = { }; - if(url == null || url.indexOf("#") == -1) { - return store; - } - var fragment = url.split("#"); - var splitArray = fragment[1].split("&"); - var _g = 0; - var _g1 = splitArray.length; - while(_g < _g1) { - var i = _g++; - var splitByEqual = splitArray[i].split("="); - var regexPlus = new EReg("\\+","g"); - var key = splitByEqual[0]; - var value = ""; - if(splitByEqual.length > 1) { - if(xrfragment_XRF.isVector.match(splitByEqual[1])) { - value = splitByEqual[1]; - } else { - var s = regexPlus.split(splitByEqual[1]).join(" "); - value = decodeURIComponent(s.split("+").join(" ")); - } - } - var ok = xrfragment_Parser.parse(key,value,store,i); - } - if(filter != null && filter != 0) { - var _g = 0; - var _g1 = Reflect.fields(store); - while(_g < _g1.length) { - var key = _g1[_g]; - ++_g; - var xrf = store[key]; - if(!xrf.is(filter)) { - Reflect.deleteField(store,key); - } - } - } - return store; -}; -xrfragment_URI.template = function(uri,vars) { - var parts = uri.split("#"); - if(parts.length == 1) { - return uri; - } - var frag = parts[1]; - frag = StringTools.replace(frag,"{","::"); - frag = StringTools.replace(frag,"}","::"); - frag = new haxe_Template(frag).execute(vars); - frag = StringTools.replace(frag,"null",""); - parts[1] = frag; - return parts.join("#"); -}; -xrfragment_URI.parse = function(stringUrl,flags) { - var r = new EReg("^(?:(?![^:@]+:[^:@/]*@)([^:/?#.]+):)?(?://)?((?:(([^:@]*)(?::([^:@]*))?)?@)?([^:/?#]*)(?::(\\d*))?)(((/(?:[^?#](?![^?#/]*\\.[^?#/.]+(?:[?#]|$)))*/?)?([^?#/]*))(?:\\?([^#]*))?(?:#(.*))?)",""); - if(stringUrl.indexOf("://") == -1 && stringUrl.charAt(0) != "/") { - stringUrl = "/" + stringUrl; - } - r.match(stringUrl); - var url = new xrfragment_URI(); - var _g = 0; - var _g1 = xrfragment_URI._parts.length; - while(_g < _g1) { - var i = _g++; - url[xrfragment_URI._parts[i]] = r.matched(i); - } - if(xrfragment_URI.isRelative(url) == true) { - if(url.directory == null && url.host != null) { - url.file = url.host; - } - url.host = ""; - } - url.hash = { }; - if(url.fragment != null && url.fragment.length > 0) { - url.XRF = xrfragment_URI.parseFragment("#" + url.fragment,flags); - var key; - var _g = 0; - var _g1 = Reflect.fields(url.XRF); - while(_g < _g1.length) { - var key = _g1[_g]; - ++_g; - var v = url.XRF[key]; - url.hash[key] = v["string"]; - } - } - xrfragment_URI.computeVars(url); - return url; -}; -xrfragment_URI.computeVars = function(url) { - var r_r = new RegExp("//","g".split("u").join("")); - if(url.directory != null && url.directory.indexOf("//") != -1) { - url.directory = url.directory.replace(r_r,"/"); - } - if(url.path != null && url.path.indexOf("//") != -1) { - url.path = url.path.replace(r_r,"/"); - } - if(url.file != null && url.file.indexOf("//") != -1) { - url.file = url.file.replace(r_r,"/"); - } - url.URN = url.scheme + "://" + url.host; - if(url.port != null) { - url.URN += ":" + url.port; - } - url.URN += url.directory; - if(url.file != null) { - var parts = url.file.split("."); - if(parts.length > 1) { - url.fileExt = parts.pop(); - } - } -}; -xrfragment_URI.toString = function(url) { - var result = ""; - if(url.scheme != null) { - result += url.scheme + "://"; - } - if(url.user != null) { - result += url.user + ":"; - } - if(url.password != null) { - result += url.password + "@"; - } - if(url.host != null) { - result += url.host; - } - if(url.port != null) { - result += ":" + url.port; - } - if(url.directory != null) { - result += url.directory; - } - if(url.file != null) { - result += url.file; - } - if(url.query != null) { - result += "?" + url.query; - } - if(url.fragment != null) { - result += "#" + url.fragment; - } - return result; -}; -xrfragment_URI.appendURI = function(url,appendedURI) { - if(xrfragment_URI.isRelative(url) == true) { - return xrfragment_URI.appendToRelativeURI(url,appendedURI); - } else { - return xrfragment_URI.appendToAbsoluteURI(url,appendedURI); - } -}; -xrfragment_URI.isRelative = function(url) { - return url.scheme == null; -}; -xrfragment_URI.appendToRelativeURI = function(url,appendedURI) { - if(url.directory == null || url.host == null) { - return xrfragment_URI.cloneURI(appendedURI); - } - var resultURI = new xrfragment_URI(); - resultURI.host = url.host; - resultURI.directory = url.directory; - if(appendedURI.host != null) { - resultURI.directory += appendedURI.host; - } - if(appendedURI.directory != null) { - var directory = appendedURI.directory; - if(appendedURI.host == null) { - resultURI.directory += HxOverrides.substr(directory,1,null); - } else { - resultURI.directory += directory; - } - } - if(appendedURI.file != null) { - resultURI.file = appendedURI.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(appendedURI.query != null) { - resultURI.query = appendedURI.query; - } - if(appendedURI.fragment != null) { - resultURI.fragment = appendedURI.fragment; - } - return resultURI; -}; -xrfragment_URI.appendToAbsoluteURI = function(url,appendedURI) { - var resultURI = new xrfragment_URI(); - if(url.scheme != null) { - resultURI.scheme = url.scheme; - } - if(url.host != null) { - resultURI.host = url.host; - } - var directory = ""; - if(url.directory != null) { - directory = url.directory; - } - if(appendedURI.host != null) { - appendedURI.directory += appendedURI.host; - } - if(appendedURI.directory != null) { - directory += appendedURI.directory; - } - resultURI.directory = directory; - if(appendedURI.file != null) { - resultURI.file = appendedURI.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(appendedURI.query != null) { - resultURI.query = appendedURI.query; - } - if(appendedURI.fragment != null) { - resultURI.fragment = appendedURI.fragment; - } - return resultURI; -}; -xrfragment_URI.toAbsolute = function(url,newUrl) { - var newURI = xrfragment_URI.parse(newUrl,0); - var resultURI = new xrfragment_URI(); - resultURI.port = url.port; - resultURI.source = newUrl; - if(newURI.scheme != null) { - resultURI.scheme = newURI.scheme; - } else { - resultURI.scheme = url.scheme; - } - if(newURI.host != null && newURI.host.length > 0) { - resultURI.host = newURI.host; - resultURI.port = null; - resultURI.fragment = null; - resultURI.hash = { }; - resultURI.XRF = { }; - if(newURI.port != null) { - resultURI.port = newURI.port; - } - } else { - resultURI.host = url.host; - } - var directory = ""; - if(url.directory != null) { - directory = url.directory; - } - if(newURI.directory != null) { - if(newUrl.charAt(0) != "/" && newUrl.indexOf("://") == -1) { - var stripRelative_r = new RegExp("\\./.*","".split("u").join("")); - directory = directory.replace(stripRelative_r,""); - directory += newURI.directory; - } else { - directory = newURI.directory; - } - } - resultURI.directory = directory; - if(newURI.file != null) { - resultURI.file = newURI.file; - } else { - resultURI.file = url.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(newURI.query != null) { - resultURI.query = newURI.query; - } - if(newURI.fragment != null) { - resultURI.fragment = newURI.fragment; - } - resultURI.hash = newURI.hash; - resultURI.XRF = newURI.XRF; - xrfragment_URI.computeVars(resultURI); - return resultURI; -}; -xrfragment_URI.cloneURI = function(url) { - var clonedURI = new xrfragment_URI(); - clonedURI.url = url.url; - clonedURI.source = url.source; - clonedURI.scheme = url.scheme; - clonedURI.authority = url.authority; - clonedURI.userInfo = url.userInfo; - clonedURI.password = url.password; - clonedURI.host = url.host; - clonedURI.port = url.port; - clonedURI.relative = url.relative; - clonedURI.path = url.path; - clonedURI.directory = url.directory; - clonedURI.file = url.file; - clonedURI.query = url.query; - clonedURI.fragment = url.fragment; - return clonedURI; -}; -var xrfragment_XRF = $hx_exports["xrfragment"]["XRF"] = function(_fragment,_flags,_index) { - this.floats = []; - this.shift = []; - this.fragment = _fragment; - this.flags = _flags; - this.index = _index; -}; -xrfragment_XRF.__name__ = true; -xrfragment_XRF.set = function(flag,flags) { - return flags | flag; -}; -xrfragment_XRF.unset = function(flag,flags) { - return flags & ~flag; -}; -xrfragment_XRF.prototype = { - is: function(flag) { - var v = this.flags; - if(!(typeof(v) == "number" && ((v | 0) === v))) { - this.flags = 0; - } - return (this.flags & flag) != 0; - } - ,validate: function(value) { - this.guessType(this,value); - var ok = true; - if(value.length == 0 && !this.is(xrfragment_XRF.T_PREDEFINED_VIEW)) { - ok = false; - } - if(!this.is(xrfragment_XRF.T_FLOAT) && this.is(xrfragment_XRF.T_VECTOR2) && !(typeof(this.x) == "number" && typeof(this.y) == "number")) { - ok = false; - } - if(!(this.is(xrfragment_XRF.T_VECTOR2) || this.is(xrfragment_XRF.T_STRING)) && this.is(xrfragment_XRF.T_VECTOR3) && !(typeof(this.x) == "number" && typeof(this.y) == "number" && typeof(this.z) == "number")) { - ok = false; - } - return ok; - } - ,guessType: function(v,str) { - v.string = str; - if(xrfragment_XRF.isReset.match(v.fragment)) { - v.reset = true; - } - if(v.fragment == "loop") { - v.loop = true; - } - if(typeof(str) != "string") { - return; - } - if(str.length > 0) { - if(xrfragment_XRF.isXRFScheme.match(str)) { - v.xrfScheme = true; - str = str.replace(xrfragment_XRF.isXRFScheme.r,""); - v.string = str; - } - if(str.split(",").length > 1) { - var xyzn = str.split(","); - if(xyzn.length > 0) { - v.x = parseFloat(xyzn[0]); - } - if(xyzn.length > 1) { - v.y = parseFloat(xyzn[1]); - } - if(xyzn.length > 2) { - v.z = parseFloat(xyzn[2]); - } - var _g = 0; - var _g1 = xyzn.length; - while(_g < _g1) { - var i = _g++; - v.shift.push(xrfragment_XRF.isShift.match(xyzn[i])); - v.floats.push(parseFloat(xyzn[i].replace(xrfragment_XRF.isShift.r,""))); - } - } - if(xrfragment_XRF.isColor.match(str)) { - v.color = str; - } - if(xrfragment_XRF.isFloat.match(str)) { - v.x = parseFloat(str); - v.float = v.x; - } - if(xrfragment_XRF.isInt.match(str)) { - v.int = Std.parseInt(str); - v.x = v.int; - v.floats.push(v.x); - } - v.filter = new xrfragment_Filter(v.fragment + "=" + v.string); - } else { - v.filter = new xrfragment_Filter(v.fragment); - } - } -}; -function $getIterator(o) { if( o instanceof Array ) return new haxe_iterators_ArrayIterator(o); else return o.iterator(); } -function $bind(o,m) { if( m == null ) return null; if( m.__id__ == null ) m.__id__ = $global.$haxeUID++; var f; if( o.hx__closures__ == null ) o.hx__closures__ = {}; else f = o.hx__closures__[m.__id__]; if( f == null ) { f = m.bind(o); o.hx__closures__[m.__id__] = f; } return f; } -$global.$haxeUID |= 0; -if(typeof(performance) != "undefined" ? typeof(performance.now) == "function" : false) { - HxOverrides.now = performance.now.bind(performance); -} -if( String.fromCodePoint == null ) String.fromCodePoint = function(c) { return c < 0x10000 ? String.fromCharCode(c) : String.fromCharCode((c>>10)+0xD7C0)+String.fromCharCode((c&0x3FF)+0xDC00); } -String.__name__ = true; -Array.__name__ = true; -js_Boot.__toStr = ({ }).toString; -haxe_Template.splitter = new EReg("(::[A-Za-z0-9_ ()&|!+=/><*.\"-]+::|\\$\\$([A-Za-z0-9_-]+)\\()",""); -haxe_Template.expr_splitter = new EReg("(\\(|\\)|[ \r\n\t]*\"[^\"]*\"[ \r\n\t]*|[!+=/><*.&|-]+)",""); -haxe_Template.expr_trim = new EReg("^[ ]*([^ ]+)[ ]*$",""); -haxe_Template.expr_int = new EReg("^[0-9]+$",""); -haxe_Template.expr_float = new EReg("^([+-]?)(?=\\d|,\\d)\\d*(,\\d*)?([Ee]([+-]?\\d+))?$",""); -haxe_Template.globals = { }; -haxe_Template.hxKeepArrayIterator = new haxe_iterators_ArrayIterator([]); -xrfragment_Parser.error = ""; -xrfragment_Parser.debug = false; -xrfragment_URI.__meta__ = { statics : { template : { keep : null}}}; -xrfragment_URI._parts = ["source","scheme","authority","userInfo","user","password","host","port","relative","path","directory","file","query","fragment"]; -xrfragment_XRF.IMMUTABLE = 1; -xrfragment_XRF.PROP_BIND = 2; -xrfragment_XRF.QUERY_OPERATOR = 4; -xrfragment_XRF.PROMPT = 8; -xrfragment_XRF.CUSTOMFRAG = 16; -xrfragment_XRF.NAVIGATOR = 32; -xrfragment_XRF.METADATA = 64; -xrfragment_XRF.PV_OVERRIDE = 128; -xrfragment_XRF.PV_EXECUTE = 256; -xrfragment_XRF.T_COLOR = 8192; -xrfragment_XRF.T_INT = 16384; -xrfragment_XRF.T_FLOAT = 32768; -xrfragment_XRF.T_VECTOR2 = 65536; -xrfragment_XRF.T_VECTOR3 = 131072; -xrfragment_XRF.T_URL = 262144; -xrfragment_XRF.T_PREDEFINED_VIEW = 524288; -xrfragment_XRF.T_STRING = 1048576; -xrfragment_XRF.T_MEDIAFRAG = 2097152; -xrfragment_XRF.T_DYNAMICKEY = 4194304; -xrfragment_XRF.T_DYNAMICKEYVALUE = 8388608; -xrfragment_XRF.isColor = new EReg("^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$",""); -xrfragment_XRF.isInt = new EReg("^[-0-9]+$",""); -xrfragment_XRF.isFloat = new EReg("^[-0-9]+\\.[0-9]+$",""); -xrfragment_XRF.isVector = new EReg("([,]+|\\w)",""); -xrfragment_XRF.isUrl = new EReg("(://)?\\..*",""); -xrfragment_XRF.isUrlOrPretypedView = new EReg("(^#|://)?\\..*",""); -xrfragment_XRF.isString = new EReg(".*",""); -xrfragment_XRF.operators = new EReg("(^[-]|^[!]|[\\*]$)","g"); -xrfragment_XRF.isProp = new EReg("^.*=[><=]?",""); -xrfragment_XRF.isExclude = new EReg("^-",""); -xrfragment_XRF.isDeep = new EReg("\\*",""); -xrfragment_XRF.isNumber = new EReg("^[0-9\\.]+$",""); -xrfragment_XRF.isMediaFrag = new EReg("^([0-9\\.,\\*+-]+)$",""); -xrfragment_XRF.isReset = new EReg("^!",""); -xrfragment_XRF.isShift = new EReg("^(\\+|--)",""); -xrfragment_XRF.isXRFScheme = new EReg("^xrf://",""); -})(typeof window != "undefined" ? window : typeof global != "undefined" ? global : typeof self != "undefined" ? self : this); -var xrfragment = $hx_exports["xrfragment"]; -export default xrfragment; -// Generated by Haxe 4.3.3 -var $hx_exports = typeof exports != "undefined" ? exports : typeof window != "undefined" ? window : typeof self != "undefined" ? self : this; -(function ($global) { "use strict"; -$hx_exports["xrfragment"] = $hx_exports["xrfragment"] || {}; -var $estr = function() { return js_Boot.__string_rec(this,''); },$hxEnums = $hxEnums || {},$_; -function $extend(from, fields) { - var proto = Object.create(from); - for (var name in fields) proto[name] = fields[name]; - if( fields.toString !== Object.prototype.toString ) proto.toString = fields.toString; - return proto; -} -var EReg = function(r,opt) { - this.r = new RegExp(r,opt.split("u").join("")); -}; -EReg.__name__ = true; -EReg.prototype = { - match: function(s) { - if(this.r.global) { - this.r.lastIndex = 0; - } - this.r.m = this.r.exec(s); - this.r.s = s; - return this.r.m != null; - } - ,matched: function(n) { - if(this.r.m != null && n >= 0 && n < this.r.m.length) { - return this.r.m[n]; - } else { - throw haxe_Exception.thrown("EReg::matched"); - } - } - ,matchedRight: function() { - if(this.r.m == null) { - throw haxe_Exception.thrown("No string matched"); - } - var sz = this.r.m.index + this.r.m[0].length; - return HxOverrides.substr(this.r.s,sz,this.r.s.length - sz); - } - ,matchedPos: function() { - if(this.r.m == null) { - throw haxe_Exception.thrown("No string matched"); - } - return { pos : this.r.m.index, len : this.r.m[0].length}; - } - ,split: function(s) { - var d = "#__delim__#"; - return s.replace(this.r,d).split(d); - } -}; -var HxOverrides = function() { }; -HxOverrides.__name__ = true; -HxOverrides.cca = function(s,index) { - var x = s.charCodeAt(index); - if(x != x) { - return undefined; - } - return x; -}; -HxOverrides.substr = function(s,pos,len) { - if(len == null) { - len = s.length; - } else if(len < 0) { - if(pos == 0) { - len = s.length + len; - } else { - return ""; - } - } - return s.substr(pos,len); -}; -HxOverrides.now = function() { - return Date.now(); -}; -Math.__name__ = true; -var Reflect = function() { }; -Reflect.__name__ = true; -Reflect.field = function(o,field) { - try { - return o[field]; - } catch( _g ) { - return null; - } -}; -Reflect.getProperty = function(o,field) { - var tmp; - if(o == null) { - return null; - } else { - var tmp1; - if(o.__properties__) { - tmp = o.__properties__["get_" + field]; - tmp1 = tmp; - } else { - tmp1 = false; - } - if(tmp1) { - return o[tmp](); - } else { - return o[field]; - } - } -}; -Reflect.fields = function(o) { - var a = []; - if(o != null) { - var hasOwnProperty = Object.prototype.hasOwnProperty; - for( var f in o ) { - if(f != "__id__" && f != "hx__closures__" && hasOwnProperty.call(o,f)) { - a.push(f); - } - } - } - return a; -}; -Reflect.isObject = function(v) { - if(v == null) { - return false; - } - var t = typeof(v); - if(!(t == "string" || t == "object" && v.__enum__ == null)) { - if(t == "function") { - return (v.__name__ || v.__ename__) != null; - } else { - return false; - } - } else { - return true; - } -}; -Reflect.deleteField = function(o,field) { - if(!Object.prototype.hasOwnProperty.call(o,field)) { - return false; - } - delete(o[field]); - return true; -}; -Reflect.copy = function(o) { - if(o == null) { - return null; - } - var o2 = { }; - var _g = 0; - var _g1 = Reflect.fields(o); - while(_g < _g1.length) { - var f = _g1[_g]; - ++_g; - o2[f] = Reflect.field(o,f); - } - return o2; -}; -var Std = function() { }; -Std.__name__ = true; -Std.string = function(s) { - return js_Boot.__string_rec(s,""); -}; -Std.parseInt = function(x) { - var v = parseInt(x); - if(isNaN(v)) { - return null; - } - return v; -}; -var StringBuf = function() { - this.b = ""; -}; -StringBuf.__name__ = true; -var StringTools = function() { }; -StringTools.__name__ = true; -StringTools.isSpace = function(s,pos) { - var c = HxOverrides.cca(s,pos); - if(!(c > 8 && c < 14)) { - return c == 32; - } else { - return true; - } -}; -StringTools.ltrim = function(s) { - var l = s.length; - var r = 0; - while(r < l && StringTools.isSpace(s,r)) ++r; - if(r > 0) { - return HxOverrides.substr(s,r,l - r); - } else { - return s; - } -}; -StringTools.rtrim = function(s) { - var l = s.length; - var r = 0; - while(r < l && StringTools.isSpace(s,l - r - 1)) ++r; - if(r > 0) { - return HxOverrides.substr(s,0,l - r); - } else { - return s; - } -}; -StringTools.trim = function(s) { - return StringTools.ltrim(StringTools.rtrim(s)); -}; -StringTools.replace = function(s,sub,by) { - return s.split(sub).join(by); -}; -var haxe_Exception = function(message,previous,native) { - Error.call(this,message); - this.message = message; - this.__previousException = previous; - this.__nativeException = native != null ? native : this; -}; -haxe_Exception.__name__ = true; -haxe_Exception.caught = function(value) { - if(((value) instanceof haxe_Exception)) { - return value; - } else if(((value) instanceof Error)) { - return new haxe_Exception(value.message,null,value); - } else { - return new haxe_ValueException(value,null,value); - } -}; -haxe_Exception.thrown = function(value) { - if(((value) instanceof haxe_Exception)) { - return value.get_native(); - } else if(((value) instanceof Error)) { - return value; - } else { - var e = new haxe_ValueException(value); - return e; - } -}; -haxe_Exception.__super__ = Error; -haxe_Exception.prototype = $extend(Error.prototype,{ - unwrap: function() { - return this.__nativeException; - } - ,get_native: function() { - return this.__nativeException; - } - ,__properties__: {get_native:"get_native"} -}); -var haxe__$Template_TemplateExpr = $hxEnums["haxe._Template.TemplateExpr"] = { __ename__:true,__constructs__:null - ,OpVar: ($_=function(v) { return {_hx_index:0,v:v,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpVar",$_.__params__ = ["v"],$_) - ,OpExpr: ($_=function(expr) { return {_hx_index:1,expr:expr,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpExpr",$_.__params__ = ["expr"],$_) - ,OpIf: ($_=function(expr,eif,eelse) { return {_hx_index:2,expr:expr,eif:eif,eelse:eelse,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpIf",$_.__params__ = ["expr","eif","eelse"],$_) - ,OpStr: ($_=function(str) { return {_hx_index:3,str:str,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpStr",$_.__params__ = ["str"],$_) - ,OpBlock: ($_=function(l) { return {_hx_index:4,l:l,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpBlock",$_.__params__ = ["l"],$_) - ,OpForeach: ($_=function(expr,loop) { return {_hx_index:5,expr:expr,loop:loop,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpForeach",$_.__params__ = ["expr","loop"],$_) - ,OpMacro: ($_=function(name,params) { return {_hx_index:6,name:name,params:params,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpMacro",$_.__params__ = ["name","params"],$_) -}; -haxe__$Template_TemplateExpr.__constructs__ = [haxe__$Template_TemplateExpr.OpVar,haxe__$Template_TemplateExpr.OpExpr,haxe__$Template_TemplateExpr.OpIf,haxe__$Template_TemplateExpr.OpStr,haxe__$Template_TemplateExpr.OpBlock,haxe__$Template_TemplateExpr.OpForeach,haxe__$Template_TemplateExpr.OpMacro]; -var haxe_iterators_ArrayIterator = function(array) { - this.current = 0; - this.array = array; -}; -haxe_iterators_ArrayIterator.__name__ = true; -haxe_iterators_ArrayIterator.prototype = { - hasNext: function() { - return this.current < this.array.length; - } - ,next: function() { - return this.array[this.current++]; - } -}; -var haxe_Template = function(str) { - var tokens = this.parseTokens(str); - this.expr = this.parseBlock(tokens); - if(!tokens.isEmpty()) { - throw haxe_Exception.thrown("Unexpected '" + Std.string(tokens.first().s) + "'"); - } -}; -haxe_Template.__name__ = true; -haxe_Template.prototype = { - execute: function(context,macros) { - this.macros = macros == null ? { } : macros; - this.context = context; - this.stack = new haxe_ds_List(); - this.buf = new StringBuf(); - this.run(this.expr); - return this.buf.b; - } - ,resolve: function(v) { - if(v == "__current__") { - return this.context; - } - if(Reflect.isObject(this.context)) { - var value = Reflect.getProperty(this.context,v); - if(value != null || Object.prototype.hasOwnProperty.call(this.context,v)) { - return value; - } - } - var _g_head = this.stack.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var ctx = val; - var value = Reflect.getProperty(ctx,v); - if(value != null || Object.prototype.hasOwnProperty.call(ctx,v)) { - return value; - } - } - return Reflect.field(haxe_Template.globals,v); - } - ,parseTokens: function(data) { - var tokens = new haxe_ds_List(); - while(haxe_Template.splitter.match(data)) { - var p = haxe_Template.splitter.matchedPos(); - if(p.pos > 0) { - tokens.add({ p : HxOverrides.substr(data,0,p.pos), s : true, l : null}); - } - if(HxOverrides.cca(data,p.pos) == 58) { - tokens.add({ p : HxOverrides.substr(data,p.pos + 2,p.len - 4), s : false, l : null}); - data = haxe_Template.splitter.matchedRight(); - continue; - } - var parp = p.pos + p.len; - var npar = 1; - var params = []; - var part = ""; - while(true) { - var c = HxOverrides.cca(data,parp); - ++parp; - if(c == 40) { - ++npar; - } else if(c == 41) { - --npar; - if(npar <= 0) { - break; - } - } else if(c == null) { - throw haxe_Exception.thrown("Unclosed macro parenthesis"); - } - if(c == 44 && npar == 1) { - params.push(part); - part = ""; - } else { - part += String.fromCodePoint(c); - } - } - params.push(part); - tokens.add({ p : haxe_Template.splitter.matched(2), s : false, l : params}); - data = HxOverrides.substr(data,parp,data.length - parp); - } - if(data.length > 0) { - tokens.add({ p : data, s : true, l : null}); - } - return tokens; - } - ,parseBlock: function(tokens) { - var l = new haxe_ds_List(); - while(true) { - var t = tokens.first(); - if(t == null) { - break; - } - if(!t.s && (t.p == "end" || t.p == "else" || HxOverrides.substr(t.p,0,7) == "elseif ")) { - break; - } - l.add(this.parse(tokens)); - } - if(l.length == 1) { - return l.first(); - } - return haxe__$Template_TemplateExpr.OpBlock(l); - } - ,parse: function(tokens) { - var t = tokens.pop(); - var p = t.p; - if(t.s) { - return haxe__$Template_TemplateExpr.OpStr(p); - } - if(t.l != null) { - var pe = new haxe_ds_List(); - var _g = 0; - var _g1 = t.l; - while(_g < _g1.length) { - var p1 = _g1[_g]; - ++_g; - pe.add(this.parseBlock(this.parseTokens(p1))); - } - return haxe__$Template_TemplateExpr.OpMacro(p,pe); - } - var kwdEnd = function(kwd) { - var pos = -1; - var length = kwd.length; - if(HxOverrides.substr(p,0,length) == kwd) { - pos = length; - var _g_offset = 0; - var _g_s = HxOverrides.substr(p,length,null); - while(_g_offset < _g_s.length) { - var c = _g_s.charCodeAt(_g_offset++); - if(c == 32) { - ++pos; - } else { - break; - } - } - } - return pos; - }; - var pos = kwdEnd("if"); - if(pos > 0) { - p = HxOverrides.substr(p,pos,p.length - pos); - var e = this.parseExpr(p); - var eif = this.parseBlock(tokens); - var t = tokens.first(); - var eelse; - if(t == null) { - throw haxe_Exception.thrown("Unclosed 'if'"); - } - if(t.p == "end") { - tokens.pop(); - eelse = null; - } else if(t.p == "else") { - tokens.pop(); - eelse = this.parseBlock(tokens); - t = tokens.pop(); - if(t == null || t.p != "end") { - throw haxe_Exception.thrown("Unclosed 'else'"); - } - } else { - t.p = HxOverrides.substr(t.p,4,t.p.length - 4); - eelse = this.parse(tokens); - } - return haxe__$Template_TemplateExpr.OpIf(e,eif,eelse); - } - var pos = kwdEnd("foreach"); - if(pos >= 0) { - p = HxOverrides.substr(p,pos,p.length - pos); - var e = this.parseExpr(p); - var efor = this.parseBlock(tokens); - var t = tokens.pop(); - if(t == null || t.p != "end") { - throw haxe_Exception.thrown("Unclosed 'foreach'"); - } - return haxe__$Template_TemplateExpr.OpForeach(e,efor); - } - if(haxe_Template.expr_splitter.match(p)) { - return haxe__$Template_TemplateExpr.OpExpr(this.parseExpr(p)); - } - return haxe__$Template_TemplateExpr.OpVar(p); - } - ,parseExpr: function(data) { - var l = new haxe_ds_List(); - var expr = data; - while(haxe_Template.expr_splitter.match(data)) { - var p = haxe_Template.expr_splitter.matchedPos(); - var k = p.pos + p.len; - if(p.pos != 0) { - l.add({ p : HxOverrides.substr(data,0,p.pos), s : true}); - } - var p1 = haxe_Template.expr_splitter.matched(0); - l.add({ p : p1, s : p1.indexOf("\"") >= 0}); - data = haxe_Template.expr_splitter.matchedRight(); - } - if(data.length != 0) { - var _g_offset = 0; - var _g_s = data; - while(_g_offset < _g_s.length) { - var _g_key = _g_offset; - var _g_value = _g_s.charCodeAt(_g_offset++); - var i = _g_key; - var c = _g_value; - if(c != 32) { - l.add({ p : HxOverrides.substr(data,i,null), s : true}); - break; - } - } - } - var e; - try { - e = this.makeExpr(l); - if(!l.isEmpty()) { - throw haxe_Exception.thrown(l.first().p); - } - } catch( _g ) { - var _g1 = haxe_Exception.caught(_g).unwrap(); - if(typeof(_g1) == "string") { - var s = _g1; - throw haxe_Exception.thrown("Unexpected '" + s + "' in " + expr); - } else { - throw _g; - } - } - return function() { - try { - return e(); - } catch( _g ) { - var exc = haxe_Exception.caught(_g).unwrap(); - throw haxe_Exception.thrown("Error : " + Std.string(exc) + " in " + expr); - } - }; - } - ,makeConst: function(v) { - haxe_Template.expr_trim.match(v); - v = haxe_Template.expr_trim.matched(1); - if(HxOverrides.cca(v,0) == 34) { - var str = HxOverrides.substr(v,1,v.length - 2); - return function() { - return str; - }; - } - if(haxe_Template.expr_int.match(v)) { - var i = Std.parseInt(v); - return function() { - return i; - }; - } - if(haxe_Template.expr_float.match(v)) { - var f = parseFloat(v); - return function() { - return f; - }; - } - var me = this; - return function() { - return me.resolve(v); - }; - } - ,makePath: function(e,l) { - var p = l.first(); - if(p == null || p.p != ".") { - return e; - } - l.pop(); - var field = l.pop(); - if(field == null || !field.s) { - throw haxe_Exception.thrown(field.p); - } - var f = field.p; - haxe_Template.expr_trim.match(f); - f = haxe_Template.expr_trim.matched(1); - return this.makePath(function() { - return Reflect.field(e(),f); - },l); - } - ,makeExpr: function(l) { - return this.makePath(this.makeExpr2(l),l); - } - ,skipSpaces: function(l) { - var p = l.first(); - while(p != null) { - var _g_offset = 0; - var _g_s = p.p; - while(_g_offset < _g_s.length) { - var c = _g_s.charCodeAt(_g_offset++); - if(c != 32) { - return; - } - } - l.pop(); - p = l.first(); - } - } - ,makeExpr2: function(l) { - this.skipSpaces(l); - var p = l.pop(); - this.skipSpaces(l); - if(p == null) { - throw haxe_Exception.thrown(""); - } - if(p.s) { - return this.makeConst(p.p); - } - switch(p.p) { - case "!": - var e = this.makeExpr(l); - return function() { - var v = e(); - if(v != null) { - return v == false; - } else { - return true; - } - }; - case "(": - this.skipSpaces(l); - var e1 = this.makeExpr(l); - this.skipSpaces(l); - var p1 = l.pop(); - if(p1 == null || p1.s) { - throw haxe_Exception.thrown(p1); - } - if(p1.p == ")") { - return e1; - } - this.skipSpaces(l); - var e2 = this.makeExpr(l); - this.skipSpaces(l); - var p2 = l.pop(); - this.skipSpaces(l); - if(p2 == null || p2.p != ")") { - throw haxe_Exception.thrown(p2); - } - switch(p1.p) { - case "!=": - return function() { - return e1() != e2(); - }; - case "&&": - return function() { - return e1() && e2(); - }; - case "*": - return function() { - return e1() * e2(); - }; - case "+": - return function() { - return e1() + e2(); - }; - case "-": - return function() { - return e1() - e2(); - }; - case "/": - return function() { - return e1() / e2(); - }; - case "<": - return function() { - return e1() < e2(); - }; - case "<=": - return function() { - return e1() <= e2(); - }; - case "==": - return function() { - return e1() == e2(); - }; - case ">": - return function() { - return e1() > e2(); - }; - case ">=": - return function() { - return e1() >= e2(); - }; - case "||": - return function() { - return e1() || e2(); - }; - default: - throw haxe_Exception.thrown("Unknown operation " + p1.p); - } - break; - case "-": - var e3 = this.makeExpr(l); - return function() { - return -e3(); - }; - } - throw haxe_Exception.thrown(p.p); - } - ,run: function(e) { - switch(e._hx_index) { - case 0: - var v = e.v; - var _this = this.buf; - var x = Std.string(this.resolve(v)); - _this.b += Std.string(x); - break; - case 1: - var e1 = e.expr; - var _this = this.buf; - var x = Std.string(e1()); - _this.b += Std.string(x); - break; - case 2: - var e1 = e.expr; - var eif = e.eif; - var eelse = e.eelse; - var v = e1(); - if(v == null || v == false) { - if(eelse != null) { - this.run(eelse); - } - } else { - this.run(eif); - } - break; - case 3: - var str = e.str; - this.buf.b += str == null ? "null" : "" + str; - break; - case 4: - var l = e.l; - var _g_head = l.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var e1 = val; - this.run(e1); - } - break; - case 5: - var e1 = e.expr; - var loop = e.loop; - var v = e1(); - try { - var x = $getIterator(v); - if(x.hasNext == null) { - throw haxe_Exception.thrown(null); - } - v = x; - } catch( _g ) { - try { - if(v.hasNext == null) { - throw haxe_Exception.thrown(null); - } - } catch( _g1 ) { - throw haxe_Exception.thrown("Cannot iter on " + Std.string(v)); - } - } - this.stack.push(this.context); - var v1 = v; - var ctx = v1; - while(ctx.hasNext()) { - var ctx1 = ctx.next(); - this.context = ctx1; - this.run(loop); - } - this.context = this.stack.pop(); - break; - case 6: - var m = e.name; - var params = e.params; - var v = Reflect.field(this.macros,m); - var pl = []; - var old = this.buf; - pl.push($bind(this,this.resolve)); - var _g_head = params.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var p = val; - if(p._hx_index == 0) { - var v1 = p.v; - pl.push(this.resolve(v1)); - } else { - this.buf = new StringBuf(); - this.run(p); - pl.push(this.buf.b); - } - } - this.buf = old; - try { - var _this = this.buf; - var x = Std.string(v.apply(this.macros,pl)); - _this.b += Std.string(x); - } catch( _g ) { - var e = haxe_Exception.caught(_g).unwrap(); - var plstr; - try { - plstr = pl.join(","); - } catch( _g1 ) { - plstr = "???"; - } - var msg = "Macro call " + m + "(" + plstr + ") failed (" + Std.string(e) + ")"; - throw haxe_Exception.thrown(msg); - } - break; - } - } -}; -var haxe_ValueException = function(value,previous,native) { - haxe_Exception.call(this,String(value),previous,native); - this.value = value; -}; -haxe_ValueException.__name__ = true; -haxe_ValueException.__super__ = haxe_Exception; -haxe_ValueException.prototype = $extend(haxe_Exception.prototype,{ - unwrap: function() { - return this.value; - } -}); -var haxe_ds_List = function() { - this.length = 0; -}; -haxe_ds_List.__name__ = true; -haxe_ds_List.prototype = { - add: function(item) { - var x = new haxe_ds__$List_ListNode(item,null); - if(this.h == null) { - this.h = x; - } else { - this.q.next = x; - } - this.q = x; - this.length++; - } - ,push: function(item) { - var x = new haxe_ds__$List_ListNode(item,this.h); - this.h = x; - if(this.q == null) { - this.q = x; - } - this.length++; - } - ,first: function() { - if(this.h == null) { - return null; - } else { - return this.h.item; - } - } - ,pop: function() { - if(this.h == null) { - return null; - } - var x = this.h.item; - this.h = this.h.next; - if(this.h == null) { - this.q = null; - } - this.length--; - return x; - } - ,isEmpty: function() { - return this.h == null; - } - ,toString: function() { - var s_b = ""; - var first = true; - var l = this.h; - s_b += "{"; - while(l != null) { - if(first) { - first = false; - } else { - s_b += ", "; - } - s_b += Std.string(Std.string(l.item)); - l = l.next; - } - s_b += "}"; - return s_b; - } -}; -var haxe_ds__$List_ListNode = function(item,next) { - this.item = item; - this.next = next; -}; -haxe_ds__$List_ListNode.__name__ = true; -var js_Boot = function() { }; -js_Boot.__name__ = true; -js_Boot.__string_rec = function(o,s) { - if(o == null) { - return "null"; - } - if(s.length >= 5) { - return "<...>"; - } - var t = typeof(o); - if(t == "function" && (o.__name__ || o.__ename__)) { - t = "object"; - } - switch(t) { - case "function": - return ""; - case "object": - if(o.__enum__) { - var e = $hxEnums[o.__enum__]; - var con = e.__constructs__[o._hx_index]; - var n = con._hx_name; - if(con.__params__) { - s = s + "\t"; - return n + "(" + ((function($this) { - var $r; - var _g = []; - { - var _g1 = 0; - var _g2 = con.__params__; - while(true) { - if(!(_g1 < _g2.length)) { - break; - } - var p = _g2[_g1]; - _g1 = _g1 + 1; - _g.push(js_Boot.__string_rec(o[p],s)); - } - } - $r = _g; - return $r; - }(this))).join(",") + ")"; - } else { - return n; - } - } - if(((o) instanceof Array)) { - var str = "["; - s += "\t"; - var _g = 0; - var _g1 = o.length; - while(_g < _g1) { - var i = _g++; - str += (i > 0 ? "," : "") + js_Boot.__string_rec(o[i],s); - } - str += "]"; - return str; - } - var tostr; - try { - tostr = o.toString; - } catch( _g ) { - return "???"; - } - if(tostr != null && tostr != Object.toString && typeof(tostr) == "function") { - var s2 = o.toString(); - if(s2 != "[object Object]") { - return s2; - } - } - var str = "{\n"; - s += "\t"; - var hasp = o.hasOwnProperty != null; - var k = null; - for( k in o ) { - if(hasp && !o.hasOwnProperty(k)) { - continue; - } - if(k == "prototype" || k == "__class__" || k == "__super__" || k == "__interfaces__" || k == "__properties__") { - continue; - } - if(str.length != 2) { - str += ", \n"; - } - str += s + k + " : " + js_Boot.__string_rec(o[k],s); - } - s = s.substring(1); - str += "\n" + s + "}"; - return str; - case "string": - return o; - default: - return String(o); - } -}; -var xrfragment_Filter = $hx_exports["xrfragment"]["Filter"] = function(str) { - this.q = { }; - this.str = ""; - if(str != null) { - this.parse(str); - } -}; -xrfragment_Filter.__name__ = true; -xrfragment_Filter.prototype = { - toObject: function() { - return Reflect.copy(this.q); - } - ,get: function() { - return Reflect.copy(this.q); - } - ,parse: function(str) { - var token = str.split(" "); - var q = { }; - var process = function(str,prefix) { - if(prefix == null) { - prefix = ""; - } - str = StringTools.trim(str); - var k = str.split("=")[0]; - var v = str.split("=")[1]; - var filter = { }; - if(q[prefix + k]) { - filter = q[prefix + k]; - } - if(xrfragment_XRF.isProp.match(str)) { - var oper = ""; - if(str.indexOf(">") != -1) { - oper = ">"; - } - if(str.indexOf("<") != -1) { - oper = "<"; - } - if(xrfragment_XRF.isExclude.match(k)) { - k = HxOverrides.substr(k,1,null); - } - v = HxOverrides.substr(v,oper.length,null); - if(oper.length == 0) { - oper = "="; - } - var rule = { }; - if(xrfragment_XRF.isNumber.match(v)) { - rule[oper] = parseFloat(v); - } else { - rule[oper] = v; - } - q["expr"] = rule; - } - var value = xrfragment_XRF.isDeep.match(str) ? k.split("*").length - 1 : 0; - q["deep"] = value; - var value = xrfragment_XRF.isExclude.match(str) ? false : true; - q["show"] = value; - var value = k.replace(xrfragment_XRF.operators.r,""); - q["key"] = value; - q["value"] = v; - }; - var _g = 0; - var _g1 = token.length; - while(_g < _g1) { - var i = _g++; - process(token[i]); - } - return this.q = q; - } - ,test: function(obj) { - var qualify = false; - var _g = 0; - var _g1 = Reflect.fields(obj); - while(_g < _g1.length) { - var k = _g1[_g]; - ++_g; - var v = Std.string(Reflect.field(obj,k)); - if(this.testProperty(k,v)) { - qualify = true; - } - } - var _g = 0; - var _g1 = Reflect.fields(obj); - while(_g < _g1.length) { - var k = _g1[_g]; - ++_g; - var v = Std.string(Reflect.field(obj,k)); - if(this.testProperty(k,v,true)) { - qualify = false; - } - } - return qualify; - } - ,testProperty: function(property,value,exclude) { - var conds = 0; - var fails = 0; - var qualify = 0; - var testprop = function(expr) { - conds += 1; - fails += expr ? 0 : 1; - return expr; - }; - if(this.q[value] != null) { - var v = this.q[value]; - if(v[property] != null) { - return v[property]; - } - } - if(Reflect.field(this.q,"expr")) { - var f = Reflect.field(this.q,"expr"); - if(!Reflect.field(this.q,"show")) { - if(Reflect.field(f,"!=") != null && testprop((value == null ? "null" : "" + value) == Std.string(Reflect.field(f,"!="))) && exclude) { - ++qualify; - } - } else { - if(Reflect.field(f,"*") != null && testprop(parseFloat(value) != null)) { - ++qualify; - } - if(Reflect.field(f,">") != null && testprop(parseFloat(value) >= parseFloat(Reflect.field(f,">")))) { - ++qualify; - } - if(Reflect.field(f,"<") != null && testprop(parseFloat(value) <= parseFloat(Reflect.field(f,"<")))) { - ++qualify; - } - if(Reflect.field(f,"=") != null && (testprop(value == Reflect.field(f,"=")) || testprop(parseFloat(value) == parseFloat(Reflect.field(f,"="))))) { - ++qualify; - } - } - } - return qualify > 0; - } -}; -var xrfragment_Parser = $hx_exports["xrfragment"]["Parser"] = function() { }; -xrfragment_Parser.__name__ = true; -xrfragment_Parser.parse = function(key,value,store,index) { - var Frag_h = Object.create(null); - Frag_h["#"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_PREDEFINED_VIEW | xrfragment_XRF.PV_EXECUTE; - Frag_h["src"] = xrfragment_XRF.T_URL; - Frag_h["href"] = xrfragment_XRF.T_URL | xrfragment_XRF.T_PREDEFINED_VIEW; - Frag_h["tag"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["pos"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_VECTOR3 | xrfragment_XRF.T_STRING | xrfragment_XRF.METADATA | xrfragment_XRF.NAVIGATOR; - Frag_h["rot"] = xrfragment_XRF.QUERY_OPERATOR | xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_VECTOR3 | xrfragment_XRF.METADATA | xrfragment_XRF.NAVIGATOR; - Frag_h["t"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_FLOAT | xrfragment_XRF.T_VECTOR2 | xrfragment_XRF.NAVIGATOR | xrfragment_XRF.METADATA; - Frag_h["s"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_MEDIAFRAG; - Frag_h["loop"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_PREDEFINED_VIEW; - Frag_h["uv"] = xrfragment_XRF.T_VECTOR2 | xrfragment_XRF.T_MEDIAFRAG; - Frag_h["namespace"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["SPDX"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["unit"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["description"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - var keyStripped = key.replace(xrfragment_XRF.operators.r,""); - var isPVDynamic = key.length > 0 && !Object.prototype.hasOwnProperty.call(Frag_h,key); - if(isPVDynamic) { - var v = new xrfragment_XRF(key,xrfragment_XRF.PV_EXECUTE | xrfragment_XRF.NAVIGATOR,index); - v.validate(value); - v.flags = xrfragment_XRF.set(xrfragment_XRF.T_DYNAMICKEY,v.flags); - if(!Object.prototype.hasOwnProperty.call(Frag_h,key)) { - v.flags = xrfragment_XRF.set(xrfragment_XRF.CUSTOMFRAG,v.flags); - } - if(value.length == 0) { - v.flags = xrfragment_XRF.set(xrfragment_XRF.T_DYNAMICKEYVALUE,v.flags); - } - store[keyStripped] = v; - return true; - } - var v = new xrfragment_XRF(key,Frag_h[key],index); - if(Object.prototype.hasOwnProperty.call(Frag_h,key)) { - if(!v.validate(value)) { - console.log("src/xrfragment/Parser.hx:67:","⚠ fragment '" + key + "' has incompatible value (" + value + ")"); - return false; - } - store[keyStripped] = v; - if(xrfragment_Parser.debug) { - console.log("src/xrfragment/Parser.hx:71:","✔ " + key + ": " + v.string); - } - } else { - if(typeof(value) == "string") { - v.guessType(v,value); - } - v.flags = xrfragment_XRF.set(xrfragment_XRF.CUSTOMFRAG,v.flags); - store[keyStripped] = v; - } - return true; -}; -xrfragment_Parser.getMetaData = function() { - var meta = { title : ["title","og:title","dc.title"], description : ["aria-description","og:description","dc.description"], author : ["author","dc.creator"], publisher : ["publisher","dc.publisher"], website : ["og:site_name","og:url","dc.publisher"], license : ["SPDX","dc.rights"]}; - return meta; -}; -var xrfragment_URI = $hx_exports["xrfragment"]["URI"] = function() { - this.XRF = { }; - this.hash = { }; - this.fragment = ""; -}; -xrfragment_URI.__name__ = true; -xrfragment_URI.parseFragment = function(url,filter) { - var store = { }; - if(url == null || url.indexOf("#") == -1) { - return store; - } - var fragment = url.split("#"); - var splitArray = fragment[1].split("&"); - var _g = 0; - var _g1 = splitArray.length; - while(_g < _g1) { - var i = _g++; - var splitByEqual = splitArray[i].split("="); - var regexPlus = new EReg("\\+","g"); - var key = splitByEqual[0]; - var value = ""; - if(splitByEqual.length > 1) { - if(xrfragment_XRF.isVector.match(splitByEqual[1])) { - value = splitByEqual[1]; - } else { - var s = regexPlus.split(splitByEqual[1]).join(" "); - value = decodeURIComponent(s.split("+").join(" ")); - } - } - var ok = xrfragment_Parser.parse(key,value,store,i); - } - if(filter != null && filter != 0) { - var _g = 0; - var _g1 = Reflect.fields(store); - while(_g < _g1.length) { - var key = _g1[_g]; - ++_g; - var xrf = store[key]; - if(!xrf.is(filter)) { - Reflect.deleteField(store,key); - } - } - } - return store; -}; -xrfragment_URI.template = function(uri,vars) { - var parts = uri.split("#"); - if(parts.length == 1) { - return uri; - } - var frag = parts[1]; - frag = StringTools.replace(frag,"{","::"); - frag = StringTools.replace(frag,"}","::"); - frag = new haxe_Template(frag).execute(vars); - frag = StringTools.replace(frag,"null",""); - parts[1] = frag; - return parts.join("#"); -}; -xrfragment_URI.parse = function(stringUrl,flags) { - var r = new EReg("^(?:(?![^:@]+:[^:@/]*@)([^:/?#.]+):)?(?://)?((?:(([^:@]*)(?::([^:@]*))?)?@)?([^:/?#]*)(?::(\\d*))?)(((/(?:[^?#](?![^?#/]*\\.[^?#/.]+(?:[?#]|$)))*/?)?([^?#/]*))(?:\\?([^#]*))?(?:#(.*))?)",""); - if(stringUrl.indexOf("://") == -1 && stringUrl.charAt(0) != "/") { - stringUrl = "/" + stringUrl; - } - r.match(stringUrl); - var url = new xrfragment_URI(); - var _g = 0; - var _g1 = xrfragment_URI._parts.length; - while(_g < _g1) { - var i = _g++; - url[xrfragment_URI._parts[i]] = r.matched(i); - } - if(xrfragment_URI.isRelative(url) == true) { - if(url.directory == null && url.host != null) { - url.file = url.host; - } - url.host = ""; - } - url.hash = { }; - if(url.fragment != null && url.fragment.length > 0) { - url.XRF = xrfragment_URI.parseFragment("#" + url.fragment,flags); - var key; - var _g = 0; - var _g1 = Reflect.fields(url.XRF); - while(_g < _g1.length) { - var key = _g1[_g]; - ++_g; - var v = url.XRF[key]; - url.hash[key] = v["string"]; - } - } - xrfragment_URI.computeVars(url); - return url; -}; -xrfragment_URI.computeVars = function(url) { - var r_r = new RegExp("//","g".split("u").join("")); - if(url.directory != null && url.directory.indexOf("//") != -1) { - url.directory = url.directory.replace(r_r,"/"); - } - if(url.path != null && url.path.indexOf("//") != -1) { - url.path = url.path.replace(r_r,"/"); - } - if(url.file != null && url.file.indexOf("//") != -1) { - url.file = url.file.replace(r_r,"/"); - } - url.URN = url.scheme + "://" + url.host; - if(url.port != null) { - url.URN += ":" + url.port; - } - url.URN += url.directory; - if(url.file != null) { - var parts = url.file.split("."); - if(parts.length > 1) { - url.fileExt = parts.pop(); - } - } -}; -xrfragment_URI.toString = function(url) { - var result = ""; - if(url.scheme != null) { - result += url.scheme + "://"; - } - if(url.user != null) { - result += url.user + ":"; - } - if(url.password != null) { - result += url.password + "@"; - } - if(url.host != null) { - result += url.host; - } - if(url.port != null) { - result += ":" + url.port; - } - if(url.directory != null) { - result += url.directory; - } - if(url.file != null) { - result += url.file; - } - if(url.query != null) { - result += "?" + url.query; - } - if(url.fragment != null) { - result += "#" + url.fragment; - } - return result; -}; -xrfragment_URI.appendURI = function(url,appendedURI) { - if(xrfragment_URI.isRelative(url) == true) { - return xrfragment_URI.appendToRelativeURI(url,appendedURI); - } else { - return xrfragment_URI.appendToAbsoluteURI(url,appendedURI); - } -}; -xrfragment_URI.isRelative = function(url) { - return url.scheme == null; -}; -xrfragment_URI.appendToRelativeURI = function(url,appendedURI) { - if(url.directory == null || url.host == null) { - return xrfragment_URI.cloneURI(appendedURI); - } - var resultURI = new xrfragment_URI(); - resultURI.host = url.host; - resultURI.directory = url.directory; - if(appendedURI.host != null) { - resultURI.directory += appendedURI.host; - } - if(appendedURI.directory != null) { - var directory = appendedURI.directory; - if(appendedURI.host == null) { - resultURI.directory += HxOverrides.substr(directory,1,null); - } else { - resultURI.directory += directory; - } - } - if(appendedURI.file != null) { - resultURI.file = appendedURI.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(appendedURI.query != null) { - resultURI.query = appendedURI.query; - } - if(appendedURI.fragment != null) { - resultURI.fragment = appendedURI.fragment; - } - return resultURI; -}; -xrfragment_URI.appendToAbsoluteURI = function(url,appendedURI) { - var resultURI = new xrfragment_URI(); - if(url.scheme != null) { - resultURI.scheme = url.scheme; - } - if(url.host != null) { - resultURI.host = url.host; - } - var directory = ""; - if(url.directory != null) { - directory = url.directory; - } - if(appendedURI.host != null) { - appendedURI.directory += appendedURI.host; - } - if(appendedURI.directory != null) { - directory += appendedURI.directory; - } - resultURI.directory = directory; - if(appendedURI.file != null) { - resultURI.file = appendedURI.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(appendedURI.query != null) { - resultURI.query = appendedURI.query; - } - if(appendedURI.fragment != null) { - resultURI.fragment = appendedURI.fragment; - } - return resultURI; -}; -xrfragment_URI.toAbsolute = function(url,newUrl) { - var newURI = xrfragment_URI.parse(newUrl,0); - var resultURI = new xrfragment_URI(); - resultURI.port = url.port; - resultURI.source = newUrl; - if(newURI.scheme != null) { - resultURI.scheme = newURI.scheme; - } else { - resultURI.scheme = url.scheme; - } - if(newURI.host != null && newURI.host.length > 0) { - resultURI.host = newURI.host; - resultURI.port = null; - resultURI.fragment = null; - resultURI.hash = { }; - resultURI.XRF = { }; - if(newURI.port != null) { - resultURI.port = newURI.port; - } - } else { - resultURI.host = url.host; - } - var directory = ""; - if(url.directory != null) { - directory = url.directory; - } - if(newURI.directory != null) { - if(newUrl.charAt(0) != "/" && newUrl.indexOf("://") == -1) { - var stripRelative_r = new RegExp("\\./.*","".split("u").join("")); - directory = directory.replace(stripRelative_r,""); - directory += newURI.directory; - } else { - directory = newURI.directory; - } - } - resultURI.directory = directory; - if(newURI.file != null) { - resultURI.file = newURI.file; - } else { - resultURI.file = url.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(newURI.query != null) { - resultURI.query = newURI.query; - } - if(newURI.fragment != null) { - resultURI.fragment = newURI.fragment; - } - resultURI.hash = newURI.hash; - resultURI.XRF = newURI.XRF; - xrfragment_URI.computeVars(resultURI); - return resultURI; -}; -xrfragment_URI.cloneURI = function(url) { - var clonedURI = new xrfragment_URI(); - clonedURI.url = url.url; - clonedURI.source = url.source; - clonedURI.scheme = url.scheme; - clonedURI.authority = url.authority; - clonedURI.userInfo = url.userInfo; - clonedURI.password = url.password; - clonedURI.host = url.host; - clonedURI.port = url.port; - clonedURI.relative = url.relative; - clonedURI.path = url.path; - clonedURI.directory = url.directory; - clonedURI.file = url.file; - clonedURI.query = url.query; - clonedURI.fragment = url.fragment; - return clonedURI; -}; -var xrfragment_XRF = $hx_exports["xrfragment"]["XRF"] = function(_fragment,_flags,_index) { - this.floats = []; - this.shift = []; - this.fragment = _fragment; - this.flags = _flags; - this.index = _index; -}; -xrfragment_XRF.__name__ = true; -xrfragment_XRF.set = function(flag,flags) { - return flags | flag; -}; -xrfragment_XRF.unset = function(flag,flags) { - return flags & ~flag; -}; -xrfragment_XRF.prototype = { - is: function(flag) { - var v = this.flags; - if(!(typeof(v) == "number" && ((v | 0) === v))) { - this.flags = 0; - } - return (this.flags & flag) != 0; - } - ,validate: function(value) { - this.guessType(this,value); - var ok = true; - if(value.length == 0 && !this.is(xrfragment_XRF.T_PREDEFINED_VIEW)) { - ok = false; - } - if(!this.is(xrfragment_XRF.T_FLOAT) && this.is(xrfragment_XRF.T_VECTOR2) && !(typeof(this.x) == "number" && typeof(this.y) == "number")) { - ok = false; - } - if(!(this.is(xrfragment_XRF.T_VECTOR2) || this.is(xrfragment_XRF.T_STRING)) && this.is(xrfragment_XRF.T_VECTOR3) && !(typeof(this.x) == "number" && typeof(this.y) == "number" && typeof(this.z) == "number")) { - ok = false; - } - return ok; - } - ,guessType: function(v,str) { - v.string = str; - if(xrfragment_XRF.isReset.match(v.fragment)) { - v.reset = true; - } - if(v.fragment == "loop") { - v.loop = true; - } - if(typeof(str) != "string") { - return; - } - if(str.length > 0) { - if(xrfragment_XRF.isXRFScheme.match(str)) { - v.xrfScheme = true; - str = str.replace(xrfragment_XRF.isXRFScheme.r,""); - v.string = str; - } - if(str.split(",").length > 1) { - var xyzn = str.split(","); - if(xyzn.length > 0) { - v.x = parseFloat(xyzn[0]); - } - if(xyzn.length > 1) { - v.y = parseFloat(xyzn[1]); - } - if(xyzn.length > 2) { - v.z = parseFloat(xyzn[2]); - } - var _g = 0; - var _g1 = xyzn.length; - while(_g < _g1) { - var i = _g++; - v.shift.push(xrfragment_XRF.isShift.match(xyzn[i])); - v.floats.push(parseFloat(xyzn[i].replace(xrfragment_XRF.isShift.r,""))); - } - } - if(xrfragment_XRF.isColor.match(str)) { - v.color = str; - } - if(xrfragment_XRF.isFloat.match(str)) { - v.x = parseFloat(str); - v.float = v.x; - } - if(xrfragment_XRF.isInt.match(str)) { - v.int = Std.parseInt(str); - v.x = v.int; - v.floats.push(v.x); - } - v.filter = new xrfragment_Filter(v.fragment + "=" + v.string); - } else { - v.filter = new xrfragment_Filter(v.fragment); - } - } -}; -function $getIterator(o) { if( o instanceof Array ) return new haxe_iterators_ArrayIterator(o); else return o.iterator(); } -function $bind(o,m) { if( m == null ) return null; if( m.__id__ == null ) m.__id__ = $global.$haxeUID++; var f; if( o.hx__closures__ == null ) o.hx__closures__ = {}; else f = o.hx__closures__[m.__id__]; if( f == null ) { f = m.bind(o); o.hx__closures__[m.__id__] = f; } return f; } -$global.$haxeUID |= 0; -if(typeof(performance) != "undefined" ? typeof(performance.now) == "function" : false) { - HxOverrides.now = performance.now.bind(performance); -} -if( String.fromCodePoint == null ) String.fromCodePoint = function(c) { return c < 0x10000 ? String.fromCharCode(c) : String.fromCharCode((c>>10)+0xD7C0)+String.fromCharCode((c&0x3FF)+0xDC00); } -String.__name__ = true; -Array.__name__ = true; -js_Boot.__toStr = ({ }).toString; -haxe_Template.splitter = new EReg("(::[A-Za-z0-9_ ()&|!+=/><*.\"-]+::|\\$\\$([A-Za-z0-9_-]+)\\()",""); -haxe_Template.expr_splitter = new EReg("(\\(|\\)|[ \r\n\t]*\"[^\"]*\"[ \r\n\t]*|[!+=/><*.&|-]+)",""); -haxe_Template.expr_trim = new EReg("^[ ]*([^ ]+)[ ]*$",""); -haxe_Template.expr_int = new EReg("^[0-9]+$",""); -haxe_Template.expr_float = new EReg("^([+-]?)(?=\\d|,\\d)\\d*(,\\d*)?([Ee]([+-]?\\d+))?$",""); -haxe_Template.globals = { }; -haxe_Template.hxKeepArrayIterator = new haxe_iterators_ArrayIterator([]); -xrfragment_Parser.error = ""; -xrfragment_Parser.debug = false; -xrfragment_URI.__meta__ = { statics : { template : { keep : null}}}; -xrfragment_URI._parts = ["source","scheme","authority","userInfo","user","password","host","port","relative","path","directory","file","query","fragment"]; -xrfragment_XRF.IMMUTABLE = 1; -xrfragment_XRF.PROP_BIND = 2; -xrfragment_XRF.QUERY_OPERATOR = 4; -xrfragment_XRF.PROMPT = 8; -xrfragment_XRF.CUSTOMFRAG = 16; -xrfragment_XRF.NAVIGATOR = 32; -xrfragment_XRF.METADATA = 64; -xrfragment_XRF.PV_OVERRIDE = 128; -xrfragment_XRF.PV_EXECUTE = 256; -xrfragment_XRF.T_COLOR = 8192; -xrfragment_XRF.T_INT = 16384; -xrfragment_XRF.T_FLOAT = 32768; -xrfragment_XRF.T_VECTOR2 = 65536; -xrfragment_XRF.T_VECTOR3 = 131072; -xrfragment_XRF.T_URL = 262144; -xrfragment_XRF.T_PREDEFINED_VIEW = 524288; -xrfragment_XRF.T_STRING = 1048576; -xrfragment_XRF.T_MEDIAFRAG = 2097152; -xrfragment_XRF.T_DYNAMICKEY = 4194304; -xrfragment_XRF.T_DYNAMICKEYVALUE = 8388608; -xrfragment_XRF.isColor = new EReg("^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$",""); -xrfragment_XRF.isInt = new EReg("^[-0-9]+$",""); -xrfragment_XRF.isFloat = new EReg("^[-0-9]+\\.[0-9]+$",""); -xrfragment_XRF.isVector = new EReg("([,]+|\\w)",""); -xrfragment_XRF.isUrl = new EReg("(://)?\\..*",""); -xrfragment_XRF.isUrlOrPretypedView = new EReg("(^#|://)?\\..*",""); -xrfragment_XRF.isString = new EReg(".*",""); -xrfragment_XRF.operators = new EReg("(^[-]|^[!]|[\\*]$)","g"); -xrfragment_XRF.isProp = new EReg("^.*=[><=]?",""); -xrfragment_XRF.isExclude = new EReg("^-",""); -xrfragment_XRF.isDeep = new EReg("\\*",""); -xrfragment_XRF.isNumber = new EReg("^[0-9\\.]+$",""); -xrfragment_XRF.isMediaFrag = new EReg("^([0-9\\.,\\*+-]+)$",""); -xrfragment_XRF.isReset = new EReg("^!",""); -xrfragment_XRF.isShift = new EReg("^(\\+|--)",""); -xrfragment_XRF.isXRFScheme = new EReg("^xrf://",""); -})(typeof window != "undefined" ? window : typeof global != "undefined" ? global : typeof self != "undefined" ? self : this); -var xrfragment = $hx_exports["xrfragment"]; -export default xrfragment; -// Generated by Haxe 4.3.3 -var $hx_exports = typeof exports != "undefined" ? exports : typeof window != "undefined" ? window : typeof self != "undefined" ? self : this; -(function ($global) { "use strict"; -$hx_exports["xrfragment"] = $hx_exports["xrfragment"] || {}; -var $estr = function() { return js_Boot.__string_rec(this,''); },$hxEnums = $hxEnums || {},$_; -function $extend(from, fields) { - var proto = Object.create(from); - for (var name in fields) proto[name] = fields[name]; - if( fields.toString !== Object.prototype.toString ) proto.toString = fields.toString; - return proto; -} -var EReg = function(r,opt) { - this.r = new RegExp(r,opt.split("u").join("")); -}; -EReg.__name__ = true; -EReg.prototype = { - match: function(s) { - if(this.r.global) { - this.r.lastIndex = 0; - } - this.r.m = this.r.exec(s); - this.r.s = s; - return this.r.m != null; - } - ,matched: function(n) { - if(this.r.m != null && n >= 0 && n < this.r.m.length) { - return this.r.m[n]; - } else { - throw haxe_Exception.thrown("EReg::matched"); - } - } - ,matchedRight: function() { - if(this.r.m == null) { - throw haxe_Exception.thrown("No string matched"); - } - var sz = this.r.m.index + this.r.m[0].length; - return HxOverrides.substr(this.r.s,sz,this.r.s.length - sz); - } - ,matchedPos: function() { - if(this.r.m == null) { - throw haxe_Exception.thrown("No string matched"); - } - return { pos : this.r.m.index, len : this.r.m[0].length}; - } - ,split: function(s) { - var d = "#__delim__#"; - return s.replace(this.r,d).split(d); - } -}; -var HxOverrides = function() { }; -HxOverrides.__name__ = true; -HxOverrides.cca = function(s,index) { - var x = s.charCodeAt(index); - if(x != x) { - return undefined; - } - return x; -}; -HxOverrides.substr = function(s,pos,len) { - if(len == null) { - len = s.length; - } else if(len < 0) { - if(pos == 0) { - len = s.length + len; - } else { - return ""; - } - } - return s.substr(pos,len); -}; -HxOverrides.now = function() { - return Date.now(); -}; -Math.__name__ = true; -var Reflect = function() { }; -Reflect.__name__ = true; -Reflect.field = function(o,field) { - try { - return o[field]; - } catch( _g ) { - return null; - } -}; -Reflect.getProperty = function(o,field) { - var tmp; - if(o == null) { - return null; - } else { - var tmp1; - if(o.__properties__) { - tmp = o.__properties__["get_" + field]; - tmp1 = tmp; - } else { - tmp1 = false; - } - if(tmp1) { - return o[tmp](); - } else { - return o[field]; - } - } -}; -Reflect.fields = function(o) { - var a = []; - if(o != null) { - var hasOwnProperty = Object.prototype.hasOwnProperty; - for( var f in o ) { - if(f != "__id__" && f != "hx__closures__" && hasOwnProperty.call(o,f)) { - a.push(f); - } - } - } - return a; -}; -Reflect.isObject = function(v) { - if(v == null) { - return false; - } - var t = typeof(v); - if(!(t == "string" || t == "object" && v.__enum__ == null)) { - if(t == "function") { - return (v.__name__ || v.__ename__) != null; - } else { - return false; - } - } else { - return true; - } -}; -Reflect.deleteField = function(o,field) { - if(!Object.prototype.hasOwnProperty.call(o,field)) { - return false; - } - delete(o[field]); - return true; -}; -Reflect.copy = function(o) { - if(o == null) { - return null; - } - var o2 = { }; - var _g = 0; - var _g1 = Reflect.fields(o); - while(_g < _g1.length) { - var f = _g1[_g]; - ++_g; - o2[f] = Reflect.field(o,f); - } - return o2; -}; -var Std = function() { }; -Std.__name__ = true; -Std.string = function(s) { - return js_Boot.__string_rec(s,""); -}; -Std.parseInt = function(x) { - var v = parseInt(x); - if(isNaN(v)) { - return null; - } - return v; -}; -var StringBuf = function() { - this.b = ""; -}; -StringBuf.__name__ = true; -var StringTools = function() { }; -StringTools.__name__ = true; -StringTools.isSpace = function(s,pos) { - var c = HxOverrides.cca(s,pos); - if(!(c > 8 && c < 14)) { - return c == 32; - } else { - return true; - } -}; -StringTools.ltrim = function(s) { - var l = s.length; - var r = 0; - while(r < l && StringTools.isSpace(s,r)) ++r; - if(r > 0) { - return HxOverrides.substr(s,r,l - r); - } else { - return s; - } -}; -StringTools.rtrim = function(s) { - var l = s.length; - var r = 0; - while(r < l && StringTools.isSpace(s,l - r - 1)) ++r; - if(r > 0) { - return HxOverrides.substr(s,0,l - r); - } else { - return s; - } -}; -StringTools.trim = function(s) { - return StringTools.ltrim(StringTools.rtrim(s)); -}; -StringTools.replace = function(s,sub,by) { - return s.split(sub).join(by); -}; -var haxe_Exception = function(message,previous,native) { - Error.call(this,message); - this.message = message; - this.__previousException = previous; - this.__nativeException = native != null ? native : this; -}; -haxe_Exception.__name__ = true; -haxe_Exception.caught = function(value) { - if(((value) instanceof haxe_Exception)) { - return value; - } else if(((value) instanceof Error)) { - return new haxe_Exception(value.message,null,value); - } else { - return new haxe_ValueException(value,null,value); - } -}; -haxe_Exception.thrown = function(value) { - if(((value) instanceof haxe_Exception)) { - return value.get_native(); - } else if(((value) instanceof Error)) { - return value; - } else { - var e = new haxe_ValueException(value); - return e; - } -}; -haxe_Exception.__super__ = Error; -haxe_Exception.prototype = $extend(Error.prototype,{ - unwrap: function() { - return this.__nativeException; - } - ,get_native: function() { - return this.__nativeException; - } - ,__properties__: {get_native:"get_native"} -}); -var haxe__$Template_TemplateExpr = $hxEnums["haxe._Template.TemplateExpr"] = { __ename__:true,__constructs__:null - ,OpVar: ($_=function(v) { return {_hx_index:0,v:v,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpVar",$_.__params__ = ["v"],$_) - ,OpExpr: ($_=function(expr) { return {_hx_index:1,expr:expr,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpExpr",$_.__params__ = ["expr"],$_) - ,OpIf: ($_=function(expr,eif,eelse) { return {_hx_index:2,expr:expr,eif:eif,eelse:eelse,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpIf",$_.__params__ = ["expr","eif","eelse"],$_) - ,OpStr: ($_=function(str) { return {_hx_index:3,str:str,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpStr",$_.__params__ = ["str"],$_) - ,OpBlock: ($_=function(l) { return {_hx_index:4,l:l,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpBlock",$_.__params__ = ["l"],$_) - ,OpForeach: ($_=function(expr,loop) { return {_hx_index:5,expr:expr,loop:loop,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpForeach",$_.__params__ = ["expr","loop"],$_) - ,OpMacro: ($_=function(name,params) { return {_hx_index:6,name:name,params:params,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpMacro",$_.__params__ = ["name","params"],$_) -}; -haxe__$Template_TemplateExpr.__constructs__ = [haxe__$Template_TemplateExpr.OpVar,haxe__$Template_TemplateExpr.OpExpr,haxe__$Template_TemplateExpr.OpIf,haxe__$Template_TemplateExpr.OpStr,haxe__$Template_TemplateExpr.OpBlock,haxe__$Template_TemplateExpr.OpForeach,haxe__$Template_TemplateExpr.OpMacro]; -var haxe_iterators_ArrayIterator = function(array) { - this.current = 0; - this.array = array; -}; -haxe_iterators_ArrayIterator.__name__ = true; -haxe_iterators_ArrayIterator.prototype = { - hasNext: function() { - return this.current < this.array.length; - } - ,next: function() { - return this.array[this.current++]; - } -}; -var haxe_Template = function(str) { - var tokens = this.parseTokens(str); - this.expr = this.parseBlock(tokens); - if(!tokens.isEmpty()) { - throw haxe_Exception.thrown("Unexpected '" + Std.string(tokens.first().s) + "'"); - } -}; -haxe_Template.__name__ = true; -haxe_Template.prototype = { - execute: function(context,macros) { - this.macros = macros == null ? { } : macros; - this.context = context; - this.stack = new haxe_ds_List(); - this.buf = new StringBuf(); - this.run(this.expr); - return this.buf.b; - } - ,resolve: function(v) { - if(v == "__current__") { - return this.context; - } - if(Reflect.isObject(this.context)) { - var value = Reflect.getProperty(this.context,v); - if(value != null || Object.prototype.hasOwnProperty.call(this.context,v)) { - return value; - } - } - var _g_head = this.stack.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var ctx = val; - var value = Reflect.getProperty(ctx,v); - if(value != null || Object.prototype.hasOwnProperty.call(ctx,v)) { - return value; - } - } - return Reflect.field(haxe_Template.globals,v); - } - ,parseTokens: function(data) { - var tokens = new haxe_ds_List(); - while(haxe_Template.splitter.match(data)) { - var p = haxe_Template.splitter.matchedPos(); - if(p.pos > 0) { - tokens.add({ p : HxOverrides.substr(data,0,p.pos), s : true, l : null}); - } - if(HxOverrides.cca(data,p.pos) == 58) { - tokens.add({ p : HxOverrides.substr(data,p.pos + 2,p.len - 4), s : false, l : null}); - data = haxe_Template.splitter.matchedRight(); - continue; - } - var parp = p.pos + p.len; - var npar = 1; - var params = []; - var part = ""; - while(true) { - var c = HxOverrides.cca(data,parp); - ++parp; - if(c == 40) { - ++npar; - } else if(c == 41) { - --npar; - if(npar <= 0) { - break; - } - } else if(c == null) { - throw haxe_Exception.thrown("Unclosed macro parenthesis"); - } - if(c == 44 && npar == 1) { - params.push(part); - part = ""; - } else { - part += String.fromCodePoint(c); - } - } - params.push(part); - tokens.add({ p : haxe_Template.splitter.matched(2), s : false, l : params}); - data = HxOverrides.substr(data,parp,data.length - parp); - } - if(data.length > 0) { - tokens.add({ p : data, s : true, l : null}); - } - return tokens; - } - ,parseBlock: function(tokens) { - var l = new haxe_ds_List(); - while(true) { - var t = tokens.first(); - if(t == null) { - break; - } - if(!t.s && (t.p == "end" || t.p == "else" || HxOverrides.substr(t.p,0,7) == "elseif ")) { - break; - } - l.add(this.parse(tokens)); - } - if(l.length == 1) { - return l.first(); - } - return haxe__$Template_TemplateExpr.OpBlock(l); - } - ,parse: function(tokens) { - var t = tokens.pop(); - var p = t.p; - if(t.s) { - return haxe__$Template_TemplateExpr.OpStr(p); - } - if(t.l != null) { - var pe = new haxe_ds_List(); - var _g = 0; - var _g1 = t.l; - while(_g < _g1.length) { - var p1 = _g1[_g]; - ++_g; - pe.add(this.parseBlock(this.parseTokens(p1))); - } - return haxe__$Template_TemplateExpr.OpMacro(p,pe); - } - var kwdEnd = function(kwd) { - var pos = -1; - var length = kwd.length; - if(HxOverrides.substr(p,0,length) == kwd) { - pos = length; - var _g_offset = 0; - var _g_s = HxOverrides.substr(p,length,null); - while(_g_offset < _g_s.length) { - var c = _g_s.charCodeAt(_g_offset++); - if(c == 32) { - ++pos; - } else { - break; - } - } - } - return pos; - }; - var pos = kwdEnd("if"); - if(pos > 0) { - p = HxOverrides.substr(p,pos,p.length - pos); - var e = this.parseExpr(p); - var eif = this.parseBlock(tokens); - var t = tokens.first(); - var eelse; - if(t == null) { - throw haxe_Exception.thrown("Unclosed 'if'"); - } - if(t.p == "end") { - tokens.pop(); - eelse = null; - } else if(t.p == "else") { - tokens.pop(); - eelse = this.parseBlock(tokens); - t = tokens.pop(); - if(t == null || t.p != "end") { - throw haxe_Exception.thrown("Unclosed 'else'"); - } - } else { - t.p = HxOverrides.substr(t.p,4,t.p.length - 4); - eelse = this.parse(tokens); - } - return haxe__$Template_TemplateExpr.OpIf(e,eif,eelse); - } - var pos = kwdEnd("foreach"); - if(pos >= 0) { - p = HxOverrides.substr(p,pos,p.length - pos); - var e = this.parseExpr(p); - var efor = this.parseBlock(tokens); - var t = tokens.pop(); - if(t == null || t.p != "end") { - throw haxe_Exception.thrown("Unclosed 'foreach'"); - } - return haxe__$Template_TemplateExpr.OpForeach(e,efor); - } - if(haxe_Template.expr_splitter.match(p)) { - return haxe__$Template_TemplateExpr.OpExpr(this.parseExpr(p)); - } - return haxe__$Template_TemplateExpr.OpVar(p); - } - ,parseExpr: function(data) { - var l = new haxe_ds_List(); - var expr = data; - while(haxe_Template.expr_splitter.match(data)) { - var p = haxe_Template.expr_splitter.matchedPos(); - var k = p.pos + p.len; - if(p.pos != 0) { - l.add({ p : HxOverrides.substr(data,0,p.pos), s : true}); - } - var p1 = haxe_Template.expr_splitter.matched(0); - l.add({ p : p1, s : p1.indexOf("\"") >= 0}); - data = haxe_Template.expr_splitter.matchedRight(); - } - if(data.length != 0) { - var _g_offset = 0; - var _g_s = data; - while(_g_offset < _g_s.length) { - var _g_key = _g_offset; - var _g_value = _g_s.charCodeAt(_g_offset++); - var i = _g_key; - var c = _g_value; - if(c != 32) { - l.add({ p : HxOverrides.substr(data,i,null), s : true}); - break; - } - } - } - var e; - try { - e = this.makeExpr(l); - if(!l.isEmpty()) { - throw haxe_Exception.thrown(l.first().p); - } - } catch( _g ) { - var _g1 = haxe_Exception.caught(_g).unwrap(); - if(typeof(_g1) == "string") { - var s = _g1; - throw haxe_Exception.thrown("Unexpected '" + s + "' in " + expr); - } else { - throw _g; - } - } - return function() { - try { - return e(); - } catch( _g ) { - var exc = haxe_Exception.caught(_g).unwrap(); - throw haxe_Exception.thrown("Error : " + Std.string(exc) + " in " + expr); - } - }; - } - ,makeConst: function(v) { - haxe_Template.expr_trim.match(v); - v = haxe_Template.expr_trim.matched(1); - if(HxOverrides.cca(v,0) == 34) { - var str = HxOverrides.substr(v,1,v.length - 2); - return function() { - return str; - }; - } - if(haxe_Template.expr_int.match(v)) { - var i = Std.parseInt(v); - return function() { - return i; - }; - } - if(haxe_Template.expr_float.match(v)) { - var f = parseFloat(v); - return function() { - return f; - }; - } - var me = this; - return function() { - return me.resolve(v); - }; - } - ,makePath: function(e,l) { - var p = l.first(); - if(p == null || p.p != ".") { - return e; - } - l.pop(); - var field = l.pop(); - if(field == null || !field.s) { - throw haxe_Exception.thrown(field.p); - } - var f = field.p; - haxe_Template.expr_trim.match(f); - f = haxe_Template.expr_trim.matched(1); - return this.makePath(function() { - return Reflect.field(e(),f); - },l); - } - ,makeExpr: function(l) { - return this.makePath(this.makeExpr2(l),l); - } - ,skipSpaces: function(l) { - var p = l.first(); - while(p != null) { - var _g_offset = 0; - var _g_s = p.p; - while(_g_offset < _g_s.length) { - var c = _g_s.charCodeAt(_g_offset++); - if(c != 32) { - return; - } - } - l.pop(); - p = l.first(); - } - } - ,makeExpr2: function(l) { - this.skipSpaces(l); - var p = l.pop(); - this.skipSpaces(l); - if(p == null) { - throw haxe_Exception.thrown(""); - } - if(p.s) { - return this.makeConst(p.p); - } - switch(p.p) { - case "!": - var e = this.makeExpr(l); - return function() { - var v = e(); - if(v != null) { - return v == false; - } else { - return true; - } - }; - case "(": - this.skipSpaces(l); - var e1 = this.makeExpr(l); - this.skipSpaces(l); - var p1 = l.pop(); - if(p1 == null || p1.s) { - throw haxe_Exception.thrown(p1); - } - if(p1.p == ")") { - return e1; - } - this.skipSpaces(l); - var e2 = this.makeExpr(l); - this.skipSpaces(l); - var p2 = l.pop(); - this.skipSpaces(l); - if(p2 == null || p2.p != ")") { - throw haxe_Exception.thrown(p2); - } - switch(p1.p) { - case "!=": - return function() { - return e1() != e2(); - }; - case "&&": - return function() { - return e1() && e2(); - }; - case "*": - return function() { - return e1() * e2(); - }; - case "+": - return function() { - return e1() + e2(); - }; - case "-": - return function() { - return e1() - e2(); - }; - case "/": - return function() { - return e1() / e2(); - }; - case "<": - return function() { - return e1() < e2(); - }; - case "<=": - return function() { - return e1() <= e2(); - }; - case "==": - return function() { - return e1() == e2(); - }; - case ">": - return function() { - return e1() > e2(); - }; - case ">=": - return function() { - return e1() >= e2(); - }; - case "||": - return function() { - return e1() || e2(); - }; - default: - throw haxe_Exception.thrown("Unknown operation " + p1.p); - } - break; - case "-": - var e3 = this.makeExpr(l); - return function() { - return -e3(); - }; - } - throw haxe_Exception.thrown(p.p); - } - ,run: function(e) { - switch(e._hx_index) { - case 0: - var v = e.v; - var _this = this.buf; - var x = Std.string(this.resolve(v)); - _this.b += Std.string(x); - break; - case 1: - var e1 = e.expr; - var _this = this.buf; - var x = Std.string(e1()); - _this.b += Std.string(x); - break; - case 2: - var e1 = e.expr; - var eif = e.eif; - var eelse = e.eelse; - var v = e1(); - if(v == null || v == false) { - if(eelse != null) { - this.run(eelse); - } - } else { - this.run(eif); - } - break; - case 3: - var str = e.str; - this.buf.b += str == null ? "null" : "" + str; - break; - case 4: - var l = e.l; - var _g_head = l.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var e1 = val; - this.run(e1); - } - break; - case 5: - var e1 = e.expr; - var loop = e.loop; - var v = e1(); - try { - var x = $getIterator(v); - if(x.hasNext == null) { - throw haxe_Exception.thrown(null); - } - v = x; - } catch( _g ) { - try { - if(v.hasNext == null) { - throw haxe_Exception.thrown(null); - } - } catch( _g1 ) { - throw haxe_Exception.thrown("Cannot iter on " + Std.string(v)); - } - } - this.stack.push(this.context); - var v1 = v; - var ctx = v1; - while(ctx.hasNext()) { - var ctx1 = ctx.next(); - this.context = ctx1; - this.run(loop); - } - this.context = this.stack.pop(); - break; - case 6: - var m = e.name; - var params = e.params; - var v = Reflect.field(this.macros,m); - var pl = []; - var old = this.buf; - pl.push($bind(this,this.resolve)); - var _g_head = params.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var p = val; - if(p._hx_index == 0) { - var v1 = p.v; - pl.push(this.resolve(v1)); - } else { - this.buf = new StringBuf(); - this.run(p); - pl.push(this.buf.b); - } - } - this.buf = old; - try { - var _this = this.buf; - var x = Std.string(v.apply(this.macros,pl)); - _this.b += Std.string(x); - } catch( _g ) { - var e = haxe_Exception.caught(_g).unwrap(); - var plstr; - try { - plstr = pl.join(","); - } catch( _g1 ) { - plstr = "???"; - } - var msg = "Macro call " + m + "(" + plstr + ") failed (" + Std.string(e) + ")"; - throw haxe_Exception.thrown(msg); - } - break; - } - } -}; -var haxe_ValueException = function(value,previous,native) { - haxe_Exception.call(this,String(value),previous,native); - this.value = value; -}; -haxe_ValueException.__name__ = true; -haxe_ValueException.__super__ = haxe_Exception; -haxe_ValueException.prototype = $extend(haxe_Exception.prototype,{ - unwrap: function() { - return this.value; - } -}); -var haxe_ds_List = function() { - this.length = 0; -}; -haxe_ds_List.__name__ = true; -haxe_ds_List.prototype = { - add: function(item) { - var x = new haxe_ds__$List_ListNode(item,null); - if(this.h == null) { - this.h = x; - } else { - this.q.next = x; - } - this.q = x; - this.length++; - } - ,push: function(item) { - var x = new haxe_ds__$List_ListNode(item,this.h); - this.h = x; - if(this.q == null) { - this.q = x; - } - this.length++; - } - ,first: function() { - if(this.h == null) { - return null; - } else { - return this.h.item; - } - } - ,pop: function() { - if(this.h == null) { - return null; - } - var x = this.h.item; - this.h = this.h.next; - if(this.h == null) { - this.q = null; - } - this.length--; - return x; - } - ,isEmpty: function() { - return this.h == null; - } - ,toString: function() { - var s_b = ""; - var first = true; - var l = this.h; - s_b += "{"; - while(l != null) { - if(first) { - first = false; - } else { - s_b += ", "; - } - s_b += Std.string(Std.string(l.item)); - l = l.next; - } - s_b += "}"; - return s_b; - } -}; -var haxe_ds__$List_ListNode = function(item,next) { - this.item = item; - this.next = next; -}; -haxe_ds__$List_ListNode.__name__ = true; -var js_Boot = function() { }; -js_Boot.__name__ = true; -js_Boot.__string_rec = function(o,s) { - if(o == null) { - return "null"; - } - if(s.length >= 5) { - return "<...>"; - } - var t = typeof(o); - if(t == "function" && (o.__name__ || o.__ename__)) { - t = "object"; - } - switch(t) { - case "function": - return ""; - case "object": - if(o.__enum__) { - var e = $hxEnums[o.__enum__]; - var con = e.__constructs__[o._hx_index]; - var n = con._hx_name; - if(con.__params__) { - s = s + "\t"; - return n + "(" + ((function($this) { - var $r; - var _g = []; - { - var _g1 = 0; - var _g2 = con.__params__; - while(true) { - if(!(_g1 < _g2.length)) { - break; - } - var p = _g2[_g1]; - _g1 = _g1 + 1; - _g.push(js_Boot.__string_rec(o[p],s)); - } - } - $r = _g; - return $r; - }(this))).join(",") + ")"; - } else { - return n; - } - } - if(((o) instanceof Array)) { - var str = "["; - s += "\t"; - var _g = 0; - var _g1 = o.length; - while(_g < _g1) { - var i = _g++; - str += (i > 0 ? "," : "") + js_Boot.__string_rec(o[i],s); - } - str += "]"; - return str; - } - var tostr; - try { - tostr = o.toString; - } catch( _g ) { - return "???"; - } - if(tostr != null && tostr != Object.toString && typeof(tostr) == "function") { - var s2 = o.toString(); - if(s2 != "[object Object]") { - return s2; - } - } - var str = "{\n"; - s += "\t"; - var hasp = o.hasOwnProperty != null; - var k = null; - for( k in o ) { - if(hasp && !o.hasOwnProperty(k)) { - continue; - } - if(k == "prototype" || k == "__class__" || k == "__super__" || k == "__interfaces__" || k == "__properties__") { - continue; - } - if(str.length != 2) { - str += ", \n"; - } - str += s + k + " : " + js_Boot.__string_rec(o[k],s); - } - s = s.substring(1); - str += "\n" + s + "}"; - return str; - case "string": - return o; - default: - return String(o); - } -}; -var xrfragment_Filter = $hx_exports["xrfragment"]["Filter"] = function(str) { - this.q = { }; - this.str = ""; - if(str != null) { - this.parse(str); - } -}; -xrfragment_Filter.__name__ = true; -xrfragment_Filter.prototype = { - toObject: function() { - return Reflect.copy(this.q); - } - ,get: function() { - return Reflect.copy(this.q); - } - ,parse: function(str) { - var token = str.split(" "); - var q = { }; - var process = function(str,prefix) { - if(prefix == null) { - prefix = ""; - } - str = StringTools.trim(str); - var k = str.split("=")[0]; - var v = str.split("=")[1]; - var filter = { }; - if(q[prefix + k]) { - filter = q[prefix + k]; - } - if(xrfragment_XRF.isProp.match(str)) { - var oper = ""; - if(str.indexOf(">") != -1) { - oper = ">"; - } - if(str.indexOf("<") != -1) { - oper = "<"; - } - if(xrfragment_XRF.isExclude.match(k)) { - k = HxOverrides.substr(k,1,null); - } - v = HxOverrides.substr(v,oper.length,null); - if(oper.length == 0) { - oper = "="; - } - var rule = { }; - if(xrfragment_XRF.isNumber.match(v)) { - rule[oper] = parseFloat(v); - } else { - rule[oper] = v; - } - q["expr"] = rule; - } - var value = xrfragment_XRF.isDeep.match(str) ? k.split("*").length - 1 : 0; - q["deep"] = value; - var value = xrfragment_XRF.isExclude.match(str) ? false : true; - q["show"] = value; - var value = k.replace(xrfragment_XRF.operators.r,""); - q["key"] = value; - q["value"] = v; - }; - var _g = 0; - var _g1 = token.length; - while(_g < _g1) { - var i = _g++; - process(token[i]); - } - return this.q = q; - } - ,test: function(obj) { - var qualify = false; - var _g = 0; - var _g1 = Reflect.fields(obj); - while(_g < _g1.length) { - var k = _g1[_g]; - ++_g; - var v = Std.string(Reflect.field(obj,k)); - if(this.testProperty(k,v)) { - qualify = true; - } - } - var _g = 0; - var _g1 = Reflect.fields(obj); - while(_g < _g1.length) { - var k = _g1[_g]; - ++_g; - var v = Std.string(Reflect.field(obj,k)); - if(this.testProperty(k,v,true)) { - qualify = false; - } - } - return qualify; - } - ,testProperty: function(property,value,exclude) { - var conds = 0; - var fails = 0; - var qualify = 0; - var testprop = function(expr) { - conds += 1; - fails += expr ? 0 : 1; - return expr; - }; - if(this.q[value] != null) { - var v = this.q[value]; - if(v[property] != null) { - return v[property]; - } - } - if(Reflect.field(this.q,"expr")) { - var f = Reflect.field(this.q,"expr"); - if(!Reflect.field(this.q,"show")) { - if(Reflect.field(f,"!=") != null && testprop((value == null ? "null" : "" + value) == Std.string(Reflect.field(f,"!="))) && exclude) { - ++qualify; - } - } else { - if(Reflect.field(f,"*") != null && testprop(parseFloat(value) != null)) { - ++qualify; - } - if(Reflect.field(f,">") != null && testprop(parseFloat(value) >= parseFloat(Reflect.field(f,">")))) { - ++qualify; - } - if(Reflect.field(f,"<") != null && testprop(parseFloat(value) <= parseFloat(Reflect.field(f,"<")))) { - ++qualify; - } - if(Reflect.field(f,"=") != null && (testprop(value == Reflect.field(f,"=")) || testprop(parseFloat(value) == parseFloat(Reflect.field(f,"="))))) { - ++qualify; - } - } - } - return qualify > 0; - } -}; -var xrfragment_Parser = $hx_exports["xrfragment"]["Parser"] = function() { }; -xrfragment_Parser.__name__ = true; -xrfragment_Parser.parse = function(key,value,store,index) { - var Frag_h = Object.create(null); - Frag_h["#"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_PREDEFINED_VIEW | xrfragment_XRF.PV_EXECUTE; - Frag_h["src"] = xrfragment_XRF.T_URL; - Frag_h["href"] = xrfragment_XRF.T_URL | xrfragment_XRF.T_PREDEFINED_VIEW; - Frag_h["tag"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["pos"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_VECTOR3 | xrfragment_XRF.T_STRING | xrfragment_XRF.METADATA | xrfragment_XRF.NAVIGATOR; - Frag_h["rot"] = xrfragment_XRF.QUERY_OPERATOR | xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_VECTOR3 | xrfragment_XRF.METADATA | xrfragment_XRF.NAVIGATOR; - Frag_h["t"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_FLOAT | xrfragment_XRF.T_VECTOR2 | xrfragment_XRF.NAVIGATOR | xrfragment_XRF.METADATA; - Frag_h["s"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_MEDIAFRAG; - Frag_h["loop"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_PREDEFINED_VIEW; - Frag_h["uv"] = xrfragment_XRF.T_VECTOR2 | xrfragment_XRF.T_MEDIAFRAG; - Frag_h["namespace"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["SPDX"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["unit"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["description"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - var keyStripped = key.replace(xrfragment_XRF.operators.r,""); - var isPVDynamic = key.length > 0 && !Object.prototype.hasOwnProperty.call(Frag_h,key); - if(isPVDynamic) { - var v = new xrfragment_XRF(key,xrfragment_XRF.PV_EXECUTE | xrfragment_XRF.NAVIGATOR,index); - v.validate(value); - v.flags = xrfragment_XRF.set(xrfragment_XRF.T_DYNAMICKEY,v.flags); - if(!Object.prototype.hasOwnProperty.call(Frag_h,key)) { - v.flags = xrfragment_XRF.set(xrfragment_XRF.CUSTOMFRAG,v.flags); - } - if(value.length == 0) { - v.flags = xrfragment_XRF.set(xrfragment_XRF.T_DYNAMICKEYVALUE,v.flags); - } - store[keyStripped] = v; - return true; - } - var v = new xrfragment_XRF(key,Frag_h[key],index); - if(Object.prototype.hasOwnProperty.call(Frag_h,key)) { - if(!v.validate(value)) { - console.log("src/xrfragment/Parser.hx:67:","⚠ fragment '" + key + "' has incompatible value (" + value + ")"); - return false; - } - store[keyStripped] = v; - if(xrfragment_Parser.debug) { - console.log("src/xrfragment/Parser.hx:71:","✔ " + key + ": " + v.string); - } - } else { - if(typeof(value) == "string") { - v.guessType(v,value); - } - v.flags = xrfragment_XRF.set(xrfragment_XRF.CUSTOMFRAG,v.flags); - store[keyStripped] = v; - } - return true; -}; -xrfragment_Parser.getMetaData = function() { - var meta = { title : ["title","og:title","dc.title"], description : ["aria-description","og:description","dc.description"], author : ["author","dc.creator"], publisher : ["publisher","dc.publisher"], website : ["og:site_name","og:url","dc.publisher"], license : ["SPDX","dc.rights"]}; - return meta; -}; -var xrfragment_URI = $hx_exports["xrfragment"]["URI"] = function() { - this.XRF = { }; - this.hash = { }; - this.fragment = ""; -}; -xrfragment_URI.__name__ = true; -xrfragment_URI.parseFragment = function(url,filter) { - var store = { }; - if(url == null || url.indexOf("#") == -1) { - return store; - } - var fragment = url.split("#"); - var splitArray = fragment[1].split("&"); - var _g = 0; - var _g1 = splitArray.length; - while(_g < _g1) { - var i = _g++; - var splitByEqual = splitArray[i].split("="); - var regexPlus = new EReg("\\+","g"); - var key = splitByEqual[0]; - var value = ""; - if(splitByEqual.length > 1) { - if(xrfragment_XRF.isVector.match(splitByEqual[1])) { - value = splitByEqual[1]; - } else { - var s = regexPlus.split(splitByEqual[1]).join(" "); - value = decodeURIComponent(s.split("+").join(" ")); - } - } - var ok = xrfragment_Parser.parse(key,value,store,i); - } - if(filter != null && filter != 0) { - var _g = 0; - var _g1 = Reflect.fields(store); - while(_g < _g1.length) { - var key = _g1[_g]; - ++_g; - var xrf = store[key]; - if(!xrf.is(filter)) { - Reflect.deleteField(store,key); - } - } - } - return store; -}; -xrfragment_URI.template = function(uri,vars) { - var parts = uri.split("#"); - if(parts.length == 1) { - return uri; - } - var frag = parts[1]; - frag = StringTools.replace(frag,"{","::"); - frag = StringTools.replace(frag,"}","::"); - frag = new haxe_Template(frag).execute(vars); - frag = StringTools.replace(frag,"null",""); - parts[1] = frag; - return parts.join("#"); -}; -xrfragment_URI.parse = function(stringUrl,flags) { - var r = new EReg("^(?:(?![^:@]+:[^:@/]*@)([^:/?#.]+):)?(?://)?((?:(([^:@]*)(?::([^:@]*))?)?@)?([^:/?#]*)(?::(\\d*))?)(((/(?:[^?#](?![^?#/]*\\.[^?#/.]+(?:[?#]|$)))*/?)?([^?#/]*))(?:\\?([^#]*))?(?:#(.*))?)",""); - if(stringUrl.indexOf("://") == -1 && stringUrl.charAt(0) != "/") { - stringUrl = "/" + stringUrl; - } - r.match(stringUrl); - var url = new xrfragment_URI(); - var _g = 0; - var _g1 = xrfragment_URI._parts.length; - while(_g < _g1) { - var i = _g++; - url[xrfragment_URI._parts[i]] = r.matched(i); - } - if(xrfragment_URI.isRelative(url) == true) { - if(url.directory == null && url.host != null) { - url.file = url.host; - } - url.host = ""; - } - url.hash = { }; - if(url.fragment != null && url.fragment.length > 0) { - url.XRF = xrfragment_URI.parseFragment("#" + url.fragment,flags); - var key; - var _g = 0; - var _g1 = Reflect.fields(url.XRF); - while(_g < _g1.length) { - var key = _g1[_g]; - ++_g; - var v = url.XRF[key]; - url.hash[key] = v["string"]; - } - } - xrfragment_URI.computeVars(url); - return url; -}; -xrfragment_URI.computeVars = function(url) { - var r_r = new RegExp("//","g".split("u").join("")); - if(url.directory != null && url.directory.indexOf("//") != -1) { - url.directory = url.directory.replace(r_r,"/"); - } - if(url.path != null && url.path.indexOf("//") != -1) { - url.path = url.path.replace(r_r,"/"); - } - if(url.file != null && url.file.indexOf("//") != -1) { - url.file = url.file.replace(r_r,"/"); - } - url.URN = url.scheme + "://" + url.host; - if(url.port != null) { - url.URN += ":" + url.port; - } - url.URN += url.directory; - if(url.file != null) { - var parts = url.file.split("."); - if(parts.length > 1) { - url.fileExt = parts.pop(); - } - } -}; -xrfragment_URI.toString = function(url) { - var result = ""; - if(url.scheme != null) { - result += url.scheme + "://"; - } - if(url.user != null) { - result += url.user + ":"; - } - if(url.password != null) { - result += url.password + "@"; - } - if(url.host != null) { - result += url.host; - } - if(url.port != null) { - result += ":" + url.port; - } - if(url.directory != null) { - result += url.directory; - } - if(url.file != null) { - result += url.file; - } - if(url.query != null) { - result += "?" + url.query; - } - if(url.fragment != null) { - result += "#" + url.fragment; - } - return result; -}; -xrfragment_URI.appendURI = function(url,appendedURI) { - if(xrfragment_URI.isRelative(url) == true) { - return xrfragment_URI.appendToRelativeURI(url,appendedURI); - } else { - return xrfragment_URI.appendToAbsoluteURI(url,appendedURI); - } -}; -xrfragment_URI.isRelative = function(url) { - return url.scheme == null; -}; -xrfragment_URI.appendToRelativeURI = function(url,appendedURI) { - if(url.directory == null || url.host == null) { - return xrfragment_URI.cloneURI(appendedURI); - } - var resultURI = new xrfragment_URI(); - resultURI.host = url.host; - resultURI.directory = url.directory; - if(appendedURI.host != null) { - resultURI.directory += appendedURI.host; - } - if(appendedURI.directory != null) { - var directory = appendedURI.directory; - if(appendedURI.host == null) { - resultURI.directory += HxOverrides.substr(directory,1,null); - } else { - resultURI.directory += directory; - } - } - if(appendedURI.file != null) { - resultURI.file = appendedURI.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(appendedURI.query != null) { - resultURI.query = appendedURI.query; - } - if(appendedURI.fragment != null) { - resultURI.fragment = appendedURI.fragment; - } - return resultURI; -}; -xrfragment_URI.appendToAbsoluteURI = function(url,appendedURI) { - var resultURI = new xrfragment_URI(); - if(url.scheme != null) { - resultURI.scheme = url.scheme; - } - if(url.host != null) { - resultURI.host = url.host; - } - var directory = ""; - if(url.directory != null) { - directory = url.directory; - } - if(appendedURI.host != null) { - appendedURI.directory += appendedURI.host; - } - if(appendedURI.directory != null) { - directory += appendedURI.directory; - } - resultURI.directory = directory; - if(appendedURI.file != null) { - resultURI.file = appendedURI.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(appendedURI.query != null) { - resultURI.query = appendedURI.query; - } - if(appendedURI.fragment != null) { - resultURI.fragment = appendedURI.fragment; - } - return resultURI; -}; -xrfragment_URI.toAbsolute = function(url,newUrl) { - var newURI = xrfragment_URI.parse(newUrl,0); - var resultURI = new xrfragment_URI(); - resultURI.port = url.port; - resultURI.source = newUrl; - if(newURI.scheme != null) { - resultURI.scheme = newURI.scheme; - } else { - resultURI.scheme = url.scheme; - } - if(newURI.host != null && newURI.host.length > 0) { - resultURI.host = newURI.host; - resultURI.port = null; - resultURI.fragment = null; - resultURI.hash = { }; - resultURI.XRF = { }; - if(newURI.port != null) { - resultURI.port = newURI.port; - } - } else { - resultURI.host = url.host; - } - var directory = ""; - if(url.directory != null) { - directory = url.directory; - } - if(newURI.directory != null) { - if(newUrl.charAt(0) != "/" && newUrl.indexOf("://") == -1) { - var stripRelative_r = new RegExp("\\./.*","".split("u").join("")); - directory = directory.replace(stripRelative_r,""); - directory += newURI.directory; - } else { - directory = newURI.directory; - } - } - resultURI.directory = directory; - if(newURI.file != null) { - resultURI.file = newURI.file; - } else { - resultURI.file = url.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(newURI.query != null) { - resultURI.query = newURI.query; - } - if(newURI.fragment != null) { - resultURI.fragment = newURI.fragment; - } - resultURI.hash = newURI.hash; - resultURI.XRF = newURI.XRF; - xrfragment_URI.computeVars(resultURI); - return resultURI; -}; -xrfragment_URI.cloneURI = function(url) { - var clonedURI = new xrfragment_URI(); - clonedURI.url = url.url; - clonedURI.source = url.source; - clonedURI.scheme = url.scheme; - clonedURI.authority = url.authority; - clonedURI.userInfo = url.userInfo; - clonedURI.password = url.password; - clonedURI.host = url.host; - clonedURI.port = url.port; - clonedURI.relative = url.relative; - clonedURI.path = url.path; - clonedURI.directory = url.directory; - clonedURI.file = url.file; - clonedURI.query = url.query; - clonedURI.fragment = url.fragment; - return clonedURI; -}; -var xrfragment_XRF = $hx_exports["xrfragment"]["XRF"] = function(_fragment,_flags,_index) { - this.floats = []; - this.shift = []; - this.fragment = _fragment; - this.flags = _flags; - this.index = _index; -}; -xrfragment_XRF.__name__ = true; -xrfragment_XRF.set = function(flag,flags) { - return flags | flag; -}; -xrfragment_XRF.unset = function(flag,flags) { - return flags & ~flag; -}; -xrfragment_XRF.prototype = { - is: function(flag) { - var v = this.flags; - if(!(typeof(v) == "number" && ((v | 0) === v))) { - this.flags = 0; - } - return (this.flags & flag) != 0; - } - ,validate: function(value) { - this.guessType(this,value); - var ok = true; - if(value.length == 0 && !this.is(xrfragment_XRF.T_PREDEFINED_VIEW)) { - ok = false; - } - if(!this.is(xrfragment_XRF.T_FLOAT) && this.is(xrfragment_XRF.T_VECTOR2) && !(typeof(this.x) == "number" && typeof(this.y) == "number")) { - ok = false; - } - if(!(this.is(xrfragment_XRF.T_VECTOR2) || this.is(xrfragment_XRF.T_STRING)) && this.is(xrfragment_XRF.T_VECTOR3) && !(typeof(this.x) == "number" && typeof(this.y) == "number" && typeof(this.z) == "number")) { - ok = false; - } - return ok; - } - ,guessType: function(v,str) { - v.string = str; - if(xrfragment_XRF.isReset.match(v.fragment)) { - v.reset = true; - } - if(v.fragment == "loop") { - v.loop = true; - } - if(typeof(str) != "string") { - return; - } - if(str.length > 0) { - if(xrfragment_XRF.isXRFScheme.match(str)) { - v.xrfScheme = true; - str = str.replace(xrfragment_XRF.isXRFScheme.r,""); - v.string = str; - } - if(str.split(",").length > 1) { - var xyzn = str.split(","); - if(xyzn.length > 0) { - v.x = parseFloat(xyzn[0]); - } - if(xyzn.length > 1) { - v.y = parseFloat(xyzn[1]); - } - if(xyzn.length > 2) { - v.z = parseFloat(xyzn[2]); - } - var _g = 0; - var _g1 = xyzn.length; - while(_g < _g1) { - var i = _g++; - v.shift.push(xrfragment_XRF.isShift.match(xyzn[i])); - v.floats.push(parseFloat(xyzn[i].replace(xrfragment_XRF.isShift.r,""))); - } - } - if(xrfragment_XRF.isColor.match(str)) { - v.color = str; - } - if(xrfragment_XRF.isFloat.match(str)) { - v.x = parseFloat(str); - v.float = v.x; - } - if(xrfragment_XRF.isInt.match(str)) { - v.int = Std.parseInt(str); - v.x = v.int; - v.floats.push(v.x); - } - v.filter = new xrfragment_Filter(v.fragment + "=" + v.string); - } else { - v.filter = new xrfragment_Filter(v.fragment); - } - } -}; -function $getIterator(o) { if( o instanceof Array ) return new haxe_iterators_ArrayIterator(o); else return o.iterator(); } -function $bind(o,m) { if( m == null ) return null; if( m.__id__ == null ) m.__id__ = $global.$haxeUID++; var f; if( o.hx__closures__ == null ) o.hx__closures__ = {}; else f = o.hx__closures__[m.__id__]; if( f == null ) { f = m.bind(o); o.hx__closures__[m.__id__] = f; } return f; } -$global.$haxeUID |= 0; -if(typeof(performance) != "undefined" ? typeof(performance.now) == "function" : false) { - HxOverrides.now = performance.now.bind(performance); -} -if( String.fromCodePoint == null ) String.fromCodePoint = function(c) { return c < 0x10000 ? String.fromCharCode(c) : String.fromCharCode((c>>10)+0xD7C0)+String.fromCharCode((c&0x3FF)+0xDC00); } -String.__name__ = true; -Array.__name__ = true; -js_Boot.__toStr = ({ }).toString; -haxe_Template.splitter = new EReg("(::[A-Za-z0-9_ ()&|!+=/><*.\"-]+::|\\$\\$([A-Za-z0-9_-]+)\\()",""); -haxe_Template.expr_splitter = new EReg("(\\(|\\)|[ \r\n\t]*\"[^\"]*\"[ \r\n\t]*|[!+=/><*.&|-]+)",""); -haxe_Template.expr_trim = new EReg("^[ ]*([^ ]+)[ ]*$",""); -haxe_Template.expr_int = new EReg("^[0-9]+$",""); -haxe_Template.expr_float = new EReg("^([+-]?)(?=\\d|,\\d)\\d*(,\\d*)?([Ee]([+-]?\\d+))?$",""); -haxe_Template.globals = { }; -haxe_Template.hxKeepArrayIterator = new haxe_iterators_ArrayIterator([]); -xrfragment_Parser.error = ""; -xrfragment_Parser.debug = false; -xrfragment_URI.__meta__ = { statics : { template : { keep : null}}}; -xrfragment_URI._parts = ["source","scheme","authority","userInfo","user","password","host","port","relative","path","directory","file","query","fragment"]; -xrfragment_XRF.IMMUTABLE = 1; -xrfragment_XRF.PROP_BIND = 2; -xrfragment_XRF.QUERY_OPERATOR = 4; -xrfragment_XRF.PROMPT = 8; -xrfragment_XRF.CUSTOMFRAG = 16; -xrfragment_XRF.NAVIGATOR = 32; -xrfragment_XRF.METADATA = 64; -xrfragment_XRF.PV_OVERRIDE = 128; -xrfragment_XRF.PV_EXECUTE = 256; -xrfragment_XRF.T_COLOR = 8192; -xrfragment_XRF.T_INT = 16384; -xrfragment_XRF.T_FLOAT = 32768; -xrfragment_XRF.T_VECTOR2 = 65536; -xrfragment_XRF.T_VECTOR3 = 131072; -xrfragment_XRF.T_URL = 262144; -xrfragment_XRF.T_PREDEFINED_VIEW = 524288; -xrfragment_XRF.T_STRING = 1048576; -xrfragment_XRF.T_MEDIAFRAG = 2097152; -xrfragment_XRF.T_DYNAMICKEY = 4194304; -xrfragment_XRF.T_DYNAMICKEYVALUE = 8388608; -xrfragment_XRF.isColor = new EReg("^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$",""); -xrfragment_XRF.isInt = new EReg("^[-0-9]+$",""); -xrfragment_XRF.isFloat = new EReg("^[-0-9]+\\.[0-9]+$",""); -xrfragment_XRF.isVector = new EReg("([,]+|\\w)",""); -xrfragment_XRF.isUrl = new EReg("(://)?\\..*",""); -xrfragment_XRF.isUrlOrPretypedView = new EReg("(^#|://)?\\..*",""); -xrfragment_XRF.isString = new EReg(".*",""); -xrfragment_XRF.operators = new EReg("(^[-]|^[!]|[\\*]$)","g"); -xrfragment_XRF.isProp = new EReg("^.*=[><=]?",""); -xrfragment_XRF.isExclude = new EReg("^-",""); -xrfragment_XRF.isDeep = new EReg("\\*",""); -xrfragment_XRF.isNumber = new EReg("^[0-9\\.]+$",""); -xrfragment_XRF.isMediaFrag = new EReg("^([0-9\\.,\\*+-]+)$",""); -xrfragment_XRF.isReset = new EReg("^!",""); -xrfragment_XRF.isShift = new EReg("^(\\+|--)",""); -xrfragment_XRF.isXRFScheme = new EReg("^xrf://",""); -})(typeof window != "undefined" ? window : typeof global != "undefined" ? global : typeof self != "undefined" ? self : this); -var xrfragment = $hx_exports["xrfragment"]; -export default xrfragment; -// Generated by Haxe 4.3.3 -var $hx_exports = typeof exports != "undefined" ? exports : typeof window != "undefined" ? window : typeof self != "undefined" ? self : this; -(function ($global) { "use strict"; -$hx_exports["xrfragment"] = $hx_exports["xrfragment"] || {}; -var $estr = function() { return js_Boot.__string_rec(this,''); },$hxEnums = $hxEnums || {},$_; -function $extend(from, fields) { - var proto = Object.create(from); - for (var name in fields) proto[name] = fields[name]; - if( fields.toString !== Object.prototype.toString ) proto.toString = fields.toString; - return proto; -} -var EReg = function(r,opt) { - this.r = new RegExp(r,opt.split("u").join("")); -}; -EReg.__name__ = true; -EReg.prototype = { - match: function(s) { - if(this.r.global) { - this.r.lastIndex = 0; - } - this.r.m = this.r.exec(s); - this.r.s = s; - return this.r.m != null; - } - ,matched: function(n) { - if(this.r.m != null && n >= 0 && n < this.r.m.length) { - return this.r.m[n]; - } else { - throw haxe_Exception.thrown("EReg::matched"); - } - } - ,matchedRight: function() { - if(this.r.m == null) { - throw haxe_Exception.thrown("No string matched"); - } - var sz = this.r.m.index + this.r.m[0].length; - return HxOverrides.substr(this.r.s,sz,this.r.s.length - sz); - } - ,matchedPos: function() { - if(this.r.m == null) { - throw haxe_Exception.thrown("No string matched"); - } - return { pos : this.r.m.index, len : this.r.m[0].length}; - } - ,split: function(s) { - var d = "#__delim__#"; - return s.replace(this.r,d).split(d); - } -}; -var HxOverrides = function() { }; -HxOverrides.__name__ = true; -HxOverrides.cca = function(s,index) { - var x = s.charCodeAt(index); - if(x != x) { - return undefined; - } - return x; -}; -HxOverrides.substr = function(s,pos,len) { - if(len == null) { - len = s.length; - } else if(len < 0) { - if(pos == 0) { - len = s.length + len; - } else { - return ""; - } - } - return s.substr(pos,len); -}; -HxOverrides.now = function() { - return Date.now(); -}; -Math.__name__ = true; -var Reflect = function() { }; -Reflect.__name__ = true; -Reflect.field = function(o,field) { - try { - return o[field]; - } catch( _g ) { - return null; - } -}; -Reflect.getProperty = function(o,field) { - var tmp; - if(o == null) { - return null; - } else { - var tmp1; - if(o.__properties__) { - tmp = o.__properties__["get_" + field]; - tmp1 = tmp; - } else { - tmp1 = false; - } - if(tmp1) { - return o[tmp](); - } else { - return o[field]; - } - } -}; -Reflect.fields = function(o) { - var a = []; - if(o != null) { - var hasOwnProperty = Object.prototype.hasOwnProperty; - for( var f in o ) { - if(f != "__id__" && f != "hx__closures__" && hasOwnProperty.call(o,f)) { - a.push(f); - } - } - } - return a; -}; -Reflect.isObject = function(v) { - if(v == null) { - return false; - } - var t = typeof(v); - if(!(t == "string" || t == "object" && v.__enum__ == null)) { - if(t == "function") { - return (v.__name__ || v.__ename__) != null; - } else { - return false; - } - } else { - return true; - } -}; -Reflect.deleteField = function(o,field) { - if(!Object.prototype.hasOwnProperty.call(o,field)) { - return false; - } - delete(o[field]); - return true; -}; -Reflect.copy = function(o) { - if(o == null) { - return null; - } - var o2 = { }; - var _g = 0; - var _g1 = Reflect.fields(o); - while(_g < _g1.length) { - var f = _g1[_g]; - ++_g; - o2[f] = Reflect.field(o,f); - } - return o2; -}; -var Std = function() { }; -Std.__name__ = true; -Std.string = function(s) { - return js_Boot.__string_rec(s,""); -}; -Std.parseInt = function(x) { - var v = parseInt(x); - if(isNaN(v)) { - return null; - } - return v; -}; -var StringBuf = function() { - this.b = ""; -}; -StringBuf.__name__ = true; -var StringTools = function() { }; -StringTools.__name__ = true; -StringTools.isSpace = function(s,pos) { - var c = HxOverrides.cca(s,pos); - if(!(c > 8 && c < 14)) { - return c == 32; - } else { - return true; - } -}; -StringTools.ltrim = function(s) { - var l = s.length; - var r = 0; - while(r < l && StringTools.isSpace(s,r)) ++r; - if(r > 0) { - return HxOverrides.substr(s,r,l - r); - } else { - return s; - } -}; -StringTools.rtrim = function(s) { - var l = s.length; - var r = 0; - while(r < l && StringTools.isSpace(s,l - r - 1)) ++r; - if(r > 0) { - return HxOverrides.substr(s,0,l - r); - } else { - return s; - } -}; -StringTools.trim = function(s) { - return StringTools.ltrim(StringTools.rtrim(s)); -}; -StringTools.replace = function(s,sub,by) { - return s.split(sub).join(by); -}; -var haxe_Exception = function(message,previous,native) { - Error.call(this,message); - this.message = message; - this.__previousException = previous; - this.__nativeException = native != null ? native : this; -}; -haxe_Exception.__name__ = true; -haxe_Exception.caught = function(value) { - if(((value) instanceof haxe_Exception)) { - return value; - } else if(((value) instanceof Error)) { - return new haxe_Exception(value.message,null,value); - } else { - return new haxe_ValueException(value,null,value); - } -}; -haxe_Exception.thrown = function(value) { - if(((value) instanceof haxe_Exception)) { - return value.get_native(); - } else if(((value) instanceof Error)) { - return value; - } else { - var e = new haxe_ValueException(value); - return e; - } -}; -haxe_Exception.__super__ = Error; -haxe_Exception.prototype = $extend(Error.prototype,{ - unwrap: function() { - return this.__nativeException; - } - ,get_native: function() { - return this.__nativeException; - } - ,__properties__: {get_native:"get_native"} -}); -var haxe__$Template_TemplateExpr = $hxEnums["haxe._Template.TemplateExpr"] = { __ename__:true,__constructs__:null - ,OpVar: ($_=function(v) { return {_hx_index:0,v:v,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpVar",$_.__params__ = ["v"],$_) - ,OpExpr: ($_=function(expr) { return {_hx_index:1,expr:expr,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpExpr",$_.__params__ = ["expr"],$_) - ,OpIf: ($_=function(expr,eif,eelse) { return {_hx_index:2,expr:expr,eif:eif,eelse:eelse,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpIf",$_.__params__ = ["expr","eif","eelse"],$_) - ,OpStr: ($_=function(str) { return {_hx_index:3,str:str,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpStr",$_.__params__ = ["str"],$_) - ,OpBlock: ($_=function(l) { return {_hx_index:4,l:l,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpBlock",$_.__params__ = ["l"],$_) - ,OpForeach: ($_=function(expr,loop) { return {_hx_index:5,expr:expr,loop:loop,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpForeach",$_.__params__ = ["expr","loop"],$_) - ,OpMacro: ($_=function(name,params) { return {_hx_index:6,name:name,params:params,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpMacro",$_.__params__ = ["name","params"],$_) -}; -haxe__$Template_TemplateExpr.__constructs__ = [haxe__$Template_TemplateExpr.OpVar,haxe__$Template_TemplateExpr.OpExpr,haxe__$Template_TemplateExpr.OpIf,haxe__$Template_TemplateExpr.OpStr,haxe__$Template_TemplateExpr.OpBlock,haxe__$Template_TemplateExpr.OpForeach,haxe__$Template_TemplateExpr.OpMacro]; -var haxe_iterators_ArrayIterator = function(array) { - this.current = 0; - this.array = array; -}; -haxe_iterators_ArrayIterator.__name__ = true; -haxe_iterators_ArrayIterator.prototype = { - hasNext: function() { - return this.current < this.array.length; - } - ,next: function() { - return this.array[this.current++]; - } -}; -var haxe_Template = function(str) { - var tokens = this.parseTokens(str); - this.expr = this.parseBlock(tokens); - if(!tokens.isEmpty()) { - throw haxe_Exception.thrown("Unexpected '" + Std.string(tokens.first().s) + "'"); - } -}; -haxe_Template.__name__ = true; -haxe_Template.prototype = { - execute: function(context,macros) { - this.macros = macros == null ? { } : macros; - this.context = context; - this.stack = new haxe_ds_List(); - this.buf = new StringBuf(); - this.run(this.expr); - return this.buf.b; - } - ,resolve: function(v) { - if(v == "__current__") { - return this.context; - } - if(Reflect.isObject(this.context)) { - var value = Reflect.getProperty(this.context,v); - if(value != null || Object.prototype.hasOwnProperty.call(this.context,v)) { - return value; - } - } - var _g_head = this.stack.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var ctx = val; - var value = Reflect.getProperty(ctx,v); - if(value != null || Object.prototype.hasOwnProperty.call(ctx,v)) { - return value; - } - } - return Reflect.field(haxe_Template.globals,v); - } - ,parseTokens: function(data) { - var tokens = new haxe_ds_List(); - while(haxe_Template.splitter.match(data)) { - var p = haxe_Template.splitter.matchedPos(); - if(p.pos > 0) { - tokens.add({ p : HxOverrides.substr(data,0,p.pos), s : true, l : null}); - } - if(HxOverrides.cca(data,p.pos) == 58) { - tokens.add({ p : HxOverrides.substr(data,p.pos + 2,p.len - 4), s : false, l : null}); - data = haxe_Template.splitter.matchedRight(); - continue; - } - var parp = p.pos + p.len; - var npar = 1; - var params = []; - var part = ""; - while(true) { - var c = HxOverrides.cca(data,parp); - ++parp; - if(c == 40) { - ++npar; - } else if(c == 41) { - --npar; - if(npar <= 0) { - break; - } - } else if(c == null) { - throw haxe_Exception.thrown("Unclosed macro parenthesis"); - } - if(c == 44 && npar == 1) { - params.push(part); - part = ""; - } else { - part += String.fromCodePoint(c); - } - } - params.push(part); - tokens.add({ p : haxe_Template.splitter.matched(2), s : false, l : params}); - data = HxOverrides.substr(data,parp,data.length - parp); - } - if(data.length > 0) { - tokens.add({ p : data, s : true, l : null}); - } - return tokens; - } - ,parseBlock: function(tokens) { - var l = new haxe_ds_List(); - while(true) { - var t = tokens.first(); - if(t == null) { - break; - } - if(!t.s && (t.p == "end" || t.p == "else" || HxOverrides.substr(t.p,0,7) == "elseif ")) { - break; - } - l.add(this.parse(tokens)); - } - if(l.length == 1) { - return l.first(); - } - return haxe__$Template_TemplateExpr.OpBlock(l); - } - ,parse: function(tokens) { - var t = tokens.pop(); - var p = t.p; - if(t.s) { - return haxe__$Template_TemplateExpr.OpStr(p); - } - if(t.l != null) { - var pe = new haxe_ds_List(); - var _g = 0; - var _g1 = t.l; - while(_g < _g1.length) { - var p1 = _g1[_g]; - ++_g; - pe.add(this.parseBlock(this.parseTokens(p1))); - } - return haxe__$Template_TemplateExpr.OpMacro(p,pe); - } - var kwdEnd = function(kwd) { - var pos = -1; - var length = kwd.length; - if(HxOverrides.substr(p,0,length) == kwd) { - pos = length; - var _g_offset = 0; - var _g_s = HxOverrides.substr(p,length,null); - while(_g_offset < _g_s.length) { - var c = _g_s.charCodeAt(_g_offset++); - if(c == 32) { - ++pos; - } else { - break; - } - } - } - return pos; - }; - var pos = kwdEnd("if"); - if(pos > 0) { - p = HxOverrides.substr(p,pos,p.length - pos); - var e = this.parseExpr(p); - var eif = this.parseBlock(tokens); - var t = tokens.first(); - var eelse; - if(t == null) { - throw haxe_Exception.thrown("Unclosed 'if'"); - } - if(t.p == "end") { - tokens.pop(); - eelse = null; - } else if(t.p == "else") { - tokens.pop(); - eelse = this.parseBlock(tokens); - t = tokens.pop(); - if(t == null || t.p != "end") { - throw haxe_Exception.thrown("Unclosed 'else'"); - } - } else { - t.p = HxOverrides.substr(t.p,4,t.p.length - 4); - eelse = this.parse(tokens); - } - return haxe__$Template_TemplateExpr.OpIf(e,eif,eelse); - } - var pos = kwdEnd("foreach"); - if(pos >= 0) { - p = HxOverrides.substr(p,pos,p.length - pos); - var e = this.parseExpr(p); - var efor = this.parseBlock(tokens); - var t = tokens.pop(); - if(t == null || t.p != "end") { - throw haxe_Exception.thrown("Unclosed 'foreach'"); - } - return haxe__$Template_TemplateExpr.OpForeach(e,efor); - } - if(haxe_Template.expr_splitter.match(p)) { - return haxe__$Template_TemplateExpr.OpExpr(this.parseExpr(p)); - } - return haxe__$Template_TemplateExpr.OpVar(p); - } - ,parseExpr: function(data) { - var l = new haxe_ds_List(); - var expr = data; - while(haxe_Template.expr_splitter.match(data)) { - var p = haxe_Template.expr_splitter.matchedPos(); - var k = p.pos + p.len; - if(p.pos != 0) { - l.add({ p : HxOverrides.substr(data,0,p.pos), s : true}); - } - var p1 = haxe_Template.expr_splitter.matched(0); - l.add({ p : p1, s : p1.indexOf("\"") >= 0}); - data = haxe_Template.expr_splitter.matchedRight(); - } - if(data.length != 0) { - var _g_offset = 0; - var _g_s = data; - while(_g_offset < _g_s.length) { - var _g_key = _g_offset; - var _g_value = _g_s.charCodeAt(_g_offset++); - var i = _g_key; - var c = _g_value; - if(c != 32) { - l.add({ p : HxOverrides.substr(data,i,null), s : true}); - break; - } - } - } - var e; - try { - e = this.makeExpr(l); - if(!l.isEmpty()) { - throw haxe_Exception.thrown(l.first().p); - } - } catch( _g ) { - var _g1 = haxe_Exception.caught(_g).unwrap(); - if(typeof(_g1) == "string") { - var s = _g1; - throw haxe_Exception.thrown("Unexpected '" + s + "' in " + expr); - } else { - throw _g; - } - } - return function() { - try { - return e(); - } catch( _g ) { - var exc = haxe_Exception.caught(_g).unwrap(); - throw haxe_Exception.thrown("Error : " + Std.string(exc) + " in " + expr); - } - }; - } - ,makeConst: function(v) { - haxe_Template.expr_trim.match(v); - v = haxe_Template.expr_trim.matched(1); - if(HxOverrides.cca(v,0) == 34) { - var str = HxOverrides.substr(v,1,v.length - 2); - return function() { - return str; - }; - } - if(haxe_Template.expr_int.match(v)) { - var i = Std.parseInt(v); - return function() { - return i; - }; - } - if(haxe_Template.expr_float.match(v)) { - var f = parseFloat(v); - return function() { - return f; - }; - } - var me = this; - return function() { - return me.resolve(v); - }; - } - ,makePath: function(e,l) { - var p = l.first(); - if(p == null || p.p != ".") { - return e; - } - l.pop(); - var field = l.pop(); - if(field == null || !field.s) { - throw haxe_Exception.thrown(field.p); - } - var f = field.p; - haxe_Template.expr_trim.match(f); - f = haxe_Template.expr_trim.matched(1); - return this.makePath(function() { - return Reflect.field(e(),f); - },l); - } - ,makeExpr: function(l) { - return this.makePath(this.makeExpr2(l),l); - } - ,skipSpaces: function(l) { - var p = l.first(); - while(p != null) { - var _g_offset = 0; - var _g_s = p.p; - while(_g_offset < _g_s.length) { - var c = _g_s.charCodeAt(_g_offset++); - if(c != 32) { - return; - } - } - l.pop(); - p = l.first(); - } - } - ,makeExpr2: function(l) { - this.skipSpaces(l); - var p = l.pop(); - this.skipSpaces(l); - if(p == null) { - throw haxe_Exception.thrown(""); - } - if(p.s) { - return this.makeConst(p.p); - } - switch(p.p) { - case "!": - var e = this.makeExpr(l); - return function() { - var v = e(); - if(v != null) { - return v == false; - } else { - return true; - } - }; - case "(": - this.skipSpaces(l); - var e1 = this.makeExpr(l); - this.skipSpaces(l); - var p1 = l.pop(); - if(p1 == null || p1.s) { - throw haxe_Exception.thrown(p1); - } - if(p1.p == ")") { - return e1; - } - this.skipSpaces(l); - var e2 = this.makeExpr(l); - this.skipSpaces(l); - var p2 = l.pop(); - this.skipSpaces(l); - if(p2 == null || p2.p != ")") { - throw haxe_Exception.thrown(p2); - } - switch(p1.p) { - case "!=": - return function() { - return e1() != e2(); - }; - case "&&": - return function() { - return e1() && e2(); - }; - case "*": - return function() { - return e1() * e2(); - }; - case "+": - return function() { - return e1() + e2(); - }; - case "-": - return function() { - return e1() - e2(); - }; - case "/": - return function() { - return e1() / e2(); - }; - case "<": - return function() { - return e1() < e2(); - }; - case "<=": - return function() { - return e1() <= e2(); - }; - case "==": - return function() { - return e1() == e2(); - }; - case ">": - return function() { - return e1() > e2(); - }; - case ">=": - return function() { - return e1() >= e2(); - }; - case "||": - return function() { - return e1() || e2(); - }; - default: - throw haxe_Exception.thrown("Unknown operation " + p1.p); - } - break; - case "-": - var e3 = this.makeExpr(l); - return function() { - return -e3(); - }; - } - throw haxe_Exception.thrown(p.p); - } - ,run: function(e) { - switch(e._hx_index) { - case 0: - var v = e.v; - var _this = this.buf; - var x = Std.string(this.resolve(v)); - _this.b += Std.string(x); - break; - case 1: - var e1 = e.expr; - var _this = this.buf; - var x = Std.string(e1()); - _this.b += Std.string(x); - break; - case 2: - var e1 = e.expr; - var eif = e.eif; - var eelse = e.eelse; - var v = e1(); - if(v == null || v == false) { - if(eelse != null) { - this.run(eelse); - } - } else { - this.run(eif); - } - break; - case 3: - var str = e.str; - this.buf.b += str == null ? "null" : "" + str; - break; - case 4: - var l = e.l; - var _g_head = l.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var e1 = val; - this.run(e1); - } - break; - case 5: - var e1 = e.expr; - var loop = e.loop; - var v = e1(); - try { - var x = $getIterator(v); - if(x.hasNext == null) { - throw haxe_Exception.thrown(null); - } - v = x; - } catch( _g ) { - try { - if(v.hasNext == null) { - throw haxe_Exception.thrown(null); - } - } catch( _g1 ) { - throw haxe_Exception.thrown("Cannot iter on " + Std.string(v)); - } - } - this.stack.push(this.context); - var v1 = v; - var ctx = v1; - while(ctx.hasNext()) { - var ctx1 = ctx.next(); - this.context = ctx1; - this.run(loop); - } - this.context = this.stack.pop(); - break; - case 6: - var m = e.name; - var params = e.params; - var v = Reflect.field(this.macros,m); - var pl = []; - var old = this.buf; - pl.push($bind(this,this.resolve)); - var _g_head = params.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var p = val; - if(p._hx_index == 0) { - var v1 = p.v; - pl.push(this.resolve(v1)); - } else { - this.buf = new StringBuf(); - this.run(p); - pl.push(this.buf.b); - } - } - this.buf = old; - try { - var _this = this.buf; - var x = Std.string(v.apply(this.macros,pl)); - _this.b += Std.string(x); - } catch( _g ) { - var e = haxe_Exception.caught(_g).unwrap(); - var plstr; - try { - plstr = pl.join(","); - } catch( _g1 ) { - plstr = "???"; - } - var msg = "Macro call " + m + "(" + plstr + ") failed (" + Std.string(e) + ")"; - throw haxe_Exception.thrown(msg); - } - break; - } - } -}; -var haxe_ValueException = function(value,previous,native) { - haxe_Exception.call(this,String(value),previous,native); - this.value = value; -}; -haxe_ValueException.__name__ = true; -haxe_ValueException.__super__ = haxe_Exception; -haxe_ValueException.prototype = $extend(haxe_Exception.prototype,{ - unwrap: function() { - return this.value; - } -}); -var haxe_ds_List = function() { - this.length = 0; -}; -haxe_ds_List.__name__ = true; -haxe_ds_List.prototype = { - add: function(item) { - var x = new haxe_ds__$List_ListNode(item,null); - if(this.h == null) { - this.h = x; - } else { - this.q.next = x; - } - this.q = x; - this.length++; - } - ,push: function(item) { - var x = new haxe_ds__$List_ListNode(item,this.h); - this.h = x; - if(this.q == null) { - this.q = x; - } - this.length++; - } - ,first: function() { - if(this.h == null) { - return null; - } else { - return this.h.item; - } - } - ,pop: function() { - if(this.h == null) { - return null; - } - var x = this.h.item; - this.h = this.h.next; - if(this.h == null) { - this.q = null; - } - this.length--; - return x; - } - ,isEmpty: function() { - return this.h == null; - } - ,toString: function() { - var s_b = ""; - var first = true; - var l = this.h; - s_b += "{"; - while(l != null) { - if(first) { - first = false; - } else { - s_b += ", "; - } - s_b += Std.string(Std.string(l.item)); - l = l.next; - } - s_b += "}"; - return s_b; - } -}; -var haxe_ds__$List_ListNode = function(item,next) { - this.item = item; - this.next = next; -}; -haxe_ds__$List_ListNode.__name__ = true; -var js_Boot = function() { }; -js_Boot.__name__ = true; -js_Boot.__string_rec = function(o,s) { - if(o == null) { - return "null"; - } - if(s.length >= 5) { - return "<...>"; - } - var t = typeof(o); - if(t == "function" && (o.__name__ || o.__ename__)) { - t = "object"; - } - switch(t) { - case "function": - return ""; - case "object": - if(o.__enum__) { - var e = $hxEnums[o.__enum__]; - var con = e.__constructs__[o._hx_index]; - var n = con._hx_name; - if(con.__params__) { - s = s + "\t"; - return n + "(" + ((function($this) { - var $r; - var _g = []; - { - var _g1 = 0; - var _g2 = con.__params__; - while(true) { - if(!(_g1 < _g2.length)) { - break; - } - var p = _g2[_g1]; - _g1 = _g1 + 1; - _g.push(js_Boot.__string_rec(o[p],s)); - } - } - $r = _g; - return $r; - }(this))).join(",") + ")"; - } else { - return n; - } - } - if(((o) instanceof Array)) { - var str = "["; - s += "\t"; - var _g = 0; - var _g1 = o.length; - while(_g < _g1) { - var i = _g++; - str += (i > 0 ? "," : "") + js_Boot.__string_rec(o[i],s); - } - str += "]"; - return str; - } - var tostr; - try { - tostr = o.toString; - } catch( _g ) { - return "???"; - } - if(tostr != null && tostr != Object.toString && typeof(tostr) == "function") { - var s2 = o.toString(); - if(s2 != "[object Object]") { - return s2; - } - } - var str = "{\n"; - s += "\t"; - var hasp = o.hasOwnProperty != null; - var k = null; - for( k in o ) { - if(hasp && !o.hasOwnProperty(k)) { - continue; - } - if(k == "prototype" || k == "__class__" || k == "__super__" || k == "__interfaces__" || k == "__properties__") { - continue; - } - if(str.length != 2) { - str += ", \n"; - } - str += s + k + " : " + js_Boot.__string_rec(o[k],s); - } - s = s.substring(1); - str += "\n" + s + "}"; - return str; - case "string": - return o; - default: - return String(o); - } -}; -var xrfragment_Filter = $hx_exports["xrfragment"]["Filter"] = function(str) { - this.q = { }; - this.str = ""; - if(str != null) { - this.parse(str); - } -}; -xrfragment_Filter.__name__ = true; -xrfragment_Filter.prototype = { - toObject: function() { - return Reflect.copy(this.q); - } - ,get: function() { - return Reflect.copy(this.q); - } - ,parse: function(str) { - var token = str.split(" "); - var q = { }; - var process = function(str,prefix) { - if(prefix == null) { - prefix = ""; - } - str = StringTools.trim(str); - var k = str.split("=")[0]; - var v = str.split("=")[1]; - var filter = { }; - if(q[prefix + k]) { - filter = q[prefix + k]; - } - if(xrfragment_XRF.isProp.match(str)) { - var oper = ""; - if(str.indexOf(">") != -1) { - oper = ">"; - } - if(str.indexOf("<") != -1) { - oper = "<"; - } - if(xrfragment_XRF.isExclude.match(k)) { - k = HxOverrides.substr(k,1,null); - } - v = HxOverrides.substr(v,oper.length,null); - if(oper.length == 0) { - oper = "="; - } - var rule = { }; - if(xrfragment_XRF.isNumber.match(v)) { - rule[oper] = parseFloat(v); - } else { - rule[oper] = v; - } - q["expr"] = rule; - } - var value = xrfragment_XRF.isDeep.match(str) ? k.split("*").length - 1 : 0; - q["deep"] = value; - var value = xrfragment_XRF.isExclude.match(str) ? false : true; - q["show"] = value; - var value = k.replace(xrfragment_XRF.operators.r,""); - q["key"] = value; - q["value"] = v; - }; - var _g = 0; - var _g1 = token.length; - while(_g < _g1) { - var i = _g++; - process(token[i]); - } - return this.q = q; - } - ,test: function(obj) { - var qualify = false; - var _g = 0; - var _g1 = Reflect.fields(obj); - while(_g < _g1.length) { - var k = _g1[_g]; - ++_g; - var v = Std.string(Reflect.field(obj,k)); - if(this.testProperty(k,v)) { - qualify = true; - } - } - var _g = 0; - var _g1 = Reflect.fields(obj); - while(_g < _g1.length) { - var k = _g1[_g]; - ++_g; - var v = Std.string(Reflect.field(obj,k)); - if(this.testProperty(k,v,true)) { - qualify = false; - } - } - return qualify; - } - ,testProperty: function(property,value,exclude) { - var conds = 0; - var fails = 0; - var qualify = 0; - var testprop = function(expr) { - conds += 1; - fails += expr ? 0 : 1; - return expr; - }; - if(this.q[value] != null) { - var v = this.q[value]; - if(v[property] != null) { - return v[property]; - } - } - if(Reflect.field(this.q,"expr")) { - var f = Reflect.field(this.q,"expr"); - if(!Reflect.field(this.q,"show")) { - if(Reflect.field(f,"!=") != null && testprop((value == null ? "null" : "" + value) == Std.string(Reflect.field(f,"!="))) && exclude) { - ++qualify; - } - } else { - if(Reflect.field(f,"*") != null && testprop(parseFloat(value) != null)) { - ++qualify; - } - if(Reflect.field(f,">") != null && testprop(parseFloat(value) >= parseFloat(Reflect.field(f,">")))) { - ++qualify; - } - if(Reflect.field(f,"<") != null && testprop(parseFloat(value) <= parseFloat(Reflect.field(f,"<")))) { - ++qualify; - } - if(Reflect.field(f,"=") != null && (testprop(value == Reflect.field(f,"=")) || testprop(parseFloat(value) == parseFloat(Reflect.field(f,"="))))) { - ++qualify; - } - } - } - return qualify > 0; - } -}; -var xrfragment_Parser = $hx_exports["xrfragment"]["Parser"] = function() { }; -xrfragment_Parser.__name__ = true; -xrfragment_Parser.parse = function(key,value,store,index) { - var Frag_h = Object.create(null); - Frag_h["#"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_PREDEFINED_VIEW | xrfragment_XRF.PV_EXECUTE; - Frag_h["src"] = xrfragment_XRF.T_URL; - Frag_h["href"] = xrfragment_XRF.T_URL | xrfragment_XRF.T_PREDEFINED_VIEW; - Frag_h["tag"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["pos"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_VECTOR3 | xrfragment_XRF.T_STRING | xrfragment_XRF.METADATA | xrfragment_XRF.NAVIGATOR; - Frag_h["rot"] = xrfragment_XRF.QUERY_OPERATOR | xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_VECTOR3 | xrfragment_XRF.METADATA | xrfragment_XRF.NAVIGATOR; - Frag_h["t"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_FLOAT | xrfragment_XRF.T_VECTOR2 | xrfragment_XRF.NAVIGATOR | xrfragment_XRF.METADATA; - Frag_h["s"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_MEDIAFRAG; - Frag_h["loop"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_PREDEFINED_VIEW; - Frag_h["uv"] = xrfragment_XRF.T_VECTOR2 | xrfragment_XRF.T_MEDIAFRAG; - Frag_h["namespace"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["SPDX"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["unit"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["description"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - var keyStripped = key.replace(xrfragment_XRF.operators.r,""); - var isPVDynamic = key.length > 0 && !Object.prototype.hasOwnProperty.call(Frag_h,key); - if(isPVDynamic) { - var v = new xrfragment_XRF(key,xrfragment_XRF.PV_EXECUTE | xrfragment_XRF.NAVIGATOR,index); - v.validate(value); - v.flags = xrfragment_XRF.set(xrfragment_XRF.T_DYNAMICKEY,v.flags); - if(!Object.prototype.hasOwnProperty.call(Frag_h,key)) { - v.flags = xrfragment_XRF.set(xrfragment_XRF.CUSTOMFRAG,v.flags); - } - if(value.length == 0) { - v.flags = xrfragment_XRF.set(xrfragment_XRF.T_DYNAMICKEYVALUE,v.flags); - } - store[keyStripped] = v; - return true; - } - var v = new xrfragment_XRF(key,Frag_h[key],index); - if(Object.prototype.hasOwnProperty.call(Frag_h,key)) { - if(!v.validate(value)) { - console.log("src/xrfragment/Parser.hx:67:","⚠ fragment '" + key + "' has incompatible value (" + value + ")"); - return false; - } - store[keyStripped] = v; - if(xrfragment_Parser.debug) { - console.log("src/xrfragment/Parser.hx:71:","✔ " + key + ": " + v.string); - } - } else { - if(typeof(value) == "string") { - v.guessType(v,value); - } - v.flags = xrfragment_XRF.set(xrfragment_XRF.CUSTOMFRAG,v.flags); - store[keyStripped] = v; - } - return true; -}; -xrfragment_Parser.getMetaData = function() { - var meta = { title : ["title","og:title","dc.title"], description : ["aria-description","og:description","dc.description"], author : ["author","dc.creator"], publisher : ["publisher","dc.publisher"], website : ["og:site_name","og:url","dc.publisher"], license : ["SPDX","dc.rights"]}; - return meta; -}; -var xrfragment_URI = $hx_exports["xrfragment"]["URI"] = function() { - this.XRF = { }; - this.hash = { }; - this.fragment = ""; -}; -xrfragment_URI.__name__ = true; -xrfragment_URI.parseFragment = function(url,filter) { - var store = { }; - if(url == null || url.indexOf("#") == -1) { - return store; - } - var fragment = url.split("#"); - var splitArray = fragment[1].split("&"); - var _g = 0; - var _g1 = splitArray.length; - while(_g < _g1) { - var i = _g++; - var splitByEqual = splitArray[i].split("="); - var regexPlus = new EReg("\\+","g"); - var key = splitByEqual[0]; - var value = ""; - if(splitByEqual.length > 1) { - if(xrfragment_XRF.isVector.match(splitByEqual[1])) { - value = splitByEqual[1]; - } else { - var s = regexPlus.split(splitByEqual[1]).join(" "); - value = decodeURIComponent(s.split("+").join(" ")); - } - } - var ok = xrfragment_Parser.parse(key,value,store,i); - } - if(filter != null && filter != 0) { - var _g = 0; - var _g1 = Reflect.fields(store); - while(_g < _g1.length) { - var key = _g1[_g]; - ++_g; - var xrf = store[key]; - if(!xrf.is(filter)) { - Reflect.deleteField(store,key); - } - } - } - return store; -}; -xrfragment_URI.template = function(uri,vars) { - var parts = uri.split("#"); - if(parts.length == 1) { - return uri; - } - var frag = parts[1]; - frag = StringTools.replace(frag,"{","::"); - frag = StringTools.replace(frag,"}","::"); - frag = new haxe_Template(frag).execute(vars); - frag = StringTools.replace(frag,"null",""); - parts[1] = frag; - return parts.join("#"); -}; -xrfragment_URI.parse = function(stringUrl,flags) { - var r = new EReg("^(?:(?![^:@]+:[^:@/]*@)([^:/?#.]+):)?(?://)?((?:(([^:@]*)(?::([^:@]*))?)?@)?([^:/?#]*)(?::(\\d*))?)(((/(?:[^?#](?![^?#/]*\\.[^?#/.]+(?:[?#]|$)))*/?)?([^?#/]*))(?:\\?([^#]*))?(?:#(.*))?)",""); - if(stringUrl.indexOf("://") == -1 && stringUrl.charAt(0) != "/") { - stringUrl = "/" + stringUrl; - } - r.match(stringUrl); - var url = new xrfragment_URI(); - var _g = 0; - var _g1 = xrfragment_URI._parts.length; - while(_g < _g1) { - var i = _g++; - url[xrfragment_URI._parts[i]] = r.matched(i); - } - if(xrfragment_URI.isRelative(url) == true) { - if(url.directory == null && url.host != null) { - url.file = url.host; - } - url.host = ""; - } - url.hash = { }; - if(url.fragment != null && url.fragment.length > 0) { - url.XRF = xrfragment_URI.parseFragment("#" + url.fragment,flags); - var key; - var _g = 0; - var _g1 = Reflect.fields(url.XRF); - while(_g < _g1.length) { - var key = _g1[_g]; - ++_g; - var v = url.XRF[key]; - url.hash[key] = v["string"]; - } - } - xrfragment_URI.computeVars(url); - return url; -}; -xrfragment_URI.computeVars = function(url) { - var r_r = new RegExp("//","g".split("u").join("")); - if(url.directory != null && url.directory.indexOf("//") != -1) { - url.directory = url.directory.replace(r_r,"/"); - } - if(url.path != null && url.path.indexOf("//") != -1) { - url.path = url.path.replace(r_r,"/"); - } - if(url.file != null && url.file.indexOf("//") != -1) { - url.file = url.file.replace(r_r,"/"); - } - url.URN = url.scheme + "://" + url.host; - if(url.port != null) { - url.URN += ":" + url.port; - } - url.URN += url.directory; - if(url.file != null) { - var parts = url.file.split("."); - if(parts.length > 1) { - url.fileExt = parts.pop(); - } - } -}; -xrfragment_URI.toString = function(url) { - var result = ""; - if(url.scheme != null) { - result += url.scheme + "://"; - } - if(url.user != null) { - result += url.user + ":"; - } - if(url.password != null) { - result += url.password + "@"; - } - if(url.host != null) { - result += url.host; - } - if(url.port != null) { - result += ":" + url.port; - } - if(url.directory != null) { - result += url.directory; - } - if(url.file != null) { - result += url.file; - } - if(url.query != null) { - result += "?" + url.query; - } - if(url.fragment != null) { - result += "#" + url.fragment; - } - return result; -}; -xrfragment_URI.appendURI = function(url,appendedURI) { - if(xrfragment_URI.isRelative(url) == true) { - return xrfragment_URI.appendToRelativeURI(url,appendedURI); - } else { - return xrfragment_URI.appendToAbsoluteURI(url,appendedURI); - } -}; -xrfragment_URI.isRelative = function(url) { - return url.scheme == null; -}; -xrfragment_URI.appendToRelativeURI = function(url,appendedURI) { - if(url.directory == null || url.host == null) { - return xrfragment_URI.cloneURI(appendedURI); - } - var resultURI = new xrfragment_URI(); - resultURI.host = url.host; - resultURI.directory = url.directory; - if(appendedURI.host != null) { - resultURI.directory += appendedURI.host; - } - if(appendedURI.directory != null) { - var directory = appendedURI.directory; - if(appendedURI.host == null) { - resultURI.directory += HxOverrides.substr(directory,1,null); - } else { - resultURI.directory += directory; - } - } - if(appendedURI.file != null) { - resultURI.file = appendedURI.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(appendedURI.query != null) { - resultURI.query = appendedURI.query; - } - if(appendedURI.fragment != null) { - resultURI.fragment = appendedURI.fragment; - } - return resultURI; -}; -xrfragment_URI.appendToAbsoluteURI = function(url,appendedURI) { - var resultURI = new xrfragment_URI(); - if(url.scheme != null) { - resultURI.scheme = url.scheme; - } - if(url.host != null) { - resultURI.host = url.host; - } - var directory = ""; - if(url.directory != null) { - directory = url.directory; - } - if(appendedURI.host != null) { - appendedURI.directory += appendedURI.host; - } - if(appendedURI.directory != null) { - directory += appendedURI.directory; - } - resultURI.directory = directory; - if(appendedURI.file != null) { - resultURI.file = appendedURI.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(appendedURI.query != null) { - resultURI.query = appendedURI.query; - } - if(appendedURI.fragment != null) { - resultURI.fragment = appendedURI.fragment; - } - return resultURI; -}; -xrfragment_URI.toAbsolute = function(url,newUrl) { - var newURI = xrfragment_URI.parse(newUrl,0); - var resultURI = new xrfragment_URI(); - resultURI.port = url.port; - resultURI.source = newUrl; - if(newURI.scheme != null) { - resultURI.scheme = newURI.scheme; - } else { - resultURI.scheme = url.scheme; - } - if(newURI.host != null && newURI.host.length > 0) { - resultURI.host = newURI.host; - resultURI.port = null; - resultURI.fragment = null; - resultURI.hash = { }; - resultURI.XRF = { }; - if(newURI.port != null) { - resultURI.port = newURI.port; - } - } else { - resultURI.host = url.host; - } - var directory = ""; - if(url.directory != null) { - directory = url.directory; - } - if(newURI.directory != null) { - if(newUrl.charAt(0) != "/" && newUrl.indexOf("://") == -1) { - var stripRelative_r = new RegExp("\\./.*","".split("u").join("")); - directory = directory.replace(stripRelative_r,""); - directory += newURI.directory; - } else { - directory = newURI.directory; - } - } - resultURI.directory = directory; - if(newURI.file != null) { - resultURI.file = newURI.file; - } else { - resultURI.file = url.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(newURI.query != null) { - resultURI.query = newURI.query; - } - if(newURI.fragment != null) { - resultURI.fragment = newURI.fragment; - } - resultURI.hash = newURI.hash; - resultURI.XRF = newURI.XRF; - xrfragment_URI.computeVars(resultURI); - return resultURI; -}; -xrfragment_URI.cloneURI = function(url) { - var clonedURI = new xrfragment_URI(); - clonedURI.url = url.url; - clonedURI.source = url.source; - clonedURI.scheme = url.scheme; - clonedURI.authority = url.authority; - clonedURI.userInfo = url.userInfo; - clonedURI.password = url.password; - clonedURI.host = url.host; - clonedURI.port = url.port; - clonedURI.relative = url.relative; - clonedURI.path = url.path; - clonedURI.directory = url.directory; - clonedURI.file = url.file; - clonedURI.query = url.query; - clonedURI.fragment = url.fragment; - return clonedURI; -}; -var xrfragment_XRF = $hx_exports["xrfragment"]["XRF"] = function(_fragment,_flags,_index) { - this.floats = []; - this.shift = []; - this.fragment = _fragment; - this.flags = _flags; - this.index = _index; -}; -xrfragment_XRF.__name__ = true; -xrfragment_XRF.set = function(flag,flags) { - return flags | flag; -}; -xrfragment_XRF.unset = function(flag,flags) { - return flags & ~flag; -}; -xrfragment_XRF.prototype = { - is: function(flag) { - var v = this.flags; - if(!(typeof(v) == "number" && ((v | 0) === v))) { - this.flags = 0; - } - return (this.flags & flag) != 0; - } - ,validate: function(value) { - this.guessType(this,value); - var ok = true; - if(value.length == 0 && !this.is(xrfragment_XRF.T_PREDEFINED_VIEW)) { - ok = false; - } - if(!this.is(xrfragment_XRF.T_FLOAT) && this.is(xrfragment_XRF.T_VECTOR2) && !(typeof(this.x) == "number" && typeof(this.y) == "number")) { - ok = false; - } - if(!(this.is(xrfragment_XRF.T_VECTOR2) || this.is(xrfragment_XRF.T_STRING)) && this.is(xrfragment_XRF.T_VECTOR3) && !(typeof(this.x) == "number" && typeof(this.y) == "number" && typeof(this.z) == "number")) { - ok = false; - } - return ok; - } - ,guessType: function(v,str) { - v.string = str; - if(xrfragment_XRF.isReset.match(v.fragment)) { - v.reset = true; - } - if(v.fragment == "loop") { - v.loop = true; - } - if(typeof(str) != "string") { - return; - } - if(str.length > 0) { - if(xrfragment_XRF.isXRFScheme.match(str)) { - v.xrfScheme = true; - str = str.replace(xrfragment_XRF.isXRFScheme.r,""); - v.string = str; - } - if(str.split(",").length > 1) { - var xyzn = str.split(","); - if(xyzn.length > 0) { - v.x = parseFloat(xyzn[0]); - } - if(xyzn.length > 1) { - v.y = parseFloat(xyzn[1]); - } - if(xyzn.length > 2) { - v.z = parseFloat(xyzn[2]); - } - var _g = 0; - var _g1 = xyzn.length; - while(_g < _g1) { - var i = _g++; - v.shift.push(xrfragment_XRF.isShift.match(xyzn[i])); - v.floats.push(parseFloat(xyzn[i].replace(xrfragment_XRF.isShift.r,""))); - } - } - if(xrfragment_XRF.isColor.match(str)) { - v.color = str; - } - if(xrfragment_XRF.isFloat.match(str)) { - v.x = parseFloat(str); - v.float = v.x; - } - if(xrfragment_XRF.isInt.match(str)) { - v.int = Std.parseInt(str); - v.x = v.int; - v.floats.push(v.x); - } - v.filter = new xrfragment_Filter(v.fragment + "=" + v.string); - } else { - v.filter = new xrfragment_Filter(v.fragment); - } - } -}; -function $getIterator(o) { if( o instanceof Array ) return new haxe_iterators_ArrayIterator(o); else return o.iterator(); } -function $bind(o,m) { if( m == null ) return null; if( m.__id__ == null ) m.__id__ = $global.$haxeUID++; var f; if( o.hx__closures__ == null ) o.hx__closures__ = {}; else f = o.hx__closures__[m.__id__]; if( f == null ) { f = m.bind(o); o.hx__closures__[m.__id__] = f; } return f; } -$global.$haxeUID |= 0; -if(typeof(performance) != "undefined" ? typeof(performance.now) == "function" : false) { - HxOverrides.now = performance.now.bind(performance); -} -if( String.fromCodePoint == null ) String.fromCodePoint = function(c) { return c < 0x10000 ? String.fromCharCode(c) : String.fromCharCode((c>>10)+0xD7C0)+String.fromCharCode((c&0x3FF)+0xDC00); } -String.__name__ = true; -Array.__name__ = true; -js_Boot.__toStr = ({ }).toString; -haxe_Template.splitter = new EReg("(::[A-Za-z0-9_ ()&|!+=/><*.\"-]+::|\\$\\$([A-Za-z0-9_-]+)\\()",""); -haxe_Template.expr_splitter = new EReg("(\\(|\\)|[ \r\n\t]*\"[^\"]*\"[ \r\n\t]*|[!+=/><*.&|-]+)",""); -haxe_Template.expr_trim = new EReg("^[ ]*([^ ]+)[ ]*$",""); -haxe_Template.expr_int = new EReg("^[0-9]+$",""); -haxe_Template.expr_float = new EReg("^([+-]?)(?=\\d|,\\d)\\d*(,\\d*)?([Ee]([+-]?\\d+))?$",""); -haxe_Template.globals = { }; -haxe_Template.hxKeepArrayIterator = new haxe_iterators_ArrayIterator([]); -xrfragment_Parser.error = ""; -xrfragment_Parser.debug = false; -xrfragment_URI.__meta__ = { statics : { template : { keep : null}}}; -xrfragment_URI._parts = ["source","scheme","authority","userInfo","user","password","host","port","relative","path","directory","file","query","fragment"]; -xrfragment_XRF.IMMUTABLE = 1; -xrfragment_XRF.PROP_BIND = 2; -xrfragment_XRF.QUERY_OPERATOR = 4; -xrfragment_XRF.PROMPT = 8; -xrfragment_XRF.CUSTOMFRAG = 16; -xrfragment_XRF.NAVIGATOR = 32; -xrfragment_XRF.METADATA = 64; -xrfragment_XRF.PV_OVERRIDE = 128; -xrfragment_XRF.PV_EXECUTE = 256; -xrfragment_XRF.T_COLOR = 8192; -xrfragment_XRF.T_INT = 16384; -xrfragment_XRF.T_FLOAT = 32768; -xrfragment_XRF.T_VECTOR2 = 65536; -xrfragment_XRF.T_VECTOR3 = 131072; -xrfragment_XRF.T_URL = 262144; -xrfragment_XRF.T_PREDEFINED_VIEW = 524288; -xrfragment_XRF.T_STRING = 1048576; -xrfragment_XRF.T_MEDIAFRAG = 2097152; -xrfragment_XRF.T_DYNAMICKEY = 4194304; -xrfragment_XRF.T_DYNAMICKEYVALUE = 8388608; -xrfragment_XRF.isColor = new EReg("^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$",""); -xrfragment_XRF.isInt = new EReg("^[-0-9]+$",""); -xrfragment_XRF.isFloat = new EReg("^[-0-9]+\\.[0-9]+$",""); -xrfragment_XRF.isVector = new EReg("([,]+|\\w)",""); -xrfragment_XRF.isUrl = new EReg("(://)?\\..*",""); -xrfragment_XRF.isUrlOrPretypedView = new EReg("(^#|://)?\\..*",""); -xrfragment_XRF.isString = new EReg(".*",""); -xrfragment_XRF.operators = new EReg("(^[-]|^[!]|[\\*]$)","g"); -xrfragment_XRF.isProp = new EReg("^.*=[><=]?",""); -xrfragment_XRF.isExclude = new EReg("^-",""); -xrfragment_XRF.isDeep = new EReg("\\*",""); -xrfragment_XRF.isNumber = new EReg("^[0-9\\.]+$",""); -xrfragment_XRF.isMediaFrag = new EReg("^([0-9\\.,\\*+-]+)$",""); -xrfragment_XRF.isReset = new EReg("^!",""); -xrfragment_XRF.isShift = new EReg("^(\\+|--)",""); -xrfragment_XRF.isXRFScheme = new EReg("^xrf://",""); -})(typeof window != "undefined" ? window : typeof global != "undefined" ? global : typeof self != "undefined" ? self : this); -var xrfragment = $hx_exports["xrfragment"]; -export default xrfragment; -// Generated by Haxe 4.3.3 -var $hx_exports = typeof exports != "undefined" ? exports : typeof window != "undefined" ? window : typeof self != "undefined" ? self : this; -(function ($global) { "use strict"; -$hx_exports["xrfragment"] = $hx_exports["xrfragment"] || {}; -var $estr = function() { return js_Boot.__string_rec(this,''); },$hxEnums = $hxEnums || {},$_; -function $extend(from, fields) { - var proto = Object.create(from); - for (var name in fields) proto[name] = fields[name]; - if( fields.toString !== Object.prototype.toString ) proto.toString = fields.toString; - return proto; -} -var EReg = function(r,opt) { - this.r = new RegExp(r,opt.split("u").join("")); -}; -EReg.__name__ = true; -EReg.prototype = { - match: function(s) { - if(this.r.global) { - this.r.lastIndex = 0; - } - this.r.m = this.r.exec(s); - this.r.s = s; - return this.r.m != null; - } - ,matched: function(n) { - if(this.r.m != null && n >= 0 && n < this.r.m.length) { - return this.r.m[n]; - } else { - throw haxe_Exception.thrown("EReg::matched"); - } - } - ,matchedRight: function() { - if(this.r.m == null) { - throw haxe_Exception.thrown("No string matched"); - } - var sz = this.r.m.index + this.r.m[0].length; - return HxOverrides.substr(this.r.s,sz,this.r.s.length - sz); - } - ,matchedPos: function() { - if(this.r.m == null) { - throw haxe_Exception.thrown("No string matched"); - } - return { pos : this.r.m.index, len : this.r.m[0].length}; - } - ,split: function(s) { - var d = "#__delim__#"; - return s.replace(this.r,d).split(d); - } -}; -var HxOverrides = function() { }; -HxOverrides.__name__ = true; -HxOverrides.cca = function(s,index) { - var x = s.charCodeAt(index); - if(x != x) { - return undefined; - } - return x; -}; -HxOverrides.substr = function(s,pos,len) { - if(len == null) { - len = s.length; - } else if(len < 0) { - if(pos == 0) { - len = s.length + len; - } else { - return ""; - } - } - return s.substr(pos,len); -}; -HxOverrides.now = function() { - return Date.now(); -}; -Math.__name__ = true; -var Reflect = function() { }; -Reflect.__name__ = true; -Reflect.field = function(o,field) { - try { - return o[field]; - } catch( _g ) { - return null; - } -}; -Reflect.getProperty = function(o,field) { - var tmp; - if(o == null) { - return null; - } else { - var tmp1; - if(o.__properties__) { - tmp = o.__properties__["get_" + field]; - tmp1 = tmp; - } else { - tmp1 = false; - } - if(tmp1) { - return o[tmp](); - } else { - return o[field]; - } - } -}; -Reflect.fields = function(o) { - var a = []; - if(o != null) { - var hasOwnProperty = Object.prototype.hasOwnProperty; - for( var f in o ) { - if(f != "__id__" && f != "hx__closures__" && hasOwnProperty.call(o,f)) { - a.push(f); - } - } - } - return a; -}; -Reflect.isObject = function(v) { - if(v == null) { - return false; - } - var t = typeof(v); - if(!(t == "string" || t == "object" && v.__enum__ == null)) { - if(t == "function") { - return (v.__name__ || v.__ename__) != null; - } else { - return false; - } - } else { - return true; - } -}; -Reflect.deleteField = function(o,field) { - if(!Object.prototype.hasOwnProperty.call(o,field)) { - return false; - } - delete(o[field]); - return true; -}; -Reflect.copy = function(o) { - if(o == null) { - return null; - } - var o2 = { }; - var _g = 0; - var _g1 = Reflect.fields(o); - while(_g < _g1.length) { - var f = _g1[_g]; - ++_g; - o2[f] = Reflect.field(o,f); - } - return o2; -}; -var Std = function() { }; -Std.__name__ = true; -Std.string = function(s) { - return js_Boot.__string_rec(s,""); -}; -Std.parseInt = function(x) { - var v = parseInt(x); - if(isNaN(v)) { - return null; - } - return v; -}; -var StringBuf = function() { - this.b = ""; -}; -StringBuf.__name__ = true; -var StringTools = function() { }; -StringTools.__name__ = true; -StringTools.isSpace = function(s,pos) { - var c = HxOverrides.cca(s,pos); - if(!(c > 8 && c < 14)) { - return c == 32; - } else { - return true; - } -}; -StringTools.ltrim = function(s) { - var l = s.length; - var r = 0; - while(r < l && StringTools.isSpace(s,r)) ++r; - if(r > 0) { - return HxOverrides.substr(s,r,l - r); - } else { - return s; - } -}; -StringTools.rtrim = function(s) { - var l = s.length; - var r = 0; - while(r < l && StringTools.isSpace(s,l - r - 1)) ++r; - if(r > 0) { - return HxOverrides.substr(s,0,l - r); - } else { - return s; - } -}; -StringTools.trim = function(s) { - return StringTools.ltrim(StringTools.rtrim(s)); -}; -StringTools.replace = function(s,sub,by) { - return s.split(sub).join(by); -}; -var haxe_Exception = function(message,previous,native) { - Error.call(this,message); - this.message = message; - this.__previousException = previous; - this.__nativeException = native != null ? native : this; -}; -haxe_Exception.__name__ = true; -haxe_Exception.caught = function(value) { - if(((value) instanceof haxe_Exception)) { - return value; - } else if(((value) instanceof Error)) { - return new haxe_Exception(value.message,null,value); - } else { - return new haxe_ValueException(value,null,value); - } -}; -haxe_Exception.thrown = function(value) { - if(((value) instanceof haxe_Exception)) { - return value.get_native(); - } else if(((value) instanceof Error)) { - return value; - } else { - var e = new haxe_ValueException(value); - return e; - } -}; -haxe_Exception.__super__ = Error; -haxe_Exception.prototype = $extend(Error.prototype,{ - unwrap: function() { - return this.__nativeException; - } - ,get_native: function() { - return this.__nativeException; - } - ,__properties__: {get_native:"get_native"} -}); -var haxe__$Template_TemplateExpr = $hxEnums["haxe._Template.TemplateExpr"] = { __ename__:true,__constructs__:null - ,OpVar: ($_=function(v) { return {_hx_index:0,v:v,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpVar",$_.__params__ = ["v"],$_) - ,OpExpr: ($_=function(expr) { return {_hx_index:1,expr:expr,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpExpr",$_.__params__ = ["expr"],$_) - ,OpIf: ($_=function(expr,eif,eelse) { return {_hx_index:2,expr:expr,eif:eif,eelse:eelse,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpIf",$_.__params__ = ["expr","eif","eelse"],$_) - ,OpStr: ($_=function(str) { return {_hx_index:3,str:str,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpStr",$_.__params__ = ["str"],$_) - ,OpBlock: ($_=function(l) { return {_hx_index:4,l:l,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpBlock",$_.__params__ = ["l"],$_) - ,OpForeach: ($_=function(expr,loop) { return {_hx_index:5,expr:expr,loop:loop,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpForeach",$_.__params__ = ["expr","loop"],$_) - ,OpMacro: ($_=function(name,params) { return {_hx_index:6,name:name,params:params,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpMacro",$_.__params__ = ["name","params"],$_) -}; -haxe__$Template_TemplateExpr.__constructs__ = [haxe__$Template_TemplateExpr.OpVar,haxe__$Template_TemplateExpr.OpExpr,haxe__$Template_TemplateExpr.OpIf,haxe__$Template_TemplateExpr.OpStr,haxe__$Template_TemplateExpr.OpBlock,haxe__$Template_TemplateExpr.OpForeach,haxe__$Template_TemplateExpr.OpMacro]; -var haxe_iterators_ArrayIterator = function(array) { - this.current = 0; - this.array = array; -}; -haxe_iterators_ArrayIterator.__name__ = true; -haxe_iterators_ArrayIterator.prototype = { - hasNext: function() { - return this.current < this.array.length; - } - ,next: function() { - return this.array[this.current++]; - } -}; -var haxe_Template = function(str) { - var tokens = this.parseTokens(str); - this.expr = this.parseBlock(tokens); - if(!tokens.isEmpty()) { - throw haxe_Exception.thrown("Unexpected '" + Std.string(tokens.first().s) + "'"); - } -}; -haxe_Template.__name__ = true; -haxe_Template.prototype = { - execute: function(context,macros) { - this.macros = macros == null ? { } : macros; - this.context = context; - this.stack = new haxe_ds_List(); - this.buf = new StringBuf(); - this.run(this.expr); - return this.buf.b; - } - ,resolve: function(v) { - if(v == "__current__") { - return this.context; - } - if(Reflect.isObject(this.context)) { - var value = Reflect.getProperty(this.context,v); - if(value != null || Object.prototype.hasOwnProperty.call(this.context,v)) { - return value; - } - } - var _g_head = this.stack.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var ctx = val; - var value = Reflect.getProperty(ctx,v); - if(value != null || Object.prototype.hasOwnProperty.call(ctx,v)) { - return value; - } - } - return Reflect.field(haxe_Template.globals,v); - } - ,parseTokens: function(data) { - var tokens = new haxe_ds_List(); - while(haxe_Template.splitter.match(data)) { - var p = haxe_Template.splitter.matchedPos(); - if(p.pos > 0) { - tokens.add({ p : HxOverrides.substr(data,0,p.pos), s : true, l : null}); - } - if(HxOverrides.cca(data,p.pos) == 58) { - tokens.add({ p : HxOverrides.substr(data,p.pos + 2,p.len - 4), s : false, l : null}); - data = haxe_Template.splitter.matchedRight(); - continue; - } - var parp = p.pos + p.len; - var npar = 1; - var params = []; - var part = ""; - while(true) { - var c = HxOverrides.cca(data,parp); - ++parp; - if(c == 40) { - ++npar; - } else if(c == 41) { - --npar; - if(npar <= 0) { - break; - } - } else if(c == null) { - throw haxe_Exception.thrown("Unclosed macro parenthesis"); - } - if(c == 44 && npar == 1) { - params.push(part); - part = ""; - } else { - part += String.fromCodePoint(c); - } - } - params.push(part); - tokens.add({ p : haxe_Template.splitter.matched(2), s : false, l : params}); - data = HxOverrides.substr(data,parp,data.length - parp); - } - if(data.length > 0) { - tokens.add({ p : data, s : true, l : null}); - } - return tokens; - } - ,parseBlock: function(tokens) { - var l = new haxe_ds_List(); - while(true) { - var t = tokens.first(); - if(t == null) { - break; - } - if(!t.s && (t.p == "end" || t.p == "else" || HxOverrides.substr(t.p,0,7) == "elseif ")) { - break; - } - l.add(this.parse(tokens)); - } - if(l.length == 1) { - return l.first(); - } - return haxe__$Template_TemplateExpr.OpBlock(l); - } - ,parse: function(tokens) { - var t = tokens.pop(); - var p = t.p; - if(t.s) { - return haxe__$Template_TemplateExpr.OpStr(p); - } - if(t.l != null) { - var pe = new haxe_ds_List(); - var _g = 0; - var _g1 = t.l; - while(_g < _g1.length) { - var p1 = _g1[_g]; - ++_g; - pe.add(this.parseBlock(this.parseTokens(p1))); - } - return haxe__$Template_TemplateExpr.OpMacro(p,pe); - } - var kwdEnd = function(kwd) { - var pos = -1; - var length = kwd.length; - if(HxOverrides.substr(p,0,length) == kwd) { - pos = length; - var _g_offset = 0; - var _g_s = HxOverrides.substr(p,length,null); - while(_g_offset < _g_s.length) { - var c = _g_s.charCodeAt(_g_offset++); - if(c == 32) { - ++pos; - } else { - break; - } - } - } - return pos; - }; - var pos = kwdEnd("if"); - if(pos > 0) { - p = HxOverrides.substr(p,pos,p.length - pos); - var e = this.parseExpr(p); - var eif = this.parseBlock(tokens); - var t = tokens.first(); - var eelse; - if(t == null) { - throw haxe_Exception.thrown("Unclosed 'if'"); - } - if(t.p == "end") { - tokens.pop(); - eelse = null; - } else if(t.p == "else") { - tokens.pop(); - eelse = this.parseBlock(tokens); - t = tokens.pop(); - if(t == null || t.p != "end") { - throw haxe_Exception.thrown("Unclosed 'else'"); - } - } else { - t.p = HxOverrides.substr(t.p,4,t.p.length - 4); - eelse = this.parse(tokens); - } - return haxe__$Template_TemplateExpr.OpIf(e,eif,eelse); - } - var pos = kwdEnd("foreach"); - if(pos >= 0) { - p = HxOverrides.substr(p,pos,p.length - pos); - var e = this.parseExpr(p); - var efor = this.parseBlock(tokens); - var t = tokens.pop(); - if(t == null || t.p != "end") { - throw haxe_Exception.thrown("Unclosed 'foreach'"); - } - return haxe__$Template_TemplateExpr.OpForeach(e,efor); - } - if(haxe_Template.expr_splitter.match(p)) { - return haxe__$Template_TemplateExpr.OpExpr(this.parseExpr(p)); - } - return haxe__$Template_TemplateExpr.OpVar(p); - } - ,parseExpr: function(data) { - var l = new haxe_ds_List(); - var expr = data; - while(haxe_Template.expr_splitter.match(data)) { - var p = haxe_Template.expr_splitter.matchedPos(); - var k = p.pos + p.len; - if(p.pos != 0) { - l.add({ p : HxOverrides.substr(data,0,p.pos), s : true}); - } - var p1 = haxe_Template.expr_splitter.matched(0); - l.add({ p : p1, s : p1.indexOf("\"") >= 0}); - data = haxe_Template.expr_splitter.matchedRight(); - } - if(data.length != 0) { - var _g_offset = 0; - var _g_s = data; - while(_g_offset < _g_s.length) { - var _g_key = _g_offset; - var _g_value = _g_s.charCodeAt(_g_offset++); - var i = _g_key; - var c = _g_value; - if(c != 32) { - l.add({ p : HxOverrides.substr(data,i,null), s : true}); - break; - } - } - } - var e; - try { - e = this.makeExpr(l); - if(!l.isEmpty()) { - throw haxe_Exception.thrown(l.first().p); - } - } catch( _g ) { - var _g1 = haxe_Exception.caught(_g).unwrap(); - if(typeof(_g1) == "string") { - var s = _g1; - throw haxe_Exception.thrown("Unexpected '" + s + "' in " + expr); - } else { - throw _g; - } - } - return function() { - try { - return e(); - } catch( _g ) { - var exc = haxe_Exception.caught(_g).unwrap(); - throw haxe_Exception.thrown("Error : " + Std.string(exc) + " in " + expr); - } - }; - } - ,makeConst: function(v) { - haxe_Template.expr_trim.match(v); - v = haxe_Template.expr_trim.matched(1); - if(HxOverrides.cca(v,0) == 34) { - var str = HxOverrides.substr(v,1,v.length - 2); - return function() { - return str; - }; - } - if(haxe_Template.expr_int.match(v)) { - var i = Std.parseInt(v); - return function() { - return i; - }; - } - if(haxe_Template.expr_float.match(v)) { - var f = parseFloat(v); - return function() { - return f; - }; - } - var me = this; - return function() { - return me.resolve(v); - }; - } - ,makePath: function(e,l) { - var p = l.first(); - if(p == null || p.p != ".") { - return e; - } - l.pop(); - var field = l.pop(); - if(field == null || !field.s) { - throw haxe_Exception.thrown(field.p); - } - var f = field.p; - haxe_Template.expr_trim.match(f); - f = haxe_Template.expr_trim.matched(1); - return this.makePath(function() { - return Reflect.field(e(),f); - },l); - } - ,makeExpr: function(l) { - return this.makePath(this.makeExpr2(l),l); - } - ,skipSpaces: function(l) { - var p = l.first(); - while(p != null) { - var _g_offset = 0; - var _g_s = p.p; - while(_g_offset < _g_s.length) { - var c = _g_s.charCodeAt(_g_offset++); - if(c != 32) { - return; - } - } - l.pop(); - p = l.first(); - } - } - ,makeExpr2: function(l) { - this.skipSpaces(l); - var p = l.pop(); - this.skipSpaces(l); - if(p == null) { - throw haxe_Exception.thrown(""); - } - if(p.s) { - return this.makeConst(p.p); - } - switch(p.p) { - case "!": - var e = this.makeExpr(l); - return function() { - var v = e(); - if(v != null) { - return v == false; - } else { - return true; - } - }; - case "(": - this.skipSpaces(l); - var e1 = this.makeExpr(l); - this.skipSpaces(l); - var p1 = l.pop(); - if(p1 == null || p1.s) { - throw haxe_Exception.thrown(p1); - } - if(p1.p == ")") { - return e1; - } - this.skipSpaces(l); - var e2 = this.makeExpr(l); - this.skipSpaces(l); - var p2 = l.pop(); - this.skipSpaces(l); - if(p2 == null || p2.p != ")") { - throw haxe_Exception.thrown(p2); - } - switch(p1.p) { - case "!=": - return function() { - return e1() != e2(); - }; - case "&&": - return function() { - return e1() && e2(); - }; - case "*": - return function() { - return e1() * e2(); - }; - case "+": - return function() { - return e1() + e2(); - }; - case "-": - return function() { - return e1() - e2(); - }; - case "/": - return function() { - return e1() / e2(); - }; - case "<": - return function() { - return e1() < e2(); - }; - case "<=": - return function() { - return e1() <= e2(); - }; - case "==": - return function() { - return e1() == e2(); - }; - case ">": - return function() { - return e1() > e2(); - }; - case ">=": - return function() { - return e1() >= e2(); - }; - case "||": - return function() { - return e1() || e2(); - }; - default: - throw haxe_Exception.thrown("Unknown operation " + p1.p); - } - break; - case "-": - var e3 = this.makeExpr(l); - return function() { - return -e3(); - }; - } - throw haxe_Exception.thrown(p.p); - } - ,run: function(e) { - switch(e._hx_index) { - case 0: - var v = e.v; - var _this = this.buf; - var x = Std.string(this.resolve(v)); - _this.b += Std.string(x); - break; - case 1: - var e1 = e.expr; - var _this = this.buf; - var x = Std.string(e1()); - _this.b += Std.string(x); - break; - case 2: - var e1 = e.expr; - var eif = e.eif; - var eelse = e.eelse; - var v = e1(); - if(v == null || v == false) { - if(eelse != null) { - this.run(eelse); - } - } else { - this.run(eif); - } - break; - case 3: - var str = e.str; - this.buf.b += str == null ? "null" : "" + str; - break; - case 4: - var l = e.l; - var _g_head = l.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var e1 = val; - this.run(e1); - } - break; - case 5: - var e1 = e.expr; - var loop = e.loop; - var v = e1(); - try { - var x = $getIterator(v); - if(x.hasNext == null) { - throw haxe_Exception.thrown(null); - } - v = x; - } catch( _g ) { - try { - if(v.hasNext == null) { - throw haxe_Exception.thrown(null); - } - } catch( _g1 ) { - throw haxe_Exception.thrown("Cannot iter on " + Std.string(v)); - } - } - this.stack.push(this.context); - var v1 = v; - var ctx = v1; - while(ctx.hasNext()) { - var ctx1 = ctx.next(); - this.context = ctx1; - this.run(loop); - } - this.context = this.stack.pop(); - break; - case 6: - var m = e.name; - var params = e.params; - var v = Reflect.field(this.macros,m); - var pl = []; - var old = this.buf; - pl.push($bind(this,this.resolve)); - var _g_head = params.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var p = val; - if(p._hx_index == 0) { - var v1 = p.v; - pl.push(this.resolve(v1)); - } else { - this.buf = new StringBuf(); - this.run(p); - pl.push(this.buf.b); - } - } - this.buf = old; - try { - var _this = this.buf; - var x = Std.string(v.apply(this.macros,pl)); - _this.b += Std.string(x); - } catch( _g ) { - var e = haxe_Exception.caught(_g).unwrap(); - var plstr; - try { - plstr = pl.join(","); - } catch( _g1 ) { - plstr = "???"; - } - var msg = "Macro call " + m + "(" + plstr + ") failed (" + Std.string(e) + ")"; - throw haxe_Exception.thrown(msg); - } - break; - } - } -}; -var haxe_ValueException = function(value,previous,native) { - haxe_Exception.call(this,String(value),previous,native); - this.value = value; -}; -haxe_ValueException.__name__ = true; -haxe_ValueException.__super__ = haxe_Exception; -haxe_ValueException.prototype = $extend(haxe_Exception.prototype,{ - unwrap: function() { - return this.value; - } -}); -var haxe_ds_List = function() { - this.length = 0; -}; -haxe_ds_List.__name__ = true; -haxe_ds_List.prototype = { - add: function(item) { - var x = new haxe_ds__$List_ListNode(item,null); - if(this.h == null) { - this.h = x; - } else { - this.q.next = x; - } - this.q = x; - this.length++; - } - ,push: function(item) { - var x = new haxe_ds__$List_ListNode(item,this.h); - this.h = x; - if(this.q == null) { - this.q = x; - } - this.length++; - } - ,first: function() { - if(this.h == null) { - return null; - } else { - return this.h.item; - } - } - ,pop: function() { - if(this.h == null) { - return null; - } - var x = this.h.item; - this.h = this.h.next; - if(this.h == null) { - this.q = null; - } - this.length--; - return x; - } - ,isEmpty: function() { - return this.h == null; - } - ,toString: function() { - var s_b = ""; - var first = true; - var l = this.h; - s_b += "{"; - while(l != null) { - if(first) { - first = false; - } else { - s_b += ", "; - } - s_b += Std.string(Std.string(l.item)); - l = l.next; - } - s_b += "}"; - return s_b; - } -}; -var haxe_ds__$List_ListNode = function(item,next) { - this.item = item; - this.next = next; -}; -haxe_ds__$List_ListNode.__name__ = true; -var js_Boot = function() { }; -js_Boot.__name__ = true; -js_Boot.__string_rec = function(o,s) { - if(o == null) { - return "null"; - } - if(s.length >= 5) { - return "<...>"; - } - var t = typeof(o); - if(t == "function" && (o.__name__ || o.__ename__)) { - t = "object"; - } - switch(t) { - case "function": - return ""; - case "object": - if(o.__enum__) { - var e = $hxEnums[o.__enum__]; - var con = e.__constructs__[o._hx_index]; - var n = con._hx_name; - if(con.__params__) { - s = s + "\t"; - return n + "(" + ((function($this) { - var $r; - var _g = []; - { - var _g1 = 0; - var _g2 = con.__params__; - while(true) { - if(!(_g1 < _g2.length)) { - break; - } - var p = _g2[_g1]; - _g1 = _g1 + 1; - _g.push(js_Boot.__string_rec(o[p],s)); - } - } - $r = _g; - return $r; - }(this))).join(",") + ")"; - } else { - return n; - } - } - if(((o) instanceof Array)) { - var str = "["; - s += "\t"; - var _g = 0; - var _g1 = o.length; - while(_g < _g1) { - var i = _g++; - str += (i > 0 ? "," : "") + js_Boot.__string_rec(o[i],s); - } - str += "]"; - return str; - } - var tostr; - try { - tostr = o.toString; - } catch( _g ) { - return "???"; - } - if(tostr != null && tostr != Object.toString && typeof(tostr) == "function") { - var s2 = o.toString(); - if(s2 != "[object Object]") { - return s2; - } - } - var str = "{\n"; - s += "\t"; - var hasp = o.hasOwnProperty != null; - var k = null; - for( k in o ) { - if(hasp && !o.hasOwnProperty(k)) { - continue; - } - if(k == "prototype" || k == "__class__" || k == "__super__" || k == "__interfaces__" || k == "__properties__") { - continue; - } - if(str.length != 2) { - str += ", \n"; - } - str += s + k + " : " + js_Boot.__string_rec(o[k],s); - } - s = s.substring(1); - str += "\n" + s + "}"; - return str; - case "string": - return o; - default: - return String(o); - } -}; -var xrfragment_Filter = $hx_exports["xrfragment"]["Filter"] = function(str) { - this.q = { }; - this.str = ""; - if(str != null) { - this.parse(str); - } -}; -xrfragment_Filter.__name__ = true; -xrfragment_Filter.prototype = { - toObject: function() { - return Reflect.copy(this.q); - } - ,get: function() { - return Reflect.copy(this.q); - } - ,parse: function(str) { - var token = str.split(" "); - var q = { }; - var process = function(str,prefix) { - if(prefix == null) { - prefix = ""; - } - str = StringTools.trim(str); - var k = str.split("=")[0]; - var v = str.split("=")[1]; - var filter = { }; - if(q[prefix + k]) { - filter = q[prefix + k]; - } - if(xrfragment_XRF.isProp.match(str)) { - var oper = ""; - if(str.indexOf(">") != -1) { - oper = ">"; - } - if(str.indexOf("<") != -1) { - oper = "<"; - } - if(xrfragment_XRF.isExclude.match(k)) { - k = HxOverrides.substr(k,1,null); - } - v = HxOverrides.substr(v,oper.length,null); - if(oper.length == 0) { - oper = "="; - } - var rule = { }; - if(xrfragment_XRF.isNumber.match(v)) { - rule[oper] = parseFloat(v); - } else { - rule[oper] = v; - } - q["expr"] = rule; - } - var value = xrfragment_XRF.isDeep.match(str) ? k.split("*").length - 1 : 0; - q["deep"] = value; - var value = xrfragment_XRF.isExclude.match(str) ? false : true; - q["show"] = value; - var value = k.replace(xrfragment_XRF.operators.r,""); - q["key"] = value; - q["value"] = v; - }; - var _g = 0; - var _g1 = token.length; - while(_g < _g1) { - var i = _g++; - process(token[i]); - } - return this.q = q; - } - ,test: function(obj) { - var qualify = false; - var _g = 0; - var _g1 = Reflect.fields(obj); - while(_g < _g1.length) { - var k = _g1[_g]; - ++_g; - var v = Std.string(Reflect.field(obj,k)); - if(this.testProperty(k,v)) { - qualify = true; - } - } - var _g = 0; - var _g1 = Reflect.fields(obj); - while(_g < _g1.length) { - var k = _g1[_g]; - ++_g; - var v = Std.string(Reflect.field(obj,k)); - if(this.testProperty(k,v,true)) { - qualify = false; - } - } - return qualify; - } - ,testProperty: function(property,value,exclude) { - var conds = 0; - var fails = 0; - var qualify = 0; - var testprop = function(expr) { - conds += 1; - fails += expr ? 0 : 1; - return expr; - }; - if(this.q[value] != null) { - var v = this.q[value]; - if(v[property] != null) { - return v[property]; - } - } - if(Reflect.field(this.q,"expr")) { - var f = Reflect.field(this.q,"expr"); - if(!Reflect.field(this.q,"show")) { - if(Reflect.field(f,"!=") != null && testprop((value == null ? "null" : "" + value) == Std.string(Reflect.field(f,"!="))) && exclude) { - ++qualify; - } - } else { - if(Reflect.field(f,"*") != null && testprop(parseFloat(value) != null)) { - ++qualify; - } - if(Reflect.field(f,">") != null && testprop(parseFloat(value) >= parseFloat(Reflect.field(f,">")))) { - ++qualify; - } - if(Reflect.field(f,"<") != null && testprop(parseFloat(value) <= parseFloat(Reflect.field(f,"<")))) { - ++qualify; - } - if(Reflect.field(f,"=") != null && (testprop(value == Reflect.field(f,"=")) || testprop(parseFloat(value) == parseFloat(Reflect.field(f,"="))))) { - ++qualify; - } - } - } - return qualify > 0; - } -}; -var xrfragment_Parser = $hx_exports["xrfragment"]["Parser"] = function() { }; -xrfragment_Parser.__name__ = true; -xrfragment_Parser.parse = function(key,value,store,index) { - var Frag_h = Object.create(null); - Frag_h["#"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_PREDEFINED_VIEW | xrfragment_XRF.PV_EXECUTE; - Frag_h["src"] = xrfragment_XRF.T_URL; - Frag_h["href"] = xrfragment_XRF.T_URL | xrfragment_XRF.T_PREDEFINED_VIEW; - Frag_h["tag"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["pos"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_VECTOR3 | xrfragment_XRF.T_STRING | xrfragment_XRF.METADATA | xrfragment_XRF.NAVIGATOR; - Frag_h["rot"] = xrfragment_XRF.QUERY_OPERATOR | xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_VECTOR3 | xrfragment_XRF.METADATA | xrfragment_XRF.NAVIGATOR; - Frag_h["t"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_FLOAT | xrfragment_XRF.T_VECTOR2 | xrfragment_XRF.NAVIGATOR | xrfragment_XRF.METADATA; - Frag_h["s"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_MEDIAFRAG; - Frag_h["loop"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_PREDEFINED_VIEW; - Frag_h["uv"] = xrfragment_XRF.T_VECTOR2 | xrfragment_XRF.T_MEDIAFRAG; - Frag_h["namespace"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["SPDX"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["unit"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["description"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - var keyStripped = key.replace(xrfragment_XRF.operators.r,""); - var isPVDynamic = key.length > 0 && !Object.prototype.hasOwnProperty.call(Frag_h,key); - if(isPVDynamic) { - var v = new xrfragment_XRF(key,xrfragment_XRF.PV_EXECUTE | xrfragment_XRF.NAVIGATOR,index); - v.validate(value); - v.flags = xrfragment_XRF.set(xrfragment_XRF.T_DYNAMICKEY,v.flags); - if(!Object.prototype.hasOwnProperty.call(Frag_h,key)) { - v.flags = xrfragment_XRF.set(xrfragment_XRF.CUSTOMFRAG,v.flags); - } - if(value.length == 0) { - v.flags = xrfragment_XRF.set(xrfragment_XRF.T_DYNAMICKEYVALUE,v.flags); - } - store[keyStripped] = v; - return true; - } - var v = new xrfragment_XRF(key,Frag_h[key],index); - if(Object.prototype.hasOwnProperty.call(Frag_h,key)) { - if(!v.validate(value)) { - console.log("src/xrfragment/Parser.hx:67:","⚠ fragment '" + key + "' has incompatible value (" + value + ")"); - return false; - } - store[keyStripped] = v; - if(xrfragment_Parser.debug) { - console.log("src/xrfragment/Parser.hx:71:","✔ " + key + ": " + v.string); - } - } else { - if(typeof(value) == "string") { - v.guessType(v,value); - } - v.flags = xrfragment_XRF.set(xrfragment_XRF.CUSTOMFRAG,v.flags); - store[keyStripped] = v; - } - return true; -}; -xrfragment_Parser.getMetaData = function() { - var meta = { title : ["title","og:title","dc.title"], description : ["aria-description","og:description","dc.description"], author : ["author","dc.creator"], publisher : ["publisher","dc.publisher"], website : ["og:site_name","og:url","dc.publisher"], license : ["SPDX","dc.rights"]}; - return meta; -}; -var xrfragment_URI = $hx_exports["xrfragment"]["URI"] = function() { - this.XRF = { }; - this.hash = { }; - this.fragment = ""; -}; -xrfragment_URI.__name__ = true; -xrfragment_URI.parseFragment = function(url,filter) { - var store = { }; - if(url == null || url.indexOf("#") == -1) { - return store; - } - var fragment = url.split("#"); - var splitArray = fragment[1].split("&"); - var _g = 0; - var _g1 = splitArray.length; - while(_g < _g1) { - var i = _g++; - var splitByEqual = splitArray[i].split("="); - var regexPlus = new EReg("\\+","g"); - var key = splitByEqual[0]; - var value = ""; - if(splitByEqual.length > 1) { - if(xrfragment_XRF.isVector.match(splitByEqual[1])) { - value = splitByEqual[1]; - } else { - var s = regexPlus.split(splitByEqual[1]).join(" "); - value = decodeURIComponent(s.split("+").join(" ")); - } - } - var ok = xrfragment_Parser.parse(key,value,store,i); - } - if(filter != null && filter != 0) { - var _g = 0; - var _g1 = Reflect.fields(store); - while(_g < _g1.length) { - var key = _g1[_g]; - ++_g; - var xrf = store[key]; - if(!xrf.is(filter)) { - Reflect.deleteField(store,key); - } - } - } - return store; -}; -xrfragment_URI.template = function(uri,vars) { - var parts = uri.split("#"); - if(parts.length == 1) { - return uri; - } - var frag = parts[1]; - frag = StringTools.replace(frag,"{","::"); - frag = StringTools.replace(frag,"}","::"); - frag = new haxe_Template(frag).execute(vars); - frag = StringTools.replace(frag,"null",""); - parts[1] = frag; - return parts.join("#"); -}; -xrfragment_URI.parse = function(stringUrl,flags) { - var r = new EReg("^(?:(?![^:@]+:[^:@/]*@)([^:/?#.]+):)?(?://)?((?:(([^:@]*)(?::([^:@]*))?)?@)?([^:/?#]*)(?::(\\d*))?)(((/(?:[^?#](?![^?#/]*\\.[^?#/.]+(?:[?#]|$)))*/?)?([^?#/]*))(?:\\?([^#]*))?(?:#(.*))?)",""); - if(stringUrl.indexOf("://") == -1 && stringUrl.charAt(0) != "/") { - stringUrl = "/" + stringUrl; - } - r.match(stringUrl); - var url = new xrfragment_URI(); - var _g = 0; - var _g1 = xrfragment_URI._parts.length; - while(_g < _g1) { - var i = _g++; - url[xrfragment_URI._parts[i]] = r.matched(i); - } - if(xrfragment_URI.isRelative(url) == true) { - if(url.directory == null && url.host != null) { - url.file = url.host; - } - url.host = ""; - } - url.hash = { }; - if(url.fragment != null && url.fragment.length > 0) { - url.XRF = xrfragment_URI.parseFragment("#" + url.fragment,flags); - var key; - var _g = 0; - var _g1 = Reflect.fields(url.XRF); - while(_g < _g1.length) { - var key = _g1[_g]; - ++_g; - var v = url.XRF[key]; - url.hash[key] = v["string"]; - } - } - xrfragment_URI.computeVars(url); - return url; -}; -xrfragment_URI.computeVars = function(url) { - var r_r = new RegExp("//","g".split("u").join("")); - if(url.directory != null && url.directory.indexOf("//") != -1) { - url.directory = url.directory.replace(r_r,"/"); - } - if(url.path != null && url.path.indexOf("//") != -1) { - url.path = url.path.replace(r_r,"/"); - } - if(url.file != null && url.file.indexOf("//") != -1) { - url.file = url.file.replace(r_r,"/"); - } - url.URN = url.scheme + "://" + url.host; - if(url.port != null) { - url.URN += ":" + url.port; - } - url.URN += url.directory; - if(url.file != null) { - var parts = url.file.split("."); - if(parts.length > 1) { - url.fileExt = parts.pop(); - } - } -}; -xrfragment_URI.toString = function(url) { - var result = ""; - if(url.scheme != null) { - result += url.scheme + "://"; - } - if(url.user != null) { - result += url.user + ":"; - } - if(url.password != null) { - result += url.password + "@"; - } - if(url.host != null) { - result += url.host; - } - if(url.port != null) { - result += ":" + url.port; - } - if(url.directory != null) { - result += url.directory; - } - if(url.file != null) { - result += url.file; - } - if(url.query != null) { - result += "?" + url.query; - } - if(url.fragment != null) { - result += "#" + url.fragment; - } - return result; -}; -xrfragment_URI.appendURI = function(url,appendedURI) { - if(xrfragment_URI.isRelative(url) == true) { - return xrfragment_URI.appendToRelativeURI(url,appendedURI); - } else { - return xrfragment_URI.appendToAbsoluteURI(url,appendedURI); - } -}; -xrfragment_URI.isRelative = function(url) { - return url.scheme == null; -}; -xrfragment_URI.appendToRelativeURI = function(url,appendedURI) { - if(url.directory == null || url.host == null) { - return xrfragment_URI.cloneURI(appendedURI); - } - var resultURI = new xrfragment_URI(); - resultURI.host = url.host; - resultURI.directory = url.directory; - if(appendedURI.host != null) { - resultURI.directory += appendedURI.host; - } - if(appendedURI.directory != null) { - var directory = appendedURI.directory; - if(appendedURI.host == null) { - resultURI.directory += HxOverrides.substr(directory,1,null); - } else { - resultURI.directory += directory; - } - } - if(appendedURI.file != null) { - resultURI.file = appendedURI.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(appendedURI.query != null) { - resultURI.query = appendedURI.query; - } - if(appendedURI.fragment != null) { - resultURI.fragment = appendedURI.fragment; - } - return resultURI; -}; -xrfragment_URI.appendToAbsoluteURI = function(url,appendedURI) { - var resultURI = new xrfragment_URI(); - if(url.scheme != null) { - resultURI.scheme = url.scheme; - } - if(url.host != null) { - resultURI.host = url.host; - } - var directory = ""; - if(url.directory != null) { - directory = url.directory; - } - if(appendedURI.host != null) { - appendedURI.directory += appendedURI.host; - } - if(appendedURI.directory != null) { - directory += appendedURI.directory; - } - resultURI.directory = directory; - if(appendedURI.file != null) { - resultURI.file = appendedURI.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(appendedURI.query != null) { - resultURI.query = appendedURI.query; - } - if(appendedURI.fragment != null) { - resultURI.fragment = appendedURI.fragment; - } - return resultURI; -}; -xrfragment_URI.toAbsolute = function(url,newUrl) { - var newURI = xrfragment_URI.parse(newUrl,0); - var resultURI = new xrfragment_URI(); - resultURI.port = url.port; - resultURI.source = newUrl; - if(newURI.scheme != null) { - resultURI.scheme = newURI.scheme; - } else { - resultURI.scheme = url.scheme; - } - if(newURI.host != null && newURI.host.length > 0) { - resultURI.host = newURI.host; - resultURI.port = null; - resultURI.fragment = null; - resultURI.hash = { }; - resultURI.XRF = { }; - if(newURI.port != null) { - resultURI.port = newURI.port; - } - } else { - resultURI.host = url.host; - } - var directory = ""; - if(url.directory != null) { - directory = url.directory; - } - if(newURI.directory != null) { - if(newUrl.charAt(0) != "/" && newUrl.indexOf("://") == -1) { - var stripRelative_r = new RegExp("\\./.*","".split("u").join("")); - directory = directory.replace(stripRelative_r,""); - directory += newURI.directory; - } else { - directory = newURI.directory; - } - } - resultURI.directory = directory; - if(newURI.file != null) { - resultURI.file = newURI.file; - } else { - resultURI.file = url.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(newURI.query != null) { - resultURI.query = newURI.query; - } - if(newURI.fragment != null) { - resultURI.fragment = newURI.fragment; - } - resultURI.hash = newURI.hash; - resultURI.XRF = newURI.XRF; - xrfragment_URI.computeVars(resultURI); - return resultURI; -}; -xrfragment_URI.cloneURI = function(url) { - var clonedURI = new xrfragment_URI(); - clonedURI.url = url.url; - clonedURI.source = url.source; - clonedURI.scheme = url.scheme; - clonedURI.authority = url.authority; - clonedURI.userInfo = url.userInfo; - clonedURI.password = url.password; - clonedURI.host = url.host; - clonedURI.port = url.port; - clonedURI.relative = url.relative; - clonedURI.path = url.path; - clonedURI.directory = url.directory; - clonedURI.file = url.file; - clonedURI.query = url.query; - clonedURI.fragment = url.fragment; - return clonedURI; -}; -var xrfragment_XRF = $hx_exports["xrfragment"]["XRF"] = function(_fragment,_flags,_index) { - this.floats = []; - this.shift = []; - this.fragment = _fragment; - this.flags = _flags; - this.index = _index; -}; -xrfragment_XRF.__name__ = true; -xrfragment_XRF.set = function(flag,flags) { - return flags | flag; -}; -xrfragment_XRF.unset = function(flag,flags) { - return flags & ~flag; -}; -xrfragment_XRF.prototype = { - is: function(flag) { - var v = this.flags; - if(!(typeof(v) == "number" && ((v | 0) === v))) { - this.flags = 0; - } - return (this.flags & flag) != 0; - } - ,validate: function(value) { - this.guessType(this,value); - var ok = true; - if(value.length == 0 && !this.is(xrfragment_XRF.T_PREDEFINED_VIEW)) { - ok = false; - } - if(!this.is(xrfragment_XRF.T_FLOAT) && this.is(xrfragment_XRF.T_VECTOR2) && !(typeof(this.x) == "number" && typeof(this.y) == "number")) { - ok = false; - } - if(!(this.is(xrfragment_XRF.T_VECTOR2) || this.is(xrfragment_XRF.T_STRING)) && this.is(xrfragment_XRF.T_VECTOR3) && !(typeof(this.x) == "number" && typeof(this.y) == "number" && typeof(this.z) == "number")) { - ok = false; - } - return ok; - } - ,guessType: function(v,str) { - v.string = str; - if(xrfragment_XRF.isReset.match(v.fragment)) { - v.reset = true; - } - if(v.fragment == "loop") { - v.loop = true; - } - if(typeof(str) != "string") { - return; - } - if(str.length > 0) { - if(xrfragment_XRF.isXRFScheme.match(str)) { - v.xrfScheme = true; - str = str.replace(xrfragment_XRF.isXRFScheme.r,""); - v.string = str; - } - if(str.split(",").length > 1) { - var xyzn = str.split(","); - if(xyzn.length > 0) { - v.x = parseFloat(xyzn[0]); - } - if(xyzn.length > 1) { - v.y = parseFloat(xyzn[1]); - } - if(xyzn.length > 2) { - v.z = parseFloat(xyzn[2]); - } - var _g = 0; - var _g1 = xyzn.length; - while(_g < _g1) { - var i = _g++; - v.shift.push(xrfragment_XRF.isShift.match(xyzn[i])); - v.floats.push(parseFloat(xyzn[i].replace(xrfragment_XRF.isShift.r,""))); - } - } - if(xrfragment_XRF.isColor.match(str)) { - v.color = str; - } - if(xrfragment_XRF.isFloat.match(str)) { - v.x = parseFloat(str); - v.float = v.x; - } - if(xrfragment_XRF.isInt.match(str)) { - v.int = Std.parseInt(str); - v.x = v.int; - v.floats.push(v.x); - } - v.filter = new xrfragment_Filter(v.fragment + "=" + v.string); - } else { - v.filter = new xrfragment_Filter(v.fragment); - } - } -}; -function $getIterator(o) { if( o instanceof Array ) return new haxe_iterators_ArrayIterator(o); else return o.iterator(); } -function $bind(o,m) { if( m == null ) return null; if( m.__id__ == null ) m.__id__ = $global.$haxeUID++; var f; if( o.hx__closures__ == null ) o.hx__closures__ = {}; else f = o.hx__closures__[m.__id__]; if( f == null ) { f = m.bind(o); o.hx__closures__[m.__id__] = f; } return f; } -$global.$haxeUID |= 0; -if(typeof(performance) != "undefined" ? typeof(performance.now) == "function" : false) { - HxOverrides.now = performance.now.bind(performance); -} -if( String.fromCodePoint == null ) String.fromCodePoint = function(c) { return c < 0x10000 ? String.fromCharCode(c) : String.fromCharCode((c>>10)+0xD7C0)+String.fromCharCode((c&0x3FF)+0xDC00); } -String.__name__ = true; -Array.__name__ = true; -js_Boot.__toStr = ({ }).toString; -haxe_Template.splitter = new EReg("(::[A-Za-z0-9_ ()&|!+=/><*.\"-]+::|\\$\\$([A-Za-z0-9_-]+)\\()",""); -haxe_Template.expr_splitter = new EReg("(\\(|\\)|[ \r\n\t]*\"[^\"]*\"[ \r\n\t]*|[!+=/><*.&|-]+)",""); -haxe_Template.expr_trim = new EReg("^[ ]*([^ ]+)[ ]*$",""); -haxe_Template.expr_int = new EReg("^[0-9]+$",""); -haxe_Template.expr_float = new EReg("^([+-]?)(?=\\d|,\\d)\\d*(,\\d*)?([Ee]([+-]?\\d+))?$",""); -haxe_Template.globals = { }; -haxe_Template.hxKeepArrayIterator = new haxe_iterators_ArrayIterator([]); -xrfragment_Parser.error = ""; -xrfragment_Parser.debug = false; -xrfragment_URI.__meta__ = { statics : { template : { keep : null}}}; -xrfragment_URI._parts = ["source","scheme","authority","userInfo","user","password","host","port","relative","path","directory","file","query","fragment"]; -xrfragment_XRF.IMMUTABLE = 1; -xrfragment_XRF.PROP_BIND = 2; -xrfragment_XRF.QUERY_OPERATOR = 4; -xrfragment_XRF.PROMPT = 8; -xrfragment_XRF.CUSTOMFRAG = 16; -xrfragment_XRF.NAVIGATOR = 32; -xrfragment_XRF.METADATA = 64; -xrfragment_XRF.PV_OVERRIDE = 128; -xrfragment_XRF.PV_EXECUTE = 256; -xrfragment_XRF.T_COLOR = 8192; -xrfragment_XRF.T_INT = 16384; -xrfragment_XRF.T_FLOAT = 32768; -xrfragment_XRF.T_VECTOR2 = 65536; -xrfragment_XRF.T_VECTOR3 = 131072; -xrfragment_XRF.T_URL = 262144; -xrfragment_XRF.T_PREDEFINED_VIEW = 524288; -xrfragment_XRF.T_STRING = 1048576; -xrfragment_XRF.T_MEDIAFRAG = 2097152; -xrfragment_XRF.T_DYNAMICKEY = 4194304; -xrfragment_XRF.T_DYNAMICKEYVALUE = 8388608; -xrfragment_XRF.isColor = new EReg("^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$",""); -xrfragment_XRF.isInt = new EReg("^[-0-9]+$",""); -xrfragment_XRF.isFloat = new EReg("^[-0-9]+\\.[0-9]+$",""); -xrfragment_XRF.isVector = new EReg("([,]+|\\w)",""); -xrfragment_XRF.isUrl = new EReg("(://)?\\..*",""); -xrfragment_XRF.isUrlOrPretypedView = new EReg("(^#|://)?\\..*",""); -xrfragment_XRF.isString = new EReg(".*",""); -xrfragment_XRF.operators = new EReg("(^[-]|^[!]|[\\*]$)","g"); -xrfragment_XRF.isProp = new EReg("^.*=[><=]?",""); -xrfragment_XRF.isExclude = new EReg("^-",""); -xrfragment_XRF.isDeep = new EReg("\\*",""); -xrfragment_XRF.isNumber = new EReg("^[0-9\\.]+$",""); -xrfragment_XRF.isMediaFrag = new EReg("^([0-9\\.,\\*+-]+)$",""); -xrfragment_XRF.isReset = new EReg("^!",""); -xrfragment_XRF.isShift = new EReg("^(\\+|--)",""); -xrfragment_XRF.isXRFScheme = new EReg("^xrf://",""); -})(typeof window != "undefined" ? window : typeof global != "undefined" ? global : typeof self != "undefined" ? self : this); -var xrfragment = $hx_exports["xrfragment"]; -export default xrfragment; -// Generated by Haxe 4.3.3 -var $hx_exports = typeof exports != "undefined" ? exports : typeof window != "undefined" ? window : typeof self != "undefined" ? self : this; -(function ($global) { "use strict"; -$hx_exports["xrfragment"] = $hx_exports["xrfragment"] || {}; -var $estr = function() { return js_Boot.__string_rec(this,''); },$hxEnums = $hxEnums || {},$_; -function $extend(from, fields) { - var proto = Object.create(from); - for (var name in fields) proto[name] = fields[name]; - if( fields.toString !== Object.prototype.toString ) proto.toString = fields.toString; - return proto; -} -var EReg = function(r,opt) { - this.r = new RegExp(r,opt.split("u").join("")); -}; -EReg.__name__ = true; -EReg.prototype = { - match: function(s) { - if(this.r.global) { - this.r.lastIndex = 0; - } - this.r.m = this.r.exec(s); - this.r.s = s; - return this.r.m != null; - } - ,matched: function(n) { - if(this.r.m != null && n >= 0 && n < this.r.m.length) { - return this.r.m[n]; - } else { - throw haxe_Exception.thrown("EReg::matched"); - } - } - ,matchedRight: function() { - if(this.r.m == null) { - throw haxe_Exception.thrown("No string matched"); - } - var sz = this.r.m.index + this.r.m[0].length; - return HxOverrides.substr(this.r.s,sz,this.r.s.length - sz); - } - ,matchedPos: function() { - if(this.r.m == null) { - throw haxe_Exception.thrown("No string matched"); - } - return { pos : this.r.m.index, len : this.r.m[0].length}; - } - ,split: function(s) { - var d = "#__delim__#"; - return s.replace(this.r,d).split(d); - } -}; -var HxOverrides = function() { }; -HxOverrides.__name__ = true; -HxOverrides.cca = function(s,index) { - var x = s.charCodeAt(index); - if(x != x) { - return undefined; - } - return x; -}; -HxOverrides.substr = function(s,pos,len) { - if(len == null) { - len = s.length; - } else if(len < 0) { - if(pos == 0) { - len = s.length + len; - } else { - return ""; - } - } - return s.substr(pos,len); -}; -HxOverrides.now = function() { - return Date.now(); -}; -Math.__name__ = true; -var Reflect = function() { }; -Reflect.__name__ = true; -Reflect.field = function(o,field) { - try { - return o[field]; - } catch( _g ) { - return null; - } -}; -Reflect.getProperty = function(o,field) { - var tmp; - if(o == null) { - return null; - } else { - var tmp1; - if(o.__properties__) { - tmp = o.__properties__["get_" + field]; - tmp1 = tmp; - } else { - tmp1 = false; - } - if(tmp1) { - return o[tmp](); - } else { - return o[field]; - } - } -}; -Reflect.fields = function(o) { - var a = []; - if(o != null) { - var hasOwnProperty = Object.prototype.hasOwnProperty; - for( var f in o ) { - if(f != "__id__" && f != "hx__closures__" && hasOwnProperty.call(o,f)) { - a.push(f); - } - } - } - return a; -}; -Reflect.isObject = function(v) { - if(v == null) { - return false; - } - var t = typeof(v); - if(!(t == "string" || t == "object" && v.__enum__ == null)) { - if(t == "function") { - return (v.__name__ || v.__ename__) != null; - } else { - return false; - } - } else { - return true; - } -}; -Reflect.deleteField = function(o,field) { - if(!Object.prototype.hasOwnProperty.call(o,field)) { - return false; - } - delete(o[field]); - return true; -}; -Reflect.copy = function(o) { - if(o == null) { - return null; - } - var o2 = { }; - var _g = 0; - var _g1 = Reflect.fields(o); - while(_g < _g1.length) { - var f = _g1[_g]; - ++_g; - o2[f] = Reflect.field(o,f); - } - return o2; -}; -var Std = function() { }; -Std.__name__ = true; -Std.string = function(s) { - return js_Boot.__string_rec(s,""); -}; -Std.parseInt = function(x) { - var v = parseInt(x); - if(isNaN(v)) { - return null; - } - return v; -}; -var StringBuf = function() { - this.b = ""; -}; -StringBuf.__name__ = true; -var StringTools = function() { }; -StringTools.__name__ = true; -StringTools.isSpace = function(s,pos) { - var c = HxOverrides.cca(s,pos); - if(!(c > 8 && c < 14)) { - return c == 32; - } else { - return true; - } -}; -StringTools.ltrim = function(s) { - var l = s.length; - var r = 0; - while(r < l && StringTools.isSpace(s,r)) ++r; - if(r > 0) { - return HxOverrides.substr(s,r,l - r); - } else { - return s; - } -}; -StringTools.rtrim = function(s) { - var l = s.length; - var r = 0; - while(r < l && StringTools.isSpace(s,l - r - 1)) ++r; - if(r > 0) { - return HxOverrides.substr(s,0,l - r); - } else { - return s; - } -}; -StringTools.trim = function(s) { - return StringTools.ltrim(StringTools.rtrim(s)); -}; -StringTools.replace = function(s,sub,by) { - return s.split(sub).join(by); -}; -var haxe_Exception = function(message,previous,native) { - Error.call(this,message); - this.message = message; - this.__previousException = previous; - this.__nativeException = native != null ? native : this; -}; -haxe_Exception.__name__ = true; -haxe_Exception.caught = function(value) { - if(((value) instanceof haxe_Exception)) { - return value; - } else if(((value) instanceof Error)) { - return new haxe_Exception(value.message,null,value); - } else { - return new haxe_ValueException(value,null,value); - } -}; -haxe_Exception.thrown = function(value) { - if(((value) instanceof haxe_Exception)) { - return value.get_native(); - } else if(((value) instanceof Error)) { - return value; - } else { - var e = new haxe_ValueException(value); - return e; - } -}; -haxe_Exception.__super__ = Error; -haxe_Exception.prototype = $extend(Error.prototype,{ - unwrap: function() { - return this.__nativeException; - } - ,get_native: function() { - return this.__nativeException; - } - ,__properties__: {get_native:"get_native"} -}); -var haxe__$Template_TemplateExpr = $hxEnums["haxe._Template.TemplateExpr"] = { __ename__:true,__constructs__:null - ,OpVar: ($_=function(v) { return {_hx_index:0,v:v,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpVar",$_.__params__ = ["v"],$_) - ,OpExpr: ($_=function(expr) { return {_hx_index:1,expr:expr,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpExpr",$_.__params__ = ["expr"],$_) - ,OpIf: ($_=function(expr,eif,eelse) { return {_hx_index:2,expr:expr,eif:eif,eelse:eelse,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpIf",$_.__params__ = ["expr","eif","eelse"],$_) - ,OpStr: ($_=function(str) { return {_hx_index:3,str:str,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpStr",$_.__params__ = ["str"],$_) - ,OpBlock: ($_=function(l) { return {_hx_index:4,l:l,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpBlock",$_.__params__ = ["l"],$_) - ,OpForeach: ($_=function(expr,loop) { return {_hx_index:5,expr:expr,loop:loop,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpForeach",$_.__params__ = ["expr","loop"],$_) - ,OpMacro: ($_=function(name,params) { return {_hx_index:6,name:name,params:params,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpMacro",$_.__params__ = ["name","params"],$_) -}; -haxe__$Template_TemplateExpr.__constructs__ = [haxe__$Template_TemplateExpr.OpVar,haxe__$Template_TemplateExpr.OpExpr,haxe__$Template_TemplateExpr.OpIf,haxe__$Template_TemplateExpr.OpStr,haxe__$Template_TemplateExpr.OpBlock,haxe__$Template_TemplateExpr.OpForeach,haxe__$Template_TemplateExpr.OpMacro]; -var haxe_iterators_ArrayIterator = function(array) { - this.current = 0; - this.array = array; -}; -haxe_iterators_ArrayIterator.__name__ = true; -haxe_iterators_ArrayIterator.prototype = { - hasNext: function() { - return this.current < this.array.length; - } - ,next: function() { - return this.array[this.current++]; - } -}; -var haxe_Template = function(str) { - var tokens = this.parseTokens(str); - this.expr = this.parseBlock(tokens); - if(!tokens.isEmpty()) { - throw haxe_Exception.thrown("Unexpected '" + Std.string(tokens.first().s) + "'"); - } -}; -haxe_Template.__name__ = true; -haxe_Template.prototype = { - execute: function(context,macros) { - this.macros = macros == null ? { } : macros; - this.context = context; - this.stack = new haxe_ds_List(); - this.buf = new StringBuf(); - this.run(this.expr); - return this.buf.b; - } - ,resolve: function(v) { - if(v == "__current__") { - return this.context; - } - if(Reflect.isObject(this.context)) { - var value = Reflect.getProperty(this.context,v); - if(value != null || Object.prototype.hasOwnProperty.call(this.context,v)) { - return value; - } - } - var _g_head = this.stack.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var ctx = val; - var value = Reflect.getProperty(ctx,v); - if(value != null || Object.prototype.hasOwnProperty.call(ctx,v)) { - return value; - } - } - return Reflect.field(haxe_Template.globals,v); - } - ,parseTokens: function(data) { - var tokens = new haxe_ds_List(); - while(haxe_Template.splitter.match(data)) { - var p = haxe_Template.splitter.matchedPos(); - if(p.pos > 0) { - tokens.add({ p : HxOverrides.substr(data,0,p.pos), s : true, l : null}); - } - if(HxOverrides.cca(data,p.pos) == 58) { - tokens.add({ p : HxOverrides.substr(data,p.pos + 2,p.len - 4), s : false, l : null}); - data = haxe_Template.splitter.matchedRight(); - continue; - } - var parp = p.pos + p.len; - var npar = 1; - var params = []; - var part = ""; - while(true) { - var c = HxOverrides.cca(data,parp); - ++parp; - if(c == 40) { - ++npar; - } else if(c == 41) { - --npar; - if(npar <= 0) { - break; - } - } else if(c == null) { - throw haxe_Exception.thrown("Unclosed macro parenthesis"); - } - if(c == 44 && npar == 1) { - params.push(part); - part = ""; - } else { - part += String.fromCodePoint(c); - } - } - params.push(part); - tokens.add({ p : haxe_Template.splitter.matched(2), s : false, l : params}); - data = HxOverrides.substr(data,parp,data.length - parp); - } - if(data.length > 0) { - tokens.add({ p : data, s : true, l : null}); - } - return tokens; - } - ,parseBlock: function(tokens) { - var l = new haxe_ds_List(); - while(true) { - var t = tokens.first(); - if(t == null) { - break; - } - if(!t.s && (t.p == "end" || t.p == "else" || HxOverrides.substr(t.p,0,7) == "elseif ")) { - break; - } - l.add(this.parse(tokens)); - } - if(l.length == 1) { - return l.first(); - } - return haxe__$Template_TemplateExpr.OpBlock(l); - } - ,parse: function(tokens) { - var t = tokens.pop(); - var p = t.p; - if(t.s) { - return haxe__$Template_TemplateExpr.OpStr(p); - } - if(t.l != null) { - var pe = new haxe_ds_List(); - var _g = 0; - var _g1 = t.l; - while(_g < _g1.length) { - var p1 = _g1[_g]; - ++_g; - pe.add(this.parseBlock(this.parseTokens(p1))); - } - return haxe__$Template_TemplateExpr.OpMacro(p,pe); - } - var kwdEnd = function(kwd) { - var pos = -1; - var length = kwd.length; - if(HxOverrides.substr(p,0,length) == kwd) { - pos = length; - var _g_offset = 0; - var _g_s = HxOverrides.substr(p,length,null); - while(_g_offset < _g_s.length) { - var c = _g_s.charCodeAt(_g_offset++); - if(c == 32) { - ++pos; - } else { - break; - } - } - } - return pos; - }; - var pos = kwdEnd("if"); - if(pos > 0) { - p = HxOverrides.substr(p,pos,p.length - pos); - var e = this.parseExpr(p); - var eif = this.parseBlock(tokens); - var t = tokens.first(); - var eelse; - if(t == null) { - throw haxe_Exception.thrown("Unclosed 'if'"); - } - if(t.p == "end") { - tokens.pop(); - eelse = null; - } else if(t.p == "else") { - tokens.pop(); - eelse = this.parseBlock(tokens); - t = tokens.pop(); - if(t == null || t.p != "end") { - throw haxe_Exception.thrown("Unclosed 'else'"); - } - } else { - t.p = HxOverrides.substr(t.p,4,t.p.length - 4); - eelse = this.parse(tokens); - } - return haxe__$Template_TemplateExpr.OpIf(e,eif,eelse); - } - var pos = kwdEnd("foreach"); - if(pos >= 0) { - p = HxOverrides.substr(p,pos,p.length - pos); - var e = this.parseExpr(p); - var efor = this.parseBlock(tokens); - var t = tokens.pop(); - if(t == null || t.p != "end") { - throw haxe_Exception.thrown("Unclosed 'foreach'"); - } - return haxe__$Template_TemplateExpr.OpForeach(e,efor); - } - if(haxe_Template.expr_splitter.match(p)) { - return haxe__$Template_TemplateExpr.OpExpr(this.parseExpr(p)); - } - return haxe__$Template_TemplateExpr.OpVar(p); - } - ,parseExpr: function(data) { - var l = new haxe_ds_List(); - var expr = data; - while(haxe_Template.expr_splitter.match(data)) { - var p = haxe_Template.expr_splitter.matchedPos(); - var k = p.pos + p.len; - if(p.pos != 0) { - l.add({ p : HxOverrides.substr(data,0,p.pos), s : true}); - } - var p1 = haxe_Template.expr_splitter.matched(0); - l.add({ p : p1, s : p1.indexOf("\"") >= 0}); - data = haxe_Template.expr_splitter.matchedRight(); - } - if(data.length != 0) { - var _g_offset = 0; - var _g_s = data; - while(_g_offset < _g_s.length) { - var _g_key = _g_offset; - var _g_value = _g_s.charCodeAt(_g_offset++); - var i = _g_key; - var c = _g_value; - if(c != 32) { - l.add({ p : HxOverrides.substr(data,i,null), s : true}); - break; - } - } - } - var e; - try { - e = this.makeExpr(l); - if(!l.isEmpty()) { - throw haxe_Exception.thrown(l.first().p); - } - } catch( _g ) { - var _g1 = haxe_Exception.caught(_g).unwrap(); - if(typeof(_g1) == "string") { - var s = _g1; - throw haxe_Exception.thrown("Unexpected '" + s + "' in " + expr); - } else { - throw _g; - } - } - return function() { - try { - return e(); - } catch( _g ) { - var exc = haxe_Exception.caught(_g).unwrap(); - throw haxe_Exception.thrown("Error : " + Std.string(exc) + " in " + expr); - } - }; - } - ,makeConst: function(v) { - haxe_Template.expr_trim.match(v); - v = haxe_Template.expr_trim.matched(1); - if(HxOverrides.cca(v,0) == 34) { - var str = HxOverrides.substr(v,1,v.length - 2); - return function() { - return str; - }; - } - if(haxe_Template.expr_int.match(v)) { - var i = Std.parseInt(v); - return function() { - return i; - }; - } - if(haxe_Template.expr_float.match(v)) { - var f = parseFloat(v); - return function() { - return f; - }; - } - var me = this; - return function() { - return me.resolve(v); - }; - } - ,makePath: function(e,l) { - var p = l.first(); - if(p == null || p.p != ".") { - return e; - } - l.pop(); - var field = l.pop(); - if(field == null || !field.s) { - throw haxe_Exception.thrown(field.p); - } - var f = field.p; - haxe_Template.expr_trim.match(f); - f = haxe_Template.expr_trim.matched(1); - return this.makePath(function() { - return Reflect.field(e(),f); - },l); - } - ,makeExpr: function(l) { - return this.makePath(this.makeExpr2(l),l); - } - ,skipSpaces: function(l) { - var p = l.first(); - while(p != null) { - var _g_offset = 0; - var _g_s = p.p; - while(_g_offset < _g_s.length) { - var c = _g_s.charCodeAt(_g_offset++); - if(c != 32) { - return; - } - } - l.pop(); - p = l.first(); - } - } - ,makeExpr2: function(l) { - this.skipSpaces(l); - var p = l.pop(); - this.skipSpaces(l); - if(p == null) { - throw haxe_Exception.thrown(""); - } - if(p.s) { - return this.makeConst(p.p); - } - switch(p.p) { - case "!": - var e = this.makeExpr(l); - return function() { - var v = e(); - if(v != null) { - return v == false; - } else { - return true; - } - }; - case "(": - this.skipSpaces(l); - var e1 = this.makeExpr(l); - this.skipSpaces(l); - var p1 = l.pop(); - if(p1 == null || p1.s) { - throw haxe_Exception.thrown(p1); - } - if(p1.p == ")") { - return e1; - } - this.skipSpaces(l); - var e2 = this.makeExpr(l); - this.skipSpaces(l); - var p2 = l.pop(); - this.skipSpaces(l); - if(p2 == null || p2.p != ")") { - throw haxe_Exception.thrown(p2); - } - switch(p1.p) { - case "!=": - return function() { - return e1() != e2(); - }; - case "&&": - return function() { - return e1() && e2(); - }; - case "*": - return function() { - return e1() * e2(); - }; - case "+": - return function() { - return e1() + e2(); - }; - case "-": - return function() { - return e1() - e2(); - }; - case "/": - return function() { - return e1() / e2(); - }; - case "<": - return function() { - return e1() < e2(); - }; - case "<=": - return function() { - return e1() <= e2(); - }; - case "==": - return function() { - return e1() == e2(); - }; - case ">": - return function() { - return e1() > e2(); - }; - case ">=": - return function() { - return e1() >= e2(); - }; - case "||": - return function() { - return e1() || e2(); - }; - default: - throw haxe_Exception.thrown("Unknown operation " + p1.p); - } - break; - case "-": - var e3 = this.makeExpr(l); - return function() { - return -e3(); - }; - } - throw haxe_Exception.thrown(p.p); - } - ,run: function(e) { - switch(e._hx_index) { - case 0: - var v = e.v; - var _this = this.buf; - var x = Std.string(this.resolve(v)); - _this.b += Std.string(x); - break; - case 1: - var e1 = e.expr; - var _this = this.buf; - var x = Std.string(e1()); - _this.b += Std.string(x); - break; - case 2: - var e1 = e.expr; - var eif = e.eif; - var eelse = e.eelse; - var v = e1(); - if(v == null || v == false) { - if(eelse != null) { - this.run(eelse); - } - } else { - this.run(eif); - } - break; - case 3: - var str = e.str; - this.buf.b += str == null ? "null" : "" + str; - break; - case 4: - var l = e.l; - var _g_head = l.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var e1 = val; - this.run(e1); - } - break; - case 5: - var e1 = e.expr; - var loop = e.loop; - var v = e1(); - try { - var x = $getIterator(v); - if(x.hasNext == null) { - throw haxe_Exception.thrown(null); - } - v = x; - } catch( _g ) { - try { - if(v.hasNext == null) { - throw haxe_Exception.thrown(null); - } - } catch( _g1 ) { - throw haxe_Exception.thrown("Cannot iter on " + Std.string(v)); - } - } - this.stack.push(this.context); - var v1 = v; - var ctx = v1; - while(ctx.hasNext()) { - var ctx1 = ctx.next(); - this.context = ctx1; - this.run(loop); - } - this.context = this.stack.pop(); - break; - case 6: - var m = e.name; - var params = e.params; - var v = Reflect.field(this.macros,m); - var pl = []; - var old = this.buf; - pl.push($bind(this,this.resolve)); - var _g_head = params.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var p = val; - if(p._hx_index == 0) { - var v1 = p.v; - pl.push(this.resolve(v1)); - } else { - this.buf = new StringBuf(); - this.run(p); - pl.push(this.buf.b); - } - } - this.buf = old; - try { - var _this = this.buf; - var x = Std.string(v.apply(this.macros,pl)); - _this.b += Std.string(x); - } catch( _g ) { - var e = haxe_Exception.caught(_g).unwrap(); - var plstr; - try { - plstr = pl.join(","); - } catch( _g1 ) { - plstr = "???"; - } - var msg = "Macro call " + m + "(" + plstr + ") failed (" + Std.string(e) + ")"; - throw haxe_Exception.thrown(msg); - } - break; - } - } -}; -var haxe_ValueException = function(value,previous,native) { - haxe_Exception.call(this,String(value),previous,native); - this.value = value; -}; -haxe_ValueException.__name__ = true; -haxe_ValueException.__super__ = haxe_Exception; -haxe_ValueException.prototype = $extend(haxe_Exception.prototype,{ - unwrap: function() { - return this.value; - } -}); -var haxe_ds_List = function() { - this.length = 0; -}; -haxe_ds_List.__name__ = true; -haxe_ds_List.prototype = { - add: function(item) { - var x = new haxe_ds__$List_ListNode(item,null); - if(this.h == null) { - this.h = x; - } else { - this.q.next = x; - } - this.q = x; - this.length++; - } - ,push: function(item) { - var x = new haxe_ds__$List_ListNode(item,this.h); - this.h = x; - if(this.q == null) { - this.q = x; - } - this.length++; - } - ,first: function() { - if(this.h == null) { - return null; - } else { - return this.h.item; - } - } - ,pop: function() { - if(this.h == null) { - return null; - } - var x = this.h.item; - this.h = this.h.next; - if(this.h == null) { - this.q = null; - } - this.length--; - return x; - } - ,isEmpty: function() { - return this.h == null; - } - ,toString: function() { - var s_b = ""; - var first = true; - var l = this.h; - s_b += "{"; - while(l != null) { - if(first) { - first = false; - } else { - s_b += ", "; - } - s_b += Std.string(Std.string(l.item)); - l = l.next; - } - s_b += "}"; - return s_b; - } -}; -var haxe_ds__$List_ListNode = function(item,next) { - this.item = item; - this.next = next; -}; -haxe_ds__$List_ListNode.__name__ = true; -var js_Boot = function() { }; -js_Boot.__name__ = true; -js_Boot.__string_rec = function(o,s) { - if(o == null) { - return "null"; - } - if(s.length >= 5) { - return "<...>"; - } - var t = typeof(o); - if(t == "function" && (o.__name__ || o.__ename__)) { - t = "object"; - } - switch(t) { - case "function": - return ""; - case "object": - if(o.__enum__) { - var e = $hxEnums[o.__enum__]; - var con = e.__constructs__[o._hx_index]; - var n = con._hx_name; - if(con.__params__) { - s = s + "\t"; - return n + "(" + ((function($this) { - var $r; - var _g = []; - { - var _g1 = 0; - var _g2 = con.__params__; - while(true) { - if(!(_g1 < _g2.length)) { - break; - } - var p = _g2[_g1]; - _g1 = _g1 + 1; - _g.push(js_Boot.__string_rec(o[p],s)); - } - } - $r = _g; - return $r; - }(this))).join(",") + ")"; - } else { - return n; - } - } - if(((o) instanceof Array)) { - var str = "["; - s += "\t"; - var _g = 0; - var _g1 = o.length; - while(_g < _g1) { - var i = _g++; - str += (i > 0 ? "," : "") + js_Boot.__string_rec(o[i],s); - } - str += "]"; - return str; - } - var tostr; - try { - tostr = o.toString; - } catch( _g ) { - return "???"; - } - if(tostr != null && tostr != Object.toString && typeof(tostr) == "function") { - var s2 = o.toString(); - if(s2 != "[object Object]") { - return s2; - } - } - var str = "{\n"; - s += "\t"; - var hasp = o.hasOwnProperty != null; - var k = null; - for( k in o ) { - if(hasp && !o.hasOwnProperty(k)) { - continue; - } - if(k == "prototype" || k == "__class__" || k == "__super__" || k == "__interfaces__" || k == "__properties__") { - continue; - } - if(str.length != 2) { - str += ", \n"; - } - str += s + k + " : " + js_Boot.__string_rec(o[k],s); - } - s = s.substring(1); - str += "\n" + s + "}"; - return str; - case "string": - return o; - default: - return String(o); - } -}; -var xrfragment_Filter = $hx_exports["xrfragment"]["Filter"] = function(str) { - this.q = { }; - this.str = ""; - if(str != null) { - this.parse(str); - } -}; -xrfragment_Filter.__name__ = true; -xrfragment_Filter.prototype = { - toObject: function() { - return Reflect.copy(this.q); - } - ,get: function() { - return Reflect.copy(this.q); - } - ,parse: function(str) { - var token = str.split(" "); - var q = { }; - var process = function(str,prefix) { - if(prefix == null) { - prefix = ""; - } - str = StringTools.trim(str); - var k = str.split("=")[0]; - var v = str.split("=")[1]; - var filter = { }; - if(q[prefix + k]) { - filter = q[prefix + k]; - } - if(xrfragment_XRF.isProp.match(str)) { - var oper = ""; - if(str.indexOf(">") != -1) { - oper = ">"; - } - if(str.indexOf("<") != -1) { - oper = "<"; - } - if(xrfragment_XRF.isExclude.match(k)) { - k = HxOverrides.substr(k,1,null); - } - v = HxOverrides.substr(v,oper.length,null); - if(oper.length == 0) { - oper = "="; - } - var rule = { }; - if(xrfragment_XRF.isNumber.match(v)) { - rule[oper] = parseFloat(v); - } else { - rule[oper] = v; - } - q["expr"] = rule; - } - var value = xrfragment_XRF.isDeep.match(str) ? k.split("*").length - 1 : 0; - q["deep"] = value; - var value = xrfragment_XRF.isExclude.match(str) ? false : true; - q["show"] = value; - var value = k.replace(xrfragment_XRF.operators.r,""); - q["key"] = value; - q["value"] = v; - }; - var _g = 0; - var _g1 = token.length; - while(_g < _g1) { - var i = _g++; - process(token[i]); - } - return this.q = q; - } - ,test: function(obj) { - var qualify = false; - var _g = 0; - var _g1 = Reflect.fields(obj); - while(_g < _g1.length) { - var k = _g1[_g]; - ++_g; - var v = Std.string(Reflect.field(obj,k)); - if(this.testProperty(k,v)) { - qualify = true; - } - } - var _g = 0; - var _g1 = Reflect.fields(obj); - while(_g < _g1.length) { - var k = _g1[_g]; - ++_g; - var v = Std.string(Reflect.field(obj,k)); - if(this.testProperty(k,v,true)) { - qualify = false; - } - } - return qualify; - } - ,testProperty: function(property,value,exclude) { - var conds = 0; - var fails = 0; - var qualify = 0; - var testprop = function(expr) { - conds += 1; - fails += expr ? 0 : 1; - return expr; - }; - if(this.q[value] != null) { - var v = this.q[value]; - if(v[property] != null) { - return v[property]; - } - } - if(Reflect.field(this.q,"expr")) { - var f = Reflect.field(this.q,"expr"); - if(!Reflect.field(this.q,"show")) { - if(Reflect.field(f,"!=") != null && testprop((value == null ? "null" : "" + value) == Std.string(Reflect.field(f,"!="))) && exclude) { - ++qualify; - } - } else { - if(Reflect.field(f,"*") != null && testprop(parseFloat(value) != null)) { - ++qualify; - } - if(Reflect.field(f,">") != null && testprop(parseFloat(value) >= parseFloat(Reflect.field(f,">")))) { - ++qualify; - } - if(Reflect.field(f,"<") != null && testprop(parseFloat(value) <= parseFloat(Reflect.field(f,"<")))) { - ++qualify; - } - if(Reflect.field(f,"=") != null && (testprop(value == Reflect.field(f,"=")) || testprop(parseFloat(value) == parseFloat(Reflect.field(f,"="))))) { - ++qualify; - } - } - } - return qualify > 0; - } -}; -var xrfragment_Parser = $hx_exports["xrfragment"]["Parser"] = function() { }; -xrfragment_Parser.__name__ = true; -xrfragment_Parser.parse = function(key,value,store,index) { - var Frag_h = Object.create(null); - Frag_h["#"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_PREDEFINED_VIEW | xrfragment_XRF.PV_EXECUTE; - Frag_h["src"] = xrfragment_XRF.T_URL; - Frag_h["href"] = xrfragment_XRF.T_URL | xrfragment_XRF.T_PREDEFINED_VIEW; - Frag_h["tag"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["pos"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_VECTOR3 | xrfragment_XRF.T_STRING | xrfragment_XRF.METADATA | xrfragment_XRF.NAVIGATOR; - Frag_h["rot"] = xrfragment_XRF.QUERY_OPERATOR | xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_VECTOR3 | xrfragment_XRF.METADATA | xrfragment_XRF.NAVIGATOR; - Frag_h["t"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_FLOAT | xrfragment_XRF.T_VECTOR2 | xrfragment_XRF.NAVIGATOR | xrfragment_XRF.METADATA; - Frag_h["s"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_MEDIAFRAG; - Frag_h["loop"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_PREDEFINED_VIEW; - Frag_h["uv"] = xrfragment_XRF.T_VECTOR2 | xrfragment_XRF.T_MEDIAFRAG; - Frag_h["namespace"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["SPDX"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["unit"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["description"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - var keyStripped = key.replace(xrfragment_XRF.operators.r,""); - var isPVDynamic = key.length > 0 && !Object.prototype.hasOwnProperty.call(Frag_h,key); - if(isPVDynamic) { - var v = new xrfragment_XRF(key,xrfragment_XRF.PV_EXECUTE | xrfragment_XRF.NAVIGATOR,index); - v.validate(value); - v.flags = xrfragment_XRF.set(xrfragment_XRF.T_DYNAMICKEY,v.flags); - if(!Object.prototype.hasOwnProperty.call(Frag_h,key)) { - v.flags = xrfragment_XRF.set(xrfragment_XRF.CUSTOMFRAG,v.flags); - } - if(value.length == 0) { - v.flags = xrfragment_XRF.set(xrfragment_XRF.T_DYNAMICKEYVALUE,v.flags); - } - store[keyStripped] = v; - return true; - } - var v = new xrfragment_XRF(key,Frag_h[key],index); - if(Object.prototype.hasOwnProperty.call(Frag_h,key)) { - if(!v.validate(value)) { - console.log("src/xrfragment/Parser.hx:67:","⚠ fragment '" + key + "' has incompatible value (" + value + ")"); - return false; - } - store[keyStripped] = v; - if(xrfragment_Parser.debug) { - console.log("src/xrfragment/Parser.hx:71:","✔ " + key + ": " + v.string); - } - } else { - if(typeof(value) == "string") { - v.guessType(v,value); - } - v.flags = xrfragment_XRF.set(xrfragment_XRF.CUSTOMFRAG,v.flags); - store[keyStripped] = v; - } - return true; -}; -xrfragment_Parser.getMetaData = function() { - var meta = { title : ["title","og:title","dc.title"], description : ["aria-description","og:description","dc.description"], author : ["author","dc.creator"], publisher : ["publisher","dc.publisher"], website : ["og:site_name","og:url","dc.publisher"], license : ["SPDX","dc.rights"]}; - return meta; -}; -var xrfragment_URI = $hx_exports["xrfragment"]["URI"] = function() { - this.XRF = { }; - this.hash = { }; - this.fragment = ""; -}; -xrfragment_URI.__name__ = true; -xrfragment_URI.parseFragment = function(url,filter) { - var store = { }; - if(url == null || url.indexOf("#") == -1) { - return store; - } - var fragment = url.split("#"); - var splitArray = fragment[1].split("&"); - var _g = 0; - var _g1 = splitArray.length; - while(_g < _g1) { - var i = _g++; - var splitByEqual = splitArray[i].split("="); - var regexPlus = new EReg("\\+","g"); - var key = splitByEqual[0]; - var value = ""; - if(splitByEqual.length > 1) { - if(xrfragment_XRF.isVector.match(splitByEqual[1])) { - value = splitByEqual[1]; - } else { - var s = regexPlus.split(splitByEqual[1]).join(" "); - value = decodeURIComponent(s.split("+").join(" ")); - } - } - var ok = xrfragment_Parser.parse(key,value,store,i); - } - if(filter != null && filter != 0) { - var _g = 0; - var _g1 = Reflect.fields(store); - while(_g < _g1.length) { - var key = _g1[_g]; - ++_g; - var xrf = store[key]; - if(!xrf.is(filter)) { - Reflect.deleteField(store,key); - } - } - } - return store; -}; -xrfragment_URI.template = function(uri,vars) { - var parts = uri.split("#"); - if(parts.length == 1) { - return uri; - } - var frag = parts[1]; - frag = StringTools.replace(frag,"{","::"); - frag = StringTools.replace(frag,"}","::"); - frag = new haxe_Template(frag).execute(vars); - frag = StringTools.replace(frag,"null",""); - parts[1] = frag; - return parts.join("#"); -}; -xrfragment_URI.parse = function(stringUrl,flags) { - var r = new EReg("^(?:(?![^:@]+:[^:@/]*@)([^:/?#.]+):)?(?://)?((?:(([^:@]*)(?::([^:@]*))?)?@)?([^:/?#]*)(?::(\\d*))?)(((/(?:[^?#](?![^?#/]*\\.[^?#/.]+(?:[?#]|$)))*/?)?([^?#/]*))(?:\\?([^#]*))?(?:#(.*))?)",""); - if(stringUrl.indexOf("://") == -1 && stringUrl.charAt(0) != "/") { - stringUrl = "/" + stringUrl; - } - r.match(stringUrl); - var url = new xrfragment_URI(); - var _g = 0; - var _g1 = xrfragment_URI._parts.length; - while(_g < _g1) { - var i = _g++; - url[xrfragment_URI._parts[i]] = r.matched(i); - } - if(xrfragment_URI.isRelative(url) == true) { - if(url.directory == null && url.host != null) { - url.file = url.host; - } - url.host = ""; - } - url.hash = { }; - if(url.fragment != null && url.fragment.length > 0) { - url.XRF = xrfragment_URI.parseFragment("#" + url.fragment,flags); - var key; - var _g = 0; - var _g1 = Reflect.fields(url.XRF); - while(_g < _g1.length) { - var key = _g1[_g]; - ++_g; - var v = url.XRF[key]; - url.hash[key] = v["string"]; - } - } - xrfragment_URI.computeVars(url); - return url; -}; -xrfragment_URI.computeVars = function(url) { - var r_r = new RegExp("//","g".split("u").join("")); - if(url.directory != null && url.directory.indexOf("//") != -1) { - url.directory = url.directory.replace(r_r,"/"); - } - if(url.path != null && url.path.indexOf("//") != -1) { - url.path = url.path.replace(r_r,"/"); - } - if(url.file != null && url.file.indexOf("//") != -1) { - url.file = url.file.replace(r_r,"/"); - } - url.URN = url.scheme + "://" + url.host; - if(url.port != null) { - url.URN += ":" + url.port; - } - url.URN += url.directory; - if(url.file != null) { - var parts = url.file.split("."); - if(parts.length > 1) { - url.fileExt = parts.pop(); - } - } -}; -xrfragment_URI.toString = function(url) { - var result = ""; - if(url.scheme != null) { - result += url.scheme + "://"; - } - if(url.user != null) { - result += url.user + ":"; - } - if(url.password != null) { - result += url.password + "@"; - } - if(url.host != null) { - result += url.host; - } - if(url.port != null) { - result += ":" + url.port; - } - if(url.directory != null) { - result += url.directory; - } - if(url.file != null) { - result += url.file; - } - if(url.query != null) { - result += "?" + url.query; - } - if(url.fragment != null) { - result += "#" + url.fragment; - } - return result; -}; -xrfragment_URI.appendURI = function(url,appendedURI) { - if(xrfragment_URI.isRelative(url) == true) { - return xrfragment_URI.appendToRelativeURI(url,appendedURI); - } else { - return xrfragment_URI.appendToAbsoluteURI(url,appendedURI); - } -}; -xrfragment_URI.isRelative = function(url) { - return url.scheme == null; -}; -xrfragment_URI.appendToRelativeURI = function(url,appendedURI) { - if(url.directory == null || url.host == null) { - return xrfragment_URI.cloneURI(appendedURI); - } - var resultURI = new xrfragment_URI(); - resultURI.host = url.host; - resultURI.directory = url.directory; - if(appendedURI.host != null) { - resultURI.directory += appendedURI.host; - } - if(appendedURI.directory != null) { - var directory = appendedURI.directory; - if(appendedURI.host == null) { - resultURI.directory += HxOverrides.substr(directory,1,null); - } else { - resultURI.directory += directory; - } - } - if(appendedURI.file != null) { - resultURI.file = appendedURI.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(appendedURI.query != null) { - resultURI.query = appendedURI.query; - } - if(appendedURI.fragment != null) { - resultURI.fragment = appendedURI.fragment; - } - return resultURI; -}; -xrfragment_URI.appendToAbsoluteURI = function(url,appendedURI) { - var resultURI = new xrfragment_URI(); - if(url.scheme != null) { - resultURI.scheme = url.scheme; - } - if(url.host != null) { - resultURI.host = url.host; - } - var directory = ""; - if(url.directory != null) { - directory = url.directory; - } - if(appendedURI.host != null) { - appendedURI.directory += appendedURI.host; - } - if(appendedURI.directory != null) { - directory += appendedURI.directory; - } - resultURI.directory = directory; - if(appendedURI.file != null) { - resultURI.file = appendedURI.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(appendedURI.query != null) { - resultURI.query = appendedURI.query; - } - if(appendedURI.fragment != null) { - resultURI.fragment = appendedURI.fragment; - } - return resultURI; -}; -xrfragment_URI.toAbsolute = function(url,newUrl) { - var newURI = xrfragment_URI.parse(newUrl,0); - var resultURI = new xrfragment_URI(); - resultURI.port = url.port; - resultURI.source = newUrl; - if(newURI.scheme != null) { - resultURI.scheme = newURI.scheme; - } else { - resultURI.scheme = url.scheme; - } - if(newURI.host != null && newURI.host.length > 0) { - resultURI.host = newURI.host; - resultURI.port = null; - resultURI.fragment = null; - resultURI.hash = { }; - resultURI.XRF = { }; - if(newURI.port != null) { - resultURI.port = newURI.port; - } - } else { - resultURI.host = url.host; - } - var directory = ""; - if(url.directory != null) { - directory = url.directory; - } - if(newURI.directory != null) { - if(newUrl.charAt(0) != "/" && newUrl.indexOf("://") == -1) { - var stripRelative_r = new RegExp("\\./.*","".split("u").join("")); - directory = directory.replace(stripRelative_r,""); - directory += newURI.directory; - } else { - directory = newURI.directory; - } - } - resultURI.directory = directory; - if(newURI.file != null) { - resultURI.file = newURI.file; - } else { - resultURI.file = url.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(newURI.query != null) { - resultURI.query = newURI.query; - } - if(newURI.fragment != null) { - resultURI.fragment = newURI.fragment; - } - resultURI.hash = newURI.hash; - resultURI.XRF = newURI.XRF; - xrfragment_URI.computeVars(resultURI); - return resultURI; -}; -xrfragment_URI.cloneURI = function(url) { - var clonedURI = new xrfragment_URI(); - clonedURI.url = url.url; - clonedURI.source = url.source; - clonedURI.scheme = url.scheme; - clonedURI.authority = url.authority; - clonedURI.userInfo = url.userInfo; - clonedURI.password = url.password; - clonedURI.host = url.host; - clonedURI.port = url.port; - clonedURI.relative = url.relative; - clonedURI.path = url.path; - clonedURI.directory = url.directory; - clonedURI.file = url.file; - clonedURI.query = url.query; - clonedURI.fragment = url.fragment; - return clonedURI; -}; -var xrfragment_XRF = $hx_exports["xrfragment"]["XRF"] = function(_fragment,_flags,_index) { - this.floats = []; - this.shift = []; - this.fragment = _fragment; - this.flags = _flags; - this.index = _index; -}; -xrfragment_XRF.__name__ = true; -xrfragment_XRF.set = function(flag,flags) { - return flags | flag; -}; -xrfragment_XRF.unset = function(flag,flags) { - return flags & ~flag; -}; -xrfragment_XRF.prototype = { - is: function(flag) { - var v = this.flags; - if(!(typeof(v) == "number" && ((v | 0) === v))) { - this.flags = 0; - } - return (this.flags & flag) != 0; - } - ,validate: function(value) { - this.guessType(this,value); - var ok = true; - if(value.length == 0 && !this.is(xrfragment_XRF.T_PREDEFINED_VIEW)) { - ok = false; - } - if(!this.is(xrfragment_XRF.T_FLOAT) && this.is(xrfragment_XRF.T_VECTOR2) && !(typeof(this.x) == "number" && typeof(this.y) == "number")) { - ok = false; - } - if(!(this.is(xrfragment_XRF.T_VECTOR2) || this.is(xrfragment_XRF.T_STRING)) && this.is(xrfragment_XRF.T_VECTOR3) && !(typeof(this.x) == "number" && typeof(this.y) == "number" && typeof(this.z) == "number")) { - ok = false; - } - return ok; - } - ,guessType: function(v,str) { - v.string = str; - if(xrfragment_XRF.isReset.match(v.fragment)) { - v.reset = true; - } - if(v.fragment == "loop") { - v.loop = true; - } - if(typeof(str) != "string") { - return; - } - if(str.length > 0) { - if(xrfragment_XRF.isXRFScheme.match(str)) { - v.xrfScheme = true; - str = str.replace(xrfragment_XRF.isXRFScheme.r,""); - v.string = str; - } - if(str.split(",").length > 1) { - var xyzn = str.split(","); - if(xyzn.length > 0) { - v.x = parseFloat(xyzn[0]); - } - if(xyzn.length > 1) { - v.y = parseFloat(xyzn[1]); - } - if(xyzn.length > 2) { - v.z = parseFloat(xyzn[2]); - } - var _g = 0; - var _g1 = xyzn.length; - while(_g < _g1) { - var i = _g++; - v.shift.push(xrfragment_XRF.isShift.match(xyzn[i])); - v.floats.push(parseFloat(xyzn[i].replace(xrfragment_XRF.isShift.r,""))); - } - } - if(xrfragment_XRF.isColor.match(str)) { - v.color = str; - } - if(xrfragment_XRF.isFloat.match(str)) { - v.x = parseFloat(str); - v.float = v.x; - } - if(xrfragment_XRF.isInt.match(str)) { - v.int = Std.parseInt(str); - v.x = v.int; - v.floats.push(v.x); - } - v.filter = new xrfragment_Filter(v.fragment + "=" + v.string); - } else { - v.filter = new xrfragment_Filter(v.fragment); - } - } -}; -function $getIterator(o) { if( o instanceof Array ) return new haxe_iterators_ArrayIterator(o); else return o.iterator(); } -function $bind(o,m) { if( m == null ) return null; if( m.__id__ == null ) m.__id__ = $global.$haxeUID++; var f; if( o.hx__closures__ == null ) o.hx__closures__ = {}; else f = o.hx__closures__[m.__id__]; if( f == null ) { f = m.bind(o); o.hx__closures__[m.__id__] = f; } return f; } -$global.$haxeUID |= 0; -if(typeof(performance) != "undefined" ? typeof(performance.now) == "function" : false) { - HxOverrides.now = performance.now.bind(performance); -} -if( String.fromCodePoint == null ) String.fromCodePoint = function(c) { return c < 0x10000 ? String.fromCharCode(c) : String.fromCharCode((c>>10)+0xD7C0)+String.fromCharCode((c&0x3FF)+0xDC00); } -String.__name__ = true; -Array.__name__ = true; -js_Boot.__toStr = ({ }).toString; -haxe_Template.splitter = new EReg("(::[A-Za-z0-9_ ()&|!+=/><*.\"-]+::|\\$\\$([A-Za-z0-9_-]+)\\()",""); -haxe_Template.expr_splitter = new EReg("(\\(|\\)|[ \r\n\t]*\"[^\"]*\"[ \r\n\t]*|[!+=/><*.&|-]+)",""); -haxe_Template.expr_trim = new EReg("^[ ]*([^ ]+)[ ]*$",""); -haxe_Template.expr_int = new EReg("^[0-9]+$",""); -haxe_Template.expr_float = new EReg("^([+-]?)(?=\\d|,\\d)\\d*(,\\d*)?([Ee]([+-]?\\d+))?$",""); -haxe_Template.globals = { }; -haxe_Template.hxKeepArrayIterator = new haxe_iterators_ArrayIterator([]); -xrfragment_Parser.error = ""; -xrfragment_Parser.debug = false; -xrfragment_URI.__meta__ = { statics : { template : { keep : null}}}; -xrfragment_URI._parts = ["source","scheme","authority","userInfo","user","password","host","port","relative","path","directory","file","query","fragment"]; -xrfragment_XRF.IMMUTABLE = 1; -xrfragment_XRF.PROP_BIND = 2; -xrfragment_XRF.QUERY_OPERATOR = 4; -xrfragment_XRF.PROMPT = 8; -xrfragment_XRF.CUSTOMFRAG = 16; -xrfragment_XRF.NAVIGATOR = 32; -xrfragment_XRF.METADATA = 64; -xrfragment_XRF.PV_OVERRIDE = 128; -xrfragment_XRF.PV_EXECUTE = 256; -xrfragment_XRF.T_COLOR = 8192; -xrfragment_XRF.T_INT = 16384; -xrfragment_XRF.T_FLOAT = 32768; -xrfragment_XRF.T_VECTOR2 = 65536; -xrfragment_XRF.T_VECTOR3 = 131072; -xrfragment_XRF.T_URL = 262144; -xrfragment_XRF.T_PREDEFINED_VIEW = 524288; -xrfragment_XRF.T_STRING = 1048576; -xrfragment_XRF.T_MEDIAFRAG = 2097152; -xrfragment_XRF.T_DYNAMICKEY = 4194304; -xrfragment_XRF.T_DYNAMICKEYVALUE = 8388608; -xrfragment_XRF.isColor = new EReg("^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$",""); -xrfragment_XRF.isInt = new EReg("^[-0-9]+$",""); -xrfragment_XRF.isFloat = new EReg("^[-0-9]+\\.[0-9]+$",""); -xrfragment_XRF.isVector = new EReg("([,]+|\\w)",""); -xrfragment_XRF.isUrl = new EReg("(://)?\\..*",""); -xrfragment_XRF.isUrlOrPretypedView = new EReg("(^#|://)?\\..*",""); -xrfragment_XRF.isString = new EReg(".*",""); -xrfragment_XRF.operators = new EReg("(^[-]|^[!]|[\\*]$)","g"); -xrfragment_XRF.isProp = new EReg("^.*=[><=]?",""); -xrfragment_XRF.isExclude = new EReg("^-",""); -xrfragment_XRF.isDeep = new EReg("\\*",""); -xrfragment_XRF.isNumber = new EReg("^[0-9\\.]+$",""); -xrfragment_XRF.isMediaFrag = new EReg("^([0-9\\.,\\*+-]+)$",""); -xrfragment_XRF.isReset = new EReg("^!",""); -xrfragment_XRF.isShift = new EReg("^(\\+|--)",""); -xrfragment_XRF.isXRFScheme = new EReg("^xrf://",""); -})(typeof window != "undefined" ? window : typeof global != "undefined" ? global : typeof self != "undefined" ? self : this); -var xrfragment = $hx_exports["xrfragment"]; -export default xrfragment; -// Generated by Haxe 4.3.3 -var $hx_exports = typeof exports != "undefined" ? exports : typeof window != "undefined" ? window : typeof self != "undefined" ? self : this; -(function ($global) { "use strict"; -$hx_exports["xrfragment"] = $hx_exports["xrfragment"] || {}; -var $estr = function() { return js_Boot.__string_rec(this,''); },$hxEnums = $hxEnums || {},$_; -function $extend(from, fields) { - var proto = Object.create(from); - for (var name in fields) proto[name] = fields[name]; - if( fields.toString !== Object.prototype.toString ) proto.toString = fields.toString; - return proto; -} -var EReg = function(r,opt) { - this.r = new RegExp(r,opt.split("u").join("")); -}; -EReg.__name__ = true; -EReg.prototype = { - match: function(s) { - if(this.r.global) { - this.r.lastIndex = 0; - } - this.r.m = this.r.exec(s); - this.r.s = s; - return this.r.m != null; - } - ,matched: function(n) { - if(this.r.m != null && n >= 0 && n < this.r.m.length) { - return this.r.m[n]; - } else { - throw haxe_Exception.thrown("EReg::matched"); - } - } - ,matchedRight: function() { - if(this.r.m == null) { - throw haxe_Exception.thrown("No string matched"); - } - var sz = this.r.m.index + this.r.m[0].length; - return HxOverrides.substr(this.r.s,sz,this.r.s.length - sz); - } - ,matchedPos: function() { - if(this.r.m == null) { - throw haxe_Exception.thrown("No string matched"); - } - return { pos : this.r.m.index, len : this.r.m[0].length}; - } - ,split: function(s) { - var d = "#__delim__#"; - return s.replace(this.r,d).split(d); - } -}; -var HxOverrides = function() { }; -HxOverrides.__name__ = true; -HxOverrides.cca = function(s,index) { - var x = s.charCodeAt(index); - if(x != x) { - return undefined; - } - return x; -}; -HxOverrides.substr = function(s,pos,len) { - if(len == null) { - len = s.length; - } else if(len < 0) { - if(pos == 0) { - len = s.length + len; - } else { - return ""; - } - } - return s.substr(pos,len); -}; -HxOverrides.now = function() { - return Date.now(); -}; -Math.__name__ = true; -var Reflect = function() { }; -Reflect.__name__ = true; -Reflect.field = function(o,field) { - try { - return o[field]; - } catch( _g ) { - return null; - } -}; -Reflect.getProperty = function(o,field) { - var tmp; - if(o == null) { - return null; - } else { - var tmp1; - if(o.__properties__) { - tmp = o.__properties__["get_" + field]; - tmp1 = tmp; - } else { - tmp1 = false; - } - if(tmp1) { - return o[tmp](); - } else { - return o[field]; - } - } -}; -Reflect.fields = function(o) { - var a = []; - if(o != null) { - var hasOwnProperty = Object.prototype.hasOwnProperty; - for( var f in o ) { - if(f != "__id__" && f != "hx__closures__" && hasOwnProperty.call(o,f)) { - a.push(f); - } - } - } - return a; -}; -Reflect.isObject = function(v) { - if(v == null) { - return false; - } - var t = typeof(v); - if(!(t == "string" || t == "object" && v.__enum__ == null)) { - if(t == "function") { - return (v.__name__ || v.__ename__) != null; - } else { - return false; - } - } else { - return true; - } -}; -Reflect.deleteField = function(o,field) { - if(!Object.prototype.hasOwnProperty.call(o,field)) { - return false; - } - delete(o[field]); - return true; -}; -Reflect.copy = function(o) { - if(o == null) { - return null; - } - var o2 = { }; - var _g = 0; - var _g1 = Reflect.fields(o); - while(_g < _g1.length) { - var f = _g1[_g]; - ++_g; - o2[f] = Reflect.field(o,f); - } - return o2; -}; -var Std = function() { }; -Std.__name__ = true; -Std.string = function(s) { - return js_Boot.__string_rec(s,""); -}; -Std.parseInt = function(x) { - var v = parseInt(x); - if(isNaN(v)) { - return null; - } - return v; -}; -var StringBuf = function() { - this.b = ""; -}; -StringBuf.__name__ = true; -var StringTools = function() { }; -StringTools.__name__ = true; -StringTools.isSpace = function(s,pos) { - var c = HxOverrides.cca(s,pos); - if(!(c > 8 && c < 14)) { - return c == 32; - } else { - return true; - } -}; -StringTools.ltrim = function(s) { - var l = s.length; - var r = 0; - while(r < l && StringTools.isSpace(s,r)) ++r; - if(r > 0) { - return HxOverrides.substr(s,r,l - r); - } else { - return s; - } -}; -StringTools.rtrim = function(s) { - var l = s.length; - var r = 0; - while(r < l && StringTools.isSpace(s,l - r - 1)) ++r; - if(r > 0) { - return HxOverrides.substr(s,0,l - r); - } else { - return s; - } -}; -StringTools.trim = function(s) { - return StringTools.ltrim(StringTools.rtrim(s)); -}; -StringTools.replace = function(s,sub,by) { - return s.split(sub).join(by); -}; -var haxe_Exception = function(message,previous,native) { - Error.call(this,message); - this.message = message; - this.__previousException = previous; - this.__nativeException = native != null ? native : this; -}; -haxe_Exception.__name__ = true; -haxe_Exception.caught = function(value) { - if(((value) instanceof haxe_Exception)) { - return value; - } else if(((value) instanceof Error)) { - return new haxe_Exception(value.message,null,value); - } else { - return new haxe_ValueException(value,null,value); - } -}; -haxe_Exception.thrown = function(value) { - if(((value) instanceof haxe_Exception)) { - return value.get_native(); - } else if(((value) instanceof Error)) { - return value; - } else { - var e = new haxe_ValueException(value); - return e; - } -}; -haxe_Exception.__super__ = Error; -haxe_Exception.prototype = $extend(Error.prototype,{ - unwrap: function() { - return this.__nativeException; - } - ,get_native: function() { - return this.__nativeException; - } - ,__properties__: {get_native:"get_native"} -}); -var haxe__$Template_TemplateExpr = $hxEnums["haxe._Template.TemplateExpr"] = { __ename__:true,__constructs__:null - ,OpVar: ($_=function(v) { return {_hx_index:0,v:v,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpVar",$_.__params__ = ["v"],$_) - ,OpExpr: ($_=function(expr) { return {_hx_index:1,expr:expr,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpExpr",$_.__params__ = ["expr"],$_) - ,OpIf: ($_=function(expr,eif,eelse) { return {_hx_index:2,expr:expr,eif:eif,eelse:eelse,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpIf",$_.__params__ = ["expr","eif","eelse"],$_) - ,OpStr: ($_=function(str) { return {_hx_index:3,str:str,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpStr",$_.__params__ = ["str"],$_) - ,OpBlock: ($_=function(l) { return {_hx_index:4,l:l,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpBlock",$_.__params__ = ["l"],$_) - ,OpForeach: ($_=function(expr,loop) { return {_hx_index:5,expr:expr,loop:loop,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpForeach",$_.__params__ = ["expr","loop"],$_) - ,OpMacro: ($_=function(name,params) { return {_hx_index:6,name:name,params:params,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpMacro",$_.__params__ = ["name","params"],$_) -}; -haxe__$Template_TemplateExpr.__constructs__ = [haxe__$Template_TemplateExpr.OpVar,haxe__$Template_TemplateExpr.OpExpr,haxe__$Template_TemplateExpr.OpIf,haxe__$Template_TemplateExpr.OpStr,haxe__$Template_TemplateExpr.OpBlock,haxe__$Template_TemplateExpr.OpForeach,haxe__$Template_TemplateExpr.OpMacro]; -var haxe_iterators_ArrayIterator = function(array) { - this.current = 0; - this.array = array; -}; -haxe_iterators_ArrayIterator.__name__ = true; -haxe_iterators_ArrayIterator.prototype = { - hasNext: function() { - return this.current < this.array.length; - } - ,next: function() { - return this.array[this.current++]; - } -}; -var haxe_Template = function(str) { - var tokens = this.parseTokens(str); - this.expr = this.parseBlock(tokens); - if(!tokens.isEmpty()) { - throw haxe_Exception.thrown("Unexpected '" + Std.string(tokens.first().s) + "'"); - } -}; -haxe_Template.__name__ = true; -haxe_Template.prototype = { - execute: function(context,macros) { - this.macros = macros == null ? { } : macros; - this.context = context; - this.stack = new haxe_ds_List(); - this.buf = new StringBuf(); - this.run(this.expr); - return this.buf.b; - } - ,resolve: function(v) { - if(v == "__current__") { - return this.context; - } - if(Reflect.isObject(this.context)) { - var value = Reflect.getProperty(this.context,v); - if(value != null || Object.prototype.hasOwnProperty.call(this.context,v)) { - return value; - } - } - var _g_head = this.stack.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var ctx = val; - var value = Reflect.getProperty(ctx,v); - if(value != null || Object.prototype.hasOwnProperty.call(ctx,v)) { - return value; - } - } - return Reflect.field(haxe_Template.globals,v); - } - ,parseTokens: function(data) { - var tokens = new haxe_ds_List(); - while(haxe_Template.splitter.match(data)) { - var p = haxe_Template.splitter.matchedPos(); - if(p.pos > 0) { - tokens.add({ p : HxOverrides.substr(data,0,p.pos), s : true, l : null}); - } - if(HxOverrides.cca(data,p.pos) == 58) { - tokens.add({ p : HxOverrides.substr(data,p.pos + 2,p.len - 4), s : false, l : null}); - data = haxe_Template.splitter.matchedRight(); - continue; - } - var parp = p.pos + p.len; - var npar = 1; - var params = []; - var part = ""; - while(true) { - var c = HxOverrides.cca(data,parp); - ++parp; - if(c == 40) { - ++npar; - } else if(c == 41) { - --npar; - if(npar <= 0) { - break; - } - } else if(c == null) { - throw haxe_Exception.thrown("Unclosed macro parenthesis"); - } - if(c == 44 && npar == 1) { - params.push(part); - part = ""; - } else { - part += String.fromCodePoint(c); - } - } - params.push(part); - tokens.add({ p : haxe_Template.splitter.matched(2), s : false, l : params}); - data = HxOverrides.substr(data,parp,data.length - parp); - } - if(data.length > 0) { - tokens.add({ p : data, s : true, l : null}); - } - return tokens; - } - ,parseBlock: function(tokens) { - var l = new haxe_ds_List(); - while(true) { - var t = tokens.first(); - if(t == null) { - break; - } - if(!t.s && (t.p == "end" || t.p == "else" || HxOverrides.substr(t.p,0,7) == "elseif ")) { - break; - } - l.add(this.parse(tokens)); - } - if(l.length == 1) { - return l.first(); - } - return haxe__$Template_TemplateExpr.OpBlock(l); - } - ,parse: function(tokens) { - var t = tokens.pop(); - var p = t.p; - if(t.s) { - return haxe__$Template_TemplateExpr.OpStr(p); - } - if(t.l != null) { - var pe = new haxe_ds_List(); - var _g = 0; - var _g1 = t.l; - while(_g < _g1.length) { - var p1 = _g1[_g]; - ++_g; - pe.add(this.parseBlock(this.parseTokens(p1))); - } - return haxe__$Template_TemplateExpr.OpMacro(p,pe); - } - var kwdEnd = function(kwd) { - var pos = -1; - var length = kwd.length; - if(HxOverrides.substr(p,0,length) == kwd) { - pos = length; - var _g_offset = 0; - var _g_s = HxOverrides.substr(p,length,null); - while(_g_offset < _g_s.length) { - var c = _g_s.charCodeAt(_g_offset++); - if(c == 32) { - ++pos; - } else { - break; - } - } - } - return pos; - }; - var pos = kwdEnd("if"); - if(pos > 0) { - p = HxOverrides.substr(p,pos,p.length - pos); - var e = this.parseExpr(p); - var eif = this.parseBlock(tokens); - var t = tokens.first(); - var eelse; - if(t == null) { - throw haxe_Exception.thrown("Unclosed 'if'"); - } - if(t.p == "end") { - tokens.pop(); - eelse = null; - } else if(t.p == "else") { - tokens.pop(); - eelse = this.parseBlock(tokens); - t = tokens.pop(); - if(t == null || t.p != "end") { - throw haxe_Exception.thrown("Unclosed 'else'"); - } - } else { - t.p = HxOverrides.substr(t.p,4,t.p.length - 4); - eelse = this.parse(tokens); - } - return haxe__$Template_TemplateExpr.OpIf(e,eif,eelse); - } - var pos = kwdEnd("foreach"); - if(pos >= 0) { - p = HxOverrides.substr(p,pos,p.length - pos); - var e = this.parseExpr(p); - var efor = this.parseBlock(tokens); - var t = tokens.pop(); - if(t == null || t.p != "end") { - throw haxe_Exception.thrown("Unclosed 'foreach'"); - } - return haxe__$Template_TemplateExpr.OpForeach(e,efor); - } - if(haxe_Template.expr_splitter.match(p)) { - return haxe__$Template_TemplateExpr.OpExpr(this.parseExpr(p)); - } - return haxe__$Template_TemplateExpr.OpVar(p); - } - ,parseExpr: function(data) { - var l = new haxe_ds_List(); - var expr = data; - while(haxe_Template.expr_splitter.match(data)) { - var p = haxe_Template.expr_splitter.matchedPos(); - var k = p.pos + p.len; - if(p.pos != 0) { - l.add({ p : HxOverrides.substr(data,0,p.pos), s : true}); - } - var p1 = haxe_Template.expr_splitter.matched(0); - l.add({ p : p1, s : p1.indexOf("\"") >= 0}); - data = haxe_Template.expr_splitter.matchedRight(); - } - if(data.length != 0) { - var _g_offset = 0; - var _g_s = data; - while(_g_offset < _g_s.length) { - var _g_key = _g_offset; - var _g_value = _g_s.charCodeAt(_g_offset++); - var i = _g_key; - var c = _g_value; - if(c != 32) { - l.add({ p : HxOverrides.substr(data,i,null), s : true}); - break; - } - } - } - var e; - try { - e = this.makeExpr(l); - if(!l.isEmpty()) { - throw haxe_Exception.thrown(l.first().p); - } - } catch( _g ) { - var _g1 = haxe_Exception.caught(_g).unwrap(); - if(typeof(_g1) == "string") { - var s = _g1; - throw haxe_Exception.thrown("Unexpected '" + s + "' in " + expr); - } else { - throw _g; - } - } - return function() { - try { - return e(); - } catch( _g ) { - var exc = haxe_Exception.caught(_g).unwrap(); - throw haxe_Exception.thrown("Error : " + Std.string(exc) + " in " + expr); - } - }; - } - ,makeConst: function(v) { - haxe_Template.expr_trim.match(v); - v = haxe_Template.expr_trim.matched(1); - if(HxOverrides.cca(v,0) == 34) { - var str = HxOverrides.substr(v,1,v.length - 2); - return function() { - return str; - }; - } - if(haxe_Template.expr_int.match(v)) { - var i = Std.parseInt(v); - return function() { - return i; - }; - } - if(haxe_Template.expr_float.match(v)) { - var f = parseFloat(v); - return function() { - return f; - }; - } - var me = this; - return function() { - return me.resolve(v); - }; - } - ,makePath: function(e,l) { - var p = l.first(); - if(p == null || p.p != ".") { - return e; - } - l.pop(); - var field = l.pop(); - if(field == null || !field.s) { - throw haxe_Exception.thrown(field.p); - } - var f = field.p; - haxe_Template.expr_trim.match(f); - f = haxe_Template.expr_trim.matched(1); - return this.makePath(function() { - return Reflect.field(e(),f); - },l); - } - ,makeExpr: function(l) { - return this.makePath(this.makeExpr2(l),l); - } - ,skipSpaces: function(l) { - var p = l.first(); - while(p != null) { - var _g_offset = 0; - var _g_s = p.p; - while(_g_offset < _g_s.length) { - var c = _g_s.charCodeAt(_g_offset++); - if(c != 32) { - return; - } - } - l.pop(); - p = l.first(); - } - } - ,makeExpr2: function(l) { - this.skipSpaces(l); - var p = l.pop(); - this.skipSpaces(l); - if(p == null) { - throw haxe_Exception.thrown(""); - } - if(p.s) { - return this.makeConst(p.p); - } - switch(p.p) { - case "!": - var e = this.makeExpr(l); - return function() { - var v = e(); - if(v != null) { - return v == false; - } else { - return true; - } - }; - case "(": - this.skipSpaces(l); - var e1 = this.makeExpr(l); - this.skipSpaces(l); - var p1 = l.pop(); - if(p1 == null || p1.s) { - throw haxe_Exception.thrown(p1); - } - if(p1.p == ")") { - return e1; - } - this.skipSpaces(l); - var e2 = this.makeExpr(l); - this.skipSpaces(l); - var p2 = l.pop(); - this.skipSpaces(l); - if(p2 == null || p2.p != ")") { - throw haxe_Exception.thrown(p2); - } - switch(p1.p) { - case "!=": - return function() { - return e1() != e2(); - }; - case "&&": - return function() { - return e1() && e2(); - }; - case "*": - return function() { - return e1() * e2(); - }; - case "+": - return function() { - return e1() + e2(); - }; - case "-": - return function() { - return e1() - e2(); - }; - case "/": - return function() { - return e1() / e2(); - }; - case "<": - return function() { - return e1() < e2(); - }; - case "<=": - return function() { - return e1() <= e2(); - }; - case "==": - return function() { - return e1() == e2(); - }; - case ">": - return function() { - return e1() > e2(); - }; - case ">=": - return function() { - return e1() >= e2(); - }; - case "||": - return function() { - return e1() || e2(); - }; - default: - throw haxe_Exception.thrown("Unknown operation " + p1.p); - } - break; - case "-": - var e3 = this.makeExpr(l); - return function() { - return -e3(); - }; - } - throw haxe_Exception.thrown(p.p); - } - ,run: function(e) { - switch(e._hx_index) { - case 0: - var v = e.v; - var _this = this.buf; - var x = Std.string(this.resolve(v)); - _this.b += Std.string(x); - break; - case 1: - var e1 = e.expr; - var _this = this.buf; - var x = Std.string(e1()); - _this.b += Std.string(x); - break; - case 2: - var e1 = e.expr; - var eif = e.eif; - var eelse = e.eelse; - var v = e1(); - if(v == null || v == false) { - if(eelse != null) { - this.run(eelse); - } - } else { - this.run(eif); - } - break; - case 3: - var str = e.str; - this.buf.b += str == null ? "null" : "" + str; - break; - case 4: - var l = e.l; - var _g_head = l.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var e1 = val; - this.run(e1); - } - break; - case 5: - var e1 = e.expr; - var loop = e.loop; - var v = e1(); - try { - var x = $getIterator(v); - if(x.hasNext == null) { - throw haxe_Exception.thrown(null); - } - v = x; - } catch( _g ) { - try { - if(v.hasNext == null) { - throw haxe_Exception.thrown(null); - } - } catch( _g1 ) { - throw haxe_Exception.thrown("Cannot iter on " + Std.string(v)); - } - } - this.stack.push(this.context); - var v1 = v; - var ctx = v1; - while(ctx.hasNext()) { - var ctx1 = ctx.next(); - this.context = ctx1; - this.run(loop); - } - this.context = this.stack.pop(); - break; - case 6: - var m = e.name; - var params = e.params; - var v = Reflect.field(this.macros,m); - var pl = []; - var old = this.buf; - pl.push($bind(this,this.resolve)); - var _g_head = params.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var p = val; - if(p._hx_index == 0) { - var v1 = p.v; - pl.push(this.resolve(v1)); - } else { - this.buf = new StringBuf(); - this.run(p); - pl.push(this.buf.b); - } - } - this.buf = old; - try { - var _this = this.buf; - var x = Std.string(v.apply(this.macros,pl)); - _this.b += Std.string(x); - } catch( _g ) { - var e = haxe_Exception.caught(_g).unwrap(); - var plstr; - try { - plstr = pl.join(","); - } catch( _g1 ) { - plstr = "???"; - } - var msg = "Macro call " + m + "(" + plstr + ") failed (" + Std.string(e) + ")"; - throw haxe_Exception.thrown(msg); - } - break; - } - } -}; -var haxe_ValueException = function(value,previous,native) { - haxe_Exception.call(this,String(value),previous,native); - this.value = value; -}; -haxe_ValueException.__name__ = true; -haxe_ValueException.__super__ = haxe_Exception; -haxe_ValueException.prototype = $extend(haxe_Exception.prototype,{ - unwrap: function() { - return this.value; - } -}); -var haxe_ds_List = function() { - this.length = 0; -}; -haxe_ds_List.__name__ = true; -haxe_ds_List.prototype = { - add: function(item) { - var x = new haxe_ds__$List_ListNode(item,null); - if(this.h == null) { - this.h = x; - } else { - this.q.next = x; - } - this.q = x; - this.length++; - } - ,push: function(item) { - var x = new haxe_ds__$List_ListNode(item,this.h); - this.h = x; - if(this.q == null) { - this.q = x; - } - this.length++; - } - ,first: function() { - if(this.h == null) { - return null; - } else { - return this.h.item; - } - } - ,pop: function() { - if(this.h == null) { - return null; - } - var x = this.h.item; - this.h = this.h.next; - if(this.h == null) { - this.q = null; - } - this.length--; - return x; - } - ,isEmpty: function() { - return this.h == null; - } - ,toString: function() { - var s_b = ""; - var first = true; - var l = this.h; - s_b += "{"; - while(l != null) { - if(first) { - first = false; - } else { - s_b += ", "; - } - s_b += Std.string(Std.string(l.item)); - l = l.next; - } - s_b += "}"; - return s_b; - } -}; -var haxe_ds__$List_ListNode = function(item,next) { - this.item = item; - this.next = next; -}; -haxe_ds__$List_ListNode.__name__ = true; -var js_Boot = function() { }; -js_Boot.__name__ = true; -js_Boot.__string_rec = function(o,s) { - if(o == null) { - return "null"; - } - if(s.length >= 5) { - return "<...>"; - } - var t = typeof(o); - if(t == "function" && (o.__name__ || o.__ename__)) { - t = "object"; - } - switch(t) { - case "function": - return ""; - case "object": - if(o.__enum__) { - var e = $hxEnums[o.__enum__]; - var con = e.__constructs__[o._hx_index]; - var n = con._hx_name; - if(con.__params__) { - s = s + "\t"; - return n + "(" + ((function($this) { - var $r; - var _g = []; - { - var _g1 = 0; - var _g2 = con.__params__; - while(true) { - if(!(_g1 < _g2.length)) { - break; - } - var p = _g2[_g1]; - _g1 = _g1 + 1; - _g.push(js_Boot.__string_rec(o[p],s)); - } - } - $r = _g; - return $r; - }(this))).join(",") + ")"; - } else { - return n; - } - } - if(((o) instanceof Array)) { - var str = "["; - s += "\t"; - var _g = 0; - var _g1 = o.length; - while(_g < _g1) { - var i = _g++; - str += (i > 0 ? "," : "") + js_Boot.__string_rec(o[i],s); - } - str += "]"; - return str; - } - var tostr; - try { - tostr = o.toString; - } catch( _g ) { - return "???"; - } - if(tostr != null && tostr != Object.toString && typeof(tostr) == "function") { - var s2 = o.toString(); - if(s2 != "[object Object]") { - return s2; - } - } - var str = "{\n"; - s += "\t"; - var hasp = o.hasOwnProperty != null; - var k = null; - for( k in o ) { - if(hasp && !o.hasOwnProperty(k)) { - continue; - } - if(k == "prototype" || k == "__class__" || k == "__super__" || k == "__interfaces__" || k == "__properties__") { - continue; - } - if(str.length != 2) { - str += ", \n"; - } - str += s + k + " : " + js_Boot.__string_rec(o[k],s); - } - s = s.substring(1); - str += "\n" + s + "}"; - return str; - case "string": - return o; - default: - return String(o); - } -}; -var xrfragment_Filter = $hx_exports["xrfragment"]["Filter"] = function(str) { - this.q = { }; - this.str = ""; - if(str != null) { - this.parse(str); - } -}; -xrfragment_Filter.__name__ = true; -xrfragment_Filter.prototype = { - toObject: function() { - return Reflect.copy(this.q); - } - ,get: function() { - return Reflect.copy(this.q); - } - ,parse: function(str) { - var token = str.split(" "); - var q = { }; - var process = function(str,prefix) { - if(prefix == null) { - prefix = ""; - } - str = StringTools.trim(str); - var k = str.split("=")[0]; - var v = str.split("=")[1]; - var filter = { }; - if(q[prefix + k]) { - filter = q[prefix + k]; - } - if(xrfragment_XRF.isProp.match(str)) { - var oper = ""; - if(str.indexOf(">") != -1) { - oper = ">"; - } - if(str.indexOf("<") != -1) { - oper = "<"; - } - if(xrfragment_XRF.isExclude.match(k)) { - k = HxOverrides.substr(k,1,null); - } - v = HxOverrides.substr(v,oper.length,null); - if(oper.length == 0) { - oper = "="; - } - var rule = { }; - if(xrfragment_XRF.isNumber.match(v)) { - rule[oper] = parseFloat(v); - } else { - rule[oper] = v; - } - q["expr"] = rule; - } - var value = xrfragment_XRF.isDeep.match(str) ? k.split("*").length - 1 : 0; - q["deep"] = value; - var value = xrfragment_XRF.isExclude.match(str) ? false : true; - q["show"] = value; - var value = k.replace(xrfragment_XRF.operators.r,""); - q["key"] = value; - q["value"] = v; - }; - var _g = 0; - var _g1 = token.length; - while(_g < _g1) { - var i = _g++; - process(token[i]); - } - return this.q = q; - } - ,test: function(obj) { - var qualify = false; - var _g = 0; - var _g1 = Reflect.fields(obj); - while(_g < _g1.length) { - var k = _g1[_g]; - ++_g; - var v = Std.string(Reflect.field(obj,k)); - if(this.testProperty(k,v)) { - qualify = true; - } - } - var _g = 0; - var _g1 = Reflect.fields(obj); - while(_g < _g1.length) { - var k = _g1[_g]; - ++_g; - var v = Std.string(Reflect.field(obj,k)); - if(this.testProperty(k,v,true)) { - qualify = false; - } - } - return qualify; - } - ,testProperty: function(property,value,exclude) { - var conds = 0; - var fails = 0; - var qualify = 0; - var testprop = function(expr) { - conds += 1; - fails += expr ? 0 : 1; - return expr; - }; - if(this.q[value] != null) { - var v = this.q[value]; - if(v[property] != null) { - return v[property]; - } - } - if(Reflect.field(this.q,"expr")) { - var f = Reflect.field(this.q,"expr"); - if(!Reflect.field(this.q,"show")) { - if(Reflect.field(f,"!=") != null && testprop((value == null ? "null" : "" + value) == Std.string(Reflect.field(f,"!="))) && exclude) { - ++qualify; - } - } else { - if(Reflect.field(f,"*") != null && testprop(parseFloat(value) != null)) { - ++qualify; - } - if(Reflect.field(f,">") != null && testprop(parseFloat(value) >= parseFloat(Reflect.field(f,">")))) { - ++qualify; - } - if(Reflect.field(f,"<") != null && testprop(parseFloat(value) <= parseFloat(Reflect.field(f,"<")))) { - ++qualify; - } - if(Reflect.field(f,"=") != null && (testprop(value == Reflect.field(f,"=")) || testprop(parseFloat(value) == parseFloat(Reflect.field(f,"="))))) { - ++qualify; - } - } - } - return qualify > 0; - } -}; -var xrfragment_Parser = $hx_exports["xrfragment"]["Parser"] = function() { }; -xrfragment_Parser.__name__ = true; -xrfragment_Parser.parse = function(key,value,store,index) { - var Frag_h = Object.create(null); - Frag_h["#"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_PREDEFINED_VIEW | xrfragment_XRF.PV_EXECUTE; - Frag_h["src"] = xrfragment_XRF.T_URL; - Frag_h["href"] = xrfragment_XRF.T_URL | xrfragment_XRF.T_PREDEFINED_VIEW; - Frag_h["tag"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["pos"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_VECTOR3 | xrfragment_XRF.T_STRING | xrfragment_XRF.METADATA | xrfragment_XRF.NAVIGATOR; - Frag_h["rot"] = xrfragment_XRF.QUERY_OPERATOR | xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_VECTOR3 | xrfragment_XRF.METADATA | xrfragment_XRF.NAVIGATOR; - Frag_h["t"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_FLOAT | xrfragment_XRF.T_VECTOR2 | xrfragment_XRF.NAVIGATOR | xrfragment_XRF.METADATA; - Frag_h["s"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_MEDIAFRAG; - Frag_h["loop"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_PREDEFINED_VIEW; - Frag_h["uv"] = xrfragment_XRF.T_VECTOR2 | xrfragment_XRF.T_MEDIAFRAG; - Frag_h["namespace"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["SPDX"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["unit"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["description"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - var keyStripped = key.replace(xrfragment_XRF.operators.r,""); - var isPVDynamic = key.length > 0 && !Object.prototype.hasOwnProperty.call(Frag_h,key); - if(isPVDynamic) { - var v = new xrfragment_XRF(key,xrfragment_XRF.PV_EXECUTE | xrfragment_XRF.NAVIGATOR,index); - v.validate(value); - v.flags = xrfragment_XRF.set(xrfragment_XRF.T_DYNAMICKEY,v.flags); - if(!Object.prototype.hasOwnProperty.call(Frag_h,key)) { - v.flags = xrfragment_XRF.set(xrfragment_XRF.CUSTOMFRAG,v.flags); - } - if(value.length == 0) { - v.flags = xrfragment_XRF.set(xrfragment_XRF.T_DYNAMICKEYVALUE,v.flags); - } - store[keyStripped] = v; - return true; - } - var v = new xrfragment_XRF(key,Frag_h[key],index); - if(Object.prototype.hasOwnProperty.call(Frag_h,key)) { - if(!v.validate(value)) { - console.log("src/xrfragment/Parser.hx:67:","⚠ fragment '" + key + "' has incompatible value (" + value + ")"); - return false; - } - store[keyStripped] = v; - if(xrfragment_Parser.debug) { - console.log("src/xrfragment/Parser.hx:71:","✔ " + key + ": " + v.string); - } - } else { - if(typeof(value) == "string") { - v.guessType(v,value); - } - v.flags = xrfragment_XRF.set(xrfragment_XRF.CUSTOMFRAG,v.flags); - store[keyStripped] = v; - } - return true; -}; -xrfragment_Parser.getMetaData = function() { - var meta = { title : ["title","og:title","dc.title"], description : ["aria-description","og:description","dc.description"], author : ["author","dc.creator"], publisher : ["publisher","dc.publisher"], website : ["og:site_name","og:url","dc.publisher"], license : ["SPDX","dc.rights"]}; - return meta; -}; -var xrfragment_URI = $hx_exports["xrfragment"]["URI"] = function() { - this.XRF = { }; - this.hash = { }; - this.fragment = ""; -}; -xrfragment_URI.__name__ = true; -xrfragment_URI.parseFragment = function(url,filter) { - var store = { }; - if(url == null || url.indexOf("#") == -1) { - return store; - } - var fragment = url.split("#"); - var splitArray = fragment[1].split("&"); - var _g = 0; - var _g1 = splitArray.length; - while(_g < _g1) { - var i = _g++; - var splitByEqual = splitArray[i].split("="); - var regexPlus = new EReg("\\+","g"); - var key = splitByEqual[0]; - var value = ""; - if(splitByEqual.length > 1) { - if(xrfragment_XRF.isVector.match(splitByEqual[1])) { - value = splitByEqual[1]; - } else { - var s = regexPlus.split(splitByEqual[1]).join(" "); - value = decodeURIComponent(s.split("+").join(" ")); - } - } - var ok = xrfragment_Parser.parse(key,value,store,i); - } - if(filter != null && filter != 0) { - var _g = 0; - var _g1 = Reflect.fields(store); - while(_g < _g1.length) { - var key = _g1[_g]; - ++_g; - var xrf = store[key]; - if(!xrf.is(filter)) { - Reflect.deleteField(store,key); - } - } - } - return store; -}; -xrfragment_URI.template = function(uri,vars) { - var parts = uri.split("#"); - if(parts.length == 1) { - return uri; - } - var frag = parts[1]; - frag = StringTools.replace(frag,"{","::"); - frag = StringTools.replace(frag,"}","::"); - frag = new haxe_Template(frag).execute(vars); - frag = StringTools.replace(frag,"null",""); - parts[1] = frag; - return parts.join("#"); -}; -xrfragment_URI.parse = function(stringUrl,flags) { - var r = new EReg("^(?:(?![^:@]+:[^:@/]*@)([^:/?#.]+):)?(?://)?((?:(([^:@]*)(?::([^:@]*))?)?@)?([^:/?#]*)(?::(\\d*))?)(((/(?:[^?#](?![^?#/]*\\.[^?#/.]+(?:[?#]|$)))*/?)?([^?#/]*))(?:\\?([^#]*))?(?:#(.*))?)",""); - if(stringUrl.indexOf("://") == -1 && stringUrl.charAt(0) != "/") { - stringUrl = "/" + stringUrl; - } - r.match(stringUrl); - var url = new xrfragment_URI(); - var _g = 0; - var _g1 = xrfragment_URI._parts.length; - while(_g < _g1) { - var i = _g++; - url[xrfragment_URI._parts[i]] = r.matched(i); - } - if(xrfragment_URI.isRelative(url) == true) { - if(url.directory == null && url.host != null) { - url.file = url.host; - } - url.host = ""; - } - url.hash = { }; - if(url.fragment != null && url.fragment.length > 0) { - url.XRF = xrfragment_URI.parseFragment("#" + url.fragment,flags); - var key; - var _g = 0; - var _g1 = Reflect.fields(url.XRF); - while(_g < _g1.length) { - var key = _g1[_g]; - ++_g; - var v = url.XRF[key]; - url.hash[key] = v["string"]; - } - } - xrfragment_URI.computeVars(url); - return url; -}; -xrfragment_URI.computeVars = function(url) { - var r_r = new RegExp("//","g".split("u").join("")); - if(url.directory != null && url.directory.indexOf("//") != -1) { - url.directory = url.directory.replace(r_r,"/"); - } - if(url.path != null && url.path.indexOf("//") != -1) { - url.path = url.path.replace(r_r,"/"); - } - if(url.file != null && url.file.indexOf("//") != -1) { - url.file = url.file.replace(r_r,"/"); - } - url.URN = url.scheme + "://" + url.host; - if(url.port != null) { - url.URN += ":" + url.port; - } - url.URN += url.directory; - if(url.file != null) { - var parts = url.file.split("."); - if(parts.length > 1) { - url.fileExt = parts.pop(); - } - } -}; -xrfragment_URI.toString = function(url) { - var result = ""; - if(url.scheme != null) { - result += url.scheme + "://"; - } - if(url.user != null) { - result += url.user + ":"; - } - if(url.password != null) { - result += url.password + "@"; - } - if(url.host != null) { - result += url.host; - } - if(url.port != null) { - result += ":" + url.port; - } - if(url.directory != null) { - result += url.directory; - } - if(url.file != null) { - result += url.file; - } - if(url.query != null) { - result += "?" + url.query; - } - if(url.fragment != null) { - result += "#" + url.fragment; - } - return result; -}; -xrfragment_URI.appendURI = function(url,appendedURI) { - if(xrfragment_URI.isRelative(url) == true) { - return xrfragment_URI.appendToRelativeURI(url,appendedURI); - } else { - return xrfragment_URI.appendToAbsoluteURI(url,appendedURI); - } -}; -xrfragment_URI.isRelative = function(url) { - return url.scheme == null; -}; -xrfragment_URI.appendToRelativeURI = function(url,appendedURI) { - if(url.directory == null || url.host == null) { - return xrfragment_URI.cloneURI(appendedURI); - } - var resultURI = new xrfragment_URI(); - resultURI.host = url.host; - resultURI.directory = url.directory; - if(appendedURI.host != null) { - resultURI.directory += appendedURI.host; - } - if(appendedURI.directory != null) { - var directory = appendedURI.directory; - if(appendedURI.host == null) { - resultURI.directory += HxOverrides.substr(directory,1,null); - } else { - resultURI.directory += directory; - } - } - if(appendedURI.file != null) { - resultURI.file = appendedURI.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(appendedURI.query != null) { - resultURI.query = appendedURI.query; - } - if(appendedURI.fragment != null) { - resultURI.fragment = appendedURI.fragment; - } - return resultURI; -}; -xrfragment_URI.appendToAbsoluteURI = function(url,appendedURI) { - var resultURI = new xrfragment_URI(); - if(url.scheme != null) { - resultURI.scheme = url.scheme; - } - if(url.host != null) { - resultURI.host = url.host; - } - var directory = ""; - if(url.directory != null) { - directory = url.directory; - } - if(appendedURI.host != null) { - appendedURI.directory += appendedURI.host; - } - if(appendedURI.directory != null) { - directory += appendedURI.directory; - } - resultURI.directory = directory; - if(appendedURI.file != null) { - resultURI.file = appendedURI.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(appendedURI.query != null) { - resultURI.query = appendedURI.query; - } - if(appendedURI.fragment != null) { - resultURI.fragment = appendedURI.fragment; - } - return resultURI; -}; -xrfragment_URI.toAbsolute = function(url,newUrl) { - var newURI = xrfragment_URI.parse(newUrl,0); - var resultURI = new xrfragment_URI(); - resultURI.port = url.port; - resultURI.source = newUrl; - if(newURI.scheme != null) { - resultURI.scheme = newURI.scheme; - } else { - resultURI.scheme = url.scheme; - } - if(newURI.host != null && newURI.host.length > 0) { - resultURI.host = newURI.host; - resultURI.port = null; - resultURI.fragment = null; - resultURI.hash = { }; - resultURI.XRF = { }; - if(newURI.port != null) { - resultURI.port = newURI.port; - } - } else { - resultURI.host = url.host; - } - var directory = ""; - if(url.directory != null) { - directory = url.directory; - } - if(newURI.directory != null) { - if(newUrl.charAt(0) != "/" && newUrl.indexOf("://") == -1) { - var stripRelative_r = new RegExp("\\./.*","".split("u").join("")); - directory = directory.replace(stripRelative_r,""); - directory += newURI.directory; - } else { - directory = newURI.directory; - } - } - resultURI.directory = directory; - if(newURI.file != null) { - resultURI.file = newURI.file; - } else { - resultURI.file = url.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(newURI.query != null) { - resultURI.query = newURI.query; - } - if(newURI.fragment != null) { - resultURI.fragment = newURI.fragment; - } - resultURI.hash = newURI.hash; - resultURI.XRF = newURI.XRF; - xrfragment_URI.computeVars(resultURI); - return resultURI; -}; -xrfragment_URI.cloneURI = function(url) { - var clonedURI = new xrfragment_URI(); - clonedURI.url = url.url; - clonedURI.source = url.source; - clonedURI.scheme = url.scheme; - clonedURI.authority = url.authority; - clonedURI.userInfo = url.userInfo; - clonedURI.password = url.password; - clonedURI.host = url.host; - clonedURI.port = url.port; - clonedURI.relative = url.relative; - clonedURI.path = url.path; - clonedURI.directory = url.directory; - clonedURI.file = url.file; - clonedURI.query = url.query; - clonedURI.fragment = url.fragment; - return clonedURI; -}; -var xrfragment_XRF = $hx_exports["xrfragment"]["XRF"] = function(_fragment,_flags,_index) { - this.floats = []; - this.shift = []; - this.fragment = _fragment; - this.flags = _flags; - this.index = _index; -}; -xrfragment_XRF.__name__ = true; -xrfragment_XRF.set = function(flag,flags) { - return flags | flag; -}; -xrfragment_XRF.unset = function(flag,flags) { - return flags & ~flag; -}; -xrfragment_XRF.prototype = { - is: function(flag) { - var v = this.flags; - if(!(typeof(v) == "number" && ((v | 0) === v))) { - this.flags = 0; - } - return (this.flags & flag) != 0; - } - ,validate: function(value) { - this.guessType(this,value); - var ok = true; - if(value.length == 0 && !this.is(xrfragment_XRF.T_PREDEFINED_VIEW)) { - ok = false; - } - if(!this.is(xrfragment_XRF.T_FLOAT) && this.is(xrfragment_XRF.T_VECTOR2) && !(typeof(this.x) == "number" && typeof(this.y) == "number")) { - ok = false; - } - if(!(this.is(xrfragment_XRF.T_VECTOR2) || this.is(xrfragment_XRF.T_STRING)) && this.is(xrfragment_XRF.T_VECTOR3) && !(typeof(this.x) == "number" && typeof(this.y) == "number" && typeof(this.z) == "number")) { - ok = false; - } - return ok; - } - ,guessType: function(v,str) { - v.string = str; - if(xrfragment_XRF.isReset.match(v.fragment)) { - v.reset = true; - } - if(v.fragment == "loop") { - v.loop = true; - } - if(typeof(str) != "string") { - return; - } - if(str.length > 0) { - if(xrfragment_XRF.isXRFScheme.match(str)) { - v.xrfScheme = true; - str = str.replace(xrfragment_XRF.isXRFScheme.r,""); - v.string = str; - } - if(str.split(",").length > 1) { - var xyzn = str.split(","); - if(xyzn.length > 0) { - v.x = parseFloat(xyzn[0]); - } - if(xyzn.length > 1) { - v.y = parseFloat(xyzn[1]); - } - if(xyzn.length > 2) { - v.z = parseFloat(xyzn[2]); - } - var _g = 0; - var _g1 = xyzn.length; - while(_g < _g1) { - var i = _g++; - v.shift.push(xrfragment_XRF.isShift.match(xyzn[i])); - v.floats.push(parseFloat(xyzn[i].replace(xrfragment_XRF.isShift.r,""))); - } - } - if(xrfragment_XRF.isColor.match(str)) { - v.color = str; - } - if(xrfragment_XRF.isFloat.match(str)) { - v.x = parseFloat(str); - v.float = v.x; - } - if(xrfragment_XRF.isInt.match(str)) { - v.int = Std.parseInt(str); - v.x = v.int; - v.floats.push(v.x); - } - v.filter = new xrfragment_Filter(v.fragment + "=" + v.string); - } else { - v.filter = new xrfragment_Filter(v.fragment); - } - } -}; -function $getIterator(o) { if( o instanceof Array ) return new haxe_iterators_ArrayIterator(o); else return o.iterator(); } -function $bind(o,m) { if( m == null ) return null; if( m.__id__ == null ) m.__id__ = $global.$haxeUID++; var f; if( o.hx__closures__ == null ) o.hx__closures__ = {}; else f = o.hx__closures__[m.__id__]; if( f == null ) { f = m.bind(o); o.hx__closures__[m.__id__] = f; } return f; } -$global.$haxeUID |= 0; -if(typeof(performance) != "undefined" ? typeof(performance.now) == "function" : false) { - HxOverrides.now = performance.now.bind(performance); -} -if( String.fromCodePoint == null ) String.fromCodePoint = function(c) { return c < 0x10000 ? String.fromCharCode(c) : String.fromCharCode((c>>10)+0xD7C0)+String.fromCharCode((c&0x3FF)+0xDC00); } -String.__name__ = true; -Array.__name__ = true; -js_Boot.__toStr = ({ }).toString; -haxe_Template.splitter = new EReg("(::[A-Za-z0-9_ ()&|!+=/><*.\"-]+::|\\$\\$([A-Za-z0-9_-]+)\\()",""); -haxe_Template.expr_splitter = new EReg("(\\(|\\)|[ \r\n\t]*\"[^\"]*\"[ \r\n\t]*|[!+=/><*.&|-]+)",""); -haxe_Template.expr_trim = new EReg("^[ ]*([^ ]+)[ ]*$",""); -haxe_Template.expr_int = new EReg("^[0-9]+$",""); -haxe_Template.expr_float = new EReg("^([+-]?)(?=\\d|,\\d)\\d*(,\\d*)?([Ee]([+-]?\\d+))?$",""); -haxe_Template.globals = { }; -haxe_Template.hxKeepArrayIterator = new haxe_iterators_ArrayIterator([]); -xrfragment_Parser.error = ""; -xrfragment_Parser.debug = false; -xrfragment_URI.__meta__ = { statics : { template : { keep : null}}}; -xrfragment_URI._parts = ["source","scheme","authority","userInfo","user","password","host","port","relative","path","directory","file","query","fragment"]; -xrfragment_XRF.IMMUTABLE = 1; -xrfragment_XRF.PROP_BIND = 2; -xrfragment_XRF.QUERY_OPERATOR = 4; -xrfragment_XRF.PROMPT = 8; -xrfragment_XRF.CUSTOMFRAG = 16; -xrfragment_XRF.NAVIGATOR = 32; -xrfragment_XRF.METADATA = 64; -xrfragment_XRF.PV_OVERRIDE = 128; -xrfragment_XRF.PV_EXECUTE = 256; -xrfragment_XRF.T_COLOR = 8192; -xrfragment_XRF.T_INT = 16384; -xrfragment_XRF.T_FLOAT = 32768; -xrfragment_XRF.T_VECTOR2 = 65536; -xrfragment_XRF.T_VECTOR3 = 131072; -xrfragment_XRF.T_URL = 262144; -xrfragment_XRF.T_PREDEFINED_VIEW = 524288; -xrfragment_XRF.T_STRING = 1048576; -xrfragment_XRF.T_MEDIAFRAG = 2097152; -xrfragment_XRF.T_DYNAMICKEY = 4194304; -xrfragment_XRF.T_DYNAMICKEYVALUE = 8388608; -xrfragment_XRF.isColor = new EReg("^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$",""); -xrfragment_XRF.isInt = new EReg("^[-0-9]+$",""); -xrfragment_XRF.isFloat = new EReg("^[-0-9]+\\.[0-9]+$",""); -xrfragment_XRF.isVector = new EReg("([,]+|\\w)",""); -xrfragment_XRF.isUrl = new EReg("(://)?\\..*",""); -xrfragment_XRF.isUrlOrPretypedView = new EReg("(^#|://)?\\..*",""); -xrfragment_XRF.isString = new EReg(".*",""); -xrfragment_XRF.operators = new EReg("(^[-]|^[!]|[\\*]$)","g"); -xrfragment_XRF.isProp = new EReg("^.*=[><=]?",""); -xrfragment_XRF.isExclude = new EReg("^-",""); -xrfragment_XRF.isDeep = new EReg("\\*",""); -xrfragment_XRF.isNumber = new EReg("^[0-9\\.]+$",""); -xrfragment_XRF.isMediaFrag = new EReg("^([0-9\\.,\\*+-]+)$",""); -xrfragment_XRF.isReset = new EReg("^!",""); -xrfragment_XRF.isShift = new EReg("^(\\+|--)",""); -xrfragment_XRF.isXRFScheme = new EReg("^xrf://",""); -})(typeof window != "undefined" ? window : typeof global != "undefined" ? global : typeof self != "undefined" ? self : this); -var xrfragment = $hx_exports["xrfragment"]; -export default xrfragment; -// Generated by Haxe 4.3.3 -var $hx_exports = typeof exports != "undefined" ? exports : typeof window != "undefined" ? window : typeof self != "undefined" ? self : this; -(function ($global) { "use strict"; -$hx_exports["xrfragment"] = $hx_exports["xrfragment"] || {}; -var $estr = function() { return js_Boot.__string_rec(this,''); },$hxEnums = $hxEnums || {},$_; -function $extend(from, fields) { - var proto = Object.create(from); - for (var name in fields) proto[name] = fields[name]; - if( fields.toString !== Object.prototype.toString ) proto.toString = fields.toString; - return proto; -} -var EReg = function(r,opt) { - this.r = new RegExp(r,opt.split("u").join("")); -}; -EReg.__name__ = true; -EReg.prototype = { - match: function(s) { - if(this.r.global) { - this.r.lastIndex = 0; - } - this.r.m = this.r.exec(s); - this.r.s = s; - return this.r.m != null; - } - ,matched: function(n) { - if(this.r.m != null && n >= 0 && n < this.r.m.length) { - return this.r.m[n]; - } else { - throw haxe_Exception.thrown("EReg::matched"); - } - } - ,matchedRight: function() { - if(this.r.m == null) { - throw haxe_Exception.thrown("No string matched"); - } - var sz = this.r.m.index + this.r.m[0].length; - return HxOverrides.substr(this.r.s,sz,this.r.s.length - sz); - } - ,matchedPos: function() { - if(this.r.m == null) { - throw haxe_Exception.thrown("No string matched"); - } - return { pos : this.r.m.index, len : this.r.m[0].length}; - } - ,split: function(s) { - var d = "#__delim__#"; - return s.replace(this.r,d).split(d); - } -}; -var HxOverrides = function() { }; -HxOverrides.__name__ = true; -HxOverrides.cca = function(s,index) { - var x = s.charCodeAt(index); - if(x != x) { - return undefined; - } - return x; -}; -HxOverrides.substr = function(s,pos,len) { - if(len == null) { - len = s.length; - } else if(len < 0) { - if(pos == 0) { - len = s.length + len; - } else { - return ""; - } - } - return s.substr(pos,len); -}; -HxOverrides.now = function() { - return Date.now(); -}; -Math.__name__ = true; -var Reflect = function() { }; -Reflect.__name__ = true; -Reflect.field = function(o,field) { - try { - return o[field]; - } catch( _g ) { - return null; - } -}; -Reflect.getProperty = function(o,field) { - var tmp; - if(o == null) { - return null; - } else { - var tmp1; - if(o.__properties__) { - tmp = o.__properties__["get_" + field]; - tmp1 = tmp; - } else { - tmp1 = false; - } - if(tmp1) { - return o[tmp](); - } else { - return o[field]; - } - } -}; -Reflect.fields = function(o) { - var a = []; - if(o != null) { - var hasOwnProperty = Object.prototype.hasOwnProperty; - for( var f in o ) { - if(f != "__id__" && f != "hx__closures__" && hasOwnProperty.call(o,f)) { - a.push(f); - } - } - } - return a; -}; -Reflect.isObject = function(v) { - if(v == null) { - return false; - } - var t = typeof(v); - if(!(t == "string" || t == "object" && v.__enum__ == null)) { - if(t == "function") { - return (v.__name__ || v.__ename__) != null; - } else { - return false; - } - } else { - return true; - } -}; -Reflect.deleteField = function(o,field) { - if(!Object.prototype.hasOwnProperty.call(o,field)) { - return false; - } - delete(o[field]); - return true; -}; -Reflect.copy = function(o) { - if(o == null) { - return null; - } - var o2 = { }; - var _g = 0; - var _g1 = Reflect.fields(o); - while(_g < _g1.length) { - var f = _g1[_g]; - ++_g; - o2[f] = Reflect.field(o,f); - } - return o2; -}; -var Std = function() { }; -Std.__name__ = true; -Std.string = function(s) { - return js_Boot.__string_rec(s,""); -}; -Std.parseInt = function(x) { - var v = parseInt(x); - if(isNaN(v)) { - return null; - } - return v; -}; -var StringBuf = function() { - this.b = ""; -}; -StringBuf.__name__ = true; -var StringTools = function() { }; -StringTools.__name__ = true; -StringTools.isSpace = function(s,pos) { - var c = HxOverrides.cca(s,pos); - if(!(c > 8 && c < 14)) { - return c == 32; - } else { - return true; - } -}; -StringTools.ltrim = function(s) { - var l = s.length; - var r = 0; - while(r < l && StringTools.isSpace(s,r)) ++r; - if(r > 0) { - return HxOverrides.substr(s,r,l - r); - } else { - return s; - } -}; -StringTools.rtrim = function(s) { - var l = s.length; - var r = 0; - while(r < l && StringTools.isSpace(s,l - r - 1)) ++r; - if(r > 0) { - return HxOverrides.substr(s,0,l - r); - } else { - return s; - } -}; -StringTools.trim = function(s) { - return StringTools.ltrim(StringTools.rtrim(s)); -}; -StringTools.replace = function(s,sub,by) { - return s.split(sub).join(by); -}; -var haxe_Exception = function(message,previous,native) { - Error.call(this,message); - this.message = message; - this.__previousException = previous; - this.__nativeException = native != null ? native : this; -}; -haxe_Exception.__name__ = true; -haxe_Exception.caught = function(value) { - if(((value) instanceof haxe_Exception)) { - return value; - } else if(((value) instanceof Error)) { - return new haxe_Exception(value.message,null,value); - } else { - return new haxe_ValueException(value,null,value); - } -}; -haxe_Exception.thrown = function(value) { - if(((value) instanceof haxe_Exception)) { - return value.get_native(); - } else if(((value) instanceof Error)) { - return value; - } else { - var e = new haxe_ValueException(value); - return e; - } -}; -haxe_Exception.__super__ = Error; -haxe_Exception.prototype = $extend(Error.prototype,{ - unwrap: function() { - return this.__nativeException; - } - ,get_native: function() { - return this.__nativeException; - } - ,__properties__: {get_native:"get_native"} -}); -var haxe__$Template_TemplateExpr = $hxEnums["haxe._Template.TemplateExpr"] = { __ename__:true,__constructs__:null - ,OpVar: ($_=function(v) { return {_hx_index:0,v:v,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpVar",$_.__params__ = ["v"],$_) - ,OpExpr: ($_=function(expr) { return {_hx_index:1,expr:expr,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpExpr",$_.__params__ = ["expr"],$_) - ,OpIf: ($_=function(expr,eif,eelse) { return {_hx_index:2,expr:expr,eif:eif,eelse:eelse,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpIf",$_.__params__ = ["expr","eif","eelse"],$_) - ,OpStr: ($_=function(str) { return {_hx_index:3,str:str,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpStr",$_.__params__ = ["str"],$_) - ,OpBlock: ($_=function(l) { return {_hx_index:4,l:l,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpBlock",$_.__params__ = ["l"],$_) - ,OpForeach: ($_=function(expr,loop) { return {_hx_index:5,expr:expr,loop:loop,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpForeach",$_.__params__ = ["expr","loop"],$_) - ,OpMacro: ($_=function(name,params) { return {_hx_index:6,name:name,params:params,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpMacro",$_.__params__ = ["name","params"],$_) -}; -haxe__$Template_TemplateExpr.__constructs__ = [haxe__$Template_TemplateExpr.OpVar,haxe__$Template_TemplateExpr.OpExpr,haxe__$Template_TemplateExpr.OpIf,haxe__$Template_TemplateExpr.OpStr,haxe__$Template_TemplateExpr.OpBlock,haxe__$Template_TemplateExpr.OpForeach,haxe__$Template_TemplateExpr.OpMacro]; -var haxe_iterators_ArrayIterator = function(array) { - this.current = 0; - this.array = array; -}; -haxe_iterators_ArrayIterator.__name__ = true; -haxe_iterators_ArrayIterator.prototype = { - hasNext: function() { - return this.current < this.array.length; - } - ,next: function() { - return this.array[this.current++]; - } -}; -var haxe_Template = function(str) { - var tokens = this.parseTokens(str); - this.expr = this.parseBlock(tokens); - if(!tokens.isEmpty()) { - throw haxe_Exception.thrown("Unexpected '" + Std.string(tokens.first().s) + "'"); - } -}; -haxe_Template.__name__ = true; -haxe_Template.prototype = { - execute: function(context,macros) { - this.macros = macros == null ? { } : macros; - this.context = context; - this.stack = new haxe_ds_List(); - this.buf = new StringBuf(); - this.run(this.expr); - return this.buf.b; - } - ,resolve: function(v) { - if(v == "__current__") { - return this.context; - } - if(Reflect.isObject(this.context)) { - var value = Reflect.getProperty(this.context,v); - if(value != null || Object.prototype.hasOwnProperty.call(this.context,v)) { - return value; - } - } - var _g_head = this.stack.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var ctx = val; - var value = Reflect.getProperty(ctx,v); - if(value != null || Object.prototype.hasOwnProperty.call(ctx,v)) { - return value; - } - } - return Reflect.field(haxe_Template.globals,v); - } - ,parseTokens: function(data) { - var tokens = new haxe_ds_List(); - while(haxe_Template.splitter.match(data)) { - var p = haxe_Template.splitter.matchedPos(); - if(p.pos > 0) { - tokens.add({ p : HxOverrides.substr(data,0,p.pos), s : true, l : null}); - } - if(HxOverrides.cca(data,p.pos) == 58) { - tokens.add({ p : HxOverrides.substr(data,p.pos + 2,p.len - 4), s : false, l : null}); - data = haxe_Template.splitter.matchedRight(); - continue; - } - var parp = p.pos + p.len; - var npar = 1; - var params = []; - var part = ""; - while(true) { - var c = HxOverrides.cca(data,parp); - ++parp; - if(c == 40) { - ++npar; - } else if(c == 41) { - --npar; - if(npar <= 0) { - break; - } - } else if(c == null) { - throw haxe_Exception.thrown("Unclosed macro parenthesis"); - } - if(c == 44 && npar == 1) { - params.push(part); - part = ""; - } else { - part += String.fromCodePoint(c); - } - } - params.push(part); - tokens.add({ p : haxe_Template.splitter.matched(2), s : false, l : params}); - data = HxOverrides.substr(data,parp,data.length - parp); - } - if(data.length > 0) { - tokens.add({ p : data, s : true, l : null}); - } - return tokens; - } - ,parseBlock: function(tokens) { - var l = new haxe_ds_List(); - while(true) { - var t = tokens.first(); - if(t == null) { - break; - } - if(!t.s && (t.p == "end" || t.p == "else" || HxOverrides.substr(t.p,0,7) == "elseif ")) { - break; - } - l.add(this.parse(tokens)); - } - if(l.length == 1) { - return l.first(); - } - return haxe__$Template_TemplateExpr.OpBlock(l); - } - ,parse: function(tokens) { - var t = tokens.pop(); - var p = t.p; - if(t.s) { - return haxe__$Template_TemplateExpr.OpStr(p); - } - if(t.l != null) { - var pe = new haxe_ds_List(); - var _g = 0; - var _g1 = t.l; - while(_g < _g1.length) { - var p1 = _g1[_g]; - ++_g; - pe.add(this.parseBlock(this.parseTokens(p1))); - } - return haxe__$Template_TemplateExpr.OpMacro(p,pe); - } - var kwdEnd = function(kwd) { - var pos = -1; - var length = kwd.length; - if(HxOverrides.substr(p,0,length) == kwd) { - pos = length; - var _g_offset = 0; - var _g_s = HxOverrides.substr(p,length,null); - while(_g_offset < _g_s.length) { - var c = _g_s.charCodeAt(_g_offset++); - if(c == 32) { - ++pos; - } else { - break; - } - } - } - return pos; - }; - var pos = kwdEnd("if"); - if(pos > 0) { - p = HxOverrides.substr(p,pos,p.length - pos); - var e = this.parseExpr(p); - var eif = this.parseBlock(tokens); - var t = tokens.first(); - var eelse; - if(t == null) { - throw haxe_Exception.thrown("Unclosed 'if'"); - } - if(t.p == "end") { - tokens.pop(); - eelse = null; - } else if(t.p == "else") { - tokens.pop(); - eelse = this.parseBlock(tokens); - t = tokens.pop(); - if(t == null || t.p != "end") { - throw haxe_Exception.thrown("Unclosed 'else'"); - } - } else { - t.p = HxOverrides.substr(t.p,4,t.p.length - 4); - eelse = this.parse(tokens); - } - return haxe__$Template_TemplateExpr.OpIf(e,eif,eelse); - } - var pos = kwdEnd("foreach"); - if(pos >= 0) { - p = HxOverrides.substr(p,pos,p.length - pos); - var e = this.parseExpr(p); - var efor = this.parseBlock(tokens); - var t = tokens.pop(); - if(t == null || t.p != "end") { - throw haxe_Exception.thrown("Unclosed 'foreach'"); - } - return haxe__$Template_TemplateExpr.OpForeach(e,efor); - } - if(haxe_Template.expr_splitter.match(p)) { - return haxe__$Template_TemplateExpr.OpExpr(this.parseExpr(p)); - } - return haxe__$Template_TemplateExpr.OpVar(p); - } - ,parseExpr: function(data) { - var l = new haxe_ds_List(); - var expr = data; - while(haxe_Template.expr_splitter.match(data)) { - var p = haxe_Template.expr_splitter.matchedPos(); - var k = p.pos + p.len; - if(p.pos != 0) { - l.add({ p : HxOverrides.substr(data,0,p.pos), s : true}); - } - var p1 = haxe_Template.expr_splitter.matched(0); - l.add({ p : p1, s : p1.indexOf("\"") >= 0}); - data = haxe_Template.expr_splitter.matchedRight(); - } - if(data.length != 0) { - var _g_offset = 0; - var _g_s = data; - while(_g_offset < _g_s.length) { - var _g_key = _g_offset; - var _g_value = _g_s.charCodeAt(_g_offset++); - var i = _g_key; - var c = _g_value; - if(c != 32) { - l.add({ p : HxOverrides.substr(data,i,null), s : true}); - break; - } - } - } - var e; - try { - e = this.makeExpr(l); - if(!l.isEmpty()) { - throw haxe_Exception.thrown(l.first().p); - } - } catch( _g ) { - var _g1 = haxe_Exception.caught(_g).unwrap(); - if(typeof(_g1) == "string") { - var s = _g1; - throw haxe_Exception.thrown("Unexpected '" + s + "' in " + expr); - } else { - throw _g; - } - } - return function() { - try { - return e(); - } catch( _g ) { - var exc = haxe_Exception.caught(_g).unwrap(); - throw haxe_Exception.thrown("Error : " + Std.string(exc) + " in " + expr); - } - }; - } - ,makeConst: function(v) { - haxe_Template.expr_trim.match(v); - v = haxe_Template.expr_trim.matched(1); - if(HxOverrides.cca(v,0) == 34) { - var str = HxOverrides.substr(v,1,v.length - 2); - return function() { - return str; - }; - } - if(haxe_Template.expr_int.match(v)) { - var i = Std.parseInt(v); - return function() { - return i; - }; - } - if(haxe_Template.expr_float.match(v)) { - var f = parseFloat(v); - return function() { - return f; - }; - } - var me = this; - return function() { - return me.resolve(v); - }; - } - ,makePath: function(e,l) { - var p = l.first(); - if(p == null || p.p != ".") { - return e; - } - l.pop(); - var field = l.pop(); - if(field == null || !field.s) { - throw haxe_Exception.thrown(field.p); - } - var f = field.p; - haxe_Template.expr_trim.match(f); - f = haxe_Template.expr_trim.matched(1); - return this.makePath(function() { - return Reflect.field(e(),f); - },l); - } - ,makeExpr: function(l) { - return this.makePath(this.makeExpr2(l),l); - } - ,skipSpaces: function(l) { - var p = l.first(); - while(p != null) { - var _g_offset = 0; - var _g_s = p.p; - while(_g_offset < _g_s.length) { - var c = _g_s.charCodeAt(_g_offset++); - if(c != 32) { - return; - } - } - l.pop(); - p = l.first(); - } - } - ,makeExpr2: function(l) { - this.skipSpaces(l); - var p = l.pop(); - this.skipSpaces(l); - if(p == null) { - throw haxe_Exception.thrown(""); - } - if(p.s) { - return this.makeConst(p.p); - } - switch(p.p) { - case "!": - var e = this.makeExpr(l); - return function() { - var v = e(); - if(v != null) { - return v == false; - } else { - return true; - } - }; - case "(": - this.skipSpaces(l); - var e1 = this.makeExpr(l); - this.skipSpaces(l); - var p1 = l.pop(); - if(p1 == null || p1.s) { - throw haxe_Exception.thrown(p1); - } - if(p1.p == ")") { - return e1; - } - this.skipSpaces(l); - var e2 = this.makeExpr(l); - this.skipSpaces(l); - var p2 = l.pop(); - this.skipSpaces(l); - if(p2 == null || p2.p != ")") { - throw haxe_Exception.thrown(p2); - } - switch(p1.p) { - case "!=": - return function() { - return e1() != e2(); - }; - case "&&": - return function() { - return e1() && e2(); - }; - case "*": - return function() { - return e1() * e2(); - }; - case "+": - return function() { - return e1() + e2(); - }; - case "-": - return function() { - return e1() - e2(); - }; - case "/": - return function() { - return e1() / e2(); - }; - case "<": - return function() { - return e1() < e2(); - }; - case "<=": - return function() { - return e1() <= e2(); - }; - case "==": - return function() { - return e1() == e2(); - }; - case ">": - return function() { - return e1() > e2(); - }; - case ">=": - return function() { - return e1() >= e2(); - }; - case "||": - return function() { - return e1() || e2(); - }; - default: - throw haxe_Exception.thrown("Unknown operation " + p1.p); - } - break; - case "-": - var e3 = this.makeExpr(l); - return function() { - return -e3(); - }; - } - throw haxe_Exception.thrown(p.p); - } - ,run: function(e) { - switch(e._hx_index) { - case 0: - var v = e.v; - var _this = this.buf; - var x = Std.string(this.resolve(v)); - _this.b += Std.string(x); - break; - case 1: - var e1 = e.expr; - var _this = this.buf; - var x = Std.string(e1()); - _this.b += Std.string(x); - break; - case 2: - var e1 = e.expr; - var eif = e.eif; - var eelse = e.eelse; - var v = e1(); - if(v == null || v == false) { - if(eelse != null) { - this.run(eelse); - } - } else { - this.run(eif); - } - break; - case 3: - var str = e.str; - this.buf.b += str == null ? "null" : "" + str; - break; - case 4: - var l = e.l; - var _g_head = l.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var e1 = val; - this.run(e1); - } - break; - case 5: - var e1 = e.expr; - var loop = e.loop; - var v = e1(); - try { - var x = $getIterator(v); - if(x.hasNext == null) { - throw haxe_Exception.thrown(null); - } - v = x; - } catch( _g ) { - try { - if(v.hasNext == null) { - throw haxe_Exception.thrown(null); - } - } catch( _g1 ) { - throw haxe_Exception.thrown("Cannot iter on " + Std.string(v)); - } - } - this.stack.push(this.context); - var v1 = v; - var ctx = v1; - while(ctx.hasNext()) { - var ctx1 = ctx.next(); - this.context = ctx1; - this.run(loop); - } - this.context = this.stack.pop(); - break; - case 6: - var m = e.name; - var params = e.params; - var v = Reflect.field(this.macros,m); - var pl = []; - var old = this.buf; - pl.push($bind(this,this.resolve)); - var _g_head = params.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var p = val; - if(p._hx_index == 0) { - var v1 = p.v; - pl.push(this.resolve(v1)); - } else { - this.buf = new StringBuf(); - this.run(p); - pl.push(this.buf.b); - } - } - this.buf = old; - try { - var _this = this.buf; - var x = Std.string(v.apply(this.macros,pl)); - _this.b += Std.string(x); - } catch( _g ) { - var e = haxe_Exception.caught(_g).unwrap(); - var plstr; - try { - plstr = pl.join(","); - } catch( _g1 ) { - plstr = "???"; - } - var msg = "Macro call " + m + "(" + plstr + ") failed (" + Std.string(e) + ")"; - throw haxe_Exception.thrown(msg); - } - break; - } - } -}; -var haxe_ValueException = function(value,previous,native) { - haxe_Exception.call(this,String(value),previous,native); - this.value = value; -}; -haxe_ValueException.__name__ = true; -haxe_ValueException.__super__ = haxe_Exception; -haxe_ValueException.prototype = $extend(haxe_Exception.prototype,{ - unwrap: function() { - return this.value; - } -}); -var haxe_ds_List = function() { - this.length = 0; -}; -haxe_ds_List.__name__ = true; -haxe_ds_List.prototype = { - add: function(item) { - var x = new haxe_ds__$List_ListNode(item,null); - if(this.h == null) { - this.h = x; - } else { - this.q.next = x; - } - this.q = x; - this.length++; - } - ,push: function(item) { - var x = new haxe_ds__$List_ListNode(item,this.h); - this.h = x; - if(this.q == null) { - this.q = x; - } - this.length++; - } - ,first: function() { - if(this.h == null) { - return null; - } else { - return this.h.item; - } - } - ,pop: function() { - if(this.h == null) { - return null; - } - var x = this.h.item; - this.h = this.h.next; - if(this.h == null) { - this.q = null; - } - this.length--; - return x; - } - ,isEmpty: function() { - return this.h == null; - } - ,toString: function() { - var s_b = ""; - var first = true; - var l = this.h; - s_b += "{"; - while(l != null) { - if(first) { - first = false; - } else { - s_b += ", "; - } - s_b += Std.string(Std.string(l.item)); - l = l.next; - } - s_b += "}"; - return s_b; - } -}; -var haxe_ds__$List_ListNode = function(item,next) { - this.item = item; - this.next = next; -}; -haxe_ds__$List_ListNode.__name__ = true; -var js_Boot = function() { }; -js_Boot.__name__ = true; -js_Boot.__string_rec = function(o,s) { - if(o == null) { - return "null"; - } - if(s.length >= 5) { - return "<...>"; - } - var t = typeof(o); - if(t == "function" && (o.__name__ || o.__ename__)) { - t = "object"; - } - switch(t) { - case "function": - return ""; - case "object": - if(o.__enum__) { - var e = $hxEnums[o.__enum__]; - var con = e.__constructs__[o._hx_index]; - var n = con._hx_name; - if(con.__params__) { - s = s + "\t"; - return n + "(" + ((function($this) { - var $r; - var _g = []; - { - var _g1 = 0; - var _g2 = con.__params__; - while(true) { - if(!(_g1 < _g2.length)) { - break; - } - var p = _g2[_g1]; - _g1 = _g1 + 1; - _g.push(js_Boot.__string_rec(o[p],s)); - } - } - $r = _g; - return $r; - }(this))).join(",") + ")"; - } else { - return n; - } - } - if(((o) instanceof Array)) { - var str = "["; - s += "\t"; - var _g = 0; - var _g1 = o.length; - while(_g < _g1) { - var i = _g++; - str += (i > 0 ? "," : "") + js_Boot.__string_rec(o[i],s); - } - str += "]"; - return str; - } - var tostr; - try { - tostr = o.toString; - } catch( _g ) { - return "???"; - } - if(tostr != null && tostr != Object.toString && typeof(tostr) == "function") { - var s2 = o.toString(); - if(s2 != "[object Object]") { - return s2; - } - } - var str = "{\n"; - s += "\t"; - var hasp = o.hasOwnProperty != null; - var k = null; - for( k in o ) { - if(hasp && !o.hasOwnProperty(k)) { - continue; - } - if(k == "prototype" || k == "__class__" || k == "__super__" || k == "__interfaces__" || k == "__properties__") { - continue; - } - if(str.length != 2) { - str += ", \n"; - } - str += s + k + " : " + js_Boot.__string_rec(o[k],s); - } - s = s.substring(1); - str += "\n" + s + "}"; - return str; - case "string": - return o; - default: - return String(o); - } -}; -var xrfragment_Filter = $hx_exports["xrfragment"]["Filter"] = function(str) { - this.q = { }; - this.str = ""; - if(str != null) { - this.parse(str); - } -}; -xrfragment_Filter.__name__ = true; -xrfragment_Filter.prototype = { - toObject: function() { - return Reflect.copy(this.q); - } - ,get: function() { - return Reflect.copy(this.q); - } - ,parse: function(str) { - var token = str.split(" "); - var q = { }; - var process = function(str,prefix) { - if(prefix == null) { - prefix = ""; - } - str = StringTools.trim(str); - var k = str.split("=")[0]; - var v = str.split("=")[1]; - var filter = { }; - if(q[prefix + k]) { - filter = q[prefix + k]; - } - if(xrfragment_XRF.isProp.match(str)) { - var oper = ""; - if(str.indexOf(">") != -1) { - oper = ">"; - } - if(str.indexOf("<") != -1) { - oper = "<"; - } - if(xrfragment_XRF.isExclude.match(k)) { - k = HxOverrides.substr(k,1,null); - } - v = HxOverrides.substr(v,oper.length,null); - if(oper.length == 0) { - oper = "="; - } - var rule = { }; - if(xrfragment_XRF.isNumber.match(v)) { - rule[oper] = parseFloat(v); - } else { - rule[oper] = v; - } - q["expr"] = rule; - } - var value = xrfragment_XRF.isDeep.match(str) ? k.split("*").length - 1 : 0; - q["deep"] = value; - var value = xrfragment_XRF.isExclude.match(str) ? false : true; - q["show"] = value; - var value = k.replace(xrfragment_XRF.operators.r,""); - q["key"] = value; - q["value"] = v; - }; - var _g = 0; - var _g1 = token.length; - while(_g < _g1) { - var i = _g++; - process(token[i]); - } - return this.q = q; - } - ,test: function(obj) { - var qualify = false; - var _g = 0; - var _g1 = Reflect.fields(obj); - while(_g < _g1.length) { - var k = _g1[_g]; - ++_g; - var v = Std.string(Reflect.field(obj,k)); - if(this.testProperty(k,v)) { - qualify = true; - } - } - var _g = 0; - var _g1 = Reflect.fields(obj); - while(_g < _g1.length) { - var k = _g1[_g]; - ++_g; - var v = Std.string(Reflect.field(obj,k)); - if(this.testProperty(k,v,true)) { - qualify = false; - } - } - return qualify; - } - ,testProperty: function(property,value,exclude) { - var conds = 0; - var fails = 0; - var qualify = 0; - var testprop = function(expr) { - conds += 1; - fails += expr ? 0 : 1; - return expr; - }; - if(this.q[value] != null) { - var v = this.q[value]; - if(v[property] != null) { - return v[property]; - } - } - if(Reflect.field(this.q,"expr")) { - var f = Reflect.field(this.q,"expr"); - if(!Reflect.field(this.q,"show")) { - if(Reflect.field(f,"!=") != null && testprop((value == null ? "null" : "" + value) == Std.string(Reflect.field(f,"!="))) && exclude) { - ++qualify; - } - } else { - if(Reflect.field(f,"*") != null && testprop(parseFloat(value) != null)) { - ++qualify; - } - if(Reflect.field(f,">") != null && testprop(parseFloat(value) >= parseFloat(Reflect.field(f,">")))) { - ++qualify; - } - if(Reflect.field(f,"<") != null && testprop(parseFloat(value) <= parseFloat(Reflect.field(f,"<")))) { - ++qualify; - } - if(Reflect.field(f,"=") != null && (testprop(value == Reflect.field(f,"=")) || testprop(parseFloat(value) == parseFloat(Reflect.field(f,"="))))) { - ++qualify; - } - } - } - return qualify > 0; - } -}; -var xrfragment_Parser = $hx_exports["xrfragment"]["Parser"] = function() { }; -xrfragment_Parser.__name__ = true; -xrfragment_Parser.parse = function(key,value,store,index) { - var Frag_h = Object.create(null); - Frag_h["#"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_PREDEFINED_VIEW | xrfragment_XRF.PV_EXECUTE; - Frag_h["src"] = xrfragment_XRF.T_URL; - Frag_h["href"] = xrfragment_XRF.T_URL | xrfragment_XRF.T_PREDEFINED_VIEW; - Frag_h["tag"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["pos"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_VECTOR3 | xrfragment_XRF.T_STRING | xrfragment_XRF.METADATA | xrfragment_XRF.NAVIGATOR; - Frag_h["rot"] = xrfragment_XRF.QUERY_OPERATOR | xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_VECTOR3 | xrfragment_XRF.METADATA | xrfragment_XRF.NAVIGATOR; - Frag_h["t"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_FLOAT | xrfragment_XRF.T_VECTOR2 | xrfragment_XRF.NAVIGATOR | xrfragment_XRF.METADATA; - Frag_h["s"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_MEDIAFRAG; - Frag_h["loop"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_PREDEFINED_VIEW; - Frag_h["uv"] = xrfragment_XRF.T_VECTOR2 | xrfragment_XRF.T_MEDIAFRAG; - Frag_h["namespace"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["SPDX"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["unit"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["description"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - var keyStripped = key.replace(xrfragment_XRF.operators.r,""); - var isPVDynamic = key.length > 0 && !Object.prototype.hasOwnProperty.call(Frag_h,key); - if(isPVDynamic) { - var v = new xrfragment_XRF(key,xrfragment_XRF.PV_EXECUTE | xrfragment_XRF.NAVIGATOR,index); - v.validate(value); - v.flags = xrfragment_XRF.set(xrfragment_XRF.T_DYNAMICKEY,v.flags); - if(!Object.prototype.hasOwnProperty.call(Frag_h,key)) { - v.flags = xrfragment_XRF.set(xrfragment_XRF.CUSTOMFRAG,v.flags); - } - if(value.length == 0) { - v.flags = xrfragment_XRF.set(xrfragment_XRF.T_DYNAMICKEYVALUE,v.flags); - } - store[keyStripped] = v; - return true; - } - var v = new xrfragment_XRF(key,Frag_h[key],index); - if(Object.prototype.hasOwnProperty.call(Frag_h,key)) { - if(!v.validate(value)) { - console.log("src/xrfragment/Parser.hx:67:","⚠ fragment '" + key + "' has incompatible value (" + value + ")"); - return false; - } - store[keyStripped] = v; - if(xrfragment_Parser.debug) { - console.log("src/xrfragment/Parser.hx:71:","✔ " + key + ": " + v.string); - } - } else { - if(typeof(value) == "string") { - v.guessType(v,value); - } - v.flags = xrfragment_XRF.set(xrfragment_XRF.CUSTOMFRAG,v.flags); - store[keyStripped] = v; - } - return true; -}; -xrfragment_Parser.getMetaData = function() { - var meta = { title : ["title","og:title","dc.title"], description : ["aria-description","og:description","dc.description"], author : ["author","dc.creator"], publisher : ["publisher","dc.publisher"], website : ["og:site_name","og:url","dc.publisher"], license : ["SPDX","dc.rights"]}; - return meta; -}; -var xrfragment_URI = $hx_exports["xrfragment"]["URI"] = function() { - this.XRF = { }; - this.hash = { }; - this.fragment = ""; -}; -xrfragment_URI.__name__ = true; -xrfragment_URI.parseFragment = function(url,filter) { - var store = { }; - if(url == null || url.indexOf("#") == -1) { - return store; - } - var fragment = url.split("#"); - var splitArray = fragment[1].split("&"); - var _g = 0; - var _g1 = splitArray.length; - while(_g < _g1) { - var i = _g++; - var splitByEqual = splitArray[i].split("="); - var regexPlus = new EReg("\\+","g"); - var key = splitByEqual[0]; - var value = ""; - if(splitByEqual.length > 1) { - if(xrfragment_XRF.isVector.match(splitByEqual[1])) { - value = splitByEqual[1]; - } else { - var s = regexPlus.split(splitByEqual[1]).join(" "); - value = decodeURIComponent(s.split("+").join(" ")); - } - } - var ok = xrfragment_Parser.parse(key,value,store,i); - } - if(filter != null && filter != 0) { - var _g = 0; - var _g1 = Reflect.fields(store); - while(_g < _g1.length) { - var key = _g1[_g]; - ++_g; - var xrf = store[key]; - if(!xrf.is(filter)) { - Reflect.deleteField(store,key); - } - } - } - return store; -}; -xrfragment_URI.template = function(uri,vars) { - var parts = uri.split("#"); - if(parts.length == 1) { - return uri; - } - var frag = parts[1]; - frag = StringTools.replace(frag,"{","::"); - frag = StringTools.replace(frag,"}","::"); - frag = new haxe_Template(frag).execute(vars); - frag = StringTools.replace(frag,"null",""); - parts[1] = frag; - return parts.join("#"); -}; -xrfragment_URI.parse = function(stringUrl,flags) { - var r = new EReg("^(?:(?![^:@]+:[^:@/]*@)([^:/?#.]+):)?(?://)?((?:(([^:@]*)(?::([^:@]*))?)?@)?([^:/?#]*)(?::(\\d*))?)(((/(?:[^?#](?![^?#/]*\\.[^?#/.]+(?:[?#]|$)))*/?)?([^?#/]*))(?:\\?([^#]*))?(?:#(.*))?)",""); - if(stringUrl.indexOf("://") == -1 && stringUrl.charAt(0) != "/") { - stringUrl = "/" + stringUrl; - } - r.match(stringUrl); - var url = new xrfragment_URI(); - var _g = 0; - var _g1 = xrfragment_URI._parts.length; - while(_g < _g1) { - var i = _g++; - url[xrfragment_URI._parts[i]] = r.matched(i); - } - if(xrfragment_URI.isRelative(url) == true) { - if(url.directory == null && url.host != null) { - url.file = url.host; - } - url.host = ""; - } - url.hash = { }; - if(url.fragment != null && url.fragment.length > 0) { - url.XRF = xrfragment_URI.parseFragment("#" + url.fragment,flags); - var key; - var _g = 0; - var _g1 = Reflect.fields(url.XRF); - while(_g < _g1.length) { - var key = _g1[_g]; - ++_g; - var v = url.XRF[key]; - url.hash[key] = v["string"]; - } - } - xrfragment_URI.computeVars(url); - return url; -}; -xrfragment_URI.computeVars = function(url) { - var r_r = new RegExp("//","g".split("u").join("")); - if(url.directory != null && url.directory.indexOf("//") != -1) { - url.directory = url.directory.replace(r_r,"/"); - } - if(url.path != null && url.path.indexOf("//") != -1) { - url.path = url.path.replace(r_r,"/"); - } - if(url.file != null && url.file.indexOf("//") != -1) { - url.file = url.file.replace(r_r,"/"); - } - url.URN = url.scheme + "://" + url.host; - if(url.port != null) { - url.URN += ":" + url.port; - } - url.URN += url.directory; - if(url.file != null) { - var parts = url.file.split("."); - if(parts.length > 1) { - url.fileExt = parts.pop(); - } - } -}; -xrfragment_URI.toString = function(url) { - var result = ""; - if(url.scheme != null) { - result += url.scheme + "://"; - } - if(url.user != null) { - result += url.user + ":"; - } - if(url.password != null) { - result += url.password + "@"; - } - if(url.host != null) { - result += url.host; - } - if(url.port != null) { - result += ":" + url.port; - } - if(url.directory != null) { - result += url.directory; - } - if(url.file != null) { - result += url.file; - } - if(url.query != null) { - result += "?" + url.query; - } - if(url.fragment != null) { - result += "#" + url.fragment; - } - return result; -}; -xrfragment_URI.appendURI = function(url,appendedURI) { - if(xrfragment_URI.isRelative(url) == true) { - return xrfragment_URI.appendToRelativeURI(url,appendedURI); - } else { - return xrfragment_URI.appendToAbsoluteURI(url,appendedURI); - } -}; -xrfragment_URI.isRelative = function(url) { - return url.scheme == null; -}; -xrfragment_URI.appendToRelativeURI = function(url,appendedURI) { - if(url.directory == null || url.host == null) { - return xrfragment_URI.cloneURI(appendedURI); - } - var resultURI = new xrfragment_URI(); - resultURI.host = url.host; - resultURI.directory = url.directory; - if(appendedURI.host != null) { - resultURI.directory += appendedURI.host; - } - if(appendedURI.directory != null) { - var directory = appendedURI.directory; - if(appendedURI.host == null) { - resultURI.directory += HxOverrides.substr(directory,1,null); - } else { - resultURI.directory += directory; - } - } - if(appendedURI.file != null) { - resultURI.file = appendedURI.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(appendedURI.query != null) { - resultURI.query = appendedURI.query; - } - if(appendedURI.fragment != null) { - resultURI.fragment = appendedURI.fragment; - } - return resultURI; -}; -xrfragment_URI.appendToAbsoluteURI = function(url,appendedURI) { - var resultURI = new xrfragment_URI(); - if(url.scheme != null) { - resultURI.scheme = url.scheme; - } - if(url.host != null) { - resultURI.host = url.host; - } - var directory = ""; - if(url.directory != null) { - directory = url.directory; - } - if(appendedURI.host != null) { - appendedURI.directory += appendedURI.host; - } - if(appendedURI.directory != null) { - directory += appendedURI.directory; - } - resultURI.directory = directory; - if(appendedURI.file != null) { - resultURI.file = appendedURI.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(appendedURI.query != null) { - resultURI.query = appendedURI.query; - } - if(appendedURI.fragment != null) { - resultURI.fragment = appendedURI.fragment; - } - return resultURI; -}; -xrfragment_URI.toAbsolute = function(url,newUrl) { - var newURI = xrfragment_URI.parse(newUrl,0); - var resultURI = new xrfragment_URI(); - resultURI.port = url.port; - resultURI.source = newUrl; - if(newURI.scheme != null) { - resultURI.scheme = newURI.scheme; - } else { - resultURI.scheme = url.scheme; - } - if(newURI.host != null && newURI.host.length > 0) { - resultURI.host = newURI.host; - resultURI.port = null; - resultURI.fragment = null; - resultURI.hash = { }; - resultURI.XRF = { }; - if(newURI.port != null) { - resultURI.port = newURI.port; - } - } else { - resultURI.host = url.host; - } - var directory = ""; - if(url.directory != null) { - directory = url.directory; - } - if(newURI.directory != null) { - if(newUrl.charAt(0) != "/" && newUrl.indexOf("://") == -1) { - var stripRelative_r = new RegExp("\\./.*","".split("u").join("")); - directory = directory.replace(stripRelative_r,""); - directory += newURI.directory; - } else { - directory = newURI.directory; - } - } - resultURI.directory = directory; - if(newURI.file != null) { - resultURI.file = newURI.file; - } else { - resultURI.file = url.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(newURI.query != null) { - resultURI.query = newURI.query; - } - if(newURI.fragment != null) { - resultURI.fragment = newURI.fragment; - } - resultURI.hash = newURI.hash; - resultURI.XRF = newURI.XRF; - xrfragment_URI.computeVars(resultURI); - return resultURI; -}; -xrfragment_URI.cloneURI = function(url) { - var clonedURI = new xrfragment_URI(); - clonedURI.url = url.url; - clonedURI.source = url.source; - clonedURI.scheme = url.scheme; - clonedURI.authority = url.authority; - clonedURI.userInfo = url.userInfo; - clonedURI.password = url.password; - clonedURI.host = url.host; - clonedURI.port = url.port; - clonedURI.relative = url.relative; - clonedURI.path = url.path; - clonedURI.directory = url.directory; - clonedURI.file = url.file; - clonedURI.query = url.query; - clonedURI.fragment = url.fragment; - return clonedURI; -}; -var xrfragment_XRF = $hx_exports["xrfragment"]["XRF"] = function(_fragment,_flags,_index) { - this.floats = []; - this.shift = []; - this.fragment = _fragment; - this.flags = _flags; - this.index = _index; -}; -xrfragment_XRF.__name__ = true; -xrfragment_XRF.set = function(flag,flags) { - return flags | flag; -}; -xrfragment_XRF.unset = function(flag,flags) { - return flags & ~flag; -}; -xrfragment_XRF.prototype = { - is: function(flag) { - var v = this.flags; - if(!(typeof(v) == "number" && ((v | 0) === v))) { - this.flags = 0; - } - return (this.flags & flag) != 0; - } - ,validate: function(value) { - this.guessType(this,value); - var ok = true; - if(value.length == 0 && !this.is(xrfragment_XRF.T_PREDEFINED_VIEW)) { - ok = false; - } - if(!this.is(xrfragment_XRF.T_FLOAT) && this.is(xrfragment_XRF.T_VECTOR2) && !(typeof(this.x) == "number" && typeof(this.y) == "number")) { - ok = false; - } - if(!(this.is(xrfragment_XRF.T_VECTOR2) || this.is(xrfragment_XRF.T_STRING)) && this.is(xrfragment_XRF.T_VECTOR3) && !(typeof(this.x) == "number" && typeof(this.y) == "number" && typeof(this.z) == "number")) { - ok = false; - } - return ok; - } - ,guessType: function(v,str) { - v.string = str; - if(xrfragment_XRF.isReset.match(v.fragment)) { - v.reset = true; - } - if(v.fragment == "loop") { - v.loop = true; - } - if(typeof(str) != "string") { - return; - } - if(str.length > 0) { - if(xrfragment_XRF.isXRFScheme.match(str)) { - v.xrfScheme = true; - str = str.replace(xrfragment_XRF.isXRFScheme.r,""); - v.string = str; - } - if(str.split(",").length > 1) { - var xyzn = str.split(","); - if(xyzn.length > 0) { - v.x = parseFloat(xyzn[0]); - } - if(xyzn.length > 1) { - v.y = parseFloat(xyzn[1]); - } - if(xyzn.length > 2) { - v.z = parseFloat(xyzn[2]); - } - var _g = 0; - var _g1 = xyzn.length; - while(_g < _g1) { - var i = _g++; - v.shift.push(xrfragment_XRF.isShift.match(xyzn[i])); - v.floats.push(parseFloat(xyzn[i].replace(xrfragment_XRF.isShift.r,""))); - } - } - if(xrfragment_XRF.isColor.match(str)) { - v.color = str; - } - if(xrfragment_XRF.isFloat.match(str)) { - v.x = parseFloat(str); - v.float = v.x; - } - if(xrfragment_XRF.isInt.match(str)) { - v.int = Std.parseInt(str); - v.x = v.int; - v.floats.push(v.x); - } - v.filter = new xrfragment_Filter(v.fragment + "=" + v.string); - } else { - v.filter = new xrfragment_Filter(v.fragment); - } - } -}; -function $getIterator(o) { if( o instanceof Array ) return new haxe_iterators_ArrayIterator(o); else return o.iterator(); } -function $bind(o,m) { if( m == null ) return null; if( m.__id__ == null ) m.__id__ = $global.$haxeUID++; var f; if( o.hx__closures__ == null ) o.hx__closures__ = {}; else f = o.hx__closures__[m.__id__]; if( f == null ) { f = m.bind(o); o.hx__closures__[m.__id__] = f; } return f; } -$global.$haxeUID |= 0; -if(typeof(performance) != "undefined" ? typeof(performance.now) == "function" : false) { - HxOverrides.now = performance.now.bind(performance); -} -if( String.fromCodePoint == null ) String.fromCodePoint = function(c) { return c < 0x10000 ? String.fromCharCode(c) : String.fromCharCode((c>>10)+0xD7C0)+String.fromCharCode((c&0x3FF)+0xDC00); } -String.__name__ = true; -Array.__name__ = true; -js_Boot.__toStr = ({ }).toString; -haxe_Template.splitter = new EReg("(::[A-Za-z0-9_ ()&|!+=/><*.\"-]+::|\\$\\$([A-Za-z0-9_-]+)\\()",""); -haxe_Template.expr_splitter = new EReg("(\\(|\\)|[ \r\n\t]*\"[^\"]*\"[ \r\n\t]*|[!+=/><*.&|-]+)",""); -haxe_Template.expr_trim = new EReg("^[ ]*([^ ]+)[ ]*$",""); -haxe_Template.expr_int = new EReg("^[0-9]+$",""); -haxe_Template.expr_float = new EReg("^([+-]?)(?=\\d|,\\d)\\d*(,\\d*)?([Ee]([+-]?\\d+))?$",""); -haxe_Template.globals = { }; -haxe_Template.hxKeepArrayIterator = new haxe_iterators_ArrayIterator([]); -xrfragment_Parser.error = ""; -xrfragment_Parser.debug = false; -xrfragment_URI.__meta__ = { statics : { template : { keep : null}}}; -xrfragment_URI._parts = ["source","scheme","authority","userInfo","user","password","host","port","relative","path","directory","file","query","fragment"]; -xrfragment_XRF.IMMUTABLE = 1; -xrfragment_XRF.PROP_BIND = 2; -xrfragment_XRF.QUERY_OPERATOR = 4; -xrfragment_XRF.PROMPT = 8; -xrfragment_XRF.CUSTOMFRAG = 16; -xrfragment_XRF.NAVIGATOR = 32; -xrfragment_XRF.METADATA = 64; -xrfragment_XRF.PV_OVERRIDE = 128; -xrfragment_XRF.PV_EXECUTE = 256; -xrfragment_XRF.T_COLOR = 8192; -xrfragment_XRF.T_INT = 16384; -xrfragment_XRF.T_FLOAT = 32768; -xrfragment_XRF.T_VECTOR2 = 65536; -xrfragment_XRF.T_VECTOR3 = 131072; -xrfragment_XRF.T_URL = 262144; -xrfragment_XRF.T_PREDEFINED_VIEW = 524288; -xrfragment_XRF.T_STRING = 1048576; -xrfragment_XRF.T_MEDIAFRAG = 2097152; -xrfragment_XRF.T_DYNAMICKEY = 4194304; -xrfragment_XRF.T_DYNAMICKEYVALUE = 8388608; -xrfragment_XRF.isColor = new EReg("^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$",""); -xrfragment_XRF.isInt = new EReg("^[-0-9]+$",""); -xrfragment_XRF.isFloat = new EReg("^[-0-9]+\\.[0-9]+$",""); -xrfragment_XRF.isVector = new EReg("([,]+|\\w)",""); -xrfragment_XRF.isUrl = new EReg("(://)?\\..*",""); -xrfragment_XRF.isUrlOrPretypedView = new EReg("(^#|://)?\\..*",""); -xrfragment_XRF.isString = new EReg(".*",""); -xrfragment_XRF.operators = new EReg("(^[-]|^[!]|[\\*]$)","g"); -xrfragment_XRF.isProp = new EReg("^.*=[><=]?",""); -xrfragment_XRF.isExclude = new EReg("^-",""); -xrfragment_XRF.isDeep = new EReg("\\*",""); -xrfragment_XRF.isNumber = new EReg("^[0-9\\.]+$",""); -xrfragment_XRF.isMediaFrag = new EReg("^([0-9\\.,\\*+-]+)$",""); -xrfragment_XRF.isReset = new EReg("^!",""); -xrfragment_XRF.isShift = new EReg("^(\\+|--)",""); -xrfragment_XRF.isXRFScheme = new EReg("^xrf://",""); -})(typeof window != "undefined" ? window : typeof global != "undefined" ? global : typeof self != "undefined" ? self : this); -var xrfragment = $hx_exports["xrfragment"]; -export default xrfragment; -// Generated by Haxe 4.3.3 -var $hx_exports = typeof exports != "undefined" ? exports : typeof window != "undefined" ? window : typeof self != "undefined" ? self : this; -(function ($global) { "use strict"; -$hx_exports["xrfragment"] = $hx_exports["xrfragment"] || {}; -var $estr = function() { return js_Boot.__string_rec(this,''); },$hxEnums = $hxEnums || {},$_; -function $extend(from, fields) { - var proto = Object.create(from); - for (var name in fields) proto[name] = fields[name]; - if( fields.toString !== Object.prototype.toString ) proto.toString = fields.toString; - return proto; -} -var EReg = function(r,opt) { - this.r = new RegExp(r,opt.split("u").join("")); -}; -EReg.__name__ = true; -EReg.prototype = { - match: function(s) { - if(this.r.global) { - this.r.lastIndex = 0; - } - this.r.m = this.r.exec(s); - this.r.s = s; - return this.r.m != null; - } - ,matched: function(n) { - if(this.r.m != null && n >= 0 && n < this.r.m.length) { - return this.r.m[n]; - } else { - throw haxe_Exception.thrown("EReg::matched"); - } - } - ,matchedRight: function() { - if(this.r.m == null) { - throw haxe_Exception.thrown("No string matched"); - } - var sz = this.r.m.index + this.r.m[0].length; - return HxOverrides.substr(this.r.s,sz,this.r.s.length - sz); - } - ,matchedPos: function() { - if(this.r.m == null) { - throw haxe_Exception.thrown("No string matched"); - } - return { pos : this.r.m.index, len : this.r.m[0].length}; - } - ,split: function(s) { - var d = "#__delim__#"; - return s.replace(this.r,d).split(d); - } -}; -var HxOverrides = function() { }; -HxOverrides.__name__ = true; -HxOverrides.cca = function(s,index) { - var x = s.charCodeAt(index); - if(x != x) { - return undefined; - } - return x; -}; -HxOverrides.substr = function(s,pos,len) { - if(len == null) { - len = s.length; - } else if(len < 0) { - if(pos == 0) { - len = s.length + len; - } else { - return ""; - } - } - return s.substr(pos,len); -}; -HxOverrides.now = function() { - return Date.now(); -}; -Math.__name__ = true; -var Reflect = function() { }; -Reflect.__name__ = true; -Reflect.field = function(o,field) { - try { - return o[field]; - } catch( _g ) { - return null; - } -}; -Reflect.getProperty = function(o,field) { - var tmp; - if(o == null) { - return null; - } else { - var tmp1; - if(o.__properties__) { - tmp = o.__properties__["get_" + field]; - tmp1 = tmp; - } else { - tmp1 = false; - } - if(tmp1) { - return o[tmp](); - } else { - return o[field]; - } - } -}; -Reflect.fields = function(o) { - var a = []; - if(o != null) { - var hasOwnProperty = Object.prototype.hasOwnProperty; - for( var f in o ) { - if(f != "__id__" && f != "hx__closures__" && hasOwnProperty.call(o,f)) { - a.push(f); - } - } - } - return a; -}; -Reflect.isObject = function(v) { - if(v == null) { - return false; - } - var t = typeof(v); - if(!(t == "string" || t == "object" && v.__enum__ == null)) { - if(t == "function") { - return (v.__name__ || v.__ename__) != null; - } else { - return false; - } - } else { - return true; - } -}; -Reflect.deleteField = function(o,field) { - if(!Object.prototype.hasOwnProperty.call(o,field)) { - return false; - } - delete(o[field]); - return true; -}; -Reflect.copy = function(o) { - if(o == null) { - return null; - } - var o2 = { }; - var _g = 0; - var _g1 = Reflect.fields(o); - while(_g < _g1.length) { - var f = _g1[_g]; - ++_g; - o2[f] = Reflect.field(o,f); - } - return o2; -}; -var Std = function() { }; -Std.__name__ = true; -Std.string = function(s) { - return js_Boot.__string_rec(s,""); -}; -Std.parseInt = function(x) { - var v = parseInt(x); - if(isNaN(v)) { - return null; - } - return v; -}; -var StringBuf = function() { - this.b = ""; -}; -StringBuf.__name__ = true; -var StringTools = function() { }; -StringTools.__name__ = true; -StringTools.isSpace = function(s,pos) { - var c = HxOverrides.cca(s,pos); - if(!(c > 8 && c < 14)) { - return c == 32; - } else { - return true; - } -}; -StringTools.ltrim = function(s) { - var l = s.length; - var r = 0; - while(r < l && StringTools.isSpace(s,r)) ++r; - if(r > 0) { - return HxOverrides.substr(s,r,l - r); - } else { - return s; - } -}; -StringTools.rtrim = function(s) { - var l = s.length; - var r = 0; - while(r < l && StringTools.isSpace(s,l - r - 1)) ++r; - if(r > 0) { - return HxOverrides.substr(s,0,l - r); - } else { - return s; - } -}; -StringTools.trim = function(s) { - return StringTools.ltrim(StringTools.rtrim(s)); -}; -StringTools.replace = function(s,sub,by) { - return s.split(sub).join(by); -}; -var haxe_Exception = function(message,previous,native) { - Error.call(this,message); - this.message = message; - this.__previousException = previous; - this.__nativeException = native != null ? native : this; -}; -haxe_Exception.__name__ = true; -haxe_Exception.caught = function(value) { - if(((value) instanceof haxe_Exception)) { - return value; - } else if(((value) instanceof Error)) { - return new haxe_Exception(value.message,null,value); - } else { - return new haxe_ValueException(value,null,value); - } -}; -haxe_Exception.thrown = function(value) { - if(((value) instanceof haxe_Exception)) { - return value.get_native(); - } else if(((value) instanceof Error)) { - return value; - } else { - var e = new haxe_ValueException(value); - return e; - } -}; -haxe_Exception.__super__ = Error; -haxe_Exception.prototype = $extend(Error.prototype,{ - unwrap: function() { - return this.__nativeException; - } - ,get_native: function() { - return this.__nativeException; - } - ,__properties__: {get_native:"get_native"} -}); -var haxe__$Template_TemplateExpr = $hxEnums["haxe._Template.TemplateExpr"] = { __ename__:true,__constructs__:null - ,OpVar: ($_=function(v) { return {_hx_index:0,v:v,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpVar",$_.__params__ = ["v"],$_) - ,OpExpr: ($_=function(expr) { return {_hx_index:1,expr:expr,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpExpr",$_.__params__ = ["expr"],$_) - ,OpIf: ($_=function(expr,eif,eelse) { return {_hx_index:2,expr:expr,eif:eif,eelse:eelse,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpIf",$_.__params__ = ["expr","eif","eelse"],$_) - ,OpStr: ($_=function(str) { return {_hx_index:3,str:str,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpStr",$_.__params__ = ["str"],$_) - ,OpBlock: ($_=function(l) { return {_hx_index:4,l:l,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpBlock",$_.__params__ = ["l"],$_) - ,OpForeach: ($_=function(expr,loop) { return {_hx_index:5,expr:expr,loop:loop,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpForeach",$_.__params__ = ["expr","loop"],$_) - ,OpMacro: ($_=function(name,params) { return {_hx_index:6,name:name,params:params,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpMacro",$_.__params__ = ["name","params"],$_) -}; -haxe__$Template_TemplateExpr.__constructs__ = [haxe__$Template_TemplateExpr.OpVar,haxe__$Template_TemplateExpr.OpExpr,haxe__$Template_TemplateExpr.OpIf,haxe__$Template_TemplateExpr.OpStr,haxe__$Template_TemplateExpr.OpBlock,haxe__$Template_TemplateExpr.OpForeach,haxe__$Template_TemplateExpr.OpMacro]; -var haxe_iterators_ArrayIterator = function(array) { - this.current = 0; - this.array = array; -}; -haxe_iterators_ArrayIterator.__name__ = true; -haxe_iterators_ArrayIterator.prototype = { - hasNext: function() { - return this.current < this.array.length; - } - ,next: function() { - return this.array[this.current++]; - } -}; -var haxe_Template = function(str) { - var tokens = this.parseTokens(str); - this.expr = this.parseBlock(tokens); - if(!tokens.isEmpty()) { - throw haxe_Exception.thrown("Unexpected '" + Std.string(tokens.first().s) + "'"); - } -}; -haxe_Template.__name__ = true; -haxe_Template.prototype = { - execute: function(context,macros) { - this.macros = macros == null ? { } : macros; - this.context = context; - this.stack = new haxe_ds_List(); - this.buf = new StringBuf(); - this.run(this.expr); - return this.buf.b; - } - ,resolve: function(v) { - if(v == "__current__") { - return this.context; - } - if(Reflect.isObject(this.context)) { - var value = Reflect.getProperty(this.context,v); - if(value != null || Object.prototype.hasOwnProperty.call(this.context,v)) { - return value; - } - } - var _g_head = this.stack.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var ctx = val; - var value = Reflect.getProperty(ctx,v); - if(value != null || Object.prototype.hasOwnProperty.call(ctx,v)) { - return value; - } - } - return Reflect.field(haxe_Template.globals,v); - } - ,parseTokens: function(data) { - var tokens = new haxe_ds_List(); - while(haxe_Template.splitter.match(data)) { - var p = haxe_Template.splitter.matchedPos(); - if(p.pos > 0) { - tokens.add({ p : HxOverrides.substr(data,0,p.pos), s : true, l : null}); - } - if(HxOverrides.cca(data,p.pos) == 58) { - tokens.add({ p : HxOverrides.substr(data,p.pos + 2,p.len - 4), s : false, l : null}); - data = haxe_Template.splitter.matchedRight(); - continue; - } - var parp = p.pos + p.len; - var npar = 1; - var params = []; - var part = ""; - while(true) { - var c = HxOverrides.cca(data,parp); - ++parp; - if(c == 40) { - ++npar; - } else if(c == 41) { - --npar; - if(npar <= 0) { - break; - } - } else if(c == null) { - throw haxe_Exception.thrown("Unclosed macro parenthesis"); - } - if(c == 44 && npar == 1) { - params.push(part); - part = ""; - } else { - part += String.fromCodePoint(c); - } - } - params.push(part); - tokens.add({ p : haxe_Template.splitter.matched(2), s : false, l : params}); - data = HxOverrides.substr(data,parp,data.length - parp); - } - if(data.length > 0) { - tokens.add({ p : data, s : true, l : null}); - } - return tokens; - } - ,parseBlock: function(tokens) { - var l = new haxe_ds_List(); - while(true) { - var t = tokens.first(); - if(t == null) { - break; - } - if(!t.s && (t.p == "end" || t.p == "else" || HxOverrides.substr(t.p,0,7) == "elseif ")) { - break; - } - l.add(this.parse(tokens)); - } - if(l.length == 1) { - return l.first(); - } - return haxe__$Template_TemplateExpr.OpBlock(l); - } - ,parse: function(tokens) { - var t = tokens.pop(); - var p = t.p; - if(t.s) { - return haxe__$Template_TemplateExpr.OpStr(p); - } - if(t.l != null) { - var pe = new haxe_ds_List(); - var _g = 0; - var _g1 = t.l; - while(_g < _g1.length) { - var p1 = _g1[_g]; - ++_g; - pe.add(this.parseBlock(this.parseTokens(p1))); - } - return haxe__$Template_TemplateExpr.OpMacro(p,pe); - } - var kwdEnd = function(kwd) { - var pos = -1; - var length = kwd.length; - if(HxOverrides.substr(p,0,length) == kwd) { - pos = length; - var _g_offset = 0; - var _g_s = HxOverrides.substr(p,length,null); - while(_g_offset < _g_s.length) { - var c = _g_s.charCodeAt(_g_offset++); - if(c == 32) { - ++pos; - } else { - break; - } - } - } - return pos; - }; - var pos = kwdEnd("if"); - if(pos > 0) { - p = HxOverrides.substr(p,pos,p.length - pos); - var e = this.parseExpr(p); - var eif = this.parseBlock(tokens); - var t = tokens.first(); - var eelse; - if(t == null) { - throw haxe_Exception.thrown("Unclosed 'if'"); - } - if(t.p == "end") { - tokens.pop(); - eelse = null; - } else if(t.p == "else") { - tokens.pop(); - eelse = this.parseBlock(tokens); - t = tokens.pop(); - if(t == null || t.p != "end") { - throw haxe_Exception.thrown("Unclosed 'else'"); - } - } else { - t.p = HxOverrides.substr(t.p,4,t.p.length - 4); - eelse = this.parse(tokens); - } - return haxe__$Template_TemplateExpr.OpIf(e,eif,eelse); - } - var pos = kwdEnd("foreach"); - if(pos >= 0) { - p = HxOverrides.substr(p,pos,p.length - pos); - var e = this.parseExpr(p); - var efor = this.parseBlock(tokens); - var t = tokens.pop(); - if(t == null || t.p != "end") { - throw haxe_Exception.thrown("Unclosed 'foreach'"); - } - return haxe__$Template_TemplateExpr.OpForeach(e,efor); - } - if(haxe_Template.expr_splitter.match(p)) { - return haxe__$Template_TemplateExpr.OpExpr(this.parseExpr(p)); - } - return haxe__$Template_TemplateExpr.OpVar(p); - } - ,parseExpr: function(data) { - var l = new haxe_ds_List(); - var expr = data; - while(haxe_Template.expr_splitter.match(data)) { - var p = haxe_Template.expr_splitter.matchedPos(); - var k = p.pos + p.len; - if(p.pos != 0) { - l.add({ p : HxOverrides.substr(data,0,p.pos), s : true}); - } - var p1 = haxe_Template.expr_splitter.matched(0); - l.add({ p : p1, s : p1.indexOf("\"") >= 0}); - data = haxe_Template.expr_splitter.matchedRight(); - } - if(data.length != 0) { - var _g_offset = 0; - var _g_s = data; - while(_g_offset < _g_s.length) { - var _g_key = _g_offset; - var _g_value = _g_s.charCodeAt(_g_offset++); - var i = _g_key; - var c = _g_value; - if(c != 32) { - l.add({ p : HxOverrides.substr(data,i,null), s : true}); - break; - } - } - } - var e; - try { - e = this.makeExpr(l); - if(!l.isEmpty()) { - throw haxe_Exception.thrown(l.first().p); - } - } catch( _g ) { - var _g1 = haxe_Exception.caught(_g).unwrap(); - if(typeof(_g1) == "string") { - var s = _g1; - throw haxe_Exception.thrown("Unexpected '" + s + "' in " + expr); - } else { - throw _g; - } - } - return function() { - try { - return e(); - } catch( _g ) { - var exc = haxe_Exception.caught(_g).unwrap(); - throw haxe_Exception.thrown("Error : " + Std.string(exc) + " in " + expr); - } - }; - } - ,makeConst: function(v) { - haxe_Template.expr_trim.match(v); - v = haxe_Template.expr_trim.matched(1); - if(HxOverrides.cca(v,0) == 34) { - var str = HxOverrides.substr(v,1,v.length - 2); - return function() { - return str; - }; - } - if(haxe_Template.expr_int.match(v)) { - var i = Std.parseInt(v); - return function() { - return i; - }; - } - if(haxe_Template.expr_float.match(v)) { - var f = parseFloat(v); - return function() { - return f; - }; - } - var me = this; - return function() { - return me.resolve(v); - }; - } - ,makePath: function(e,l) { - var p = l.first(); - if(p == null || p.p != ".") { - return e; - } - l.pop(); - var field = l.pop(); - if(field == null || !field.s) { - throw haxe_Exception.thrown(field.p); - } - var f = field.p; - haxe_Template.expr_trim.match(f); - f = haxe_Template.expr_trim.matched(1); - return this.makePath(function() { - return Reflect.field(e(),f); - },l); - } - ,makeExpr: function(l) { - return this.makePath(this.makeExpr2(l),l); - } - ,skipSpaces: function(l) { - var p = l.first(); - while(p != null) { - var _g_offset = 0; - var _g_s = p.p; - while(_g_offset < _g_s.length) { - var c = _g_s.charCodeAt(_g_offset++); - if(c != 32) { - return; - } - } - l.pop(); - p = l.first(); - } - } - ,makeExpr2: function(l) { - this.skipSpaces(l); - var p = l.pop(); - this.skipSpaces(l); - if(p == null) { - throw haxe_Exception.thrown(""); - } - if(p.s) { - return this.makeConst(p.p); - } - switch(p.p) { - case "!": - var e = this.makeExpr(l); - return function() { - var v = e(); - if(v != null) { - return v == false; - } else { - return true; - } - }; - case "(": - this.skipSpaces(l); - var e1 = this.makeExpr(l); - this.skipSpaces(l); - var p1 = l.pop(); - if(p1 == null || p1.s) { - throw haxe_Exception.thrown(p1); - } - if(p1.p == ")") { - return e1; - } - this.skipSpaces(l); - var e2 = this.makeExpr(l); - this.skipSpaces(l); - var p2 = l.pop(); - this.skipSpaces(l); - if(p2 == null || p2.p != ")") { - throw haxe_Exception.thrown(p2); - } - switch(p1.p) { - case "!=": - return function() { - return e1() != e2(); - }; - case "&&": - return function() { - return e1() && e2(); - }; - case "*": - return function() { - return e1() * e2(); - }; - case "+": - return function() { - return e1() + e2(); - }; - case "-": - return function() { - return e1() - e2(); - }; - case "/": - return function() { - return e1() / e2(); - }; - case "<": - return function() { - return e1() < e2(); - }; - case "<=": - return function() { - return e1() <= e2(); - }; - case "==": - return function() { - return e1() == e2(); - }; - case ">": - return function() { - return e1() > e2(); - }; - case ">=": - return function() { - return e1() >= e2(); - }; - case "||": - return function() { - return e1() || e2(); - }; - default: - throw haxe_Exception.thrown("Unknown operation " + p1.p); - } - break; - case "-": - var e3 = this.makeExpr(l); - return function() { - return -e3(); - }; - } - throw haxe_Exception.thrown(p.p); - } - ,run: function(e) { - switch(e._hx_index) { - case 0: - var v = e.v; - var _this = this.buf; - var x = Std.string(this.resolve(v)); - _this.b += Std.string(x); - break; - case 1: - var e1 = e.expr; - var _this = this.buf; - var x = Std.string(e1()); - _this.b += Std.string(x); - break; - case 2: - var e1 = e.expr; - var eif = e.eif; - var eelse = e.eelse; - var v = e1(); - if(v == null || v == false) { - if(eelse != null) { - this.run(eelse); - } - } else { - this.run(eif); - } - break; - case 3: - var str = e.str; - this.buf.b += str == null ? "null" : "" + str; - break; - case 4: - var l = e.l; - var _g_head = l.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var e1 = val; - this.run(e1); - } - break; - case 5: - var e1 = e.expr; - var loop = e.loop; - var v = e1(); - try { - var x = $getIterator(v); - if(x.hasNext == null) { - throw haxe_Exception.thrown(null); - } - v = x; - } catch( _g ) { - try { - if(v.hasNext == null) { - throw haxe_Exception.thrown(null); - } - } catch( _g1 ) { - throw haxe_Exception.thrown("Cannot iter on " + Std.string(v)); - } - } - this.stack.push(this.context); - var v1 = v; - var ctx = v1; - while(ctx.hasNext()) { - var ctx1 = ctx.next(); - this.context = ctx1; - this.run(loop); - } - this.context = this.stack.pop(); - break; - case 6: - var m = e.name; - var params = e.params; - var v = Reflect.field(this.macros,m); - var pl = []; - var old = this.buf; - pl.push($bind(this,this.resolve)); - var _g_head = params.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var p = val; - if(p._hx_index == 0) { - var v1 = p.v; - pl.push(this.resolve(v1)); - } else { - this.buf = new StringBuf(); - this.run(p); - pl.push(this.buf.b); - } - } - this.buf = old; - try { - var _this = this.buf; - var x = Std.string(v.apply(this.macros,pl)); - _this.b += Std.string(x); - } catch( _g ) { - var e = haxe_Exception.caught(_g).unwrap(); - var plstr; - try { - plstr = pl.join(","); - } catch( _g1 ) { - plstr = "???"; - } - var msg = "Macro call " + m + "(" + plstr + ") failed (" + Std.string(e) + ")"; - throw haxe_Exception.thrown(msg); - } - break; - } - } -}; -var haxe_ValueException = function(value,previous,native) { - haxe_Exception.call(this,String(value),previous,native); - this.value = value; -}; -haxe_ValueException.__name__ = true; -haxe_ValueException.__super__ = haxe_Exception; -haxe_ValueException.prototype = $extend(haxe_Exception.prototype,{ - unwrap: function() { - return this.value; - } -}); -var haxe_ds_List = function() { - this.length = 0; -}; -haxe_ds_List.__name__ = true; -haxe_ds_List.prototype = { - add: function(item) { - var x = new haxe_ds__$List_ListNode(item,null); - if(this.h == null) { - this.h = x; - } else { - this.q.next = x; - } - this.q = x; - this.length++; - } - ,push: function(item) { - var x = new haxe_ds__$List_ListNode(item,this.h); - this.h = x; - if(this.q == null) { - this.q = x; - } - this.length++; - } - ,first: function() { - if(this.h == null) { - return null; - } else { - return this.h.item; - } - } - ,pop: function() { - if(this.h == null) { - return null; - } - var x = this.h.item; - this.h = this.h.next; - if(this.h == null) { - this.q = null; - } - this.length--; - return x; - } - ,isEmpty: function() { - return this.h == null; - } - ,toString: function() { - var s_b = ""; - var first = true; - var l = this.h; - s_b += "{"; - while(l != null) { - if(first) { - first = false; - } else { - s_b += ", "; - } - s_b += Std.string(Std.string(l.item)); - l = l.next; - } - s_b += "}"; - return s_b; - } -}; -var haxe_ds__$List_ListNode = function(item,next) { - this.item = item; - this.next = next; -}; -haxe_ds__$List_ListNode.__name__ = true; -var js_Boot = function() { }; -js_Boot.__name__ = true; -js_Boot.__string_rec = function(o,s) { - if(o == null) { - return "null"; - } - if(s.length >= 5) { - return "<...>"; - } - var t = typeof(o); - if(t == "function" && (o.__name__ || o.__ename__)) { - t = "object"; - } - switch(t) { - case "function": - return ""; - case "object": - if(o.__enum__) { - var e = $hxEnums[o.__enum__]; - var con = e.__constructs__[o._hx_index]; - var n = con._hx_name; - if(con.__params__) { - s = s + "\t"; - return n + "(" + ((function($this) { - var $r; - var _g = []; - { - var _g1 = 0; - var _g2 = con.__params__; - while(true) { - if(!(_g1 < _g2.length)) { - break; - } - var p = _g2[_g1]; - _g1 = _g1 + 1; - _g.push(js_Boot.__string_rec(o[p],s)); - } - } - $r = _g; - return $r; - }(this))).join(",") + ")"; - } else { - return n; - } - } - if(((o) instanceof Array)) { - var str = "["; - s += "\t"; - var _g = 0; - var _g1 = o.length; - while(_g < _g1) { - var i = _g++; - str += (i > 0 ? "," : "") + js_Boot.__string_rec(o[i],s); - } - str += "]"; - return str; - } - var tostr; - try { - tostr = o.toString; - } catch( _g ) { - return "???"; - } - if(tostr != null && tostr != Object.toString && typeof(tostr) == "function") { - var s2 = o.toString(); - if(s2 != "[object Object]") { - return s2; - } - } - var str = "{\n"; - s += "\t"; - var hasp = o.hasOwnProperty != null; - var k = null; - for( k in o ) { - if(hasp && !o.hasOwnProperty(k)) { - continue; - } - if(k == "prototype" || k == "__class__" || k == "__super__" || k == "__interfaces__" || k == "__properties__") { - continue; - } - if(str.length != 2) { - str += ", \n"; - } - str += s + k + " : " + js_Boot.__string_rec(o[k],s); - } - s = s.substring(1); - str += "\n" + s + "}"; - return str; - case "string": - return o; - default: - return String(o); - } -}; -var xrfragment_Filter = $hx_exports["xrfragment"]["Filter"] = function(str) { - this.q = { }; - this.str = ""; - if(str != null) { - this.parse(str); - } -}; -xrfragment_Filter.__name__ = true; -xrfragment_Filter.prototype = { - toObject: function() { - return Reflect.copy(this.q); - } - ,get: function() { - return Reflect.copy(this.q); - } - ,parse: function(str) { - var token = str.split(" "); - var q = { }; - var process = function(str,prefix) { - if(prefix == null) { - prefix = ""; - } - str = StringTools.trim(str); - var k = str.split("=")[0]; - var v = str.split("=")[1]; - var filter = { }; - if(q[prefix + k]) { - filter = q[prefix + k]; - } - if(xrfragment_XRF.isProp.match(str)) { - var oper = ""; - if(str.indexOf(">") != -1) { - oper = ">"; - } - if(str.indexOf("<") != -1) { - oper = "<"; - } - if(xrfragment_XRF.isExclude.match(k)) { - k = HxOverrides.substr(k,1,null); - } - v = HxOverrides.substr(v,oper.length,null); - if(oper.length == 0) { - oper = "="; - } - var rule = { }; - if(xrfragment_XRF.isNumber.match(v)) { - rule[oper] = parseFloat(v); - } else { - rule[oper] = v; - } - q["expr"] = rule; - } - var value = xrfragment_XRF.isDeep.match(str) ? k.split("*").length - 1 : 0; - q["deep"] = value; - var value = xrfragment_XRF.isExclude.match(str) ? false : true; - q["show"] = value; - var value = k.replace(xrfragment_XRF.operators.r,""); - q["key"] = value; - q["value"] = v; - }; - var _g = 0; - var _g1 = token.length; - while(_g < _g1) { - var i = _g++; - process(token[i]); - } - return this.q = q; - } - ,test: function(obj) { - var qualify = false; - var _g = 0; - var _g1 = Reflect.fields(obj); - while(_g < _g1.length) { - var k = _g1[_g]; - ++_g; - var v = Std.string(Reflect.field(obj,k)); - if(this.testProperty(k,v)) { - qualify = true; - } - } - var _g = 0; - var _g1 = Reflect.fields(obj); - while(_g < _g1.length) { - var k = _g1[_g]; - ++_g; - var v = Std.string(Reflect.field(obj,k)); - if(this.testProperty(k,v,true)) { - qualify = false; - } - } - return qualify; - } - ,testProperty: function(property,value,exclude) { - var conds = 0; - var fails = 0; - var qualify = 0; - var testprop = function(expr) { - conds += 1; - fails += expr ? 0 : 1; - return expr; - }; - if(this.q[value] != null) { - var v = this.q[value]; - if(v[property] != null) { - return v[property]; - } - } - if(Reflect.field(this.q,"expr")) { - var f = Reflect.field(this.q,"expr"); - if(!Reflect.field(this.q,"show")) { - if(Reflect.field(f,"!=") != null && testprop((value == null ? "null" : "" + value) == Std.string(Reflect.field(f,"!="))) && exclude) { - ++qualify; - } - } else { - if(Reflect.field(f,"*") != null && testprop(parseFloat(value) != null)) { - ++qualify; - } - if(Reflect.field(f,">") != null && testprop(parseFloat(value) >= parseFloat(Reflect.field(f,">")))) { - ++qualify; - } - if(Reflect.field(f,"<") != null && testprop(parseFloat(value) <= parseFloat(Reflect.field(f,"<")))) { - ++qualify; - } - if(Reflect.field(f,"=") != null && (testprop(value == Reflect.field(f,"=")) || testprop(parseFloat(value) == parseFloat(Reflect.field(f,"="))))) { - ++qualify; - } - } - } - return qualify > 0; - } -}; -var xrfragment_Parser = $hx_exports["xrfragment"]["Parser"] = function() { }; -xrfragment_Parser.__name__ = true; -xrfragment_Parser.parse = function(key,value,store,index) { - var Frag_h = Object.create(null); - Frag_h["#"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_PREDEFINED_VIEW | xrfragment_XRF.PV_EXECUTE; - Frag_h["src"] = xrfragment_XRF.T_URL; - Frag_h["href"] = xrfragment_XRF.T_URL | xrfragment_XRF.T_PREDEFINED_VIEW; - Frag_h["tag"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["pos"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_VECTOR3 | xrfragment_XRF.T_STRING | xrfragment_XRF.METADATA | xrfragment_XRF.NAVIGATOR; - Frag_h["rot"] = xrfragment_XRF.QUERY_OPERATOR | xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_VECTOR3 | xrfragment_XRF.METADATA | xrfragment_XRF.NAVIGATOR; - Frag_h["t"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_FLOAT | xrfragment_XRF.T_VECTOR2 | xrfragment_XRF.NAVIGATOR | xrfragment_XRF.METADATA; - Frag_h["s"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_MEDIAFRAG; - Frag_h["loop"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_PREDEFINED_VIEW; - Frag_h["uv"] = xrfragment_XRF.T_VECTOR2 | xrfragment_XRF.T_MEDIAFRAG; - Frag_h["namespace"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["SPDX"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["unit"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["description"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - var keyStripped = key.replace(xrfragment_XRF.operators.r,""); - var isPVDynamic = key.length > 0 && !Object.prototype.hasOwnProperty.call(Frag_h,key); - if(isPVDynamic) { - var v = new xrfragment_XRF(key,xrfragment_XRF.PV_EXECUTE | xrfragment_XRF.NAVIGATOR,index); - v.validate(value); - v.flags = xrfragment_XRF.set(xrfragment_XRF.T_DYNAMICKEY,v.flags); - if(!Object.prototype.hasOwnProperty.call(Frag_h,key)) { - v.flags = xrfragment_XRF.set(xrfragment_XRF.CUSTOMFRAG,v.flags); - } - if(value.length == 0) { - v.flags = xrfragment_XRF.set(xrfragment_XRF.T_DYNAMICKEYVALUE,v.flags); - } - store[keyStripped] = v; - return true; - } - var v = new xrfragment_XRF(key,Frag_h[key],index); - if(Object.prototype.hasOwnProperty.call(Frag_h,key)) { - if(!v.validate(value)) { - console.log("src/xrfragment/Parser.hx:67:","⚠ fragment '" + key + "' has incompatible value (" + value + ")"); - return false; - } - store[keyStripped] = v; - if(xrfragment_Parser.debug) { - console.log("src/xrfragment/Parser.hx:71:","✔ " + key + ": " + v.string); - } - } else { - if(typeof(value) == "string") { - v.guessType(v,value); - } - v.flags = xrfragment_XRF.set(xrfragment_XRF.CUSTOMFRAG,v.flags); - store[keyStripped] = v; - } - return true; -}; -xrfragment_Parser.getMetaData = function() { - var meta = { title : ["title","og:title","dc.title"], description : ["aria-description","og:description","dc.description"], author : ["author","dc.creator"], publisher : ["publisher","dc.publisher"], website : ["og:site_name","og:url","dc.publisher"], license : ["SPDX","dc.rights"]}; - return meta; -}; -var xrfragment_URI = $hx_exports["xrfragment"]["URI"] = function() { - this.XRF = { }; - this.hash = { }; - this.fragment = ""; -}; -xrfragment_URI.__name__ = true; -xrfragment_URI.parseFragment = function(url,filter) { - var store = { }; - if(url == null || url.indexOf("#") == -1) { - return store; - } - var fragment = url.split("#"); - var splitArray = fragment[1].split("&"); - var _g = 0; - var _g1 = splitArray.length; - while(_g < _g1) { - var i = _g++; - var splitByEqual = splitArray[i].split("="); - var regexPlus = new EReg("\\+","g"); - var key = splitByEqual[0]; - var value = ""; - if(splitByEqual.length > 1) { - if(xrfragment_XRF.isVector.match(splitByEqual[1])) { - value = splitByEqual[1]; - } else { - var s = regexPlus.split(splitByEqual[1]).join(" "); - value = decodeURIComponent(s.split("+").join(" ")); - } - } - var ok = xrfragment_Parser.parse(key,value,store,i); - } - if(filter != null && filter != 0) { - var _g = 0; - var _g1 = Reflect.fields(store); - while(_g < _g1.length) { - var key = _g1[_g]; - ++_g; - var xrf = store[key]; - if(!xrf.is(filter)) { - Reflect.deleteField(store,key); - } - } - } - return store; -}; -xrfragment_URI.template = function(uri,vars) { - var parts = uri.split("#"); - if(parts.length == 1) { - return uri; - } - var frag = parts[1]; - frag = StringTools.replace(frag,"{","::"); - frag = StringTools.replace(frag,"}","::"); - frag = new haxe_Template(frag).execute(vars); - frag = StringTools.replace(frag,"null",""); - parts[1] = frag; - return parts.join("#"); -}; -xrfragment_URI.parse = function(stringUrl,flags) { - var r = new EReg("^(?:(?![^:@]+:[^:@/]*@)([^:/?#.]+):)?(?://)?((?:(([^:@]*)(?::([^:@]*))?)?@)?([^:/?#]*)(?::(\\d*))?)(((/(?:[^?#](?![^?#/]*\\.[^?#/.]+(?:[?#]|$)))*/?)?([^?#/]*))(?:\\?([^#]*))?(?:#(.*))?)",""); - if(stringUrl.indexOf("://") == -1 && stringUrl.charAt(0) != "/") { - stringUrl = "/" + stringUrl; - } - r.match(stringUrl); - var url = new xrfragment_URI(); - var _g = 0; - var _g1 = xrfragment_URI._parts.length; - while(_g < _g1) { - var i = _g++; - url[xrfragment_URI._parts[i]] = r.matched(i); - } - if(xrfragment_URI.isRelative(url) == true) { - if(url.directory == null && url.host != null) { - url.file = url.host; - } - url.host = ""; - } - url.hash = { }; - if(url.fragment != null && url.fragment.length > 0) { - url.XRF = xrfragment_URI.parseFragment("#" + url.fragment,flags); - var key; - var _g = 0; - var _g1 = Reflect.fields(url.XRF); - while(_g < _g1.length) { - var key = _g1[_g]; - ++_g; - var v = url.XRF[key]; - url.hash[key] = v["string"]; - } - } - xrfragment_URI.computeVars(url); - return url; -}; -xrfragment_URI.computeVars = function(url) { - var r_r = new RegExp("//","g".split("u").join("")); - if(url.directory != null && url.directory.indexOf("//") != -1) { - url.directory = url.directory.replace(r_r,"/"); - } - if(url.path != null && url.path.indexOf("//") != -1) { - url.path = url.path.replace(r_r,"/"); - } - if(url.file != null && url.file.indexOf("//") != -1) { - url.file = url.file.replace(r_r,"/"); - } - url.URN = url.scheme + "://" + url.host; - if(url.port != null) { - url.URN += ":" + url.port; - } - url.URN += url.directory; - if(url.file != null) { - var parts = url.file.split("."); - if(parts.length > 1) { - url.fileExt = parts.pop(); - } - } -}; -xrfragment_URI.toString = function(url) { - var result = ""; - if(url.scheme != null) { - result += url.scheme + "://"; - } - if(url.user != null) { - result += url.user + ":"; - } - if(url.password != null) { - result += url.password + "@"; - } - if(url.host != null) { - result += url.host; - } - if(url.port != null) { - result += ":" + url.port; - } - if(url.directory != null) { - result += url.directory; - } - if(url.file != null) { - result += url.file; - } - if(url.query != null) { - result += "?" + url.query; - } - if(url.fragment != null) { - result += "#" + url.fragment; - } - return result; -}; -xrfragment_URI.appendURI = function(url,appendedURI) { - if(xrfragment_URI.isRelative(url) == true) { - return xrfragment_URI.appendToRelativeURI(url,appendedURI); - } else { - return xrfragment_URI.appendToAbsoluteURI(url,appendedURI); - } -}; -xrfragment_URI.isRelative = function(url) { - return url.scheme == null; -}; -xrfragment_URI.appendToRelativeURI = function(url,appendedURI) { - if(url.directory == null || url.host == null) { - return xrfragment_URI.cloneURI(appendedURI); - } - var resultURI = new xrfragment_URI(); - resultURI.host = url.host; - resultURI.directory = url.directory; - if(appendedURI.host != null) { - resultURI.directory += appendedURI.host; - } - if(appendedURI.directory != null) { - var directory = appendedURI.directory; - if(appendedURI.host == null) { - resultURI.directory += HxOverrides.substr(directory,1,null); - } else { - resultURI.directory += directory; - } - } - if(appendedURI.file != null) { - resultURI.file = appendedURI.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(appendedURI.query != null) { - resultURI.query = appendedURI.query; - } - if(appendedURI.fragment != null) { - resultURI.fragment = appendedURI.fragment; - } - return resultURI; -}; -xrfragment_URI.appendToAbsoluteURI = function(url,appendedURI) { - var resultURI = new xrfragment_URI(); - if(url.scheme != null) { - resultURI.scheme = url.scheme; - } - if(url.host != null) { - resultURI.host = url.host; - } - var directory = ""; - if(url.directory != null) { - directory = url.directory; - } - if(appendedURI.host != null) { - appendedURI.directory += appendedURI.host; - } - if(appendedURI.directory != null) { - directory += appendedURI.directory; - } - resultURI.directory = directory; - if(appendedURI.file != null) { - resultURI.file = appendedURI.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(appendedURI.query != null) { - resultURI.query = appendedURI.query; - } - if(appendedURI.fragment != null) { - resultURI.fragment = appendedURI.fragment; - } - return resultURI; -}; -xrfragment_URI.toAbsolute = function(url,newUrl) { - var newURI = xrfragment_URI.parse(newUrl,0); - var resultURI = new xrfragment_URI(); - resultURI.port = url.port; - resultURI.source = newUrl; - if(newURI.scheme != null) { - resultURI.scheme = newURI.scheme; - } else { - resultURI.scheme = url.scheme; - } - if(newURI.host != null && newURI.host.length > 0) { - resultURI.host = newURI.host; - resultURI.port = null; - resultURI.fragment = null; - resultURI.hash = { }; - resultURI.XRF = { }; - if(newURI.port != null) { - resultURI.port = newURI.port; - } - } else { - resultURI.host = url.host; - } - var directory = ""; - if(url.directory != null) { - directory = url.directory; - } - if(newURI.directory != null) { - if(newUrl.charAt(0) != "/" && newUrl.indexOf("://") == -1) { - var stripRelative_r = new RegExp("\\./.*","".split("u").join("")); - directory = directory.replace(stripRelative_r,""); - directory += newURI.directory; - } else { - directory = newURI.directory; - } - } - resultURI.directory = directory; - if(newURI.file != null) { - resultURI.file = newURI.file; - } else { - resultURI.file = url.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(newURI.query != null) { - resultURI.query = newURI.query; - } - if(newURI.fragment != null) { - resultURI.fragment = newURI.fragment; - } - resultURI.hash = newURI.hash; - resultURI.XRF = newURI.XRF; - xrfragment_URI.computeVars(resultURI); - return resultURI; -}; -xrfragment_URI.cloneURI = function(url) { - var clonedURI = new xrfragment_URI(); - clonedURI.url = url.url; - clonedURI.source = url.source; - clonedURI.scheme = url.scheme; - clonedURI.authority = url.authority; - clonedURI.userInfo = url.userInfo; - clonedURI.password = url.password; - clonedURI.host = url.host; - clonedURI.port = url.port; - clonedURI.relative = url.relative; - clonedURI.path = url.path; - clonedURI.directory = url.directory; - clonedURI.file = url.file; - clonedURI.query = url.query; - clonedURI.fragment = url.fragment; - return clonedURI; -}; -var xrfragment_XRF = $hx_exports["xrfragment"]["XRF"] = function(_fragment,_flags,_index) { - this.floats = []; - this.shift = []; - this.fragment = _fragment; - this.flags = _flags; - this.index = _index; -}; -xrfragment_XRF.__name__ = true; -xrfragment_XRF.set = function(flag,flags) { - return flags | flag; -}; -xrfragment_XRF.unset = function(flag,flags) { - return flags & ~flag; -}; -xrfragment_XRF.prototype = { - is: function(flag) { - var v = this.flags; - if(!(typeof(v) == "number" && ((v | 0) === v))) { - this.flags = 0; - } - return (this.flags & flag) != 0; - } - ,validate: function(value) { - this.guessType(this,value); - var ok = true; - if(value.length == 0 && !this.is(xrfragment_XRF.T_PREDEFINED_VIEW)) { - ok = false; - } - if(!this.is(xrfragment_XRF.T_FLOAT) && this.is(xrfragment_XRF.T_VECTOR2) && !(typeof(this.x) == "number" && typeof(this.y) == "number")) { - ok = false; - } - if(!(this.is(xrfragment_XRF.T_VECTOR2) || this.is(xrfragment_XRF.T_STRING)) && this.is(xrfragment_XRF.T_VECTOR3) && !(typeof(this.x) == "number" && typeof(this.y) == "number" && typeof(this.z) == "number")) { - ok = false; - } - return ok; - } - ,guessType: function(v,str) { - v.string = str; - if(xrfragment_XRF.isReset.match(v.fragment)) { - v.reset = true; - } - if(v.fragment == "loop") { - v.loop = true; - } - if(typeof(str) != "string") { - return; - } - if(str.length > 0) { - if(xrfragment_XRF.isXRFScheme.match(str)) { - v.xrfScheme = true; - str = str.replace(xrfragment_XRF.isXRFScheme.r,""); - v.string = str; - } - if(str.split(",").length > 1) { - var xyzn = str.split(","); - if(xyzn.length > 0) { - v.x = parseFloat(xyzn[0]); - } - if(xyzn.length > 1) { - v.y = parseFloat(xyzn[1]); - } - if(xyzn.length > 2) { - v.z = parseFloat(xyzn[2]); - } - var _g = 0; - var _g1 = xyzn.length; - while(_g < _g1) { - var i = _g++; - v.shift.push(xrfragment_XRF.isShift.match(xyzn[i])); - v.floats.push(parseFloat(xyzn[i].replace(xrfragment_XRF.isShift.r,""))); - } - } - if(xrfragment_XRF.isColor.match(str)) { - v.color = str; - } - if(xrfragment_XRF.isFloat.match(str)) { - v.x = parseFloat(str); - v.float = v.x; - } - if(xrfragment_XRF.isInt.match(str)) { - v.int = Std.parseInt(str); - v.x = v.int; - v.floats.push(v.x); - } - v.filter = new xrfragment_Filter(v.fragment + "=" + v.string); - } else { - v.filter = new xrfragment_Filter(v.fragment); - } - } -}; -function $getIterator(o) { if( o instanceof Array ) return new haxe_iterators_ArrayIterator(o); else return o.iterator(); } -function $bind(o,m) { if( m == null ) return null; if( m.__id__ == null ) m.__id__ = $global.$haxeUID++; var f; if( o.hx__closures__ == null ) o.hx__closures__ = {}; else f = o.hx__closures__[m.__id__]; if( f == null ) { f = m.bind(o); o.hx__closures__[m.__id__] = f; } return f; } -$global.$haxeUID |= 0; -if(typeof(performance) != "undefined" ? typeof(performance.now) == "function" : false) { - HxOverrides.now = performance.now.bind(performance); -} -if( String.fromCodePoint == null ) String.fromCodePoint = function(c) { return c < 0x10000 ? String.fromCharCode(c) : String.fromCharCode((c>>10)+0xD7C0)+String.fromCharCode((c&0x3FF)+0xDC00); } -String.__name__ = true; -Array.__name__ = true; -js_Boot.__toStr = ({ }).toString; -haxe_Template.splitter = new EReg("(::[A-Za-z0-9_ ()&|!+=/><*.\"-]+::|\\$\\$([A-Za-z0-9_-]+)\\()",""); -haxe_Template.expr_splitter = new EReg("(\\(|\\)|[ \r\n\t]*\"[^\"]*\"[ \r\n\t]*|[!+=/><*.&|-]+)",""); -haxe_Template.expr_trim = new EReg("^[ ]*([^ ]+)[ ]*$",""); -haxe_Template.expr_int = new EReg("^[0-9]+$",""); -haxe_Template.expr_float = new EReg("^([+-]?)(?=\\d|,\\d)\\d*(,\\d*)?([Ee]([+-]?\\d+))?$",""); -haxe_Template.globals = { }; -haxe_Template.hxKeepArrayIterator = new haxe_iterators_ArrayIterator([]); -xrfragment_Parser.error = ""; -xrfragment_Parser.debug = false; -xrfragment_URI.__meta__ = { statics : { template : { keep : null}}}; -xrfragment_URI._parts = ["source","scheme","authority","userInfo","user","password","host","port","relative","path","directory","file","query","fragment"]; -xrfragment_XRF.IMMUTABLE = 1; -xrfragment_XRF.PROP_BIND = 2; -xrfragment_XRF.QUERY_OPERATOR = 4; -xrfragment_XRF.PROMPT = 8; -xrfragment_XRF.CUSTOMFRAG = 16; -xrfragment_XRF.NAVIGATOR = 32; -xrfragment_XRF.METADATA = 64; -xrfragment_XRF.PV_OVERRIDE = 128; -xrfragment_XRF.PV_EXECUTE = 256; -xrfragment_XRF.T_COLOR = 8192; -xrfragment_XRF.T_INT = 16384; -xrfragment_XRF.T_FLOAT = 32768; -xrfragment_XRF.T_VECTOR2 = 65536; -xrfragment_XRF.T_VECTOR3 = 131072; -xrfragment_XRF.T_URL = 262144; -xrfragment_XRF.T_PREDEFINED_VIEW = 524288; -xrfragment_XRF.T_STRING = 1048576; -xrfragment_XRF.T_MEDIAFRAG = 2097152; -xrfragment_XRF.T_DYNAMICKEY = 4194304; -xrfragment_XRF.T_DYNAMICKEYVALUE = 8388608; -xrfragment_XRF.isColor = new EReg("^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$",""); -xrfragment_XRF.isInt = new EReg("^[-0-9]+$",""); -xrfragment_XRF.isFloat = new EReg("^[-0-9]+\\.[0-9]+$",""); -xrfragment_XRF.isVector = new EReg("([,]+|\\w)",""); -xrfragment_XRF.isUrl = new EReg("(://)?\\..*",""); -xrfragment_XRF.isUrlOrPretypedView = new EReg("(^#|://)?\\..*",""); -xrfragment_XRF.isString = new EReg(".*",""); -xrfragment_XRF.operators = new EReg("(^[-]|^[!]|[\\*]$)","g"); -xrfragment_XRF.isProp = new EReg("^.*=[><=]?",""); -xrfragment_XRF.isExclude = new EReg("^-",""); -xrfragment_XRF.isDeep = new EReg("\\*",""); -xrfragment_XRF.isNumber = new EReg("^[0-9\\.]+$",""); -xrfragment_XRF.isMediaFrag = new EReg("^([0-9\\.,\\*+-]+)$",""); -xrfragment_XRF.isReset = new EReg("^!",""); -xrfragment_XRF.isShift = new EReg("^(\\+|--)",""); -xrfragment_XRF.isXRFScheme = new EReg("^xrf://",""); -})(typeof window != "undefined" ? window : typeof global != "undefined" ? global : typeof self != "undefined" ? self : this); -var xrfragment = $hx_exports["xrfragment"]; -export default xrfragment; -// Generated by Haxe 4.3.3 -var $hx_exports = typeof exports != "undefined" ? exports : typeof window != "undefined" ? window : typeof self != "undefined" ? self : this; -(function ($global) { "use strict"; -$hx_exports["xrfragment"] = $hx_exports["xrfragment"] || {}; -var $estr = function() { return js_Boot.__string_rec(this,''); },$hxEnums = $hxEnums || {},$_; -function $extend(from, fields) { - var proto = Object.create(from); - for (var name in fields) proto[name] = fields[name]; - if( fields.toString !== Object.prototype.toString ) proto.toString = fields.toString; - return proto; -} -var EReg = function(r,opt) { - this.r = new RegExp(r,opt.split("u").join("")); -}; -EReg.__name__ = true; -EReg.prototype = { - match: function(s) { - if(this.r.global) { - this.r.lastIndex = 0; - } - this.r.m = this.r.exec(s); - this.r.s = s; - return this.r.m != null; - } - ,matched: function(n) { - if(this.r.m != null && n >= 0 && n < this.r.m.length) { - return this.r.m[n]; - } else { - throw haxe_Exception.thrown("EReg::matched"); - } - } - ,matchedRight: function() { - if(this.r.m == null) { - throw haxe_Exception.thrown("No string matched"); - } - var sz = this.r.m.index + this.r.m[0].length; - return HxOverrides.substr(this.r.s,sz,this.r.s.length - sz); - } - ,matchedPos: function() { - if(this.r.m == null) { - throw haxe_Exception.thrown("No string matched"); - } - return { pos : this.r.m.index, len : this.r.m[0].length}; - } - ,split: function(s) { - var d = "#__delim__#"; - return s.replace(this.r,d).split(d); - } -}; -var HxOverrides = function() { }; -HxOverrides.__name__ = true; -HxOverrides.cca = function(s,index) { - var x = s.charCodeAt(index); - if(x != x) { - return undefined; - } - return x; -}; -HxOverrides.substr = function(s,pos,len) { - if(len == null) { - len = s.length; - } else if(len < 0) { - if(pos == 0) { - len = s.length + len; - } else { - return ""; - } - } - return s.substr(pos,len); -}; -HxOverrides.now = function() { - return Date.now(); -}; -Math.__name__ = true; -var Reflect = function() { }; -Reflect.__name__ = true; -Reflect.field = function(o,field) { - try { - return o[field]; - } catch( _g ) { - return null; - } -}; -Reflect.getProperty = function(o,field) { - var tmp; - if(o == null) { - return null; - } else { - var tmp1; - if(o.__properties__) { - tmp = o.__properties__["get_" + field]; - tmp1 = tmp; - } else { - tmp1 = false; - } - if(tmp1) { - return o[tmp](); - } else { - return o[field]; - } - } -}; -Reflect.fields = function(o) { - var a = []; - if(o != null) { - var hasOwnProperty = Object.prototype.hasOwnProperty; - for( var f in o ) { - if(f != "__id__" && f != "hx__closures__" && hasOwnProperty.call(o,f)) { - a.push(f); - } - } - } - return a; -}; -Reflect.isObject = function(v) { - if(v == null) { - return false; - } - var t = typeof(v); - if(!(t == "string" || t == "object" && v.__enum__ == null)) { - if(t == "function") { - return (v.__name__ || v.__ename__) != null; - } else { - return false; - } - } else { - return true; - } -}; -Reflect.deleteField = function(o,field) { - if(!Object.prototype.hasOwnProperty.call(o,field)) { - return false; - } - delete(o[field]); - return true; -}; -Reflect.copy = function(o) { - if(o == null) { - return null; - } - var o2 = { }; - var _g = 0; - var _g1 = Reflect.fields(o); - while(_g < _g1.length) { - var f = _g1[_g]; - ++_g; - o2[f] = Reflect.field(o,f); - } - return o2; -}; -var Std = function() { }; -Std.__name__ = true; -Std.string = function(s) { - return js_Boot.__string_rec(s,""); -}; -Std.parseInt = function(x) { - var v = parseInt(x); - if(isNaN(v)) { - return null; - } - return v; -}; -var StringBuf = function() { - this.b = ""; -}; -StringBuf.__name__ = true; -var StringTools = function() { }; -StringTools.__name__ = true; -StringTools.isSpace = function(s,pos) { - var c = HxOverrides.cca(s,pos); - if(!(c > 8 && c < 14)) { - return c == 32; - } else { - return true; - } -}; -StringTools.ltrim = function(s) { - var l = s.length; - var r = 0; - while(r < l && StringTools.isSpace(s,r)) ++r; - if(r > 0) { - return HxOverrides.substr(s,r,l - r); - } else { - return s; - } -}; -StringTools.rtrim = function(s) { - var l = s.length; - var r = 0; - while(r < l && StringTools.isSpace(s,l - r - 1)) ++r; - if(r > 0) { - return HxOverrides.substr(s,0,l - r); - } else { - return s; - } -}; -StringTools.trim = function(s) { - return StringTools.ltrim(StringTools.rtrim(s)); -}; -StringTools.replace = function(s,sub,by) { - return s.split(sub).join(by); -}; -var haxe_Exception = function(message,previous,native) { - Error.call(this,message); - this.message = message; - this.__previousException = previous; - this.__nativeException = native != null ? native : this; -}; -haxe_Exception.__name__ = true; -haxe_Exception.caught = function(value) { - if(((value) instanceof haxe_Exception)) { - return value; - } else if(((value) instanceof Error)) { - return new haxe_Exception(value.message,null,value); - } else { - return new haxe_ValueException(value,null,value); - } -}; -haxe_Exception.thrown = function(value) { - if(((value) instanceof haxe_Exception)) { - return value.get_native(); - } else if(((value) instanceof Error)) { - return value; - } else { - var e = new haxe_ValueException(value); - return e; - } -}; -haxe_Exception.__super__ = Error; -haxe_Exception.prototype = $extend(Error.prototype,{ - unwrap: function() { - return this.__nativeException; - } - ,get_native: function() { - return this.__nativeException; - } - ,__properties__: {get_native:"get_native"} -}); -var haxe__$Template_TemplateExpr = $hxEnums["haxe._Template.TemplateExpr"] = { __ename__:true,__constructs__:null - ,OpVar: ($_=function(v) { return {_hx_index:0,v:v,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpVar",$_.__params__ = ["v"],$_) - ,OpExpr: ($_=function(expr) { return {_hx_index:1,expr:expr,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpExpr",$_.__params__ = ["expr"],$_) - ,OpIf: ($_=function(expr,eif,eelse) { return {_hx_index:2,expr:expr,eif:eif,eelse:eelse,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpIf",$_.__params__ = ["expr","eif","eelse"],$_) - ,OpStr: ($_=function(str) { return {_hx_index:3,str:str,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpStr",$_.__params__ = ["str"],$_) - ,OpBlock: ($_=function(l) { return {_hx_index:4,l:l,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpBlock",$_.__params__ = ["l"],$_) - ,OpForeach: ($_=function(expr,loop) { return {_hx_index:5,expr:expr,loop:loop,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpForeach",$_.__params__ = ["expr","loop"],$_) - ,OpMacro: ($_=function(name,params) { return {_hx_index:6,name:name,params:params,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpMacro",$_.__params__ = ["name","params"],$_) -}; -haxe__$Template_TemplateExpr.__constructs__ = [haxe__$Template_TemplateExpr.OpVar,haxe__$Template_TemplateExpr.OpExpr,haxe__$Template_TemplateExpr.OpIf,haxe__$Template_TemplateExpr.OpStr,haxe__$Template_TemplateExpr.OpBlock,haxe__$Template_TemplateExpr.OpForeach,haxe__$Template_TemplateExpr.OpMacro]; -var haxe_iterators_ArrayIterator = function(array) { - this.current = 0; - this.array = array; -}; -haxe_iterators_ArrayIterator.__name__ = true; -haxe_iterators_ArrayIterator.prototype = { - hasNext: function() { - return this.current < this.array.length; - } - ,next: function() { - return this.array[this.current++]; - } -}; -var haxe_Template = function(str) { - var tokens = this.parseTokens(str); - this.expr = this.parseBlock(tokens); - if(!tokens.isEmpty()) { - throw haxe_Exception.thrown("Unexpected '" + Std.string(tokens.first().s) + "'"); - } -}; -haxe_Template.__name__ = true; -haxe_Template.prototype = { - execute: function(context,macros) { - this.macros = macros == null ? { } : macros; - this.context = context; - this.stack = new haxe_ds_List(); - this.buf = new StringBuf(); - this.run(this.expr); - return this.buf.b; - } - ,resolve: function(v) { - if(v == "__current__") { - return this.context; - } - if(Reflect.isObject(this.context)) { - var value = Reflect.getProperty(this.context,v); - if(value != null || Object.prototype.hasOwnProperty.call(this.context,v)) { - return value; - } - } - var _g_head = this.stack.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var ctx = val; - var value = Reflect.getProperty(ctx,v); - if(value != null || Object.prototype.hasOwnProperty.call(ctx,v)) { - return value; - } - } - return Reflect.field(haxe_Template.globals,v); - } - ,parseTokens: function(data) { - var tokens = new haxe_ds_List(); - while(haxe_Template.splitter.match(data)) { - var p = haxe_Template.splitter.matchedPos(); - if(p.pos > 0) { - tokens.add({ p : HxOverrides.substr(data,0,p.pos), s : true, l : null}); - } - if(HxOverrides.cca(data,p.pos) == 58) { - tokens.add({ p : HxOverrides.substr(data,p.pos + 2,p.len - 4), s : false, l : null}); - data = haxe_Template.splitter.matchedRight(); - continue; - } - var parp = p.pos + p.len; - var npar = 1; - var params = []; - var part = ""; - while(true) { - var c = HxOverrides.cca(data,parp); - ++parp; - if(c == 40) { - ++npar; - } else if(c == 41) { - --npar; - if(npar <= 0) { - break; - } - } else if(c == null) { - throw haxe_Exception.thrown("Unclosed macro parenthesis"); - } - if(c == 44 && npar == 1) { - params.push(part); - part = ""; - } else { - part += String.fromCodePoint(c); - } - } - params.push(part); - tokens.add({ p : haxe_Template.splitter.matched(2), s : false, l : params}); - data = HxOverrides.substr(data,parp,data.length - parp); - } - if(data.length > 0) { - tokens.add({ p : data, s : true, l : null}); - } - return tokens; - } - ,parseBlock: function(tokens) { - var l = new haxe_ds_List(); - while(true) { - var t = tokens.first(); - if(t == null) { - break; - } - if(!t.s && (t.p == "end" || t.p == "else" || HxOverrides.substr(t.p,0,7) == "elseif ")) { - break; - } - l.add(this.parse(tokens)); - } - if(l.length == 1) { - return l.first(); - } - return haxe__$Template_TemplateExpr.OpBlock(l); - } - ,parse: function(tokens) { - var t = tokens.pop(); - var p = t.p; - if(t.s) { - return haxe__$Template_TemplateExpr.OpStr(p); - } - if(t.l != null) { - var pe = new haxe_ds_List(); - var _g = 0; - var _g1 = t.l; - while(_g < _g1.length) { - var p1 = _g1[_g]; - ++_g; - pe.add(this.parseBlock(this.parseTokens(p1))); - } - return haxe__$Template_TemplateExpr.OpMacro(p,pe); - } - var kwdEnd = function(kwd) { - var pos = -1; - var length = kwd.length; - if(HxOverrides.substr(p,0,length) == kwd) { - pos = length; - var _g_offset = 0; - var _g_s = HxOverrides.substr(p,length,null); - while(_g_offset < _g_s.length) { - var c = _g_s.charCodeAt(_g_offset++); - if(c == 32) { - ++pos; - } else { - break; - } - } - } - return pos; - }; - var pos = kwdEnd("if"); - if(pos > 0) { - p = HxOverrides.substr(p,pos,p.length - pos); - var e = this.parseExpr(p); - var eif = this.parseBlock(tokens); - var t = tokens.first(); - var eelse; - if(t == null) { - throw haxe_Exception.thrown("Unclosed 'if'"); - } - if(t.p == "end") { - tokens.pop(); - eelse = null; - } else if(t.p == "else") { - tokens.pop(); - eelse = this.parseBlock(tokens); - t = tokens.pop(); - if(t == null || t.p != "end") { - throw haxe_Exception.thrown("Unclosed 'else'"); - } - } else { - t.p = HxOverrides.substr(t.p,4,t.p.length - 4); - eelse = this.parse(tokens); - } - return haxe__$Template_TemplateExpr.OpIf(e,eif,eelse); - } - var pos = kwdEnd("foreach"); - if(pos >= 0) { - p = HxOverrides.substr(p,pos,p.length - pos); - var e = this.parseExpr(p); - var efor = this.parseBlock(tokens); - var t = tokens.pop(); - if(t == null || t.p != "end") { - throw haxe_Exception.thrown("Unclosed 'foreach'"); - } - return haxe__$Template_TemplateExpr.OpForeach(e,efor); - } - if(haxe_Template.expr_splitter.match(p)) { - return haxe__$Template_TemplateExpr.OpExpr(this.parseExpr(p)); - } - return haxe__$Template_TemplateExpr.OpVar(p); - } - ,parseExpr: function(data) { - var l = new haxe_ds_List(); - var expr = data; - while(haxe_Template.expr_splitter.match(data)) { - var p = haxe_Template.expr_splitter.matchedPos(); - var k = p.pos + p.len; - if(p.pos != 0) { - l.add({ p : HxOverrides.substr(data,0,p.pos), s : true}); - } - var p1 = haxe_Template.expr_splitter.matched(0); - l.add({ p : p1, s : p1.indexOf("\"") >= 0}); - data = haxe_Template.expr_splitter.matchedRight(); - } - if(data.length != 0) { - var _g_offset = 0; - var _g_s = data; - while(_g_offset < _g_s.length) { - var _g_key = _g_offset; - var _g_value = _g_s.charCodeAt(_g_offset++); - var i = _g_key; - var c = _g_value; - if(c != 32) { - l.add({ p : HxOverrides.substr(data,i,null), s : true}); - break; - } - } - } - var e; - try { - e = this.makeExpr(l); - if(!l.isEmpty()) { - throw haxe_Exception.thrown(l.first().p); - } - } catch( _g ) { - var _g1 = haxe_Exception.caught(_g).unwrap(); - if(typeof(_g1) == "string") { - var s = _g1; - throw haxe_Exception.thrown("Unexpected '" + s + "' in " + expr); - } else { - throw _g; - } - } - return function() { - try { - return e(); - } catch( _g ) { - var exc = haxe_Exception.caught(_g).unwrap(); - throw haxe_Exception.thrown("Error : " + Std.string(exc) + " in " + expr); - } - }; - } - ,makeConst: function(v) { - haxe_Template.expr_trim.match(v); - v = haxe_Template.expr_trim.matched(1); - if(HxOverrides.cca(v,0) == 34) { - var str = HxOverrides.substr(v,1,v.length - 2); - return function() { - return str; - }; - } - if(haxe_Template.expr_int.match(v)) { - var i = Std.parseInt(v); - return function() { - return i; - }; - } - if(haxe_Template.expr_float.match(v)) { - var f = parseFloat(v); - return function() { - return f; - }; - } - var me = this; - return function() { - return me.resolve(v); - }; - } - ,makePath: function(e,l) { - var p = l.first(); - if(p == null || p.p != ".") { - return e; - } - l.pop(); - var field = l.pop(); - if(field == null || !field.s) { - throw haxe_Exception.thrown(field.p); - } - var f = field.p; - haxe_Template.expr_trim.match(f); - f = haxe_Template.expr_trim.matched(1); - return this.makePath(function() { - return Reflect.field(e(),f); - },l); - } - ,makeExpr: function(l) { - return this.makePath(this.makeExpr2(l),l); - } - ,skipSpaces: function(l) { - var p = l.first(); - while(p != null) { - var _g_offset = 0; - var _g_s = p.p; - while(_g_offset < _g_s.length) { - var c = _g_s.charCodeAt(_g_offset++); - if(c != 32) { - return; - } - } - l.pop(); - p = l.first(); - } - } - ,makeExpr2: function(l) { - this.skipSpaces(l); - var p = l.pop(); - this.skipSpaces(l); - if(p == null) { - throw haxe_Exception.thrown(""); - } - if(p.s) { - return this.makeConst(p.p); - } - switch(p.p) { - case "!": - var e = this.makeExpr(l); - return function() { - var v = e(); - if(v != null) { - return v == false; - } else { - return true; - } - }; - case "(": - this.skipSpaces(l); - var e1 = this.makeExpr(l); - this.skipSpaces(l); - var p1 = l.pop(); - if(p1 == null || p1.s) { - throw haxe_Exception.thrown(p1); - } - if(p1.p == ")") { - return e1; - } - this.skipSpaces(l); - var e2 = this.makeExpr(l); - this.skipSpaces(l); - var p2 = l.pop(); - this.skipSpaces(l); - if(p2 == null || p2.p != ")") { - throw haxe_Exception.thrown(p2); - } - switch(p1.p) { - case "!=": - return function() { - return e1() != e2(); - }; - case "&&": - return function() { - return e1() && e2(); - }; - case "*": - return function() { - return e1() * e2(); - }; - case "+": - return function() { - return e1() + e2(); - }; - case "-": - return function() { - return e1() - e2(); - }; - case "/": - return function() { - return e1() / e2(); - }; - case "<": - return function() { - return e1() < e2(); - }; - case "<=": - return function() { - return e1() <= e2(); - }; - case "==": - return function() { - return e1() == e2(); - }; - case ">": - return function() { - return e1() > e2(); - }; - case ">=": - return function() { - return e1() >= e2(); - }; - case "||": - return function() { - return e1() || e2(); - }; - default: - throw haxe_Exception.thrown("Unknown operation " + p1.p); - } - break; - case "-": - var e3 = this.makeExpr(l); - return function() { - return -e3(); - }; - } - throw haxe_Exception.thrown(p.p); - } - ,run: function(e) { - switch(e._hx_index) { - case 0: - var v = e.v; - var _this = this.buf; - var x = Std.string(this.resolve(v)); - _this.b += Std.string(x); - break; - case 1: - var e1 = e.expr; - var _this = this.buf; - var x = Std.string(e1()); - _this.b += Std.string(x); - break; - case 2: - var e1 = e.expr; - var eif = e.eif; - var eelse = e.eelse; - var v = e1(); - if(v == null || v == false) { - if(eelse != null) { - this.run(eelse); - } - } else { - this.run(eif); - } - break; - case 3: - var str = e.str; - this.buf.b += str == null ? "null" : "" + str; - break; - case 4: - var l = e.l; - var _g_head = l.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var e1 = val; - this.run(e1); - } - break; - case 5: - var e1 = e.expr; - var loop = e.loop; - var v = e1(); - try { - var x = $getIterator(v); - if(x.hasNext == null) { - throw haxe_Exception.thrown(null); - } - v = x; - } catch( _g ) { - try { - if(v.hasNext == null) { - throw haxe_Exception.thrown(null); - } - } catch( _g1 ) { - throw haxe_Exception.thrown("Cannot iter on " + Std.string(v)); - } - } - this.stack.push(this.context); - var v1 = v; - var ctx = v1; - while(ctx.hasNext()) { - var ctx1 = ctx.next(); - this.context = ctx1; - this.run(loop); - } - this.context = this.stack.pop(); - break; - case 6: - var m = e.name; - var params = e.params; - var v = Reflect.field(this.macros,m); - var pl = []; - var old = this.buf; - pl.push($bind(this,this.resolve)); - var _g_head = params.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var p = val; - if(p._hx_index == 0) { - var v1 = p.v; - pl.push(this.resolve(v1)); - } else { - this.buf = new StringBuf(); - this.run(p); - pl.push(this.buf.b); - } - } - this.buf = old; - try { - var _this = this.buf; - var x = Std.string(v.apply(this.macros,pl)); - _this.b += Std.string(x); - } catch( _g ) { - var e = haxe_Exception.caught(_g).unwrap(); - var plstr; - try { - plstr = pl.join(","); - } catch( _g1 ) { - plstr = "???"; - } - var msg = "Macro call " + m + "(" + plstr + ") failed (" + Std.string(e) + ")"; - throw haxe_Exception.thrown(msg); - } - break; - } - } -}; -var haxe_ValueException = function(value,previous,native) { - haxe_Exception.call(this,String(value),previous,native); - this.value = value; -}; -haxe_ValueException.__name__ = true; -haxe_ValueException.__super__ = haxe_Exception; -haxe_ValueException.prototype = $extend(haxe_Exception.prototype,{ - unwrap: function() { - return this.value; - } -}); -var haxe_ds_List = function() { - this.length = 0; -}; -haxe_ds_List.__name__ = true; -haxe_ds_List.prototype = { - add: function(item) { - var x = new haxe_ds__$List_ListNode(item,null); - if(this.h == null) { - this.h = x; - } else { - this.q.next = x; - } - this.q = x; - this.length++; - } - ,push: function(item) { - var x = new haxe_ds__$List_ListNode(item,this.h); - this.h = x; - if(this.q == null) { - this.q = x; - } - this.length++; - } - ,first: function() { - if(this.h == null) { - return null; - } else { - return this.h.item; - } - } - ,pop: function() { - if(this.h == null) { - return null; - } - var x = this.h.item; - this.h = this.h.next; - if(this.h == null) { - this.q = null; - } - this.length--; - return x; - } - ,isEmpty: function() { - return this.h == null; - } - ,toString: function() { - var s_b = ""; - var first = true; - var l = this.h; - s_b += "{"; - while(l != null) { - if(first) { - first = false; - } else { - s_b += ", "; - } - s_b += Std.string(Std.string(l.item)); - l = l.next; - } - s_b += "}"; - return s_b; - } -}; -var haxe_ds__$List_ListNode = function(item,next) { - this.item = item; - this.next = next; -}; -haxe_ds__$List_ListNode.__name__ = true; -var js_Boot = function() { }; -js_Boot.__name__ = true; -js_Boot.__string_rec = function(o,s) { - if(o == null) { - return "null"; - } - if(s.length >= 5) { - return "<...>"; - } - var t = typeof(o); - if(t == "function" && (o.__name__ || o.__ename__)) { - t = "object"; - } - switch(t) { - case "function": - return ""; - case "object": - if(o.__enum__) { - var e = $hxEnums[o.__enum__]; - var con = e.__constructs__[o._hx_index]; - var n = con._hx_name; - if(con.__params__) { - s = s + "\t"; - return n + "(" + ((function($this) { - var $r; - var _g = []; - { - var _g1 = 0; - var _g2 = con.__params__; - while(true) { - if(!(_g1 < _g2.length)) { - break; - } - var p = _g2[_g1]; - _g1 = _g1 + 1; - _g.push(js_Boot.__string_rec(o[p],s)); - } - } - $r = _g; - return $r; - }(this))).join(",") + ")"; - } else { - return n; - } - } - if(((o) instanceof Array)) { - var str = "["; - s += "\t"; - var _g = 0; - var _g1 = o.length; - while(_g < _g1) { - var i = _g++; - str += (i > 0 ? "," : "") + js_Boot.__string_rec(o[i],s); - } - str += "]"; - return str; - } - var tostr; - try { - tostr = o.toString; - } catch( _g ) { - return "???"; - } - if(tostr != null && tostr != Object.toString && typeof(tostr) == "function") { - var s2 = o.toString(); - if(s2 != "[object Object]") { - return s2; - } - } - var str = "{\n"; - s += "\t"; - var hasp = o.hasOwnProperty != null; - var k = null; - for( k in o ) { - if(hasp && !o.hasOwnProperty(k)) { - continue; - } - if(k == "prototype" || k == "__class__" || k == "__super__" || k == "__interfaces__" || k == "__properties__") { - continue; - } - if(str.length != 2) { - str += ", \n"; - } - str += s + k + " : " + js_Boot.__string_rec(o[k],s); - } - s = s.substring(1); - str += "\n" + s + "}"; - return str; - case "string": - return o; - default: - return String(o); - } -}; -var xrfragment_Filter = $hx_exports["xrfragment"]["Filter"] = function(str) { - this.q = { }; - this.str = ""; - if(str != null) { - this.parse(str); - } -}; -xrfragment_Filter.__name__ = true; -xrfragment_Filter.prototype = { - toObject: function() { - return Reflect.copy(this.q); - } - ,get: function() { - return Reflect.copy(this.q); - } - ,parse: function(str) { - var token = str.split(" "); - var q = { }; - var process = function(str,prefix) { - if(prefix == null) { - prefix = ""; - } - str = StringTools.trim(str); - var k = str.split("=")[0]; - var v = str.split("=")[1]; - var filter = { }; - if(q[prefix + k]) { - filter = q[prefix + k]; - } - if(xrfragment_XRF.isProp.match(str)) { - var oper = ""; - if(str.indexOf(">") != -1) { - oper = ">"; - } - if(str.indexOf("<") != -1) { - oper = "<"; - } - if(xrfragment_XRF.isExclude.match(k)) { - k = HxOverrides.substr(k,1,null); - } - v = HxOverrides.substr(v,oper.length,null); - if(oper.length == 0) { - oper = "="; - } - var rule = { }; - if(xrfragment_XRF.isNumber.match(v)) { - rule[oper] = parseFloat(v); - } else { - rule[oper] = v; - } - q["expr"] = rule; - } - var value = xrfragment_XRF.isDeep.match(str) ? k.split("*").length - 1 : 0; - q["deep"] = value; - var value = xrfragment_XRF.isExclude.match(str) ? false : true; - q["show"] = value; - var value = k.replace(xrfragment_XRF.operators.r,""); - q["key"] = value; - q["value"] = v; - }; - var _g = 0; - var _g1 = token.length; - while(_g < _g1) { - var i = _g++; - process(token[i]); - } - return this.q = q; - } - ,test: function(obj) { - var qualify = false; - var _g = 0; - var _g1 = Reflect.fields(obj); - while(_g < _g1.length) { - var k = _g1[_g]; - ++_g; - var v = Std.string(Reflect.field(obj,k)); - if(this.testProperty(k,v)) { - qualify = true; - } - } - var _g = 0; - var _g1 = Reflect.fields(obj); - while(_g < _g1.length) { - var k = _g1[_g]; - ++_g; - var v = Std.string(Reflect.field(obj,k)); - if(this.testProperty(k,v,true)) { - qualify = false; - } - } - return qualify; - } - ,testProperty: function(property,value,exclude) { - var conds = 0; - var fails = 0; - var qualify = 0; - var testprop = function(expr) { - conds += 1; - fails += expr ? 0 : 1; - return expr; - }; - if(this.q[value] != null) { - var v = this.q[value]; - if(v[property] != null) { - return v[property]; - } - } - if(Reflect.field(this.q,"expr")) { - var f = Reflect.field(this.q,"expr"); - if(!Reflect.field(this.q,"show")) { - if(Reflect.field(f,"!=") != null && testprop((value == null ? "null" : "" + value) == Std.string(Reflect.field(f,"!="))) && exclude) { - ++qualify; - } - } else { - if(Reflect.field(f,"*") != null && testprop(parseFloat(value) != null)) { - ++qualify; - } - if(Reflect.field(f,">") != null && testprop(parseFloat(value) >= parseFloat(Reflect.field(f,">")))) { - ++qualify; - } - if(Reflect.field(f,"<") != null && testprop(parseFloat(value) <= parseFloat(Reflect.field(f,"<")))) { - ++qualify; - } - if(Reflect.field(f,"=") != null && (testprop(value == Reflect.field(f,"=")) || testprop(parseFloat(value) == parseFloat(Reflect.field(f,"="))))) { - ++qualify; - } - } - } - return qualify > 0; - } -}; -var xrfragment_Parser = $hx_exports["xrfragment"]["Parser"] = function() { }; -xrfragment_Parser.__name__ = true; -xrfragment_Parser.parse = function(key,value,store,index) { - var Frag_h = Object.create(null); - Frag_h["#"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_PREDEFINED_VIEW | xrfragment_XRF.PV_EXECUTE; - Frag_h["src"] = xrfragment_XRF.T_URL; - Frag_h["href"] = xrfragment_XRF.T_URL | xrfragment_XRF.T_PREDEFINED_VIEW; - Frag_h["tag"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["pos"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_VECTOR3 | xrfragment_XRF.T_STRING | xrfragment_XRF.METADATA | xrfragment_XRF.NAVIGATOR; - Frag_h["rot"] = xrfragment_XRF.QUERY_OPERATOR | xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_VECTOR3 | xrfragment_XRF.METADATA | xrfragment_XRF.NAVIGATOR; - Frag_h["t"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_FLOAT | xrfragment_XRF.T_VECTOR2 | xrfragment_XRF.NAVIGATOR | xrfragment_XRF.METADATA; - Frag_h["s"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_MEDIAFRAG; - Frag_h["loop"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_PREDEFINED_VIEW; - Frag_h["uv"] = xrfragment_XRF.T_VECTOR2 | xrfragment_XRF.T_MEDIAFRAG; - Frag_h["namespace"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["SPDX"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["unit"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["description"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - var keyStripped = key.replace(xrfragment_XRF.operators.r,""); - var isPVDynamic = key.length > 0 && !Object.prototype.hasOwnProperty.call(Frag_h,key); - if(isPVDynamic) { - var v = new xrfragment_XRF(key,xrfragment_XRF.PV_EXECUTE | xrfragment_XRF.NAVIGATOR,index); - v.validate(value); - v.flags = xrfragment_XRF.set(xrfragment_XRF.T_DYNAMICKEY,v.flags); - if(!Object.prototype.hasOwnProperty.call(Frag_h,key)) { - v.flags = xrfragment_XRF.set(xrfragment_XRF.CUSTOMFRAG,v.flags); - } - if(value.length == 0) { - v.flags = xrfragment_XRF.set(xrfragment_XRF.T_DYNAMICKEYVALUE,v.flags); - } - store[keyStripped] = v; - return true; - } - var v = new xrfragment_XRF(key,Frag_h[key],index); - if(Object.prototype.hasOwnProperty.call(Frag_h,key)) { - if(!v.validate(value)) { - console.log("src/xrfragment/Parser.hx:67:","⚠ fragment '" + key + "' has incompatible value (" + value + ")"); - return false; - } - store[keyStripped] = v; - if(xrfragment_Parser.debug) { - console.log("src/xrfragment/Parser.hx:71:","✔ " + key + ": " + v.string); - } - } else { - if(typeof(value) == "string") { - v.guessType(v,value); - } - v.flags = xrfragment_XRF.set(xrfragment_XRF.CUSTOMFRAG,v.flags); - store[keyStripped] = v; - } - return true; -}; -xrfragment_Parser.getMetaData = function() { - var meta = { title : ["title","og:title","dc.title"], description : ["aria-description","og:description","dc.description"], author : ["author","dc.creator"], publisher : ["publisher","dc.publisher"], website : ["og:site_name","og:url","dc.publisher"], license : ["SPDX","dc.rights"]}; - return meta; -}; -var xrfragment_URI = $hx_exports["xrfragment"]["URI"] = function() { - this.XRF = { }; - this.hash = { }; - this.fragment = ""; -}; -xrfragment_URI.__name__ = true; -xrfragment_URI.parseFragment = function(url,filter) { - var store = { }; - if(url == null || url.indexOf("#") == -1) { - return store; - } - var fragment = url.split("#"); - var splitArray = fragment[1].split("&"); - var _g = 0; - var _g1 = splitArray.length; - while(_g < _g1) { - var i = _g++; - var splitByEqual = splitArray[i].split("="); - var regexPlus = new EReg("\\+","g"); - var key = splitByEqual[0]; - var value = ""; - if(splitByEqual.length > 1) { - if(xrfragment_XRF.isVector.match(splitByEqual[1])) { - value = splitByEqual[1]; - } else { - var s = regexPlus.split(splitByEqual[1]).join(" "); - value = decodeURIComponent(s.split("+").join(" ")); - } - } - var ok = xrfragment_Parser.parse(key,value,store,i); - } - if(filter != null && filter != 0) { - var _g = 0; - var _g1 = Reflect.fields(store); - while(_g < _g1.length) { - var key = _g1[_g]; - ++_g; - var xrf = store[key]; - if(!xrf.is(filter)) { - Reflect.deleteField(store,key); - } - } - } - return store; -}; -xrfragment_URI.template = function(uri,vars) { - var parts = uri.split("#"); - if(parts.length == 1) { - return uri; - } - var frag = parts[1]; - frag = StringTools.replace(frag,"{","::"); - frag = StringTools.replace(frag,"}","::"); - frag = new haxe_Template(frag).execute(vars); - frag = StringTools.replace(frag,"null",""); - parts[1] = frag; - return parts.join("#"); -}; -xrfragment_URI.parse = function(stringUrl,flags) { - var r = new EReg("^(?:(?![^:@]+:[^:@/]*@)([^:/?#.]+):)?(?://)?((?:(([^:@]*)(?::([^:@]*))?)?@)?([^:/?#]*)(?::(\\d*))?)(((/(?:[^?#](?![^?#/]*\\.[^?#/.]+(?:[?#]|$)))*/?)?([^?#/]*))(?:\\?([^#]*))?(?:#(.*))?)",""); - if(stringUrl.indexOf("://") == -1 && stringUrl.charAt(0) != "/") { - stringUrl = "/" + stringUrl; - } - r.match(stringUrl); - var url = new xrfragment_URI(); - var _g = 0; - var _g1 = xrfragment_URI._parts.length; - while(_g < _g1) { - var i = _g++; - url[xrfragment_URI._parts[i]] = r.matched(i); - } - if(xrfragment_URI.isRelative(url) == true) { - if(url.directory == null && url.host != null) { - url.file = url.host; - } - url.host = ""; - } - url.hash = { }; - if(url.fragment != null && url.fragment.length > 0) { - url.XRF = xrfragment_URI.parseFragment("#" + url.fragment,flags); - var key; - var _g = 0; - var _g1 = Reflect.fields(url.XRF); - while(_g < _g1.length) { - var key = _g1[_g]; - ++_g; - var v = url.XRF[key]; - url.hash[key] = v["string"]; - } - } - xrfragment_URI.computeVars(url); - return url; -}; -xrfragment_URI.computeVars = function(url) { - var r_r = new RegExp("//","g".split("u").join("")); - if(url.directory != null && url.directory.indexOf("//") != -1) { - url.directory = url.directory.replace(r_r,"/"); - } - if(url.path != null && url.path.indexOf("//") != -1) { - url.path = url.path.replace(r_r,"/"); - } - if(url.file != null && url.file.indexOf("//") != -1) { - url.file = url.file.replace(r_r,"/"); - } - url.URN = url.scheme + "://" + url.host; - if(url.port != null) { - url.URN += ":" + url.port; - } - url.URN += url.directory; - if(url.file != null) { - var parts = url.file.split("."); - if(parts.length > 1) { - url.fileExt = parts.pop(); - } - } -}; -xrfragment_URI.toString = function(url) { - var result = ""; - if(url.scheme != null) { - result += url.scheme + "://"; - } - if(url.user != null) { - result += url.user + ":"; - } - if(url.password != null) { - result += url.password + "@"; - } - if(url.host != null) { - result += url.host; - } - if(url.port != null) { - result += ":" + url.port; - } - if(url.directory != null) { - result += url.directory; - } - if(url.file != null) { - result += url.file; - } - if(url.query != null) { - result += "?" + url.query; - } - if(url.fragment != null) { - result += "#" + url.fragment; - } - return result; -}; -xrfragment_URI.appendURI = function(url,appendedURI) { - if(xrfragment_URI.isRelative(url) == true) { - return xrfragment_URI.appendToRelativeURI(url,appendedURI); - } else { - return xrfragment_URI.appendToAbsoluteURI(url,appendedURI); - } -}; -xrfragment_URI.isRelative = function(url) { - return url.scheme == null; -}; -xrfragment_URI.appendToRelativeURI = function(url,appendedURI) { - if(url.directory == null || url.host == null) { - return xrfragment_URI.cloneURI(appendedURI); - } - var resultURI = new xrfragment_URI(); - resultURI.host = url.host; - resultURI.directory = url.directory; - if(appendedURI.host != null) { - resultURI.directory += appendedURI.host; - } - if(appendedURI.directory != null) { - var directory = appendedURI.directory; - if(appendedURI.host == null) { - resultURI.directory += HxOverrides.substr(directory,1,null); - } else { - resultURI.directory += directory; - } - } - if(appendedURI.file != null) { - resultURI.file = appendedURI.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(appendedURI.query != null) { - resultURI.query = appendedURI.query; - } - if(appendedURI.fragment != null) { - resultURI.fragment = appendedURI.fragment; - } - return resultURI; -}; -xrfragment_URI.appendToAbsoluteURI = function(url,appendedURI) { - var resultURI = new xrfragment_URI(); - if(url.scheme != null) { - resultURI.scheme = url.scheme; - } - if(url.host != null) { - resultURI.host = url.host; - } - var directory = ""; - if(url.directory != null) { - directory = url.directory; - } - if(appendedURI.host != null) { - appendedURI.directory += appendedURI.host; - } - if(appendedURI.directory != null) { - directory += appendedURI.directory; - } - resultURI.directory = directory; - if(appendedURI.file != null) { - resultURI.file = appendedURI.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(appendedURI.query != null) { - resultURI.query = appendedURI.query; - } - if(appendedURI.fragment != null) { - resultURI.fragment = appendedURI.fragment; - } - return resultURI; -}; -xrfragment_URI.toAbsolute = function(url,newUrl) { - var newURI = xrfragment_URI.parse(newUrl,0); - var resultURI = new xrfragment_URI(); - resultURI.port = url.port; - resultURI.source = newUrl; - if(newURI.scheme != null) { - resultURI.scheme = newURI.scheme; - } else { - resultURI.scheme = url.scheme; - } - if(newURI.host != null && newURI.host.length > 0) { - resultURI.host = newURI.host; - resultURI.port = null; - resultURI.fragment = null; - resultURI.hash = { }; - resultURI.XRF = { }; - if(newURI.port != null) { - resultURI.port = newURI.port; - } - } else { - resultURI.host = url.host; - } - var directory = ""; - if(url.directory != null) { - directory = url.directory; - } - if(newURI.directory != null) { - if(newUrl.charAt(0) != "/" && newUrl.indexOf("://") == -1) { - var stripRelative_r = new RegExp("\\./.*","".split("u").join("")); - directory = directory.replace(stripRelative_r,""); - directory += newURI.directory; - } else { - directory = newURI.directory; - } - } - resultURI.directory = directory; - if(newURI.file != null) { - resultURI.file = newURI.file; - } else { - resultURI.file = url.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(newURI.query != null) { - resultURI.query = newURI.query; - } - if(newURI.fragment != null) { - resultURI.fragment = newURI.fragment; - } - resultURI.hash = newURI.hash; - resultURI.XRF = newURI.XRF; - xrfragment_URI.computeVars(resultURI); - return resultURI; -}; -xrfragment_URI.cloneURI = function(url) { - var clonedURI = new xrfragment_URI(); - clonedURI.url = url.url; - clonedURI.source = url.source; - clonedURI.scheme = url.scheme; - clonedURI.authority = url.authority; - clonedURI.userInfo = url.userInfo; - clonedURI.password = url.password; - clonedURI.host = url.host; - clonedURI.port = url.port; - clonedURI.relative = url.relative; - clonedURI.path = url.path; - clonedURI.directory = url.directory; - clonedURI.file = url.file; - clonedURI.query = url.query; - clonedURI.fragment = url.fragment; - return clonedURI; -}; -var xrfragment_XRF = $hx_exports["xrfragment"]["XRF"] = function(_fragment,_flags,_index) { - this.floats = []; - this.shift = []; - this.fragment = _fragment; - this.flags = _flags; - this.index = _index; -}; -xrfragment_XRF.__name__ = true; -xrfragment_XRF.set = function(flag,flags) { - return flags | flag; -}; -xrfragment_XRF.unset = function(flag,flags) { - return flags & ~flag; -}; -xrfragment_XRF.prototype = { - is: function(flag) { - var v = this.flags; - if(!(typeof(v) == "number" && ((v | 0) === v))) { - this.flags = 0; - } - return (this.flags & flag) != 0; - } - ,validate: function(value) { - this.guessType(this,value); - var ok = true; - if(value.length == 0 && !this.is(xrfragment_XRF.T_PREDEFINED_VIEW)) { - ok = false; - } - if(!this.is(xrfragment_XRF.T_FLOAT) && this.is(xrfragment_XRF.T_VECTOR2) && !(typeof(this.x) == "number" && typeof(this.y) == "number")) { - ok = false; - } - if(!(this.is(xrfragment_XRF.T_VECTOR2) || this.is(xrfragment_XRF.T_STRING)) && this.is(xrfragment_XRF.T_VECTOR3) && !(typeof(this.x) == "number" && typeof(this.y) == "number" && typeof(this.z) == "number")) { - ok = false; - } - return ok; - } - ,guessType: function(v,str) { - v.string = str; - if(xrfragment_XRF.isReset.match(v.fragment)) { - v.reset = true; - } - if(v.fragment == "loop") { - v.loop = true; - } - if(typeof(str) != "string") { - return; - } - if(str.length > 0) { - if(xrfragment_XRF.isXRFScheme.match(str)) { - v.xrfScheme = true; - str = str.replace(xrfragment_XRF.isXRFScheme.r,""); - v.string = str; - } - if(str.split(",").length > 1) { - var xyzn = str.split(","); - if(xyzn.length > 0) { - v.x = parseFloat(xyzn[0]); - } - if(xyzn.length > 1) { - v.y = parseFloat(xyzn[1]); - } - if(xyzn.length > 2) { - v.z = parseFloat(xyzn[2]); - } - var _g = 0; - var _g1 = xyzn.length; - while(_g < _g1) { - var i = _g++; - v.shift.push(xrfragment_XRF.isShift.match(xyzn[i])); - v.floats.push(parseFloat(xyzn[i].replace(xrfragment_XRF.isShift.r,""))); - } - } - if(xrfragment_XRF.isColor.match(str)) { - v.color = str; - } - if(xrfragment_XRF.isFloat.match(str)) { - v.x = parseFloat(str); - v.float = v.x; - } - if(xrfragment_XRF.isInt.match(str)) { - v.int = Std.parseInt(str); - v.x = v.int; - v.floats.push(v.x); - } - v.filter = new xrfragment_Filter(v.fragment + "=" + v.string); - } else { - v.filter = new xrfragment_Filter(v.fragment); - } - } -}; -function $getIterator(o) { if( o instanceof Array ) return new haxe_iterators_ArrayIterator(o); else return o.iterator(); } -function $bind(o,m) { if( m == null ) return null; if( m.__id__ == null ) m.__id__ = $global.$haxeUID++; var f; if( o.hx__closures__ == null ) o.hx__closures__ = {}; else f = o.hx__closures__[m.__id__]; if( f == null ) { f = m.bind(o); o.hx__closures__[m.__id__] = f; } return f; } -$global.$haxeUID |= 0; -if(typeof(performance) != "undefined" ? typeof(performance.now) == "function" : false) { - HxOverrides.now = performance.now.bind(performance); -} -if( String.fromCodePoint == null ) String.fromCodePoint = function(c) { return c < 0x10000 ? String.fromCharCode(c) : String.fromCharCode((c>>10)+0xD7C0)+String.fromCharCode((c&0x3FF)+0xDC00); } -String.__name__ = true; -Array.__name__ = true; -js_Boot.__toStr = ({ }).toString; -haxe_Template.splitter = new EReg("(::[A-Za-z0-9_ ()&|!+=/><*.\"-]+::|\\$\\$([A-Za-z0-9_-]+)\\()",""); -haxe_Template.expr_splitter = new EReg("(\\(|\\)|[ \r\n\t]*\"[^\"]*\"[ \r\n\t]*|[!+=/><*.&|-]+)",""); -haxe_Template.expr_trim = new EReg("^[ ]*([^ ]+)[ ]*$",""); -haxe_Template.expr_int = new EReg("^[0-9]+$",""); -haxe_Template.expr_float = new EReg("^([+-]?)(?=\\d|,\\d)\\d*(,\\d*)?([Ee]([+-]?\\d+))?$",""); -haxe_Template.globals = { }; -haxe_Template.hxKeepArrayIterator = new haxe_iterators_ArrayIterator([]); -xrfragment_Parser.error = ""; -xrfragment_Parser.debug = false; -xrfragment_URI.__meta__ = { statics : { template : { keep : null}}}; -xrfragment_URI._parts = ["source","scheme","authority","userInfo","user","password","host","port","relative","path","directory","file","query","fragment"]; -xrfragment_XRF.IMMUTABLE = 1; -xrfragment_XRF.PROP_BIND = 2; -xrfragment_XRF.QUERY_OPERATOR = 4; -xrfragment_XRF.PROMPT = 8; -xrfragment_XRF.CUSTOMFRAG = 16; -xrfragment_XRF.NAVIGATOR = 32; -xrfragment_XRF.METADATA = 64; -xrfragment_XRF.PV_OVERRIDE = 128; -xrfragment_XRF.PV_EXECUTE = 256; -xrfragment_XRF.T_COLOR = 8192; -xrfragment_XRF.T_INT = 16384; -xrfragment_XRF.T_FLOAT = 32768; -xrfragment_XRF.T_VECTOR2 = 65536; -xrfragment_XRF.T_VECTOR3 = 131072; -xrfragment_XRF.T_URL = 262144; -xrfragment_XRF.T_PREDEFINED_VIEW = 524288; -xrfragment_XRF.T_STRING = 1048576; -xrfragment_XRF.T_MEDIAFRAG = 2097152; -xrfragment_XRF.T_DYNAMICKEY = 4194304; -xrfragment_XRF.T_DYNAMICKEYVALUE = 8388608; -xrfragment_XRF.isColor = new EReg("^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$",""); -xrfragment_XRF.isInt = new EReg("^[-0-9]+$",""); -xrfragment_XRF.isFloat = new EReg("^[-0-9]+\\.[0-9]+$",""); -xrfragment_XRF.isVector = new EReg("([,]+|\\w)",""); -xrfragment_XRF.isUrl = new EReg("(://)?\\..*",""); -xrfragment_XRF.isUrlOrPretypedView = new EReg("(^#|://)?\\..*",""); -xrfragment_XRF.isString = new EReg(".*",""); -xrfragment_XRF.operators = new EReg("(^[-]|^[!]|[\\*]$)","g"); -xrfragment_XRF.isProp = new EReg("^.*=[><=]?",""); -xrfragment_XRF.isExclude = new EReg("^-",""); -xrfragment_XRF.isDeep = new EReg("\\*",""); -xrfragment_XRF.isNumber = new EReg("^[0-9\\.]+$",""); -xrfragment_XRF.isMediaFrag = new EReg("^([0-9\\.,\\*+-]+)$",""); -xrfragment_XRF.isReset = new EReg("^!",""); -xrfragment_XRF.isShift = new EReg("^(\\+|--)",""); -xrfragment_XRF.isXRFScheme = new EReg("^xrf://",""); -})(typeof window != "undefined" ? window : typeof global != "undefined" ? global : typeof self != "undefined" ? self : this); -var xrfragment = $hx_exports["xrfragment"]; -export default xrfragment; -// Generated by Haxe 4.3.3 -var $hx_exports = typeof exports != "undefined" ? exports : typeof window != "undefined" ? window : typeof self != "undefined" ? self : this; -(function ($global) { "use strict"; -$hx_exports["xrfragment"] = $hx_exports["xrfragment"] || {}; -var $estr = function() { return js_Boot.__string_rec(this,''); },$hxEnums = $hxEnums || {},$_; -function $extend(from, fields) { - var proto = Object.create(from); - for (var name in fields) proto[name] = fields[name]; - if( fields.toString !== Object.prototype.toString ) proto.toString = fields.toString; - return proto; -} -var EReg = function(r,opt) { - this.r = new RegExp(r,opt.split("u").join("")); -}; -EReg.__name__ = true; -EReg.prototype = { - match: function(s) { - if(this.r.global) { - this.r.lastIndex = 0; - } - this.r.m = this.r.exec(s); - this.r.s = s; - return this.r.m != null; - } - ,matched: function(n) { - if(this.r.m != null && n >= 0 && n < this.r.m.length) { - return this.r.m[n]; - } else { - throw haxe_Exception.thrown("EReg::matched"); - } - } - ,matchedRight: function() { - if(this.r.m == null) { - throw haxe_Exception.thrown("No string matched"); - } - var sz = this.r.m.index + this.r.m[0].length; - return HxOverrides.substr(this.r.s,sz,this.r.s.length - sz); - } - ,matchedPos: function() { - if(this.r.m == null) { - throw haxe_Exception.thrown("No string matched"); - } - return { pos : this.r.m.index, len : this.r.m[0].length}; - } - ,split: function(s) { - var d = "#__delim__#"; - return s.replace(this.r,d).split(d); - } -}; -var HxOverrides = function() { }; -HxOverrides.__name__ = true; -HxOverrides.cca = function(s,index) { - var x = s.charCodeAt(index); - if(x != x) { - return undefined; - } - return x; -}; -HxOverrides.substr = function(s,pos,len) { - if(len == null) { - len = s.length; - } else if(len < 0) { - if(pos == 0) { - len = s.length + len; - } else { - return ""; - } - } - return s.substr(pos,len); -}; -HxOverrides.now = function() { - return Date.now(); -}; -Math.__name__ = true; -var Reflect = function() { }; -Reflect.__name__ = true; -Reflect.field = function(o,field) { - try { - return o[field]; - } catch( _g ) { - return null; - } -}; -Reflect.getProperty = function(o,field) { - var tmp; - if(o == null) { - return null; - } else { - var tmp1; - if(o.__properties__) { - tmp = o.__properties__["get_" + field]; - tmp1 = tmp; - } else { - tmp1 = false; - } - if(tmp1) { - return o[tmp](); - } else { - return o[field]; - } - } -}; -Reflect.fields = function(o) { - var a = []; - if(o != null) { - var hasOwnProperty = Object.prototype.hasOwnProperty; - for( var f in o ) { - if(f != "__id__" && f != "hx__closures__" && hasOwnProperty.call(o,f)) { - a.push(f); - } - } - } - return a; -}; -Reflect.isObject = function(v) { - if(v == null) { - return false; - } - var t = typeof(v); - if(!(t == "string" || t == "object" && v.__enum__ == null)) { - if(t == "function") { - return (v.__name__ || v.__ename__) != null; - } else { - return false; - } - } else { - return true; - } -}; -Reflect.deleteField = function(o,field) { - if(!Object.prototype.hasOwnProperty.call(o,field)) { - return false; - } - delete(o[field]); - return true; -}; -Reflect.copy = function(o) { - if(o == null) { - return null; - } - var o2 = { }; - var _g = 0; - var _g1 = Reflect.fields(o); - while(_g < _g1.length) { - var f = _g1[_g]; - ++_g; - o2[f] = Reflect.field(o,f); - } - return o2; -}; -var Std = function() { }; -Std.__name__ = true; -Std.string = function(s) { - return js_Boot.__string_rec(s,""); -}; -Std.parseInt = function(x) { - var v = parseInt(x); - if(isNaN(v)) { - return null; - } - return v; -}; -var StringBuf = function() { - this.b = ""; -}; -StringBuf.__name__ = true; -var StringTools = function() { }; -StringTools.__name__ = true; -StringTools.isSpace = function(s,pos) { - var c = HxOverrides.cca(s,pos); - if(!(c > 8 && c < 14)) { - return c == 32; - } else { - return true; - } -}; -StringTools.ltrim = function(s) { - var l = s.length; - var r = 0; - while(r < l && StringTools.isSpace(s,r)) ++r; - if(r > 0) { - return HxOverrides.substr(s,r,l - r); - } else { - return s; - } -}; -StringTools.rtrim = function(s) { - var l = s.length; - var r = 0; - while(r < l && StringTools.isSpace(s,l - r - 1)) ++r; - if(r > 0) { - return HxOverrides.substr(s,0,l - r); - } else { - return s; - } -}; -StringTools.trim = function(s) { - return StringTools.ltrim(StringTools.rtrim(s)); -}; -StringTools.replace = function(s,sub,by) { - return s.split(sub).join(by); -}; -var haxe_Exception = function(message,previous,native) { - Error.call(this,message); - this.message = message; - this.__previousException = previous; - this.__nativeException = native != null ? native : this; -}; -haxe_Exception.__name__ = true; -haxe_Exception.caught = function(value) { - if(((value) instanceof haxe_Exception)) { - return value; - } else if(((value) instanceof Error)) { - return new haxe_Exception(value.message,null,value); - } else { - return new haxe_ValueException(value,null,value); - } -}; -haxe_Exception.thrown = function(value) { - if(((value) instanceof haxe_Exception)) { - return value.get_native(); - } else if(((value) instanceof Error)) { - return value; - } else { - var e = new haxe_ValueException(value); - return e; - } -}; -haxe_Exception.__super__ = Error; -haxe_Exception.prototype = $extend(Error.prototype,{ - unwrap: function() { - return this.__nativeException; - } - ,get_native: function() { - return this.__nativeException; - } - ,__properties__: {get_native:"get_native"} -}); -var haxe__$Template_TemplateExpr = $hxEnums["haxe._Template.TemplateExpr"] = { __ename__:true,__constructs__:null - ,OpVar: ($_=function(v) { return {_hx_index:0,v:v,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpVar",$_.__params__ = ["v"],$_) - ,OpExpr: ($_=function(expr) { return {_hx_index:1,expr:expr,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpExpr",$_.__params__ = ["expr"],$_) - ,OpIf: ($_=function(expr,eif,eelse) { return {_hx_index:2,expr:expr,eif:eif,eelse:eelse,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpIf",$_.__params__ = ["expr","eif","eelse"],$_) - ,OpStr: ($_=function(str) { return {_hx_index:3,str:str,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpStr",$_.__params__ = ["str"],$_) - ,OpBlock: ($_=function(l) { return {_hx_index:4,l:l,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpBlock",$_.__params__ = ["l"],$_) - ,OpForeach: ($_=function(expr,loop) { return {_hx_index:5,expr:expr,loop:loop,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpForeach",$_.__params__ = ["expr","loop"],$_) - ,OpMacro: ($_=function(name,params) { return {_hx_index:6,name:name,params:params,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpMacro",$_.__params__ = ["name","params"],$_) -}; -haxe__$Template_TemplateExpr.__constructs__ = [haxe__$Template_TemplateExpr.OpVar,haxe__$Template_TemplateExpr.OpExpr,haxe__$Template_TemplateExpr.OpIf,haxe__$Template_TemplateExpr.OpStr,haxe__$Template_TemplateExpr.OpBlock,haxe__$Template_TemplateExpr.OpForeach,haxe__$Template_TemplateExpr.OpMacro]; -var haxe_iterators_ArrayIterator = function(array) { - this.current = 0; - this.array = array; -}; -haxe_iterators_ArrayIterator.__name__ = true; -haxe_iterators_ArrayIterator.prototype = { - hasNext: function() { - return this.current < this.array.length; - } - ,next: function() { - return this.array[this.current++]; - } -}; -var haxe_Template = function(str) { - var tokens = this.parseTokens(str); - this.expr = this.parseBlock(tokens); - if(!tokens.isEmpty()) { - throw haxe_Exception.thrown("Unexpected '" + Std.string(tokens.first().s) + "'"); - } -}; -haxe_Template.__name__ = true; -haxe_Template.prototype = { - execute: function(context,macros) { - this.macros = macros == null ? { } : macros; - this.context = context; - this.stack = new haxe_ds_List(); - this.buf = new StringBuf(); - this.run(this.expr); - return this.buf.b; - } - ,resolve: function(v) { - if(v == "__current__") { - return this.context; - } - if(Reflect.isObject(this.context)) { - var value = Reflect.getProperty(this.context,v); - if(value != null || Object.prototype.hasOwnProperty.call(this.context,v)) { - return value; - } - } - var _g_head = this.stack.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var ctx = val; - var value = Reflect.getProperty(ctx,v); - if(value != null || Object.prototype.hasOwnProperty.call(ctx,v)) { - return value; - } - } - return Reflect.field(haxe_Template.globals,v); - } - ,parseTokens: function(data) { - var tokens = new haxe_ds_List(); - while(haxe_Template.splitter.match(data)) { - var p = haxe_Template.splitter.matchedPos(); - if(p.pos > 0) { - tokens.add({ p : HxOverrides.substr(data,0,p.pos), s : true, l : null}); - } - if(HxOverrides.cca(data,p.pos) == 58) { - tokens.add({ p : HxOverrides.substr(data,p.pos + 2,p.len - 4), s : false, l : null}); - data = haxe_Template.splitter.matchedRight(); - continue; - } - var parp = p.pos + p.len; - var npar = 1; - var params = []; - var part = ""; - while(true) { - var c = HxOverrides.cca(data,parp); - ++parp; - if(c == 40) { - ++npar; - } else if(c == 41) { - --npar; - if(npar <= 0) { - break; - } - } else if(c == null) { - throw haxe_Exception.thrown("Unclosed macro parenthesis"); - } - if(c == 44 && npar == 1) { - params.push(part); - part = ""; - } else { - part += String.fromCodePoint(c); - } - } - params.push(part); - tokens.add({ p : haxe_Template.splitter.matched(2), s : false, l : params}); - data = HxOverrides.substr(data,parp,data.length - parp); - } - if(data.length > 0) { - tokens.add({ p : data, s : true, l : null}); - } - return tokens; - } - ,parseBlock: function(tokens) { - var l = new haxe_ds_List(); - while(true) { - var t = tokens.first(); - if(t == null) { - break; - } - if(!t.s && (t.p == "end" || t.p == "else" || HxOverrides.substr(t.p,0,7) == "elseif ")) { - break; - } - l.add(this.parse(tokens)); - } - if(l.length == 1) { - return l.first(); - } - return haxe__$Template_TemplateExpr.OpBlock(l); - } - ,parse: function(tokens) { - var t = tokens.pop(); - var p = t.p; - if(t.s) { - return haxe__$Template_TemplateExpr.OpStr(p); - } - if(t.l != null) { - var pe = new haxe_ds_List(); - var _g = 0; - var _g1 = t.l; - while(_g < _g1.length) { - var p1 = _g1[_g]; - ++_g; - pe.add(this.parseBlock(this.parseTokens(p1))); - } - return haxe__$Template_TemplateExpr.OpMacro(p,pe); - } - var kwdEnd = function(kwd) { - var pos = -1; - var length = kwd.length; - if(HxOverrides.substr(p,0,length) == kwd) { - pos = length; - var _g_offset = 0; - var _g_s = HxOverrides.substr(p,length,null); - while(_g_offset < _g_s.length) { - var c = _g_s.charCodeAt(_g_offset++); - if(c == 32) { - ++pos; - } else { - break; - } - } - } - return pos; - }; - var pos = kwdEnd("if"); - if(pos > 0) { - p = HxOverrides.substr(p,pos,p.length - pos); - var e = this.parseExpr(p); - var eif = this.parseBlock(tokens); - var t = tokens.first(); - var eelse; - if(t == null) { - throw haxe_Exception.thrown("Unclosed 'if'"); - } - if(t.p == "end") { - tokens.pop(); - eelse = null; - } else if(t.p == "else") { - tokens.pop(); - eelse = this.parseBlock(tokens); - t = tokens.pop(); - if(t == null || t.p != "end") { - throw haxe_Exception.thrown("Unclosed 'else'"); - } - } else { - t.p = HxOverrides.substr(t.p,4,t.p.length - 4); - eelse = this.parse(tokens); - } - return haxe__$Template_TemplateExpr.OpIf(e,eif,eelse); - } - var pos = kwdEnd("foreach"); - if(pos >= 0) { - p = HxOverrides.substr(p,pos,p.length - pos); - var e = this.parseExpr(p); - var efor = this.parseBlock(tokens); - var t = tokens.pop(); - if(t == null || t.p != "end") { - throw haxe_Exception.thrown("Unclosed 'foreach'"); - } - return haxe__$Template_TemplateExpr.OpForeach(e,efor); - } - if(haxe_Template.expr_splitter.match(p)) { - return haxe__$Template_TemplateExpr.OpExpr(this.parseExpr(p)); - } - return haxe__$Template_TemplateExpr.OpVar(p); - } - ,parseExpr: function(data) { - var l = new haxe_ds_List(); - var expr = data; - while(haxe_Template.expr_splitter.match(data)) { - var p = haxe_Template.expr_splitter.matchedPos(); - var k = p.pos + p.len; - if(p.pos != 0) { - l.add({ p : HxOverrides.substr(data,0,p.pos), s : true}); - } - var p1 = haxe_Template.expr_splitter.matched(0); - l.add({ p : p1, s : p1.indexOf("\"") >= 0}); - data = haxe_Template.expr_splitter.matchedRight(); - } - if(data.length != 0) { - var _g_offset = 0; - var _g_s = data; - while(_g_offset < _g_s.length) { - var _g_key = _g_offset; - var _g_value = _g_s.charCodeAt(_g_offset++); - var i = _g_key; - var c = _g_value; - if(c != 32) { - l.add({ p : HxOverrides.substr(data,i,null), s : true}); - break; - } - } - } - var e; - try { - e = this.makeExpr(l); - if(!l.isEmpty()) { - throw haxe_Exception.thrown(l.first().p); - } - } catch( _g ) { - var _g1 = haxe_Exception.caught(_g).unwrap(); - if(typeof(_g1) == "string") { - var s = _g1; - throw haxe_Exception.thrown("Unexpected '" + s + "' in " + expr); - } else { - throw _g; - } - } - return function() { - try { - return e(); - } catch( _g ) { - var exc = haxe_Exception.caught(_g).unwrap(); - throw haxe_Exception.thrown("Error : " + Std.string(exc) + " in " + expr); - } - }; - } - ,makeConst: function(v) { - haxe_Template.expr_trim.match(v); - v = haxe_Template.expr_trim.matched(1); - if(HxOverrides.cca(v,0) == 34) { - var str = HxOverrides.substr(v,1,v.length - 2); - return function() { - return str; - }; - } - if(haxe_Template.expr_int.match(v)) { - var i = Std.parseInt(v); - return function() { - return i; - }; - } - if(haxe_Template.expr_float.match(v)) { - var f = parseFloat(v); - return function() { - return f; - }; - } - var me = this; - return function() { - return me.resolve(v); - }; - } - ,makePath: function(e,l) { - var p = l.first(); - if(p == null || p.p != ".") { - return e; - } - l.pop(); - var field = l.pop(); - if(field == null || !field.s) { - throw haxe_Exception.thrown(field.p); - } - var f = field.p; - haxe_Template.expr_trim.match(f); - f = haxe_Template.expr_trim.matched(1); - return this.makePath(function() { - return Reflect.field(e(),f); - },l); - } - ,makeExpr: function(l) { - return this.makePath(this.makeExpr2(l),l); - } - ,skipSpaces: function(l) { - var p = l.first(); - while(p != null) { - var _g_offset = 0; - var _g_s = p.p; - while(_g_offset < _g_s.length) { - var c = _g_s.charCodeAt(_g_offset++); - if(c != 32) { - return; - } - } - l.pop(); - p = l.first(); - } - } - ,makeExpr2: function(l) { - this.skipSpaces(l); - var p = l.pop(); - this.skipSpaces(l); - if(p == null) { - throw haxe_Exception.thrown(""); - } - if(p.s) { - return this.makeConst(p.p); - } - switch(p.p) { - case "!": - var e = this.makeExpr(l); - return function() { - var v = e(); - if(v != null) { - return v == false; - } else { - return true; - } - }; - case "(": - this.skipSpaces(l); - var e1 = this.makeExpr(l); - this.skipSpaces(l); - var p1 = l.pop(); - if(p1 == null || p1.s) { - throw haxe_Exception.thrown(p1); - } - if(p1.p == ")") { - return e1; - } - this.skipSpaces(l); - var e2 = this.makeExpr(l); - this.skipSpaces(l); - var p2 = l.pop(); - this.skipSpaces(l); - if(p2 == null || p2.p != ")") { - throw haxe_Exception.thrown(p2); - } - switch(p1.p) { - case "!=": - return function() { - return e1() != e2(); - }; - case "&&": - return function() { - return e1() && e2(); - }; - case "*": - return function() { - return e1() * e2(); - }; - case "+": - return function() { - return e1() + e2(); - }; - case "-": - return function() { - return e1() - e2(); - }; - case "/": - return function() { - return e1() / e2(); - }; - case "<": - return function() { - return e1() < e2(); - }; - case "<=": - return function() { - return e1() <= e2(); - }; - case "==": - return function() { - return e1() == e2(); - }; - case ">": - return function() { - return e1() > e2(); - }; - case ">=": - return function() { - return e1() >= e2(); - }; - case "||": - return function() { - return e1() || e2(); - }; - default: - throw haxe_Exception.thrown("Unknown operation " + p1.p); - } - break; - case "-": - var e3 = this.makeExpr(l); - return function() { - return -e3(); - }; - } - throw haxe_Exception.thrown(p.p); - } - ,run: function(e) { - switch(e._hx_index) { - case 0: - var v = e.v; - var _this = this.buf; - var x = Std.string(this.resolve(v)); - _this.b += Std.string(x); - break; - case 1: - var e1 = e.expr; - var _this = this.buf; - var x = Std.string(e1()); - _this.b += Std.string(x); - break; - case 2: - var e1 = e.expr; - var eif = e.eif; - var eelse = e.eelse; - var v = e1(); - if(v == null || v == false) { - if(eelse != null) { - this.run(eelse); - } - } else { - this.run(eif); - } - break; - case 3: - var str = e.str; - this.buf.b += str == null ? "null" : "" + str; - break; - case 4: - var l = e.l; - var _g_head = l.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var e1 = val; - this.run(e1); - } - break; - case 5: - var e1 = e.expr; - var loop = e.loop; - var v = e1(); - try { - var x = $getIterator(v); - if(x.hasNext == null) { - throw haxe_Exception.thrown(null); - } - v = x; - } catch( _g ) { - try { - if(v.hasNext == null) { - throw haxe_Exception.thrown(null); - } - } catch( _g1 ) { - throw haxe_Exception.thrown("Cannot iter on " + Std.string(v)); - } - } - this.stack.push(this.context); - var v1 = v; - var ctx = v1; - while(ctx.hasNext()) { - var ctx1 = ctx.next(); - this.context = ctx1; - this.run(loop); - } - this.context = this.stack.pop(); - break; - case 6: - var m = e.name; - var params = e.params; - var v = Reflect.field(this.macros,m); - var pl = []; - var old = this.buf; - pl.push($bind(this,this.resolve)); - var _g_head = params.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var p = val; - if(p._hx_index == 0) { - var v1 = p.v; - pl.push(this.resolve(v1)); - } else { - this.buf = new StringBuf(); - this.run(p); - pl.push(this.buf.b); - } - } - this.buf = old; - try { - var _this = this.buf; - var x = Std.string(v.apply(this.macros,pl)); - _this.b += Std.string(x); - } catch( _g ) { - var e = haxe_Exception.caught(_g).unwrap(); - var plstr; - try { - plstr = pl.join(","); - } catch( _g1 ) { - plstr = "???"; - } - var msg = "Macro call " + m + "(" + plstr + ") failed (" + Std.string(e) + ")"; - throw haxe_Exception.thrown(msg); - } - break; - } - } -}; -var haxe_ValueException = function(value,previous,native) { - haxe_Exception.call(this,String(value),previous,native); - this.value = value; -}; -haxe_ValueException.__name__ = true; -haxe_ValueException.__super__ = haxe_Exception; -haxe_ValueException.prototype = $extend(haxe_Exception.prototype,{ - unwrap: function() { - return this.value; - } -}); -var haxe_ds_List = function() { - this.length = 0; -}; -haxe_ds_List.__name__ = true; -haxe_ds_List.prototype = { - add: function(item) { - var x = new haxe_ds__$List_ListNode(item,null); - if(this.h == null) { - this.h = x; - } else { - this.q.next = x; - } - this.q = x; - this.length++; - } - ,push: function(item) { - var x = new haxe_ds__$List_ListNode(item,this.h); - this.h = x; - if(this.q == null) { - this.q = x; - } - this.length++; - } - ,first: function() { - if(this.h == null) { - return null; - } else { - return this.h.item; - } - } - ,pop: function() { - if(this.h == null) { - return null; - } - var x = this.h.item; - this.h = this.h.next; - if(this.h == null) { - this.q = null; - } - this.length--; - return x; - } - ,isEmpty: function() { - return this.h == null; - } - ,toString: function() { - var s_b = ""; - var first = true; - var l = this.h; - s_b += "{"; - while(l != null) { - if(first) { - first = false; - } else { - s_b += ", "; - } - s_b += Std.string(Std.string(l.item)); - l = l.next; - } - s_b += "}"; - return s_b; - } -}; -var haxe_ds__$List_ListNode = function(item,next) { - this.item = item; - this.next = next; -}; -haxe_ds__$List_ListNode.__name__ = true; -var js_Boot = function() { }; -js_Boot.__name__ = true; -js_Boot.__string_rec = function(o,s) { - if(o == null) { - return "null"; - } - if(s.length >= 5) { - return "<...>"; - } - var t = typeof(o); - if(t == "function" && (o.__name__ || o.__ename__)) { - t = "object"; - } - switch(t) { - case "function": - return ""; - case "object": - if(o.__enum__) { - var e = $hxEnums[o.__enum__]; - var con = e.__constructs__[o._hx_index]; - var n = con._hx_name; - if(con.__params__) { - s = s + "\t"; - return n + "(" + ((function($this) { - var $r; - var _g = []; - { - var _g1 = 0; - var _g2 = con.__params__; - while(true) { - if(!(_g1 < _g2.length)) { - break; - } - var p = _g2[_g1]; - _g1 = _g1 + 1; - _g.push(js_Boot.__string_rec(o[p],s)); - } - } - $r = _g; - return $r; - }(this))).join(",") + ")"; - } else { - return n; - } - } - if(((o) instanceof Array)) { - var str = "["; - s += "\t"; - var _g = 0; - var _g1 = o.length; - while(_g < _g1) { - var i = _g++; - str += (i > 0 ? "," : "") + js_Boot.__string_rec(o[i],s); - } - str += "]"; - return str; - } - var tostr; - try { - tostr = o.toString; - } catch( _g ) { - return "???"; - } - if(tostr != null && tostr != Object.toString && typeof(tostr) == "function") { - var s2 = o.toString(); - if(s2 != "[object Object]") { - return s2; - } - } - var str = "{\n"; - s += "\t"; - var hasp = o.hasOwnProperty != null; - var k = null; - for( k in o ) { - if(hasp && !o.hasOwnProperty(k)) { - continue; - } - if(k == "prototype" || k == "__class__" || k == "__super__" || k == "__interfaces__" || k == "__properties__") { - continue; - } - if(str.length != 2) { - str += ", \n"; - } - str += s + k + " : " + js_Boot.__string_rec(o[k],s); - } - s = s.substring(1); - str += "\n" + s + "}"; - return str; - case "string": - return o; - default: - return String(o); - } -}; -var xrfragment_Filter = $hx_exports["xrfragment"]["Filter"] = function(str) { - this.q = { }; - this.str = ""; - if(str != null) { - this.parse(str); - } -}; -xrfragment_Filter.__name__ = true; -xrfragment_Filter.prototype = { - toObject: function() { - return Reflect.copy(this.q); - } - ,get: function() { - return Reflect.copy(this.q); - } - ,parse: function(str) { - var token = str.split(" "); - var q = { }; - var process = function(str,prefix) { - if(prefix == null) { - prefix = ""; - } - str = StringTools.trim(str); - var k = str.split("=")[0]; - var v = str.split("=")[1]; - var filter = { }; - if(q[prefix + k]) { - filter = q[prefix + k]; - } - if(xrfragment_XRF.isProp.match(str)) { - var oper = ""; - if(str.indexOf(">") != -1) { - oper = ">"; - } - if(str.indexOf("<") != -1) { - oper = "<"; - } - if(xrfragment_XRF.isExclude.match(k)) { - k = HxOverrides.substr(k,1,null); - } - v = HxOverrides.substr(v,oper.length,null); - if(oper.length == 0) { - oper = "="; - } - var rule = { }; - if(xrfragment_XRF.isNumber.match(v)) { - rule[oper] = parseFloat(v); - } else { - rule[oper] = v; - } - q["expr"] = rule; - } - var value = xrfragment_XRF.isDeep.match(str) ? k.split("*").length - 1 : 0; - q["deep"] = value; - var value = xrfragment_XRF.isExclude.match(str) ? false : true; - q["show"] = value; - var value = k.replace(xrfragment_XRF.operators.r,""); - q["key"] = value; - q["value"] = v; - }; - var _g = 0; - var _g1 = token.length; - while(_g < _g1) { - var i = _g++; - process(token[i]); - } - return this.q = q; - } - ,test: function(obj) { - var qualify = false; - var _g = 0; - var _g1 = Reflect.fields(obj); - while(_g < _g1.length) { - var k = _g1[_g]; - ++_g; - var v = Std.string(Reflect.field(obj,k)); - if(this.testProperty(k,v)) { - qualify = true; - } - } - var _g = 0; - var _g1 = Reflect.fields(obj); - while(_g < _g1.length) { - var k = _g1[_g]; - ++_g; - var v = Std.string(Reflect.field(obj,k)); - if(this.testProperty(k,v,true)) { - qualify = false; - } - } - return qualify; - } - ,testProperty: function(property,value,exclude) { - var conds = 0; - var fails = 0; - var qualify = 0; - var testprop = function(expr) { - conds += 1; - fails += expr ? 0 : 1; - return expr; - }; - if(this.q[value] != null) { - var v = this.q[value]; - if(v[property] != null) { - return v[property]; - } - } - if(Reflect.field(this.q,"expr")) { - var f = Reflect.field(this.q,"expr"); - if(!Reflect.field(this.q,"show")) { - if(Reflect.field(f,"!=") != null && testprop((value == null ? "null" : "" + value) == Std.string(Reflect.field(f,"!="))) && exclude) { - ++qualify; - } - } else { - if(Reflect.field(f,"*") != null && testprop(parseFloat(value) != null)) { - ++qualify; - } - if(Reflect.field(f,">") != null && testprop(parseFloat(value) >= parseFloat(Reflect.field(f,">")))) { - ++qualify; - } - if(Reflect.field(f,"<") != null && testprop(parseFloat(value) <= parseFloat(Reflect.field(f,"<")))) { - ++qualify; - } - if(Reflect.field(f,"=") != null && (testprop(value == Reflect.field(f,"=")) || testprop(parseFloat(value) == parseFloat(Reflect.field(f,"="))))) { - ++qualify; - } - } - } - return qualify > 0; - } -}; -var xrfragment_Parser = $hx_exports["xrfragment"]["Parser"] = function() { }; -xrfragment_Parser.__name__ = true; -xrfragment_Parser.parse = function(key,value,store,index) { - var Frag_h = Object.create(null); - Frag_h["#"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_PREDEFINED_VIEW | xrfragment_XRF.PV_EXECUTE; - Frag_h["src"] = xrfragment_XRF.T_URL; - Frag_h["href"] = xrfragment_XRF.T_URL | xrfragment_XRF.T_PREDEFINED_VIEW; - Frag_h["tag"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["pos"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_VECTOR3 | xrfragment_XRF.T_STRING | xrfragment_XRF.METADATA | xrfragment_XRF.NAVIGATOR; - Frag_h["rot"] = xrfragment_XRF.QUERY_OPERATOR | xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_VECTOR3 | xrfragment_XRF.METADATA | xrfragment_XRF.NAVIGATOR; - Frag_h["t"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_FLOAT | xrfragment_XRF.T_VECTOR2 | xrfragment_XRF.NAVIGATOR | xrfragment_XRF.METADATA; - Frag_h["s"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_MEDIAFRAG; - Frag_h["loop"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_PREDEFINED_VIEW; - Frag_h["uv"] = xrfragment_XRF.T_VECTOR2 | xrfragment_XRF.T_MEDIAFRAG; - Frag_h["namespace"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["SPDX"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["unit"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["description"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - var keyStripped = key.replace(xrfragment_XRF.operators.r,""); - var isPVDynamic = key.length > 0 && !Object.prototype.hasOwnProperty.call(Frag_h,key); - if(isPVDynamic) { - var v = new xrfragment_XRF(key,xrfragment_XRF.PV_EXECUTE | xrfragment_XRF.NAVIGATOR,index); - v.validate(value); - v.flags = xrfragment_XRF.set(xrfragment_XRF.T_DYNAMICKEY,v.flags); - if(!Object.prototype.hasOwnProperty.call(Frag_h,key)) { - v.flags = xrfragment_XRF.set(xrfragment_XRF.CUSTOMFRAG,v.flags); - } - if(value.length == 0) { - v.flags = xrfragment_XRF.set(xrfragment_XRF.T_DYNAMICKEYVALUE,v.flags); - } - store[keyStripped] = v; - return true; - } - var v = new xrfragment_XRF(key,Frag_h[key],index); - if(Object.prototype.hasOwnProperty.call(Frag_h,key)) { - if(!v.validate(value)) { - console.log("src/xrfragment/Parser.hx:67:","⚠ fragment '" + key + "' has incompatible value (" + value + ")"); - return false; - } - store[keyStripped] = v; - if(xrfragment_Parser.debug) { - console.log("src/xrfragment/Parser.hx:71:","✔ " + key + ": " + v.string); - } - } else { - if(typeof(value) == "string") { - v.guessType(v,value); - } - v.flags = xrfragment_XRF.set(xrfragment_XRF.CUSTOMFRAG,v.flags); - store[keyStripped] = v; - } - return true; -}; -xrfragment_Parser.getMetaData = function() { - var meta = { title : ["title","og:title","dc.title"], description : ["aria-description","og:description","dc.description"], author : ["author","dc.creator"], publisher : ["publisher","dc.publisher"], website : ["og:site_name","og:url","dc.publisher"], license : ["SPDX","dc.rights"]}; - return meta; -}; -var xrfragment_URI = $hx_exports["xrfragment"]["URI"] = function() { - this.XRF = { }; - this.hash = { }; - this.fragment = ""; -}; -xrfragment_URI.__name__ = true; -xrfragment_URI.parseFragment = function(url,filter) { - var store = { }; - if(url == null || url.indexOf("#") == -1) { - return store; - } - var fragment = url.split("#"); - var splitArray = fragment[1].split("&"); - var _g = 0; - var _g1 = splitArray.length; - while(_g < _g1) { - var i = _g++; - var splitByEqual = splitArray[i].split("="); - var regexPlus = new EReg("\\+","g"); - var key = splitByEqual[0]; - var value = ""; - if(splitByEqual.length > 1) { - if(xrfragment_XRF.isVector.match(splitByEqual[1])) { - value = splitByEqual[1]; - } else { - var s = regexPlus.split(splitByEqual[1]).join(" "); - value = decodeURIComponent(s.split("+").join(" ")); - } - } - var ok = xrfragment_Parser.parse(key,value,store,i); - } - if(filter != null && filter != 0) { - var _g = 0; - var _g1 = Reflect.fields(store); - while(_g < _g1.length) { - var key = _g1[_g]; - ++_g; - var xrf = store[key]; - if(!xrf.is(filter)) { - Reflect.deleteField(store,key); - } - } - } - return store; -}; -xrfragment_URI.template = function(uri,vars) { - var parts = uri.split("#"); - if(parts.length == 1) { - return uri; - } - var frag = parts[1]; - frag = StringTools.replace(frag,"{","::"); - frag = StringTools.replace(frag,"}","::"); - frag = new haxe_Template(frag).execute(vars); - frag = StringTools.replace(frag,"null",""); - parts[1] = frag; - return parts.join("#"); -}; -xrfragment_URI.parse = function(stringUrl,flags) { - var r = new EReg("^(?:(?![^:@]+:[^:@/]*@)([^:/?#.]+):)?(?://)?((?:(([^:@]*)(?::([^:@]*))?)?@)?([^:/?#]*)(?::(\\d*))?)(((/(?:[^?#](?![^?#/]*\\.[^?#/.]+(?:[?#]|$)))*/?)?([^?#/]*))(?:\\?([^#]*))?(?:#(.*))?)",""); - if(stringUrl.indexOf("://") == -1 && stringUrl.charAt(0) != "/") { - stringUrl = "/" + stringUrl; - } - r.match(stringUrl); - var url = new xrfragment_URI(); - var _g = 0; - var _g1 = xrfragment_URI._parts.length; - while(_g < _g1) { - var i = _g++; - url[xrfragment_URI._parts[i]] = r.matched(i); - } - if(xrfragment_URI.isRelative(url) == true) { - if(url.directory == null && url.host != null) { - url.file = url.host; - } - url.host = ""; - } - url.hash = { }; - if(url.fragment != null && url.fragment.length > 0) { - url.XRF = xrfragment_URI.parseFragment("#" + url.fragment,flags); - var key; - var _g = 0; - var _g1 = Reflect.fields(url.XRF); - while(_g < _g1.length) { - var key = _g1[_g]; - ++_g; - var v = url.XRF[key]; - url.hash[key] = v["string"]; - } - } - xrfragment_URI.computeVars(url); - return url; -}; -xrfragment_URI.computeVars = function(url) { - var r_r = new RegExp("//","g".split("u").join("")); - if(url.directory != null && url.directory.indexOf("//") != -1) { - url.directory = url.directory.replace(r_r,"/"); - } - if(url.path != null && url.path.indexOf("//") != -1) { - url.path = url.path.replace(r_r,"/"); - } - if(url.file != null && url.file.indexOf("//") != -1) { - url.file = url.file.replace(r_r,"/"); - } - url.URN = url.scheme + "://" + url.host; - if(url.port != null) { - url.URN += ":" + url.port; - } - url.URN += url.directory; - if(url.file != null) { - var parts = url.file.split("."); - if(parts.length > 1) { - url.fileExt = parts.pop(); - } - } -}; -xrfragment_URI.toString = function(url) { - var result = ""; - if(url.scheme != null) { - result += url.scheme + "://"; - } - if(url.user != null) { - result += url.user + ":"; - } - if(url.password != null) { - result += url.password + "@"; - } - if(url.host != null) { - result += url.host; - } - if(url.port != null) { - result += ":" + url.port; - } - if(url.directory != null) { - result += url.directory; - } - if(url.file != null) { - result += url.file; - } - if(url.query != null) { - result += "?" + url.query; - } - if(url.fragment != null) { - result += "#" + url.fragment; - } - return result; -}; -xrfragment_URI.appendURI = function(url,appendedURI) { - if(xrfragment_URI.isRelative(url) == true) { - return xrfragment_URI.appendToRelativeURI(url,appendedURI); - } else { - return xrfragment_URI.appendToAbsoluteURI(url,appendedURI); - } -}; -xrfragment_URI.isRelative = function(url) { - return url.scheme == null; -}; -xrfragment_URI.appendToRelativeURI = function(url,appendedURI) { - if(url.directory == null || url.host == null) { - return xrfragment_URI.cloneURI(appendedURI); - } - var resultURI = new xrfragment_URI(); - resultURI.host = url.host; - resultURI.directory = url.directory; - if(appendedURI.host != null) { - resultURI.directory += appendedURI.host; - } - if(appendedURI.directory != null) { - var directory = appendedURI.directory; - if(appendedURI.host == null) { - resultURI.directory += HxOverrides.substr(directory,1,null); - } else { - resultURI.directory += directory; - } - } - if(appendedURI.file != null) { - resultURI.file = appendedURI.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(appendedURI.query != null) { - resultURI.query = appendedURI.query; - } - if(appendedURI.fragment != null) { - resultURI.fragment = appendedURI.fragment; - } - return resultURI; -}; -xrfragment_URI.appendToAbsoluteURI = function(url,appendedURI) { - var resultURI = new xrfragment_URI(); - if(url.scheme != null) { - resultURI.scheme = url.scheme; - } - if(url.host != null) { - resultURI.host = url.host; - } - var directory = ""; - if(url.directory != null) { - directory = url.directory; - } - if(appendedURI.host != null) { - appendedURI.directory += appendedURI.host; - } - if(appendedURI.directory != null) { - directory += appendedURI.directory; - } - resultURI.directory = directory; - if(appendedURI.file != null) { - resultURI.file = appendedURI.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(appendedURI.query != null) { - resultURI.query = appendedURI.query; - } - if(appendedURI.fragment != null) { - resultURI.fragment = appendedURI.fragment; - } - return resultURI; -}; -xrfragment_URI.toAbsolute = function(url,newUrl) { - var newURI = xrfragment_URI.parse(newUrl,0); - var resultURI = new xrfragment_URI(); - resultURI.port = url.port; - resultURI.source = newUrl; - if(newURI.scheme != null) { - resultURI.scheme = newURI.scheme; - } else { - resultURI.scheme = url.scheme; - } - if(newURI.host != null && newURI.host.length > 0) { - resultURI.host = newURI.host; - resultURI.port = null; - resultURI.fragment = null; - resultURI.hash = { }; - resultURI.XRF = { }; - if(newURI.port != null) { - resultURI.port = newURI.port; - } - } else { - resultURI.host = url.host; - } - var directory = ""; - if(url.directory != null) { - directory = url.directory; - } - if(newURI.directory != null) { - if(newUrl.charAt(0) != "/" && newUrl.indexOf("://") == -1) { - var stripRelative_r = new RegExp("\\./.*","".split("u").join("")); - directory = directory.replace(stripRelative_r,""); - directory += newURI.directory; - } else { - directory = newURI.directory; - } - } - resultURI.directory = directory; - if(newURI.file != null) { - resultURI.file = newURI.file; - } else { - resultURI.file = url.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(newURI.query != null) { - resultURI.query = newURI.query; - } - if(newURI.fragment != null) { - resultURI.fragment = newURI.fragment; - } - resultURI.hash = newURI.hash; - resultURI.XRF = newURI.XRF; - xrfragment_URI.computeVars(resultURI); - return resultURI; -}; -xrfragment_URI.cloneURI = function(url) { - var clonedURI = new xrfragment_URI(); - clonedURI.url = url.url; - clonedURI.source = url.source; - clonedURI.scheme = url.scheme; - clonedURI.authority = url.authority; - clonedURI.userInfo = url.userInfo; - clonedURI.password = url.password; - clonedURI.host = url.host; - clonedURI.port = url.port; - clonedURI.relative = url.relative; - clonedURI.path = url.path; - clonedURI.directory = url.directory; - clonedURI.file = url.file; - clonedURI.query = url.query; - clonedURI.fragment = url.fragment; - return clonedURI; -}; -var xrfragment_XRF = $hx_exports["xrfragment"]["XRF"] = function(_fragment,_flags,_index) { - this.floats = []; - this.shift = []; - this.fragment = _fragment; - this.flags = _flags; - this.index = _index; -}; -xrfragment_XRF.__name__ = true; -xrfragment_XRF.set = function(flag,flags) { - return flags | flag; -}; -xrfragment_XRF.unset = function(flag,flags) { - return flags & ~flag; -}; -xrfragment_XRF.prototype = { - is: function(flag) { - var v = this.flags; - if(!(typeof(v) == "number" && ((v | 0) === v))) { - this.flags = 0; - } - return (this.flags & flag) != 0; - } - ,validate: function(value) { - this.guessType(this,value); - var ok = true; - if(value.length == 0 && !this.is(xrfragment_XRF.T_PREDEFINED_VIEW)) { - ok = false; - } - if(!this.is(xrfragment_XRF.T_FLOAT) && this.is(xrfragment_XRF.T_VECTOR2) && !(typeof(this.x) == "number" && typeof(this.y) == "number")) { - ok = false; - } - if(!(this.is(xrfragment_XRF.T_VECTOR2) || this.is(xrfragment_XRF.T_STRING)) && this.is(xrfragment_XRF.T_VECTOR3) && !(typeof(this.x) == "number" && typeof(this.y) == "number" && typeof(this.z) == "number")) { - ok = false; - } - return ok; - } - ,guessType: function(v,str) { - v.string = str; - if(xrfragment_XRF.isReset.match(v.fragment)) { - v.reset = true; - } - if(v.fragment == "loop") { - v.loop = true; - } - if(typeof(str) != "string") { - return; - } - if(str.length > 0) { - if(xrfragment_XRF.isXRFScheme.match(str)) { - v.xrfScheme = true; - str = str.replace(xrfragment_XRF.isXRFScheme.r,""); - v.string = str; - } - if(str.split(",").length > 1) { - var xyzn = str.split(","); - if(xyzn.length > 0) { - v.x = parseFloat(xyzn[0]); - } - if(xyzn.length > 1) { - v.y = parseFloat(xyzn[1]); - } - if(xyzn.length > 2) { - v.z = parseFloat(xyzn[2]); - } - var _g = 0; - var _g1 = xyzn.length; - while(_g < _g1) { - var i = _g++; - v.shift.push(xrfragment_XRF.isShift.match(xyzn[i])); - v.floats.push(parseFloat(xyzn[i].replace(xrfragment_XRF.isShift.r,""))); - } - } - if(xrfragment_XRF.isColor.match(str)) { - v.color = str; - } - if(xrfragment_XRF.isFloat.match(str)) { - v.x = parseFloat(str); - v.float = v.x; - } - if(xrfragment_XRF.isInt.match(str)) { - v.int = Std.parseInt(str); - v.x = v.int; - v.floats.push(v.x); - } - v.filter = new xrfragment_Filter(v.fragment + "=" + v.string); - } else { - v.filter = new xrfragment_Filter(v.fragment); - } - } -}; -function $getIterator(o) { if( o instanceof Array ) return new haxe_iterators_ArrayIterator(o); else return o.iterator(); } -function $bind(o,m) { if( m == null ) return null; if( m.__id__ == null ) m.__id__ = $global.$haxeUID++; var f; if( o.hx__closures__ == null ) o.hx__closures__ = {}; else f = o.hx__closures__[m.__id__]; if( f == null ) { f = m.bind(o); o.hx__closures__[m.__id__] = f; } return f; } -$global.$haxeUID |= 0; -if(typeof(performance) != "undefined" ? typeof(performance.now) == "function" : false) { - HxOverrides.now = performance.now.bind(performance); -} -if( String.fromCodePoint == null ) String.fromCodePoint = function(c) { return c < 0x10000 ? String.fromCharCode(c) : String.fromCharCode((c>>10)+0xD7C0)+String.fromCharCode((c&0x3FF)+0xDC00); } -String.__name__ = true; -Array.__name__ = true; -js_Boot.__toStr = ({ }).toString; -haxe_Template.splitter = new EReg("(::[A-Za-z0-9_ ()&|!+=/><*.\"-]+::|\\$\\$([A-Za-z0-9_-]+)\\()",""); -haxe_Template.expr_splitter = new EReg("(\\(|\\)|[ \r\n\t]*\"[^\"]*\"[ \r\n\t]*|[!+=/><*.&|-]+)",""); -haxe_Template.expr_trim = new EReg("^[ ]*([^ ]+)[ ]*$",""); -haxe_Template.expr_int = new EReg("^[0-9]+$",""); -haxe_Template.expr_float = new EReg("^([+-]?)(?=\\d|,\\d)\\d*(,\\d*)?([Ee]([+-]?\\d+))?$",""); -haxe_Template.globals = { }; -haxe_Template.hxKeepArrayIterator = new haxe_iterators_ArrayIterator([]); -xrfragment_Parser.error = ""; -xrfragment_Parser.debug = false; -xrfragment_URI.__meta__ = { statics : { template : { keep : null}}}; -xrfragment_URI._parts = ["source","scheme","authority","userInfo","user","password","host","port","relative","path","directory","file","query","fragment"]; -xrfragment_XRF.IMMUTABLE = 1; -xrfragment_XRF.PROP_BIND = 2; -xrfragment_XRF.QUERY_OPERATOR = 4; -xrfragment_XRF.PROMPT = 8; -xrfragment_XRF.CUSTOMFRAG = 16; -xrfragment_XRF.NAVIGATOR = 32; -xrfragment_XRF.METADATA = 64; -xrfragment_XRF.PV_OVERRIDE = 128; -xrfragment_XRF.PV_EXECUTE = 256; -xrfragment_XRF.T_COLOR = 8192; -xrfragment_XRF.T_INT = 16384; -xrfragment_XRF.T_FLOAT = 32768; -xrfragment_XRF.T_VECTOR2 = 65536; -xrfragment_XRF.T_VECTOR3 = 131072; -xrfragment_XRF.T_URL = 262144; -xrfragment_XRF.T_PREDEFINED_VIEW = 524288; -xrfragment_XRF.T_STRING = 1048576; -xrfragment_XRF.T_MEDIAFRAG = 2097152; -xrfragment_XRF.T_DYNAMICKEY = 4194304; -xrfragment_XRF.T_DYNAMICKEYVALUE = 8388608; -xrfragment_XRF.isColor = new EReg("^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$",""); -xrfragment_XRF.isInt = new EReg("^[-0-9]+$",""); -xrfragment_XRF.isFloat = new EReg("^[-0-9]+\\.[0-9]+$",""); -xrfragment_XRF.isVector = new EReg("([,]+|\\w)",""); -xrfragment_XRF.isUrl = new EReg("(://)?\\..*",""); -xrfragment_XRF.isUrlOrPretypedView = new EReg("(^#|://)?\\..*",""); -xrfragment_XRF.isString = new EReg(".*",""); -xrfragment_XRF.operators = new EReg("(^[-]|^[!]|[\\*]$)","g"); -xrfragment_XRF.isProp = new EReg("^.*=[><=]?",""); -xrfragment_XRF.isExclude = new EReg("^-",""); -xrfragment_XRF.isDeep = new EReg("\\*",""); -xrfragment_XRF.isNumber = new EReg("^[0-9\\.]+$",""); -xrfragment_XRF.isMediaFrag = new EReg("^([0-9\\.,\\*+-]+)$",""); -xrfragment_XRF.isReset = new EReg("^!",""); -xrfragment_XRF.isShift = new EReg("^(\\+|--)",""); -xrfragment_XRF.isXRFScheme = new EReg("^xrf://",""); -})(typeof window != "undefined" ? window : typeof global != "undefined" ? global : typeof self != "undefined" ? self : this); -var xrfragment = $hx_exports["xrfragment"]; -export default xrfragment; -// Generated by Haxe 4.3.3 -var $hx_exports = typeof exports != "undefined" ? exports : typeof window != "undefined" ? window : typeof self != "undefined" ? self : this; -(function ($global) { "use strict"; -$hx_exports["xrfragment"] = $hx_exports["xrfragment"] || {}; -var $estr = function() { return js_Boot.__string_rec(this,''); },$hxEnums = $hxEnums || {},$_; -function $extend(from, fields) { - var proto = Object.create(from); - for (var name in fields) proto[name] = fields[name]; - if( fields.toString !== Object.prototype.toString ) proto.toString = fields.toString; - return proto; -} -var EReg = function(r,opt) { - this.r = new RegExp(r,opt.split("u").join("")); -}; -EReg.__name__ = true; -EReg.prototype = { - match: function(s) { - if(this.r.global) { - this.r.lastIndex = 0; - } - this.r.m = this.r.exec(s); - this.r.s = s; - return this.r.m != null; - } - ,matched: function(n) { - if(this.r.m != null && n >= 0 && n < this.r.m.length) { - return this.r.m[n]; - } else { - throw haxe_Exception.thrown("EReg::matched"); - } - } - ,matchedRight: function() { - if(this.r.m == null) { - throw haxe_Exception.thrown("No string matched"); - } - var sz = this.r.m.index + this.r.m[0].length; - return HxOverrides.substr(this.r.s,sz,this.r.s.length - sz); - } - ,matchedPos: function() { - if(this.r.m == null) { - throw haxe_Exception.thrown("No string matched"); - } - return { pos : this.r.m.index, len : this.r.m[0].length}; - } - ,split: function(s) { - var d = "#__delim__#"; - return s.replace(this.r,d).split(d); - } -}; -var HxOverrides = function() { }; -HxOverrides.__name__ = true; -HxOverrides.cca = function(s,index) { - var x = s.charCodeAt(index); - if(x != x) { - return undefined; - } - return x; -}; -HxOverrides.substr = function(s,pos,len) { - if(len == null) { - len = s.length; - } else if(len < 0) { - if(pos == 0) { - len = s.length + len; - } else { - return ""; - } - } - return s.substr(pos,len); -}; -HxOverrides.now = function() { - return Date.now(); -}; -Math.__name__ = true; -var Reflect = function() { }; -Reflect.__name__ = true; -Reflect.field = function(o,field) { - try { - return o[field]; - } catch( _g ) { - return null; - } -}; -Reflect.getProperty = function(o,field) { - var tmp; - if(o == null) { - return null; - } else { - var tmp1; - if(o.__properties__) { - tmp = o.__properties__["get_" + field]; - tmp1 = tmp; - } else { - tmp1 = false; - } - if(tmp1) { - return o[tmp](); - } else { - return o[field]; - } - } -}; -Reflect.fields = function(o) { - var a = []; - if(o != null) { - var hasOwnProperty = Object.prototype.hasOwnProperty; - for( var f in o ) { - if(f != "__id__" && f != "hx__closures__" && hasOwnProperty.call(o,f)) { - a.push(f); - } - } - } - return a; -}; -Reflect.isObject = function(v) { - if(v == null) { - return false; - } - var t = typeof(v); - if(!(t == "string" || t == "object" && v.__enum__ == null)) { - if(t == "function") { - return (v.__name__ || v.__ename__) != null; - } else { - return false; - } - } else { - return true; - } -}; -Reflect.deleteField = function(o,field) { - if(!Object.prototype.hasOwnProperty.call(o,field)) { - return false; - } - delete(o[field]); - return true; -}; -Reflect.copy = function(o) { - if(o == null) { - return null; - } - var o2 = { }; - var _g = 0; - var _g1 = Reflect.fields(o); - while(_g < _g1.length) { - var f = _g1[_g]; - ++_g; - o2[f] = Reflect.field(o,f); - } - return o2; -}; -var Std = function() { }; -Std.__name__ = true; -Std.string = function(s) { - return js_Boot.__string_rec(s,""); -}; -Std.parseInt = function(x) { - var v = parseInt(x); - if(isNaN(v)) { - return null; - } - return v; -}; -var StringBuf = function() { - this.b = ""; -}; -StringBuf.__name__ = true; -var StringTools = function() { }; -StringTools.__name__ = true; -StringTools.isSpace = function(s,pos) { - var c = HxOverrides.cca(s,pos); - if(!(c > 8 && c < 14)) { - return c == 32; - } else { - return true; - } -}; -StringTools.ltrim = function(s) { - var l = s.length; - var r = 0; - while(r < l && StringTools.isSpace(s,r)) ++r; - if(r > 0) { - return HxOverrides.substr(s,r,l - r); - } else { - return s; - } -}; -StringTools.rtrim = function(s) { - var l = s.length; - var r = 0; - while(r < l && StringTools.isSpace(s,l - r - 1)) ++r; - if(r > 0) { - return HxOverrides.substr(s,0,l - r); - } else { - return s; - } -}; -StringTools.trim = function(s) { - return StringTools.ltrim(StringTools.rtrim(s)); -}; -StringTools.replace = function(s,sub,by) { - return s.split(sub).join(by); -}; -var haxe_Exception = function(message,previous,native) { - Error.call(this,message); - this.message = message; - this.__previousException = previous; - this.__nativeException = native != null ? native : this; -}; -haxe_Exception.__name__ = true; -haxe_Exception.caught = function(value) { - if(((value) instanceof haxe_Exception)) { - return value; - } else if(((value) instanceof Error)) { - return new haxe_Exception(value.message,null,value); - } else { - return new haxe_ValueException(value,null,value); - } -}; -haxe_Exception.thrown = function(value) { - if(((value) instanceof haxe_Exception)) { - return value.get_native(); - } else if(((value) instanceof Error)) { - return value; - } else { - var e = new haxe_ValueException(value); - return e; - } -}; -haxe_Exception.__super__ = Error; -haxe_Exception.prototype = $extend(Error.prototype,{ - unwrap: function() { - return this.__nativeException; - } - ,get_native: function() { - return this.__nativeException; - } - ,__properties__: {get_native:"get_native"} -}); -var haxe__$Template_TemplateExpr = $hxEnums["haxe._Template.TemplateExpr"] = { __ename__:true,__constructs__:null - ,OpVar: ($_=function(v) { return {_hx_index:0,v:v,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpVar",$_.__params__ = ["v"],$_) - ,OpExpr: ($_=function(expr) { return {_hx_index:1,expr:expr,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpExpr",$_.__params__ = ["expr"],$_) - ,OpIf: ($_=function(expr,eif,eelse) { return {_hx_index:2,expr:expr,eif:eif,eelse:eelse,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpIf",$_.__params__ = ["expr","eif","eelse"],$_) - ,OpStr: ($_=function(str) { return {_hx_index:3,str:str,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpStr",$_.__params__ = ["str"],$_) - ,OpBlock: ($_=function(l) { return {_hx_index:4,l:l,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpBlock",$_.__params__ = ["l"],$_) - ,OpForeach: ($_=function(expr,loop) { return {_hx_index:5,expr:expr,loop:loop,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpForeach",$_.__params__ = ["expr","loop"],$_) - ,OpMacro: ($_=function(name,params) { return {_hx_index:6,name:name,params:params,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpMacro",$_.__params__ = ["name","params"],$_) -}; -haxe__$Template_TemplateExpr.__constructs__ = [haxe__$Template_TemplateExpr.OpVar,haxe__$Template_TemplateExpr.OpExpr,haxe__$Template_TemplateExpr.OpIf,haxe__$Template_TemplateExpr.OpStr,haxe__$Template_TemplateExpr.OpBlock,haxe__$Template_TemplateExpr.OpForeach,haxe__$Template_TemplateExpr.OpMacro]; -var haxe_iterators_ArrayIterator = function(array) { - this.current = 0; - this.array = array; -}; -haxe_iterators_ArrayIterator.__name__ = true; -haxe_iterators_ArrayIterator.prototype = { - hasNext: function() { - return this.current < this.array.length; - } - ,next: function() { - return this.array[this.current++]; - } -}; -var haxe_Template = function(str) { - var tokens = this.parseTokens(str); - this.expr = this.parseBlock(tokens); - if(!tokens.isEmpty()) { - throw haxe_Exception.thrown("Unexpected '" + Std.string(tokens.first().s) + "'"); - } -}; -haxe_Template.__name__ = true; -haxe_Template.prototype = { - execute: function(context,macros) { - this.macros = macros == null ? { } : macros; - this.context = context; - this.stack = new haxe_ds_List(); - this.buf = new StringBuf(); - this.run(this.expr); - return this.buf.b; - } - ,resolve: function(v) { - if(v == "__current__") { - return this.context; - } - if(Reflect.isObject(this.context)) { - var value = Reflect.getProperty(this.context,v); - if(value != null || Object.prototype.hasOwnProperty.call(this.context,v)) { - return value; - } - } - var _g_head = this.stack.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var ctx = val; - var value = Reflect.getProperty(ctx,v); - if(value != null || Object.prototype.hasOwnProperty.call(ctx,v)) { - return value; - } - } - return Reflect.field(haxe_Template.globals,v); - } - ,parseTokens: function(data) { - var tokens = new haxe_ds_List(); - while(haxe_Template.splitter.match(data)) { - var p = haxe_Template.splitter.matchedPos(); - if(p.pos > 0) { - tokens.add({ p : HxOverrides.substr(data,0,p.pos), s : true, l : null}); - } - if(HxOverrides.cca(data,p.pos) == 58) { - tokens.add({ p : HxOverrides.substr(data,p.pos + 2,p.len - 4), s : false, l : null}); - data = haxe_Template.splitter.matchedRight(); - continue; - } - var parp = p.pos + p.len; - var npar = 1; - var params = []; - var part = ""; - while(true) { - var c = HxOverrides.cca(data,parp); - ++parp; - if(c == 40) { - ++npar; - } else if(c == 41) { - --npar; - if(npar <= 0) { - break; - } - } else if(c == null) { - throw haxe_Exception.thrown("Unclosed macro parenthesis"); - } - if(c == 44 && npar == 1) { - params.push(part); - part = ""; - } else { - part += String.fromCodePoint(c); - } - } - params.push(part); - tokens.add({ p : haxe_Template.splitter.matched(2), s : false, l : params}); - data = HxOverrides.substr(data,parp,data.length - parp); - } - if(data.length > 0) { - tokens.add({ p : data, s : true, l : null}); - } - return tokens; - } - ,parseBlock: function(tokens) { - var l = new haxe_ds_List(); - while(true) { - var t = tokens.first(); - if(t == null) { - break; - } - if(!t.s && (t.p == "end" || t.p == "else" || HxOverrides.substr(t.p,0,7) == "elseif ")) { - break; - } - l.add(this.parse(tokens)); - } - if(l.length == 1) { - return l.first(); - } - return haxe__$Template_TemplateExpr.OpBlock(l); - } - ,parse: function(tokens) { - var t = tokens.pop(); - var p = t.p; - if(t.s) { - return haxe__$Template_TemplateExpr.OpStr(p); - } - if(t.l != null) { - var pe = new haxe_ds_List(); - var _g = 0; - var _g1 = t.l; - while(_g < _g1.length) { - var p1 = _g1[_g]; - ++_g; - pe.add(this.parseBlock(this.parseTokens(p1))); - } - return haxe__$Template_TemplateExpr.OpMacro(p,pe); - } - var kwdEnd = function(kwd) { - var pos = -1; - var length = kwd.length; - if(HxOverrides.substr(p,0,length) == kwd) { - pos = length; - var _g_offset = 0; - var _g_s = HxOverrides.substr(p,length,null); - while(_g_offset < _g_s.length) { - var c = _g_s.charCodeAt(_g_offset++); - if(c == 32) { - ++pos; - } else { - break; - } - } - } - return pos; - }; - var pos = kwdEnd("if"); - if(pos > 0) { - p = HxOverrides.substr(p,pos,p.length - pos); - var e = this.parseExpr(p); - var eif = this.parseBlock(tokens); - var t = tokens.first(); - var eelse; - if(t == null) { - throw haxe_Exception.thrown("Unclosed 'if'"); - } - if(t.p == "end") { - tokens.pop(); - eelse = null; - } else if(t.p == "else") { - tokens.pop(); - eelse = this.parseBlock(tokens); - t = tokens.pop(); - if(t == null || t.p != "end") { - throw haxe_Exception.thrown("Unclosed 'else'"); - } - } else { - t.p = HxOverrides.substr(t.p,4,t.p.length - 4); - eelse = this.parse(tokens); - } - return haxe__$Template_TemplateExpr.OpIf(e,eif,eelse); - } - var pos = kwdEnd("foreach"); - if(pos >= 0) { - p = HxOverrides.substr(p,pos,p.length - pos); - var e = this.parseExpr(p); - var efor = this.parseBlock(tokens); - var t = tokens.pop(); - if(t == null || t.p != "end") { - throw haxe_Exception.thrown("Unclosed 'foreach'"); - } - return haxe__$Template_TemplateExpr.OpForeach(e,efor); - } - if(haxe_Template.expr_splitter.match(p)) { - return haxe__$Template_TemplateExpr.OpExpr(this.parseExpr(p)); - } - return haxe__$Template_TemplateExpr.OpVar(p); - } - ,parseExpr: function(data) { - var l = new haxe_ds_List(); - var expr = data; - while(haxe_Template.expr_splitter.match(data)) { - var p = haxe_Template.expr_splitter.matchedPos(); - var k = p.pos + p.len; - if(p.pos != 0) { - l.add({ p : HxOverrides.substr(data,0,p.pos), s : true}); - } - var p1 = haxe_Template.expr_splitter.matched(0); - l.add({ p : p1, s : p1.indexOf("\"") >= 0}); - data = haxe_Template.expr_splitter.matchedRight(); - } - if(data.length != 0) { - var _g_offset = 0; - var _g_s = data; - while(_g_offset < _g_s.length) { - var _g_key = _g_offset; - var _g_value = _g_s.charCodeAt(_g_offset++); - var i = _g_key; - var c = _g_value; - if(c != 32) { - l.add({ p : HxOverrides.substr(data,i,null), s : true}); - break; - } - } - } - var e; - try { - e = this.makeExpr(l); - if(!l.isEmpty()) { - throw haxe_Exception.thrown(l.first().p); - } - } catch( _g ) { - var _g1 = haxe_Exception.caught(_g).unwrap(); - if(typeof(_g1) == "string") { - var s = _g1; - throw haxe_Exception.thrown("Unexpected '" + s + "' in " + expr); - } else { - throw _g; - } - } - return function() { - try { - return e(); - } catch( _g ) { - var exc = haxe_Exception.caught(_g).unwrap(); - throw haxe_Exception.thrown("Error : " + Std.string(exc) + " in " + expr); - } - }; - } - ,makeConst: function(v) { - haxe_Template.expr_trim.match(v); - v = haxe_Template.expr_trim.matched(1); - if(HxOverrides.cca(v,0) == 34) { - var str = HxOverrides.substr(v,1,v.length - 2); - return function() { - return str; - }; - } - if(haxe_Template.expr_int.match(v)) { - var i = Std.parseInt(v); - return function() { - return i; - }; - } - if(haxe_Template.expr_float.match(v)) { - var f = parseFloat(v); - return function() { - return f; - }; - } - var me = this; - return function() { - return me.resolve(v); - }; - } - ,makePath: function(e,l) { - var p = l.first(); - if(p == null || p.p != ".") { - return e; - } - l.pop(); - var field = l.pop(); - if(field == null || !field.s) { - throw haxe_Exception.thrown(field.p); - } - var f = field.p; - haxe_Template.expr_trim.match(f); - f = haxe_Template.expr_trim.matched(1); - return this.makePath(function() { - return Reflect.field(e(),f); - },l); - } - ,makeExpr: function(l) { - return this.makePath(this.makeExpr2(l),l); - } - ,skipSpaces: function(l) { - var p = l.first(); - while(p != null) { - var _g_offset = 0; - var _g_s = p.p; - while(_g_offset < _g_s.length) { - var c = _g_s.charCodeAt(_g_offset++); - if(c != 32) { - return; - } - } - l.pop(); - p = l.first(); - } - } - ,makeExpr2: function(l) { - this.skipSpaces(l); - var p = l.pop(); - this.skipSpaces(l); - if(p == null) { - throw haxe_Exception.thrown(""); - } - if(p.s) { - return this.makeConst(p.p); - } - switch(p.p) { - case "!": - var e = this.makeExpr(l); - return function() { - var v = e(); - if(v != null) { - return v == false; - } else { - return true; - } - }; - case "(": - this.skipSpaces(l); - var e1 = this.makeExpr(l); - this.skipSpaces(l); - var p1 = l.pop(); - if(p1 == null || p1.s) { - throw haxe_Exception.thrown(p1); - } - if(p1.p == ")") { - return e1; - } - this.skipSpaces(l); - var e2 = this.makeExpr(l); - this.skipSpaces(l); - var p2 = l.pop(); - this.skipSpaces(l); - if(p2 == null || p2.p != ")") { - throw haxe_Exception.thrown(p2); - } - switch(p1.p) { - case "!=": - return function() { - return e1() != e2(); - }; - case "&&": - return function() { - return e1() && e2(); - }; - case "*": - return function() { - return e1() * e2(); - }; - case "+": - return function() { - return e1() + e2(); - }; - case "-": - return function() { - return e1() - e2(); - }; - case "/": - return function() { - return e1() / e2(); - }; - case "<": - return function() { - return e1() < e2(); - }; - case "<=": - return function() { - return e1() <= e2(); - }; - case "==": - return function() { - return e1() == e2(); - }; - case ">": - return function() { - return e1() > e2(); - }; - case ">=": - return function() { - return e1() >= e2(); - }; - case "||": - return function() { - return e1() || e2(); - }; - default: - throw haxe_Exception.thrown("Unknown operation " + p1.p); - } - break; - case "-": - var e3 = this.makeExpr(l); - return function() { - return -e3(); - }; - } - throw haxe_Exception.thrown(p.p); - } - ,run: function(e) { - switch(e._hx_index) { - case 0: - var v = e.v; - var _this = this.buf; - var x = Std.string(this.resolve(v)); - _this.b += Std.string(x); - break; - case 1: - var e1 = e.expr; - var _this = this.buf; - var x = Std.string(e1()); - _this.b += Std.string(x); - break; - case 2: - var e1 = e.expr; - var eif = e.eif; - var eelse = e.eelse; - var v = e1(); - if(v == null || v == false) { - if(eelse != null) { - this.run(eelse); - } - } else { - this.run(eif); - } - break; - case 3: - var str = e.str; - this.buf.b += str == null ? "null" : "" + str; - break; - case 4: - var l = e.l; - var _g_head = l.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var e1 = val; - this.run(e1); - } - break; - case 5: - var e1 = e.expr; - var loop = e.loop; - var v = e1(); - try { - var x = $getIterator(v); - if(x.hasNext == null) { - throw haxe_Exception.thrown(null); - } - v = x; - } catch( _g ) { - try { - if(v.hasNext == null) { - throw haxe_Exception.thrown(null); - } - } catch( _g1 ) { - throw haxe_Exception.thrown("Cannot iter on " + Std.string(v)); - } - } - this.stack.push(this.context); - var v1 = v; - var ctx = v1; - while(ctx.hasNext()) { - var ctx1 = ctx.next(); - this.context = ctx1; - this.run(loop); - } - this.context = this.stack.pop(); - break; - case 6: - var m = e.name; - var params = e.params; - var v = Reflect.field(this.macros,m); - var pl = []; - var old = this.buf; - pl.push($bind(this,this.resolve)); - var _g_head = params.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var p = val; - if(p._hx_index == 0) { - var v1 = p.v; - pl.push(this.resolve(v1)); - } else { - this.buf = new StringBuf(); - this.run(p); - pl.push(this.buf.b); - } - } - this.buf = old; - try { - var _this = this.buf; - var x = Std.string(v.apply(this.macros,pl)); - _this.b += Std.string(x); - } catch( _g ) { - var e = haxe_Exception.caught(_g).unwrap(); - var plstr; - try { - plstr = pl.join(","); - } catch( _g1 ) { - plstr = "???"; - } - var msg = "Macro call " + m + "(" + plstr + ") failed (" + Std.string(e) + ")"; - throw haxe_Exception.thrown(msg); - } - break; - } - } -}; -var haxe_ValueException = function(value,previous,native) { - haxe_Exception.call(this,String(value),previous,native); - this.value = value; -}; -haxe_ValueException.__name__ = true; -haxe_ValueException.__super__ = haxe_Exception; -haxe_ValueException.prototype = $extend(haxe_Exception.prototype,{ - unwrap: function() { - return this.value; - } -}); -var haxe_ds_List = function() { - this.length = 0; -}; -haxe_ds_List.__name__ = true; -haxe_ds_List.prototype = { - add: function(item) { - var x = new haxe_ds__$List_ListNode(item,null); - if(this.h == null) { - this.h = x; - } else { - this.q.next = x; - } - this.q = x; - this.length++; - } - ,push: function(item) { - var x = new haxe_ds__$List_ListNode(item,this.h); - this.h = x; - if(this.q == null) { - this.q = x; - } - this.length++; - } - ,first: function() { - if(this.h == null) { - return null; - } else { - return this.h.item; - } - } - ,pop: function() { - if(this.h == null) { - return null; - } - var x = this.h.item; - this.h = this.h.next; - if(this.h == null) { - this.q = null; - } - this.length--; - return x; - } - ,isEmpty: function() { - return this.h == null; - } - ,toString: function() { - var s_b = ""; - var first = true; - var l = this.h; - s_b += "{"; - while(l != null) { - if(first) { - first = false; - } else { - s_b += ", "; - } - s_b += Std.string(Std.string(l.item)); - l = l.next; - } - s_b += "}"; - return s_b; - } -}; -var haxe_ds__$List_ListNode = function(item,next) { - this.item = item; - this.next = next; -}; -haxe_ds__$List_ListNode.__name__ = true; -var js_Boot = function() { }; -js_Boot.__name__ = true; -js_Boot.__string_rec = function(o,s) { - if(o == null) { - return "null"; - } - if(s.length >= 5) { - return "<...>"; - } - var t = typeof(o); - if(t == "function" && (o.__name__ || o.__ename__)) { - t = "object"; - } - switch(t) { - case "function": - return ""; - case "object": - if(o.__enum__) { - var e = $hxEnums[o.__enum__]; - var con = e.__constructs__[o._hx_index]; - var n = con._hx_name; - if(con.__params__) { - s = s + "\t"; - return n + "(" + ((function($this) { - var $r; - var _g = []; - { - var _g1 = 0; - var _g2 = con.__params__; - while(true) { - if(!(_g1 < _g2.length)) { - break; - } - var p = _g2[_g1]; - _g1 = _g1 + 1; - _g.push(js_Boot.__string_rec(o[p],s)); - } - } - $r = _g; - return $r; - }(this))).join(",") + ")"; - } else { - return n; - } - } - if(((o) instanceof Array)) { - var str = "["; - s += "\t"; - var _g = 0; - var _g1 = o.length; - while(_g < _g1) { - var i = _g++; - str += (i > 0 ? "," : "") + js_Boot.__string_rec(o[i],s); - } - str += "]"; - return str; - } - var tostr; - try { - tostr = o.toString; - } catch( _g ) { - return "???"; - } - if(tostr != null && tostr != Object.toString && typeof(tostr) == "function") { - var s2 = o.toString(); - if(s2 != "[object Object]") { - return s2; - } - } - var str = "{\n"; - s += "\t"; - var hasp = o.hasOwnProperty != null; - var k = null; - for( k in o ) { - if(hasp && !o.hasOwnProperty(k)) { - continue; - } - if(k == "prototype" || k == "__class__" || k == "__super__" || k == "__interfaces__" || k == "__properties__") { - continue; - } - if(str.length != 2) { - str += ", \n"; - } - str += s + k + " : " + js_Boot.__string_rec(o[k],s); - } - s = s.substring(1); - str += "\n" + s + "}"; - return str; - case "string": - return o; - default: - return String(o); - } -}; -var xrfragment_Filter = $hx_exports["xrfragment"]["Filter"] = function(str) { - this.q = { }; - this.str = ""; - if(str != null) { - this.parse(str); - } -}; -xrfragment_Filter.__name__ = true; -xrfragment_Filter.prototype = { - toObject: function() { - return Reflect.copy(this.q); - } - ,get: function() { - return Reflect.copy(this.q); - } - ,parse: function(str) { - var token = str.split(" "); - var q = { }; - var process = function(str,prefix) { - if(prefix == null) { - prefix = ""; - } - str = StringTools.trim(str); - var k = str.split("=")[0]; - var v = str.split("=")[1]; - var filter = { }; - if(q[prefix + k]) { - filter = q[prefix + k]; - } - if(xrfragment_XRF.isProp.match(str)) { - var oper = ""; - if(str.indexOf(">") != -1) { - oper = ">"; - } - if(str.indexOf("<") != -1) { - oper = "<"; - } - if(xrfragment_XRF.isExclude.match(k)) { - k = HxOverrides.substr(k,1,null); - } - v = HxOverrides.substr(v,oper.length,null); - if(oper.length == 0) { - oper = "="; - } - var rule = { }; - if(xrfragment_XRF.isNumber.match(v)) { - rule[oper] = parseFloat(v); - } else { - rule[oper] = v; - } - q["expr"] = rule; - } - var value = xrfragment_XRF.isDeep.match(str) ? k.split("*").length - 1 : 0; - q["deep"] = value; - var value = xrfragment_XRF.isExclude.match(str) ? false : true; - q["show"] = value; - var value = k.replace(xrfragment_XRF.operators.r,""); - q["key"] = value; - q["value"] = v; - }; - var _g = 0; - var _g1 = token.length; - while(_g < _g1) { - var i = _g++; - process(token[i]); - } - return this.q = q; - } - ,test: function(obj) { - var qualify = false; - var _g = 0; - var _g1 = Reflect.fields(obj); - while(_g < _g1.length) { - var k = _g1[_g]; - ++_g; - var v = Std.string(Reflect.field(obj,k)); - if(this.testProperty(k,v)) { - qualify = true; - } - } - var _g = 0; - var _g1 = Reflect.fields(obj); - while(_g < _g1.length) { - var k = _g1[_g]; - ++_g; - var v = Std.string(Reflect.field(obj,k)); - if(this.testProperty(k,v,true)) { - qualify = false; - } - } - return qualify; - } - ,testProperty: function(property,value,exclude) { - var conds = 0; - var fails = 0; - var qualify = 0; - var testprop = function(expr) { - conds += 1; - fails += expr ? 0 : 1; - return expr; - }; - if(this.q[value] != null) { - var v = this.q[value]; - if(v[property] != null) { - return v[property]; - } - } - if(Reflect.field(this.q,"expr")) { - var f = Reflect.field(this.q,"expr"); - if(!Reflect.field(this.q,"show")) { - if(Reflect.field(f,"!=") != null && testprop((value == null ? "null" : "" + value) == Std.string(Reflect.field(f,"!="))) && exclude) { - ++qualify; - } - } else { - if(Reflect.field(f,"*") != null && testprop(parseFloat(value) != null)) { - ++qualify; - } - if(Reflect.field(f,">") != null && testprop(parseFloat(value) >= parseFloat(Reflect.field(f,">")))) { - ++qualify; - } - if(Reflect.field(f,"<") != null && testprop(parseFloat(value) <= parseFloat(Reflect.field(f,"<")))) { - ++qualify; - } - if(Reflect.field(f,"=") != null && (testprop(value == Reflect.field(f,"=")) || testprop(parseFloat(value) == parseFloat(Reflect.field(f,"="))))) { - ++qualify; - } - } - } - return qualify > 0; - } -}; -var xrfragment_Parser = $hx_exports["xrfragment"]["Parser"] = function() { }; -xrfragment_Parser.__name__ = true; -xrfragment_Parser.parse = function(key,value,store,index) { - var Frag_h = Object.create(null); - Frag_h["#"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_PREDEFINED_VIEW | xrfragment_XRF.PV_EXECUTE; - Frag_h["src"] = xrfragment_XRF.T_URL; - Frag_h["href"] = xrfragment_XRF.T_URL | xrfragment_XRF.T_PREDEFINED_VIEW; - Frag_h["tag"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["pos"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_VECTOR3 | xrfragment_XRF.T_STRING | xrfragment_XRF.METADATA | xrfragment_XRF.NAVIGATOR; - Frag_h["rot"] = xrfragment_XRF.QUERY_OPERATOR | xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_VECTOR3 | xrfragment_XRF.METADATA | xrfragment_XRF.NAVIGATOR; - Frag_h["t"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_FLOAT | xrfragment_XRF.T_VECTOR2 | xrfragment_XRF.NAVIGATOR | xrfragment_XRF.METADATA; - Frag_h["s"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_MEDIAFRAG; - Frag_h["loop"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_PREDEFINED_VIEW; - Frag_h["uv"] = xrfragment_XRF.T_VECTOR2 | xrfragment_XRF.T_MEDIAFRAG; - Frag_h["namespace"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["SPDX"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["unit"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["description"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - var keyStripped = key.replace(xrfragment_XRF.operators.r,""); - var isPVDynamic = key.length > 0 && !Object.prototype.hasOwnProperty.call(Frag_h,key); - if(isPVDynamic) { - var v = new xrfragment_XRF(key,xrfragment_XRF.PV_EXECUTE | xrfragment_XRF.NAVIGATOR,index); - v.validate(value); - v.flags = xrfragment_XRF.set(xrfragment_XRF.T_DYNAMICKEY,v.flags); - if(!Object.prototype.hasOwnProperty.call(Frag_h,key)) { - v.flags = xrfragment_XRF.set(xrfragment_XRF.CUSTOMFRAG,v.flags); - } - if(value.length == 0) { - v.flags = xrfragment_XRF.set(xrfragment_XRF.T_DYNAMICKEYVALUE,v.flags); - } - store[keyStripped] = v; - return true; - } - var v = new xrfragment_XRF(key,Frag_h[key],index); - if(Object.prototype.hasOwnProperty.call(Frag_h,key)) { - if(!v.validate(value)) { - console.log("src/xrfragment/Parser.hx:67:","⚠ fragment '" + key + "' has incompatible value (" + value + ")"); - return false; - } - store[keyStripped] = v; - if(xrfragment_Parser.debug) { - console.log("src/xrfragment/Parser.hx:71:","✔ " + key + ": " + v.string); - } - } else { - if(typeof(value) == "string") { - v.guessType(v,value); - } - v.flags = xrfragment_XRF.set(xrfragment_XRF.CUSTOMFRAG,v.flags); - store[keyStripped] = v; - } - return true; -}; -xrfragment_Parser.getMetaData = function() { - var meta = { title : ["title","og:title","dc.title"], description : ["aria-description","og:description","dc.description"], author : ["author","dc.creator"], publisher : ["publisher","dc.publisher"], website : ["og:site_name","og:url","dc.publisher"], license : ["SPDX","dc.rights"]}; - return meta; -}; -var xrfragment_URI = $hx_exports["xrfragment"]["URI"] = function() { - this.XRF = { }; - this.hash = { }; - this.fragment = ""; -}; -xrfragment_URI.__name__ = true; -xrfragment_URI.parseFragment = function(url,filter) { - var store = { }; - if(url == null || url.indexOf("#") == -1) { - return store; - } - var fragment = url.split("#"); - var splitArray = fragment[1].split("&"); - var _g = 0; - var _g1 = splitArray.length; - while(_g < _g1) { - var i = _g++; - var splitByEqual = splitArray[i].split("="); - var regexPlus = new EReg("\\+","g"); - var key = splitByEqual[0]; - var value = ""; - if(splitByEqual.length > 1) { - if(xrfragment_XRF.isVector.match(splitByEqual[1])) { - value = splitByEqual[1]; - } else { - var s = regexPlus.split(splitByEqual[1]).join(" "); - value = decodeURIComponent(s.split("+").join(" ")); - } - } - var ok = xrfragment_Parser.parse(key,value,store,i); - } - if(filter != null && filter != 0) { - var _g = 0; - var _g1 = Reflect.fields(store); - while(_g < _g1.length) { - var key = _g1[_g]; - ++_g; - var xrf = store[key]; - if(!xrf.is(filter)) { - Reflect.deleteField(store,key); - } - } - } - return store; -}; -xrfragment_URI.template = function(uri,vars) { - var parts = uri.split("#"); - if(parts.length == 1) { - return uri; - } - var frag = parts[1]; - frag = StringTools.replace(frag,"{","::"); - frag = StringTools.replace(frag,"}","::"); - frag = new haxe_Template(frag).execute(vars); - frag = StringTools.replace(frag,"null",""); - parts[1] = frag; - return parts.join("#"); -}; -xrfragment_URI.parse = function(stringUrl,flags) { - var r = new EReg("^(?:(?![^:@]+:[^:@/]*@)([^:/?#.]+):)?(?://)?((?:(([^:@]*)(?::([^:@]*))?)?@)?([^:/?#]*)(?::(\\d*))?)(((/(?:[^?#](?![^?#/]*\\.[^?#/.]+(?:[?#]|$)))*/?)?([^?#/]*))(?:\\?([^#]*))?(?:#(.*))?)",""); - if(stringUrl.indexOf("://") == -1 && stringUrl.charAt(0) != "/") { - stringUrl = "/" + stringUrl; - } - r.match(stringUrl); - var url = new xrfragment_URI(); - var _g = 0; - var _g1 = xrfragment_URI._parts.length; - while(_g < _g1) { - var i = _g++; - url[xrfragment_URI._parts[i]] = r.matched(i); - } - if(xrfragment_URI.isRelative(url) == true) { - if(url.directory == null && url.host != null) { - url.file = url.host; - } - url.host = ""; - } - url.hash = { }; - if(url.fragment != null && url.fragment.length > 0) { - url.XRF = xrfragment_URI.parseFragment("#" + url.fragment,flags); - var key; - var _g = 0; - var _g1 = Reflect.fields(url.XRF); - while(_g < _g1.length) { - var key = _g1[_g]; - ++_g; - var v = url.XRF[key]; - url.hash[key] = v["string"]; - } - } - xrfragment_URI.computeVars(url); - return url; -}; -xrfragment_URI.computeVars = function(url) { - var r_r = new RegExp("//","g".split("u").join("")); - if(url.directory != null && url.directory.indexOf("//") != -1) { - url.directory = url.directory.replace(r_r,"/"); - } - if(url.path != null && url.path.indexOf("//") != -1) { - url.path = url.path.replace(r_r,"/"); - } - if(url.file != null && url.file.indexOf("//") != -1) { - url.file = url.file.replace(r_r,"/"); - } - url.URN = url.scheme + "://" + url.host; - if(url.port != null) { - url.URN += ":" + url.port; - } - url.URN += url.directory; - if(url.file != null) { - var parts = url.file.split("."); - if(parts.length > 1) { - url.fileExt = parts.pop(); - } - } -}; -xrfragment_URI.toString = function(url) { - var result = ""; - if(url.scheme != null) { - result += url.scheme + "://"; - } - if(url.user != null) { - result += url.user + ":"; - } - if(url.password != null) { - result += url.password + "@"; - } - if(url.host != null) { - result += url.host; - } - if(url.port != null) { - result += ":" + url.port; - } - if(url.directory != null) { - result += url.directory; - } - if(url.file != null) { - result += url.file; - } - if(url.query != null) { - result += "?" + url.query; - } - if(url.fragment != null) { - result += "#" + url.fragment; - } - return result; -}; -xrfragment_URI.appendURI = function(url,appendedURI) { - if(xrfragment_URI.isRelative(url) == true) { - return xrfragment_URI.appendToRelativeURI(url,appendedURI); - } else { - return xrfragment_URI.appendToAbsoluteURI(url,appendedURI); - } -}; -xrfragment_URI.isRelative = function(url) { - return url.scheme == null; -}; -xrfragment_URI.appendToRelativeURI = function(url,appendedURI) { - if(url.directory == null || url.host == null) { - return xrfragment_URI.cloneURI(appendedURI); - } - var resultURI = new xrfragment_URI(); - resultURI.host = url.host; - resultURI.directory = url.directory; - if(appendedURI.host != null) { - resultURI.directory += appendedURI.host; - } - if(appendedURI.directory != null) { - var directory = appendedURI.directory; - if(appendedURI.host == null) { - resultURI.directory += HxOverrides.substr(directory,1,null); - } else { - resultURI.directory += directory; - } - } - if(appendedURI.file != null) { - resultURI.file = appendedURI.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(appendedURI.query != null) { - resultURI.query = appendedURI.query; - } - if(appendedURI.fragment != null) { - resultURI.fragment = appendedURI.fragment; - } - return resultURI; -}; -xrfragment_URI.appendToAbsoluteURI = function(url,appendedURI) { - var resultURI = new xrfragment_URI(); - if(url.scheme != null) { - resultURI.scheme = url.scheme; - } - if(url.host != null) { - resultURI.host = url.host; - } - var directory = ""; - if(url.directory != null) { - directory = url.directory; - } - if(appendedURI.host != null) { - appendedURI.directory += appendedURI.host; - } - if(appendedURI.directory != null) { - directory += appendedURI.directory; - } - resultURI.directory = directory; - if(appendedURI.file != null) { - resultURI.file = appendedURI.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(appendedURI.query != null) { - resultURI.query = appendedURI.query; - } - if(appendedURI.fragment != null) { - resultURI.fragment = appendedURI.fragment; - } - return resultURI; -}; -xrfragment_URI.toAbsolute = function(url,newUrl) { - var newURI = xrfragment_URI.parse(newUrl,0); - var resultURI = new xrfragment_URI(); - resultURI.port = url.port; - resultURI.source = newUrl; - if(newURI.scheme != null) { - resultURI.scheme = newURI.scheme; - } else { - resultURI.scheme = url.scheme; - } - if(newURI.host != null && newURI.host.length > 0) { - resultURI.host = newURI.host; - resultURI.port = null; - resultURI.fragment = null; - resultURI.hash = { }; - resultURI.XRF = { }; - if(newURI.port != null) { - resultURI.port = newURI.port; - } - } else { - resultURI.host = url.host; - } - var directory = ""; - if(url.directory != null) { - directory = url.directory; - } - if(newURI.directory != null) { - if(newUrl.charAt(0) != "/" && newUrl.indexOf("://") == -1) { - var stripRelative_r = new RegExp("\\./.*","".split("u").join("")); - directory = directory.replace(stripRelative_r,""); - directory += newURI.directory; - } else { - directory = newURI.directory; - } - } - resultURI.directory = directory; - if(newURI.file != null) { - resultURI.file = newURI.file; - } else { - resultURI.file = url.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(newURI.query != null) { - resultURI.query = newURI.query; - } - if(newURI.fragment != null) { - resultURI.fragment = newURI.fragment; - } - resultURI.hash = newURI.hash; - resultURI.XRF = newURI.XRF; - xrfragment_URI.computeVars(resultURI); - return resultURI; -}; -xrfragment_URI.cloneURI = function(url) { - var clonedURI = new xrfragment_URI(); - clonedURI.url = url.url; - clonedURI.source = url.source; - clonedURI.scheme = url.scheme; - clonedURI.authority = url.authority; - clonedURI.userInfo = url.userInfo; - clonedURI.password = url.password; - clonedURI.host = url.host; - clonedURI.port = url.port; - clonedURI.relative = url.relative; - clonedURI.path = url.path; - clonedURI.directory = url.directory; - clonedURI.file = url.file; - clonedURI.query = url.query; - clonedURI.fragment = url.fragment; - return clonedURI; -}; -var xrfragment_XRF = $hx_exports["xrfragment"]["XRF"] = function(_fragment,_flags,_index) { - this.floats = []; - this.shift = []; - this.fragment = _fragment; - this.flags = _flags; - this.index = _index; -}; -xrfragment_XRF.__name__ = true; -xrfragment_XRF.set = function(flag,flags) { - return flags | flag; -}; -xrfragment_XRF.unset = function(flag,flags) { - return flags & ~flag; -}; -xrfragment_XRF.prototype = { - is: function(flag) { - var v = this.flags; - if(!(typeof(v) == "number" && ((v | 0) === v))) { - this.flags = 0; - } - return (this.flags & flag) != 0; - } - ,validate: function(value) { - this.guessType(this,value); - var ok = true; - if(value.length == 0 && !this.is(xrfragment_XRF.T_PREDEFINED_VIEW)) { - ok = false; - } - if(!this.is(xrfragment_XRF.T_FLOAT) && this.is(xrfragment_XRF.T_VECTOR2) && !(typeof(this.x) == "number" && typeof(this.y) == "number")) { - ok = false; - } - if(!(this.is(xrfragment_XRF.T_VECTOR2) || this.is(xrfragment_XRF.T_STRING)) && this.is(xrfragment_XRF.T_VECTOR3) && !(typeof(this.x) == "number" && typeof(this.y) == "number" && typeof(this.z) == "number")) { - ok = false; - } - return ok; - } - ,guessType: function(v,str) { - v.string = str; - if(xrfragment_XRF.isReset.match(v.fragment)) { - v.reset = true; - } - if(v.fragment == "loop") { - v.loop = true; - } - if(typeof(str) != "string") { - return; - } - if(str.length > 0) { - if(xrfragment_XRF.isXRFScheme.match(str)) { - v.xrfScheme = true; - str = str.replace(xrfragment_XRF.isXRFScheme.r,""); - v.string = str; - } - if(str.split(",").length > 1) { - var xyzn = str.split(","); - if(xyzn.length > 0) { - v.x = parseFloat(xyzn[0]); - } - if(xyzn.length > 1) { - v.y = parseFloat(xyzn[1]); - } - if(xyzn.length > 2) { - v.z = parseFloat(xyzn[2]); - } - var _g = 0; - var _g1 = xyzn.length; - while(_g < _g1) { - var i = _g++; - v.shift.push(xrfragment_XRF.isShift.match(xyzn[i])); - v.floats.push(parseFloat(xyzn[i].replace(xrfragment_XRF.isShift.r,""))); - } - } - if(xrfragment_XRF.isColor.match(str)) { - v.color = str; - } - if(xrfragment_XRF.isFloat.match(str)) { - v.x = parseFloat(str); - v.float = v.x; - } - if(xrfragment_XRF.isInt.match(str)) { - v.int = Std.parseInt(str); - v.x = v.int; - v.floats.push(v.x); - } - v.filter = new xrfragment_Filter(v.fragment + "=" + v.string); - } else { - v.filter = new xrfragment_Filter(v.fragment); - } - } -}; -function $getIterator(o) { if( o instanceof Array ) return new haxe_iterators_ArrayIterator(o); else return o.iterator(); } -function $bind(o,m) { if( m == null ) return null; if( m.__id__ == null ) m.__id__ = $global.$haxeUID++; var f; if( o.hx__closures__ == null ) o.hx__closures__ = {}; else f = o.hx__closures__[m.__id__]; if( f == null ) { f = m.bind(o); o.hx__closures__[m.__id__] = f; } return f; } -$global.$haxeUID |= 0; -if(typeof(performance) != "undefined" ? typeof(performance.now) == "function" : false) { - HxOverrides.now = performance.now.bind(performance); -} -if( String.fromCodePoint == null ) String.fromCodePoint = function(c) { return c < 0x10000 ? String.fromCharCode(c) : String.fromCharCode((c>>10)+0xD7C0)+String.fromCharCode((c&0x3FF)+0xDC00); } -String.__name__ = true; -Array.__name__ = true; -js_Boot.__toStr = ({ }).toString; -haxe_Template.splitter = new EReg("(::[A-Za-z0-9_ ()&|!+=/><*.\"-]+::|\\$\\$([A-Za-z0-9_-]+)\\()",""); -haxe_Template.expr_splitter = new EReg("(\\(|\\)|[ \r\n\t]*\"[^\"]*\"[ \r\n\t]*|[!+=/><*.&|-]+)",""); -haxe_Template.expr_trim = new EReg("^[ ]*([^ ]+)[ ]*$",""); -haxe_Template.expr_int = new EReg("^[0-9]+$",""); -haxe_Template.expr_float = new EReg("^([+-]?)(?=\\d|,\\d)\\d*(,\\d*)?([Ee]([+-]?\\d+))?$",""); -haxe_Template.globals = { }; -haxe_Template.hxKeepArrayIterator = new haxe_iterators_ArrayIterator([]); -xrfragment_Parser.error = ""; -xrfragment_Parser.debug = false; -xrfragment_URI.__meta__ = { statics : { template : { keep : null}}}; -xrfragment_URI._parts = ["source","scheme","authority","userInfo","user","password","host","port","relative","path","directory","file","query","fragment"]; -xrfragment_XRF.IMMUTABLE = 1; -xrfragment_XRF.PROP_BIND = 2; -xrfragment_XRF.QUERY_OPERATOR = 4; -xrfragment_XRF.PROMPT = 8; -xrfragment_XRF.CUSTOMFRAG = 16; -xrfragment_XRF.NAVIGATOR = 32; -xrfragment_XRF.METADATA = 64; -xrfragment_XRF.PV_OVERRIDE = 128; -xrfragment_XRF.PV_EXECUTE = 256; -xrfragment_XRF.T_COLOR = 8192; -xrfragment_XRF.T_INT = 16384; -xrfragment_XRF.T_FLOAT = 32768; -xrfragment_XRF.T_VECTOR2 = 65536; -xrfragment_XRF.T_VECTOR3 = 131072; -xrfragment_XRF.T_URL = 262144; -xrfragment_XRF.T_PREDEFINED_VIEW = 524288; -xrfragment_XRF.T_STRING = 1048576; -xrfragment_XRF.T_MEDIAFRAG = 2097152; -xrfragment_XRF.T_DYNAMICKEY = 4194304; -xrfragment_XRF.T_DYNAMICKEYVALUE = 8388608; -xrfragment_XRF.isColor = new EReg("^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$",""); -xrfragment_XRF.isInt = new EReg("^[-0-9]+$",""); -xrfragment_XRF.isFloat = new EReg("^[-0-9]+\\.[0-9]+$",""); -xrfragment_XRF.isVector = new EReg("([,]+|\\w)",""); -xrfragment_XRF.isUrl = new EReg("(://)?\\..*",""); -xrfragment_XRF.isUrlOrPretypedView = new EReg("(^#|://)?\\..*",""); -xrfragment_XRF.isString = new EReg(".*",""); -xrfragment_XRF.operators = new EReg("(^[-]|^[!]|[\\*]$)","g"); -xrfragment_XRF.isProp = new EReg("^.*=[><=]?",""); -xrfragment_XRF.isExclude = new EReg("^-",""); -xrfragment_XRF.isDeep = new EReg("\\*",""); -xrfragment_XRF.isNumber = new EReg("^[0-9\\.]+$",""); -xrfragment_XRF.isMediaFrag = new EReg("^([0-9\\.,\\*+-]+)$",""); -xrfragment_XRF.isReset = new EReg("^!",""); -xrfragment_XRF.isShift = new EReg("^(\\+|--)",""); -xrfragment_XRF.isXRFScheme = new EReg("^xrf://",""); -})(typeof window != "undefined" ? window : typeof global != "undefined" ? global : typeof self != "undefined" ? self : this); -var xrfragment = $hx_exports["xrfragment"]; -export default xrfragment; -// Generated by Haxe 4.3.3 -var $hx_exports = typeof exports != "undefined" ? exports : typeof window != "undefined" ? window : typeof self != "undefined" ? self : this; -(function ($global) { "use strict"; -$hx_exports["xrfragment"] = $hx_exports["xrfragment"] || {}; -var $estr = function() { return js_Boot.__string_rec(this,''); },$hxEnums = $hxEnums || {},$_; -function $extend(from, fields) { - var proto = Object.create(from); - for (var name in fields) proto[name] = fields[name]; - if( fields.toString !== Object.prototype.toString ) proto.toString = fields.toString; - return proto; -} -var EReg = function(r,opt) { - this.r = new RegExp(r,opt.split("u").join("")); -}; -EReg.__name__ = true; -EReg.prototype = { - match: function(s) { - if(this.r.global) { - this.r.lastIndex = 0; - } - this.r.m = this.r.exec(s); - this.r.s = s; - return this.r.m != null; - } - ,matched: function(n) { - if(this.r.m != null && n >= 0 && n < this.r.m.length) { - return this.r.m[n]; - } else { - throw haxe_Exception.thrown("EReg::matched"); - } - } - ,matchedRight: function() { - if(this.r.m == null) { - throw haxe_Exception.thrown("No string matched"); - } - var sz = this.r.m.index + this.r.m[0].length; - return HxOverrides.substr(this.r.s,sz,this.r.s.length - sz); - } - ,matchedPos: function() { - if(this.r.m == null) { - throw haxe_Exception.thrown("No string matched"); - } - return { pos : this.r.m.index, len : this.r.m[0].length}; - } - ,split: function(s) { - var d = "#__delim__#"; - return s.replace(this.r,d).split(d); - } -}; -var HxOverrides = function() { }; -HxOverrides.__name__ = true; -HxOverrides.cca = function(s,index) { - var x = s.charCodeAt(index); - if(x != x) { - return undefined; - } - return x; -}; -HxOverrides.substr = function(s,pos,len) { - if(len == null) { - len = s.length; - } else if(len < 0) { - if(pos == 0) { - len = s.length + len; - } else { - return ""; - } - } - return s.substr(pos,len); -}; -HxOverrides.now = function() { - return Date.now(); -}; -Math.__name__ = true; -var Reflect = function() { }; -Reflect.__name__ = true; -Reflect.field = function(o,field) { - try { - return o[field]; - } catch( _g ) { - return null; - } -}; -Reflect.getProperty = function(o,field) { - var tmp; - if(o == null) { - return null; - } else { - var tmp1; - if(o.__properties__) { - tmp = o.__properties__["get_" + field]; - tmp1 = tmp; - } else { - tmp1 = false; - } - if(tmp1) { - return o[tmp](); - } else { - return o[field]; - } - } -}; -Reflect.fields = function(o) { - var a = []; - if(o != null) { - var hasOwnProperty = Object.prototype.hasOwnProperty; - for( var f in o ) { - if(f != "__id__" && f != "hx__closures__" && hasOwnProperty.call(o,f)) { - a.push(f); - } - } - } - return a; -}; -Reflect.isObject = function(v) { - if(v == null) { - return false; - } - var t = typeof(v); - if(!(t == "string" || t == "object" && v.__enum__ == null)) { - if(t == "function") { - return (v.__name__ || v.__ename__) != null; - } else { - return false; - } - } else { - return true; - } -}; -Reflect.deleteField = function(o,field) { - if(!Object.prototype.hasOwnProperty.call(o,field)) { - return false; - } - delete(o[field]); - return true; -}; -Reflect.copy = function(o) { - if(o == null) { - return null; - } - var o2 = { }; - var _g = 0; - var _g1 = Reflect.fields(o); - while(_g < _g1.length) { - var f = _g1[_g]; - ++_g; - o2[f] = Reflect.field(o,f); - } - return o2; -}; -var Std = function() { }; -Std.__name__ = true; -Std.string = function(s) { - return js_Boot.__string_rec(s,""); -}; -Std.parseInt = function(x) { - var v = parseInt(x); - if(isNaN(v)) { - return null; - } - return v; -}; -var StringBuf = function() { - this.b = ""; -}; -StringBuf.__name__ = true; -var StringTools = function() { }; -StringTools.__name__ = true; -StringTools.isSpace = function(s,pos) { - var c = HxOverrides.cca(s,pos); - if(!(c > 8 && c < 14)) { - return c == 32; - } else { - return true; - } -}; -StringTools.ltrim = function(s) { - var l = s.length; - var r = 0; - while(r < l && StringTools.isSpace(s,r)) ++r; - if(r > 0) { - return HxOverrides.substr(s,r,l - r); - } else { - return s; - } -}; -StringTools.rtrim = function(s) { - var l = s.length; - var r = 0; - while(r < l && StringTools.isSpace(s,l - r - 1)) ++r; - if(r > 0) { - return HxOverrides.substr(s,0,l - r); - } else { - return s; - } -}; -StringTools.trim = function(s) { - return StringTools.ltrim(StringTools.rtrim(s)); -}; -StringTools.replace = function(s,sub,by) { - return s.split(sub).join(by); -}; -var haxe_Exception = function(message,previous,native) { - Error.call(this,message); - this.message = message; - this.__previousException = previous; - this.__nativeException = native != null ? native : this; -}; -haxe_Exception.__name__ = true; -haxe_Exception.caught = function(value) { - if(((value) instanceof haxe_Exception)) { - return value; - } else if(((value) instanceof Error)) { - return new haxe_Exception(value.message,null,value); - } else { - return new haxe_ValueException(value,null,value); - } -}; -haxe_Exception.thrown = function(value) { - if(((value) instanceof haxe_Exception)) { - return value.get_native(); - } else if(((value) instanceof Error)) { - return value; - } else { - var e = new haxe_ValueException(value); - return e; - } -}; -haxe_Exception.__super__ = Error; -haxe_Exception.prototype = $extend(Error.prototype,{ - unwrap: function() { - return this.__nativeException; - } - ,get_native: function() { - return this.__nativeException; - } - ,__properties__: {get_native:"get_native"} -}); -var haxe__$Template_TemplateExpr = $hxEnums["haxe._Template.TemplateExpr"] = { __ename__:true,__constructs__:null - ,OpVar: ($_=function(v) { return {_hx_index:0,v:v,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpVar",$_.__params__ = ["v"],$_) - ,OpExpr: ($_=function(expr) { return {_hx_index:1,expr:expr,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpExpr",$_.__params__ = ["expr"],$_) - ,OpIf: ($_=function(expr,eif,eelse) { return {_hx_index:2,expr:expr,eif:eif,eelse:eelse,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpIf",$_.__params__ = ["expr","eif","eelse"],$_) - ,OpStr: ($_=function(str) { return {_hx_index:3,str:str,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpStr",$_.__params__ = ["str"],$_) - ,OpBlock: ($_=function(l) { return {_hx_index:4,l:l,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpBlock",$_.__params__ = ["l"],$_) - ,OpForeach: ($_=function(expr,loop) { return {_hx_index:5,expr:expr,loop:loop,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpForeach",$_.__params__ = ["expr","loop"],$_) - ,OpMacro: ($_=function(name,params) { return {_hx_index:6,name:name,params:params,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpMacro",$_.__params__ = ["name","params"],$_) -}; -haxe__$Template_TemplateExpr.__constructs__ = [haxe__$Template_TemplateExpr.OpVar,haxe__$Template_TemplateExpr.OpExpr,haxe__$Template_TemplateExpr.OpIf,haxe__$Template_TemplateExpr.OpStr,haxe__$Template_TemplateExpr.OpBlock,haxe__$Template_TemplateExpr.OpForeach,haxe__$Template_TemplateExpr.OpMacro]; -var haxe_iterators_ArrayIterator = function(array) { - this.current = 0; - this.array = array; -}; -haxe_iterators_ArrayIterator.__name__ = true; -haxe_iterators_ArrayIterator.prototype = { - hasNext: function() { - return this.current < this.array.length; - } - ,next: function() { - return this.array[this.current++]; - } -}; -var haxe_Template = function(str) { - var tokens = this.parseTokens(str); - this.expr = this.parseBlock(tokens); - if(!tokens.isEmpty()) { - throw haxe_Exception.thrown("Unexpected '" + Std.string(tokens.first().s) + "'"); - } -}; -haxe_Template.__name__ = true; -haxe_Template.prototype = { - execute: function(context,macros) { - this.macros = macros == null ? { } : macros; - this.context = context; - this.stack = new haxe_ds_List(); - this.buf = new StringBuf(); - this.run(this.expr); - return this.buf.b; - } - ,resolve: function(v) { - if(v == "__current__") { - return this.context; - } - if(Reflect.isObject(this.context)) { - var value = Reflect.getProperty(this.context,v); - if(value != null || Object.prototype.hasOwnProperty.call(this.context,v)) { - return value; - } - } - var _g_head = this.stack.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var ctx = val; - var value = Reflect.getProperty(ctx,v); - if(value != null || Object.prototype.hasOwnProperty.call(ctx,v)) { - return value; - } - } - return Reflect.field(haxe_Template.globals,v); - } - ,parseTokens: function(data) { - var tokens = new haxe_ds_List(); - while(haxe_Template.splitter.match(data)) { - var p = haxe_Template.splitter.matchedPos(); - if(p.pos > 0) { - tokens.add({ p : HxOverrides.substr(data,0,p.pos), s : true, l : null}); - } - if(HxOverrides.cca(data,p.pos) == 58) { - tokens.add({ p : HxOverrides.substr(data,p.pos + 2,p.len - 4), s : false, l : null}); - data = haxe_Template.splitter.matchedRight(); - continue; - } - var parp = p.pos + p.len; - var npar = 1; - var params = []; - var part = ""; - while(true) { - var c = HxOverrides.cca(data,parp); - ++parp; - if(c == 40) { - ++npar; - } else if(c == 41) { - --npar; - if(npar <= 0) { - break; - } - } else if(c == null) { - throw haxe_Exception.thrown("Unclosed macro parenthesis"); - } - if(c == 44 && npar == 1) { - params.push(part); - part = ""; - } else { - part += String.fromCodePoint(c); - } - } - params.push(part); - tokens.add({ p : haxe_Template.splitter.matched(2), s : false, l : params}); - data = HxOverrides.substr(data,parp,data.length - parp); - } - if(data.length > 0) { - tokens.add({ p : data, s : true, l : null}); - } - return tokens; - } - ,parseBlock: function(tokens) { - var l = new haxe_ds_List(); - while(true) { - var t = tokens.first(); - if(t == null) { - break; - } - if(!t.s && (t.p == "end" || t.p == "else" || HxOverrides.substr(t.p,0,7) == "elseif ")) { - break; - } - l.add(this.parse(tokens)); - } - if(l.length == 1) { - return l.first(); - } - return haxe__$Template_TemplateExpr.OpBlock(l); - } - ,parse: function(tokens) { - var t = tokens.pop(); - var p = t.p; - if(t.s) { - return haxe__$Template_TemplateExpr.OpStr(p); - } - if(t.l != null) { - var pe = new haxe_ds_List(); - var _g = 0; - var _g1 = t.l; - while(_g < _g1.length) { - var p1 = _g1[_g]; - ++_g; - pe.add(this.parseBlock(this.parseTokens(p1))); - } - return haxe__$Template_TemplateExpr.OpMacro(p,pe); - } - var kwdEnd = function(kwd) { - var pos = -1; - var length = kwd.length; - if(HxOverrides.substr(p,0,length) == kwd) { - pos = length; - var _g_offset = 0; - var _g_s = HxOverrides.substr(p,length,null); - while(_g_offset < _g_s.length) { - var c = _g_s.charCodeAt(_g_offset++); - if(c == 32) { - ++pos; - } else { - break; - } - } - } - return pos; - }; - var pos = kwdEnd("if"); - if(pos > 0) { - p = HxOverrides.substr(p,pos,p.length - pos); - var e = this.parseExpr(p); - var eif = this.parseBlock(tokens); - var t = tokens.first(); - var eelse; - if(t == null) { - throw haxe_Exception.thrown("Unclosed 'if'"); - } - if(t.p == "end") { - tokens.pop(); - eelse = null; - } else if(t.p == "else") { - tokens.pop(); - eelse = this.parseBlock(tokens); - t = tokens.pop(); - if(t == null || t.p != "end") { - throw haxe_Exception.thrown("Unclosed 'else'"); - } - } else { - t.p = HxOverrides.substr(t.p,4,t.p.length - 4); - eelse = this.parse(tokens); - } - return haxe__$Template_TemplateExpr.OpIf(e,eif,eelse); - } - var pos = kwdEnd("foreach"); - if(pos >= 0) { - p = HxOverrides.substr(p,pos,p.length - pos); - var e = this.parseExpr(p); - var efor = this.parseBlock(tokens); - var t = tokens.pop(); - if(t == null || t.p != "end") { - throw haxe_Exception.thrown("Unclosed 'foreach'"); - } - return haxe__$Template_TemplateExpr.OpForeach(e,efor); - } - if(haxe_Template.expr_splitter.match(p)) { - return haxe__$Template_TemplateExpr.OpExpr(this.parseExpr(p)); - } - return haxe__$Template_TemplateExpr.OpVar(p); - } - ,parseExpr: function(data) { - var l = new haxe_ds_List(); - var expr = data; - while(haxe_Template.expr_splitter.match(data)) { - var p = haxe_Template.expr_splitter.matchedPos(); - var k = p.pos + p.len; - if(p.pos != 0) { - l.add({ p : HxOverrides.substr(data,0,p.pos), s : true}); - } - var p1 = haxe_Template.expr_splitter.matched(0); - l.add({ p : p1, s : p1.indexOf("\"") >= 0}); - data = haxe_Template.expr_splitter.matchedRight(); - } - if(data.length != 0) { - var _g_offset = 0; - var _g_s = data; - while(_g_offset < _g_s.length) { - var _g_key = _g_offset; - var _g_value = _g_s.charCodeAt(_g_offset++); - var i = _g_key; - var c = _g_value; - if(c != 32) { - l.add({ p : HxOverrides.substr(data,i,null), s : true}); - break; - } - } - } - var e; - try { - e = this.makeExpr(l); - if(!l.isEmpty()) { - throw haxe_Exception.thrown(l.first().p); - } - } catch( _g ) { - var _g1 = haxe_Exception.caught(_g).unwrap(); - if(typeof(_g1) == "string") { - var s = _g1; - throw haxe_Exception.thrown("Unexpected '" + s + "' in " + expr); - } else { - throw _g; - } - } - return function() { - try { - return e(); - } catch( _g ) { - var exc = haxe_Exception.caught(_g).unwrap(); - throw haxe_Exception.thrown("Error : " + Std.string(exc) + " in " + expr); - } - }; - } - ,makeConst: function(v) { - haxe_Template.expr_trim.match(v); - v = haxe_Template.expr_trim.matched(1); - if(HxOverrides.cca(v,0) == 34) { - var str = HxOverrides.substr(v,1,v.length - 2); - return function() { - return str; - }; - } - if(haxe_Template.expr_int.match(v)) { - var i = Std.parseInt(v); - return function() { - return i; - }; - } - if(haxe_Template.expr_float.match(v)) { - var f = parseFloat(v); - return function() { - return f; - }; - } - var me = this; - return function() { - return me.resolve(v); - }; - } - ,makePath: function(e,l) { - var p = l.first(); - if(p == null || p.p != ".") { - return e; - } - l.pop(); - var field = l.pop(); - if(field == null || !field.s) { - throw haxe_Exception.thrown(field.p); - } - var f = field.p; - haxe_Template.expr_trim.match(f); - f = haxe_Template.expr_trim.matched(1); - return this.makePath(function() { - return Reflect.field(e(),f); - },l); - } - ,makeExpr: function(l) { - return this.makePath(this.makeExpr2(l),l); - } - ,skipSpaces: function(l) { - var p = l.first(); - while(p != null) { - var _g_offset = 0; - var _g_s = p.p; - while(_g_offset < _g_s.length) { - var c = _g_s.charCodeAt(_g_offset++); - if(c != 32) { - return; - } - } - l.pop(); - p = l.first(); - } - } - ,makeExpr2: function(l) { - this.skipSpaces(l); - var p = l.pop(); - this.skipSpaces(l); - if(p == null) { - throw haxe_Exception.thrown(""); - } - if(p.s) { - return this.makeConst(p.p); - } - switch(p.p) { - case "!": - var e = this.makeExpr(l); - return function() { - var v = e(); - if(v != null) { - return v == false; - } else { - return true; - } - }; - case "(": - this.skipSpaces(l); - var e1 = this.makeExpr(l); - this.skipSpaces(l); - var p1 = l.pop(); - if(p1 == null || p1.s) { - throw haxe_Exception.thrown(p1); - } - if(p1.p == ")") { - return e1; - } - this.skipSpaces(l); - var e2 = this.makeExpr(l); - this.skipSpaces(l); - var p2 = l.pop(); - this.skipSpaces(l); - if(p2 == null || p2.p != ")") { - throw haxe_Exception.thrown(p2); - } - switch(p1.p) { - case "!=": - return function() { - return e1() != e2(); - }; - case "&&": - return function() { - return e1() && e2(); - }; - case "*": - return function() { - return e1() * e2(); - }; - case "+": - return function() { - return e1() + e2(); - }; - case "-": - return function() { - return e1() - e2(); - }; - case "/": - return function() { - return e1() / e2(); - }; - case "<": - return function() { - return e1() < e2(); - }; - case "<=": - return function() { - return e1() <= e2(); - }; - case "==": - return function() { - return e1() == e2(); - }; - case ">": - return function() { - return e1() > e2(); - }; - case ">=": - return function() { - return e1() >= e2(); - }; - case "||": - return function() { - return e1() || e2(); - }; - default: - throw haxe_Exception.thrown("Unknown operation " + p1.p); - } - break; - case "-": - var e3 = this.makeExpr(l); - return function() { - return -e3(); - }; - } - throw haxe_Exception.thrown(p.p); - } - ,run: function(e) { - switch(e._hx_index) { - case 0: - var v = e.v; - var _this = this.buf; - var x = Std.string(this.resolve(v)); - _this.b += Std.string(x); - break; - case 1: - var e1 = e.expr; - var _this = this.buf; - var x = Std.string(e1()); - _this.b += Std.string(x); - break; - case 2: - var e1 = e.expr; - var eif = e.eif; - var eelse = e.eelse; - var v = e1(); - if(v == null || v == false) { - if(eelse != null) { - this.run(eelse); - } - } else { - this.run(eif); - } - break; - case 3: - var str = e.str; - this.buf.b += str == null ? "null" : "" + str; - break; - case 4: - var l = e.l; - var _g_head = l.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var e1 = val; - this.run(e1); - } - break; - case 5: - var e1 = e.expr; - var loop = e.loop; - var v = e1(); - try { - var x = $getIterator(v); - if(x.hasNext == null) { - throw haxe_Exception.thrown(null); - } - v = x; - } catch( _g ) { - try { - if(v.hasNext == null) { - throw haxe_Exception.thrown(null); - } - } catch( _g1 ) { - throw haxe_Exception.thrown("Cannot iter on " + Std.string(v)); - } - } - this.stack.push(this.context); - var v1 = v; - var ctx = v1; - while(ctx.hasNext()) { - var ctx1 = ctx.next(); - this.context = ctx1; - this.run(loop); - } - this.context = this.stack.pop(); - break; - case 6: - var m = e.name; - var params = e.params; - var v = Reflect.field(this.macros,m); - var pl = []; - var old = this.buf; - pl.push($bind(this,this.resolve)); - var _g_head = params.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var p = val; - if(p._hx_index == 0) { - var v1 = p.v; - pl.push(this.resolve(v1)); - } else { - this.buf = new StringBuf(); - this.run(p); - pl.push(this.buf.b); - } - } - this.buf = old; - try { - var _this = this.buf; - var x = Std.string(v.apply(this.macros,pl)); - _this.b += Std.string(x); - } catch( _g ) { - var e = haxe_Exception.caught(_g).unwrap(); - var plstr; - try { - plstr = pl.join(","); - } catch( _g1 ) { - plstr = "???"; - } - var msg = "Macro call " + m + "(" + plstr + ") failed (" + Std.string(e) + ")"; - throw haxe_Exception.thrown(msg); - } - break; - } - } -}; -var haxe_ValueException = function(value,previous,native) { - haxe_Exception.call(this,String(value),previous,native); - this.value = value; -}; -haxe_ValueException.__name__ = true; -haxe_ValueException.__super__ = haxe_Exception; -haxe_ValueException.prototype = $extend(haxe_Exception.prototype,{ - unwrap: function() { - return this.value; - } -}); -var haxe_ds_List = function() { - this.length = 0; -}; -haxe_ds_List.__name__ = true; -haxe_ds_List.prototype = { - add: function(item) { - var x = new haxe_ds__$List_ListNode(item,null); - if(this.h == null) { - this.h = x; - } else { - this.q.next = x; - } - this.q = x; - this.length++; - } - ,push: function(item) { - var x = new haxe_ds__$List_ListNode(item,this.h); - this.h = x; - if(this.q == null) { - this.q = x; - } - this.length++; - } - ,first: function() { - if(this.h == null) { - return null; - } else { - return this.h.item; - } - } - ,pop: function() { - if(this.h == null) { - return null; - } - var x = this.h.item; - this.h = this.h.next; - if(this.h == null) { - this.q = null; - } - this.length--; - return x; - } - ,isEmpty: function() { - return this.h == null; - } - ,toString: function() { - var s_b = ""; - var first = true; - var l = this.h; - s_b += "{"; - while(l != null) { - if(first) { - first = false; - } else { - s_b += ", "; - } - s_b += Std.string(Std.string(l.item)); - l = l.next; - } - s_b += "}"; - return s_b; - } -}; -var haxe_ds__$List_ListNode = function(item,next) { - this.item = item; - this.next = next; -}; -haxe_ds__$List_ListNode.__name__ = true; -var js_Boot = function() { }; -js_Boot.__name__ = true; -js_Boot.__string_rec = function(o,s) { - if(o == null) { - return "null"; - } - if(s.length >= 5) { - return "<...>"; - } - var t = typeof(o); - if(t == "function" && (o.__name__ || o.__ename__)) { - t = "object"; - } - switch(t) { - case "function": - return ""; - case "object": - if(o.__enum__) { - var e = $hxEnums[o.__enum__]; - var con = e.__constructs__[o._hx_index]; - var n = con._hx_name; - if(con.__params__) { - s = s + "\t"; - return n + "(" + ((function($this) { - var $r; - var _g = []; - { - var _g1 = 0; - var _g2 = con.__params__; - while(true) { - if(!(_g1 < _g2.length)) { - break; - } - var p = _g2[_g1]; - _g1 = _g1 + 1; - _g.push(js_Boot.__string_rec(o[p],s)); - } - } - $r = _g; - return $r; - }(this))).join(",") + ")"; - } else { - return n; - } - } - if(((o) instanceof Array)) { - var str = "["; - s += "\t"; - var _g = 0; - var _g1 = o.length; - while(_g < _g1) { - var i = _g++; - str += (i > 0 ? "," : "") + js_Boot.__string_rec(o[i],s); - } - str += "]"; - return str; - } - var tostr; - try { - tostr = o.toString; - } catch( _g ) { - return "???"; - } - if(tostr != null && tostr != Object.toString && typeof(tostr) == "function") { - var s2 = o.toString(); - if(s2 != "[object Object]") { - return s2; - } - } - var str = "{\n"; - s += "\t"; - var hasp = o.hasOwnProperty != null; - var k = null; - for( k in o ) { - if(hasp && !o.hasOwnProperty(k)) { - continue; - } - if(k == "prototype" || k == "__class__" || k == "__super__" || k == "__interfaces__" || k == "__properties__") { - continue; - } - if(str.length != 2) { - str += ", \n"; - } - str += s + k + " : " + js_Boot.__string_rec(o[k],s); - } - s = s.substring(1); - str += "\n" + s + "}"; - return str; - case "string": - return o; - default: - return String(o); - } -}; -var xrfragment_Filter = $hx_exports["xrfragment"]["Filter"] = function(str) { - this.q = { }; - this.str = ""; - if(str != null) { - this.parse(str); - } -}; -xrfragment_Filter.__name__ = true; -xrfragment_Filter.prototype = { - toObject: function() { - return Reflect.copy(this.q); - } - ,get: function() { - return Reflect.copy(this.q); - } - ,parse: function(str) { - var token = str.split(" "); - var q = { }; - var process = function(str,prefix) { - if(prefix == null) { - prefix = ""; - } - str = StringTools.trim(str); - var k = str.split("=")[0]; - var v = str.split("=")[1]; - var filter = { }; - if(q[prefix + k]) { - filter = q[prefix + k]; - } - if(xrfragment_XRF.isProp.match(str)) { - var oper = ""; - if(str.indexOf(">") != -1) { - oper = ">"; - } - if(str.indexOf("<") != -1) { - oper = "<"; - } - if(xrfragment_XRF.isExclude.match(k)) { - k = HxOverrides.substr(k,1,null); - } - v = HxOverrides.substr(v,oper.length,null); - if(oper.length == 0) { - oper = "="; - } - var rule = { }; - if(xrfragment_XRF.isNumber.match(v)) { - rule[oper] = parseFloat(v); - } else { - rule[oper] = v; - } - q["expr"] = rule; - } - var value = xrfragment_XRF.isDeep.match(str) ? k.split("*").length - 1 : 0; - q["deep"] = value; - var value = xrfragment_XRF.isExclude.match(str) ? false : true; - q["show"] = value; - var value = k.replace(xrfragment_XRF.operators.r,""); - q["key"] = value; - q["value"] = v; - }; - var _g = 0; - var _g1 = token.length; - while(_g < _g1) { - var i = _g++; - process(token[i]); - } - return this.q = q; - } - ,test: function(obj) { - var qualify = false; - var _g = 0; - var _g1 = Reflect.fields(obj); - while(_g < _g1.length) { - var k = _g1[_g]; - ++_g; - var v = Std.string(Reflect.field(obj,k)); - if(this.testProperty(k,v)) { - qualify = true; - } - } - var _g = 0; - var _g1 = Reflect.fields(obj); - while(_g < _g1.length) { - var k = _g1[_g]; - ++_g; - var v = Std.string(Reflect.field(obj,k)); - if(this.testProperty(k,v,true)) { - qualify = false; - } - } - return qualify; - } - ,testProperty: function(property,value,exclude) { - var conds = 0; - var fails = 0; - var qualify = 0; - var testprop = function(expr) { - conds += 1; - fails += expr ? 0 : 1; - return expr; - }; - if(this.q[value] != null) { - var v = this.q[value]; - if(v[property] != null) { - return v[property]; - } - } - if(Reflect.field(this.q,"expr")) { - var f = Reflect.field(this.q,"expr"); - if(!Reflect.field(this.q,"show")) { - if(Reflect.field(f,"!=") != null && testprop((value == null ? "null" : "" + value) == Std.string(Reflect.field(f,"!="))) && exclude) { - ++qualify; - } - } else { - if(Reflect.field(f,"*") != null && testprop(parseFloat(value) != null)) { - ++qualify; - } - if(Reflect.field(f,">") != null && testprop(parseFloat(value) >= parseFloat(Reflect.field(f,">")))) { - ++qualify; - } - if(Reflect.field(f,"<") != null && testprop(parseFloat(value) <= parseFloat(Reflect.field(f,"<")))) { - ++qualify; - } - if(Reflect.field(f,"=") != null && (testprop(value == Reflect.field(f,"=")) || testprop(parseFloat(value) == parseFloat(Reflect.field(f,"="))))) { - ++qualify; - } - } - } - return qualify > 0; - } -}; -var xrfragment_Parser = $hx_exports["xrfragment"]["Parser"] = function() { }; -xrfragment_Parser.__name__ = true; -xrfragment_Parser.parse = function(key,value,store,index) { - var Frag_h = Object.create(null); - Frag_h["#"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_PREDEFINED_VIEW | xrfragment_XRF.PV_EXECUTE; - Frag_h["src"] = xrfragment_XRF.T_URL; - Frag_h["href"] = xrfragment_XRF.T_URL | xrfragment_XRF.T_PREDEFINED_VIEW; - Frag_h["tag"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["pos"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_VECTOR3 | xrfragment_XRF.T_STRING | xrfragment_XRF.METADATA | xrfragment_XRF.NAVIGATOR; - Frag_h["rot"] = xrfragment_XRF.QUERY_OPERATOR | xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_VECTOR3 | xrfragment_XRF.METADATA | xrfragment_XRF.NAVIGATOR; - Frag_h["t"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_FLOAT | xrfragment_XRF.T_VECTOR2 | xrfragment_XRF.NAVIGATOR | xrfragment_XRF.METADATA; - Frag_h["s"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_MEDIAFRAG; - Frag_h["loop"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_PREDEFINED_VIEW; - Frag_h["uv"] = xrfragment_XRF.T_VECTOR2 | xrfragment_XRF.T_MEDIAFRAG; - Frag_h["namespace"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["SPDX"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["unit"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["description"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - var keyStripped = key.replace(xrfragment_XRF.operators.r,""); - var isPVDynamic = key.length > 0 && !Object.prototype.hasOwnProperty.call(Frag_h,key); - if(isPVDynamic) { - var v = new xrfragment_XRF(key,xrfragment_XRF.PV_EXECUTE | xrfragment_XRF.NAVIGATOR,index); - v.validate(value); - v.flags = xrfragment_XRF.set(xrfragment_XRF.T_DYNAMICKEY,v.flags); - if(!Object.prototype.hasOwnProperty.call(Frag_h,key)) { - v.flags = xrfragment_XRF.set(xrfragment_XRF.CUSTOMFRAG,v.flags); - } - if(value.length == 0) { - v.flags = xrfragment_XRF.set(xrfragment_XRF.T_DYNAMICKEYVALUE,v.flags); - } - store[keyStripped] = v; - return true; - } - var v = new xrfragment_XRF(key,Frag_h[key],index); - if(Object.prototype.hasOwnProperty.call(Frag_h,key)) { - if(!v.validate(value)) { - console.log("src/xrfragment/Parser.hx:67:","⚠ fragment '" + key + "' has incompatible value (" + value + ")"); - return false; - } - store[keyStripped] = v; - if(xrfragment_Parser.debug) { - console.log("src/xrfragment/Parser.hx:71:","✔ " + key + ": " + v.string); - } - } else { - if(typeof(value) == "string") { - v.guessType(v,value); - } - v.flags = xrfragment_XRF.set(xrfragment_XRF.CUSTOMFRAG,v.flags); - store[keyStripped] = v; - } - return true; -}; -xrfragment_Parser.getMetaData = function() { - var meta = { title : ["title","og:title","dc.title"], description : ["aria-description","og:description","dc.description"], author : ["author","dc.creator"], publisher : ["publisher","dc.publisher"], website : ["og:site_name","og:url","dc.publisher"], license : ["SPDX","dc.rights"]}; - return meta; -}; -var xrfragment_URI = $hx_exports["xrfragment"]["URI"] = function() { - this.XRF = { }; - this.hash = { }; - this.fragment = ""; -}; -xrfragment_URI.__name__ = true; -xrfragment_URI.parseFragment = function(url,filter) { - var store = { }; - if(url == null || url.indexOf("#") == -1) { - return store; - } - var fragment = url.split("#"); - var splitArray = fragment[1].split("&"); - var _g = 0; - var _g1 = splitArray.length; - while(_g < _g1) { - var i = _g++; - var splitByEqual = splitArray[i].split("="); - var regexPlus = new EReg("\\+","g"); - var key = splitByEqual[0]; - var value = ""; - if(splitByEqual.length > 1) { - if(xrfragment_XRF.isVector.match(splitByEqual[1])) { - value = splitByEqual[1]; - } else { - var s = regexPlus.split(splitByEqual[1]).join(" "); - value = decodeURIComponent(s.split("+").join(" ")); - } - } - var ok = xrfragment_Parser.parse(key,value,store,i); - } - if(filter != null && filter != 0) { - var _g = 0; - var _g1 = Reflect.fields(store); - while(_g < _g1.length) { - var key = _g1[_g]; - ++_g; - var xrf = store[key]; - if(!xrf.is(filter)) { - Reflect.deleteField(store,key); - } - } - } - return store; -}; -xrfragment_URI.template = function(uri,vars) { - var parts = uri.split("#"); - if(parts.length == 1) { - return uri; - } - var frag = parts[1]; - frag = StringTools.replace(frag,"{","::"); - frag = StringTools.replace(frag,"}","::"); - frag = new haxe_Template(frag).execute(vars); - frag = StringTools.replace(frag,"null",""); - parts[1] = frag; - return parts.join("#"); -}; -xrfragment_URI.parse = function(stringUrl,flags) { - var r = new EReg("^(?:(?![^:@]+:[^:@/]*@)([^:/?#.]+):)?(?://)?((?:(([^:@]*)(?::([^:@]*))?)?@)?([^:/?#]*)(?::(\\d*))?)(((/(?:[^?#](?![^?#/]*\\.[^?#/.]+(?:[?#]|$)))*/?)?([^?#/]*))(?:\\?([^#]*))?(?:#(.*))?)",""); - if(stringUrl.indexOf("://") == -1 && stringUrl.charAt(0) != "/") { - stringUrl = "/" + stringUrl; - } - r.match(stringUrl); - var url = new xrfragment_URI(); - var _g = 0; - var _g1 = xrfragment_URI._parts.length; - while(_g < _g1) { - var i = _g++; - url[xrfragment_URI._parts[i]] = r.matched(i); - } - if(xrfragment_URI.isRelative(url) == true) { - if(url.directory == null && url.host != null) { - url.file = url.host; - } - url.host = ""; - } - url.hash = { }; - if(url.fragment != null && url.fragment.length > 0) { - url.XRF = xrfragment_URI.parseFragment("#" + url.fragment,flags); - var key; - var _g = 0; - var _g1 = Reflect.fields(url.XRF); - while(_g < _g1.length) { - var key = _g1[_g]; - ++_g; - var v = url.XRF[key]; - url.hash[key] = v["string"]; - } - } - xrfragment_URI.computeVars(url); - return url; -}; -xrfragment_URI.computeVars = function(url) { - var r_r = new RegExp("//","g".split("u").join("")); - if(url.directory != null && url.directory.indexOf("//") != -1) { - url.directory = url.directory.replace(r_r,"/"); - } - if(url.path != null && url.path.indexOf("//") != -1) { - url.path = url.path.replace(r_r,"/"); - } - if(url.file != null && url.file.indexOf("//") != -1) { - url.file = url.file.replace(r_r,"/"); - } - url.URN = url.scheme + "://" + url.host; - if(url.port != null) { - url.URN += ":" + url.port; - } - url.URN += url.directory; - if(url.file != null) { - var parts = url.file.split("."); - if(parts.length > 1) { - url.fileExt = parts.pop(); - } - } -}; -xrfragment_URI.toString = function(url) { - var result = ""; - if(url.scheme != null) { - result += url.scheme + "://"; - } - if(url.user != null) { - result += url.user + ":"; - } - if(url.password != null) { - result += url.password + "@"; - } - if(url.host != null) { - result += url.host; - } - if(url.port != null) { - result += ":" + url.port; - } - if(url.directory != null) { - result += url.directory; - } - if(url.file != null) { - result += url.file; - } - if(url.query != null) { - result += "?" + url.query; - } - if(url.fragment != null) { - result += "#" + url.fragment; - } - return result; -}; -xrfragment_URI.appendURI = function(url,appendedURI) { - if(xrfragment_URI.isRelative(url) == true) { - return xrfragment_URI.appendToRelativeURI(url,appendedURI); - } else { - return xrfragment_URI.appendToAbsoluteURI(url,appendedURI); - } -}; -xrfragment_URI.isRelative = function(url) { - return url.scheme == null; -}; -xrfragment_URI.appendToRelativeURI = function(url,appendedURI) { - if(url.directory == null || url.host == null) { - return xrfragment_URI.cloneURI(appendedURI); - } - var resultURI = new xrfragment_URI(); - resultURI.host = url.host; - resultURI.directory = url.directory; - if(appendedURI.host != null) { - resultURI.directory += appendedURI.host; - } - if(appendedURI.directory != null) { - var directory = appendedURI.directory; - if(appendedURI.host == null) { - resultURI.directory += HxOverrides.substr(directory,1,null); - } else { - resultURI.directory += directory; - } - } - if(appendedURI.file != null) { - resultURI.file = appendedURI.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(appendedURI.query != null) { - resultURI.query = appendedURI.query; - } - if(appendedURI.fragment != null) { - resultURI.fragment = appendedURI.fragment; - } - return resultURI; -}; -xrfragment_URI.appendToAbsoluteURI = function(url,appendedURI) { - var resultURI = new xrfragment_URI(); - if(url.scheme != null) { - resultURI.scheme = url.scheme; - } - if(url.host != null) { - resultURI.host = url.host; - } - var directory = ""; - if(url.directory != null) { - directory = url.directory; - } - if(appendedURI.host != null) { - appendedURI.directory += appendedURI.host; - } - if(appendedURI.directory != null) { - directory += appendedURI.directory; - } - resultURI.directory = directory; - if(appendedURI.file != null) { - resultURI.file = appendedURI.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(appendedURI.query != null) { - resultURI.query = appendedURI.query; - } - if(appendedURI.fragment != null) { - resultURI.fragment = appendedURI.fragment; - } - return resultURI; -}; -xrfragment_URI.toAbsolute = function(url,newUrl) { - var newURI = xrfragment_URI.parse(newUrl,0); - var resultURI = new xrfragment_URI(); - resultURI.port = url.port; - resultURI.source = newUrl; - if(newURI.scheme != null) { - resultURI.scheme = newURI.scheme; - } else { - resultURI.scheme = url.scheme; - } - if(newURI.host != null && newURI.host.length > 0) { - resultURI.host = newURI.host; - resultURI.port = null; - resultURI.fragment = null; - resultURI.hash = { }; - resultURI.XRF = { }; - if(newURI.port != null) { - resultURI.port = newURI.port; - } - } else { - resultURI.host = url.host; - } - var directory = ""; - if(url.directory != null) { - directory = url.directory; - } - if(newURI.directory != null) { - if(newUrl.charAt(0) != "/" && newUrl.indexOf("://") == -1) { - var stripRelative_r = new RegExp("\\./.*","".split("u").join("")); - directory = directory.replace(stripRelative_r,""); - directory += newURI.directory; - } else { - directory = newURI.directory; - } - } - resultURI.directory = directory; - if(newURI.file != null) { - resultURI.file = newURI.file; - } else { - resultURI.file = url.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(newURI.query != null) { - resultURI.query = newURI.query; - } - if(newURI.fragment != null) { - resultURI.fragment = newURI.fragment; - } - resultURI.hash = newURI.hash; - resultURI.XRF = newURI.XRF; - xrfragment_URI.computeVars(resultURI); - return resultURI; -}; -xrfragment_URI.cloneURI = function(url) { - var clonedURI = new xrfragment_URI(); - clonedURI.url = url.url; - clonedURI.source = url.source; - clonedURI.scheme = url.scheme; - clonedURI.authority = url.authority; - clonedURI.userInfo = url.userInfo; - clonedURI.password = url.password; - clonedURI.host = url.host; - clonedURI.port = url.port; - clonedURI.relative = url.relative; - clonedURI.path = url.path; - clonedURI.directory = url.directory; - clonedURI.file = url.file; - clonedURI.query = url.query; - clonedURI.fragment = url.fragment; - return clonedURI; -}; -var xrfragment_XRF = $hx_exports["xrfragment"]["XRF"] = function(_fragment,_flags,_index) { - this.floats = []; - this.shift = []; - this.fragment = _fragment; - this.flags = _flags; - this.index = _index; -}; -xrfragment_XRF.__name__ = true; -xrfragment_XRF.set = function(flag,flags) { - return flags | flag; -}; -xrfragment_XRF.unset = function(flag,flags) { - return flags & ~flag; -}; -xrfragment_XRF.prototype = { - is: function(flag) { - var v = this.flags; - if(!(typeof(v) == "number" && ((v | 0) === v))) { - this.flags = 0; - } - return (this.flags & flag) != 0; - } - ,validate: function(value) { - this.guessType(this,value); - var ok = true; - if(value.length == 0 && !this.is(xrfragment_XRF.T_PREDEFINED_VIEW)) { - ok = false; - } - if(!this.is(xrfragment_XRF.T_FLOAT) && this.is(xrfragment_XRF.T_VECTOR2) && !(typeof(this.x) == "number" && typeof(this.y) == "number")) { - ok = false; - } - if(!(this.is(xrfragment_XRF.T_VECTOR2) || this.is(xrfragment_XRF.T_STRING)) && this.is(xrfragment_XRF.T_VECTOR3) && !(typeof(this.x) == "number" && typeof(this.y) == "number" && typeof(this.z) == "number")) { - ok = false; - } - return ok; - } - ,guessType: function(v,str) { - v.string = str; - if(xrfragment_XRF.isReset.match(v.fragment)) { - v.reset = true; - } - if(v.fragment == "loop") { - v.loop = true; - } - if(typeof(str) != "string") { - return; - } - if(str.length > 0) { - if(xrfragment_XRF.isXRFScheme.match(str)) { - v.xrfScheme = true; - str = str.replace(xrfragment_XRF.isXRFScheme.r,""); - v.string = str; - } - if(str.split(",").length > 1) { - var xyzn = str.split(","); - if(xyzn.length > 0) { - v.x = parseFloat(xyzn[0]); - } - if(xyzn.length > 1) { - v.y = parseFloat(xyzn[1]); - } - if(xyzn.length > 2) { - v.z = parseFloat(xyzn[2]); - } - var _g = 0; - var _g1 = xyzn.length; - while(_g < _g1) { - var i = _g++; - v.shift.push(xrfragment_XRF.isShift.match(xyzn[i])); - v.floats.push(parseFloat(xyzn[i].replace(xrfragment_XRF.isShift.r,""))); - } - } - if(xrfragment_XRF.isColor.match(str)) { - v.color = str; - } - if(xrfragment_XRF.isFloat.match(str)) { - v.x = parseFloat(str); - v.float = v.x; - } - if(xrfragment_XRF.isInt.match(str)) { - v.int = Std.parseInt(str); - v.x = v.int; - v.floats.push(v.x); - } - v.filter = new xrfragment_Filter(v.fragment + "=" + v.string); - } else { - v.filter = new xrfragment_Filter(v.fragment); - } - } -}; -function $getIterator(o) { if( o instanceof Array ) return new haxe_iterators_ArrayIterator(o); else return o.iterator(); } -function $bind(o,m) { if( m == null ) return null; if( m.__id__ == null ) m.__id__ = $global.$haxeUID++; var f; if( o.hx__closures__ == null ) o.hx__closures__ = {}; else f = o.hx__closures__[m.__id__]; if( f == null ) { f = m.bind(o); o.hx__closures__[m.__id__] = f; } return f; } -$global.$haxeUID |= 0; -if(typeof(performance) != "undefined" ? typeof(performance.now) == "function" : false) { - HxOverrides.now = performance.now.bind(performance); -} -if( String.fromCodePoint == null ) String.fromCodePoint = function(c) { return c < 0x10000 ? String.fromCharCode(c) : String.fromCharCode((c>>10)+0xD7C0)+String.fromCharCode((c&0x3FF)+0xDC00); } -String.__name__ = true; -Array.__name__ = true; -js_Boot.__toStr = ({ }).toString; -haxe_Template.splitter = new EReg("(::[A-Za-z0-9_ ()&|!+=/><*.\"-]+::|\\$\\$([A-Za-z0-9_-]+)\\()",""); -haxe_Template.expr_splitter = new EReg("(\\(|\\)|[ \r\n\t]*\"[^\"]*\"[ \r\n\t]*|[!+=/><*.&|-]+)",""); -haxe_Template.expr_trim = new EReg("^[ ]*([^ ]+)[ ]*$",""); -haxe_Template.expr_int = new EReg("^[0-9]+$",""); -haxe_Template.expr_float = new EReg("^([+-]?)(?=\\d|,\\d)\\d*(,\\d*)?([Ee]([+-]?\\d+))?$",""); -haxe_Template.globals = { }; -haxe_Template.hxKeepArrayIterator = new haxe_iterators_ArrayIterator([]); -xrfragment_Parser.error = ""; -xrfragment_Parser.debug = false; -xrfragment_URI.__meta__ = { statics : { template : { keep : null}}}; -xrfragment_URI._parts = ["source","scheme","authority","userInfo","user","password","host","port","relative","path","directory","file","query","fragment"]; -xrfragment_XRF.IMMUTABLE = 1; -xrfragment_XRF.PROP_BIND = 2; -xrfragment_XRF.QUERY_OPERATOR = 4; -xrfragment_XRF.PROMPT = 8; -xrfragment_XRF.CUSTOMFRAG = 16; -xrfragment_XRF.NAVIGATOR = 32; -xrfragment_XRF.METADATA = 64; -xrfragment_XRF.PV_OVERRIDE = 128; -xrfragment_XRF.PV_EXECUTE = 256; -xrfragment_XRF.T_COLOR = 8192; -xrfragment_XRF.T_INT = 16384; -xrfragment_XRF.T_FLOAT = 32768; -xrfragment_XRF.T_VECTOR2 = 65536; -xrfragment_XRF.T_VECTOR3 = 131072; -xrfragment_XRF.T_URL = 262144; -xrfragment_XRF.T_PREDEFINED_VIEW = 524288; -xrfragment_XRF.T_STRING = 1048576; -xrfragment_XRF.T_MEDIAFRAG = 2097152; -xrfragment_XRF.T_DYNAMICKEY = 4194304; -xrfragment_XRF.T_DYNAMICKEYVALUE = 8388608; -xrfragment_XRF.isColor = new EReg("^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$",""); -xrfragment_XRF.isInt = new EReg("^[-0-9]+$",""); -xrfragment_XRF.isFloat = new EReg("^[-0-9]+\\.[0-9]+$",""); -xrfragment_XRF.isVector = new EReg("([,]+|\\w)",""); -xrfragment_XRF.isUrl = new EReg("(://)?\\..*",""); -xrfragment_XRF.isUrlOrPretypedView = new EReg("(^#|://)?\\..*",""); -xrfragment_XRF.isString = new EReg(".*",""); -xrfragment_XRF.operators = new EReg("(^[-]|^[!]|[\\*]$)","g"); -xrfragment_XRF.isProp = new EReg("^.*=[><=]?",""); -xrfragment_XRF.isExclude = new EReg("^-",""); -xrfragment_XRF.isDeep = new EReg("\\*",""); -xrfragment_XRF.isNumber = new EReg("^[0-9\\.]+$",""); -xrfragment_XRF.isMediaFrag = new EReg("^([0-9\\.,\\*+-]+)$",""); -xrfragment_XRF.isReset = new EReg("^!",""); -xrfragment_XRF.isShift = new EReg("^(\\+|--)",""); -xrfragment_XRF.isXRFScheme = new EReg("^xrf://",""); -})(typeof window != "undefined" ? window : typeof global != "undefined" ? global : typeof self != "undefined" ? self : this); -var xrfragment = $hx_exports["xrfragment"]; -export default xrfragment; -// Generated by Haxe 4.3.3 -var $hx_exports = typeof exports != "undefined" ? exports : typeof window != "undefined" ? window : typeof self != "undefined" ? self : this; -(function ($global) { "use strict"; -$hx_exports["xrfragment"] = $hx_exports["xrfragment"] || {}; -var $estr = function() { return js_Boot.__string_rec(this,''); },$hxEnums = $hxEnums || {},$_; -function $extend(from, fields) { - var proto = Object.create(from); - for (var name in fields) proto[name] = fields[name]; - if( fields.toString !== Object.prototype.toString ) proto.toString = fields.toString; - return proto; -} -var EReg = function(r,opt) { - this.r = new RegExp(r,opt.split("u").join("")); -}; -EReg.__name__ = true; -EReg.prototype = { - match: function(s) { - if(this.r.global) { - this.r.lastIndex = 0; - } - this.r.m = this.r.exec(s); - this.r.s = s; - return this.r.m != null; - } - ,matched: function(n) { - if(this.r.m != null && n >= 0 && n < this.r.m.length) { - return this.r.m[n]; - } else { - throw haxe_Exception.thrown("EReg::matched"); - } - } - ,matchedRight: function() { - if(this.r.m == null) { - throw haxe_Exception.thrown("No string matched"); - } - var sz = this.r.m.index + this.r.m[0].length; - return HxOverrides.substr(this.r.s,sz,this.r.s.length - sz); - } - ,matchedPos: function() { - if(this.r.m == null) { - throw haxe_Exception.thrown("No string matched"); - } - return { pos : this.r.m.index, len : this.r.m[0].length}; - } - ,split: function(s) { - var d = "#__delim__#"; - return s.replace(this.r,d).split(d); - } -}; -var HxOverrides = function() { }; -HxOverrides.__name__ = true; -HxOverrides.cca = function(s,index) { - var x = s.charCodeAt(index); - if(x != x) { - return undefined; - } - return x; -}; -HxOverrides.substr = function(s,pos,len) { - if(len == null) { - len = s.length; - } else if(len < 0) { - if(pos == 0) { - len = s.length + len; - } else { - return ""; - } - } - return s.substr(pos,len); -}; -HxOverrides.now = function() { - return Date.now(); -}; -Math.__name__ = true; -var Reflect = function() { }; -Reflect.__name__ = true; -Reflect.field = function(o,field) { - try { - return o[field]; - } catch( _g ) { - return null; - } -}; -Reflect.getProperty = function(o,field) { - var tmp; - if(o == null) { - return null; - } else { - var tmp1; - if(o.__properties__) { - tmp = o.__properties__["get_" + field]; - tmp1 = tmp; - } else { - tmp1 = false; - } - if(tmp1) { - return o[tmp](); - } else { - return o[field]; - } - } -}; -Reflect.fields = function(o) { - var a = []; - if(o != null) { - var hasOwnProperty = Object.prototype.hasOwnProperty; - for( var f in o ) { - if(f != "__id__" && f != "hx__closures__" && hasOwnProperty.call(o,f)) { - a.push(f); - } - } - } - return a; -}; -Reflect.isObject = function(v) { - if(v == null) { - return false; - } - var t = typeof(v); - if(!(t == "string" || t == "object" && v.__enum__ == null)) { - if(t == "function") { - return (v.__name__ || v.__ename__) != null; - } else { - return false; - } - } else { - return true; - } -}; -Reflect.deleteField = function(o,field) { - if(!Object.prototype.hasOwnProperty.call(o,field)) { - return false; - } - delete(o[field]); - return true; -}; -Reflect.copy = function(o) { - if(o == null) { - return null; - } - var o2 = { }; - var _g = 0; - var _g1 = Reflect.fields(o); - while(_g < _g1.length) { - var f = _g1[_g]; - ++_g; - o2[f] = Reflect.field(o,f); - } - return o2; -}; -var Std = function() { }; -Std.__name__ = true; -Std.string = function(s) { - return js_Boot.__string_rec(s,""); -}; -Std.parseInt = function(x) { - var v = parseInt(x); - if(isNaN(v)) { - return null; - } - return v; -}; -var StringBuf = function() { - this.b = ""; -}; -StringBuf.__name__ = true; -var StringTools = function() { }; -StringTools.__name__ = true; -StringTools.isSpace = function(s,pos) { - var c = HxOverrides.cca(s,pos); - if(!(c > 8 && c < 14)) { - return c == 32; - } else { - return true; - } -}; -StringTools.ltrim = function(s) { - var l = s.length; - var r = 0; - while(r < l && StringTools.isSpace(s,r)) ++r; - if(r > 0) { - return HxOverrides.substr(s,r,l - r); - } else { - return s; - } -}; -StringTools.rtrim = function(s) { - var l = s.length; - var r = 0; - while(r < l && StringTools.isSpace(s,l - r - 1)) ++r; - if(r > 0) { - return HxOverrides.substr(s,0,l - r); - } else { - return s; - } -}; -StringTools.trim = function(s) { - return StringTools.ltrim(StringTools.rtrim(s)); -}; -StringTools.replace = function(s,sub,by) { - return s.split(sub).join(by); -}; -var haxe_Exception = function(message,previous,native) { - Error.call(this,message); - this.message = message; - this.__previousException = previous; - this.__nativeException = native != null ? native : this; -}; -haxe_Exception.__name__ = true; -haxe_Exception.caught = function(value) { - if(((value) instanceof haxe_Exception)) { - return value; - } else if(((value) instanceof Error)) { - return new haxe_Exception(value.message,null,value); - } else { - return new haxe_ValueException(value,null,value); - } -}; -haxe_Exception.thrown = function(value) { - if(((value) instanceof haxe_Exception)) { - return value.get_native(); - } else if(((value) instanceof Error)) { - return value; - } else { - var e = new haxe_ValueException(value); - return e; - } -}; -haxe_Exception.__super__ = Error; -haxe_Exception.prototype = $extend(Error.prototype,{ - unwrap: function() { - return this.__nativeException; - } - ,get_native: function() { - return this.__nativeException; - } - ,__properties__: {get_native:"get_native"} -}); -var haxe__$Template_TemplateExpr = $hxEnums["haxe._Template.TemplateExpr"] = { __ename__:true,__constructs__:null - ,OpVar: ($_=function(v) { return {_hx_index:0,v:v,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpVar",$_.__params__ = ["v"],$_) - ,OpExpr: ($_=function(expr) { return {_hx_index:1,expr:expr,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpExpr",$_.__params__ = ["expr"],$_) - ,OpIf: ($_=function(expr,eif,eelse) { return {_hx_index:2,expr:expr,eif:eif,eelse:eelse,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpIf",$_.__params__ = ["expr","eif","eelse"],$_) - ,OpStr: ($_=function(str) { return {_hx_index:3,str:str,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpStr",$_.__params__ = ["str"],$_) - ,OpBlock: ($_=function(l) { return {_hx_index:4,l:l,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpBlock",$_.__params__ = ["l"],$_) - ,OpForeach: ($_=function(expr,loop) { return {_hx_index:5,expr:expr,loop:loop,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpForeach",$_.__params__ = ["expr","loop"],$_) - ,OpMacro: ($_=function(name,params) { return {_hx_index:6,name:name,params:params,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpMacro",$_.__params__ = ["name","params"],$_) -}; -haxe__$Template_TemplateExpr.__constructs__ = [haxe__$Template_TemplateExpr.OpVar,haxe__$Template_TemplateExpr.OpExpr,haxe__$Template_TemplateExpr.OpIf,haxe__$Template_TemplateExpr.OpStr,haxe__$Template_TemplateExpr.OpBlock,haxe__$Template_TemplateExpr.OpForeach,haxe__$Template_TemplateExpr.OpMacro]; -var haxe_iterators_ArrayIterator = function(array) { - this.current = 0; - this.array = array; -}; -haxe_iterators_ArrayIterator.__name__ = true; -haxe_iterators_ArrayIterator.prototype = { - hasNext: function() { - return this.current < this.array.length; - } - ,next: function() { - return this.array[this.current++]; - } -}; -var haxe_Template = function(str) { - var tokens = this.parseTokens(str); - this.expr = this.parseBlock(tokens); - if(!tokens.isEmpty()) { - throw haxe_Exception.thrown("Unexpected '" + Std.string(tokens.first().s) + "'"); - } -}; -haxe_Template.__name__ = true; -haxe_Template.prototype = { - execute: function(context,macros) { - this.macros = macros == null ? { } : macros; - this.context = context; - this.stack = new haxe_ds_List(); - this.buf = new StringBuf(); - this.run(this.expr); - return this.buf.b; - } - ,resolve: function(v) { - if(v == "__current__") { - return this.context; - } - if(Reflect.isObject(this.context)) { - var value = Reflect.getProperty(this.context,v); - if(value != null || Object.prototype.hasOwnProperty.call(this.context,v)) { - return value; - } - } - var _g_head = this.stack.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var ctx = val; - var value = Reflect.getProperty(ctx,v); - if(value != null || Object.prototype.hasOwnProperty.call(ctx,v)) { - return value; - } - } - return Reflect.field(haxe_Template.globals,v); - } - ,parseTokens: function(data) { - var tokens = new haxe_ds_List(); - while(haxe_Template.splitter.match(data)) { - var p = haxe_Template.splitter.matchedPos(); - if(p.pos > 0) { - tokens.add({ p : HxOverrides.substr(data,0,p.pos), s : true, l : null}); - } - if(HxOverrides.cca(data,p.pos) == 58) { - tokens.add({ p : HxOverrides.substr(data,p.pos + 2,p.len - 4), s : false, l : null}); - data = haxe_Template.splitter.matchedRight(); - continue; - } - var parp = p.pos + p.len; - var npar = 1; - var params = []; - var part = ""; - while(true) { - var c = HxOverrides.cca(data,parp); - ++parp; - if(c == 40) { - ++npar; - } else if(c == 41) { - --npar; - if(npar <= 0) { - break; - } - } else if(c == null) { - throw haxe_Exception.thrown("Unclosed macro parenthesis"); - } - if(c == 44 && npar == 1) { - params.push(part); - part = ""; - } else { - part += String.fromCodePoint(c); - } - } - params.push(part); - tokens.add({ p : haxe_Template.splitter.matched(2), s : false, l : params}); - data = HxOverrides.substr(data,parp,data.length - parp); - } - if(data.length > 0) { - tokens.add({ p : data, s : true, l : null}); - } - return tokens; - } - ,parseBlock: function(tokens) { - var l = new haxe_ds_List(); - while(true) { - var t = tokens.first(); - if(t == null) { - break; - } - if(!t.s && (t.p == "end" || t.p == "else" || HxOverrides.substr(t.p,0,7) == "elseif ")) { - break; - } - l.add(this.parse(tokens)); - } - if(l.length == 1) { - return l.first(); - } - return haxe__$Template_TemplateExpr.OpBlock(l); - } - ,parse: function(tokens) { - var t = tokens.pop(); - var p = t.p; - if(t.s) { - return haxe__$Template_TemplateExpr.OpStr(p); - } - if(t.l != null) { - var pe = new haxe_ds_List(); - var _g = 0; - var _g1 = t.l; - while(_g < _g1.length) { - var p1 = _g1[_g]; - ++_g; - pe.add(this.parseBlock(this.parseTokens(p1))); - } - return haxe__$Template_TemplateExpr.OpMacro(p,pe); - } - var kwdEnd = function(kwd) { - var pos = -1; - var length = kwd.length; - if(HxOverrides.substr(p,0,length) == kwd) { - pos = length; - var _g_offset = 0; - var _g_s = HxOverrides.substr(p,length,null); - while(_g_offset < _g_s.length) { - var c = _g_s.charCodeAt(_g_offset++); - if(c == 32) { - ++pos; - } else { - break; - } - } - } - return pos; - }; - var pos = kwdEnd("if"); - if(pos > 0) { - p = HxOverrides.substr(p,pos,p.length - pos); - var e = this.parseExpr(p); - var eif = this.parseBlock(tokens); - var t = tokens.first(); - var eelse; - if(t == null) { - throw haxe_Exception.thrown("Unclosed 'if'"); - } - if(t.p == "end") { - tokens.pop(); - eelse = null; - } else if(t.p == "else") { - tokens.pop(); - eelse = this.parseBlock(tokens); - t = tokens.pop(); - if(t == null || t.p != "end") { - throw haxe_Exception.thrown("Unclosed 'else'"); - } - } else { - t.p = HxOverrides.substr(t.p,4,t.p.length - 4); - eelse = this.parse(tokens); - } - return haxe__$Template_TemplateExpr.OpIf(e,eif,eelse); - } - var pos = kwdEnd("foreach"); - if(pos >= 0) { - p = HxOverrides.substr(p,pos,p.length - pos); - var e = this.parseExpr(p); - var efor = this.parseBlock(tokens); - var t = tokens.pop(); - if(t == null || t.p != "end") { - throw haxe_Exception.thrown("Unclosed 'foreach'"); - } - return haxe__$Template_TemplateExpr.OpForeach(e,efor); - } - if(haxe_Template.expr_splitter.match(p)) { - return haxe__$Template_TemplateExpr.OpExpr(this.parseExpr(p)); - } - return haxe__$Template_TemplateExpr.OpVar(p); - } - ,parseExpr: function(data) { - var l = new haxe_ds_List(); - var expr = data; - while(haxe_Template.expr_splitter.match(data)) { - var p = haxe_Template.expr_splitter.matchedPos(); - var k = p.pos + p.len; - if(p.pos != 0) { - l.add({ p : HxOverrides.substr(data,0,p.pos), s : true}); - } - var p1 = haxe_Template.expr_splitter.matched(0); - l.add({ p : p1, s : p1.indexOf("\"") >= 0}); - data = haxe_Template.expr_splitter.matchedRight(); - } - if(data.length != 0) { - var _g_offset = 0; - var _g_s = data; - while(_g_offset < _g_s.length) { - var _g_key = _g_offset; - var _g_value = _g_s.charCodeAt(_g_offset++); - var i = _g_key; - var c = _g_value; - if(c != 32) { - l.add({ p : HxOverrides.substr(data,i,null), s : true}); - break; - } - } - } - var e; - try { - e = this.makeExpr(l); - if(!l.isEmpty()) { - throw haxe_Exception.thrown(l.first().p); - } - } catch( _g ) { - var _g1 = haxe_Exception.caught(_g).unwrap(); - if(typeof(_g1) == "string") { - var s = _g1; - throw haxe_Exception.thrown("Unexpected '" + s + "' in " + expr); - } else { - throw _g; - } - } - return function() { - try { - return e(); - } catch( _g ) { - var exc = haxe_Exception.caught(_g).unwrap(); - throw haxe_Exception.thrown("Error : " + Std.string(exc) + " in " + expr); - } - }; - } - ,makeConst: function(v) { - haxe_Template.expr_trim.match(v); - v = haxe_Template.expr_trim.matched(1); - if(HxOverrides.cca(v,0) == 34) { - var str = HxOverrides.substr(v,1,v.length - 2); - return function() { - return str; - }; - } - if(haxe_Template.expr_int.match(v)) { - var i = Std.parseInt(v); - return function() { - return i; - }; - } - if(haxe_Template.expr_float.match(v)) { - var f = parseFloat(v); - return function() { - return f; - }; - } - var me = this; - return function() { - return me.resolve(v); - }; - } - ,makePath: function(e,l) { - var p = l.first(); - if(p == null || p.p != ".") { - return e; - } - l.pop(); - var field = l.pop(); - if(field == null || !field.s) { - throw haxe_Exception.thrown(field.p); - } - var f = field.p; - haxe_Template.expr_trim.match(f); - f = haxe_Template.expr_trim.matched(1); - return this.makePath(function() { - return Reflect.field(e(),f); - },l); - } - ,makeExpr: function(l) { - return this.makePath(this.makeExpr2(l),l); - } - ,skipSpaces: function(l) { - var p = l.first(); - while(p != null) { - var _g_offset = 0; - var _g_s = p.p; - while(_g_offset < _g_s.length) { - var c = _g_s.charCodeAt(_g_offset++); - if(c != 32) { - return; - } - } - l.pop(); - p = l.first(); - } - } - ,makeExpr2: function(l) { - this.skipSpaces(l); - var p = l.pop(); - this.skipSpaces(l); - if(p == null) { - throw haxe_Exception.thrown(""); - } - if(p.s) { - return this.makeConst(p.p); - } - switch(p.p) { - case "!": - var e = this.makeExpr(l); - return function() { - var v = e(); - if(v != null) { - return v == false; - } else { - return true; - } - }; - case "(": - this.skipSpaces(l); - var e1 = this.makeExpr(l); - this.skipSpaces(l); - var p1 = l.pop(); - if(p1 == null || p1.s) { - throw haxe_Exception.thrown(p1); - } - if(p1.p == ")") { - return e1; - } - this.skipSpaces(l); - var e2 = this.makeExpr(l); - this.skipSpaces(l); - var p2 = l.pop(); - this.skipSpaces(l); - if(p2 == null || p2.p != ")") { - throw haxe_Exception.thrown(p2); - } - switch(p1.p) { - case "!=": - return function() { - return e1() != e2(); - }; - case "&&": - return function() { - return e1() && e2(); - }; - case "*": - return function() { - return e1() * e2(); - }; - case "+": - return function() { - return e1() + e2(); - }; - case "-": - return function() { - return e1() - e2(); - }; - case "/": - return function() { - return e1() / e2(); - }; - case "<": - return function() { - return e1() < e2(); - }; - case "<=": - return function() { - return e1() <= e2(); - }; - case "==": - return function() { - return e1() == e2(); - }; - case ">": - return function() { - return e1() > e2(); - }; - case ">=": - return function() { - return e1() >= e2(); - }; - case "||": - return function() { - return e1() || e2(); - }; - default: - throw haxe_Exception.thrown("Unknown operation " + p1.p); - } - break; - case "-": - var e3 = this.makeExpr(l); - return function() { - return -e3(); - }; - } - throw haxe_Exception.thrown(p.p); - } - ,run: function(e) { - switch(e._hx_index) { - case 0: - var v = e.v; - var _this = this.buf; - var x = Std.string(this.resolve(v)); - _this.b += Std.string(x); - break; - case 1: - var e1 = e.expr; - var _this = this.buf; - var x = Std.string(e1()); - _this.b += Std.string(x); - break; - case 2: - var e1 = e.expr; - var eif = e.eif; - var eelse = e.eelse; - var v = e1(); - if(v == null || v == false) { - if(eelse != null) { - this.run(eelse); - } - } else { - this.run(eif); - } - break; - case 3: - var str = e.str; - this.buf.b += str == null ? "null" : "" + str; - break; - case 4: - var l = e.l; - var _g_head = l.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var e1 = val; - this.run(e1); - } - break; - case 5: - var e1 = e.expr; - var loop = e.loop; - var v = e1(); - try { - var x = $getIterator(v); - if(x.hasNext == null) { - throw haxe_Exception.thrown(null); - } - v = x; - } catch( _g ) { - try { - if(v.hasNext == null) { - throw haxe_Exception.thrown(null); - } - } catch( _g1 ) { - throw haxe_Exception.thrown("Cannot iter on " + Std.string(v)); - } - } - this.stack.push(this.context); - var v1 = v; - var ctx = v1; - while(ctx.hasNext()) { - var ctx1 = ctx.next(); - this.context = ctx1; - this.run(loop); - } - this.context = this.stack.pop(); - break; - case 6: - var m = e.name; - var params = e.params; - var v = Reflect.field(this.macros,m); - var pl = []; - var old = this.buf; - pl.push($bind(this,this.resolve)); - var _g_head = params.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var p = val; - if(p._hx_index == 0) { - var v1 = p.v; - pl.push(this.resolve(v1)); - } else { - this.buf = new StringBuf(); - this.run(p); - pl.push(this.buf.b); - } - } - this.buf = old; - try { - var _this = this.buf; - var x = Std.string(v.apply(this.macros,pl)); - _this.b += Std.string(x); - } catch( _g ) { - var e = haxe_Exception.caught(_g).unwrap(); - var plstr; - try { - plstr = pl.join(","); - } catch( _g1 ) { - plstr = "???"; - } - var msg = "Macro call " + m + "(" + plstr + ") failed (" + Std.string(e) + ")"; - throw haxe_Exception.thrown(msg); - } - break; - } - } -}; -var haxe_ValueException = function(value,previous,native) { - haxe_Exception.call(this,String(value),previous,native); - this.value = value; -}; -haxe_ValueException.__name__ = true; -haxe_ValueException.__super__ = haxe_Exception; -haxe_ValueException.prototype = $extend(haxe_Exception.prototype,{ - unwrap: function() { - return this.value; - } -}); -var haxe_ds_List = function() { - this.length = 0; -}; -haxe_ds_List.__name__ = true; -haxe_ds_List.prototype = { - add: function(item) { - var x = new haxe_ds__$List_ListNode(item,null); - if(this.h == null) { - this.h = x; - } else { - this.q.next = x; - } - this.q = x; - this.length++; - } - ,push: function(item) { - var x = new haxe_ds__$List_ListNode(item,this.h); - this.h = x; - if(this.q == null) { - this.q = x; - } - this.length++; - } - ,first: function() { - if(this.h == null) { - return null; - } else { - return this.h.item; - } - } - ,pop: function() { - if(this.h == null) { - return null; - } - var x = this.h.item; - this.h = this.h.next; - if(this.h == null) { - this.q = null; - } - this.length--; - return x; - } - ,isEmpty: function() { - return this.h == null; - } - ,toString: function() { - var s_b = ""; - var first = true; - var l = this.h; - s_b += "{"; - while(l != null) { - if(first) { - first = false; - } else { - s_b += ", "; - } - s_b += Std.string(Std.string(l.item)); - l = l.next; - } - s_b += "}"; - return s_b; - } -}; -var haxe_ds__$List_ListNode = function(item,next) { - this.item = item; - this.next = next; -}; -haxe_ds__$List_ListNode.__name__ = true; -var js_Boot = function() { }; -js_Boot.__name__ = true; -js_Boot.__string_rec = function(o,s) { - if(o == null) { - return "null"; - } - if(s.length >= 5) { - return "<...>"; - } - var t = typeof(o); - if(t == "function" && (o.__name__ || o.__ename__)) { - t = "object"; - } - switch(t) { - case "function": - return ""; - case "object": - if(o.__enum__) { - var e = $hxEnums[o.__enum__]; - var con = e.__constructs__[o._hx_index]; - var n = con._hx_name; - if(con.__params__) { - s = s + "\t"; - return n + "(" + ((function($this) { - var $r; - var _g = []; - { - var _g1 = 0; - var _g2 = con.__params__; - while(true) { - if(!(_g1 < _g2.length)) { - break; - } - var p = _g2[_g1]; - _g1 = _g1 + 1; - _g.push(js_Boot.__string_rec(o[p],s)); - } - } - $r = _g; - return $r; - }(this))).join(",") + ")"; - } else { - return n; - } - } - if(((o) instanceof Array)) { - var str = "["; - s += "\t"; - var _g = 0; - var _g1 = o.length; - while(_g < _g1) { - var i = _g++; - str += (i > 0 ? "," : "") + js_Boot.__string_rec(o[i],s); - } - str += "]"; - return str; - } - var tostr; - try { - tostr = o.toString; - } catch( _g ) { - return "???"; - } - if(tostr != null && tostr != Object.toString && typeof(tostr) == "function") { - var s2 = o.toString(); - if(s2 != "[object Object]") { - return s2; - } - } - var str = "{\n"; - s += "\t"; - var hasp = o.hasOwnProperty != null; - var k = null; - for( k in o ) { - if(hasp && !o.hasOwnProperty(k)) { - continue; - } - if(k == "prototype" || k == "__class__" || k == "__super__" || k == "__interfaces__" || k == "__properties__") { - continue; - } - if(str.length != 2) { - str += ", \n"; - } - str += s + k + " : " + js_Boot.__string_rec(o[k],s); - } - s = s.substring(1); - str += "\n" + s + "}"; - return str; - case "string": - return o; - default: - return String(o); - } -}; -var xrfragment_Filter = $hx_exports["xrfragment"]["Filter"] = function(str) { - this.q = { }; - this.str = ""; - if(str != null) { - this.parse(str); - } -}; -xrfragment_Filter.__name__ = true; -xrfragment_Filter.prototype = { - toObject: function() { - return Reflect.copy(this.q); - } - ,get: function() { - return Reflect.copy(this.q); - } - ,parse: function(str) { - var token = str.split(" "); - var q = { }; - var process = function(str,prefix) { - if(prefix == null) { - prefix = ""; - } - str = StringTools.trim(str); - var k = str.split("=")[0]; - var v = str.split("=")[1]; - var filter = { }; - if(q[prefix + k]) { - filter = q[prefix + k]; - } - if(xrfragment_XRF.isProp.match(str)) { - var oper = ""; - if(str.indexOf(">") != -1) { - oper = ">"; - } - if(str.indexOf("<") != -1) { - oper = "<"; - } - if(xrfragment_XRF.isExclude.match(k)) { - k = HxOverrides.substr(k,1,null); - } - v = HxOverrides.substr(v,oper.length,null); - if(oper.length == 0) { - oper = "="; - } - var rule = { }; - if(xrfragment_XRF.isNumber.match(v)) { - rule[oper] = parseFloat(v); - } else { - rule[oper] = v; - } - q["expr"] = rule; - } - var value = xrfragment_XRF.isDeep.match(str) ? k.split("*").length - 1 : 0; - q["deep"] = value; - var value = xrfragment_XRF.isExclude.match(str) ? false : true; - q["show"] = value; - var value = k.replace(xrfragment_XRF.operators.r,""); - q["key"] = value; - q["value"] = v; - }; - var _g = 0; - var _g1 = token.length; - while(_g < _g1) { - var i = _g++; - process(token[i]); - } - return this.q = q; - } - ,test: function(obj) { - var qualify = false; - var _g = 0; - var _g1 = Reflect.fields(obj); - while(_g < _g1.length) { - var k = _g1[_g]; - ++_g; - var v = Std.string(Reflect.field(obj,k)); - if(this.testProperty(k,v)) { - qualify = true; - } - } - var _g = 0; - var _g1 = Reflect.fields(obj); - while(_g < _g1.length) { - var k = _g1[_g]; - ++_g; - var v = Std.string(Reflect.field(obj,k)); - if(this.testProperty(k,v,true)) { - qualify = false; - } - } - return qualify; - } - ,testProperty: function(property,value,exclude) { - var conds = 0; - var fails = 0; - var qualify = 0; - var testprop = function(expr) { - conds += 1; - fails += expr ? 0 : 1; - return expr; - }; - if(this.q[value] != null) { - var v = this.q[value]; - if(v[property] != null) { - return v[property]; - } - } - if(Reflect.field(this.q,"expr")) { - var f = Reflect.field(this.q,"expr"); - if(!Reflect.field(this.q,"show")) { - if(Reflect.field(f,"!=") != null && testprop((value == null ? "null" : "" + value) == Std.string(Reflect.field(f,"!="))) && exclude) { - ++qualify; - } - } else { - if(Reflect.field(f,"*") != null && testprop(parseFloat(value) != null)) { - ++qualify; - } - if(Reflect.field(f,">") != null && testprop(parseFloat(value) >= parseFloat(Reflect.field(f,">")))) { - ++qualify; - } - if(Reflect.field(f,"<") != null && testprop(parseFloat(value) <= parseFloat(Reflect.field(f,"<")))) { - ++qualify; - } - if(Reflect.field(f,"=") != null && (testprop(value == Reflect.field(f,"=")) || testprop(parseFloat(value) == parseFloat(Reflect.field(f,"="))))) { - ++qualify; - } - } - } - return qualify > 0; - } -}; -var xrfragment_Parser = $hx_exports["xrfragment"]["Parser"] = function() { }; -xrfragment_Parser.__name__ = true; -xrfragment_Parser.parse = function(key,value,store,index) { - var Frag_h = Object.create(null); - Frag_h["#"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_PREDEFINED_VIEW | xrfragment_XRF.PV_EXECUTE; - Frag_h["src"] = xrfragment_XRF.T_URL; - Frag_h["href"] = xrfragment_XRF.T_URL | xrfragment_XRF.T_PREDEFINED_VIEW; - Frag_h["tag"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["pos"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_VECTOR3 | xrfragment_XRF.T_STRING | xrfragment_XRF.METADATA | xrfragment_XRF.NAVIGATOR; - Frag_h["rot"] = xrfragment_XRF.QUERY_OPERATOR | xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_VECTOR3 | xrfragment_XRF.METADATA | xrfragment_XRF.NAVIGATOR; - Frag_h["t"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_FLOAT | xrfragment_XRF.T_VECTOR2 | xrfragment_XRF.NAVIGATOR | xrfragment_XRF.METADATA; - Frag_h["s"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_MEDIAFRAG; - Frag_h["loop"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_PREDEFINED_VIEW; - Frag_h["uv"] = xrfragment_XRF.T_VECTOR2 | xrfragment_XRF.T_MEDIAFRAG; - Frag_h["namespace"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["SPDX"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["unit"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["description"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - var keyStripped = key.replace(xrfragment_XRF.operators.r,""); - var isPVDynamic = key.length > 0 && !Object.prototype.hasOwnProperty.call(Frag_h,key); - if(isPVDynamic) { - var v = new xrfragment_XRF(key,xrfragment_XRF.PV_EXECUTE | xrfragment_XRF.NAVIGATOR,index); - v.validate(value); - v.flags = xrfragment_XRF.set(xrfragment_XRF.T_DYNAMICKEY,v.flags); - if(!Object.prototype.hasOwnProperty.call(Frag_h,key)) { - v.flags = xrfragment_XRF.set(xrfragment_XRF.CUSTOMFRAG,v.flags); - } - if(value.length == 0) { - v.flags = xrfragment_XRF.set(xrfragment_XRF.T_DYNAMICKEYVALUE,v.flags); - } - store[keyStripped] = v; - return true; - } - var v = new xrfragment_XRF(key,Frag_h[key],index); - if(Object.prototype.hasOwnProperty.call(Frag_h,key)) { - if(!v.validate(value)) { - console.log("src/xrfragment/Parser.hx:67:","⚠ fragment '" + key + "' has incompatible value (" + value + ")"); - return false; - } - store[keyStripped] = v; - if(xrfragment_Parser.debug) { - console.log("src/xrfragment/Parser.hx:71:","✔ " + key + ": " + v.string); - } - } else { - if(typeof(value) == "string") { - v.guessType(v,value); - } - v.flags = xrfragment_XRF.set(xrfragment_XRF.CUSTOMFRAG,v.flags); - store[keyStripped] = v; - } - return true; -}; -xrfragment_Parser.getMetaData = function() { - var meta = { title : ["title","og:title","dc.title"], description : ["aria-description","og:description","dc.description"], author : ["author","dc.creator"], publisher : ["publisher","dc.publisher"], website : ["og:site_name","og:url","dc.publisher"], license : ["SPDX","dc.rights"]}; - return meta; -}; -var xrfragment_URI = $hx_exports["xrfragment"]["URI"] = function() { - this.XRF = { }; - this.hash = { }; - this.fragment = ""; -}; -xrfragment_URI.__name__ = true; -xrfragment_URI.parseFragment = function(url,filter) { - var store = { }; - if(url == null || url.indexOf("#") == -1) { - return store; - } - var fragment = url.split("#"); - var splitArray = fragment[1].split("&"); - var _g = 0; - var _g1 = splitArray.length; - while(_g < _g1) { - var i = _g++; - var splitByEqual = splitArray[i].split("="); - var regexPlus = new EReg("\\+","g"); - var key = splitByEqual[0]; - var value = ""; - if(splitByEqual.length > 1) { - if(xrfragment_XRF.isVector.match(splitByEqual[1])) { - value = splitByEqual[1]; - } else { - var s = regexPlus.split(splitByEqual[1]).join(" "); - value = decodeURIComponent(s.split("+").join(" ")); - } - } - var ok = xrfragment_Parser.parse(key,value,store,i); - } - if(filter != null && filter != 0) { - var _g = 0; - var _g1 = Reflect.fields(store); - while(_g < _g1.length) { - var key = _g1[_g]; - ++_g; - var xrf = store[key]; - if(!xrf.is(filter)) { - Reflect.deleteField(store,key); - } - } - } - return store; -}; -xrfragment_URI.template = function(uri,vars) { - var parts = uri.split("#"); - if(parts.length == 1) { - return uri; - } - var frag = parts[1]; - frag = StringTools.replace(frag,"{","::"); - frag = StringTools.replace(frag,"}","::"); - frag = new haxe_Template(frag).execute(vars); - frag = StringTools.replace(frag,"null",""); - parts[1] = frag; - return parts.join("#"); -}; -xrfragment_URI.parse = function(stringUrl,flags) { - var r = new EReg("^(?:(?![^:@]+:[^:@/]*@)([^:/?#.]+):)?(?://)?((?:(([^:@]*)(?::([^:@]*))?)?@)?([^:/?#]*)(?::(\\d*))?)(((/(?:[^?#](?![^?#/]*\\.[^?#/.]+(?:[?#]|$)))*/?)?([^?#/]*))(?:\\?([^#]*))?(?:#(.*))?)",""); - if(stringUrl.indexOf("://") == -1 && stringUrl.charAt(0) != "/") { - stringUrl = "/" + stringUrl; - } - r.match(stringUrl); - var url = new xrfragment_URI(); - var _g = 0; - var _g1 = xrfragment_URI._parts.length; - while(_g < _g1) { - var i = _g++; - url[xrfragment_URI._parts[i]] = r.matched(i); - } - if(xrfragment_URI.isRelative(url) == true) { - if(url.directory == null && url.host != null) { - url.file = url.host; - } - url.host = ""; - } - url.hash = { }; - if(url.fragment != null && url.fragment.length > 0) { - url.XRF = xrfragment_URI.parseFragment("#" + url.fragment,flags); - var key; - var _g = 0; - var _g1 = Reflect.fields(url.XRF); - while(_g < _g1.length) { - var key = _g1[_g]; - ++_g; - var v = url.XRF[key]; - url.hash[key] = v["string"]; - } - } - xrfragment_URI.computeVars(url); - return url; -}; -xrfragment_URI.computeVars = function(url) { - var r_r = new RegExp("//","g".split("u").join("")); - if(url.directory != null && url.directory.indexOf("//") != -1) { - url.directory = url.directory.replace(r_r,"/"); - } - if(url.path != null && url.path.indexOf("//") != -1) { - url.path = url.path.replace(r_r,"/"); - } - if(url.file != null && url.file.indexOf("//") != -1) { - url.file = url.file.replace(r_r,"/"); - } - url.URN = url.scheme + "://" + url.host; - if(url.port != null) { - url.URN += ":" + url.port; - } - url.URN += url.directory; - if(url.file != null) { - var parts = url.file.split("."); - if(parts.length > 1) { - url.fileExt = parts.pop(); - } - } -}; -xrfragment_URI.toString = function(url) { - var result = ""; - if(url.scheme != null) { - result += url.scheme + "://"; - } - if(url.user != null) { - result += url.user + ":"; - } - if(url.password != null) { - result += url.password + "@"; - } - if(url.host != null) { - result += url.host; - } - if(url.port != null) { - result += ":" + url.port; - } - if(url.directory != null) { - result += url.directory; - } - if(url.file != null) { - result += url.file; - } - if(url.query != null) { - result += "?" + url.query; - } - if(url.fragment != null) { - result += "#" + url.fragment; - } - return result; -}; -xrfragment_URI.appendURI = function(url,appendedURI) { - if(xrfragment_URI.isRelative(url) == true) { - return xrfragment_URI.appendToRelativeURI(url,appendedURI); - } else { - return xrfragment_URI.appendToAbsoluteURI(url,appendedURI); - } -}; -xrfragment_URI.isRelative = function(url) { - return url.scheme == null; -}; -xrfragment_URI.appendToRelativeURI = function(url,appendedURI) { - if(url.directory == null || url.host == null) { - return xrfragment_URI.cloneURI(appendedURI); - } - var resultURI = new xrfragment_URI(); - resultURI.host = url.host; - resultURI.directory = url.directory; - if(appendedURI.host != null) { - resultURI.directory += appendedURI.host; - } - if(appendedURI.directory != null) { - var directory = appendedURI.directory; - if(appendedURI.host == null) { - resultURI.directory += HxOverrides.substr(directory,1,null); - } else { - resultURI.directory += directory; - } - } - if(appendedURI.file != null) { - resultURI.file = appendedURI.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(appendedURI.query != null) { - resultURI.query = appendedURI.query; - } - if(appendedURI.fragment != null) { - resultURI.fragment = appendedURI.fragment; - } - return resultURI; -}; -xrfragment_URI.appendToAbsoluteURI = function(url,appendedURI) { - var resultURI = new xrfragment_URI(); - if(url.scheme != null) { - resultURI.scheme = url.scheme; - } - if(url.host != null) { - resultURI.host = url.host; - } - var directory = ""; - if(url.directory != null) { - directory = url.directory; - } - if(appendedURI.host != null) { - appendedURI.directory += appendedURI.host; - } - if(appendedURI.directory != null) { - directory += appendedURI.directory; - } - resultURI.directory = directory; - if(appendedURI.file != null) { - resultURI.file = appendedURI.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(appendedURI.query != null) { - resultURI.query = appendedURI.query; - } - if(appendedURI.fragment != null) { - resultURI.fragment = appendedURI.fragment; - } - return resultURI; -}; -xrfragment_URI.toAbsolute = function(url,newUrl) { - var newURI = xrfragment_URI.parse(newUrl,0); - var resultURI = new xrfragment_URI(); - resultURI.port = url.port; - resultURI.source = newUrl; - if(newURI.scheme != null) { - resultURI.scheme = newURI.scheme; - } else { - resultURI.scheme = url.scheme; - } - if(newURI.host != null && newURI.host.length > 0) { - resultURI.host = newURI.host; - resultURI.port = null; - resultURI.fragment = null; - resultURI.hash = { }; - resultURI.XRF = { }; - if(newURI.port != null) { - resultURI.port = newURI.port; - } - } else { - resultURI.host = url.host; - } - var directory = ""; - if(url.directory != null) { - directory = url.directory; - } - if(newURI.directory != null) { - if(newUrl.charAt(0) != "/" && newUrl.indexOf("://") == -1) { - var stripRelative_r = new RegExp("\\./.*","".split("u").join("")); - directory = directory.replace(stripRelative_r,""); - directory += newURI.directory; - } else { - directory = newURI.directory; - } - } - resultURI.directory = directory; - if(newURI.file != null) { - resultURI.file = newURI.file; - } else { - resultURI.file = url.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(newURI.query != null) { - resultURI.query = newURI.query; - } - if(newURI.fragment != null) { - resultURI.fragment = newURI.fragment; - } - resultURI.hash = newURI.hash; - resultURI.XRF = newURI.XRF; - xrfragment_URI.computeVars(resultURI); - return resultURI; -}; -xrfragment_URI.cloneURI = function(url) { - var clonedURI = new xrfragment_URI(); - clonedURI.url = url.url; - clonedURI.source = url.source; - clonedURI.scheme = url.scheme; - clonedURI.authority = url.authority; - clonedURI.userInfo = url.userInfo; - clonedURI.password = url.password; - clonedURI.host = url.host; - clonedURI.port = url.port; - clonedURI.relative = url.relative; - clonedURI.path = url.path; - clonedURI.directory = url.directory; - clonedURI.file = url.file; - clonedURI.query = url.query; - clonedURI.fragment = url.fragment; - return clonedURI; -}; -var xrfragment_XRF = $hx_exports["xrfragment"]["XRF"] = function(_fragment,_flags,_index) { - this.floats = []; - this.shift = []; - this.fragment = _fragment; - this.flags = _flags; - this.index = _index; -}; -xrfragment_XRF.__name__ = true; -xrfragment_XRF.set = function(flag,flags) { - return flags | flag; -}; -xrfragment_XRF.unset = function(flag,flags) { - return flags & ~flag; -}; -xrfragment_XRF.prototype = { - is: function(flag) { - var v = this.flags; - if(!(typeof(v) == "number" && ((v | 0) === v))) { - this.flags = 0; - } - return (this.flags & flag) != 0; - } - ,validate: function(value) { - this.guessType(this,value); - var ok = true; - if(value.length == 0 && !this.is(xrfragment_XRF.T_PREDEFINED_VIEW)) { - ok = false; - } - if(!this.is(xrfragment_XRF.T_FLOAT) && this.is(xrfragment_XRF.T_VECTOR2) && !(typeof(this.x) == "number" && typeof(this.y) == "number")) { - ok = false; - } - if(!(this.is(xrfragment_XRF.T_VECTOR2) || this.is(xrfragment_XRF.T_STRING)) && this.is(xrfragment_XRF.T_VECTOR3) && !(typeof(this.x) == "number" && typeof(this.y) == "number" && typeof(this.z) == "number")) { - ok = false; - } - return ok; - } - ,guessType: function(v,str) { - v.string = str; - if(xrfragment_XRF.isReset.match(v.fragment)) { - v.reset = true; - } - if(v.fragment == "loop") { - v.loop = true; - } - if(typeof(str) != "string") { - return; - } - if(str.length > 0) { - if(xrfragment_XRF.isXRFScheme.match(str)) { - v.xrfScheme = true; - str = str.replace(xrfragment_XRF.isXRFScheme.r,""); - v.string = str; - } - if(str.split(",").length > 1) { - var xyzn = str.split(","); - if(xyzn.length > 0) { - v.x = parseFloat(xyzn[0]); - } - if(xyzn.length > 1) { - v.y = parseFloat(xyzn[1]); - } - if(xyzn.length > 2) { - v.z = parseFloat(xyzn[2]); - } - var _g = 0; - var _g1 = xyzn.length; - while(_g < _g1) { - var i = _g++; - v.shift.push(xrfragment_XRF.isShift.match(xyzn[i])); - v.floats.push(parseFloat(xyzn[i].replace(xrfragment_XRF.isShift.r,""))); - } - } - if(xrfragment_XRF.isColor.match(str)) { - v.color = str; - } - if(xrfragment_XRF.isFloat.match(str)) { - v.x = parseFloat(str); - v.float = v.x; - } - if(xrfragment_XRF.isInt.match(str)) { - v.int = Std.parseInt(str); - v.x = v.int; - v.floats.push(v.x); - } - v.filter = new xrfragment_Filter(v.fragment + "=" + v.string); - } else { - v.filter = new xrfragment_Filter(v.fragment); - } - } -}; -function $getIterator(o) { if( o instanceof Array ) return new haxe_iterators_ArrayIterator(o); else return o.iterator(); } -function $bind(o,m) { if( m == null ) return null; if( m.__id__ == null ) m.__id__ = $global.$haxeUID++; var f; if( o.hx__closures__ == null ) o.hx__closures__ = {}; else f = o.hx__closures__[m.__id__]; if( f == null ) { f = m.bind(o); o.hx__closures__[m.__id__] = f; } return f; } -$global.$haxeUID |= 0; -if(typeof(performance) != "undefined" ? typeof(performance.now) == "function" : false) { - HxOverrides.now = performance.now.bind(performance); -} -if( String.fromCodePoint == null ) String.fromCodePoint = function(c) { return c < 0x10000 ? String.fromCharCode(c) : String.fromCharCode((c>>10)+0xD7C0)+String.fromCharCode((c&0x3FF)+0xDC00); } -String.__name__ = true; -Array.__name__ = true; -js_Boot.__toStr = ({ }).toString; -haxe_Template.splitter = new EReg("(::[A-Za-z0-9_ ()&|!+=/><*.\"-]+::|\\$\\$([A-Za-z0-9_-]+)\\()",""); -haxe_Template.expr_splitter = new EReg("(\\(|\\)|[ \r\n\t]*\"[^\"]*\"[ \r\n\t]*|[!+=/><*.&|-]+)",""); -haxe_Template.expr_trim = new EReg("^[ ]*([^ ]+)[ ]*$",""); -haxe_Template.expr_int = new EReg("^[0-9]+$",""); -haxe_Template.expr_float = new EReg("^([+-]?)(?=\\d|,\\d)\\d*(,\\d*)?([Ee]([+-]?\\d+))?$",""); -haxe_Template.globals = { }; -haxe_Template.hxKeepArrayIterator = new haxe_iterators_ArrayIterator([]); -xrfragment_Parser.error = ""; -xrfragment_Parser.debug = false; -xrfragment_URI.__meta__ = { statics : { template : { keep : null}}}; -xrfragment_URI._parts = ["source","scheme","authority","userInfo","user","password","host","port","relative","path","directory","file","query","fragment"]; -xrfragment_XRF.IMMUTABLE = 1; -xrfragment_XRF.PROP_BIND = 2; -xrfragment_XRF.QUERY_OPERATOR = 4; -xrfragment_XRF.PROMPT = 8; -xrfragment_XRF.CUSTOMFRAG = 16; -xrfragment_XRF.NAVIGATOR = 32; -xrfragment_XRF.METADATA = 64; -xrfragment_XRF.PV_OVERRIDE = 128; -xrfragment_XRF.PV_EXECUTE = 256; -xrfragment_XRF.T_COLOR = 8192; -xrfragment_XRF.T_INT = 16384; -xrfragment_XRF.T_FLOAT = 32768; -xrfragment_XRF.T_VECTOR2 = 65536; -xrfragment_XRF.T_VECTOR3 = 131072; -xrfragment_XRF.T_URL = 262144; -xrfragment_XRF.T_PREDEFINED_VIEW = 524288; -xrfragment_XRF.T_STRING = 1048576; -xrfragment_XRF.T_MEDIAFRAG = 2097152; -xrfragment_XRF.T_DYNAMICKEY = 4194304; -xrfragment_XRF.T_DYNAMICKEYVALUE = 8388608; -xrfragment_XRF.isColor = new EReg("^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$",""); -xrfragment_XRF.isInt = new EReg("^[-0-9]+$",""); -xrfragment_XRF.isFloat = new EReg("^[-0-9]+\\.[0-9]+$",""); -xrfragment_XRF.isVector = new EReg("([,]+|\\w)",""); -xrfragment_XRF.isUrl = new EReg("(://)?\\..*",""); -xrfragment_XRF.isUrlOrPretypedView = new EReg("(^#|://)?\\..*",""); -xrfragment_XRF.isString = new EReg(".*",""); -xrfragment_XRF.operators = new EReg("(^[-]|^[!]|[\\*]$)","g"); -xrfragment_XRF.isProp = new EReg("^.*=[><=]?",""); -xrfragment_XRF.isExclude = new EReg("^-",""); -xrfragment_XRF.isDeep = new EReg("\\*",""); -xrfragment_XRF.isNumber = new EReg("^[0-9\\.]+$",""); -xrfragment_XRF.isMediaFrag = new EReg("^([0-9\\.,\\*+-]+)$",""); -xrfragment_XRF.isReset = new EReg("^!",""); -xrfragment_XRF.isShift = new EReg("^(\\+|--)",""); -xrfragment_XRF.isXRFScheme = new EReg("^xrf://",""); -})(typeof window != "undefined" ? window : typeof global != "undefined" ? global : typeof self != "undefined" ? self : this); -var xrfragment = $hx_exports["xrfragment"]; -export default xrfragment; -// Generated by Haxe 4.3.3 -var $hx_exports = typeof exports != "undefined" ? exports : typeof window != "undefined" ? window : typeof self != "undefined" ? self : this; -(function ($global) { "use strict"; -$hx_exports["xrfragment"] = $hx_exports["xrfragment"] || {}; -var $estr = function() { return js_Boot.__string_rec(this,''); },$hxEnums = $hxEnums || {},$_; -function $extend(from, fields) { - var proto = Object.create(from); - for (var name in fields) proto[name] = fields[name]; - if( fields.toString !== Object.prototype.toString ) proto.toString = fields.toString; - return proto; -} -var EReg = function(r,opt) { - this.r = new RegExp(r,opt.split("u").join("")); -}; -EReg.__name__ = true; -EReg.prototype = { - match: function(s) { - if(this.r.global) { - this.r.lastIndex = 0; - } - this.r.m = this.r.exec(s); - this.r.s = s; - return this.r.m != null; - } - ,matched: function(n) { - if(this.r.m != null && n >= 0 && n < this.r.m.length) { - return this.r.m[n]; - } else { - throw haxe_Exception.thrown("EReg::matched"); - } - } - ,matchedRight: function() { - if(this.r.m == null) { - throw haxe_Exception.thrown("No string matched"); - } - var sz = this.r.m.index + this.r.m[0].length; - return HxOverrides.substr(this.r.s,sz,this.r.s.length - sz); - } - ,matchedPos: function() { - if(this.r.m == null) { - throw haxe_Exception.thrown("No string matched"); - } - return { pos : this.r.m.index, len : this.r.m[0].length}; - } - ,split: function(s) { - var d = "#__delim__#"; - return s.replace(this.r,d).split(d); - } -}; -var HxOverrides = function() { }; -HxOverrides.__name__ = true; -HxOverrides.cca = function(s,index) { - var x = s.charCodeAt(index); - if(x != x) { - return undefined; - } - return x; -}; -HxOverrides.substr = function(s,pos,len) { - if(len == null) { - len = s.length; - } else if(len < 0) { - if(pos == 0) { - len = s.length + len; - } else { - return ""; - } - } - return s.substr(pos,len); -}; -HxOverrides.now = function() { - return Date.now(); -}; -Math.__name__ = true; -var Reflect = function() { }; -Reflect.__name__ = true; -Reflect.field = function(o,field) { - try { - return o[field]; - } catch( _g ) { - return null; - } -}; -Reflect.getProperty = function(o,field) { - var tmp; - if(o == null) { - return null; - } else { - var tmp1; - if(o.__properties__) { - tmp = o.__properties__["get_" + field]; - tmp1 = tmp; - } else { - tmp1 = false; - } - if(tmp1) { - return o[tmp](); - } else { - return o[field]; - } - } -}; -Reflect.fields = function(o) { - var a = []; - if(o != null) { - var hasOwnProperty = Object.prototype.hasOwnProperty; - for( var f in o ) { - if(f != "__id__" && f != "hx__closures__" && hasOwnProperty.call(o,f)) { - a.push(f); - } - } - } - return a; -}; -Reflect.isObject = function(v) { - if(v == null) { - return false; - } - var t = typeof(v); - if(!(t == "string" || t == "object" && v.__enum__ == null)) { - if(t == "function") { - return (v.__name__ || v.__ename__) != null; - } else { - return false; - } - } else { - return true; - } -}; -Reflect.deleteField = function(o,field) { - if(!Object.prototype.hasOwnProperty.call(o,field)) { - return false; - } - delete(o[field]); - return true; -}; -Reflect.copy = function(o) { - if(o == null) { - return null; - } - var o2 = { }; - var _g = 0; - var _g1 = Reflect.fields(o); - while(_g < _g1.length) { - var f = _g1[_g]; - ++_g; - o2[f] = Reflect.field(o,f); - } - return o2; -}; -var Std = function() { }; -Std.__name__ = true; -Std.string = function(s) { - return js_Boot.__string_rec(s,""); -}; -Std.parseInt = function(x) { - var v = parseInt(x); - if(isNaN(v)) { - return null; - } - return v; -}; -var StringBuf = function() { - this.b = ""; -}; -StringBuf.__name__ = true; -var StringTools = function() { }; -StringTools.__name__ = true; -StringTools.isSpace = function(s,pos) { - var c = HxOverrides.cca(s,pos); - if(!(c > 8 && c < 14)) { - return c == 32; - } else { - return true; - } -}; -StringTools.ltrim = function(s) { - var l = s.length; - var r = 0; - while(r < l && StringTools.isSpace(s,r)) ++r; - if(r > 0) { - return HxOverrides.substr(s,r,l - r); - } else { - return s; - } -}; -StringTools.rtrim = function(s) { - var l = s.length; - var r = 0; - while(r < l && StringTools.isSpace(s,l - r - 1)) ++r; - if(r > 0) { - return HxOverrides.substr(s,0,l - r); - } else { - return s; - } -}; -StringTools.trim = function(s) { - return StringTools.ltrim(StringTools.rtrim(s)); -}; -StringTools.replace = function(s,sub,by) { - return s.split(sub).join(by); -}; -var haxe_Exception = function(message,previous,native) { - Error.call(this,message); - this.message = message; - this.__previousException = previous; - this.__nativeException = native != null ? native : this; -}; -haxe_Exception.__name__ = true; -haxe_Exception.caught = function(value) { - if(((value) instanceof haxe_Exception)) { - return value; - } else if(((value) instanceof Error)) { - return new haxe_Exception(value.message,null,value); - } else { - return new haxe_ValueException(value,null,value); - } -}; -haxe_Exception.thrown = function(value) { - if(((value) instanceof haxe_Exception)) { - return value.get_native(); - } else if(((value) instanceof Error)) { - return value; - } else { - var e = new haxe_ValueException(value); - return e; - } -}; -haxe_Exception.__super__ = Error; -haxe_Exception.prototype = $extend(Error.prototype,{ - unwrap: function() { - return this.__nativeException; - } - ,get_native: function() { - return this.__nativeException; - } - ,__properties__: {get_native:"get_native"} -}); -var haxe__$Template_TemplateExpr = $hxEnums["haxe._Template.TemplateExpr"] = { __ename__:true,__constructs__:null - ,OpVar: ($_=function(v) { return {_hx_index:0,v:v,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpVar",$_.__params__ = ["v"],$_) - ,OpExpr: ($_=function(expr) { return {_hx_index:1,expr:expr,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpExpr",$_.__params__ = ["expr"],$_) - ,OpIf: ($_=function(expr,eif,eelse) { return {_hx_index:2,expr:expr,eif:eif,eelse:eelse,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpIf",$_.__params__ = ["expr","eif","eelse"],$_) - ,OpStr: ($_=function(str) { return {_hx_index:3,str:str,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpStr",$_.__params__ = ["str"],$_) - ,OpBlock: ($_=function(l) { return {_hx_index:4,l:l,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpBlock",$_.__params__ = ["l"],$_) - ,OpForeach: ($_=function(expr,loop) { return {_hx_index:5,expr:expr,loop:loop,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpForeach",$_.__params__ = ["expr","loop"],$_) - ,OpMacro: ($_=function(name,params) { return {_hx_index:6,name:name,params:params,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpMacro",$_.__params__ = ["name","params"],$_) -}; -haxe__$Template_TemplateExpr.__constructs__ = [haxe__$Template_TemplateExpr.OpVar,haxe__$Template_TemplateExpr.OpExpr,haxe__$Template_TemplateExpr.OpIf,haxe__$Template_TemplateExpr.OpStr,haxe__$Template_TemplateExpr.OpBlock,haxe__$Template_TemplateExpr.OpForeach,haxe__$Template_TemplateExpr.OpMacro]; -var haxe_iterators_ArrayIterator = function(array) { - this.current = 0; - this.array = array; -}; -haxe_iterators_ArrayIterator.__name__ = true; -haxe_iterators_ArrayIterator.prototype = { - hasNext: function() { - return this.current < this.array.length; - } - ,next: function() { - return this.array[this.current++]; - } -}; -var haxe_Template = function(str) { - var tokens = this.parseTokens(str); - this.expr = this.parseBlock(tokens); - if(!tokens.isEmpty()) { - throw haxe_Exception.thrown("Unexpected '" + Std.string(tokens.first().s) + "'"); - } -}; -haxe_Template.__name__ = true; -haxe_Template.prototype = { - execute: function(context,macros) { - this.macros = macros == null ? { } : macros; - this.context = context; - this.stack = new haxe_ds_List(); - this.buf = new StringBuf(); - this.run(this.expr); - return this.buf.b; - } - ,resolve: function(v) { - if(v == "__current__") { - return this.context; - } - if(Reflect.isObject(this.context)) { - var value = Reflect.getProperty(this.context,v); - if(value != null || Object.prototype.hasOwnProperty.call(this.context,v)) { - return value; - } - } - var _g_head = this.stack.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var ctx = val; - var value = Reflect.getProperty(ctx,v); - if(value != null || Object.prototype.hasOwnProperty.call(ctx,v)) { - return value; - } - } - return Reflect.field(haxe_Template.globals,v); - } - ,parseTokens: function(data) { - var tokens = new haxe_ds_List(); - while(haxe_Template.splitter.match(data)) { - var p = haxe_Template.splitter.matchedPos(); - if(p.pos > 0) { - tokens.add({ p : HxOverrides.substr(data,0,p.pos), s : true, l : null}); - } - if(HxOverrides.cca(data,p.pos) == 58) { - tokens.add({ p : HxOverrides.substr(data,p.pos + 2,p.len - 4), s : false, l : null}); - data = haxe_Template.splitter.matchedRight(); - continue; - } - var parp = p.pos + p.len; - var npar = 1; - var params = []; - var part = ""; - while(true) { - var c = HxOverrides.cca(data,parp); - ++parp; - if(c == 40) { - ++npar; - } else if(c == 41) { - --npar; - if(npar <= 0) { - break; - } - } else if(c == null) { - throw haxe_Exception.thrown("Unclosed macro parenthesis"); - } - if(c == 44 && npar == 1) { - params.push(part); - part = ""; - } else { - part += String.fromCodePoint(c); - } - } - params.push(part); - tokens.add({ p : haxe_Template.splitter.matched(2), s : false, l : params}); - data = HxOverrides.substr(data,parp,data.length - parp); - } - if(data.length > 0) { - tokens.add({ p : data, s : true, l : null}); - } - return tokens; - } - ,parseBlock: function(tokens) { - var l = new haxe_ds_List(); - while(true) { - var t = tokens.first(); - if(t == null) { - break; - } - if(!t.s && (t.p == "end" || t.p == "else" || HxOverrides.substr(t.p,0,7) == "elseif ")) { - break; - } - l.add(this.parse(tokens)); - } - if(l.length == 1) { - return l.first(); - } - return haxe__$Template_TemplateExpr.OpBlock(l); - } - ,parse: function(tokens) { - var t = tokens.pop(); - var p = t.p; - if(t.s) { - return haxe__$Template_TemplateExpr.OpStr(p); - } - if(t.l != null) { - var pe = new haxe_ds_List(); - var _g = 0; - var _g1 = t.l; - while(_g < _g1.length) { - var p1 = _g1[_g]; - ++_g; - pe.add(this.parseBlock(this.parseTokens(p1))); - } - return haxe__$Template_TemplateExpr.OpMacro(p,pe); - } - var kwdEnd = function(kwd) { - var pos = -1; - var length = kwd.length; - if(HxOverrides.substr(p,0,length) == kwd) { - pos = length; - var _g_offset = 0; - var _g_s = HxOverrides.substr(p,length,null); - while(_g_offset < _g_s.length) { - var c = _g_s.charCodeAt(_g_offset++); - if(c == 32) { - ++pos; - } else { - break; - } - } - } - return pos; - }; - var pos = kwdEnd("if"); - if(pos > 0) { - p = HxOverrides.substr(p,pos,p.length - pos); - var e = this.parseExpr(p); - var eif = this.parseBlock(tokens); - var t = tokens.first(); - var eelse; - if(t == null) { - throw haxe_Exception.thrown("Unclosed 'if'"); - } - if(t.p == "end") { - tokens.pop(); - eelse = null; - } else if(t.p == "else") { - tokens.pop(); - eelse = this.parseBlock(tokens); - t = tokens.pop(); - if(t == null || t.p != "end") { - throw haxe_Exception.thrown("Unclosed 'else'"); - } - } else { - t.p = HxOverrides.substr(t.p,4,t.p.length - 4); - eelse = this.parse(tokens); - } - return haxe__$Template_TemplateExpr.OpIf(e,eif,eelse); - } - var pos = kwdEnd("foreach"); - if(pos >= 0) { - p = HxOverrides.substr(p,pos,p.length - pos); - var e = this.parseExpr(p); - var efor = this.parseBlock(tokens); - var t = tokens.pop(); - if(t == null || t.p != "end") { - throw haxe_Exception.thrown("Unclosed 'foreach'"); - } - return haxe__$Template_TemplateExpr.OpForeach(e,efor); - } - if(haxe_Template.expr_splitter.match(p)) { - return haxe__$Template_TemplateExpr.OpExpr(this.parseExpr(p)); - } - return haxe__$Template_TemplateExpr.OpVar(p); - } - ,parseExpr: function(data) { - var l = new haxe_ds_List(); - var expr = data; - while(haxe_Template.expr_splitter.match(data)) { - var p = haxe_Template.expr_splitter.matchedPos(); - var k = p.pos + p.len; - if(p.pos != 0) { - l.add({ p : HxOverrides.substr(data,0,p.pos), s : true}); - } - var p1 = haxe_Template.expr_splitter.matched(0); - l.add({ p : p1, s : p1.indexOf("\"") >= 0}); - data = haxe_Template.expr_splitter.matchedRight(); - } - if(data.length != 0) { - var _g_offset = 0; - var _g_s = data; - while(_g_offset < _g_s.length) { - var _g_key = _g_offset; - var _g_value = _g_s.charCodeAt(_g_offset++); - var i = _g_key; - var c = _g_value; - if(c != 32) { - l.add({ p : HxOverrides.substr(data,i,null), s : true}); - break; - } - } - } - var e; - try { - e = this.makeExpr(l); - if(!l.isEmpty()) { - throw haxe_Exception.thrown(l.first().p); - } - } catch( _g ) { - var _g1 = haxe_Exception.caught(_g).unwrap(); - if(typeof(_g1) == "string") { - var s = _g1; - throw haxe_Exception.thrown("Unexpected '" + s + "' in " + expr); - } else { - throw _g; - } - } - return function() { - try { - return e(); - } catch( _g ) { - var exc = haxe_Exception.caught(_g).unwrap(); - throw haxe_Exception.thrown("Error : " + Std.string(exc) + " in " + expr); - } - }; - } - ,makeConst: function(v) { - haxe_Template.expr_trim.match(v); - v = haxe_Template.expr_trim.matched(1); - if(HxOverrides.cca(v,0) == 34) { - var str = HxOverrides.substr(v,1,v.length - 2); - return function() { - return str; - }; - } - if(haxe_Template.expr_int.match(v)) { - var i = Std.parseInt(v); - return function() { - return i; - }; - } - if(haxe_Template.expr_float.match(v)) { - var f = parseFloat(v); - return function() { - return f; - }; - } - var me = this; - return function() { - return me.resolve(v); - }; - } - ,makePath: function(e,l) { - var p = l.first(); - if(p == null || p.p != ".") { - return e; - } - l.pop(); - var field = l.pop(); - if(field == null || !field.s) { - throw haxe_Exception.thrown(field.p); - } - var f = field.p; - haxe_Template.expr_trim.match(f); - f = haxe_Template.expr_trim.matched(1); - return this.makePath(function() { - return Reflect.field(e(),f); - },l); - } - ,makeExpr: function(l) { - return this.makePath(this.makeExpr2(l),l); - } - ,skipSpaces: function(l) { - var p = l.first(); - while(p != null) { - var _g_offset = 0; - var _g_s = p.p; - while(_g_offset < _g_s.length) { - var c = _g_s.charCodeAt(_g_offset++); - if(c != 32) { - return; - } - } - l.pop(); - p = l.first(); - } - } - ,makeExpr2: function(l) { - this.skipSpaces(l); - var p = l.pop(); - this.skipSpaces(l); - if(p == null) { - throw haxe_Exception.thrown(""); - } - if(p.s) { - return this.makeConst(p.p); - } - switch(p.p) { - case "!": - var e = this.makeExpr(l); - return function() { - var v = e(); - if(v != null) { - return v == false; - } else { - return true; - } - }; - case "(": - this.skipSpaces(l); - var e1 = this.makeExpr(l); - this.skipSpaces(l); - var p1 = l.pop(); - if(p1 == null || p1.s) { - throw haxe_Exception.thrown(p1); - } - if(p1.p == ")") { - return e1; - } - this.skipSpaces(l); - var e2 = this.makeExpr(l); - this.skipSpaces(l); - var p2 = l.pop(); - this.skipSpaces(l); - if(p2 == null || p2.p != ")") { - throw haxe_Exception.thrown(p2); - } - switch(p1.p) { - case "!=": - return function() { - return e1() != e2(); - }; - case "&&": - return function() { - return e1() && e2(); - }; - case "*": - return function() { - return e1() * e2(); - }; - case "+": - return function() { - return e1() + e2(); - }; - case "-": - return function() { - return e1() - e2(); - }; - case "/": - return function() { - return e1() / e2(); - }; - case "<": - return function() { - return e1() < e2(); - }; - case "<=": - return function() { - return e1() <= e2(); - }; - case "==": - return function() { - return e1() == e2(); - }; - case ">": - return function() { - return e1() > e2(); - }; - case ">=": - return function() { - return e1() >= e2(); - }; - case "||": - return function() { - return e1() || e2(); - }; - default: - throw haxe_Exception.thrown("Unknown operation " + p1.p); - } - break; - case "-": - var e3 = this.makeExpr(l); - return function() { - return -e3(); - }; - } - throw haxe_Exception.thrown(p.p); - } - ,run: function(e) { - switch(e._hx_index) { - case 0: - var v = e.v; - var _this = this.buf; - var x = Std.string(this.resolve(v)); - _this.b += Std.string(x); - break; - case 1: - var e1 = e.expr; - var _this = this.buf; - var x = Std.string(e1()); - _this.b += Std.string(x); - break; - case 2: - var e1 = e.expr; - var eif = e.eif; - var eelse = e.eelse; - var v = e1(); - if(v == null || v == false) { - if(eelse != null) { - this.run(eelse); - } - } else { - this.run(eif); - } - break; - case 3: - var str = e.str; - this.buf.b += str == null ? "null" : "" + str; - break; - case 4: - var l = e.l; - var _g_head = l.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var e1 = val; - this.run(e1); - } - break; - case 5: - var e1 = e.expr; - var loop = e.loop; - var v = e1(); - try { - var x = $getIterator(v); - if(x.hasNext == null) { - throw haxe_Exception.thrown(null); - } - v = x; - } catch( _g ) { - try { - if(v.hasNext == null) { - throw haxe_Exception.thrown(null); - } - } catch( _g1 ) { - throw haxe_Exception.thrown("Cannot iter on " + Std.string(v)); - } - } - this.stack.push(this.context); - var v1 = v; - var ctx = v1; - while(ctx.hasNext()) { - var ctx1 = ctx.next(); - this.context = ctx1; - this.run(loop); - } - this.context = this.stack.pop(); - break; - case 6: - var m = e.name; - var params = e.params; - var v = Reflect.field(this.macros,m); - var pl = []; - var old = this.buf; - pl.push($bind(this,this.resolve)); - var _g_head = params.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var p = val; - if(p._hx_index == 0) { - var v1 = p.v; - pl.push(this.resolve(v1)); - } else { - this.buf = new StringBuf(); - this.run(p); - pl.push(this.buf.b); - } - } - this.buf = old; - try { - var _this = this.buf; - var x = Std.string(v.apply(this.macros,pl)); - _this.b += Std.string(x); - } catch( _g ) { - var e = haxe_Exception.caught(_g).unwrap(); - var plstr; - try { - plstr = pl.join(","); - } catch( _g1 ) { - plstr = "???"; - } - var msg = "Macro call " + m + "(" + plstr + ") failed (" + Std.string(e) + ")"; - throw haxe_Exception.thrown(msg); - } - break; - } - } -}; -var haxe_ValueException = function(value,previous,native) { - haxe_Exception.call(this,String(value),previous,native); - this.value = value; -}; -haxe_ValueException.__name__ = true; -haxe_ValueException.__super__ = haxe_Exception; -haxe_ValueException.prototype = $extend(haxe_Exception.prototype,{ - unwrap: function() { - return this.value; - } -}); -var haxe_ds_List = function() { - this.length = 0; -}; -haxe_ds_List.__name__ = true; -haxe_ds_List.prototype = { - add: function(item) { - var x = new haxe_ds__$List_ListNode(item,null); - if(this.h == null) { - this.h = x; - } else { - this.q.next = x; - } - this.q = x; - this.length++; - } - ,push: function(item) { - var x = new haxe_ds__$List_ListNode(item,this.h); - this.h = x; - if(this.q == null) { - this.q = x; - } - this.length++; - } - ,first: function() { - if(this.h == null) { - return null; - } else { - return this.h.item; - } - } - ,pop: function() { - if(this.h == null) { - return null; - } - var x = this.h.item; - this.h = this.h.next; - if(this.h == null) { - this.q = null; - } - this.length--; - return x; - } - ,isEmpty: function() { - return this.h == null; - } - ,toString: function() { - var s_b = ""; - var first = true; - var l = this.h; - s_b += "{"; - while(l != null) { - if(first) { - first = false; - } else { - s_b += ", "; - } - s_b += Std.string(Std.string(l.item)); - l = l.next; - } - s_b += "}"; - return s_b; - } -}; -var haxe_ds__$List_ListNode = function(item,next) { - this.item = item; - this.next = next; -}; -haxe_ds__$List_ListNode.__name__ = true; -var js_Boot = function() { }; -js_Boot.__name__ = true; -js_Boot.__string_rec = function(o,s) { - if(o == null) { - return "null"; - } - if(s.length >= 5) { - return "<...>"; - } - var t = typeof(o); - if(t == "function" && (o.__name__ || o.__ename__)) { - t = "object"; - } - switch(t) { - case "function": - return ""; - case "object": - if(o.__enum__) { - var e = $hxEnums[o.__enum__]; - var con = e.__constructs__[o._hx_index]; - var n = con._hx_name; - if(con.__params__) { - s = s + "\t"; - return n + "(" + ((function($this) { - var $r; - var _g = []; - { - var _g1 = 0; - var _g2 = con.__params__; - while(true) { - if(!(_g1 < _g2.length)) { - break; - } - var p = _g2[_g1]; - _g1 = _g1 + 1; - _g.push(js_Boot.__string_rec(o[p],s)); - } - } - $r = _g; - return $r; - }(this))).join(",") + ")"; - } else { - return n; - } - } - if(((o) instanceof Array)) { - var str = "["; - s += "\t"; - var _g = 0; - var _g1 = o.length; - while(_g < _g1) { - var i = _g++; - str += (i > 0 ? "," : "") + js_Boot.__string_rec(o[i],s); - } - str += "]"; - return str; - } - var tostr; - try { - tostr = o.toString; - } catch( _g ) { - return "???"; - } - if(tostr != null && tostr != Object.toString && typeof(tostr) == "function") { - var s2 = o.toString(); - if(s2 != "[object Object]") { - return s2; - } - } - var str = "{\n"; - s += "\t"; - var hasp = o.hasOwnProperty != null; - var k = null; - for( k in o ) { - if(hasp && !o.hasOwnProperty(k)) { - continue; - } - if(k == "prototype" || k == "__class__" || k == "__super__" || k == "__interfaces__" || k == "__properties__") { - continue; - } - if(str.length != 2) { - str += ", \n"; - } - str += s + k + " : " + js_Boot.__string_rec(o[k],s); - } - s = s.substring(1); - str += "\n" + s + "}"; - return str; - case "string": - return o; - default: - return String(o); - } -}; -var xrfragment_Filter = $hx_exports["xrfragment"]["Filter"] = function(str) { - this.q = { }; - this.str = ""; - if(str != null) { - this.parse(str); - } -}; -xrfragment_Filter.__name__ = true; -xrfragment_Filter.prototype = { - toObject: function() { - return Reflect.copy(this.q); - } - ,get: function() { - return Reflect.copy(this.q); - } - ,parse: function(str) { - var token = str.split(" "); - var q = { }; - var process = function(str,prefix) { - if(prefix == null) { - prefix = ""; - } - str = StringTools.trim(str); - var k = str.split("=")[0]; - var v = str.split("=")[1]; - var filter = { }; - if(q[prefix + k]) { - filter = q[prefix + k]; - } - if(xrfragment_XRF.isProp.match(str)) { - var oper = ""; - if(str.indexOf(">") != -1) { - oper = ">"; - } - if(str.indexOf("<") != -1) { - oper = "<"; - } - if(xrfragment_XRF.isExclude.match(k)) { - k = HxOverrides.substr(k,1,null); - } - v = HxOverrides.substr(v,oper.length,null); - if(oper.length == 0) { - oper = "="; - } - var rule = { }; - if(xrfragment_XRF.isNumber.match(v)) { - rule[oper] = parseFloat(v); - } else { - rule[oper] = v; - } - q["expr"] = rule; - } - var value = xrfragment_XRF.isDeep.match(str) ? k.split("*").length - 1 : 0; - q["deep"] = value; - var value = xrfragment_XRF.isExclude.match(str) ? false : true; - q["show"] = value; - var value = k.replace(xrfragment_XRF.operators.r,""); - q["key"] = value; - q["value"] = v; - }; - var _g = 0; - var _g1 = token.length; - while(_g < _g1) { - var i = _g++; - process(token[i]); - } - return this.q = q; - } - ,test: function(obj) { - var qualify = false; - var _g = 0; - var _g1 = Reflect.fields(obj); - while(_g < _g1.length) { - var k = _g1[_g]; - ++_g; - var v = Std.string(Reflect.field(obj,k)); - if(this.testProperty(k,v)) { - qualify = true; - } - } - var _g = 0; - var _g1 = Reflect.fields(obj); - while(_g < _g1.length) { - var k = _g1[_g]; - ++_g; - var v = Std.string(Reflect.field(obj,k)); - if(this.testProperty(k,v,true)) { - qualify = false; - } - } - return qualify; - } - ,testProperty: function(property,value,exclude) { - var conds = 0; - var fails = 0; - var qualify = 0; - var testprop = function(expr) { - conds += 1; - fails += expr ? 0 : 1; - return expr; - }; - if(this.q[value] != null) { - var v = this.q[value]; - if(v[property] != null) { - return v[property]; - } - } - if(Reflect.field(this.q,"expr")) { - var f = Reflect.field(this.q,"expr"); - if(!Reflect.field(this.q,"show")) { - if(Reflect.field(f,"!=") != null && testprop((value == null ? "null" : "" + value) == Std.string(Reflect.field(f,"!="))) && exclude) { - ++qualify; - } - } else { - if(Reflect.field(f,"*") != null && testprop(parseFloat(value) != null)) { - ++qualify; - } - if(Reflect.field(f,">") != null && testprop(parseFloat(value) >= parseFloat(Reflect.field(f,">")))) { - ++qualify; - } - if(Reflect.field(f,"<") != null && testprop(parseFloat(value) <= parseFloat(Reflect.field(f,"<")))) { - ++qualify; - } - if(Reflect.field(f,"=") != null && (testprop(value == Reflect.field(f,"=")) || testprop(parseFloat(value) == parseFloat(Reflect.field(f,"="))))) { - ++qualify; - } - } - } - return qualify > 0; - } -}; -var xrfragment_Parser = $hx_exports["xrfragment"]["Parser"] = function() { }; -xrfragment_Parser.__name__ = true; -xrfragment_Parser.parse = function(key,value,store,index) { - var Frag_h = Object.create(null); - Frag_h["#"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_PREDEFINED_VIEW | xrfragment_XRF.PV_EXECUTE; - Frag_h["src"] = xrfragment_XRF.T_URL; - Frag_h["href"] = xrfragment_XRF.T_URL | xrfragment_XRF.T_PREDEFINED_VIEW; - Frag_h["tag"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["pos"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_VECTOR3 | xrfragment_XRF.T_STRING | xrfragment_XRF.METADATA | xrfragment_XRF.NAVIGATOR; - Frag_h["rot"] = xrfragment_XRF.QUERY_OPERATOR | xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_VECTOR3 | xrfragment_XRF.METADATA | xrfragment_XRF.NAVIGATOR; - Frag_h["t"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_FLOAT | xrfragment_XRF.T_VECTOR2 | xrfragment_XRF.NAVIGATOR | xrfragment_XRF.METADATA; - Frag_h["s"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_MEDIAFRAG; - Frag_h["loop"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_PREDEFINED_VIEW; - Frag_h["uv"] = xrfragment_XRF.T_VECTOR2 | xrfragment_XRF.T_MEDIAFRAG; - Frag_h["namespace"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["SPDX"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["unit"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["description"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - var keyStripped = key.replace(xrfragment_XRF.operators.r,""); - var isPVDynamic = key.length > 0 && !Object.prototype.hasOwnProperty.call(Frag_h,key); - if(isPVDynamic) { - var v = new xrfragment_XRF(key,xrfragment_XRF.PV_EXECUTE | xrfragment_XRF.NAVIGATOR,index); - v.validate(value); - v.flags = xrfragment_XRF.set(xrfragment_XRF.T_DYNAMICKEY,v.flags); - if(!Object.prototype.hasOwnProperty.call(Frag_h,key)) { - v.flags = xrfragment_XRF.set(xrfragment_XRF.CUSTOMFRAG,v.flags); - } - if(value.length == 0) { - v.flags = xrfragment_XRF.set(xrfragment_XRF.T_DYNAMICKEYVALUE,v.flags); - } - store[keyStripped] = v; - return true; - } - var v = new xrfragment_XRF(key,Frag_h[key],index); - if(Object.prototype.hasOwnProperty.call(Frag_h,key)) { - if(!v.validate(value)) { - console.log("src/xrfragment/Parser.hx:67:","⚠ fragment '" + key + "' has incompatible value (" + value + ")"); - return false; - } - store[keyStripped] = v; - if(xrfragment_Parser.debug) { - console.log("src/xrfragment/Parser.hx:71:","✔ " + key + ": " + v.string); - } - } else { - if(typeof(value) == "string") { - v.guessType(v,value); - } - v.flags = xrfragment_XRF.set(xrfragment_XRF.CUSTOMFRAG,v.flags); - store[keyStripped] = v; - } - return true; -}; -xrfragment_Parser.getMetaData = function() { - var meta = { title : ["title","og:title","dc.title"], description : ["aria-description","og:description","dc.description"], author : ["author","dc.creator"], publisher : ["publisher","dc.publisher"], website : ["og:site_name","og:url","dc.publisher"], license : ["SPDX","dc.rights"]}; - return meta; -}; -var xrfragment_URI = $hx_exports["xrfragment"]["URI"] = function() { - this.XRF = { }; - this.hash = { }; - this.fragment = ""; -}; -xrfragment_URI.__name__ = true; -xrfragment_URI.parseFragment = function(url,filter) { - var store = { }; - if(url == null || url.indexOf("#") == -1) { - return store; - } - var fragment = url.split("#"); - var splitArray = fragment[1].split("&"); - var _g = 0; - var _g1 = splitArray.length; - while(_g < _g1) { - var i = _g++; - var splitByEqual = splitArray[i].split("="); - var regexPlus = new EReg("\\+","g"); - var key = splitByEqual[0]; - var value = ""; - if(splitByEqual.length > 1) { - if(xrfragment_XRF.isVector.match(splitByEqual[1])) { - value = splitByEqual[1]; - } else { - var s = regexPlus.split(splitByEqual[1]).join(" "); - value = decodeURIComponent(s.split("+").join(" ")); - } - } - var ok = xrfragment_Parser.parse(key,value,store,i); - } - if(filter != null && filter != 0) { - var _g = 0; - var _g1 = Reflect.fields(store); - while(_g < _g1.length) { - var key = _g1[_g]; - ++_g; - var xrf = store[key]; - if(!xrf.is(filter)) { - Reflect.deleteField(store,key); - } - } - } - return store; -}; -xrfragment_URI.template = function(uri,vars) { - var parts = uri.split("#"); - if(parts.length == 1) { - return uri; - } - var frag = parts[1]; - frag = StringTools.replace(frag,"{","::"); - frag = StringTools.replace(frag,"}","::"); - frag = new haxe_Template(frag).execute(vars); - frag = StringTools.replace(frag,"null",""); - parts[1] = frag; - return parts.join("#"); -}; -xrfragment_URI.parse = function(stringUrl,flags) { - var r = new EReg("^(?:(?![^:@]+:[^:@/]*@)([^:/?#.]+):)?(?://)?((?:(([^:@]*)(?::([^:@]*))?)?@)?([^:/?#]*)(?::(\\d*))?)(((/(?:[^?#](?![^?#/]*\\.[^?#/.]+(?:[?#]|$)))*/?)?([^?#/]*))(?:\\?([^#]*))?(?:#(.*))?)",""); - if(stringUrl.indexOf("://") == -1 && stringUrl.charAt(0) != "/") { - stringUrl = "/" + stringUrl; - } - r.match(stringUrl); - var url = new xrfragment_URI(); - var _g = 0; - var _g1 = xrfragment_URI._parts.length; - while(_g < _g1) { - var i = _g++; - url[xrfragment_URI._parts[i]] = r.matched(i); - } - if(xrfragment_URI.isRelative(url) == true) { - if(url.directory == null && url.host != null) { - url.file = url.host; - } - url.host = ""; - } - url.hash = { }; - if(url.fragment != null && url.fragment.length > 0) { - url.XRF = xrfragment_URI.parseFragment("#" + url.fragment,flags); - var key; - var _g = 0; - var _g1 = Reflect.fields(url.XRF); - while(_g < _g1.length) { - var key = _g1[_g]; - ++_g; - var v = url.XRF[key]; - url.hash[key] = v["string"]; - } - } - xrfragment_URI.computeVars(url); - return url; -}; -xrfragment_URI.computeVars = function(url) { - var r_r = new RegExp("//","g".split("u").join("")); - if(url.directory != null && url.directory.indexOf("//") != -1) { - url.directory = url.directory.replace(r_r,"/"); - } - if(url.path != null && url.path.indexOf("//") != -1) { - url.path = url.path.replace(r_r,"/"); - } - if(url.file != null && url.file.indexOf("//") != -1) { - url.file = url.file.replace(r_r,"/"); - } - url.URN = url.scheme + "://" + url.host; - if(url.port != null) { - url.URN += ":" + url.port; - } - url.URN += url.directory; - if(url.file != null) { - var parts = url.file.split("."); - if(parts.length > 1) { - url.fileExt = parts.pop(); - } - } -}; -xrfragment_URI.toString = function(url) { - var result = ""; - if(url.scheme != null) { - result += url.scheme + "://"; - } - if(url.user != null) { - result += url.user + ":"; - } - if(url.password != null) { - result += url.password + "@"; - } - if(url.host != null) { - result += url.host; - } - if(url.port != null) { - result += ":" + url.port; - } - if(url.directory != null) { - result += url.directory; - } - if(url.file != null) { - result += url.file; - } - if(url.query != null) { - result += "?" + url.query; - } - if(url.fragment != null) { - result += "#" + url.fragment; - } - return result; -}; -xrfragment_URI.appendURI = function(url,appendedURI) { - if(xrfragment_URI.isRelative(url) == true) { - return xrfragment_URI.appendToRelativeURI(url,appendedURI); - } else { - return xrfragment_URI.appendToAbsoluteURI(url,appendedURI); - } -}; -xrfragment_URI.isRelative = function(url) { - return url.scheme == null; -}; -xrfragment_URI.appendToRelativeURI = function(url,appendedURI) { - if(url.directory == null || url.host == null) { - return xrfragment_URI.cloneURI(appendedURI); - } - var resultURI = new xrfragment_URI(); - resultURI.host = url.host; - resultURI.directory = url.directory; - if(appendedURI.host != null) { - resultURI.directory += appendedURI.host; - } - if(appendedURI.directory != null) { - var directory = appendedURI.directory; - if(appendedURI.host == null) { - resultURI.directory += HxOverrides.substr(directory,1,null); - } else { - resultURI.directory += directory; - } - } - if(appendedURI.file != null) { - resultURI.file = appendedURI.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(appendedURI.query != null) { - resultURI.query = appendedURI.query; - } - if(appendedURI.fragment != null) { - resultURI.fragment = appendedURI.fragment; - } - return resultURI; -}; -xrfragment_URI.appendToAbsoluteURI = function(url,appendedURI) { - var resultURI = new xrfragment_URI(); - if(url.scheme != null) { - resultURI.scheme = url.scheme; - } - if(url.host != null) { - resultURI.host = url.host; - } - var directory = ""; - if(url.directory != null) { - directory = url.directory; - } - if(appendedURI.host != null) { - appendedURI.directory += appendedURI.host; - } - if(appendedURI.directory != null) { - directory += appendedURI.directory; - } - resultURI.directory = directory; - if(appendedURI.file != null) { - resultURI.file = appendedURI.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(appendedURI.query != null) { - resultURI.query = appendedURI.query; - } - if(appendedURI.fragment != null) { - resultURI.fragment = appendedURI.fragment; - } - return resultURI; -}; -xrfragment_URI.toAbsolute = function(url,newUrl) { - var newURI = xrfragment_URI.parse(newUrl,0); - var resultURI = new xrfragment_URI(); - resultURI.port = url.port; - resultURI.source = newUrl; - if(newURI.scheme != null) { - resultURI.scheme = newURI.scheme; - } else { - resultURI.scheme = url.scheme; - } - if(newURI.host != null && newURI.host.length > 0) { - resultURI.host = newURI.host; - resultURI.port = null; - resultURI.fragment = null; - resultURI.hash = { }; - resultURI.XRF = { }; - if(newURI.port != null) { - resultURI.port = newURI.port; - } - } else { - resultURI.host = url.host; - } - var directory = ""; - if(url.directory != null) { - directory = url.directory; - } - if(newURI.directory != null) { - if(newUrl.charAt(0) != "/" && newUrl.indexOf("://") == -1) { - var stripRelative_r = new RegExp("\\./.*","".split("u").join("")); - directory = directory.replace(stripRelative_r,""); - directory += newURI.directory; - } else { - directory = newURI.directory; - } - } - resultURI.directory = directory; - if(newURI.file != null) { - resultURI.file = newURI.file; - } else { - resultURI.file = url.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(newURI.query != null) { - resultURI.query = newURI.query; - } - if(newURI.fragment != null) { - resultURI.fragment = newURI.fragment; - } - resultURI.hash = newURI.hash; - resultURI.XRF = newURI.XRF; - xrfragment_URI.computeVars(resultURI); - return resultURI; -}; -xrfragment_URI.cloneURI = function(url) { - var clonedURI = new xrfragment_URI(); - clonedURI.url = url.url; - clonedURI.source = url.source; - clonedURI.scheme = url.scheme; - clonedURI.authority = url.authority; - clonedURI.userInfo = url.userInfo; - clonedURI.password = url.password; - clonedURI.host = url.host; - clonedURI.port = url.port; - clonedURI.relative = url.relative; - clonedURI.path = url.path; - clonedURI.directory = url.directory; - clonedURI.file = url.file; - clonedURI.query = url.query; - clonedURI.fragment = url.fragment; - return clonedURI; -}; -var xrfragment_XRF = $hx_exports["xrfragment"]["XRF"] = function(_fragment,_flags,_index) { - this.floats = []; - this.shift = []; - this.fragment = _fragment; - this.flags = _flags; - this.index = _index; -}; -xrfragment_XRF.__name__ = true; -xrfragment_XRF.set = function(flag,flags) { - return flags | flag; -}; -xrfragment_XRF.unset = function(flag,flags) { - return flags & ~flag; -}; -xrfragment_XRF.prototype = { - is: function(flag) { - var v = this.flags; - if(!(typeof(v) == "number" && ((v | 0) === v))) { - this.flags = 0; - } - return (this.flags & flag) != 0; - } - ,validate: function(value) { - this.guessType(this,value); - var ok = true; - if(value.length == 0 && !this.is(xrfragment_XRF.T_PREDEFINED_VIEW)) { - ok = false; - } - if(!this.is(xrfragment_XRF.T_FLOAT) && this.is(xrfragment_XRF.T_VECTOR2) && !(typeof(this.x) == "number" && typeof(this.y) == "number")) { - ok = false; - } - if(!(this.is(xrfragment_XRF.T_VECTOR2) || this.is(xrfragment_XRF.T_STRING)) && this.is(xrfragment_XRF.T_VECTOR3) && !(typeof(this.x) == "number" && typeof(this.y) == "number" && typeof(this.z) == "number")) { - ok = false; - } - return ok; - } - ,guessType: function(v,str) { - v.string = str; - if(xrfragment_XRF.isReset.match(v.fragment)) { - v.reset = true; - } - if(v.fragment == "loop") { - v.loop = true; - } - if(typeof(str) != "string") { - return; - } - if(str.length > 0) { - if(xrfragment_XRF.isXRFScheme.match(str)) { - v.xrfScheme = true; - str = str.replace(xrfragment_XRF.isXRFScheme.r,""); - v.string = str; - } - if(str.split(",").length > 1) { - var xyzn = str.split(","); - if(xyzn.length > 0) { - v.x = parseFloat(xyzn[0]); - } - if(xyzn.length > 1) { - v.y = parseFloat(xyzn[1]); - } - if(xyzn.length > 2) { - v.z = parseFloat(xyzn[2]); - } - var _g = 0; - var _g1 = xyzn.length; - while(_g < _g1) { - var i = _g++; - v.shift.push(xrfragment_XRF.isShift.match(xyzn[i])); - v.floats.push(parseFloat(xyzn[i].replace(xrfragment_XRF.isShift.r,""))); - } - } - if(xrfragment_XRF.isColor.match(str)) { - v.color = str; - } - if(xrfragment_XRF.isFloat.match(str)) { - v.x = parseFloat(str); - v.float = v.x; - } - if(xrfragment_XRF.isInt.match(str)) { - v.int = Std.parseInt(str); - v.x = v.int; - v.floats.push(v.x); - } - v.filter = new xrfragment_Filter(v.fragment + "=" + v.string); - } else { - v.filter = new xrfragment_Filter(v.fragment); - } - } -}; -function $getIterator(o) { if( o instanceof Array ) return new haxe_iterators_ArrayIterator(o); else return o.iterator(); } -function $bind(o,m) { if( m == null ) return null; if( m.__id__ == null ) m.__id__ = $global.$haxeUID++; var f; if( o.hx__closures__ == null ) o.hx__closures__ = {}; else f = o.hx__closures__[m.__id__]; if( f == null ) { f = m.bind(o); o.hx__closures__[m.__id__] = f; } return f; } -$global.$haxeUID |= 0; -if(typeof(performance) != "undefined" ? typeof(performance.now) == "function" : false) { - HxOverrides.now = performance.now.bind(performance); -} -if( String.fromCodePoint == null ) String.fromCodePoint = function(c) { return c < 0x10000 ? String.fromCharCode(c) : String.fromCharCode((c>>10)+0xD7C0)+String.fromCharCode((c&0x3FF)+0xDC00); } -String.__name__ = true; -Array.__name__ = true; -js_Boot.__toStr = ({ }).toString; -haxe_Template.splitter = new EReg("(::[A-Za-z0-9_ ()&|!+=/><*.\"-]+::|\\$\\$([A-Za-z0-9_-]+)\\()",""); -haxe_Template.expr_splitter = new EReg("(\\(|\\)|[ \r\n\t]*\"[^\"]*\"[ \r\n\t]*|[!+=/><*.&|-]+)",""); -haxe_Template.expr_trim = new EReg("^[ ]*([^ ]+)[ ]*$",""); -haxe_Template.expr_int = new EReg("^[0-9]+$",""); -haxe_Template.expr_float = new EReg("^([+-]?)(?=\\d|,\\d)\\d*(,\\d*)?([Ee]([+-]?\\d+))?$",""); -haxe_Template.globals = { }; -haxe_Template.hxKeepArrayIterator = new haxe_iterators_ArrayIterator([]); -xrfragment_Parser.error = ""; -xrfragment_Parser.debug = false; -xrfragment_URI.__meta__ = { statics : { template : { keep : null}}}; -xrfragment_URI._parts = ["source","scheme","authority","userInfo","user","password","host","port","relative","path","directory","file","query","fragment"]; -xrfragment_XRF.IMMUTABLE = 1; -xrfragment_XRF.PROP_BIND = 2; -xrfragment_XRF.QUERY_OPERATOR = 4; -xrfragment_XRF.PROMPT = 8; -xrfragment_XRF.CUSTOMFRAG = 16; -xrfragment_XRF.NAVIGATOR = 32; -xrfragment_XRF.METADATA = 64; -xrfragment_XRF.PV_OVERRIDE = 128; -xrfragment_XRF.PV_EXECUTE = 256; -xrfragment_XRF.T_COLOR = 8192; -xrfragment_XRF.T_INT = 16384; -xrfragment_XRF.T_FLOAT = 32768; -xrfragment_XRF.T_VECTOR2 = 65536; -xrfragment_XRF.T_VECTOR3 = 131072; -xrfragment_XRF.T_URL = 262144; -xrfragment_XRF.T_PREDEFINED_VIEW = 524288; -xrfragment_XRF.T_STRING = 1048576; -xrfragment_XRF.T_MEDIAFRAG = 2097152; -xrfragment_XRF.T_DYNAMICKEY = 4194304; -xrfragment_XRF.T_DYNAMICKEYVALUE = 8388608; -xrfragment_XRF.isColor = new EReg("^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$",""); -xrfragment_XRF.isInt = new EReg("^[-0-9]+$",""); -xrfragment_XRF.isFloat = new EReg("^[-0-9]+\\.[0-9]+$",""); -xrfragment_XRF.isVector = new EReg("([,]+|\\w)",""); -xrfragment_XRF.isUrl = new EReg("(://)?\\..*",""); -xrfragment_XRF.isUrlOrPretypedView = new EReg("(^#|://)?\\..*",""); -xrfragment_XRF.isString = new EReg(".*",""); -xrfragment_XRF.operators = new EReg("(^[-]|^[!]|[\\*]$)","g"); -xrfragment_XRF.isProp = new EReg("^.*=[><=]?",""); -xrfragment_XRF.isExclude = new EReg("^-",""); -xrfragment_XRF.isDeep = new EReg("\\*",""); -xrfragment_XRF.isNumber = new EReg("^[0-9\\.]+$",""); -xrfragment_XRF.isMediaFrag = new EReg("^([0-9\\.,\\*+-]+)$",""); -xrfragment_XRF.isReset = new EReg("^!",""); -xrfragment_XRF.isShift = new EReg("^(\\+|--)",""); -xrfragment_XRF.isXRFScheme = new EReg("^xrf://",""); -})(typeof window != "undefined" ? window : typeof global != "undefined" ? global : typeof self != "undefined" ? self : this); -var xrfragment = $hx_exports["xrfragment"]; -export default xrfragment; -// Generated by Haxe 4.3.3 -var $hx_exports = typeof exports != "undefined" ? exports : typeof window != "undefined" ? window : typeof self != "undefined" ? self : this; -(function ($global) { "use strict"; -$hx_exports["xrfragment"] = $hx_exports["xrfragment"] || {}; -var $estr = function() { return js_Boot.__string_rec(this,''); },$hxEnums = $hxEnums || {},$_; -function $extend(from, fields) { - var proto = Object.create(from); - for (var name in fields) proto[name] = fields[name]; - if( fields.toString !== Object.prototype.toString ) proto.toString = fields.toString; - return proto; -} -var EReg = function(r,opt) { - this.r = new RegExp(r,opt.split("u").join("")); -}; -EReg.__name__ = true; -EReg.prototype = { - match: function(s) { - if(this.r.global) { - this.r.lastIndex = 0; - } - this.r.m = this.r.exec(s); - this.r.s = s; - return this.r.m != null; - } - ,matched: function(n) { - if(this.r.m != null && n >= 0 && n < this.r.m.length) { - return this.r.m[n]; - } else { - throw haxe_Exception.thrown("EReg::matched"); - } - } - ,matchedRight: function() { - if(this.r.m == null) { - throw haxe_Exception.thrown("No string matched"); - } - var sz = this.r.m.index + this.r.m[0].length; - return HxOverrides.substr(this.r.s,sz,this.r.s.length - sz); - } - ,matchedPos: function() { - if(this.r.m == null) { - throw haxe_Exception.thrown("No string matched"); - } - return { pos : this.r.m.index, len : this.r.m[0].length}; - } - ,split: function(s) { - var d = "#__delim__#"; - return s.replace(this.r,d).split(d); - } -}; -var HxOverrides = function() { }; -HxOverrides.__name__ = true; -HxOverrides.cca = function(s,index) { - var x = s.charCodeAt(index); - if(x != x) { - return undefined; - } - return x; -}; -HxOverrides.substr = function(s,pos,len) { - if(len == null) { - len = s.length; - } else if(len < 0) { - if(pos == 0) { - len = s.length + len; - } else { - return ""; - } - } - return s.substr(pos,len); -}; -HxOverrides.now = function() { - return Date.now(); -}; -Math.__name__ = true; -var Reflect = function() { }; -Reflect.__name__ = true; -Reflect.field = function(o,field) { - try { - return o[field]; - } catch( _g ) { - return null; - } -}; -Reflect.getProperty = function(o,field) { - var tmp; - if(o == null) { - return null; - } else { - var tmp1; - if(o.__properties__) { - tmp = o.__properties__["get_" + field]; - tmp1 = tmp; - } else { - tmp1 = false; - } - if(tmp1) { - return o[tmp](); - } else { - return o[field]; - } - } -}; -Reflect.fields = function(o) { - var a = []; - if(o != null) { - var hasOwnProperty = Object.prototype.hasOwnProperty; - for( var f in o ) { - if(f != "__id__" && f != "hx__closures__" && hasOwnProperty.call(o,f)) { - a.push(f); - } - } - } - return a; -}; -Reflect.isObject = function(v) { - if(v == null) { - return false; - } - var t = typeof(v); - if(!(t == "string" || t == "object" && v.__enum__ == null)) { - if(t == "function") { - return (v.__name__ || v.__ename__) != null; - } else { - return false; - } - } else { - return true; - } -}; -Reflect.deleteField = function(o,field) { - if(!Object.prototype.hasOwnProperty.call(o,field)) { - return false; - } - delete(o[field]); - return true; -}; -Reflect.copy = function(o) { - if(o == null) { - return null; - } - var o2 = { }; - var _g = 0; - var _g1 = Reflect.fields(o); - while(_g < _g1.length) { - var f = _g1[_g]; - ++_g; - o2[f] = Reflect.field(o,f); - } - return o2; -}; -var Std = function() { }; -Std.__name__ = true; -Std.string = function(s) { - return js_Boot.__string_rec(s,""); -}; -Std.parseInt = function(x) { - var v = parseInt(x); - if(isNaN(v)) { - return null; - } - return v; -}; -var StringBuf = function() { - this.b = ""; -}; -StringBuf.__name__ = true; -var StringTools = function() { }; -StringTools.__name__ = true; -StringTools.isSpace = function(s,pos) { - var c = HxOverrides.cca(s,pos); - if(!(c > 8 && c < 14)) { - return c == 32; - } else { - return true; - } -}; -StringTools.ltrim = function(s) { - var l = s.length; - var r = 0; - while(r < l && StringTools.isSpace(s,r)) ++r; - if(r > 0) { - return HxOverrides.substr(s,r,l - r); - } else { - return s; - } -}; -StringTools.rtrim = function(s) { - var l = s.length; - var r = 0; - while(r < l && StringTools.isSpace(s,l - r - 1)) ++r; - if(r > 0) { - return HxOverrides.substr(s,0,l - r); - } else { - return s; - } -}; -StringTools.trim = function(s) { - return StringTools.ltrim(StringTools.rtrim(s)); -}; -StringTools.replace = function(s,sub,by) { - return s.split(sub).join(by); -}; -var haxe_Exception = function(message,previous,native) { - Error.call(this,message); - this.message = message; - this.__previousException = previous; - this.__nativeException = native != null ? native : this; -}; -haxe_Exception.__name__ = true; -haxe_Exception.caught = function(value) { - if(((value) instanceof haxe_Exception)) { - return value; - } else if(((value) instanceof Error)) { - return new haxe_Exception(value.message,null,value); - } else { - return new haxe_ValueException(value,null,value); - } -}; -haxe_Exception.thrown = function(value) { - if(((value) instanceof haxe_Exception)) { - return value.get_native(); - } else if(((value) instanceof Error)) { - return value; - } else { - var e = new haxe_ValueException(value); - return e; - } -}; -haxe_Exception.__super__ = Error; -haxe_Exception.prototype = $extend(Error.prototype,{ - unwrap: function() { - return this.__nativeException; - } - ,get_native: function() { - return this.__nativeException; - } - ,__properties__: {get_native:"get_native"} -}); -var haxe__$Template_TemplateExpr = $hxEnums["haxe._Template.TemplateExpr"] = { __ename__:true,__constructs__:null - ,OpVar: ($_=function(v) { return {_hx_index:0,v:v,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpVar",$_.__params__ = ["v"],$_) - ,OpExpr: ($_=function(expr) { return {_hx_index:1,expr:expr,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpExpr",$_.__params__ = ["expr"],$_) - ,OpIf: ($_=function(expr,eif,eelse) { return {_hx_index:2,expr:expr,eif:eif,eelse:eelse,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpIf",$_.__params__ = ["expr","eif","eelse"],$_) - ,OpStr: ($_=function(str) { return {_hx_index:3,str:str,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpStr",$_.__params__ = ["str"],$_) - ,OpBlock: ($_=function(l) { return {_hx_index:4,l:l,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpBlock",$_.__params__ = ["l"],$_) - ,OpForeach: ($_=function(expr,loop) { return {_hx_index:5,expr:expr,loop:loop,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpForeach",$_.__params__ = ["expr","loop"],$_) - ,OpMacro: ($_=function(name,params) { return {_hx_index:6,name:name,params:params,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpMacro",$_.__params__ = ["name","params"],$_) -}; -haxe__$Template_TemplateExpr.__constructs__ = [haxe__$Template_TemplateExpr.OpVar,haxe__$Template_TemplateExpr.OpExpr,haxe__$Template_TemplateExpr.OpIf,haxe__$Template_TemplateExpr.OpStr,haxe__$Template_TemplateExpr.OpBlock,haxe__$Template_TemplateExpr.OpForeach,haxe__$Template_TemplateExpr.OpMacro]; -var haxe_iterators_ArrayIterator = function(array) { - this.current = 0; - this.array = array; -}; -haxe_iterators_ArrayIterator.__name__ = true; -haxe_iterators_ArrayIterator.prototype = { - hasNext: function() { - return this.current < this.array.length; - } - ,next: function() { - return this.array[this.current++]; - } -}; -var haxe_Template = function(str) { - var tokens = this.parseTokens(str); - this.expr = this.parseBlock(tokens); - if(!tokens.isEmpty()) { - throw haxe_Exception.thrown("Unexpected '" + Std.string(tokens.first().s) + "'"); - } -}; -haxe_Template.__name__ = true; -haxe_Template.prototype = { - execute: function(context,macros) { - this.macros = macros == null ? { } : macros; - this.context = context; - this.stack = new haxe_ds_List(); - this.buf = new StringBuf(); - this.run(this.expr); - return this.buf.b; - } - ,resolve: function(v) { - if(v == "__current__") { - return this.context; - } - if(Reflect.isObject(this.context)) { - var value = Reflect.getProperty(this.context,v); - if(value != null || Object.prototype.hasOwnProperty.call(this.context,v)) { - return value; - } - } - var _g_head = this.stack.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var ctx = val; - var value = Reflect.getProperty(ctx,v); - if(value != null || Object.prototype.hasOwnProperty.call(ctx,v)) { - return value; - } - } - return Reflect.field(haxe_Template.globals,v); - } - ,parseTokens: function(data) { - var tokens = new haxe_ds_List(); - while(haxe_Template.splitter.match(data)) { - var p = haxe_Template.splitter.matchedPos(); - if(p.pos > 0) { - tokens.add({ p : HxOverrides.substr(data,0,p.pos), s : true, l : null}); - } - if(HxOverrides.cca(data,p.pos) == 58) { - tokens.add({ p : HxOverrides.substr(data,p.pos + 2,p.len - 4), s : false, l : null}); - data = haxe_Template.splitter.matchedRight(); - continue; - } - var parp = p.pos + p.len; - var npar = 1; - var params = []; - var part = ""; - while(true) { - var c = HxOverrides.cca(data,parp); - ++parp; - if(c == 40) { - ++npar; - } else if(c == 41) { - --npar; - if(npar <= 0) { - break; - } - } else if(c == null) { - throw haxe_Exception.thrown("Unclosed macro parenthesis"); - } - if(c == 44 && npar == 1) { - params.push(part); - part = ""; - } else { - part += String.fromCodePoint(c); - } - } - params.push(part); - tokens.add({ p : haxe_Template.splitter.matched(2), s : false, l : params}); - data = HxOverrides.substr(data,parp,data.length - parp); - } - if(data.length > 0) { - tokens.add({ p : data, s : true, l : null}); - } - return tokens; - } - ,parseBlock: function(tokens) { - var l = new haxe_ds_List(); - while(true) { - var t = tokens.first(); - if(t == null) { - break; - } - if(!t.s && (t.p == "end" || t.p == "else" || HxOverrides.substr(t.p,0,7) == "elseif ")) { - break; - } - l.add(this.parse(tokens)); - } - if(l.length == 1) { - return l.first(); - } - return haxe__$Template_TemplateExpr.OpBlock(l); - } - ,parse: function(tokens) { - var t = tokens.pop(); - var p = t.p; - if(t.s) { - return haxe__$Template_TemplateExpr.OpStr(p); - } - if(t.l != null) { - var pe = new haxe_ds_List(); - var _g = 0; - var _g1 = t.l; - while(_g < _g1.length) { - var p1 = _g1[_g]; - ++_g; - pe.add(this.parseBlock(this.parseTokens(p1))); - } - return haxe__$Template_TemplateExpr.OpMacro(p,pe); - } - var kwdEnd = function(kwd) { - var pos = -1; - var length = kwd.length; - if(HxOverrides.substr(p,0,length) == kwd) { - pos = length; - var _g_offset = 0; - var _g_s = HxOverrides.substr(p,length,null); - while(_g_offset < _g_s.length) { - var c = _g_s.charCodeAt(_g_offset++); - if(c == 32) { - ++pos; - } else { - break; - } - } - } - return pos; - }; - var pos = kwdEnd("if"); - if(pos > 0) { - p = HxOverrides.substr(p,pos,p.length - pos); - var e = this.parseExpr(p); - var eif = this.parseBlock(tokens); - var t = tokens.first(); - var eelse; - if(t == null) { - throw haxe_Exception.thrown("Unclosed 'if'"); - } - if(t.p == "end") { - tokens.pop(); - eelse = null; - } else if(t.p == "else") { - tokens.pop(); - eelse = this.parseBlock(tokens); - t = tokens.pop(); - if(t == null || t.p != "end") { - throw haxe_Exception.thrown("Unclosed 'else'"); - } - } else { - t.p = HxOverrides.substr(t.p,4,t.p.length - 4); - eelse = this.parse(tokens); - } - return haxe__$Template_TemplateExpr.OpIf(e,eif,eelse); - } - var pos = kwdEnd("foreach"); - if(pos >= 0) { - p = HxOverrides.substr(p,pos,p.length - pos); - var e = this.parseExpr(p); - var efor = this.parseBlock(tokens); - var t = tokens.pop(); - if(t == null || t.p != "end") { - throw haxe_Exception.thrown("Unclosed 'foreach'"); - } - return haxe__$Template_TemplateExpr.OpForeach(e,efor); - } - if(haxe_Template.expr_splitter.match(p)) { - return haxe__$Template_TemplateExpr.OpExpr(this.parseExpr(p)); - } - return haxe__$Template_TemplateExpr.OpVar(p); - } - ,parseExpr: function(data) { - var l = new haxe_ds_List(); - var expr = data; - while(haxe_Template.expr_splitter.match(data)) { - var p = haxe_Template.expr_splitter.matchedPos(); - var k = p.pos + p.len; - if(p.pos != 0) { - l.add({ p : HxOverrides.substr(data,0,p.pos), s : true}); - } - var p1 = haxe_Template.expr_splitter.matched(0); - l.add({ p : p1, s : p1.indexOf("\"") >= 0}); - data = haxe_Template.expr_splitter.matchedRight(); - } - if(data.length != 0) { - var _g_offset = 0; - var _g_s = data; - while(_g_offset < _g_s.length) { - var _g_key = _g_offset; - var _g_value = _g_s.charCodeAt(_g_offset++); - var i = _g_key; - var c = _g_value; - if(c != 32) { - l.add({ p : HxOverrides.substr(data,i,null), s : true}); - break; - } - } - } - var e; - try { - e = this.makeExpr(l); - if(!l.isEmpty()) { - throw haxe_Exception.thrown(l.first().p); - } - } catch( _g ) { - var _g1 = haxe_Exception.caught(_g).unwrap(); - if(typeof(_g1) == "string") { - var s = _g1; - throw haxe_Exception.thrown("Unexpected '" + s + "' in " + expr); - } else { - throw _g; - } - } - return function() { - try { - return e(); - } catch( _g ) { - var exc = haxe_Exception.caught(_g).unwrap(); - throw haxe_Exception.thrown("Error : " + Std.string(exc) + " in " + expr); - } - }; - } - ,makeConst: function(v) { - haxe_Template.expr_trim.match(v); - v = haxe_Template.expr_trim.matched(1); - if(HxOverrides.cca(v,0) == 34) { - var str = HxOverrides.substr(v,1,v.length - 2); - return function() { - return str; - }; - } - if(haxe_Template.expr_int.match(v)) { - var i = Std.parseInt(v); - return function() { - return i; - }; - } - if(haxe_Template.expr_float.match(v)) { - var f = parseFloat(v); - return function() { - return f; - }; - } - var me = this; - return function() { - return me.resolve(v); - }; - } - ,makePath: function(e,l) { - var p = l.first(); - if(p == null || p.p != ".") { - return e; - } - l.pop(); - var field = l.pop(); - if(field == null || !field.s) { - throw haxe_Exception.thrown(field.p); - } - var f = field.p; - haxe_Template.expr_trim.match(f); - f = haxe_Template.expr_trim.matched(1); - return this.makePath(function() { - return Reflect.field(e(),f); - },l); - } - ,makeExpr: function(l) { - return this.makePath(this.makeExpr2(l),l); - } - ,skipSpaces: function(l) { - var p = l.first(); - while(p != null) { - var _g_offset = 0; - var _g_s = p.p; - while(_g_offset < _g_s.length) { - var c = _g_s.charCodeAt(_g_offset++); - if(c != 32) { - return; - } - } - l.pop(); - p = l.first(); - } - } - ,makeExpr2: function(l) { - this.skipSpaces(l); - var p = l.pop(); - this.skipSpaces(l); - if(p == null) { - throw haxe_Exception.thrown(""); - } - if(p.s) { - return this.makeConst(p.p); - } - switch(p.p) { - case "!": - var e = this.makeExpr(l); - return function() { - var v = e(); - if(v != null) { - return v == false; - } else { - return true; - } - }; - case "(": - this.skipSpaces(l); - var e1 = this.makeExpr(l); - this.skipSpaces(l); - var p1 = l.pop(); - if(p1 == null || p1.s) { - throw haxe_Exception.thrown(p1); - } - if(p1.p == ")") { - return e1; - } - this.skipSpaces(l); - var e2 = this.makeExpr(l); - this.skipSpaces(l); - var p2 = l.pop(); - this.skipSpaces(l); - if(p2 == null || p2.p != ")") { - throw haxe_Exception.thrown(p2); - } - switch(p1.p) { - case "!=": - return function() { - return e1() != e2(); - }; - case "&&": - return function() { - return e1() && e2(); - }; - case "*": - return function() { - return e1() * e2(); - }; - case "+": - return function() { - return e1() + e2(); - }; - case "-": - return function() { - return e1() - e2(); - }; - case "/": - return function() { - return e1() / e2(); - }; - case "<": - return function() { - return e1() < e2(); - }; - case "<=": - return function() { - return e1() <= e2(); - }; - case "==": - return function() { - return e1() == e2(); - }; - case ">": - return function() { - return e1() > e2(); - }; - case ">=": - return function() { - return e1() >= e2(); - }; - case "||": - return function() { - return e1() || e2(); - }; - default: - throw haxe_Exception.thrown("Unknown operation " + p1.p); - } - break; - case "-": - var e3 = this.makeExpr(l); - return function() { - return -e3(); - }; - } - throw haxe_Exception.thrown(p.p); - } - ,run: function(e) { - switch(e._hx_index) { - case 0: - var v = e.v; - var _this = this.buf; - var x = Std.string(this.resolve(v)); - _this.b += Std.string(x); - break; - case 1: - var e1 = e.expr; - var _this = this.buf; - var x = Std.string(e1()); - _this.b += Std.string(x); - break; - case 2: - var e1 = e.expr; - var eif = e.eif; - var eelse = e.eelse; - var v = e1(); - if(v == null || v == false) { - if(eelse != null) { - this.run(eelse); - } - } else { - this.run(eif); - } - break; - case 3: - var str = e.str; - this.buf.b += str == null ? "null" : "" + str; - break; - case 4: - var l = e.l; - var _g_head = l.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var e1 = val; - this.run(e1); - } - break; - case 5: - var e1 = e.expr; - var loop = e.loop; - var v = e1(); - try { - var x = $getIterator(v); - if(x.hasNext == null) { - throw haxe_Exception.thrown(null); - } - v = x; - } catch( _g ) { - try { - if(v.hasNext == null) { - throw haxe_Exception.thrown(null); - } - } catch( _g1 ) { - throw haxe_Exception.thrown("Cannot iter on " + Std.string(v)); - } - } - this.stack.push(this.context); - var v1 = v; - var ctx = v1; - while(ctx.hasNext()) { - var ctx1 = ctx.next(); - this.context = ctx1; - this.run(loop); - } - this.context = this.stack.pop(); - break; - case 6: - var m = e.name; - var params = e.params; - var v = Reflect.field(this.macros,m); - var pl = []; - var old = this.buf; - pl.push($bind(this,this.resolve)); - var _g_head = params.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var p = val; - if(p._hx_index == 0) { - var v1 = p.v; - pl.push(this.resolve(v1)); - } else { - this.buf = new StringBuf(); - this.run(p); - pl.push(this.buf.b); - } - } - this.buf = old; - try { - var _this = this.buf; - var x = Std.string(v.apply(this.macros,pl)); - _this.b += Std.string(x); - } catch( _g ) { - var e = haxe_Exception.caught(_g).unwrap(); - var plstr; - try { - plstr = pl.join(","); - } catch( _g1 ) { - plstr = "???"; - } - var msg = "Macro call " + m + "(" + plstr + ") failed (" + Std.string(e) + ")"; - throw haxe_Exception.thrown(msg); - } - break; - } - } -}; -var haxe_ValueException = function(value,previous,native) { - haxe_Exception.call(this,String(value),previous,native); - this.value = value; -}; -haxe_ValueException.__name__ = true; -haxe_ValueException.__super__ = haxe_Exception; -haxe_ValueException.prototype = $extend(haxe_Exception.prototype,{ - unwrap: function() { - return this.value; - } -}); -var haxe_ds_List = function() { - this.length = 0; -}; -haxe_ds_List.__name__ = true; -haxe_ds_List.prototype = { - add: function(item) { - var x = new haxe_ds__$List_ListNode(item,null); - if(this.h == null) { - this.h = x; - } else { - this.q.next = x; - } - this.q = x; - this.length++; - } - ,push: function(item) { - var x = new haxe_ds__$List_ListNode(item,this.h); - this.h = x; - if(this.q == null) { - this.q = x; - } - this.length++; - } - ,first: function() { - if(this.h == null) { - return null; - } else { - return this.h.item; - } - } - ,pop: function() { - if(this.h == null) { - return null; - } - var x = this.h.item; - this.h = this.h.next; - if(this.h == null) { - this.q = null; - } - this.length--; - return x; - } - ,isEmpty: function() { - return this.h == null; - } - ,toString: function() { - var s_b = ""; - var first = true; - var l = this.h; - s_b += "{"; - while(l != null) { - if(first) { - first = false; - } else { - s_b += ", "; - } - s_b += Std.string(Std.string(l.item)); - l = l.next; - } - s_b += "}"; - return s_b; - } -}; -var haxe_ds__$List_ListNode = function(item,next) { - this.item = item; - this.next = next; -}; -haxe_ds__$List_ListNode.__name__ = true; -var js_Boot = function() { }; -js_Boot.__name__ = true; -js_Boot.__string_rec = function(o,s) { - if(o == null) { - return "null"; - } - if(s.length >= 5) { - return "<...>"; - } - var t = typeof(o); - if(t == "function" && (o.__name__ || o.__ename__)) { - t = "object"; - } - switch(t) { - case "function": - return ""; - case "object": - if(o.__enum__) { - var e = $hxEnums[o.__enum__]; - var con = e.__constructs__[o._hx_index]; - var n = con._hx_name; - if(con.__params__) { - s = s + "\t"; - return n + "(" + ((function($this) { - var $r; - var _g = []; - { - var _g1 = 0; - var _g2 = con.__params__; - while(true) { - if(!(_g1 < _g2.length)) { - break; - } - var p = _g2[_g1]; - _g1 = _g1 + 1; - _g.push(js_Boot.__string_rec(o[p],s)); - } - } - $r = _g; - return $r; - }(this))).join(",") + ")"; - } else { - return n; - } - } - if(((o) instanceof Array)) { - var str = "["; - s += "\t"; - var _g = 0; - var _g1 = o.length; - while(_g < _g1) { - var i = _g++; - str += (i > 0 ? "," : "") + js_Boot.__string_rec(o[i],s); - } - str += "]"; - return str; - } - var tostr; - try { - tostr = o.toString; - } catch( _g ) { - return "???"; - } - if(tostr != null && tostr != Object.toString && typeof(tostr) == "function") { - var s2 = o.toString(); - if(s2 != "[object Object]") { - return s2; - } - } - var str = "{\n"; - s += "\t"; - var hasp = o.hasOwnProperty != null; - var k = null; - for( k in o ) { - if(hasp && !o.hasOwnProperty(k)) { - continue; - } - if(k == "prototype" || k == "__class__" || k == "__super__" || k == "__interfaces__" || k == "__properties__") { - continue; - } - if(str.length != 2) { - str += ", \n"; - } - str += s + k + " : " + js_Boot.__string_rec(o[k],s); - } - s = s.substring(1); - str += "\n" + s + "}"; - return str; - case "string": - return o; - default: - return String(o); - } -}; -var xrfragment_Filter = $hx_exports["xrfragment"]["Filter"] = function(str) { - this.q = { }; - this.str = ""; - if(str != null) { - this.parse(str); - } -}; -xrfragment_Filter.__name__ = true; -xrfragment_Filter.prototype = { - toObject: function() { - return Reflect.copy(this.q); - } - ,get: function() { - return Reflect.copy(this.q); - } - ,parse: function(str) { - var token = str.split(" "); - var q = { }; - var process = function(str,prefix) { - if(prefix == null) { - prefix = ""; - } - str = StringTools.trim(str); - var k = str.split("=")[0]; - var v = str.split("=")[1]; - var filter = { }; - if(q[prefix + k]) { - filter = q[prefix + k]; - } - if(xrfragment_XRF.isProp.match(str)) { - var oper = ""; - if(str.indexOf(">") != -1) { - oper = ">"; - } - if(str.indexOf("<") != -1) { - oper = "<"; - } - if(xrfragment_XRF.isExclude.match(k)) { - k = HxOverrides.substr(k,1,null); - } - v = HxOverrides.substr(v,oper.length,null); - if(oper.length == 0) { - oper = "="; - } - var rule = { }; - if(xrfragment_XRF.isNumber.match(v)) { - rule[oper] = parseFloat(v); - } else { - rule[oper] = v; - } - q["expr"] = rule; - } - var value = xrfragment_XRF.isDeep.match(str) ? k.split("*").length - 1 : 0; - q["deep"] = value; - var value = xrfragment_XRF.isExclude.match(str) ? false : true; - q["show"] = value; - var value = k.replace(xrfragment_XRF.operators.r,""); - q["key"] = value; - q["value"] = v; - }; - var _g = 0; - var _g1 = token.length; - while(_g < _g1) { - var i = _g++; - process(token[i]); - } - return this.q = q; - } - ,test: function(obj) { - var qualify = false; - var _g = 0; - var _g1 = Reflect.fields(obj); - while(_g < _g1.length) { - var k = _g1[_g]; - ++_g; - var v = Std.string(Reflect.field(obj,k)); - if(this.testProperty(k,v)) { - qualify = true; - } - } - var _g = 0; - var _g1 = Reflect.fields(obj); - while(_g < _g1.length) { - var k = _g1[_g]; - ++_g; - var v = Std.string(Reflect.field(obj,k)); - if(this.testProperty(k,v,true)) { - qualify = false; - } - } - return qualify; - } - ,testProperty: function(property,value,exclude) { - var conds = 0; - var fails = 0; - var qualify = 0; - var testprop = function(expr) { - conds += 1; - fails += expr ? 0 : 1; - return expr; - }; - if(this.q[value] != null) { - var v = this.q[value]; - if(v[property] != null) { - return v[property]; - } - } - if(Reflect.field(this.q,"expr")) { - var f = Reflect.field(this.q,"expr"); - if(!Reflect.field(this.q,"show")) { - if(Reflect.field(f,"!=") != null && testprop((value == null ? "null" : "" + value) == Std.string(Reflect.field(f,"!="))) && exclude) { - ++qualify; - } - } else { - if(Reflect.field(f,"*") != null && testprop(parseFloat(value) != null)) { - ++qualify; - } - if(Reflect.field(f,">") != null && testprop(parseFloat(value) >= parseFloat(Reflect.field(f,">")))) { - ++qualify; - } - if(Reflect.field(f,"<") != null && testprop(parseFloat(value) <= parseFloat(Reflect.field(f,"<")))) { - ++qualify; - } - if(Reflect.field(f,"=") != null && (testprop(value == Reflect.field(f,"=")) || testprop(parseFloat(value) == parseFloat(Reflect.field(f,"="))))) { - ++qualify; - } - } - } - return qualify > 0; - } -}; -var xrfragment_Parser = $hx_exports["xrfragment"]["Parser"] = function() { }; -xrfragment_Parser.__name__ = true; -xrfragment_Parser.parse = function(key,value,store,index) { - var Frag_h = Object.create(null); - Frag_h["#"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_PREDEFINED_VIEW | xrfragment_XRF.PV_EXECUTE; - Frag_h["src"] = xrfragment_XRF.T_URL; - Frag_h["href"] = xrfragment_XRF.T_URL | xrfragment_XRF.T_PREDEFINED_VIEW; - Frag_h["tag"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["pos"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_VECTOR3 | xrfragment_XRF.T_STRING | xrfragment_XRF.METADATA | xrfragment_XRF.NAVIGATOR; - Frag_h["rot"] = xrfragment_XRF.QUERY_OPERATOR | xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_VECTOR3 | xrfragment_XRF.METADATA | xrfragment_XRF.NAVIGATOR; - Frag_h["t"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_FLOAT | xrfragment_XRF.T_VECTOR2 | xrfragment_XRF.NAVIGATOR | xrfragment_XRF.METADATA; - Frag_h["s"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_MEDIAFRAG; - Frag_h["loop"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_PREDEFINED_VIEW; - Frag_h["uv"] = xrfragment_XRF.T_VECTOR2 | xrfragment_XRF.T_MEDIAFRAG; - Frag_h["namespace"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["SPDX"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["unit"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["description"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - var keyStripped = key.replace(xrfragment_XRF.operators.r,""); - var isPVDynamic = key.length > 0 && !Object.prototype.hasOwnProperty.call(Frag_h,key); - if(isPVDynamic) { - var v = new xrfragment_XRF(key,xrfragment_XRF.PV_EXECUTE | xrfragment_XRF.NAVIGATOR,index); - v.validate(value); - v.flags = xrfragment_XRF.set(xrfragment_XRF.T_DYNAMICKEY,v.flags); - if(!Object.prototype.hasOwnProperty.call(Frag_h,key)) { - v.flags = xrfragment_XRF.set(xrfragment_XRF.CUSTOMFRAG,v.flags); - } - if(value.length == 0) { - v.flags = xrfragment_XRF.set(xrfragment_XRF.T_DYNAMICKEYVALUE,v.flags); - } - store[keyStripped] = v; - return true; - } - var v = new xrfragment_XRF(key,Frag_h[key],index); - if(Object.prototype.hasOwnProperty.call(Frag_h,key)) { - if(!v.validate(value)) { - console.log("src/xrfragment/Parser.hx:67:","⚠ fragment '" + key + "' has incompatible value (" + value + ")"); - return false; - } - store[keyStripped] = v; - if(xrfragment_Parser.debug) { - console.log("src/xrfragment/Parser.hx:71:","✔ " + key + ": " + v.string); - } - } else { - if(typeof(value) == "string") { - v.guessType(v,value); - } - v.flags = xrfragment_XRF.set(xrfragment_XRF.CUSTOMFRAG,v.flags); - store[keyStripped] = v; - } - return true; -}; -xrfragment_Parser.getMetaData = function() { - var meta = { title : ["title","og:title","dc.title"], description : ["aria-description","og:description","dc.description"], author : ["author","dc.creator"], publisher : ["publisher","dc.publisher"], website : ["og:site_name","og:url","dc.publisher"], license : ["SPDX","dc.rights"]}; - return meta; -}; -var xrfragment_URI = $hx_exports["xrfragment"]["URI"] = function() { - this.XRF = { }; - this.hash = { }; - this.fragment = ""; -}; -xrfragment_URI.__name__ = true; -xrfragment_URI.parseFragment = function(url,filter) { - var store = { }; - if(url == null || url.indexOf("#") == -1) { - return store; - } - var fragment = url.split("#"); - var splitArray = fragment[1].split("&"); - var _g = 0; - var _g1 = splitArray.length; - while(_g < _g1) { - var i = _g++; - var splitByEqual = splitArray[i].split("="); - var regexPlus = new EReg("\\+","g"); - var key = splitByEqual[0]; - var value = ""; - if(splitByEqual.length > 1) { - if(xrfragment_XRF.isVector.match(splitByEqual[1])) { - value = splitByEqual[1]; - } else { - var s = regexPlus.split(splitByEqual[1]).join(" "); - value = decodeURIComponent(s.split("+").join(" ")); - } - } - var ok = xrfragment_Parser.parse(key,value,store,i); - } - if(filter != null && filter != 0) { - var _g = 0; - var _g1 = Reflect.fields(store); - while(_g < _g1.length) { - var key = _g1[_g]; - ++_g; - var xrf = store[key]; - if(!xrf.is(filter)) { - Reflect.deleteField(store,key); - } - } - } - return store; -}; -xrfragment_URI.template = function(uri,vars) { - var parts = uri.split("#"); - if(parts.length == 1) { - return uri; - } - var frag = parts[1]; - frag = StringTools.replace(frag,"{","::"); - frag = StringTools.replace(frag,"}","::"); - frag = new haxe_Template(frag).execute(vars); - frag = StringTools.replace(frag,"null",""); - parts[1] = frag; - return parts.join("#"); -}; -xrfragment_URI.parse = function(stringUrl,flags) { - var r = new EReg("^(?:(?![^:@]+:[^:@/]*@)([^:/?#.]+):)?(?://)?((?:(([^:@]*)(?::([^:@]*))?)?@)?([^:/?#]*)(?::(\\d*))?)(((/(?:[^?#](?![^?#/]*\\.[^?#/.]+(?:[?#]|$)))*/?)?([^?#/]*))(?:\\?([^#]*))?(?:#(.*))?)",""); - if(stringUrl.indexOf("://") == -1 && stringUrl.charAt(0) != "/") { - stringUrl = "/" + stringUrl; - } - r.match(stringUrl); - var url = new xrfragment_URI(); - var _g = 0; - var _g1 = xrfragment_URI._parts.length; - while(_g < _g1) { - var i = _g++; - url[xrfragment_URI._parts[i]] = r.matched(i); - } - if(xrfragment_URI.isRelative(url) == true) { - if(url.directory == null && url.host != null) { - url.file = url.host; - } - url.host = ""; - } - url.hash = { }; - if(url.fragment != null && url.fragment.length > 0) { - url.XRF = xrfragment_URI.parseFragment("#" + url.fragment,flags); - var key; - var _g = 0; - var _g1 = Reflect.fields(url.XRF); - while(_g < _g1.length) { - var key = _g1[_g]; - ++_g; - var v = url.XRF[key]; - url.hash[key] = v["string"]; - } - } - xrfragment_URI.computeVars(url); - return url; -}; -xrfragment_URI.computeVars = function(url) { - var r_r = new RegExp("//","g".split("u").join("")); - if(url.directory != null && url.directory.indexOf("//") != -1) { - url.directory = url.directory.replace(r_r,"/"); - } - if(url.path != null && url.path.indexOf("//") != -1) { - url.path = url.path.replace(r_r,"/"); - } - if(url.file != null && url.file.indexOf("//") != -1) { - url.file = url.file.replace(r_r,"/"); - } - url.URN = url.scheme + "://" + url.host; - if(url.port != null) { - url.URN += ":" + url.port; - } - url.URN += url.directory; - if(url.file != null) { - var parts = url.file.split("."); - if(parts.length > 1) { - url.fileExt = parts.pop(); - } - } -}; -xrfragment_URI.toString = function(url) { - var result = ""; - if(url.scheme != null) { - result += url.scheme + "://"; - } - if(url.user != null) { - result += url.user + ":"; - } - if(url.password != null) { - result += url.password + "@"; - } - if(url.host != null) { - result += url.host; - } - if(url.port != null) { - result += ":" + url.port; - } - if(url.directory != null) { - result += url.directory; - } - if(url.file != null) { - result += url.file; - } - if(url.query != null) { - result += "?" + url.query; - } - if(url.fragment != null) { - result += "#" + url.fragment; - } - return result; -}; -xrfragment_URI.appendURI = function(url,appendedURI) { - if(xrfragment_URI.isRelative(url) == true) { - return xrfragment_URI.appendToRelativeURI(url,appendedURI); - } else { - return xrfragment_URI.appendToAbsoluteURI(url,appendedURI); - } -}; -xrfragment_URI.isRelative = function(url) { - return url.scheme == null; -}; -xrfragment_URI.appendToRelativeURI = function(url,appendedURI) { - if(url.directory == null || url.host == null) { - return xrfragment_URI.cloneURI(appendedURI); - } - var resultURI = new xrfragment_URI(); - resultURI.host = url.host; - resultURI.directory = url.directory; - if(appendedURI.host != null) { - resultURI.directory += appendedURI.host; - } - if(appendedURI.directory != null) { - var directory = appendedURI.directory; - if(appendedURI.host == null) { - resultURI.directory += HxOverrides.substr(directory,1,null); - } else { - resultURI.directory += directory; - } - } - if(appendedURI.file != null) { - resultURI.file = appendedURI.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(appendedURI.query != null) { - resultURI.query = appendedURI.query; - } - if(appendedURI.fragment != null) { - resultURI.fragment = appendedURI.fragment; - } - return resultURI; -}; -xrfragment_URI.appendToAbsoluteURI = function(url,appendedURI) { - var resultURI = new xrfragment_URI(); - if(url.scheme != null) { - resultURI.scheme = url.scheme; - } - if(url.host != null) { - resultURI.host = url.host; - } - var directory = ""; - if(url.directory != null) { - directory = url.directory; - } - if(appendedURI.host != null) { - appendedURI.directory += appendedURI.host; - } - if(appendedURI.directory != null) { - directory += appendedURI.directory; - } - resultURI.directory = directory; - if(appendedURI.file != null) { - resultURI.file = appendedURI.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(appendedURI.query != null) { - resultURI.query = appendedURI.query; - } - if(appendedURI.fragment != null) { - resultURI.fragment = appendedURI.fragment; - } - return resultURI; -}; -xrfragment_URI.toAbsolute = function(url,newUrl) { - var newURI = xrfragment_URI.parse(newUrl,0); - var resultURI = new xrfragment_URI(); - resultURI.port = url.port; - resultURI.source = newUrl; - if(newURI.scheme != null) { - resultURI.scheme = newURI.scheme; - } else { - resultURI.scheme = url.scheme; - } - if(newURI.host != null && newURI.host.length > 0) { - resultURI.host = newURI.host; - resultURI.port = null; - resultURI.fragment = null; - resultURI.hash = { }; - resultURI.XRF = { }; - if(newURI.port != null) { - resultURI.port = newURI.port; - } - } else { - resultURI.host = url.host; - } - var directory = ""; - if(url.directory != null) { - directory = url.directory; - } - if(newURI.directory != null) { - if(newUrl.charAt(0) != "/" && newUrl.indexOf("://") == -1) { - var stripRelative_r = new RegExp("\\./.*","".split("u").join("")); - directory = directory.replace(stripRelative_r,""); - directory += newURI.directory; - } else { - directory = newURI.directory; - } - } - resultURI.directory = directory; - if(newURI.file != null) { - resultURI.file = newURI.file; - } else { - resultURI.file = url.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(newURI.query != null) { - resultURI.query = newURI.query; - } - if(newURI.fragment != null) { - resultURI.fragment = newURI.fragment; - } - resultURI.hash = newURI.hash; - resultURI.XRF = newURI.XRF; - xrfragment_URI.computeVars(resultURI); - return resultURI; -}; -xrfragment_URI.cloneURI = function(url) { - var clonedURI = new xrfragment_URI(); - clonedURI.url = url.url; - clonedURI.source = url.source; - clonedURI.scheme = url.scheme; - clonedURI.authority = url.authority; - clonedURI.userInfo = url.userInfo; - clonedURI.password = url.password; - clonedURI.host = url.host; - clonedURI.port = url.port; - clonedURI.relative = url.relative; - clonedURI.path = url.path; - clonedURI.directory = url.directory; - clonedURI.file = url.file; - clonedURI.query = url.query; - clonedURI.fragment = url.fragment; - return clonedURI; -}; -var xrfragment_XRF = $hx_exports["xrfragment"]["XRF"] = function(_fragment,_flags,_index) { - this.floats = []; - this.shift = []; - this.fragment = _fragment; - this.flags = _flags; - this.index = _index; -}; -xrfragment_XRF.__name__ = true; -xrfragment_XRF.set = function(flag,flags) { - return flags | flag; -}; -xrfragment_XRF.unset = function(flag,flags) { - return flags & ~flag; -}; -xrfragment_XRF.prototype = { - is: function(flag) { - var v = this.flags; - if(!(typeof(v) == "number" && ((v | 0) === v))) { - this.flags = 0; - } - return (this.flags & flag) != 0; - } - ,validate: function(value) { - this.guessType(this,value); - var ok = true; - if(value.length == 0 && !this.is(xrfragment_XRF.T_PREDEFINED_VIEW)) { - ok = false; - } - if(!this.is(xrfragment_XRF.T_FLOAT) && this.is(xrfragment_XRF.T_VECTOR2) && !(typeof(this.x) == "number" && typeof(this.y) == "number")) { - ok = false; - } - if(!(this.is(xrfragment_XRF.T_VECTOR2) || this.is(xrfragment_XRF.T_STRING)) && this.is(xrfragment_XRF.T_VECTOR3) && !(typeof(this.x) == "number" && typeof(this.y) == "number" && typeof(this.z) == "number")) { - ok = false; - } - return ok; - } - ,guessType: function(v,str) { - v.string = str; - if(xrfragment_XRF.isReset.match(v.fragment)) { - v.reset = true; - } - if(v.fragment == "loop") { - v.loop = true; - } - if(typeof(str) != "string") { - return; - } - if(str.length > 0) { - if(xrfragment_XRF.isXRFScheme.match(str)) { - v.xrfScheme = true; - str = str.replace(xrfragment_XRF.isXRFScheme.r,""); - v.string = str; - } - if(str.split(",").length > 1) { - var xyzn = str.split(","); - if(xyzn.length > 0) { - v.x = parseFloat(xyzn[0]); - } - if(xyzn.length > 1) { - v.y = parseFloat(xyzn[1]); - } - if(xyzn.length > 2) { - v.z = parseFloat(xyzn[2]); - } - var _g = 0; - var _g1 = xyzn.length; - while(_g < _g1) { - var i = _g++; - v.shift.push(xrfragment_XRF.isShift.match(xyzn[i])); - v.floats.push(parseFloat(xyzn[i].replace(xrfragment_XRF.isShift.r,""))); - } - } - if(xrfragment_XRF.isColor.match(str)) { - v.color = str; - } - if(xrfragment_XRF.isFloat.match(str)) { - v.x = parseFloat(str); - v.float = v.x; - } - if(xrfragment_XRF.isInt.match(str)) { - v.int = Std.parseInt(str); - v.x = v.int; - v.floats.push(v.x); - } - v.filter = new xrfragment_Filter(v.fragment + "=" + v.string); - } else { - v.filter = new xrfragment_Filter(v.fragment); - } - } -}; -function $getIterator(o) { if( o instanceof Array ) return new haxe_iterators_ArrayIterator(o); else return o.iterator(); } -function $bind(o,m) { if( m == null ) return null; if( m.__id__ == null ) m.__id__ = $global.$haxeUID++; var f; if( o.hx__closures__ == null ) o.hx__closures__ = {}; else f = o.hx__closures__[m.__id__]; if( f == null ) { f = m.bind(o); o.hx__closures__[m.__id__] = f; } return f; } -$global.$haxeUID |= 0; -if(typeof(performance) != "undefined" ? typeof(performance.now) == "function" : false) { - HxOverrides.now = performance.now.bind(performance); -} -if( String.fromCodePoint == null ) String.fromCodePoint = function(c) { return c < 0x10000 ? String.fromCharCode(c) : String.fromCharCode((c>>10)+0xD7C0)+String.fromCharCode((c&0x3FF)+0xDC00); } -String.__name__ = true; -Array.__name__ = true; -js_Boot.__toStr = ({ }).toString; -haxe_Template.splitter = new EReg("(::[A-Za-z0-9_ ()&|!+=/><*.\"-]+::|\\$\\$([A-Za-z0-9_-]+)\\()",""); -haxe_Template.expr_splitter = new EReg("(\\(|\\)|[ \r\n\t]*\"[^\"]*\"[ \r\n\t]*|[!+=/><*.&|-]+)",""); -haxe_Template.expr_trim = new EReg("^[ ]*([^ ]+)[ ]*$",""); -haxe_Template.expr_int = new EReg("^[0-9]+$",""); -haxe_Template.expr_float = new EReg("^([+-]?)(?=\\d|,\\d)\\d*(,\\d*)?([Ee]([+-]?\\d+))?$",""); -haxe_Template.globals = { }; -haxe_Template.hxKeepArrayIterator = new haxe_iterators_ArrayIterator([]); -xrfragment_Parser.error = ""; -xrfragment_Parser.debug = false; -xrfragment_URI.__meta__ = { statics : { template : { keep : null}}}; -xrfragment_URI._parts = ["source","scheme","authority","userInfo","user","password","host","port","relative","path","directory","file","query","fragment"]; -xrfragment_XRF.IMMUTABLE = 1; -xrfragment_XRF.PROP_BIND = 2; -xrfragment_XRF.QUERY_OPERATOR = 4; -xrfragment_XRF.PROMPT = 8; -xrfragment_XRF.CUSTOMFRAG = 16; -xrfragment_XRF.NAVIGATOR = 32; -xrfragment_XRF.METADATA = 64; -xrfragment_XRF.PV_OVERRIDE = 128; -xrfragment_XRF.PV_EXECUTE = 256; -xrfragment_XRF.T_COLOR = 8192; -xrfragment_XRF.T_INT = 16384; -xrfragment_XRF.T_FLOAT = 32768; -xrfragment_XRF.T_VECTOR2 = 65536; -xrfragment_XRF.T_VECTOR3 = 131072; -xrfragment_XRF.T_URL = 262144; -xrfragment_XRF.T_PREDEFINED_VIEW = 524288; -xrfragment_XRF.T_STRING = 1048576; -xrfragment_XRF.T_MEDIAFRAG = 2097152; -xrfragment_XRF.T_DYNAMICKEY = 4194304; -xrfragment_XRF.T_DYNAMICKEYVALUE = 8388608; -xrfragment_XRF.isColor = new EReg("^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$",""); -xrfragment_XRF.isInt = new EReg("^[-0-9]+$",""); -xrfragment_XRF.isFloat = new EReg("^[-0-9]+\\.[0-9]+$",""); -xrfragment_XRF.isVector = new EReg("([,]+|\\w)",""); -xrfragment_XRF.isUrl = new EReg("(://)?\\..*",""); -xrfragment_XRF.isUrlOrPretypedView = new EReg("(^#|://)?\\..*",""); -xrfragment_XRF.isString = new EReg(".*",""); -xrfragment_XRF.operators = new EReg("(^[-]|^[!]|[\\*]$)","g"); -xrfragment_XRF.isProp = new EReg("^.*=[><=]?",""); -xrfragment_XRF.isExclude = new EReg("^-",""); -xrfragment_XRF.isDeep = new EReg("\\*",""); -xrfragment_XRF.isNumber = new EReg("^[0-9\\.]+$",""); -xrfragment_XRF.isMediaFrag = new EReg("^([0-9\\.,\\*+-]+)$",""); -xrfragment_XRF.isReset = new EReg("^!",""); -xrfragment_XRF.isShift = new EReg("^(\\+|--)",""); -xrfragment_XRF.isXRFScheme = new EReg("^xrf://",""); -})(typeof window != "undefined" ? window : typeof global != "undefined" ? global : typeof self != "undefined" ? self : this); -var xrfragment = $hx_exports["xrfragment"]; -export default xrfragment; -// Generated by Haxe 4.3.3 -var $hx_exports = typeof exports != "undefined" ? exports : typeof window != "undefined" ? window : typeof self != "undefined" ? self : this; -(function ($global) { "use strict"; -$hx_exports["xrfragment"] = $hx_exports["xrfragment"] || {}; -var $estr = function() { return js_Boot.__string_rec(this,''); },$hxEnums = $hxEnums || {},$_; -function $extend(from, fields) { - var proto = Object.create(from); - for (var name in fields) proto[name] = fields[name]; - if( fields.toString !== Object.prototype.toString ) proto.toString = fields.toString; - return proto; -} -var EReg = function(r,opt) { - this.r = new RegExp(r,opt.split("u").join("")); -}; -EReg.__name__ = true; -EReg.prototype = { - match: function(s) { - if(this.r.global) { - this.r.lastIndex = 0; - } - this.r.m = this.r.exec(s); - this.r.s = s; - return this.r.m != null; - } - ,matched: function(n) { - if(this.r.m != null && n >= 0 && n < this.r.m.length) { - return this.r.m[n]; - } else { - throw haxe_Exception.thrown("EReg::matched"); - } - } - ,matchedRight: function() { - if(this.r.m == null) { - throw haxe_Exception.thrown("No string matched"); - } - var sz = this.r.m.index + this.r.m[0].length; - return HxOverrides.substr(this.r.s,sz,this.r.s.length - sz); - } - ,matchedPos: function() { - if(this.r.m == null) { - throw haxe_Exception.thrown("No string matched"); - } - return { pos : this.r.m.index, len : this.r.m[0].length}; - } - ,split: function(s) { - var d = "#__delim__#"; - return s.replace(this.r,d).split(d); - } -}; -var HxOverrides = function() { }; -HxOverrides.__name__ = true; -HxOverrides.cca = function(s,index) { - var x = s.charCodeAt(index); - if(x != x) { - return undefined; - } - return x; -}; -HxOverrides.substr = function(s,pos,len) { - if(len == null) { - len = s.length; - } else if(len < 0) { - if(pos == 0) { - len = s.length + len; - } else { - return ""; - } - } - return s.substr(pos,len); -}; -HxOverrides.now = function() { - return Date.now(); -}; -Math.__name__ = true; -var Reflect = function() { }; -Reflect.__name__ = true; -Reflect.field = function(o,field) { - try { - return o[field]; - } catch( _g ) { - return null; - } -}; -Reflect.getProperty = function(o,field) { - var tmp; - if(o == null) { - return null; - } else { - var tmp1; - if(o.__properties__) { - tmp = o.__properties__["get_" + field]; - tmp1 = tmp; - } else { - tmp1 = false; - } - if(tmp1) { - return o[tmp](); - } else { - return o[field]; - } - } -}; -Reflect.fields = function(o) { - var a = []; - if(o != null) { - var hasOwnProperty = Object.prototype.hasOwnProperty; - for( var f in o ) { - if(f != "__id__" && f != "hx__closures__" && hasOwnProperty.call(o,f)) { - a.push(f); - } - } - } - return a; -}; -Reflect.isObject = function(v) { - if(v == null) { - return false; - } - var t = typeof(v); - if(!(t == "string" || t == "object" && v.__enum__ == null)) { - if(t == "function") { - return (v.__name__ || v.__ename__) != null; - } else { - return false; - } - } else { - return true; - } -}; -Reflect.deleteField = function(o,field) { - if(!Object.prototype.hasOwnProperty.call(o,field)) { - return false; - } - delete(o[field]); - return true; -}; -Reflect.copy = function(o) { - if(o == null) { - return null; - } - var o2 = { }; - var _g = 0; - var _g1 = Reflect.fields(o); - while(_g < _g1.length) { - var f = _g1[_g]; - ++_g; - o2[f] = Reflect.field(o,f); - } - return o2; -}; -var Std = function() { }; -Std.__name__ = true; -Std.string = function(s) { - return js_Boot.__string_rec(s,""); -}; -Std.parseInt = function(x) { - var v = parseInt(x); - if(isNaN(v)) { - return null; - } - return v; -}; -var StringBuf = function() { - this.b = ""; -}; -StringBuf.__name__ = true; -var StringTools = function() { }; -StringTools.__name__ = true; -StringTools.isSpace = function(s,pos) { - var c = HxOverrides.cca(s,pos); - if(!(c > 8 && c < 14)) { - return c == 32; - } else { - return true; - } -}; -StringTools.ltrim = function(s) { - var l = s.length; - var r = 0; - while(r < l && StringTools.isSpace(s,r)) ++r; - if(r > 0) { - return HxOverrides.substr(s,r,l - r); - } else { - return s; - } -}; -StringTools.rtrim = function(s) { - var l = s.length; - var r = 0; - while(r < l && StringTools.isSpace(s,l - r - 1)) ++r; - if(r > 0) { - return HxOverrides.substr(s,0,l - r); - } else { - return s; - } -}; -StringTools.trim = function(s) { - return StringTools.ltrim(StringTools.rtrim(s)); -}; -StringTools.replace = function(s,sub,by) { - return s.split(sub).join(by); -}; -var haxe_Exception = function(message,previous,native) { - Error.call(this,message); - this.message = message; - this.__previousException = previous; - this.__nativeException = native != null ? native : this; -}; -haxe_Exception.__name__ = true; -haxe_Exception.caught = function(value) { - if(((value) instanceof haxe_Exception)) { - return value; - } else if(((value) instanceof Error)) { - return new haxe_Exception(value.message,null,value); - } else { - return new haxe_ValueException(value,null,value); - } -}; -haxe_Exception.thrown = function(value) { - if(((value) instanceof haxe_Exception)) { - return value.get_native(); - } else if(((value) instanceof Error)) { - return value; - } else { - var e = new haxe_ValueException(value); - return e; - } -}; -haxe_Exception.__super__ = Error; -haxe_Exception.prototype = $extend(Error.prototype,{ - unwrap: function() { - return this.__nativeException; - } - ,get_native: function() { - return this.__nativeException; - } - ,__properties__: {get_native:"get_native"} -}); -var haxe__$Template_TemplateExpr = $hxEnums["haxe._Template.TemplateExpr"] = { __ename__:true,__constructs__:null - ,OpVar: ($_=function(v) { return {_hx_index:0,v:v,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpVar",$_.__params__ = ["v"],$_) - ,OpExpr: ($_=function(expr) { return {_hx_index:1,expr:expr,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpExpr",$_.__params__ = ["expr"],$_) - ,OpIf: ($_=function(expr,eif,eelse) { return {_hx_index:2,expr:expr,eif:eif,eelse:eelse,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpIf",$_.__params__ = ["expr","eif","eelse"],$_) - ,OpStr: ($_=function(str) { return {_hx_index:3,str:str,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpStr",$_.__params__ = ["str"],$_) - ,OpBlock: ($_=function(l) { return {_hx_index:4,l:l,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpBlock",$_.__params__ = ["l"],$_) - ,OpForeach: ($_=function(expr,loop) { return {_hx_index:5,expr:expr,loop:loop,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpForeach",$_.__params__ = ["expr","loop"],$_) - ,OpMacro: ($_=function(name,params) { return {_hx_index:6,name:name,params:params,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpMacro",$_.__params__ = ["name","params"],$_) -}; -haxe__$Template_TemplateExpr.__constructs__ = [haxe__$Template_TemplateExpr.OpVar,haxe__$Template_TemplateExpr.OpExpr,haxe__$Template_TemplateExpr.OpIf,haxe__$Template_TemplateExpr.OpStr,haxe__$Template_TemplateExpr.OpBlock,haxe__$Template_TemplateExpr.OpForeach,haxe__$Template_TemplateExpr.OpMacro]; -var haxe_iterators_ArrayIterator = function(array) { - this.current = 0; - this.array = array; -}; -haxe_iterators_ArrayIterator.__name__ = true; -haxe_iterators_ArrayIterator.prototype = { - hasNext: function() { - return this.current < this.array.length; - } - ,next: function() { - return this.array[this.current++]; - } -}; -var haxe_Template = function(str) { - var tokens = this.parseTokens(str); - this.expr = this.parseBlock(tokens); - if(!tokens.isEmpty()) { - throw haxe_Exception.thrown("Unexpected '" + Std.string(tokens.first().s) + "'"); - } -}; -haxe_Template.__name__ = true; -haxe_Template.prototype = { - execute: function(context,macros) { - this.macros = macros == null ? { } : macros; - this.context = context; - this.stack = new haxe_ds_List(); - this.buf = new StringBuf(); - this.run(this.expr); - return this.buf.b; - } - ,resolve: function(v) { - if(v == "__current__") { - return this.context; - } - if(Reflect.isObject(this.context)) { - var value = Reflect.getProperty(this.context,v); - if(value != null || Object.prototype.hasOwnProperty.call(this.context,v)) { - return value; - } - } - var _g_head = this.stack.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var ctx = val; - var value = Reflect.getProperty(ctx,v); - if(value != null || Object.prototype.hasOwnProperty.call(ctx,v)) { - return value; - } - } - return Reflect.field(haxe_Template.globals,v); - } - ,parseTokens: function(data) { - var tokens = new haxe_ds_List(); - while(haxe_Template.splitter.match(data)) { - var p = haxe_Template.splitter.matchedPos(); - if(p.pos > 0) { - tokens.add({ p : HxOverrides.substr(data,0,p.pos), s : true, l : null}); - } - if(HxOverrides.cca(data,p.pos) == 58) { - tokens.add({ p : HxOverrides.substr(data,p.pos + 2,p.len - 4), s : false, l : null}); - data = haxe_Template.splitter.matchedRight(); - continue; - } - var parp = p.pos + p.len; - var npar = 1; - var params = []; - var part = ""; - while(true) { - var c = HxOverrides.cca(data,parp); - ++parp; - if(c == 40) { - ++npar; - } else if(c == 41) { - --npar; - if(npar <= 0) { - break; - } - } else if(c == null) { - throw haxe_Exception.thrown("Unclosed macro parenthesis"); - } - if(c == 44 && npar == 1) { - params.push(part); - part = ""; - } else { - part += String.fromCodePoint(c); - } - } - params.push(part); - tokens.add({ p : haxe_Template.splitter.matched(2), s : false, l : params}); - data = HxOverrides.substr(data,parp,data.length - parp); - } - if(data.length > 0) { - tokens.add({ p : data, s : true, l : null}); - } - return tokens; - } - ,parseBlock: function(tokens) { - var l = new haxe_ds_List(); - while(true) { - var t = tokens.first(); - if(t == null) { - break; - } - if(!t.s && (t.p == "end" || t.p == "else" || HxOverrides.substr(t.p,0,7) == "elseif ")) { - break; - } - l.add(this.parse(tokens)); - } - if(l.length == 1) { - return l.first(); - } - return haxe__$Template_TemplateExpr.OpBlock(l); - } - ,parse: function(tokens) { - var t = tokens.pop(); - var p = t.p; - if(t.s) { - return haxe__$Template_TemplateExpr.OpStr(p); - } - if(t.l != null) { - var pe = new haxe_ds_List(); - var _g = 0; - var _g1 = t.l; - while(_g < _g1.length) { - var p1 = _g1[_g]; - ++_g; - pe.add(this.parseBlock(this.parseTokens(p1))); - } - return haxe__$Template_TemplateExpr.OpMacro(p,pe); - } - var kwdEnd = function(kwd) { - var pos = -1; - var length = kwd.length; - if(HxOverrides.substr(p,0,length) == kwd) { - pos = length; - var _g_offset = 0; - var _g_s = HxOverrides.substr(p,length,null); - while(_g_offset < _g_s.length) { - var c = _g_s.charCodeAt(_g_offset++); - if(c == 32) { - ++pos; - } else { - break; - } - } - } - return pos; - }; - var pos = kwdEnd("if"); - if(pos > 0) { - p = HxOverrides.substr(p,pos,p.length - pos); - var e = this.parseExpr(p); - var eif = this.parseBlock(tokens); - var t = tokens.first(); - var eelse; - if(t == null) { - throw haxe_Exception.thrown("Unclosed 'if'"); - } - if(t.p == "end") { - tokens.pop(); - eelse = null; - } else if(t.p == "else") { - tokens.pop(); - eelse = this.parseBlock(tokens); - t = tokens.pop(); - if(t == null || t.p != "end") { - throw haxe_Exception.thrown("Unclosed 'else'"); - } - } else { - t.p = HxOverrides.substr(t.p,4,t.p.length - 4); - eelse = this.parse(tokens); - } - return haxe__$Template_TemplateExpr.OpIf(e,eif,eelse); - } - var pos = kwdEnd("foreach"); - if(pos >= 0) { - p = HxOverrides.substr(p,pos,p.length - pos); - var e = this.parseExpr(p); - var efor = this.parseBlock(tokens); - var t = tokens.pop(); - if(t == null || t.p != "end") { - throw haxe_Exception.thrown("Unclosed 'foreach'"); - } - return haxe__$Template_TemplateExpr.OpForeach(e,efor); - } - if(haxe_Template.expr_splitter.match(p)) { - return haxe__$Template_TemplateExpr.OpExpr(this.parseExpr(p)); - } - return haxe__$Template_TemplateExpr.OpVar(p); - } - ,parseExpr: function(data) { - var l = new haxe_ds_List(); - var expr = data; - while(haxe_Template.expr_splitter.match(data)) { - var p = haxe_Template.expr_splitter.matchedPos(); - var k = p.pos + p.len; - if(p.pos != 0) { - l.add({ p : HxOverrides.substr(data,0,p.pos), s : true}); - } - var p1 = haxe_Template.expr_splitter.matched(0); - l.add({ p : p1, s : p1.indexOf("\"") >= 0}); - data = haxe_Template.expr_splitter.matchedRight(); - } - if(data.length != 0) { - var _g_offset = 0; - var _g_s = data; - while(_g_offset < _g_s.length) { - var _g_key = _g_offset; - var _g_value = _g_s.charCodeAt(_g_offset++); - var i = _g_key; - var c = _g_value; - if(c != 32) { - l.add({ p : HxOverrides.substr(data,i,null), s : true}); - break; - } - } - } - var e; - try { - e = this.makeExpr(l); - if(!l.isEmpty()) { - throw haxe_Exception.thrown(l.first().p); - } - } catch( _g ) { - var _g1 = haxe_Exception.caught(_g).unwrap(); - if(typeof(_g1) == "string") { - var s = _g1; - throw haxe_Exception.thrown("Unexpected '" + s + "' in " + expr); - } else { - throw _g; - } - } - return function() { - try { - return e(); - } catch( _g ) { - var exc = haxe_Exception.caught(_g).unwrap(); - throw haxe_Exception.thrown("Error : " + Std.string(exc) + " in " + expr); - } - }; - } - ,makeConst: function(v) { - haxe_Template.expr_trim.match(v); - v = haxe_Template.expr_trim.matched(1); - if(HxOverrides.cca(v,0) == 34) { - var str = HxOverrides.substr(v,1,v.length - 2); - return function() { - return str; - }; - } - if(haxe_Template.expr_int.match(v)) { - var i = Std.parseInt(v); - return function() { - return i; - }; - } - if(haxe_Template.expr_float.match(v)) { - var f = parseFloat(v); - return function() { - return f; - }; - } - var me = this; - return function() { - return me.resolve(v); - }; - } - ,makePath: function(e,l) { - var p = l.first(); - if(p == null || p.p != ".") { - return e; - } - l.pop(); - var field = l.pop(); - if(field == null || !field.s) { - throw haxe_Exception.thrown(field.p); - } - var f = field.p; - haxe_Template.expr_trim.match(f); - f = haxe_Template.expr_trim.matched(1); - return this.makePath(function() { - return Reflect.field(e(),f); - },l); - } - ,makeExpr: function(l) { - return this.makePath(this.makeExpr2(l),l); - } - ,skipSpaces: function(l) { - var p = l.first(); - while(p != null) { - var _g_offset = 0; - var _g_s = p.p; - while(_g_offset < _g_s.length) { - var c = _g_s.charCodeAt(_g_offset++); - if(c != 32) { - return; - } - } - l.pop(); - p = l.first(); - } - } - ,makeExpr2: function(l) { - this.skipSpaces(l); - var p = l.pop(); - this.skipSpaces(l); - if(p == null) { - throw haxe_Exception.thrown(""); - } - if(p.s) { - return this.makeConst(p.p); - } - switch(p.p) { - case "!": - var e = this.makeExpr(l); - return function() { - var v = e(); - if(v != null) { - return v == false; - } else { - return true; - } - }; - case "(": - this.skipSpaces(l); - var e1 = this.makeExpr(l); - this.skipSpaces(l); - var p1 = l.pop(); - if(p1 == null || p1.s) { - throw haxe_Exception.thrown(p1); - } - if(p1.p == ")") { - return e1; - } - this.skipSpaces(l); - var e2 = this.makeExpr(l); - this.skipSpaces(l); - var p2 = l.pop(); - this.skipSpaces(l); - if(p2 == null || p2.p != ")") { - throw haxe_Exception.thrown(p2); - } - switch(p1.p) { - case "!=": - return function() { - return e1() != e2(); - }; - case "&&": - return function() { - return e1() && e2(); - }; - case "*": - return function() { - return e1() * e2(); - }; - case "+": - return function() { - return e1() + e2(); - }; - case "-": - return function() { - return e1() - e2(); - }; - case "/": - return function() { - return e1() / e2(); - }; - case "<": - return function() { - return e1() < e2(); - }; - case "<=": - return function() { - return e1() <= e2(); - }; - case "==": - return function() { - return e1() == e2(); - }; - case ">": - return function() { - return e1() > e2(); - }; - case ">=": - return function() { - return e1() >= e2(); - }; - case "||": - return function() { - return e1() || e2(); - }; - default: - throw haxe_Exception.thrown("Unknown operation " + p1.p); - } - break; - case "-": - var e3 = this.makeExpr(l); - return function() { - return -e3(); - }; - } - throw haxe_Exception.thrown(p.p); - } - ,run: function(e) { - switch(e._hx_index) { - case 0: - var v = e.v; - var _this = this.buf; - var x = Std.string(this.resolve(v)); - _this.b += Std.string(x); - break; - case 1: - var e1 = e.expr; - var _this = this.buf; - var x = Std.string(e1()); - _this.b += Std.string(x); - break; - case 2: - var e1 = e.expr; - var eif = e.eif; - var eelse = e.eelse; - var v = e1(); - if(v == null || v == false) { - if(eelse != null) { - this.run(eelse); - } - } else { - this.run(eif); - } - break; - case 3: - var str = e.str; - this.buf.b += str == null ? "null" : "" + str; - break; - case 4: - var l = e.l; - var _g_head = l.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var e1 = val; - this.run(e1); - } - break; - case 5: - var e1 = e.expr; - var loop = e.loop; - var v = e1(); - try { - var x = $getIterator(v); - if(x.hasNext == null) { - throw haxe_Exception.thrown(null); - } - v = x; - } catch( _g ) { - try { - if(v.hasNext == null) { - throw haxe_Exception.thrown(null); - } - } catch( _g1 ) { - throw haxe_Exception.thrown("Cannot iter on " + Std.string(v)); - } - } - this.stack.push(this.context); - var v1 = v; - var ctx = v1; - while(ctx.hasNext()) { - var ctx1 = ctx.next(); - this.context = ctx1; - this.run(loop); - } - this.context = this.stack.pop(); - break; - case 6: - var m = e.name; - var params = e.params; - var v = Reflect.field(this.macros,m); - var pl = []; - var old = this.buf; - pl.push($bind(this,this.resolve)); - var _g_head = params.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var p = val; - if(p._hx_index == 0) { - var v1 = p.v; - pl.push(this.resolve(v1)); - } else { - this.buf = new StringBuf(); - this.run(p); - pl.push(this.buf.b); - } - } - this.buf = old; - try { - var _this = this.buf; - var x = Std.string(v.apply(this.macros,pl)); - _this.b += Std.string(x); - } catch( _g ) { - var e = haxe_Exception.caught(_g).unwrap(); - var plstr; - try { - plstr = pl.join(","); - } catch( _g1 ) { - plstr = "???"; - } - var msg = "Macro call " + m + "(" + plstr + ") failed (" + Std.string(e) + ")"; - throw haxe_Exception.thrown(msg); - } - break; - } - } -}; -var haxe_ValueException = function(value,previous,native) { - haxe_Exception.call(this,String(value),previous,native); - this.value = value; -}; -haxe_ValueException.__name__ = true; -haxe_ValueException.__super__ = haxe_Exception; -haxe_ValueException.prototype = $extend(haxe_Exception.prototype,{ - unwrap: function() { - return this.value; - } -}); -var haxe_ds_List = function() { - this.length = 0; -}; -haxe_ds_List.__name__ = true; -haxe_ds_List.prototype = { - add: function(item) { - var x = new haxe_ds__$List_ListNode(item,null); - if(this.h == null) { - this.h = x; - } else { - this.q.next = x; - } - this.q = x; - this.length++; - } - ,push: function(item) { - var x = new haxe_ds__$List_ListNode(item,this.h); - this.h = x; - if(this.q == null) { - this.q = x; - } - this.length++; - } - ,first: function() { - if(this.h == null) { - return null; - } else { - return this.h.item; - } - } - ,pop: function() { - if(this.h == null) { - return null; - } - var x = this.h.item; - this.h = this.h.next; - if(this.h == null) { - this.q = null; - } - this.length--; - return x; - } - ,isEmpty: function() { - return this.h == null; - } - ,toString: function() { - var s_b = ""; - var first = true; - var l = this.h; - s_b += "{"; - while(l != null) { - if(first) { - first = false; - } else { - s_b += ", "; - } - s_b += Std.string(Std.string(l.item)); - l = l.next; - } - s_b += "}"; - return s_b; - } -}; -var haxe_ds__$List_ListNode = function(item,next) { - this.item = item; - this.next = next; -}; -haxe_ds__$List_ListNode.__name__ = true; -var js_Boot = function() { }; -js_Boot.__name__ = true; -js_Boot.__string_rec = function(o,s) { - if(o == null) { - return "null"; - } - if(s.length >= 5) { - return "<...>"; - } - var t = typeof(o); - if(t == "function" && (o.__name__ || o.__ename__)) { - t = "object"; - } - switch(t) { - case "function": - return ""; - case "object": - if(o.__enum__) { - var e = $hxEnums[o.__enum__]; - var con = e.__constructs__[o._hx_index]; - var n = con._hx_name; - if(con.__params__) { - s = s + "\t"; - return n + "(" + ((function($this) { - var $r; - var _g = []; - { - var _g1 = 0; - var _g2 = con.__params__; - while(true) { - if(!(_g1 < _g2.length)) { - break; - } - var p = _g2[_g1]; - _g1 = _g1 + 1; - _g.push(js_Boot.__string_rec(o[p],s)); - } - } - $r = _g; - return $r; - }(this))).join(",") + ")"; - } else { - return n; - } - } - if(((o) instanceof Array)) { - var str = "["; - s += "\t"; - var _g = 0; - var _g1 = o.length; - while(_g < _g1) { - var i = _g++; - str += (i > 0 ? "," : "") + js_Boot.__string_rec(o[i],s); - } - str += "]"; - return str; - } - var tostr; - try { - tostr = o.toString; - } catch( _g ) { - return "???"; - } - if(tostr != null && tostr != Object.toString && typeof(tostr) == "function") { - var s2 = o.toString(); - if(s2 != "[object Object]") { - return s2; - } - } - var str = "{\n"; - s += "\t"; - var hasp = o.hasOwnProperty != null; - var k = null; - for( k in o ) { - if(hasp && !o.hasOwnProperty(k)) { - continue; - } - if(k == "prototype" || k == "__class__" || k == "__super__" || k == "__interfaces__" || k == "__properties__") { - continue; - } - if(str.length != 2) { - str += ", \n"; - } - str += s + k + " : " + js_Boot.__string_rec(o[k],s); - } - s = s.substring(1); - str += "\n" + s + "}"; - return str; - case "string": - return o; - default: - return String(o); - } -}; -var xrfragment_Filter = $hx_exports["xrfragment"]["Filter"] = function(str) { - this.q = { }; - this.str = ""; - if(str != null) { - this.parse(str); - } -}; -xrfragment_Filter.__name__ = true; -xrfragment_Filter.prototype = { - toObject: function() { - return Reflect.copy(this.q); - } - ,get: function() { - return Reflect.copy(this.q); - } - ,parse: function(str) { - var token = str.split(" "); - var q = { }; - var process = function(str,prefix) { - if(prefix == null) { - prefix = ""; - } - str = StringTools.trim(str); - var k = str.split("=")[0]; - var v = str.split("=")[1]; - var filter = { }; - if(q[prefix + k]) { - filter = q[prefix + k]; - } - if(xrfragment_XRF.isProp.match(str)) { - var oper = ""; - if(str.indexOf(">") != -1) { - oper = ">"; - } - if(str.indexOf("<") != -1) { - oper = "<"; - } - if(xrfragment_XRF.isExclude.match(k)) { - k = HxOverrides.substr(k,1,null); - } - v = HxOverrides.substr(v,oper.length,null); - if(oper.length == 0) { - oper = "="; - } - var rule = { }; - if(xrfragment_XRF.isNumber.match(v)) { - rule[oper] = parseFloat(v); - } else { - rule[oper] = v; - } - q["expr"] = rule; - } - var value = xrfragment_XRF.isDeep.match(str) ? k.split("*").length - 1 : 0; - q["deep"] = value; - var value = xrfragment_XRF.isExclude.match(str) ? false : true; - q["show"] = value; - var value = k.replace(xrfragment_XRF.operators.r,""); - q["key"] = value; - q["value"] = v; - }; - var _g = 0; - var _g1 = token.length; - while(_g < _g1) { - var i = _g++; - process(token[i]); - } - return this.q = q; - } - ,test: function(obj) { - var qualify = false; - var _g = 0; - var _g1 = Reflect.fields(obj); - while(_g < _g1.length) { - var k = _g1[_g]; - ++_g; - var v = Std.string(Reflect.field(obj,k)); - if(this.testProperty(k,v)) { - qualify = true; - } - } - var _g = 0; - var _g1 = Reflect.fields(obj); - while(_g < _g1.length) { - var k = _g1[_g]; - ++_g; - var v = Std.string(Reflect.field(obj,k)); - if(this.testProperty(k,v,true)) { - qualify = false; - } - } - return qualify; - } - ,testProperty: function(property,value,exclude) { - var conds = 0; - var fails = 0; - var qualify = 0; - var testprop = function(expr) { - conds += 1; - fails += expr ? 0 : 1; - return expr; - }; - if(this.q[value] != null) { - var v = this.q[value]; - if(v[property] != null) { - return v[property]; - } - } - if(Reflect.field(this.q,"expr")) { - var f = Reflect.field(this.q,"expr"); - if(!Reflect.field(this.q,"show")) { - if(Reflect.field(f,"!=") != null && testprop((value == null ? "null" : "" + value) == Std.string(Reflect.field(f,"!="))) && exclude) { - ++qualify; - } - } else { - if(Reflect.field(f,"*") != null && testprop(parseFloat(value) != null)) { - ++qualify; - } - if(Reflect.field(f,">") != null && testprop(parseFloat(value) >= parseFloat(Reflect.field(f,">")))) { - ++qualify; - } - if(Reflect.field(f,"<") != null && testprop(parseFloat(value) <= parseFloat(Reflect.field(f,"<")))) { - ++qualify; - } - if(Reflect.field(f,"=") != null && (testprop(value == Reflect.field(f,"=")) || testprop(parseFloat(value) == parseFloat(Reflect.field(f,"="))))) { - ++qualify; - } - } - } - return qualify > 0; - } -}; -var xrfragment_Parser = $hx_exports["xrfragment"]["Parser"] = function() { }; -xrfragment_Parser.__name__ = true; -xrfragment_Parser.parse = function(key,value,store,index) { - var Frag_h = Object.create(null); - Frag_h["#"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_PREDEFINED_VIEW | xrfragment_XRF.PV_EXECUTE; - Frag_h["src"] = xrfragment_XRF.T_URL; - Frag_h["href"] = xrfragment_XRF.T_URL | xrfragment_XRF.T_PREDEFINED_VIEW; - Frag_h["tag"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["pos"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_VECTOR3 | xrfragment_XRF.T_STRING | xrfragment_XRF.METADATA | xrfragment_XRF.NAVIGATOR; - Frag_h["rot"] = xrfragment_XRF.QUERY_OPERATOR | xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_VECTOR3 | xrfragment_XRF.METADATA | xrfragment_XRF.NAVIGATOR; - Frag_h["t"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_FLOAT | xrfragment_XRF.T_VECTOR2 | xrfragment_XRF.NAVIGATOR | xrfragment_XRF.METADATA; - Frag_h["s"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_MEDIAFRAG; - Frag_h["loop"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_PREDEFINED_VIEW; - Frag_h["uv"] = xrfragment_XRF.T_VECTOR2 | xrfragment_XRF.T_MEDIAFRAG; - Frag_h["namespace"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["SPDX"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["unit"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["description"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - var keyStripped = key.replace(xrfragment_XRF.operators.r,""); - var isPVDynamic = key.length > 0 && !Object.prototype.hasOwnProperty.call(Frag_h,key); - if(isPVDynamic) { - var v = new xrfragment_XRF(key,xrfragment_XRF.PV_EXECUTE | xrfragment_XRF.NAVIGATOR,index); - v.validate(value); - v.flags = xrfragment_XRF.set(xrfragment_XRF.T_DYNAMICKEY,v.flags); - if(!Object.prototype.hasOwnProperty.call(Frag_h,key)) { - v.flags = xrfragment_XRF.set(xrfragment_XRF.CUSTOMFRAG,v.flags); - } - if(value.length == 0) { - v.flags = xrfragment_XRF.set(xrfragment_XRF.T_DYNAMICKEYVALUE,v.flags); - } - store[keyStripped] = v; - return true; - } - var v = new xrfragment_XRF(key,Frag_h[key],index); - if(Object.prototype.hasOwnProperty.call(Frag_h,key)) { - if(!v.validate(value)) { - console.log("src/xrfragment/Parser.hx:67:","⚠ fragment '" + key + "' has incompatible value (" + value + ")"); - return false; - } - store[keyStripped] = v; - if(xrfragment_Parser.debug) { - console.log("src/xrfragment/Parser.hx:71:","✔ " + key + ": " + v.string); - } - } else { - if(typeof(value) == "string") { - v.guessType(v,value); - } - v.flags = xrfragment_XRF.set(xrfragment_XRF.CUSTOMFRAG,v.flags); - store[keyStripped] = v; - } - return true; -}; -xrfragment_Parser.getMetaData = function() { - var meta = { title : ["title","og:title","dc.title"], description : ["aria-description","og:description","dc.description"], author : ["author","dc.creator"], publisher : ["publisher","dc.publisher"], website : ["og:site_name","og:url","dc.publisher"], license : ["SPDX","dc.rights"]}; - return meta; -}; -var xrfragment_URI = $hx_exports["xrfragment"]["URI"] = function() { - this.XRF = { }; - this.hash = { }; - this.fragment = ""; -}; -xrfragment_URI.__name__ = true; -xrfragment_URI.parseFragment = function(url,filter) { - var store = { }; - if(url == null || url.indexOf("#") == -1) { - return store; - } - var fragment = url.split("#"); - var splitArray = fragment[1].split("&"); - var _g = 0; - var _g1 = splitArray.length; - while(_g < _g1) { - var i = _g++; - var splitByEqual = splitArray[i].split("="); - var regexPlus = new EReg("\\+","g"); - var key = splitByEqual[0]; - var value = ""; - if(splitByEqual.length > 1) { - if(xrfragment_XRF.isVector.match(splitByEqual[1])) { - value = splitByEqual[1]; - } else { - var s = regexPlus.split(splitByEqual[1]).join(" "); - value = decodeURIComponent(s.split("+").join(" ")); - } - } - var ok = xrfragment_Parser.parse(key,value,store,i); - } - if(filter != null && filter != 0) { - var _g = 0; - var _g1 = Reflect.fields(store); - while(_g < _g1.length) { - var key = _g1[_g]; - ++_g; - var xrf = store[key]; - if(!xrf.is(filter)) { - Reflect.deleteField(store,key); - } - } - } - return store; -}; -xrfragment_URI.template = function(uri,vars) { - var parts = uri.split("#"); - if(parts.length == 1) { - return uri; - } - var frag = parts[1]; - frag = StringTools.replace(frag,"{","::"); - frag = StringTools.replace(frag,"}","::"); - frag = new haxe_Template(frag).execute(vars); - frag = StringTools.replace(frag,"null",""); - parts[1] = frag; - return parts.join("#"); -}; -xrfragment_URI.parse = function(stringUrl,flags) { - var r = new EReg("^(?:(?![^:@]+:[^:@/]*@)([^:/?#.]+):)?(?://)?((?:(([^:@]*)(?::([^:@]*))?)?@)?([^:/?#]*)(?::(\\d*))?)(((/(?:[^?#](?![^?#/]*\\.[^?#/.]+(?:[?#]|$)))*/?)?([^?#/]*))(?:\\?([^#]*))?(?:#(.*))?)",""); - if(stringUrl.indexOf("://") == -1 && stringUrl.charAt(0) != "/") { - stringUrl = "/" + stringUrl; - } - r.match(stringUrl); - var url = new xrfragment_URI(); - var _g = 0; - var _g1 = xrfragment_URI._parts.length; - while(_g < _g1) { - var i = _g++; - url[xrfragment_URI._parts[i]] = r.matched(i); - } - if(xrfragment_URI.isRelative(url) == true) { - if(url.directory == null && url.host != null) { - url.file = url.host; - } - url.host = ""; - } - url.hash = { }; - if(url.fragment != null && url.fragment.length > 0) { - url.XRF = xrfragment_URI.parseFragment("#" + url.fragment,flags); - var key; - var _g = 0; - var _g1 = Reflect.fields(url.XRF); - while(_g < _g1.length) { - var key = _g1[_g]; - ++_g; - var v = url.XRF[key]; - url.hash[key] = v["string"]; - } - } - xrfragment_URI.computeVars(url); - return url; -}; -xrfragment_URI.computeVars = function(url) { - var r_r = new RegExp("//","g".split("u").join("")); - if(url.directory != null && url.directory.indexOf("//") != -1) { - url.directory = url.directory.replace(r_r,"/"); - } - if(url.path != null && url.path.indexOf("//") != -1) { - url.path = url.path.replace(r_r,"/"); - } - if(url.file != null && url.file.indexOf("//") != -1) { - url.file = url.file.replace(r_r,"/"); - } - url.URN = url.scheme + "://" + url.host; - if(url.port != null) { - url.URN += ":" + url.port; - } - url.URN += url.directory; - if(url.file != null) { - var parts = url.file.split("."); - if(parts.length > 1) { - url.fileExt = parts.pop(); - } - } -}; -xrfragment_URI.toString = function(url) { - var result = ""; - if(url.scheme != null) { - result += url.scheme + "://"; - } - if(url.user != null) { - result += url.user + ":"; - } - if(url.password != null) { - result += url.password + "@"; - } - if(url.host != null) { - result += url.host; - } - if(url.port != null) { - result += ":" + url.port; - } - if(url.directory != null) { - result += url.directory; - } - if(url.file != null) { - result += url.file; - } - if(url.query != null) { - result += "?" + url.query; - } - if(url.fragment != null) { - result += "#" + url.fragment; - } - return result; -}; -xrfragment_URI.appendURI = function(url,appendedURI) { - if(xrfragment_URI.isRelative(url) == true) { - return xrfragment_URI.appendToRelativeURI(url,appendedURI); - } else { - return xrfragment_URI.appendToAbsoluteURI(url,appendedURI); - } -}; -xrfragment_URI.isRelative = function(url) { - return url.scheme == null; -}; -xrfragment_URI.appendToRelativeURI = function(url,appendedURI) { - if(url.directory == null || url.host == null) { - return xrfragment_URI.cloneURI(appendedURI); - } - var resultURI = new xrfragment_URI(); - resultURI.host = url.host; - resultURI.directory = url.directory; - if(appendedURI.host != null) { - resultURI.directory += appendedURI.host; - } - if(appendedURI.directory != null) { - var directory = appendedURI.directory; - if(appendedURI.host == null) { - resultURI.directory += HxOverrides.substr(directory,1,null); - } else { - resultURI.directory += directory; - } - } - if(appendedURI.file != null) { - resultURI.file = appendedURI.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(appendedURI.query != null) { - resultURI.query = appendedURI.query; - } - if(appendedURI.fragment != null) { - resultURI.fragment = appendedURI.fragment; - } - return resultURI; -}; -xrfragment_URI.appendToAbsoluteURI = function(url,appendedURI) { - var resultURI = new xrfragment_URI(); - if(url.scheme != null) { - resultURI.scheme = url.scheme; - } - if(url.host != null) { - resultURI.host = url.host; - } - var directory = ""; - if(url.directory != null) { - directory = url.directory; - } - if(appendedURI.host != null) { - appendedURI.directory += appendedURI.host; - } - if(appendedURI.directory != null) { - directory += appendedURI.directory; - } - resultURI.directory = directory; - if(appendedURI.file != null) { - resultURI.file = appendedURI.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(appendedURI.query != null) { - resultURI.query = appendedURI.query; - } - if(appendedURI.fragment != null) { - resultURI.fragment = appendedURI.fragment; - } - return resultURI; -}; -xrfragment_URI.toAbsolute = function(url,newUrl) { - var newURI = xrfragment_URI.parse(newUrl,0); - var resultURI = new xrfragment_URI(); - resultURI.port = url.port; - resultURI.source = newUrl; - if(newURI.scheme != null) { - resultURI.scheme = newURI.scheme; - } else { - resultURI.scheme = url.scheme; - } - if(newURI.host != null && newURI.host.length > 0) { - resultURI.host = newURI.host; - resultURI.port = null; - resultURI.fragment = null; - resultURI.hash = { }; - resultURI.XRF = { }; - if(newURI.port != null) { - resultURI.port = newURI.port; - } - } else { - resultURI.host = url.host; - } - var directory = ""; - if(url.directory != null) { - directory = url.directory; - } - if(newURI.directory != null) { - if(newUrl.charAt(0) != "/" && newUrl.indexOf("://") == -1) { - var stripRelative_r = new RegExp("\\./.*","".split("u").join("")); - directory = directory.replace(stripRelative_r,""); - directory += newURI.directory; - } else { - directory = newURI.directory; - } - } - resultURI.directory = directory; - if(newURI.file != null) { - resultURI.file = newURI.file; - } else { - resultURI.file = url.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(newURI.query != null) { - resultURI.query = newURI.query; - } - if(newURI.fragment != null) { - resultURI.fragment = newURI.fragment; - } - resultURI.hash = newURI.hash; - resultURI.XRF = newURI.XRF; - xrfragment_URI.computeVars(resultURI); - return resultURI; -}; -xrfragment_URI.cloneURI = function(url) { - var clonedURI = new xrfragment_URI(); - clonedURI.url = url.url; - clonedURI.source = url.source; - clonedURI.scheme = url.scheme; - clonedURI.authority = url.authority; - clonedURI.userInfo = url.userInfo; - clonedURI.password = url.password; - clonedURI.host = url.host; - clonedURI.port = url.port; - clonedURI.relative = url.relative; - clonedURI.path = url.path; - clonedURI.directory = url.directory; - clonedURI.file = url.file; - clonedURI.query = url.query; - clonedURI.fragment = url.fragment; - return clonedURI; -}; -var xrfragment_XRF = $hx_exports["xrfragment"]["XRF"] = function(_fragment,_flags,_index) { - this.floats = []; - this.shift = []; - this.fragment = _fragment; - this.flags = _flags; - this.index = _index; -}; -xrfragment_XRF.__name__ = true; -xrfragment_XRF.set = function(flag,flags) { - return flags | flag; -}; -xrfragment_XRF.unset = function(flag,flags) { - return flags & ~flag; -}; -xrfragment_XRF.prototype = { - is: function(flag) { - var v = this.flags; - if(!(typeof(v) == "number" && ((v | 0) === v))) { - this.flags = 0; - } - return (this.flags & flag) != 0; - } - ,validate: function(value) { - this.guessType(this,value); - var ok = true; - if(value.length == 0 && !this.is(xrfragment_XRF.T_PREDEFINED_VIEW)) { - ok = false; - } - if(!this.is(xrfragment_XRF.T_FLOAT) && this.is(xrfragment_XRF.T_VECTOR2) && !(typeof(this.x) == "number" && typeof(this.y) == "number")) { - ok = false; - } - if(!(this.is(xrfragment_XRF.T_VECTOR2) || this.is(xrfragment_XRF.T_STRING)) && this.is(xrfragment_XRF.T_VECTOR3) && !(typeof(this.x) == "number" && typeof(this.y) == "number" && typeof(this.z) == "number")) { - ok = false; - } - return ok; - } - ,guessType: function(v,str) { - v.string = str; - if(xrfragment_XRF.isReset.match(v.fragment)) { - v.reset = true; - } - if(v.fragment == "loop") { - v.loop = true; - } - if(typeof(str) != "string") { - return; - } - if(str.length > 0) { - if(xrfragment_XRF.isXRFScheme.match(str)) { - v.xrfScheme = true; - str = str.replace(xrfragment_XRF.isXRFScheme.r,""); - v.string = str; - } - if(str.split(",").length > 1) { - var xyzn = str.split(","); - if(xyzn.length > 0) { - v.x = parseFloat(xyzn[0]); - } - if(xyzn.length > 1) { - v.y = parseFloat(xyzn[1]); - } - if(xyzn.length > 2) { - v.z = parseFloat(xyzn[2]); - } - var _g = 0; - var _g1 = xyzn.length; - while(_g < _g1) { - var i = _g++; - v.shift.push(xrfragment_XRF.isShift.match(xyzn[i])); - v.floats.push(parseFloat(xyzn[i].replace(xrfragment_XRF.isShift.r,""))); - } - } - if(xrfragment_XRF.isColor.match(str)) { - v.color = str; - } - if(xrfragment_XRF.isFloat.match(str)) { - v.x = parseFloat(str); - v.float = v.x; - } - if(xrfragment_XRF.isInt.match(str)) { - v.int = Std.parseInt(str); - v.x = v.int; - v.floats.push(v.x); - } - v.filter = new xrfragment_Filter(v.fragment + "=" + v.string); - } else { - v.filter = new xrfragment_Filter(v.fragment); - } - } -}; -function $getIterator(o) { if( o instanceof Array ) return new haxe_iterators_ArrayIterator(o); else return o.iterator(); } -function $bind(o,m) { if( m == null ) return null; if( m.__id__ == null ) m.__id__ = $global.$haxeUID++; var f; if( o.hx__closures__ == null ) o.hx__closures__ = {}; else f = o.hx__closures__[m.__id__]; if( f == null ) { f = m.bind(o); o.hx__closures__[m.__id__] = f; } return f; } -$global.$haxeUID |= 0; -if(typeof(performance) != "undefined" ? typeof(performance.now) == "function" : false) { - HxOverrides.now = performance.now.bind(performance); -} -if( String.fromCodePoint == null ) String.fromCodePoint = function(c) { return c < 0x10000 ? String.fromCharCode(c) : String.fromCharCode((c>>10)+0xD7C0)+String.fromCharCode((c&0x3FF)+0xDC00); } -String.__name__ = true; -Array.__name__ = true; -js_Boot.__toStr = ({ }).toString; -haxe_Template.splitter = new EReg("(::[A-Za-z0-9_ ()&|!+=/><*.\"-]+::|\\$\\$([A-Za-z0-9_-]+)\\()",""); -haxe_Template.expr_splitter = new EReg("(\\(|\\)|[ \r\n\t]*\"[^\"]*\"[ \r\n\t]*|[!+=/><*.&|-]+)",""); -haxe_Template.expr_trim = new EReg("^[ ]*([^ ]+)[ ]*$",""); -haxe_Template.expr_int = new EReg("^[0-9]+$",""); -haxe_Template.expr_float = new EReg("^([+-]?)(?=\\d|,\\d)\\d*(,\\d*)?([Ee]([+-]?\\d+))?$",""); -haxe_Template.globals = { }; -haxe_Template.hxKeepArrayIterator = new haxe_iterators_ArrayIterator([]); -xrfragment_Parser.error = ""; -xrfragment_Parser.debug = false; -xrfragment_URI.__meta__ = { statics : { template : { keep : null}}}; -xrfragment_URI._parts = ["source","scheme","authority","userInfo","user","password","host","port","relative","path","directory","file","query","fragment"]; -xrfragment_XRF.IMMUTABLE = 1; -xrfragment_XRF.PROP_BIND = 2; -xrfragment_XRF.QUERY_OPERATOR = 4; -xrfragment_XRF.PROMPT = 8; -xrfragment_XRF.CUSTOMFRAG = 16; -xrfragment_XRF.NAVIGATOR = 32; -xrfragment_XRF.METADATA = 64; -xrfragment_XRF.PV_OVERRIDE = 128; -xrfragment_XRF.PV_EXECUTE = 256; -xrfragment_XRF.T_COLOR = 8192; -xrfragment_XRF.T_INT = 16384; -xrfragment_XRF.T_FLOAT = 32768; -xrfragment_XRF.T_VECTOR2 = 65536; -xrfragment_XRF.T_VECTOR3 = 131072; -xrfragment_XRF.T_URL = 262144; -xrfragment_XRF.T_PREDEFINED_VIEW = 524288; -xrfragment_XRF.T_STRING = 1048576; -xrfragment_XRF.T_MEDIAFRAG = 2097152; -xrfragment_XRF.T_DYNAMICKEY = 4194304; -xrfragment_XRF.T_DYNAMICKEYVALUE = 8388608; -xrfragment_XRF.isColor = new EReg("^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$",""); -xrfragment_XRF.isInt = new EReg("^[-0-9]+$",""); -xrfragment_XRF.isFloat = new EReg("^[-0-9]+\\.[0-9]+$",""); -xrfragment_XRF.isVector = new EReg("([,]+|\\w)",""); -xrfragment_XRF.isUrl = new EReg("(://)?\\..*",""); -xrfragment_XRF.isUrlOrPretypedView = new EReg("(^#|://)?\\..*",""); -xrfragment_XRF.isString = new EReg(".*",""); -xrfragment_XRF.operators = new EReg("(^[-]|^[!]|[\\*]$)","g"); -xrfragment_XRF.isProp = new EReg("^.*=[><=]?",""); -xrfragment_XRF.isExclude = new EReg("^-",""); -xrfragment_XRF.isDeep = new EReg("\\*",""); -xrfragment_XRF.isNumber = new EReg("^[0-9\\.]+$",""); -xrfragment_XRF.isMediaFrag = new EReg("^([0-9\\.,\\*+-]+)$",""); -xrfragment_XRF.isReset = new EReg("^!",""); -xrfragment_XRF.isShift = new EReg("^(\\+|--)",""); -xrfragment_XRF.isXRFScheme = new EReg("^xrf://",""); -})(typeof window != "undefined" ? window : typeof global != "undefined" ? global : typeof self != "undefined" ? self : this); -var xrfragment = $hx_exports["xrfragment"]; -export default xrfragment; -// Generated by Haxe 4.3.3 -var $hx_exports = typeof exports != "undefined" ? exports : typeof window != "undefined" ? window : typeof self != "undefined" ? self : this; -(function ($global) { "use strict"; -$hx_exports["xrfragment"] = $hx_exports["xrfragment"] || {}; -var $estr = function() { return js_Boot.__string_rec(this,''); },$hxEnums = $hxEnums || {},$_; -function $extend(from, fields) { - var proto = Object.create(from); - for (var name in fields) proto[name] = fields[name]; - if( fields.toString !== Object.prototype.toString ) proto.toString = fields.toString; - return proto; -} -var EReg = function(r,opt) { - this.r = new RegExp(r,opt.split("u").join("")); -}; -EReg.__name__ = true; -EReg.prototype = { - match: function(s) { - if(this.r.global) { - this.r.lastIndex = 0; - } - this.r.m = this.r.exec(s); - this.r.s = s; - return this.r.m != null; - } - ,matched: function(n) { - if(this.r.m != null && n >= 0 && n < this.r.m.length) { - return this.r.m[n]; - } else { - throw haxe_Exception.thrown("EReg::matched"); - } - } - ,matchedRight: function() { - if(this.r.m == null) { - throw haxe_Exception.thrown("No string matched"); - } - var sz = this.r.m.index + this.r.m[0].length; - return HxOverrides.substr(this.r.s,sz,this.r.s.length - sz); - } - ,matchedPos: function() { - if(this.r.m == null) { - throw haxe_Exception.thrown("No string matched"); - } - return { pos : this.r.m.index, len : this.r.m[0].length}; - } - ,split: function(s) { - var d = "#__delim__#"; - return s.replace(this.r,d).split(d); - } -}; -var HxOverrides = function() { }; -HxOverrides.__name__ = true; -HxOverrides.cca = function(s,index) { - var x = s.charCodeAt(index); - if(x != x) { - return undefined; - } - return x; -}; -HxOverrides.substr = function(s,pos,len) { - if(len == null) { - len = s.length; - } else if(len < 0) { - if(pos == 0) { - len = s.length + len; - } else { - return ""; - } - } - return s.substr(pos,len); -}; -HxOverrides.now = function() { - return Date.now(); -}; -Math.__name__ = true; -var Reflect = function() { }; -Reflect.__name__ = true; -Reflect.field = function(o,field) { - try { - return o[field]; - } catch( _g ) { - return null; - } -}; -Reflect.getProperty = function(o,field) { - var tmp; - if(o == null) { - return null; - } else { - var tmp1; - if(o.__properties__) { - tmp = o.__properties__["get_" + field]; - tmp1 = tmp; - } else { - tmp1 = false; - } - if(tmp1) { - return o[tmp](); - } else { - return o[field]; - } - } -}; -Reflect.fields = function(o) { - var a = []; - if(o != null) { - var hasOwnProperty = Object.prototype.hasOwnProperty; - for( var f in o ) { - if(f != "__id__" && f != "hx__closures__" && hasOwnProperty.call(o,f)) { - a.push(f); - } - } - } - return a; -}; -Reflect.isObject = function(v) { - if(v == null) { - return false; - } - var t = typeof(v); - if(!(t == "string" || t == "object" && v.__enum__ == null)) { - if(t == "function") { - return (v.__name__ || v.__ename__) != null; - } else { - return false; - } - } else { - return true; - } -}; -Reflect.deleteField = function(o,field) { - if(!Object.prototype.hasOwnProperty.call(o,field)) { - return false; - } - delete(o[field]); - return true; -}; -Reflect.copy = function(o) { - if(o == null) { - return null; - } - var o2 = { }; - var _g = 0; - var _g1 = Reflect.fields(o); - while(_g < _g1.length) { - var f = _g1[_g]; - ++_g; - o2[f] = Reflect.field(o,f); - } - return o2; -}; -var Std = function() { }; -Std.__name__ = true; -Std.string = function(s) { - return js_Boot.__string_rec(s,""); -}; -Std.parseInt = function(x) { - var v = parseInt(x); - if(isNaN(v)) { - return null; - } - return v; -}; -var StringBuf = function() { - this.b = ""; -}; -StringBuf.__name__ = true; -var StringTools = function() { }; -StringTools.__name__ = true; -StringTools.isSpace = function(s,pos) { - var c = HxOverrides.cca(s,pos); - if(!(c > 8 && c < 14)) { - return c == 32; - } else { - return true; - } -}; -StringTools.ltrim = function(s) { - var l = s.length; - var r = 0; - while(r < l && StringTools.isSpace(s,r)) ++r; - if(r > 0) { - return HxOverrides.substr(s,r,l - r); - } else { - return s; - } -}; -StringTools.rtrim = function(s) { - var l = s.length; - var r = 0; - while(r < l && StringTools.isSpace(s,l - r - 1)) ++r; - if(r > 0) { - return HxOverrides.substr(s,0,l - r); - } else { - return s; - } -}; -StringTools.trim = function(s) { - return StringTools.ltrim(StringTools.rtrim(s)); -}; -StringTools.replace = function(s,sub,by) { - return s.split(sub).join(by); -}; -var haxe_Exception = function(message,previous,native) { - Error.call(this,message); - this.message = message; - this.__previousException = previous; - this.__nativeException = native != null ? native : this; -}; -haxe_Exception.__name__ = true; -haxe_Exception.caught = function(value) { - if(((value) instanceof haxe_Exception)) { - return value; - } else if(((value) instanceof Error)) { - return new haxe_Exception(value.message,null,value); - } else { - return new haxe_ValueException(value,null,value); - } -}; -haxe_Exception.thrown = function(value) { - if(((value) instanceof haxe_Exception)) { - return value.get_native(); - } else if(((value) instanceof Error)) { - return value; - } else { - var e = new haxe_ValueException(value); - return e; - } -}; -haxe_Exception.__super__ = Error; -haxe_Exception.prototype = $extend(Error.prototype,{ - unwrap: function() { - return this.__nativeException; - } - ,get_native: function() { - return this.__nativeException; - } - ,__properties__: {get_native:"get_native"} -}); -var haxe__$Template_TemplateExpr = $hxEnums["haxe._Template.TemplateExpr"] = { __ename__:true,__constructs__:null - ,OpVar: ($_=function(v) { return {_hx_index:0,v:v,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpVar",$_.__params__ = ["v"],$_) - ,OpExpr: ($_=function(expr) { return {_hx_index:1,expr:expr,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpExpr",$_.__params__ = ["expr"],$_) - ,OpIf: ($_=function(expr,eif,eelse) { return {_hx_index:2,expr:expr,eif:eif,eelse:eelse,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpIf",$_.__params__ = ["expr","eif","eelse"],$_) - ,OpStr: ($_=function(str) { return {_hx_index:3,str:str,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpStr",$_.__params__ = ["str"],$_) - ,OpBlock: ($_=function(l) { return {_hx_index:4,l:l,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpBlock",$_.__params__ = ["l"],$_) - ,OpForeach: ($_=function(expr,loop) { return {_hx_index:5,expr:expr,loop:loop,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpForeach",$_.__params__ = ["expr","loop"],$_) - ,OpMacro: ($_=function(name,params) { return {_hx_index:6,name:name,params:params,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpMacro",$_.__params__ = ["name","params"],$_) -}; -haxe__$Template_TemplateExpr.__constructs__ = [haxe__$Template_TemplateExpr.OpVar,haxe__$Template_TemplateExpr.OpExpr,haxe__$Template_TemplateExpr.OpIf,haxe__$Template_TemplateExpr.OpStr,haxe__$Template_TemplateExpr.OpBlock,haxe__$Template_TemplateExpr.OpForeach,haxe__$Template_TemplateExpr.OpMacro]; -var haxe_iterators_ArrayIterator = function(array) { - this.current = 0; - this.array = array; -}; -haxe_iterators_ArrayIterator.__name__ = true; -haxe_iterators_ArrayIterator.prototype = { - hasNext: function() { - return this.current < this.array.length; - } - ,next: function() { - return this.array[this.current++]; - } -}; -var haxe_Template = function(str) { - var tokens = this.parseTokens(str); - this.expr = this.parseBlock(tokens); - if(!tokens.isEmpty()) { - throw haxe_Exception.thrown("Unexpected '" + Std.string(tokens.first().s) + "'"); - } -}; -haxe_Template.__name__ = true; -haxe_Template.prototype = { - execute: function(context,macros) { - this.macros = macros == null ? { } : macros; - this.context = context; - this.stack = new haxe_ds_List(); - this.buf = new StringBuf(); - this.run(this.expr); - return this.buf.b; - } - ,resolve: function(v) { - if(v == "__current__") { - return this.context; - } - if(Reflect.isObject(this.context)) { - var value = Reflect.getProperty(this.context,v); - if(value != null || Object.prototype.hasOwnProperty.call(this.context,v)) { - return value; - } - } - var _g_head = this.stack.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var ctx = val; - var value = Reflect.getProperty(ctx,v); - if(value != null || Object.prototype.hasOwnProperty.call(ctx,v)) { - return value; - } - } - return Reflect.field(haxe_Template.globals,v); - } - ,parseTokens: function(data) { - var tokens = new haxe_ds_List(); - while(haxe_Template.splitter.match(data)) { - var p = haxe_Template.splitter.matchedPos(); - if(p.pos > 0) { - tokens.add({ p : HxOverrides.substr(data,0,p.pos), s : true, l : null}); - } - if(HxOverrides.cca(data,p.pos) == 58) { - tokens.add({ p : HxOverrides.substr(data,p.pos + 2,p.len - 4), s : false, l : null}); - data = haxe_Template.splitter.matchedRight(); - continue; - } - var parp = p.pos + p.len; - var npar = 1; - var params = []; - var part = ""; - while(true) { - var c = HxOverrides.cca(data,parp); - ++parp; - if(c == 40) { - ++npar; - } else if(c == 41) { - --npar; - if(npar <= 0) { - break; - } - } else if(c == null) { - throw haxe_Exception.thrown("Unclosed macro parenthesis"); - } - if(c == 44 && npar == 1) { - params.push(part); - part = ""; - } else { - part += String.fromCodePoint(c); - } - } - params.push(part); - tokens.add({ p : haxe_Template.splitter.matched(2), s : false, l : params}); - data = HxOverrides.substr(data,parp,data.length - parp); - } - if(data.length > 0) { - tokens.add({ p : data, s : true, l : null}); - } - return tokens; - } - ,parseBlock: function(tokens) { - var l = new haxe_ds_List(); - while(true) { - var t = tokens.first(); - if(t == null) { - break; - } - if(!t.s && (t.p == "end" || t.p == "else" || HxOverrides.substr(t.p,0,7) == "elseif ")) { - break; - } - l.add(this.parse(tokens)); - } - if(l.length == 1) { - return l.first(); - } - return haxe__$Template_TemplateExpr.OpBlock(l); - } - ,parse: function(tokens) { - var t = tokens.pop(); - var p = t.p; - if(t.s) { - return haxe__$Template_TemplateExpr.OpStr(p); - } - if(t.l != null) { - var pe = new haxe_ds_List(); - var _g = 0; - var _g1 = t.l; - while(_g < _g1.length) { - var p1 = _g1[_g]; - ++_g; - pe.add(this.parseBlock(this.parseTokens(p1))); - } - return haxe__$Template_TemplateExpr.OpMacro(p,pe); - } - var kwdEnd = function(kwd) { - var pos = -1; - var length = kwd.length; - if(HxOverrides.substr(p,0,length) == kwd) { - pos = length; - var _g_offset = 0; - var _g_s = HxOverrides.substr(p,length,null); - while(_g_offset < _g_s.length) { - var c = _g_s.charCodeAt(_g_offset++); - if(c == 32) { - ++pos; - } else { - break; - } - } - } - return pos; - }; - var pos = kwdEnd("if"); - if(pos > 0) { - p = HxOverrides.substr(p,pos,p.length - pos); - var e = this.parseExpr(p); - var eif = this.parseBlock(tokens); - var t = tokens.first(); - var eelse; - if(t == null) { - throw haxe_Exception.thrown("Unclosed 'if'"); - } - if(t.p == "end") { - tokens.pop(); - eelse = null; - } else if(t.p == "else") { - tokens.pop(); - eelse = this.parseBlock(tokens); - t = tokens.pop(); - if(t == null || t.p != "end") { - throw haxe_Exception.thrown("Unclosed 'else'"); - } - } else { - t.p = HxOverrides.substr(t.p,4,t.p.length - 4); - eelse = this.parse(tokens); - } - return haxe__$Template_TemplateExpr.OpIf(e,eif,eelse); - } - var pos = kwdEnd("foreach"); - if(pos >= 0) { - p = HxOverrides.substr(p,pos,p.length - pos); - var e = this.parseExpr(p); - var efor = this.parseBlock(tokens); - var t = tokens.pop(); - if(t == null || t.p != "end") { - throw haxe_Exception.thrown("Unclosed 'foreach'"); - } - return haxe__$Template_TemplateExpr.OpForeach(e,efor); - } - if(haxe_Template.expr_splitter.match(p)) { - return haxe__$Template_TemplateExpr.OpExpr(this.parseExpr(p)); - } - return haxe__$Template_TemplateExpr.OpVar(p); - } - ,parseExpr: function(data) { - var l = new haxe_ds_List(); - var expr = data; - while(haxe_Template.expr_splitter.match(data)) { - var p = haxe_Template.expr_splitter.matchedPos(); - var k = p.pos + p.len; - if(p.pos != 0) { - l.add({ p : HxOverrides.substr(data,0,p.pos), s : true}); - } - var p1 = haxe_Template.expr_splitter.matched(0); - l.add({ p : p1, s : p1.indexOf("\"") >= 0}); - data = haxe_Template.expr_splitter.matchedRight(); - } - if(data.length != 0) { - var _g_offset = 0; - var _g_s = data; - while(_g_offset < _g_s.length) { - var _g_key = _g_offset; - var _g_value = _g_s.charCodeAt(_g_offset++); - var i = _g_key; - var c = _g_value; - if(c != 32) { - l.add({ p : HxOverrides.substr(data,i,null), s : true}); - break; - } - } - } - var e; - try { - e = this.makeExpr(l); - if(!l.isEmpty()) { - throw haxe_Exception.thrown(l.first().p); - } - } catch( _g ) { - var _g1 = haxe_Exception.caught(_g).unwrap(); - if(typeof(_g1) == "string") { - var s = _g1; - throw haxe_Exception.thrown("Unexpected '" + s + "' in " + expr); - } else { - throw _g; - } - } - return function() { - try { - return e(); - } catch( _g ) { - var exc = haxe_Exception.caught(_g).unwrap(); - throw haxe_Exception.thrown("Error : " + Std.string(exc) + " in " + expr); - } - }; - } - ,makeConst: function(v) { - haxe_Template.expr_trim.match(v); - v = haxe_Template.expr_trim.matched(1); - if(HxOverrides.cca(v,0) == 34) { - var str = HxOverrides.substr(v,1,v.length - 2); - return function() { - return str; - }; - } - if(haxe_Template.expr_int.match(v)) { - var i = Std.parseInt(v); - return function() { - return i; - }; - } - if(haxe_Template.expr_float.match(v)) { - var f = parseFloat(v); - return function() { - return f; - }; - } - var me = this; - return function() { - return me.resolve(v); - }; - } - ,makePath: function(e,l) { - var p = l.first(); - if(p == null || p.p != ".") { - return e; - } - l.pop(); - var field = l.pop(); - if(field == null || !field.s) { - throw haxe_Exception.thrown(field.p); - } - var f = field.p; - haxe_Template.expr_trim.match(f); - f = haxe_Template.expr_trim.matched(1); - return this.makePath(function() { - return Reflect.field(e(),f); - },l); - } - ,makeExpr: function(l) { - return this.makePath(this.makeExpr2(l),l); - } - ,skipSpaces: function(l) { - var p = l.first(); - while(p != null) { - var _g_offset = 0; - var _g_s = p.p; - while(_g_offset < _g_s.length) { - var c = _g_s.charCodeAt(_g_offset++); - if(c != 32) { - return; - } - } - l.pop(); - p = l.first(); - } - } - ,makeExpr2: function(l) { - this.skipSpaces(l); - var p = l.pop(); - this.skipSpaces(l); - if(p == null) { - throw haxe_Exception.thrown(""); - } - if(p.s) { - return this.makeConst(p.p); - } - switch(p.p) { - case "!": - var e = this.makeExpr(l); - return function() { - var v = e(); - if(v != null) { - return v == false; - } else { - return true; - } - }; - case "(": - this.skipSpaces(l); - var e1 = this.makeExpr(l); - this.skipSpaces(l); - var p1 = l.pop(); - if(p1 == null || p1.s) { - throw haxe_Exception.thrown(p1); - } - if(p1.p == ")") { - return e1; - } - this.skipSpaces(l); - var e2 = this.makeExpr(l); - this.skipSpaces(l); - var p2 = l.pop(); - this.skipSpaces(l); - if(p2 == null || p2.p != ")") { - throw haxe_Exception.thrown(p2); - } - switch(p1.p) { - case "!=": - return function() { - return e1() != e2(); - }; - case "&&": - return function() { - return e1() && e2(); - }; - case "*": - return function() { - return e1() * e2(); - }; - case "+": - return function() { - return e1() + e2(); - }; - case "-": - return function() { - return e1() - e2(); - }; - case "/": - return function() { - return e1() / e2(); - }; - case "<": - return function() { - return e1() < e2(); - }; - case "<=": - return function() { - return e1() <= e2(); - }; - case "==": - return function() { - return e1() == e2(); - }; - case ">": - return function() { - return e1() > e2(); - }; - case ">=": - return function() { - return e1() >= e2(); - }; - case "||": - return function() { - return e1() || e2(); - }; - default: - throw haxe_Exception.thrown("Unknown operation " + p1.p); - } - break; - case "-": - var e3 = this.makeExpr(l); - return function() { - return -e3(); - }; - } - throw haxe_Exception.thrown(p.p); - } - ,run: function(e) { - switch(e._hx_index) { - case 0: - var v = e.v; - var _this = this.buf; - var x = Std.string(this.resolve(v)); - _this.b += Std.string(x); - break; - case 1: - var e1 = e.expr; - var _this = this.buf; - var x = Std.string(e1()); - _this.b += Std.string(x); - break; - case 2: - var e1 = e.expr; - var eif = e.eif; - var eelse = e.eelse; - var v = e1(); - if(v == null || v == false) { - if(eelse != null) { - this.run(eelse); - } - } else { - this.run(eif); - } - break; - case 3: - var str = e.str; - this.buf.b += str == null ? "null" : "" + str; - break; - case 4: - var l = e.l; - var _g_head = l.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var e1 = val; - this.run(e1); - } - break; - case 5: - var e1 = e.expr; - var loop = e.loop; - var v = e1(); - try { - var x = $getIterator(v); - if(x.hasNext == null) { - throw haxe_Exception.thrown(null); - } - v = x; - } catch( _g ) { - try { - if(v.hasNext == null) { - throw haxe_Exception.thrown(null); - } - } catch( _g1 ) { - throw haxe_Exception.thrown("Cannot iter on " + Std.string(v)); - } - } - this.stack.push(this.context); - var v1 = v; - var ctx = v1; - while(ctx.hasNext()) { - var ctx1 = ctx.next(); - this.context = ctx1; - this.run(loop); - } - this.context = this.stack.pop(); - break; - case 6: - var m = e.name; - var params = e.params; - var v = Reflect.field(this.macros,m); - var pl = []; - var old = this.buf; - pl.push($bind(this,this.resolve)); - var _g_head = params.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var p = val; - if(p._hx_index == 0) { - var v1 = p.v; - pl.push(this.resolve(v1)); - } else { - this.buf = new StringBuf(); - this.run(p); - pl.push(this.buf.b); - } - } - this.buf = old; - try { - var _this = this.buf; - var x = Std.string(v.apply(this.macros,pl)); - _this.b += Std.string(x); - } catch( _g ) { - var e = haxe_Exception.caught(_g).unwrap(); - var plstr; - try { - plstr = pl.join(","); - } catch( _g1 ) { - plstr = "???"; - } - var msg = "Macro call " + m + "(" + plstr + ") failed (" + Std.string(e) + ")"; - throw haxe_Exception.thrown(msg); - } - break; - } - } -}; -var haxe_ValueException = function(value,previous,native) { - haxe_Exception.call(this,String(value),previous,native); - this.value = value; -}; -haxe_ValueException.__name__ = true; -haxe_ValueException.__super__ = haxe_Exception; -haxe_ValueException.prototype = $extend(haxe_Exception.prototype,{ - unwrap: function() { - return this.value; - } -}); -var haxe_ds_List = function() { - this.length = 0; -}; -haxe_ds_List.__name__ = true; -haxe_ds_List.prototype = { - add: function(item) { - var x = new haxe_ds__$List_ListNode(item,null); - if(this.h == null) { - this.h = x; - } else { - this.q.next = x; - } - this.q = x; - this.length++; - } - ,push: function(item) { - var x = new haxe_ds__$List_ListNode(item,this.h); - this.h = x; - if(this.q == null) { - this.q = x; - } - this.length++; - } - ,first: function() { - if(this.h == null) { - return null; - } else { - return this.h.item; - } - } - ,pop: function() { - if(this.h == null) { - return null; - } - var x = this.h.item; - this.h = this.h.next; - if(this.h == null) { - this.q = null; - } - this.length--; - return x; - } - ,isEmpty: function() { - return this.h == null; - } - ,toString: function() { - var s_b = ""; - var first = true; - var l = this.h; - s_b += "{"; - while(l != null) { - if(first) { - first = false; - } else { - s_b += ", "; - } - s_b += Std.string(Std.string(l.item)); - l = l.next; - } - s_b += "}"; - return s_b; - } -}; -var haxe_ds__$List_ListNode = function(item,next) { - this.item = item; - this.next = next; -}; -haxe_ds__$List_ListNode.__name__ = true; -var js_Boot = function() { }; -js_Boot.__name__ = true; -js_Boot.__string_rec = function(o,s) { - if(o == null) { - return "null"; - } - if(s.length >= 5) { - return "<...>"; - } - var t = typeof(o); - if(t == "function" && (o.__name__ || o.__ename__)) { - t = "object"; - } - switch(t) { - case "function": - return ""; - case "object": - if(o.__enum__) { - var e = $hxEnums[o.__enum__]; - var con = e.__constructs__[o._hx_index]; - var n = con._hx_name; - if(con.__params__) { - s = s + "\t"; - return n + "(" + ((function($this) { - var $r; - var _g = []; - { - var _g1 = 0; - var _g2 = con.__params__; - while(true) { - if(!(_g1 < _g2.length)) { - break; - } - var p = _g2[_g1]; - _g1 = _g1 + 1; - _g.push(js_Boot.__string_rec(o[p],s)); - } - } - $r = _g; - return $r; - }(this))).join(",") + ")"; - } else { - return n; - } - } - if(((o) instanceof Array)) { - var str = "["; - s += "\t"; - var _g = 0; - var _g1 = o.length; - while(_g < _g1) { - var i = _g++; - str += (i > 0 ? "," : "") + js_Boot.__string_rec(o[i],s); - } - str += "]"; - return str; - } - var tostr; - try { - tostr = o.toString; - } catch( _g ) { - return "???"; - } - if(tostr != null && tostr != Object.toString && typeof(tostr) == "function") { - var s2 = o.toString(); - if(s2 != "[object Object]") { - return s2; - } - } - var str = "{\n"; - s += "\t"; - var hasp = o.hasOwnProperty != null; - var k = null; - for( k in o ) { - if(hasp && !o.hasOwnProperty(k)) { - continue; - } - if(k == "prototype" || k == "__class__" || k == "__super__" || k == "__interfaces__" || k == "__properties__") { - continue; - } - if(str.length != 2) { - str += ", \n"; - } - str += s + k + " : " + js_Boot.__string_rec(o[k],s); - } - s = s.substring(1); - str += "\n" + s + "}"; - return str; - case "string": - return o; - default: - return String(o); - } -}; -var xrfragment_Filter = $hx_exports["xrfragment"]["Filter"] = function(str) { - this.q = { }; - this.str = ""; - if(str != null) { - this.parse(str); - } -}; -xrfragment_Filter.__name__ = true; -xrfragment_Filter.prototype = { - toObject: function() { - return Reflect.copy(this.q); - } - ,get: function() { - return Reflect.copy(this.q); - } - ,parse: function(str) { - var token = str.split(" "); - var q = { }; - var process = function(str,prefix) { - if(prefix == null) { - prefix = ""; - } - str = StringTools.trim(str); - var k = str.split("=")[0]; - var v = str.split("=")[1]; - var filter = { }; - if(q[prefix + k]) { - filter = q[prefix + k]; - } - if(xrfragment_XRF.isProp.match(str)) { - var oper = ""; - if(str.indexOf(">") != -1) { - oper = ">"; - } - if(str.indexOf("<") != -1) { - oper = "<"; - } - if(xrfragment_XRF.isExclude.match(k)) { - k = HxOverrides.substr(k,1,null); - } - v = HxOverrides.substr(v,oper.length,null); - if(oper.length == 0) { - oper = "="; - } - var rule = { }; - if(xrfragment_XRF.isNumber.match(v)) { - rule[oper] = parseFloat(v); - } else { - rule[oper] = v; - } - q["expr"] = rule; - } - var value = xrfragment_XRF.isDeep.match(str) ? k.split("*").length - 1 : 0; - q["deep"] = value; - var value = xrfragment_XRF.isExclude.match(str) ? false : true; - q["show"] = value; - var value = k.replace(xrfragment_XRF.operators.r,""); - q["key"] = value; - q["value"] = v; - }; - var _g = 0; - var _g1 = token.length; - while(_g < _g1) { - var i = _g++; - process(token[i]); - } - return this.q = q; - } - ,test: function(obj) { - var qualify = false; - var _g = 0; - var _g1 = Reflect.fields(obj); - while(_g < _g1.length) { - var k = _g1[_g]; - ++_g; - var v = Std.string(Reflect.field(obj,k)); - if(this.testProperty(k,v)) { - qualify = true; - } - } - var _g = 0; - var _g1 = Reflect.fields(obj); - while(_g < _g1.length) { - var k = _g1[_g]; - ++_g; - var v = Std.string(Reflect.field(obj,k)); - if(this.testProperty(k,v,true)) { - qualify = false; - } - } - return qualify; - } - ,testProperty: function(property,value,exclude) { - var conds = 0; - var fails = 0; - var qualify = 0; - var testprop = function(expr) { - conds += 1; - fails += expr ? 0 : 1; - return expr; - }; - if(this.q[value] != null) { - var v = this.q[value]; - if(v[property] != null) { - return v[property]; - } - } - if(Reflect.field(this.q,"expr")) { - var f = Reflect.field(this.q,"expr"); - if(!Reflect.field(this.q,"show")) { - if(Reflect.field(f,"!=") != null && testprop((value == null ? "null" : "" + value) == Std.string(Reflect.field(f,"!="))) && exclude) { - ++qualify; - } - } else { - if(Reflect.field(f,"*") != null && testprop(parseFloat(value) != null)) { - ++qualify; - } - if(Reflect.field(f,">") != null && testprop(parseFloat(value) >= parseFloat(Reflect.field(f,">")))) { - ++qualify; - } - if(Reflect.field(f,"<") != null && testprop(parseFloat(value) <= parseFloat(Reflect.field(f,"<")))) { - ++qualify; - } - if(Reflect.field(f,"=") != null && (testprop(value == Reflect.field(f,"=")) || testprop(parseFloat(value) == parseFloat(Reflect.field(f,"="))))) { - ++qualify; - } - } - } - return qualify > 0; - } -}; -var xrfragment_Parser = $hx_exports["xrfragment"]["Parser"] = function() { }; -xrfragment_Parser.__name__ = true; -xrfragment_Parser.parse = function(key,value,store,index) { - var Frag_h = Object.create(null); - Frag_h["#"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_PREDEFINED_VIEW | xrfragment_XRF.PV_EXECUTE; - Frag_h["src"] = xrfragment_XRF.T_URL; - Frag_h["href"] = xrfragment_XRF.T_URL | xrfragment_XRF.T_PREDEFINED_VIEW; - Frag_h["tag"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["pos"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_VECTOR3 | xrfragment_XRF.T_STRING | xrfragment_XRF.METADATA | xrfragment_XRF.NAVIGATOR; - Frag_h["rot"] = xrfragment_XRF.QUERY_OPERATOR | xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_VECTOR3 | xrfragment_XRF.METADATA | xrfragment_XRF.NAVIGATOR; - Frag_h["t"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_FLOAT | xrfragment_XRF.T_VECTOR2 | xrfragment_XRF.NAVIGATOR | xrfragment_XRF.METADATA; - Frag_h["s"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_MEDIAFRAG; - Frag_h["loop"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_PREDEFINED_VIEW; - Frag_h["uv"] = xrfragment_XRF.T_VECTOR2 | xrfragment_XRF.T_MEDIAFRAG; - Frag_h["namespace"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["SPDX"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["unit"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["description"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - var keyStripped = key.replace(xrfragment_XRF.operators.r,""); - var isPVDynamic = key.length > 0 && !Object.prototype.hasOwnProperty.call(Frag_h,key); - if(isPVDynamic) { - var v = new xrfragment_XRF(key,xrfragment_XRF.PV_EXECUTE | xrfragment_XRF.NAVIGATOR,index); - v.validate(value); - v.flags = xrfragment_XRF.set(xrfragment_XRF.T_DYNAMICKEY,v.flags); - if(!Object.prototype.hasOwnProperty.call(Frag_h,key)) { - v.flags = xrfragment_XRF.set(xrfragment_XRF.CUSTOMFRAG,v.flags); - } - if(value.length == 0) { - v.flags = xrfragment_XRF.set(xrfragment_XRF.T_DYNAMICKEYVALUE,v.flags); - } - store[keyStripped] = v; - return true; - } - var v = new xrfragment_XRF(key,Frag_h[key],index); - if(Object.prototype.hasOwnProperty.call(Frag_h,key)) { - if(!v.validate(value)) { - console.log("src/xrfragment/Parser.hx:67:","⚠ fragment '" + key + "' has incompatible value (" + value + ")"); - return false; - } - store[keyStripped] = v; - if(xrfragment_Parser.debug) { - console.log("src/xrfragment/Parser.hx:71:","✔ " + key + ": " + v.string); - } - } else { - if(typeof(value) == "string") { - v.guessType(v,value); - } - v.flags = xrfragment_XRF.set(xrfragment_XRF.CUSTOMFRAG,v.flags); - store[keyStripped] = v; - } - return true; -}; -xrfragment_Parser.getMetaData = function() { - var meta = { title : ["title","og:title","dc.title"], description : ["aria-description","og:description","dc.description"], author : ["author","dc.creator"], publisher : ["publisher","dc.publisher"], website : ["og:site_name","og:url","dc.publisher"], license : ["SPDX","dc.rights"]}; - return meta; -}; -var xrfragment_URI = $hx_exports["xrfragment"]["URI"] = function() { - this.XRF = { }; - this.hash = { }; - this.fragment = ""; -}; -xrfragment_URI.__name__ = true; -xrfragment_URI.parseFragment = function(url,filter) { - var store = { }; - if(url == null || url.indexOf("#") == -1) { - return store; - } - var fragment = url.split("#"); - var splitArray = fragment[1].split("&"); - var _g = 0; - var _g1 = splitArray.length; - while(_g < _g1) { - var i = _g++; - var splitByEqual = splitArray[i].split("="); - var regexPlus = new EReg("\\+","g"); - var key = splitByEqual[0]; - var value = ""; - if(splitByEqual.length > 1) { - if(xrfragment_XRF.isVector.match(splitByEqual[1])) { - value = splitByEqual[1]; - } else { - var s = regexPlus.split(splitByEqual[1]).join(" "); - value = decodeURIComponent(s.split("+").join(" ")); - } - } - var ok = xrfragment_Parser.parse(key,value,store,i); - } - if(filter != null && filter != 0) { - var _g = 0; - var _g1 = Reflect.fields(store); - while(_g < _g1.length) { - var key = _g1[_g]; - ++_g; - var xrf = store[key]; - if(!xrf.is(filter)) { - Reflect.deleteField(store,key); - } - } - } - return store; -}; -xrfragment_URI.template = function(uri,vars) { - var parts = uri.split("#"); - if(parts.length == 1) { - return uri; - } - var frag = parts[1]; - frag = StringTools.replace(frag,"{","::"); - frag = StringTools.replace(frag,"}","::"); - frag = new haxe_Template(frag).execute(vars); - frag = StringTools.replace(frag,"null",""); - parts[1] = frag; - return parts.join("#"); -}; -xrfragment_URI.parse = function(stringUrl,flags) { - var r = new EReg("^(?:(?![^:@]+:[^:@/]*@)([^:/?#.]+):)?(?://)?((?:(([^:@]*)(?::([^:@]*))?)?@)?([^:/?#]*)(?::(\\d*))?)(((/(?:[^?#](?![^?#/]*\\.[^?#/.]+(?:[?#]|$)))*/?)?([^?#/]*))(?:\\?([^#]*))?(?:#(.*))?)",""); - if(stringUrl.indexOf("://") == -1 && stringUrl.charAt(0) != "/") { - stringUrl = "/" + stringUrl; - } - r.match(stringUrl); - var url = new xrfragment_URI(); - var _g = 0; - var _g1 = xrfragment_URI._parts.length; - while(_g < _g1) { - var i = _g++; - url[xrfragment_URI._parts[i]] = r.matched(i); - } - if(xrfragment_URI.isRelative(url) == true) { - if(url.directory == null && url.host != null) { - url.file = url.host; - } - url.host = ""; - } - url.hash = { }; - if(url.fragment != null && url.fragment.length > 0) { - url.XRF = xrfragment_URI.parseFragment("#" + url.fragment,flags); - var key; - var _g = 0; - var _g1 = Reflect.fields(url.XRF); - while(_g < _g1.length) { - var key = _g1[_g]; - ++_g; - var v = url.XRF[key]; - url.hash[key] = v["string"]; - } - } - xrfragment_URI.computeVars(url); - return url; -}; -xrfragment_URI.computeVars = function(url) { - var r_r = new RegExp("//","g".split("u").join("")); - if(url.directory != null && url.directory.indexOf("//") != -1) { - url.directory = url.directory.replace(r_r,"/"); - } - if(url.path != null && url.path.indexOf("//") != -1) { - url.path = url.path.replace(r_r,"/"); - } - if(url.file != null && url.file.indexOf("//") != -1) { - url.file = url.file.replace(r_r,"/"); - } - url.URN = url.scheme + "://" + url.host; - if(url.port != null) { - url.URN += ":" + url.port; - } - url.URN += url.directory; - if(url.file != null) { - var parts = url.file.split("."); - if(parts.length > 1) { - url.fileExt = parts.pop(); - } - } -}; -xrfragment_URI.toString = function(url) { - var result = ""; - if(url.scheme != null) { - result += url.scheme + "://"; - } - if(url.user != null) { - result += url.user + ":"; - } - if(url.password != null) { - result += url.password + "@"; - } - if(url.host != null) { - result += url.host; - } - if(url.port != null) { - result += ":" + url.port; - } - if(url.directory != null) { - result += url.directory; - } - if(url.file != null) { - result += url.file; - } - if(url.query != null) { - result += "?" + url.query; - } - if(url.fragment != null) { - result += "#" + url.fragment; - } - return result; -}; -xrfragment_URI.appendURI = function(url,appendedURI) { - if(xrfragment_URI.isRelative(url) == true) { - return xrfragment_URI.appendToRelativeURI(url,appendedURI); - } else { - return xrfragment_URI.appendToAbsoluteURI(url,appendedURI); - } -}; -xrfragment_URI.isRelative = function(url) { - return url.scheme == null; -}; -xrfragment_URI.appendToRelativeURI = function(url,appendedURI) { - if(url.directory == null || url.host == null) { - return xrfragment_URI.cloneURI(appendedURI); - } - var resultURI = new xrfragment_URI(); - resultURI.host = url.host; - resultURI.directory = url.directory; - if(appendedURI.host != null) { - resultURI.directory += appendedURI.host; - } - if(appendedURI.directory != null) { - var directory = appendedURI.directory; - if(appendedURI.host == null) { - resultURI.directory += HxOverrides.substr(directory,1,null); - } else { - resultURI.directory += directory; - } - } - if(appendedURI.file != null) { - resultURI.file = appendedURI.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(appendedURI.query != null) { - resultURI.query = appendedURI.query; - } - if(appendedURI.fragment != null) { - resultURI.fragment = appendedURI.fragment; - } - return resultURI; -}; -xrfragment_URI.appendToAbsoluteURI = function(url,appendedURI) { - var resultURI = new xrfragment_URI(); - if(url.scheme != null) { - resultURI.scheme = url.scheme; - } - if(url.host != null) { - resultURI.host = url.host; - } - var directory = ""; - if(url.directory != null) { - directory = url.directory; - } - if(appendedURI.host != null) { - appendedURI.directory += appendedURI.host; - } - if(appendedURI.directory != null) { - directory += appendedURI.directory; - } - resultURI.directory = directory; - if(appendedURI.file != null) { - resultURI.file = appendedURI.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(appendedURI.query != null) { - resultURI.query = appendedURI.query; - } - if(appendedURI.fragment != null) { - resultURI.fragment = appendedURI.fragment; - } - return resultURI; -}; -xrfragment_URI.toAbsolute = function(url,newUrl) { - var newURI = xrfragment_URI.parse(newUrl,0); - var resultURI = new xrfragment_URI(); - resultURI.port = url.port; - resultURI.source = newUrl; - if(newURI.scheme != null) { - resultURI.scheme = newURI.scheme; - } else { - resultURI.scheme = url.scheme; - } - if(newURI.host != null && newURI.host.length > 0) { - resultURI.host = newURI.host; - resultURI.port = null; - resultURI.fragment = null; - resultURI.hash = { }; - resultURI.XRF = { }; - if(newURI.port != null) { - resultURI.port = newURI.port; - } - } else { - resultURI.host = url.host; - } - var directory = ""; - if(url.directory != null) { - directory = url.directory; - } - if(newURI.directory != null) { - if(newUrl.charAt(0) != "/" && newUrl.indexOf("://") == -1) { - var stripRelative_r = new RegExp("\\./.*","".split("u").join("")); - directory = directory.replace(stripRelative_r,""); - directory += newURI.directory; - } else { - directory = newURI.directory; - } - } - resultURI.directory = directory; - if(newURI.file != null) { - resultURI.file = newURI.file; - } else { - resultURI.file = url.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(newURI.query != null) { - resultURI.query = newURI.query; - } - if(newURI.fragment != null) { - resultURI.fragment = newURI.fragment; - } - resultURI.hash = newURI.hash; - resultURI.XRF = newURI.XRF; - xrfragment_URI.computeVars(resultURI); - return resultURI; -}; -xrfragment_URI.cloneURI = function(url) { - var clonedURI = new xrfragment_URI(); - clonedURI.url = url.url; - clonedURI.source = url.source; - clonedURI.scheme = url.scheme; - clonedURI.authority = url.authority; - clonedURI.userInfo = url.userInfo; - clonedURI.password = url.password; - clonedURI.host = url.host; - clonedURI.port = url.port; - clonedURI.relative = url.relative; - clonedURI.path = url.path; - clonedURI.directory = url.directory; - clonedURI.file = url.file; - clonedURI.query = url.query; - clonedURI.fragment = url.fragment; - return clonedURI; -}; -var xrfragment_XRF = $hx_exports["xrfragment"]["XRF"] = function(_fragment,_flags,_index) { - this.floats = []; - this.shift = []; - this.fragment = _fragment; - this.flags = _flags; - this.index = _index; -}; -xrfragment_XRF.__name__ = true; -xrfragment_XRF.set = function(flag,flags) { - return flags | flag; -}; -xrfragment_XRF.unset = function(flag,flags) { - return flags & ~flag; -}; -xrfragment_XRF.prototype = { - is: function(flag) { - var v = this.flags; - if(!(typeof(v) == "number" && ((v | 0) === v))) { - this.flags = 0; - } - return (this.flags & flag) != 0; - } - ,validate: function(value) { - this.guessType(this,value); - var ok = true; - if(value.length == 0 && !this.is(xrfragment_XRF.T_PREDEFINED_VIEW)) { - ok = false; - } - if(!this.is(xrfragment_XRF.T_FLOAT) && this.is(xrfragment_XRF.T_VECTOR2) && !(typeof(this.x) == "number" && typeof(this.y) == "number")) { - ok = false; - } - if(!(this.is(xrfragment_XRF.T_VECTOR2) || this.is(xrfragment_XRF.T_STRING)) && this.is(xrfragment_XRF.T_VECTOR3) && !(typeof(this.x) == "number" && typeof(this.y) == "number" && typeof(this.z) == "number")) { - ok = false; - } - return ok; - } - ,guessType: function(v,str) { - v.string = str; - if(xrfragment_XRF.isReset.match(v.fragment)) { - v.reset = true; - } - if(v.fragment == "loop") { - v.loop = true; - } - if(typeof(str) != "string") { - return; - } - if(str.length > 0) { - if(xrfragment_XRF.isXRFScheme.match(str)) { - v.xrfScheme = true; - str = str.replace(xrfragment_XRF.isXRFScheme.r,""); - v.string = str; - } - if(str.split(",").length > 1) { - var xyzn = str.split(","); - if(xyzn.length > 0) { - v.x = parseFloat(xyzn[0]); - } - if(xyzn.length > 1) { - v.y = parseFloat(xyzn[1]); - } - if(xyzn.length > 2) { - v.z = parseFloat(xyzn[2]); - } - var _g = 0; - var _g1 = xyzn.length; - while(_g < _g1) { - var i = _g++; - v.shift.push(xrfragment_XRF.isShift.match(xyzn[i])); - v.floats.push(parseFloat(xyzn[i].replace(xrfragment_XRF.isShift.r,""))); - } - } - if(xrfragment_XRF.isColor.match(str)) { - v.color = str; - } - if(xrfragment_XRF.isFloat.match(str)) { - v.x = parseFloat(str); - v.float = v.x; - } - if(xrfragment_XRF.isInt.match(str)) { - v.int = Std.parseInt(str); - v.x = v.int; - v.floats.push(v.x); - } - v.filter = new xrfragment_Filter(v.fragment + "=" + v.string); - } else { - v.filter = new xrfragment_Filter(v.fragment); - } - } -}; -function $getIterator(o) { if( o instanceof Array ) return new haxe_iterators_ArrayIterator(o); else return o.iterator(); } -function $bind(o,m) { if( m == null ) return null; if( m.__id__ == null ) m.__id__ = $global.$haxeUID++; var f; if( o.hx__closures__ == null ) o.hx__closures__ = {}; else f = o.hx__closures__[m.__id__]; if( f == null ) { f = m.bind(o); o.hx__closures__[m.__id__] = f; } return f; } -$global.$haxeUID |= 0; -if(typeof(performance) != "undefined" ? typeof(performance.now) == "function" : false) { - HxOverrides.now = performance.now.bind(performance); -} -if( String.fromCodePoint == null ) String.fromCodePoint = function(c) { return c < 0x10000 ? String.fromCharCode(c) : String.fromCharCode((c>>10)+0xD7C0)+String.fromCharCode((c&0x3FF)+0xDC00); } -String.__name__ = true; -Array.__name__ = true; -js_Boot.__toStr = ({ }).toString; -haxe_Template.splitter = new EReg("(::[A-Za-z0-9_ ()&|!+=/><*.\"-]+::|\\$\\$([A-Za-z0-9_-]+)\\()",""); -haxe_Template.expr_splitter = new EReg("(\\(|\\)|[ \r\n\t]*\"[^\"]*\"[ \r\n\t]*|[!+=/><*.&|-]+)",""); -haxe_Template.expr_trim = new EReg("^[ ]*([^ ]+)[ ]*$",""); -haxe_Template.expr_int = new EReg("^[0-9]+$",""); -haxe_Template.expr_float = new EReg("^([+-]?)(?=\\d|,\\d)\\d*(,\\d*)?([Ee]([+-]?\\d+))?$",""); -haxe_Template.globals = { }; -haxe_Template.hxKeepArrayIterator = new haxe_iterators_ArrayIterator([]); -xrfragment_Parser.error = ""; -xrfragment_Parser.debug = false; -xrfragment_URI.__meta__ = { statics : { template : { keep : null}}}; -xrfragment_URI._parts = ["source","scheme","authority","userInfo","user","password","host","port","relative","path","directory","file","query","fragment"]; -xrfragment_XRF.IMMUTABLE = 1; -xrfragment_XRF.PROP_BIND = 2; -xrfragment_XRF.QUERY_OPERATOR = 4; -xrfragment_XRF.PROMPT = 8; -xrfragment_XRF.CUSTOMFRAG = 16; -xrfragment_XRF.NAVIGATOR = 32; -xrfragment_XRF.METADATA = 64; -xrfragment_XRF.PV_OVERRIDE = 128; -xrfragment_XRF.PV_EXECUTE = 256; -xrfragment_XRF.T_COLOR = 8192; -xrfragment_XRF.T_INT = 16384; -xrfragment_XRF.T_FLOAT = 32768; -xrfragment_XRF.T_VECTOR2 = 65536; -xrfragment_XRF.T_VECTOR3 = 131072; -xrfragment_XRF.T_URL = 262144; -xrfragment_XRF.T_PREDEFINED_VIEW = 524288; -xrfragment_XRF.T_STRING = 1048576; -xrfragment_XRF.T_MEDIAFRAG = 2097152; -xrfragment_XRF.T_DYNAMICKEY = 4194304; -xrfragment_XRF.T_DYNAMICKEYVALUE = 8388608; -xrfragment_XRF.isColor = new EReg("^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$",""); -xrfragment_XRF.isInt = new EReg("^[-0-9]+$",""); -xrfragment_XRF.isFloat = new EReg("^[-0-9]+\\.[0-9]+$",""); -xrfragment_XRF.isVector = new EReg("([,]+|\\w)",""); -xrfragment_XRF.isUrl = new EReg("(://)?\\..*",""); -xrfragment_XRF.isUrlOrPretypedView = new EReg("(^#|://)?\\..*",""); -xrfragment_XRF.isString = new EReg(".*",""); -xrfragment_XRF.operators = new EReg("(^[-]|^[!]|[\\*]$)","g"); -xrfragment_XRF.isProp = new EReg("^.*=[><=]?",""); -xrfragment_XRF.isExclude = new EReg("^-",""); -xrfragment_XRF.isDeep = new EReg("\\*",""); -xrfragment_XRF.isNumber = new EReg("^[0-9\\.]+$",""); -xrfragment_XRF.isMediaFrag = new EReg("^([0-9\\.,\\*+-]+)$",""); -xrfragment_XRF.isReset = new EReg("^!",""); -xrfragment_XRF.isShift = new EReg("^(\\+|--)",""); -xrfragment_XRF.isXRFScheme = new EReg("^xrf://",""); -})(typeof window != "undefined" ? window : typeof global != "undefined" ? global : typeof self != "undefined" ? self : this); -var xrfragment = $hx_exports["xrfragment"]; -export default xrfragment; -// Generated by Haxe 4.3.3 -var $hx_exports = typeof exports != "undefined" ? exports : typeof window != "undefined" ? window : typeof self != "undefined" ? self : this; -(function ($global) { "use strict"; -$hx_exports["xrfragment"] = $hx_exports["xrfragment"] || {}; -var $estr = function() { return js_Boot.__string_rec(this,''); },$hxEnums = $hxEnums || {},$_; -function $extend(from, fields) { - var proto = Object.create(from); - for (var name in fields) proto[name] = fields[name]; - if( fields.toString !== Object.prototype.toString ) proto.toString = fields.toString; - return proto; -} -var EReg = function(r,opt) { - this.r = new RegExp(r,opt.split("u").join("")); -}; -EReg.__name__ = true; -EReg.prototype = { - match: function(s) { - if(this.r.global) { - this.r.lastIndex = 0; - } - this.r.m = this.r.exec(s); - this.r.s = s; - return this.r.m != null; - } - ,matched: function(n) { - if(this.r.m != null && n >= 0 && n < this.r.m.length) { - return this.r.m[n]; - } else { - throw haxe_Exception.thrown("EReg::matched"); - } - } - ,matchedRight: function() { - if(this.r.m == null) { - throw haxe_Exception.thrown("No string matched"); - } - var sz = this.r.m.index + this.r.m[0].length; - return HxOverrides.substr(this.r.s,sz,this.r.s.length - sz); - } - ,matchedPos: function() { - if(this.r.m == null) { - throw haxe_Exception.thrown("No string matched"); - } - return { pos : this.r.m.index, len : this.r.m[0].length}; - } - ,split: function(s) { - var d = "#__delim__#"; - return s.replace(this.r,d).split(d); - } -}; -var HxOverrides = function() { }; -HxOverrides.__name__ = true; -HxOverrides.cca = function(s,index) { - var x = s.charCodeAt(index); - if(x != x) { - return undefined; - } - return x; -}; -HxOverrides.substr = function(s,pos,len) { - if(len == null) { - len = s.length; - } else if(len < 0) { - if(pos == 0) { - len = s.length + len; - } else { - return ""; - } - } - return s.substr(pos,len); -}; -HxOverrides.now = function() { - return Date.now(); -}; -Math.__name__ = true; -var Reflect = function() { }; -Reflect.__name__ = true; -Reflect.field = function(o,field) { - try { - return o[field]; - } catch( _g ) { - return null; - } -}; -Reflect.getProperty = function(o,field) { - var tmp; - if(o == null) { - return null; - } else { - var tmp1; - if(o.__properties__) { - tmp = o.__properties__["get_" + field]; - tmp1 = tmp; - } else { - tmp1 = false; - } - if(tmp1) { - return o[tmp](); - } else { - return o[field]; - } - } -}; -Reflect.fields = function(o) { - var a = []; - if(o != null) { - var hasOwnProperty = Object.prototype.hasOwnProperty; - for( var f in o ) { - if(f != "__id__" && f != "hx__closures__" && hasOwnProperty.call(o,f)) { - a.push(f); - } - } - } - return a; -}; -Reflect.isObject = function(v) { - if(v == null) { - return false; - } - var t = typeof(v); - if(!(t == "string" || t == "object" && v.__enum__ == null)) { - if(t == "function") { - return (v.__name__ || v.__ename__) != null; - } else { - return false; - } - } else { - return true; - } -}; -Reflect.deleteField = function(o,field) { - if(!Object.prototype.hasOwnProperty.call(o,field)) { - return false; - } - delete(o[field]); - return true; -}; -Reflect.copy = function(o) { - if(o == null) { - return null; - } - var o2 = { }; - var _g = 0; - var _g1 = Reflect.fields(o); - while(_g < _g1.length) { - var f = _g1[_g]; - ++_g; - o2[f] = Reflect.field(o,f); - } - return o2; -}; -var Std = function() { }; -Std.__name__ = true; -Std.string = function(s) { - return js_Boot.__string_rec(s,""); -}; -Std.parseInt = function(x) { - var v = parseInt(x); - if(isNaN(v)) { - return null; - } - return v; -}; -var StringBuf = function() { - this.b = ""; -}; -StringBuf.__name__ = true; -var StringTools = function() { }; -StringTools.__name__ = true; -StringTools.isSpace = function(s,pos) { - var c = HxOverrides.cca(s,pos); - if(!(c > 8 && c < 14)) { - return c == 32; - } else { - return true; - } -}; -StringTools.ltrim = function(s) { - var l = s.length; - var r = 0; - while(r < l && StringTools.isSpace(s,r)) ++r; - if(r > 0) { - return HxOverrides.substr(s,r,l - r); - } else { - return s; - } -}; -StringTools.rtrim = function(s) { - var l = s.length; - var r = 0; - while(r < l && StringTools.isSpace(s,l - r - 1)) ++r; - if(r > 0) { - return HxOverrides.substr(s,0,l - r); - } else { - return s; - } -}; -StringTools.trim = function(s) { - return StringTools.ltrim(StringTools.rtrim(s)); -}; -StringTools.replace = function(s,sub,by) { - return s.split(sub).join(by); -}; -var haxe_Exception = function(message,previous,native) { - Error.call(this,message); - this.message = message; - this.__previousException = previous; - this.__nativeException = native != null ? native : this; -}; -haxe_Exception.__name__ = true; -haxe_Exception.caught = function(value) { - if(((value) instanceof haxe_Exception)) { - return value; - } else if(((value) instanceof Error)) { - return new haxe_Exception(value.message,null,value); - } else { - return new haxe_ValueException(value,null,value); - } -}; -haxe_Exception.thrown = function(value) { - if(((value) instanceof haxe_Exception)) { - return value.get_native(); - } else if(((value) instanceof Error)) { - return value; - } else { - var e = new haxe_ValueException(value); - return e; - } -}; -haxe_Exception.__super__ = Error; -haxe_Exception.prototype = $extend(Error.prototype,{ - unwrap: function() { - return this.__nativeException; - } - ,get_native: function() { - return this.__nativeException; - } - ,__properties__: {get_native:"get_native"} -}); -var haxe__$Template_TemplateExpr = $hxEnums["haxe._Template.TemplateExpr"] = { __ename__:true,__constructs__:null - ,OpVar: ($_=function(v) { return {_hx_index:0,v:v,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpVar",$_.__params__ = ["v"],$_) - ,OpExpr: ($_=function(expr) { return {_hx_index:1,expr:expr,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpExpr",$_.__params__ = ["expr"],$_) - ,OpIf: ($_=function(expr,eif,eelse) { return {_hx_index:2,expr:expr,eif:eif,eelse:eelse,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpIf",$_.__params__ = ["expr","eif","eelse"],$_) - ,OpStr: ($_=function(str) { return {_hx_index:3,str:str,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpStr",$_.__params__ = ["str"],$_) - ,OpBlock: ($_=function(l) { return {_hx_index:4,l:l,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpBlock",$_.__params__ = ["l"],$_) - ,OpForeach: ($_=function(expr,loop) { return {_hx_index:5,expr:expr,loop:loop,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpForeach",$_.__params__ = ["expr","loop"],$_) - ,OpMacro: ($_=function(name,params) { return {_hx_index:6,name:name,params:params,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpMacro",$_.__params__ = ["name","params"],$_) -}; -haxe__$Template_TemplateExpr.__constructs__ = [haxe__$Template_TemplateExpr.OpVar,haxe__$Template_TemplateExpr.OpExpr,haxe__$Template_TemplateExpr.OpIf,haxe__$Template_TemplateExpr.OpStr,haxe__$Template_TemplateExpr.OpBlock,haxe__$Template_TemplateExpr.OpForeach,haxe__$Template_TemplateExpr.OpMacro]; -var haxe_iterators_ArrayIterator = function(array) { - this.current = 0; - this.array = array; -}; -haxe_iterators_ArrayIterator.__name__ = true; -haxe_iterators_ArrayIterator.prototype = { - hasNext: function() { - return this.current < this.array.length; - } - ,next: function() { - return this.array[this.current++]; - } -}; -var haxe_Template = function(str) { - var tokens = this.parseTokens(str); - this.expr = this.parseBlock(tokens); - if(!tokens.isEmpty()) { - throw haxe_Exception.thrown("Unexpected '" + Std.string(tokens.first().s) + "'"); - } -}; -haxe_Template.__name__ = true; -haxe_Template.prototype = { - execute: function(context,macros) { - this.macros = macros == null ? { } : macros; - this.context = context; - this.stack = new haxe_ds_List(); - this.buf = new StringBuf(); - this.run(this.expr); - return this.buf.b; - } - ,resolve: function(v) { - if(v == "__current__") { - return this.context; - } - if(Reflect.isObject(this.context)) { - var value = Reflect.getProperty(this.context,v); - if(value != null || Object.prototype.hasOwnProperty.call(this.context,v)) { - return value; - } - } - var _g_head = this.stack.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var ctx = val; - var value = Reflect.getProperty(ctx,v); - if(value != null || Object.prototype.hasOwnProperty.call(ctx,v)) { - return value; - } - } - return Reflect.field(haxe_Template.globals,v); - } - ,parseTokens: function(data) { - var tokens = new haxe_ds_List(); - while(haxe_Template.splitter.match(data)) { - var p = haxe_Template.splitter.matchedPos(); - if(p.pos > 0) { - tokens.add({ p : HxOverrides.substr(data,0,p.pos), s : true, l : null}); - } - if(HxOverrides.cca(data,p.pos) == 58) { - tokens.add({ p : HxOverrides.substr(data,p.pos + 2,p.len - 4), s : false, l : null}); - data = haxe_Template.splitter.matchedRight(); - continue; - } - var parp = p.pos + p.len; - var npar = 1; - var params = []; - var part = ""; - while(true) { - var c = HxOverrides.cca(data,parp); - ++parp; - if(c == 40) { - ++npar; - } else if(c == 41) { - --npar; - if(npar <= 0) { - break; - } - } else if(c == null) { - throw haxe_Exception.thrown("Unclosed macro parenthesis"); - } - if(c == 44 && npar == 1) { - params.push(part); - part = ""; - } else { - part += String.fromCodePoint(c); - } - } - params.push(part); - tokens.add({ p : haxe_Template.splitter.matched(2), s : false, l : params}); - data = HxOverrides.substr(data,parp,data.length - parp); - } - if(data.length > 0) { - tokens.add({ p : data, s : true, l : null}); - } - return tokens; - } - ,parseBlock: function(tokens) { - var l = new haxe_ds_List(); - while(true) { - var t = tokens.first(); - if(t == null) { - break; - } - if(!t.s && (t.p == "end" || t.p == "else" || HxOverrides.substr(t.p,0,7) == "elseif ")) { - break; - } - l.add(this.parse(tokens)); - } - if(l.length == 1) { - return l.first(); - } - return haxe__$Template_TemplateExpr.OpBlock(l); - } - ,parse: function(tokens) { - var t = tokens.pop(); - var p = t.p; - if(t.s) { - return haxe__$Template_TemplateExpr.OpStr(p); - } - if(t.l != null) { - var pe = new haxe_ds_List(); - var _g = 0; - var _g1 = t.l; - while(_g < _g1.length) { - var p1 = _g1[_g]; - ++_g; - pe.add(this.parseBlock(this.parseTokens(p1))); - } - return haxe__$Template_TemplateExpr.OpMacro(p,pe); - } - var kwdEnd = function(kwd) { - var pos = -1; - var length = kwd.length; - if(HxOverrides.substr(p,0,length) == kwd) { - pos = length; - var _g_offset = 0; - var _g_s = HxOverrides.substr(p,length,null); - while(_g_offset < _g_s.length) { - var c = _g_s.charCodeAt(_g_offset++); - if(c == 32) { - ++pos; - } else { - break; - } - } - } - return pos; - }; - var pos = kwdEnd("if"); - if(pos > 0) { - p = HxOverrides.substr(p,pos,p.length - pos); - var e = this.parseExpr(p); - var eif = this.parseBlock(tokens); - var t = tokens.first(); - var eelse; - if(t == null) { - throw haxe_Exception.thrown("Unclosed 'if'"); - } - if(t.p == "end") { - tokens.pop(); - eelse = null; - } else if(t.p == "else") { - tokens.pop(); - eelse = this.parseBlock(tokens); - t = tokens.pop(); - if(t == null || t.p != "end") { - throw haxe_Exception.thrown("Unclosed 'else'"); - } - } else { - t.p = HxOverrides.substr(t.p,4,t.p.length - 4); - eelse = this.parse(tokens); - } - return haxe__$Template_TemplateExpr.OpIf(e,eif,eelse); - } - var pos = kwdEnd("foreach"); - if(pos >= 0) { - p = HxOverrides.substr(p,pos,p.length - pos); - var e = this.parseExpr(p); - var efor = this.parseBlock(tokens); - var t = tokens.pop(); - if(t == null || t.p != "end") { - throw haxe_Exception.thrown("Unclosed 'foreach'"); - } - return haxe__$Template_TemplateExpr.OpForeach(e,efor); - } - if(haxe_Template.expr_splitter.match(p)) { - return haxe__$Template_TemplateExpr.OpExpr(this.parseExpr(p)); - } - return haxe__$Template_TemplateExpr.OpVar(p); - } - ,parseExpr: function(data) { - var l = new haxe_ds_List(); - var expr = data; - while(haxe_Template.expr_splitter.match(data)) { - var p = haxe_Template.expr_splitter.matchedPos(); - var k = p.pos + p.len; - if(p.pos != 0) { - l.add({ p : HxOverrides.substr(data,0,p.pos), s : true}); - } - var p1 = haxe_Template.expr_splitter.matched(0); - l.add({ p : p1, s : p1.indexOf("\"") >= 0}); - data = haxe_Template.expr_splitter.matchedRight(); - } - if(data.length != 0) { - var _g_offset = 0; - var _g_s = data; - while(_g_offset < _g_s.length) { - var _g_key = _g_offset; - var _g_value = _g_s.charCodeAt(_g_offset++); - var i = _g_key; - var c = _g_value; - if(c != 32) { - l.add({ p : HxOverrides.substr(data,i,null), s : true}); - break; - } - } - } - var e; - try { - e = this.makeExpr(l); - if(!l.isEmpty()) { - throw haxe_Exception.thrown(l.first().p); - } - } catch( _g ) { - var _g1 = haxe_Exception.caught(_g).unwrap(); - if(typeof(_g1) == "string") { - var s = _g1; - throw haxe_Exception.thrown("Unexpected '" + s + "' in " + expr); - } else { - throw _g; - } - } - return function() { - try { - return e(); - } catch( _g ) { - var exc = haxe_Exception.caught(_g).unwrap(); - throw haxe_Exception.thrown("Error : " + Std.string(exc) + " in " + expr); - } - }; - } - ,makeConst: function(v) { - haxe_Template.expr_trim.match(v); - v = haxe_Template.expr_trim.matched(1); - if(HxOverrides.cca(v,0) == 34) { - var str = HxOverrides.substr(v,1,v.length - 2); - return function() { - return str; - }; - } - if(haxe_Template.expr_int.match(v)) { - var i = Std.parseInt(v); - return function() { - return i; - }; - } - if(haxe_Template.expr_float.match(v)) { - var f = parseFloat(v); - return function() { - return f; - }; - } - var me = this; - return function() { - return me.resolve(v); - }; - } - ,makePath: function(e,l) { - var p = l.first(); - if(p == null || p.p != ".") { - return e; - } - l.pop(); - var field = l.pop(); - if(field == null || !field.s) { - throw haxe_Exception.thrown(field.p); - } - var f = field.p; - haxe_Template.expr_trim.match(f); - f = haxe_Template.expr_trim.matched(1); - return this.makePath(function() { - return Reflect.field(e(),f); - },l); - } - ,makeExpr: function(l) { - return this.makePath(this.makeExpr2(l),l); - } - ,skipSpaces: function(l) { - var p = l.first(); - while(p != null) { - var _g_offset = 0; - var _g_s = p.p; - while(_g_offset < _g_s.length) { - var c = _g_s.charCodeAt(_g_offset++); - if(c != 32) { - return; - } - } - l.pop(); - p = l.first(); - } - } - ,makeExpr2: function(l) { - this.skipSpaces(l); - var p = l.pop(); - this.skipSpaces(l); - if(p == null) { - throw haxe_Exception.thrown(""); - } - if(p.s) { - return this.makeConst(p.p); - } - switch(p.p) { - case "!": - var e = this.makeExpr(l); - return function() { - var v = e(); - if(v != null) { - return v == false; - } else { - return true; - } - }; - case "(": - this.skipSpaces(l); - var e1 = this.makeExpr(l); - this.skipSpaces(l); - var p1 = l.pop(); - if(p1 == null || p1.s) { - throw haxe_Exception.thrown(p1); - } - if(p1.p == ")") { - return e1; - } - this.skipSpaces(l); - var e2 = this.makeExpr(l); - this.skipSpaces(l); - var p2 = l.pop(); - this.skipSpaces(l); - if(p2 == null || p2.p != ")") { - throw haxe_Exception.thrown(p2); - } - switch(p1.p) { - case "!=": - return function() { - return e1() != e2(); - }; - case "&&": - return function() { - return e1() && e2(); - }; - case "*": - return function() { - return e1() * e2(); - }; - case "+": - return function() { - return e1() + e2(); - }; - case "-": - return function() { - return e1() - e2(); - }; - case "/": - return function() { - return e1() / e2(); - }; - case "<": - return function() { - return e1() < e2(); - }; - case "<=": - return function() { - return e1() <= e2(); - }; - case "==": - return function() { - return e1() == e2(); - }; - case ">": - return function() { - return e1() > e2(); - }; - case ">=": - return function() { - return e1() >= e2(); - }; - case "||": - return function() { - return e1() || e2(); - }; - default: - throw haxe_Exception.thrown("Unknown operation " + p1.p); - } - break; - case "-": - var e3 = this.makeExpr(l); - return function() { - return -e3(); - }; - } - throw haxe_Exception.thrown(p.p); - } - ,run: function(e) { - switch(e._hx_index) { - case 0: - var v = e.v; - var _this = this.buf; - var x = Std.string(this.resolve(v)); - _this.b += Std.string(x); - break; - case 1: - var e1 = e.expr; - var _this = this.buf; - var x = Std.string(e1()); - _this.b += Std.string(x); - break; - case 2: - var e1 = e.expr; - var eif = e.eif; - var eelse = e.eelse; - var v = e1(); - if(v == null || v == false) { - if(eelse != null) { - this.run(eelse); - } - } else { - this.run(eif); - } - break; - case 3: - var str = e.str; - this.buf.b += str == null ? "null" : "" + str; - break; - case 4: - var l = e.l; - var _g_head = l.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var e1 = val; - this.run(e1); - } - break; - case 5: - var e1 = e.expr; - var loop = e.loop; - var v = e1(); - try { - var x = $getIterator(v); - if(x.hasNext == null) { - throw haxe_Exception.thrown(null); - } - v = x; - } catch( _g ) { - try { - if(v.hasNext == null) { - throw haxe_Exception.thrown(null); - } - } catch( _g1 ) { - throw haxe_Exception.thrown("Cannot iter on " + Std.string(v)); - } - } - this.stack.push(this.context); - var v1 = v; - var ctx = v1; - while(ctx.hasNext()) { - var ctx1 = ctx.next(); - this.context = ctx1; - this.run(loop); - } - this.context = this.stack.pop(); - break; - case 6: - var m = e.name; - var params = e.params; - var v = Reflect.field(this.macros,m); - var pl = []; - var old = this.buf; - pl.push($bind(this,this.resolve)); - var _g_head = params.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var p = val; - if(p._hx_index == 0) { - var v1 = p.v; - pl.push(this.resolve(v1)); - } else { - this.buf = new StringBuf(); - this.run(p); - pl.push(this.buf.b); - } - } - this.buf = old; - try { - var _this = this.buf; - var x = Std.string(v.apply(this.macros,pl)); - _this.b += Std.string(x); - } catch( _g ) { - var e = haxe_Exception.caught(_g).unwrap(); - var plstr; - try { - plstr = pl.join(","); - } catch( _g1 ) { - plstr = "???"; - } - var msg = "Macro call " + m + "(" + plstr + ") failed (" + Std.string(e) + ")"; - throw haxe_Exception.thrown(msg); - } - break; - } - } -}; -var haxe_ValueException = function(value,previous,native) { - haxe_Exception.call(this,String(value),previous,native); - this.value = value; -}; -haxe_ValueException.__name__ = true; -haxe_ValueException.__super__ = haxe_Exception; -haxe_ValueException.prototype = $extend(haxe_Exception.prototype,{ - unwrap: function() { - return this.value; - } -}); -var haxe_ds_List = function() { - this.length = 0; -}; -haxe_ds_List.__name__ = true; -haxe_ds_List.prototype = { - add: function(item) { - var x = new haxe_ds__$List_ListNode(item,null); - if(this.h == null) { - this.h = x; - } else { - this.q.next = x; - } - this.q = x; - this.length++; - } - ,push: function(item) { - var x = new haxe_ds__$List_ListNode(item,this.h); - this.h = x; - if(this.q == null) { - this.q = x; - } - this.length++; - } - ,first: function() { - if(this.h == null) { - return null; - } else { - return this.h.item; - } - } - ,pop: function() { - if(this.h == null) { - return null; - } - var x = this.h.item; - this.h = this.h.next; - if(this.h == null) { - this.q = null; - } - this.length--; - return x; - } - ,isEmpty: function() { - return this.h == null; - } - ,toString: function() { - var s_b = ""; - var first = true; - var l = this.h; - s_b += "{"; - while(l != null) { - if(first) { - first = false; - } else { - s_b += ", "; - } - s_b += Std.string(Std.string(l.item)); - l = l.next; - } - s_b += "}"; - return s_b; - } -}; -var haxe_ds__$List_ListNode = function(item,next) { - this.item = item; - this.next = next; -}; -haxe_ds__$List_ListNode.__name__ = true; -var js_Boot = function() { }; -js_Boot.__name__ = true; -js_Boot.__string_rec = function(o,s) { - if(o == null) { - return "null"; - } - if(s.length >= 5) { - return "<...>"; - } - var t = typeof(o); - if(t == "function" && (o.__name__ || o.__ename__)) { - t = "object"; - } - switch(t) { - case "function": - return ""; - case "object": - if(o.__enum__) { - var e = $hxEnums[o.__enum__]; - var con = e.__constructs__[o._hx_index]; - var n = con._hx_name; - if(con.__params__) { - s = s + "\t"; - return n + "(" + ((function($this) { - var $r; - var _g = []; - { - var _g1 = 0; - var _g2 = con.__params__; - while(true) { - if(!(_g1 < _g2.length)) { - break; - } - var p = _g2[_g1]; - _g1 = _g1 + 1; - _g.push(js_Boot.__string_rec(o[p],s)); - } - } - $r = _g; - return $r; - }(this))).join(",") + ")"; - } else { - return n; - } - } - if(((o) instanceof Array)) { - var str = "["; - s += "\t"; - var _g = 0; - var _g1 = o.length; - while(_g < _g1) { - var i = _g++; - str += (i > 0 ? "," : "") + js_Boot.__string_rec(o[i],s); - } - str += "]"; - return str; - } - var tostr; - try { - tostr = o.toString; - } catch( _g ) { - return "???"; - } - if(tostr != null && tostr != Object.toString && typeof(tostr) == "function") { - var s2 = o.toString(); - if(s2 != "[object Object]") { - return s2; - } - } - var str = "{\n"; - s += "\t"; - var hasp = o.hasOwnProperty != null; - var k = null; - for( k in o ) { - if(hasp && !o.hasOwnProperty(k)) { - continue; - } - if(k == "prototype" || k == "__class__" || k == "__super__" || k == "__interfaces__" || k == "__properties__") { - continue; - } - if(str.length != 2) { - str += ", \n"; - } - str += s + k + " : " + js_Boot.__string_rec(o[k],s); - } - s = s.substring(1); - str += "\n" + s + "}"; - return str; - case "string": - return o; - default: - return String(o); - } -}; -var xrfragment_Filter = $hx_exports["xrfragment"]["Filter"] = function(str) { - this.q = { }; - this.str = ""; - if(str != null) { - this.parse(str); - } -}; -xrfragment_Filter.__name__ = true; -xrfragment_Filter.prototype = { - toObject: function() { - return Reflect.copy(this.q); - } - ,get: function() { - return Reflect.copy(this.q); - } - ,parse: function(str) { - var token = str.split(" "); - var q = { }; - var process = function(str,prefix) { - if(prefix == null) { - prefix = ""; - } - str = StringTools.trim(str); - var k = str.split("=")[0]; - var v = str.split("=")[1]; - var filter = { }; - if(q[prefix + k]) { - filter = q[prefix + k]; - } - if(xrfragment_XRF.isProp.match(str)) { - var oper = ""; - if(str.indexOf(">") != -1) { - oper = ">"; - } - if(str.indexOf("<") != -1) { - oper = "<"; - } - if(xrfragment_XRF.isExclude.match(k)) { - k = HxOverrides.substr(k,1,null); - } - v = HxOverrides.substr(v,oper.length,null); - if(oper.length == 0) { - oper = "="; - } - var rule = { }; - if(xrfragment_XRF.isNumber.match(v)) { - rule[oper] = parseFloat(v); - } else { - rule[oper] = v; - } - q["expr"] = rule; - } - var value = xrfragment_XRF.isDeep.match(str) ? k.split("*").length - 1 : 0; - q["deep"] = value; - var value = xrfragment_XRF.isExclude.match(str) ? false : true; - q["show"] = value; - var value = k.replace(xrfragment_XRF.operators.r,""); - q["key"] = value; - q["value"] = v; - }; - var _g = 0; - var _g1 = token.length; - while(_g < _g1) { - var i = _g++; - process(token[i]); - } - return this.q = q; - } - ,test: function(obj) { - var qualify = false; - var _g = 0; - var _g1 = Reflect.fields(obj); - while(_g < _g1.length) { - var k = _g1[_g]; - ++_g; - var v = Std.string(Reflect.field(obj,k)); - if(this.testProperty(k,v)) { - qualify = true; - } - } - var _g = 0; - var _g1 = Reflect.fields(obj); - while(_g < _g1.length) { - var k = _g1[_g]; - ++_g; - var v = Std.string(Reflect.field(obj,k)); - if(this.testProperty(k,v,true)) { - qualify = false; - } - } - return qualify; - } - ,testProperty: function(property,value,exclude) { - var conds = 0; - var fails = 0; - var qualify = 0; - var testprop = function(expr) { - conds += 1; - fails += expr ? 0 : 1; - return expr; - }; - if(this.q[value] != null) { - var v = this.q[value]; - if(v[property] != null) { - return v[property]; - } - } - if(Reflect.field(this.q,"expr")) { - var f = Reflect.field(this.q,"expr"); - if(!Reflect.field(this.q,"show")) { - if(Reflect.field(f,"!=") != null && testprop((value == null ? "null" : "" + value) == Std.string(Reflect.field(f,"!="))) && exclude) { - ++qualify; - } - } else { - if(Reflect.field(f,"*") != null && testprop(parseFloat(value) != null)) { - ++qualify; - } - if(Reflect.field(f,">") != null && testprop(parseFloat(value) >= parseFloat(Reflect.field(f,">")))) { - ++qualify; - } - if(Reflect.field(f,"<") != null && testprop(parseFloat(value) <= parseFloat(Reflect.field(f,"<")))) { - ++qualify; - } - if(Reflect.field(f,"=") != null && (testprop(value == Reflect.field(f,"=")) || testprop(parseFloat(value) == parseFloat(Reflect.field(f,"="))))) { - ++qualify; - } - } - } - return qualify > 0; - } -}; -var xrfragment_Parser = $hx_exports["xrfragment"]["Parser"] = function() { }; -xrfragment_Parser.__name__ = true; -xrfragment_Parser.parse = function(key,value,store,index) { - var Frag_h = Object.create(null); - Frag_h["#"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_PREDEFINED_VIEW | xrfragment_XRF.PV_EXECUTE; - Frag_h["src"] = xrfragment_XRF.T_URL; - Frag_h["href"] = xrfragment_XRF.T_URL | xrfragment_XRF.T_PREDEFINED_VIEW; - Frag_h["tag"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["pos"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_VECTOR3 | xrfragment_XRF.T_STRING | xrfragment_XRF.METADATA | xrfragment_XRF.NAVIGATOR; - Frag_h["rot"] = xrfragment_XRF.QUERY_OPERATOR | xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_VECTOR3 | xrfragment_XRF.METADATA | xrfragment_XRF.NAVIGATOR; - Frag_h["t"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_FLOAT | xrfragment_XRF.T_VECTOR2 | xrfragment_XRF.NAVIGATOR | xrfragment_XRF.METADATA; - Frag_h["s"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_MEDIAFRAG; - Frag_h["loop"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_PREDEFINED_VIEW; - Frag_h["uv"] = xrfragment_XRF.T_VECTOR2 | xrfragment_XRF.T_MEDIAFRAG; - Frag_h["namespace"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["SPDX"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["unit"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["description"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - var keyStripped = key.replace(xrfragment_XRF.operators.r,""); - var isPVDynamic = key.length > 0 && !Object.prototype.hasOwnProperty.call(Frag_h,key); - if(isPVDynamic) { - var v = new xrfragment_XRF(key,xrfragment_XRF.PV_EXECUTE | xrfragment_XRF.NAVIGATOR,index); - v.validate(value); - v.flags = xrfragment_XRF.set(xrfragment_XRF.T_DYNAMICKEY,v.flags); - if(!Object.prototype.hasOwnProperty.call(Frag_h,key)) { - v.flags = xrfragment_XRF.set(xrfragment_XRF.CUSTOMFRAG,v.flags); - } - if(value.length == 0) { - v.flags = xrfragment_XRF.set(xrfragment_XRF.T_DYNAMICKEYVALUE,v.flags); - } - store[keyStripped] = v; - return true; - } - var v = new xrfragment_XRF(key,Frag_h[key],index); - if(Object.prototype.hasOwnProperty.call(Frag_h,key)) { - if(!v.validate(value)) { - console.log("src/xrfragment/Parser.hx:67:","⚠ fragment '" + key + "' has incompatible value (" + value + ")"); - return false; - } - store[keyStripped] = v; - if(xrfragment_Parser.debug) { - console.log("src/xrfragment/Parser.hx:71:","✔ " + key + ": " + v.string); - } - } else { - if(typeof(value) == "string") { - v.guessType(v,value); - } - v.flags = xrfragment_XRF.set(xrfragment_XRF.CUSTOMFRAG,v.flags); - store[keyStripped] = v; - } - return true; -}; -xrfragment_Parser.getMetaData = function() { - var meta = { title : ["title","og:title","dc.title"], description : ["aria-description","og:description","dc.description"], author : ["author","dc.creator"], publisher : ["publisher","dc.publisher"], website : ["og:site_name","og:url","dc.publisher"], license : ["SPDX","dc.rights"]}; - return meta; -}; -var xrfragment_URI = $hx_exports["xrfragment"]["URI"] = function() { - this.XRF = { }; - this.hash = { }; - this.fragment = ""; -}; -xrfragment_URI.__name__ = true; -xrfragment_URI.parseFragment = function(url,filter) { - var store = { }; - if(url == null || url.indexOf("#") == -1) { - return store; - } - var fragment = url.split("#"); - var splitArray = fragment[1].split("&"); - var _g = 0; - var _g1 = splitArray.length; - while(_g < _g1) { - var i = _g++; - var splitByEqual = splitArray[i].split("="); - var regexPlus = new EReg("\\+","g"); - var key = splitByEqual[0]; - var value = ""; - if(splitByEqual.length > 1) { - if(xrfragment_XRF.isVector.match(splitByEqual[1])) { - value = splitByEqual[1]; - } else { - var s = regexPlus.split(splitByEqual[1]).join(" "); - value = decodeURIComponent(s.split("+").join(" ")); - } - } - var ok = xrfragment_Parser.parse(key,value,store,i); - } - if(filter != null && filter != 0) { - var _g = 0; - var _g1 = Reflect.fields(store); - while(_g < _g1.length) { - var key = _g1[_g]; - ++_g; - var xrf = store[key]; - if(!xrf.is(filter)) { - Reflect.deleteField(store,key); - } - } - } - return store; -}; -xrfragment_URI.template = function(uri,vars) { - var parts = uri.split("#"); - if(parts.length == 1) { - return uri; - } - var frag = parts[1]; - frag = StringTools.replace(frag,"{","::"); - frag = StringTools.replace(frag,"}","::"); - frag = new haxe_Template(frag).execute(vars); - frag = StringTools.replace(frag,"null",""); - parts[1] = frag; - return parts.join("#"); -}; -xrfragment_URI.parse = function(stringUrl,flags) { - var r = new EReg("^(?:(?![^:@]+:[^:@/]*@)([^:/?#.]+):)?(?://)?((?:(([^:@]*)(?::([^:@]*))?)?@)?([^:/?#]*)(?::(\\d*))?)(((/(?:[^?#](?![^?#/]*\\.[^?#/.]+(?:[?#]|$)))*/?)?([^?#/]*))(?:\\?([^#]*))?(?:#(.*))?)",""); - if(stringUrl.indexOf("://") == -1 && stringUrl.charAt(0) != "/") { - stringUrl = "/" + stringUrl; - } - r.match(stringUrl); - var url = new xrfragment_URI(); - var _g = 0; - var _g1 = xrfragment_URI._parts.length; - while(_g < _g1) { - var i = _g++; - url[xrfragment_URI._parts[i]] = r.matched(i); - } - if(xrfragment_URI.isRelative(url) == true) { - if(url.directory == null && url.host != null) { - url.file = url.host; - } - url.host = ""; - } - url.hash = { }; - if(url.fragment != null && url.fragment.length > 0) { - url.XRF = xrfragment_URI.parseFragment("#" + url.fragment,flags); - var key; - var _g = 0; - var _g1 = Reflect.fields(url.XRF); - while(_g < _g1.length) { - var key = _g1[_g]; - ++_g; - var v = url.XRF[key]; - url.hash[key] = v["string"]; - } - } - xrfragment_URI.computeVars(url); - return url; -}; -xrfragment_URI.computeVars = function(url) { - var r_r = new RegExp("//","g".split("u").join("")); - if(url.directory != null && url.directory.indexOf("//") != -1) { - url.directory = url.directory.replace(r_r,"/"); - } - if(url.path != null && url.path.indexOf("//") != -1) { - url.path = url.path.replace(r_r,"/"); - } - if(url.file != null && url.file.indexOf("//") != -1) { - url.file = url.file.replace(r_r,"/"); - } - url.URN = url.scheme + "://" + url.host; - if(url.port != null) { - url.URN += ":" + url.port; - } - url.URN += url.directory; - if(url.file != null) { - var parts = url.file.split("."); - if(parts.length > 1) { - url.fileExt = parts.pop(); - } - } -}; -xrfragment_URI.toString = function(url) { - var result = ""; - if(url.scheme != null) { - result += url.scheme + "://"; - } - if(url.user != null) { - result += url.user + ":"; - } - if(url.password != null) { - result += url.password + "@"; - } - if(url.host != null) { - result += url.host; - } - if(url.port != null) { - result += ":" + url.port; - } - if(url.directory != null) { - result += url.directory; - } - if(url.file != null) { - result += url.file; - } - if(url.query != null) { - result += "?" + url.query; - } - if(url.fragment != null) { - result += "#" + url.fragment; - } - return result; -}; -xrfragment_URI.appendURI = function(url,appendedURI) { - if(xrfragment_URI.isRelative(url) == true) { - return xrfragment_URI.appendToRelativeURI(url,appendedURI); - } else { - return xrfragment_URI.appendToAbsoluteURI(url,appendedURI); - } -}; -xrfragment_URI.isRelative = function(url) { - return url.scheme == null; -}; -xrfragment_URI.appendToRelativeURI = function(url,appendedURI) { - if(url.directory == null || url.host == null) { - return xrfragment_URI.cloneURI(appendedURI); - } - var resultURI = new xrfragment_URI(); - resultURI.host = url.host; - resultURI.directory = url.directory; - if(appendedURI.host != null) { - resultURI.directory += appendedURI.host; - } - if(appendedURI.directory != null) { - var directory = appendedURI.directory; - if(appendedURI.host == null) { - resultURI.directory += HxOverrides.substr(directory,1,null); - } else { - resultURI.directory += directory; - } - } - if(appendedURI.file != null) { - resultURI.file = appendedURI.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(appendedURI.query != null) { - resultURI.query = appendedURI.query; - } - if(appendedURI.fragment != null) { - resultURI.fragment = appendedURI.fragment; - } - return resultURI; -}; -xrfragment_URI.appendToAbsoluteURI = function(url,appendedURI) { - var resultURI = new xrfragment_URI(); - if(url.scheme != null) { - resultURI.scheme = url.scheme; - } - if(url.host != null) { - resultURI.host = url.host; - } - var directory = ""; - if(url.directory != null) { - directory = url.directory; - } - if(appendedURI.host != null) { - appendedURI.directory += appendedURI.host; - } - if(appendedURI.directory != null) { - directory += appendedURI.directory; - } - resultURI.directory = directory; - if(appendedURI.file != null) { - resultURI.file = appendedURI.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(appendedURI.query != null) { - resultURI.query = appendedURI.query; - } - if(appendedURI.fragment != null) { - resultURI.fragment = appendedURI.fragment; - } - return resultURI; -}; -xrfragment_URI.toAbsolute = function(url,newUrl) { - var newURI = xrfragment_URI.parse(newUrl,0); - var resultURI = new xrfragment_URI(); - resultURI.port = url.port; - resultURI.source = newUrl; - if(newURI.scheme != null) { - resultURI.scheme = newURI.scheme; - } else { - resultURI.scheme = url.scheme; - } - if(newURI.host != null && newURI.host.length > 0) { - resultURI.host = newURI.host; - resultURI.port = null; - resultURI.fragment = null; - resultURI.hash = { }; - resultURI.XRF = { }; - if(newURI.port != null) { - resultURI.port = newURI.port; - } - } else { - resultURI.host = url.host; - } - var directory = ""; - if(url.directory != null) { - directory = url.directory; - } - if(newURI.directory != null) { - if(newUrl.charAt(0) != "/" && newUrl.indexOf("://") == -1) { - var stripRelative_r = new RegExp("\\./.*","".split("u").join("")); - directory = directory.replace(stripRelative_r,""); - directory += newURI.directory; - } else { - directory = newURI.directory; - } - } - resultURI.directory = directory; - if(newURI.file != null) { - resultURI.file = newURI.file; - } else { - resultURI.file = url.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(newURI.query != null) { - resultURI.query = newURI.query; - } - if(newURI.fragment != null) { - resultURI.fragment = newURI.fragment; - } - resultURI.hash = newURI.hash; - resultURI.XRF = newURI.XRF; - xrfragment_URI.computeVars(resultURI); - return resultURI; -}; -xrfragment_URI.cloneURI = function(url) { - var clonedURI = new xrfragment_URI(); - clonedURI.url = url.url; - clonedURI.source = url.source; - clonedURI.scheme = url.scheme; - clonedURI.authority = url.authority; - clonedURI.userInfo = url.userInfo; - clonedURI.password = url.password; - clonedURI.host = url.host; - clonedURI.port = url.port; - clonedURI.relative = url.relative; - clonedURI.path = url.path; - clonedURI.directory = url.directory; - clonedURI.file = url.file; - clonedURI.query = url.query; - clonedURI.fragment = url.fragment; - return clonedURI; -}; -var xrfragment_XRF = $hx_exports["xrfragment"]["XRF"] = function(_fragment,_flags,_index) { - this.floats = []; - this.shift = []; - this.fragment = _fragment; - this.flags = _flags; - this.index = _index; -}; -xrfragment_XRF.__name__ = true; -xrfragment_XRF.set = function(flag,flags) { - return flags | flag; -}; -xrfragment_XRF.unset = function(flag,flags) { - return flags & ~flag; -}; -xrfragment_XRF.prototype = { - is: function(flag) { - var v = this.flags; - if(!(typeof(v) == "number" && ((v | 0) === v))) { - this.flags = 0; - } - return (this.flags & flag) != 0; - } - ,validate: function(value) { - this.guessType(this,value); - var ok = true; - if(value.length == 0 && !this.is(xrfragment_XRF.T_PREDEFINED_VIEW)) { - ok = false; - } - if(!this.is(xrfragment_XRF.T_FLOAT) && this.is(xrfragment_XRF.T_VECTOR2) && !(typeof(this.x) == "number" && typeof(this.y) == "number")) { - ok = false; - } - if(!(this.is(xrfragment_XRF.T_VECTOR2) || this.is(xrfragment_XRF.T_STRING)) && this.is(xrfragment_XRF.T_VECTOR3) && !(typeof(this.x) == "number" && typeof(this.y) == "number" && typeof(this.z) == "number")) { - ok = false; - } - return ok; - } - ,guessType: function(v,str) { - v.string = str; - if(xrfragment_XRF.isReset.match(v.fragment)) { - v.reset = true; - } - if(v.fragment == "loop") { - v.loop = true; - } - if(typeof(str) != "string") { - return; - } - if(str.length > 0) { - if(xrfragment_XRF.isXRFScheme.match(str)) { - v.xrfScheme = true; - str = str.replace(xrfragment_XRF.isXRFScheme.r,""); - v.string = str; - } - if(str.split(",").length > 1) { - var xyzn = str.split(","); - if(xyzn.length > 0) { - v.x = parseFloat(xyzn[0]); - } - if(xyzn.length > 1) { - v.y = parseFloat(xyzn[1]); - } - if(xyzn.length > 2) { - v.z = parseFloat(xyzn[2]); - } - var _g = 0; - var _g1 = xyzn.length; - while(_g < _g1) { - var i = _g++; - v.shift.push(xrfragment_XRF.isShift.match(xyzn[i])); - v.floats.push(parseFloat(xyzn[i].replace(xrfragment_XRF.isShift.r,""))); - } - } - if(xrfragment_XRF.isColor.match(str)) { - v.color = str; - } - if(xrfragment_XRF.isFloat.match(str)) { - v.x = parseFloat(str); - v.float = v.x; - } - if(xrfragment_XRF.isInt.match(str)) { - v.int = Std.parseInt(str); - v.x = v.int; - v.floats.push(v.x); - } - v.filter = new xrfragment_Filter(v.fragment + "=" + v.string); - } else { - v.filter = new xrfragment_Filter(v.fragment); - } - } -}; -function $getIterator(o) { if( o instanceof Array ) return new haxe_iterators_ArrayIterator(o); else return o.iterator(); } -function $bind(o,m) { if( m == null ) return null; if( m.__id__ == null ) m.__id__ = $global.$haxeUID++; var f; if( o.hx__closures__ == null ) o.hx__closures__ = {}; else f = o.hx__closures__[m.__id__]; if( f == null ) { f = m.bind(o); o.hx__closures__[m.__id__] = f; } return f; } -$global.$haxeUID |= 0; -if(typeof(performance) != "undefined" ? typeof(performance.now) == "function" : false) { - HxOverrides.now = performance.now.bind(performance); -} -if( String.fromCodePoint == null ) String.fromCodePoint = function(c) { return c < 0x10000 ? String.fromCharCode(c) : String.fromCharCode((c>>10)+0xD7C0)+String.fromCharCode((c&0x3FF)+0xDC00); } -String.__name__ = true; -Array.__name__ = true; -js_Boot.__toStr = ({ }).toString; -haxe_Template.splitter = new EReg("(::[A-Za-z0-9_ ()&|!+=/><*.\"-]+::|\\$\\$([A-Za-z0-9_-]+)\\()",""); -haxe_Template.expr_splitter = new EReg("(\\(|\\)|[ \r\n\t]*\"[^\"]*\"[ \r\n\t]*|[!+=/><*.&|-]+)",""); -haxe_Template.expr_trim = new EReg("^[ ]*([^ ]+)[ ]*$",""); -haxe_Template.expr_int = new EReg("^[0-9]+$",""); -haxe_Template.expr_float = new EReg("^([+-]?)(?=\\d|,\\d)\\d*(,\\d*)?([Ee]([+-]?\\d+))?$",""); -haxe_Template.globals = { }; -haxe_Template.hxKeepArrayIterator = new haxe_iterators_ArrayIterator([]); -xrfragment_Parser.error = ""; -xrfragment_Parser.debug = false; -xrfragment_URI.__meta__ = { statics : { template : { keep : null}}}; -xrfragment_URI._parts = ["source","scheme","authority","userInfo","user","password","host","port","relative","path","directory","file","query","fragment"]; -xrfragment_XRF.IMMUTABLE = 1; -xrfragment_XRF.PROP_BIND = 2; -xrfragment_XRF.QUERY_OPERATOR = 4; -xrfragment_XRF.PROMPT = 8; -xrfragment_XRF.CUSTOMFRAG = 16; -xrfragment_XRF.NAVIGATOR = 32; -xrfragment_XRF.METADATA = 64; -xrfragment_XRF.PV_OVERRIDE = 128; -xrfragment_XRF.PV_EXECUTE = 256; -xrfragment_XRF.T_COLOR = 8192; -xrfragment_XRF.T_INT = 16384; -xrfragment_XRF.T_FLOAT = 32768; -xrfragment_XRF.T_VECTOR2 = 65536; -xrfragment_XRF.T_VECTOR3 = 131072; -xrfragment_XRF.T_URL = 262144; -xrfragment_XRF.T_PREDEFINED_VIEW = 524288; -xrfragment_XRF.T_STRING = 1048576; -xrfragment_XRF.T_MEDIAFRAG = 2097152; -xrfragment_XRF.T_DYNAMICKEY = 4194304; -xrfragment_XRF.T_DYNAMICKEYVALUE = 8388608; -xrfragment_XRF.isColor = new EReg("^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$",""); -xrfragment_XRF.isInt = new EReg("^[-0-9]+$",""); -xrfragment_XRF.isFloat = new EReg("^[-0-9]+\\.[0-9]+$",""); -xrfragment_XRF.isVector = new EReg("([,]+|\\w)",""); -xrfragment_XRF.isUrl = new EReg("(://)?\\..*",""); -xrfragment_XRF.isUrlOrPretypedView = new EReg("(^#|://)?\\..*",""); -xrfragment_XRF.isString = new EReg(".*",""); -xrfragment_XRF.operators = new EReg("(^[-]|^[!]|[\\*]$)","g"); -xrfragment_XRF.isProp = new EReg("^.*=[><=]?",""); -xrfragment_XRF.isExclude = new EReg("^-",""); -xrfragment_XRF.isDeep = new EReg("\\*",""); -xrfragment_XRF.isNumber = new EReg("^[0-9\\.]+$",""); -xrfragment_XRF.isMediaFrag = new EReg("^([0-9\\.,\\*+-]+)$",""); -xrfragment_XRF.isReset = new EReg("^!",""); -xrfragment_XRF.isShift = new EReg("^(\\+|--)",""); -xrfragment_XRF.isXRFScheme = new EReg("^xrf://",""); -})(typeof window != "undefined" ? window : typeof global != "undefined" ? global : typeof self != "undefined" ? self : this); -var xrfragment = $hx_exports["xrfragment"]; -export default xrfragment; -// Generated by Haxe 4.3.3 -var $hx_exports = typeof exports != "undefined" ? exports : typeof window != "undefined" ? window : typeof self != "undefined" ? self : this; -(function ($global) { "use strict"; -$hx_exports["xrfragment"] = $hx_exports["xrfragment"] || {}; -var $estr = function() { return js_Boot.__string_rec(this,''); },$hxEnums = $hxEnums || {},$_; -function $extend(from, fields) { - var proto = Object.create(from); - for (var name in fields) proto[name] = fields[name]; - if( fields.toString !== Object.prototype.toString ) proto.toString = fields.toString; - return proto; -} -var EReg = function(r,opt) { - this.r = new RegExp(r,opt.split("u").join("")); -}; -EReg.__name__ = true; -EReg.prototype = { - match: function(s) { - if(this.r.global) { - this.r.lastIndex = 0; - } - this.r.m = this.r.exec(s); - this.r.s = s; - return this.r.m != null; - } - ,matched: function(n) { - if(this.r.m != null && n >= 0 && n < this.r.m.length) { - return this.r.m[n]; - } else { - throw haxe_Exception.thrown("EReg::matched"); - } - } - ,matchedRight: function() { - if(this.r.m == null) { - throw haxe_Exception.thrown("No string matched"); - } - var sz = this.r.m.index + this.r.m[0].length; - return HxOverrides.substr(this.r.s,sz,this.r.s.length - sz); - } - ,matchedPos: function() { - if(this.r.m == null) { - throw haxe_Exception.thrown("No string matched"); - } - return { pos : this.r.m.index, len : this.r.m[0].length}; - } - ,split: function(s) { - var d = "#__delim__#"; - return s.replace(this.r,d).split(d); - } -}; -var HxOverrides = function() { }; -HxOverrides.__name__ = true; -HxOverrides.cca = function(s,index) { - var x = s.charCodeAt(index); - if(x != x) { - return undefined; - } - return x; -}; -HxOverrides.substr = function(s,pos,len) { - if(len == null) { - len = s.length; - } else if(len < 0) { - if(pos == 0) { - len = s.length + len; - } else { - return ""; - } - } - return s.substr(pos,len); -}; -HxOverrides.now = function() { - return Date.now(); -}; -Math.__name__ = true; -var Reflect = function() { }; -Reflect.__name__ = true; -Reflect.field = function(o,field) { - try { - return o[field]; - } catch( _g ) { - return null; - } -}; -Reflect.getProperty = function(o,field) { - var tmp; - if(o == null) { - return null; - } else { - var tmp1; - if(o.__properties__) { - tmp = o.__properties__["get_" + field]; - tmp1 = tmp; - } else { - tmp1 = false; - } - if(tmp1) { - return o[tmp](); - } else { - return o[field]; - } - } -}; -Reflect.fields = function(o) { - var a = []; - if(o != null) { - var hasOwnProperty = Object.prototype.hasOwnProperty; - for( var f in o ) { - if(f != "__id__" && f != "hx__closures__" && hasOwnProperty.call(o,f)) { - a.push(f); - } - } - } - return a; -}; -Reflect.isObject = function(v) { - if(v == null) { - return false; - } - var t = typeof(v); - if(!(t == "string" || t == "object" && v.__enum__ == null)) { - if(t == "function") { - return (v.__name__ || v.__ename__) != null; - } else { - return false; - } - } else { - return true; - } -}; -Reflect.deleteField = function(o,field) { - if(!Object.prototype.hasOwnProperty.call(o,field)) { - return false; - } - delete(o[field]); - return true; -}; -Reflect.copy = function(o) { - if(o == null) { - return null; - } - var o2 = { }; - var _g = 0; - var _g1 = Reflect.fields(o); - while(_g < _g1.length) { - var f = _g1[_g]; - ++_g; - o2[f] = Reflect.field(o,f); - } - return o2; -}; -var Std = function() { }; -Std.__name__ = true; -Std.string = function(s) { - return js_Boot.__string_rec(s,""); -}; -Std.parseInt = function(x) { - var v = parseInt(x); - if(isNaN(v)) { - return null; - } - return v; -}; -var StringBuf = function() { - this.b = ""; -}; -StringBuf.__name__ = true; -var StringTools = function() { }; -StringTools.__name__ = true; -StringTools.isSpace = function(s,pos) { - var c = HxOverrides.cca(s,pos); - if(!(c > 8 && c < 14)) { - return c == 32; - } else { - return true; - } -}; -StringTools.ltrim = function(s) { - var l = s.length; - var r = 0; - while(r < l && StringTools.isSpace(s,r)) ++r; - if(r > 0) { - return HxOverrides.substr(s,r,l - r); - } else { - return s; - } -}; -StringTools.rtrim = function(s) { - var l = s.length; - var r = 0; - while(r < l && StringTools.isSpace(s,l - r - 1)) ++r; - if(r > 0) { - return HxOverrides.substr(s,0,l - r); - } else { - return s; - } -}; -StringTools.trim = function(s) { - return StringTools.ltrim(StringTools.rtrim(s)); -}; -StringTools.replace = function(s,sub,by) { - return s.split(sub).join(by); -}; -var haxe_Exception = function(message,previous,native) { - Error.call(this,message); - this.message = message; - this.__previousException = previous; - this.__nativeException = native != null ? native : this; -}; -haxe_Exception.__name__ = true; -haxe_Exception.caught = function(value) { - if(((value) instanceof haxe_Exception)) { - return value; - } else if(((value) instanceof Error)) { - return new haxe_Exception(value.message,null,value); - } else { - return new haxe_ValueException(value,null,value); - } -}; -haxe_Exception.thrown = function(value) { - if(((value) instanceof haxe_Exception)) { - return value.get_native(); - } else if(((value) instanceof Error)) { - return value; - } else { - var e = new haxe_ValueException(value); - return e; - } -}; -haxe_Exception.__super__ = Error; -haxe_Exception.prototype = $extend(Error.prototype,{ - unwrap: function() { - return this.__nativeException; - } - ,get_native: function() { - return this.__nativeException; - } - ,__properties__: {get_native:"get_native"} -}); -var haxe__$Template_TemplateExpr = $hxEnums["haxe._Template.TemplateExpr"] = { __ename__:true,__constructs__:null - ,OpVar: ($_=function(v) { return {_hx_index:0,v:v,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpVar",$_.__params__ = ["v"],$_) - ,OpExpr: ($_=function(expr) { return {_hx_index:1,expr:expr,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpExpr",$_.__params__ = ["expr"],$_) - ,OpIf: ($_=function(expr,eif,eelse) { return {_hx_index:2,expr:expr,eif:eif,eelse:eelse,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpIf",$_.__params__ = ["expr","eif","eelse"],$_) - ,OpStr: ($_=function(str) { return {_hx_index:3,str:str,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpStr",$_.__params__ = ["str"],$_) - ,OpBlock: ($_=function(l) { return {_hx_index:4,l:l,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpBlock",$_.__params__ = ["l"],$_) - ,OpForeach: ($_=function(expr,loop) { return {_hx_index:5,expr:expr,loop:loop,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpForeach",$_.__params__ = ["expr","loop"],$_) - ,OpMacro: ($_=function(name,params) { return {_hx_index:6,name:name,params:params,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpMacro",$_.__params__ = ["name","params"],$_) -}; -haxe__$Template_TemplateExpr.__constructs__ = [haxe__$Template_TemplateExpr.OpVar,haxe__$Template_TemplateExpr.OpExpr,haxe__$Template_TemplateExpr.OpIf,haxe__$Template_TemplateExpr.OpStr,haxe__$Template_TemplateExpr.OpBlock,haxe__$Template_TemplateExpr.OpForeach,haxe__$Template_TemplateExpr.OpMacro]; -var haxe_iterators_ArrayIterator = function(array) { - this.current = 0; - this.array = array; -}; -haxe_iterators_ArrayIterator.__name__ = true; -haxe_iterators_ArrayIterator.prototype = { - hasNext: function() { - return this.current < this.array.length; - } - ,next: function() { - return this.array[this.current++]; - } -}; -var haxe_Template = function(str) { - var tokens = this.parseTokens(str); - this.expr = this.parseBlock(tokens); - if(!tokens.isEmpty()) { - throw haxe_Exception.thrown("Unexpected '" + Std.string(tokens.first().s) + "'"); - } -}; -haxe_Template.__name__ = true; -haxe_Template.prototype = { - execute: function(context,macros) { - this.macros = macros == null ? { } : macros; - this.context = context; - this.stack = new haxe_ds_List(); - this.buf = new StringBuf(); - this.run(this.expr); - return this.buf.b; - } - ,resolve: function(v) { - if(v == "__current__") { - return this.context; - } - if(Reflect.isObject(this.context)) { - var value = Reflect.getProperty(this.context,v); - if(value != null || Object.prototype.hasOwnProperty.call(this.context,v)) { - return value; - } - } - var _g_head = this.stack.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var ctx = val; - var value = Reflect.getProperty(ctx,v); - if(value != null || Object.prototype.hasOwnProperty.call(ctx,v)) { - return value; - } - } - return Reflect.field(haxe_Template.globals,v); - } - ,parseTokens: function(data) { - var tokens = new haxe_ds_List(); - while(haxe_Template.splitter.match(data)) { - var p = haxe_Template.splitter.matchedPos(); - if(p.pos > 0) { - tokens.add({ p : HxOverrides.substr(data,0,p.pos), s : true, l : null}); - } - if(HxOverrides.cca(data,p.pos) == 58) { - tokens.add({ p : HxOverrides.substr(data,p.pos + 2,p.len - 4), s : false, l : null}); - data = haxe_Template.splitter.matchedRight(); - continue; - } - var parp = p.pos + p.len; - var npar = 1; - var params = []; - var part = ""; - while(true) { - var c = HxOverrides.cca(data,parp); - ++parp; - if(c == 40) { - ++npar; - } else if(c == 41) { - --npar; - if(npar <= 0) { - break; - } - } else if(c == null) { - throw haxe_Exception.thrown("Unclosed macro parenthesis"); - } - if(c == 44 && npar == 1) { - params.push(part); - part = ""; - } else { - part += String.fromCodePoint(c); - } - } - params.push(part); - tokens.add({ p : haxe_Template.splitter.matched(2), s : false, l : params}); - data = HxOverrides.substr(data,parp,data.length - parp); - } - if(data.length > 0) { - tokens.add({ p : data, s : true, l : null}); - } - return tokens; - } - ,parseBlock: function(tokens) { - var l = new haxe_ds_List(); - while(true) { - var t = tokens.first(); - if(t == null) { - break; - } - if(!t.s && (t.p == "end" || t.p == "else" || HxOverrides.substr(t.p,0,7) == "elseif ")) { - break; - } - l.add(this.parse(tokens)); - } - if(l.length == 1) { - return l.first(); - } - return haxe__$Template_TemplateExpr.OpBlock(l); - } - ,parse: function(tokens) { - var t = tokens.pop(); - var p = t.p; - if(t.s) { - return haxe__$Template_TemplateExpr.OpStr(p); - } - if(t.l != null) { - var pe = new haxe_ds_List(); - var _g = 0; - var _g1 = t.l; - while(_g < _g1.length) { - var p1 = _g1[_g]; - ++_g; - pe.add(this.parseBlock(this.parseTokens(p1))); - } - return haxe__$Template_TemplateExpr.OpMacro(p,pe); - } - var kwdEnd = function(kwd) { - var pos = -1; - var length = kwd.length; - if(HxOverrides.substr(p,0,length) == kwd) { - pos = length; - var _g_offset = 0; - var _g_s = HxOverrides.substr(p,length,null); - while(_g_offset < _g_s.length) { - var c = _g_s.charCodeAt(_g_offset++); - if(c == 32) { - ++pos; - } else { - break; - } - } - } - return pos; - }; - var pos = kwdEnd("if"); - if(pos > 0) { - p = HxOverrides.substr(p,pos,p.length - pos); - var e = this.parseExpr(p); - var eif = this.parseBlock(tokens); - var t = tokens.first(); - var eelse; - if(t == null) { - throw haxe_Exception.thrown("Unclosed 'if'"); - } - if(t.p == "end") { - tokens.pop(); - eelse = null; - } else if(t.p == "else") { - tokens.pop(); - eelse = this.parseBlock(tokens); - t = tokens.pop(); - if(t == null || t.p != "end") { - throw haxe_Exception.thrown("Unclosed 'else'"); - } - } else { - t.p = HxOverrides.substr(t.p,4,t.p.length - 4); - eelse = this.parse(tokens); - } - return haxe__$Template_TemplateExpr.OpIf(e,eif,eelse); - } - var pos = kwdEnd("foreach"); - if(pos >= 0) { - p = HxOverrides.substr(p,pos,p.length - pos); - var e = this.parseExpr(p); - var efor = this.parseBlock(tokens); - var t = tokens.pop(); - if(t == null || t.p != "end") { - throw haxe_Exception.thrown("Unclosed 'foreach'"); - } - return haxe__$Template_TemplateExpr.OpForeach(e,efor); - } - if(haxe_Template.expr_splitter.match(p)) { - return haxe__$Template_TemplateExpr.OpExpr(this.parseExpr(p)); - } - return haxe__$Template_TemplateExpr.OpVar(p); - } - ,parseExpr: function(data) { - var l = new haxe_ds_List(); - var expr = data; - while(haxe_Template.expr_splitter.match(data)) { - var p = haxe_Template.expr_splitter.matchedPos(); - var k = p.pos + p.len; - if(p.pos != 0) { - l.add({ p : HxOverrides.substr(data,0,p.pos), s : true}); - } - var p1 = haxe_Template.expr_splitter.matched(0); - l.add({ p : p1, s : p1.indexOf("\"") >= 0}); - data = haxe_Template.expr_splitter.matchedRight(); - } - if(data.length != 0) { - var _g_offset = 0; - var _g_s = data; - while(_g_offset < _g_s.length) { - var _g_key = _g_offset; - var _g_value = _g_s.charCodeAt(_g_offset++); - var i = _g_key; - var c = _g_value; - if(c != 32) { - l.add({ p : HxOverrides.substr(data,i,null), s : true}); - break; - } - } - } - var e; - try { - e = this.makeExpr(l); - if(!l.isEmpty()) { - throw haxe_Exception.thrown(l.first().p); - } - } catch( _g ) { - var _g1 = haxe_Exception.caught(_g).unwrap(); - if(typeof(_g1) == "string") { - var s = _g1; - throw haxe_Exception.thrown("Unexpected '" + s + "' in " + expr); - } else { - throw _g; - } - } - return function() { - try { - return e(); - } catch( _g ) { - var exc = haxe_Exception.caught(_g).unwrap(); - throw haxe_Exception.thrown("Error : " + Std.string(exc) + " in " + expr); - } - }; - } - ,makeConst: function(v) { - haxe_Template.expr_trim.match(v); - v = haxe_Template.expr_trim.matched(1); - if(HxOverrides.cca(v,0) == 34) { - var str = HxOverrides.substr(v,1,v.length - 2); - return function() { - return str; - }; - } - if(haxe_Template.expr_int.match(v)) { - var i = Std.parseInt(v); - return function() { - return i; - }; - } - if(haxe_Template.expr_float.match(v)) { - var f = parseFloat(v); - return function() { - return f; - }; - } - var me = this; - return function() { - return me.resolve(v); - }; - } - ,makePath: function(e,l) { - var p = l.first(); - if(p == null || p.p != ".") { - return e; - } - l.pop(); - var field = l.pop(); - if(field == null || !field.s) { - throw haxe_Exception.thrown(field.p); - } - var f = field.p; - haxe_Template.expr_trim.match(f); - f = haxe_Template.expr_trim.matched(1); - return this.makePath(function() { - return Reflect.field(e(),f); - },l); - } - ,makeExpr: function(l) { - return this.makePath(this.makeExpr2(l),l); - } - ,skipSpaces: function(l) { - var p = l.first(); - while(p != null) { - var _g_offset = 0; - var _g_s = p.p; - while(_g_offset < _g_s.length) { - var c = _g_s.charCodeAt(_g_offset++); - if(c != 32) { - return; - } - } - l.pop(); - p = l.first(); - } - } - ,makeExpr2: function(l) { - this.skipSpaces(l); - var p = l.pop(); - this.skipSpaces(l); - if(p == null) { - throw haxe_Exception.thrown(""); - } - if(p.s) { - return this.makeConst(p.p); - } - switch(p.p) { - case "!": - var e = this.makeExpr(l); - return function() { - var v = e(); - if(v != null) { - return v == false; - } else { - return true; - } - }; - case "(": - this.skipSpaces(l); - var e1 = this.makeExpr(l); - this.skipSpaces(l); - var p1 = l.pop(); - if(p1 == null || p1.s) { - throw haxe_Exception.thrown(p1); - } - if(p1.p == ")") { - return e1; - } - this.skipSpaces(l); - var e2 = this.makeExpr(l); - this.skipSpaces(l); - var p2 = l.pop(); - this.skipSpaces(l); - if(p2 == null || p2.p != ")") { - throw haxe_Exception.thrown(p2); - } - switch(p1.p) { - case "!=": - return function() { - return e1() != e2(); - }; - case "&&": - return function() { - return e1() && e2(); - }; - case "*": - return function() { - return e1() * e2(); - }; - case "+": - return function() { - return e1() + e2(); - }; - case "-": - return function() { - return e1() - e2(); - }; - case "/": - return function() { - return e1() / e2(); - }; - case "<": - return function() { - return e1() < e2(); - }; - case "<=": - return function() { - return e1() <= e2(); - }; - case "==": - return function() { - return e1() == e2(); - }; - case ">": - return function() { - return e1() > e2(); - }; - case ">=": - return function() { - return e1() >= e2(); - }; - case "||": - return function() { - return e1() || e2(); - }; - default: - throw haxe_Exception.thrown("Unknown operation " + p1.p); - } - break; - case "-": - var e3 = this.makeExpr(l); - return function() { - return -e3(); - }; - } - throw haxe_Exception.thrown(p.p); - } - ,run: function(e) { - switch(e._hx_index) { - case 0: - var v = e.v; - var _this = this.buf; - var x = Std.string(this.resolve(v)); - _this.b += Std.string(x); - break; - case 1: - var e1 = e.expr; - var _this = this.buf; - var x = Std.string(e1()); - _this.b += Std.string(x); - break; - case 2: - var e1 = e.expr; - var eif = e.eif; - var eelse = e.eelse; - var v = e1(); - if(v == null || v == false) { - if(eelse != null) { - this.run(eelse); - } - } else { - this.run(eif); - } - break; - case 3: - var str = e.str; - this.buf.b += str == null ? "null" : "" + str; - break; - case 4: - var l = e.l; - var _g_head = l.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var e1 = val; - this.run(e1); - } - break; - case 5: - var e1 = e.expr; - var loop = e.loop; - var v = e1(); - try { - var x = $getIterator(v); - if(x.hasNext == null) { - throw haxe_Exception.thrown(null); - } - v = x; - } catch( _g ) { - try { - if(v.hasNext == null) { - throw haxe_Exception.thrown(null); - } - } catch( _g1 ) { - throw haxe_Exception.thrown("Cannot iter on " + Std.string(v)); - } - } - this.stack.push(this.context); - var v1 = v; - var ctx = v1; - while(ctx.hasNext()) { - var ctx1 = ctx.next(); - this.context = ctx1; - this.run(loop); - } - this.context = this.stack.pop(); - break; - case 6: - var m = e.name; - var params = e.params; - var v = Reflect.field(this.macros,m); - var pl = []; - var old = this.buf; - pl.push($bind(this,this.resolve)); - var _g_head = params.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var p = val; - if(p._hx_index == 0) { - var v1 = p.v; - pl.push(this.resolve(v1)); - } else { - this.buf = new StringBuf(); - this.run(p); - pl.push(this.buf.b); - } - } - this.buf = old; - try { - var _this = this.buf; - var x = Std.string(v.apply(this.macros,pl)); - _this.b += Std.string(x); - } catch( _g ) { - var e = haxe_Exception.caught(_g).unwrap(); - var plstr; - try { - plstr = pl.join(","); - } catch( _g1 ) { - plstr = "???"; - } - var msg = "Macro call " + m + "(" + plstr + ") failed (" + Std.string(e) + ")"; - throw haxe_Exception.thrown(msg); - } - break; - } - } -}; -var haxe_ValueException = function(value,previous,native) { - haxe_Exception.call(this,String(value),previous,native); - this.value = value; -}; -haxe_ValueException.__name__ = true; -haxe_ValueException.__super__ = haxe_Exception; -haxe_ValueException.prototype = $extend(haxe_Exception.prototype,{ - unwrap: function() { - return this.value; - } -}); -var haxe_ds_List = function() { - this.length = 0; -}; -haxe_ds_List.__name__ = true; -haxe_ds_List.prototype = { - add: function(item) { - var x = new haxe_ds__$List_ListNode(item,null); - if(this.h == null) { - this.h = x; - } else { - this.q.next = x; - } - this.q = x; - this.length++; - } - ,push: function(item) { - var x = new haxe_ds__$List_ListNode(item,this.h); - this.h = x; - if(this.q == null) { - this.q = x; - } - this.length++; - } - ,first: function() { - if(this.h == null) { - return null; - } else { - return this.h.item; - } - } - ,pop: function() { - if(this.h == null) { - return null; - } - var x = this.h.item; - this.h = this.h.next; - if(this.h == null) { - this.q = null; - } - this.length--; - return x; - } - ,isEmpty: function() { - return this.h == null; - } - ,toString: function() { - var s_b = ""; - var first = true; - var l = this.h; - s_b += "{"; - while(l != null) { - if(first) { - first = false; - } else { - s_b += ", "; - } - s_b += Std.string(Std.string(l.item)); - l = l.next; - } - s_b += "}"; - return s_b; - } -}; -var haxe_ds__$List_ListNode = function(item,next) { - this.item = item; - this.next = next; -}; -haxe_ds__$List_ListNode.__name__ = true; -var js_Boot = function() { }; -js_Boot.__name__ = true; -js_Boot.__string_rec = function(o,s) { - if(o == null) { - return "null"; - } - if(s.length >= 5) { - return "<...>"; - } - var t = typeof(o); - if(t == "function" && (o.__name__ || o.__ename__)) { - t = "object"; - } - switch(t) { - case "function": - return ""; - case "object": - if(o.__enum__) { - var e = $hxEnums[o.__enum__]; - var con = e.__constructs__[o._hx_index]; - var n = con._hx_name; - if(con.__params__) { - s = s + "\t"; - return n + "(" + ((function($this) { - var $r; - var _g = []; - { - var _g1 = 0; - var _g2 = con.__params__; - while(true) { - if(!(_g1 < _g2.length)) { - break; - } - var p = _g2[_g1]; - _g1 = _g1 + 1; - _g.push(js_Boot.__string_rec(o[p],s)); - } - } - $r = _g; - return $r; - }(this))).join(",") + ")"; - } else { - return n; - } - } - if(((o) instanceof Array)) { - var str = "["; - s += "\t"; - var _g = 0; - var _g1 = o.length; - while(_g < _g1) { - var i = _g++; - str += (i > 0 ? "," : "") + js_Boot.__string_rec(o[i],s); - } - str += "]"; - return str; - } - var tostr; - try { - tostr = o.toString; - } catch( _g ) { - return "???"; - } - if(tostr != null && tostr != Object.toString && typeof(tostr) == "function") { - var s2 = o.toString(); - if(s2 != "[object Object]") { - return s2; - } - } - var str = "{\n"; - s += "\t"; - var hasp = o.hasOwnProperty != null; - var k = null; - for( k in o ) { - if(hasp && !o.hasOwnProperty(k)) { - continue; - } - if(k == "prototype" || k == "__class__" || k == "__super__" || k == "__interfaces__" || k == "__properties__") { - continue; - } - if(str.length != 2) { - str += ", \n"; - } - str += s + k + " : " + js_Boot.__string_rec(o[k],s); - } - s = s.substring(1); - str += "\n" + s + "}"; - return str; - case "string": - return o; - default: - return String(o); - } -}; -var xrfragment_Filter = $hx_exports["xrfragment"]["Filter"] = function(str) { - this.q = { }; - this.str = ""; - if(str != null) { - this.parse(str); - } -}; -xrfragment_Filter.__name__ = true; -xrfragment_Filter.prototype = { - toObject: function() { - return Reflect.copy(this.q); - } - ,get: function() { - return Reflect.copy(this.q); - } - ,parse: function(str) { - var token = str.split(" "); - var q = { }; - var process = function(str,prefix) { - if(prefix == null) { - prefix = ""; - } - str = StringTools.trim(str); - var k = str.split("=")[0]; - var v = str.split("=")[1]; - var filter = { }; - if(q[prefix + k]) { - filter = q[prefix + k]; - } - if(xrfragment_XRF.isProp.match(str)) { - var oper = ""; - if(str.indexOf(">") != -1) { - oper = ">"; - } - if(str.indexOf("<") != -1) { - oper = "<"; - } - if(xrfragment_XRF.isExclude.match(k)) { - k = HxOverrides.substr(k,1,null); - } - v = HxOverrides.substr(v,oper.length,null); - if(oper.length == 0) { - oper = "="; - } - var rule = { }; - if(xrfragment_XRF.isNumber.match(v)) { - rule[oper] = parseFloat(v); - } else { - rule[oper] = v; - } - q["expr"] = rule; - } - var value = xrfragment_XRF.isDeep.match(str) ? k.split("*").length - 1 : 0; - q["deep"] = value; - var value = xrfragment_XRF.isExclude.match(str) ? false : true; - q["show"] = value; - var value = k.replace(xrfragment_XRF.operators.r,""); - q["key"] = value; - q["value"] = v; - }; - var _g = 0; - var _g1 = token.length; - while(_g < _g1) { - var i = _g++; - process(token[i]); - } - return this.q = q; - } - ,test: function(obj) { - var qualify = false; - var _g = 0; - var _g1 = Reflect.fields(obj); - while(_g < _g1.length) { - var k = _g1[_g]; - ++_g; - var v = Std.string(Reflect.field(obj,k)); - if(this.testProperty(k,v)) { - qualify = true; - } - } - var _g = 0; - var _g1 = Reflect.fields(obj); - while(_g < _g1.length) { - var k = _g1[_g]; - ++_g; - var v = Std.string(Reflect.field(obj,k)); - if(this.testProperty(k,v,true)) { - qualify = false; - } - } - return qualify; - } - ,testProperty: function(property,value,exclude) { - var conds = 0; - var fails = 0; - var qualify = 0; - var testprop = function(expr) { - conds += 1; - fails += expr ? 0 : 1; - return expr; - }; - if(this.q[value] != null) { - var v = this.q[value]; - if(v[property] != null) { - return v[property]; - } - } - if(Reflect.field(this.q,"expr")) { - var f = Reflect.field(this.q,"expr"); - if(!Reflect.field(this.q,"show")) { - if(Reflect.field(f,"!=") != null && testprop((value == null ? "null" : "" + value) == Std.string(Reflect.field(f,"!="))) && exclude) { - ++qualify; - } - } else { - if(Reflect.field(f,"*") != null && testprop(parseFloat(value) != null)) { - ++qualify; - } - if(Reflect.field(f,">") != null && testprop(parseFloat(value) >= parseFloat(Reflect.field(f,">")))) { - ++qualify; - } - if(Reflect.field(f,"<") != null && testprop(parseFloat(value) <= parseFloat(Reflect.field(f,"<")))) { - ++qualify; - } - if(Reflect.field(f,"=") != null && (testprop(value == Reflect.field(f,"=")) || testprop(parseFloat(value) == parseFloat(Reflect.field(f,"="))))) { - ++qualify; - } - } - } - return qualify > 0; - } -}; -var xrfragment_Parser = $hx_exports["xrfragment"]["Parser"] = function() { }; -xrfragment_Parser.__name__ = true; -xrfragment_Parser.parse = function(key,value,store,index) { - var Frag_h = Object.create(null); - Frag_h["#"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_PREDEFINED_VIEW | xrfragment_XRF.PV_EXECUTE; - Frag_h["src"] = xrfragment_XRF.T_URL; - Frag_h["href"] = xrfragment_XRF.T_URL | xrfragment_XRF.T_PREDEFINED_VIEW; - Frag_h["tag"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["pos"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_VECTOR3 | xrfragment_XRF.T_STRING | xrfragment_XRF.METADATA | xrfragment_XRF.NAVIGATOR; - Frag_h["rot"] = xrfragment_XRF.QUERY_OPERATOR | xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_VECTOR3 | xrfragment_XRF.METADATA | xrfragment_XRF.NAVIGATOR; - Frag_h["t"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_FLOAT | xrfragment_XRF.T_VECTOR2 | xrfragment_XRF.NAVIGATOR | xrfragment_XRF.METADATA; - Frag_h["s"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_MEDIAFRAG; - Frag_h["loop"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_PREDEFINED_VIEW; - Frag_h["uv"] = xrfragment_XRF.T_VECTOR2 | xrfragment_XRF.T_MEDIAFRAG; - Frag_h["namespace"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["SPDX"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["unit"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["description"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - var keyStripped = key.replace(xrfragment_XRF.operators.r,""); - var isPVDynamic = key.length > 0 && !Object.prototype.hasOwnProperty.call(Frag_h,key); - if(isPVDynamic) { - var v = new xrfragment_XRF(key,xrfragment_XRF.PV_EXECUTE | xrfragment_XRF.NAVIGATOR,index); - v.validate(value); - v.flags = xrfragment_XRF.set(xrfragment_XRF.T_DYNAMICKEY,v.flags); - if(!Object.prototype.hasOwnProperty.call(Frag_h,key)) { - v.flags = xrfragment_XRF.set(xrfragment_XRF.CUSTOMFRAG,v.flags); - } - if(value.length == 0) { - v.flags = xrfragment_XRF.set(xrfragment_XRF.T_DYNAMICKEYVALUE,v.flags); - } - store[keyStripped] = v; - return true; - } - var v = new xrfragment_XRF(key,Frag_h[key],index); - if(Object.prototype.hasOwnProperty.call(Frag_h,key)) { - if(!v.validate(value)) { - console.log("src/xrfragment/Parser.hx:67:","⚠ fragment '" + key + "' has incompatible value (" + value + ")"); - return false; - } - store[keyStripped] = v; - if(xrfragment_Parser.debug) { - console.log("src/xrfragment/Parser.hx:71:","✔ " + key + ": " + v.string); - } - } else { - if(typeof(value) == "string") { - v.guessType(v,value); - } - v.flags = xrfragment_XRF.set(xrfragment_XRF.CUSTOMFRAG,v.flags); - store[keyStripped] = v; - } - return true; -}; -xrfragment_Parser.getMetaData = function() { - var meta = { title : ["title","og:title","dc.title"], description : ["aria-description","og:description","dc.description"], author : ["author","dc.creator"], publisher : ["publisher","dc.publisher"], website : ["og:site_name","og:url","dc.publisher"], license : ["SPDX","dc.rights"]}; - return meta; -}; -var xrfragment_URI = $hx_exports["xrfragment"]["URI"] = function() { - this.XRF = { }; - this.hash = { }; - this.fragment = ""; -}; -xrfragment_URI.__name__ = true; -xrfragment_URI.parseFragment = function(url,filter) { - var store = { }; - if(url == null || url.indexOf("#") == -1) { - return store; - } - var fragment = url.split("#"); - var splitArray = fragment[1].split("&"); - var _g = 0; - var _g1 = splitArray.length; - while(_g < _g1) { - var i = _g++; - var splitByEqual = splitArray[i].split("="); - var regexPlus = new EReg("\\+","g"); - var key = splitByEqual[0]; - var value = ""; - if(splitByEqual.length > 1) { - if(xrfragment_XRF.isVector.match(splitByEqual[1])) { - value = splitByEqual[1]; - } else { - var s = regexPlus.split(splitByEqual[1]).join(" "); - value = decodeURIComponent(s.split("+").join(" ")); - } - } - var ok = xrfragment_Parser.parse(key,value,store,i); - } - if(filter != null && filter != 0) { - var _g = 0; - var _g1 = Reflect.fields(store); - while(_g < _g1.length) { - var key = _g1[_g]; - ++_g; - var xrf = store[key]; - if(!xrf.is(filter)) { - Reflect.deleteField(store,key); - } - } - } - return store; -}; -xrfragment_URI.template = function(uri,vars) { - var parts = uri.split("#"); - if(parts.length == 1) { - return uri; - } - var frag = parts[1]; - frag = StringTools.replace(frag,"{","::"); - frag = StringTools.replace(frag,"}","::"); - frag = new haxe_Template(frag).execute(vars); - frag = StringTools.replace(frag,"null",""); - parts[1] = frag; - return parts.join("#"); -}; -xrfragment_URI.parse = function(stringUrl,flags) { - var r = new EReg("^(?:(?![^:@]+:[^:@/]*@)([^:/?#.]+):)?(?://)?((?:(([^:@]*)(?::([^:@]*))?)?@)?([^:/?#]*)(?::(\\d*))?)(((/(?:[^?#](?![^?#/]*\\.[^?#/.]+(?:[?#]|$)))*/?)?([^?#/]*))(?:\\?([^#]*))?(?:#(.*))?)",""); - if(stringUrl.indexOf("://") == -1 && stringUrl.charAt(0) != "/") { - stringUrl = "/" + stringUrl; - } - r.match(stringUrl); - var url = new xrfragment_URI(); - var _g = 0; - var _g1 = xrfragment_URI._parts.length; - while(_g < _g1) { - var i = _g++; - url[xrfragment_URI._parts[i]] = r.matched(i); - } - if(xrfragment_URI.isRelative(url) == true) { - if(url.directory == null && url.host != null) { - url.file = url.host; - } - url.host = ""; - } - url.hash = { }; - if(url.fragment != null && url.fragment.length > 0) { - url.XRF = xrfragment_URI.parseFragment("#" + url.fragment,flags); - var key; - var _g = 0; - var _g1 = Reflect.fields(url.XRF); - while(_g < _g1.length) { - var key = _g1[_g]; - ++_g; - var v = url.XRF[key]; - url.hash[key] = v["string"]; - } - } - xrfragment_URI.computeVars(url); - return url; -}; -xrfragment_URI.computeVars = function(url) { - var r_r = new RegExp("//","g".split("u").join("")); - if(url.directory != null && url.directory.indexOf("//") != -1) { - url.directory = url.directory.replace(r_r,"/"); - } - if(url.path != null && url.path.indexOf("//") != -1) { - url.path = url.path.replace(r_r,"/"); - } - if(url.file != null && url.file.indexOf("//") != -1) { - url.file = url.file.replace(r_r,"/"); - } - url.URN = url.scheme + "://" + url.host; - if(url.port != null) { - url.URN += ":" + url.port; - } - url.URN += url.directory; - if(url.file != null) { - var parts = url.file.split("."); - if(parts.length > 1) { - url.fileExt = parts.pop(); - } - } -}; -xrfragment_URI.toString = function(url) { - var result = ""; - if(url.scheme != null) { - result += url.scheme + "://"; - } - if(url.user != null) { - result += url.user + ":"; - } - if(url.password != null) { - result += url.password + "@"; - } - if(url.host != null) { - result += url.host; - } - if(url.port != null) { - result += ":" + url.port; - } - if(url.directory != null) { - result += url.directory; - } - if(url.file != null) { - result += url.file; - } - if(url.query != null) { - result += "?" + url.query; - } - if(url.fragment != null) { - result += "#" + url.fragment; - } - return result; -}; -xrfragment_URI.appendURI = function(url,appendedURI) { - if(xrfragment_URI.isRelative(url) == true) { - return xrfragment_URI.appendToRelativeURI(url,appendedURI); - } else { - return xrfragment_URI.appendToAbsoluteURI(url,appendedURI); - } -}; -xrfragment_URI.isRelative = function(url) { - return url.scheme == null; -}; -xrfragment_URI.appendToRelativeURI = function(url,appendedURI) { - if(url.directory == null || url.host == null) { - return xrfragment_URI.cloneURI(appendedURI); - } - var resultURI = new xrfragment_URI(); - resultURI.host = url.host; - resultURI.directory = url.directory; - if(appendedURI.host != null) { - resultURI.directory += appendedURI.host; - } - if(appendedURI.directory != null) { - var directory = appendedURI.directory; - if(appendedURI.host == null) { - resultURI.directory += HxOverrides.substr(directory,1,null); - } else { - resultURI.directory += directory; - } - } - if(appendedURI.file != null) { - resultURI.file = appendedURI.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(appendedURI.query != null) { - resultURI.query = appendedURI.query; - } - if(appendedURI.fragment != null) { - resultURI.fragment = appendedURI.fragment; - } - return resultURI; -}; -xrfragment_URI.appendToAbsoluteURI = function(url,appendedURI) { - var resultURI = new xrfragment_URI(); - if(url.scheme != null) { - resultURI.scheme = url.scheme; - } - if(url.host != null) { - resultURI.host = url.host; - } - var directory = ""; - if(url.directory != null) { - directory = url.directory; - } - if(appendedURI.host != null) { - appendedURI.directory += appendedURI.host; - } - if(appendedURI.directory != null) { - directory += appendedURI.directory; - } - resultURI.directory = directory; - if(appendedURI.file != null) { - resultURI.file = appendedURI.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(appendedURI.query != null) { - resultURI.query = appendedURI.query; - } - if(appendedURI.fragment != null) { - resultURI.fragment = appendedURI.fragment; - } - return resultURI; -}; -xrfragment_URI.toAbsolute = function(url,newUrl) { - var newURI = xrfragment_URI.parse(newUrl,0); - var resultURI = new xrfragment_URI(); - resultURI.port = url.port; - resultURI.source = newUrl; - if(newURI.scheme != null) { - resultURI.scheme = newURI.scheme; - } else { - resultURI.scheme = url.scheme; - } - if(newURI.host != null && newURI.host.length > 0) { - resultURI.host = newURI.host; - resultURI.port = null; - resultURI.fragment = null; - resultURI.hash = { }; - resultURI.XRF = { }; - if(newURI.port != null) { - resultURI.port = newURI.port; - } - } else { - resultURI.host = url.host; - } - var directory = ""; - if(url.directory != null) { - directory = url.directory; - } - if(newURI.directory != null) { - if(newUrl.charAt(0) != "/" && newUrl.indexOf("://") == -1) { - var stripRelative_r = new RegExp("\\./.*","".split("u").join("")); - directory = directory.replace(stripRelative_r,""); - directory += newURI.directory; - } else { - directory = newURI.directory; - } - } - resultURI.directory = directory; - if(newURI.file != null) { - resultURI.file = newURI.file; - } else { - resultURI.file = url.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(newURI.query != null) { - resultURI.query = newURI.query; - } - if(newURI.fragment != null) { - resultURI.fragment = newURI.fragment; - } - resultURI.hash = newURI.hash; - resultURI.XRF = newURI.XRF; - xrfragment_URI.computeVars(resultURI); - return resultURI; -}; -xrfragment_URI.cloneURI = function(url) { - var clonedURI = new xrfragment_URI(); - clonedURI.url = url.url; - clonedURI.source = url.source; - clonedURI.scheme = url.scheme; - clonedURI.authority = url.authority; - clonedURI.userInfo = url.userInfo; - clonedURI.password = url.password; - clonedURI.host = url.host; - clonedURI.port = url.port; - clonedURI.relative = url.relative; - clonedURI.path = url.path; - clonedURI.directory = url.directory; - clonedURI.file = url.file; - clonedURI.query = url.query; - clonedURI.fragment = url.fragment; - return clonedURI; -}; -var xrfragment_XRF = $hx_exports["xrfragment"]["XRF"] = function(_fragment,_flags,_index) { - this.floats = []; - this.shift = []; - this.fragment = _fragment; - this.flags = _flags; - this.index = _index; -}; -xrfragment_XRF.__name__ = true; -xrfragment_XRF.set = function(flag,flags) { - return flags | flag; -}; -xrfragment_XRF.unset = function(flag,flags) { - return flags & ~flag; -}; -xrfragment_XRF.prototype = { - is: function(flag) { - var v = this.flags; - if(!(typeof(v) == "number" && ((v | 0) === v))) { - this.flags = 0; - } - return (this.flags & flag) != 0; - } - ,validate: function(value) { - this.guessType(this,value); - var ok = true; - if(value.length == 0 && !this.is(xrfragment_XRF.T_PREDEFINED_VIEW)) { - ok = false; - } - if(!this.is(xrfragment_XRF.T_FLOAT) && this.is(xrfragment_XRF.T_VECTOR2) && !(typeof(this.x) == "number" && typeof(this.y) == "number")) { - ok = false; - } - if(!(this.is(xrfragment_XRF.T_VECTOR2) || this.is(xrfragment_XRF.T_STRING)) && this.is(xrfragment_XRF.T_VECTOR3) && !(typeof(this.x) == "number" && typeof(this.y) == "number" && typeof(this.z) == "number")) { - ok = false; - } - return ok; - } - ,guessType: function(v,str) { - v.string = str; - if(xrfragment_XRF.isReset.match(v.fragment)) { - v.reset = true; - } - if(v.fragment == "loop") { - v.loop = true; - } - if(typeof(str) != "string") { - return; - } - if(str.length > 0) { - if(xrfragment_XRF.isXRFScheme.match(str)) { - v.xrfScheme = true; - str = str.replace(xrfragment_XRF.isXRFScheme.r,""); - v.string = str; - } - if(str.split(",").length > 1) { - var xyzn = str.split(","); - if(xyzn.length > 0) { - v.x = parseFloat(xyzn[0]); - } - if(xyzn.length > 1) { - v.y = parseFloat(xyzn[1]); - } - if(xyzn.length > 2) { - v.z = parseFloat(xyzn[2]); - } - var _g = 0; - var _g1 = xyzn.length; - while(_g < _g1) { - var i = _g++; - v.shift.push(xrfragment_XRF.isShift.match(xyzn[i])); - v.floats.push(parseFloat(xyzn[i].replace(xrfragment_XRF.isShift.r,""))); - } - } - if(xrfragment_XRF.isColor.match(str)) { - v.color = str; - } - if(xrfragment_XRF.isFloat.match(str)) { - v.x = parseFloat(str); - v.float = v.x; - } - if(xrfragment_XRF.isInt.match(str)) { - v.int = Std.parseInt(str); - v.x = v.int; - v.floats.push(v.x); - } - v.filter = new xrfragment_Filter(v.fragment + "=" + v.string); - } else { - v.filter = new xrfragment_Filter(v.fragment); - } - } -}; -function $getIterator(o) { if( o instanceof Array ) return new haxe_iterators_ArrayIterator(o); else return o.iterator(); } -function $bind(o,m) { if( m == null ) return null; if( m.__id__ == null ) m.__id__ = $global.$haxeUID++; var f; if( o.hx__closures__ == null ) o.hx__closures__ = {}; else f = o.hx__closures__[m.__id__]; if( f == null ) { f = m.bind(o); o.hx__closures__[m.__id__] = f; } return f; } -$global.$haxeUID |= 0; -if(typeof(performance) != "undefined" ? typeof(performance.now) == "function" : false) { - HxOverrides.now = performance.now.bind(performance); -} -if( String.fromCodePoint == null ) String.fromCodePoint = function(c) { return c < 0x10000 ? String.fromCharCode(c) : String.fromCharCode((c>>10)+0xD7C0)+String.fromCharCode((c&0x3FF)+0xDC00); } -String.__name__ = true; -Array.__name__ = true; -js_Boot.__toStr = ({ }).toString; -haxe_Template.splitter = new EReg("(::[A-Za-z0-9_ ()&|!+=/><*.\"-]+::|\\$\\$([A-Za-z0-9_-]+)\\()",""); -haxe_Template.expr_splitter = new EReg("(\\(|\\)|[ \r\n\t]*\"[^\"]*\"[ \r\n\t]*|[!+=/><*.&|-]+)",""); -haxe_Template.expr_trim = new EReg("^[ ]*([^ ]+)[ ]*$",""); -haxe_Template.expr_int = new EReg("^[0-9]+$",""); -haxe_Template.expr_float = new EReg("^([+-]?)(?=\\d|,\\d)\\d*(,\\d*)?([Ee]([+-]?\\d+))?$",""); -haxe_Template.globals = { }; -haxe_Template.hxKeepArrayIterator = new haxe_iterators_ArrayIterator([]); -xrfragment_Parser.error = ""; -xrfragment_Parser.debug = false; -xrfragment_URI.__meta__ = { statics : { template : { keep : null}}}; -xrfragment_URI._parts = ["source","scheme","authority","userInfo","user","password","host","port","relative","path","directory","file","query","fragment"]; -xrfragment_XRF.IMMUTABLE = 1; -xrfragment_XRF.PROP_BIND = 2; -xrfragment_XRF.QUERY_OPERATOR = 4; -xrfragment_XRF.PROMPT = 8; -xrfragment_XRF.CUSTOMFRAG = 16; -xrfragment_XRF.NAVIGATOR = 32; -xrfragment_XRF.METADATA = 64; -xrfragment_XRF.PV_OVERRIDE = 128; -xrfragment_XRF.PV_EXECUTE = 256; -xrfragment_XRF.T_COLOR = 8192; -xrfragment_XRF.T_INT = 16384; -xrfragment_XRF.T_FLOAT = 32768; -xrfragment_XRF.T_VECTOR2 = 65536; -xrfragment_XRF.T_VECTOR3 = 131072; -xrfragment_XRF.T_URL = 262144; -xrfragment_XRF.T_PREDEFINED_VIEW = 524288; -xrfragment_XRF.T_STRING = 1048576; -xrfragment_XRF.T_MEDIAFRAG = 2097152; -xrfragment_XRF.T_DYNAMICKEY = 4194304; -xrfragment_XRF.T_DYNAMICKEYVALUE = 8388608; -xrfragment_XRF.isColor = new EReg("^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$",""); -xrfragment_XRF.isInt = new EReg("^[-0-9]+$",""); -xrfragment_XRF.isFloat = new EReg("^[-0-9]+\\.[0-9]+$",""); -xrfragment_XRF.isVector = new EReg("([,]+|\\w)",""); -xrfragment_XRF.isUrl = new EReg("(://)?\\..*",""); -xrfragment_XRF.isUrlOrPretypedView = new EReg("(^#|://)?\\..*",""); -xrfragment_XRF.isString = new EReg(".*",""); -xrfragment_XRF.operators = new EReg("(^[-]|^[!]|[\\*]$)","g"); -xrfragment_XRF.isProp = new EReg("^.*=[><=]?",""); -xrfragment_XRF.isExclude = new EReg("^-",""); -xrfragment_XRF.isDeep = new EReg("\\*",""); -xrfragment_XRF.isNumber = new EReg("^[0-9\\.]+$",""); -xrfragment_XRF.isMediaFrag = new EReg("^([0-9\\.,\\*+-]+)$",""); -xrfragment_XRF.isReset = new EReg("^!",""); -xrfragment_XRF.isShift = new EReg("^(\\+|--)",""); -xrfragment_XRF.isXRFScheme = new EReg("^xrf://",""); -})(typeof window != "undefined" ? window : typeof global != "undefined" ? global : typeof self != "undefined" ? self : this); -var xrfragment = $hx_exports["xrfragment"]; -export default xrfragment; -// Generated by Haxe 4.3.3 -var $hx_exports = typeof exports != "undefined" ? exports : typeof window != "undefined" ? window : typeof self != "undefined" ? self : this; -(function ($global) { "use strict"; -$hx_exports["xrfragment"] = $hx_exports["xrfragment"] || {}; -var $estr = function() { return js_Boot.__string_rec(this,''); },$hxEnums = $hxEnums || {},$_; -function $extend(from, fields) { - var proto = Object.create(from); - for (var name in fields) proto[name] = fields[name]; - if( fields.toString !== Object.prototype.toString ) proto.toString = fields.toString; - return proto; -} -var EReg = function(r,opt) { - this.r = new RegExp(r,opt.split("u").join("")); -}; -EReg.__name__ = true; -EReg.prototype = { - match: function(s) { - if(this.r.global) { - this.r.lastIndex = 0; - } - this.r.m = this.r.exec(s); - this.r.s = s; - return this.r.m != null; - } - ,matched: function(n) { - if(this.r.m != null && n >= 0 && n < this.r.m.length) { - return this.r.m[n]; - } else { - throw haxe_Exception.thrown("EReg::matched"); - } - } - ,matchedRight: function() { - if(this.r.m == null) { - throw haxe_Exception.thrown("No string matched"); - } - var sz = this.r.m.index + this.r.m[0].length; - return HxOverrides.substr(this.r.s,sz,this.r.s.length - sz); - } - ,matchedPos: function() { - if(this.r.m == null) { - throw haxe_Exception.thrown("No string matched"); - } - return { pos : this.r.m.index, len : this.r.m[0].length}; - } - ,split: function(s) { - var d = "#__delim__#"; - return s.replace(this.r,d).split(d); - } -}; -var HxOverrides = function() { }; -HxOverrides.__name__ = true; -HxOverrides.cca = function(s,index) { - var x = s.charCodeAt(index); - if(x != x) { - return undefined; - } - return x; -}; -HxOverrides.substr = function(s,pos,len) { - if(len == null) { - len = s.length; - } else if(len < 0) { - if(pos == 0) { - len = s.length + len; - } else { - return ""; - } - } - return s.substr(pos,len); -}; -HxOverrides.now = function() { - return Date.now(); -}; -Math.__name__ = true; -var Reflect = function() { }; -Reflect.__name__ = true; -Reflect.field = function(o,field) { - try { - return o[field]; - } catch( _g ) { - return null; - } -}; -Reflect.getProperty = function(o,field) { - var tmp; - if(o == null) { - return null; - } else { - var tmp1; - if(o.__properties__) { - tmp = o.__properties__["get_" + field]; - tmp1 = tmp; - } else { - tmp1 = false; - } - if(tmp1) { - return o[tmp](); - } else { - return o[field]; - } - } -}; -Reflect.fields = function(o) { - var a = []; - if(o != null) { - var hasOwnProperty = Object.prototype.hasOwnProperty; - for( var f in o ) { - if(f != "__id__" && f != "hx__closures__" && hasOwnProperty.call(o,f)) { - a.push(f); - } - } - } - return a; -}; -Reflect.isObject = function(v) { - if(v == null) { - return false; - } - var t = typeof(v); - if(!(t == "string" || t == "object" && v.__enum__ == null)) { - if(t == "function") { - return (v.__name__ || v.__ename__) != null; - } else { - return false; - } - } else { - return true; - } -}; -Reflect.deleteField = function(o,field) { - if(!Object.prototype.hasOwnProperty.call(o,field)) { - return false; - } - delete(o[field]); - return true; -}; -Reflect.copy = function(o) { - if(o == null) { - return null; - } - var o2 = { }; - var _g = 0; - var _g1 = Reflect.fields(o); - while(_g < _g1.length) { - var f = _g1[_g]; - ++_g; - o2[f] = Reflect.field(o,f); - } - return o2; -}; -var Std = function() { }; -Std.__name__ = true; -Std.string = function(s) { - return js_Boot.__string_rec(s,""); -}; -Std.parseInt = function(x) { - var v = parseInt(x); - if(isNaN(v)) { - return null; - } - return v; -}; -var StringBuf = function() { - this.b = ""; -}; -StringBuf.__name__ = true; -var StringTools = function() { }; -StringTools.__name__ = true; -StringTools.isSpace = function(s,pos) { - var c = HxOverrides.cca(s,pos); - if(!(c > 8 && c < 14)) { - return c == 32; - } else { - return true; - } -}; -StringTools.ltrim = function(s) { - var l = s.length; - var r = 0; - while(r < l && StringTools.isSpace(s,r)) ++r; - if(r > 0) { - return HxOverrides.substr(s,r,l - r); - } else { - return s; - } -}; -StringTools.rtrim = function(s) { - var l = s.length; - var r = 0; - while(r < l && StringTools.isSpace(s,l - r - 1)) ++r; - if(r > 0) { - return HxOverrides.substr(s,0,l - r); - } else { - return s; - } -}; -StringTools.trim = function(s) { - return StringTools.ltrim(StringTools.rtrim(s)); -}; -StringTools.replace = function(s,sub,by) { - return s.split(sub).join(by); -}; -var haxe_Exception = function(message,previous,native) { - Error.call(this,message); - this.message = message; - this.__previousException = previous; - this.__nativeException = native != null ? native : this; -}; -haxe_Exception.__name__ = true; -haxe_Exception.caught = function(value) { - if(((value) instanceof haxe_Exception)) { - return value; - } else if(((value) instanceof Error)) { - return new haxe_Exception(value.message,null,value); - } else { - return new haxe_ValueException(value,null,value); - } -}; -haxe_Exception.thrown = function(value) { - if(((value) instanceof haxe_Exception)) { - return value.get_native(); - } else if(((value) instanceof Error)) { - return value; - } else { - var e = new haxe_ValueException(value); - return e; - } -}; -haxe_Exception.__super__ = Error; -haxe_Exception.prototype = $extend(Error.prototype,{ - unwrap: function() { - return this.__nativeException; - } - ,get_native: function() { - return this.__nativeException; - } - ,__properties__: {get_native:"get_native"} -}); -var haxe__$Template_TemplateExpr = $hxEnums["haxe._Template.TemplateExpr"] = { __ename__:true,__constructs__:null - ,OpVar: ($_=function(v) { return {_hx_index:0,v:v,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpVar",$_.__params__ = ["v"],$_) - ,OpExpr: ($_=function(expr) { return {_hx_index:1,expr:expr,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpExpr",$_.__params__ = ["expr"],$_) - ,OpIf: ($_=function(expr,eif,eelse) { return {_hx_index:2,expr:expr,eif:eif,eelse:eelse,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpIf",$_.__params__ = ["expr","eif","eelse"],$_) - ,OpStr: ($_=function(str) { return {_hx_index:3,str:str,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpStr",$_.__params__ = ["str"],$_) - ,OpBlock: ($_=function(l) { return {_hx_index:4,l:l,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpBlock",$_.__params__ = ["l"],$_) - ,OpForeach: ($_=function(expr,loop) { return {_hx_index:5,expr:expr,loop:loop,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpForeach",$_.__params__ = ["expr","loop"],$_) - ,OpMacro: ($_=function(name,params) { return {_hx_index:6,name:name,params:params,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpMacro",$_.__params__ = ["name","params"],$_) -}; -haxe__$Template_TemplateExpr.__constructs__ = [haxe__$Template_TemplateExpr.OpVar,haxe__$Template_TemplateExpr.OpExpr,haxe__$Template_TemplateExpr.OpIf,haxe__$Template_TemplateExpr.OpStr,haxe__$Template_TemplateExpr.OpBlock,haxe__$Template_TemplateExpr.OpForeach,haxe__$Template_TemplateExpr.OpMacro]; -var haxe_iterators_ArrayIterator = function(array) { - this.current = 0; - this.array = array; -}; -haxe_iterators_ArrayIterator.__name__ = true; -haxe_iterators_ArrayIterator.prototype = { - hasNext: function() { - return this.current < this.array.length; - } - ,next: function() { - return this.array[this.current++]; - } -}; -var haxe_Template = function(str) { - var tokens = this.parseTokens(str); - this.expr = this.parseBlock(tokens); - if(!tokens.isEmpty()) { - throw haxe_Exception.thrown("Unexpected '" + Std.string(tokens.first().s) + "'"); - } -}; -haxe_Template.__name__ = true; -haxe_Template.prototype = { - execute: function(context,macros) { - this.macros = macros == null ? { } : macros; - this.context = context; - this.stack = new haxe_ds_List(); - this.buf = new StringBuf(); - this.run(this.expr); - return this.buf.b; - } - ,resolve: function(v) { - if(v == "__current__") { - return this.context; - } - if(Reflect.isObject(this.context)) { - var value = Reflect.getProperty(this.context,v); - if(value != null || Object.prototype.hasOwnProperty.call(this.context,v)) { - return value; - } - } - var _g_head = this.stack.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var ctx = val; - var value = Reflect.getProperty(ctx,v); - if(value != null || Object.prototype.hasOwnProperty.call(ctx,v)) { - return value; - } - } - return Reflect.field(haxe_Template.globals,v); - } - ,parseTokens: function(data) { - var tokens = new haxe_ds_List(); - while(haxe_Template.splitter.match(data)) { - var p = haxe_Template.splitter.matchedPos(); - if(p.pos > 0) { - tokens.add({ p : HxOverrides.substr(data,0,p.pos), s : true, l : null}); - } - if(HxOverrides.cca(data,p.pos) == 58) { - tokens.add({ p : HxOverrides.substr(data,p.pos + 2,p.len - 4), s : false, l : null}); - data = haxe_Template.splitter.matchedRight(); - continue; - } - var parp = p.pos + p.len; - var npar = 1; - var params = []; - var part = ""; - while(true) { - var c = HxOverrides.cca(data,parp); - ++parp; - if(c == 40) { - ++npar; - } else if(c == 41) { - --npar; - if(npar <= 0) { - break; - } - } else if(c == null) { - throw haxe_Exception.thrown("Unclosed macro parenthesis"); - } - if(c == 44 && npar == 1) { - params.push(part); - part = ""; - } else { - part += String.fromCodePoint(c); - } - } - params.push(part); - tokens.add({ p : haxe_Template.splitter.matched(2), s : false, l : params}); - data = HxOverrides.substr(data,parp,data.length - parp); - } - if(data.length > 0) { - tokens.add({ p : data, s : true, l : null}); - } - return tokens; - } - ,parseBlock: function(tokens) { - var l = new haxe_ds_List(); - while(true) { - var t = tokens.first(); - if(t == null) { - break; - } - if(!t.s && (t.p == "end" || t.p == "else" || HxOverrides.substr(t.p,0,7) == "elseif ")) { - break; - } - l.add(this.parse(tokens)); - } - if(l.length == 1) { - return l.first(); - } - return haxe__$Template_TemplateExpr.OpBlock(l); - } - ,parse: function(tokens) { - var t = tokens.pop(); - var p = t.p; - if(t.s) { - return haxe__$Template_TemplateExpr.OpStr(p); - } - if(t.l != null) { - var pe = new haxe_ds_List(); - var _g = 0; - var _g1 = t.l; - while(_g < _g1.length) { - var p1 = _g1[_g]; - ++_g; - pe.add(this.parseBlock(this.parseTokens(p1))); - } - return haxe__$Template_TemplateExpr.OpMacro(p,pe); - } - var kwdEnd = function(kwd) { - var pos = -1; - var length = kwd.length; - if(HxOverrides.substr(p,0,length) == kwd) { - pos = length; - var _g_offset = 0; - var _g_s = HxOverrides.substr(p,length,null); - while(_g_offset < _g_s.length) { - var c = _g_s.charCodeAt(_g_offset++); - if(c == 32) { - ++pos; - } else { - break; - } - } - } - return pos; - }; - var pos = kwdEnd("if"); - if(pos > 0) { - p = HxOverrides.substr(p,pos,p.length - pos); - var e = this.parseExpr(p); - var eif = this.parseBlock(tokens); - var t = tokens.first(); - var eelse; - if(t == null) { - throw haxe_Exception.thrown("Unclosed 'if'"); - } - if(t.p == "end") { - tokens.pop(); - eelse = null; - } else if(t.p == "else") { - tokens.pop(); - eelse = this.parseBlock(tokens); - t = tokens.pop(); - if(t == null || t.p != "end") { - throw haxe_Exception.thrown("Unclosed 'else'"); - } - } else { - t.p = HxOverrides.substr(t.p,4,t.p.length - 4); - eelse = this.parse(tokens); - } - return haxe__$Template_TemplateExpr.OpIf(e,eif,eelse); - } - var pos = kwdEnd("foreach"); - if(pos >= 0) { - p = HxOverrides.substr(p,pos,p.length - pos); - var e = this.parseExpr(p); - var efor = this.parseBlock(tokens); - var t = tokens.pop(); - if(t == null || t.p != "end") { - throw haxe_Exception.thrown("Unclosed 'foreach'"); - } - return haxe__$Template_TemplateExpr.OpForeach(e,efor); - } - if(haxe_Template.expr_splitter.match(p)) { - return haxe__$Template_TemplateExpr.OpExpr(this.parseExpr(p)); - } - return haxe__$Template_TemplateExpr.OpVar(p); - } - ,parseExpr: function(data) { - var l = new haxe_ds_List(); - var expr = data; - while(haxe_Template.expr_splitter.match(data)) { - var p = haxe_Template.expr_splitter.matchedPos(); - var k = p.pos + p.len; - if(p.pos != 0) { - l.add({ p : HxOverrides.substr(data,0,p.pos), s : true}); - } - var p1 = haxe_Template.expr_splitter.matched(0); - l.add({ p : p1, s : p1.indexOf("\"") >= 0}); - data = haxe_Template.expr_splitter.matchedRight(); - } - if(data.length != 0) { - var _g_offset = 0; - var _g_s = data; - while(_g_offset < _g_s.length) { - var _g_key = _g_offset; - var _g_value = _g_s.charCodeAt(_g_offset++); - var i = _g_key; - var c = _g_value; - if(c != 32) { - l.add({ p : HxOverrides.substr(data,i,null), s : true}); - break; - } - } - } - var e; - try { - e = this.makeExpr(l); - if(!l.isEmpty()) { - throw haxe_Exception.thrown(l.first().p); - } - } catch( _g ) { - var _g1 = haxe_Exception.caught(_g).unwrap(); - if(typeof(_g1) == "string") { - var s = _g1; - throw haxe_Exception.thrown("Unexpected '" + s + "' in " + expr); - } else { - throw _g; - } - } - return function() { - try { - return e(); - } catch( _g ) { - var exc = haxe_Exception.caught(_g).unwrap(); - throw haxe_Exception.thrown("Error : " + Std.string(exc) + " in " + expr); - } - }; - } - ,makeConst: function(v) { - haxe_Template.expr_trim.match(v); - v = haxe_Template.expr_trim.matched(1); - if(HxOverrides.cca(v,0) == 34) { - var str = HxOverrides.substr(v,1,v.length - 2); - return function() { - return str; - }; - } - if(haxe_Template.expr_int.match(v)) { - var i = Std.parseInt(v); - return function() { - return i; - }; - } - if(haxe_Template.expr_float.match(v)) { - var f = parseFloat(v); - return function() { - return f; - }; - } - var me = this; - return function() { - return me.resolve(v); - }; - } - ,makePath: function(e,l) { - var p = l.first(); - if(p == null || p.p != ".") { - return e; - } - l.pop(); - var field = l.pop(); - if(field == null || !field.s) { - throw haxe_Exception.thrown(field.p); - } - var f = field.p; - haxe_Template.expr_trim.match(f); - f = haxe_Template.expr_trim.matched(1); - return this.makePath(function() { - return Reflect.field(e(),f); - },l); - } - ,makeExpr: function(l) { - return this.makePath(this.makeExpr2(l),l); - } - ,skipSpaces: function(l) { - var p = l.first(); - while(p != null) { - var _g_offset = 0; - var _g_s = p.p; - while(_g_offset < _g_s.length) { - var c = _g_s.charCodeAt(_g_offset++); - if(c != 32) { - return; - } - } - l.pop(); - p = l.first(); - } - } - ,makeExpr2: function(l) { - this.skipSpaces(l); - var p = l.pop(); - this.skipSpaces(l); - if(p == null) { - throw haxe_Exception.thrown(""); - } - if(p.s) { - return this.makeConst(p.p); - } - switch(p.p) { - case "!": - var e = this.makeExpr(l); - return function() { - var v = e(); - if(v != null) { - return v == false; - } else { - return true; - } - }; - case "(": - this.skipSpaces(l); - var e1 = this.makeExpr(l); - this.skipSpaces(l); - var p1 = l.pop(); - if(p1 == null || p1.s) { - throw haxe_Exception.thrown(p1); - } - if(p1.p == ")") { - return e1; - } - this.skipSpaces(l); - var e2 = this.makeExpr(l); - this.skipSpaces(l); - var p2 = l.pop(); - this.skipSpaces(l); - if(p2 == null || p2.p != ")") { - throw haxe_Exception.thrown(p2); - } - switch(p1.p) { - case "!=": - return function() { - return e1() != e2(); - }; - case "&&": - return function() { - return e1() && e2(); - }; - case "*": - return function() { - return e1() * e2(); - }; - case "+": - return function() { - return e1() + e2(); - }; - case "-": - return function() { - return e1() - e2(); - }; - case "/": - return function() { - return e1() / e2(); - }; - case "<": - return function() { - return e1() < e2(); - }; - case "<=": - return function() { - return e1() <= e2(); - }; - case "==": - return function() { - return e1() == e2(); - }; - case ">": - return function() { - return e1() > e2(); - }; - case ">=": - return function() { - return e1() >= e2(); - }; - case "||": - return function() { - return e1() || e2(); - }; - default: - throw haxe_Exception.thrown("Unknown operation " + p1.p); - } - break; - case "-": - var e3 = this.makeExpr(l); - return function() { - return -e3(); - }; - } - throw haxe_Exception.thrown(p.p); - } - ,run: function(e) { - switch(e._hx_index) { - case 0: - var v = e.v; - var _this = this.buf; - var x = Std.string(this.resolve(v)); - _this.b += Std.string(x); - break; - case 1: - var e1 = e.expr; - var _this = this.buf; - var x = Std.string(e1()); - _this.b += Std.string(x); - break; - case 2: - var e1 = e.expr; - var eif = e.eif; - var eelse = e.eelse; - var v = e1(); - if(v == null || v == false) { - if(eelse != null) { - this.run(eelse); - } - } else { - this.run(eif); - } - break; - case 3: - var str = e.str; - this.buf.b += str == null ? "null" : "" + str; - break; - case 4: - var l = e.l; - var _g_head = l.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var e1 = val; - this.run(e1); - } - break; - case 5: - var e1 = e.expr; - var loop = e.loop; - var v = e1(); - try { - var x = $getIterator(v); - if(x.hasNext == null) { - throw haxe_Exception.thrown(null); - } - v = x; - } catch( _g ) { - try { - if(v.hasNext == null) { - throw haxe_Exception.thrown(null); - } - } catch( _g1 ) { - throw haxe_Exception.thrown("Cannot iter on " + Std.string(v)); - } - } - this.stack.push(this.context); - var v1 = v; - var ctx = v1; - while(ctx.hasNext()) { - var ctx1 = ctx.next(); - this.context = ctx1; - this.run(loop); - } - this.context = this.stack.pop(); - break; - case 6: - var m = e.name; - var params = e.params; - var v = Reflect.field(this.macros,m); - var pl = []; - var old = this.buf; - pl.push($bind(this,this.resolve)); - var _g_head = params.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var p = val; - if(p._hx_index == 0) { - var v1 = p.v; - pl.push(this.resolve(v1)); - } else { - this.buf = new StringBuf(); - this.run(p); - pl.push(this.buf.b); - } - } - this.buf = old; - try { - var _this = this.buf; - var x = Std.string(v.apply(this.macros,pl)); - _this.b += Std.string(x); - } catch( _g ) { - var e = haxe_Exception.caught(_g).unwrap(); - var plstr; - try { - plstr = pl.join(","); - } catch( _g1 ) { - plstr = "???"; - } - var msg = "Macro call " + m + "(" + plstr + ") failed (" + Std.string(e) + ")"; - throw haxe_Exception.thrown(msg); - } - break; - } - } -}; -var haxe_ValueException = function(value,previous,native) { - haxe_Exception.call(this,String(value),previous,native); - this.value = value; -}; -haxe_ValueException.__name__ = true; -haxe_ValueException.__super__ = haxe_Exception; -haxe_ValueException.prototype = $extend(haxe_Exception.prototype,{ - unwrap: function() { - return this.value; - } -}); -var haxe_ds_List = function() { - this.length = 0; -}; -haxe_ds_List.__name__ = true; -haxe_ds_List.prototype = { - add: function(item) { - var x = new haxe_ds__$List_ListNode(item,null); - if(this.h == null) { - this.h = x; - } else { - this.q.next = x; - } - this.q = x; - this.length++; - } - ,push: function(item) { - var x = new haxe_ds__$List_ListNode(item,this.h); - this.h = x; - if(this.q == null) { - this.q = x; - } - this.length++; - } - ,first: function() { - if(this.h == null) { - return null; - } else { - return this.h.item; - } - } - ,pop: function() { - if(this.h == null) { - return null; - } - var x = this.h.item; - this.h = this.h.next; - if(this.h == null) { - this.q = null; - } - this.length--; - return x; - } - ,isEmpty: function() { - return this.h == null; - } - ,toString: function() { - var s_b = ""; - var first = true; - var l = this.h; - s_b += "{"; - while(l != null) { - if(first) { - first = false; - } else { - s_b += ", "; - } - s_b += Std.string(Std.string(l.item)); - l = l.next; - } - s_b += "}"; - return s_b; - } -}; -var haxe_ds__$List_ListNode = function(item,next) { - this.item = item; - this.next = next; -}; -haxe_ds__$List_ListNode.__name__ = true; -var js_Boot = function() { }; -js_Boot.__name__ = true; -js_Boot.__string_rec = function(o,s) { - if(o == null) { - return "null"; - } - if(s.length >= 5) { - return "<...>"; - } - var t = typeof(o); - if(t == "function" && (o.__name__ || o.__ename__)) { - t = "object"; - } - switch(t) { - case "function": - return ""; - case "object": - if(o.__enum__) { - var e = $hxEnums[o.__enum__]; - var con = e.__constructs__[o._hx_index]; - var n = con._hx_name; - if(con.__params__) { - s = s + "\t"; - return n + "(" + ((function($this) { - var $r; - var _g = []; - { - var _g1 = 0; - var _g2 = con.__params__; - while(true) { - if(!(_g1 < _g2.length)) { - break; - } - var p = _g2[_g1]; - _g1 = _g1 + 1; - _g.push(js_Boot.__string_rec(o[p],s)); - } - } - $r = _g; - return $r; - }(this))).join(",") + ")"; - } else { - return n; - } - } - if(((o) instanceof Array)) { - var str = "["; - s += "\t"; - var _g = 0; - var _g1 = o.length; - while(_g < _g1) { - var i = _g++; - str += (i > 0 ? "," : "") + js_Boot.__string_rec(o[i],s); - } - str += "]"; - return str; - } - var tostr; - try { - tostr = o.toString; - } catch( _g ) { - return "???"; - } - if(tostr != null && tostr != Object.toString && typeof(tostr) == "function") { - var s2 = o.toString(); - if(s2 != "[object Object]") { - return s2; - } - } - var str = "{\n"; - s += "\t"; - var hasp = o.hasOwnProperty != null; - var k = null; - for( k in o ) { - if(hasp && !o.hasOwnProperty(k)) { - continue; - } - if(k == "prototype" || k == "__class__" || k == "__super__" || k == "__interfaces__" || k == "__properties__") { - continue; - } - if(str.length != 2) { - str += ", \n"; - } - str += s + k + " : " + js_Boot.__string_rec(o[k],s); - } - s = s.substring(1); - str += "\n" + s + "}"; - return str; - case "string": - return o; - default: - return String(o); - } -}; -var xrfragment_Filter = $hx_exports["xrfragment"]["Filter"] = function(str) { - this.q = { }; - this.str = ""; - if(str != null) { - this.parse(str); - } -}; -xrfragment_Filter.__name__ = true; -xrfragment_Filter.prototype = { - toObject: function() { - return Reflect.copy(this.q); - } - ,get: function() { - return Reflect.copy(this.q); - } - ,parse: function(str) { - var token = str.split(" "); - var q = { }; - var process = function(str,prefix) { - if(prefix == null) { - prefix = ""; - } - str = StringTools.trim(str); - var k = str.split("=")[0]; - var v = str.split("=")[1]; - var filter = { }; - if(q[prefix + k]) { - filter = q[prefix + k]; - } - if(xrfragment_XRF.isProp.match(str)) { - var oper = ""; - if(str.indexOf(">") != -1) { - oper = ">"; - } - if(str.indexOf("<") != -1) { - oper = "<"; - } - if(xrfragment_XRF.isExclude.match(k)) { - k = HxOverrides.substr(k,1,null); - } - v = HxOverrides.substr(v,oper.length,null); - if(oper.length == 0) { - oper = "="; - } - var rule = { }; - if(xrfragment_XRF.isNumber.match(v)) { - rule[oper] = parseFloat(v); - } else { - rule[oper] = v; - } - q["expr"] = rule; - } - var value = xrfragment_XRF.isDeep.match(str) ? k.split("*").length - 1 : 0; - q["deep"] = value; - var value = xrfragment_XRF.isExclude.match(str) ? false : true; - q["show"] = value; - var value = k.replace(xrfragment_XRF.operators.r,""); - q["key"] = value; - q["value"] = v; - }; - var _g = 0; - var _g1 = token.length; - while(_g < _g1) { - var i = _g++; - process(token[i]); - } - return this.q = q; - } - ,test: function(obj) { - var qualify = false; - var _g = 0; - var _g1 = Reflect.fields(obj); - while(_g < _g1.length) { - var k = _g1[_g]; - ++_g; - var v = Std.string(Reflect.field(obj,k)); - if(this.testProperty(k,v)) { - qualify = true; - } - } - var _g = 0; - var _g1 = Reflect.fields(obj); - while(_g < _g1.length) { - var k = _g1[_g]; - ++_g; - var v = Std.string(Reflect.field(obj,k)); - if(this.testProperty(k,v,true)) { - qualify = false; - } - } - return qualify; - } - ,testProperty: function(property,value,exclude) { - var conds = 0; - var fails = 0; - var qualify = 0; - var testprop = function(expr) { - conds += 1; - fails += expr ? 0 : 1; - return expr; - }; - if(this.q[value] != null) { - var v = this.q[value]; - if(v[property] != null) { - return v[property]; - } - } - if(Reflect.field(this.q,"expr")) { - var f = Reflect.field(this.q,"expr"); - if(!Reflect.field(this.q,"show")) { - if(Reflect.field(f,"!=") != null && testprop((value == null ? "null" : "" + value) == Std.string(Reflect.field(f,"!="))) && exclude) { - ++qualify; - } - } else { - if(Reflect.field(f,"*") != null && testprop(parseFloat(value) != null)) { - ++qualify; - } - if(Reflect.field(f,">") != null && testprop(parseFloat(value) >= parseFloat(Reflect.field(f,">")))) { - ++qualify; - } - if(Reflect.field(f,"<") != null && testprop(parseFloat(value) <= parseFloat(Reflect.field(f,"<")))) { - ++qualify; - } - if(Reflect.field(f,"=") != null && (testprop(value == Reflect.field(f,"=")) || testprop(parseFloat(value) == parseFloat(Reflect.field(f,"="))))) { - ++qualify; - } - } - } - return qualify > 0; - } -}; -var xrfragment_Parser = $hx_exports["xrfragment"]["Parser"] = function() { }; -xrfragment_Parser.__name__ = true; -xrfragment_Parser.parse = function(key,value,store,index) { - var Frag_h = Object.create(null); - Frag_h["#"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_PREDEFINED_VIEW | xrfragment_XRF.PV_EXECUTE; - Frag_h["src"] = xrfragment_XRF.T_URL; - Frag_h["href"] = xrfragment_XRF.T_URL | xrfragment_XRF.T_PREDEFINED_VIEW; - Frag_h["tag"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["pos"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_VECTOR3 | xrfragment_XRF.T_STRING | xrfragment_XRF.METADATA | xrfragment_XRF.NAVIGATOR; - Frag_h["rot"] = xrfragment_XRF.QUERY_OPERATOR | xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_VECTOR3 | xrfragment_XRF.METADATA | xrfragment_XRF.NAVIGATOR; - Frag_h["t"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_FLOAT | xrfragment_XRF.T_VECTOR2 | xrfragment_XRF.NAVIGATOR | xrfragment_XRF.METADATA; - Frag_h["s"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_MEDIAFRAG; - Frag_h["loop"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_PREDEFINED_VIEW; - Frag_h["uv"] = xrfragment_XRF.T_VECTOR2 | xrfragment_XRF.T_MEDIAFRAG; - Frag_h["namespace"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["SPDX"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["unit"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["description"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - var keyStripped = key.replace(xrfragment_XRF.operators.r,""); - var isPVDynamic = key.length > 0 && !Object.prototype.hasOwnProperty.call(Frag_h,key); - if(isPVDynamic) { - var v = new xrfragment_XRF(key,xrfragment_XRF.PV_EXECUTE | xrfragment_XRF.NAVIGATOR,index); - v.validate(value); - v.flags = xrfragment_XRF.set(xrfragment_XRF.T_DYNAMICKEY,v.flags); - if(!Object.prototype.hasOwnProperty.call(Frag_h,key)) { - v.flags = xrfragment_XRF.set(xrfragment_XRF.CUSTOMFRAG,v.flags); - } - if(value.length == 0) { - v.flags = xrfragment_XRF.set(xrfragment_XRF.T_DYNAMICKEYVALUE,v.flags); - } - store[keyStripped] = v; - return true; - } - var v = new xrfragment_XRF(key,Frag_h[key],index); - if(Object.prototype.hasOwnProperty.call(Frag_h,key)) { - if(!v.validate(value)) { - console.log("src/xrfragment/Parser.hx:67:","⚠ fragment '" + key + "' has incompatible value (" + value + ")"); - return false; - } - store[keyStripped] = v; - if(xrfragment_Parser.debug) { - console.log("src/xrfragment/Parser.hx:71:","✔ " + key + ": " + v.string); - } - } else { - if(typeof(value) == "string") { - v.guessType(v,value); - } - v.flags = xrfragment_XRF.set(xrfragment_XRF.CUSTOMFRAG,v.flags); - store[keyStripped] = v; - } - return true; -}; -xrfragment_Parser.getMetaData = function() { - var meta = { title : ["title","og:title","dc.title"], description : ["aria-description","og:description","dc.description"], author : ["author","dc.creator"], publisher : ["publisher","dc.publisher"], website : ["og:site_name","og:url","dc.publisher"], license : ["SPDX","dc.rights"]}; - return meta; -}; -var xrfragment_URI = $hx_exports["xrfragment"]["URI"] = function() { - this.XRF = { }; - this.hash = { }; - this.fragment = ""; -}; -xrfragment_URI.__name__ = true; -xrfragment_URI.parseFragment = function(url,filter) { - var store = { }; - if(url == null || url.indexOf("#") == -1) { - return store; - } - var fragment = url.split("#"); - var splitArray = fragment[1].split("&"); - var _g = 0; - var _g1 = splitArray.length; - while(_g < _g1) { - var i = _g++; - var splitByEqual = splitArray[i].split("="); - var regexPlus = new EReg("\\+","g"); - var key = splitByEqual[0]; - var value = ""; - if(splitByEqual.length > 1) { - if(xrfragment_XRF.isVector.match(splitByEqual[1])) { - value = splitByEqual[1]; - } else { - var s = regexPlus.split(splitByEqual[1]).join(" "); - value = decodeURIComponent(s.split("+").join(" ")); - } - } - var ok = xrfragment_Parser.parse(key,value,store,i); - } - if(filter != null && filter != 0) { - var _g = 0; - var _g1 = Reflect.fields(store); - while(_g < _g1.length) { - var key = _g1[_g]; - ++_g; - var xrf = store[key]; - if(!xrf.is(filter)) { - Reflect.deleteField(store,key); - } - } - } - return store; -}; -xrfragment_URI.template = function(uri,vars) { - var parts = uri.split("#"); - if(parts.length == 1) { - return uri; - } - var frag = parts[1]; - frag = StringTools.replace(frag,"{","::"); - frag = StringTools.replace(frag,"}","::"); - frag = new haxe_Template(frag).execute(vars); - frag = StringTools.replace(frag,"null",""); - parts[1] = frag; - return parts.join("#"); -}; -xrfragment_URI.parse = function(stringUrl,flags) { - var r = new EReg("^(?:(?![^:@]+:[^:@/]*@)([^:/?#.]+):)?(?://)?((?:(([^:@]*)(?::([^:@]*))?)?@)?([^:/?#]*)(?::(\\d*))?)(((/(?:[^?#](?![^?#/]*\\.[^?#/.]+(?:[?#]|$)))*/?)?([^?#/]*))(?:\\?([^#]*))?(?:#(.*))?)",""); - if(stringUrl.indexOf("://") == -1 && stringUrl.charAt(0) != "/") { - stringUrl = "/" + stringUrl; - } - r.match(stringUrl); - var url = new xrfragment_URI(); - var _g = 0; - var _g1 = xrfragment_URI._parts.length; - while(_g < _g1) { - var i = _g++; - url[xrfragment_URI._parts[i]] = r.matched(i); - } - if(xrfragment_URI.isRelative(url) == true) { - if(url.directory == null && url.host != null) { - url.file = url.host; - } - url.host = ""; - } - url.hash = { }; - if(url.fragment != null && url.fragment.length > 0) { - url.XRF = xrfragment_URI.parseFragment("#" + url.fragment,flags); - var key; - var _g = 0; - var _g1 = Reflect.fields(url.XRF); - while(_g < _g1.length) { - var key = _g1[_g]; - ++_g; - var v = url.XRF[key]; - url.hash[key] = v["string"]; - } - } - xrfragment_URI.computeVars(url); - return url; -}; -xrfragment_URI.computeVars = function(url) { - var r_r = new RegExp("//","g".split("u").join("")); - if(url.directory != null && url.directory.indexOf("//") != -1) { - url.directory = url.directory.replace(r_r,"/"); - } - if(url.path != null && url.path.indexOf("//") != -1) { - url.path = url.path.replace(r_r,"/"); - } - if(url.file != null && url.file.indexOf("//") != -1) { - url.file = url.file.replace(r_r,"/"); - } - url.URN = url.scheme + "://" + url.host; - if(url.port != null) { - url.URN += ":" + url.port; - } - url.URN += url.directory; - if(url.file != null) { - var parts = url.file.split("."); - if(parts.length > 1) { - url.fileExt = parts.pop(); - } - } -}; -xrfragment_URI.toString = function(url) { - var result = ""; - if(url.scheme != null) { - result += url.scheme + "://"; - } - if(url.user != null) { - result += url.user + ":"; - } - if(url.password != null) { - result += url.password + "@"; - } - if(url.host != null) { - result += url.host; - } - if(url.port != null) { - result += ":" + url.port; - } - if(url.directory != null) { - result += url.directory; - } - if(url.file != null) { - result += url.file; - } - if(url.query != null) { - result += "?" + url.query; - } - if(url.fragment != null) { - result += "#" + url.fragment; - } - return result; -}; -xrfragment_URI.appendURI = function(url,appendedURI) { - if(xrfragment_URI.isRelative(url) == true) { - return xrfragment_URI.appendToRelativeURI(url,appendedURI); - } else { - return xrfragment_URI.appendToAbsoluteURI(url,appendedURI); - } -}; -xrfragment_URI.isRelative = function(url) { - return url.scheme == null; -}; -xrfragment_URI.appendToRelativeURI = function(url,appendedURI) { - if(url.directory == null || url.host == null) { - return xrfragment_URI.cloneURI(appendedURI); - } - var resultURI = new xrfragment_URI(); - resultURI.host = url.host; - resultURI.directory = url.directory; - if(appendedURI.host != null) { - resultURI.directory += appendedURI.host; - } - if(appendedURI.directory != null) { - var directory = appendedURI.directory; - if(appendedURI.host == null) { - resultURI.directory += HxOverrides.substr(directory,1,null); - } else { - resultURI.directory += directory; - } - } - if(appendedURI.file != null) { - resultURI.file = appendedURI.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(appendedURI.query != null) { - resultURI.query = appendedURI.query; - } - if(appendedURI.fragment != null) { - resultURI.fragment = appendedURI.fragment; - } - return resultURI; -}; -xrfragment_URI.appendToAbsoluteURI = function(url,appendedURI) { - var resultURI = new xrfragment_URI(); - if(url.scheme != null) { - resultURI.scheme = url.scheme; - } - if(url.host != null) { - resultURI.host = url.host; - } - var directory = ""; - if(url.directory != null) { - directory = url.directory; - } - if(appendedURI.host != null) { - appendedURI.directory += appendedURI.host; - } - if(appendedURI.directory != null) { - directory += appendedURI.directory; - } - resultURI.directory = directory; - if(appendedURI.file != null) { - resultURI.file = appendedURI.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(appendedURI.query != null) { - resultURI.query = appendedURI.query; - } - if(appendedURI.fragment != null) { - resultURI.fragment = appendedURI.fragment; - } - return resultURI; -}; -xrfragment_URI.toAbsolute = function(url,newUrl) { - var newURI = xrfragment_URI.parse(newUrl,0); - var resultURI = new xrfragment_URI(); - resultURI.port = url.port; - resultURI.source = newUrl; - if(newURI.scheme != null) { - resultURI.scheme = newURI.scheme; - } else { - resultURI.scheme = url.scheme; - } - if(newURI.host != null && newURI.host.length > 0) { - resultURI.host = newURI.host; - resultURI.port = null; - resultURI.fragment = null; - resultURI.hash = { }; - resultURI.XRF = { }; - if(newURI.port != null) { - resultURI.port = newURI.port; - } - } else { - resultURI.host = url.host; - } - var directory = ""; - if(url.directory != null) { - directory = url.directory; - } - if(newURI.directory != null) { - if(newUrl.charAt(0) != "/" && newUrl.indexOf("://") == -1) { - var stripRelative_r = new RegExp("\\./.*","".split("u").join("")); - directory = directory.replace(stripRelative_r,""); - directory += newURI.directory; - } else { - directory = newURI.directory; - } - } - resultURI.directory = directory; - if(newURI.file != null) { - resultURI.file = newURI.file; - } else { - resultURI.file = url.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(newURI.query != null) { - resultURI.query = newURI.query; - } - if(newURI.fragment != null) { - resultURI.fragment = newURI.fragment; - } - resultURI.hash = newURI.hash; - resultURI.XRF = newURI.XRF; - xrfragment_URI.computeVars(resultURI); - return resultURI; -}; -xrfragment_URI.cloneURI = function(url) { - var clonedURI = new xrfragment_URI(); - clonedURI.url = url.url; - clonedURI.source = url.source; - clonedURI.scheme = url.scheme; - clonedURI.authority = url.authority; - clonedURI.userInfo = url.userInfo; - clonedURI.password = url.password; - clonedURI.host = url.host; - clonedURI.port = url.port; - clonedURI.relative = url.relative; - clonedURI.path = url.path; - clonedURI.directory = url.directory; - clonedURI.file = url.file; - clonedURI.query = url.query; - clonedURI.fragment = url.fragment; - return clonedURI; -}; -var xrfragment_XRF = $hx_exports["xrfragment"]["XRF"] = function(_fragment,_flags,_index) { - this.floats = []; - this.shift = []; - this.fragment = _fragment; - this.flags = _flags; - this.index = _index; -}; -xrfragment_XRF.__name__ = true; -xrfragment_XRF.set = function(flag,flags) { - return flags | flag; -}; -xrfragment_XRF.unset = function(flag,flags) { - return flags & ~flag; -}; -xrfragment_XRF.prototype = { - is: function(flag) { - var v = this.flags; - if(!(typeof(v) == "number" && ((v | 0) === v))) { - this.flags = 0; - } - return (this.flags & flag) != 0; - } - ,validate: function(value) { - this.guessType(this,value); - var ok = true; - if(value.length == 0 && !this.is(xrfragment_XRF.T_PREDEFINED_VIEW)) { - ok = false; - } - if(!this.is(xrfragment_XRF.T_FLOAT) && this.is(xrfragment_XRF.T_VECTOR2) && !(typeof(this.x) == "number" && typeof(this.y) == "number")) { - ok = false; - } - if(!(this.is(xrfragment_XRF.T_VECTOR2) || this.is(xrfragment_XRF.T_STRING)) && this.is(xrfragment_XRF.T_VECTOR3) && !(typeof(this.x) == "number" && typeof(this.y) == "number" && typeof(this.z) == "number")) { - ok = false; - } - return ok; - } - ,guessType: function(v,str) { - v.string = str; - if(xrfragment_XRF.isReset.match(v.fragment)) { - v.reset = true; - } - if(v.fragment == "loop") { - v.loop = true; - } - if(typeof(str) != "string") { - return; - } - if(str.length > 0) { - if(xrfragment_XRF.isXRFScheme.match(str)) { - v.xrfScheme = true; - str = str.replace(xrfragment_XRF.isXRFScheme.r,""); - v.string = str; - } - if(str.split(",").length > 1) { - var xyzn = str.split(","); - if(xyzn.length > 0) { - v.x = parseFloat(xyzn[0]); - } - if(xyzn.length > 1) { - v.y = parseFloat(xyzn[1]); - } - if(xyzn.length > 2) { - v.z = parseFloat(xyzn[2]); - } - var _g = 0; - var _g1 = xyzn.length; - while(_g < _g1) { - var i = _g++; - v.shift.push(xrfragment_XRF.isShift.match(xyzn[i])); - v.floats.push(parseFloat(xyzn[i].replace(xrfragment_XRF.isShift.r,""))); - } - } - if(xrfragment_XRF.isColor.match(str)) { - v.color = str; - } - if(xrfragment_XRF.isFloat.match(str)) { - v.x = parseFloat(str); - v.float = v.x; - } - if(xrfragment_XRF.isInt.match(str)) { - v.int = Std.parseInt(str); - v.x = v.int; - v.floats.push(v.x); - } - v.filter = new xrfragment_Filter(v.fragment + "=" + v.string); - } else { - v.filter = new xrfragment_Filter(v.fragment); - } - } -}; -function $getIterator(o) { if( o instanceof Array ) return new haxe_iterators_ArrayIterator(o); else return o.iterator(); } -function $bind(o,m) { if( m == null ) return null; if( m.__id__ == null ) m.__id__ = $global.$haxeUID++; var f; if( o.hx__closures__ == null ) o.hx__closures__ = {}; else f = o.hx__closures__[m.__id__]; if( f == null ) { f = m.bind(o); o.hx__closures__[m.__id__] = f; } return f; } -$global.$haxeUID |= 0; -if(typeof(performance) != "undefined" ? typeof(performance.now) == "function" : false) { - HxOverrides.now = performance.now.bind(performance); -} -if( String.fromCodePoint == null ) String.fromCodePoint = function(c) { return c < 0x10000 ? String.fromCharCode(c) : String.fromCharCode((c>>10)+0xD7C0)+String.fromCharCode((c&0x3FF)+0xDC00); } -String.__name__ = true; -Array.__name__ = true; -js_Boot.__toStr = ({ }).toString; -haxe_Template.splitter = new EReg("(::[A-Za-z0-9_ ()&|!+=/><*.\"-]+::|\\$\\$([A-Za-z0-9_-]+)\\()",""); -haxe_Template.expr_splitter = new EReg("(\\(|\\)|[ \r\n\t]*\"[^\"]*\"[ \r\n\t]*|[!+=/><*.&|-]+)",""); -haxe_Template.expr_trim = new EReg("^[ ]*([^ ]+)[ ]*$",""); -haxe_Template.expr_int = new EReg("^[0-9]+$",""); -haxe_Template.expr_float = new EReg("^([+-]?)(?=\\d|,\\d)\\d*(,\\d*)?([Ee]([+-]?\\d+))?$",""); -haxe_Template.globals = { }; -haxe_Template.hxKeepArrayIterator = new haxe_iterators_ArrayIterator([]); -xrfragment_Parser.error = ""; -xrfragment_Parser.debug = false; -xrfragment_URI.__meta__ = { statics : { template : { keep : null}}}; -xrfragment_URI._parts = ["source","scheme","authority","userInfo","user","password","host","port","relative","path","directory","file","query","fragment"]; -xrfragment_XRF.IMMUTABLE = 1; -xrfragment_XRF.PROP_BIND = 2; -xrfragment_XRF.QUERY_OPERATOR = 4; -xrfragment_XRF.PROMPT = 8; -xrfragment_XRF.CUSTOMFRAG = 16; -xrfragment_XRF.NAVIGATOR = 32; -xrfragment_XRF.METADATA = 64; -xrfragment_XRF.PV_OVERRIDE = 128; -xrfragment_XRF.PV_EXECUTE = 256; -xrfragment_XRF.T_COLOR = 8192; -xrfragment_XRF.T_INT = 16384; -xrfragment_XRF.T_FLOAT = 32768; -xrfragment_XRF.T_VECTOR2 = 65536; -xrfragment_XRF.T_VECTOR3 = 131072; -xrfragment_XRF.T_URL = 262144; -xrfragment_XRF.T_PREDEFINED_VIEW = 524288; -xrfragment_XRF.T_STRING = 1048576; -xrfragment_XRF.T_MEDIAFRAG = 2097152; -xrfragment_XRF.T_DYNAMICKEY = 4194304; -xrfragment_XRF.T_DYNAMICKEYVALUE = 8388608; -xrfragment_XRF.isColor = new EReg("^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$",""); -xrfragment_XRF.isInt = new EReg("^[-0-9]+$",""); -xrfragment_XRF.isFloat = new EReg("^[-0-9]+\\.[0-9]+$",""); -xrfragment_XRF.isVector = new EReg("([,]+|\\w)",""); -xrfragment_XRF.isUrl = new EReg("(://)?\\..*",""); -xrfragment_XRF.isUrlOrPretypedView = new EReg("(^#|://)?\\..*",""); -xrfragment_XRF.isString = new EReg(".*",""); -xrfragment_XRF.operators = new EReg("(^[-]|^[!]|[\\*]$)","g"); -xrfragment_XRF.isProp = new EReg("^.*=[><=]?",""); -xrfragment_XRF.isExclude = new EReg("^-",""); -xrfragment_XRF.isDeep = new EReg("\\*",""); -xrfragment_XRF.isNumber = new EReg("^[0-9\\.]+$",""); -xrfragment_XRF.isMediaFrag = new EReg("^([0-9\\.,\\*+-]+)$",""); -xrfragment_XRF.isReset = new EReg("^!",""); -xrfragment_XRF.isShift = new EReg("^(\\+|--)",""); -xrfragment_XRF.isXRFScheme = new EReg("^xrf://",""); -})(typeof window != "undefined" ? window : typeof global != "undefined" ? global : typeof self != "undefined" ? self : this); -var xrfragment = $hx_exports["xrfragment"]; -export default xrfragment; -// Generated by Haxe 4.3.3 -var $hx_exports = typeof exports != "undefined" ? exports : typeof window != "undefined" ? window : typeof self != "undefined" ? self : this; -(function ($global) { "use strict"; -$hx_exports["xrfragment"] = $hx_exports["xrfragment"] || {}; -var $estr = function() { return js_Boot.__string_rec(this,''); },$hxEnums = $hxEnums || {},$_; -function $extend(from, fields) { - var proto = Object.create(from); - for (var name in fields) proto[name] = fields[name]; - if( fields.toString !== Object.prototype.toString ) proto.toString = fields.toString; - return proto; -} -var EReg = function(r,opt) { - this.r = new RegExp(r,opt.split("u").join("")); -}; -EReg.__name__ = true; -EReg.prototype = { - match: function(s) { - if(this.r.global) { - this.r.lastIndex = 0; - } - this.r.m = this.r.exec(s); - this.r.s = s; - return this.r.m != null; - } - ,matched: function(n) { - if(this.r.m != null && n >= 0 && n < this.r.m.length) { - return this.r.m[n]; - } else { - throw haxe_Exception.thrown("EReg::matched"); - } - } - ,matchedRight: function() { - if(this.r.m == null) { - throw haxe_Exception.thrown("No string matched"); - } - var sz = this.r.m.index + this.r.m[0].length; - return HxOverrides.substr(this.r.s,sz,this.r.s.length - sz); - } - ,matchedPos: function() { - if(this.r.m == null) { - throw haxe_Exception.thrown("No string matched"); - } - return { pos : this.r.m.index, len : this.r.m[0].length}; - } - ,split: function(s) { - var d = "#__delim__#"; - return s.replace(this.r,d).split(d); - } -}; -var HxOverrides = function() { }; -HxOverrides.__name__ = true; -HxOverrides.cca = function(s,index) { - var x = s.charCodeAt(index); - if(x != x) { - return undefined; - } - return x; -}; -HxOverrides.substr = function(s,pos,len) { - if(len == null) { - len = s.length; - } else if(len < 0) { - if(pos == 0) { - len = s.length + len; - } else { - return ""; - } - } - return s.substr(pos,len); -}; -HxOverrides.now = function() { - return Date.now(); -}; -Math.__name__ = true; -var Reflect = function() { }; -Reflect.__name__ = true; -Reflect.field = function(o,field) { - try { - return o[field]; - } catch( _g ) { - return null; - } -}; -Reflect.getProperty = function(o,field) { - var tmp; - if(o == null) { - return null; - } else { - var tmp1; - if(o.__properties__) { - tmp = o.__properties__["get_" + field]; - tmp1 = tmp; - } else { - tmp1 = false; - } - if(tmp1) { - return o[tmp](); - } else { - return o[field]; - } - } -}; -Reflect.fields = function(o) { - var a = []; - if(o != null) { - var hasOwnProperty = Object.prototype.hasOwnProperty; - for( var f in o ) { - if(f != "__id__" && f != "hx__closures__" && hasOwnProperty.call(o,f)) { - a.push(f); - } - } - } - return a; -}; -Reflect.isObject = function(v) { - if(v == null) { - return false; - } - var t = typeof(v); - if(!(t == "string" || t == "object" && v.__enum__ == null)) { - if(t == "function") { - return (v.__name__ || v.__ename__) != null; - } else { - return false; - } - } else { - return true; - } -}; -Reflect.deleteField = function(o,field) { - if(!Object.prototype.hasOwnProperty.call(o,field)) { - return false; - } - delete(o[field]); - return true; -}; -Reflect.copy = function(o) { - if(o == null) { - return null; - } - var o2 = { }; - var _g = 0; - var _g1 = Reflect.fields(o); - while(_g < _g1.length) { - var f = _g1[_g]; - ++_g; - o2[f] = Reflect.field(o,f); - } - return o2; -}; -var Std = function() { }; -Std.__name__ = true; -Std.string = function(s) { - return js_Boot.__string_rec(s,""); -}; -Std.parseInt = function(x) { - var v = parseInt(x); - if(isNaN(v)) { - return null; - } - return v; -}; -var StringBuf = function() { - this.b = ""; -}; -StringBuf.__name__ = true; -var StringTools = function() { }; -StringTools.__name__ = true; -StringTools.isSpace = function(s,pos) { - var c = HxOverrides.cca(s,pos); - if(!(c > 8 && c < 14)) { - return c == 32; - } else { - return true; - } -}; -StringTools.ltrim = function(s) { - var l = s.length; - var r = 0; - while(r < l && StringTools.isSpace(s,r)) ++r; - if(r > 0) { - return HxOverrides.substr(s,r,l - r); - } else { - return s; - } -}; -StringTools.rtrim = function(s) { - var l = s.length; - var r = 0; - while(r < l && StringTools.isSpace(s,l - r - 1)) ++r; - if(r > 0) { - return HxOverrides.substr(s,0,l - r); - } else { - return s; - } -}; -StringTools.trim = function(s) { - return StringTools.ltrim(StringTools.rtrim(s)); -}; -StringTools.replace = function(s,sub,by) { - return s.split(sub).join(by); -}; -var haxe_Exception = function(message,previous,native) { - Error.call(this,message); - this.message = message; - this.__previousException = previous; - this.__nativeException = native != null ? native : this; -}; -haxe_Exception.__name__ = true; -haxe_Exception.caught = function(value) { - if(((value) instanceof haxe_Exception)) { - return value; - } else if(((value) instanceof Error)) { - return new haxe_Exception(value.message,null,value); - } else { - return new haxe_ValueException(value,null,value); - } -}; -haxe_Exception.thrown = function(value) { - if(((value) instanceof haxe_Exception)) { - return value.get_native(); - } else if(((value) instanceof Error)) { - return value; - } else { - var e = new haxe_ValueException(value); - return e; - } -}; -haxe_Exception.__super__ = Error; -haxe_Exception.prototype = $extend(Error.prototype,{ - unwrap: function() { - return this.__nativeException; - } - ,get_native: function() { - return this.__nativeException; - } - ,__properties__: {get_native:"get_native"} -}); -var haxe__$Template_TemplateExpr = $hxEnums["haxe._Template.TemplateExpr"] = { __ename__:true,__constructs__:null - ,OpVar: ($_=function(v) { return {_hx_index:0,v:v,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpVar",$_.__params__ = ["v"],$_) - ,OpExpr: ($_=function(expr) { return {_hx_index:1,expr:expr,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpExpr",$_.__params__ = ["expr"],$_) - ,OpIf: ($_=function(expr,eif,eelse) { return {_hx_index:2,expr:expr,eif:eif,eelse:eelse,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpIf",$_.__params__ = ["expr","eif","eelse"],$_) - ,OpStr: ($_=function(str) { return {_hx_index:3,str:str,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpStr",$_.__params__ = ["str"],$_) - ,OpBlock: ($_=function(l) { return {_hx_index:4,l:l,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpBlock",$_.__params__ = ["l"],$_) - ,OpForeach: ($_=function(expr,loop) { return {_hx_index:5,expr:expr,loop:loop,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpForeach",$_.__params__ = ["expr","loop"],$_) - ,OpMacro: ($_=function(name,params) { return {_hx_index:6,name:name,params:params,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpMacro",$_.__params__ = ["name","params"],$_) -}; -haxe__$Template_TemplateExpr.__constructs__ = [haxe__$Template_TemplateExpr.OpVar,haxe__$Template_TemplateExpr.OpExpr,haxe__$Template_TemplateExpr.OpIf,haxe__$Template_TemplateExpr.OpStr,haxe__$Template_TemplateExpr.OpBlock,haxe__$Template_TemplateExpr.OpForeach,haxe__$Template_TemplateExpr.OpMacro]; -var haxe_iterators_ArrayIterator = function(array) { - this.current = 0; - this.array = array; -}; -haxe_iterators_ArrayIterator.__name__ = true; -haxe_iterators_ArrayIterator.prototype = { - hasNext: function() { - return this.current < this.array.length; - } - ,next: function() { - return this.array[this.current++]; - } -}; -var haxe_Template = function(str) { - var tokens = this.parseTokens(str); - this.expr = this.parseBlock(tokens); - if(!tokens.isEmpty()) { - throw haxe_Exception.thrown("Unexpected '" + Std.string(tokens.first().s) + "'"); - } -}; -haxe_Template.__name__ = true; -haxe_Template.prototype = { - execute: function(context,macros) { - this.macros = macros == null ? { } : macros; - this.context = context; - this.stack = new haxe_ds_List(); - this.buf = new StringBuf(); - this.run(this.expr); - return this.buf.b; - } - ,resolve: function(v) { - if(v == "__current__") { - return this.context; - } - if(Reflect.isObject(this.context)) { - var value = Reflect.getProperty(this.context,v); - if(value != null || Object.prototype.hasOwnProperty.call(this.context,v)) { - return value; - } - } - var _g_head = this.stack.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var ctx = val; - var value = Reflect.getProperty(ctx,v); - if(value != null || Object.prototype.hasOwnProperty.call(ctx,v)) { - return value; - } - } - return Reflect.field(haxe_Template.globals,v); - } - ,parseTokens: function(data) { - var tokens = new haxe_ds_List(); - while(haxe_Template.splitter.match(data)) { - var p = haxe_Template.splitter.matchedPos(); - if(p.pos > 0) { - tokens.add({ p : HxOverrides.substr(data,0,p.pos), s : true, l : null}); - } - if(HxOverrides.cca(data,p.pos) == 58) { - tokens.add({ p : HxOverrides.substr(data,p.pos + 2,p.len - 4), s : false, l : null}); - data = haxe_Template.splitter.matchedRight(); - continue; - } - var parp = p.pos + p.len; - var npar = 1; - var params = []; - var part = ""; - while(true) { - var c = HxOverrides.cca(data,parp); - ++parp; - if(c == 40) { - ++npar; - } else if(c == 41) { - --npar; - if(npar <= 0) { - break; - } - } else if(c == null) { - throw haxe_Exception.thrown("Unclosed macro parenthesis"); - } - if(c == 44 && npar == 1) { - params.push(part); - part = ""; - } else { - part += String.fromCodePoint(c); - } - } - params.push(part); - tokens.add({ p : haxe_Template.splitter.matched(2), s : false, l : params}); - data = HxOverrides.substr(data,parp,data.length - parp); - } - if(data.length > 0) { - tokens.add({ p : data, s : true, l : null}); - } - return tokens; - } - ,parseBlock: function(tokens) { - var l = new haxe_ds_List(); - while(true) { - var t = tokens.first(); - if(t == null) { - break; - } - if(!t.s && (t.p == "end" || t.p == "else" || HxOverrides.substr(t.p,0,7) == "elseif ")) { - break; - } - l.add(this.parse(tokens)); - } - if(l.length == 1) { - return l.first(); - } - return haxe__$Template_TemplateExpr.OpBlock(l); - } - ,parse: function(tokens) { - var t = tokens.pop(); - var p = t.p; - if(t.s) { - return haxe__$Template_TemplateExpr.OpStr(p); - } - if(t.l != null) { - var pe = new haxe_ds_List(); - var _g = 0; - var _g1 = t.l; - while(_g < _g1.length) { - var p1 = _g1[_g]; - ++_g; - pe.add(this.parseBlock(this.parseTokens(p1))); - } - return haxe__$Template_TemplateExpr.OpMacro(p,pe); - } - var kwdEnd = function(kwd) { - var pos = -1; - var length = kwd.length; - if(HxOverrides.substr(p,0,length) == kwd) { - pos = length; - var _g_offset = 0; - var _g_s = HxOverrides.substr(p,length,null); - while(_g_offset < _g_s.length) { - var c = _g_s.charCodeAt(_g_offset++); - if(c == 32) { - ++pos; - } else { - break; - } - } - } - return pos; - }; - var pos = kwdEnd("if"); - if(pos > 0) { - p = HxOverrides.substr(p,pos,p.length - pos); - var e = this.parseExpr(p); - var eif = this.parseBlock(tokens); - var t = tokens.first(); - var eelse; - if(t == null) { - throw haxe_Exception.thrown("Unclosed 'if'"); - } - if(t.p == "end") { - tokens.pop(); - eelse = null; - } else if(t.p == "else") { - tokens.pop(); - eelse = this.parseBlock(tokens); - t = tokens.pop(); - if(t == null || t.p != "end") { - throw haxe_Exception.thrown("Unclosed 'else'"); - } - } else { - t.p = HxOverrides.substr(t.p,4,t.p.length - 4); - eelse = this.parse(tokens); - } - return haxe__$Template_TemplateExpr.OpIf(e,eif,eelse); - } - var pos = kwdEnd("foreach"); - if(pos >= 0) { - p = HxOverrides.substr(p,pos,p.length - pos); - var e = this.parseExpr(p); - var efor = this.parseBlock(tokens); - var t = tokens.pop(); - if(t == null || t.p != "end") { - throw haxe_Exception.thrown("Unclosed 'foreach'"); - } - return haxe__$Template_TemplateExpr.OpForeach(e,efor); - } - if(haxe_Template.expr_splitter.match(p)) { - return haxe__$Template_TemplateExpr.OpExpr(this.parseExpr(p)); - } - return haxe__$Template_TemplateExpr.OpVar(p); - } - ,parseExpr: function(data) { - var l = new haxe_ds_List(); - var expr = data; - while(haxe_Template.expr_splitter.match(data)) { - var p = haxe_Template.expr_splitter.matchedPos(); - var k = p.pos + p.len; - if(p.pos != 0) { - l.add({ p : HxOverrides.substr(data,0,p.pos), s : true}); - } - var p1 = haxe_Template.expr_splitter.matched(0); - l.add({ p : p1, s : p1.indexOf("\"") >= 0}); - data = haxe_Template.expr_splitter.matchedRight(); - } - if(data.length != 0) { - var _g_offset = 0; - var _g_s = data; - while(_g_offset < _g_s.length) { - var _g_key = _g_offset; - var _g_value = _g_s.charCodeAt(_g_offset++); - var i = _g_key; - var c = _g_value; - if(c != 32) { - l.add({ p : HxOverrides.substr(data,i,null), s : true}); - break; - } - } - } - var e; - try { - e = this.makeExpr(l); - if(!l.isEmpty()) { - throw haxe_Exception.thrown(l.first().p); - } - } catch( _g ) { - var _g1 = haxe_Exception.caught(_g).unwrap(); - if(typeof(_g1) == "string") { - var s = _g1; - throw haxe_Exception.thrown("Unexpected '" + s + "' in " + expr); - } else { - throw _g; - } - } - return function() { - try { - return e(); - } catch( _g ) { - var exc = haxe_Exception.caught(_g).unwrap(); - throw haxe_Exception.thrown("Error : " + Std.string(exc) + " in " + expr); - } - }; - } - ,makeConst: function(v) { - haxe_Template.expr_trim.match(v); - v = haxe_Template.expr_trim.matched(1); - if(HxOverrides.cca(v,0) == 34) { - var str = HxOverrides.substr(v,1,v.length - 2); - return function() { - return str; - }; - } - if(haxe_Template.expr_int.match(v)) { - var i = Std.parseInt(v); - return function() { - return i; - }; - } - if(haxe_Template.expr_float.match(v)) { - var f = parseFloat(v); - return function() { - return f; - }; - } - var me = this; - return function() { - return me.resolve(v); - }; - } - ,makePath: function(e,l) { - var p = l.first(); - if(p == null || p.p != ".") { - return e; - } - l.pop(); - var field = l.pop(); - if(field == null || !field.s) { - throw haxe_Exception.thrown(field.p); - } - var f = field.p; - haxe_Template.expr_trim.match(f); - f = haxe_Template.expr_trim.matched(1); - return this.makePath(function() { - return Reflect.field(e(),f); - },l); - } - ,makeExpr: function(l) { - return this.makePath(this.makeExpr2(l),l); - } - ,skipSpaces: function(l) { - var p = l.first(); - while(p != null) { - var _g_offset = 0; - var _g_s = p.p; - while(_g_offset < _g_s.length) { - var c = _g_s.charCodeAt(_g_offset++); - if(c != 32) { - return; - } - } - l.pop(); - p = l.first(); - } - } - ,makeExpr2: function(l) { - this.skipSpaces(l); - var p = l.pop(); - this.skipSpaces(l); - if(p == null) { - throw haxe_Exception.thrown(""); - } - if(p.s) { - return this.makeConst(p.p); - } - switch(p.p) { - case "!": - var e = this.makeExpr(l); - return function() { - var v = e(); - if(v != null) { - return v == false; - } else { - return true; - } - }; - case "(": - this.skipSpaces(l); - var e1 = this.makeExpr(l); - this.skipSpaces(l); - var p1 = l.pop(); - if(p1 == null || p1.s) { - throw haxe_Exception.thrown(p1); - } - if(p1.p == ")") { - return e1; - } - this.skipSpaces(l); - var e2 = this.makeExpr(l); - this.skipSpaces(l); - var p2 = l.pop(); - this.skipSpaces(l); - if(p2 == null || p2.p != ")") { - throw haxe_Exception.thrown(p2); - } - switch(p1.p) { - case "!=": - return function() { - return e1() != e2(); - }; - case "&&": - return function() { - return e1() && e2(); - }; - case "*": - return function() { - return e1() * e2(); - }; - case "+": - return function() { - return e1() + e2(); - }; - case "-": - return function() { - return e1() - e2(); - }; - case "/": - return function() { - return e1() / e2(); - }; - case "<": - return function() { - return e1() < e2(); - }; - case "<=": - return function() { - return e1() <= e2(); - }; - case "==": - return function() { - return e1() == e2(); - }; - case ">": - return function() { - return e1() > e2(); - }; - case ">=": - return function() { - return e1() >= e2(); - }; - case "||": - return function() { - return e1() || e2(); - }; - default: - throw haxe_Exception.thrown("Unknown operation " + p1.p); - } - break; - case "-": - var e3 = this.makeExpr(l); - return function() { - return -e3(); - }; - } - throw haxe_Exception.thrown(p.p); - } - ,run: function(e) { - switch(e._hx_index) { - case 0: - var v = e.v; - var _this = this.buf; - var x = Std.string(this.resolve(v)); - _this.b += Std.string(x); - break; - case 1: - var e1 = e.expr; - var _this = this.buf; - var x = Std.string(e1()); - _this.b += Std.string(x); - break; - case 2: - var e1 = e.expr; - var eif = e.eif; - var eelse = e.eelse; - var v = e1(); - if(v == null || v == false) { - if(eelse != null) { - this.run(eelse); - } - } else { - this.run(eif); - } - break; - case 3: - var str = e.str; - this.buf.b += str == null ? "null" : "" + str; - break; - case 4: - var l = e.l; - var _g_head = l.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var e1 = val; - this.run(e1); - } - break; - case 5: - var e1 = e.expr; - var loop = e.loop; - var v = e1(); - try { - var x = $getIterator(v); - if(x.hasNext == null) { - throw haxe_Exception.thrown(null); - } - v = x; - } catch( _g ) { - try { - if(v.hasNext == null) { - throw haxe_Exception.thrown(null); - } - } catch( _g1 ) { - throw haxe_Exception.thrown("Cannot iter on " + Std.string(v)); - } - } - this.stack.push(this.context); - var v1 = v; - var ctx = v1; - while(ctx.hasNext()) { - var ctx1 = ctx.next(); - this.context = ctx1; - this.run(loop); - } - this.context = this.stack.pop(); - break; - case 6: - var m = e.name; - var params = e.params; - var v = Reflect.field(this.macros,m); - var pl = []; - var old = this.buf; - pl.push($bind(this,this.resolve)); - var _g_head = params.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var p = val; - if(p._hx_index == 0) { - var v1 = p.v; - pl.push(this.resolve(v1)); - } else { - this.buf = new StringBuf(); - this.run(p); - pl.push(this.buf.b); - } - } - this.buf = old; - try { - var _this = this.buf; - var x = Std.string(v.apply(this.macros,pl)); - _this.b += Std.string(x); - } catch( _g ) { - var e = haxe_Exception.caught(_g).unwrap(); - var plstr; - try { - plstr = pl.join(","); - } catch( _g1 ) { - plstr = "???"; - } - var msg = "Macro call " + m + "(" + plstr + ") failed (" + Std.string(e) + ")"; - throw haxe_Exception.thrown(msg); - } - break; - } - } -}; -var haxe_ValueException = function(value,previous,native) { - haxe_Exception.call(this,String(value),previous,native); - this.value = value; -}; -haxe_ValueException.__name__ = true; -haxe_ValueException.__super__ = haxe_Exception; -haxe_ValueException.prototype = $extend(haxe_Exception.prototype,{ - unwrap: function() { - return this.value; - } -}); -var haxe_ds_List = function() { - this.length = 0; -}; -haxe_ds_List.__name__ = true; -haxe_ds_List.prototype = { - add: function(item) { - var x = new haxe_ds__$List_ListNode(item,null); - if(this.h == null) { - this.h = x; - } else { - this.q.next = x; - } - this.q = x; - this.length++; - } - ,push: function(item) { - var x = new haxe_ds__$List_ListNode(item,this.h); - this.h = x; - if(this.q == null) { - this.q = x; - } - this.length++; - } - ,first: function() { - if(this.h == null) { - return null; - } else { - return this.h.item; - } - } - ,pop: function() { - if(this.h == null) { - return null; - } - var x = this.h.item; - this.h = this.h.next; - if(this.h == null) { - this.q = null; - } - this.length--; - return x; - } - ,isEmpty: function() { - return this.h == null; - } - ,toString: function() { - var s_b = ""; - var first = true; - var l = this.h; - s_b += "{"; - while(l != null) { - if(first) { - first = false; - } else { - s_b += ", "; - } - s_b += Std.string(Std.string(l.item)); - l = l.next; - } - s_b += "}"; - return s_b; - } -}; -var haxe_ds__$List_ListNode = function(item,next) { - this.item = item; - this.next = next; -}; -haxe_ds__$List_ListNode.__name__ = true; -var js_Boot = function() { }; -js_Boot.__name__ = true; -js_Boot.__string_rec = function(o,s) { - if(o == null) { - return "null"; - } - if(s.length >= 5) { - return "<...>"; - } - var t = typeof(o); - if(t == "function" && (o.__name__ || o.__ename__)) { - t = "object"; - } - switch(t) { - case "function": - return ""; - case "object": - if(o.__enum__) { - var e = $hxEnums[o.__enum__]; - var con = e.__constructs__[o._hx_index]; - var n = con._hx_name; - if(con.__params__) { - s = s + "\t"; - return n + "(" + ((function($this) { - var $r; - var _g = []; - { - var _g1 = 0; - var _g2 = con.__params__; - while(true) { - if(!(_g1 < _g2.length)) { - break; - } - var p = _g2[_g1]; - _g1 = _g1 + 1; - _g.push(js_Boot.__string_rec(o[p],s)); - } - } - $r = _g; - return $r; - }(this))).join(",") + ")"; - } else { - return n; - } - } - if(((o) instanceof Array)) { - var str = "["; - s += "\t"; - var _g = 0; - var _g1 = o.length; - while(_g < _g1) { - var i = _g++; - str += (i > 0 ? "," : "") + js_Boot.__string_rec(o[i],s); - } - str += "]"; - return str; - } - var tostr; - try { - tostr = o.toString; - } catch( _g ) { - return "???"; - } - if(tostr != null && tostr != Object.toString && typeof(tostr) == "function") { - var s2 = o.toString(); - if(s2 != "[object Object]") { - return s2; - } - } - var str = "{\n"; - s += "\t"; - var hasp = o.hasOwnProperty != null; - var k = null; - for( k in o ) { - if(hasp && !o.hasOwnProperty(k)) { - continue; - } - if(k == "prototype" || k == "__class__" || k == "__super__" || k == "__interfaces__" || k == "__properties__") { - continue; - } - if(str.length != 2) { - str += ", \n"; - } - str += s + k + " : " + js_Boot.__string_rec(o[k],s); - } - s = s.substring(1); - str += "\n" + s + "}"; - return str; - case "string": - return o; - default: - return String(o); - } -}; -var xrfragment_Filter = $hx_exports["xrfragment"]["Filter"] = function(str) { - this.q = { }; - this.str = ""; - if(str != null) { - this.parse(str); - } -}; -xrfragment_Filter.__name__ = true; -xrfragment_Filter.prototype = { - toObject: function() { - return Reflect.copy(this.q); - } - ,get: function() { - return Reflect.copy(this.q); - } - ,parse: function(str) { - var token = str.split(" "); - var q = { }; - var process = function(str,prefix) { - if(prefix == null) { - prefix = ""; - } - str = StringTools.trim(str); - var k = str.split("=")[0]; - var v = str.split("=")[1]; - var filter = { }; - if(q[prefix + k]) { - filter = q[prefix + k]; - } - if(xrfragment_XRF.isProp.match(str)) { - var oper = ""; - if(str.indexOf(">") != -1) { - oper = ">"; - } - if(str.indexOf("<") != -1) { - oper = "<"; - } - if(xrfragment_XRF.isExclude.match(k)) { - k = HxOverrides.substr(k,1,null); - } - v = HxOverrides.substr(v,oper.length,null); - if(oper.length == 0) { - oper = "="; - } - var rule = { }; - if(xrfragment_XRF.isNumber.match(v)) { - rule[oper] = parseFloat(v); - } else { - rule[oper] = v; - } - q["expr"] = rule; - } - var value = xrfragment_XRF.isDeep.match(str) ? k.split("*").length - 1 : 0; - q["deep"] = value; - var value = xrfragment_XRF.isExclude.match(str) ? false : true; - q["show"] = value; - var value = k.replace(xrfragment_XRF.operators.r,""); - q["key"] = value; - q["value"] = v; - }; - var _g = 0; - var _g1 = token.length; - while(_g < _g1) { - var i = _g++; - process(token[i]); - } - return this.q = q; - } - ,test: function(obj) { - var qualify = false; - var _g = 0; - var _g1 = Reflect.fields(obj); - while(_g < _g1.length) { - var k = _g1[_g]; - ++_g; - var v = Std.string(Reflect.field(obj,k)); - if(this.testProperty(k,v)) { - qualify = true; - } - } - var _g = 0; - var _g1 = Reflect.fields(obj); - while(_g < _g1.length) { - var k = _g1[_g]; - ++_g; - var v = Std.string(Reflect.field(obj,k)); - if(this.testProperty(k,v,true)) { - qualify = false; - } - } - return qualify; - } - ,testProperty: function(property,value,exclude) { - var conds = 0; - var fails = 0; - var qualify = 0; - var testprop = function(expr) { - conds += 1; - fails += expr ? 0 : 1; - return expr; - }; - if(this.q[value] != null) { - var v = this.q[value]; - if(v[property] != null) { - return v[property]; - } - } - if(Reflect.field(this.q,"expr")) { - var f = Reflect.field(this.q,"expr"); - if(!Reflect.field(this.q,"show")) { - if(Reflect.field(f,"!=") != null && testprop((value == null ? "null" : "" + value) == Std.string(Reflect.field(f,"!="))) && exclude) { - ++qualify; - } - } else { - if(Reflect.field(f,"*") != null && testprop(parseFloat(value) != null)) { - ++qualify; - } - if(Reflect.field(f,">") != null && testprop(parseFloat(value) >= parseFloat(Reflect.field(f,">")))) { - ++qualify; - } - if(Reflect.field(f,"<") != null && testprop(parseFloat(value) <= parseFloat(Reflect.field(f,"<")))) { - ++qualify; - } - if(Reflect.field(f,"=") != null && (testprop(value == Reflect.field(f,"=")) || testprop(parseFloat(value) == parseFloat(Reflect.field(f,"="))))) { - ++qualify; - } - } - } - return qualify > 0; - } -}; -var xrfragment_Parser = $hx_exports["xrfragment"]["Parser"] = function() { }; -xrfragment_Parser.__name__ = true; -xrfragment_Parser.parse = function(key,value,store,index) { - var Frag_h = Object.create(null); - Frag_h["#"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_PREDEFINED_VIEW | xrfragment_XRF.PV_EXECUTE; - Frag_h["src"] = xrfragment_XRF.T_URL; - Frag_h["href"] = xrfragment_XRF.T_URL | xrfragment_XRF.T_PREDEFINED_VIEW; - Frag_h["tag"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["pos"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_VECTOR3 | xrfragment_XRF.T_STRING | xrfragment_XRF.METADATA | xrfragment_XRF.NAVIGATOR; - Frag_h["rot"] = xrfragment_XRF.QUERY_OPERATOR | xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_VECTOR3 | xrfragment_XRF.METADATA | xrfragment_XRF.NAVIGATOR; - Frag_h["t"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_FLOAT | xrfragment_XRF.T_VECTOR2 | xrfragment_XRF.NAVIGATOR | xrfragment_XRF.METADATA; - Frag_h["s"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_MEDIAFRAG; - Frag_h["loop"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_PREDEFINED_VIEW; - Frag_h["uv"] = xrfragment_XRF.T_VECTOR2 | xrfragment_XRF.T_MEDIAFRAG; - Frag_h["namespace"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["SPDX"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["unit"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["description"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - var keyStripped = key.replace(xrfragment_XRF.operators.r,""); - var isPVDynamic = key.length > 0 && !Object.prototype.hasOwnProperty.call(Frag_h,key); - if(isPVDynamic) { - var v = new xrfragment_XRF(key,xrfragment_XRF.PV_EXECUTE | xrfragment_XRF.NAVIGATOR,index); - v.validate(value); - v.flags = xrfragment_XRF.set(xrfragment_XRF.T_DYNAMICKEY,v.flags); - if(!Object.prototype.hasOwnProperty.call(Frag_h,key)) { - v.flags = xrfragment_XRF.set(xrfragment_XRF.CUSTOMFRAG,v.flags); - } - if(value.length == 0) { - v.flags = xrfragment_XRF.set(xrfragment_XRF.T_DYNAMICKEYVALUE,v.flags); - } - store[keyStripped] = v; - return true; - } - var v = new xrfragment_XRF(key,Frag_h[key],index); - if(Object.prototype.hasOwnProperty.call(Frag_h,key)) { - if(!v.validate(value)) { - console.log("src/xrfragment/Parser.hx:67:","⚠ fragment '" + key + "' has incompatible value (" + value + ")"); - return false; - } - store[keyStripped] = v; - if(xrfragment_Parser.debug) { - console.log("src/xrfragment/Parser.hx:71:","✔ " + key + ": " + v.string); - } - } else { - if(typeof(value) == "string") { - v.guessType(v,value); - } - v.flags = xrfragment_XRF.set(xrfragment_XRF.CUSTOMFRAG,v.flags); - store[keyStripped] = v; - } - return true; -}; -xrfragment_Parser.getMetaData = function() { - var meta = { title : ["title","og:title","dc.title"], description : ["aria-description","og:description","dc.description"], author : ["author","dc.creator"], publisher : ["publisher","dc.publisher"], website : ["og:site_name","og:url","dc.publisher"], license : ["SPDX","dc.rights"]}; - return meta; -}; -var xrfragment_URI = $hx_exports["xrfragment"]["URI"] = function() { - this.XRF = { }; - this.hash = { }; - this.fragment = ""; -}; -xrfragment_URI.__name__ = true; -xrfragment_URI.parseFragment = function(url,filter) { - var store = { }; - if(url == null || url.indexOf("#") == -1) { - return store; - } - var fragment = url.split("#"); - var splitArray = fragment[1].split("&"); - var _g = 0; - var _g1 = splitArray.length; - while(_g < _g1) { - var i = _g++; - var splitByEqual = splitArray[i].split("="); - var regexPlus = new EReg("\\+","g"); - var key = splitByEqual[0]; - var value = ""; - if(splitByEqual.length > 1) { - if(xrfragment_XRF.isVector.match(splitByEqual[1])) { - value = splitByEqual[1]; - } else { - var s = regexPlus.split(splitByEqual[1]).join(" "); - value = decodeURIComponent(s.split("+").join(" ")); - } - } - var ok = xrfragment_Parser.parse(key,value,store,i); - } - if(filter != null && filter != 0) { - var _g = 0; - var _g1 = Reflect.fields(store); - while(_g < _g1.length) { - var key = _g1[_g]; - ++_g; - var xrf = store[key]; - if(!xrf.is(filter)) { - Reflect.deleteField(store,key); - } - } - } - return store; -}; -xrfragment_URI.template = function(uri,vars) { - var parts = uri.split("#"); - if(parts.length == 1) { - return uri; - } - var frag = parts[1]; - frag = StringTools.replace(frag,"{","::"); - frag = StringTools.replace(frag,"}","::"); - frag = new haxe_Template(frag).execute(vars); - frag = StringTools.replace(frag,"null",""); - parts[1] = frag; - return parts.join("#"); -}; -xrfragment_URI.parse = function(stringUrl,flags) { - var r = new EReg("^(?:(?![^:@]+:[^:@/]*@)([^:/?#.]+):)?(?://)?((?:(([^:@]*)(?::([^:@]*))?)?@)?([^:/?#]*)(?::(\\d*))?)(((/(?:[^?#](?![^?#/]*\\.[^?#/.]+(?:[?#]|$)))*/?)?([^?#/]*))(?:\\?([^#]*))?(?:#(.*))?)",""); - if(stringUrl.indexOf("://") == -1 && stringUrl.charAt(0) != "/") { - stringUrl = "/" + stringUrl; - } - r.match(stringUrl); - var url = new xrfragment_URI(); - var _g = 0; - var _g1 = xrfragment_URI._parts.length; - while(_g < _g1) { - var i = _g++; - url[xrfragment_URI._parts[i]] = r.matched(i); - } - if(xrfragment_URI.isRelative(url) == true) { - if(url.directory == null && url.host != null) { - url.file = url.host; - } - url.host = ""; - } - url.hash = { }; - if(url.fragment != null && url.fragment.length > 0) { - url.XRF = xrfragment_URI.parseFragment("#" + url.fragment,flags); - var key; - var _g = 0; - var _g1 = Reflect.fields(url.XRF); - while(_g < _g1.length) { - var key = _g1[_g]; - ++_g; - var v = url.XRF[key]; - url.hash[key] = v["string"]; - } - } - xrfragment_URI.computeVars(url); - return url; -}; -xrfragment_URI.computeVars = function(url) { - var r_r = new RegExp("//","g".split("u").join("")); - if(url.directory != null && url.directory.indexOf("//") != -1) { - url.directory = url.directory.replace(r_r,"/"); - } - if(url.path != null && url.path.indexOf("//") != -1) { - url.path = url.path.replace(r_r,"/"); - } - if(url.file != null && url.file.indexOf("//") != -1) { - url.file = url.file.replace(r_r,"/"); - } - url.URN = url.scheme + "://" + url.host; - if(url.port != null) { - url.URN += ":" + url.port; - } - url.URN += url.directory; - if(url.file != null) { - var parts = url.file.split("."); - if(parts.length > 1) { - url.fileExt = parts.pop(); - } - } -}; -xrfragment_URI.toString = function(url) { - var result = ""; - if(url.scheme != null) { - result += url.scheme + "://"; - } - if(url.user != null) { - result += url.user + ":"; - } - if(url.password != null) { - result += url.password + "@"; - } - if(url.host != null) { - result += url.host; - } - if(url.port != null) { - result += ":" + url.port; - } - if(url.directory != null) { - result += url.directory; - } - if(url.file != null) { - result += url.file; - } - if(url.query != null) { - result += "?" + url.query; - } - if(url.fragment != null) { - result += "#" + url.fragment; - } - return result; -}; -xrfragment_URI.appendURI = function(url,appendedURI) { - if(xrfragment_URI.isRelative(url) == true) { - return xrfragment_URI.appendToRelativeURI(url,appendedURI); - } else { - return xrfragment_URI.appendToAbsoluteURI(url,appendedURI); - } -}; -xrfragment_URI.isRelative = function(url) { - return url.scheme == null; -}; -xrfragment_URI.appendToRelativeURI = function(url,appendedURI) { - if(url.directory == null || url.host == null) { - return xrfragment_URI.cloneURI(appendedURI); - } - var resultURI = new xrfragment_URI(); - resultURI.host = url.host; - resultURI.directory = url.directory; - if(appendedURI.host != null) { - resultURI.directory += appendedURI.host; - } - if(appendedURI.directory != null) { - var directory = appendedURI.directory; - if(appendedURI.host == null) { - resultURI.directory += HxOverrides.substr(directory,1,null); - } else { - resultURI.directory += directory; - } - } - if(appendedURI.file != null) { - resultURI.file = appendedURI.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(appendedURI.query != null) { - resultURI.query = appendedURI.query; - } - if(appendedURI.fragment != null) { - resultURI.fragment = appendedURI.fragment; - } - return resultURI; -}; -xrfragment_URI.appendToAbsoluteURI = function(url,appendedURI) { - var resultURI = new xrfragment_URI(); - if(url.scheme != null) { - resultURI.scheme = url.scheme; - } - if(url.host != null) { - resultURI.host = url.host; - } - var directory = ""; - if(url.directory != null) { - directory = url.directory; - } - if(appendedURI.host != null) { - appendedURI.directory += appendedURI.host; - } - if(appendedURI.directory != null) { - directory += appendedURI.directory; - } - resultURI.directory = directory; - if(appendedURI.file != null) { - resultURI.file = appendedURI.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(appendedURI.query != null) { - resultURI.query = appendedURI.query; - } - if(appendedURI.fragment != null) { - resultURI.fragment = appendedURI.fragment; - } - return resultURI; -}; -xrfragment_URI.toAbsolute = function(url,newUrl) { - var newURI = xrfragment_URI.parse(newUrl,0); - var resultURI = new xrfragment_URI(); - resultURI.port = url.port; - resultURI.source = newUrl; - if(newURI.scheme != null) { - resultURI.scheme = newURI.scheme; - } else { - resultURI.scheme = url.scheme; - } - if(newURI.host != null && newURI.host.length > 0) { - resultURI.host = newURI.host; - resultURI.port = null; - resultURI.fragment = null; - resultURI.hash = { }; - resultURI.XRF = { }; - if(newURI.port != null) { - resultURI.port = newURI.port; - } - } else { - resultURI.host = url.host; - } - var directory = ""; - if(url.directory != null) { - directory = url.directory; - } - if(newURI.directory != null) { - if(newUrl.charAt(0) != "/" && newUrl.indexOf("://") == -1) { - var stripRelative_r = new RegExp("\\./.*","".split("u").join("")); - directory = directory.replace(stripRelative_r,""); - directory += newURI.directory; - } else { - directory = newURI.directory; - } - } - resultURI.directory = directory; - if(newURI.file != null) { - resultURI.file = newURI.file; - } else { - resultURI.file = url.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(newURI.query != null) { - resultURI.query = newURI.query; - } - if(newURI.fragment != null) { - resultURI.fragment = newURI.fragment; - } - resultURI.hash = newURI.hash; - resultURI.XRF = newURI.XRF; - xrfragment_URI.computeVars(resultURI); - return resultURI; -}; -xrfragment_URI.cloneURI = function(url) { - var clonedURI = new xrfragment_URI(); - clonedURI.url = url.url; - clonedURI.source = url.source; - clonedURI.scheme = url.scheme; - clonedURI.authority = url.authority; - clonedURI.userInfo = url.userInfo; - clonedURI.password = url.password; - clonedURI.host = url.host; - clonedURI.port = url.port; - clonedURI.relative = url.relative; - clonedURI.path = url.path; - clonedURI.directory = url.directory; - clonedURI.file = url.file; - clonedURI.query = url.query; - clonedURI.fragment = url.fragment; - return clonedURI; -}; -var xrfragment_XRF = $hx_exports["xrfragment"]["XRF"] = function(_fragment,_flags,_index) { - this.floats = []; - this.shift = []; - this.fragment = _fragment; - this.flags = _flags; - this.index = _index; -}; -xrfragment_XRF.__name__ = true; -xrfragment_XRF.set = function(flag,flags) { - return flags | flag; -}; -xrfragment_XRF.unset = function(flag,flags) { - return flags & ~flag; -}; -xrfragment_XRF.prototype = { - is: function(flag) { - var v = this.flags; - if(!(typeof(v) == "number" && ((v | 0) === v))) { - this.flags = 0; - } - return (this.flags & flag) != 0; - } - ,validate: function(value) { - this.guessType(this,value); - var ok = true; - if(value.length == 0 && !this.is(xrfragment_XRF.T_PREDEFINED_VIEW)) { - ok = false; - } - if(!this.is(xrfragment_XRF.T_FLOAT) && this.is(xrfragment_XRF.T_VECTOR2) && !(typeof(this.x) == "number" && typeof(this.y) == "number")) { - ok = false; - } - if(!(this.is(xrfragment_XRF.T_VECTOR2) || this.is(xrfragment_XRF.T_STRING)) && this.is(xrfragment_XRF.T_VECTOR3) && !(typeof(this.x) == "number" && typeof(this.y) == "number" && typeof(this.z) == "number")) { - ok = false; - } - return ok; - } - ,guessType: function(v,str) { - v.string = str; - if(xrfragment_XRF.isReset.match(v.fragment)) { - v.reset = true; - } - if(v.fragment == "loop") { - v.loop = true; - } - if(typeof(str) != "string") { - return; - } - if(str.length > 0) { - if(xrfragment_XRF.isXRFScheme.match(str)) { - v.xrfScheme = true; - str = str.replace(xrfragment_XRF.isXRFScheme.r,""); - v.string = str; - } - if(str.split(",").length > 1) { - var xyzn = str.split(","); - if(xyzn.length > 0) { - v.x = parseFloat(xyzn[0]); - } - if(xyzn.length > 1) { - v.y = parseFloat(xyzn[1]); - } - if(xyzn.length > 2) { - v.z = parseFloat(xyzn[2]); - } - var _g = 0; - var _g1 = xyzn.length; - while(_g < _g1) { - var i = _g++; - v.shift.push(xrfragment_XRF.isShift.match(xyzn[i])); - v.floats.push(parseFloat(xyzn[i].replace(xrfragment_XRF.isShift.r,""))); - } - } - if(xrfragment_XRF.isColor.match(str)) { - v.color = str; - } - if(xrfragment_XRF.isFloat.match(str)) { - v.x = parseFloat(str); - v.float = v.x; - } - if(xrfragment_XRF.isInt.match(str)) { - v.int = Std.parseInt(str); - v.x = v.int; - v.floats.push(v.x); - } - v.filter = new xrfragment_Filter(v.fragment + "=" + v.string); - } else { - v.filter = new xrfragment_Filter(v.fragment); - } - } -}; -function $getIterator(o) { if( o instanceof Array ) return new haxe_iterators_ArrayIterator(o); else return o.iterator(); } -function $bind(o,m) { if( m == null ) return null; if( m.__id__ == null ) m.__id__ = $global.$haxeUID++; var f; if( o.hx__closures__ == null ) o.hx__closures__ = {}; else f = o.hx__closures__[m.__id__]; if( f == null ) { f = m.bind(o); o.hx__closures__[m.__id__] = f; } return f; } -$global.$haxeUID |= 0; -if(typeof(performance) != "undefined" ? typeof(performance.now) == "function" : false) { - HxOverrides.now = performance.now.bind(performance); -} -if( String.fromCodePoint == null ) String.fromCodePoint = function(c) { return c < 0x10000 ? String.fromCharCode(c) : String.fromCharCode((c>>10)+0xD7C0)+String.fromCharCode((c&0x3FF)+0xDC00); } -String.__name__ = true; -Array.__name__ = true; -js_Boot.__toStr = ({ }).toString; -haxe_Template.splitter = new EReg("(::[A-Za-z0-9_ ()&|!+=/><*.\"-]+::|\\$\\$([A-Za-z0-9_-]+)\\()",""); -haxe_Template.expr_splitter = new EReg("(\\(|\\)|[ \r\n\t]*\"[^\"]*\"[ \r\n\t]*|[!+=/><*.&|-]+)",""); -haxe_Template.expr_trim = new EReg("^[ ]*([^ ]+)[ ]*$",""); -haxe_Template.expr_int = new EReg("^[0-9]+$",""); -haxe_Template.expr_float = new EReg("^([+-]?)(?=\\d|,\\d)\\d*(,\\d*)?([Ee]([+-]?\\d+))?$",""); -haxe_Template.globals = { }; -haxe_Template.hxKeepArrayIterator = new haxe_iterators_ArrayIterator([]); -xrfragment_Parser.error = ""; -xrfragment_Parser.debug = false; -xrfragment_URI.__meta__ = { statics : { template : { keep : null}}}; -xrfragment_URI._parts = ["source","scheme","authority","userInfo","user","password","host","port","relative","path","directory","file","query","fragment"]; -xrfragment_XRF.IMMUTABLE = 1; -xrfragment_XRF.PROP_BIND = 2; -xrfragment_XRF.QUERY_OPERATOR = 4; -xrfragment_XRF.PROMPT = 8; -xrfragment_XRF.CUSTOMFRAG = 16; -xrfragment_XRF.NAVIGATOR = 32; -xrfragment_XRF.METADATA = 64; -xrfragment_XRF.PV_OVERRIDE = 128; -xrfragment_XRF.PV_EXECUTE = 256; -xrfragment_XRF.T_COLOR = 8192; -xrfragment_XRF.T_INT = 16384; -xrfragment_XRF.T_FLOAT = 32768; -xrfragment_XRF.T_VECTOR2 = 65536; -xrfragment_XRF.T_VECTOR3 = 131072; -xrfragment_XRF.T_URL = 262144; -xrfragment_XRF.T_PREDEFINED_VIEW = 524288; -xrfragment_XRF.T_STRING = 1048576; -xrfragment_XRF.T_MEDIAFRAG = 2097152; -xrfragment_XRF.T_DYNAMICKEY = 4194304; -xrfragment_XRF.T_DYNAMICKEYVALUE = 8388608; -xrfragment_XRF.isColor = new EReg("^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$",""); -xrfragment_XRF.isInt = new EReg("^[-0-9]+$",""); -xrfragment_XRF.isFloat = new EReg("^[-0-9]+\\.[0-9]+$",""); -xrfragment_XRF.isVector = new EReg("([,]+|\\w)",""); -xrfragment_XRF.isUrl = new EReg("(://)?\\..*",""); -xrfragment_XRF.isUrlOrPretypedView = new EReg("(^#|://)?\\..*",""); -xrfragment_XRF.isString = new EReg(".*",""); -xrfragment_XRF.operators = new EReg("(^[-]|^[!]|[\\*]$)","g"); -xrfragment_XRF.isProp = new EReg("^.*=[><=]?",""); -xrfragment_XRF.isExclude = new EReg("^-",""); -xrfragment_XRF.isDeep = new EReg("\\*",""); -xrfragment_XRF.isNumber = new EReg("^[0-9\\.]+$",""); -xrfragment_XRF.isMediaFrag = new EReg("^([0-9\\.,\\*+-]+)$",""); -xrfragment_XRF.isReset = new EReg("^!",""); -xrfragment_XRF.isShift = new EReg("^(\\+|--)",""); -xrfragment_XRF.isXRFScheme = new EReg("^xrf://",""); -})(typeof window != "undefined" ? window : typeof global != "undefined" ? global : typeof self != "undefined" ? self : this); -var xrfragment = $hx_exports["xrfragment"]; -export default xrfragment; -// Generated by Haxe 4.3.3 -var $hx_exports = typeof exports != "undefined" ? exports : typeof window != "undefined" ? window : typeof self != "undefined" ? self : this; -(function ($global) { "use strict"; -$hx_exports["xrfragment"] = $hx_exports["xrfragment"] || {}; -var $estr = function() { return js_Boot.__string_rec(this,''); },$hxEnums = $hxEnums || {},$_; -function $extend(from, fields) { - var proto = Object.create(from); - for (var name in fields) proto[name] = fields[name]; - if( fields.toString !== Object.prototype.toString ) proto.toString = fields.toString; - return proto; -} -var EReg = function(r,opt) { - this.r = new RegExp(r,opt.split("u").join("")); -}; -EReg.__name__ = true; -EReg.prototype = { - match: function(s) { - if(this.r.global) { - this.r.lastIndex = 0; - } - this.r.m = this.r.exec(s); - this.r.s = s; - return this.r.m != null; - } - ,matched: function(n) { - if(this.r.m != null && n >= 0 && n < this.r.m.length) { - return this.r.m[n]; - } else { - throw haxe_Exception.thrown("EReg::matched"); - } - } - ,matchedRight: function() { - if(this.r.m == null) { - throw haxe_Exception.thrown("No string matched"); - } - var sz = this.r.m.index + this.r.m[0].length; - return HxOverrides.substr(this.r.s,sz,this.r.s.length - sz); - } - ,matchedPos: function() { - if(this.r.m == null) { - throw haxe_Exception.thrown("No string matched"); - } - return { pos : this.r.m.index, len : this.r.m[0].length}; - } - ,split: function(s) { - var d = "#__delim__#"; - return s.replace(this.r,d).split(d); - } -}; -var HxOverrides = function() { }; -HxOverrides.__name__ = true; -HxOverrides.cca = function(s,index) { - var x = s.charCodeAt(index); - if(x != x) { - return undefined; - } - return x; -}; -HxOverrides.substr = function(s,pos,len) { - if(len == null) { - len = s.length; - } else if(len < 0) { - if(pos == 0) { - len = s.length + len; - } else { - return ""; - } - } - return s.substr(pos,len); -}; -HxOverrides.now = function() { - return Date.now(); -}; -Math.__name__ = true; -var Reflect = function() { }; -Reflect.__name__ = true; -Reflect.field = function(o,field) { - try { - return o[field]; - } catch( _g ) { - return null; - } -}; -Reflect.getProperty = function(o,field) { - var tmp; - if(o == null) { - return null; - } else { - var tmp1; - if(o.__properties__) { - tmp = o.__properties__["get_" + field]; - tmp1 = tmp; - } else { - tmp1 = false; - } - if(tmp1) { - return o[tmp](); - } else { - return o[field]; - } - } -}; -Reflect.fields = function(o) { - var a = []; - if(o != null) { - var hasOwnProperty = Object.prototype.hasOwnProperty; - for( var f in o ) { - if(f != "__id__" && f != "hx__closures__" && hasOwnProperty.call(o,f)) { - a.push(f); - } - } - } - return a; -}; -Reflect.isObject = function(v) { - if(v == null) { - return false; - } - var t = typeof(v); - if(!(t == "string" || t == "object" && v.__enum__ == null)) { - if(t == "function") { - return (v.__name__ || v.__ename__) != null; - } else { - return false; - } - } else { - return true; - } -}; -Reflect.deleteField = function(o,field) { - if(!Object.prototype.hasOwnProperty.call(o,field)) { - return false; - } - delete(o[field]); - return true; -}; -Reflect.copy = function(o) { - if(o == null) { - return null; - } - var o2 = { }; - var _g = 0; - var _g1 = Reflect.fields(o); - while(_g < _g1.length) { - var f = _g1[_g]; - ++_g; - o2[f] = Reflect.field(o,f); - } - return o2; -}; -var Std = function() { }; -Std.__name__ = true; -Std.string = function(s) { - return js_Boot.__string_rec(s,""); -}; -Std.parseInt = function(x) { - var v = parseInt(x); - if(isNaN(v)) { - return null; - } - return v; -}; -var StringBuf = function() { - this.b = ""; -}; -StringBuf.__name__ = true; -var StringTools = function() { }; -StringTools.__name__ = true; -StringTools.isSpace = function(s,pos) { - var c = HxOverrides.cca(s,pos); - if(!(c > 8 && c < 14)) { - return c == 32; - } else { - return true; - } -}; -StringTools.ltrim = function(s) { - var l = s.length; - var r = 0; - while(r < l && StringTools.isSpace(s,r)) ++r; - if(r > 0) { - return HxOverrides.substr(s,r,l - r); - } else { - return s; - } -}; -StringTools.rtrim = function(s) { - var l = s.length; - var r = 0; - while(r < l && StringTools.isSpace(s,l - r - 1)) ++r; - if(r > 0) { - return HxOverrides.substr(s,0,l - r); - } else { - return s; - } -}; -StringTools.trim = function(s) { - return StringTools.ltrim(StringTools.rtrim(s)); -}; -StringTools.replace = function(s,sub,by) { - return s.split(sub).join(by); -}; -var haxe_Exception = function(message,previous,native) { - Error.call(this,message); - this.message = message; - this.__previousException = previous; - this.__nativeException = native != null ? native : this; -}; -haxe_Exception.__name__ = true; -haxe_Exception.caught = function(value) { - if(((value) instanceof haxe_Exception)) { - return value; - } else if(((value) instanceof Error)) { - return new haxe_Exception(value.message,null,value); - } else { - return new haxe_ValueException(value,null,value); - } -}; -haxe_Exception.thrown = function(value) { - if(((value) instanceof haxe_Exception)) { - return value.get_native(); - } else if(((value) instanceof Error)) { - return value; - } else { - var e = new haxe_ValueException(value); - return e; - } -}; -haxe_Exception.__super__ = Error; -haxe_Exception.prototype = $extend(Error.prototype,{ - unwrap: function() { - return this.__nativeException; - } - ,get_native: function() { - return this.__nativeException; - } - ,__properties__: {get_native:"get_native"} -}); -var haxe__$Template_TemplateExpr = $hxEnums["haxe._Template.TemplateExpr"] = { __ename__:true,__constructs__:null - ,OpVar: ($_=function(v) { return {_hx_index:0,v:v,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpVar",$_.__params__ = ["v"],$_) - ,OpExpr: ($_=function(expr) { return {_hx_index:1,expr:expr,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpExpr",$_.__params__ = ["expr"],$_) - ,OpIf: ($_=function(expr,eif,eelse) { return {_hx_index:2,expr:expr,eif:eif,eelse:eelse,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpIf",$_.__params__ = ["expr","eif","eelse"],$_) - ,OpStr: ($_=function(str) { return {_hx_index:3,str:str,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpStr",$_.__params__ = ["str"],$_) - ,OpBlock: ($_=function(l) { return {_hx_index:4,l:l,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpBlock",$_.__params__ = ["l"],$_) - ,OpForeach: ($_=function(expr,loop) { return {_hx_index:5,expr:expr,loop:loop,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpForeach",$_.__params__ = ["expr","loop"],$_) - ,OpMacro: ($_=function(name,params) { return {_hx_index:6,name:name,params:params,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpMacro",$_.__params__ = ["name","params"],$_) -}; -haxe__$Template_TemplateExpr.__constructs__ = [haxe__$Template_TemplateExpr.OpVar,haxe__$Template_TemplateExpr.OpExpr,haxe__$Template_TemplateExpr.OpIf,haxe__$Template_TemplateExpr.OpStr,haxe__$Template_TemplateExpr.OpBlock,haxe__$Template_TemplateExpr.OpForeach,haxe__$Template_TemplateExpr.OpMacro]; -var haxe_iterators_ArrayIterator = function(array) { - this.current = 0; - this.array = array; -}; -haxe_iterators_ArrayIterator.__name__ = true; -haxe_iterators_ArrayIterator.prototype = { - hasNext: function() { - return this.current < this.array.length; - } - ,next: function() { - return this.array[this.current++]; - } -}; -var haxe_Template = function(str) { - var tokens = this.parseTokens(str); - this.expr = this.parseBlock(tokens); - if(!tokens.isEmpty()) { - throw haxe_Exception.thrown("Unexpected '" + Std.string(tokens.first().s) + "'"); - } -}; -haxe_Template.__name__ = true; -haxe_Template.prototype = { - execute: function(context,macros) { - this.macros = macros == null ? { } : macros; - this.context = context; - this.stack = new haxe_ds_List(); - this.buf = new StringBuf(); - this.run(this.expr); - return this.buf.b; - } - ,resolve: function(v) { - if(v == "__current__") { - return this.context; - } - if(Reflect.isObject(this.context)) { - var value = Reflect.getProperty(this.context,v); - if(value != null || Object.prototype.hasOwnProperty.call(this.context,v)) { - return value; - } - } - var _g_head = this.stack.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var ctx = val; - var value = Reflect.getProperty(ctx,v); - if(value != null || Object.prototype.hasOwnProperty.call(ctx,v)) { - return value; - } - } - return Reflect.field(haxe_Template.globals,v); - } - ,parseTokens: function(data) { - var tokens = new haxe_ds_List(); - while(haxe_Template.splitter.match(data)) { - var p = haxe_Template.splitter.matchedPos(); - if(p.pos > 0) { - tokens.add({ p : HxOverrides.substr(data,0,p.pos), s : true, l : null}); - } - if(HxOverrides.cca(data,p.pos) == 58) { - tokens.add({ p : HxOverrides.substr(data,p.pos + 2,p.len - 4), s : false, l : null}); - data = haxe_Template.splitter.matchedRight(); - continue; - } - var parp = p.pos + p.len; - var npar = 1; - var params = []; - var part = ""; - while(true) { - var c = HxOverrides.cca(data,parp); - ++parp; - if(c == 40) { - ++npar; - } else if(c == 41) { - --npar; - if(npar <= 0) { - break; - } - } else if(c == null) { - throw haxe_Exception.thrown("Unclosed macro parenthesis"); - } - if(c == 44 && npar == 1) { - params.push(part); - part = ""; - } else { - part += String.fromCodePoint(c); - } - } - params.push(part); - tokens.add({ p : haxe_Template.splitter.matched(2), s : false, l : params}); - data = HxOverrides.substr(data,parp,data.length - parp); - } - if(data.length > 0) { - tokens.add({ p : data, s : true, l : null}); - } - return tokens; - } - ,parseBlock: function(tokens) { - var l = new haxe_ds_List(); - while(true) { - var t = tokens.first(); - if(t == null) { - break; - } - if(!t.s && (t.p == "end" || t.p == "else" || HxOverrides.substr(t.p,0,7) == "elseif ")) { - break; - } - l.add(this.parse(tokens)); - } - if(l.length == 1) { - return l.first(); - } - return haxe__$Template_TemplateExpr.OpBlock(l); - } - ,parse: function(tokens) { - var t = tokens.pop(); - var p = t.p; - if(t.s) { - return haxe__$Template_TemplateExpr.OpStr(p); - } - if(t.l != null) { - var pe = new haxe_ds_List(); - var _g = 0; - var _g1 = t.l; - while(_g < _g1.length) { - var p1 = _g1[_g]; - ++_g; - pe.add(this.parseBlock(this.parseTokens(p1))); - } - return haxe__$Template_TemplateExpr.OpMacro(p,pe); - } - var kwdEnd = function(kwd) { - var pos = -1; - var length = kwd.length; - if(HxOverrides.substr(p,0,length) == kwd) { - pos = length; - var _g_offset = 0; - var _g_s = HxOverrides.substr(p,length,null); - while(_g_offset < _g_s.length) { - var c = _g_s.charCodeAt(_g_offset++); - if(c == 32) { - ++pos; - } else { - break; - } - } - } - return pos; - }; - var pos = kwdEnd("if"); - if(pos > 0) { - p = HxOverrides.substr(p,pos,p.length - pos); - var e = this.parseExpr(p); - var eif = this.parseBlock(tokens); - var t = tokens.first(); - var eelse; - if(t == null) { - throw haxe_Exception.thrown("Unclosed 'if'"); - } - if(t.p == "end") { - tokens.pop(); - eelse = null; - } else if(t.p == "else") { - tokens.pop(); - eelse = this.parseBlock(tokens); - t = tokens.pop(); - if(t == null || t.p != "end") { - throw haxe_Exception.thrown("Unclosed 'else'"); - } - } else { - t.p = HxOverrides.substr(t.p,4,t.p.length - 4); - eelse = this.parse(tokens); - } - return haxe__$Template_TemplateExpr.OpIf(e,eif,eelse); - } - var pos = kwdEnd("foreach"); - if(pos >= 0) { - p = HxOverrides.substr(p,pos,p.length - pos); - var e = this.parseExpr(p); - var efor = this.parseBlock(tokens); - var t = tokens.pop(); - if(t == null || t.p != "end") { - throw haxe_Exception.thrown("Unclosed 'foreach'"); - } - return haxe__$Template_TemplateExpr.OpForeach(e,efor); - } - if(haxe_Template.expr_splitter.match(p)) { - return haxe__$Template_TemplateExpr.OpExpr(this.parseExpr(p)); - } - return haxe__$Template_TemplateExpr.OpVar(p); - } - ,parseExpr: function(data) { - var l = new haxe_ds_List(); - var expr = data; - while(haxe_Template.expr_splitter.match(data)) { - var p = haxe_Template.expr_splitter.matchedPos(); - var k = p.pos + p.len; - if(p.pos != 0) { - l.add({ p : HxOverrides.substr(data,0,p.pos), s : true}); - } - var p1 = haxe_Template.expr_splitter.matched(0); - l.add({ p : p1, s : p1.indexOf("\"") >= 0}); - data = haxe_Template.expr_splitter.matchedRight(); - } - if(data.length != 0) { - var _g_offset = 0; - var _g_s = data; - while(_g_offset < _g_s.length) { - var _g_key = _g_offset; - var _g_value = _g_s.charCodeAt(_g_offset++); - var i = _g_key; - var c = _g_value; - if(c != 32) { - l.add({ p : HxOverrides.substr(data,i,null), s : true}); - break; - } - } - } - var e; - try { - e = this.makeExpr(l); - if(!l.isEmpty()) { - throw haxe_Exception.thrown(l.first().p); - } - } catch( _g ) { - var _g1 = haxe_Exception.caught(_g).unwrap(); - if(typeof(_g1) == "string") { - var s = _g1; - throw haxe_Exception.thrown("Unexpected '" + s + "' in " + expr); - } else { - throw _g; - } - } - return function() { - try { - return e(); - } catch( _g ) { - var exc = haxe_Exception.caught(_g).unwrap(); - throw haxe_Exception.thrown("Error : " + Std.string(exc) + " in " + expr); - } - }; - } - ,makeConst: function(v) { - haxe_Template.expr_trim.match(v); - v = haxe_Template.expr_trim.matched(1); - if(HxOverrides.cca(v,0) == 34) { - var str = HxOverrides.substr(v,1,v.length - 2); - return function() { - return str; - }; - } - if(haxe_Template.expr_int.match(v)) { - var i = Std.parseInt(v); - return function() { - return i; - }; - } - if(haxe_Template.expr_float.match(v)) { - var f = parseFloat(v); - return function() { - return f; - }; - } - var me = this; - return function() { - return me.resolve(v); - }; - } - ,makePath: function(e,l) { - var p = l.first(); - if(p == null || p.p != ".") { - return e; - } - l.pop(); - var field = l.pop(); - if(field == null || !field.s) { - throw haxe_Exception.thrown(field.p); - } - var f = field.p; - haxe_Template.expr_trim.match(f); - f = haxe_Template.expr_trim.matched(1); - return this.makePath(function() { - return Reflect.field(e(),f); - },l); - } - ,makeExpr: function(l) { - return this.makePath(this.makeExpr2(l),l); - } - ,skipSpaces: function(l) { - var p = l.first(); - while(p != null) { - var _g_offset = 0; - var _g_s = p.p; - while(_g_offset < _g_s.length) { - var c = _g_s.charCodeAt(_g_offset++); - if(c != 32) { - return; - } - } - l.pop(); - p = l.first(); - } - } - ,makeExpr2: function(l) { - this.skipSpaces(l); - var p = l.pop(); - this.skipSpaces(l); - if(p == null) { - throw haxe_Exception.thrown(""); - } - if(p.s) { - return this.makeConst(p.p); - } - switch(p.p) { - case "!": - var e = this.makeExpr(l); - return function() { - var v = e(); - if(v != null) { - return v == false; - } else { - return true; - } - }; - case "(": - this.skipSpaces(l); - var e1 = this.makeExpr(l); - this.skipSpaces(l); - var p1 = l.pop(); - if(p1 == null || p1.s) { - throw haxe_Exception.thrown(p1); - } - if(p1.p == ")") { - return e1; - } - this.skipSpaces(l); - var e2 = this.makeExpr(l); - this.skipSpaces(l); - var p2 = l.pop(); - this.skipSpaces(l); - if(p2 == null || p2.p != ")") { - throw haxe_Exception.thrown(p2); - } - switch(p1.p) { - case "!=": - return function() { - return e1() != e2(); - }; - case "&&": - return function() { - return e1() && e2(); - }; - case "*": - return function() { - return e1() * e2(); - }; - case "+": - return function() { - return e1() + e2(); - }; - case "-": - return function() { - return e1() - e2(); - }; - case "/": - return function() { - return e1() / e2(); - }; - case "<": - return function() { - return e1() < e2(); - }; - case "<=": - return function() { - return e1() <= e2(); - }; - case "==": - return function() { - return e1() == e2(); - }; - case ">": - return function() { - return e1() > e2(); - }; - case ">=": - return function() { - return e1() >= e2(); - }; - case "||": - return function() { - return e1() || e2(); - }; - default: - throw haxe_Exception.thrown("Unknown operation " + p1.p); - } - break; - case "-": - var e3 = this.makeExpr(l); - return function() { - return -e3(); - }; - } - throw haxe_Exception.thrown(p.p); - } - ,run: function(e) { - switch(e._hx_index) { - case 0: - var v = e.v; - var _this = this.buf; - var x = Std.string(this.resolve(v)); - _this.b += Std.string(x); - break; - case 1: - var e1 = e.expr; - var _this = this.buf; - var x = Std.string(e1()); - _this.b += Std.string(x); - break; - case 2: - var e1 = e.expr; - var eif = e.eif; - var eelse = e.eelse; - var v = e1(); - if(v == null || v == false) { - if(eelse != null) { - this.run(eelse); - } - } else { - this.run(eif); - } - break; - case 3: - var str = e.str; - this.buf.b += str == null ? "null" : "" + str; - break; - case 4: - var l = e.l; - var _g_head = l.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var e1 = val; - this.run(e1); - } - break; - case 5: - var e1 = e.expr; - var loop = e.loop; - var v = e1(); - try { - var x = $getIterator(v); - if(x.hasNext == null) { - throw haxe_Exception.thrown(null); - } - v = x; - } catch( _g ) { - try { - if(v.hasNext == null) { - throw haxe_Exception.thrown(null); - } - } catch( _g1 ) { - throw haxe_Exception.thrown("Cannot iter on " + Std.string(v)); - } - } - this.stack.push(this.context); - var v1 = v; - var ctx = v1; - while(ctx.hasNext()) { - var ctx1 = ctx.next(); - this.context = ctx1; - this.run(loop); - } - this.context = this.stack.pop(); - break; - case 6: - var m = e.name; - var params = e.params; - var v = Reflect.field(this.macros,m); - var pl = []; - var old = this.buf; - pl.push($bind(this,this.resolve)); - var _g_head = params.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var p = val; - if(p._hx_index == 0) { - var v1 = p.v; - pl.push(this.resolve(v1)); - } else { - this.buf = new StringBuf(); - this.run(p); - pl.push(this.buf.b); - } - } - this.buf = old; - try { - var _this = this.buf; - var x = Std.string(v.apply(this.macros,pl)); - _this.b += Std.string(x); - } catch( _g ) { - var e = haxe_Exception.caught(_g).unwrap(); - var plstr; - try { - plstr = pl.join(","); - } catch( _g1 ) { - plstr = "???"; - } - var msg = "Macro call " + m + "(" + plstr + ") failed (" + Std.string(e) + ")"; - throw haxe_Exception.thrown(msg); - } - break; - } - } -}; -var haxe_ValueException = function(value,previous,native) { - haxe_Exception.call(this,String(value),previous,native); - this.value = value; -}; -haxe_ValueException.__name__ = true; -haxe_ValueException.__super__ = haxe_Exception; -haxe_ValueException.prototype = $extend(haxe_Exception.prototype,{ - unwrap: function() { - return this.value; - } -}); -var haxe_ds_List = function() { - this.length = 0; -}; -haxe_ds_List.__name__ = true; -haxe_ds_List.prototype = { - add: function(item) { - var x = new haxe_ds__$List_ListNode(item,null); - if(this.h == null) { - this.h = x; - } else { - this.q.next = x; - } - this.q = x; - this.length++; - } - ,push: function(item) { - var x = new haxe_ds__$List_ListNode(item,this.h); - this.h = x; - if(this.q == null) { - this.q = x; - } - this.length++; - } - ,first: function() { - if(this.h == null) { - return null; - } else { - return this.h.item; - } - } - ,pop: function() { - if(this.h == null) { - return null; - } - var x = this.h.item; - this.h = this.h.next; - if(this.h == null) { - this.q = null; - } - this.length--; - return x; - } - ,isEmpty: function() { - return this.h == null; - } - ,toString: function() { - var s_b = ""; - var first = true; - var l = this.h; - s_b += "{"; - while(l != null) { - if(first) { - first = false; - } else { - s_b += ", "; - } - s_b += Std.string(Std.string(l.item)); - l = l.next; - } - s_b += "}"; - return s_b; - } -}; -var haxe_ds__$List_ListNode = function(item,next) { - this.item = item; - this.next = next; -}; -haxe_ds__$List_ListNode.__name__ = true; -var js_Boot = function() { }; -js_Boot.__name__ = true; -js_Boot.__string_rec = function(o,s) { - if(o == null) { - return "null"; - } - if(s.length >= 5) { - return "<...>"; - } - var t = typeof(o); - if(t == "function" && (o.__name__ || o.__ename__)) { - t = "object"; - } - switch(t) { - case "function": - return ""; - case "object": - if(o.__enum__) { - var e = $hxEnums[o.__enum__]; - var con = e.__constructs__[o._hx_index]; - var n = con._hx_name; - if(con.__params__) { - s = s + "\t"; - return n + "(" + ((function($this) { - var $r; - var _g = []; - { - var _g1 = 0; - var _g2 = con.__params__; - while(true) { - if(!(_g1 < _g2.length)) { - break; - } - var p = _g2[_g1]; - _g1 = _g1 + 1; - _g.push(js_Boot.__string_rec(o[p],s)); - } - } - $r = _g; - return $r; - }(this))).join(",") + ")"; - } else { - return n; - } - } - if(((o) instanceof Array)) { - var str = "["; - s += "\t"; - var _g = 0; - var _g1 = o.length; - while(_g < _g1) { - var i = _g++; - str += (i > 0 ? "," : "") + js_Boot.__string_rec(o[i],s); - } - str += "]"; - return str; - } - var tostr; - try { - tostr = o.toString; - } catch( _g ) { - return "???"; - } - if(tostr != null && tostr != Object.toString && typeof(tostr) == "function") { - var s2 = o.toString(); - if(s2 != "[object Object]") { - return s2; - } - } - var str = "{\n"; - s += "\t"; - var hasp = o.hasOwnProperty != null; - var k = null; - for( k in o ) { - if(hasp && !o.hasOwnProperty(k)) { - continue; - } - if(k == "prototype" || k == "__class__" || k == "__super__" || k == "__interfaces__" || k == "__properties__") { - continue; - } - if(str.length != 2) { - str += ", \n"; - } - str += s + k + " : " + js_Boot.__string_rec(o[k],s); - } - s = s.substring(1); - str += "\n" + s + "}"; - return str; - case "string": - return o; - default: - return String(o); - } -}; -var xrfragment_Filter = $hx_exports["xrfragment"]["Filter"] = function(str) { - this.q = { }; - this.str = ""; - if(str != null) { - this.parse(str); - } -}; -xrfragment_Filter.__name__ = true; -xrfragment_Filter.prototype = { - toObject: function() { - return Reflect.copy(this.q); - } - ,get: function() { - return Reflect.copy(this.q); - } - ,parse: function(str) { - var token = str.split(" "); - var q = { }; - var process = function(str,prefix) { - if(prefix == null) { - prefix = ""; - } - str = StringTools.trim(str); - var k = str.split("=")[0]; - var v = str.split("=")[1]; - var filter = { }; - if(q[prefix + k]) { - filter = q[prefix + k]; - } - if(xrfragment_XRF.isProp.match(str)) { - var oper = ""; - if(str.indexOf(">") != -1) { - oper = ">"; - } - if(str.indexOf("<") != -1) { - oper = "<"; - } - if(xrfragment_XRF.isExclude.match(k)) { - k = HxOverrides.substr(k,1,null); - } - v = HxOverrides.substr(v,oper.length,null); - if(oper.length == 0) { - oper = "="; - } - var rule = { }; - if(xrfragment_XRF.isNumber.match(v)) { - rule[oper] = parseFloat(v); - } else { - rule[oper] = v; - } - q["expr"] = rule; - } - var value = xrfragment_XRF.isDeep.match(str) ? k.split("*").length - 1 : 0; - q["deep"] = value; - var value = xrfragment_XRF.isExclude.match(str) ? false : true; - q["show"] = value; - var value = k.replace(xrfragment_XRF.operators.r,""); - q["key"] = value; - q["value"] = v; - }; - var _g = 0; - var _g1 = token.length; - while(_g < _g1) { - var i = _g++; - process(token[i]); - } - return this.q = q; - } - ,test: function(obj) { - var qualify = false; - var _g = 0; - var _g1 = Reflect.fields(obj); - while(_g < _g1.length) { - var k = _g1[_g]; - ++_g; - var v = Std.string(Reflect.field(obj,k)); - if(this.testProperty(k,v)) { - qualify = true; - } - } - var _g = 0; - var _g1 = Reflect.fields(obj); - while(_g < _g1.length) { - var k = _g1[_g]; - ++_g; - var v = Std.string(Reflect.field(obj,k)); - if(this.testProperty(k,v,true)) { - qualify = false; - } - } - return qualify; - } - ,testProperty: function(property,value,exclude) { - var conds = 0; - var fails = 0; - var qualify = 0; - var testprop = function(expr) { - conds += 1; - fails += expr ? 0 : 1; - return expr; - }; - if(this.q[value] != null) { - var v = this.q[value]; - if(v[property] != null) { - return v[property]; - } - } - if(Reflect.field(this.q,"expr")) { - var f = Reflect.field(this.q,"expr"); - if(!Reflect.field(this.q,"show")) { - if(Reflect.field(f,"!=") != null && testprop((value == null ? "null" : "" + value) == Std.string(Reflect.field(f,"!="))) && exclude) { - ++qualify; - } - } else { - if(Reflect.field(f,"*") != null && testprop(parseFloat(value) != null)) { - ++qualify; - } - if(Reflect.field(f,">") != null && testprop(parseFloat(value) >= parseFloat(Reflect.field(f,">")))) { - ++qualify; - } - if(Reflect.field(f,"<") != null && testprop(parseFloat(value) <= parseFloat(Reflect.field(f,"<")))) { - ++qualify; - } - if(Reflect.field(f,"=") != null && (testprop(value == Reflect.field(f,"=")) || testprop(parseFloat(value) == parseFloat(Reflect.field(f,"="))))) { - ++qualify; - } - } - } - return qualify > 0; - } -}; -var xrfragment_Parser = $hx_exports["xrfragment"]["Parser"] = function() { }; -xrfragment_Parser.__name__ = true; -xrfragment_Parser.parse = function(key,value,store,index) { - var Frag_h = Object.create(null); - Frag_h["#"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_PREDEFINED_VIEW | xrfragment_XRF.PV_EXECUTE; - Frag_h["src"] = xrfragment_XRF.T_URL; - Frag_h["href"] = xrfragment_XRF.T_URL | xrfragment_XRF.T_PREDEFINED_VIEW; - Frag_h["tag"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["pos"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_VECTOR3 | xrfragment_XRF.T_STRING | xrfragment_XRF.METADATA | xrfragment_XRF.NAVIGATOR; - Frag_h["rot"] = xrfragment_XRF.QUERY_OPERATOR | xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_VECTOR3 | xrfragment_XRF.METADATA | xrfragment_XRF.NAVIGATOR; - Frag_h["t"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_FLOAT | xrfragment_XRF.T_VECTOR2 | xrfragment_XRF.NAVIGATOR | xrfragment_XRF.METADATA; - Frag_h["s"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_MEDIAFRAG; - Frag_h["loop"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_PREDEFINED_VIEW; - Frag_h["uv"] = xrfragment_XRF.T_VECTOR2 | xrfragment_XRF.T_MEDIAFRAG; - Frag_h["namespace"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["SPDX"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["unit"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["description"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - var keyStripped = key.replace(xrfragment_XRF.operators.r,""); - var isPVDynamic = key.length > 0 && !Object.prototype.hasOwnProperty.call(Frag_h,key); - if(isPVDynamic) { - var v = new xrfragment_XRF(key,xrfragment_XRF.PV_EXECUTE | xrfragment_XRF.NAVIGATOR,index); - v.validate(value); - v.flags = xrfragment_XRF.set(xrfragment_XRF.T_DYNAMICKEY,v.flags); - if(!Object.prototype.hasOwnProperty.call(Frag_h,key)) { - v.flags = xrfragment_XRF.set(xrfragment_XRF.CUSTOMFRAG,v.flags); - } - if(value.length == 0) { - v.flags = xrfragment_XRF.set(xrfragment_XRF.T_DYNAMICKEYVALUE,v.flags); - } - store[keyStripped] = v; - return true; - } - var v = new xrfragment_XRF(key,Frag_h[key],index); - if(Object.prototype.hasOwnProperty.call(Frag_h,key)) { - if(!v.validate(value)) { - console.log("src/xrfragment/Parser.hx:67:","⚠ fragment '" + key + "' has incompatible value (" + value + ")"); - return false; - } - store[keyStripped] = v; - if(xrfragment_Parser.debug) { - console.log("src/xrfragment/Parser.hx:71:","✔ " + key + ": " + v.string); - } - } else { - if(typeof(value) == "string") { - v.guessType(v,value); - } - v.flags = xrfragment_XRF.set(xrfragment_XRF.CUSTOMFRAG,v.flags); - store[keyStripped] = v; - } - return true; -}; -xrfragment_Parser.getMetaData = function() { - var meta = { title : ["title","og:title","dc.title"], description : ["aria-description","og:description","dc.description"], author : ["author","dc.creator"], publisher : ["publisher","dc.publisher"], website : ["og:site_name","og:url","dc.publisher"], license : ["SPDX","dc.rights"]}; - return meta; -}; -var xrfragment_URI = $hx_exports["xrfragment"]["URI"] = function() { - this.XRF = { }; - this.hash = { }; - this.fragment = ""; -}; -xrfragment_URI.__name__ = true; -xrfragment_URI.parseFragment = function(url,filter) { - var store = { }; - if(url == null || url.indexOf("#") == -1) { - return store; - } - var fragment = url.split("#"); - var splitArray = fragment[1].split("&"); - var _g = 0; - var _g1 = splitArray.length; - while(_g < _g1) { - var i = _g++; - var splitByEqual = splitArray[i].split("="); - var regexPlus = new EReg("\\+","g"); - var key = splitByEqual[0]; - var value = ""; - if(splitByEqual.length > 1) { - if(xrfragment_XRF.isVector.match(splitByEqual[1])) { - value = splitByEqual[1]; - } else { - var s = regexPlus.split(splitByEqual[1]).join(" "); - value = decodeURIComponent(s.split("+").join(" ")); - } - } - var ok = xrfragment_Parser.parse(key,value,store,i); - } - if(filter != null && filter != 0) { - var _g = 0; - var _g1 = Reflect.fields(store); - while(_g < _g1.length) { - var key = _g1[_g]; - ++_g; - var xrf = store[key]; - if(!xrf.is(filter)) { - Reflect.deleteField(store,key); - } - } - } - return store; -}; -xrfragment_URI.template = function(uri,vars) { - var parts = uri.split("#"); - if(parts.length == 1) { - return uri; - } - var frag = parts[1]; - frag = StringTools.replace(frag,"{","::"); - frag = StringTools.replace(frag,"}","::"); - frag = new haxe_Template(frag).execute(vars); - frag = StringTools.replace(frag,"null",""); - parts[1] = frag; - return parts.join("#"); -}; -xrfragment_URI.parse = function(stringUrl,flags) { - var r = new EReg("^(?:(?![^:@]+:[^:@/]*@)([^:/?#.]+):)?(?://)?((?:(([^:@]*)(?::([^:@]*))?)?@)?([^:/?#]*)(?::(\\d*))?)(((/(?:[^?#](?![^?#/]*\\.[^?#/.]+(?:[?#]|$)))*/?)?([^?#/]*))(?:\\?([^#]*))?(?:#(.*))?)",""); - if(stringUrl.indexOf("://") == -1 && stringUrl.charAt(0) != "/") { - stringUrl = "/" + stringUrl; - } - r.match(stringUrl); - var url = new xrfragment_URI(); - var _g = 0; - var _g1 = xrfragment_URI._parts.length; - while(_g < _g1) { - var i = _g++; - url[xrfragment_URI._parts[i]] = r.matched(i); - } - if(xrfragment_URI.isRelative(url) == true) { - if(url.directory == null && url.host != null) { - url.file = url.host; - } - url.host = ""; - } - url.hash = { }; - if(url.fragment != null && url.fragment.length > 0) { - url.XRF = xrfragment_URI.parseFragment("#" + url.fragment,flags); - var key; - var _g = 0; - var _g1 = Reflect.fields(url.XRF); - while(_g < _g1.length) { - var key = _g1[_g]; - ++_g; - var v = url.XRF[key]; - url.hash[key] = v["string"]; - } - } - xrfragment_URI.computeVars(url); - return url; -}; -xrfragment_URI.computeVars = function(url) { - var r_r = new RegExp("//","g".split("u").join("")); - if(url.directory != null && url.directory.indexOf("//") != -1) { - url.directory = url.directory.replace(r_r,"/"); - } - if(url.path != null && url.path.indexOf("//") != -1) { - url.path = url.path.replace(r_r,"/"); - } - if(url.file != null && url.file.indexOf("//") != -1) { - url.file = url.file.replace(r_r,"/"); - } - url.URN = url.scheme + "://" + url.host; - if(url.port != null) { - url.URN += ":" + url.port; - } - url.URN += url.directory; - if(url.file != null) { - var parts = url.file.split("."); - if(parts.length > 1) { - url.fileExt = parts.pop(); - } - } -}; -xrfragment_URI.toString = function(url) { - var result = ""; - if(url.scheme != null) { - result += url.scheme + "://"; - } - if(url.user != null) { - result += url.user + ":"; - } - if(url.password != null) { - result += url.password + "@"; - } - if(url.host != null) { - result += url.host; - } - if(url.port != null) { - result += ":" + url.port; - } - if(url.directory != null) { - result += url.directory; - } - if(url.file != null) { - result += url.file; - } - if(url.query != null) { - result += "?" + url.query; - } - if(url.fragment != null) { - result += "#" + url.fragment; - } - return result; -}; -xrfragment_URI.appendURI = function(url,appendedURI) { - if(xrfragment_URI.isRelative(url) == true) { - return xrfragment_URI.appendToRelativeURI(url,appendedURI); - } else { - return xrfragment_URI.appendToAbsoluteURI(url,appendedURI); - } -}; -xrfragment_URI.isRelative = function(url) { - return url.scheme == null; -}; -xrfragment_URI.appendToRelativeURI = function(url,appendedURI) { - if(url.directory == null || url.host == null) { - return xrfragment_URI.cloneURI(appendedURI); - } - var resultURI = new xrfragment_URI(); - resultURI.host = url.host; - resultURI.directory = url.directory; - if(appendedURI.host != null) { - resultURI.directory += appendedURI.host; - } - if(appendedURI.directory != null) { - var directory = appendedURI.directory; - if(appendedURI.host == null) { - resultURI.directory += HxOverrides.substr(directory,1,null); - } else { - resultURI.directory += directory; - } - } - if(appendedURI.file != null) { - resultURI.file = appendedURI.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(appendedURI.query != null) { - resultURI.query = appendedURI.query; - } - if(appendedURI.fragment != null) { - resultURI.fragment = appendedURI.fragment; - } - return resultURI; -}; -xrfragment_URI.appendToAbsoluteURI = function(url,appendedURI) { - var resultURI = new xrfragment_URI(); - if(url.scheme != null) { - resultURI.scheme = url.scheme; - } - if(url.host != null) { - resultURI.host = url.host; - } - var directory = ""; - if(url.directory != null) { - directory = url.directory; - } - if(appendedURI.host != null) { - appendedURI.directory += appendedURI.host; - } - if(appendedURI.directory != null) { - directory += appendedURI.directory; - } - resultURI.directory = directory; - if(appendedURI.file != null) { - resultURI.file = appendedURI.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(appendedURI.query != null) { - resultURI.query = appendedURI.query; - } - if(appendedURI.fragment != null) { - resultURI.fragment = appendedURI.fragment; - } - return resultURI; -}; -xrfragment_URI.toAbsolute = function(url,newUrl) { - var newURI = xrfragment_URI.parse(newUrl,0); - var resultURI = new xrfragment_URI(); - resultURI.port = url.port; - resultURI.source = newUrl; - if(newURI.scheme != null) { - resultURI.scheme = newURI.scheme; - } else { - resultURI.scheme = url.scheme; - } - if(newURI.host != null && newURI.host.length > 0) { - resultURI.host = newURI.host; - resultURI.port = null; - resultURI.fragment = null; - resultURI.hash = { }; - resultURI.XRF = { }; - if(newURI.port != null) { - resultURI.port = newURI.port; - } - } else { - resultURI.host = url.host; - } - var directory = ""; - if(url.directory != null) { - directory = url.directory; - } - if(newURI.directory != null) { - if(newUrl.charAt(0) != "/" && newUrl.indexOf("://") == -1) { - var stripRelative_r = new RegExp("\\./.*","".split("u").join("")); - directory = directory.replace(stripRelative_r,""); - directory += newURI.directory; - } else { - directory = newURI.directory; - } - } - resultURI.directory = directory; - if(newURI.file != null) { - resultURI.file = newURI.file; - } else { - resultURI.file = url.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(newURI.query != null) { - resultURI.query = newURI.query; - } - if(newURI.fragment != null) { - resultURI.fragment = newURI.fragment; - } - resultURI.hash = newURI.hash; - resultURI.XRF = newURI.XRF; - xrfragment_URI.computeVars(resultURI); - return resultURI; -}; -xrfragment_URI.cloneURI = function(url) { - var clonedURI = new xrfragment_URI(); - clonedURI.url = url.url; - clonedURI.source = url.source; - clonedURI.scheme = url.scheme; - clonedURI.authority = url.authority; - clonedURI.userInfo = url.userInfo; - clonedURI.password = url.password; - clonedURI.host = url.host; - clonedURI.port = url.port; - clonedURI.relative = url.relative; - clonedURI.path = url.path; - clonedURI.directory = url.directory; - clonedURI.file = url.file; - clonedURI.query = url.query; - clonedURI.fragment = url.fragment; - return clonedURI; -}; -var xrfragment_XRF = $hx_exports["xrfragment"]["XRF"] = function(_fragment,_flags,_index) { - this.floats = []; - this.shift = []; - this.fragment = _fragment; - this.flags = _flags; - this.index = _index; -}; -xrfragment_XRF.__name__ = true; -xrfragment_XRF.set = function(flag,flags) { - return flags | flag; -}; -xrfragment_XRF.unset = function(flag,flags) { - return flags & ~flag; -}; -xrfragment_XRF.prototype = { - is: function(flag) { - var v = this.flags; - if(!(typeof(v) == "number" && ((v | 0) === v))) { - this.flags = 0; - } - return (this.flags & flag) != 0; - } - ,validate: function(value) { - this.guessType(this,value); - var ok = true; - if(value.length == 0 && !this.is(xrfragment_XRF.T_PREDEFINED_VIEW)) { - ok = false; - } - if(!this.is(xrfragment_XRF.T_FLOAT) && this.is(xrfragment_XRF.T_VECTOR2) && !(typeof(this.x) == "number" && typeof(this.y) == "number")) { - ok = false; - } - if(!(this.is(xrfragment_XRF.T_VECTOR2) || this.is(xrfragment_XRF.T_STRING)) && this.is(xrfragment_XRF.T_VECTOR3) && !(typeof(this.x) == "number" && typeof(this.y) == "number" && typeof(this.z) == "number")) { - ok = false; - } - return ok; - } - ,guessType: function(v,str) { - v.string = str; - if(xrfragment_XRF.isReset.match(v.fragment)) { - v.reset = true; - } - if(v.fragment == "loop") { - v.loop = true; - } - if(typeof(str) != "string") { - return; - } - if(str.length > 0) { - if(xrfragment_XRF.isXRFScheme.match(str)) { - v.xrfScheme = true; - str = str.replace(xrfragment_XRF.isXRFScheme.r,""); - v.string = str; - } - if(str.split(",").length > 1) { - var xyzn = str.split(","); - if(xyzn.length > 0) { - v.x = parseFloat(xyzn[0]); - } - if(xyzn.length > 1) { - v.y = parseFloat(xyzn[1]); - } - if(xyzn.length > 2) { - v.z = parseFloat(xyzn[2]); - } - var _g = 0; - var _g1 = xyzn.length; - while(_g < _g1) { - var i = _g++; - v.shift.push(xrfragment_XRF.isShift.match(xyzn[i])); - v.floats.push(parseFloat(xyzn[i].replace(xrfragment_XRF.isShift.r,""))); - } - } - if(xrfragment_XRF.isColor.match(str)) { - v.color = str; - } - if(xrfragment_XRF.isFloat.match(str)) { - v.x = parseFloat(str); - v.float = v.x; - } - if(xrfragment_XRF.isInt.match(str)) { - v.int = Std.parseInt(str); - v.x = v.int; - v.floats.push(v.x); - } - v.filter = new xrfragment_Filter(v.fragment + "=" + v.string); - } else { - v.filter = new xrfragment_Filter(v.fragment); - } - } -}; -function $getIterator(o) { if( o instanceof Array ) return new haxe_iterators_ArrayIterator(o); else return o.iterator(); } -function $bind(o,m) { if( m == null ) return null; if( m.__id__ == null ) m.__id__ = $global.$haxeUID++; var f; if( o.hx__closures__ == null ) o.hx__closures__ = {}; else f = o.hx__closures__[m.__id__]; if( f == null ) { f = m.bind(o); o.hx__closures__[m.__id__] = f; } return f; } -$global.$haxeUID |= 0; -if(typeof(performance) != "undefined" ? typeof(performance.now) == "function" : false) { - HxOverrides.now = performance.now.bind(performance); -} -if( String.fromCodePoint == null ) String.fromCodePoint = function(c) { return c < 0x10000 ? String.fromCharCode(c) : String.fromCharCode((c>>10)+0xD7C0)+String.fromCharCode((c&0x3FF)+0xDC00); } -String.__name__ = true; -Array.__name__ = true; -js_Boot.__toStr = ({ }).toString; -haxe_Template.splitter = new EReg("(::[A-Za-z0-9_ ()&|!+=/><*.\"-]+::|\\$\\$([A-Za-z0-9_-]+)\\()",""); -haxe_Template.expr_splitter = new EReg("(\\(|\\)|[ \r\n\t]*\"[^\"]*\"[ \r\n\t]*|[!+=/><*.&|-]+)",""); -haxe_Template.expr_trim = new EReg("^[ ]*([^ ]+)[ ]*$",""); -haxe_Template.expr_int = new EReg("^[0-9]+$",""); -haxe_Template.expr_float = new EReg("^([+-]?)(?=\\d|,\\d)\\d*(,\\d*)?([Ee]([+-]?\\d+))?$",""); -haxe_Template.globals = { }; -haxe_Template.hxKeepArrayIterator = new haxe_iterators_ArrayIterator([]); -xrfragment_Parser.error = ""; -xrfragment_Parser.debug = false; -xrfragment_URI.__meta__ = { statics : { template : { keep : null}}}; -xrfragment_URI._parts = ["source","scheme","authority","userInfo","user","password","host","port","relative","path","directory","file","query","fragment"]; -xrfragment_XRF.IMMUTABLE = 1; -xrfragment_XRF.PROP_BIND = 2; -xrfragment_XRF.QUERY_OPERATOR = 4; -xrfragment_XRF.PROMPT = 8; -xrfragment_XRF.CUSTOMFRAG = 16; -xrfragment_XRF.NAVIGATOR = 32; -xrfragment_XRF.METADATA = 64; -xrfragment_XRF.PV_OVERRIDE = 128; -xrfragment_XRF.PV_EXECUTE = 256; -xrfragment_XRF.T_COLOR = 8192; -xrfragment_XRF.T_INT = 16384; -xrfragment_XRF.T_FLOAT = 32768; -xrfragment_XRF.T_VECTOR2 = 65536; -xrfragment_XRF.T_VECTOR3 = 131072; -xrfragment_XRF.T_URL = 262144; -xrfragment_XRF.T_PREDEFINED_VIEW = 524288; -xrfragment_XRF.T_STRING = 1048576; -xrfragment_XRF.T_MEDIAFRAG = 2097152; -xrfragment_XRF.T_DYNAMICKEY = 4194304; -xrfragment_XRF.T_DYNAMICKEYVALUE = 8388608; -xrfragment_XRF.isColor = new EReg("^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$",""); -xrfragment_XRF.isInt = new EReg("^[-0-9]+$",""); -xrfragment_XRF.isFloat = new EReg("^[-0-9]+\\.[0-9]+$",""); -xrfragment_XRF.isVector = new EReg("([,]+|\\w)",""); -xrfragment_XRF.isUrl = new EReg("(://)?\\..*",""); -xrfragment_XRF.isUrlOrPretypedView = new EReg("(^#|://)?\\..*",""); -xrfragment_XRF.isString = new EReg(".*",""); -xrfragment_XRF.operators = new EReg("(^[-]|^[!]|[\\*]$)","g"); -xrfragment_XRF.isProp = new EReg("^.*=[><=]?",""); -xrfragment_XRF.isExclude = new EReg("^-",""); -xrfragment_XRF.isDeep = new EReg("\\*",""); -xrfragment_XRF.isNumber = new EReg("^[0-9\\.]+$",""); -xrfragment_XRF.isMediaFrag = new EReg("^([0-9\\.,\\*+-]+)$",""); -xrfragment_XRF.isReset = new EReg("^!",""); -xrfragment_XRF.isShift = new EReg("^(\\+|--)",""); -xrfragment_XRF.isXRFScheme = new EReg("^xrf://",""); -})(typeof window != "undefined" ? window : typeof global != "undefined" ? global : typeof self != "undefined" ? self : this); -var xrfragment = $hx_exports["xrfragment"]; -export default xrfragment; -// Generated by Haxe 4.3.3 -var $hx_exports = typeof exports != "undefined" ? exports : typeof window != "undefined" ? window : typeof self != "undefined" ? self : this; -(function ($global) { "use strict"; -$hx_exports["xrfragment"] = $hx_exports["xrfragment"] || {}; -var $estr = function() { return js_Boot.__string_rec(this,''); },$hxEnums = $hxEnums || {},$_; -function $extend(from, fields) { - var proto = Object.create(from); - for (var name in fields) proto[name] = fields[name]; - if( fields.toString !== Object.prototype.toString ) proto.toString = fields.toString; - return proto; -} -var EReg = function(r,opt) { - this.r = new RegExp(r,opt.split("u").join("")); -}; -EReg.__name__ = true; -EReg.prototype = { - match: function(s) { - if(this.r.global) { - this.r.lastIndex = 0; - } - this.r.m = this.r.exec(s); - this.r.s = s; - return this.r.m != null; - } - ,matched: function(n) { - if(this.r.m != null && n >= 0 && n < this.r.m.length) { - return this.r.m[n]; - } else { - throw haxe_Exception.thrown("EReg::matched"); - } - } - ,matchedRight: function() { - if(this.r.m == null) { - throw haxe_Exception.thrown("No string matched"); - } - var sz = this.r.m.index + this.r.m[0].length; - return HxOverrides.substr(this.r.s,sz,this.r.s.length - sz); - } - ,matchedPos: function() { - if(this.r.m == null) { - throw haxe_Exception.thrown("No string matched"); - } - return { pos : this.r.m.index, len : this.r.m[0].length}; - } - ,split: function(s) { - var d = "#__delim__#"; - return s.replace(this.r,d).split(d); - } -}; -var HxOverrides = function() { }; -HxOverrides.__name__ = true; -HxOverrides.cca = function(s,index) { - var x = s.charCodeAt(index); - if(x != x) { - return undefined; - } - return x; -}; -HxOverrides.substr = function(s,pos,len) { - if(len == null) { - len = s.length; - } else if(len < 0) { - if(pos == 0) { - len = s.length + len; - } else { - return ""; - } - } - return s.substr(pos,len); -}; -HxOverrides.now = function() { - return Date.now(); -}; -Math.__name__ = true; -var Reflect = function() { }; -Reflect.__name__ = true; -Reflect.field = function(o,field) { - try { - return o[field]; - } catch( _g ) { - return null; - } -}; -Reflect.getProperty = function(o,field) { - var tmp; - if(o == null) { - return null; - } else { - var tmp1; - if(o.__properties__) { - tmp = o.__properties__["get_" + field]; - tmp1 = tmp; - } else { - tmp1 = false; - } - if(tmp1) { - return o[tmp](); - } else { - return o[field]; - } - } -}; -Reflect.fields = function(o) { - var a = []; - if(o != null) { - var hasOwnProperty = Object.prototype.hasOwnProperty; - for( var f in o ) { - if(f != "__id__" && f != "hx__closures__" && hasOwnProperty.call(o,f)) { - a.push(f); - } - } - } - return a; -}; -Reflect.isObject = function(v) { - if(v == null) { - return false; - } - var t = typeof(v); - if(!(t == "string" || t == "object" && v.__enum__ == null)) { - if(t == "function") { - return (v.__name__ || v.__ename__) != null; - } else { - return false; - } - } else { - return true; - } -}; -Reflect.deleteField = function(o,field) { - if(!Object.prototype.hasOwnProperty.call(o,field)) { - return false; - } - delete(o[field]); - return true; -}; -Reflect.copy = function(o) { - if(o == null) { - return null; - } - var o2 = { }; - var _g = 0; - var _g1 = Reflect.fields(o); - while(_g < _g1.length) { - var f = _g1[_g]; - ++_g; - o2[f] = Reflect.field(o,f); - } - return o2; -}; -var Std = function() { }; -Std.__name__ = true; -Std.string = function(s) { - return js_Boot.__string_rec(s,""); -}; -Std.parseInt = function(x) { - var v = parseInt(x); - if(isNaN(v)) { - return null; - } - return v; -}; -var StringBuf = function() { - this.b = ""; -}; -StringBuf.__name__ = true; -var StringTools = function() { }; -StringTools.__name__ = true; -StringTools.isSpace = function(s,pos) { - var c = HxOverrides.cca(s,pos); - if(!(c > 8 && c < 14)) { - return c == 32; - } else { - return true; - } -}; -StringTools.ltrim = function(s) { - var l = s.length; - var r = 0; - while(r < l && StringTools.isSpace(s,r)) ++r; - if(r > 0) { - return HxOverrides.substr(s,r,l - r); - } else { - return s; - } -}; -StringTools.rtrim = function(s) { - var l = s.length; - var r = 0; - while(r < l && StringTools.isSpace(s,l - r - 1)) ++r; - if(r > 0) { - return HxOverrides.substr(s,0,l - r); - } else { - return s; - } -}; -StringTools.trim = function(s) { - return StringTools.ltrim(StringTools.rtrim(s)); -}; -StringTools.replace = function(s,sub,by) { - return s.split(sub).join(by); -}; -var haxe_Exception = function(message,previous,native) { - Error.call(this,message); - this.message = message; - this.__previousException = previous; - this.__nativeException = native != null ? native : this; -}; -haxe_Exception.__name__ = true; -haxe_Exception.caught = function(value) { - if(((value) instanceof haxe_Exception)) { - return value; - } else if(((value) instanceof Error)) { - return new haxe_Exception(value.message,null,value); - } else { - return new haxe_ValueException(value,null,value); - } -}; -haxe_Exception.thrown = function(value) { - if(((value) instanceof haxe_Exception)) { - return value.get_native(); - } else if(((value) instanceof Error)) { - return value; - } else { - var e = new haxe_ValueException(value); - return e; - } -}; -haxe_Exception.__super__ = Error; -haxe_Exception.prototype = $extend(Error.prototype,{ - unwrap: function() { - return this.__nativeException; - } - ,get_native: function() { - return this.__nativeException; - } - ,__properties__: {get_native:"get_native"} -}); -var haxe__$Template_TemplateExpr = $hxEnums["haxe._Template.TemplateExpr"] = { __ename__:true,__constructs__:null - ,OpVar: ($_=function(v) { return {_hx_index:0,v:v,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpVar",$_.__params__ = ["v"],$_) - ,OpExpr: ($_=function(expr) { return {_hx_index:1,expr:expr,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpExpr",$_.__params__ = ["expr"],$_) - ,OpIf: ($_=function(expr,eif,eelse) { return {_hx_index:2,expr:expr,eif:eif,eelse:eelse,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpIf",$_.__params__ = ["expr","eif","eelse"],$_) - ,OpStr: ($_=function(str) { return {_hx_index:3,str:str,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpStr",$_.__params__ = ["str"],$_) - ,OpBlock: ($_=function(l) { return {_hx_index:4,l:l,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpBlock",$_.__params__ = ["l"],$_) - ,OpForeach: ($_=function(expr,loop) { return {_hx_index:5,expr:expr,loop:loop,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpForeach",$_.__params__ = ["expr","loop"],$_) - ,OpMacro: ($_=function(name,params) { return {_hx_index:6,name:name,params:params,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpMacro",$_.__params__ = ["name","params"],$_) -}; -haxe__$Template_TemplateExpr.__constructs__ = [haxe__$Template_TemplateExpr.OpVar,haxe__$Template_TemplateExpr.OpExpr,haxe__$Template_TemplateExpr.OpIf,haxe__$Template_TemplateExpr.OpStr,haxe__$Template_TemplateExpr.OpBlock,haxe__$Template_TemplateExpr.OpForeach,haxe__$Template_TemplateExpr.OpMacro]; -var haxe_iterators_ArrayIterator = function(array) { - this.current = 0; - this.array = array; -}; -haxe_iterators_ArrayIterator.__name__ = true; -haxe_iterators_ArrayIterator.prototype = { - hasNext: function() { - return this.current < this.array.length; - } - ,next: function() { - return this.array[this.current++]; - } -}; -var haxe_Template = function(str) { - var tokens = this.parseTokens(str); - this.expr = this.parseBlock(tokens); - if(!tokens.isEmpty()) { - throw haxe_Exception.thrown("Unexpected '" + Std.string(tokens.first().s) + "'"); - } -}; -haxe_Template.__name__ = true; -haxe_Template.prototype = { - execute: function(context,macros) { - this.macros = macros == null ? { } : macros; - this.context = context; - this.stack = new haxe_ds_List(); - this.buf = new StringBuf(); - this.run(this.expr); - return this.buf.b; - } - ,resolve: function(v) { - if(v == "__current__") { - return this.context; - } - if(Reflect.isObject(this.context)) { - var value = Reflect.getProperty(this.context,v); - if(value != null || Object.prototype.hasOwnProperty.call(this.context,v)) { - return value; - } - } - var _g_head = this.stack.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var ctx = val; - var value = Reflect.getProperty(ctx,v); - if(value != null || Object.prototype.hasOwnProperty.call(ctx,v)) { - return value; - } - } - return Reflect.field(haxe_Template.globals,v); - } - ,parseTokens: function(data) { - var tokens = new haxe_ds_List(); - while(haxe_Template.splitter.match(data)) { - var p = haxe_Template.splitter.matchedPos(); - if(p.pos > 0) { - tokens.add({ p : HxOverrides.substr(data,0,p.pos), s : true, l : null}); - } - if(HxOverrides.cca(data,p.pos) == 58) { - tokens.add({ p : HxOverrides.substr(data,p.pos + 2,p.len - 4), s : false, l : null}); - data = haxe_Template.splitter.matchedRight(); - continue; - } - var parp = p.pos + p.len; - var npar = 1; - var params = []; - var part = ""; - while(true) { - var c = HxOverrides.cca(data,parp); - ++parp; - if(c == 40) { - ++npar; - } else if(c == 41) { - --npar; - if(npar <= 0) { - break; - } - } else if(c == null) { - throw haxe_Exception.thrown("Unclosed macro parenthesis"); - } - if(c == 44 && npar == 1) { - params.push(part); - part = ""; - } else { - part += String.fromCodePoint(c); - } - } - params.push(part); - tokens.add({ p : haxe_Template.splitter.matched(2), s : false, l : params}); - data = HxOverrides.substr(data,parp,data.length - parp); - } - if(data.length > 0) { - tokens.add({ p : data, s : true, l : null}); - } - return tokens; - } - ,parseBlock: function(tokens) { - var l = new haxe_ds_List(); - while(true) { - var t = tokens.first(); - if(t == null) { - break; - } - if(!t.s && (t.p == "end" || t.p == "else" || HxOverrides.substr(t.p,0,7) == "elseif ")) { - break; - } - l.add(this.parse(tokens)); - } - if(l.length == 1) { - return l.first(); - } - return haxe__$Template_TemplateExpr.OpBlock(l); - } - ,parse: function(tokens) { - var t = tokens.pop(); - var p = t.p; - if(t.s) { - return haxe__$Template_TemplateExpr.OpStr(p); - } - if(t.l != null) { - var pe = new haxe_ds_List(); - var _g = 0; - var _g1 = t.l; - while(_g < _g1.length) { - var p1 = _g1[_g]; - ++_g; - pe.add(this.parseBlock(this.parseTokens(p1))); - } - return haxe__$Template_TemplateExpr.OpMacro(p,pe); - } - var kwdEnd = function(kwd) { - var pos = -1; - var length = kwd.length; - if(HxOverrides.substr(p,0,length) == kwd) { - pos = length; - var _g_offset = 0; - var _g_s = HxOverrides.substr(p,length,null); - while(_g_offset < _g_s.length) { - var c = _g_s.charCodeAt(_g_offset++); - if(c == 32) { - ++pos; - } else { - break; - } - } - } - return pos; - }; - var pos = kwdEnd("if"); - if(pos > 0) { - p = HxOverrides.substr(p,pos,p.length - pos); - var e = this.parseExpr(p); - var eif = this.parseBlock(tokens); - var t = tokens.first(); - var eelse; - if(t == null) { - throw haxe_Exception.thrown("Unclosed 'if'"); - } - if(t.p == "end") { - tokens.pop(); - eelse = null; - } else if(t.p == "else") { - tokens.pop(); - eelse = this.parseBlock(tokens); - t = tokens.pop(); - if(t == null || t.p != "end") { - throw haxe_Exception.thrown("Unclosed 'else'"); - } - } else { - t.p = HxOverrides.substr(t.p,4,t.p.length - 4); - eelse = this.parse(tokens); - } - return haxe__$Template_TemplateExpr.OpIf(e,eif,eelse); - } - var pos = kwdEnd("foreach"); - if(pos >= 0) { - p = HxOverrides.substr(p,pos,p.length - pos); - var e = this.parseExpr(p); - var efor = this.parseBlock(tokens); - var t = tokens.pop(); - if(t == null || t.p != "end") { - throw haxe_Exception.thrown("Unclosed 'foreach'"); - } - return haxe__$Template_TemplateExpr.OpForeach(e,efor); - } - if(haxe_Template.expr_splitter.match(p)) { - return haxe__$Template_TemplateExpr.OpExpr(this.parseExpr(p)); - } - return haxe__$Template_TemplateExpr.OpVar(p); - } - ,parseExpr: function(data) { - var l = new haxe_ds_List(); - var expr = data; - while(haxe_Template.expr_splitter.match(data)) { - var p = haxe_Template.expr_splitter.matchedPos(); - var k = p.pos + p.len; - if(p.pos != 0) { - l.add({ p : HxOverrides.substr(data,0,p.pos), s : true}); - } - var p1 = haxe_Template.expr_splitter.matched(0); - l.add({ p : p1, s : p1.indexOf("\"") >= 0}); - data = haxe_Template.expr_splitter.matchedRight(); - } - if(data.length != 0) { - var _g_offset = 0; - var _g_s = data; - while(_g_offset < _g_s.length) { - var _g_key = _g_offset; - var _g_value = _g_s.charCodeAt(_g_offset++); - var i = _g_key; - var c = _g_value; - if(c != 32) { - l.add({ p : HxOverrides.substr(data,i,null), s : true}); - break; - } - } - } - var e; - try { - e = this.makeExpr(l); - if(!l.isEmpty()) { - throw haxe_Exception.thrown(l.first().p); - } - } catch( _g ) { - var _g1 = haxe_Exception.caught(_g).unwrap(); - if(typeof(_g1) == "string") { - var s = _g1; - throw haxe_Exception.thrown("Unexpected '" + s + "' in " + expr); - } else { - throw _g; - } - } - return function() { - try { - return e(); - } catch( _g ) { - var exc = haxe_Exception.caught(_g).unwrap(); - throw haxe_Exception.thrown("Error : " + Std.string(exc) + " in " + expr); - } - }; - } - ,makeConst: function(v) { - haxe_Template.expr_trim.match(v); - v = haxe_Template.expr_trim.matched(1); - if(HxOverrides.cca(v,0) == 34) { - var str = HxOverrides.substr(v,1,v.length - 2); - return function() { - return str; - }; - } - if(haxe_Template.expr_int.match(v)) { - var i = Std.parseInt(v); - return function() { - return i; - }; - } - if(haxe_Template.expr_float.match(v)) { - var f = parseFloat(v); - return function() { - return f; - }; - } - var me = this; - return function() { - return me.resolve(v); - }; - } - ,makePath: function(e,l) { - var p = l.first(); - if(p == null || p.p != ".") { - return e; - } - l.pop(); - var field = l.pop(); - if(field == null || !field.s) { - throw haxe_Exception.thrown(field.p); - } - var f = field.p; - haxe_Template.expr_trim.match(f); - f = haxe_Template.expr_trim.matched(1); - return this.makePath(function() { - return Reflect.field(e(),f); - },l); - } - ,makeExpr: function(l) { - return this.makePath(this.makeExpr2(l),l); - } - ,skipSpaces: function(l) { - var p = l.first(); - while(p != null) { - var _g_offset = 0; - var _g_s = p.p; - while(_g_offset < _g_s.length) { - var c = _g_s.charCodeAt(_g_offset++); - if(c != 32) { - return; - } - } - l.pop(); - p = l.first(); - } - } - ,makeExpr2: function(l) { - this.skipSpaces(l); - var p = l.pop(); - this.skipSpaces(l); - if(p == null) { - throw haxe_Exception.thrown(""); - } - if(p.s) { - return this.makeConst(p.p); - } - switch(p.p) { - case "!": - var e = this.makeExpr(l); - return function() { - var v = e(); - if(v != null) { - return v == false; - } else { - return true; - } - }; - case "(": - this.skipSpaces(l); - var e1 = this.makeExpr(l); - this.skipSpaces(l); - var p1 = l.pop(); - if(p1 == null || p1.s) { - throw haxe_Exception.thrown(p1); - } - if(p1.p == ")") { - return e1; - } - this.skipSpaces(l); - var e2 = this.makeExpr(l); - this.skipSpaces(l); - var p2 = l.pop(); - this.skipSpaces(l); - if(p2 == null || p2.p != ")") { - throw haxe_Exception.thrown(p2); - } - switch(p1.p) { - case "!=": - return function() { - return e1() != e2(); - }; - case "&&": - return function() { - return e1() && e2(); - }; - case "*": - return function() { - return e1() * e2(); - }; - case "+": - return function() { - return e1() + e2(); - }; - case "-": - return function() { - return e1() - e2(); - }; - case "/": - return function() { - return e1() / e2(); - }; - case "<": - return function() { - return e1() < e2(); - }; - case "<=": - return function() { - return e1() <= e2(); - }; - case "==": - return function() { - return e1() == e2(); - }; - case ">": - return function() { - return e1() > e2(); - }; - case ">=": - return function() { - return e1() >= e2(); - }; - case "||": - return function() { - return e1() || e2(); - }; - default: - throw haxe_Exception.thrown("Unknown operation " + p1.p); - } - break; - case "-": - var e3 = this.makeExpr(l); - return function() { - return -e3(); - }; - } - throw haxe_Exception.thrown(p.p); - } - ,run: function(e) { - switch(e._hx_index) { - case 0: - var v = e.v; - var _this = this.buf; - var x = Std.string(this.resolve(v)); - _this.b += Std.string(x); - break; - case 1: - var e1 = e.expr; - var _this = this.buf; - var x = Std.string(e1()); - _this.b += Std.string(x); - break; - case 2: - var e1 = e.expr; - var eif = e.eif; - var eelse = e.eelse; - var v = e1(); - if(v == null || v == false) { - if(eelse != null) { - this.run(eelse); - } - } else { - this.run(eif); - } - break; - case 3: - var str = e.str; - this.buf.b += str == null ? "null" : "" + str; - break; - case 4: - var l = e.l; - var _g_head = l.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var e1 = val; - this.run(e1); - } - break; - case 5: - var e1 = e.expr; - var loop = e.loop; - var v = e1(); - try { - var x = $getIterator(v); - if(x.hasNext == null) { - throw haxe_Exception.thrown(null); - } - v = x; - } catch( _g ) { - try { - if(v.hasNext == null) { - throw haxe_Exception.thrown(null); - } - } catch( _g1 ) { - throw haxe_Exception.thrown("Cannot iter on " + Std.string(v)); - } - } - this.stack.push(this.context); - var v1 = v; - var ctx = v1; - while(ctx.hasNext()) { - var ctx1 = ctx.next(); - this.context = ctx1; - this.run(loop); - } - this.context = this.stack.pop(); - break; - case 6: - var m = e.name; - var params = e.params; - var v = Reflect.field(this.macros,m); - var pl = []; - var old = this.buf; - pl.push($bind(this,this.resolve)); - var _g_head = params.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var p = val; - if(p._hx_index == 0) { - var v1 = p.v; - pl.push(this.resolve(v1)); - } else { - this.buf = new StringBuf(); - this.run(p); - pl.push(this.buf.b); - } - } - this.buf = old; - try { - var _this = this.buf; - var x = Std.string(v.apply(this.macros,pl)); - _this.b += Std.string(x); - } catch( _g ) { - var e = haxe_Exception.caught(_g).unwrap(); - var plstr; - try { - plstr = pl.join(","); - } catch( _g1 ) { - plstr = "???"; - } - var msg = "Macro call " + m + "(" + plstr + ") failed (" + Std.string(e) + ")"; - throw haxe_Exception.thrown(msg); - } - break; - } - } -}; -var haxe_ValueException = function(value,previous,native) { - haxe_Exception.call(this,String(value),previous,native); - this.value = value; -}; -haxe_ValueException.__name__ = true; -haxe_ValueException.__super__ = haxe_Exception; -haxe_ValueException.prototype = $extend(haxe_Exception.prototype,{ - unwrap: function() { - return this.value; - } -}); -var haxe_ds_List = function() { - this.length = 0; -}; -haxe_ds_List.__name__ = true; -haxe_ds_List.prototype = { - add: function(item) { - var x = new haxe_ds__$List_ListNode(item,null); - if(this.h == null) { - this.h = x; - } else { - this.q.next = x; - } - this.q = x; - this.length++; - } - ,push: function(item) { - var x = new haxe_ds__$List_ListNode(item,this.h); - this.h = x; - if(this.q == null) { - this.q = x; - } - this.length++; - } - ,first: function() { - if(this.h == null) { - return null; - } else { - return this.h.item; - } - } - ,pop: function() { - if(this.h == null) { - return null; - } - var x = this.h.item; - this.h = this.h.next; - if(this.h == null) { - this.q = null; - } - this.length--; - return x; - } - ,isEmpty: function() { - return this.h == null; - } - ,toString: function() { - var s_b = ""; - var first = true; - var l = this.h; - s_b += "{"; - while(l != null) { - if(first) { - first = false; - } else { - s_b += ", "; - } - s_b += Std.string(Std.string(l.item)); - l = l.next; - } - s_b += "}"; - return s_b; - } -}; -var haxe_ds__$List_ListNode = function(item,next) { - this.item = item; - this.next = next; -}; -haxe_ds__$List_ListNode.__name__ = true; -var js_Boot = function() { }; -js_Boot.__name__ = true; -js_Boot.__string_rec = function(o,s) { - if(o == null) { - return "null"; - } - if(s.length >= 5) { - return "<...>"; - } - var t = typeof(o); - if(t == "function" && (o.__name__ || o.__ename__)) { - t = "object"; - } - switch(t) { - case "function": - return ""; - case "object": - if(o.__enum__) { - var e = $hxEnums[o.__enum__]; - var con = e.__constructs__[o._hx_index]; - var n = con._hx_name; - if(con.__params__) { - s = s + "\t"; - return n + "(" + ((function($this) { - var $r; - var _g = []; - { - var _g1 = 0; - var _g2 = con.__params__; - while(true) { - if(!(_g1 < _g2.length)) { - break; - } - var p = _g2[_g1]; - _g1 = _g1 + 1; - _g.push(js_Boot.__string_rec(o[p],s)); - } - } - $r = _g; - return $r; - }(this))).join(",") + ")"; - } else { - return n; - } - } - if(((o) instanceof Array)) { - var str = "["; - s += "\t"; - var _g = 0; - var _g1 = o.length; - while(_g < _g1) { - var i = _g++; - str += (i > 0 ? "," : "") + js_Boot.__string_rec(o[i],s); - } - str += "]"; - return str; - } - var tostr; - try { - tostr = o.toString; - } catch( _g ) { - return "???"; - } - if(tostr != null && tostr != Object.toString && typeof(tostr) == "function") { - var s2 = o.toString(); - if(s2 != "[object Object]") { - return s2; - } - } - var str = "{\n"; - s += "\t"; - var hasp = o.hasOwnProperty != null; - var k = null; - for( k in o ) { - if(hasp && !o.hasOwnProperty(k)) { - continue; - } - if(k == "prototype" || k == "__class__" || k == "__super__" || k == "__interfaces__" || k == "__properties__") { - continue; - } - if(str.length != 2) { - str += ", \n"; - } - str += s + k + " : " + js_Boot.__string_rec(o[k],s); - } - s = s.substring(1); - str += "\n" + s + "}"; - return str; - case "string": - return o; - default: - return String(o); - } -}; -var xrfragment_Filter = $hx_exports["xrfragment"]["Filter"] = function(str) { - this.q = { }; - this.str = ""; - if(str != null) { - this.parse(str); - } -}; -xrfragment_Filter.__name__ = true; -xrfragment_Filter.prototype = { - toObject: function() { - return Reflect.copy(this.q); - } - ,get: function() { - return Reflect.copy(this.q); - } - ,parse: function(str) { - var token = str.split(" "); - var q = { }; - var process = function(str,prefix) { - if(prefix == null) { - prefix = ""; - } - str = StringTools.trim(str); - var k = str.split("=")[0]; - var v = str.split("=")[1]; - var filter = { }; - if(q[prefix + k]) { - filter = q[prefix + k]; - } - if(xrfragment_XRF.isProp.match(str)) { - var oper = ""; - if(str.indexOf(">") != -1) { - oper = ">"; - } - if(str.indexOf("<") != -1) { - oper = "<"; - } - if(xrfragment_XRF.isExclude.match(k)) { - k = HxOverrides.substr(k,1,null); - } - v = HxOverrides.substr(v,oper.length,null); - if(oper.length == 0) { - oper = "="; - } - var rule = { }; - if(xrfragment_XRF.isNumber.match(v)) { - rule[oper] = parseFloat(v); - } else { - rule[oper] = v; - } - q["expr"] = rule; - } - var value = xrfragment_XRF.isDeep.match(str) ? k.split("*").length - 1 : 0; - q["deep"] = value; - var value = xrfragment_XRF.isExclude.match(str) ? false : true; - q["show"] = value; - var value = k.replace(xrfragment_XRF.operators.r,""); - q["key"] = value; - q["value"] = v; - }; - var _g = 0; - var _g1 = token.length; - while(_g < _g1) { - var i = _g++; - process(token[i]); - } - return this.q = q; - } - ,test: function(obj) { - var qualify = false; - var _g = 0; - var _g1 = Reflect.fields(obj); - while(_g < _g1.length) { - var k = _g1[_g]; - ++_g; - var v = Std.string(Reflect.field(obj,k)); - if(this.testProperty(k,v)) { - qualify = true; - } - } - var _g = 0; - var _g1 = Reflect.fields(obj); - while(_g < _g1.length) { - var k = _g1[_g]; - ++_g; - var v = Std.string(Reflect.field(obj,k)); - if(this.testProperty(k,v,true)) { - qualify = false; - } - } - return qualify; - } - ,testProperty: function(property,value,exclude) { - var conds = 0; - var fails = 0; - var qualify = 0; - var testprop = function(expr) { - conds += 1; - fails += expr ? 0 : 1; - return expr; - }; - if(this.q[value] != null) { - var v = this.q[value]; - if(v[property] != null) { - return v[property]; - } - } - if(Reflect.field(this.q,"expr")) { - var f = Reflect.field(this.q,"expr"); - if(!Reflect.field(this.q,"show")) { - if(Reflect.field(f,"!=") != null && testprop((value == null ? "null" : "" + value) == Std.string(Reflect.field(f,"!="))) && exclude) { - ++qualify; - } - } else { - if(Reflect.field(f,"*") != null && testprop(parseFloat(value) != null)) { - ++qualify; - } - if(Reflect.field(f,">") != null && testprop(parseFloat(value) >= parseFloat(Reflect.field(f,">")))) { - ++qualify; - } - if(Reflect.field(f,"<") != null && testprop(parseFloat(value) <= parseFloat(Reflect.field(f,"<")))) { - ++qualify; - } - if(Reflect.field(f,"=") != null && (testprop(value == Reflect.field(f,"=")) || testprop(parseFloat(value) == parseFloat(Reflect.field(f,"="))))) { - ++qualify; - } - } - } - return qualify > 0; - } -}; -var xrfragment_Parser = $hx_exports["xrfragment"]["Parser"] = function() { }; -xrfragment_Parser.__name__ = true; -xrfragment_Parser.parse = function(key,value,store,index) { - var Frag_h = Object.create(null); - Frag_h["#"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_PREDEFINED_VIEW | xrfragment_XRF.PV_EXECUTE; - Frag_h["src"] = xrfragment_XRF.T_URL; - Frag_h["href"] = xrfragment_XRF.T_URL | xrfragment_XRF.T_PREDEFINED_VIEW; - Frag_h["tag"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["pos"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_VECTOR3 | xrfragment_XRF.T_STRING | xrfragment_XRF.METADATA | xrfragment_XRF.NAVIGATOR; - Frag_h["rot"] = xrfragment_XRF.QUERY_OPERATOR | xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_VECTOR3 | xrfragment_XRF.METADATA | xrfragment_XRF.NAVIGATOR; - Frag_h["t"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_FLOAT | xrfragment_XRF.T_VECTOR2 | xrfragment_XRF.NAVIGATOR | xrfragment_XRF.METADATA; - Frag_h["s"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_MEDIAFRAG; - Frag_h["loop"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_PREDEFINED_VIEW; - Frag_h["uv"] = xrfragment_XRF.T_VECTOR2 | xrfragment_XRF.T_MEDIAFRAG; - Frag_h["namespace"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["SPDX"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["unit"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["description"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - var keyStripped = key.replace(xrfragment_XRF.operators.r,""); - var isPVDynamic = key.length > 0 && !Object.prototype.hasOwnProperty.call(Frag_h,key); - if(isPVDynamic) { - var v = new xrfragment_XRF(key,xrfragment_XRF.PV_EXECUTE | xrfragment_XRF.NAVIGATOR,index); - v.validate(value); - v.flags = xrfragment_XRF.set(xrfragment_XRF.T_DYNAMICKEY,v.flags); - if(!Object.prototype.hasOwnProperty.call(Frag_h,key)) { - v.flags = xrfragment_XRF.set(xrfragment_XRF.CUSTOMFRAG,v.flags); - } - if(value.length == 0) { - v.flags = xrfragment_XRF.set(xrfragment_XRF.T_DYNAMICKEYVALUE,v.flags); - } - store[keyStripped] = v; - return true; - } - var v = new xrfragment_XRF(key,Frag_h[key],index); - if(Object.prototype.hasOwnProperty.call(Frag_h,key)) { - if(!v.validate(value)) { - console.log("src/xrfragment/Parser.hx:67:","⚠ fragment '" + key + "' has incompatible value (" + value + ")"); - return false; - } - store[keyStripped] = v; - if(xrfragment_Parser.debug) { - console.log("src/xrfragment/Parser.hx:71:","✔ " + key + ": " + v.string); - } - } else { - if(typeof(value) == "string") { - v.guessType(v,value); - } - v.flags = xrfragment_XRF.set(xrfragment_XRF.CUSTOMFRAG,v.flags); - store[keyStripped] = v; - } - return true; -}; -xrfragment_Parser.getMetaData = function() { - var meta = { title : ["title","og:title","dc.title"], description : ["aria-description","og:description","dc.description"], author : ["author","dc.creator"], publisher : ["publisher","dc.publisher"], website : ["og:site_name","og:url","dc.publisher"], license : ["SPDX","dc.rights"]}; - return meta; -}; -var xrfragment_URI = $hx_exports["xrfragment"]["URI"] = function() { - this.XRF = { }; - this.hash = { }; - this.fragment = ""; -}; -xrfragment_URI.__name__ = true; -xrfragment_URI.parseFragment = function(url,filter) { - var store = { }; - if(url == null || url.indexOf("#") == -1) { - return store; - } - var fragment = url.split("#"); - var splitArray = fragment[1].split("&"); - var _g = 0; - var _g1 = splitArray.length; - while(_g < _g1) { - var i = _g++; - var splitByEqual = splitArray[i].split("="); - var regexPlus = new EReg("\\+","g"); - var key = splitByEqual[0]; - var value = ""; - if(splitByEqual.length > 1) { - if(xrfragment_XRF.isVector.match(splitByEqual[1])) { - value = splitByEqual[1]; - } else { - var s = regexPlus.split(splitByEqual[1]).join(" "); - value = decodeURIComponent(s.split("+").join(" ")); - } - } - var ok = xrfragment_Parser.parse(key,value,store,i); - } - if(filter != null && filter != 0) { - var _g = 0; - var _g1 = Reflect.fields(store); - while(_g < _g1.length) { - var key = _g1[_g]; - ++_g; - var xrf = store[key]; - if(!xrf.is(filter)) { - Reflect.deleteField(store,key); - } - } - } - return store; -}; -xrfragment_URI.template = function(uri,vars) { - var parts = uri.split("#"); - if(parts.length == 1) { - return uri; - } - var frag = parts[1]; - frag = StringTools.replace(frag,"{","::"); - frag = StringTools.replace(frag,"}","::"); - frag = new haxe_Template(frag).execute(vars); - frag = StringTools.replace(frag,"null",""); - parts[1] = frag; - return parts.join("#"); -}; -xrfragment_URI.parse = function(stringUrl,flags) { - var r = new EReg("^(?:(?![^:@]+:[^:@/]*@)([^:/?#.]+):)?(?://)?((?:(([^:@]*)(?::([^:@]*))?)?@)?([^:/?#]*)(?::(\\d*))?)(((/(?:[^?#](?![^?#/]*\\.[^?#/.]+(?:[?#]|$)))*/?)?([^?#/]*))(?:\\?([^#]*))?(?:#(.*))?)",""); - if(stringUrl.indexOf("://") == -1 && stringUrl.charAt(0) != "/") { - stringUrl = "/" + stringUrl; - } - r.match(stringUrl); - var url = new xrfragment_URI(); - var _g = 0; - var _g1 = xrfragment_URI._parts.length; - while(_g < _g1) { - var i = _g++; - url[xrfragment_URI._parts[i]] = r.matched(i); - } - if(xrfragment_URI.isRelative(url) == true) { - if(url.directory == null && url.host != null) { - url.file = url.host; - } - url.host = ""; - } - url.hash = { }; - if(url.fragment != null && url.fragment.length > 0) { - url.XRF = xrfragment_URI.parseFragment("#" + url.fragment,flags); - var key; - var _g = 0; - var _g1 = Reflect.fields(url.XRF); - while(_g < _g1.length) { - var key = _g1[_g]; - ++_g; - var v = url.XRF[key]; - url.hash[key] = v["string"]; - } - } - xrfragment_URI.computeVars(url); - return url; -}; -xrfragment_URI.computeVars = function(url) { - var r_r = new RegExp("//","g".split("u").join("")); - if(url.directory != null && url.directory.indexOf("//") != -1) { - url.directory = url.directory.replace(r_r,"/"); - } - if(url.path != null && url.path.indexOf("//") != -1) { - url.path = url.path.replace(r_r,"/"); - } - if(url.file != null && url.file.indexOf("//") != -1) { - url.file = url.file.replace(r_r,"/"); - } - url.URN = url.scheme + "://" + url.host; - if(url.port != null) { - url.URN += ":" + url.port; - } - url.URN += url.directory; - if(url.file != null) { - var parts = url.file.split("."); - if(parts.length > 1) { - url.fileExt = parts.pop(); - } - } -}; -xrfragment_URI.toString = function(url) { - var result = ""; - if(url.scheme != null) { - result += url.scheme + "://"; - } - if(url.user != null) { - result += url.user + ":"; - } - if(url.password != null) { - result += url.password + "@"; - } - if(url.host != null) { - result += url.host; - } - if(url.port != null) { - result += ":" + url.port; - } - if(url.directory != null) { - result += url.directory; - } - if(url.file != null) { - result += url.file; - } - if(url.query != null) { - result += "?" + url.query; - } - if(url.fragment != null) { - result += "#" + url.fragment; - } - return result; -}; -xrfragment_URI.appendURI = function(url,appendedURI) { - if(xrfragment_URI.isRelative(url) == true) { - return xrfragment_URI.appendToRelativeURI(url,appendedURI); - } else { - return xrfragment_URI.appendToAbsoluteURI(url,appendedURI); - } -}; -xrfragment_URI.isRelative = function(url) { - return url.scheme == null; -}; -xrfragment_URI.appendToRelativeURI = function(url,appendedURI) { - if(url.directory == null || url.host == null) { - return xrfragment_URI.cloneURI(appendedURI); - } - var resultURI = new xrfragment_URI(); - resultURI.host = url.host; - resultURI.directory = url.directory; - if(appendedURI.host != null) { - resultURI.directory += appendedURI.host; - } - if(appendedURI.directory != null) { - var directory = appendedURI.directory; - if(appendedURI.host == null) { - resultURI.directory += HxOverrides.substr(directory,1,null); - } else { - resultURI.directory += directory; - } - } - if(appendedURI.file != null) { - resultURI.file = appendedURI.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(appendedURI.query != null) { - resultURI.query = appendedURI.query; - } - if(appendedURI.fragment != null) { - resultURI.fragment = appendedURI.fragment; - } - return resultURI; -}; -xrfragment_URI.appendToAbsoluteURI = function(url,appendedURI) { - var resultURI = new xrfragment_URI(); - if(url.scheme != null) { - resultURI.scheme = url.scheme; - } - if(url.host != null) { - resultURI.host = url.host; - } - var directory = ""; - if(url.directory != null) { - directory = url.directory; - } - if(appendedURI.host != null) { - appendedURI.directory += appendedURI.host; - } - if(appendedURI.directory != null) { - directory += appendedURI.directory; - } - resultURI.directory = directory; - if(appendedURI.file != null) { - resultURI.file = appendedURI.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(appendedURI.query != null) { - resultURI.query = appendedURI.query; - } - if(appendedURI.fragment != null) { - resultURI.fragment = appendedURI.fragment; - } - return resultURI; -}; -xrfragment_URI.toAbsolute = function(url,newUrl) { - var newURI = xrfragment_URI.parse(newUrl,0); - var resultURI = new xrfragment_URI(); - resultURI.port = url.port; - resultURI.source = newUrl; - if(newURI.scheme != null) { - resultURI.scheme = newURI.scheme; - } else { - resultURI.scheme = url.scheme; - } - if(newURI.host != null && newURI.host.length > 0) { - resultURI.host = newURI.host; - resultURI.port = null; - resultURI.fragment = null; - resultURI.hash = { }; - resultURI.XRF = { }; - if(newURI.port != null) { - resultURI.port = newURI.port; - } - } else { - resultURI.host = url.host; - } - var directory = ""; - if(url.directory != null) { - directory = url.directory; - } - if(newURI.directory != null) { - if(newUrl.charAt(0) != "/" && newUrl.indexOf("://") == -1) { - var stripRelative_r = new RegExp("\\./.*","".split("u").join("")); - directory = directory.replace(stripRelative_r,""); - directory += newURI.directory; - } else { - directory = newURI.directory; - } - } - resultURI.directory = directory; - if(newURI.file != null) { - resultURI.file = newURI.file; - } else { - resultURI.file = url.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(newURI.query != null) { - resultURI.query = newURI.query; - } - if(newURI.fragment != null) { - resultURI.fragment = newURI.fragment; - } - resultURI.hash = newURI.hash; - resultURI.XRF = newURI.XRF; - xrfragment_URI.computeVars(resultURI); - return resultURI; -}; -xrfragment_URI.cloneURI = function(url) { - var clonedURI = new xrfragment_URI(); - clonedURI.url = url.url; - clonedURI.source = url.source; - clonedURI.scheme = url.scheme; - clonedURI.authority = url.authority; - clonedURI.userInfo = url.userInfo; - clonedURI.password = url.password; - clonedURI.host = url.host; - clonedURI.port = url.port; - clonedURI.relative = url.relative; - clonedURI.path = url.path; - clonedURI.directory = url.directory; - clonedURI.file = url.file; - clonedURI.query = url.query; - clonedURI.fragment = url.fragment; - return clonedURI; -}; -var xrfragment_XRF = $hx_exports["xrfragment"]["XRF"] = function(_fragment,_flags,_index) { - this.floats = []; - this.shift = []; - this.fragment = _fragment; - this.flags = _flags; - this.index = _index; -}; -xrfragment_XRF.__name__ = true; -xrfragment_XRF.set = function(flag,flags) { - return flags | flag; -}; -xrfragment_XRF.unset = function(flag,flags) { - return flags & ~flag; -}; -xrfragment_XRF.prototype = { - is: function(flag) { - var v = this.flags; - if(!(typeof(v) == "number" && ((v | 0) === v))) { - this.flags = 0; - } - return (this.flags & flag) != 0; - } - ,validate: function(value) { - this.guessType(this,value); - var ok = true; - if(value.length == 0 && !this.is(xrfragment_XRF.T_PREDEFINED_VIEW)) { - ok = false; - } - if(!this.is(xrfragment_XRF.T_FLOAT) && this.is(xrfragment_XRF.T_VECTOR2) && !(typeof(this.x) == "number" && typeof(this.y) == "number")) { - ok = false; - } - if(!(this.is(xrfragment_XRF.T_VECTOR2) || this.is(xrfragment_XRF.T_STRING)) && this.is(xrfragment_XRF.T_VECTOR3) && !(typeof(this.x) == "number" && typeof(this.y) == "number" && typeof(this.z) == "number")) { - ok = false; - } - return ok; - } - ,guessType: function(v,str) { - v.string = str; - if(xrfragment_XRF.isReset.match(v.fragment)) { - v.reset = true; - } - if(v.fragment == "loop") { - v.loop = true; - } - if(typeof(str) != "string") { - return; - } - if(str.length > 0) { - if(xrfragment_XRF.isXRFScheme.match(str)) { - v.xrfScheme = true; - str = str.replace(xrfragment_XRF.isXRFScheme.r,""); - v.string = str; - } - if(str.split(",").length > 1) { - var xyzn = str.split(","); - if(xyzn.length > 0) { - v.x = parseFloat(xyzn[0]); - } - if(xyzn.length > 1) { - v.y = parseFloat(xyzn[1]); - } - if(xyzn.length > 2) { - v.z = parseFloat(xyzn[2]); - } - var _g = 0; - var _g1 = xyzn.length; - while(_g < _g1) { - var i = _g++; - v.shift.push(xrfragment_XRF.isShift.match(xyzn[i])); - v.floats.push(parseFloat(xyzn[i].replace(xrfragment_XRF.isShift.r,""))); - } - } - if(xrfragment_XRF.isColor.match(str)) { - v.color = str; - } - if(xrfragment_XRF.isFloat.match(str)) { - v.x = parseFloat(str); - v.float = v.x; - } - if(xrfragment_XRF.isInt.match(str)) { - v.int = Std.parseInt(str); - v.x = v.int; - v.floats.push(v.x); - } - v.filter = new xrfragment_Filter(v.fragment + "=" + v.string); - } else { - v.filter = new xrfragment_Filter(v.fragment); - } - } -}; -function $getIterator(o) { if( o instanceof Array ) return new haxe_iterators_ArrayIterator(o); else return o.iterator(); } -function $bind(o,m) { if( m == null ) return null; if( m.__id__ == null ) m.__id__ = $global.$haxeUID++; var f; if( o.hx__closures__ == null ) o.hx__closures__ = {}; else f = o.hx__closures__[m.__id__]; if( f == null ) { f = m.bind(o); o.hx__closures__[m.__id__] = f; } return f; } -$global.$haxeUID |= 0; -if(typeof(performance) != "undefined" ? typeof(performance.now) == "function" : false) { - HxOverrides.now = performance.now.bind(performance); -} -if( String.fromCodePoint == null ) String.fromCodePoint = function(c) { return c < 0x10000 ? String.fromCharCode(c) : String.fromCharCode((c>>10)+0xD7C0)+String.fromCharCode((c&0x3FF)+0xDC00); } -String.__name__ = true; -Array.__name__ = true; -js_Boot.__toStr = ({ }).toString; -haxe_Template.splitter = new EReg("(::[A-Za-z0-9_ ()&|!+=/><*.\"-]+::|\\$\\$([A-Za-z0-9_-]+)\\()",""); -haxe_Template.expr_splitter = new EReg("(\\(|\\)|[ \r\n\t]*\"[^\"]*\"[ \r\n\t]*|[!+=/><*.&|-]+)",""); -haxe_Template.expr_trim = new EReg("^[ ]*([^ ]+)[ ]*$",""); -haxe_Template.expr_int = new EReg("^[0-9]+$",""); -haxe_Template.expr_float = new EReg("^([+-]?)(?=\\d|,\\d)\\d*(,\\d*)?([Ee]([+-]?\\d+))?$",""); -haxe_Template.globals = { }; -haxe_Template.hxKeepArrayIterator = new haxe_iterators_ArrayIterator([]); -xrfragment_Parser.error = ""; -xrfragment_Parser.debug = false; -xrfragment_URI.__meta__ = { statics : { template : { keep : null}}}; -xrfragment_URI._parts = ["source","scheme","authority","userInfo","user","password","host","port","relative","path","directory","file","query","fragment"]; -xrfragment_XRF.IMMUTABLE = 1; -xrfragment_XRF.PROP_BIND = 2; -xrfragment_XRF.QUERY_OPERATOR = 4; -xrfragment_XRF.PROMPT = 8; -xrfragment_XRF.CUSTOMFRAG = 16; -xrfragment_XRF.NAVIGATOR = 32; -xrfragment_XRF.METADATA = 64; -xrfragment_XRF.PV_OVERRIDE = 128; -xrfragment_XRF.PV_EXECUTE = 256; -xrfragment_XRF.T_COLOR = 8192; -xrfragment_XRF.T_INT = 16384; -xrfragment_XRF.T_FLOAT = 32768; -xrfragment_XRF.T_VECTOR2 = 65536; -xrfragment_XRF.T_VECTOR3 = 131072; -xrfragment_XRF.T_URL = 262144; -xrfragment_XRF.T_PREDEFINED_VIEW = 524288; -xrfragment_XRF.T_STRING = 1048576; -xrfragment_XRF.T_MEDIAFRAG = 2097152; -xrfragment_XRF.T_DYNAMICKEY = 4194304; -xrfragment_XRF.T_DYNAMICKEYVALUE = 8388608; -xrfragment_XRF.isColor = new EReg("^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$",""); -xrfragment_XRF.isInt = new EReg("^[-0-9]+$",""); -xrfragment_XRF.isFloat = new EReg("^[-0-9]+\\.[0-9]+$",""); -xrfragment_XRF.isVector = new EReg("([,]+|\\w)",""); -xrfragment_XRF.isUrl = new EReg("(://)?\\..*",""); -xrfragment_XRF.isUrlOrPretypedView = new EReg("(^#|://)?\\..*",""); -xrfragment_XRF.isString = new EReg(".*",""); -xrfragment_XRF.operators = new EReg("(^[-]|^[!]|[\\*]$)","g"); -xrfragment_XRF.isProp = new EReg("^.*=[><=]?",""); -xrfragment_XRF.isExclude = new EReg("^-",""); -xrfragment_XRF.isDeep = new EReg("\\*",""); -xrfragment_XRF.isNumber = new EReg("^[0-9\\.]+$",""); -xrfragment_XRF.isMediaFrag = new EReg("^([0-9\\.,\\*+-]+)$",""); -xrfragment_XRF.isReset = new EReg("^!",""); -xrfragment_XRF.isShift = new EReg("^(\\+|--)",""); -xrfragment_XRF.isXRFScheme = new EReg("^xrf://",""); -})(typeof window != "undefined" ? window : typeof global != "undefined" ? global : typeof self != "undefined" ? self : this); -var xrfragment = $hx_exports["xrfragment"]; -export default xrfragment; -// Generated by Haxe 4.3.3 -var $hx_exports = typeof exports != "undefined" ? exports : typeof window != "undefined" ? window : typeof self != "undefined" ? self : this; -(function ($global) { "use strict"; -$hx_exports["xrfragment"] = $hx_exports["xrfragment"] || {}; -var $estr = function() { return js_Boot.__string_rec(this,''); },$hxEnums = $hxEnums || {},$_; -function $extend(from, fields) { - var proto = Object.create(from); - for (var name in fields) proto[name] = fields[name]; - if( fields.toString !== Object.prototype.toString ) proto.toString = fields.toString; - return proto; -} -var EReg = function(r,opt) { - this.r = new RegExp(r,opt.split("u").join("")); -}; -EReg.__name__ = true; -EReg.prototype = { - match: function(s) { - if(this.r.global) { - this.r.lastIndex = 0; - } - this.r.m = this.r.exec(s); - this.r.s = s; - return this.r.m != null; - } - ,matched: function(n) { - if(this.r.m != null && n >= 0 && n < this.r.m.length) { - return this.r.m[n]; - } else { - throw haxe_Exception.thrown("EReg::matched"); - } - } - ,matchedRight: function() { - if(this.r.m == null) { - throw haxe_Exception.thrown("No string matched"); - } - var sz = this.r.m.index + this.r.m[0].length; - return HxOverrides.substr(this.r.s,sz,this.r.s.length - sz); - } - ,matchedPos: function() { - if(this.r.m == null) { - throw haxe_Exception.thrown("No string matched"); - } - return { pos : this.r.m.index, len : this.r.m[0].length}; - } - ,split: function(s) { - var d = "#__delim__#"; - return s.replace(this.r,d).split(d); - } -}; -var HxOverrides = function() { }; -HxOverrides.__name__ = true; -HxOverrides.cca = function(s,index) { - var x = s.charCodeAt(index); - if(x != x) { - return undefined; - } - return x; -}; -HxOverrides.substr = function(s,pos,len) { - if(len == null) { - len = s.length; - } else if(len < 0) { - if(pos == 0) { - len = s.length + len; - } else { - return ""; - } - } - return s.substr(pos,len); -}; -HxOverrides.now = function() { - return Date.now(); -}; -Math.__name__ = true; -var Reflect = function() { }; -Reflect.__name__ = true; -Reflect.field = function(o,field) { - try { - return o[field]; - } catch( _g ) { - return null; - } -}; -Reflect.getProperty = function(o,field) { - var tmp; - if(o == null) { - return null; - } else { - var tmp1; - if(o.__properties__) { - tmp = o.__properties__["get_" + field]; - tmp1 = tmp; - } else { - tmp1 = false; - } - if(tmp1) { - return o[tmp](); - } else { - return o[field]; - } - } -}; -Reflect.fields = function(o) { - var a = []; - if(o != null) { - var hasOwnProperty = Object.prototype.hasOwnProperty; - for( var f in o ) { - if(f != "__id__" && f != "hx__closures__" && hasOwnProperty.call(o,f)) { - a.push(f); - } - } - } - return a; -}; -Reflect.isObject = function(v) { - if(v == null) { - return false; - } - var t = typeof(v); - if(!(t == "string" || t == "object" && v.__enum__ == null)) { - if(t == "function") { - return (v.__name__ || v.__ename__) != null; - } else { - return false; - } - } else { - return true; - } -}; -Reflect.deleteField = function(o,field) { - if(!Object.prototype.hasOwnProperty.call(o,field)) { - return false; - } - delete(o[field]); - return true; -}; -Reflect.copy = function(o) { - if(o == null) { - return null; - } - var o2 = { }; - var _g = 0; - var _g1 = Reflect.fields(o); - while(_g < _g1.length) { - var f = _g1[_g]; - ++_g; - o2[f] = Reflect.field(o,f); - } - return o2; -}; -var Std = function() { }; -Std.__name__ = true; -Std.string = function(s) { - return js_Boot.__string_rec(s,""); -}; -Std.parseInt = function(x) { - var v = parseInt(x); - if(isNaN(v)) { - return null; - } - return v; -}; -var StringBuf = function() { - this.b = ""; -}; -StringBuf.__name__ = true; -var StringTools = function() { }; -StringTools.__name__ = true; -StringTools.isSpace = function(s,pos) { - var c = HxOverrides.cca(s,pos); - if(!(c > 8 && c < 14)) { - return c == 32; - } else { - return true; - } -}; -StringTools.ltrim = function(s) { - var l = s.length; - var r = 0; - while(r < l && StringTools.isSpace(s,r)) ++r; - if(r > 0) { - return HxOverrides.substr(s,r,l - r); - } else { - return s; - } -}; -StringTools.rtrim = function(s) { - var l = s.length; - var r = 0; - while(r < l && StringTools.isSpace(s,l - r - 1)) ++r; - if(r > 0) { - return HxOverrides.substr(s,0,l - r); - } else { - return s; - } -}; -StringTools.trim = function(s) { - return StringTools.ltrim(StringTools.rtrim(s)); -}; -StringTools.replace = function(s,sub,by) { - return s.split(sub).join(by); -}; -var haxe_Exception = function(message,previous,native) { - Error.call(this,message); - this.message = message; - this.__previousException = previous; - this.__nativeException = native != null ? native : this; -}; -haxe_Exception.__name__ = true; -haxe_Exception.caught = function(value) { - if(((value) instanceof haxe_Exception)) { - return value; - } else if(((value) instanceof Error)) { - return new haxe_Exception(value.message,null,value); - } else { - return new haxe_ValueException(value,null,value); - } -}; -haxe_Exception.thrown = function(value) { - if(((value) instanceof haxe_Exception)) { - return value.get_native(); - } else if(((value) instanceof Error)) { - return value; - } else { - var e = new haxe_ValueException(value); - return e; - } -}; -haxe_Exception.__super__ = Error; -haxe_Exception.prototype = $extend(Error.prototype,{ - unwrap: function() { - return this.__nativeException; - } - ,get_native: function() { - return this.__nativeException; - } - ,__properties__: {get_native:"get_native"} -}); -var haxe__$Template_TemplateExpr = $hxEnums["haxe._Template.TemplateExpr"] = { __ename__:true,__constructs__:null - ,OpVar: ($_=function(v) { return {_hx_index:0,v:v,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpVar",$_.__params__ = ["v"],$_) - ,OpExpr: ($_=function(expr) { return {_hx_index:1,expr:expr,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpExpr",$_.__params__ = ["expr"],$_) - ,OpIf: ($_=function(expr,eif,eelse) { return {_hx_index:2,expr:expr,eif:eif,eelse:eelse,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpIf",$_.__params__ = ["expr","eif","eelse"],$_) - ,OpStr: ($_=function(str) { return {_hx_index:3,str:str,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpStr",$_.__params__ = ["str"],$_) - ,OpBlock: ($_=function(l) { return {_hx_index:4,l:l,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpBlock",$_.__params__ = ["l"],$_) - ,OpForeach: ($_=function(expr,loop) { return {_hx_index:5,expr:expr,loop:loop,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpForeach",$_.__params__ = ["expr","loop"],$_) - ,OpMacro: ($_=function(name,params) { return {_hx_index:6,name:name,params:params,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpMacro",$_.__params__ = ["name","params"],$_) -}; -haxe__$Template_TemplateExpr.__constructs__ = [haxe__$Template_TemplateExpr.OpVar,haxe__$Template_TemplateExpr.OpExpr,haxe__$Template_TemplateExpr.OpIf,haxe__$Template_TemplateExpr.OpStr,haxe__$Template_TemplateExpr.OpBlock,haxe__$Template_TemplateExpr.OpForeach,haxe__$Template_TemplateExpr.OpMacro]; -var haxe_iterators_ArrayIterator = function(array) { - this.current = 0; - this.array = array; -}; -haxe_iterators_ArrayIterator.__name__ = true; -haxe_iterators_ArrayIterator.prototype = { - hasNext: function() { - return this.current < this.array.length; - } - ,next: function() { - return this.array[this.current++]; - } -}; -var haxe_Template = function(str) { - var tokens = this.parseTokens(str); - this.expr = this.parseBlock(tokens); - if(!tokens.isEmpty()) { - throw haxe_Exception.thrown("Unexpected '" + Std.string(tokens.first().s) + "'"); - } -}; -haxe_Template.__name__ = true; -haxe_Template.prototype = { - execute: function(context,macros) { - this.macros = macros == null ? { } : macros; - this.context = context; - this.stack = new haxe_ds_List(); - this.buf = new StringBuf(); - this.run(this.expr); - return this.buf.b; - } - ,resolve: function(v) { - if(v == "__current__") { - return this.context; - } - if(Reflect.isObject(this.context)) { - var value = Reflect.getProperty(this.context,v); - if(value != null || Object.prototype.hasOwnProperty.call(this.context,v)) { - return value; - } - } - var _g_head = this.stack.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var ctx = val; - var value = Reflect.getProperty(ctx,v); - if(value != null || Object.prototype.hasOwnProperty.call(ctx,v)) { - return value; - } - } - return Reflect.field(haxe_Template.globals,v); - } - ,parseTokens: function(data) { - var tokens = new haxe_ds_List(); - while(haxe_Template.splitter.match(data)) { - var p = haxe_Template.splitter.matchedPos(); - if(p.pos > 0) { - tokens.add({ p : HxOverrides.substr(data,0,p.pos), s : true, l : null}); - } - if(HxOverrides.cca(data,p.pos) == 58) { - tokens.add({ p : HxOverrides.substr(data,p.pos + 2,p.len - 4), s : false, l : null}); - data = haxe_Template.splitter.matchedRight(); - continue; - } - var parp = p.pos + p.len; - var npar = 1; - var params = []; - var part = ""; - while(true) { - var c = HxOverrides.cca(data,parp); - ++parp; - if(c == 40) { - ++npar; - } else if(c == 41) { - --npar; - if(npar <= 0) { - break; - } - } else if(c == null) { - throw haxe_Exception.thrown("Unclosed macro parenthesis"); - } - if(c == 44 && npar == 1) { - params.push(part); - part = ""; - } else { - part += String.fromCodePoint(c); - } - } - params.push(part); - tokens.add({ p : haxe_Template.splitter.matched(2), s : false, l : params}); - data = HxOverrides.substr(data,parp,data.length - parp); - } - if(data.length > 0) { - tokens.add({ p : data, s : true, l : null}); - } - return tokens; - } - ,parseBlock: function(tokens) { - var l = new haxe_ds_List(); - while(true) { - var t = tokens.first(); - if(t == null) { - break; - } - if(!t.s && (t.p == "end" || t.p == "else" || HxOverrides.substr(t.p,0,7) == "elseif ")) { - break; - } - l.add(this.parse(tokens)); - } - if(l.length == 1) { - return l.first(); - } - return haxe__$Template_TemplateExpr.OpBlock(l); - } - ,parse: function(tokens) { - var t = tokens.pop(); - var p = t.p; - if(t.s) { - return haxe__$Template_TemplateExpr.OpStr(p); - } - if(t.l != null) { - var pe = new haxe_ds_List(); - var _g = 0; - var _g1 = t.l; - while(_g < _g1.length) { - var p1 = _g1[_g]; - ++_g; - pe.add(this.parseBlock(this.parseTokens(p1))); - } - return haxe__$Template_TemplateExpr.OpMacro(p,pe); - } - var kwdEnd = function(kwd) { - var pos = -1; - var length = kwd.length; - if(HxOverrides.substr(p,0,length) == kwd) { - pos = length; - var _g_offset = 0; - var _g_s = HxOverrides.substr(p,length,null); - while(_g_offset < _g_s.length) { - var c = _g_s.charCodeAt(_g_offset++); - if(c == 32) { - ++pos; - } else { - break; - } - } - } - return pos; - }; - var pos = kwdEnd("if"); - if(pos > 0) { - p = HxOverrides.substr(p,pos,p.length - pos); - var e = this.parseExpr(p); - var eif = this.parseBlock(tokens); - var t = tokens.first(); - var eelse; - if(t == null) { - throw haxe_Exception.thrown("Unclosed 'if'"); - } - if(t.p == "end") { - tokens.pop(); - eelse = null; - } else if(t.p == "else") { - tokens.pop(); - eelse = this.parseBlock(tokens); - t = tokens.pop(); - if(t == null || t.p != "end") { - throw haxe_Exception.thrown("Unclosed 'else'"); - } - } else { - t.p = HxOverrides.substr(t.p,4,t.p.length - 4); - eelse = this.parse(tokens); - } - return haxe__$Template_TemplateExpr.OpIf(e,eif,eelse); - } - var pos = kwdEnd("foreach"); - if(pos >= 0) { - p = HxOverrides.substr(p,pos,p.length - pos); - var e = this.parseExpr(p); - var efor = this.parseBlock(tokens); - var t = tokens.pop(); - if(t == null || t.p != "end") { - throw haxe_Exception.thrown("Unclosed 'foreach'"); - } - return haxe__$Template_TemplateExpr.OpForeach(e,efor); - } - if(haxe_Template.expr_splitter.match(p)) { - return haxe__$Template_TemplateExpr.OpExpr(this.parseExpr(p)); - } - return haxe__$Template_TemplateExpr.OpVar(p); - } - ,parseExpr: function(data) { - var l = new haxe_ds_List(); - var expr = data; - while(haxe_Template.expr_splitter.match(data)) { - var p = haxe_Template.expr_splitter.matchedPos(); - var k = p.pos + p.len; - if(p.pos != 0) { - l.add({ p : HxOverrides.substr(data,0,p.pos), s : true}); - } - var p1 = haxe_Template.expr_splitter.matched(0); - l.add({ p : p1, s : p1.indexOf("\"") >= 0}); - data = haxe_Template.expr_splitter.matchedRight(); - } - if(data.length != 0) { - var _g_offset = 0; - var _g_s = data; - while(_g_offset < _g_s.length) { - var _g_key = _g_offset; - var _g_value = _g_s.charCodeAt(_g_offset++); - var i = _g_key; - var c = _g_value; - if(c != 32) { - l.add({ p : HxOverrides.substr(data,i,null), s : true}); - break; - } - } - } - var e; - try { - e = this.makeExpr(l); - if(!l.isEmpty()) { - throw haxe_Exception.thrown(l.first().p); - } - } catch( _g ) { - var _g1 = haxe_Exception.caught(_g).unwrap(); - if(typeof(_g1) == "string") { - var s = _g1; - throw haxe_Exception.thrown("Unexpected '" + s + "' in " + expr); - } else { - throw _g; - } - } - return function() { - try { - return e(); - } catch( _g ) { - var exc = haxe_Exception.caught(_g).unwrap(); - throw haxe_Exception.thrown("Error : " + Std.string(exc) + " in " + expr); - } - }; - } - ,makeConst: function(v) { - haxe_Template.expr_trim.match(v); - v = haxe_Template.expr_trim.matched(1); - if(HxOverrides.cca(v,0) == 34) { - var str = HxOverrides.substr(v,1,v.length - 2); - return function() { - return str; - }; - } - if(haxe_Template.expr_int.match(v)) { - var i = Std.parseInt(v); - return function() { - return i; - }; - } - if(haxe_Template.expr_float.match(v)) { - var f = parseFloat(v); - return function() { - return f; - }; - } - var me = this; - return function() { - return me.resolve(v); - }; - } - ,makePath: function(e,l) { - var p = l.first(); - if(p == null || p.p != ".") { - return e; - } - l.pop(); - var field = l.pop(); - if(field == null || !field.s) { - throw haxe_Exception.thrown(field.p); - } - var f = field.p; - haxe_Template.expr_trim.match(f); - f = haxe_Template.expr_trim.matched(1); - return this.makePath(function() { - return Reflect.field(e(),f); - },l); - } - ,makeExpr: function(l) { - return this.makePath(this.makeExpr2(l),l); - } - ,skipSpaces: function(l) { - var p = l.first(); - while(p != null) { - var _g_offset = 0; - var _g_s = p.p; - while(_g_offset < _g_s.length) { - var c = _g_s.charCodeAt(_g_offset++); - if(c != 32) { - return; - } - } - l.pop(); - p = l.first(); - } - } - ,makeExpr2: function(l) { - this.skipSpaces(l); - var p = l.pop(); - this.skipSpaces(l); - if(p == null) { - throw haxe_Exception.thrown(""); - } - if(p.s) { - return this.makeConst(p.p); - } - switch(p.p) { - case "!": - var e = this.makeExpr(l); - return function() { - var v = e(); - if(v != null) { - return v == false; - } else { - return true; - } - }; - case "(": - this.skipSpaces(l); - var e1 = this.makeExpr(l); - this.skipSpaces(l); - var p1 = l.pop(); - if(p1 == null || p1.s) { - throw haxe_Exception.thrown(p1); - } - if(p1.p == ")") { - return e1; - } - this.skipSpaces(l); - var e2 = this.makeExpr(l); - this.skipSpaces(l); - var p2 = l.pop(); - this.skipSpaces(l); - if(p2 == null || p2.p != ")") { - throw haxe_Exception.thrown(p2); - } - switch(p1.p) { - case "!=": - return function() { - return e1() != e2(); - }; - case "&&": - return function() { - return e1() && e2(); - }; - case "*": - return function() { - return e1() * e2(); - }; - case "+": - return function() { - return e1() + e2(); - }; - case "-": - return function() { - return e1() - e2(); - }; - case "/": - return function() { - return e1() / e2(); - }; - case "<": - return function() { - return e1() < e2(); - }; - case "<=": - return function() { - return e1() <= e2(); - }; - case "==": - return function() { - return e1() == e2(); - }; - case ">": - return function() { - return e1() > e2(); - }; - case ">=": - return function() { - return e1() >= e2(); - }; - case "||": - return function() { - return e1() || e2(); - }; - default: - throw haxe_Exception.thrown("Unknown operation " + p1.p); - } - break; - case "-": - var e3 = this.makeExpr(l); - return function() { - return -e3(); - }; - } - throw haxe_Exception.thrown(p.p); - } - ,run: function(e) { - switch(e._hx_index) { - case 0: - var v = e.v; - var _this = this.buf; - var x = Std.string(this.resolve(v)); - _this.b += Std.string(x); - break; - case 1: - var e1 = e.expr; - var _this = this.buf; - var x = Std.string(e1()); - _this.b += Std.string(x); - break; - case 2: - var e1 = e.expr; - var eif = e.eif; - var eelse = e.eelse; - var v = e1(); - if(v == null || v == false) { - if(eelse != null) { - this.run(eelse); - } - } else { - this.run(eif); - } - break; - case 3: - var str = e.str; - this.buf.b += str == null ? "null" : "" + str; - break; - case 4: - var l = e.l; - var _g_head = l.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var e1 = val; - this.run(e1); - } - break; - case 5: - var e1 = e.expr; - var loop = e.loop; - var v = e1(); - try { - var x = $getIterator(v); - if(x.hasNext == null) { - throw haxe_Exception.thrown(null); - } - v = x; - } catch( _g ) { - try { - if(v.hasNext == null) { - throw haxe_Exception.thrown(null); - } - } catch( _g1 ) { - throw haxe_Exception.thrown("Cannot iter on " + Std.string(v)); - } - } - this.stack.push(this.context); - var v1 = v; - var ctx = v1; - while(ctx.hasNext()) { - var ctx1 = ctx.next(); - this.context = ctx1; - this.run(loop); - } - this.context = this.stack.pop(); - break; - case 6: - var m = e.name; - var params = e.params; - var v = Reflect.field(this.macros,m); - var pl = []; - var old = this.buf; - pl.push($bind(this,this.resolve)); - var _g_head = params.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var p = val; - if(p._hx_index == 0) { - var v1 = p.v; - pl.push(this.resolve(v1)); - } else { - this.buf = new StringBuf(); - this.run(p); - pl.push(this.buf.b); - } - } - this.buf = old; - try { - var _this = this.buf; - var x = Std.string(v.apply(this.macros,pl)); - _this.b += Std.string(x); - } catch( _g ) { - var e = haxe_Exception.caught(_g).unwrap(); - var plstr; - try { - plstr = pl.join(","); - } catch( _g1 ) { - plstr = "???"; - } - var msg = "Macro call " + m + "(" + plstr + ") failed (" + Std.string(e) + ")"; - throw haxe_Exception.thrown(msg); - } - break; - } - } -}; -var haxe_ValueException = function(value,previous,native) { - haxe_Exception.call(this,String(value),previous,native); - this.value = value; -}; -haxe_ValueException.__name__ = true; -haxe_ValueException.__super__ = haxe_Exception; -haxe_ValueException.prototype = $extend(haxe_Exception.prototype,{ - unwrap: function() { - return this.value; - } -}); -var haxe_ds_List = function() { - this.length = 0; -}; -haxe_ds_List.__name__ = true; -haxe_ds_List.prototype = { - add: function(item) { - var x = new haxe_ds__$List_ListNode(item,null); - if(this.h == null) { - this.h = x; - } else { - this.q.next = x; - } - this.q = x; - this.length++; - } - ,push: function(item) { - var x = new haxe_ds__$List_ListNode(item,this.h); - this.h = x; - if(this.q == null) { - this.q = x; - } - this.length++; - } - ,first: function() { - if(this.h == null) { - return null; - } else { - return this.h.item; - } - } - ,pop: function() { - if(this.h == null) { - return null; - } - var x = this.h.item; - this.h = this.h.next; - if(this.h == null) { - this.q = null; - } - this.length--; - return x; - } - ,isEmpty: function() { - return this.h == null; - } - ,toString: function() { - var s_b = ""; - var first = true; - var l = this.h; - s_b += "{"; - while(l != null) { - if(first) { - first = false; - } else { - s_b += ", "; - } - s_b += Std.string(Std.string(l.item)); - l = l.next; - } - s_b += "}"; - return s_b; - } -}; -var haxe_ds__$List_ListNode = function(item,next) { - this.item = item; - this.next = next; -}; -haxe_ds__$List_ListNode.__name__ = true; -var js_Boot = function() { }; -js_Boot.__name__ = true; -js_Boot.__string_rec = function(o,s) { - if(o == null) { - return "null"; - } - if(s.length >= 5) { - return "<...>"; - } - var t = typeof(o); - if(t == "function" && (o.__name__ || o.__ename__)) { - t = "object"; - } - switch(t) { - case "function": - return ""; - case "object": - if(o.__enum__) { - var e = $hxEnums[o.__enum__]; - var con = e.__constructs__[o._hx_index]; - var n = con._hx_name; - if(con.__params__) { - s = s + "\t"; - return n + "(" + ((function($this) { - var $r; - var _g = []; - { - var _g1 = 0; - var _g2 = con.__params__; - while(true) { - if(!(_g1 < _g2.length)) { - break; - } - var p = _g2[_g1]; - _g1 = _g1 + 1; - _g.push(js_Boot.__string_rec(o[p],s)); - } - } - $r = _g; - return $r; - }(this))).join(",") + ")"; - } else { - return n; - } - } - if(((o) instanceof Array)) { - var str = "["; - s += "\t"; - var _g = 0; - var _g1 = o.length; - while(_g < _g1) { - var i = _g++; - str += (i > 0 ? "," : "") + js_Boot.__string_rec(o[i],s); - } - str += "]"; - return str; - } - var tostr; - try { - tostr = o.toString; - } catch( _g ) { - return "???"; - } - if(tostr != null && tostr != Object.toString && typeof(tostr) == "function") { - var s2 = o.toString(); - if(s2 != "[object Object]") { - return s2; - } - } - var str = "{\n"; - s += "\t"; - var hasp = o.hasOwnProperty != null; - var k = null; - for( k in o ) { - if(hasp && !o.hasOwnProperty(k)) { - continue; - } - if(k == "prototype" || k == "__class__" || k == "__super__" || k == "__interfaces__" || k == "__properties__") { - continue; - } - if(str.length != 2) { - str += ", \n"; - } - str += s + k + " : " + js_Boot.__string_rec(o[k],s); - } - s = s.substring(1); - str += "\n" + s + "}"; - return str; - case "string": - return o; - default: - return String(o); - } -}; -var xrfragment_Filter = $hx_exports["xrfragment"]["Filter"] = function(str) { - this.q = { }; - this.str = ""; - if(str != null) { - this.parse(str); - } -}; -xrfragment_Filter.__name__ = true; -xrfragment_Filter.prototype = { - toObject: function() { - return Reflect.copy(this.q); - } - ,get: function() { - return Reflect.copy(this.q); - } - ,parse: function(str) { - var token = str.split(" "); - var q = { }; - var process = function(str,prefix) { - if(prefix == null) { - prefix = ""; - } - str = StringTools.trim(str); - var k = str.split("=")[0]; - var v = str.split("=")[1]; - var filter = { }; - if(q[prefix + k]) { - filter = q[prefix + k]; - } - if(xrfragment_XRF.isProp.match(str)) { - var oper = ""; - if(str.indexOf(">") != -1) { - oper = ">"; - } - if(str.indexOf("<") != -1) { - oper = "<"; - } - if(xrfragment_XRF.isExclude.match(k)) { - k = HxOverrides.substr(k,1,null); - } - v = HxOverrides.substr(v,oper.length,null); - if(oper.length == 0) { - oper = "="; - } - var rule = { }; - if(xrfragment_XRF.isNumber.match(v)) { - rule[oper] = parseFloat(v); - } else { - rule[oper] = v; - } - q["expr"] = rule; - } - var value = xrfragment_XRF.isDeep.match(str) ? k.split("*").length - 1 : 0; - q["deep"] = value; - var value = xrfragment_XRF.isExclude.match(str) ? false : true; - q["show"] = value; - var value = k.replace(xrfragment_XRF.operators.r,""); - q["key"] = value; - q["value"] = v; - }; - var _g = 0; - var _g1 = token.length; - while(_g < _g1) { - var i = _g++; - process(token[i]); - } - return this.q = q; - } - ,test: function(obj) { - var qualify = false; - var _g = 0; - var _g1 = Reflect.fields(obj); - while(_g < _g1.length) { - var k = _g1[_g]; - ++_g; - var v = Std.string(Reflect.field(obj,k)); - if(this.testProperty(k,v)) { - qualify = true; - } - } - var _g = 0; - var _g1 = Reflect.fields(obj); - while(_g < _g1.length) { - var k = _g1[_g]; - ++_g; - var v = Std.string(Reflect.field(obj,k)); - if(this.testProperty(k,v,true)) { - qualify = false; - } - } - return qualify; - } - ,testProperty: function(property,value,exclude) { - var conds = 0; - var fails = 0; - var qualify = 0; - var testprop = function(expr) { - conds += 1; - fails += expr ? 0 : 1; - return expr; - }; - if(this.q[value] != null) { - var v = this.q[value]; - if(v[property] != null) { - return v[property]; - } - } - if(Reflect.field(this.q,"expr")) { - var f = Reflect.field(this.q,"expr"); - if(!Reflect.field(this.q,"show")) { - if(Reflect.field(f,"!=") != null && testprop((value == null ? "null" : "" + value) == Std.string(Reflect.field(f,"!="))) && exclude) { - ++qualify; - } - } else { - if(Reflect.field(f,"*") != null && testprop(parseFloat(value) != null)) { - ++qualify; - } - if(Reflect.field(f,">") != null && testprop(parseFloat(value) >= parseFloat(Reflect.field(f,">")))) { - ++qualify; - } - if(Reflect.field(f,"<") != null && testprop(parseFloat(value) <= parseFloat(Reflect.field(f,"<")))) { - ++qualify; - } - if(Reflect.field(f,"=") != null && (testprop(value == Reflect.field(f,"=")) || testprop(parseFloat(value) == parseFloat(Reflect.field(f,"="))))) { - ++qualify; - } - } - } - return qualify > 0; - } -}; -var xrfragment_Parser = $hx_exports["xrfragment"]["Parser"] = function() { }; -xrfragment_Parser.__name__ = true; -xrfragment_Parser.parse = function(key,value,store,index) { - var Frag_h = Object.create(null); - Frag_h["#"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_PREDEFINED_VIEW | xrfragment_XRF.PV_EXECUTE; - Frag_h["src"] = xrfragment_XRF.T_URL; - Frag_h["href"] = xrfragment_XRF.T_URL | xrfragment_XRF.T_PREDEFINED_VIEW; - Frag_h["tag"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["pos"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_VECTOR3 | xrfragment_XRF.T_STRING | xrfragment_XRF.METADATA | xrfragment_XRF.NAVIGATOR; - Frag_h["rot"] = xrfragment_XRF.QUERY_OPERATOR | xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_VECTOR3 | xrfragment_XRF.METADATA | xrfragment_XRF.NAVIGATOR; - Frag_h["t"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_FLOAT | xrfragment_XRF.T_VECTOR2 | xrfragment_XRF.NAVIGATOR | xrfragment_XRF.METADATA; - Frag_h["s"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_MEDIAFRAG; - Frag_h["loop"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_PREDEFINED_VIEW; - Frag_h["uv"] = xrfragment_XRF.T_VECTOR2 | xrfragment_XRF.T_MEDIAFRAG; - Frag_h["namespace"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["SPDX"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["unit"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["description"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - var keyStripped = key.replace(xrfragment_XRF.operators.r,""); - var isPVDynamic = key.length > 0 && !Object.prototype.hasOwnProperty.call(Frag_h,key); - if(isPVDynamic) { - var v = new xrfragment_XRF(key,xrfragment_XRF.PV_EXECUTE | xrfragment_XRF.NAVIGATOR,index); - v.validate(value); - v.flags = xrfragment_XRF.set(xrfragment_XRF.T_DYNAMICKEY,v.flags); - if(!Object.prototype.hasOwnProperty.call(Frag_h,key)) { - v.flags = xrfragment_XRF.set(xrfragment_XRF.CUSTOMFRAG,v.flags); - } - if(value.length == 0) { - v.flags = xrfragment_XRF.set(xrfragment_XRF.T_DYNAMICKEYVALUE,v.flags); - } - store[keyStripped] = v; - return true; - } - var v = new xrfragment_XRF(key,Frag_h[key],index); - if(Object.prototype.hasOwnProperty.call(Frag_h,key)) { - if(!v.validate(value)) { - console.log("src/xrfragment/Parser.hx:67:","⚠ fragment '" + key + "' has incompatible value (" + value + ")"); - return false; - } - store[keyStripped] = v; - if(xrfragment_Parser.debug) { - console.log("src/xrfragment/Parser.hx:71:","✔ " + key + ": " + v.string); - } - } else { - if(typeof(value) == "string") { - v.guessType(v,value); - } - v.flags = xrfragment_XRF.set(xrfragment_XRF.CUSTOMFRAG,v.flags); - store[keyStripped] = v; - } - return true; -}; -xrfragment_Parser.getMetaData = function() { - var meta = { title : ["title","og:title","dc.title"], description : ["aria-description","og:description","dc.description"], author : ["author","dc.creator"], publisher : ["publisher","dc.publisher"], website : ["og:site_name","og:url","dc.publisher"], license : ["SPDX","dc.rights"]}; - return meta; -}; -var xrfragment_URI = $hx_exports["xrfragment"]["URI"] = function() { - this.XRF = { }; - this.hash = { }; - this.fragment = ""; -}; -xrfragment_URI.__name__ = true; -xrfragment_URI.parseFragment = function(url,filter) { - var store = { }; - if(url == null || url.indexOf("#") == -1) { - return store; - } - var fragment = url.split("#"); - var splitArray = fragment[1].split("&"); - var _g = 0; - var _g1 = splitArray.length; - while(_g < _g1) { - var i = _g++; - var splitByEqual = splitArray[i].split("="); - var regexPlus = new EReg("\\+","g"); - var key = splitByEqual[0]; - var value = ""; - if(splitByEqual.length > 1) { - if(xrfragment_XRF.isVector.match(splitByEqual[1])) { - value = splitByEqual[1]; - } else { - var s = regexPlus.split(splitByEqual[1]).join(" "); - value = decodeURIComponent(s.split("+").join(" ")); - } - } - var ok = xrfragment_Parser.parse(key,value,store,i); - } - if(filter != null && filter != 0) { - var _g = 0; - var _g1 = Reflect.fields(store); - while(_g < _g1.length) { - var key = _g1[_g]; - ++_g; - var xrf = store[key]; - if(!xrf.is(filter)) { - Reflect.deleteField(store,key); - } - } - } - return store; -}; -xrfragment_URI.template = function(uri,vars) { - var parts = uri.split("#"); - if(parts.length == 1) { - return uri; - } - var frag = parts[1]; - frag = StringTools.replace(frag,"{","::"); - frag = StringTools.replace(frag,"}","::"); - frag = new haxe_Template(frag).execute(vars); - frag = StringTools.replace(frag,"null",""); - parts[1] = frag; - return parts.join("#"); -}; -xrfragment_URI.parse = function(stringUrl,flags) { - var r = new EReg("^(?:(?![^:@]+:[^:@/]*@)([^:/?#.]+):)?(?://)?((?:(([^:@]*)(?::([^:@]*))?)?@)?([^:/?#]*)(?::(\\d*))?)(((/(?:[^?#](?![^?#/]*\\.[^?#/.]+(?:[?#]|$)))*/?)?([^?#/]*))(?:\\?([^#]*))?(?:#(.*))?)",""); - if(stringUrl.indexOf("://") == -1 && stringUrl.charAt(0) != "/") { - stringUrl = "/" + stringUrl; - } - r.match(stringUrl); - var url = new xrfragment_URI(); - var _g = 0; - var _g1 = xrfragment_URI._parts.length; - while(_g < _g1) { - var i = _g++; - url[xrfragment_URI._parts[i]] = r.matched(i); - } - if(xrfragment_URI.isRelative(url) == true) { - if(url.directory == null && url.host != null) { - url.file = url.host; - } - url.host = ""; - } - url.hash = { }; - if(url.fragment != null && url.fragment.length > 0) { - url.XRF = xrfragment_URI.parseFragment("#" + url.fragment,flags); - var key; - var _g = 0; - var _g1 = Reflect.fields(url.XRF); - while(_g < _g1.length) { - var key = _g1[_g]; - ++_g; - var v = url.XRF[key]; - url.hash[key] = v["string"]; - } - } - xrfragment_URI.computeVars(url); - return url; -}; -xrfragment_URI.computeVars = function(url) { - var r_r = new RegExp("//","g".split("u").join("")); - if(url.directory != null && url.directory.indexOf("//") != -1) { - url.directory = url.directory.replace(r_r,"/"); - } - if(url.path != null && url.path.indexOf("//") != -1) { - url.path = url.path.replace(r_r,"/"); - } - if(url.file != null && url.file.indexOf("//") != -1) { - url.file = url.file.replace(r_r,"/"); - } - url.URN = url.scheme + "://" + url.host; - if(url.port != null) { - url.URN += ":" + url.port; - } - url.URN += url.directory; - if(url.file != null) { - var parts = url.file.split("."); - if(parts.length > 1) { - url.fileExt = parts.pop(); - } - } -}; -xrfragment_URI.toString = function(url) { - var result = ""; - if(url.scheme != null) { - result += url.scheme + "://"; - } - if(url.user != null) { - result += url.user + ":"; - } - if(url.password != null) { - result += url.password + "@"; - } - if(url.host != null) { - result += url.host; - } - if(url.port != null) { - result += ":" + url.port; - } - if(url.directory != null) { - result += url.directory; - } - if(url.file != null) { - result += url.file; - } - if(url.query != null) { - result += "?" + url.query; - } - if(url.fragment != null) { - result += "#" + url.fragment; - } - return result; -}; -xrfragment_URI.appendURI = function(url,appendedURI) { - if(xrfragment_URI.isRelative(url) == true) { - return xrfragment_URI.appendToRelativeURI(url,appendedURI); - } else { - return xrfragment_URI.appendToAbsoluteURI(url,appendedURI); - } -}; -xrfragment_URI.isRelative = function(url) { - return url.scheme == null; -}; -xrfragment_URI.appendToRelativeURI = function(url,appendedURI) { - if(url.directory == null || url.host == null) { - return xrfragment_URI.cloneURI(appendedURI); - } - var resultURI = new xrfragment_URI(); - resultURI.host = url.host; - resultURI.directory = url.directory; - if(appendedURI.host != null) { - resultURI.directory += appendedURI.host; - } - if(appendedURI.directory != null) { - var directory = appendedURI.directory; - if(appendedURI.host == null) { - resultURI.directory += HxOverrides.substr(directory,1,null); - } else { - resultURI.directory += directory; - } - } - if(appendedURI.file != null) { - resultURI.file = appendedURI.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(appendedURI.query != null) { - resultURI.query = appendedURI.query; - } - if(appendedURI.fragment != null) { - resultURI.fragment = appendedURI.fragment; - } - return resultURI; -}; -xrfragment_URI.appendToAbsoluteURI = function(url,appendedURI) { - var resultURI = new xrfragment_URI(); - if(url.scheme != null) { - resultURI.scheme = url.scheme; - } - if(url.host != null) { - resultURI.host = url.host; - } - var directory = ""; - if(url.directory != null) { - directory = url.directory; - } - if(appendedURI.host != null) { - appendedURI.directory += appendedURI.host; - } - if(appendedURI.directory != null) { - directory += appendedURI.directory; - } - resultURI.directory = directory; - if(appendedURI.file != null) { - resultURI.file = appendedURI.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(appendedURI.query != null) { - resultURI.query = appendedURI.query; - } - if(appendedURI.fragment != null) { - resultURI.fragment = appendedURI.fragment; - } - return resultURI; -}; -xrfragment_URI.toAbsolute = function(url,newUrl) { - var newURI = xrfragment_URI.parse(newUrl,0); - var resultURI = new xrfragment_URI(); - resultURI.port = url.port; - resultURI.source = newUrl; - if(newURI.scheme != null) { - resultURI.scheme = newURI.scheme; - } else { - resultURI.scheme = url.scheme; - } - if(newURI.host != null && newURI.host.length > 0) { - resultURI.host = newURI.host; - resultURI.port = null; - resultURI.fragment = null; - resultURI.hash = { }; - resultURI.XRF = { }; - if(newURI.port != null) { - resultURI.port = newURI.port; - } - } else { - resultURI.host = url.host; - } - var directory = ""; - if(url.directory != null) { - directory = url.directory; - } - if(newURI.directory != null) { - if(newUrl.charAt(0) != "/" && newUrl.indexOf("://") == -1) { - var stripRelative_r = new RegExp("\\./.*","".split("u").join("")); - directory = directory.replace(stripRelative_r,""); - directory += newURI.directory; - } else { - directory = newURI.directory; - } - } - resultURI.directory = directory; - if(newURI.file != null) { - resultURI.file = newURI.file; - } else { - resultURI.file = url.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(newURI.query != null) { - resultURI.query = newURI.query; - } - if(newURI.fragment != null) { - resultURI.fragment = newURI.fragment; - } - resultURI.hash = newURI.hash; - resultURI.XRF = newURI.XRF; - xrfragment_URI.computeVars(resultURI); - return resultURI; -}; -xrfragment_URI.cloneURI = function(url) { - var clonedURI = new xrfragment_URI(); - clonedURI.url = url.url; - clonedURI.source = url.source; - clonedURI.scheme = url.scheme; - clonedURI.authority = url.authority; - clonedURI.userInfo = url.userInfo; - clonedURI.password = url.password; - clonedURI.host = url.host; - clonedURI.port = url.port; - clonedURI.relative = url.relative; - clonedURI.path = url.path; - clonedURI.directory = url.directory; - clonedURI.file = url.file; - clonedURI.query = url.query; - clonedURI.fragment = url.fragment; - return clonedURI; -}; -var xrfragment_XRF = $hx_exports["xrfragment"]["XRF"] = function(_fragment,_flags,_index) { - this.floats = []; - this.shift = []; - this.fragment = _fragment; - this.flags = _flags; - this.index = _index; -}; -xrfragment_XRF.__name__ = true; -xrfragment_XRF.set = function(flag,flags) { - return flags | flag; -}; -xrfragment_XRF.unset = function(flag,flags) { - return flags & ~flag; -}; -xrfragment_XRF.prototype = { - is: function(flag) { - var v = this.flags; - if(!(typeof(v) == "number" && ((v | 0) === v))) { - this.flags = 0; - } - return (this.flags & flag) != 0; - } - ,validate: function(value) { - this.guessType(this,value); - var ok = true; - if(value.length == 0 && !this.is(xrfragment_XRF.T_PREDEFINED_VIEW)) { - ok = false; - } - if(!this.is(xrfragment_XRF.T_FLOAT) && this.is(xrfragment_XRF.T_VECTOR2) && !(typeof(this.x) == "number" && typeof(this.y) == "number")) { - ok = false; - } - if(!(this.is(xrfragment_XRF.T_VECTOR2) || this.is(xrfragment_XRF.T_STRING)) && this.is(xrfragment_XRF.T_VECTOR3) && !(typeof(this.x) == "number" && typeof(this.y) == "number" && typeof(this.z) == "number")) { - ok = false; - } - return ok; - } - ,guessType: function(v,str) { - v.string = str; - if(xrfragment_XRF.isReset.match(v.fragment)) { - v.reset = true; - } - if(v.fragment == "loop") { - v.loop = true; - } - if(typeof(str) != "string") { - return; - } - if(str.length > 0) { - if(xrfragment_XRF.isXRFScheme.match(str)) { - v.xrfScheme = true; - str = str.replace(xrfragment_XRF.isXRFScheme.r,""); - v.string = str; - } - if(str.split(",").length > 1) { - var xyzn = str.split(","); - if(xyzn.length > 0) { - v.x = parseFloat(xyzn[0]); - } - if(xyzn.length > 1) { - v.y = parseFloat(xyzn[1]); - } - if(xyzn.length > 2) { - v.z = parseFloat(xyzn[2]); - } - var _g = 0; - var _g1 = xyzn.length; - while(_g < _g1) { - var i = _g++; - v.shift.push(xrfragment_XRF.isShift.match(xyzn[i])); - v.floats.push(parseFloat(xyzn[i].replace(xrfragment_XRF.isShift.r,""))); - } - } - if(xrfragment_XRF.isColor.match(str)) { - v.color = str; - } - if(xrfragment_XRF.isFloat.match(str)) { - v.x = parseFloat(str); - v.float = v.x; - } - if(xrfragment_XRF.isInt.match(str)) { - v.int = Std.parseInt(str); - v.x = v.int; - v.floats.push(v.x); - } - v.filter = new xrfragment_Filter(v.fragment + "=" + v.string); - } else { - v.filter = new xrfragment_Filter(v.fragment); - } - } -}; -function $getIterator(o) { if( o instanceof Array ) return new haxe_iterators_ArrayIterator(o); else return o.iterator(); } -function $bind(o,m) { if( m == null ) return null; if( m.__id__ == null ) m.__id__ = $global.$haxeUID++; var f; if( o.hx__closures__ == null ) o.hx__closures__ = {}; else f = o.hx__closures__[m.__id__]; if( f == null ) { f = m.bind(o); o.hx__closures__[m.__id__] = f; } return f; } -$global.$haxeUID |= 0; -if(typeof(performance) != "undefined" ? typeof(performance.now) == "function" : false) { - HxOverrides.now = performance.now.bind(performance); -} -if( String.fromCodePoint == null ) String.fromCodePoint = function(c) { return c < 0x10000 ? String.fromCharCode(c) : String.fromCharCode((c>>10)+0xD7C0)+String.fromCharCode((c&0x3FF)+0xDC00); } -String.__name__ = true; -Array.__name__ = true; -js_Boot.__toStr = ({ }).toString; -haxe_Template.splitter = new EReg("(::[A-Za-z0-9_ ()&|!+=/><*.\"-]+::|\\$\\$([A-Za-z0-9_-]+)\\()",""); -haxe_Template.expr_splitter = new EReg("(\\(|\\)|[ \r\n\t]*\"[^\"]*\"[ \r\n\t]*|[!+=/><*.&|-]+)",""); -haxe_Template.expr_trim = new EReg("^[ ]*([^ ]+)[ ]*$",""); -haxe_Template.expr_int = new EReg("^[0-9]+$",""); -haxe_Template.expr_float = new EReg("^([+-]?)(?=\\d|,\\d)\\d*(,\\d*)?([Ee]([+-]?\\d+))?$",""); -haxe_Template.globals = { }; -haxe_Template.hxKeepArrayIterator = new haxe_iterators_ArrayIterator([]); -xrfragment_Parser.error = ""; -xrfragment_Parser.debug = false; -xrfragment_URI.__meta__ = { statics : { template : { keep : null}}}; -xrfragment_URI._parts = ["source","scheme","authority","userInfo","user","password","host","port","relative","path","directory","file","query","fragment"]; -xrfragment_XRF.IMMUTABLE = 1; -xrfragment_XRF.PROP_BIND = 2; -xrfragment_XRF.QUERY_OPERATOR = 4; -xrfragment_XRF.PROMPT = 8; -xrfragment_XRF.CUSTOMFRAG = 16; -xrfragment_XRF.NAVIGATOR = 32; -xrfragment_XRF.METADATA = 64; -xrfragment_XRF.PV_OVERRIDE = 128; -xrfragment_XRF.PV_EXECUTE = 256; -xrfragment_XRF.T_COLOR = 8192; -xrfragment_XRF.T_INT = 16384; -xrfragment_XRF.T_FLOAT = 32768; -xrfragment_XRF.T_VECTOR2 = 65536; -xrfragment_XRF.T_VECTOR3 = 131072; -xrfragment_XRF.T_URL = 262144; -xrfragment_XRF.T_PREDEFINED_VIEW = 524288; -xrfragment_XRF.T_STRING = 1048576; -xrfragment_XRF.T_MEDIAFRAG = 2097152; -xrfragment_XRF.T_DYNAMICKEY = 4194304; -xrfragment_XRF.T_DYNAMICKEYVALUE = 8388608; -xrfragment_XRF.isColor = new EReg("^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$",""); -xrfragment_XRF.isInt = new EReg("^[-0-9]+$",""); -xrfragment_XRF.isFloat = new EReg("^[-0-9]+\\.[0-9]+$",""); -xrfragment_XRF.isVector = new EReg("([,]+|\\w)",""); -xrfragment_XRF.isUrl = new EReg("(://)?\\..*",""); -xrfragment_XRF.isUrlOrPretypedView = new EReg("(^#|://)?\\..*",""); -xrfragment_XRF.isString = new EReg(".*",""); -xrfragment_XRF.operators = new EReg("(^[-]|^[!]|[\\*]$)","g"); -xrfragment_XRF.isProp = new EReg("^.*=[><=]?",""); -xrfragment_XRF.isExclude = new EReg("^-",""); -xrfragment_XRF.isDeep = new EReg("\\*",""); -xrfragment_XRF.isNumber = new EReg("^[0-9\\.]+$",""); -xrfragment_XRF.isMediaFrag = new EReg("^([0-9\\.,\\*+-]+)$",""); -xrfragment_XRF.isReset = new EReg("^!",""); -xrfragment_XRF.isShift = new EReg("^(\\+|--)",""); -xrfragment_XRF.isXRFScheme = new EReg("^xrf://",""); -})(typeof window != "undefined" ? window : typeof global != "undefined" ? global : typeof self != "undefined" ? self : this); -var xrfragment = $hx_exports["xrfragment"]; -export default xrfragment; -// Generated by Haxe 4.3.3 -var $hx_exports = typeof exports != "undefined" ? exports : typeof window != "undefined" ? window : typeof self != "undefined" ? self : this; -(function ($global) { "use strict"; -$hx_exports["xrfragment"] = $hx_exports["xrfragment"] || {}; -var $estr = function() { return js_Boot.__string_rec(this,''); },$hxEnums = $hxEnums || {},$_; -function $extend(from, fields) { - var proto = Object.create(from); - for (var name in fields) proto[name] = fields[name]; - if( fields.toString !== Object.prototype.toString ) proto.toString = fields.toString; - return proto; -} -var EReg = function(r,opt) { - this.r = new RegExp(r,opt.split("u").join("")); -}; -EReg.__name__ = true; -EReg.prototype = { - match: function(s) { - if(this.r.global) { - this.r.lastIndex = 0; - } - this.r.m = this.r.exec(s); - this.r.s = s; - return this.r.m != null; - } - ,matched: function(n) { - if(this.r.m != null && n >= 0 && n < this.r.m.length) { - return this.r.m[n]; - } else { - throw haxe_Exception.thrown("EReg::matched"); - } - } - ,matchedRight: function() { - if(this.r.m == null) { - throw haxe_Exception.thrown("No string matched"); - } - var sz = this.r.m.index + this.r.m[0].length; - return HxOverrides.substr(this.r.s,sz,this.r.s.length - sz); - } - ,matchedPos: function() { - if(this.r.m == null) { - throw haxe_Exception.thrown("No string matched"); - } - return { pos : this.r.m.index, len : this.r.m[0].length}; - } - ,split: function(s) { - var d = "#__delim__#"; - return s.replace(this.r,d).split(d); - } -}; -var HxOverrides = function() { }; -HxOverrides.__name__ = true; -HxOverrides.cca = function(s,index) { - var x = s.charCodeAt(index); - if(x != x) { - return undefined; - } - return x; -}; -HxOverrides.substr = function(s,pos,len) { - if(len == null) { - len = s.length; - } else if(len < 0) { - if(pos == 0) { - len = s.length + len; - } else { - return ""; - } - } - return s.substr(pos,len); -}; -HxOverrides.now = function() { - return Date.now(); -}; -Math.__name__ = true; -var Reflect = function() { }; -Reflect.__name__ = true; -Reflect.field = function(o,field) { - try { - return o[field]; - } catch( _g ) { - return null; - } -}; -Reflect.getProperty = function(o,field) { - var tmp; - if(o == null) { - return null; - } else { - var tmp1; - if(o.__properties__) { - tmp = o.__properties__["get_" + field]; - tmp1 = tmp; - } else { - tmp1 = false; - } - if(tmp1) { - return o[tmp](); - } else { - return o[field]; - } - } -}; -Reflect.fields = function(o) { - var a = []; - if(o != null) { - var hasOwnProperty = Object.prototype.hasOwnProperty; - for( var f in o ) { - if(f != "__id__" && f != "hx__closures__" && hasOwnProperty.call(o,f)) { - a.push(f); - } - } - } - return a; -}; -Reflect.isObject = function(v) { - if(v == null) { - return false; - } - var t = typeof(v); - if(!(t == "string" || t == "object" && v.__enum__ == null)) { - if(t == "function") { - return (v.__name__ || v.__ename__) != null; - } else { - return false; - } - } else { - return true; - } -}; -Reflect.deleteField = function(o,field) { - if(!Object.prototype.hasOwnProperty.call(o,field)) { - return false; - } - delete(o[field]); - return true; -}; -Reflect.copy = function(o) { - if(o == null) { - return null; - } - var o2 = { }; - var _g = 0; - var _g1 = Reflect.fields(o); - while(_g < _g1.length) { - var f = _g1[_g]; - ++_g; - o2[f] = Reflect.field(o,f); - } - return o2; -}; -var Std = function() { }; -Std.__name__ = true; -Std.string = function(s) { - return js_Boot.__string_rec(s,""); -}; -Std.parseInt = function(x) { - var v = parseInt(x); - if(isNaN(v)) { - return null; - } - return v; -}; -var StringBuf = function() { - this.b = ""; -}; -StringBuf.__name__ = true; -var StringTools = function() { }; -StringTools.__name__ = true; -StringTools.isSpace = function(s,pos) { - var c = HxOverrides.cca(s,pos); - if(!(c > 8 && c < 14)) { - return c == 32; - } else { - return true; - } -}; -StringTools.ltrim = function(s) { - var l = s.length; - var r = 0; - while(r < l && StringTools.isSpace(s,r)) ++r; - if(r > 0) { - return HxOverrides.substr(s,r,l - r); - } else { - return s; - } -}; -StringTools.rtrim = function(s) { - var l = s.length; - var r = 0; - while(r < l && StringTools.isSpace(s,l - r - 1)) ++r; - if(r > 0) { - return HxOverrides.substr(s,0,l - r); - } else { - return s; - } -}; -StringTools.trim = function(s) { - return StringTools.ltrim(StringTools.rtrim(s)); -}; -StringTools.replace = function(s,sub,by) { - return s.split(sub).join(by); -}; -var haxe_Exception = function(message,previous,native) { - Error.call(this,message); - this.message = message; - this.__previousException = previous; - this.__nativeException = native != null ? native : this; -}; -haxe_Exception.__name__ = true; -haxe_Exception.caught = function(value) { - if(((value) instanceof haxe_Exception)) { - return value; - } else if(((value) instanceof Error)) { - return new haxe_Exception(value.message,null,value); - } else { - return new haxe_ValueException(value,null,value); - } -}; -haxe_Exception.thrown = function(value) { - if(((value) instanceof haxe_Exception)) { - return value.get_native(); - } else if(((value) instanceof Error)) { - return value; - } else { - var e = new haxe_ValueException(value); - return e; - } -}; -haxe_Exception.__super__ = Error; -haxe_Exception.prototype = $extend(Error.prototype,{ - unwrap: function() { - return this.__nativeException; - } - ,get_native: function() { - return this.__nativeException; - } - ,__properties__: {get_native:"get_native"} -}); -var haxe__$Template_TemplateExpr = $hxEnums["haxe._Template.TemplateExpr"] = { __ename__:true,__constructs__:null - ,OpVar: ($_=function(v) { return {_hx_index:0,v:v,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpVar",$_.__params__ = ["v"],$_) - ,OpExpr: ($_=function(expr) { return {_hx_index:1,expr:expr,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpExpr",$_.__params__ = ["expr"],$_) - ,OpIf: ($_=function(expr,eif,eelse) { return {_hx_index:2,expr:expr,eif:eif,eelse:eelse,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpIf",$_.__params__ = ["expr","eif","eelse"],$_) - ,OpStr: ($_=function(str) { return {_hx_index:3,str:str,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpStr",$_.__params__ = ["str"],$_) - ,OpBlock: ($_=function(l) { return {_hx_index:4,l:l,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpBlock",$_.__params__ = ["l"],$_) - ,OpForeach: ($_=function(expr,loop) { return {_hx_index:5,expr:expr,loop:loop,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpForeach",$_.__params__ = ["expr","loop"],$_) - ,OpMacro: ($_=function(name,params) { return {_hx_index:6,name:name,params:params,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpMacro",$_.__params__ = ["name","params"],$_) -}; -haxe__$Template_TemplateExpr.__constructs__ = [haxe__$Template_TemplateExpr.OpVar,haxe__$Template_TemplateExpr.OpExpr,haxe__$Template_TemplateExpr.OpIf,haxe__$Template_TemplateExpr.OpStr,haxe__$Template_TemplateExpr.OpBlock,haxe__$Template_TemplateExpr.OpForeach,haxe__$Template_TemplateExpr.OpMacro]; -var haxe_iterators_ArrayIterator = function(array) { - this.current = 0; - this.array = array; -}; -haxe_iterators_ArrayIterator.__name__ = true; -haxe_iterators_ArrayIterator.prototype = { - hasNext: function() { - return this.current < this.array.length; - } - ,next: function() { - return this.array[this.current++]; - } -}; -var haxe_Template = function(str) { - var tokens = this.parseTokens(str); - this.expr = this.parseBlock(tokens); - if(!tokens.isEmpty()) { - throw haxe_Exception.thrown("Unexpected '" + Std.string(tokens.first().s) + "'"); - } -}; -haxe_Template.__name__ = true; -haxe_Template.prototype = { - execute: function(context,macros) { - this.macros = macros == null ? { } : macros; - this.context = context; - this.stack = new haxe_ds_List(); - this.buf = new StringBuf(); - this.run(this.expr); - return this.buf.b; - } - ,resolve: function(v) { - if(v == "__current__") { - return this.context; - } - if(Reflect.isObject(this.context)) { - var value = Reflect.getProperty(this.context,v); - if(value != null || Object.prototype.hasOwnProperty.call(this.context,v)) { - return value; - } - } - var _g_head = this.stack.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var ctx = val; - var value = Reflect.getProperty(ctx,v); - if(value != null || Object.prototype.hasOwnProperty.call(ctx,v)) { - return value; - } - } - return Reflect.field(haxe_Template.globals,v); - } - ,parseTokens: function(data) { - var tokens = new haxe_ds_List(); - while(haxe_Template.splitter.match(data)) { - var p = haxe_Template.splitter.matchedPos(); - if(p.pos > 0) { - tokens.add({ p : HxOverrides.substr(data,0,p.pos), s : true, l : null}); - } - if(HxOverrides.cca(data,p.pos) == 58) { - tokens.add({ p : HxOverrides.substr(data,p.pos + 2,p.len - 4), s : false, l : null}); - data = haxe_Template.splitter.matchedRight(); - continue; - } - var parp = p.pos + p.len; - var npar = 1; - var params = []; - var part = ""; - while(true) { - var c = HxOverrides.cca(data,parp); - ++parp; - if(c == 40) { - ++npar; - } else if(c == 41) { - --npar; - if(npar <= 0) { - break; - } - } else if(c == null) { - throw haxe_Exception.thrown("Unclosed macro parenthesis"); - } - if(c == 44 && npar == 1) { - params.push(part); - part = ""; - } else { - part += String.fromCodePoint(c); - } - } - params.push(part); - tokens.add({ p : haxe_Template.splitter.matched(2), s : false, l : params}); - data = HxOverrides.substr(data,parp,data.length - parp); - } - if(data.length > 0) { - tokens.add({ p : data, s : true, l : null}); - } - return tokens; - } - ,parseBlock: function(tokens) { - var l = new haxe_ds_List(); - while(true) { - var t = tokens.first(); - if(t == null) { - break; - } - if(!t.s && (t.p == "end" || t.p == "else" || HxOverrides.substr(t.p,0,7) == "elseif ")) { - break; - } - l.add(this.parse(tokens)); - } - if(l.length == 1) { - return l.first(); - } - return haxe__$Template_TemplateExpr.OpBlock(l); - } - ,parse: function(tokens) { - var t = tokens.pop(); - var p = t.p; - if(t.s) { - return haxe__$Template_TemplateExpr.OpStr(p); - } - if(t.l != null) { - var pe = new haxe_ds_List(); - var _g = 0; - var _g1 = t.l; - while(_g < _g1.length) { - var p1 = _g1[_g]; - ++_g; - pe.add(this.parseBlock(this.parseTokens(p1))); - } - return haxe__$Template_TemplateExpr.OpMacro(p,pe); - } - var kwdEnd = function(kwd) { - var pos = -1; - var length = kwd.length; - if(HxOverrides.substr(p,0,length) == kwd) { - pos = length; - var _g_offset = 0; - var _g_s = HxOverrides.substr(p,length,null); - while(_g_offset < _g_s.length) { - var c = _g_s.charCodeAt(_g_offset++); - if(c == 32) { - ++pos; - } else { - break; - } - } - } - return pos; - }; - var pos = kwdEnd("if"); - if(pos > 0) { - p = HxOverrides.substr(p,pos,p.length - pos); - var e = this.parseExpr(p); - var eif = this.parseBlock(tokens); - var t = tokens.first(); - var eelse; - if(t == null) { - throw haxe_Exception.thrown("Unclosed 'if'"); - } - if(t.p == "end") { - tokens.pop(); - eelse = null; - } else if(t.p == "else") { - tokens.pop(); - eelse = this.parseBlock(tokens); - t = tokens.pop(); - if(t == null || t.p != "end") { - throw haxe_Exception.thrown("Unclosed 'else'"); - } - } else { - t.p = HxOverrides.substr(t.p,4,t.p.length - 4); - eelse = this.parse(tokens); - } - return haxe__$Template_TemplateExpr.OpIf(e,eif,eelse); - } - var pos = kwdEnd("foreach"); - if(pos >= 0) { - p = HxOverrides.substr(p,pos,p.length - pos); - var e = this.parseExpr(p); - var efor = this.parseBlock(tokens); - var t = tokens.pop(); - if(t == null || t.p != "end") { - throw haxe_Exception.thrown("Unclosed 'foreach'"); - } - return haxe__$Template_TemplateExpr.OpForeach(e,efor); - } - if(haxe_Template.expr_splitter.match(p)) { - return haxe__$Template_TemplateExpr.OpExpr(this.parseExpr(p)); - } - return haxe__$Template_TemplateExpr.OpVar(p); - } - ,parseExpr: function(data) { - var l = new haxe_ds_List(); - var expr = data; - while(haxe_Template.expr_splitter.match(data)) { - var p = haxe_Template.expr_splitter.matchedPos(); - var k = p.pos + p.len; - if(p.pos != 0) { - l.add({ p : HxOverrides.substr(data,0,p.pos), s : true}); - } - var p1 = haxe_Template.expr_splitter.matched(0); - l.add({ p : p1, s : p1.indexOf("\"") >= 0}); - data = haxe_Template.expr_splitter.matchedRight(); - } - if(data.length != 0) { - var _g_offset = 0; - var _g_s = data; - while(_g_offset < _g_s.length) { - var _g_key = _g_offset; - var _g_value = _g_s.charCodeAt(_g_offset++); - var i = _g_key; - var c = _g_value; - if(c != 32) { - l.add({ p : HxOverrides.substr(data,i,null), s : true}); - break; - } - } - } - var e; - try { - e = this.makeExpr(l); - if(!l.isEmpty()) { - throw haxe_Exception.thrown(l.first().p); - } - } catch( _g ) { - var _g1 = haxe_Exception.caught(_g).unwrap(); - if(typeof(_g1) == "string") { - var s = _g1; - throw haxe_Exception.thrown("Unexpected '" + s + "' in " + expr); - } else { - throw _g; - } - } - return function() { - try { - return e(); - } catch( _g ) { - var exc = haxe_Exception.caught(_g).unwrap(); - throw haxe_Exception.thrown("Error : " + Std.string(exc) + " in " + expr); - } - }; - } - ,makeConst: function(v) { - haxe_Template.expr_trim.match(v); - v = haxe_Template.expr_trim.matched(1); - if(HxOverrides.cca(v,0) == 34) { - var str = HxOverrides.substr(v,1,v.length - 2); - return function() { - return str; - }; - } - if(haxe_Template.expr_int.match(v)) { - var i = Std.parseInt(v); - return function() { - return i; - }; - } - if(haxe_Template.expr_float.match(v)) { - var f = parseFloat(v); - return function() { - return f; - }; - } - var me = this; - return function() { - return me.resolve(v); - }; - } - ,makePath: function(e,l) { - var p = l.first(); - if(p == null || p.p != ".") { - return e; - } - l.pop(); - var field = l.pop(); - if(field == null || !field.s) { - throw haxe_Exception.thrown(field.p); - } - var f = field.p; - haxe_Template.expr_trim.match(f); - f = haxe_Template.expr_trim.matched(1); - return this.makePath(function() { - return Reflect.field(e(),f); - },l); - } - ,makeExpr: function(l) { - return this.makePath(this.makeExpr2(l),l); - } - ,skipSpaces: function(l) { - var p = l.first(); - while(p != null) { - var _g_offset = 0; - var _g_s = p.p; - while(_g_offset < _g_s.length) { - var c = _g_s.charCodeAt(_g_offset++); - if(c != 32) { - return; - } - } - l.pop(); - p = l.first(); - } - } - ,makeExpr2: function(l) { - this.skipSpaces(l); - var p = l.pop(); - this.skipSpaces(l); - if(p == null) { - throw haxe_Exception.thrown(""); - } - if(p.s) { - return this.makeConst(p.p); - } - switch(p.p) { - case "!": - var e = this.makeExpr(l); - return function() { - var v = e(); - if(v != null) { - return v == false; - } else { - return true; - } - }; - case "(": - this.skipSpaces(l); - var e1 = this.makeExpr(l); - this.skipSpaces(l); - var p1 = l.pop(); - if(p1 == null || p1.s) { - throw haxe_Exception.thrown(p1); - } - if(p1.p == ")") { - return e1; - } - this.skipSpaces(l); - var e2 = this.makeExpr(l); - this.skipSpaces(l); - var p2 = l.pop(); - this.skipSpaces(l); - if(p2 == null || p2.p != ")") { - throw haxe_Exception.thrown(p2); - } - switch(p1.p) { - case "!=": - return function() { - return e1() != e2(); - }; - case "&&": - return function() { - return e1() && e2(); - }; - case "*": - return function() { - return e1() * e2(); - }; - case "+": - return function() { - return e1() + e2(); - }; - case "-": - return function() { - return e1() - e2(); - }; - case "/": - return function() { - return e1() / e2(); - }; - case "<": - return function() { - return e1() < e2(); - }; - case "<=": - return function() { - return e1() <= e2(); - }; - case "==": - return function() { - return e1() == e2(); - }; - case ">": - return function() { - return e1() > e2(); - }; - case ">=": - return function() { - return e1() >= e2(); - }; - case "||": - return function() { - return e1() || e2(); - }; - default: - throw haxe_Exception.thrown("Unknown operation " + p1.p); - } - break; - case "-": - var e3 = this.makeExpr(l); - return function() { - return -e3(); - }; - } - throw haxe_Exception.thrown(p.p); - } - ,run: function(e) { - switch(e._hx_index) { - case 0: - var v = e.v; - var _this = this.buf; - var x = Std.string(this.resolve(v)); - _this.b += Std.string(x); - break; - case 1: - var e1 = e.expr; - var _this = this.buf; - var x = Std.string(e1()); - _this.b += Std.string(x); - break; - case 2: - var e1 = e.expr; - var eif = e.eif; - var eelse = e.eelse; - var v = e1(); - if(v == null || v == false) { - if(eelse != null) { - this.run(eelse); - } - } else { - this.run(eif); - } - break; - case 3: - var str = e.str; - this.buf.b += str == null ? "null" : "" + str; - break; - case 4: - var l = e.l; - var _g_head = l.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var e1 = val; - this.run(e1); - } - break; - case 5: - var e1 = e.expr; - var loop = e.loop; - var v = e1(); - try { - var x = $getIterator(v); - if(x.hasNext == null) { - throw haxe_Exception.thrown(null); - } - v = x; - } catch( _g ) { - try { - if(v.hasNext == null) { - throw haxe_Exception.thrown(null); - } - } catch( _g1 ) { - throw haxe_Exception.thrown("Cannot iter on " + Std.string(v)); - } - } - this.stack.push(this.context); - var v1 = v; - var ctx = v1; - while(ctx.hasNext()) { - var ctx1 = ctx.next(); - this.context = ctx1; - this.run(loop); - } - this.context = this.stack.pop(); - break; - case 6: - var m = e.name; - var params = e.params; - var v = Reflect.field(this.macros,m); - var pl = []; - var old = this.buf; - pl.push($bind(this,this.resolve)); - var _g_head = params.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var p = val; - if(p._hx_index == 0) { - var v1 = p.v; - pl.push(this.resolve(v1)); - } else { - this.buf = new StringBuf(); - this.run(p); - pl.push(this.buf.b); - } - } - this.buf = old; - try { - var _this = this.buf; - var x = Std.string(v.apply(this.macros,pl)); - _this.b += Std.string(x); - } catch( _g ) { - var e = haxe_Exception.caught(_g).unwrap(); - var plstr; - try { - plstr = pl.join(","); - } catch( _g1 ) { - plstr = "???"; - } - var msg = "Macro call " + m + "(" + plstr + ") failed (" + Std.string(e) + ")"; - throw haxe_Exception.thrown(msg); - } - break; - } - } -}; -var haxe_ValueException = function(value,previous,native) { - haxe_Exception.call(this,String(value),previous,native); - this.value = value; -}; -haxe_ValueException.__name__ = true; -haxe_ValueException.__super__ = haxe_Exception; -haxe_ValueException.prototype = $extend(haxe_Exception.prototype,{ - unwrap: function() { - return this.value; - } -}); -var haxe_ds_List = function() { - this.length = 0; -}; -haxe_ds_List.__name__ = true; -haxe_ds_List.prototype = { - add: function(item) { - var x = new haxe_ds__$List_ListNode(item,null); - if(this.h == null) { - this.h = x; - } else { - this.q.next = x; - } - this.q = x; - this.length++; - } - ,push: function(item) { - var x = new haxe_ds__$List_ListNode(item,this.h); - this.h = x; - if(this.q == null) { - this.q = x; - } - this.length++; - } - ,first: function() { - if(this.h == null) { - return null; - } else { - return this.h.item; - } - } - ,pop: function() { - if(this.h == null) { - return null; - } - var x = this.h.item; - this.h = this.h.next; - if(this.h == null) { - this.q = null; - } - this.length--; - return x; - } - ,isEmpty: function() { - return this.h == null; - } - ,toString: function() { - var s_b = ""; - var first = true; - var l = this.h; - s_b += "{"; - while(l != null) { - if(first) { - first = false; - } else { - s_b += ", "; - } - s_b += Std.string(Std.string(l.item)); - l = l.next; - } - s_b += "}"; - return s_b; - } -}; -var haxe_ds__$List_ListNode = function(item,next) { - this.item = item; - this.next = next; -}; -haxe_ds__$List_ListNode.__name__ = true; -var js_Boot = function() { }; -js_Boot.__name__ = true; -js_Boot.__string_rec = function(o,s) { - if(o == null) { - return "null"; - } - if(s.length >= 5) { - return "<...>"; - } - var t = typeof(o); - if(t == "function" && (o.__name__ || o.__ename__)) { - t = "object"; - } - switch(t) { - case "function": - return ""; - case "object": - if(o.__enum__) { - var e = $hxEnums[o.__enum__]; - var con = e.__constructs__[o._hx_index]; - var n = con._hx_name; - if(con.__params__) { - s = s + "\t"; - return n + "(" + ((function($this) { - var $r; - var _g = []; - { - var _g1 = 0; - var _g2 = con.__params__; - while(true) { - if(!(_g1 < _g2.length)) { - break; - } - var p = _g2[_g1]; - _g1 = _g1 + 1; - _g.push(js_Boot.__string_rec(o[p],s)); - } - } - $r = _g; - return $r; - }(this))).join(",") + ")"; - } else { - return n; - } - } - if(((o) instanceof Array)) { - var str = "["; - s += "\t"; - var _g = 0; - var _g1 = o.length; - while(_g < _g1) { - var i = _g++; - str += (i > 0 ? "," : "") + js_Boot.__string_rec(o[i],s); - } - str += "]"; - return str; - } - var tostr; - try { - tostr = o.toString; - } catch( _g ) { - return "???"; - } - if(tostr != null && tostr != Object.toString && typeof(tostr) == "function") { - var s2 = o.toString(); - if(s2 != "[object Object]") { - return s2; - } - } - var str = "{\n"; - s += "\t"; - var hasp = o.hasOwnProperty != null; - var k = null; - for( k in o ) { - if(hasp && !o.hasOwnProperty(k)) { - continue; - } - if(k == "prototype" || k == "__class__" || k == "__super__" || k == "__interfaces__" || k == "__properties__") { - continue; - } - if(str.length != 2) { - str += ", \n"; - } - str += s + k + " : " + js_Boot.__string_rec(o[k],s); - } - s = s.substring(1); - str += "\n" + s + "}"; - return str; - case "string": - return o; - default: - return String(o); - } -}; -var xrfragment_Filter = $hx_exports["xrfragment"]["Filter"] = function(str) { - this.q = { }; - this.str = ""; - if(str != null) { - this.parse(str); - } -}; -xrfragment_Filter.__name__ = true; -xrfragment_Filter.prototype = { - toObject: function() { - return Reflect.copy(this.q); - } - ,get: function() { - return Reflect.copy(this.q); - } - ,parse: function(str) { - var token = str.split(" "); - var q = { }; - var process = function(str,prefix) { - if(prefix == null) { - prefix = ""; - } - str = StringTools.trim(str); - var k = str.split("=")[0]; - var v = str.split("=")[1]; - var filter = { }; - if(q[prefix + k]) { - filter = q[prefix + k]; - } - if(xrfragment_XRF.isProp.match(str)) { - var oper = ""; - if(str.indexOf(">") != -1) { - oper = ">"; - } - if(str.indexOf("<") != -1) { - oper = "<"; - } - if(xrfragment_XRF.isExclude.match(k)) { - k = HxOverrides.substr(k,1,null); - } - v = HxOverrides.substr(v,oper.length,null); - if(oper.length == 0) { - oper = "="; - } - var rule = { }; - if(xrfragment_XRF.isNumber.match(v)) { - rule[oper] = parseFloat(v); - } else { - rule[oper] = v; - } - q["expr"] = rule; - } - var value = xrfragment_XRF.isDeep.match(str) ? k.split("*").length - 1 : 0; - q["deep"] = value; - var value = xrfragment_XRF.isExclude.match(str) ? false : true; - q["show"] = value; - var value = k.replace(xrfragment_XRF.operators.r,""); - q["key"] = value; - q["value"] = v; - }; - var _g = 0; - var _g1 = token.length; - while(_g < _g1) { - var i = _g++; - process(token[i]); - } - return this.q = q; - } - ,test: function(obj) { - var qualify = false; - var _g = 0; - var _g1 = Reflect.fields(obj); - while(_g < _g1.length) { - var k = _g1[_g]; - ++_g; - var v = Std.string(Reflect.field(obj,k)); - if(this.testProperty(k,v)) { - qualify = true; - } - } - var _g = 0; - var _g1 = Reflect.fields(obj); - while(_g < _g1.length) { - var k = _g1[_g]; - ++_g; - var v = Std.string(Reflect.field(obj,k)); - if(this.testProperty(k,v,true)) { - qualify = false; - } - } - return qualify; - } - ,testProperty: function(property,value,exclude) { - var conds = 0; - var fails = 0; - var qualify = 0; - var testprop = function(expr) { - conds += 1; - fails += expr ? 0 : 1; - return expr; - }; - if(this.q[value] != null) { - var v = this.q[value]; - if(v[property] != null) { - return v[property]; - } - } - if(Reflect.field(this.q,"expr")) { - var f = Reflect.field(this.q,"expr"); - if(!Reflect.field(this.q,"show")) { - if(Reflect.field(f,"!=") != null && testprop((value == null ? "null" : "" + value) == Std.string(Reflect.field(f,"!="))) && exclude) { - ++qualify; - } - } else { - if(Reflect.field(f,"*") != null && testprop(parseFloat(value) != null)) { - ++qualify; - } - if(Reflect.field(f,">") != null && testprop(parseFloat(value) >= parseFloat(Reflect.field(f,">")))) { - ++qualify; - } - if(Reflect.field(f,"<") != null && testprop(parseFloat(value) <= parseFloat(Reflect.field(f,"<")))) { - ++qualify; - } - if(Reflect.field(f,"=") != null && (testprop(value == Reflect.field(f,"=")) || testprop(parseFloat(value) == parseFloat(Reflect.field(f,"="))))) { - ++qualify; - } - } - } - return qualify > 0; - } -}; -var xrfragment_Parser = $hx_exports["xrfragment"]["Parser"] = function() { }; -xrfragment_Parser.__name__ = true; -xrfragment_Parser.parse = function(key,value,store,index) { - var Frag_h = Object.create(null); - Frag_h["#"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_PREDEFINED_VIEW | xrfragment_XRF.PV_EXECUTE; - Frag_h["src"] = xrfragment_XRF.T_URL; - Frag_h["href"] = xrfragment_XRF.T_URL | xrfragment_XRF.T_PREDEFINED_VIEW; - Frag_h["tag"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["pos"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_VECTOR3 | xrfragment_XRF.T_STRING | xrfragment_XRF.METADATA | xrfragment_XRF.NAVIGATOR; - Frag_h["rot"] = xrfragment_XRF.QUERY_OPERATOR | xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_VECTOR3 | xrfragment_XRF.METADATA | xrfragment_XRF.NAVIGATOR; - Frag_h["t"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_FLOAT | xrfragment_XRF.T_VECTOR2 | xrfragment_XRF.NAVIGATOR | xrfragment_XRF.METADATA; - Frag_h["s"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_MEDIAFRAG; - Frag_h["loop"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_PREDEFINED_VIEW; - Frag_h["uv"] = xrfragment_XRF.T_VECTOR2 | xrfragment_XRF.T_MEDIAFRAG; - Frag_h["namespace"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["SPDX"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["unit"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["description"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - var keyStripped = key.replace(xrfragment_XRF.operators.r,""); - var isPVDynamic = key.length > 0 && !Object.prototype.hasOwnProperty.call(Frag_h,key); - if(isPVDynamic) { - var v = new xrfragment_XRF(key,xrfragment_XRF.PV_EXECUTE | xrfragment_XRF.NAVIGATOR,index); - v.validate(value); - v.flags = xrfragment_XRF.set(xrfragment_XRF.T_DYNAMICKEY,v.flags); - if(!Object.prototype.hasOwnProperty.call(Frag_h,key)) { - v.flags = xrfragment_XRF.set(xrfragment_XRF.CUSTOMFRAG,v.flags); - } - if(value.length == 0) { - v.flags = xrfragment_XRF.set(xrfragment_XRF.T_DYNAMICKEYVALUE,v.flags); - } - store[keyStripped] = v; - return true; - } - var v = new xrfragment_XRF(key,Frag_h[key],index); - if(Object.prototype.hasOwnProperty.call(Frag_h,key)) { - if(!v.validate(value)) { - console.log("src/xrfragment/Parser.hx:67:","⚠ fragment '" + key + "' has incompatible value (" + value + ")"); - return false; - } - store[keyStripped] = v; - if(xrfragment_Parser.debug) { - console.log("src/xrfragment/Parser.hx:71:","✔ " + key + ": " + v.string); - } - } else { - if(typeof(value) == "string") { - v.guessType(v,value); - } - v.flags = xrfragment_XRF.set(xrfragment_XRF.CUSTOMFRAG,v.flags); - store[keyStripped] = v; - } - return true; -}; -xrfragment_Parser.getMetaData = function() { - var meta = { title : ["title","og:title","dc.title"], description : ["aria-description","og:description","dc.description"], author : ["author","dc.creator"], publisher : ["publisher","dc.publisher"], website : ["og:site_name","og:url","dc.publisher"], license : ["SPDX","dc.rights"]}; - return meta; -}; -var xrfragment_URI = $hx_exports["xrfragment"]["URI"] = function() { - this.XRF = { }; - this.hash = { }; - this.fragment = ""; -}; -xrfragment_URI.__name__ = true; -xrfragment_URI.parseFragment = function(url,filter) { - var store = { }; - if(url == null || url.indexOf("#") == -1) { - return store; - } - var fragment = url.split("#"); - var splitArray = fragment[1].split("&"); - var _g = 0; - var _g1 = splitArray.length; - while(_g < _g1) { - var i = _g++; - var splitByEqual = splitArray[i].split("="); - var regexPlus = new EReg("\\+","g"); - var key = splitByEqual[0]; - var value = ""; - if(splitByEqual.length > 1) { - if(xrfragment_XRF.isVector.match(splitByEqual[1])) { - value = splitByEqual[1]; - } else { - var s = regexPlus.split(splitByEqual[1]).join(" "); - value = decodeURIComponent(s.split("+").join(" ")); - } - } - var ok = xrfragment_Parser.parse(key,value,store,i); - } - if(filter != null && filter != 0) { - var _g = 0; - var _g1 = Reflect.fields(store); - while(_g < _g1.length) { - var key = _g1[_g]; - ++_g; - var xrf = store[key]; - if(!xrf.is(filter)) { - Reflect.deleteField(store,key); - } - } - } - return store; -}; -xrfragment_URI.template = function(uri,vars) { - var parts = uri.split("#"); - if(parts.length == 1) { - return uri; - } - var frag = parts[1]; - frag = StringTools.replace(frag,"{","::"); - frag = StringTools.replace(frag,"}","::"); - frag = new haxe_Template(frag).execute(vars); - frag = StringTools.replace(frag,"null",""); - parts[1] = frag; - return parts.join("#"); -}; -xrfragment_URI.parse = function(stringUrl,flags) { - var r = new EReg("^(?:(?![^:@]+:[^:@/]*@)([^:/?#.]+):)?(?://)?((?:(([^:@]*)(?::([^:@]*))?)?@)?([^:/?#]*)(?::(\\d*))?)(((/(?:[^?#](?![^?#/]*\\.[^?#/.]+(?:[?#]|$)))*/?)?([^?#/]*))(?:\\?([^#]*))?(?:#(.*))?)",""); - if(stringUrl.indexOf("://") == -1 && stringUrl.charAt(0) != "/") { - stringUrl = "/" + stringUrl; - } - r.match(stringUrl); - var url = new xrfragment_URI(); - var _g = 0; - var _g1 = xrfragment_URI._parts.length; - while(_g < _g1) { - var i = _g++; - url[xrfragment_URI._parts[i]] = r.matched(i); - } - if(xrfragment_URI.isRelative(url) == true) { - if(url.directory == null && url.host != null) { - url.file = url.host; - } - url.host = ""; - } - url.hash = { }; - if(url.fragment != null && url.fragment.length > 0) { - url.XRF = xrfragment_URI.parseFragment("#" + url.fragment,flags); - var key; - var _g = 0; - var _g1 = Reflect.fields(url.XRF); - while(_g < _g1.length) { - var key = _g1[_g]; - ++_g; - var v = url.XRF[key]; - url.hash[key] = v["string"]; - } - } - xrfragment_URI.computeVars(url); - return url; -}; -xrfragment_URI.computeVars = function(url) { - var r_r = new RegExp("//","g".split("u").join("")); - if(url.directory != null && url.directory.indexOf("//") != -1) { - url.directory = url.directory.replace(r_r,"/"); - } - if(url.path != null && url.path.indexOf("//") != -1) { - url.path = url.path.replace(r_r,"/"); - } - if(url.file != null && url.file.indexOf("//") != -1) { - url.file = url.file.replace(r_r,"/"); - } - url.URN = url.scheme + "://" + url.host; - if(url.port != null) { - url.URN += ":" + url.port; - } - url.URN += url.directory; - if(url.file != null) { - var parts = url.file.split("."); - if(parts.length > 1) { - url.fileExt = parts.pop(); - } - } -}; -xrfragment_URI.toString = function(url) { - var result = ""; - if(url.scheme != null) { - result += url.scheme + "://"; - } - if(url.user != null) { - result += url.user + ":"; - } - if(url.password != null) { - result += url.password + "@"; - } - if(url.host != null) { - result += url.host; - } - if(url.port != null) { - result += ":" + url.port; - } - if(url.directory != null) { - result += url.directory; - } - if(url.file != null) { - result += url.file; - } - if(url.query != null) { - result += "?" + url.query; - } - if(url.fragment != null) { - result += "#" + url.fragment; - } - return result; -}; -xrfragment_URI.appendURI = function(url,appendedURI) { - if(xrfragment_URI.isRelative(url) == true) { - return xrfragment_URI.appendToRelativeURI(url,appendedURI); - } else { - return xrfragment_URI.appendToAbsoluteURI(url,appendedURI); - } -}; -xrfragment_URI.isRelative = function(url) { - return url.scheme == null; -}; -xrfragment_URI.appendToRelativeURI = function(url,appendedURI) { - if(url.directory == null || url.host == null) { - return xrfragment_URI.cloneURI(appendedURI); - } - var resultURI = new xrfragment_URI(); - resultURI.host = url.host; - resultURI.directory = url.directory; - if(appendedURI.host != null) { - resultURI.directory += appendedURI.host; - } - if(appendedURI.directory != null) { - var directory = appendedURI.directory; - if(appendedURI.host == null) { - resultURI.directory += HxOverrides.substr(directory,1,null); - } else { - resultURI.directory += directory; - } - } - if(appendedURI.file != null) { - resultURI.file = appendedURI.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(appendedURI.query != null) { - resultURI.query = appendedURI.query; - } - if(appendedURI.fragment != null) { - resultURI.fragment = appendedURI.fragment; - } - return resultURI; -}; -xrfragment_URI.appendToAbsoluteURI = function(url,appendedURI) { - var resultURI = new xrfragment_URI(); - if(url.scheme != null) { - resultURI.scheme = url.scheme; - } - if(url.host != null) { - resultURI.host = url.host; - } - var directory = ""; - if(url.directory != null) { - directory = url.directory; - } - if(appendedURI.host != null) { - appendedURI.directory += appendedURI.host; - } - if(appendedURI.directory != null) { - directory += appendedURI.directory; - } - resultURI.directory = directory; - if(appendedURI.file != null) { - resultURI.file = appendedURI.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(appendedURI.query != null) { - resultURI.query = appendedURI.query; - } - if(appendedURI.fragment != null) { - resultURI.fragment = appendedURI.fragment; - } - return resultURI; -}; -xrfragment_URI.toAbsolute = function(url,newUrl) { - var newURI = xrfragment_URI.parse(newUrl,0); - var resultURI = new xrfragment_URI(); - resultURI.port = url.port; - resultURI.source = newUrl; - if(newURI.scheme != null) { - resultURI.scheme = newURI.scheme; - } else { - resultURI.scheme = url.scheme; - } - if(newURI.host != null && newURI.host.length > 0) { - resultURI.host = newURI.host; - resultURI.port = null; - resultURI.fragment = null; - resultURI.hash = { }; - resultURI.XRF = { }; - if(newURI.port != null) { - resultURI.port = newURI.port; - } - } else { - resultURI.host = url.host; - } - var directory = ""; - if(url.directory != null) { - directory = url.directory; - } - if(newURI.directory != null) { - if(newUrl.charAt(0) != "/" && newUrl.indexOf("://") == -1) { - var stripRelative_r = new RegExp("\\./.*","".split("u").join("")); - directory = directory.replace(stripRelative_r,""); - directory += newURI.directory; - } else { - directory = newURI.directory; - } - } - resultURI.directory = directory; - if(newURI.file != null) { - resultURI.file = newURI.file; - } else { - resultURI.file = url.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(newURI.query != null) { - resultURI.query = newURI.query; - } - if(newURI.fragment != null) { - resultURI.fragment = newURI.fragment; - } - resultURI.hash = newURI.hash; - resultURI.XRF = newURI.XRF; - xrfragment_URI.computeVars(resultURI); - return resultURI; -}; -xrfragment_URI.cloneURI = function(url) { - var clonedURI = new xrfragment_URI(); - clonedURI.url = url.url; - clonedURI.source = url.source; - clonedURI.scheme = url.scheme; - clonedURI.authority = url.authority; - clonedURI.userInfo = url.userInfo; - clonedURI.password = url.password; - clonedURI.host = url.host; - clonedURI.port = url.port; - clonedURI.relative = url.relative; - clonedURI.path = url.path; - clonedURI.directory = url.directory; - clonedURI.file = url.file; - clonedURI.query = url.query; - clonedURI.fragment = url.fragment; - return clonedURI; -}; -var xrfragment_XRF = $hx_exports["xrfragment"]["XRF"] = function(_fragment,_flags,_index) { - this.floats = []; - this.shift = []; - this.fragment = _fragment; - this.flags = _flags; - this.index = _index; -}; -xrfragment_XRF.__name__ = true; -xrfragment_XRF.set = function(flag,flags) { - return flags | flag; -}; -xrfragment_XRF.unset = function(flag,flags) { - return flags & ~flag; -}; -xrfragment_XRF.prototype = { - is: function(flag) { - var v = this.flags; - if(!(typeof(v) == "number" && ((v | 0) === v))) { - this.flags = 0; - } - return (this.flags & flag) != 0; - } - ,validate: function(value) { - this.guessType(this,value); - var ok = true; - if(value.length == 0 && !this.is(xrfragment_XRF.T_PREDEFINED_VIEW)) { - ok = false; - } - if(!this.is(xrfragment_XRF.T_FLOAT) && this.is(xrfragment_XRF.T_VECTOR2) && !(typeof(this.x) == "number" && typeof(this.y) == "number")) { - ok = false; - } - if(!(this.is(xrfragment_XRF.T_VECTOR2) || this.is(xrfragment_XRF.T_STRING)) && this.is(xrfragment_XRF.T_VECTOR3) && !(typeof(this.x) == "number" && typeof(this.y) == "number" && typeof(this.z) == "number")) { - ok = false; - } - return ok; - } - ,guessType: function(v,str) { - v.string = str; - if(xrfragment_XRF.isReset.match(v.fragment)) { - v.reset = true; - } - if(v.fragment == "loop") { - v.loop = true; - } - if(typeof(str) != "string") { - return; - } - if(str.length > 0) { - if(xrfragment_XRF.isXRFScheme.match(str)) { - v.xrfScheme = true; - str = str.replace(xrfragment_XRF.isXRFScheme.r,""); - v.string = str; - } - if(str.split(",").length > 1) { - var xyzn = str.split(","); - if(xyzn.length > 0) { - v.x = parseFloat(xyzn[0]); - } - if(xyzn.length > 1) { - v.y = parseFloat(xyzn[1]); - } - if(xyzn.length > 2) { - v.z = parseFloat(xyzn[2]); - } - var _g = 0; - var _g1 = xyzn.length; - while(_g < _g1) { - var i = _g++; - v.shift.push(xrfragment_XRF.isShift.match(xyzn[i])); - v.floats.push(parseFloat(xyzn[i].replace(xrfragment_XRF.isShift.r,""))); - } - } - if(xrfragment_XRF.isColor.match(str)) { - v.color = str; - } - if(xrfragment_XRF.isFloat.match(str)) { - v.x = parseFloat(str); - v.float = v.x; - } - if(xrfragment_XRF.isInt.match(str)) { - v.int = Std.parseInt(str); - v.x = v.int; - v.floats.push(v.x); - } - v.filter = new xrfragment_Filter(v.fragment + "=" + v.string); - } else { - v.filter = new xrfragment_Filter(v.fragment); - } - } -}; -function $getIterator(o) { if( o instanceof Array ) return new haxe_iterators_ArrayIterator(o); else return o.iterator(); } -function $bind(o,m) { if( m == null ) return null; if( m.__id__ == null ) m.__id__ = $global.$haxeUID++; var f; if( o.hx__closures__ == null ) o.hx__closures__ = {}; else f = o.hx__closures__[m.__id__]; if( f == null ) { f = m.bind(o); o.hx__closures__[m.__id__] = f; } return f; } -$global.$haxeUID |= 0; -if(typeof(performance) != "undefined" ? typeof(performance.now) == "function" : false) { - HxOverrides.now = performance.now.bind(performance); -} -if( String.fromCodePoint == null ) String.fromCodePoint = function(c) { return c < 0x10000 ? String.fromCharCode(c) : String.fromCharCode((c>>10)+0xD7C0)+String.fromCharCode((c&0x3FF)+0xDC00); } -String.__name__ = true; -Array.__name__ = true; -js_Boot.__toStr = ({ }).toString; -haxe_Template.splitter = new EReg("(::[A-Za-z0-9_ ()&|!+=/><*.\"-]+::|\\$\\$([A-Za-z0-9_-]+)\\()",""); -haxe_Template.expr_splitter = new EReg("(\\(|\\)|[ \r\n\t]*\"[^\"]*\"[ \r\n\t]*|[!+=/><*.&|-]+)",""); -haxe_Template.expr_trim = new EReg("^[ ]*([^ ]+)[ ]*$",""); -haxe_Template.expr_int = new EReg("^[0-9]+$",""); -haxe_Template.expr_float = new EReg("^([+-]?)(?=\\d|,\\d)\\d*(,\\d*)?([Ee]([+-]?\\d+))?$",""); -haxe_Template.globals = { }; -haxe_Template.hxKeepArrayIterator = new haxe_iterators_ArrayIterator([]); -xrfragment_Parser.error = ""; -xrfragment_Parser.debug = false; -xrfragment_URI.__meta__ = { statics : { template : { keep : null}}}; -xrfragment_URI._parts = ["source","scheme","authority","userInfo","user","password","host","port","relative","path","directory","file","query","fragment"]; -xrfragment_XRF.IMMUTABLE = 1; -xrfragment_XRF.PROP_BIND = 2; -xrfragment_XRF.QUERY_OPERATOR = 4; -xrfragment_XRF.PROMPT = 8; -xrfragment_XRF.CUSTOMFRAG = 16; -xrfragment_XRF.NAVIGATOR = 32; -xrfragment_XRF.METADATA = 64; -xrfragment_XRF.PV_OVERRIDE = 128; -xrfragment_XRF.PV_EXECUTE = 256; -xrfragment_XRF.T_COLOR = 8192; -xrfragment_XRF.T_INT = 16384; -xrfragment_XRF.T_FLOAT = 32768; -xrfragment_XRF.T_VECTOR2 = 65536; -xrfragment_XRF.T_VECTOR3 = 131072; -xrfragment_XRF.T_URL = 262144; -xrfragment_XRF.T_PREDEFINED_VIEW = 524288; -xrfragment_XRF.T_STRING = 1048576; -xrfragment_XRF.T_MEDIAFRAG = 2097152; -xrfragment_XRF.T_DYNAMICKEY = 4194304; -xrfragment_XRF.T_DYNAMICKEYVALUE = 8388608; -xrfragment_XRF.isColor = new EReg("^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$",""); -xrfragment_XRF.isInt = new EReg("^[-0-9]+$",""); -xrfragment_XRF.isFloat = new EReg("^[-0-9]+\\.[0-9]+$",""); -xrfragment_XRF.isVector = new EReg("([,]+|\\w)",""); -xrfragment_XRF.isUrl = new EReg("(://)?\\..*",""); -xrfragment_XRF.isUrlOrPretypedView = new EReg("(^#|://)?\\..*",""); -xrfragment_XRF.isString = new EReg(".*",""); -xrfragment_XRF.operators = new EReg("(^[-]|^[!]|[\\*]$)","g"); -xrfragment_XRF.isProp = new EReg("^.*=[><=]?",""); -xrfragment_XRF.isExclude = new EReg("^-",""); -xrfragment_XRF.isDeep = new EReg("\\*",""); -xrfragment_XRF.isNumber = new EReg("^[0-9\\.]+$",""); -xrfragment_XRF.isMediaFrag = new EReg("^([0-9\\.,\\*+-]+)$",""); -xrfragment_XRF.isReset = new EReg("^!",""); -xrfragment_XRF.isShift = new EReg("^(\\+|--)",""); -xrfragment_XRF.isXRFScheme = new EReg("^xrf://",""); -})(typeof window != "undefined" ? window : typeof global != "undefined" ? global : typeof self != "undefined" ? self : this); -var xrfragment = $hx_exports["xrfragment"]; -export default xrfragment; -// Generated by Haxe 4.3.3 -var $hx_exports = typeof exports != "undefined" ? exports : typeof window != "undefined" ? window : typeof self != "undefined" ? self : this; -(function ($global) { "use strict"; -$hx_exports["xrfragment"] = $hx_exports["xrfragment"] || {}; -var $estr = function() { return js_Boot.__string_rec(this,''); },$hxEnums = $hxEnums || {},$_; -function $extend(from, fields) { - var proto = Object.create(from); - for (var name in fields) proto[name] = fields[name]; - if( fields.toString !== Object.prototype.toString ) proto.toString = fields.toString; - return proto; -} -var EReg = function(r,opt) { - this.r = new RegExp(r,opt.split("u").join("")); -}; -EReg.__name__ = true; -EReg.prototype = { - match: function(s) { - if(this.r.global) { - this.r.lastIndex = 0; - } - this.r.m = this.r.exec(s); - this.r.s = s; - return this.r.m != null; - } - ,matched: function(n) { - if(this.r.m != null && n >= 0 && n < this.r.m.length) { - return this.r.m[n]; - } else { - throw haxe_Exception.thrown("EReg::matched"); - } - } - ,matchedRight: function() { - if(this.r.m == null) { - throw haxe_Exception.thrown("No string matched"); - } - var sz = this.r.m.index + this.r.m[0].length; - return HxOverrides.substr(this.r.s,sz,this.r.s.length - sz); - } - ,matchedPos: function() { - if(this.r.m == null) { - throw haxe_Exception.thrown("No string matched"); - } - return { pos : this.r.m.index, len : this.r.m[0].length}; - } - ,split: function(s) { - var d = "#__delim__#"; - return s.replace(this.r,d).split(d); - } -}; -var HxOverrides = function() { }; -HxOverrides.__name__ = true; -HxOverrides.cca = function(s,index) { - var x = s.charCodeAt(index); - if(x != x) { - return undefined; - } - return x; -}; -HxOverrides.substr = function(s,pos,len) { - if(len == null) { - len = s.length; - } else if(len < 0) { - if(pos == 0) { - len = s.length + len; - } else { - return ""; - } - } - return s.substr(pos,len); -}; -HxOverrides.now = function() { - return Date.now(); -}; -Math.__name__ = true; -var Reflect = function() { }; -Reflect.__name__ = true; -Reflect.field = function(o,field) { - try { - return o[field]; - } catch( _g ) { - return null; - } -}; -Reflect.getProperty = function(o,field) { - var tmp; - if(o == null) { - return null; - } else { - var tmp1; - if(o.__properties__) { - tmp = o.__properties__["get_" + field]; - tmp1 = tmp; - } else { - tmp1 = false; - } - if(tmp1) { - return o[tmp](); - } else { - return o[field]; - } - } -}; -Reflect.fields = function(o) { - var a = []; - if(o != null) { - var hasOwnProperty = Object.prototype.hasOwnProperty; - for( var f in o ) { - if(f != "__id__" && f != "hx__closures__" && hasOwnProperty.call(o,f)) { - a.push(f); - } - } - } - return a; -}; -Reflect.isObject = function(v) { - if(v == null) { - return false; - } - var t = typeof(v); - if(!(t == "string" || t == "object" && v.__enum__ == null)) { - if(t == "function") { - return (v.__name__ || v.__ename__) != null; - } else { - return false; - } - } else { - return true; - } -}; -Reflect.deleteField = function(o,field) { - if(!Object.prototype.hasOwnProperty.call(o,field)) { - return false; - } - delete(o[field]); - return true; -}; -Reflect.copy = function(o) { - if(o == null) { - return null; - } - var o2 = { }; - var _g = 0; - var _g1 = Reflect.fields(o); - while(_g < _g1.length) { - var f = _g1[_g]; - ++_g; - o2[f] = Reflect.field(o,f); - } - return o2; -}; -var Std = function() { }; -Std.__name__ = true; -Std.string = function(s) { - return js_Boot.__string_rec(s,""); -}; -Std.parseInt = function(x) { - var v = parseInt(x); - if(isNaN(v)) { - return null; - } - return v; -}; -var StringBuf = function() { - this.b = ""; -}; -StringBuf.__name__ = true; -var StringTools = function() { }; -StringTools.__name__ = true; -StringTools.isSpace = function(s,pos) { - var c = HxOverrides.cca(s,pos); - if(!(c > 8 && c < 14)) { - return c == 32; - } else { - return true; - } -}; -StringTools.ltrim = function(s) { - var l = s.length; - var r = 0; - while(r < l && StringTools.isSpace(s,r)) ++r; - if(r > 0) { - return HxOverrides.substr(s,r,l - r); - } else { - return s; - } -}; -StringTools.rtrim = function(s) { - var l = s.length; - var r = 0; - while(r < l && StringTools.isSpace(s,l - r - 1)) ++r; - if(r > 0) { - return HxOverrides.substr(s,0,l - r); - } else { - return s; - } -}; -StringTools.trim = function(s) { - return StringTools.ltrim(StringTools.rtrim(s)); -}; -StringTools.replace = function(s,sub,by) { - return s.split(sub).join(by); -}; -var haxe_Exception = function(message,previous,native) { - Error.call(this,message); - this.message = message; - this.__previousException = previous; - this.__nativeException = native != null ? native : this; -}; -haxe_Exception.__name__ = true; -haxe_Exception.caught = function(value) { - if(((value) instanceof haxe_Exception)) { - return value; - } else if(((value) instanceof Error)) { - return new haxe_Exception(value.message,null,value); - } else { - return new haxe_ValueException(value,null,value); - } -}; -haxe_Exception.thrown = function(value) { - if(((value) instanceof haxe_Exception)) { - return value.get_native(); - } else if(((value) instanceof Error)) { - return value; - } else { - var e = new haxe_ValueException(value); - return e; - } -}; -haxe_Exception.__super__ = Error; -haxe_Exception.prototype = $extend(Error.prototype,{ - unwrap: function() { - return this.__nativeException; - } - ,get_native: function() { - return this.__nativeException; - } - ,__properties__: {get_native:"get_native"} -}); -var haxe__$Template_TemplateExpr = $hxEnums["haxe._Template.TemplateExpr"] = { __ename__:true,__constructs__:null - ,OpVar: ($_=function(v) { return {_hx_index:0,v:v,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpVar",$_.__params__ = ["v"],$_) - ,OpExpr: ($_=function(expr) { return {_hx_index:1,expr:expr,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpExpr",$_.__params__ = ["expr"],$_) - ,OpIf: ($_=function(expr,eif,eelse) { return {_hx_index:2,expr:expr,eif:eif,eelse:eelse,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpIf",$_.__params__ = ["expr","eif","eelse"],$_) - ,OpStr: ($_=function(str) { return {_hx_index:3,str:str,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpStr",$_.__params__ = ["str"],$_) - ,OpBlock: ($_=function(l) { return {_hx_index:4,l:l,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpBlock",$_.__params__ = ["l"],$_) - ,OpForeach: ($_=function(expr,loop) { return {_hx_index:5,expr:expr,loop:loop,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpForeach",$_.__params__ = ["expr","loop"],$_) - ,OpMacro: ($_=function(name,params) { return {_hx_index:6,name:name,params:params,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpMacro",$_.__params__ = ["name","params"],$_) -}; -haxe__$Template_TemplateExpr.__constructs__ = [haxe__$Template_TemplateExpr.OpVar,haxe__$Template_TemplateExpr.OpExpr,haxe__$Template_TemplateExpr.OpIf,haxe__$Template_TemplateExpr.OpStr,haxe__$Template_TemplateExpr.OpBlock,haxe__$Template_TemplateExpr.OpForeach,haxe__$Template_TemplateExpr.OpMacro]; -var haxe_iterators_ArrayIterator = function(array) { - this.current = 0; - this.array = array; -}; -haxe_iterators_ArrayIterator.__name__ = true; -haxe_iterators_ArrayIterator.prototype = { - hasNext: function() { - return this.current < this.array.length; - } - ,next: function() { - return this.array[this.current++]; - } -}; -var haxe_Template = function(str) { - var tokens = this.parseTokens(str); - this.expr = this.parseBlock(tokens); - if(!tokens.isEmpty()) { - throw haxe_Exception.thrown("Unexpected '" + Std.string(tokens.first().s) + "'"); - } -}; -haxe_Template.__name__ = true; -haxe_Template.prototype = { - execute: function(context,macros) { - this.macros = macros == null ? { } : macros; - this.context = context; - this.stack = new haxe_ds_List(); - this.buf = new StringBuf(); - this.run(this.expr); - return this.buf.b; - } - ,resolve: function(v) { - if(v == "__current__") { - return this.context; - } - if(Reflect.isObject(this.context)) { - var value = Reflect.getProperty(this.context,v); - if(value != null || Object.prototype.hasOwnProperty.call(this.context,v)) { - return value; - } - } - var _g_head = this.stack.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var ctx = val; - var value = Reflect.getProperty(ctx,v); - if(value != null || Object.prototype.hasOwnProperty.call(ctx,v)) { - return value; - } - } - return Reflect.field(haxe_Template.globals,v); - } - ,parseTokens: function(data) { - var tokens = new haxe_ds_List(); - while(haxe_Template.splitter.match(data)) { - var p = haxe_Template.splitter.matchedPos(); - if(p.pos > 0) { - tokens.add({ p : HxOverrides.substr(data,0,p.pos), s : true, l : null}); - } - if(HxOverrides.cca(data,p.pos) == 58) { - tokens.add({ p : HxOverrides.substr(data,p.pos + 2,p.len - 4), s : false, l : null}); - data = haxe_Template.splitter.matchedRight(); - continue; - } - var parp = p.pos + p.len; - var npar = 1; - var params = []; - var part = ""; - while(true) { - var c = HxOverrides.cca(data,parp); - ++parp; - if(c == 40) { - ++npar; - } else if(c == 41) { - --npar; - if(npar <= 0) { - break; - } - } else if(c == null) { - throw haxe_Exception.thrown("Unclosed macro parenthesis"); - } - if(c == 44 && npar == 1) { - params.push(part); - part = ""; - } else { - part += String.fromCodePoint(c); - } - } - params.push(part); - tokens.add({ p : haxe_Template.splitter.matched(2), s : false, l : params}); - data = HxOverrides.substr(data,parp,data.length - parp); - } - if(data.length > 0) { - tokens.add({ p : data, s : true, l : null}); - } - return tokens; - } - ,parseBlock: function(tokens) { - var l = new haxe_ds_List(); - while(true) { - var t = tokens.first(); - if(t == null) { - break; - } - if(!t.s && (t.p == "end" || t.p == "else" || HxOverrides.substr(t.p,0,7) == "elseif ")) { - break; - } - l.add(this.parse(tokens)); - } - if(l.length == 1) { - return l.first(); - } - return haxe__$Template_TemplateExpr.OpBlock(l); - } - ,parse: function(tokens) { - var t = tokens.pop(); - var p = t.p; - if(t.s) { - return haxe__$Template_TemplateExpr.OpStr(p); - } - if(t.l != null) { - var pe = new haxe_ds_List(); - var _g = 0; - var _g1 = t.l; - while(_g < _g1.length) { - var p1 = _g1[_g]; - ++_g; - pe.add(this.parseBlock(this.parseTokens(p1))); - } - return haxe__$Template_TemplateExpr.OpMacro(p,pe); - } - var kwdEnd = function(kwd) { - var pos = -1; - var length = kwd.length; - if(HxOverrides.substr(p,0,length) == kwd) { - pos = length; - var _g_offset = 0; - var _g_s = HxOverrides.substr(p,length,null); - while(_g_offset < _g_s.length) { - var c = _g_s.charCodeAt(_g_offset++); - if(c == 32) { - ++pos; - } else { - break; - } - } - } - return pos; - }; - var pos = kwdEnd("if"); - if(pos > 0) { - p = HxOverrides.substr(p,pos,p.length - pos); - var e = this.parseExpr(p); - var eif = this.parseBlock(tokens); - var t = tokens.first(); - var eelse; - if(t == null) { - throw haxe_Exception.thrown("Unclosed 'if'"); - } - if(t.p == "end") { - tokens.pop(); - eelse = null; - } else if(t.p == "else") { - tokens.pop(); - eelse = this.parseBlock(tokens); - t = tokens.pop(); - if(t == null || t.p != "end") { - throw haxe_Exception.thrown("Unclosed 'else'"); - } - } else { - t.p = HxOverrides.substr(t.p,4,t.p.length - 4); - eelse = this.parse(tokens); - } - return haxe__$Template_TemplateExpr.OpIf(e,eif,eelse); - } - var pos = kwdEnd("foreach"); - if(pos >= 0) { - p = HxOverrides.substr(p,pos,p.length - pos); - var e = this.parseExpr(p); - var efor = this.parseBlock(tokens); - var t = tokens.pop(); - if(t == null || t.p != "end") { - throw haxe_Exception.thrown("Unclosed 'foreach'"); - } - return haxe__$Template_TemplateExpr.OpForeach(e,efor); - } - if(haxe_Template.expr_splitter.match(p)) { - return haxe__$Template_TemplateExpr.OpExpr(this.parseExpr(p)); - } - return haxe__$Template_TemplateExpr.OpVar(p); - } - ,parseExpr: function(data) { - var l = new haxe_ds_List(); - var expr = data; - while(haxe_Template.expr_splitter.match(data)) { - var p = haxe_Template.expr_splitter.matchedPos(); - var k = p.pos + p.len; - if(p.pos != 0) { - l.add({ p : HxOverrides.substr(data,0,p.pos), s : true}); - } - var p1 = haxe_Template.expr_splitter.matched(0); - l.add({ p : p1, s : p1.indexOf("\"") >= 0}); - data = haxe_Template.expr_splitter.matchedRight(); - } - if(data.length != 0) { - var _g_offset = 0; - var _g_s = data; - while(_g_offset < _g_s.length) { - var _g_key = _g_offset; - var _g_value = _g_s.charCodeAt(_g_offset++); - var i = _g_key; - var c = _g_value; - if(c != 32) { - l.add({ p : HxOverrides.substr(data,i,null), s : true}); - break; - } - } - } - var e; - try { - e = this.makeExpr(l); - if(!l.isEmpty()) { - throw haxe_Exception.thrown(l.first().p); - } - } catch( _g ) { - var _g1 = haxe_Exception.caught(_g).unwrap(); - if(typeof(_g1) == "string") { - var s = _g1; - throw haxe_Exception.thrown("Unexpected '" + s + "' in " + expr); - } else { - throw _g; - } - } - return function() { - try { - return e(); - } catch( _g ) { - var exc = haxe_Exception.caught(_g).unwrap(); - throw haxe_Exception.thrown("Error : " + Std.string(exc) + " in " + expr); - } - }; - } - ,makeConst: function(v) { - haxe_Template.expr_trim.match(v); - v = haxe_Template.expr_trim.matched(1); - if(HxOverrides.cca(v,0) == 34) { - var str = HxOverrides.substr(v,1,v.length - 2); - return function() { - return str; - }; - } - if(haxe_Template.expr_int.match(v)) { - var i = Std.parseInt(v); - return function() { - return i; - }; - } - if(haxe_Template.expr_float.match(v)) { - var f = parseFloat(v); - return function() { - return f; - }; - } - var me = this; - return function() { - return me.resolve(v); - }; - } - ,makePath: function(e,l) { - var p = l.first(); - if(p == null || p.p != ".") { - return e; - } - l.pop(); - var field = l.pop(); - if(field == null || !field.s) { - throw haxe_Exception.thrown(field.p); - } - var f = field.p; - haxe_Template.expr_trim.match(f); - f = haxe_Template.expr_trim.matched(1); - return this.makePath(function() { - return Reflect.field(e(),f); - },l); - } - ,makeExpr: function(l) { - return this.makePath(this.makeExpr2(l),l); - } - ,skipSpaces: function(l) { - var p = l.first(); - while(p != null) { - var _g_offset = 0; - var _g_s = p.p; - while(_g_offset < _g_s.length) { - var c = _g_s.charCodeAt(_g_offset++); - if(c != 32) { - return; - } - } - l.pop(); - p = l.first(); - } - } - ,makeExpr2: function(l) { - this.skipSpaces(l); - var p = l.pop(); - this.skipSpaces(l); - if(p == null) { - throw haxe_Exception.thrown(""); - } - if(p.s) { - return this.makeConst(p.p); - } - switch(p.p) { - case "!": - var e = this.makeExpr(l); - return function() { - var v = e(); - if(v != null) { - return v == false; - } else { - return true; - } - }; - case "(": - this.skipSpaces(l); - var e1 = this.makeExpr(l); - this.skipSpaces(l); - var p1 = l.pop(); - if(p1 == null || p1.s) { - throw haxe_Exception.thrown(p1); - } - if(p1.p == ")") { - return e1; - } - this.skipSpaces(l); - var e2 = this.makeExpr(l); - this.skipSpaces(l); - var p2 = l.pop(); - this.skipSpaces(l); - if(p2 == null || p2.p != ")") { - throw haxe_Exception.thrown(p2); - } - switch(p1.p) { - case "!=": - return function() { - return e1() != e2(); - }; - case "&&": - return function() { - return e1() && e2(); - }; - case "*": - return function() { - return e1() * e2(); - }; - case "+": - return function() { - return e1() + e2(); - }; - case "-": - return function() { - return e1() - e2(); - }; - case "/": - return function() { - return e1() / e2(); - }; - case "<": - return function() { - return e1() < e2(); - }; - case "<=": - return function() { - return e1() <= e2(); - }; - case "==": - return function() { - return e1() == e2(); - }; - case ">": - return function() { - return e1() > e2(); - }; - case ">=": - return function() { - return e1() >= e2(); - }; - case "||": - return function() { - return e1() || e2(); - }; - default: - throw haxe_Exception.thrown("Unknown operation " + p1.p); - } - break; - case "-": - var e3 = this.makeExpr(l); - return function() { - return -e3(); - }; - } - throw haxe_Exception.thrown(p.p); - } - ,run: function(e) { - switch(e._hx_index) { - case 0: - var v = e.v; - var _this = this.buf; - var x = Std.string(this.resolve(v)); - _this.b += Std.string(x); - break; - case 1: - var e1 = e.expr; - var _this = this.buf; - var x = Std.string(e1()); - _this.b += Std.string(x); - break; - case 2: - var e1 = e.expr; - var eif = e.eif; - var eelse = e.eelse; - var v = e1(); - if(v == null || v == false) { - if(eelse != null) { - this.run(eelse); - } - } else { - this.run(eif); - } - break; - case 3: - var str = e.str; - this.buf.b += str == null ? "null" : "" + str; - break; - case 4: - var l = e.l; - var _g_head = l.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var e1 = val; - this.run(e1); - } - break; - case 5: - var e1 = e.expr; - var loop = e.loop; - var v = e1(); - try { - var x = $getIterator(v); - if(x.hasNext == null) { - throw haxe_Exception.thrown(null); - } - v = x; - } catch( _g ) { - try { - if(v.hasNext == null) { - throw haxe_Exception.thrown(null); - } - } catch( _g1 ) { - throw haxe_Exception.thrown("Cannot iter on " + Std.string(v)); - } - } - this.stack.push(this.context); - var v1 = v; - var ctx = v1; - while(ctx.hasNext()) { - var ctx1 = ctx.next(); - this.context = ctx1; - this.run(loop); - } - this.context = this.stack.pop(); - break; - case 6: - var m = e.name; - var params = e.params; - var v = Reflect.field(this.macros,m); - var pl = []; - var old = this.buf; - pl.push($bind(this,this.resolve)); - var _g_head = params.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var p = val; - if(p._hx_index == 0) { - var v1 = p.v; - pl.push(this.resolve(v1)); - } else { - this.buf = new StringBuf(); - this.run(p); - pl.push(this.buf.b); - } - } - this.buf = old; - try { - var _this = this.buf; - var x = Std.string(v.apply(this.macros,pl)); - _this.b += Std.string(x); - } catch( _g ) { - var e = haxe_Exception.caught(_g).unwrap(); - var plstr; - try { - plstr = pl.join(","); - } catch( _g1 ) { - plstr = "???"; - } - var msg = "Macro call " + m + "(" + plstr + ") failed (" + Std.string(e) + ")"; - throw haxe_Exception.thrown(msg); - } - break; - } - } -}; -var haxe_ValueException = function(value,previous,native) { - haxe_Exception.call(this,String(value),previous,native); - this.value = value; -}; -haxe_ValueException.__name__ = true; -haxe_ValueException.__super__ = haxe_Exception; -haxe_ValueException.prototype = $extend(haxe_Exception.prototype,{ - unwrap: function() { - return this.value; - } -}); -var haxe_ds_List = function() { - this.length = 0; -}; -haxe_ds_List.__name__ = true; -haxe_ds_List.prototype = { - add: function(item) { - var x = new haxe_ds__$List_ListNode(item,null); - if(this.h == null) { - this.h = x; - } else { - this.q.next = x; - } - this.q = x; - this.length++; - } - ,push: function(item) { - var x = new haxe_ds__$List_ListNode(item,this.h); - this.h = x; - if(this.q == null) { - this.q = x; - } - this.length++; - } - ,first: function() { - if(this.h == null) { - return null; - } else { - return this.h.item; - } - } - ,pop: function() { - if(this.h == null) { - return null; - } - var x = this.h.item; - this.h = this.h.next; - if(this.h == null) { - this.q = null; - } - this.length--; - return x; - } - ,isEmpty: function() { - return this.h == null; - } - ,toString: function() { - var s_b = ""; - var first = true; - var l = this.h; - s_b += "{"; - while(l != null) { - if(first) { - first = false; - } else { - s_b += ", "; - } - s_b += Std.string(Std.string(l.item)); - l = l.next; - } - s_b += "}"; - return s_b; - } -}; -var haxe_ds__$List_ListNode = function(item,next) { - this.item = item; - this.next = next; -}; -haxe_ds__$List_ListNode.__name__ = true; -var js_Boot = function() { }; -js_Boot.__name__ = true; -js_Boot.__string_rec = function(o,s) { - if(o == null) { - return "null"; - } - if(s.length >= 5) { - return "<...>"; - } - var t = typeof(o); - if(t == "function" && (o.__name__ || o.__ename__)) { - t = "object"; - } - switch(t) { - case "function": - return ""; - case "object": - if(o.__enum__) { - var e = $hxEnums[o.__enum__]; - var con = e.__constructs__[o._hx_index]; - var n = con._hx_name; - if(con.__params__) { - s = s + "\t"; - return n + "(" + ((function($this) { - var $r; - var _g = []; - { - var _g1 = 0; - var _g2 = con.__params__; - while(true) { - if(!(_g1 < _g2.length)) { - break; - } - var p = _g2[_g1]; - _g1 = _g1 + 1; - _g.push(js_Boot.__string_rec(o[p],s)); - } - } - $r = _g; - return $r; - }(this))).join(",") + ")"; - } else { - return n; - } - } - if(((o) instanceof Array)) { - var str = "["; - s += "\t"; - var _g = 0; - var _g1 = o.length; - while(_g < _g1) { - var i = _g++; - str += (i > 0 ? "," : "") + js_Boot.__string_rec(o[i],s); - } - str += "]"; - return str; - } - var tostr; - try { - tostr = o.toString; - } catch( _g ) { - return "???"; - } - if(tostr != null && tostr != Object.toString && typeof(tostr) == "function") { - var s2 = o.toString(); - if(s2 != "[object Object]") { - return s2; - } - } - var str = "{\n"; - s += "\t"; - var hasp = o.hasOwnProperty != null; - var k = null; - for( k in o ) { - if(hasp && !o.hasOwnProperty(k)) { - continue; - } - if(k == "prototype" || k == "__class__" || k == "__super__" || k == "__interfaces__" || k == "__properties__") { - continue; - } - if(str.length != 2) { - str += ", \n"; - } - str += s + k + " : " + js_Boot.__string_rec(o[k],s); - } - s = s.substring(1); - str += "\n" + s + "}"; - return str; - case "string": - return o; - default: - return String(o); - } -}; -var xrfragment_Filter = $hx_exports["xrfragment"]["Filter"] = function(str) { - this.q = { }; - this.str = ""; - if(str != null) { - this.parse(str); - } -}; -xrfragment_Filter.__name__ = true; -xrfragment_Filter.prototype = { - toObject: function() { - return Reflect.copy(this.q); - } - ,get: function() { - return Reflect.copy(this.q); - } - ,parse: function(str) { - var token = str.split(" "); - var q = { }; - var process = function(str,prefix) { - if(prefix == null) { - prefix = ""; - } - str = StringTools.trim(str); - var k = str.split("=")[0]; - var v = str.split("=")[1]; - var filter = { }; - if(q[prefix + k]) { - filter = q[prefix + k]; - } - if(xrfragment_XRF.isProp.match(str)) { - var oper = ""; - if(str.indexOf(">") != -1) { - oper = ">"; - } - if(str.indexOf("<") != -1) { - oper = "<"; - } - if(xrfragment_XRF.isExclude.match(k)) { - k = HxOverrides.substr(k,1,null); - } - v = HxOverrides.substr(v,oper.length,null); - if(oper.length == 0) { - oper = "="; - } - var rule = { }; - if(xrfragment_XRF.isNumber.match(v)) { - rule[oper] = parseFloat(v); - } else { - rule[oper] = v; - } - q["expr"] = rule; - } - var value = xrfragment_XRF.isDeep.match(str) ? k.split("*").length - 1 : 0; - q["deep"] = value; - var value = xrfragment_XRF.isExclude.match(str) ? false : true; - q["show"] = value; - var value = k.replace(xrfragment_XRF.operators.r,""); - q["key"] = value; - q["value"] = v; - }; - var _g = 0; - var _g1 = token.length; - while(_g < _g1) { - var i = _g++; - process(token[i]); - } - return this.q = q; - } - ,test: function(obj) { - var qualify = false; - var _g = 0; - var _g1 = Reflect.fields(obj); - while(_g < _g1.length) { - var k = _g1[_g]; - ++_g; - var v = Std.string(Reflect.field(obj,k)); - if(this.testProperty(k,v)) { - qualify = true; - } - } - var _g = 0; - var _g1 = Reflect.fields(obj); - while(_g < _g1.length) { - var k = _g1[_g]; - ++_g; - var v = Std.string(Reflect.field(obj,k)); - if(this.testProperty(k,v,true)) { - qualify = false; - } - } - return qualify; - } - ,testProperty: function(property,value,exclude) { - var conds = 0; - var fails = 0; - var qualify = 0; - var testprop = function(expr) { - conds += 1; - fails += expr ? 0 : 1; - return expr; - }; - if(this.q[value] != null) { - var v = this.q[value]; - if(v[property] != null) { - return v[property]; - } - } - if(Reflect.field(this.q,"expr")) { - var f = Reflect.field(this.q,"expr"); - if(!Reflect.field(this.q,"show")) { - if(Reflect.field(f,"!=") != null && testprop((value == null ? "null" : "" + value) == Std.string(Reflect.field(f,"!="))) && exclude) { - ++qualify; - } - } else { - if(Reflect.field(f,"*") != null && testprop(parseFloat(value) != null)) { - ++qualify; - } - if(Reflect.field(f,">") != null && testprop(parseFloat(value) >= parseFloat(Reflect.field(f,">")))) { - ++qualify; - } - if(Reflect.field(f,"<") != null && testprop(parseFloat(value) <= parseFloat(Reflect.field(f,"<")))) { - ++qualify; - } - if(Reflect.field(f,"=") != null && (testprop(value == Reflect.field(f,"=")) || testprop(parseFloat(value) == parseFloat(Reflect.field(f,"="))))) { - ++qualify; - } - } - } - return qualify > 0; - } -}; -var xrfragment_Parser = $hx_exports["xrfragment"]["Parser"] = function() { }; -xrfragment_Parser.__name__ = true; -xrfragment_Parser.parse = function(key,value,store,index) { - var Frag_h = Object.create(null); - Frag_h["#"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_PREDEFINED_VIEW | xrfragment_XRF.PV_EXECUTE; - Frag_h["src"] = xrfragment_XRF.T_URL; - Frag_h["href"] = xrfragment_XRF.T_URL | xrfragment_XRF.T_PREDEFINED_VIEW; - Frag_h["tag"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["pos"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_VECTOR3 | xrfragment_XRF.T_STRING | xrfragment_XRF.METADATA | xrfragment_XRF.NAVIGATOR; - Frag_h["rot"] = xrfragment_XRF.QUERY_OPERATOR | xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_VECTOR3 | xrfragment_XRF.METADATA | xrfragment_XRF.NAVIGATOR; - Frag_h["t"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_FLOAT | xrfragment_XRF.T_VECTOR2 | xrfragment_XRF.NAVIGATOR | xrfragment_XRF.METADATA; - Frag_h["s"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_MEDIAFRAG; - Frag_h["loop"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_PREDEFINED_VIEW; - Frag_h["uv"] = xrfragment_XRF.T_VECTOR2 | xrfragment_XRF.T_MEDIAFRAG; - Frag_h["namespace"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["SPDX"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["unit"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["description"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - var keyStripped = key.replace(xrfragment_XRF.operators.r,""); - var isPVDynamic = key.length > 0 && !Object.prototype.hasOwnProperty.call(Frag_h,key); - if(isPVDynamic) { - var v = new xrfragment_XRF(key,xrfragment_XRF.PV_EXECUTE | xrfragment_XRF.NAVIGATOR,index); - v.validate(value); - v.flags = xrfragment_XRF.set(xrfragment_XRF.T_DYNAMICKEY,v.flags); - if(!Object.prototype.hasOwnProperty.call(Frag_h,key)) { - v.flags = xrfragment_XRF.set(xrfragment_XRF.CUSTOMFRAG,v.flags); - } - if(value.length == 0) { - v.flags = xrfragment_XRF.set(xrfragment_XRF.T_DYNAMICKEYVALUE,v.flags); - } - store[keyStripped] = v; - return true; - } - var v = new xrfragment_XRF(key,Frag_h[key],index); - if(Object.prototype.hasOwnProperty.call(Frag_h,key)) { - if(!v.validate(value)) { - console.log("src/xrfragment/Parser.hx:67:","⚠ fragment '" + key + "' has incompatible value (" + value + ")"); - return false; - } - store[keyStripped] = v; - if(xrfragment_Parser.debug) { - console.log("src/xrfragment/Parser.hx:71:","✔ " + key + ": " + v.string); - } - } else { - if(typeof(value) == "string") { - v.guessType(v,value); - } - v.flags = xrfragment_XRF.set(xrfragment_XRF.CUSTOMFRAG,v.flags); - store[keyStripped] = v; - } - return true; -}; -xrfragment_Parser.getMetaData = function() { - var meta = { title : ["title","og:title","dc.title"], description : ["aria-description","og:description","dc.description"], author : ["author","dc.creator"], publisher : ["publisher","dc.publisher"], website : ["og:site_name","og:url","dc.publisher"], license : ["SPDX","dc.rights"]}; - return meta; -}; -var xrfragment_URI = $hx_exports["xrfragment"]["URI"] = function() { - this.XRF = { }; - this.hash = { }; - this.fragment = ""; -}; -xrfragment_URI.__name__ = true; -xrfragment_URI.parseFragment = function(url,filter) { - var store = { }; - if(url == null || url.indexOf("#") == -1) { - return store; - } - var fragment = url.split("#"); - var splitArray = fragment[1].split("&"); - var _g = 0; - var _g1 = splitArray.length; - while(_g < _g1) { - var i = _g++; - var splitByEqual = splitArray[i].split("="); - var regexPlus = new EReg("\\+","g"); - var key = splitByEqual[0]; - var value = ""; - if(splitByEqual.length > 1) { - if(xrfragment_XRF.isVector.match(splitByEqual[1])) { - value = splitByEqual[1]; - } else { - var s = regexPlus.split(splitByEqual[1]).join(" "); - value = decodeURIComponent(s.split("+").join(" ")); - } - } - var ok = xrfragment_Parser.parse(key,value,store,i); - } - if(filter != null && filter != 0) { - var _g = 0; - var _g1 = Reflect.fields(store); - while(_g < _g1.length) { - var key = _g1[_g]; - ++_g; - var xrf = store[key]; - if(!xrf.is(filter)) { - Reflect.deleteField(store,key); - } - } - } - return store; -}; -xrfragment_URI.template = function(uri,vars) { - var parts = uri.split("#"); - if(parts.length == 1) { - return uri; - } - var frag = parts[1]; - frag = StringTools.replace(frag,"{","::"); - frag = StringTools.replace(frag,"}","::"); - frag = new haxe_Template(frag).execute(vars); - frag = StringTools.replace(frag,"null",""); - parts[1] = frag; - return parts.join("#"); -}; -xrfragment_URI.parse = function(stringUrl,flags) { - var r = new EReg("^(?:(?![^:@]+:[^:@/]*@)([^:/?#.]+):)?(?://)?((?:(([^:@]*)(?::([^:@]*))?)?@)?([^:/?#]*)(?::(\\d*))?)(((/(?:[^?#](?![^?#/]*\\.[^?#/.]+(?:[?#]|$)))*/?)?([^?#/]*))(?:\\?([^#]*))?(?:#(.*))?)",""); - if(stringUrl.indexOf("://") == -1 && stringUrl.charAt(0) != "/") { - stringUrl = "/" + stringUrl; - } - r.match(stringUrl); - var url = new xrfragment_URI(); - var _g = 0; - var _g1 = xrfragment_URI._parts.length; - while(_g < _g1) { - var i = _g++; - url[xrfragment_URI._parts[i]] = r.matched(i); - } - if(xrfragment_URI.isRelative(url) == true) { - if(url.directory == null && url.host != null) { - url.file = url.host; - } - url.host = ""; - } - url.hash = { }; - if(url.fragment != null && url.fragment.length > 0) { - url.XRF = xrfragment_URI.parseFragment("#" + url.fragment,flags); - var key; - var _g = 0; - var _g1 = Reflect.fields(url.XRF); - while(_g < _g1.length) { - var key = _g1[_g]; - ++_g; - var v = url.XRF[key]; - url.hash[key] = v["string"]; - } - } - xrfragment_URI.computeVars(url); - return url; -}; -xrfragment_URI.computeVars = function(url) { - var r_r = new RegExp("//","g".split("u").join("")); - if(url.directory != null && url.directory.indexOf("//") != -1) { - url.directory = url.directory.replace(r_r,"/"); - } - if(url.path != null && url.path.indexOf("//") != -1) { - url.path = url.path.replace(r_r,"/"); - } - if(url.file != null && url.file.indexOf("//") != -1) { - url.file = url.file.replace(r_r,"/"); - } - url.URN = url.scheme + "://" + url.host; - if(url.port != null) { - url.URN += ":" + url.port; - } - url.URN += url.directory; - if(url.file != null) { - var parts = url.file.split("."); - if(parts.length > 1) { - url.fileExt = parts.pop(); - } - } -}; -xrfragment_URI.toString = function(url) { - var result = ""; - if(url.scheme != null) { - result += url.scheme + "://"; - } - if(url.user != null) { - result += url.user + ":"; - } - if(url.password != null) { - result += url.password + "@"; - } - if(url.host != null) { - result += url.host; - } - if(url.port != null) { - result += ":" + url.port; - } - if(url.directory != null) { - result += url.directory; - } - if(url.file != null) { - result += url.file; - } - if(url.query != null) { - result += "?" + url.query; - } - if(url.fragment != null) { - result += "#" + url.fragment; - } - return result; -}; -xrfragment_URI.appendURI = function(url,appendedURI) { - if(xrfragment_URI.isRelative(url) == true) { - return xrfragment_URI.appendToRelativeURI(url,appendedURI); - } else { - return xrfragment_URI.appendToAbsoluteURI(url,appendedURI); - } -}; -xrfragment_URI.isRelative = function(url) { - return url.scheme == null; -}; -xrfragment_URI.appendToRelativeURI = function(url,appendedURI) { - if(url.directory == null || url.host == null) { - return xrfragment_URI.cloneURI(appendedURI); - } - var resultURI = new xrfragment_URI(); - resultURI.host = url.host; - resultURI.directory = url.directory; - if(appendedURI.host != null) { - resultURI.directory += appendedURI.host; - } - if(appendedURI.directory != null) { - var directory = appendedURI.directory; - if(appendedURI.host == null) { - resultURI.directory += HxOverrides.substr(directory,1,null); - } else { - resultURI.directory += directory; - } - } - if(appendedURI.file != null) { - resultURI.file = appendedURI.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(appendedURI.query != null) { - resultURI.query = appendedURI.query; - } - if(appendedURI.fragment != null) { - resultURI.fragment = appendedURI.fragment; - } - return resultURI; -}; -xrfragment_URI.appendToAbsoluteURI = function(url,appendedURI) { - var resultURI = new xrfragment_URI(); - if(url.scheme != null) { - resultURI.scheme = url.scheme; - } - if(url.host != null) { - resultURI.host = url.host; - } - var directory = ""; - if(url.directory != null) { - directory = url.directory; - } - if(appendedURI.host != null) { - appendedURI.directory += appendedURI.host; - } - if(appendedURI.directory != null) { - directory += appendedURI.directory; - } - resultURI.directory = directory; - if(appendedURI.file != null) { - resultURI.file = appendedURI.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(appendedURI.query != null) { - resultURI.query = appendedURI.query; - } - if(appendedURI.fragment != null) { - resultURI.fragment = appendedURI.fragment; - } - return resultURI; -}; -xrfragment_URI.toAbsolute = function(url,newUrl) { - var newURI = xrfragment_URI.parse(newUrl,0); - var resultURI = new xrfragment_URI(); - resultURI.port = url.port; - resultURI.source = newUrl; - if(newURI.scheme != null) { - resultURI.scheme = newURI.scheme; - } else { - resultURI.scheme = url.scheme; - } - if(newURI.host != null && newURI.host.length > 0) { - resultURI.host = newURI.host; - resultURI.port = null; - resultURI.fragment = null; - resultURI.hash = { }; - resultURI.XRF = { }; - if(newURI.port != null) { - resultURI.port = newURI.port; - } - } else { - resultURI.host = url.host; - } - var directory = ""; - if(url.directory != null) { - directory = url.directory; - } - if(newURI.directory != null) { - if(newUrl.charAt(0) != "/" && newUrl.indexOf("://") == -1) { - var stripRelative_r = new RegExp("\\./.*","".split("u").join("")); - directory = directory.replace(stripRelative_r,""); - directory += newURI.directory; - } else { - directory = newURI.directory; - } - } - resultURI.directory = directory; - if(newURI.file != null) { - resultURI.file = newURI.file; - } else { - resultURI.file = url.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(newURI.query != null) { - resultURI.query = newURI.query; - } - if(newURI.fragment != null) { - resultURI.fragment = newURI.fragment; - } - resultURI.hash = newURI.hash; - resultURI.XRF = newURI.XRF; - xrfragment_URI.computeVars(resultURI); - return resultURI; -}; -xrfragment_URI.cloneURI = function(url) { - var clonedURI = new xrfragment_URI(); - clonedURI.url = url.url; - clonedURI.source = url.source; - clonedURI.scheme = url.scheme; - clonedURI.authority = url.authority; - clonedURI.userInfo = url.userInfo; - clonedURI.password = url.password; - clonedURI.host = url.host; - clonedURI.port = url.port; - clonedURI.relative = url.relative; - clonedURI.path = url.path; - clonedURI.directory = url.directory; - clonedURI.file = url.file; - clonedURI.query = url.query; - clonedURI.fragment = url.fragment; - return clonedURI; -}; -var xrfragment_XRF = $hx_exports["xrfragment"]["XRF"] = function(_fragment,_flags,_index) { - this.floats = []; - this.shift = []; - this.fragment = _fragment; - this.flags = _flags; - this.index = _index; -}; -xrfragment_XRF.__name__ = true; -xrfragment_XRF.set = function(flag,flags) { - return flags | flag; -}; -xrfragment_XRF.unset = function(flag,flags) { - return flags & ~flag; -}; -xrfragment_XRF.prototype = { - is: function(flag) { - var v = this.flags; - if(!(typeof(v) == "number" && ((v | 0) === v))) { - this.flags = 0; - } - return (this.flags & flag) != 0; - } - ,validate: function(value) { - this.guessType(this,value); - var ok = true; - if(value.length == 0 && !this.is(xrfragment_XRF.T_PREDEFINED_VIEW)) { - ok = false; - } - if(!this.is(xrfragment_XRF.T_FLOAT) && this.is(xrfragment_XRF.T_VECTOR2) && !(typeof(this.x) == "number" && typeof(this.y) == "number")) { - ok = false; - } - if(!(this.is(xrfragment_XRF.T_VECTOR2) || this.is(xrfragment_XRF.T_STRING)) && this.is(xrfragment_XRF.T_VECTOR3) && !(typeof(this.x) == "number" && typeof(this.y) == "number" && typeof(this.z) == "number")) { - ok = false; - } - return ok; - } - ,guessType: function(v,str) { - v.string = str; - if(xrfragment_XRF.isReset.match(v.fragment)) { - v.reset = true; - } - if(v.fragment == "loop") { - v.loop = true; - } - if(typeof(str) != "string") { - return; - } - if(str.length > 0) { - if(xrfragment_XRF.isXRFScheme.match(str)) { - v.xrfScheme = true; - str = str.replace(xrfragment_XRF.isXRFScheme.r,""); - v.string = str; - } - if(str.split(",").length > 1) { - var xyzn = str.split(","); - if(xyzn.length > 0) { - v.x = parseFloat(xyzn[0]); - } - if(xyzn.length > 1) { - v.y = parseFloat(xyzn[1]); - } - if(xyzn.length > 2) { - v.z = parseFloat(xyzn[2]); - } - var _g = 0; - var _g1 = xyzn.length; - while(_g < _g1) { - var i = _g++; - v.shift.push(xrfragment_XRF.isShift.match(xyzn[i])); - v.floats.push(parseFloat(xyzn[i].replace(xrfragment_XRF.isShift.r,""))); - } - } - if(xrfragment_XRF.isColor.match(str)) { - v.color = str; - } - if(xrfragment_XRF.isFloat.match(str)) { - v.x = parseFloat(str); - v.float = v.x; - } - if(xrfragment_XRF.isInt.match(str)) { - v.int = Std.parseInt(str); - v.x = v.int; - v.floats.push(v.x); - } - v.filter = new xrfragment_Filter(v.fragment + "=" + v.string); - } else { - v.filter = new xrfragment_Filter(v.fragment); - } - } -}; -function $getIterator(o) { if( o instanceof Array ) return new haxe_iterators_ArrayIterator(o); else return o.iterator(); } -function $bind(o,m) { if( m == null ) return null; if( m.__id__ == null ) m.__id__ = $global.$haxeUID++; var f; if( o.hx__closures__ == null ) o.hx__closures__ = {}; else f = o.hx__closures__[m.__id__]; if( f == null ) { f = m.bind(o); o.hx__closures__[m.__id__] = f; } return f; } -$global.$haxeUID |= 0; -if(typeof(performance) != "undefined" ? typeof(performance.now) == "function" : false) { - HxOverrides.now = performance.now.bind(performance); -} -if( String.fromCodePoint == null ) String.fromCodePoint = function(c) { return c < 0x10000 ? String.fromCharCode(c) : String.fromCharCode((c>>10)+0xD7C0)+String.fromCharCode((c&0x3FF)+0xDC00); } -String.__name__ = true; -Array.__name__ = true; -js_Boot.__toStr = ({ }).toString; -haxe_Template.splitter = new EReg("(::[A-Za-z0-9_ ()&|!+=/><*.\"-]+::|\\$\\$([A-Za-z0-9_-]+)\\()",""); -haxe_Template.expr_splitter = new EReg("(\\(|\\)|[ \r\n\t]*\"[^\"]*\"[ \r\n\t]*|[!+=/><*.&|-]+)",""); -haxe_Template.expr_trim = new EReg("^[ ]*([^ ]+)[ ]*$",""); -haxe_Template.expr_int = new EReg("^[0-9]+$",""); -haxe_Template.expr_float = new EReg("^([+-]?)(?=\\d|,\\d)\\d*(,\\d*)?([Ee]([+-]?\\d+))?$",""); -haxe_Template.globals = { }; -haxe_Template.hxKeepArrayIterator = new haxe_iterators_ArrayIterator([]); -xrfragment_Parser.error = ""; -xrfragment_Parser.debug = false; -xrfragment_URI.__meta__ = { statics : { template : { keep : null}}}; -xrfragment_URI._parts = ["source","scheme","authority","userInfo","user","password","host","port","relative","path","directory","file","query","fragment"]; -xrfragment_XRF.IMMUTABLE = 1; -xrfragment_XRF.PROP_BIND = 2; -xrfragment_XRF.QUERY_OPERATOR = 4; -xrfragment_XRF.PROMPT = 8; -xrfragment_XRF.CUSTOMFRAG = 16; -xrfragment_XRF.NAVIGATOR = 32; -xrfragment_XRF.METADATA = 64; -xrfragment_XRF.PV_OVERRIDE = 128; -xrfragment_XRF.PV_EXECUTE = 256; -xrfragment_XRF.T_COLOR = 8192; -xrfragment_XRF.T_INT = 16384; -xrfragment_XRF.T_FLOAT = 32768; -xrfragment_XRF.T_VECTOR2 = 65536; -xrfragment_XRF.T_VECTOR3 = 131072; -xrfragment_XRF.T_URL = 262144; -xrfragment_XRF.T_PREDEFINED_VIEW = 524288; -xrfragment_XRF.T_STRING = 1048576; -xrfragment_XRF.T_MEDIAFRAG = 2097152; -xrfragment_XRF.T_DYNAMICKEY = 4194304; -xrfragment_XRF.T_DYNAMICKEYVALUE = 8388608; -xrfragment_XRF.isColor = new EReg("^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$",""); -xrfragment_XRF.isInt = new EReg("^[-0-9]+$",""); -xrfragment_XRF.isFloat = new EReg("^[-0-9]+\\.[0-9]+$",""); -xrfragment_XRF.isVector = new EReg("([,]+|\\w)",""); -xrfragment_XRF.isUrl = new EReg("(://)?\\..*",""); -xrfragment_XRF.isUrlOrPretypedView = new EReg("(^#|://)?\\..*",""); -xrfragment_XRF.isString = new EReg(".*",""); -xrfragment_XRF.operators = new EReg("(^[-]|^[!]|[\\*]$)","g"); -xrfragment_XRF.isProp = new EReg("^.*=[><=]?",""); -xrfragment_XRF.isExclude = new EReg("^-",""); -xrfragment_XRF.isDeep = new EReg("\\*",""); -xrfragment_XRF.isNumber = new EReg("^[0-9\\.]+$",""); -xrfragment_XRF.isMediaFrag = new EReg("^([0-9\\.,\\*+-]+)$",""); -xrfragment_XRF.isReset = new EReg("^!",""); -xrfragment_XRF.isShift = new EReg("^(\\+|--)",""); -xrfragment_XRF.isXRFScheme = new EReg("^xrf://",""); -})(typeof window != "undefined" ? window : typeof global != "undefined" ? global : typeof self != "undefined" ? self : this); -var xrfragment = $hx_exports["xrfragment"]; -export default xrfragment; -// Generated by Haxe 4.3.3 -var $hx_exports = typeof exports != "undefined" ? exports : typeof window != "undefined" ? window : typeof self != "undefined" ? self : this; -(function ($global) { "use strict"; -$hx_exports["xrfragment"] = $hx_exports["xrfragment"] || {}; -var $estr = function() { return js_Boot.__string_rec(this,''); },$hxEnums = $hxEnums || {},$_; -function $extend(from, fields) { - var proto = Object.create(from); - for (var name in fields) proto[name] = fields[name]; - if( fields.toString !== Object.prototype.toString ) proto.toString = fields.toString; - return proto; -} -var EReg = function(r,opt) { - this.r = new RegExp(r,opt.split("u").join("")); -}; -EReg.__name__ = true; -EReg.prototype = { - match: function(s) { - if(this.r.global) { - this.r.lastIndex = 0; - } - this.r.m = this.r.exec(s); - this.r.s = s; - return this.r.m != null; - } - ,matched: function(n) { - if(this.r.m != null && n >= 0 && n < this.r.m.length) { - return this.r.m[n]; - } else { - throw haxe_Exception.thrown("EReg::matched"); - } - } - ,matchedRight: function() { - if(this.r.m == null) { - throw haxe_Exception.thrown("No string matched"); - } - var sz = this.r.m.index + this.r.m[0].length; - return HxOverrides.substr(this.r.s,sz,this.r.s.length - sz); - } - ,matchedPos: function() { - if(this.r.m == null) { - throw haxe_Exception.thrown("No string matched"); - } - return { pos : this.r.m.index, len : this.r.m[0].length}; - } - ,split: function(s) { - var d = "#__delim__#"; - return s.replace(this.r,d).split(d); - } -}; -var HxOverrides = function() { }; -HxOverrides.__name__ = true; -HxOverrides.cca = function(s,index) { - var x = s.charCodeAt(index); - if(x != x) { - return undefined; - } - return x; -}; -HxOverrides.substr = function(s,pos,len) { - if(len == null) { - len = s.length; - } else if(len < 0) { - if(pos == 0) { - len = s.length + len; - } else { - return ""; - } - } - return s.substr(pos,len); -}; -HxOverrides.now = function() { - return Date.now(); -}; -Math.__name__ = true; -var Reflect = function() { }; -Reflect.__name__ = true; -Reflect.field = function(o,field) { - try { - return o[field]; - } catch( _g ) { - return null; - } -}; -Reflect.getProperty = function(o,field) { - var tmp; - if(o == null) { - return null; - } else { - var tmp1; - if(o.__properties__) { - tmp = o.__properties__["get_" + field]; - tmp1 = tmp; - } else { - tmp1 = false; - } - if(tmp1) { - return o[tmp](); - } else { - return o[field]; - } - } -}; -Reflect.fields = function(o) { - var a = []; - if(o != null) { - var hasOwnProperty = Object.prototype.hasOwnProperty; - for( var f in o ) { - if(f != "__id__" && f != "hx__closures__" && hasOwnProperty.call(o,f)) { - a.push(f); - } - } - } - return a; -}; -Reflect.isObject = function(v) { - if(v == null) { - return false; - } - var t = typeof(v); - if(!(t == "string" || t == "object" && v.__enum__ == null)) { - if(t == "function") { - return (v.__name__ || v.__ename__) != null; - } else { - return false; - } - } else { - return true; - } -}; -Reflect.deleteField = function(o,field) { - if(!Object.prototype.hasOwnProperty.call(o,field)) { - return false; - } - delete(o[field]); - return true; -}; -Reflect.copy = function(o) { - if(o == null) { - return null; - } - var o2 = { }; - var _g = 0; - var _g1 = Reflect.fields(o); - while(_g < _g1.length) { - var f = _g1[_g]; - ++_g; - o2[f] = Reflect.field(o,f); - } - return o2; -}; -var Std = function() { }; -Std.__name__ = true; -Std.string = function(s) { - return js_Boot.__string_rec(s,""); -}; -Std.parseInt = function(x) { - var v = parseInt(x); - if(isNaN(v)) { - return null; - } - return v; -}; -var StringBuf = function() { - this.b = ""; -}; -StringBuf.__name__ = true; -var StringTools = function() { }; -StringTools.__name__ = true; -StringTools.isSpace = function(s,pos) { - var c = HxOverrides.cca(s,pos); - if(!(c > 8 && c < 14)) { - return c == 32; - } else { - return true; - } -}; -StringTools.ltrim = function(s) { - var l = s.length; - var r = 0; - while(r < l && StringTools.isSpace(s,r)) ++r; - if(r > 0) { - return HxOverrides.substr(s,r,l - r); - } else { - return s; - } -}; -StringTools.rtrim = function(s) { - var l = s.length; - var r = 0; - while(r < l && StringTools.isSpace(s,l - r - 1)) ++r; - if(r > 0) { - return HxOverrides.substr(s,0,l - r); - } else { - return s; - } -}; -StringTools.trim = function(s) { - return StringTools.ltrim(StringTools.rtrim(s)); -}; -StringTools.replace = function(s,sub,by) { - return s.split(sub).join(by); -}; -var haxe_Exception = function(message,previous,native) { - Error.call(this,message); - this.message = message; - this.__previousException = previous; - this.__nativeException = native != null ? native : this; -}; -haxe_Exception.__name__ = true; -haxe_Exception.caught = function(value) { - if(((value) instanceof haxe_Exception)) { - return value; - } else if(((value) instanceof Error)) { - return new haxe_Exception(value.message,null,value); - } else { - return new haxe_ValueException(value,null,value); - } -}; -haxe_Exception.thrown = function(value) { - if(((value) instanceof haxe_Exception)) { - return value.get_native(); - } else if(((value) instanceof Error)) { - return value; - } else { - var e = new haxe_ValueException(value); - return e; - } -}; -haxe_Exception.__super__ = Error; -haxe_Exception.prototype = $extend(Error.prototype,{ - unwrap: function() { - return this.__nativeException; - } - ,get_native: function() { - return this.__nativeException; - } - ,__properties__: {get_native:"get_native"} -}); -var haxe__$Template_TemplateExpr = $hxEnums["haxe._Template.TemplateExpr"] = { __ename__:true,__constructs__:null - ,OpVar: ($_=function(v) { return {_hx_index:0,v:v,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpVar",$_.__params__ = ["v"],$_) - ,OpExpr: ($_=function(expr) { return {_hx_index:1,expr:expr,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpExpr",$_.__params__ = ["expr"],$_) - ,OpIf: ($_=function(expr,eif,eelse) { return {_hx_index:2,expr:expr,eif:eif,eelse:eelse,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpIf",$_.__params__ = ["expr","eif","eelse"],$_) - ,OpStr: ($_=function(str) { return {_hx_index:3,str:str,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpStr",$_.__params__ = ["str"],$_) - ,OpBlock: ($_=function(l) { return {_hx_index:4,l:l,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpBlock",$_.__params__ = ["l"],$_) - ,OpForeach: ($_=function(expr,loop) { return {_hx_index:5,expr:expr,loop:loop,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpForeach",$_.__params__ = ["expr","loop"],$_) - ,OpMacro: ($_=function(name,params) { return {_hx_index:6,name:name,params:params,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpMacro",$_.__params__ = ["name","params"],$_) -}; -haxe__$Template_TemplateExpr.__constructs__ = [haxe__$Template_TemplateExpr.OpVar,haxe__$Template_TemplateExpr.OpExpr,haxe__$Template_TemplateExpr.OpIf,haxe__$Template_TemplateExpr.OpStr,haxe__$Template_TemplateExpr.OpBlock,haxe__$Template_TemplateExpr.OpForeach,haxe__$Template_TemplateExpr.OpMacro]; -var haxe_iterators_ArrayIterator = function(array) { - this.current = 0; - this.array = array; -}; -haxe_iterators_ArrayIterator.__name__ = true; -haxe_iterators_ArrayIterator.prototype = { - hasNext: function() { - return this.current < this.array.length; - } - ,next: function() { - return this.array[this.current++]; - } -}; -var haxe_Template = function(str) { - var tokens = this.parseTokens(str); - this.expr = this.parseBlock(tokens); - if(!tokens.isEmpty()) { - throw haxe_Exception.thrown("Unexpected '" + Std.string(tokens.first().s) + "'"); - } -}; -haxe_Template.__name__ = true; -haxe_Template.prototype = { - execute: function(context,macros) { - this.macros = macros == null ? { } : macros; - this.context = context; - this.stack = new haxe_ds_List(); - this.buf = new StringBuf(); - this.run(this.expr); - return this.buf.b; - } - ,resolve: function(v) { - if(v == "__current__") { - return this.context; - } - if(Reflect.isObject(this.context)) { - var value = Reflect.getProperty(this.context,v); - if(value != null || Object.prototype.hasOwnProperty.call(this.context,v)) { - return value; - } - } - var _g_head = this.stack.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var ctx = val; - var value = Reflect.getProperty(ctx,v); - if(value != null || Object.prototype.hasOwnProperty.call(ctx,v)) { - return value; - } - } - return Reflect.field(haxe_Template.globals,v); - } - ,parseTokens: function(data) { - var tokens = new haxe_ds_List(); - while(haxe_Template.splitter.match(data)) { - var p = haxe_Template.splitter.matchedPos(); - if(p.pos > 0) { - tokens.add({ p : HxOverrides.substr(data,0,p.pos), s : true, l : null}); - } - if(HxOverrides.cca(data,p.pos) == 58) { - tokens.add({ p : HxOverrides.substr(data,p.pos + 2,p.len - 4), s : false, l : null}); - data = haxe_Template.splitter.matchedRight(); - continue; - } - var parp = p.pos + p.len; - var npar = 1; - var params = []; - var part = ""; - while(true) { - var c = HxOverrides.cca(data,parp); - ++parp; - if(c == 40) { - ++npar; - } else if(c == 41) { - --npar; - if(npar <= 0) { - break; - } - } else if(c == null) { - throw haxe_Exception.thrown("Unclosed macro parenthesis"); - } - if(c == 44 && npar == 1) { - params.push(part); - part = ""; - } else { - part += String.fromCodePoint(c); - } - } - params.push(part); - tokens.add({ p : haxe_Template.splitter.matched(2), s : false, l : params}); - data = HxOverrides.substr(data,parp,data.length - parp); - } - if(data.length > 0) { - tokens.add({ p : data, s : true, l : null}); - } - return tokens; - } - ,parseBlock: function(tokens) { - var l = new haxe_ds_List(); - while(true) { - var t = tokens.first(); - if(t == null) { - break; - } - if(!t.s && (t.p == "end" || t.p == "else" || HxOverrides.substr(t.p,0,7) == "elseif ")) { - break; - } - l.add(this.parse(tokens)); - } - if(l.length == 1) { - return l.first(); - } - return haxe__$Template_TemplateExpr.OpBlock(l); - } - ,parse: function(tokens) { - var t = tokens.pop(); - var p = t.p; - if(t.s) { - return haxe__$Template_TemplateExpr.OpStr(p); - } - if(t.l != null) { - var pe = new haxe_ds_List(); - var _g = 0; - var _g1 = t.l; - while(_g < _g1.length) { - var p1 = _g1[_g]; - ++_g; - pe.add(this.parseBlock(this.parseTokens(p1))); - } - return haxe__$Template_TemplateExpr.OpMacro(p,pe); - } - var kwdEnd = function(kwd) { - var pos = -1; - var length = kwd.length; - if(HxOverrides.substr(p,0,length) == kwd) { - pos = length; - var _g_offset = 0; - var _g_s = HxOverrides.substr(p,length,null); - while(_g_offset < _g_s.length) { - var c = _g_s.charCodeAt(_g_offset++); - if(c == 32) { - ++pos; - } else { - break; - } - } - } - return pos; - }; - var pos = kwdEnd("if"); - if(pos > 0) { - p = HxOverrides.substr(p,pos,p.length - pos); - var e = this.parseExpr(p); - var eif = this.parseBlock(tokens); - var t = tokens.first(); - var eelse; - if(t == null) { - throw haxe_Exception.thrown("Unclosed 'if'"); - } - if(t.p == "end") { - tokens.pop(); - eelse = null; - } else if(t.p == "else") { - tokens.pop(); - eelse = this.parseBlock(tokens); - t = tokens.pop(); - if(t == null || t.p != "end") { - throw haxe_Exception.thrown("Unclosed 'else'"); - } - } else { - t.p = HxOverrides.substr(t.p,4,t.p.length - 4); - eelse = this.parse(tokens); - } - return haxe__$Template_TemplateExpr.OpIf(e,eif,eelse); - } - var pos = kwdEnd("foreach"); - if(pos >= 0) { - p = HxOverrides.substr(p,pos,p.length - pos); - var e = this.parseExpr(p); - var efor = this.parseBlock(tokens); - var t = tokens.pop(); - if(t == null || t.p != "end") { - throw haxe_Exception.thrown("Unclosed 'foreach'"); - } - return haxe__$Template_TemplateExpr.OpForeach(e,efor); - } - if(haxe_Template.expr_splitter.match(p)) { - return haxe__$Template_TemplateExpr.OpExpr(this.parseExpr(p)); - } - return haxe__$Template_TemplateExpr.OpVar(p); - } - ,parseExpr: function(data) { - var l = new haxe_ds_List(); - var expr = data; - while(haxe_Template.expr_splitter.match(data)) { - var p = haxe_Template.expr_splitter.matchedPos(); - var k = p.pos + p.len; - if(p.pos != 0) { - l.add({ p : HxOverrides.substr(data,0,p.pos), s : true}); - } - var p1 = haxe_Template.expr_splitter.matched(0); - l.add({ p : p1, s : p1.indexOf("\"") >= 0}); - data = haxe_Template.expr_splitter.matchedRight(); - } - if(data.length != 0) { - var _g_offset = 0; - var _g_s = data; - while(_g_offset < _g_s.length) { - var _g_key = _g_offset; - var _g_value = _g_s.charCodeAt(_g_offset++); - var i = _g_key; - var c = _g_value; - if(c != 32) { - l.add({ p : HxOverrides.substr(data,i,null), s : true}); - break; - } - } - } - var e; - try { - e = this.makeExpr(l); - if(!l.isEmpty()) { - throw haxe_Exception.thrown(l.first().p); - } - } catch( _g ) { - var _g1 = haxe_Exception.caught(_g).unwrap(); - if(typeof(_g1) == "string") { - var s = _g1; - throw haxe_Exception.thrown("Unexpected '" + s + "' in " + expr); - } else { - throw _g; - } - } - return function() { - try { - return e(); - } catch( _g ) { - var exc = haxe_Exception.caught(_g).unwrap(); - throw haxe_Exception.thrown("Error : " + Std.string(exc) + " in " + expr); - } - }; - } - ,makeConst: function(v) { - haxe_Template.expr_trim.match(v); - v = haxe_Template.expr_trim.matched(1); - if(HxOverrides.cca(v,0) == 34) { - var str = HxOverrides.substr(v,1,v.length - 2); - return function() { - return str; - }; - } - if(haxe_Template.expr_int.match(v)) { - var i = Std.parseInt(v); - return function() { - return i; - }; - } - if(haxe_Template.expr_float.match(v)) { - var f = parseFloat(v); - return function() { - return f; - }; - } - var me = this; - return function() { - return me.resolve(v); - }; - } - ,makePath: function(e,l) { - var p = l.first(); - if(p == null || p.p != ".") { - return e; - } - l.pop(); - var field = l.pop(); - if(field == null || !field.s) { - throw haxe_Exception.thrown(field.p); - } - var f = field.p; - haxe_Template.expr_trim.match(f); - f = haxe_Template.expr_trim.matched(1); - return this.makePath(function() { - return Reflect.field(e(),f); - },l); - } - ,makeExpr: function(l) { - return this.makePath(this.makeExpr2(l),l); - } - ,skipSpaces: function(l) { - var p = l.first(); - while(p != null) { - var _g_offset = 0; - var _g_s = p.p; - while(_g_offset < _g_s.length) { - var c = _g_s.charCodeAt(_g_offset++); - if(c != 32) { - return; - } - } - l.pop(); - p = l.first(); - } - } - ,makeExpr2: function(l) { - this.skipSpaces(l); - var p = l.pop(); - this.skipSpaces(l); - if(p == null) { - throw haxe_Exception.thrown(""); - } - if(p.s) { - return this.makeConst(p.p); - } - switch(p.p) { - case "!": - var e = this.makeExpr(l); - return function() { - var v = e(); - if(v != null) { - return v == false; - } else { - return true; - } - }; - case "(": - this.skipSpaces(l); - var e1 = this.makeExpr(l); - this.skipSpaces(l); - var p1 = l.pop(); - if(p1 == null || p1.s) { - throw haxe_Exception.thrown(p1); - } - if(p1.p == ")") { - return e1; - } - this.skipSpaces(l); - var e2 = this.makeExpr(l); - this.skipSpaces(l); - var p2 = l.pop(); - this.skipSpaces(l); - if(p2 == null || p2.p != ")") { - throw haxe_Exception.thrown(p2); - } - switch(p1.p) { - case "!=": - return function() { - return e1() != e2(); - }; - case "&&": - return function() { - return e1() && e2(); - }; - case "*": - return function() { - return e1() * e2(); - }; - case "+": - return function() { - return e1() + e2(); - }; - case "-": - return function() { - return e1() - e2(); - }; - case "/": - return function() { - return e1() / e2(); - }; - case "<": - return function() { - return e1() < e2(); - }; - case "<=": - return function() { - return e1() <= e2(); - }; - case "==": - return function() { - return e1() == e2(); - }; - case ">": - return function() { - return e1() > e2(); - }; - case ">=": - return function() { - return e1() >= e2(); - }; - case "||": - return function() { - return e1() || e2(); - }; - default: - throw haxe_Exception.thrown("Unknown operation " + p1.p); - } - break; - case "-": - var e3 = this.makeExpr(l); - return function() { - return -e3(); - }; - } - throw haxe_Exception.thrown(p.p); - } - ,run: function(e) { - switch(e._hx_index) { - case 0: - var v = e.v; - var _this = this.buf; - var x = Std.string(this.resolve(v)); - _this.b += Std.string(x); - break; - case 1: - var e1 = e.expr; - var _this = this.buf; - var x = Std.string(e1()); - _this.b += Std.string(x); - break; - case 2: - var e1 = e.expr; - var eif = e.eif; - var eelse = e.eelse; - var v = e1(); - if(v == null || v == false) { - if(eelse != null) { - this.run(eelse); - } - } else { - this.run(eif); - } - break; - case 3: - var str = e.str; - this.buf.b += str == null ? "null" : "" + str; - break; - case 4: - var l = e.l; - var _g_head = l.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var e1 = val; - this.run(e1); - } - break; - case 5: - var e1 = e.expr; - var loop = e.loop; - var v = e1(); - try { - var x = $getIterator(v); - if(x.hasNext == null) { - throw haxe_Exception.thrown(null); - } - v = x; - } catch( _g ) { - try { - if(v.hasNext == null) { - throw haxe_Exception.thrown(null); - } - } catch( _g1 ) { - throw haxe_Exception.thrown("Cannot iter on " + Std.string(v)); - } - } - this.stack.push(this.context); - var v1 = v; - var ctx = v1; - while(ctx.hasNext()) { - var ctx1 = ctx.next(); - this.context = ctx1; - this.run(loop); - } - this.context = this.stack.pop(); - break; - case 6: - var m = e.name; - var params = e.params; - var v = Reflect.field(this.macros,m); - var pl = []; - var old = this.buf; - pl.push($bind(this,this.resolve)); - var _g_head = params.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var p = val; - if(p._hx_index == 0) { - var v1 = p.v; - pl.push(this.resolve(v1)); - } else { - this.buf = new StringBuf(); - this.run(p); - pl.push(this.buf.b); - } - } - this.buf = old; - try { - var _this = this.buf; - var x = Std.string(v.apply(this.macros,pl)); - _this.b += Std.string(x); - } catch( _g ) { - var e = haxe_Exception.caught(_g).unwrap(); - var plstr; - try { - plstr = pl.join(","); - } catch( _g1 ) { - plstr = "???"; - } - var msg = "Macro call " + m + "(" + plstr + ") failed (" + Std.string(e) + ")"; - throw haxe_Exception.thrown(msg); - } - break; - } - } -}; -var haxe_ValueException = function(value,previous,native) { - haxe_Exception.call(this,String(value),previous,native); - this.value = value; -}; -haxe_ValueException.__name__ = true; -haxe_ValueException.__super__ = haxe_Exception; -haxe_ValueException.prototype = $extend(haxe_Exception.prototype,{ - unwrap: function() { - return this.value; - } -}); -var haxe_ds_List = function() { - this.length = 0; -}; -haxe_ds_List.__name__ = true; -haxe_ds_List.prototype = { - add: function(item) { - var x = new haxe_ds__$List_ListNode(item,null); - if(this.h == null) { - this.h = x; - } else { - this.q.next = x; - } - this.q = x; - this.length++; - } - ,push: function(item) { - var x = new haxe_ds__$List_ListNode(item,this.h); - this.h = x; - if(this.q == null) { - this.q = x; - } - this.length++; - } - ,first: function() { - if(this.h == null) { - return null; - } else { - return this.h.item; - } - } - ,pop: function() { - if(this.h == null) { - return null; - } - var x = this.h.item; - this.h = this.h.next; - if(this.h == null) { - this.q = null; - } - this.length--; - return x; - } - ,isEmpty: function() { - return this.h == null; - } - ,toString: function() { - var s_b = ""; - var first = true; - var l = this.h; - s_b += "{"; - while(l != null) { - if(first) { - first = false; - } else { - s_b += ", "; - } - s_b += Std.string(Std.string(l.item)); - l = l.next; - } - s_b += "}"; - return s_b; - } -}; -var haxe_ds__$List_ListNode = function(item,next) { - this.item = item; - this.next = next; -}; -haxe_ds__$List_ListNode.__name__ = true; -var js_Boot = function() { }; -js_Boot.__name__ = true; -js_Boot.__string_rec = function(o,s) { - if(o == null) { - return "null"; - } - if(s.length >= 5) { - return "<...>"; - } - var t = typeof(o); - if(t == "function" && (o.__name__ || o.__ename__)) { - t = "object"; - } - switch(t) { - case "function": - return ""; - case "object": - if(o.__enum__) { - var e = $hxEnums[o.__enum__]; - var con = e.__constructs__[o._hx_index]; - var n = con._hx_name; - if(con.__params__) { - s = s + "\t"; - return n + "(" + ((function($this) { - var $r; - var _g = []; - { - var _g1 = 0; - var _g2 = con.__params__; - while(true) { - if(!(_g1 < _g2.length)) { - break; - } - var p = _g2[_g1]; - _g1 = _g1 + 1; - _g.push(js_Boot.__string_rec(o[p],s)); - } - } - $r = _g; - return $r; - }(this))).join(",") + ")"; - } else { - return n; - } - } - if(((o) instanceof Array)) { - var str = "["; - s += "\t"; - var _g = 0; - var _g1 = o.length; - while(_g < _g1) { - var i = _g++; - str += (i > 0 ? "," : "") + js_Boot.__string_rec(o[i],s); - } - str += "]"; - return str; - } - var tostr; - try { - tostr = o.toString; - } catch( _g ) { - return "???"; - } - if(tostr != null && tostr != Object.toString && typeof(tostr) == "function") { - var s2 = o.toString(); - if(s2 != "[object Object]") { - return s2; - } - } - var str = "{\n"; - s += "\t"; - var hasp = o.hasOwnProperty != null; - var k = null; - for( k in o ) { - if(hasp && !o.hasOwnProperty(k)) { - continue; - } - if(k == "prototype" || k == "__class__" || k == "__super__" || k == "__interfaces__" || k == "__properties__") { - continue; - } - if(str.length != 2) { - str += ", \n"; - } - str += s + k + " : " + js_Boot.__string_rec(o[k],s); - } - s = s.substring(1); - str += "\n" + s + "}"; - return str; - case "string": - return o; - default: - return String(o); - } -}; -var xrfragment_Filter = $hx_exports["xrfragment"]["Filter"] = function(str) { - this.q = { }; - this.str = ""; - if(str != null) { - this.parse(str); - } -}; -xrfragment_Filter.__name__ = true; -xrfragment_Filter.prototype = { - toObject: function() { - return Reflect.copy(this.q); - } - ,get: function() { - return Reflect.copy(this.q); - } - ,parse: function(str) { - var token = str.split(" "); - var q = { }; - var process = function(str,prefix) { - if(prefix == null) { - prefix = ""; - } - str = StringTools.trim(str); - var k = str.split("=")[0]; - var v = str.split("=")[1]; - var filter = { }; - if(q[prefix + k]) { - filter = q[prefix + k]; - } - if(xrfragment_XRF.isProp.match(str)) { - var oper = ""; - if(str.indexOf(">") != -1) { - oper = ">"; - } - if(str.indexOf("<") != -1) { - oper = "<"; - } - if(xrfragment_XRF.isExclude.match(k)) { - k = HxOverrides.substr(k,1,null); - } - v = HxOverrides.substr(v,oper.length,null); - if(oper.length == 0) { - oper = "="; - } - var rule = { }; - if(xrfragment_XRF.isNumber.match(v)) { - rule[oper] = parseFloat(v); - } else { - rule[oper] = v; - } - q["expr"] = rule; - } - var value = xrfragment_XRF.isDeep.match(str) ? k.split("*").length - 1 : 0; - q["deep"] = value; - var value = xrfragment_XRF.isExclude.match(str) ? false : true; - q["show"] = value; - var value = k.replace(xrfragment_XRF.operators.r,""); - q["key"] = value; - q["value"] = v; - }; - var _g = 0; - var _g1 = token.length; - while(_g < _g1) { - var i = _g++; - process(token[i]); - } - return this.q = q; - } - ,test: function(obj) { - var qualify = false; - var _g = 0; - var _g1 = Reflect.fields(obj); - while(_g < _g1.length) { - var k = _g1[_g]; - ++_g; - var v = Std.string(Reflect.field(obj,k)); - if(this.testProperty(k,v)) { - qualify = true; - } - } - var _g = 0; - var _g1 = Reflect.fields(obj); - while(_g < _g1.length) { - var k = _g1[_g]; - ++_g; - var v = Std.string(Reflect.field(obj,k)); - if(this.testProperty(k,v,true)) { - qualify = false; - } - } - return qualify; - } - ,testProperty: function(property,value,exclude) { - var conds = 0; - var fails = 0; - var qualify = 0; - var testprop = function(expr) { - conds += 1; - fails += expr ? 0 : 1; - return expr; - }; - if(this.q[value] != null) { - var v = this.q[value]; - if(v[property] != null) { - return v[property]; - } - } - if(Reflect.field(this.q,"expr")) { - var f = Reflect.field(this.q,"expr"); - if(!Reflect.field(this.q,"show")) { - if(Reflect.field(f,"!=") != null && testprop((value == null ? "null" : "" + value) == Std.string(Reflect.field(f,"!="))) && exclude) { - ++qualify; - } - } else { - if(Reflect.field(f,"*") != null && testprop(parseFloat(value) != null)) { - ++qualify; - } - if(Reflect.field(f,">") != null && testprop(parseFloat(value) >= parseFloat(Reflect.field(f,">")))) { - ++qualify; - } - if(Reflect.field(f,"<") != null && testprop(parseFloat(value) <= parseFloat(Reflect.field(f,"<")))) { - ++qualify; - } - if(Reflect.field(f,"=") != null && (testprop(value == Reflect.field(f,"=")) || testprop(parseFloat(value) == parseFloat(Reflect.field(f,"="))))) { - ++qualify; - } - } - } - return qualify > 0; - } -}; -var xrfragment_Parser = $hx_exports["xrfragment"]["Parser"] = function() { }; -xrfragment_Parser.__name__ = true; -xrfragment_Parser.parse = function(key,value,store,index) { - var Frag_h = Object.create(null); - Frag_h["#"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_PREDEFINED_VIEW | xrfragment_XRF.PV_EXECUTE; - Frag_h["src"] = xrfragment_XRF.T_URL; - Frag_h["href"] = xrfragment_XRF.T_URL | xrfragment_XRF.T_PREDEFINED_VIEW; - Frag_h["tag"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["pos"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_VECTOR3 | xrfragment_XRF.T_STRING | xrfragment_XRF.METADATA | xrfragment_XRF.NAVIGATOR; - Frag_h["rot"] = xrfragment_XRF.QUERY_OPERATOR | xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_VECTOR3 | xrfragment_XRF.METADATA | xrfragment_XRF.NAVIGATOR; - Frag_h["t"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_FLOAT | xrfragment_XRF.T_VECTOR2 | xrfragment_XRF.NAVIGATOR | xrfragment_XRF.METADATA; - Frag_h["s"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_MEDIAFRAG; - Frag_h["loop"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_PREDEFINED_VIEW; - Frag_h["uv"] = xrfragment_XRF.T_VECTOR2 | xrfragment_XRF.T_MEDIAFRAG; - Frag_h["namespace"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["SPDX"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["unit"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["description"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - var keyStripped = key.replace(xrfragment_XRF.operators.r,""); - var isPVDynamic = key.length > 0 && !Object.prototype.hasOwnProperty.call(Frag_h,key); - if(isPVDynamic) { - var v = new xrfragment_XRF(key,xrfragment_XRF.PV_EXECUTE | xrfragment_XRF.NAVIGATOR,index); - v.validate(value); - v.flags = xrfragment_XRF.set(xrfragment_XRF.T_DYNAMICKEY,v.flags); - if(!Object.prototype.hasOwnProperty.call(Frag_h,key)) { - v.flags = xrfragment_XRF.set(xrfragment_XRF.CUSTOMFRAG,v.flags); - } - if(value.length == 0) { - v.flags = xrfragment_XRF.set(xrfragment_XRF.T_DYNAMICKEYVALUE,v.flags); - } - store[keyStripped] = v; - return true; - } - var v = new xrfragment_XRF(key,Frag_h[key],index); - if(Object.prototype.hasOwnProperty.call(Frag_h,key)) { - if(!v.validate(value)) { - console.log("src/xrfragment/Parser.hx:67:","⚠ fragment '" + key + "' has incompatible value (" + value + ")"); - return false; - } - store[keyStripped] = v; - if(xrfragment_Parser.debug) { - console.log("src/xrfragment/Parser.hx:71:","✔ " + key + ": " + v.string); - } - } else { - if(typeof(value) == "string") { - v.guessType(v,value); - } - v.flags = xrfragment_XRF.set(xrfragment_XRF.CUSTOMFRAG,v.flags); - store[keyStripped] = v; - } - return true; -}; -xrfragment_Parser.getMetaData = function() { - var meta = { title : ["title","og:title","dc.title"], description : ["aria-description","og:description","dc.description"], author : ["author","dc.creator"], publisher : ["publisher","dc.publisher"], website : ["og:site_name","og:url","dc.publisher"], license : ["SPDX","dc.rights"]}; - return meta; -}; -var xrfragment_URI = $hx_exports["xrfragment"]["URI"] = function() { - this.XRF = { }; - this.hash = { }; - this.fragment = ""; -}; -xrfragment_URI.__name__ = true; -xrfragment_URI.parseFragment = function(url,filter) { - var store = { }; - if(url == null || url.indexOf("#") == -1) { - return store; - } - var fragment = url.split("#"); - var splitArray = fragment[1].split("&"); - var _g = 0; - var _g1 = splitArray.length; - while(_g < _g1) { - var i = _g++; - var splitByEqual = splitArray[i].split("="); - var regexPlus = new EReg("\\+","g"); - var key = splitByEqual[0]; - var value = ""; - if(splitByEqual.length > 1) { - if(xrfragment_XRF.isVector.match(splitByEqual[1])) { - value = splitByEqual[1]; - } else { - var s = regexPlus.split(splitByEqual[1]).join(" "); - value = decodeURIComponent(s.split("+").join(" ")); - } - } - var ok = xrfragment_Parser.parse(key,value,store,i); - } - if(filter != null && filter != 0) { - var _g = 0; - var _g1 = Reflect.fields(store); - while(_g < _g1.length) { - var key = _g1[_g]; - ++_g; - var xrf = store[key]; - if(!xrf.is(filter)) { - Reflect.deleteField(store,key); - } - } - } - return store; -}; -xrfragment_URI.template = function(uri,vars) { - var parts = uri.split("#"); - if(parts.length == 1) { - return uri; - } - var frag = parts[1]; - frag = StringTools.replace(frag,"{","::"); - frag = StringTools.replace(frag,"}","::"); - frag = new haxe_Template(frag).execute(vars); - frag = StringTools.replace(frag,"null",""); - parts[1] = frag; - return parts.join("#"); -}; -xrfragment_URI.parse = function(stringUrl,flags) { - var r = new EReg("^(?:(?![^:@]+:[^:@/]*@)([^:/?#.]+):)?(?://)?((?:(([^:@]*)(?::([^:@]*))?)?@)?([^:/?#]*)(?::(\\d*))?)(((/(?:[^?#](?![^?#/]*\\.[^?#/.]+(?:[?#]|$)))*/?)?([^?#/]*))(?:\\?([^#]*))?(?:#(.*))?)",""); - if(stringUrl.indexOf("://") == -1 && stringUrl.charAt(0) != "/") { - stringUrl = "/" + stringUrl; - } - r.match(stringUrl); - var url = new xrfragment_URI(); - var _g = 0; - var _g1 = xrfragment_URI._parts.length; - while(_g < _g1) { - var i = _g++; - url[xrfragment_URI._parts[i]] = r.matched(i); - } - if(xrfragment_URI.isRelative(url) == true) { - if(url.directory == null && url.host != null) { - url.file = url.host; - } - url.host = ""; - } - url.hash = { }; - if(url.fragment != null && url.fragment.length > 0) { - url.XRF = xrfragment_URI.parseFragment("#" + url.fragment,flags); - var key; - var _g = 0; - var _g1 = Reflect.fields(url.XRF); - while(_g < _g1.length) { - var key = _g1[_g]; - ++_g; - var v = url.XRF[key]; - url.hash[key] = v["string"]; - } - } - xrfragment_URI.computeVars(url); - return url; -}; -xrfragment_URI.computeVars = function(url) { - var r_r = new RegExp("//","g".split("u").join("")); - if(url.directory != null && url.directory.indexOf("//") != -1) { - url.directory = url.directory.replace(r_r,"/"); - } - if(url.path != null && url.path.indexOf("//") != -1) { - url.path = url.path.replace(r_r,"/"); - } - if(url.file != null && url.file.indexOf("//") != -1) { - url.file = url.file.replace(r_r,"/"); - } - url.URN = url.scheme + "://" + url.host; - if(url.port != null) { - url.URN += ":" + url.port; - } - url.URN += url.directory; - if(url.file != null) { - var parts = url.file.split("."); - if(parts.length > 1) { - url.fileExt = parts.pop(); - } - } -}; -xrfragment_URI.toString = function(url) { - var result = ""; - if(url.scheme != null) { - result += url.scheme + "://"; - } - if(url.user != null) { - result += url.user + ":"; - } - if(url.password != null) { - result += url.password + "@"; - } - if(url.host != null) { - result += url.host; - } - if(url.port != null) { - result += ":" + url.port; - } - if(url.directory != null) { - result += url.directory; - } - if(url.file != null) { - result += url.file; - } - if(url.query != null) { - result += "?" + url.query; - } - if(url.fragment != null) { - result += "#" + url.fragment; - } - return result; -}; -xrfragment_URI.appendURI = function(url,appendedURI) { - if(xrfragment_URI.isRelative(url) == true) { - return xrfragment_URI.appendToRelativeURI(url,appendedURI); - } else { - return xrfragment_URI.appendToAbsoluteURI(url,appendedURI); - } -}; -xrfragment_URI.isRelative = function(url) { - return url.scheme == null; -}; -xrfragment_URI.appendToRelativeURI = function(url,appendedURI) { - if(url.directory == null || url.host == null) { - return xrfragment_URI.cloneURI(appendedURI); - } - var resultURI = new xrfragment_URI(); - resultURI.host = url.host; - resultURI.directory = url.directory; - if(appendedURI.host != null) { - resultURI.directory += appendedURI.host; - } - if(appendedURI.directory != null) { - var directory = appendedURI.directory; - if(appendedURI.host == null) { - resultURI.directory += HxOverrides.substr(directory,1,null); - } else { - resultURI.directory += directory; - } - } - if(appendedURI.file != null) { - resultURI.file = appendedURI.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(appendedURI.query != null) { - resultURI.query = appendedURI.query; - } - if(appendedURI.fragment != null) { - resultURI.fragment = appendedURI.fragment; - } - return resultURI; -}; -xrfragment_URI.appendToAbsoluteURI = function(url,appendedURI) { - var resultURI = new xrfragment_URI(); - if(url.scheme != null) { - resultURI.scheme = url.scheme; - } - if(url.host != null) { - resultURI.host = url.host; - } - var directory = ""; - if(url.directory != null) { - directory = url.directory; - } - if(appendedURI.host != null) { - appendedURI.directory += appendedURI.host; - } - if(appendedURI.directory != null) { - directory += appendedURI.directory; - } - resultURI.directory = directory; - if(appendedURI.file != null) { - resultURI.file = appendedURI.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(appendedURI.query != null) { - resultURI.query = appendedURI.query; - } - if(appendedURI.fragment != null) { - resultURI.fragment = appendedURI.fragment; - } - return resultURI; -}; -xrfragment_URI.toAbsolute = function(url,newUrl) { - var newURI = xrfragment_URI.parse(newUrl,0); - var resultURI = new xrfragment_URI(); - resultURI.port = url.port; - resultURI.source = newUrl; - if(newURI.scheme != null) { - resultURI.scheme = newURI.scheme; - } else { - resultURI.scheme = url.scheme; - } - if(newURI.host != null && newURI.host.length > 0) { - resultURI.host = newURI.host; - resultURI.port = null; - resultURI.fragment = null; - resultURI.hash = { }; - resultURI.XRF = { }; - if(newURI.port != null) { - resultURI.port = newURI.port; - } - } else { - resultURI.host = url.host; - } - var directory = ""; - if(url.directory != null) { - directory = url.directory; - } - if(newURI.directory != null) { - if(newUrl.charAt(0) != "/" && newUrl.indexOf("://") == -1) { - var stripRelative_r = new RegExp("\\./.*","".split("u").join("")); - directory = directory.replace(stripRelative_r,""); - directory += newURI.directory; - } else { - directory = newURI.directory; - } - } - resultURI.directory = directory; - if(newURI.file != null) { - resultURI.file = newURI.file; - } else { - resultURI.file = url.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(newURI.query != null) { - resultURI.query = newURI.query; - } - if(newURI.fragment != null) { - resultURI.fragment = newURI.fragment; - } - resultURI.hash = newURI.hash; - resultURI.XRF = newURI.XRF; - xrfragment_URI.computeVars(resultURI); - return resultURI; -}; -xrfragment_URI.cloneURI = function(url) { - var clonedURI = new xrfragment_URI(); - clonedURI.url = url.url; - clonedURI.source = url.source; - clonedURI.scheme = url.scheme; - clonedURI.authority = url.authority; - clonedURI.userInfo = url.userInfo; - clonedURI.password = url.password; - clonedURI.host = url.host; - clonedURI.port = url.port; - clonedURI.relative = url.relative; - clonedURI.path = url.path; - clonedURI.directory = url.directory; - clonedURI.file = url.file; - clonedURI.query = url.query; - clonedURI.fragment = url.fragment; - return clonedURI; -}; -var xrfragment_XRF = $hx_exports["xrfragment"]["XRF"] = function(_fragment,_flags,_index) { - this.floats = []; - this.shift = []; - this.fragment = _fragment; - this.flags = _flags; - this.index = _index; -}; -xrfragment_XRF.__name__ = true; -xrfragment_XRF.set = function(flag,flags) { - return flags | flag; -}; -xrfragment_XRF.unset = function(flag,flags) { - return flags & ~flag; -}; -xrfragment_XRF.prototype = { - is: function(flag) { - var v = this.flags; - if(!(typeof(v) == "number" && ((v | 0) === v))) { - this.flags = 0; - } - return (this.flags & flag) != 0; - } - ,validate: function(value) { - this.guessType(this,value); - var ok = true; - if(value.length == 0 && !this.is(xrfragment_XRF.T_PREDEFINED_VIEW)) { - ok = false; - } - if(!this.is(xrfragment_XRF.T_FLOAT) && this.is(xrfragment_XRF.T_VECTOR2) && !(typeof(this.x) == "number" && typeof(this.y) == "number")) { - ok = false; - } - if(!(this.is(xrfragment_XRF.T_VECTOR2) || this.is(xrfragment_XRF.T_STRING)) && this.is(xrfragment_XRF.T_VECTOR3) && !(typeof(this.x) == "number" && typeof(this.y) == "number" && typeof(this.z) == "number")) { - ok = false; - } - return ok; - } - ,guessType: function(v,str) { - v.string = str; - if(xrfragment_XRF.isReset.match(v.fragment)) { - v.reset = true; - } - if(v.fragment == "loop") { - v.loop = true; - } - if(typeof(str) != "string") { - return; - } - if(str.length > 0) { - if(xrfragment_XRF.isXRFScheme.match(str)) { - v.xrfScheme = true; - str = str.replace(xrfragment_XRF.isXRFScheme.r,""); - v.string = str; - } - if(str.split(",").length > 1) { - var xyzn = str.split(","); - if(xyzn.length > 0) { - v.x = parseFloat(xyzn[0]); - } - if(xyzn.length > 1) { - v.y = parseFloat(xyzn[1]); - } - if(xyzn.length > 2) { - v.z = parseFloat(xyzn[2]); - } - var _g = 0; - var _g1 = xyzn.length; - while(_g < _g1) { - var i = _g++; - v.shift.push(xrfragment_XRF.isShift.match(xyzn[i])); - v.floats.push(parseFloat(xyzn[i].replace(xrfragment_XRF.isShift.r,""))); - } - } - if(xrfragment_XRF.isColor.match(str)) { - v.color = str; - } - if(xrfragment_XRF.isFloat.match(str)) { - v.x = parseFloat(str); - v.float = v.x; - } - if(xrfragment_XRF.isInt.match(str)) { - v.int = Std.parseInt(str); - v.x = v.int; - v.floats.push(v.x); - } - v.filter = new xrfragment_Filter(v.fragment + "=" + v.string); - } else { - v.filter = new xrfragment_Filter(v.fragment); - } - } -}; -function $getIterator(o) { if( o instanceof Array ) return new haxe_iterators_ArrayIterator(o); else return o.iterator(); } -function $bind(o,m) { if( m == null ) return null; if( m.__id__ == null ) m.__id__ = $global.$haxeUID++; var f; if( o.hx__closures__ == null ) o.hx__closures__ = {}; else f = o.hx__closures__[m.__id__]; if( f == null ) { f = m.bind(o); o.hx__closures__[m.__id__] = f; } return f; } -$global.$haxeUID |= 0; -if(typeof(performance) != "undefined" ? typeof(performance.now) == "function" : false) { - HxOverrides.now = performance.now.bind(performance); -} -if( String.fromCodePoint == null ) String.fromCodePoint = function(c) { return c < 0x10000 ? String.fromCharCode(c) : String.fromCharCode((c>>10)+0xD7C0)+String.fromCharCode((c&0x3FF)+0xDC00); } -String.__name__ = true; -Array.__name__ = true; -js_Boot.__toStr = ({ }).toString; -haxe_Template.splitter = new EReg("(::[A-Za-z0-9_ ()&|!+=/><*.\"-]+::|\\$\\$([A-Za-z0-9_-]+)\\()",""); -haxe_Template.expr_splitter = new EReg("(\\(|\\)|[ \r\n\t]*\"[^\"]*\"[ \r\n\t]*|[!+=/><*.&|-]+)",""); -haxe_Template.expr_trim = new EReg("^[ ]*([^ ]+)[ ]*$",""); -haxe_Template.expr_int = new EReg("^[0-9]+$",""); -haxe_Template.expr_float = new EReg("^([+-]?)(?=\\d|,\\d)\\d*(,\\d*)?([Ee]([+-]?\\d+))?$",""); -haxe_Template.globals = { }; -haxe_Template.hxKeepArrayIterator = new haxe_iterators_ArrayIterator([]); -xrfragment_Parser.error = ""; -xrfragment_Parser.debug = false; -xrfragment_URI.__meta__ = { statics : { template : { keep : null}}}; -xrfragment_URI._parts = ["source","scheme","authority","userInfo","user","password","host","port","relative","path","directory","file","query","fragment"]; -xrfragment_XRF.IMMUTABLE = 1; -xrfragment_XRF.PROP_BIND = 2; -xrfragment_XRF.QUERY_OPERATOR = 4; -xrfragment_XRF.PROMPT = 8; -xrfragment_XRF.CUSTOMFRAG = 16; -xrfragment_XRF.NAVIGATOR = 32; -xrfragment_XRF.METADATA = 64; -xrfragment_XRF.PV_OVERRIDE = 128; -xrfragment_XRF.PV_EXECUTE = 256; -xrfragment_XRF.T_COLOR = 8192; -xrfragment_XRF.T_INT = 16384; -xrfragment_XRF.T_FLOAT = 32768; -xrfragment_XRF.T_VECTOR2 = 65536; -xrfragment_XRF.T_VECTOR3 = 131072; -xrfragment_XRF.T_URL = 262144; -xrfragment_XRF.T_PREDEFINED_VIEW = 524288; -xrfragment_XRF.T_STRING = 1048576; -xrfragment_XRF.T_MEDIAFRAG = 2097152; -xrfragment_XRF.T_DYNAMICKEY = 4194304; -xrfragment_XRF.T_DYNAMICKEYVALUE = 8388608; -xrfragment_XRF.isColor = new EReg("^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$",""); -xrfragment_XRF.isInt = new EReg("^[-0-9]+$",""); -xrfragment_XRF.isFloat = new EReg("^[-0-9]+\\.[0-9]+$",""); -xrfragment_XRF.isVector = new EReg("([,]+|\\w)",""); -xrfragment_XRF.isUrl = new EReg("(://)?\\..*",""); -xrfragment_XRF.isUrlOrPretypedView = new EReg("(^#|://)?\\..*",""); -xrfragment_XRF.isString = new EReg(".*",""); -xrfragment_XRF.operators = new EReg("(^[-]|^[!]|[\\*]$)","g"); -xrfragment_XRF.isProp = new EReg("^.*=[><=]?",""); -xrfragment_XRF.isExclude = new EReg("^-",""); -xrfragment_XRF.isDeep = new EReg("\\*",""); -xrfragment_XRF.isNumber = new EReg("^[0-9\\.]+$",""); -xrfragment_XRF.isMediaFrag = new EReg("^([0-9\\.,\\*+-]+)$",""); -xrfragment_XRF.isReset = new EReg("^!",""); -xrfragment_XRF.isShift = new EReg("^(\\+|--)",""); -xrfragment_XRF.isXRFScheme = new EReg("^xrf://",""); -})(typeof window != "undefined" ? window : typeof global != "undefined" ? global : typeof self != "undefined" ? self : this); -var xrfragment = $hx_exports["xrfragment"]; -export default xrfragment; -// Generated by Haxe 4.3.3 -var $hx_exports = typeof exports != "undefined" ? exports : typeof window != "undefined" ? window : typeof self != "undefined" ? self : this; -(function ($global) { "use strict"; -$hx_exports["xrfragment"] = $hx_exports["xrfragment"] || {}; -var $estr = function() { return js_Boot.__string_rec(this,''); },$hxEnums = $hxEnums || {},$_; -function $extend(from, fields) { - var proto = Object.create(from); - for (var name in fields) proto[name] = fields[name]; - if( fields.toString !== Object.prototype.toString ) proto.toString = fields.toString; - return proto; -} -var EReg = function(r,opt) { - this.r = new RegExp(r,opt.split("u").join("")); -}; -EReg.__name__ = true; -EReg.prototype = { - match: function(s) { - if(this.r.global) { - this.r.lastIndex = 0; - } - this.r.m = this.r.exec(s); - this.r.s = s; - return this.r.m != null; - } - ,matched: function(n) { - if(this.r.m != null && n >= 0 && n < this.r.m.length) { - return this.r.m[n]; - } else { - throw haxe_Exception.thrown("EReg::matched"); - } - } - ,matchedRight: function() { - if(this.r.m == null) { - throw haxe_Exception.thrown("No string matched"); - } - var sz = this.r.m.index + this.r.m[0].length; - return HxOverrides.substr(this.r.s,sz,this.r.s.length - sz); - } - ,matchedPos: function() { - if(this.r.m == null) { - throw haxe_Exception.thrown("No string matched"); - } - return { pos : this.r.m.index, len : this.r.m[0].length}; - } - ,split: function(s) { - var d = "#__delim__#"; - return s.replace(this.r,d).split(d); - } -}; -var HxOverrides = function() { }; -HxOverrides.__name__ = true; -HxOverrides.cca = function(s,index) { - var x = s.charCodeAt(index); - if(x != x) { - return undefined; - } - return x; -}; -HxOverrides.substr = function(s,pos,len) { - if(len == null) { - len = s.length; - } else if(len < 0) { - if(pos == 0) { - len = s.length + len; - } else { - return ""; - } - } - return s.substr(pos,len); -}; -HxOverrides.now = function() { - return Date.now(); -}; -Math.__name__ = true; -var Reflect = function() { }; -Reflect.__name__ = true; -Reflect.field = function(o,field) { - try { - return o[field]; - } catch( _g ) { - return null; - } -}; -Reflect.getProperty = function(o,field) { - var tmp; - if(o == null) { - return null; - } else { - var tmp1; - if(o.__properties__) { - tmp = o.__properties__["get_" + field]; - tmp1 = tmp; - } else { - tmp1 = false; - } - if(tmp1) { - return o[tmp](); - } else { - return o[field]; - } - } -}; -Reflect.fields = function(o) { - var a = []; - if(o != null) { - var hasOwnProperty = Object.prototype.hasOwnProperty; - for( var f in o ) { - if(f != "__id__" && f != "hx__closures__" && hasOwnProperty.call(o,f)) { - a.push(f); - } - } - } - return a; -}; -Reflect.isObject = function(v) { - if(v == null) { - return false; - } - var t = typeof(v); - if(!(t == "string" || t == "object" && v.__enum__ == null)) { - if(t == "function") { - return (v.__name__ || v.__ename__) != null; - } else { - return false; - } - } else { - return true; - } -}; -Reflect.deleteField = function(o,field) { - if(!Object.prototype.hasOwnProperty.call(o,field)) { - return false; - } - delete(o[field]); - return true; -}; -Reflect.copy = function(o) { - if(o == null) { - return null; - } - var o2 = { }; - var _g = 0; - var _g1 = Reflect.fields(o); - while(_g < _g1.length) { - var f = _g1[_g]; - ++_g; - o2[f] = Reflect.field(o,f); - } - return o2; -}; -var Std = function() { }; -Std.__name__ = true; -Std.string = function(s) { - return js_Boot.__string_rec(s,""); -}; -Std.parseInt = function(x) { - var v = parseInt(x); - if(isNaN(v)) { - return null; - } - return v; -}; -var StringBuf = function() { - this.b = ""; -}; -StringBuf.__name__ = true; -var StringTools = function() { }; -StringTools.__name__ = true; -StringTools.isSpace = function(s,pos) { - var c = HxOverrides.cca(s,pos); - if(!(c > 8 && c < 14)) { - return c == 32; - } else { - return true; - } -}; -StringTools.ltrim = function(s) { - var l = s.length; - var r = 0; - while(r < l && StringTools.isSpace(s,r)) ++r; - if(r > 0) { - return HxOverrides.substr(s,r,l - r); - } else { - return s; - } -}; -StringTools.rtrim = function(s) { - var l = s.length; - var r = 0; - while(r < l && StringTools.isSpace(s,l - r - 1)) ++r; - if(r > 0) { - return HxOverrides.substr(s,0,l - r); - } else { - return s; - } -}; -StringTools.trim = function(s) { - return StringTools.ltrim(StringTools.rtrim(s)); -}; -StringTools.replace = function(s,sub,by) { - return s.split(sub).join(by); -}; -var haxe_Exception = function(message,previous,native) { - Error.call(this,message); - this.message = message; - this.__previousException = previous; - this.__nativeException = native != null ? native : this; -}; -haxe_Exception.__name__ = true; -haxe_Exception.caught = function(value) { - if(((value) instanceof haxe_Exception)) { - return value; - } else if(((value) instanceof Error)) { - return new haxe_Exception(value.message,null,value); - } else { - return new haxe_ValueException(value,null,value); - } -}; -haxe_Exception.thrown = function(value) { - if(((value) instanceof haxe_Exception)) { - return value.get_native(); - } else if(((value) instanceof Error)) { - return value; - } else { - var e = new haxe_ValueException(value); - return e; - } -}; -haxe_Exception.__super__ = Error; -haxe_Exception.prototype = $extend(Error.prototype,{ - unwrap: function() { - return this.__nativeException; - } - ,get_native: function() { - return this.__nativeException; - } - ,__properties__: {get_native:"get_native"} -}); -var haxe__$Template_TemplateExpr = $hxEnums["haxe._Template.TemplateExpr"] = { __ename__:true,__constructs__:null - ,OpVar: ($_=function(v) { return {_hx_index:0,v:v,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpVar",$_.__params__ = ["v"],$_) - ,OpExpr: ($_=function(expr) { return {_hx_index:1,expr:expr,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpExpr",$_.__params__ = ["expr"],$_) - ,OpIf: ($_=function(expr,eif,eelse) { return {_hx_index:2,expr:expr,eif:eif,eelse:eelse,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpIf",$_.__params__ = ["expr","eif","eelse"],$_) - ,OpStr: ($_=function(str) { return {_hx_index:3,str:str,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpStr",$_.__params__ = ["str"],$_) - ,OpBlock: ($_=function(l) { return {_hx_index:4,l:l,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpBlock",$_.__params__ = ["l"],$_) - ,OpForeach: ($_=function(expr,loop) { return {_hx_index:5,expr:expr,loop:loop,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpForeach",$_.__params__ = ["expr","loop"],$_) - ,OpMacro: ($_=function(name,params) { return {_hx_index:6,name:name,params:params,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpMacro",$_.__params__ = ["name","params"],$_) -}; -haxe__$Template_TemplateExpr.__constructs__ = [haxe__$Template_TemplateExpr.OpVar,haxe__$Template_TemplateExpr.OpExpr,haxe__$Template_TemplateExpr.OpIf,haxe__$Template_TemplateExpr.OpStr,haxe__$Template_TemplateExpr.OpBlock,haxe__$Template_TemplateExpr.OpForeach,haxe__$Template_TemplateExpr.OpMacro]; -var haxe_iterators_ArrayIterator = function(array) { - this.current = 0; - this.array = array; -}; -haxe_iterators_ArrayIterator.__name__ = true; -haxe_iterators_ArrayIterator.prototype = { - hasNext: function() { - return this.current < this.array.length; - } - ,next: function() { - return this.array[this.current++]; - } -}; -var haxe_Template = function(str) { - var tokens = this.parseTokens(str); - this.expr = this.parseBlock(tokens); - if(!tokens.isEmpty()) { - throw haxe_Exception.thrown("Unexpected '" + Std.string(tokens.first().s) + "'"); - } -}; -haxe_Template.__name__ = true; -haxe_Template.prototype = { - execute: function(context,macros) { - this.macros = macros == null ? { } : macros; - this.context = context; - this.stack = new haxe_ds_List(); - this.buf = new StringBuf(); - this.run(this.expr); - return this.buf.b; - } - ,resolve: function(v) { - if(v == "__current__") { - return this.context; - } - if(Reflect.isObject(this.context)) { - var value = Reflect.getProperty(this.context,v); - if(value != null || Object.prototype.hasOwnProperty.call(this.context,v)) { - return value; - } - } - var _g_head = this.stack.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var ctx = val; - var value = Reflect.getProperty(ctx,v); - if(value != null || Object.prototype.hasOwnProperty.call(ctx,v)) { - return value; - } - } - return Reflect.field(haxe_Template.globals,v); - } - ,parseTokens: function(data) { - var tokens = new haxe_ds_List(); - while(haxe_Template.splitter.match(data)) { - var p = haxe_Template.splitter.matchedPos(); - if(p.pos > 0) { - tokens.add({ p : HxOverrides.substr(data,0,p.pos), s : true, l : null}); - } - if(HxOverrides.cca(data,p.pos) == 58) { - tokens.add({ p : HxOverrides.substr(data,p.pos + 2,p.len - 4), s : false, l : null}); - data = haxe_Template.splitter.matchedRight(); - continue; - } - var parp = p.pos + p.len; - var npar = 1; - var params = []; - var part = ""; - while(true) { - var c = HxOverrides.cca(data,parp); - ++parp; - if(c == 40) { - ++npar; - } else if(c == 41) { - --npar; - if(npar <= 0) { - break; - } - } else if(c == null) { - throw haxe_Exception.thrown("Unclosed macro parenthesis"); - } - if(c == 44 && npar == 1) { - params.push(part); - part = ""; - } else { - part += String.fromCodePoint(c); - } - } - params.push(part); - tokens.add({ p : haxe_Template.splitter.matched(2), s : false, l : params}); - data = HxOverrides.substr(data,parp,data.length - parp); - } - if(data.length > 0) { - tokens.add({ p : data, s : true, l : null}); - } - return tokens; - } - ,parseBlock: function(tokens) { - var l = new haxe_ds_List(); - while(true) { - var t = tokens.first(); - if(t == null) { - break; - } - if(!t.s && (t.p == "end" || t.p == "else" || HxOverrides.substr(t.p,0,7) == "elseif ")) { - break; - } - l.add(this.parse(tokens)); - } - if(l.length == 1) { - return l.first(); - } - return haxe__$Template_TemplateExpr.OpBlock(l); - } - ,parse: function(tokens) { - var t = tokens.pop(); - var p = t.p; - if(t.s) { - return haxe__$Template_TemplateExpr.OpStr(p); - } - if(t.l != null) { - var pe = new haxe_ds_List(); - var _g = 0; - var _g1 = t.l; - while(_g < _g1.length) { - var p1 = _g1[_g]; - ++_g; - pe.add(this.parseBlock(this.parseTokens(p1))); - } - return haxe__$Template_TemplateExpr.OpMacro(p,pe); - } - var kwdEnd = function(kwd) { - var pos = -1; - var length = kwd.length; - if(HxOverrides.substr(p,0,length) == kwd) { - pos = length; - var _g_offset = 0; - var _g_s = HxOverrides.substr(p,length,null); - while(_g_offset < _g_s.length) { - var c = _g_s.charCodeAt(_g_offset++); - if(c == 32) { - ++pos; - } else { - break; - } - } - } - return pos; - }; - var pos = kwdEnd("if"); - if(pos > 0) { - p = HxOverrides.substr(p,pos,p.length - pos); - var e = this.parseExpr(p); - var eif = this.parseBlock(tokens); - var t = tokens.first(); - var eelse; - if(t == null) { - throw haxe_Exception.thrown("Unclosed 'if'"); - } - if(t.p == "end") { - tokens.pop(); - eelse = null; - } else if(t.p == "else") { - tokens.pop(); - eelse = this.parseBlock(tokens); - t = tokens.pop(); - if(t == null || t.p != "end") { - throw haxe_Exception.thrown("Unclosed 'else'"); - } - } else { - t.p = HxOverrides.substr(t.p,4,t.p.length - 4); - eelse = this.parse(tokens); - } - return haxe__$Template_TemplateExpr.OpIf(e,eif,eelse); - } - var pos = kwdEnd("foreach"); - if(pos >= 0) { - p = HxOverrides.substr(p,pos,p.length - pos); - var e = this.parseExpr(p); - var efor = this.parseBlock(tokens); - var t = tokens.pop(); - if(t == null || t.p != "end") { - throw haxe_Exception.thrown("Unclosed 'foreach'"); - } - return haxe__$Template_TemplateExpr.OpForeach(e,efor); - } - if(haxe_Template.expr_splitter.match(p)) { - return haxe__$Template_TemplateExpr.OpExpr(this.parseExpr(p)); - } - return haxe__$Template_TemplateExpr.OpVar(p); - } - ,parseExpr: function(data) { - var l = new haxe_ds_List(); - var expr = data; - while(haxe_Template.expr_splitter.match(data)) { - var p = haxe_Template.expr_splitter.matchedPos(); - var k = p.pos + p.len; - if(p.pos != 0) { - l.add({ p : HxOverrides.substr(data,0,p.pos), s : true}); - } - var p1 = haxe_Template.expr_splitter.matched(0); - l.add({ p : p1, s : p1.indexOf("\"") >= 0}); - data = haxe_Template.expr_splitter.matchedRight(); - } - if(data.length != 0) { - var _g_offset = 0; - var _g_s = data; - while(_g_offset < _g_s.length) { - var _g_key = _g_offset; - var _g_value = _g_s.charCodeAt(_g_offset++); - var i = _g_key; - var c = _g_value; - if(c != 32) { - l.add({ p : HxOverrides.substr(data,i,null), s : true}); - break; - } - } - } - var e; - try { - e = this.makeExpr(l); - if(!l.isEmpty()) { - throw haxe_Exception.thrown(l.first().p); - } - } catch( _g ) { - var _g1 = haxe_Exception.caught(_g).unwrap(); - if(typeof(_g1) == "string") { - var s = _g1; - throw haxe_Exception.thrown("Unexpected '" + s + "' in " + expr); - } else { - throw _g; - } - } - return function() { - try { - return e(); - } catch( _g ) { - var exc = haxe_Exception.caught(_g).unwrap(); - throw haxe_Exception.thrown("Error : " + Std.string(exc) + " in " + expr); - } - }; - } - ,makeConst: function(v) { - haxe_Template.expr_trim.match(v); - v = haxe_Template.expr_trim.matched(1); - if(HxOverrides.cca(v,0) == 34) { - var str = HxOverrides.substr(v,1,v.length - 2); - return function() { - return str; - }; - } - if(haxe_Template.expr_int.match(v)) { - var i = Std.parseInt(v); - return function() { - return i; - }; - } - if(haxe_Template.expr_float.match(v)) { - var f = parseFloat(v); - return function() { - return f; - }; - } - var me = this; - return function() { - return me.resolve(v); - }; - } - ,makePath: function(e,l) { - var p = l.first(); - if(p == null || p.p != ".") { - return e; - } - l.pop(); - var field = l.pop(); - if(field == null || !field.s) { - throw haxe_Exception.thrown(field.p); - } - var f = field.p; - haxe_Template.expr_trim.match(f); - f = haxe_Template.expr_trim.matched(1); - return this.makePath(function() { - return Reflect.field(e(),f); - },l); - } - ,makeExpr: function(l) { - return this.makePath(this.makeExpr2(l),l); - } - ,skipSpaces: function(l) { - var p = l.first(); - while(p != null) { - var _g_offset = 0; - var _g_s = p.p; - while(_g_offset < _g_s.length) { - var c = _g_s.charCodeAt(_g_offset++); - if(c != 32) { - return; - } - } - l.pop(); - p = l.first(); - } - } - ,makeExpr2: function(l) { - this.skipSpaces(l); - var p = l.pop(); - this.skipSpaces(l); - if(p == null) { - throw haxe_Exception.thrown(""); - } - if(p.s) { - return this.makeConst(p.p); - } - switch(p.p) { - case "!": - var e = this.makeExpr(l); - return function() { - var v = e(); - if(v != null) { - return v == false; - } else { - return true; - } - }; - case "(": - this.skipSpaces(l); - var e1 = this.makeExpr(l); - this.skipSpaces(l); - var p1 = l.pop(); - if(p1 == null || p1.s) { - throw haxe_Exception.thrown(p1); - } - if(p1.p == ")") { - return e1; - } - this.skipSpaces(l); - var e2 = this.makeExpr(l); - this.skipSpaces(l); - var p2 = l.pop(); - this.skipSpaces(l); - if(p2 == null || p2.p != ")") { - throw haxe_Exception.thrown(p2); - } - switch(p1.p) { - case "!=": - return function() { - return e1() != e2(); - }; - case "&&": - return function() { - return e1() && e2(); - }; - case "*": - return function() { - return e1() * e2(); - }; - case "+": - return function() { - return e1() + e2(); - }; - case "-": - return function() { - return e1() - e2(); - }; - case "/": - return function() { - return e1() / e2(); - }; - case "<": - return function() { - return e1() < e2(); - }; - case "<=": - return function() { - return e1() <= e2(); - }; - case "==": - return function() { - return e1() == e2(); - }; - case ">": - return function() { - return e1() > e2(); - }; - case ">=": - return function() { - return e1() >= e2(); - }; - case "||": - return function() { - return e1() || e2(); - }; - default: - throw haxe_Exception.thrown("Unknown operation " + p1.p); - } - break; - case "-": - var e3 = this.makeExpr(l); - return function() { - return -e3(); - }; - } - throw haxe_Exception.thrown(p.p); - } - ,run: function(e) { - switch(e._hx_index) { - case 0: - var v = e.v; - var _this = this.buf; - var x = Std.string(this.resolve(v)); - _this.b += Std.string(x); - break; - case 1: - var e1 = e.expr; - var _this = this.buf; - var x = Std.string(e1()); - _this.b += Std.string(x); - break; - case 2: - var e1 = e.expr; - var eif = e.eif; - var eelse = e.eelse; - var v = e1(); - if(v == null || v == false) { - if(eelse != null) { - this.run(eelse); - } - } else { - this.run(eif); - } - break; - case 3: - var str = e.str; - this.buf.b += str == null ? "null" : "" + str; - break; - case 4: - var l = e.l; - var _g_head = l.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var e1 = val; - this.run(e1); - } - break; - case 5: - var e1 = e.expr; - var loop = e.loop; - var v = e1(); - try { - var x = $getIterator(v); - if(x.hasNext == null) { - throw haxe_Exception.thrown(null); - } - v = x; - } catch( _g ) { - try { - if(v.hasNext == null) { - throw haxe_Exception.thrown(null); - } - } catch( _g1 ) { - throw haxe_Exception.thrown("Cannot iter on " + Std.string(v)); - } - } - this.stack.push(this.context); - var v1 = v; - var ctx = v1; - while(ctx.hasNext()) { - var ctx1 = ctx.next(); - this.context = ctx1; - this.run(loop); - } - this.context = this.stack.pop(); - break; - case 6: - var m = e.name; - var params = e.params; - var v = Reflect.field(this.macros,m); - var pl = []; - var old = this.buf; - pl.push($bind(this,this.resolve)); - var _g_head = params.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var p = val; - if(p._hx_index == 0) { - var v1 = p.v; - pl.push(this.resolve(v1)); - } else { - this.buf = new StringBuf(); - this.run(p); - pl.push(this.buf.b); - } - } - this.buf = old; - try { - var _this = this.buf; - var x = Std.string(v.apply(this.macros,pl)); - _this.b += Std.string(x); - } catch( _g ) { - var e = haxe_Exception.caught(_g).unwrap(); - var plstr; - try { - plstr = pl.join(","); - } catch( _g1 ) { - plstr = "???"; - } - var msg = "Macro call " + m + "(" + plstr + ") failed (" + Std.string(e) + ")"; - throw haxe_Exception.thrown(msg); - } - break; - } - } -}; -var haxe_ValueException = function(value,previous,native) { - haxe_Exception.call(this,String(value),previous,native); - this.value = value; -}; -haxe_ValueException.__name__ = true; -haxe_ValueException.__super__ = haxe_Exception; -haxe_ValueException.prototype = $extend(haxe_Exception.prototype,{ - unwrap: function() { - return this.value; - } -}); -var haxe_ds_List = function() { - this.length = 0; -}; -haxe_ds_List.__name__ = true; -haxe_ds_List.prototype = { - add: function(item) { - var x = new haxe_ds__$List_ListNode(item,null); - if(this.h == null) { - this.h = x; - } else { - this.q.next = x; - } - this.q = x; - this.length++; - } - ,push: function(item) { - var x = new haxe_ds__$List_ListNode(item,this.h); - this.h = x; - if(this.q == null) { - this.q = x; - } - this.length++; - } - ,first: function() { - if(this.h == null) { - return null; - } else { - return this.h.item; - } - } - ,pop: function() { - if(this.h == null) { - return null; - } - var x = this.h.item; - this.h = this.h.next; - if(this.h == null) { - this.q = null; - } - this.length--; - return x; - } - ,isEmpty: function() { - return this.h == null; - } - ,toString: function() { - var s_b = ""; - var first = true; - var l = this.h; - s_b += "{"; - while(l != null) { - if(first) { - first = false; - } else { - s_b += ", "; - } - s_b += Std.string(Std.string(l.item)); - l = l.next; - } - s_b += "}"; - return s_b; - } -}; -var haxe_ds__$List_ListNode = function(item,next) { - this.item = item; - this.next = next; -}; -haxe_ds__$List_ListNode.__name__ = true; -var js_Boot = function() { }; -js_Boot.__name__ = true; -js_Boot.__string_rec = function(o,s) { - if(o == null) { - return "null"; - } - if(s.length >= 5) { - return "<...>"; - } - var t = typeof(o); - if(t == "function" && (o.__name__ || o.__ename__)) { - t = "object"; - } - switch(t) { - case "function": - return ""; - case "object": - if(o.__enum__) { - var e = $hxEnums[o.__enum__]; - var con = e.__constructs__[o._hx_index]; - var n = con._hx_name; - if(con.__params__) { - s = s + "\t"; - return n + "(" + ((function($this) { - var $r; - var _g = []; - { - var _g1 = 0; - var _g2 = con.__params__; - while(true) { - if(!(_g1 < _g2.length)) { - break; - } - var p = _g2[_g1]; - _g1 = _g1 + 1; - _g.push(js_Boot.__string_rec(o[p],s)); - } - } - $r = _g; - return $r; - }(this))).join(",") + ")"; - } else { - return n; - } - } - if(((o) instanceof Array)) { - var str = "["; - s += "\t"; - var _g = 0; - var _g1 = o.length; - while(_g < _g1) { - var i = _g++; - str += (i > 0 ? "," : "") + js_Boot.__string_rec(o[i],s); - } - str += "]"; - return str; - } - var tostr; - try { - tostr = o.toString; - } catch( _g ) { - return "???"; - } - if(tostr != null && tostr != Object.toString && typeof(tostr) == "function") { - var s2 = o.toString(); - if(s2 != "[object Object]") { - return s2; - } - } - var str = "{\n"; - s += "\t"; - var hasp = o.hasOwnProperty != null; - var k = null; - for( k in o ) { - if(hasp && !o.hasOwnProperty(k)) { - continue; - } - if(k == "prototype" || k == "__class__" || k == "__super__" || k == "__interfaces__" || k == "__properties__") { - continue; - } - if(str.length != 2) { - str += ", \n"; - } - str += s + k + " : " + js_Boot.__string_rec(o[k],s); - } - s = s.substring(1); - str += "\n" + s + "}"; - return str; - case "string": - return o; - default: - return String(o); - } -}; -var xrfragment_Filter = $hx_exports["xrfragment"]["Filter"] = function(str) { - this.q = { }; - this.str = ""; - if(str != null) { - this.parse(str); - } -}; -xrfragment_Filter.__name__ = true; -xrfragment_Filter.prototype = { - toObject: function() { - return Reflect.copy(this.q); - } - ,get: function() { - return Reflect.copy(this.q); - } - ,parse: function(str) { - var token = str.split(" "); - var q = { }; - var process = function(str,prefix) { - if(prefix == null) { - prefix = ""; - } - str = StringTools.trim(str); - var k = str.split("=")[0]; - var v = str.split("=")[1]; - var filter = { }; - if(q[prefix + k]) { - filter = q[prefix + k]; - } - if(xrfragment_XRF.isProp.match(str)) { - var oper = ""; - if(str.indexOf(">") != -1) { - oper = ">"; - } - if(str.indexOf("<") != -1) { - oper = "<"; - } - if(xrfragment_XRF.isExclude.match(k)) { - k = HxOverrides.substr(k,1,null); - } - v = HxOverrides.substr(v,oper.length,null); - if(oper.length == 0) { - oper = "="; - } - var rule = { }; - if(xrfragment_XRF.isNumber.match(v)) { - rule[oper] = parseFloat(v); - } else { - rule[oper] = v; - } - q["expr"] = rule; - } - var value = xrfragment_XRF.isDeep.match(str) ? k.split("*").length - 1 : 0; - q["deep"] = value; - var value = xrfragment_XRF.isExclude.match(str) ? false : true; - q["show"] = value; - var value = k.replace(xrfragment_XRF.operators.r,""); - q["key"] = value; - q["value"] = v; - }; - var _g = 0; - var _g1 = token.length; - while(_g < _g1) { - var i = _g++; - process(token[i]); - } - return this.q = q; - } - ,test: function(obj) { - var qualify = false; - var _g = 0; - var _g1 = Reflect.fields(obj); - while(_g < _g1.length) { - var k = _g1[_g]; - ++_g; - var v = Std.string(Reflect.field(obj,k)); - if(this.testProperty(k,v)) { - qualify = true; - } - } - var _g = 0; - var _g1 = Reflect.fields(obj); - while(_g < _g1.length) { - var k = _g1[_g]; - ++_g; - var v = Std.string(Reflect.field(obj,k)); - if(this.testProperty(k,v,true)) { - qualify = false; - } - } - return qualify; - } - ,testProperty: function(property,value,exclude) { - var conds = 0; - var fails = 0; - var qualify = 0; - var testprop = function(expr) { - conds += 1; - fails += expr ? 0 : 1; - return expr; - }; - if(this.q[value] != null) { - var v = this.q[value]; - if(v[property] != null) { - return v[property]; - } - } - if(Reflect.field(this.q,"expr")) { - var f = Reflect.field(this.q,"expr"); - if(!Reflect.field(this.q,"show")) { - if(Reflect.field(f,"!=") != null && testprop((value == null ? "null" : "" + value) == Std.string(Reflect.field(f,"!="))) && exclude) { - ++qualify; - } - } else { - if(Reflect.field(f,"*") != null && testprop(parseFloat(value) != null)) { - ++qualify; - } - if(Reflect.field(f,">") != null && testprop(parseFloat(value) >= parseFloat(Reflect.field(f,">")))) { - ++qualify; - } - if(Reflect.field(f,"<") != null && testprop(parseFloat(value) <= parseFloat(Reflect.field(f,"<")))) { - ++qualify; - } - if(Reflect.field(f,"=") != null && (testprop(value == Reflect.field(f,"=")) || testprop(parseFloat(value) == parseFloat(Reflect.field(f,"="))))) { - ++qualify; - } - } - } - return qualify > 0; - } -}; -var xrfragment_Parser = $hx_exports["xrfragment"]["Parser"] = function() { }; -xrfragment_Parser.__name__ = true; -xrfragment_Parser.parse = function(key,value,store,index) { - var Frag_h = Object.create(null); - Frag_h["#"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_PREDEFINED_VIEW | xrfragment_XRF.PV_EXECUTE; - Frag_h["src"] = xrfragment_XRF.T_URL; - Frag_h["href"] = xrfragment_XRF.T_URL | xrfragment_XRF.T_PREDEFINED_VIEW; - Frag_h["tag"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["pos"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_VECTOR3 | xrfragment_XRF.T_STRING | xrfragment_XRF.METADATA | xrfragment_XRF.NAVIGATOR; - Frag_h["rot"] = xrfragment_XRF.QUERY_OPERATOR | xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_VECTOR3 | xrfragment_XRF.METADATA | xrfragment_XRF.NAVIGATOR; - Frag_h["t"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_FLOAT | xrfragment_XRF.T_VECTOR2 | xrfragment_XRF.NAVIGATOR | xrfragment_XRF.METADATA; - Frag_h["s"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_MEDIAFRAG; - Frag_h["loop"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_PREDEFINED_VIEW; - Frag_h["uv"] = xrfragment_XRF.T_VECTOR2 | xrfragment_XRF.T_MEDIAFRAG; - Frag_h["namespace"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["SPDX"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["unit"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["description"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - var keyStripped = key.replace(xrfragment_XRF.operators.r,""); - var isPVDynamic = key.length > 0 && !Object.prototype.hasOwnProperty.call(Frag_h,key); - if(isPVDynamic) { - var v = new xrfragment_XRF(key,xrfragment_XRF.PV_EXECUTE | xrfragment_XRF.NAVIGATOR,index); - v.validate(value); - v.flags = xrfragment_XRF.set(xrfragment_XRF.T_DYNAMICKEY,v.flags); - if(!Object.prototype.hasOwnProperty.call(Frag_h,key)) { - v.flags = xrfragment_XRF.set(xrfragment_XRF.CUSTOMFRAG,v.flags); - } - if(value.length == 0) { - v.flags = xrfragment_XRF.set(xrfragment_XRF.T_DYNAMICKEYVALUE,v.flags); - } - store[keyStripped] = v; - return true; - } - var v = new xrfragment_XRF(key,Frag_h[key],index); - if(Object.prototype.hasOwnProperty.call(Frag_h,key)) { - if(!v.validate(value)) { - console.log("src/xrfragment/Parser.hx:67:","⚠ fragment '" + key + "' has incompatible value (" + value + ")"); - return false; - } - store[keyStripped] = v; - if(xrfragment_Parser.debug) { - console.log("src/xrfragment/Parser.hx:71:","✔ " + key + ": " + v.string); - } - } else { - if(typeof(value) == "string") { - v.guessType(v,value); - } - v.flags = xrfragment_XRF.set(xrfragment_XRF.CUSTOMFRAG,v.flags); - store[keyStripped] = v; - } - return true; -}; -xrfragment_Parser.getMetaData = function() { - var meta = { title : ["title","og:title","dc.title"], description : ["aria-description","og:description","dc.description"], author : ["author","dc.creator"], publisher : ["publisher","dc.publisher"], website : ["og:site_name","og:url","dc.publisher"], license : ["SPDX","dc.rights"]}; - return meta; -}; -var xrfragment_URI = $hx_exports["xrfragment"]["URI"] = function() { - this.XRF = { }; - this.hash = { }; - this.fragment = ""; -}; -xrfragment_URI.__name__ = true; -xrfragment_URI.parseFragment = function(url,filter) { - var store = { }; - if(url == null || url.indexOf("#") == -1) { - return store; - } - var fragment = url.split("#"); - var splitArray = fragment[1].split("&"); - var _g = 0; - var _g1 = splitArray.length; - while(_g < _g1) { - var i = _g++; - var splitByEqual = splitArray[i].split("="); - var regexPlus = new EReg("\\+","g"); - var key = splitByEqual[0]; - var value = ""; - if(splitByEqual.length > 1) { - if(xrfragment_XRF.isVector.match(splitByEqual[1])) { - value = splitByEqual[1]; - } else { - var s = regexPlus.split(splitByEqual[1]).join(" "); - value = decodeURIComponent(s.split("+").join(" ")); - } - } - var ok = xrfragment_Parser.parse(key,value,store,i); - } - if(filter != null && filter != 0) { - var _g = 0; - var _g1 = Reflect.fields(store); - while(_g < _g1.length) { - var key = _g1[_g]; - ++_g; - var xrf = store[key]; - if(!xrf.is(filter)) { - Reflect.deleteField(store,key); - } - } - } - return store; -}; -xrfragment_URI.template = function(uri,vars) { - var parts = uri.split("#"); - if(parts.length == 1) { - return uri; - } - var frag = parts[1]; - frag = StringTools.replace(frag,"{","::"); - frag = StringTools.replace(frag,"}","::"); - frag = new haxe_Template(frag).execute(vars); - frag = StringTools.replace(frag,"null",""); - parts[1] = frag; - return parts.join("#"); -}; -xrfragment_URI.parse = function(stringUrl,flags) { - var r = new EReg("^(?:(?![^:@]+:[^:@/]*@)([^:/?#.]+):)?(?://)?((?:(([^:@]*)(?::([^:@]*))?)?@)?([^:/?#]*)(?::(\\d*))?)(((/(?:[^?#](?![^?#/]*\\.[^?#/.]+(?:[?#]|$)))*/?)?([^?#/]*))(?:\\?([^#]*))?(?:#(.*))?)",""); - if(stringUrl.indexOf("://") == -1 && stringUrl.charAt(0) != "/") { - stringUrl = "/" + stringUrl; - } - r.match(stringUrl); - var url = new xrfragment_URI(); - var _g = 0; - var _g1 = xrfragment_URI._parts.length; - while(_g < _g1) { - var i = _g++; - url[xrfragment_URI._parts[i]] = r.matched(i); - } - if(xrfragment_URI.isRelative(url) == true) { - if(url.directory == null && url.host != null) { - url.file = url.host; - } - url.host = ""; - } - url.hash = { }; - if(url.fragment != null && url.fragment.length > 0) { - url.XRF = xrfragment_URI.parseFragment("#" + url.fragment,flags); - var key; - var _g = 0; - var _g1 = Reflect.fields(url.XRF); - while(_g < _g1.length) { - var key = _g1[_g]; - ++_g; - var v = url.XRF[key]; - url.hash[key] = v["string"]; - } - } - xrfragment_URI.computeVars(url); - return url; -}; -xrfragment_URI.computeVars = function(url) { - var r_r = new RegExp("//","g".split("u").join("")); - if(url.directory != null && url.directory.indexOf("//") != -1) { - url.directory = url.directory.replace(r_r,"/"); - } - if(url.path != null && url.path.indexOf("//") != -1) { - url.path = url.path.replace(r_r,"/"); - } - if(url.file != null && url.file.indexOf("//") != -1) { - url.file = url.file.replace(r_r,"/"); - } - url.URN = url.scheme + "://" + url.host; - if(url.port != null) { - url.URN += ":" + url.port; - } - url.URN += url.directory; - if(url.file != null) { - var parts = url.file.split("."); - if(parts.length > 1) { - url.fileExt = parts.pop(); - } - } -}; -xrfragment_URI.toString = function(url) { - var result = ""; - if(url.scheme != null) { - result += url.scheme + "://"; - } - if(url.user != null) { - result += url.user + ":"; - } - if(url.password != null) { - result += url.password + "@"; - } - if(url.host != null) { - result += url.host; - } - if(url.port != null) { - result += ":" + url.port; - } - if(url.directory != null) { - result += url.directory; - } - if(url.file != null) { - result += url.file; - } - if(url.query != null) { - result += "?" + url.query; - } - if(url.fragment != null) { - result += "#" + url.fragment; - } - return result; -}; -xrfragment_URI.appendURI = function(url,appendedURI) { - if(xrfragment_URI.isRelative(url) == true) { - return xrfragment_URI.appendToRelativeURI(url,appendedURI); - } else { - return xrfragment_URI.appendToAbsoluteURI(url,appendedURI); - } -}; -xrfragment_URI.isRelative = function(url) { - return url.scheme == null; -}; -xrfragment_URI.appendToRelativeURI = function(url,appendedURI) { - if(url.directory == null || url.host == null) { - return xrfragment_URI.cloneURI(appendedURI); - } - var resultURI = new xrfragment_URI(); - resultURI.host = url.host; - resultURI.directory = url.directory; - if(appendedURI.host != null) { - resultURI.directory += appendedURI.host; - } - if(appendedURI.directory != null) { - var directory = appendedURI.directory; - if(appendedURI.host == null) { - resultURI.directory += HxOverrides.substr(directory,1,null); - } else { - resultURI.directory += directory; - } - } - if(appendedURI.file != null) { - resultURI.file = appendedURI.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(appendedURI.query != null) { - resultURI.query = appendedURI.query; - } - if(appendedURI.fragment != null) { - resultURI.fragment = appendedURI.fragment; - } - return resultURI; -}; -xrfragment_URI.appendToAbsoluteURI = function(url,appendedURI) { - var resultURI = new xrfragment_URI(); - if(url.scheme != null) { - resultURI.scheme = url.scheme; - } - if(url.host != null) { - resultURI.host = url.host; - } - var directory = ""; - if(url.directory != null) { - directory = url.directory; - } - if(appendedURI.host != null) { - appendedURI.directory += appendedURI.host; - } - if(appendedURI.directory != null) { - directory += appendedURI.directory; - } - resultURI.directory = directory; - if(appendedURI.file != null) { - resultURI.file = appendedURI.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(appendedURI.query != null) { - resultURI.query = appendedURI.query; - } - if(appendedURI.fragment != null) { - resultURI.fragment = appendedURI.fragment; - } - return resultURI; -}; -xrfragment_URI.toAbsolute = function(url,newUrl) { - var newURI = xrfragment_URI.parse(newUrl,0); - var resultURI = new xrfragment_URI(); - resultURI.port = url.port; - resultURI.source = newUrl; - if(newURI.scheme != null) { - resultURI.scheme = newURI.scheme; - } else { - resultURI.scheme = url.scheme; - } - if(newURI.host != null && newURI.host.length > 0) { - resultURI.host = newURI.host; - resultURI.port = null; - resultURI.fragment = null; - resultURI.hash = { }; - resultURI.XRF = { }; - if(newURI.port != null) { - resultURI.port = newURI.port; - } - } else { - resultURI.host = url.host; - } - var directory = ""; - if(url.directory != null) { - directory = url.directory; - } - if(newURI.directory != null) { - if(newUrl.charAt(0) != "/" && newUrl.indexOf("://") == -1) { - var stripRelative_r = new RegExp("\\./.*","".split("u").join("")); - directory = directory.replace(stripRelative_r,""); - directory += newURI.directory; - } else { - directory = newURI.directory; - } - } - resultURI.directory = directory; - if(newURI.file != null) { - resultURI.file = newURI.file; - } else { - resultURI.file = url.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(newURI.query != null) { - resultURI.query = newURI.query; - } - if(newURI.fragment != null) { - resultURI.fragment = newURI.fragment; - } - resultURI.hash = newURI.hash; - resultURI.XRF = newURI.XRF; - xrfragment_URI.computeVars(resultURI); - return resultURI; -}; -xrfragment_URI.cloneURI = function(url) { - var clonedURI = new xrfragment_URI(); - clonedURI.url = url.url; - clonedURI.source = url.source; - clonedURI.scheme = url.scheme; - clonedURI.authority = url.authority; - clonedURI.userInfo = url.userInfo; - clonedURI.password = url.password; - clonedURI.host = url.host; - clonedURI.port = url.port; - clonedURI.relative = url.relative; - clonedURI.path = url.path; - clonedURI.directory = url.directory; - clonedURI.file = url.file; - clonedURI.query = url.query; - clonedURI.fragment = url.fragment; - return clonedURI; -}; -var xrfragment_XRF = $hx_exports["xrfragment"]["XRF"] = function(_fragment,_flags,_index) { - this.floats = []; - this.shift = []; - this.fragment = _fragment; - this.flags = _flags; - this.index = _index; -}; -xrfragment_XRF.__name__ = true; -xrfragment_XRF.set = function(flag,flags) { - return flags | flag; -}; -xrfragment_XRF.unset = function(flag,flags) { - return flags & ~flag; -}; -xrfragment_XRF.prototype = { - is: function(flag) { - var v = this.flags; - if(!(typeof(v) == "number" && ((v | 0) === v))) { - this.flags = 0; - } - return (this.flags & flag) != 0; - } - ,validate: function(value) { - this.guessType(this,value); - var ok = true; - if(value.length == 0 && !this.is(xrfragment_XRF.T_PREDEFINED_VIEW)) { - ok = false; - } - if(!this.is(xrfragment_XRF.T_FLOAT) && this.is(xrfragment_XRF.T_VECTOR2) && !(typeof(this.x) == "number" && typeof(this.y) == "number")) { - ok = false; - } - if(!(this.is(xrfragment_XRF.T_VECTOR2) || this.is(xrfragment_XRF.T_STRING)) && this.is(xrfragment_XRF.T_VECTOR3) && !(typeof(this.x) == "number" && typeof(this.y) == "number" && typeof(this.z) == "number")) { - ok = false; - } - return ok; - } - ,guessType: function(v,str) { - v.string = str; - if(xrfragment_XRF.isReset.match(v.fragment)) { - v.reset = true; - } - if(v.fragment == "loop") { - v.loop = true; - } - if(typeof(str) != "string") { - return; - } - if(str.length > 0) { - if(xrfragment_XRF.isXRFScheme.match(str)) { - v.xrfScheme = true; - str = str.replace(xrfragment_XRF.isXRFScheme.r,""); - v.string = str; - } - if(str.split(",").length > 1) { - var xyzn = str.split(","); - if(xyzn.length > 0) { - v.x = parseFloat(xyzn[0]); - } - if(xyzn.length > 1) { - v.y = parseFloat(xyzn[1]); - } - if(xyzn.length > 2) { - v.z = parseFloat(xyzn[2]); - } - var _g = 0; - var _g1 = xyzn.length; - while(_g < _g1) { - var i = _g++; - v.shift.push(xrfragment_XRF.isShift.match(xyzn[i])); - v.floats.push(parseFloat(xyzn[i].replace(xrfragment_XRF.isShift.r,""))); - } - } - if(xrfragment_XRF.isColor.match(str)) { - v.color = str; - } - if(xrfragment_XRF.isFloat.match(str)) { - v.x = parseFloat(str); - v.float = v.x; - } - if(xrfragment_XRF.isInt.match(str)) { - v.int = Std.parseInt(str); - v.x = v.int; - v.floats.push(v.x); - } - v.filter = new xrfragment_Filter(v.fragment + "=" + v.string); - } else { - v.filter = new xrfragment_Filter(v.fragment); - } - } -}; -function $getIterator(o) { if( o instanceof Array ) return new haxe_iterators_ArrayIterator(o); else return o.iterator(); } -function $bind(o,m) { if( m == null ) return null; if( m.__id__ == null ) m.__id__ = $global.$haxeUID++; var f; if( o.hx__closures__ == null ) o.hx__closures__ = {}; else f = o.hx__closures__[m.__id__]; if( f == null ) { f = m.bind(o); o.hx__closures__[m.__id__] = f; } return f; } -$global.$haxeUID |= 0; -if(typeof(performance) != "undefined" ? typeof(performance.now) == "function" : false) { - HxOverrides.now = performance.now.bind(performance); -} -if( String.fromCodePoint == null ) String.fromCodePoint = function(c) { return c < 0x10000 ? String.fromCharCode(c) : String.fromCharCode((c>>10)+0xD7C0)+String.fromCharCode((c&0x3FF)+0xDC00); } -String.__name__ = true; -Array.__name__ = true; -js_Boot.__toStr = ({ }).toString; -haxe_Template.splitter = new EReg("(::[A-Za-z0-9_ ()&|!+=/><*.\"-]+::|\\$\\$([A-Za-z0-9_-]+)\\()",""); -haxe_Template.expr_splitter = new EReg("(\\(|\\)|[ \r\n\t]*\"[^\"]*\"[ \r\n\t]*|[!+=/><*.&|-]+)",""); -haxe_Template.expr_trim = new EReg("^[ ]*([^ ]+)[ ]*$",""); -haxe_Template.expr_int = new EReg("^[0-9]+$",""); -haxe_Template.expr_float = new EReg("^([+-]?)(?=\\d|,\\d)\\d*(,\\d*)?([Ee]([+-]?\\d+))?$",""); -haxe_Template.globals = { }; -haxe_Template.hxKeepArrayIterator = new haxe_iterators_ArrayIterator([]); -xrfragment_Parser.error = ""; -xrfragment_Parser.debug = false; -xrfragment_URI.__meta__ = { statics : { template : { keep : null}}}; -xrfragment_URI._parts = ["source","scheme","authority","userInfo","user","password","host","port","relative","path","directory","file","query","fragment"]; -xrfragment_XRF.IMMUTABLE = 1; -xrfragment_XRF.PROP_BIND = 2; -xrfragment_XRF.QUERY_OPERATOR = 4; -xrfragment_XRF.PROMPT = 8; -xrfragment_XRF.CUSTOMFRAG = 16; -xrfragment_XRF.NAVIGATOR = 32; -xrfragment_XRF.METADATA = 64; -xrfragment_XRF.PV_OVERRIDE = 128; -xrfragment_XRF.PV_EXECUTE = 256; -xrfragment_XRF.T_COLOR = 8192; -xrfragment_XRF.T_INT = 16384; -xrfragment_XRF.T_FLOAT = 32768; -xrfragment_XRF.T_VECTOR2 = 65536; -xrfragment_XRF.T_VECTOR3 = 131072; -xrfragment_XRF.T_URL = 262144; -xrfragment_XRF.T_PREDEFINED_VIEW = 524288; -xrfragment_XRF.T_STRING = 1048576; -xrfragment_XRF.T_MEDIAFRAG = 2097152; -xrfragment_XRF.T_DYNAMICKEY = 4194304; -xrfragment_XRF.T_DYNAMICKEYVALUE = 8388608; -xrfragment_XRF.isColor = new EReg("^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$",""); -xrfragment_XRF.isInt = new EReg("^[-0-9]+$",""); -xrfragment_XRF.isFloat = new EReg("^[-0-9]+\\.[0-9]+$",""); -xrfragment_XRF.isVector = new EReg("([,]+|\\w)",""); -xrfragment_XRF.isUrl = new EReg("(://)?\\..*",""); -xrfragment_XRF.isUrlOrPretypedView = new EReg("(^#|://)?\\..*",""); -xrfragment_XRF.isString = new EReg(".*",""); -xrfragment_XRF.operators = new EReg("(^[-]|^[!]|[\\*]$)","g"); -xrfragment_XRF.isProp = new EReg("^.*=[><=]?",""); -xrfragment_XRF.isExclude = new EReg("^-",""); -xrfragment_XRF.isDeep = new EReg("\\*",""); -xrfragment_XRF.isNumber = new EReg("^[0-9\\.]+$",""); -xrfragment_XRF.isMediaFrag = new EReg("^([0-9\\.,\\*+-]+)$",""); -xrfragment_XRF.isReset = new EReg("^!",""); -xrfragment_XRF.isShift = new EReg("^(\\+|--)",""); -xrfragment_XRF.isXRFScheme = new EReg("^xrf://",""); -})(typeof window != "undefined" ? window : typeof global != "undefined" ? global : typeof self != "undefined" ? self : this); -var xrfragment = $hx_exports["xrfragment"]; -export default xrfragment; -// Generated by Haxe 4.3.3 -var $hx_exports = typeof exports != "undefined" ? exports : typeof window != "undefined" ? window : typeof self != "undefined" ? self : this; -(function ($global) { "use strict"; -$hx_exports["xrfragment"] = $hx_exports["xrfragment"] || {}; -var $estr = function() { return js_Boot.__string_rec(this,''); },$hxEnums = $hxEnums || {},$_; -function $extend(from, fields) { - var proto = Object.create(from); - for (var name in fields) proto[name] = fields[name]; - if( fields.toString !== Object.prototype.toString ) proto.toString = fields.toString; - return proto; -} -var EReg = function(r,opt) { - this.r = new RegExp(r,opt.split("u").join("")); -}; -EReg.__name__ = true; -EReg.prototype = { - match: function(s) { - if(this.r.global) { - this.r.lastIndex = 0; - } - this.r.m = this.r.exec(s); - this.r.s = s; - return this.r.m != null; - } - ,matched: function(n) { - if(this.r.m != null && n >= 0 && n < this.r.m.length) { - return this.r.m[n]; - } else { - throw haxe_Exception.thrown("EReg::matched"); - } - } - ,matchedRight: function() { - if(this.r.m == null) { - throw haxe_Exception.thrown("No string matched"); - } - var sz = this.r.m.index + this.r.m[0].length; - return HxOverrides.substr(this.r.s,sz,this.r.s.length - sz); - } - ,matchedPos: function() { - if(this.r.m == null) { - throw haxe_Exception.thrown("No string matched"); - } - return { pos : this.r.m.index, len : this.r.m[0].length}; - } - ,split: function(s) { - var d = "#__delim__#"; - return s.replace(this.r,d).split(d); - } -}; -var HxOverrides = function() { }; -HxOverrides.__name__ = true; -HxOverrides.cca = function(s,index) { - var x = s.charCodeAt(index); - if(x != x) { - return undefined; - } - return x; -}; -HxOverrides.substr = function(s,pos,len) { - if(len == null) { - len = s.length; - } else if(len < 0) { - if(pos == 0) { - len = s.length + len; - } else { - return ""; - } - } - return s.substr(pos,len); -}; -HxOverrides.now = function() { - return Date.now(); -}; -Math.__name__ = true; -var Reflect = function() { }; -Reflect.__name__ = true; -Reflect.field = function(o,field) { - try { - return o[field]; - } catch( _g ) { - return null; - } -}; -Reflect.getProperty = function(o,field) { - var tmp; - if(o == null) { - return null; - } else { - var tmp1; - if(o.__properties__) { - tmp = o.__properties__["get_" + field]; - tmp1 = tmp; - } else { - tmp1 = false; - } - if(tmp1) { - return o[tmp](); - } else { - return o[field]; - } - } -}; -Reflect.fields = function(o) { - var a = []; - if(o != null) { - var hasOwnProperty = Object.prototype.hasOwnProperty; - for( var f in o ) { - if(f != "__id__" && f != "hx__closures__" && hasOwnProperty.call(o,f)) { - a.push(f); - } - } - } - return a; -}; -Reflect.isObject = function(v) { - if(v == null) { - return false; - } - var t = typeof(v); - if(!(t == "string" || t == "object" && v.__enum__ == null)) { - if(t == "function") { - return (v.__name__ || v.__ename__) != null; - } else { - return false; - } - } else { - return true; - } -}; -Reflect.deleteField = function(o,field) { - if(!Object.prototype.hasOwnProperty.call(o,field)) { - return false; - } - delete(o[field]); - return true; -}; -Reflect.copy = function(o) { - if(o == null) { - return null; - } - var o2 = { }; - var _g = 0; - var _g1 = Reflect.fields(o); - while(_g < _g1.length) { - var f = _g1[_g]; - ++_g; - o2[f] = Reflect.field(o,f); - } - return o2; -}; -var Std = function() { }; -Std.__name__ = true; -Std.string = function(s) { - return js_Boot.__string_rec(s,""); -}; -Std.parseInt = function(x) { - var v = parseInt(x); - if(isNaN(v)) { - return null; - } - return v; -}; -var StringBuf = function() { - this.b = ""; -}; -StringBuf.__name__ = true; -var StringTools = function() { }; -StringTools.__name__ = true; -StringTools.isSpace = function(s,pos) { - var c = HxOverrides.cca(s,pos); - if(!(c > 8 && c < 14)) { - return c == 32; - } else { - return true; - } -}; -StringTools.ltrim = function(s) { - var l = s.length; - var r = 0; - while(r < l && StringTools.isSpace(s,r)) ++r; - if(r > 0) { - return HxOverrides.substr(s,r,l - r); - } else { - return s; - } -}; -StringTools.rtrim = function(s) { - var l = s.length; - var r = 0; - while(r < l && StringTools.isSpace(s,l - r - 1)) ++r; - if(r > 0) { - return HxOverrides.substr(s,0,l - r); - } else { - return s; - } -}; -StringTools.trim = function(s) { - return StringTools.ltrim(StringTools.rtrim(s)); -}; -StringTools.replace = function(s,sub,by) { - return s.split(sub).join(by); -}; -var haxe_Exception = function(message,previous,native) { - Error.call(this,message); - this.message = message; - this.__previousException = previous; - this.__nativeException = native != null ? native : this; -}; -haxe_Exception.__name__ = true; -haxe_Exception.caught = function(value) { - if(((value) instanceof haxe_Exception)) { - return value; - } else if(((value) instanceof Error)) { - return new haxe_Exception(value.message,null,value); - } else { - return new haxe_ValueException(value,null,value); - } -}; -haxe_Exception.thrown = function(value) { - if(((value) instanceof haxe_Exception)) { - return value.get_native(); - } else if(((value) instanceof Error)) { - return value; - } else { - var e = new haxe_ValueException(value); - return e; - } -}; -haxe_Exception.__super__ = Error; -haxe_Exception.prototype = $extend(Error.prototype,{ - unwrap: function() { - return this.__nativeException; - } - ,get_native: function() { - return this.__nativeException; - } - ,__properties__: {get_native:"get_native"} -}); -var haxe__$Template_TemplateExpr = $hxEnums["haxe._Template.TemplateExpr"] = { __ename__:true,__constructs__:null - ,OpVar: ($_=function(v) { return {_hx_index:0,v:v,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpVar",$_.__params__ = ["v"],$_) - ,OpExpr: ($_=function(expr) { return {_hx_index:1,expr:expr,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpExpr",$_.__params__ = ["expr"],$_) - ,OpIf: ($_=function(expr,eif,eelse) { return {_hx_index:2,expr:expr,eif:eif,eelse:eelse,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpIf",$_.__params__ = ["expr","eif","eelse"],$_) - ,OpStr: ($_=function(str) { return {_hx_index:3,str:str,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpStr",$_.__params__ = ["str"],$_) - ,OpBlock: ($_=function(l) { return {_hx_index:4,l:l,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpBlock",$_.__params__ = ["l"],$_) - ,OpForeach: ($_=function(expr,loop) { return {_hx_index:5,expr:expr,loop:loop,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpForeach",$_.__params__ = ["expr","loop"],$_) - ,OpMacro: ($_=function(name,params) { return {_hx_index:6,name:name,params:params,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpMacro",$_.__params__ = ["name","params"],$_) -}; -haxe__$Template_TemplateExpr.__constructs__ = [haxe__$Template_TemplateExpr.OpVar,haxe__$Template_TemplateExpr.OpExpr,haxe__$Template_TemplateExpr.OpIf,haxe__$Template_TemplateExpr.OpStr,haxe__$Template_TemplateExpr.OpBlock,haxe__$Template_TemplateExpr.OpForeach,haxe__$Template_TemplateExpr.OpMacro]; -var haxe_iterators_ArrayIterator = function(array) { - this.current = 0; - this.array = array; -}; -haxe_iterators_ArrayIterator.__name__ = true; -haxe_iterators_ArrayIterator.prototype = { - hasNext: function() { - return this.current < this.array.length; - } - ,next: function() { - return this.array[this.current++]; - } -}; -var haxe_Template = function(str) { - var tokens = this.parseTokens(str); - this.expr = this.parseBlock(tokens); - if(!tokens.isEmpty()) { - throw haxe_Exception.thrown("Unexpected '" + Std.string(tokens.first().s) + "'"); - } -}; -haxe_Template.__name__ = true; -haxe_Template.prototype = { - execute: function(context,macros) { - this.macros = macros == null ? { } : macros; - this.context = context; - this.stack = new haxe_ds_List(); - this.buf = new StringBuf(); - this.run(this.expr); - return this.buf.b; - } - ,resolve: function(v) { - if(v == "__current__") { - return this.context; - } - if(Reflect.isObject(this.context)) { - var value = Reflect.getProperty(this.context,v); - if(value != null || Object.prototype.hasOwnProperty.call(this.context,v)) { - return value; - } - } - var _g_head = this.stack.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var ctx = val; - var value = Reflect.getProperty(ctx,v); - if(value != null || Object.prototype.hasOwnProperty.call(ctx,v)) { - return value; - } - } - return Reflect.field(haxe_Template.globals,v); - } - ,parseTokens: function(data) { - var tokens = new haxe_ds_List(); - while(haxe_Template.splitter.match(data)) { - var p = haxe_Template.splitter.matchedPos(); - if(p.pos > 0) { - tokens.add({ p : HxOverrides.substr(data,0,p.pos), s : true, l : null}); - } - if(HxOverrides.cca(data,p.pos) == 58) { - tokens.add({ p : HxOverrides.substr(data,p.pos + 2,p.len - 4), s : false, l : null}); - data = haxe_Template.splitter.matchedRight(); - continue; - } - var parp = p.pos + p.len; - var npar = 1; - var params = []; - var part = ""; - while(true) { - var c = HxOverrides.cca(data,parp); - ++parp; - if(c == 40) { - ++npar; - } else if(c == 41) { - --npar; - if(npar <= 0) { - break; - } - } else if(c == null) { - throw haxe_Exception.thrown("Unclosed macro parenthesis"); - } - if(c == 44 && npar == 1) { - params.push(part); - part = ""; - } else { - part += String.fromCodePoint(c); - } - } - params.push(part); - tokens.add({ p : haxe_Template.splitter.matched(2), s : false, l : params}); - data = HxOverrides.substr(data,parp,data.length - parp); - } - if(data.length > 0) { - tokens.add({ p : data, s : true, l : null}); - } - return tokens; - } - ,parseBlock: function(tokens) { - var l = new haxe_ds_List(); - while(true) { - var t = tokens.first(); - if(t == null) { - break; - } - if(!t.s && (t.p == "end" || t.p == "else" || HxOverrides.substr(t.p,0,7) == "elseif ")) { - break; - } - l.add(this.parse(tokens)); - } - if(l.length == 1) { - return l.first(); - } - return haxe__$Template_TemplateExpr.OpBlock(l); - } - ,parse: function(tokens) { - var t = tokens.pop(); - var p = t.p; - if(t.s) { - return haxe__$Template_TemplateExpr.OpStr(p); - } - if(t.l != null) { - var pe = new haxe_ds_List(); - var _g = 0; - var _g1 = t.l; - while(_g < _g1.length) { - var p1 = _g1[_g]; - ++_g; - pe.add(this.parseBlock(this.parseTokens(p1))); - } - return haxe__$Template_TemplateExpr.OpMacro(p,pe); - } - var kwdEnd = function(kwd) { - var pos = -1; - var length = kwd.length; - if(HxOverrides.substr(p,0,length) == kwd) { - pos = length; - var _g_offset = 0; - var _g_s = HxOverrides.substr(p,length,null); - while(_g_offset < _g_s.length) { - var c = _g_s.charCodeAt(_g_offset++); - if(c == 32) { - ++pos; - } else { - break; - } - } - } - return pos; - }; - var pos = kwdEnd("if"); - if(pos > 0) { - p = HxOverrides.substr(p,pos,p.length - pos); - var e = this.parseExpr(p); - var eif = this.parseBlock(tokens); - var t = tokens.first(); - var eelse; - if(t == null) { - throw haxe_Exception.thrown("Unclosed 'if'"); - } - if(t.p == "end") { - tokens.pop(); - eelse = null; - } else if(t.p == "else") { - tokens.pop(); - eelse = this.parseBlock(tokens); - t = tokens.pop(); - if(t == null || t.p != "end") { - throw haxe_Exception.thrown("Unclosed 'else'"); - } - } else { - t.p = HxOverrides.substr(t.p,4,t.p.length - 4); - eelse = this.parse(tokens); - } - return haxe__$Template_TemplateExpr.OpIf(e,eif,eelse); - } - var pos = kwdEnd("foreach"); - if(pos >= 0) { - p = HxOverrides.substr(p,pos,p.length - pos); - var e = this.parseExpr(p); - var efor = this.parseBlock(tokens); - var t = tokens.pop(); - if(t == null || t.p != "end") { - throw haxe_Exception.thrown("Unclosed 'foreach'"); - } - return haxe__$Template_TemplateExpr.OpForeach(e,efor); - } - if(haxe_Template.expr_splitter.match(p)) { - return haxe__$Template_TemplateExpr.OpExpr(this.parseExpr(p)); - } - return haxe__$Template_TemplateExpr.OpVar(p); - } - ,parseExpr: function(data) { - var l = new haxe_ds_List(); - var expr = data; - while(haxe_Template.expr_splitter.match(data)) { - var p = haxe_Template.expr_splitter.matchedPos(); - var k = p.pos + p.len; - if(p.pos != 0) { - l.add({ p : HxOverrides.substr(data,0,p.pos), s : true}); - } - var p1 = haxe_Template.expr_splitter.matched(0); - l.add({ p : p1, s : p1.indexOf("\"") >= 0}); - data = haxe_Template.expr_splitter.matchedRight(); - } - if(data.length != 0) { - var _g_offset = 0; - var _g_s = data; - while(_g_offset < _g_s.length) { - var _g_key = _g_offset; - var _g_value = _g_s.charCodeAt(_g_offset++); - var i = _g_key; - var c = _g_value; - if(c != 32) { - l.add({ p : HxOverrides.substr(data,i,null), s : true}); - break; - } - } - } - var e; - try { - e = this.makeExpr(l); - if(!l.isEmpty()) { - throw haxe_Exception.thrown(l.first().p); - } - } catch( _g ) { - var _g1 = haxe_Exception.caught(_g).unwrap(); - if(typeof(_g1) == "string") { - var s = _g1; - throw haxe_Exception.thrown("Unexpected '" + s + "' in " + expr); - } else { - throw _g; - } - } - return function() { - try { - return e(); - } catch( _g ) { - var exc = haxe_Exception.caught(_g).unwrap(); - throw haxe_Exception.thrown("Error : " + Std.string(exc) + " in " + expr); - } - }; - } - ,makeConst: function(v) { - haxe_Template.expr_trim.match(v); - v = haxe_Template.expr_trim.matched(1); - if(HxOverrides.cca(v,0) == 34) { - var str = HxOverrides.substr(v,1,v.length - 2); - return function() { - return str; - }; - } - if(haxe_Template.expr_int.match(v)) { - var i = Std.parseInt(v); - return function() { - return i; - }; - } - if(haxe_Template.expr_float.match(v)) { - var f = parseFloat(v); - return function() { - return f; - }; - } - var me = this; - return function() { - return me.resolve(v); - }; - } - ,makePath: function(e,l) { - var p = l.first(); - if(p == null || p.p != ".") { - return e; - } - l.pop(); - var field = l.pop(); - if(field == null || !field.s) { - throw haxe_Exception.thrown(field.p); - } - var f = field.p; - haxe_Template.expr_trim.match(f); - f = haxe_Template.expr_trim.matched(1); - return this.makePath(function() { - return Reflect.field(e(),f); - },l); - } - ,makeExpr: function(l) { - return this.makePath(this.makeExpr2(l),l); - } - ,skipSpaces: function(l) { - var p = l.first(); - while(p != null) { - var _g_offset = 0; - var _g_s = p.p; - while(_g_offset < _g_s.length) { - var c = _g_s.charCodeAt(_g_offset++); - if(c != 32) { - return; - } - } - l.pop(); - p = l.first(); - } - } - ,makeExpr2: function(l) { - this.skipSpaces(l); - var p = l.pop(); - this.skipSpaces(l); - if(p == null) { - throw haxe_Exception.thrown(""); - } - if(p.s) { - return this.makeConst(p.p); - } - switch(p.p) { - case "!": - var e = this.makeExpr(l); - return function() { - var v = e(); - if(v != null) { - return v == false; - } else { - return true; - } - }; - case "(": - this.skipSpaces(l); - var e1 = this.makeExpr(l); - this.skipSpaces(l); - var p1 = l.pop(); - if(p1 == null || p1.s) { - throw haxe_Exception.thrown(p1); - } - if(p1.p == ")") { - return e1; - } - this.skipSpaces(l); - var e2 = this.makeExpr(l); - this.skipSpaces(l); - var p2 = l.pop(); - this.skipSpaces(l); - if(p2 == null || p2.p != ")") { - throw haxe_Exception.thrown(p2); - } - switch(p1.p) { - case "!=": - return function() { - return e1() != e2(); - }; - case "&&": - return function() { - return e1() && e2(); - }; - case "*": - return function() { - return e1() * e2(); - }; - case "+": - return function() { - return e1() + e2(); - }; - case "-": - return function() { - return e1() - e2(); - }; - case "/": - return function() { - return e1() / e2(); - }; - case "<": - return function() { - return e1() < e2(); - }; - case "<=": - return function() { - return e1() <= e2(); - }; - case "==": - return function() { - return e1() == e2(); - }; - case ">": - return function() { - return e1() > e2(); - }; - case ">=": - return function() { - return e1() >= e2(); - }; - case "||": - return function() { - return e1() || e2(); - }; - default: - throw haxe_Exception.thrown("Unknown operation " + p1.p); - } - break; - case "-": - var e3 = this.makeExpr(l); - return function() { - return -e3(); - }; - } - throw haxe_Exception.thrown(p.p); - } - ,run: function(e) { - switch(e._hx_index) { - case 0: - var v = e.v; - var _this = this.buf; - var x = Std.string(this.resolve(v)); - _this.b += Std.string(x); - break; - case 1: - var e1 = e.expr; - var _this = this.buf; - var x = Std.string(e1()); - _this.b += Std.string(x); - break; - case 2: - var e1 = e.expr; - var eif = e.eif; - var eelse = e.eelse; - var v = e1(); - if(v == null || v == false) { - if(eelse != null) { - this.run(eelse); - } - } else { - this.run(eif); - } - break; - case 3: - var str = e.str; - this.buf.b += str == null ? "null" : "" + str; - break; - case 4: - var l = e.l; - var _g_head = l.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var e1 = val; - this.run(e1); - } - break; - case 5: - var e1 = e.expr; - var loop = e.loop; - var v = e1(); - try { - var x = $getIterator(v); - if(x.hasNext == null) { - throw haxe_Exception.thrown(null); - } - v = x; - } catch( _g ) { - try { - if(v.hasNext == null) { - throw haxe_Exception.thrown(null); - } - } catch( _g1 ) { - throw haxe_Exception.thrown("Cannot iter on " + Std.string(v)); - } - } - this.stack.push(this.context); - var v1 = v; - var ctx = v1; - while(ctx.hasNext()) { - var ctx1 = ctx.next(); - this.context = ctx1; - this.run(loop); - } - this.context = this.stack.pop(); - break; - case 6: - var m = e.name; - var params = e.params; - var v = Reflect.field(this.macros,m); - var pl = []; - var old = this.buf; - pl.push($bind(this,this.resolve)); - var _g_head = params.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var p = val; - if(p._hx_index == 0) { - var v1 = p.v; - pl.push(this.resolve(v1)); - } else { - this.buf = new StringBuf(); - this.run(p); - pl.push(this.buf.b); - } - } - this.buf = old; - try { - var _this = this.buf; - var x = Std.string(v.apply(this.macros,pl)); - _this.b += Std.string(x); - } catch( _g ) { - var e = haxe_Exception.caught(_g).unwrap(); - var plstr; - try { - plstr = pl.join(","); - } catch( _g1 ) { - plstr = "???"; - } - var msg = "Macro call " + m + "(" + plstr + ") failed (" + Std.string(e) + ")"; - throw haxe_Exception.thrown(msg); - } - break; - } - } -}; -var haxe_ValueException = function(value,previous,native) { - haxe_Exception.call(this,String(value),previous,native); - this.value = value; -}; -haxe_ValueException.__name__ = true; -haxe_ValueException.__super__ = haxe_Exception; -haxe_ValueException.prototype = $extend(haxe_Exception.prototype,{ - unwrap: function() { - return this.value; - } -}); -var haxe_ds_List = function() { - this.length = 0; -}; -haxe_ds_List.__name__ = true; -haxe_ds_List.prototype = { - add: function(item) { - var x = new haxe_ds__$List_ListNode(item,null); - if(this.h == null) { - this.h = x; - } else { - this.q.next = x; - } - this.q = x; - this.length++; - } - ,push: function(item) { - var x = new haxe_ds__$List_ListNode(item,this.h); - this.h = x; - if(this.q == null) { - this.q = x; - } - this.length++; - } - ,first: function() { - if(this.h == null) { - return null; - } else { - return this.h.item; - } - } - ,pop: function() { - if(this.h == null) { - return null; - } - var x = this.h.item; - this.h = this.h.next; - if(this.h == null) { - this.q = null; - } - this.length--; - return x; - } - ,isEmpty: function() { - return this.h == null; - } - ,toString: function() { - var s_b = ""; - var first = true; - var l = this.h; - s_b += "{"; - while(l != null) { - if(first) { - first = false; - } else { - s_b += ", "; - } - s_b += Std.string(Std.string(l.item)); - l = l.next; - } - s_b += "}"; - return s_b; - } -}; -var haxe_ds__$List_ListNode = function(item,next) { - this.item = item; - this.next = next; -}; -haxe_ds__$List_ListNode.__name__ = true; -var js_Boot = function() { }; -js_Boot.__name__ = true; -js_Boot.__string_rec = function(o,s) { - if(o == null) { - return "null"; - } - if(s.length >= 5) { - return "<...>"; - } - var t = typeof(o); - if(t == "function" && (o.__name__ || o.__ename__)) { - t = "object"; - } - switch(t) { - case "function": - return ""; - case "object": - if(o.__enum__) { - var e = $hxEnums[o.__enum__]; - var con = e.__constructs__[o._hx_index]; - var n = con._hx_name; - if(con.__params__) { - s = s + "\t"; - return n + "(" + ((function($this) { - var $r; - var _g = []; - { - var _g1 = 0; - var _g2 = con.__params__; - while(true) { - if(!(_g1 < _g2.length)) { - break; - } - var p = _g2[_g1]; - _g1 = _g1 + 1; - _g.push(js_Boot.__string_rec(o[p],s)); - } - } - $r = _g; - return $r; - }(this))).join(",") + ")"; - } else { - return n; - } - } - if(((o) instanceof Array)) { - var str = "["; - s += "\t"; - var _g = 0; - var _g1 = o.length; - while(_g < _g1) { - var i = _g++; - str += (i > 0 ? "," : "") + js_Boot.__string_rec(o[i],s); - } - str += "]"; - return str; - } - var tostr; - try { - tostr = o.toString; - } catch( _g ) { - return "???"; - } - if(tostr != null && tostr != Object.toString && typeof(tostr) == "function") { - var s2 = o.toString(); - if(s2 != "[object Object]") { - return s2; - } - } - var str = "{\n"; - s += "\t"; - var hasp = o.hasOwnProperty != null; - var k = null; - for( k in o ) { - if(hasp && !o.hasOwnProperty(k)) { - continue; - } - if(k == "prototype" || k == "__class__" || k == "__super__" || k == "__interfaces__" || k == "__properties__") { - continue; - } - if(str.length != 2) { - str += ", \n"; - } - str += s + k + " : " + js_Boot.__string_rec(o[k],s); - } - s = s.substring(1); - str += "\n" + s + "}"; - return str; - case "string": - return o; - default: - return String(o); - } -}; -var xrfragment_Filter = $hx_exports["xrfragment"]["Filter"] = function(str) { - this.q = { }; - this.str = ""; - if(str != null) { - this.parse(str); - } -}; -xrfragment_Filter.__name__ = true; -xrfragment_Filter.prototype = { - toObject: function() { - return Reflect.copy(this.q); - } - ,get: function() { - return Reflect.copy(this.q); - } - ,parse: function(str) { - var token = str.split(" "); - var q = { }; - var process = function(str,prefix) { - if(prefix == null) { - prefix = ""; - } - str = StringTools.trim(str); - var k = str.split("=")[0]; - var v = str.split("=")[1]; - var filter = { }; - if(q[prefix + k]) { - filter = q[prefix + k]; - } - if(xrfragment_XRF.isProp.match(str)) { - var oper = ""; - if(str.indexOf(">") != -1) { - oper = ">"; - } - if(str.indexOf("<") != -1) { - oper = "<"; - } - if(xrfragment_XRF.isExclude.match(k)) { - k = HxOverrides.substr(k,1,null); - } - v = HxOverrides.substr(v,oper.length,null); - if(oper.length == 0) { - oper = "="; - } - var rule = { }; - if(xrfragment_XRF.isNumber.match(v)) { - rule[oper] = parseFloat(v); - } else { - rule[oper] = v; - } - q["expr"] = rule; - } - var value = xrfragment_XRF.isDeep.match(str) ? k.split("*").length - 1 : 0; - q["deep"] = value; - var value = xrfragment_XRF.isExclude.match(str) ? false : true; - q["show"] = value; - var value = k.replace(xrfragment_XRF.operators.r,""); - q["key"] = value; - q["value"] = v; - }; - var _g = 0; - var _g1 = token.length; - while(_g < _g1) { - var i = _g++; - process(token[i]); - } - return this.q = q; - } - ,test: function(obj) { - var qualify = false; - var _g = 0; - var _g1 = Reflect.fields(obj); - while(_g < _g1.length) { - var k = _g1[_g]; - ++_g; - var v = Std.string(Reflect.field(obj,k)); - if(this.testProperty(k,v)) { - qualify = true; - } - } - var _g = 0; - var _g1 = Reflect.fields(obj); - while(_g < _g1.length) { - var k = _g1[_g]; - ++_g; - var v = Std.string(Reflect.field(obj,k)); - if(this.testProperty(k,v,true)) { - qualify = false; - } - } - return qualify; - } - ,testProperty: function(property,value,exclude) { - var conds = 0; - var fails = 0; - var qualify = 0; - var testprop = function(expr) { - conds += 1; - fails += expr ? 0 : 1; - return expr; - }; - if(this.q[value] != null) { - var v = this.q[value]; - if(v[property] != null) { - return v[property]; - } - } - if(Reflect.field(this.q,"expr")) { - var f = Reflect.field(this.q,"expr"); - if(!Reflect.field(this.q,"show")) { - if(Reflect.field(f,"!=") != null && testprop((value == null ? "null" : "" + value) == Std.string(Reflect.field(f,"!="))) && exclude) { - ++qualify; - } - } else { - if(Reflect.field(f,"*") != null && testprop(parseFloat(value) != null)) { - ++qualify; - } - if(Reflect.field(f,">") != null && testprop(parseFloat(value) >= parseFloat(Reflect.field(f,">")))) { - ++qualify; - } - if(Reflect.field(f,"<") != null && testprop(parseFloat(value) <= parseFloat(Reflect.field(f,"<")))) { - ++qualify; - } - if(Reflect.field(f,"=") != null && (testprop(value == Reflect.field(f,"=")) || testprop(parseFloat(value) == parseFloat(Reflect.field(f,"="))))) { - ++qualify; - } - } - } - return qualify > 0; - } -}; -var xrfragment_Parser = $hx_exports["xrfragment"]["Parser"] = function() { }; -xrfragment_Parser.__name__ = true; -xrfragment_Parser.parse = function(key,value,store,index) { - var Frag_h = Object.create(null); - Frag_h["#"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_PREDEFINED_VIEW | xrfragment_XRF.PV_EXECUTE; - Frag_h["src"] = xrfragment_XRF.T_URL; - Frag_h["href"] = xrfragment_XRF.T_URL | xrfragment_XRF.T_PREDEFINED_VIEW; - Frag_h["tag"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["pos"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_VECTOR3 | xrfragment_XRF.T_STRING | xrfragment_XRF.METADATA | xrfragment_XRF.NAVIGATOR; - Frag_h["rot"] = xrfragment_XRF.QUERY_OPERATOR | xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_VECTOR3 | xrfragment_XRF.METADATA | xrfragment_XRF.NAVIGATOR; - Frag_h["t"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_FLOAT | xrfragment_XRF.T_VECTOR2 | xrfragment_XRF.NAVIGATOR | xrfragment_XRF.METADATA; - Frag_h["s"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_MEDIAFRAG; - Frag_h["loop"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_PREDEFINED_VIEW; - Frag_h["uv"] = xrfragment_XRF.T_VECTOR2 | xrfragment_XRF.T_MEDIAFRAG; - Frag_h["namespace"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["SPDX"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["unit"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["description"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - var keyStripped = key.replace(xrfragment_XRF.operators.r,""); - var isPVDynamic = key.length > 0 && !Object.prototype.hasOwnProperty.call(Frag_h,key); - if(isPVDynamic) { - var v = new xrfragment_XRF(key,xrfragment_XRF.PV_EXECUTE | xrfragment_XRF.NAVIGATOR,index); - v.validate(value); - v.flags = xrfragment_XRF.set(xrfragment_XRF.T_DYNAMICKEY,v.flags); - if(!Object.prototype.hasOwnProperty.call(Frag_h,key)) { - v.flags = xrfragment_XRF.set(xrfragment_XRF.CUSTOMFRAG,v.flags); - } - if(value.length == 0) { - v.flags = xrfragment_XRF.set(xrfragment_XRF.T_DYNAMICKEYVALUE,v.flags); - } - store[keyStripped] = v; - return true; - } - var v = new xrfragment_XRF(key,Frag_h[key],index); - if(Object.prototype.hasOwnProperty.call(Frag_h,key)) { - if(!v.validate(value)) { - console.log("src/xrfragment/Parser.hx:67:","⚠ fragment '" + key + "' has incompatible value (" + value + ")"); - return false; - } - store[keyStripped] = v; - if(xrfragment_Parser.debug) { - console.log("src/xrfragment/Parser.hx:71:","✔ " + key + ": " + v.string); - } - } else { - if(typeof(value) == "string") { - v.guessType(v,value); - } - v.flags = xrfragment_XRF.set(xrfragment_XRF.CUSTOMFRAG,v.flags); - store[keyStripped] = v; - } - return true; -}; -xrfragment_Parser.getMetaData = function() { - var meta = { title : ["title","og:title","dc.title"], description : ["aria-description","og:description","dc.description"], author : ["author","dc.creator"], publisher : ["publisher","dc.publisher"], website : ["og:site_name","og:url","dc.publisher"], license : ["SPDX","dc.rights"]}; - return meta; -}; -var xrfragment_URI = $hx_exports["xrfragment"]["URI"] = function() { - this.XRF = { }; - this.hash = { }; - this.fragment = ""; -}; -xrfragment_URI.__name__ = true; -xrfragment_URI.parseFragment = function(url,filter) { - var store = { }; - if(url == null || url.indexOf("#") == -1) { - return store; - } - var fragment = url.split("#"); - var splitArray = fragment[1].split("&"); - var _g = 0; - var _g1 = splitArray.length; - while(_g < _g1) { - var i = _g++; - var splitByEqual = splitArray[i].split("="); - var regexPlus = new EReg("\\+","g"); - var key = splitByEqual[0]; - var value = ""; - if(splitByEqual.length > 1) { - if(xrfragment_XRF.isVector.match(splitByEqual[1])) { - value = splitByEqual[1]; - } else { - var s = regexPlus.split(splitByEqual[1]).join(" "); - value = decodeURIComponent(s.split("+").join(" ")); - } - } - var ok = xrfragment_Parser.parse(key,value,store,i); - } - if(filter != null && filter != 0) { - var _g = 0; - var _g1 = Reflect.fields(store); - while(_g < _g1.length) { - var key = _g1[_g]; - ++_g; - var xrf = store[key]; - if(!xrf.is(filter)) { - Reflect.deleteField(store,key); - } - } - } - return store; -}; -xrfragment_URI.template = function(uri,vars) { - var parts = uri.split("#"); - if(parts.length == 1) { - return uri; - } - var frag = parts[1]; - frag = StringTools.replace(frag,"{","::"); - frag = StringTools.replace(frag,"}","::"); - frag = new haxe_Template(frag).execute(vars); - frag = StringTools.replace(frag,"null",""); - parts[1] = frag; - return parts.join("#"); -}; -xrfragment_URI.parse = function(stringUrl,flags) { - var r = new EReg("^(?:(?![^:@]+:[^:@/]*@)([^:/?#.]+):)?(?://)?((?:(([^:@]*)(?::([^:@]*))?)?@)?([^:/?#]*)(?::(\\d*))?)(((/(?:[^?#](?![^?#/]*\\.[^?#/.]+(?:[?#]|$)))*/?)?([^?#/]*))(?:\\?([^#]*))?(?:#(.*))?)",""); - if(stringUrl.indexOf("://") == -1 && stringUrl.charAt(0) != "/") { - stringUrl = "/" + stringUrl; - } - r.match(stringUrl); - var url = new xrfragment_URI(); - var _g = 0; - var _g1 = xrfragment_URI._parts.length; - while(_g < _g1) { - var i = _g++; - url[xrfragment_URI._parts[i]] = r.matched(i); - } - if(xrfragment_URI.isRelative(url) == true) { - if(url.directory == null && url.host != null) { - url.file = url.host; - } - url.host = ""; - } - url.hash = { }; - if(url.fragment != null && url.fragment.length > 0) { - url.XRF = xrfragment_URI.parseFragment("#" + url.fragment,flags); - var key; - var _g = 0; - var _g1 = Reflect.fields(url.XRF); - while(_g < _g1.length) { - var key = _g1[_g]; - ++_g; - var v = url.XRF[key]; - url.hash[key] = v["string"]; - } - } - xrfragment_URI.computeVars(url); - return url; -}; -xrfragment_URI.computeVars = function(url) { - var r_r = new RegExp("//","g".split("u").join("")); - if(url.directory != null && url.directory.indexOf("//") != -1) { - url.directory = url.directory.replace(r_r,"/"); - } - if(url.path != null && url.path.indexOf("//") != -1) { - url.path = url.path.replace(r_r,"/"); - } - if(url.file != null && url.file.indexOf("//") != -1) { - url.file = url.file.replace(r_r,"/"); - } - url.URN = url.scheme + "://" + url.host; - if(url.port != null) { - url.URN += ":" + url.port; - } - url.URN += url.directory; - if(url.file != null) { - var parts = url.file.split("."); - if(parts.length > 1) { - url.fileExt = parts.pop(); - } - } -}; -xrfragment_URI.toString = function(url) { - var result = ""; - if(url.scheme != null) { - result += url.scheme + "://"; - } - if(url.user != null) { - result += url.user + ":"; - } - if(url.password != null) { - result += url.password + "@"; - } - if(url.host != null) { - result += url.host; - } - if(url.port != null) { - result += ":" + url.port; - } - if(url.directory != null) { - result += url.directory; - } - if(url.file != null) { - result += url.file; - } - if(url.query != null) { - result += "?" + url.query; - } - if(url.fragment != null) { - result += "#" + url.fragment; - } - return result; -}; -xrfragment_URI.appendURI = function(url,appendedURI) { - if(xrfragment_URI.isRelative(url) == true) { - return xrfragment_URI.appendToRelativeURI(url,appendedURI); - } else { - return xrfragment_URI.appendToAbsoluteURI(url,appendedURI); - } -}; -xrfragment_URI.isRelative = function(url) { - return url.scheme == null; -}; -xrfragment_URI.appendToRelativeURI = function(url,appendedURI) { - if(url.directory == null || url.host == null) { - return xrfragment_URI.cloneURI(appendedURI); - } - var resultURI = new xrfragment_URI(); - resultURI.host = url.host; - resultURI.directory = url.directory; - if(appendedURI.host != null) { - resultURI.directory += appendedURI.host; - } - if(appendedURI.directory != null) { - var directory = appendedURI.directory; - if(appendedURI.host == null) { - resultURI.directory += HxOverrides.substr(directory,1,null); - } else { - resultURI.directory += directory; - } - } - if(appendedURI.file != null) { - resultURI.file = appendedURI.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(appendedURI.query != null) { - resultURI.query = appendedURI.query; - } - if(appendedURI.fragment != null) { - resultURI.fragment = appendedURI.fragment; - } - return resultURI; -}; -xrfragment_URI.appendToAbsoluteURI = function(url,appendedURI) { - var resultURI = new xrfragment_URI(); - if(url.scheme != null) { - resultURI.scheme = url.scheme; - } - if(url.host != null) { - resultURI.host = url.host; - } - var directory = ""; - if(url.directory != null) { - directory = url.directory; - } - if(appendedURI.host != null) { - appendedURI.directory += appendedURI.host; - } - if(appendedURI.directory != null) { - directory += appendedURI.directory; - } - resultURI.directory = directory; - if(appendedURI.file != null) { - resultURI.file = appendedURI.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(appendedURI.query != null) { - resultURI.query = appendedURI.query; - } - if(appendedURI.fragment != null) { - resultURI.fragment = appendedURI.fragment; - } - return resultURI; -}; -xrfragment_URI.toAbsolute = function(url,newUrl) { - var newURI = xrfragment_URI.parse(newUrl,0); - var resultURI = new xrfragment_URI(); - resultURI.port = url.port; - resultURI.source = newUrl; - if(newURI.scheme != null) { - resultURI.scheme = newURI.scheme; - } else { - resultURI.scheme = url.scheme; - } - if(newURI.host != null && newURI.host.length > 0) { - resultURI.host = newURI.host; - resultURI.port = null; - resultURI.fragment = null; - resultURI.hash = { }; - resultURI.XRF = { }; - if(newURI.port != null) { - resultURI.port = newURI.port; - } - } else { - resultURI.host = url.host; - } - var directory = ""; - if(url.directory != null) { - directory = url.directory; - } - if(newURI.directory != null) { - if(newUrl.charAt(0) != "/" && newUrl.indexOf("://") == -1) { - var stripRelative_r = new RegExp("\\./.*","".split("u").join("")); - directory = directory.replace(stripRelative_r,""); - directory += newURI.directory; - } else { - directory = newURI.directory; - } - } - resultURI.directory = directory; - if(newURI.file != null) { - resultURI.file = newURI.file; - } else { - resultURI.file = url.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(newURI.query != null) { - resultURI.query = newURI.query; - } - if(newURI.fragment != null) { - resultURI.fragment = newURI.fragment; - } - resultURI.hash = newURI.hash; - resultURI.XRF = newURI.XRF; - xrfragment_URI.computeVars(resultURI); - return resultURI; -}; -xrfragment_URI.cloneURI = function(url) { - var clonedURI = new xrfragment_URI(); - clonedURI.url = url.url; - clonedURI.source = url.source; - clonedURI.scheme = url.scheme; - clonedURI.authority = url.authority; - clonedURI.userInfo = url.userInfo; - clonedURI.password = url.password; - clonedURI.host = url.host; - clonedURI.port = url.port; - clonedURI.relative = url.relative; - clonedURI.path = url.path; - clonedURI.directory = url.directory; - clonedURI.file = url.file; - clonedURI.query = url.query; - clonedURI.fragment = url.fragment; - return clonedURI; -}; -var xrfragment_XRF = $hx_exports["xrfragment"]["XRF"] = function(_fragment,_flags,_index) { - this.floats = []; - this.shift = []; - this.fragment = _fragment; - this.flags = _flags; - this.index = _index; -}; -xrfragment_XRF.__name__ = true; -xrfragment_XRF.set = function(flag,flags) { - return flags | flag; -}; -xrfragment_XRF.unset = function(flag,flags) { - return flags & ~flag; -}; -xrfragment_XRF.prototype = { - is: function(flag) { - var v = this.flags; - if(!(typeof(v) == "number" && ((v | 0) === v))) { - this.flags = 0; - } - return (this.flags & flag) != 0; - } - ,validate: function(value) { - this.guessType(this,value); - var ok = true; - if(value.length == 0 && !this.is(xrfragment_XRF.T_PREDEFINED_VIEW)) { - ok = false; - } - if(!this.is(xrfragment_XRF.T_FLOAT) && this.is(xrfragment_XRF.T_VECTOR2) && !(typeof(this.x) == "number" && typeof(this.y) == "number")) { - ok = false; - } - if(!(this.is(xrfragment_XRF.T_VECTOR2) || this.is(xrfragment_XRF.T_STRING)) && this.is(xrfragment_XRF.T_VECTOR3) && !(typeof(this.x) == "number" && typeof(this.y) == "number" && typeof(this.z) == "number")) { - ok = false; - } - return ok; - } - ,guessType: function(v,str) { - v.string = str; - if(xrfragment_XRF.isReset.match(v.fragment)) { - v.reset = true; - } - if(v.fragment == "loop") { - v.loop = true; - } - if(typeof(str) != "string") { - return; - } - if(str.length > 0) { - if(xrfragment_XRF.isXRFScheme.match(str)) { - v.xrfScheme = true; - str = str.replace(xrfragment_XRF.isXRFScheme.r,""); - v.string = str; - } - if(str.split(",").length > 1) { - var xyzn = str.split(","); - if(xyzn.length > 0) { - v.x = parseFloat(xyzn[0]); - } - if(xyzn.length > 1) { - v.y = parseFloat(xyzn[1]); - } - if(xyzn.length > 2) { - v.z = parseFloat(xyzn[2]); - } - var _g = 0; - var _g1 = xyzn.length; - while(_g < _g1) { - var i = _g++; - v.shift.push(xrfragment_XRF.isShift.match(xyzn[i])); - v.floats.push(parseFloat(xyzn[i].replace(xrfragment_XRF.isShift.r,""))); - } - } - if(xrfragment_XRF.isColor.match(str)) { - v.color = str; - } - if(xrfragment_XRF.isFloat.match(str)) { - v.x = parseFloat(str); - v.float = v.x; - } - if(xrfragment_XRF.isInt.match(str)) { - v.int = Std.parseInt(str); - v.x = v.int; - v.floats.push(v.x); - } - v.filter = new xrfragment_Filter(v.fragment + "=" + v.string); - } else { - v.filter = new xrfragment_Filter(v.fragment); - } - } -}; -function $getIterator(o) { if( o instanceof Array ) return new haxe_iterators_ArrayIterator(o); else return o.iterator(); } -function $bind(o,m) { if( m == null ) return null; if( m.__id__ == null ) m.__id__ = $global.$haxeUID++; var f; if( o.hx__closures__ == null ) o.hx__closures__ = {}; else f = o.hx__closures__[m.__id__]; if( f == null ) { f = m.bind(o); o.hx__closures__[m.__id__] = f; } return f; } -$global.$haxeUID |= 0; -if(typeof(performance) != "undefined" ? typeof(performance.now) == "function" : false) { - HxOverrides.now = performance.now.bind(performance); -} -if( String.fromCodePoint == null ) String.fromCodePoint = function(c) { return c < 0x10000 ? String.fromCharCode(c) : String.fromCharCode((c>>10)+0xD7C0)+String.fromCharCode((c&0x3FF)+0xDC00); } -String.__name__ = true; -Array.__name__ = true; -js_Boot.__toStr = ({ }).toString; -haxe_Template.splitter = new EReg("(::[A-Za-z0-9_ ()&|!+=/><*.\"-]+::|\\$\\$([A-Za-z0-9_-]+)\\()",""); -haxe_Template.expr_splitter = new EReg("(\\(|\\)|[ \r\n\t]*\"[^\"]*\"[ \r\n\t]*|[!+=/><*.&|-]+)",""); -haxe_Template.expr_trim = new EReg("^[ ]*([^ ]+)[ ]*$",""); -haxe_Template.expr_int = new EReg("^[0-9]+$",""); -haxe_Template.expr_float = new EReg("^([+-]?)(?=\\d|,\\d)\\d*(,\\d*)?([Ee]([+-]?\\d+))?$",""); -haxe_Template.globals = { }; -haxe_Template.hxKeepArrayIterator = new haxe_iterators_ArrayIterator([]); -xrfragment_Parser.error = ""; -xrfragment_Parser.debug = false; -xrfragment_URI.__meta__ = { statics : { template : { keep : null}}}; -xrfragment_URI._parts = ["source","scheme","authority","userInfo","user","password","host","port","relative","path","directory","file","query","fragment"]; -xrfragment_XRF.IMMUTABLE = 1; -xrfragment_XRF.PROP_BIND = 2; -xrfragment_XRF.QUERY_OPERATOR = 4; -xrfragment_XRF.PROMPT = 8; -xrfragment_XRF.CUSTOMFRAG = 16; -xrfragment_XRF.NAVIGATOR = 32; -xrfragment_XRF.METADATA = 64; -xrfragment_XRF.PV_OVERRIDE = 128; -xrfragment_XRF.PV_EXECUTE = 256; -xrfragment_XRF.T_COLOR = 8192; -xrfragment_XRF.T_INT = 16384; -xrfragment_XRF.T_FLOAT = 32768; -xrfragment_XRF.T_VECTOR2 = 65536; -xrfragment_XRF.T_VECTOR3 = 131072; -xrfragment_XRF.T_URL = 262144; -xrfragment_XRF.T_PREDEFINED_VIEW = 524288; -xrfragment_XRF.T_STRING = 1048576; -xrfragment_XRF.T_MEDIAFRAG = 2097152; -xrfragment_XRF.T_DYNAMICKEY = 4194304; -xrfragment_XRF.T_DYNAMICKEYVALUE = 8388608; -xrfragment_XRF.isColor = new EReg("^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$",""); -xrfragment_XRF.isInt = new EReg("^[-0-9]+$",""); -xrfragment_XRF.isFloat = new EReg("^[-0-9]+\\.[0-9]+$",""); -xrfragment_XRF.isVector = new EReg("([,]+|\\w)",""); -xrfragment_XRF.isUrl = new EReg("(://)?\\..*",""); -xrfragment_XRF.isUrlOrPretypedView = new EReg("(^#|://)?\\..*",""); -xrfragment_XRF.isString = new EReg(".*",""); -xrfragment_XRF.operators = new EReg("(^[-]|^[!]|[\\*]$)","g"); -xrfragment_XRF.isProp = new EReg("^.*=[><=]?",""); -xrfragment_XRF.isExclude = new EReg("^-",""); -xrfragment_XRF.isDeep = new EReg("\\*",""); -xrfragment_XRF.isNumber = new EReg("^[0-9\\.]+$",""); -xrfragment_XRF.isMediaFrag = new EReg("^([0-9\\.,\\*+-]+)$",""); -xrfragment_XRF.isReset = new EReg("^!",""); -xrfragment_XRF.isShift = new EReg("^(\\+|--)",""); -xrfragment_XRF.isXRFScheme = new EReg("^xrf://",""); -})(typeof window != "undefined" ? window : typeof global != "undefined" ? global : typeof self != "undefined" ? self : this); -var xrfragment = $hx_exports["xrfragment"]; -export default xrfragment; -// Generated by Haxe 4.3.3 -var $hx_exports = typeof exports != "undefined" ? exports : typeof window != "undefined" ? window : typeof self != "undefined" ? self : this; -(function ($global) { "use strict"; -$hx_exports["xrfragment"] = $hx_exports["xrfragment"] || {}; -var $estr = function() { return js_Boot.__string_rec(this,''); },$hxEnums = $hxEnums || {},$_; -function $extend(from, fields) { - var proto = Object.create(from); - for (var name in fields) proto[name] = fields[name]; - if( fields.toString !== Object.prototype.toString ) proto.toString = fields.toString; - return proto; -} -var EReg = function(r,opt) { - this.r = new RegExp(r,opt.split("u").join("")); -}; -EReg.__name__ = true; -EReg.prototype = { - match: function(s) { - if(this.r.global) { - this.r.lastIndex = 0; - } - this.r.m = this.r.exec(s); - this.r.s = s; - return this.r.m != null; - } - ,matched: function(n) { - if(this.r.m != null && n >= 0 && n < this.r.m.length) { - return this.r.m[n]; - } else { - throw haxe_Exception.thrown("EReg::matched"); - } - } - ,matchedRight: function() { - if(this.r.m == null) { - throw haxe_Exception.thrown("No string matched"); - } - var sz = this.r.m.index + this.r.m[0].length; - return HxOverrides.substr(this.r.s,sz,this.r.s.length - sz); - } - ,matchedPos: function() { - if(this.r.m == null) { - throw haxe_Exception.thrown("No string matched"); - } - return { pos : this.r.m.index, len : this.r.m[0].length}; - } - ,split: function(s) { - var d = "#__delim__#"; - return s.replace(this.r,d).split(d); - } -}; -var HxOverrides = function() { }; -HxOverrides.__name__ = true; -HxOverrides.cca = function(s,index) { - var x = s.charCodeAt(index); - if(x != x) { - return undefined; - } - return x; -}; -HxOverrides.substr = function(s,pos,len) { - if(len == null) { - len = s.length; - } else if(len < 0) { - if(pos == 0) { - len = s.length + len; - } else { - return ""; - } - } - return s.substr(pos,len); -}; -HxOverrides.now = function() { - return Date.now(); -}; -Math.__name__ = true; -var Reflect = function() { }; -Reflect.__name__ = true; -Reflect.field = function(o,field) { - try { - return o[field]; - } catch( _g ) { - return null; - } -}; -Reflect.getProperty = function(o,field) { - var tmp; - if(o == null) { - return null; - } else { - var tmp1; - if(o.__properties__) { - tmp = o.__properties__["get_" + field]; - tmp1 = tmp; - } else { - tmp1 = false; - } - if(tmp1) { - return o[tmp](); - } else { - return o[field]; - } - } -}; -Reflect.fields = function(o) { - var a = []; - if(o != null) { - var hasOwnProperty = Object.prototype.hasOwnProperty; - for( var f in o ) { - if(f != "__id__" && f != "hx__closures__" && hasOwnProperty.call(o,f)) { - a.push(f); - } - } - } - return a; -}; -Reflect.isObject = function(v) { - if(v == null) { - return false; - } - var t = typeof(v); - if(!(t == "string" || t == "object" && v.__enum__ == null)) { - if(t == "function") { - return (v.__name__ || v.__ename__) != null; - } else { - return false; - } - } else { - return true; - } -}; -Reflect.deleteField = function(o,field) { - if(!Object.prototype.hasOwnProperty.call(o,field)) { - return false; - } - delete(o[field]); - return true; -}; -Reflect.copy = function(o) { - if(o == null) { - return null; - } - var o2 = { }; - var _g = 0; - var _g1 = Reflect.fields(o); - while(_g < _g1.length) { - var f = _g1[_g]; - ++_g; - o2[f] = Reflect.field(o,f); - } - return o2; -}; -var Std = function() { }; -Std.__name__ = true; -Std.string = function(s) { - return js_Boot.__string_rec(s,""); -}; -Std.parseInt = function(x) { - var v = parseInt(x); - if(isNaN(v)) { - return null; - } - return v; -}; -var StringBuf = function() { - this.b = ""; -}; -StringBuf.__name__ = true; -var StringTools = function() { }; -StringTools.__name__ = true; -StringTools.isSpace = function(s,pos) { - var c = HxOverrides.cca(s,pos); - if(!(c > 8 && c < 14)) { - return c == 32; - } else { - return true; - } -}; -StringTools.ltrim = function(s) { - var l = s.length; - var r = 0; - while(r < l && StringTools.isSpace(s,r)) ++r; - if(r > 0) { - return HxOverrides.substr(s,r,l - r); - } else { - return s; - } -}; -StringTools.rtrim = function(s) { - var l = s.length; - var r = 0; - while(r < l && StringTools.isSpace(s,l - r - 1)) ++r; - if(r > 0) { - return HxOverrides.substr(s,0,l - r); - } else { - return s; - } -}; -StringTools.trim = function(s) { - return StringTools.ltrim(StringTools.rtrim(s)); -}; -StringTools.replace = function(s,sub,by) { - return s.split(sub).join(by); -}; -var haxe_Exception = function(message,previous,native) { - Error.call(this,message); - this.message = message; - this.__previousException = previous; - this.__nativeException = native != null ? native : this; -}; -haxe_Exception.__name__ = true; -haxe_Exception.caught = function(value) { - if(((value) instanceof haxe_Exception)) { - return value; - } else if(((value) instanceof Error)) { - return new haxe_Exception(value.message,null,value); - } else { - return new haxe_ValueException(value,null,value); - } -}; -haxe_Exception.thrown = function(value) { - if(((value) instanceof haxe_Exception)) { - return value.get_native(); - } else if(((value) instanceof Error)) { - return value; - } else { - var e = new haxe_ValueException(value); - return e; - } -}; -haxe_Exception.__super__ = Error; -haxe_Exception.prototype = $extend(Error.prototype,{ - unwrap: function() { - return this.__nativeException; - } - ,get_native: function() { - return this.__nativeException; - } - ,__properties__: {get_native:"get_native"} -}); -var haxe__$Template_TemplateExpr = $hxEnums["haxe._Template.TemplateExpr"] = { __ename__:true,__constructs__:null - ,OpVar: ($_=function(v) { return {_hx_index:0,v:v,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpVar",$_.__params__ = ["v"],$_) - ,OpExpr: ($_=function(expr) { return {_hx_index:1,expr:expr,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpExpr",$_.__params__ = ["expr"],$_) - ,OpIf: ($_=function(expr,eif,eelse) { return {_hx_index:2,expr:expr,eif:eif,eelse:eelse,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpIf",$_.__params__ = ["expr","eif","eelse"],$_) - ,OpStr: ($_=function(str) { return {_hx_index:3,str:str,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpStr",$_.__params__ = ["str"],$_) - ,OpBlock: ($_=function(l) { return {_hx_index:4,l:l,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpBlock",$_.__params__ = ["l"],$_) - ,OpForeach: ($_=function(expr,loop) { return {_hx_index:5,expr:expr,loop:loop,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpForeach",$_.__params__ = ["expr","loop"],$_) - ,OpMacro: ($_=function(name,params) { return {_hx_index:6,name:name,params:params,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpMacro",$_.__params__ = ["name","params"],$_) -}; -haxe__$Template_TemplateExpr.__constructs__ = [haxe__$Template_TemplateExpr.OpVar,haxe__$Template_TemplateExpr.OpExpr,haxe__$Template_TemplateExpr.OpIf,haxe__$Template_TemplateExpr.OpStr,haxe__$Template_TemplateExpr.OpBlock,haxe__$Template_TemplateExpr.OpForeach,haxe__$Template_TemplateExpr.OpMacro]; -var haxe_iterators_ArrayIterator = function(array) { - this.current = 0; - this.array = array; -}; -haxe_iterators_ArrayIterator.__name__ = true; -haxe_iterators_ArrayIterator.prototype = { - hasNext: function() { - return this.current < this.array.length; - } - ,next: function() { - return this.array[this.current++]; - } -}; -var haxe_Template = function(str) { - var tokens = this.parseTokens(str); - this.expr = this.parseBlock(tokens); - if(!tokens.isEmpty()) { - throw haxe_Exception.thrown("Unexpected '" + Std.string(tokens.first().s) + "'"); - } -}; -haxe_Template.__name__ = true; -haxe_Template.prototype = { - execute: function(context,macros) { - this.macros = macros == null ? { } : macros; - this.context = context; - this.stack = new haxe_ds_List(); - this.buf = new StringBuf(); - this.run(this.expr); - return this.buf.b; - } - ,resolve: function(v) { - if(v == "__current__") { - return this.context; - } - if(Reflect.isObject(this.context)) { - var value = Reflect.getProperty(this.context,v); - if(value != null || Object.prototype.hasOwnProperty.call(this.context,v)) { - return value; - } - } - var _g_head = this.stack.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var ctx = val; - var value = Reflect.getProperty(ctx,v); - if(value != null || Object.prototype.hasOwnProperty.call(ctx,v)) { - return value; - } - } - return Reflect.field(haxe_Template.globals,v); - } - ,parseTokens: function(data) { - var tokens = new haxe_ds_List(); - while(haxe_Template.splitter.match(data)) { - var p = haxe_Template.splitter.matchedPos(); - if(p.pos > 0) { - tokens.add({ p : HxOverrides.substr(data,0,p.pos), s : true, l : null}); - } - if(HxOverrides.cca(data,p.pos) == 58) { - tokens.add({ p : HxOverrides.substr(data,p.pos + 2,p.len - 4), s : false, l : null}); - data = haxe_Template.splitter.matchedRight(); - continue; - } - var parp = p.pos + p.len; - var npar = 1; - var params = []; - var part = ""; - while(true) { - var c = HxOverrides.cca(data,parp); - ++parp; - if(c == 40) { - ++npar; - } else if(c == 41) { - --npar; - if(npar <= 0) { - break; - } - } else if(c == null) { - throw haxe_Exception.thrown("Unclosed macro parenthesis"); - } - if(c == 44 && npar == 1) { - params.push(part); - part = ""; - } else { - part += String.fromCodePoint(c); - } - } - params.push(part); - tokens.add({ p : haxe_Template.splitter.matched(2), s : false, l : params}); - data = HxOverrides.substr(data,parp,data.length - parp); - } - if(data.length > 0) { - tokens.add({ p : data, s : true, l : null}); - } - return tokens; - } - ,parseBlock: function(tokens) { - var l = new haxe_ds_List(); - while(true) { - var t = tokens.first(); - if(t == null) { - break; - } - if(!t.s && (t.p == "end" || t.p == "else" || HxOverrides.substr(t.p,0,7) == "elseif ")) { - break; - } - l.add(this.parse(tokens)); - } - if(l.length == 1) { - return l.first(); - } - return haxe__$Template_TemplateExpr.OpBlock(l); - } - ,parse: function(tokens) { - var t = tokens.pop(); - var p = t.p; - if(t.s) { - return haxe__$Template_TemplateExpr.OpStr(p); - } - if(t.l != null) { - var pe = new haxe_ds_List(); - var _g = 0; - var _g1 = t.l; - while(_g < _g1.length) { - var p1 = _g1[_g]; - ++_g; - pe.add(this.parseBlock(this.parseTokens(p1))); - } - return haxe__$Template_TemplateExpr.OpMacro(p,pe); - } - var kwdEnd = function(kwd) { - var pos = -1; - var length = kwd.length; - if(HxOverrides.substr(p,0,length) == kwd) { - pos = length; - var _g_offset = 0; - var _g_s = HxOverrides.substr(p,length,null); - while(_g_offset < _g_s.length) { - var c = _g_s.charCodeAt(_g_offset++); - if(c == 32) { - ++pos; - } else { - break; - } - } - } - return pos; - }; - var pos = kwdEnd("if"); - if(pos > 0) { - p = HxOverrides.substr(p,pos,p.length - pos); - var e = this.parseExpr(p); - var eif = this.parseBlock(tokens); - var t = tokens.first(); - var eelse; - if(t == null) { - throw haxe_Exception.thrown("Unclosed 'if'"); - } - if(t.p == "end") { - tokens.pop(); - eelse = null; - } else if(t.p == "else") { - tokens.pop(); - eelse = this.parseBlock(tokens); - t = tokens.pop(); - if(t == null || t.p != "end") { - throw haxe_Exception.thrown("Unclosed 'else'"); - } - } else { - t.p = HxOverrides.substr(t.p,4,t.p.length - 4); - eelse = this.parse(tokens); - } - return haxe__$Template_TemplateExpr.OpIf(e,eif,eelse); - } - var pos = kwdEnd("foreach"); - if(pos >= 0) { - p = HxOverrides.substr(p,pos,p.length - pos); - var e = this.parseExpr(p); - var efor = this.parseBlock(tokens); - var t = tokens.pop(); - if(t == null || t.p != "end") { - throw haxe_Exception.thrown("Unclosed 'foreach'"); - } - return haxe__$Template_TemplateExpr.OpForeach(e,efor); - } - if(haxe_Template.expr_splitter.match(p)) { - return haxe__$Template_TemplateExpr.OpExpr(this.parseExpr(p)); - } - return haxe__$Template_TemplateExpr.OpVar(p); - } - ,parseExpr: function(data) { - var l = new haxe_ds_List(); - var expr = data; - while(haxe_Template.expr_splitter.match(data)) { - var p = haxe_Template.expr_splitter.matchedPos(); - var k = p.pos + p.len; - if(p.pos != 0) { - l.add({ p : HxOverrides.substr(data,0,p.pos), s : true}); - } - var p1 = haxe_Template.expr_splitter.matched(0); - l.add({ p : p1, s : p1.indexOf("\"") >= 0}); - data = haxe_Template.expr_splitter.matchedRight(); - } - if(data.length != 0) { - var _g_offset = 0; - var _g_s = data; - while(_g_offset < _g_s.length) { - var _g_key = _g_offset; - var _g_value = _g_s.charCodeAt(_g_offset++); - var i = _g_key; - var c = _g_value; - if(c != 32) { - l.add({ p : HxOverrides.substr(data,i,null), s : true}); - break; - } - } - } - var e; - try { - e = this.makeExpr(l); - if(!l.isEmpty()) { - throw haxe_Exception.thrown(l.first().p); - } - } catch( _g ) { - var _g1 = haxe_Exception.caught(_g).unwrap(); - if(typeof(_g1) == "string") { - var s = _g1; - throw haxe_Exception.thrown("Unexpected '" + s + "' in " + expr); - } else { - throw _g; - } - } - return function() { - try { - return e(); - } catch( _g ) { - var exc = haxe_Exception.caught(_g).unwrap(); - throw haxe_Exception.thrown("Error : " + Std.string(exc) + " in " + expr); - } - }; - } - ,makeConst: function(v) { - haxe_Template.expr_trim.match(v); - v = haxe_Template.expr_trim.matched(1); - if(HxOverrides.cca(v,0) == 34) { - var str = HxOverrides.substr(v,1,v.length - 2); - return function() { - return str; - }; - } - if(haxe_Template.expr_int.match(v)) { - var i = Std.parseInt(v); - return function() { - return i; - }; - } - if(haxe_Template.expr_float.match(v)) { - var f = parseFloat(v); - return function() { - return f; - }; - } - var me = this; - return function() { - return me.resolve(v); - }; - } - ,makePath: function(e,l) { - var p = l.first(); - if(p == null || p.p != ".") { - return e; - } - l.pop(); - var field = l.pop(); - if(field == null || !field.s) { - throw haxe_Exception.thrown(field.p); - } - var f = field.p; - haxe_Template.expr_trim.match(f); - f = haxe_Template.expr_trim.matched(1); - return this.makePath(function() { - return Reflect.field(e(),f); - },l); - } - ,makeExpr: function(l) { - return this.makePath(this.makeExpr2(l),l); - } - ,skipSpaces: function(l) { - var p = l.first(); - while(p != null) { - var _g_offset = 0; - var _g_s = p.p; - while(_g_offset < _g_s.length) { - var c = _g_s.charCodeAt(_g_offset++); - if(c != 32) { - return; - } - } - l.pop(); - p = l.first(); - } - } - ,makeExpr2: function(l) { - this.skipSpaces(l); - var p = l.pop(); - this.skipSpaces(l); - if(p == null) { - throw haxe_Exception.thrown(""); - } - if(p.s) { - return this.makeConst(p.p); - } - switch(p.p) { - case "!": - var e = this.makeExpr(l); - return function() { - var v = e(); - if(v != null) { - return v == false; - } else { - return true; - } - }; - case "(": - this.skipSpaces(l); - var e1 = this.makeExpr(l); - this.skipSpaces(l); - var p1 = l.pop(); - if(p1 == null || p1.s) { - throw haxe_Exception.thrown(p1); - } - if(p1.p == ")") { - return e1; - } - this.skipSpaces(l); - var e2 = this.makeExpr(l); - this.skipSpaces(l); - var p2 = l.pop(); - this.skipSpaces(l); - if(p2 == null || p2.p != ")") { - throw haxe_Exception.thrown(p2); - } - switch(p1.p) { - case "!=": - return function() { - return e1() != e2(); - }; - case "&&": - return function() { - return e1() && e2(); - }; - case "*": - return function() { - return e1() * e2(); - }; - case "+": - return function() { - return e1() + e2(); - }; - case "-": - return function() { - return e1() - e2(); - }; - case "/": - return function() { - return e1() / e2(); - }; - case "<": - return function() { - return e1() < e2(); - }; - case "<=": - return function() { - return e1() <= e2(); - }; - case "==": - return function() { - return e1() == e2(); - }; - case ">": - return function() { - return e1() > e2(); - }; - case ">=": - return function() { - return e1() >= e2(); - }; - case "||": - return function() { - return e1() || e2(); - }; - default: - throw haxe_Exception.thrown("Unknown operation " + p1.p); - } - break; - case "-": - var e3 = this.makeExpr(l); - return function() { - return -e3(); - }; - } - throw haxe_Exception.thrown(p.p); - } - ,run: function(e) { - switch(e._hx_index) { - case 0: - var v = e.v; - var _this = this.buf; - var x = Std.string(this.resolve(v)); - _this.b += Std.string(x); - break; - case 1: - var e1 = e.expr; - var _this = this.buf; - var x = Std.string(e1()); - _this.b += Std.string(x); - break; - case 2: - var e1 = e.expr; - var eif = e.eif; - var eelse = e.eelse; - var v = e1(); - if(v == null || v == false) { - if(eelse != null) { - this.run(eelse); - } - } else { - this.run(eif); - } - break; - case 3: - var str = e.str; - this.buf.b += str == null ? "null" : "" + str; - break; - case 4: - var l = e.l; - var _g_head = l.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var e1 = val; - this.run(e1); - } - break; - case 5: - var e1 = e.expr; - var loop = e.loop; - var v = e1(); - try { - var x = $getIterator(v); - if(x.hasNext == null) { - throw haxe_Exception.thrown(null); - } - v = x; - } catch( _g ) { - try { - if(v.hasNext == null) { - throw haxe_Exception.thrown(null); - } - } catch( _g1 ) { - throw haxe_Exception.thrown("Cannot iter on " + Std.string(v)); - } - } - this.stack.push(this.context); - var v1 = v; - var ctx = v1; - while(ctx.hasNext()) { - var ctx1 = ctx.next(); - this.context = ctx1; - this.run(loop); - } - this.context = this.stack.pop(); - break; - case 6: - var m = e.name; - var params = e.params; - var v = Reflect.field(this.macros,m); - var pl = []; - var old = this.buf; - pl.push($bind(this,this.resolve)); - var _g_head = params.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var p = val; - if(p._hx_index == 0) { - var v1 = p.v; - pl.push(this.resolve(v1)); - } else { - this.buf = new StringBuf(); - this.run(p); - pl.push(this.buf.b); - } - } - this.buf = old; - try { - var _this = this.buf; - var x = Std.string(v.apply(this.macros,pl)); - _this.b += Std.string(x); - } catch( _g ) { - var e = haxe_Exception.caught(_g).unwrap(); - var plstr; - try { - plstr = pl.join(","); - } catch( _g1 ) { - plstr = "???"; - } - var msg = "Macro call " + m + "(" + plstr + ") failed (" + Std.string(e) + ")"; - throw haxe_Exception.thrown(msg); - } - break; - } - } -}; -var haxe_ValueException = function(value,previous,native) { - haxe_Exception.call(this,String(value),previous,native); - this.value = value; -}; -haxe_ValueException.__name__ = true; -haxe_ValueException.__super__ = haxe_Exception; -haxe_ValueException.prototype = $extend(haxe_Exception.prototype,{ - unwrap: function() { - return this.value; - } -}); -var haxe_ds_List = function() { - this.length = 0; -}; -haxe_ds_List.__name__ = true; -haxe_ds_List.prototype = { - add: function(item) { - var x = new haxe_ds__$List_ListNode(item,null); - if(this.h == null) { - this.h = x; - } else { - this.q.next = x; - } - this.q = x; - this.length++; - } - ,push: function(item) { - var x = new haxe_ds__$List_ListNode(item,this.h); - this.h = x; - if(this.q == null) { - this.q = x; - } - this.length++; - } - ,first: function() { - if(this.h == null) { - return null; - } else { - return this.h.item; - } - } - ,pop: function() { - if(this.h == null) { - return null; - } - var x = this.h.item; - this.h = this.h.next; - if(this.h == null) { - this.q = null; - } - this.length--; - return x; - } - ,isEmpty: function() { - return this.h == null; - } - ,toString: function() { - var s_b = ""; - var first = true; - var l = this.h; - s_b += "{"; - while(l != null) { - if(first) { - first = false; - } else { - s_b += ", "; - } - s_b += Std.string(Std.string(l.item)); - l = l.next; - } - s_b += "}"; - return s_b; - } -}; -var haxe_ds__$List_ListNode = function(item,next) { - this.item = item; - this.next = next; -}; -haxe_ds__$List_ListNode.__name__ = true; -var js_Boot = function() { }; -js_Boot.__name__ = true; -js_Boot.__string_rec = function(o,s) { - if(o == null) { - return "null"; - } - if(s.length >= 5) { - return "<...>"; - } - var t = typeof(o); - if(t == "function" && (o.__name__ || o.__ename__)) { - t = "object"; - } - switch(t) { - case "function": - return ""; - case "object": - if(o.__enum__) { - var e = $hxEnums[o.__enum__]; - var con = e.__constructs__[o._hx_index]; - var n = con._hx_name; - if(con.__params__) { - s = s + "\t"; - return n + "(" + ((function($this) { - var $r; - var _g = []; - { - var _g1 = 0; - var _g2 = con.__params__; - while(true) { - if(!(_g1 < _g2.length)) { - break; - } - var p = _g2[_g1]; - _g1 = _g1 + 1; - _g.push(js_Boot.__string_rec(o[p],s)); - } - } - $r = _g; - return $r; - }(this))).join(",") + ")"; - } else { - return n; - } - } - if(((o) instanceof Array)) { - var str = "["; - s += "\t"; - var _g = 0; - var _g1 = o.length; - while(_g < _g1) { - var i = _g++; - str += (i > 0 ? "," : "") + js_Boot.__string_rec(o[i],s); - } - str += "]"; - return str; - } - var tostr; - try { - tostr = o.toString; - } catch( _g ) { - return "???"; - } - if(tostr != null && tostr != Object.toString && typeof(tostr) == "function") { - var s2 = o.toString(); - if(s2 != "[object Object]") { - return s2; - } - } - var str = "{\n"; - s += "\t"; - var hasp = o.hasOwnProperty != null; - var k = null; - for( k in o ) { - if(hasp && !o.hasOwnProperty(k)) { - continue; - } - if(k == "prototype" || k == "__class__" || k == "__super__" || k == "__interfaces__" || k == "__properties__") { - continue; - } - if(str.length != 2) { - str += ", \n"; - } - str += s + k + " : " + js_Boot.__string_rec(o[k],s); - } - s = s.substring(1); - str += "\n" + s + "}"; - return str; - case "string": - return o; - default: - return String(o); - } -}; -var xrfragment_Filter = $hx_exports["xrfragment"]["Filter"] = function(str) { - this.q = { }; - this.str = ""; - if(str != null) { - this.parse(str); - } -}; -xrfragment_Filter.__name__ = true; -xrfragment_Filter.prototype = { - toObject: function() { - return Reflect.copy(this.q); - } - ,get: function() { - return Reflect.copy(this.q); - } - ,parse: function(str) { - var token = str.split(" "); - var q = { }; - var process = function(str,prefix) { - if(prefix == null) { - prefix = ""; - } - str = StringTools.trim(str); - var k = str.split("=")[0]; - var v = str.split("=")[1]; - var filter = { }; - if(q[prefix + k]) { - filter = q[prefix + k]; - } - if(xrfragment_XRF.isProp.match(str)) { - var oper = ""; - if(str.indexOf(">") != -1) { - oper = ">"; - } - if(str.indexOf("<") != -1) { - oper = "<"; - } - if(xrfragment_XRF.isExclude.match(k)) { - k = HxOverrides.substr(k,1,null); - } - v = HxOverrides.substr(v,oper.length,null); - if(oper.length == 0) { - oper = "="; - } - var rule = { }; - if(xrfragment_XRF.isNumber.match(v)) { - rule[oper] = parseFloat(v); - } else { - rule[oper] = v; - } - q["expr"] = rule; - } - var value = xrfragment_XRF.isDeep.match(str) ? k.split("*").length - 1 : 0; - q["deep"] = value; - var value = xrfragment_XRF.isExclude.match(str) ? false : true; - q["show"] = value; - var value = k.replace(xrfragment_XRF.operators.r,""); - q["key"] = value; - q["value"] = v; - }; - var _g = 0; - var _g1 = token.length; - while(_g < _g1) { - var i = _g++; - process(token[i]); - } - return this.q = q; - } - ,test: function(obj) { - var qualify = false; - var _g = 0; - var _g1 = Reflect.fields(obj); - while(_g < _g1.length) { - var k = _g1[_g]; - ++_g; - var v = Std.string(Reflect.field(obj,k)); - if(this.testProperty(k,v)) { - qualify = true; - } - } - var _g = 0; - var _g1 = Reflect.fields(obj); - while(_g < _g1.length) { - var k = _g1[_g]; - ++_g; - var v = Std.string(Reflect.field(obj,k)); - if(this.testProperty(k,v,true)) { - qualify = false; - } - } - return qualify; - } - ,testProperty: function(property,value,exclude) { - var conds = 0; - var fails = 0; - var qualify = 0; - var testprop = function(expr) { - conds += 1; - fails += expr ? 0 : 1; - return expr; - }; - if(this.q[value] != null) { - var v = this.q[value]; - if(v[property] != null) { - return v[property]; - } - } - if(Reflect.field(this.q,"expr")) { - var f = Reflect.field(this.q,"expr"); - if(!Reflect.field(this.q,"show")) { - if(Reflect.field(f,"!=") != null && testprop((value == null ? "null" : "" + value) == Std.string(Reflect.field(f,"!="))) && exclude) { - ++qualify; - } - } else { - if(Reflect.field(f,"*") != null && testprop(parseFloat(value) != null)) { - ++qualify; - } - if(Reflect.field(f,">") != null && testprop(parseFloat(value) >= parseFloat(Reflect.field(f,">")))) { - ++qualify; - } - if(Reflect.field(f,"<") != null && testprop(parseFloat(value) <= parseFloat(Reflect.field(f,"<")))) { - ++qualify; - } - if(Reflect.field(f,"=") != null && (testprop(value == Reflect.field(f,"=")) || testprop(parseFloat(value) == parseFloat(Reflect.field(f,"="))))) { - ++qualify; - } - } - } - return qualify > 0; - } -}; -var xrfragment_Parser = $hx_exports["xrfragment"]["Parser"] = function() { }; -xrfragment_Parser.__name__ = true; -xrfragment_Parser.parse = function(key,value,store,index) { - var Frag_h = Object.create(null); - Frag_h["#"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_PREDEFINED_VIEW | xrfragment_XRF.PV_EXECUTE; - Frag_h["src"] = xrfragment_XRF.T_URL; - Frag_h["href"] = xrfragment_XRF.T_URL | xrfragment_XRF.T_PREDEFINED_VIEW; - Frag_h["tag"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["pos"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_VECTOR3 | xrfragment_XRF.T_STRING | xrfragment_XRF.METADATA | xrfragment_XRF.NAVIGATOR; - Frag_h["rot"] = xrfragment_XRF.QUERY_OPERATOR | xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_VECTOR3 | xrfragment_XRF.METADATA | xrfragment_XRF.NAVIGATOR; - Frag_h["t"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_FLOAT | xrfragment_XRF.T_VECTOR2 | xrfragment_XRF.NAVIGATOR | xrfragment_XRF.METADATA; - Frag_h["s"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_MEDIAFRAG; - Frag_h["loop"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_PREDEFINED_VIEW; - Frag_h["uv"] = xrfragment_XRF.T_VECTOR2 | xrfragment_XRF.T_MEDIAFRAG; - Frag_h["namespace"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["SPDX"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["unit"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["description"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - var keyStripped = key.replace(xrfragment_XRF.operators.r,""); - var isPVDynamic = key.length > 0 && !Object.prototype.hasOwnProperty.call(Frag_h,key); - if(isPVDynamic) { - var v = new xrfragment_XRF(key,xrfragment_XRF.PV_EXECUTE | xrfragment_XRF.NAVIGATOR,index); - v.validate(value); - v.flags = xrfragment_XRF.set(xrfragment_XRF.T_DYNAMICKEY,v.flags); - if(!Object.prototype.hasOwnProperty.call(Frag_h,key)) { - v.flags = xrfragment_XRF.set(xrfragment_XRF.CUSTOMFRAG,v.flags); - } - if(value.length == 0) { - v.flags = xrfragment_XRF.set(xrfragment_XRF.T_DYNAMICKEYVALUE,v.flags); - } - store[keyStripped] = v; - return true; - } - var v = new xrfragment_XRF(key,Frag_h[key],index); - if(Object.prototype.hasOwnProperty.call(Frag_h,key)) { - if(!v.validate(value)) { - console.log("src/xrfragment/Parser.hx:67:","⚠ fragment '" + key + "' has incompatible value (" + value + ")"); - return false; - } - store[keyStripped] = v; - if(xrfragment_Parser.debug) { - console.log("src/xrfragment/Parser.hx:71:","✔ " + key + ": " + v.string); - } - } else { - if(typeof(value) == "string") { - v.guessType(v,value); - } - v.flags = xrfragment_XRF.set(xrfragment_XRF.CUSTOMFRAG,v.flags); - store[keyStripped] = v; - } - return true; -}; -xrfragment_Parser.getMetaData = function() { - var meta = { title : ["title","og:title","dc.title"], description : ["aria-description","og:description","dc.description"], author : ["author","dc.creator"], publisher : ["publisher","dc.publisher"], website : ["og:site_name","og:url","dc.publisher"], license : ["SPDX","dc.rights"]}; - return meta; -}; -var xrfragment_URI = $hx_exports["xrfragment"]["URI"] = function() { - this.XRF = { }; - this.hash = { }; - this.fragment = ""; -}; -xrfragment_URI.__name__ = true; -xrfragment_URI.parseFragment = function(url,filter) { - var store = { }; - if(url == null || url.indexOf("#") == -1) { - return store; - } - var fragment = url.split("#"); - var splitArray = fragment[1].split("&"); - var _g = 0; - var _g1 = splitArray.length; - while(_g < _g1) { - var i = _g++; - var splitByEqual = splitArray[i].split("="); - var regexPlus = new EReg("\\+","g"); - var key = splitByEqual[0]; - var value = ""; - if(splitByEqual.length > 1) { - if(xrfragment_XRF.isVector.match(splitByEqual[1])) { - value = splitByEqual[1]; - } else { - var s = regexPlus.split(splitByEqual[1]).join(" "); - value = decodeURIComponent(s.split("+").join(" ")); - } - } - var ok = xrfragment_Parser.parse(key,value,store,i); - } - if(filter != null && filter != 0) { - var _g = 0; - var _g1 = Reflect.fields(store); - while(_g < _g1.length) { - var key = _g1[_g]; - ++_g; - var xrf = store[key]; - if(!xrf.is(filter)) { - Reflect.deleteField(store,key); - } - } - } - return store; -}; -xrfragment_URI.template = function(uri,vars) { - var parts = uri.split("#"); - if(parts.length == 1) { - return uri; - } - var frag = parts[1]; - frag = StringTools.replace(frag,"{","::"); - frag = StringTools.replace(frag,"}","::"); - frag = new haxe_Template(frag).execute(vars); - frag = StringTools.replace(frag,"null",""); - parts[1] = frag; - return parts.join("#"); -}; -xrfragment_URI.parse = function(stringUrl,flags) { - var r = new EReg("^(?:(?![^:@]+:[^:@/]*@)([^:/?#.]+):)?(?://)?((?:(([^:@]*)(?::([^:@]*))?)?@)?([^:/?#]*)(?::(\\d*))?)(((/(?:[^?#](?![^?#/]*\\.[^?#/.]+(?:[?#]|$)))*/?)?([^?#/]*))(?:\\?([^#]*))?(?:#(.*))?)",""); - if(stringUrl.indexOf("://") == -1 && stringUrl.charAt(0) != "/") { - stringUrl = "/" + stringUrl; - } - r.match(stringUrl); - var url = new xrfragment_URI(); - var _g = 0; - var _g1 = xrfragment_URI._parts.length; - while(_g < _g1) { - var i = _g++; - url[xrfragment_URI._parts[i]] = r.matched(i); - } - if(xrfragment_URI.isRelative(url) == true) { - if(url.directory == null && url.host != null) { - url.file = url.host; - } - url.host = ""; - } - url.hash = { }; - if(url.fragment != null && url.fragment.length > 0) { - url.XRF = xrfragment_URI.parseFragment("#" + url.fragment,flags); - var key; - var _g = 0; - var _g1 = Reflect.fields(url.XRF); - while(_g < _g1.length) { - var key = _g1[_g]; - ++_g; - var v = url.XRF[key]; - url.hash[key] = v["string"]; - } - } - xrfragment_URI.computeVars(url); - return url; -}; -xrfragment_URI.computeVars = function(url) { - var r_r = new RegExp("//","g".split("u").join("")); - if(url.directory != null && url.directory.indexOf("//") != -1) { - url.directory = url.directory.replace(r_r,"/"); - } - if(url.path != null && url.path.indexOf("//") != -1) { - url.path = url.path.replace(r_r,"/"); - } - if(url.file != null && url.file.indexOf("//") != -1) { - url.file = url.file.replace(r_r,"/"); - } - url.URN = url.scheme + "://" + url.host; - if(url.port != null) { - url.URN += ":" + url.port; - } - url.URN += url.directory; - if(url.file != null) { - var parts = url.file.split("."); - if(parts.length > 1) { - url.fileExt = parts.pop(); - } - } -}; -xrfragment_URI.toString = function(url) { - var result = ""; - if(url.scheme != null) { - result += url.scheme + "://"; - } - if(url.user != null) { - result += url.user + ":"; - } - if(url.password != null) { - result += url.password + "@"; - } - if(url.host != null) { - result += url.host; - } - if(url.port != null) { - result += ":" + url.port; - } - if(url.directory != null) { - result += url.directory; - } - if(url.file != null) { - result += url.file; - } - if(url.query != null) { - result += "?" + url.query; - } - if(url.fragment != null) { - result += "#" + url.fragment; - } - return result; -}; -xrfragment_URI.appendURI = function(url,appendedURI) { - if(xrfragment_URI.isRelative(url) == true) { - return xrfragment_URI.appendToRelativeURI(url,appendedURI); - } else { - return xrfragment_URI.appendToAbsoluteURI(url,appendedURI); - } -}; -xrfragment_URI.isRelative = function(url) { - return url.scheme == null; -}; -xrfragment_URI.appendToRelativeURI = function(url,appendedURI) { - if(url.directory == null || url.host == null) { - return xrfragment_URI.cloneURI(appendedURI); - } - var resultURI = new xrfragment_URI(); - resultURI.host = url.host; - resultURI.directory = url.directory; - if(appendedURI.host != null) { - resultURI.directory += appendedURI.host; - } - if(appendedURI.directory != null) { - var directory = appendedURI.directory; - if(appendedURI.host == null) { - resultURI.directory += HxOverrides.substr(directory,1,null); - } else { - resultURI.directory += directory; - } - } - if(appendedURI.file != null) { - resultURI.file = appendedURI.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(appendedURI.query != null) { - resultURI.query = appendedURI.query; - } - if(appendedURI.fragment != null) { - resultURI.fragment = appendedURI.fragment; - } - return resultURI; -}; -xrfragment_URI.appendToAbsoluteURI = function(url,appendedURI) { - var resultURI = new xrfragment_URI(); - if(url.scheme != null) { - resultURI.scheme = url.scheme; - } - if(url.host != null) { - resultURI.host = url.host; - } - var directory = ""; - if(url.directory != null) { - directory = url.directory; - } - if(appendedURI.host != null) { - appendedURI.directory += appendedURI.host; - } - if(appendedURI.directory != null) { - directory += appendedURI.directory; - } - resultURI.directory = directory; - if(appendedURI.file != null) { - resultURI.file = appendedURI.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(appendedURI.query != null) { - resultURI.query = appendedURI.query; - } - if(appendedURI.fragment != null) { - resultURI.fragment = appendedURI.fragment; - } - return resultURI; -}; -xrfragment_URI.toAbsolute = function(url,newUrl) { - var newURI = xrfragment_URI.parse(newUrl,0); - var resultURI = new xrfragment_URI(); - resultURI.port = url.port; - resultURI.source = newUrl; - if(newURI.scheme != null) { - resultURI.scheme = newURI.scheme; - } else { - resultURI.scheme = url.scheme; - } - if(newURI.host != null && newURI.host.length > 0) { - resultURI.host = newURI.host; - resultURI.port = null; - resultURI.fragment = null; - resultURI.hash = { }; - resultURI.XRF = { }; - if(newURI.port != null) { - resultURI.port = newURI.port; - } - } else { - resultURI.host = url.host; - } - var directory = ""; - if(url.directory != null) { - directory = url.directory; - } - if(newURI.directory != null) { - if(newUrl.charAt(0) != "/" && newUrl.indexOf("://") == -1) { - var stripRelative_r = new RegExp("\\./.*","".split("u").join("")); - directory = directory.replace(stripRelative_r,""); - directory += newURI.directory; - } else { - directory = newURI.directory; - } - } - resultURI.directory = directory; - if(newURI.file != null) { - resultURI.file = newURI.file; - } else { - resultURI.file = url.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(newURI.query != null) { - resultURI.query = newURI.query; - } - if(newURI.fragment != null) { - resultURI.fragment = newURI.fragment; - } - resultURI.hash = newURI.hash; - resultURI.XRF = newURI.XRF; - xrfragment_URI.computeVars(resultURI); - return resultURI; -}; -xrfragment_URI.cloneURI = function(url) { - var clonedURI = new xrfragment_URI(); - clonedURI.url = url.url; - clonedURI.source = url.source; - clonedURI.scheme = url.scheme; - clonedURI.authority = url.authority; - clonedURI.userInfo = url.userInfo; - clonedURI.password = url.password; - clonedURI.host = url.host; - clonedURI.port = url.port; - clonedURI.relative = url.relative; - clonedURI.path = url.path; - clonedURI.directory = url.directory; - clonedURI.file = url.file; - clonedURI.query = url.query; - clonedURI.fragment = url.fragment; - return clonedURI; -}; -var xrfragment_XRF = $hx_exports["xrfragment"]["XRF"] = function(_fragment,_flags,_index) { - this.floats = []; - this.shift = []; - this.fragment = _fragment; - this.flags = _flags; - this.index = _index; -}; -xrfragment_XRF.__name__ = true; -xrfragment_XRF.set = function(flag,flags) { - return flags | flag; -}; -xrfragment_XRF.unset = function(flag,flags) { - return flags & ~flag; -}; -xrfragment_XRF.prototype = { - is: function(flag) { - var v = this.flags; - if(!(typeof(v) == "number" && ((v | 0) === v))) { - this.flags = 0; - } - return (this.flags & flag) != 0; - } - ,validate: function(value) { - this.guessType(this,value); - var ok = true; - if(value.length == 0 && !this.is(xrfragment_XRF.T_PREDEFINED_VIEW)) { - ok = false; - } - if(!this.is(xrfragment_XRF.T_FLOAT) && this.is(xrfragment_XRF.T_VECTOR2) && !(typeof(this.x) == "number" && typeof(this.y) == "number")) { - ok = false; - } - if(!(this.is(xrfragment_XRF.T_VECTOR2) || this.is(xrfragment_XRF.T_STRING)) && this.is(xrfragment_XRF.T_VECTOR3) && !(typeof(this.x) == "number" && typeof(this.y) == "number" && typeof(this.z) == "number")) { - ok = false; - } - return ok; - } - ,guessType: function(v,str) { - v.string = str; - if(xrfragment_XRF.isReset.match(v.fragment)) { - v.reset = true; - } - if(v.fragment == "loop") { - v.loop = true; - } - if(typeof(str) != "string") { - return; - } - if(str.length > 0) { - if(xrfragment_XRF.isXRFScheme.match(str)) { - v.xrfScheme = true; - str = str.replace(xrfragment_XRF.isXRFScheme.r,""); - v.string = str; - } - if(str.split(",").length > 1) { - var xyzn = str.split(","); - if(xyzn.length > 0) { - v.x = parseFloat(xyzn[0]); - } - if(xyzn.length > 1) { - v.y = parseFloat(xyzn[1]); - } - if(xyzn.length > 2) { - v.z = parseFloat(xyzn[2]); - } - var _g = 0; - var _g1 = xyzn.length; - while(_g < _g1) { - var i = _g++; - v.shift.push(xrfragment_XRF.isShift.match(xyzn[i])); - v.floats.push(parseFloat(xyzn[i].replace(xrfragment_XRF.isShift.r,""))); - } - } - if(xrfragment_XRF.isColor.match(str)) { - v.color = str; - } - if(xrfragment_XRF.isFloat.match(str)) { - v.x = parseFloat(str); - v.float = v.x; - } - if(xrfragment_XRF.isInt.match(str)) { - v.int = Std.parseInt(str); - v.x = v.int; - v.floats.push(v.x); - } - v.filter = new xrfragment_Filter(v.fragment + "=" + v.string); - } else { - v.filter = new xrfragment_Filter(v.fragment); - } - } -}; -function $getIterator(o) { if( o instanceof Array ) return new haxe_iterators_ArrayIterator(o); else return o.iterator(); } -function $bind(o,m) { if( m == null ) return null; if( m.__id__ == null ) m.__id__ = $global.$haxeUID++; var f; if( o.hx__closures__ == null ) o.hx__closures__ = {}; else f = o.hx__closures__[m.__id__]; if( f == null ) { f = m.bind(o); o.hx__closures__[m.__id__] = f; } return f; } -$global.$haxeUID |= 0; -if(typeof(performance) != "undefined" ? typeof(performance.now) == "function" : false) { - HxOverrides.now = performance.now.bind(performance); -} -if( String.fromCodePoint == null ) String.fromCodePoint = function(c) { return c < 0x10000 ? String.fromCharCode(c) : String.fromCharCode((c>>10)+0xD7C0)+String.fromCharCode((c&0x3FF)+0xDC00); } -String.__name__ = true; -Array.__name__ = true; -js_Boot.__toStr = ({ }).toString; -haxe_Template.splitter = new EReg("(::[A-Za-z0-9_ ()&|!+=/><*.\"-]+::|\\$\\$([A-Za-z0-9_-]+)\\()",""); -haxe_Template.expr_splitter = new EReg("(\\(|\\)|[ \r\n\t]*\"[^\"]*\"[ \r\n\t]*|[!+=/><*.&|-]+)",""); -haxe_Template.expr_trim = new EReg("^[ ]*([^ ]+)[ ]*$",""); -haxe_Template.expr_int = new EReg("^[0-9]+$",""); -haxe_Template.expr_float = new EReg("^([+-]?)(?=\\d|,\\d)\\d*(,\\d*)?([Ee]([+-]?\\d+))?$",""); -haxe_Template.globals = { }; -haxe_Template.hxKeepArrayIterator = new haxe_iterators_ArrayIterator([]); -xrfragment_Parser.error = ""; -xrfragment_Parser.debug = false; -xrfragment_URI.__meta__ = { statics : { template : { keep : null}}}; -xrfragment_URI._parts = ["source","scheme","authority","userInfo","user","password","host","port","relative","path","directory","file","query","fragment"]; -xrfragment_XRF.IMMUTABLE = 1; -xrfragment_XRF.PROP_BIND = 2; -xrfragment_XRF.QUERY_OPERATOR = 4; -xrfragment_XRF.PROMPT = 8; -xrfragment_XRF.CUSTOMFRAG = 16; -xrfragment_XRF.NAVIGATOR = 32; -xrfragment_XRF.METADATA = 64; -xrfragment_XRF.PV_OVERRIDE = 128; -xrfragment_XRF.PV_EXECUTE = 256; -xrfragment_XRF.T_COLOR = 8192; -xrfragment_XRF.T_INT = 16384; -xrfragment_XRF.T_FLOAT = 32768; -xrfragment_XRF.T_VECTOR2 = 65536; -xrfragment_XRF.T_VECTOR3 = 131072; -xrfragment_XRF.T_URL = 262144; -xrfragment_XRF.T_PREDEFINED_VIEW = 524288; -xrfragment_XRF.T_STRING = 1048576; -xrfragment_XRF.T_MEDIAFRAG = 2097152; -xrfragment_XRF.T_DYNAMICKEY = 4194304; -xrfragment_XRF.T_DYNAMICKEYVALUE = 8388608; -xrfragment_XRF.isColor = new EReg("^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$",""); -xrfragment_XRF.isInt = new EReg("^[-0-9]+$",""); -xrfragment_XRF.isFloat = new EReg("^[-0-9]+\\.[0-9]+$",""); -xrfragment_XRF.isVector = new EReg("([,]+|\\w)",""); -xrfragment_XRF.isUrl = new EReg("(://)?\\..*",""); -xrfragment_XRF.isUrlOrPretypedView = new EReg("(^#|://)?\\..*",""); -xrfragment_XRF.isString = new EReg(".*",""); -xrfragment_XRF.operators = new EReg("(^[-]|^[!]|[\\*]$)","g"); -xrfragment_XRF.isProp = new EReg("^.*=[><=]?",""); -xrfragment_XRF.isExclude = new EReg("^-",""); -xrfragment_XRF.isDeep = new EReg("\\*",""); -xrfragment_XRF.isNumber = new EReg("^[0-9\\.]+$",""); -xrfragment_XRF.isMediaFrag = new EReg("^([0-9\\.,\\*+-]+)$",""); -xrfragment_XRF.isReset = new EReg("^!",""); -xrfragment_XRF.isShift = new EReg("^(\\+|--)",""); -xrfragment_XRF.isXRFScheme = new EReg("^xrf://",""); -})(typeof window != "undefined" ? window : typeof global != "undefined" ? global : typeof self != "undefined" ? self : this); -var xrfragment = $hx_exports["xrfragment"]; -export default xrfragment; -// Generated by Haxe 4.3.3 -var $hx_exports = typeof exports != "undefined" ? exports : typeof window != "undefined" ? window : typeof self != "undefined" ? self : this; -(function ($global) { "use strict"; -$hx_exports["xrfragment"] = $hx_exports["xrfragment"] || {}; -var $estr = function() { return js_Boot.__string_rec(this,''); },$hxEnums = $hxEnums || {},$_; -function $extend(from, fields) { - var proto = Object.create(from); - for (var name in fields) proto[name] = fields[name]; - if( fields.toString !== Object.prototype.toString ) proto.toString = fields.toString; - return proto; -} -var EReg = function(r,opt) { - this.r = new RegExp(r,opt.split("u").join("")); -}; -EReg.__name__ = true; -EReg.prototype = { - match: function(s) { - if(this.r.global) { - this.r.lastIndex = 0; - } - this.r.m = this.r.exec(s); - this.r.s = s; - return this.r.m != null; - } - ,matched: function(n) { - if(this.r.m != null && n >= 0 && n < this.r.m.length) { - return this.r.m[n]; - } else { - throw haxe_Exception.thrown("EReg::matched"); - } - } - ,matchedRight: function() { - if(this.r.m == null) { - throw haxe_Exception.thrown("No string matched"); - } - var sz = this.r.m.index + this.r.m[0].length; - return HxOverrides.substr(this.r.s,sz,this.r.s.length - sz); - } - ,matchedPos: function() { - if(this.r.m == null) { - throw haxe_Exception.thrown("No string matched"); - } - return { pos : this.r.m.index, len : this.r.m[0].length}; - } - ,split: function(s) { - var d = "#__delim__#"; - return s.replace(this.r,d).split(d); - } -}; -var HxOverrides = function() { }; -HxOverrides.__name__ = true; -HxOverrides.cca = function(s,index) { - var x = s.charCodeAt(index); - if(x != x) { - return undefined; - } - return x; -}; -HxOverrides.substr = function(s,pos,len) { - if(len == null) { - len = s.length; - } else if(len < 0) { - if(pos == 0) { - len = s.length + len; - } else { - return ""; - } - } - return s.substr(pos,len); -}; -HxOverrides.now = function() { - return Date.now(); -}; -Math.__name__ = true; -var Reflect = function() { }; -Reflect.__name__ = true; -Reflect.field = function(o,field) { - try { - return o[field]; - } catch( _g ) { - return null; - } -}; -Reflect.getProperty = function(o,field) { - var tmp; - if(o == null) { - return null; - } else { - var tmp1; - if(o.__properties__) { - tmp = o.__properties__["get_" + field]; - tmp1 = tmp; - } else { - tmp1 = false; - } - if(tmp1) { - return o[tmp](); - } else { - return o[field]; - } - } -}; -Reflect.fields = function(o) { - var a = []; - if(o != null) { - var hasOwnProperty = Object.prototype.hasOwnProperty; - for( var f in o ) { - if(f != "__id__" && f != "hx__closures__" && hasOwnProperty.call(o,f)) { - a.push(f); - } - } - } - return a; -}; -Reflect.isObject = function(v) { - if(v == null) { - return false; - } - var t = typeof(v); - if(!(t == "string" || t == "object" && v.__enum__ == null)) { - if(t == "function") { - return (v.__name__ || v.__ename__) != null; - } else { - return false; - } - } else { - return true; - } -}; -Reflect.deleteField = function(o,field) { - if(!Object.prototype.hasOwnProperty.call(o,field)) { - return false; - } - delete(o[field]); - return true; -}; -Reflect.copy = function(o) { - if(o == null) { - return null; - } - var o2 = { }; - var _g = 0; - var _g1 = Reflect.fields(o); - while(_g < _g1.length) { - var f = _g1[_g]; - ++_g; - o2[f] = Reflect.field(o,f); - } - return o2; -}; -var Std = function() { }; -Std.__name__ = true; -Std.string = function(s) { - return js_Boot.__string_rec(s,""); -}; -Std.parseInt = function(x) { - var v = parseInt(x); - if(isNaN(v)) { - return null; - } - return v; -}; -var StringBuf = function() { - this.b = ""; -}; -StringBuf.__name__ = true; -var StringTools = function() { }; -StringTools.__name__ = true; -StringTools.isSpace = function(s,pos) { - var c = HxOverrides.cca(s,pos); - if(!(c > 8 && c < 14)) { - return c == 32; - } else { - return true; - } -}; -StringTools.ltrim = function(s) { - var l = s.length; - var r = 0; - while(r < l && StringTools.isSpace(s,r)) ++r; - if(r > 0) { - return HxOverrides.substr(s,r,l - r); - } else { - return s; - } -}; -StringTools.rtrim = function(s) { - var l = s.length; - var r = 0; - while(r < l && StringTools.isSpace(s,l - r - 1)) ++r; - if(r > 0) { - return HxOverrides.substr(s,0,l - r); - } else { - return s; - } -}; -StringTools.trim = function(s) { - return StringTools.ltrim(StringTools.rtrim(s)); -}; -StringTools.replace = function(s,sub,by) { - return s.split(sub).join(by); -}; -var haxe_Exception = function(message,previous,native) { - Error.call(this,message); - this.message = message; - this.__previousException = previous; - this.__nativeException = native != null ? native : this; -}; -haxe_Exception.__name__ = true; -haxe_Exception.caught = function(value) { - if(((value) instanceof haxe_Exception)) { - return value; - } else if(((value) instanceof Error)) { - return new haxe_Exception(value.message,null,value); - } else { - return new haxe_ValueException(value,null,value); - } -}; -haxe_Exception.thrown = function(value) { - if(((value) instanceof haxe_Exception)) { - return value.get_native(); - } else if(((value) instanceof Error)) { - return value; - } else { - var e = new haxe_ValueException(value); - return e; - } -}; -haxe_Exception.__super__ = Error; -haxe_Exception.prototype = $extend(Error.prototype,{ - unwrap: function() { - return this.__nativeException; - } - ,get_native: function() { - return this.__nativeException; - } - ,__properties__: {get_native:"get_native"} -}); -var haxe__$Template_TemplateExpr = $hxEnums["haxe._Template.TemplateExpr"] = { __ename__:true,__constructs__:null - ,OpVar: ($_=function(v) { return {_hx_index:0,v:v,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpVar",$_.__params__ = ["v"],$_) - ,OpExpr: ($_=function(expr) { return {_hx_index:1,expr:expr,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpExpr",$_.__params__ = ["expr"],$_) - ,OpIf: ($_=function(expr,eif,eelse) { return {_hx_index:2,expr:expr,eif:eif,eelse:eelse,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpIf",$_.__params__ = ["expr","eif","eelse"],$_) - ,OpStr: ($_=function(str) { return {_hx_index:3,str:str,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpStr",$_.__params__ = ["str"],$_) - ,OpBlock: ($_=function(l) { return {_hx_index:4,l:l,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpBlock",$_.__params__ = ["l"],$_) - ,OpForeach: ($_=function(expr,loop) { return {_hx_index:5,expr:expr,loop:loop,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpForeach",$_.__params__ = ["expr","loop"],$_) - ,OpMacro: ($_=function(name,params) { return {_hx_index:6,name:name,params:params,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpMacro",$_.__params__ = ["name","params"],$_) -}; -haxe__$Template_TemplateExpr.__constructs__ = [haxe__$Template_TemplateExpr.OpVar,haxe__$Template_TemplateExpr.OpExpr,haxe__$Template_TemplateExpr.OpIf,haxe__$Template_TemplateExpr.OpStr,haxe__$Template_TemplateExpr.OpBlock,haxe__$Template_TemplateExpr.OpForeach,haxe__$Template_TemplateExpr.OpMacro]; -var haxe_iterators_ArrayIterator = function(array) { - this.current = 0; - this.array = array; -}; -haxe_iterators_ArrayIterator.__name__ = true; -haxe_iterators_ArrayIterator.prototype = { - hasNext: function() { - return this.current < this.array.length; - } - ,next: function() { - return this.array[this.current++]; - } -}; -var haxe_Template = function(str) { - var tokens = this.parseTokens(str); - this.expr = this.parseBlock(tokens); - if(!tokens.isEmpty()) { - throw haxe_Exception.thrown("Unexpected '" + Std.string(tokens.first().s) + "'"); - } -}; -haxe_Template.__name__ = true; -haxe_Template.prototype = { - execute: function(context,macros) { - this.macros = macros == null ? { } : macros; - this.context = context; - this.stack = new haxe_ds_List(); - this.buf = new StringBuf(); - this.run(this.expr); - return this.buf.b; - } - ,resolve: function(v) { - if(v == "__current__") { - return this.context; - } - if(Reflect.isObject(this.context)) { - var value = Reflect.getProperty(this.context,v); - if(value != null || Object.prototype.hasOwnProperty.call(this.context,v)) { - return value; - } - } - var _g_head = this.stack.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var ctx = val; - var value = Reflect.getProperty(ctx,v); - if(value != null || Object.prototype.hasOwnProperty.call(ctx,v)) { - return value; - } - } - return Reflect.field(haxe_Template.globals,v); - } - ,parseTokens: function(data) { - var tokens = new haxe_ds_List(); - while(haxe_Template.splitter.match(data)) { - var p = haxe_Template.splitter.matchedPos(); - if(p.pos > 0) { - tokens.add({ p : HxOverrides.substr(data,0,p.pos), s : true, l : null}); - } - if(HxOverrides.cca(data,p.pos) == 58) { - tokens.add({ p : HxOverrides.substr(data,p.pos + 2,p.len - 4), s : false, l : null}); - data = haxe_Template.splitter.matchedRight(); - continue; - } - var parp = p.pos + p.len; - var npar = 1; - var params = []; - var part = ""; - while(true) { - var c = HxOverrides.cca(data,parp); - ++parp; - if(c == 40) { - ++npar; - } else if(c == 41) { - --npar; - if(npar <= 0) { - break; - } - } else if(c == null) { - throw haxe_Exception.thrown("Unclosed macro parenthesis"); - } - if(c == 44 && npar == 1) { - params.push(part); - part = ""; - } else { - part += String.fromCodePoint(c); - } - } - params.push(part); - tokens.add({ p : haxe_Template.splitter.matched(2), s : false, l : params}); - data = HxOverrides.substr(data,parp,data.length - parp); - } - if(data.length > 0) { - tokens.add({ p : data, s : true, l : null}); - } - return tokens; - } - ,parseBlock: function(tokens) { - var l = new haxe_ds_List(); - while(true) { - var t = tokens.first(); - if(t == null) { - break; - } - if(!t.s && (t.p == "end" || t.p == "else" || HxOverrides.substr(t.p,0,7) == "elseif ")) { - break; - } - l.add(this.parse(tokens)); - } - if(l.length == 1) { - return l.first(); - } - return haxe__$Template_TemplateExpr.OpBlock(l); - } - ,parse: function(tokens) { - var t = tokens.pop(); - var p = t.p; - if(t.s) { - return haxe__$Template_TemplateExpr.OpStr(p); - } - if(t.l != null) { - var pe = new haxe_ds_List(); - var _g = 0; - var _g1 = t.l; - while(_g < _g1.length) { - var p1 = _g1[_g]; - ++_g; - pe.add(this.parseBlock(this.parseTokens(p1))); - } - return haxe__$Template_TemplateExpr.OpMacro(p,pe); - } - var kwdEnd = function(kwd) { - var pos = -1; - var length = kwd.length; - if(HxOverrides.substr(p,0,length) == kwd) { - pos = length; - var _g_offset = 0; - var _g_s = HxOverrides.substr(p,length,null); - while(_g_offset < _g_s.length) { - var c = _g_s.charCodeAt(_g_offset++); - if(c == 32) { - ++pos; - } else { - break; - } - } - } - return pos; - }; - var pos = kwdEnd("if"); - if(pos > 0) { - p = HxOverrides.substr(p,pos,p.length - pos); - var e = this.parseExpr(p); - var eif = this.parseBlock(tokens); - var t = tokens.first(); - var eelse; - if(t == null) { - throw haxe_Exception.thrown("Unclosed 'if'"); - } - if(t.p == "end") { - tokens.pop(); - eelse = null; - } else if(t.p == "else") { - tokens.pop(); - eelse = this.parseBlock(tokens); - t = tokens.pop(); - if(t == null || t.p != "end") { - throw haxe_Exception.thrown("Unclosed 'else'"); - } - } else { - t.p = HxOverrides.substr(t.p,4,t.p.length - 4); - eelse = this.parse(tokens); - } - return haxe__$Template_TemplateExpr.OpIf(e,eif,eelse); - } - var pos = kwdEnd("foreach"); - if(pos >= 0) { - p = HxOverrides.substr(p,pos,p.length - pos); - var e = this.parseExpr(p); - var efor = this.parseBlock(tokens); - var t = tokens.pop(); - if(t == null || t.p != "end") { - throw haxe_Exception.thrown("Unclosed 'foreach'"); - } - return haxe__$Template_TemplateExpr.OpForeach(e,efor); - } - if(haxe_Template.expr_splitter.match(p)) { - return haxe__$Template_TemplateExpr.OpExpr(this.parseExpr(p)); - } - return haxe__$Template_TemplateExpr.OpVar(p); - } - ,parseExpr: function(data) { - var l = new haxe_ds_List(); - var expr = data; - while(haxe_Template.expr_splitter.match(data)) { - var p = haxe_Template.expr_splitter.matchedPos(); - var k = p.pos + p.len; - if(p.pos != 0) { - l.add({ p : HxOverrides.substr(data,0,p.pos), s : true}); - } - var p1 = haxe_Template.expr_splitter.matched(0); - l.add({ p : p1, s : p1.indexOf("\"") >= 0}); - data = haxe_Template.expr_splitter.matchedRight(); - } - if(data.length != 0) { - var _g_offset = 0; - var _g_s = data; - while(_g_offset < _g_s.length) { - var _g_key = _g_offset; - var _g_value = _g_s.charCodeAt(_g_offset++); - var i = _g_key; - var c = _g_value; - if(c != 32) { - l.add({ p : HxOverrides.substr(data,i,null), s : true}); - break; - } - } - } - var e; - try { - e = this.makeExpr(l); - if(!l.isEmpty()) { - throw haxe_Exception.thrown(l.first().p); - } - } catch( _g ) { - var _g1 = haxe_Exception.caught(_g).unwrap(); - if(typeof(_g1) == "string") { - var s = _g1; - throw haxe_Exception.thrown("Unexpected '" + s + "' in " + expr); - } else { - throw _g; - } - } - return function() { - try { - return e(); - } catch( _g ) { - var exc = haxe_Exception.caught(_g).unwrap(); - throw haxe_Exception.thrown("Error : " + Std.string(exc) + " in " + expr); - } - }; - } - ,makeConst: function(v) { - haxe_Template.expr_trim.match(v); - v = haxe_Template.expr_trim.matched(1); - if(HxOverrides.cca(v,0) == 34) { - var str = HxOverrides.substr(v,1,v.length - 2); - return function() { - return str; - }; - } - if(haxe_Template.expr_int.match(v)) { - var i = Std.parseInt(v); - return function() { - return i; - }; - } - if(haxe_Template.expr_float.match(v)) { - var f = parseFloat(v); - return function() { - return f; - }; - } - var me = this; - return function() { - return me.resolve(v); - }; - } - ,makePath: function(e,l) { - var p = l.first(); - if(p == null || p.p != ".") { - return e; - } - l.pop(); - var field = l.pop(); - if(field == null || !field.s) { - throw haxe_Exception.thrown(field.p); - } - var f = field.p; - haxe_Template.expr_trim.match(f); - f = haxe_Template.expr_trim.matched(1); - return this.makePath(function() { - return Reflect.field(e(),f); - },l); - } - ,makeExpr: function(l) { - return this.makePath(this.makeExpr2(l),l); - } - ,skipSpaces: function(l) { - var p = l.first(); - while(p != null) { - var _g_offset = 0; - var _g_s = p.p; - while(_g_offset < _g_s.length) { - var c = _g_s.charCodeAt(_g_offset++); - if(c != 32) { - return; - } - } - l.pop(); - p = l.first(); - } - } - ,makeExpr2: function(l) { - this.skipSpaces(l); - var p = l.pop(); - this.skipSpaces(l); - if(p == null) { - throw haxe_Exception.thrown(""); - } - if(p.s) { - return this.makeConst(p.p); - } - switch(p.p) { - case "!": - var e = this.makeExpr(l); - return function() { - var v = e(); - if(v != null) { - return v == false; - } else { - return true; - } - }; - case "(": - this.skipSpaces(l); - var e1 = this.makeExpr(l); - this.skipSpaces(l); - var p1 = l.pop(); - if(p1 == null || p1.s) { - throw haxe_Exception.thrown(p1); - } - if(p1.p == ")") { - return e1; - } - this.skipSpaces(l); - var e2 = this.makeExpr(l); - this.skipSpaces(l); - var p2 = l.pop(); - this.skipSpaces(l); - if(p2 == null || p2.p != ")") { - throw haxe_Exception.thrown(p2); - } - switch(p1.p) { - case "!=": - return function() { - return e1() != e2(); - }; - case "&&": - return function() { - return e1() && e2(); - }; - case "*": - return function() { - return e1() * e2(); - }; - case "+": - return function() { - return e1() + e2(); - }; - case "-": - return function() { - return e1() - e2(); - }; - case "/": - return function() { - return e1() / e2(); - }; - case "<": - return function() { - return e1() < e2(); - }; - case "<=": - return function() { - return e1() <= e2(); - }; - case "==": - return function() { - return e1() == e2(); - }; - case ">": - return function() { - return e1() > e2(); - }; - case ">=": - return function() { - return e1() >= e2(); - }; - case "||": - return function() { - return e1() || e2(); - }; - default: - throw haxe_Exception.thrown("Unknown operation " + p1.p); - } - break; - case "-": - var e3 = this.makeExpr(l); - return function() { - return -e3(); - }; - } - throw haxe_Exception.thrown(p.p); - } - ,run: function(e) { - switch(e._hx_index) { - case 0: - var v = e.v; - var _this = this.buf; - var x = Std.string(this.resolve(v)); - _this.b += Std.string(x); - break; - case 1: - var e1 = e.expr; - var _this = this.buf; - var x = Std.string(e1()); - _this.b += Std.string(x); - break; - case 2: - var e1 = e.expr; - var eif = e.eif; - var eelse = e.eelse; - var v = e1(); - if(v == null || v == false) { - if(eelse != null) { - this.run(eelse); - } - } else { - this.run(eif); - } - break; - case 3: - var str = e.str; - this.buf.b += str == null ? "null" : "" + str; - break; - case 4: - var l = e.l; - var _g_head = l.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var e1 = val; - this.run(e1); - } - break; - case 5: - var e1 = e.expr; - var loop = e.loop; - var v = e1(); - try { - var x = $getIterator(v); - if(x.hasNext == null) { - throw haxe_Exception.thrown(null); - } - v = x; - } catch( _g ) { - try { - if(v.hasNext == null) { - throw haxe_Exception.thrown(null); - } - } catch( _g1 ) { - throw haxe_Exception.thrown("Cannot iter on " + Std.string(v)); - } - } - this.stack.push(this.context); - var v1 = v; - var ctx = v1; - while(ctx.hasNext()) { - var ctx1 = ctx.next(); - this.context = ctx1; - this.run(loop); - } - this.context = this.stack.pop(); - break; - case 6: - var m = e.name; - var params = e.params; - var v = Reflect.field(this.macros,m); - var pl = []; - var old = this.buf; - pl.push($bind(this,this.resolve)); - var _g_head = params.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var p = val; - if(p._hx_index == 0) { - var v1 = p.v; - pl.push(this.resolve(v1)); - } else { - this.buf = new StringBuf(); - this.run(p); - pl.push(this.buf.b); - } - } - this.buf = old; - try { - var _this = this.buf; - var x = Std.string(v.apply(this.macros,pl)); - _this.b += Std.string(x); - } catch( _g ) { - var e = haxe_Exception.caught(_g).unwrap(); - var plstr; - try { - plstr = pl.join(","); - } catch( _g1 ) { - plstr = "???"; - } - var msg = "Macro call " + m + "(" + plstr + ") failed (" + Std.string(e) + ")"; - throw haxe_Exception.thrown(msg); - } - break; - } - } -}; -var haxe_ValueException = function(value,previous,native) { - haxe_Exception.call(this,String(value),previous,native); - this.value = value; -}; -haxe_ValueException.__name__ = true; -haxe_ValueException.__super__ = haxe_Exception; -haxe_ValueException.prototype = $extend(haxe_Exception.prototype,{ - unwrap: function() { - return this.value; - } -}); -var haxe_ds_List = function() { - this.length = 0; -}; -haxe_ds_List.__name__ = true; -haxe_ds_List.prototype = { - add: function(item) { - var x = new haxe_ds__$List_ListNode(item,null); - if(this.h == null) { - this.h = x; - } else { - this.q.next = x; - } - this.q = x; - this.length++; - } - ,push: function(item) { - var x = new haxe_ds__$List_ListNode(item,this.h); - this.h = x; - if(this.q == null) { - this.q = x; - } - this.length++; - } - ,first: function() { - if(this.h == null) { - return null; - } else { - return this.h.item; - } - } - ,pop: function() { - if(this.h == null) { - return null; - } - var x = this.h.item; - this.h = this.h.next; - if(this.h == null) { - this.q = null; - } - this.length--; - return x; - } - ,isEmpty: function() { - return this.h == null; - } - ,toString: function() { - var s_b = ""; - var first = true; - var l = this.h; - s_b += "{"; - while(l != null) { - if(first) { - first = false; - } else { - s_b += ", "; - } - s_b += Std.string(Std.string(l.item)); - l = l.next; - } - s_b += "}"; - return s_b; - } -}; -var haxe_ds__$List_ListNode = function(item,next) { - this.item = item; - this.next = next; -}; -haxe_ds__$List_ListNode.__name__ = true; -var js_Boot = function() { }; -js_Boot.__name__ = true; -js_Boot.__string_rec = function(o,s) { - if(o == null) { - return "null"; - } - if(s.length >= 5) { - return "<...>"; - } - var t = typeof(o); - if(t == "function" && (o.__name__ || o.__ename__)) { - t = "object"; - } - switch(t) { - case "function": - return ""; - case "object": - if(o.__enum__) { - var e = $hxEnums[o.__enum__]; - var con = e.__constructs__[o._hx_index]; - var n = con._hx_name; - if(con.__params__) { - s = s + "\t"; - return n + "(" + ((function($this) { - var $r; - var _g = []; - { - var _g1 = 0; - var _g2 = con.__params__; - while(true) { - if(!(_g1 < _g2.length)) { - break; - } - var p = _g2[_g1]; - _g1 = _g1 + 1; - _g.push(js_Boot.__string_rec(o[p],s)); - } - } - $r = _g; - return $r; - }(this))).join(",") + ")"; - } else { - return n; - } - } - if(((o) instanceof Array)) { - var str = "["; - s += "\t"; - var _g = 0; - var _g1 = o.length; - while(_g < _g1) { - var i = _g++; - str += (i > 0 ? "," : "") + js_Boot.__string_rec(o[i],s); - } - str += "]"; - return str; - } - var tostr; - try { - tostr = o.toString; - } catch( _g ) { - return "???"; - } - if(tostr != null && tostr != Object.toString && typeof(tostr) == "function") { - var s2 = o.toString(); - if(s2 != "[object Object]") { - return s2; - } - } - var str = "{\n"; - s += "\t"; - var hasp = o.hasOwnProperty != null; - var k = null; - for( k in o ) { - if(hasp && !o.hasOwnProperty(k)) { - continue; - } - if(k == "prototype" || k == "__class__" || k == "__super__" || k == "__interfaces__" || k == "__properties__") { - continue; - } - if(str.length != 2) { - str += ", \n"; - } - str += s + k + " : " + js_Boot.__string_rec(o[k],s); - } - s = s.substring(1); - str += "\n" + s + "}"; - return str; - case "string": - return o; - default: - return String(o); - } -}; -var xrfragment_Filter = $hx_exports["xrfragment"]["Filter"] = function(str) { - this.q = { }; - this.str = ""; - if(str != null) { - this.parse(str); - } -}; -xrfragment_Filter.__name__ = true; -xrfragment_Filter.prototype = { - toObject: function() { - return Reflect.copy(this.q); - } - ,get: function() { - return Reflect.copy(this.q); - } - ,parse: function(str) { - var token = str.split(" "); - var q = { }; - var process = function(str,prefix) { - if(prefix == null) { - prefix = ""; - } - str = StringTools.trim(str); - var k = str.split("=")[0]; - var v = str.split("=")[1]; - var filter = { }; - if(q[prefix + k]) { - filter = q[prefix + k]; - } - if(xrfragment_XRF.isProp.match(str)) { - var oper = ""; - if(str.indexOf(">") != -1) { - oper = ">"; - } - if(str.indexOf("<") != -1) { - oper = "<"; - } - if(xrfragment_XRF.isExclude.match(k)) { - k = HxOverrides.substr(k,1,null); - } - v = HxOverrides.substr(v,oper.length,null); - if(oper.length == 0) { - oper = "="; - } - var rule = { }; - if(xrfragment_XRF.isNumber.match(v)) { - rule[oper] = parseFloat(v); - } else { - rule[oper] = v; - } - q["expr"] = rule; - } - var value = xrfragment_XRF.isDeep.match(str) ? k.split("*").length - 1 : 0; - q["deep"] = value; - var value = xrfragment_XRF.isExclude.match(str) ? false : true; - q["show"] = value; - var value = k.replace(xrfragment_XRF.operators.r,""); - q["key"] = value; - q["value"] = v; - }; - var _g = 0; - var _g1 = token.length; - while(_g < _g1) { - var i = _g++; - process(token[i]); - } - return this.q = q; - } - ,test: function(obj) { - var qualify = false; - var _g = 0; - var _g1 = Reflect.fields(obj); - while(_g < _g1.length) { - var k = _g1[_g]; - ++_g; - var v = Std.string(Reflect.field(obj,k)); - if(this.testProperty(k,v)) { - qualify = true; - } - } - var _g = 0; - var _g1 = Reflect.fields(obj); - while(_g < _g1.length) { - var k = _g1[_g]; - ++_g; - var v = Std.string(Reflect.field(obj,k)); - if(this.testProperty(k,v,true)) { - qualify = false; - } - } - return qualify; - } - ,testProperty: function(property,value,exclude) { - var conds = 0; - var fails = 0; - var qualify = 0; - var testprop = function(expr) { - conds += 1; - fails += expr ? 0 : 1; - return expr; - }; - if(this.q[value] != null) { - var v = this.q[value]; - if(v[property] != null) { - return v[property]; - } - } - if(Reflect.field(this.q,"expr")) { - var f = Reflect.field(this.q,"expr"); - if(!Reflect.field(this.q,"show")) { - if(Reflect.field(f,"!=") != null && testprop((value == null ? "null" : "" + value) == Std.string(Reflect.field(f,"!="))) && exclude) { - ++qualify; - } - } else { - if(Reflect.field(f,"*") != null && testprop(parseFloat(value) != null)) { - ++qualify; - } - if(Reflect.field(f,">") != null && testprop(parseFloat(value) >= parseFloat(Reflect.field(f,">")))) { - ++qualify; - } - if(Reflect.field(f,"<") != null && testprop(parseFloat(value) <= parseFloat(Reflect.field(f,"<")))) { - ++qualify; - } - if(Reflect.field(f,"=") != null && (testprop(value == Reflect.field(f,"=")) || testprop(parseFloat(value) == parseFloat(Reflect.field(f,"="))))) { - ++qualify; - } - } - } - return qualify > 0; - } -}; -var xrfragment_Parser = $hx_exports["xrfragment"]["Parser"] = function() { }; -xrfragment_Parser.__name__ = true; -xrfragment_Parser.parse = function(key,value,store,index) { - var Frag_h = Object.create(null); - Frag_h["#"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_PREDEFINED_VIEW | xrfragment_XRF.PV_EXECUTE; - Frag_h["src"] = xrfragment_XRF.T_URL; - Frag_h["href"] = xrfragment_XRF.T_URL | xrfragment_XRF.T_PREDEFINED_VIEW; - Frag_h["tag"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["pos"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_VECTOR3 | xrfragment_XRF.T_STRING | xrfragment_XRF.METADATA | xrfragment_XRF.NAVIGATOR; - Frag_h["rot"] = xrfragment_XRF.QUERY_OPERATOR | xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_VECTOR3 | xrfragment_XRF.METADATA | xrfragment_XRF.NAVIGATOR; - Frag_h["t"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_FLOAT | xrfragment_XRF.T_VECTOR2 | xrfragment_XRF.NAVIGATOR | xrfragment_XRF.METADATA; - Frag_h["s"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_MEDIAFRAG; - Frag_h["loop"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_PREDEFINED_VIEW; - Frag_h["uv"] = xrfragment_XRF.T_VECTOR2 | xrfragment_XRF.T_MEDIAFRAG; - Frag_h["namespace"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["SPDX"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["unit"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["description"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - var keyStripped = key.replace(xrfragment_XRF.operators.r,""); - var isPVDynamic = key.length > 0 && !Object.prototype.hasOwnProperty.call(Frag_h,key); - if(isPVDynamic) { - var v = new xrfragment_XRF(key,xrfragment_XRF.PV_EXECUTE | xrfragment_XRF.NAVIGATOR,index); - v.validate(value); - v.flags = xrfragment_XRF.set(xrfragment_XRF.T_DYNAMICKEY,v.flags); - if(!Object.prototype.hasOwnProperty.call(Frag_h,key)) { - v.flags = xrfragment_XRF.set(xrfragment_XRF.CUSTOMFRAG,v.flags); - } - if(value.length == 0) { - v.flags = xrfragment_XRF.set(xrfragment_XRF.T_DYNAMICKEYVALUE,v.flags); - } - store[keyStripped] = v; - return true; - } - var v = new xrfragment_XRF(key,Frag_h[key],index); - if(Object.prototype.hasOwnProperty.call(Frag_h,key)) { - if(!v.validate(value)) { - console.log("src/xrfragment/Parser.hx:67:","⚠ fragment '" + key + "' has incompatible value (" + value + ")"); - return false; - } - store[keyStripped] = v; - if(xrfragment_Parser.debug) { - console.log("src/xrfragment/Parser.hx:71:","✔ " + key + ": " + v.string); - } - } else { - if(typeof(value) == "string") { - v.guessType(v,value); - } - v.flags = xrfragment_XRF.set(xrfragment_XRF.CUSTOMFRAG,v.flags); - store[keyStripped] = v; - } - return true; -}; -xrfragment_Parser.getMetaData = function() { - var meta = { title : ["title","og:title","dc.title"], description : ["aria-description","og:description","dc.description"], author : ["author","dc.creator"], publisher : ["publisher","dc.publisher"], website : ["og:site_name","og:url","dc.publisher"], license : ["SPDX","dc.rights"]}; - return meta; -}; -var xrfragment_URI = $hx_exports["xrfragment"]["URI"] = function() { - this.XRF = { }; - this.hash = { }; - this.fragment = ""; -}; -xrfragment_URI.__name__ = true; -xrfragment_URI.parseFragment = function(url,filter) { - var store = { }; - if(url == null || url.indexOf("#") == -1) { - return store; - } - var fragment = url.split("#"); - var splitArray = fragment[1].split("&"); - var _g = 0; - var _g1 = splitArray.length; - while(_g < _g1) { - var i = _g++; - var splitByEqual = splitArray[i].split("="); - var regexPlus = new EReg("\\+","g"); - var key = splitByEqual[0]; - var value = ""; - if(splitByEqual.length > 1) { - if(xrfragment_XRF.isVector.match(splitByEqual[1])) { - value = splitByEqual[1]; - } else { - var s = regexPlus.split(splitByEqual[1]).join(" "); - value = decodeURIComponent(s.split("+").join(" ")); - } - } - var ok = xrfragment_Parser.parse(key,value,store,i); - } - if(filter != null && filter != 0) { - var _g = 0; - var _g1 = Reflect.fields(store); - while(_g < _g1.length) { - var key = _g1[_g]; - ++_g; - var xrf = store[key]; - if(!xrf.is(filter)) { - Reflect.deleteField(store,key); - } - } - } - return store; -}; -xrfragment_URI.template = function(uri,vars) { - var parts = uri.split("#"); - if(parts.length == 1) { - return uri; - } - var frag = parts[1]; - frag = StringTools.replace(frag,"{","::"); - frag = StringTools.replace(frag,"}","::"); - frag = new haxe_Template(frag).execute(vars); - frag = StringTools.replace(frag,"null",""); - parts[1] = frag; - return parts.join("#"); -}; -xrfragment_URI.parse = function(stringUrl,flags) { - var r = new EReg("^(?:(?![^:@]+:[^:@/]*@)([^:/?#.]+):)?(?://)?((?:(([^:@]*)(?::([^:@]*))?)?@)?([^:/?#]*)(?::(\\d*))?)(((/(?:[^?#](?![^?#/]*\\.[^?#/.]+(?:[?#]|$)))*/?)?([^?#/]*))(?:\\?([^#]*))?(?:#(.*))?)",""); - if(stringUrl.indexOf("://") == -1 && stringUrl.charAt(0) != "/") { - stringUrl = "/" + stringUrl; - } - r.match(stringUrl); - var url = new xrfragment_URI(); - var _g = 0; - var _g1 = xrfragment_URI._parts.length; - while(_g < _g1) { - var i = _g++; - url[xrfragment_URI._parts[i]] = r.matched(i); - } - if(xrfragment_URI.isRelative(url) == true) { - if(url.directory == null && url.host != null) { - url.file = url.host; - } - url.host = ""; - } - url.hash = { }; - if(url.fragment != null && url.fragment.length > 0) { - url.XRF = xrfragment_URI.parseFragment("#" + url.fragment,flags); - var key; - var _g = 0; - var _g1 = Reflect.fields(url.XRF); - while(_g < _g1.length) { - var key = _g1[_g]; - ++_g; - var v = url.XRF[key]; - url.hash[key] = v["string"]; - } - } - xrfragment_URI.computeVars(url); - return url; -}; -xrfragment_URI.computeVars = function(url) { - var r_r = new RegExp("//","g".split("u").join("")); - if(url.directory != null && url.directory.indexOf("//") != -1) { - url.directory = url.directory.replace(r_r,"/"); - } - if(url.path != null && url.path.indexOf("//") != -1) { - url.path = url.path.replace(r_r,"/"); - } - if(url.file != null && url.file.indexOf("//") != -1) { - url.file = url.file.replace(r_r,"/"); - } - url.URN = url.scheme + "://" + url.host; - if(url.port != null) { - url.URN += ":" + url.port; - } - url.URN += url.directory; - if(url.file != null) { - var parts = url.file.split("."); - if(parts.length > 1) { - url.fileExt = parts.pop(); - } - } -}; -xrfragment_URI.toString = function(url) { - var result = ""; - if(url.scheme != null) { - result += url.scheme + "://"; - } - if(url.user != null) { - result += url.user + ":"; - } - if(url.password != null) { - result += url.password + "@"; - } - if(url.host != null) { - result += url.host; - } - if(url.port != null) { - result += ":" + url.port; - } - if(url.directory != null) { - result += url.directory; - } - if(url.file != null) { - result += url.file; - } - if(url.query != null) { - result += "?" + url.query; - } - if(url.fragment != null) { - result += "#" + url.fragment; - } - return result; -}; -xrfragment_URI.appendURI = function(url,appendedURI) { - if(xrfragment_URI.isRelative(url) == true) { - return xrfragment_URI.appendToRelativeURI(url,appendedURI); - } else { - return xrfragment_URI.appendToAbsoluteURI(url,appendedURI); - } -}; -xrfragment_URI.isRelative = function(url) { - return url.scheme == null; -}; -xrfragment_URI.appendToRelativeURI = function(url,appendedURI) { - if(url.directory == null || url.host == null) { - return xrfragment_URI.cloneURI(appendedURI); - } - var resultURI = new xrfragment_URI(); - resultURI.host = url.host; - resultURI.directory = url.directory; - if(appendedURI.host != null) { - resultURI.directory += appendedURI.host; - } - if(appendedURI.directory != null) { - var directory = appendedURI.directory; - if(appendedURI.host == null) { - resultURI.directory += HxOverrides.substr(directory,1,null); - } else { - resultURI.directory += directory; - } - } - if(appendedURI.file != null) { - resultURI.file = appendedURI.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(appendedURI.query != null) { - resultURI.query = appendedURI.query; - } - if(appendedURI.fragment != null) { - resultURI.fragment = appendedURI.fragment; - } - return resultURI; -}; -xrfragment_URI.appendToAbsoluteURI = function(url,appendedURI) { - var resultURI = new xrfragment_URI(); - if(url.scheme != null) { - resultURI.scheme = url.scheme; - } - if(url.host != null) { - resultURI.host = url.host; - } - var directory = ""; - if(url.directory != null) { - directory = url.directory; - } - if(appendedURI.host != null) { - appendedURI.directory += appendedURI.host; - } - if(appendedURI.directory != null) { - directory += appendedURI.directory; - } - resultURI.directory = directory; - if(appendedURI.file != null) { - resultURI.file = appendedURI.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(appendedURI.query != null) { - resultURI.query = appendedURI.query; - } - if(appendedURI.fragment != null) { - resultURI.fragment = appendedURI.fragment; - } - return resultURI; -}; -xrfragment_URI.toAbsolute = function(url,newUrl) { - var newURI = xrfragment_URI.parse(newUrl,0); - var resultURI = new xrfragment_URI(); - resultURI.port = url.port; - resultURI.source = newUrl; - if(newURI.scheme != null) { - resultURI.scheme = newURI.scheme; - } else { - resultURI.scheme = url.scheme; - } - if(newURI.host != null && newURI.host.length > 0) { - resultURI.host = newURI.host; - resultURI.port = null; - resultURI.fragment = null; - resultURI.hash = { }; - resultURI.XRF = { }; - if(newURI.port != null) { - resultURI.port = newURI.port; - } - } else { - resultURI.host = url.host; - } - var directory = ""; - if(url.directory != null) { - directory = url.directory; - } - if(newURI.directory != null) { - if(newUrl.charAt(0) != "/" && newUrl.indexOf("://") == -1) { - var stripRelative_r = new RegExp("\\./.*","".split("u").join("")); - directory = directory.replace(stripRelative_r,""); - directory += newURI.directory; - } else { - directory = newURI.directory; - } - } - resultURI.directory = directory; - if(newURI.file != null) { - resultURI.file = newURI.file; - } else { - resultURI.file = url.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(newURI.query != null) { - resultURI.query = newURI.query; - } - if(newURI.fragment != null) { - resultURI.fragment = newURI.fragment; - } - resultURI.hash = newURI.hash; - resultURI.XRF = newURI.XRF; - xrfragment_URI.computeVars(resultURI); - return resultURI; -}; -xrfragment_URI.cloneURI = function(url) { - var clonedURI = new xrfragment_URI(); - clonedURI.url = url.url; - clonedURI.source = url.source; - clonedURI.scheme = url.scheme; - clonedURI.authority = url.authority; - clonedURI.userInfo = url.userInfo; - clonedURI.password = url.password; - clonedURI.host = url.host; - clonedURI.port = url.port; - clonedURI.relative = url.relative; - clonedURI.path = url.path; - clonedURI.directory = url.directory; - clonedURI.file = url.file; - clonedURI.query = url.query; - clonedURI.fragment = url.fragment; - return clonedURI; -}; -var xrfragment_XRF = $hx_exports["xrfragment"]["XRF"] = function(_fragment,_flags,_index) { - this.floats = []; - this.shift = []; - this.fragment = _fragment; - this.flags = _flags; - this.index = _index; -}; -xrfragment_XRF.__name__ = true; -xrfragment_XRF.set = function(flag,flags) { - return flags | flag; -}; -xrfragment_XRF.unset = function(flag,flags) { - return flags & ~flag; -}; -xrfragment_XRF.prototype = { - is: function(flag) { - var v = this.flags; - if(!(typeof(v) == "number" && ((v | 0) === v))) { - this.flags = 0; - } - return (this.flags & flag) != 0; - } - ,validate: function(value) { - this.guessType(this,value); - var ok = true; - if(value.length == 0 && !this.is(xrfragment_XRF.T_PREDEFINED_VIEW)) { - ok = false; - } - if(!this.is(xrfragment_XRF.T_FLOAT) && this.is(xrfragment_XRF.T_VECTOR2) && !(typeof(this.x) == "number" && typeof(this.y) == "number")) { - ok = false; - } - if(!(this.is(xrfragment_XRF.T_VECTOR2) || this.is(xrfragment_XRF.T_STRING)) && this.is(xrfragment_XRF.T_VECTOR3) && !(typeof(this.x) == "number" && typeof(this.y) == "number" && typeof(this.z) == "number")) { - ok = false; - } - return ok; - } - ,guessType: function(v,str) { - v.string = str; - if(xrfragment_XRF.isReset.match(v.fragment)) { - v.reset = true; - } - if(v.fragment == "loop") { - v.loop = true; - } - if(typeof(str) != "string") { - return; - } - if(str.length > 0) { - if(xrfragment_XRF.isXRFScheme.match(str)) { - v.xrfScheme = true; - str = str.replace(xrfragment_XRF.isXRFScheme.r,""); - v.string = str; - } - if(str.split(",").length > 1) { - var xyzn = str.split(","); - if(xyzn.length > 0) { - v.x = parseFloat(xyzn[0]); - } - if(xyzn.length > 1) { - v.y = parseFloat(xyzn[1]); - } - if(xyzn.length > 2) { - v.z = parseFloat(xyzn[2]); - } - var _g = 0; - var _g1 = xyzn.length; - while(_g < _g1) { - var i = _g++; - v.shift.push(xrfragment_XRF.isShift.match(xyzn[i])); - v.floats.push(parseFloat(xyzn[i].replace(xrfragment_XRF.isShift.r,""))); - } - } - if(xrfragment_XRF.isColor.match(str)) { - v.color = str; - } - if(xrfragment_XRF.isFloat.match(str)) { - v.x = parseFloat(str); - v.float = v.x; - } - if(xrfragment_XRF.isInt.match(str)) { - v.int = Std.parseInt(str); - v.x = v.int; - v.floats.push(v.x); - } - v.filter = new xrfragment_Filter(v.fragment + "=" + v.string); - } else { - v.filter = new xrfragment_Filter(v.fragment); - } - } -}; -function $getIterator(o) { if( o instanceof Array ) return new haxe_iterators_ArrayIterator(o); else return o.iterator(); } -function $bind(o,m) { if( m == null ) return null; if( m.__id__ == null ) m.__id__ = $global.$haxeUID++; var f; if( o.hx__closures__ == null ) o.hx__closures__ = {}; else f = o.hx__closures__[m.__id__]; if( f == null ) { f = m.bind(o); o.hx__closures__[m.__id__] = f; } return f; } -$global.$haxeUID |= 0; -if(typeof(performance) != "undefined" ? typeof(performance.now) == "function" : false) { - HxOverrides.now = performance.now.bind(performance); -} -if( String.fromCodePoint == null ) String.fromCodePoint = function(c) { return c < 0x10000 ? String.fromCharCode(c) : String.fromCharCode((c>>10)+0xD7C0)+String.fromCharCode((c&0x3FF)+0xDC00); } -String.__name__ = true; -Array.__name__ = true; -js_Boot.__toStr = ({ }).toString; -haxe_Template.splitter = new EReg("(::[A-Za-z0-9_ ()&|!+=/><*.\"-]+::|\\$\\$([A-Za-z0-9_-]+)\\()",""); -haxe_Template.expr_splitter = new EReg("(\\(|\\)|[ \r\n\t]*\"[^\"]*\"[ \r\n\t]*|[!+=/><*.&|-]+)",""); -haxe_Template.expr_trim = new EReg("^[ ]*([^ ]+)[ ]*$",""); -haxe_Template.expr_int = new EReg("^[0-9]+$",""); -haxe_Template.expr_float = new EReg("^([+-]?)(?=\\d|,\\d)\\d*(,\\d*)?([Ee]([+-]?\\d+))?$",""); -haxe_Template.globals = { }; -haxe_Template.hxKeepArrayIterator = new haxe_iterators_ArrayIterator([]); -xrfragment_Parser.error = ""; -xrfragment_Parser.debug = false; -xrfragment_URI.__meta__ = { statics : { template : { keep : null}}}; -xrfragment_URI._parts = ["source","scheme","authority","userInfo","user","password","host","port","relative","path","directory","file","query","fragment"]; -xrfragment_XRF.IMMUTABLE = 1; -xrfragment_XRF.PROP_BIND = 2; -xrfragment_XRF.QUERY_OPERATOR = 4; -xrfragment_XRF.PROMPT = 8; -xrfragment_XRF.CUSTOMFRAG = 16; -xrfragment_XRF.NAVIGATOR = 32; -xrfragment_XRF.METADATA = 64; -xrfragment_XRF.PV_OVERRIDE = 128; -xrfragment_XRF.PV_EXECUTE = 256; -xrfragment_XRF.T_COLOR = 8192; -xrfragment_XRF.T_INT = 16384; -xrfragment_XRF.T_FLOAT = 32768; -xrfragment_XRF.T_VECTOR2 = 65536; -xrfragment_XRF.T_VECTOR3 = 131072; -xrfragment_XRF.T_URL = 262144; -xrfragment_XRF.T_PREDEFINED_VIEW = 524288; -xrfragment_XRF.T_STRING = 1048576; -xrfragment_XRF.T_MEDIAFRAG = 2097152; -xrfragment_XRF.T_DYNAMICKEY = 4194304; -xrfragment_XRF.T_DYNAMICKEYVALUE = 8388608; -xrfragment_XRF.isColor = new EReg("^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$",""); -xrfragment_XRF.isInt = new EReg("^[-0-9]+$",""); -xrfragment_XRF.isFloat = new EReg("^[-0-9]+\\.[0-9]+$",""); -xrfragment_XRF.isVector = new EReg("([,]+|\\w)",""); -xrfragment_XRF.isUrl = new EReg("(://)?\\..*",""); -xrfragment_XRF.isUrlOrPretypedView = new EReg("(^#|://)?\\..*",""); -xrfragment_XRF.isString = new EReg(".*",""); -xrfragment_XRF.operators = new EReg("(^[-]|^[!]|[\\*]$)","g"); -xrfragment_XRF.isProp = new EReg("^.*=[><=]?",""); -xrfragment_XRF.isExclude = new EReg("^-",""); -xrfragment_XRF.isDeep = new EReg("\\*",""); -xrfragment_XRF.isNumber = new EReg("^[0-9\\.]+$",""); -xrfragment_XRF.isMediaFrag = new EReg("^([0-9\\.,\\*+-]+)$",""); -xrfragment_XRF.isReset = new EReg("^!",""); -xrfragment_XRF.isShift = new EReg("^(\\+|--)",""); -xrfragment_XRF.isXRFScheme = new EReg("^xrf://",""); -})(typeof window != "undefined" ? window : typeof global != "undefined" ? global : typeof self != "undefined" ? self : this); -var xrfragment = $hx_exports["xrfragment"]; -export default xrfragment; -// Generated by Haxe 4.3.3 -var $hx_exports = typeof exports != "undefined" ? exports : typeof window != "undefined" ? window : typeof self != "undefined" ? self : this; -(function ($global) { "use strict"; -$hx_exports["xrfragment"] = $hx_exports["xrfragment"] || {}; -var $estr = function() { return js_Boot.__string_rec(this,''); },$hxEnums = $hxEnums || {},$_; -function $extend(from, fields) { - var proto = Object.create(from); - for (var name in fields) proto[name] = fields[name]; - if( fields.toString !== Object.prototype.toString ) proto.toString = fields.toString; - return proto; -} -var EReg = function(r,opt) { - this.r = new RegExp(r,opt.split("u").join("")); -}; -EReg.__name__ = true; -EReg.prototype = { - match: function(s) { - if(this.r.global) { - this.r.lastIndex = 0; - } - this.r.m = this.r.exec(s); - this.r.s = s; - return this.r.m != null; - } - ,matched: function(n) { - if(this.r.m != null && n >= 0 && n < this.r.m.length) { - return this.r.m[n]; - } else { - throw haxe_Exception.thrown("EReg::matched"); - } - } - ,matchedRight: function() { - if(this.r.m == null) { - throw haxe_Exception.thrown("No string matched"); - } - var sz = this.r.m.index + this.r.m[0].length; - return HxOverrides.substr(this.r.s,sz,this.r.s.length - sz); - } - ,matchedPos: function() { - if(this.r.m == null) { - throw haxe_Exception.thrown("No string matched"); - } - return { pos : this.r.m.index, len : this.r.m[0].length}; - } - ,split: function(s) { - var d = "#__delim__#"; - return s.replace(this.r,d).split(d); - } -}; -var HxOverrides = function() { }; -HxOverrides.__name__ = true; -HxOverrides.cca = function(s,index) { - var x = s.charCodeAt(index); - if(x != x) { - return undefined; - } - return x; -}; -HxOverrides.substr = function(s,pos,len) { - if(len == null) { - len = s.length; - } else if(len < 0) { - if(pos == 0) { - len = s.length + len; - } else { - return ""; - } - } - return s.substr(pos,len); -}; -HxOverrides.now = function() { - return Date.now(); -}; -Math.__name__ = true; -var Reflect = function() { }; -Reflect.__name__ = true; -Reflect.field = function(o,field) { - try { - return o[field]; - } catch( _g ) { - return null; - } -}; -Reflect.getProperty = function(o,field) { - var tmp; - if(o == null) { - return null; - } else { - var tmp1; - if(o.__properties__) { - tmp = o.__properties__["get_" + field]; - tmp1 = tmp; - } else { - tmp1 = false; - } - if(tmp1) { - return o[tmp](); - } else { - return o[field]; - } - } -}; -Reflect.fields = function(o) { - var a = []; - if(o != null) { - var hasOwnProperty = Object.prototype.hasOwnProperty; - for( var f in o ) { - if(f != "__id__" && f != "hx__closures__" && hasOwnProperty.call(o,f)) { - a.push(f); - } - } - } - return a; -}; -Reflect.isObject = function(v) { - if(v == null) { - return false; - } - var t = typeof(v); - if(!(t == "string" || t == "object" && v.__enum__ == null)) { - if(t == "function") { - return (v.__name__ || v.__ename__) != null; - } else { - return false; - } - } else { - return true; - } -}; -Reflect.deleteField = function(o,field) { - if(!Object.prototype.hasOwnProperty.call(o,field)) { - return false; - } - delete(o[field]); - return true; -}; -Reflect.copy = function(o) { - if(o == null) { - return null; - } - var o2 = { }; - var _g = 0; - var _g1 = Reflect.fields(o); - while(_g < _g1.length) { - var f = _g1[_g]; - ++_g; - o2[f] = Reflect.field(o,f); - } - return o2; -}; -var Std = function() { }; -Std.__name__ = true; -Std.string = function(s) { - return js_Boot.__string_rec(s,""); -}; -Std.parseInt = function(x) { - var v = parseInt(x); - if(isNaN(v)) { - return null; - } - return v; -}; -var StringBuf = function() { - this.b = ""; -}; -StringBuf.__name__ = true; -var StringTools = function() { }; -StringTools.__name__ = true; -StringTools.isSpace = function(s,pos) { - var c = HxOverrides.cca(s,pos); - if(!(c > 8 && c < 14)) { - return c == 32; - } else { - return true; - } -}; -StringTools.ltrim = function(s) { - var l = s.length; - var r = 0; - while(r < l && StringTools.isSpace(s,r)) ++r; - if(r > 0) { - return HxOverrides.substr(s,r,l - r); - } else { - return s; - } -}; -StringTools.rtrim = function(s) { - var l = s.length; - var r = 0; - while(r < l && StringTools.isSpace(s,l - r - 1)) ++r; - if(r > 0) { - return HxOverrides.substr(s,0,l - r); - } else { - return s; - } -}; -StringTools.trim = function(s) { - return StringTools.ltrim(StringTools.rtrim(s)); -}; -StringTools.replace = function(s,sub,by) { - return s.split(sub).join(by); -}; -var haxe_Exception = function(message,previous,native) { - Error.call(this,message); - this.message = message; - this.__previousException = previous; - this.__nativeException = native != null ? native : this; -}; -haxe_Exception.__name__ = true; -haxe_Exception.caught = function(value) { - if(((value) instanceof haxe_Exception)) { - return value; - } else if(((value) instanceof Error)) { - return new haxe_Exception(value.message,null,value); - } else { - return new haxe_ValueException(value,null,value); - } -}; -haxe_Exception.thrown = function(value) { - if(((value) instanceof haxe_Exception)) { - return value.get_native(); - } else if(((value) instanceof Error)) { - return value; - } else { - var e = new haxe_ValueException(value); - return e; - } -}; -haxe_Exception.__super__ = Error; -haxe_Exception.prototype = $extend(Error.prototype,{ - unwrap: function() { - return this.__nativeException; - } - ,get_native: function() { - return this.__nativeException; - } - ,__properties__: {get_native:"get_native"} -}); -var haxe__$Template_TemplateExpr = $hxEnums["haxe._Template.TemplateExpr"] = { __ename__:true,__constructs__:null - ,OpVar: ($_=function(v) { return {_hx_index:0,v:v,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpVar",$_.__params__ = ["v"],$_) - ,OpExpr: ($_=function(expr) { return {_hx_index:1,expr:expr,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpExpr",$_.__params__ = ["expr"],$_) - ,OpIf: ($_=function(expr,eif,eelse) { return {_hx_index:2,expr:expr,eif:eif,eelse:eelse,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpIf",$_.__params__ = ["expr","eif","eelse"],$_) - ,OpStr: ($_=function(str) { return {_hx_index:3,str:str,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpStr",$_.__params__ = ["str"],$_) - ,OpBlock: ($_=function(l) { return {_hx_index:4,l:l,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpBlock",$_.__params__ = ["l"],$_) - ,OpForeach: ($_=function(expr,loop) { return {_hx_index:5,expr:expr,loop:loop,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpForeach",$_.__params__ = ["expr","loop"],$_) - ,OpMacro: ($_=function(name,params) { return {_hx_index:6,name:name,params:params,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpMacro",$_.__params__ = ["name","params"],$_) -}; -haxe__$Template_TemplateExpr.__constructs__ = [haxe__$Template_TemplateExpr.OpVar,haxe__$Template_TemplateExpr.OpExpr,haxe__$Template_TemplateExpr.OpIf,haxe__$Template_TemplateExpr.OpStr,haxe__$Template_TemplateExpr.OpBlock,haxe__$Template_TemplateExpr.OpForeach,haxe__$Template_TemplateExpr.OpMacro]; -var haxe_iterators_ArrayIterator = function(array) { - this.current = 0; - this.array = array; -}; -haxe_iterators_ArrayIterator.__name__ = true; -haxe_iterators_ArrayIterator.prototype = { - hasNext: function() { - return this.current < this.array.length; - } - ,next: function() { - return this.array[this.current++]; - } -}; -var haxe_Template = function(str) { - var tokens = this.parseTokens(str); - this.expr = this.parseBlock(tokens); - if(!tokens.isEmpty()) { - throw haxe_Exception.thrown("Unexpected '" + Std.string(tokens.first().s) + "'"); - } -}; -haxe_Template.__name__ = true; -haxe_Template.prototype = { - execute: function(context,macros) { - this.macros = macros == null ? { } : macros; - this.context = context; - this.stack = new haxe_ds_List(); - this.buf = new StringBuf(); - this.run(this.expr); - return this.buf.b; - } - ,resolve: function(v) { - if(v == "__current__") { - return this.context; - } - if(Reflect.isObject(this.context)) { - var value = Reflect.getProperty(this.context,v); - if(value != null || Object.prototype.hasOwnProperty.call(this.context,v)) { - return value; - } - } - var _g_head = this.stack.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var ctx = val; - var value = Reflect.getProperty(ctx,v); - if(value != null || Object.prototype.hasOwnProperty.call(ctx,v)) { - return value; - } - } - return Reflect.field(haxe_Template.globals,v); - } - ,parseTokens: function(data) { - var tokens = new haxe_ds_List(); - while(haxe_Template.splitter.match(data)) { - var p = haxe_Template.splitter.matchedPos(); - if(p.pos > 0) { - tokens.add({ p : HxOverrides.substr(data,0,p.pos), s : true, l : null}); - } - if(HxOverrides.cca(data,p.pos) == 58) { - tokens.add({ p : HxOverrides.substr(data,p.pos + 2,p.len - 4), s : false, l : null}); - data = haxe_Template.splitter.matchedRight(); - continue; - } - var parp = p.pos + p.len; - var npar = 1; - var params = []; - var part = ""; - while(true) { - var c = HxOverrides.cca(data,parp); - ++parp; - if(c == 40) { - ++npar; - } else if(c == 41) { - --npar; - if(npar <= 0) { - break; - } - } else if(c == null) { - throw haxe_Exception.thrown("Unclosed macro parenthesis"); - } - if(c == 44 && npar == 1) { - params.push(part); - part = ""; - } else { - part += String.fromCodePoint(c); - } - } - params.push(part); - tokens.add({ p : haxe_Template.splitter.matched(2), s : false, l : params}); - data = HxOverrides.substr(data,parp,data.length - parp); - } - if(data.length > 0) { - tokens.add({ p : data, s : true, l : null}); - } - return tokens; - } - ,parseBlock: function(tokens) { - var l = new haxe_ds_List(); - while(true) { - var t = tokens.first(); - if(t == null) { - break; - } - if(!t.s && (t.p == "end" || t.p == "else" || HxOverrides.substr(t.p,0,7) == "elseif ")) { - break; - } - l.add(this.parse(tokens)); - } - if(l.length == 1) { - return l.first(); - } - return haxe__$Template_TemplateExpr.OpBlock(l); - } - ,parse: function(tokens) { - var t = tokens.pop(); - var p = t.p; - if(t.s) { - return haxe__$Template_TemplateExpr.OpStr(p); - } - if(t.l != null) { - var pe = new haxe_ds_List(); - var _g = 0; - var _g1 = t.l; - while(_g < _g1.length) { - var p1 = _g1[_g]; - ++_g; - pe.add(this.parseBlock(this.parseTokens(p1))); - } - return haxe__$Template_TemplateExpr.OpMacro(p,pe); - } - var kwdEnd = function(kwd) { - var pos = -1; - var length = kwd.length; - if(HxOverrides.substr(p,0,length) == kwd) { - pos = length; - var _g_offset = 0; - var _g_s = HxOverrides.substr(p,length,null); - while(_g_offset < _g_s.length) { - var c = _g_s.charCodeAt(_g_offset++); - if(c == 32) { - ++pos; - } else { - break; - } - } - } - return pos; - }; - var pos = kwdEnd("if"); - if(pos > 0) { - p = HxOverrides.substr(p,pos,p.length - pos); - var e = this.parseExpr(p); - var eif = this.parseBlock(tokens); - var t = tokens.first(); - var eelse; - if(t == null) { - throw haxe_Exception.thrown("Unclosed 'if'"); - } - if(t.p == "end") { - tokens.pop(); - eelse = null; - } else if(t.p == "else") { - tokens.pop(); - eelse = this.parseBlock(tokens); - t = tokens.pop(); - if(t == null || t.p != "end") { - throw haxe_Exception.thrown("Unclosed 'else'"); - } - } else { - t.p = HxOverrides.substr(t.p,4,t.p.length - 4); - eelse = this.parse(tokens); - } - return haxe__$Template_TemplateExpr.OpIf(e,eif,eelse); - } - var pos = kwdEnd("foreach"); - if(pos >= 0) { - p = HxOverrides.substr(p,pos,p.length - pos); - var e = this.parseExpr(p); - var efor = this.parseBlock(tokens); - var t = tokens.pop(); - if(t == null || t.p != "end") { - throw haxe_Exception.thrown("Unclosed 'foreach'"); - } - return haxe__$Template_TemplateExpr.OpForeach(e,efor); - } - if(haxe_Template.expr_splitter.match(p)) { - return haxe__$Template_TemplateExpr.OpExpr(this.parseExpr(p)); - } - return haxe__$Template_TemplateExpr.OpVar(p); - } - ,parseExpr: function(data) { - var l = new haxe_ds_List(); - var expr = data; - while(haxe_Template.expr_splitter.match(data)) { - var p = haxe_Template.expr_splitter.matchedPos(); - var k = p.pos + p.len; - if(p.pos != 0) { - l.add({ p : HxOverrides.substr(data,0,p.pos), s : true}); - } - var p1 = haxe_Template.expr_splitter.matched(0); - l.add({ p : p1, s : p1.indexOf("\"") >= 0}); - data = haxe_Template.expr_splitter.matchedRight(); - } - if(data.length != 0) { - var _g_offset = 0; - var _g_s = data; - while(_g_offset < _g_s.length) { - var _g_key = _g_offset; - var _g_value = _g_s.charCodeAt(_g_offset++); - var i = _g_key; - var c = _g_value; - if(c != 32) { - l.add({ p : HxOverrides.substr(data,i,null), s : true}); - break; - } - } - } - var e; - try { - e = this.makeExpr(l); - if(!l.isEmpty()) { - throw haxe_Exception.thrown(l.first().p); - } - } catch( _g ) { - var _g1 = haxe_Exception.caught(_g).unwrap(); - if(typeof(_g1) == "string") { - var s = _g1; - throw haxe_Exception.thrown("Unexpected '" + s + "' in " + expr); - } else { - throw _g; - } - } - return function() { - try { - return e(); - } catch( _g ) { - var exc = haxe_Exception.caught(_g).unwrap(); - throw haxe_Exception.thrown("Error : " + Std.string(exc) + " in " + expr); - } - }; - } - ,makeConst: function(v) { - haxe_Template.expr_trim.match(v); - v = haxe_Template.expr_trim.matched(1); - if(HxOverrides.cca(v,0) == 34) { - var str = HxOverrides.substr(v,1,v.length - 2); - return function() { - return str; - }; - } - if(haxe_Template.expr_int.match(v)) { - var i = Std.parseInt(v); - return function() { - return i; - }; - } - if(haxe_Template.expr_float.match(v)) { - var f = parseFloat(v); - return function() { - return f; - }; - } - var me = this; - return function() { - return me.resolve(v); - }; - } - ,makePath: function(e,l) { - var p = l.first(); - if(p == null || p.p != ".") { - return e; - } - l.pop(); - var field = l.pop(); - if(field == null || !field.s) { - throw haxe_Exception.thrown(field.p); - } - var f = field.p; - haxe_Template.expr_trim.match(f); - f = haxe_Template.expr_trim.matched(1); - return this.makePath(function() { - return Reflect.field(e(),f); - },l); - } - ,makeExpr: function(l) { - return this.makePath(this.makeExpr2(l),l); - } - ,skipSpaces: function(l) { - var p = l.first(); - while(p != null) { - var _g_offset = 0; - var _g_s = p.p; - while(_g_offset < _g_s.length) { - var c = _g_s.charCodeAt(_g_offset++); - if(c != 32) { - return; - } - } - l.pop(); - p = l.first(); - } - } - ,makeExpr2: function(l) { - this.skipSpaces(l); - var p = l.pop(); - this.skipSpaces(l); - if(p == null) { - throw haxe_Exception.thrown(""); - } - if(p.s) { - return this.makeConst(p.p); - } - switch(p.p) { - case "!": - var e = this.makeExpr(l); - return function() { - var v = e(); - if(v != null) { - return v == false; - } else { - return true; - } - }; - case "(": - this.skipSpaces(l); - var e1 = this.makeExpr(l); - this.skipSpaces(l); - var p1 = l.pop(); - if(p1 == null || p1.s) { - throw haxe_Exception.thrown(p1); - } - if(p1.p == ")") { - return e1; - } - this.skipSpaces(l); - var e2 = this.makeExpr(l); - this.skipSpaces(l); - var p2 = l.pop(); - this.skipSpaces(l); - if(p2 == null || p2.p != ")") { - throw haxe_Exception.thrown(p2); - } - switch(p1.p) { - case "!=": - return function() { - return e1() != e2(); - }; - case "&&": - return function() { - return e1() && e2(); - }; - case "*": - return function() { - return e1() * e2(); - }; - case "+": - return function() { - return e1() + e2(); - }; - case "-": - return function() { - return e1() - e2(); - }; - case "/": - return function() { - return e1() / e2(); - }; - case "<": - return function() { - return e1() < e2(); - }; - case "<=": - return function() { - return e1() <= e2(); - }; - case "==": - return function() { - return e1() == e2(); - }; - case ">": - return function() { - return e1() > e2(); - }; - case ">=": - return function() { - return e1() >= e2(); - }; - case "||": - return function() { - return e1() || e2(); - }; - default: - throw haxe_Exception.thrown("Unknown operation " + p1.p); - } - break; - case "-": - var e3 = this.makeExpr(l); - return function() { - return -e3(); - }; - } - throw haxe_Exception.thrown(p.p); - } - ,run: function(e) { - switch(e._hx_index) { - case 0: - var v = e.v; - var _this = this.buf; - var x = Std.string(this.resolve(v)); - _this.b += Std.string(x); - break; - case 1: - var e1 = e.expr; - var _this = this.buf; - var x = Std.string(e1()); - _this.b += Std.string(x); - break; - case 2: - var e1 = e.expr; - var eif = e.eif; - var eelse = e.eelse; - var v = e1(); - if(v == null || v == false) { - if(eelse != null) { - this.run(eelse); - } - } else { - this.run(eif); - } - break; - case 3: - var str = e.str; - this.buf.b += str == null ? "null" : "" + str; - break; - case 4: - var l = e.l; - var _g_head = l.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var e1 = val; - this.run(e1); - } - break; - case 5: - var e1 = e.expr; - var loop = e.loop; - var v = e1(); - try { - var x = $getIterator(v); - if(x.hasNext == null) { - throw haxe_Exception.thrown(null); - } - v = x; - } catch( _g ) { - try { - if(v.hasNext == null) { - throw haxe_Exception.thrown(null); - } - } catch( _g1 ) { - throw haxe_Exception.thrown("Cannot iter on " + Std.string(v)); - } - } - this.stack.push(this.context); - var v1 = v; - var ctx = v1; - while(ctx.hasNext()) { - var ctx1 = ctx.next(); - this.context = ctx1; - this.run(loop); - } - this.context = this.stack.pop(); - break; - case 6: - var m = e.name; - var params = e.params; - var v = Reflect.field(this.macros,m); - var pl = []; - var old = this.buf; - pl.push($bind(this,this.resolve)); - var _g_head = params.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var p = val; - if(p._hx_index == 0) { - var v1 = p.v; - pl.push(this.resolve(v1)); - } else { - this.buf = new StringBuf(); - this.run(p); - pl.push(this.buf.b); - } - } - this.buf = old; - try { - var _this = this.buf; - var x = Std.string(v.apply(this.macros,pl)); - _this.b += Std.string(x); - } catch( _g ) { - var e = haxe_Exception.caught(_g).unwrap(); - var plstr; - try { - plstr = pl.join(","); - } catch( _g1 ) { - plstr = "???"; - } - var msg = "Macro call " + m + "(" + plstr + ") failed (" + Std.string(e) + ")"; - throw haxe_Exception.thrown(msg); - } - break; - } - } -}; -var haxe_ValueException = function(value,previous,native) { - haxe_Exception.call(this,String(value),previous,native); - this.value = value; -}; -haxe_ValueException.__name__ = true; -haxe_ValueException.__super__ = haxe_Exception; -haxe_ValueException.prototype = $extend(haxe_Exception.prototype,{ - unwrap: function() { - return this.value; - } -}); -var haxe_ds_List = function() { - this.length = 0; -}; -haxe_ds_List.__name__ = true; -haxe_ds_List.prototype = { - add: function(item) { - var x = new haxe_ds__$List_ListNode(item,null); - if(this.h == null) { - this.h = x; - } else { - this.q.next = x; - } - this.q = x; - this.length++; - } - ,push: function(item) { - var x = new haxe_ds__$List_ListNode(item,this.h); - this.h = x; - if(this.q == null) { - this.q = x; - } - this.length++; - } - ,first: function() { - if(this.h == null) { - return null; - } else { - return this.h.item; - } - } - ,pop: function() { - if(this.h == null) { - return null; - } - var x = this.h.item; - this.h = this.h.next; - if(this.h == null) { - this.q = null; - } - this.length--; - return x; - } - ,isEmpty: function() { - return this.h == null; - } - ,toString: function() { - var s_b = ""; - var first = true; - var l = this.h; - s_b += "{"; - while(l != null) { - if(first) { - first = false; - } else { - s_b += ", "; - } - s_b += Std.string(Std.string(l.item)); - l = l.next; - } - s_b += "}"; - return s_b; - } -}; -var haxe_ds__$List_ListNode = function(item,next) { - this.item = item; - this.next = next; -}; -haxe_ds__$List_ListNode.__name__ = true; -var js_Boot = function() { }; -js_Boot.__name__ = true; -js_Boot.__string_rec = function(o,s) { - if(o == null) { - return "null"; - } - if(s.length >= 5) { - return "<...>"; - } - var t = typeof(o); - if(t == "function" && (o.__name__ || o.__ename__)) { - t = "object"; - } - switch(t) { - case "function": - return ""; - case "object": - if(o.__enum__) { - var e = $hxEnums[o.__enum__]; - var con = e.__constructs__[o._hx_index]; - var n = con._hx_name; - if(con.__params__) { - s = s + "\t"; - return n + "(" + ((function($this) { - var $r; - var _g = []; - { - var _g1 = 0; - var _g2 = con.__params__; - while(true) { - if(!(_g1 < _g2.length)) { - break; - } - var p = _g2[_g1]; - _g1 = _g1 + 1; - _g.push(js_Boot.__string_rec(o[p],s)); - } - } - $r = _g; - return $r; - }(this))).join(",") + ")"; - } else { - return n; - } - } - if(((o) instanceof Array)) { - var str = "["; - s += "\t"; - var _g = 0; - var _g1 = o.length; - while(_g < _g1) { - var i = _g++; - str += (i > 0 ? "," : "") + js_Boot.__string_rec(o[i],s); - } - str += "]"; - return str; - } - var tostr; - try { - tostr = o.toString; - } catch( _g ) { - return "???"; - } - if(tostr != null && tostr != Object.toString && typeof(tostr) == "function") { - var s2 = o.toString(); - if(s2 != "[object Object]") { - return s2; - } - } - var str = "{\n"; - s += "\t"; - var hasp = o.hasOwnProperty != null; - var k = null; - for( k in o ) { - if(hasp && !o.hasOwnProperty(k)) { - continue; - } - if(k == "prototype" || k == "__class__" || k == "__super__" || k == "__interfaces__" || k == "__properties__") { - continue; - } - if(str.length != 2) { - str += ", \n"; - } - str += s + k + " : " + js_Boot.__string_rec(o[k],s); - } - s = s.substring(1); - str += "\n" + s + "}"; - return str; - case "string": - return o; - default: - return String(o); - } -}; -var xrfragment_Filter = $hx_exports["xrfragment"]["Filter"] = function(str) { - this.q = { }; - this.str = ""; - if(str != null) { - this.parse(str); - } -}; -xrfragment_Filter.__name__ = true; -xrfragment_Filter.prototype = { - toObject: function() { - return Reflect.copy(this.q); - } - ,get: function() { - return Reflect.copy(this.q); - } - ,parse: function(str) { - var token = str.split(" "); - var q = { }; - var process = function(str,prefix) { - if(prefix == null) { - prefix = ""; - } - str = StringTools.trim(str); - var k = str.split("=")[0]; - var v = str.split("=")[1]; - var filter = { }; - if(q[prefix + k]) { - filter = q[prefix + k]; - } - if(xrfragment_XRF.isProp.match(str)) { - var oper = ""; - if(str.indexOf(">") != -1) { - oper = ">"; - } - if(str.indexOf("<") != -1) { - oper = "<"; - } - if(xrfragment_XRF.isExclude.match(k)) { - k = HxOverrides.substr(k,1,null); - } - v = HxOverrides.substr(v,oper.length,null); - if(oper.length == 0) { - oper = "="; - } - var rule = { }; - if(xrfragment_XRF.isNumber.match(v)) { - rule[oper] = parseFloat(v); - } else { - rule[oper] = v; - } - q["expr"] = rule; - } - var value = xrfragment_XRF.isDeep.match(str) ? k.split("*").length - 1 : 0; - q["deep"] = value; - var value = xrfragment_XRF.isExclude.match(str) ? false : true; - q["show"] = value; - var value = k.replace(xrfragment_XRF.operators.r,""); - q["key"] = value; - q["value"] = v; - }; - var _g = 0; - var _g1 = token.length; - while(_g < _g1) { - var i = _g++; - process(token[i]); - } - return this.q = q; - } - ,test: function(obj) { - var qualify = false; - var _g = 0; - var _g1 = Reflect.fields(obj); - while(_g < _g1.length) { - var k = _g1[_g]; - ++_g; - var v = Std.string(Reflect.field(obj,k)); - if(this.testProperty(k,v)) { - qualify = true; - } - } - var _g = 0; - var _g1 = Reflect.fields(obj); - while(_g < _g1.length) { - var k = _g1[_g]; - ++_g; - var v = Std.string(Reflect.field(obj,k)); - if(this.testProperty(k,v,true)) { - qualify = false; - } - } - return qualify; - } - ,testProperty: function(property,value,exclude) { - var conds = 0; - var fails = 0; - var qualify = 0; - var testprop = function(expr) { - conds += 1; - fails += expr ? 0 : 1; - return expr; - }; - if(this.q[value] != null) { - var v = this.q[value]; - if(v[property] != null) { - return v[property]; - } - } - if(Reflect.field(this.q,"expr")) { - var f = Reflect.field(this.q,"expr"); - if(!Reflect.field(this.q,"show")) { - if(Reflect.field(f,"!=") != null && testprop((value == null ? "null" : "" + value) == Std.string(Reflect.field(f,"!="))) && exclude) { - ++qualify; - } - } else { - if(Reflect.field(f,"*") != null && testprop(parseFloat(value) != null)) { - ++qualify; - } - if(Reflect.field(f,">") != null && testprop(parseFloat(value) >= parseFloat(Reflect.field(f,">")))) { - ++qualify; - } - if(Reflect.field(f,"<") != null && testprop(parseFloat(value) <= parseFloat(Reflect.field(f,"<")))) { - ++qualify; - } - if(Reflect.field(f,"=") != null && (testprop(value == Reflect.field(f,"=")) || testprop(parseFloat(value) == parseFloat(Reflect.field(f,"="))))) { - ++qualify; - } - } - } - return qualify > 0; - } -}; -var xrfragment_Parser = $hx_exports["xrfragment"]["Parser"] = function() { }; -xrfragment_Parser.__name__ = true; -xrfragment_Parser.parse = function(key,value,store,index) { - var Frag_h = Object.create(null); - Frag_h["#"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_PREDEFINED_VIEW | xrfragment_XRF.PV_EXECUTE; - Frag_h["src"] = xrfragment_XRF.T_URL; - Frag_h["href"] = xrfragment_XRF.T_URL | xrfragment_XRF.T_PREDEFINED_VIEW; - Frag_h["tag"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["pos"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_VECTOR3 | xrfragment_XRF.T_STRING | xrfragment_XRF.METADATA | xrfragment_XRF.NAVIGATOR; - Frag_h["rot"] = xrfragment_XRF.QUERY_OPERATOR | xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_VECTOR3 | xrfragment_XRF.METADATA | xrfragment_XRF.NAVIGATOR; - Frag_h["t"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_FLOAT | xrfragment_XRF.T_VECTOR2 | xrfragment_XRF.NAVIGATOR | xrfragment_XRF.METADATA; - Frag_h["s"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_MEDIAFRAG; - Frag_h["loop"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_PREDEFINED_VIEW; - Frag_h["uv"] = xrfragment_XRF.T_VECTOR2 | xrfragment_XRF.T_MEDIAFRAG; - Frag_h["namespace"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["SPDX"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["unit"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["description"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - var keyStripped = key.replace(xrfragment_XRF.operators.r,""); - var isPVDynamic = key.length > 0 && !Object.prototype.hasOwnProperty.call(Frag_h,key); - if(isPVDynamic) { - var v = new xrfragment_XRF(key,xrfragment_XRF.PV_EXECUTE | xrfragment_XRF.NAVIGATOR,index); - v.validate(value); - v.flags = xrfragment_XRF.set(xrfragment_XRF.T_DYNAMICKEY,v.flags); - if(!Object.prototype.hasOwnProperty.call(Frag_h,key)) { - v.flags = xrfragment_XRF.set(xrfragment_XRF.CUSTOMFRAG,v.flags); - } - if(value.length == 0) { - v.flags = xrfragment_XRF.set(xrfragment_XRF.T_DYNAMICKEYVALUE,v.flags); - } - store[keyStripped] = v; - return true; - } - var v = new xrfragment_XRF(key,Frag_h[key],index); - if(Object.prototype.hasOwnProperty.call(Frag_h,key)) { - if(!v.validate(value)) { - console.log("src/xrfragment/Parser.hx:67:","⚠ fragment '" + key + "' has incompatible value (" + value + ")"); - return false; - } - store[keyStripped] = v; - if(xrfragment_Parser.debug) { - console.log("src/xrfragment/Parser.hx:71:","✔ " + key + ": " + v.string); - } - } else { - if(typeof(value) == "string") { - v.guessType(v,value); - } - v.flags = xrfragment_XRF.set(xrfragment_XRF.CUSTOMFRAG,v.flags); - store[keyStripped] = v; - } - return true; -}; -xrfragment_Parser.getMetaData = function() { - var meta = { title : ["title","og:title","dc.title"], description : ["aria-description","og:description","dc.description"], author : ["author","dc.creator"], publisher : ["publisher","dc.publisher"], website : ["og:site_name","og:url","dc.publisher"], license : ["SPDX","dc.rights"]}; - return meta; -}; -var xrfragment_URI = $hx_exports["xrfragment"]["URI"] = function() { - this.XRF = { }; - this.hash = { }; - this.fragment = ""; -}; -xrfragment_URI.__name__ = true; -xrfragment_URI.parseFragment = function(url,filter) { - var store = { }; - if(url == null || url.indexOf("#") == -1) { - return store; - } - var fragment = url.split("#"); - var splitArray = fragment[1].split("&"); - var _g = 0; - var _g1 = splitArray.length; - while(_g < _g1) { - var i = _g++; - var splitByEqual = splitArray[i].split("="); - var regexPlus = new EReg("\\+","g"); - var key = splitByEqual[0]; - var value = ""; - if(splitByEqual.length > 1) { - if(xrfragment_XRF.isVector.match(splitByEqual[1])) { - value = splitByEqual[1]; - } else { - var s = regexPlus.split(splitByEqual[1]).join(" "); - value = decodeURIComponent(s.split("+").join(" ")); - } - } - var ok = xrfragment_Parser.parse(key,value,store,i); - } - if(filter != null && filter != 0) { - var _g = 0; - var _g1 = Reflect.fields(store); - while(_g < _g1.length) { - var key = _g1[_g]; - ++_g; - var xrf = store[key]; - if(!xrf.is(filter)) { - Reflect.deleteField(store,key); - } - } - } - return store; -}; -xrfragment_URI.template = function(uri,vars) { - var parts = uri.split("#"); - if(parts.length == 1) { - return uri; - } - var frag = parts[1]; - frag = StringTools.replace(frag,"{","::"); - frag = StringTools.replace(frag,"}","::"); - frag = new haxe_Template(frag).execute(vars); - frag = StringTools.replace(frag,"null",""); - parts[1] = frag; - return parts.join("#"); -}; -xrfragment_URI.parse = function(stringUrl,flags) { - var r = new EReg("^(?:(?![^:@]+:[^:@/]*@)([^:/?#.]+):)?(?://)?((?:(([^:@]*)(?::([^:@]*))?)?@)?([^:/?#]*)(?::(\\d*))?)(((/(?:[^?#](?![^?#/]*\\.[^?#/.]+(?:[?#]|$)))*/?)?([^?#/]*))(?:\\?([^#]*))?(?:#(.*))?)",""); - if(stringUrl.indexOf("://") == -1 && stringUrl.charAt(0) != "/") { - stringUrl = "/" + stringUrl; - } - r.match(stringUrl); - var url = new xrfragment_URI(); - var _g = 0; - var _g1 = xrfragment_URI._parts.length; - while(_g < _g1) { - var i = _g++; - url[xrfragment_URI._parts[i]] = r.matched(i); - } - if(xrfragment_URI.isRelative(url) == true) { - if(url.directory == null && url.host != null) { - url.file = url.host; - } - url.host = ""; - } - url.hash = { }; - if(url.fragment != null && url.fragment.length > 0) { - url.XRF = xrfragment_URI.parseFragment("#" + url.fragment,flags); - var key; - var _g = 0; - var _g1 = Reflect.fields(url.XRF); - while(_g < _g1.length) { - var key = _g1[_g]; - ++_g; - var v = url.XRF[key]; - url.hash[key] = v["string"]; - } - } - xrfragment_URI.computeVars(url); - return url; -}; -xrfragment_URI.computeVars = function(url) { - var r_r = new RegExp("//","g".split("u").join("")); - if(url.directory != null && url.directory.indexOf("//") != -1) { - url.directory = url.directory.replace(r_r,"/"); - } - if(url.path != null && url.path.indexOf("//") != -1) { - url.path = url.path.replace(r_r,"/"); - } - if(url.file != null && url.file.indexOf("//") != -1) { - url.file = url.file.replace(r_r,"/"); - } - url.URN = url.scheme + "://" + url.host; - if(url.port != null) { - url.URN += ":" + url.port; - } - url.URN += url.directory; - if(url.file != null) { - var parts = url.file.split("."); - if(parts.length > 1) { - url.fileExt = parts.pop(); - } - } -}; -xrfragment_URI.toString = function(url) { - var result = ""; - if(url.scheme != null) { - result += url.scheme + "://"; - } - if(url.user != null) { - result += url.user + ":"; - } - if(url.password != null) { - result += url.password + "@"; - } - if(url.host != null) { - result += url.host; - } - if(url.port != null) { - result += ":" + url.port; - } - if(url.directory != null) { - result += url.directory; - } - if(url.file != null) { - result += url.file; - } - if(url.query != null) { - result += "?" + url.query; - } - if(url.fragment != null) { - result += "#" + url.fragment; - } - return result; -}; -xrfragment_URI.appendURI = function(url,appendedURI) { - if(xrfragment_URI.isRelative(url) == true) { - return xrfragment_URI.appendToRelativeURI(url,appendedURI); - } else { - return xrfragment_URI.appendToAbsoluteURI(url,appendedURI); - } -}; -xrfragment_URI.isRelative = function(url) { - return url.scheme == null; -}; -xrfragment_URI.appendToRelativeURI = function(url,appendedURI) { - if(url.directory == null || url.host == null) { - return xrfragment_URI.cloneURI(appendedURI); - } - var resultURI = new xrfragment_URI(); - resultURI.host = url.host; - resultURI.directory = url.directory; - if(appendedURI.host != null) { - resultURI.directory += appendedURI.host; - } - if(appendedURI.directory != null) { - var directory = appendedURI.directory; - if(appendedURI.host == null) { - resultURI.directory += HxOverrides.substr(directory,1,null); - } else { - resultURI.directory += directory; - } - } - if(appendedURI.file != null) { - resultURI.file = appendedURI.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(appendedURI.query != null) { - resultURI.query = appendedURI.query; - } - if(appendedURI.fragment != null) { - resultURI.fragment = appendedURI.fragment; - } - return resultURI; -}; -xrfragment_URI.appendToAbsoluteURI = function(url,appendedURI) { - var resultURI = new xrfragment_URI(); - if(url.scheme != null) { - resultURI.scheme = url.scheme; - } - if(url.host != null) { - resultURI.host = url.host; - } - var directory = ""; - if(url.directory != null) { - directory = url.directory; - } - if(appendedURI.host != null) { - appendedURI.directory += appendedURI.host; - } - if(appendedURI.directory != null) { - directory += appendedURI.directory; - } - resultURI.directory = directory; - if(appendedURI.file != null) { - resultURI.file = appendedURI.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(appendedURI.query != null) { - resultURI.query = appendedURI.query; - } - if(appendedURI.fragment != null) { - resultURI.fragment = appendedURI.fragment; - } - return resultURI; -}; -xrfragment_URI.toAbsolute = function(url,newUrl) { - var newURI = xrfragment_URI.parse(newUrl,0); - var resultURI = new xrfragment_URI(); - resultURI.port = url.port; - resultURI.source = newUrl; - if(newURI.scheme != null) { - resultURI.scheme = newURI.scheme; - } else { - resultURI.scheme = url.scheme; - } - if(newURI.host != null && newURI.host.length > 0) { - resultURI.host = newURI.host; - resultURI.port = null; - resultURI.fragment = null; - resultURI.hash = { }; - resultURI.XRF = { }; - if(newURI.port != null) { - resultURI.port = newURI.port; - } - } else { - resultURI.host = url.host; - } - var directory = ""; - if(url.directory != null) { - directory = url.directory; - } - if(newURI.directory != null) { - if(newUrl.charAt(0) != "/" && newUrl.indexOf("://") == -1) { - var stripRelative_r = new RegExp("\\./.*","".split("u").join("")); - directory = directory.replace(stripRelative_r,""); - directory += newURI.directory; - } else { - directory = newURI.directory; - } - } - resultURI.directory = directory; - if(newURI.file != null) { - resultURI.file = newURI.file; - } else { - resultURI.file = url.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(newURI.query != null) { - resultURI.query = newURI.query; - } - if(newURI.fragment != null) { - resultURI.fragment = newURI.fragment; - } - resultURI.hash = newURI.hash; - resultURI.XRF = newURI.XRF; - xrfragment_URI.computeVars(resultURI); - return resultURI; -}; -xrfragment_URI.cloneURI = function(url) { - var clonedURI = new xrfragment_URI(); - clonedURI.url = url.url; - clonedURI.source = url.source; - clonedURI.scheme = url.scheme; - clonedURI.authority = url.authority; - clonedURI.userInfo = url.userInfo; - clonedURI.password = url.password; - clonedURI.host = url.host; - clonedURI.port = url.port; - clonedURI.relative = url.relative; - clonedURI.path = url.path; - clonedURI.directory = url.directory; - clonedURI.file = url.file; - clonedURI.query = url.query; - clonedURI.fragment = url.fragment; - return clonedURI; -}; -var xrfragment_XRF = $hx_exports["xrfragment"]["XRF"] = function(_fragment,_flags,_index) { - this.floats = []; - this.shift = []; - this.fragment = _fragment; - this.flags = _flags; - this.index = _index; -}; -xrfragment_XRF.__name__ = true; -xrfragment_XRF.set = function(flag,flags) { - return flags | flag; -}; -xrfragment_XRF.unset = function(flag,flags) { - return flags & ~flag; -}; -xrfragment_XRF.prototype = { - is: function(flag) { - var v = this.flags; - if(!(typeof(v) == "number" && ((v | 0) === v))) { - this.flags = 0; - } - return (this.flags & flag) != 0; - } - ,validate: function(value) { - this.guessType(this,value); - var ok = true; - if(value.length == 0 && !this.is(xrfragment_XRF.T_PREDEFINED_VIEW)) { - ok = false; - } - if(!this.is(xrfragment_XRF.T_FLOAT) && this.is(xrfragment_XRF.T_VECTOR2) && !(typeof(this.x) == "number" && typeof(this.y) == "number")) { - ok = false; - } - if(!(this.is(xrfragment_XRF.T_VECTOR2) || this.is(xrfragment_XRF.T_STRING)) && this.is(xrfragment_XRF.T_VECTOR3) && !(typeof(this.x) == "number" && typeof(this.y) == "number" && typeof(this.z) == "number")) { - ok = false; - } - return ok; - } - ,guessType: function(v,str) { - v.string = str; - if(xrfragment_XRF.isReset.match(v.fragment)) { - v.reset = true; - } - if(v.fragment == "loop") { - v.loop = true; - } - if(typeof(str) != "string") { - return; - } - if(str.length > 0) { - if(xrfragment_XRF.isXRFScheme.match(str)) { - v.xrfScheme = true; - str = str.replace(xrfragment_XRF.isXRFScheme.r,""); - v.string = str; - } - if(str.split(",").length > 1) { - var xyzn = str.split(","); - if(xyzn.length > 0) { - v.x = parseFloat(xyzn[0]); - } - if(xyzn.length > 1) { - v.y = parseFloat(xyzn[1]); - } - if(xyzn.length > 2) { - v.z = parseFloat(xyzn[2]); - } - var _g = 0; - var _g1 = xyzn.length; - while(_g < _g1) { - var i = _g++; - v.shift.push(xrfragment_XRF.isShift.match(xyzn[i])); - v.floats.push(parseFloat(xyzn[i].replace(xrfragment_XRF.isShift.r,""))); - } - } - if(xrfragment_XRF.isColor.match(str)) { - v.color = str; - } - if(xrfragment_XRF.isFloat.match(str)) { - v.x = parseFloat(str); - v.float = v.x; - } - if(xrfragment_XRF.isInt.match(str)) { - v.int = Std.parseInt(str); - v.x = v.int; - v.floats.push(v.x); - } - v.filter = new xrfragment_Filter(v.fragment + "=" + v.string); - } else { - v.filter = new xrfragment_Filter(v.fragment); - } - } -}; -function $getIterator(o) { if( o instanceof Array ) return new haxe_iterators_ArrayIterator(o); else return o.iterator(); } -function $bind(o,m) { if( m == null ) return null; if( m.__id__ == null ) m.__id__ = $global.$haxeUID++; var f; if( o.hx__closures__ == null ) o.hx__closures__ = {}; else f = o.hx__closures__[m.__id__]; if( f == null ) { f = m.bind(o); o.hx__closures__[m.__id__] = f; } return f; } -$global.$haxeUID |= 0; -if(typeof(performance) != "undefined" ? typeof(performance.now) == "function" : false) { - HxOverrides.now = performance.now.bind(performance); -} -if( String.fromCodePoint == null ) String.fromCodePoint = function(c) { return c < 0x10000 ? String.fromCharCode(c) : String.fromCharCode((c>>10)+0xD7C0)+String.fromCharCode((c&0x3FF)+0xDC00); } -String.__name__ = true; -Array.__name__ = true; -js_Boot.__toStr = ({ }).toString; -haxe_Template.splitter = new EReg("(::[A-Za-z0-9_ ()&|!+=/><*.\"-]+::|\\$\\$([A-Za-z0-9_-]+)\\()",""); -haxe_Template.expr_splitter = new EReg("(\\(|\\)|[ \r\n\t]*\"[^\"]*\"[ \r\n\t]*|[!+=/><*.&|-]+)",""); -haxe_Template.expr_trim = new EReg("^[ ]*([^ ]+)[ ]*$",""); -haxe_Template.expr_int = new EReg("^[0-9]+$",""); -haxe_Template.expr_float = new EReg("^([+-]?)(?=\\d|,\\d)\\d*(,\\d*)?([Ee]([+-]?\\d+))?$",""); -haxe_Template.globals = { }; -haxe_Template.hxKeepArrayIterator = new haxe_iterators_ArrayIterator([]); -xrfragment_Parser.error = ""; -xrfragment_Parser.debug = false; -xrfragment_URI.__meta__ = { statics : { template : { keep : null}}}; -xrfragment_URI._parts = ["source","scheme","authority","userInfo","user","password","host","port","relative","path","directory","file","query","fragment"]; -xrfragment_XRF.IMMUTABLE = 1; -xrfragment_XRF.PROP_BIND = 2; -xrfragment_XRF.QUERY_OPERATOR = 4; -xrfragment_XRF.PROMPT = 8; -xrfragment_XRF.CUSTOMFRAG = 16; -xrfragment_XRF.NAVIGATOR = 32; -xrfragment_XRF.METADATA = 64; -xrfragment_XRF.PV_OVERRIDE = 128; -xrfragment_XRF.PV_EXECUTE = 256; -xrfragment_XRF.T_COLOR = 8192; -xrfragment_XRF.T_INT = 16384; -xrfragment_XRF.T_FLOAT = 32768; -xrfragment_XRF.T_VECTOR2 = 65536; -xrfragment_XRF.T_VECTOR3 = 131072; -xrfragment_XRF.T_URL = 262144; -xrfragment_XRF.T_PREDEFINED_VIEW = 524288; -xrfragment_XRF.T_STRING = 1048576; -xrfragment_XRF.T_MEDIAFRAG = 2097152; -xrfragment_XRF.T_DYNAMICKEY = 4194304; -xrfragment_XRF.T_DYNAMICKEYVALUE = 8388608; -xrfragment_XRF.isColor = new EReg("^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$",""); -xrfragment_XRF.isInt = new EReg("^[-0-9]+$",""); -xrfragment_XRF.isFloat = new EReg("^[-0-9]+\\.[0-9]+$",""); -xrfragment_XRF.isVector = new EReg("([,]+|\\w)",""); -xrfragment_XRF.isUrl = new EReg("(://)?\\..*",""); -xrfragment_XRF.isUrlOrPretypedView = new EReg("(^#|://)?\\..*",""); -xrfragment_XRF.isString = new EReg(".*",""); -xrfragment_XRF.operators = new EReg("(^[-]|^[!]|[\\*]$)","g"); -xrfragment_XRF.isProp = new EReg("^.*=[><=]?",""); -xrfragment_XRF.isExclude = new EReg("^-",""); -xrfragment_XRF.isDeep = new EReg("\\*",""); -xrfragment_XRF.isNumber = new EReg("^[0-9\\.]+$",""); -xrfragment_XRF.isMediaFrag = new EReg("^([0-9\\.,\\*+-]+)$",""); -xrfragment_XRF.isReset = new EReg("^!",""); -xrfragment_XRF.isShift = new EReg("^(\\+|--)",""); -xrfragment_XRF.isXRFScheme = new EReg("^xrf://",""); -})(typeof window != "undefined" ? window : typeof global != "undefined" ? global : typeof self != "undefined" ? self : this); -var xrfragment = $hx_exports["xrfragment"]; -export default xrfragment; -// Generated by Haxe 4.3.3 -var $hx_exports = typeof exports != "undefined" ? exports : typeof window != "undefined" ? window : typeof self != "undefined" ? self : this; -(function ($global) { "use strict"; -$hx_exports["xrfragment"] = $hx_exports["xrfragment"] || {}; -var $estr = function() { return js_Boot.__string_rec(this,''); },$hxEnums = $hxEnums || {},$_; -function $extend(from, fields) { - var proto = Object.create(from); - for (var name in fields) proto[name] = fields[name]; - if( fields.toString !== Object.prototype.toString ) proto.toString = fields.toString; - return proto; -} -var EReg = function(r,opt) { - this.r = new RegExp(r,opt.split("u").join("")); -}; -EReg.__name__ = true; -EReg.prototype = { - match: function(s) { - if(this.r.global) { - this.r.lastIndex = 0; - } - this.r.m = this.r.exec(s); - this.r.s = s; - return this.r.m != null; - } - ,matched: function(n) { - if(this.r.m != null && n >= 0 && n < this.r.m.length) { - return this.r.m[n]; - } else { - throw haxe_Exception.thrown("EReg::matched"); - } - } - ,matchedRight: function() { - if(this.r.m == null) { - throw haxe_Exception.thrown("No string matched"); - } - var sz = this.r.m.index + this.r.m[0].length; - return HxOverrides.substr(this.r.s,sz,this.r.s.length - sz); - } - ,matchedPos: function() { - if(this.r.m == null) { - throw haxe_Exception.thrown("No string matched"); - } - return { pos : this.r.m.index, len : this.r.m[0].length}; - } - ,split: function(s) { - var d = "#__delim__#"; - return s.replace(this.r,d).split(d); - } -}; -var HxOverrides = function() { }; -HxOverrides.__name__ = true; -HxOverrides.cca = function(s,index) { - var x = s.charCodeAt(index); - if(x != x) { - return undefined; - } - return x; -}; -HxOverrides.substr = function(s,pos,len) { - if(len == null) { - len = s.length; - } else if(len < 0) { - if(pos == 0) { - len = s.length + len; - } else { - return ""; - } - } - return s.substr(pos,len); -}; -HxOverrides.now = function() { - return Date.now(); -}; -Math.__name__ = true; -var Reflect = function() { }; -Reflect.__name__ = true; -Reflect.field = function(o,field) { - try { - return o[field]; - } catch( _g ) { - return null; - } -}; -Reflect.getProperty = function(o,field) { - var tmp; - if(o == null) { - return null; - } else { - var tmp1; - if(o.__properties__) { - tmp = o.__properties__["get_" + field]; - tmp1 = tmp; - } else { - tmp1 = false; - } - if(tmp1) { - return o[tmp](); - } else { - return o[field]; - } - } -}; -Reflect.fields = function(o) { - var a = []; - if(o != null) { - var hasOwnProperty = Object.prototype.hasOwnProperty; - for( var f in o ) { - if(f != "__id__" && f != "hx__closures__" && hasOwnProperty.call(o,f)) { - a.push(f); - } - } - } - return a; -}; -Reflect.isObject = function(v) { - if(v == null) { - return false; - } - var t = typeof(v); - if(!(t == "string" || t == "object" && v.__enum__ == null)) { - if(t == "function") { - return (v.__name__ || v.__ename__) != null; - } else { - return false; - } - } else { - return true; - } -}; -Reflect.deleteField = function(o,field) { - if(!Object.prototype.hasOwnProperty.call(o,field)) { - return false; - } - delete(o[field]); - return true; -}; -Reflect.copy = function(o) { - if(o == null) { - return null; - } - var o2 = { }; - var _g = 0; - var _g1 = Reflect.fields(o); - while(_g < _g1.length) { - var f = _g1[_g]; - ++_g; - o2[f] = Reflect.field(o,f); - } - return o2; -}; -var Std = function() { }; -Std.__name__ = true; -Std.string = function(s) { - return js_Boot.__string_rec(s,""); -}; -Std.parseInt = function(x) { - var v = parseInt(x); - if(isNaN(v)) { - return null; - } - return v; -}; -var StringBuf = function() { - this.b = ""; -}; -StringBuf.__name__ = true; -var StringTools = function() { }; -StringTools.__name__ = true; -StringTools.isSpace = function(s,pos) { - var c = HxOverrides.cca(s,pos); - if(!(c > 8 && c < 14)) { - return c == 32; - } else { - return true; - } -}; -StringTools.ltrim = function(s) { - var l = s.length; - var r = 0; - while(r < l && StringTools.isSpace(s,r)) ++r; - if(r > 0) { - return HxOverrides.substr(s,r,l - r); - } else { - return s; - } -}; -StringTools.rtrim = function(s) { - var l = s.length; - var r = 0; - while(r < l && StringTools.isSpace(s,l - r - 1)) ++r; - if(r > 0) { - return HxOverrides.substr(s,0,l - r); - } else { - return s; - } -}; -StringTools.trim = function(s) { - return StringTools.ltrim(StringTools.rtrim(s)); -}; -StringTools.replace = function(s,sub,by) { - return s.split(sub).join(by); -}; -var haxe_Exception = function(message,previous,native) { - Error.call(this,message); - this.message = message; - this.__previousException = previous; - this.__nativeException = native != null ? native : this; -}; -haxe_Exception.__name__ = true; -haxe_Exception.caught = function(value) { - if(((value) instanceof haxe_Exception)) { - return value; - } else if(((value) instanceof Error)) { - return new haxe_Exception(value.message,null,value); - } else { - return new haxe_ValueException(value,null,value); - } -}; -haxe_Exception.thrown = function(value) { - if(((value) instanceof haxe_Exception)) { - return value.get_native(); - } else if(((value) instanceof Error)) { - return value; - } else { - var e = new haxe_ValueException(value); - return e; - } -}; -haxe_Exception.__super__ = Error; -haxe_Exception.prototype = $extend(Error.prototype,{ - unwrap: function() { - return this.__nativeException; - } - ,get_native: function() { - return this.__nativeException; - } - ,__properties__: {get_native:"get_native"} -}); -var haxe__$Template_TemplateExpr = $hxEnums["haxe._Template.TemplateExpr"] = { __ename__:true,__constructs__:null - ,OpVar: ($_=function(v) { return {_hx_index:0,v:v,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpVar",$_.__params__ = ["v"],$_) - ,OpExpr: ($_=function(expr) { return {_hx_index:1,expr:expr,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpExpr",$_.__params__ = ["expr"],$_) - ,OpIf: ($_=function(expr,eif,eelse) { return {_hx_index:2,expr:expr,eif:eif,eelse:eelse,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpIf",$_.__params__ = ["expr","eif","eelse"],$_) - ,OpStr: ($_=function(str) { return {_hx_index:3,str:str,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpStr",$_.__params__ = ["str"],$_) - ,OpBlock: ($_=function(l) { return {_hx_index:4,l:l,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpBlock",$_.__params__ = ["l"],$_) - ,OpForeach: ($_=function(expr,loop) { return {_hx_index:5,expr:expr,loop:loop,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpForeach",$_.__params__ = ["expr","loop"],$_) - ,OpMacro: ($_=function(name,params) { return {_hx_index:6,name:name,params:params,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpMacro",$_.__params__ = ["name","params"],$_) -}; -haxe__$Template_TemplateExpr.__constructs__ = [haxe__$Template_TemplateExpr.OpVar,haxe__$Template_TemplateExpr.OpExpr,haxe__$Template_TemplateExpr.OpIf,haxe__$Template_TemplateExpr.OpStr,haxe__$Template_TemplateExpr.OpBlock,haxe__$Template_TemplateExpr.OpForeach,haxe__$Template_TemplateExpr.OpMacro]; -var haxe_iterators_ArrayIterator = function(array) { - this.current = 0; - this.array = array; -}; -haxe_iterators_ArrayIterator.__name__ = true; -haxe_iterators_ArrayIterator.prototype = { - hasNext: function() { - return this.current < this.array.length; - } - ,next: function() { - return this.array[this.current++]; - } -}; -var haxe_Template = function(str) { - var tokens = this.parseTokens(str); - this.expr = this.parseBlock(tokens); - if(!tokens.isEmpty()) { - throw haxe_Exception.thrown("Unexpected '" + Std.string(tokens.first().s) + "'"); - } -}; -haxe_Template.__name__ = true; -haxe_Template.prototype = { - execute: function(context,macros) { - this.macros = macros == null ? { } : macros; - this.context = context; - this.stack = new haxe_ds_List(); - this.buf = new StringBuf(); - this.run(this.expr); - return this.buf.b; - } - ,resolve: function(v) { - if(v == "__current__") { - return this.context; - } - if(Reflect.isObject(this.context)) { - var value = Reflect.getProperty(this.context,v); - if(value != null || Object.prototype.hasOwnProperty.call(this.context,v)) { - return value; - } - } - var _g_head = this.stack.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var ctx = val; - var value = Reflect.getProperty(ctx,v); - if(value != null || Object.prototype.hasOwnProperty.call(ctx,v)) { - return value; - } - } - return Reflect.field(haxe_Template.globals,v); - } - ,parseTokens: function(data) { - var tokens = new haxe_ds_List(); - while(haxe_Template.splitter.match(data)) { - var p = haxe_Template.splitter.matchedPos(); - if(p.pos > 0) { - tokens.add({ p : HxOverrides.substr(data,0,p.pos), s : true, l : null}); - } - if(HxOverrides.cca(data,p.pos) == 58) { - tokens.add({ p : HxOverrides.substr(data,p.pos + 2,p.len - 4), s : false, l : null}); - data = haxe_Template.splitter.matchedRight(); - continue; - } - var parp = p.pos + p.len; - var npar = 1; - var params = []; - var part = ""; - while(true) { - var c = HxOverrides.cca(data,parp); - ++parp; - if(c == 40) { - ++npar; - } else if(c == 41) { - --npar; - if(npar <= 0) { - break; - } - } else if(c == null) { - throw haxe_Exception.thrown("Unclosed macro parenthesis"); - } - if(c == 44 && npar == 1) { - params.push(part); - part = ""; - } else { - part += String.fromCodePoint(c); - } - } - params.push(part); - tokens.add({ p : haxe_Template.splitter.matched(2), s : false, l : params}); - data = HxOverrides.substr(data,parp,data.length - parp); - } - if(data.length > 0) { - tokens.add({ p : data, s : true, l : null}); - } - return tokens; - } - ,parseBlock: function(tokens) { - var l = new haxe_ds_List(); - while(true) { - var t = tokens.first(); - if(t == null) { - break; - } - if(!t.s && (t.p == "end" || t.p == "else" || HxOverrides.substr(t.p,0,7) == "elseif ")) { - break; - } - l.add(this.parse(tokens)); - } - if(l.length == 1) { - return l.first(); - } - return haxe__$Template_TemplateExpr.OpBlock(l); - } - ,parse: function(tokens) { - var t = tokens.pop(); - var p = t.p; - if(t.s) { - return haxe__$Template_TemplateExpr.OpStr(p); - } - if(t.l != null) { - var pe = new haxe_ds_List(); - var _g = 0; - var _g1 = t.l; - while(_g < _g1.length) { - var p1 = _g1[_g]; - ++_g; - pe.add(this.parseBlock(this.parseTokens(p1))); - } - return haxe__$Template_TemplateExpr.OpMacro(p,pe); - } - var kwdEnd = function(kwd) { - var pos = -1; - var length = kwd.length; - if(HxOverrides.substr(p,0,length) == kwd) { - pos = length; - var _g_offset = 0; - var _g_s = HxOverrides.substr(p,length,null); - while(_g_offset < _g_s.length) { - var c = _g_s.charCodeAt(_g_offset++); - if(c == 32) { - ++pos; - } else { - break; - } - } - } - return pos; - }; - var pos = kwdEnd("if"); - if(pos > 0) { - p = HxOverrides.substr(p,pos,p.length - pos); - var e = this.parseExpr(p); - var eif = this.parseBlock(tokens); - var t = tokens.first(); - var eelse; - if(t == null) { - throw haxe_Exception.thrown("Unclosed 'if'"); - } - if(t.p == "end") { - tokens.pop(); - eelse = null; - } else if(t.p == "else") { - tokens.pop(); - eelse = this.parseBlock(tokens); - t = tokens.pop(); - if(t == null || t.p != "end") { - throw haxe_Exception.thrown("Unclosed 'else'"); - } - } else { - t.p = HxOverrides.substr(t.p,4,t.p.length - 4); - eelse = this.parse(tokens); - } - return haxe__$Template_TemplateExpr.OpIf(e,eif,eelse); - } - var pos = kwdEnd("foreach"); - if(pos >= 0) { - p = HxOverrides.substr(p,pos,p.length - pos); - var e = this.parseExpr(p); - var efor = this.parseBlock(tokens); - var t = tokens.pop(); - if(t == null || t.p != "end") { - throw haxe_Exception.thrown("Unclosed 'foreach'"); - } - return haxe__$Template_TemplateExpr.OpForeach(e,efor); - } - if(haxe_Template.expr_splitter.match(p)) { - return haxe__$Template_TemplateExpr.OpExpr(this.parseExpr(p)); - } - return haxe__$Template_TemplateExpr.OpVar(p); - } - ,parseExpr: function(data) { - var l = new haxe_ds_List(); - var expr = data; - while(haxe_Template.expr_splitter.match(data)) { - var p = haxe_Template.expr_splitter.matchedPos(); - var k = p.pos + p.len; - if(p.pos != 0) { - l.add({ p : HxOverrides.substr(data,0,p.pos), s : true}); - } - var p1 = haxe_Template.expr_splitter.matched(0); - l.add({ p : p1, s : p1.indexOf("\"") >= 0}); - data = haxe_Template.expr_splitter.matchedRight(); - } - if(data.length != 0) { - var _g_offset = 0; - var _g_s = data; - while(_g_offset < _g_s.length) { - var _g_key = _g_offset; - var _g_value = _g_s.charCodeAt(_g_offset++); - var i = _g_key; - var c = _g_value; - if(c != 32) { - l.add({ p : HxOverrides.substr(data,i,null), s : true}); - break; - } - } - } - var e; - try { - e = this.makeExpr(l); - if(!l.isEmpty()) { - throw haxe_Exception.thrown(l.first().p); - } - } catch( _g ) { - var _g1 = haxe_Exception.caught(_g).unwrap(); - if(typeof(_g1) == "string") { - var s = _g1; - throw haxe_Exception.thrown("Unexpected '" + s + "' in " + expr); - } else { - throw _g; - } - } - return function() { - try { - return e(); - } catch( _g ) { - var exc = haxe_Exception.caught(_g).unwrap(); - throw haxe_Exception.thrown("Error : " + Std.string(exc) + " in " + expr); - } - }; - } - ,makeConst: function(v) { - haxe_Template.expr_trim.match(v); - v = haxe_Template.expr_trim.matched(1); - if(HxOverrides.cca(v,0) == 34) { - var str = HxOverrides.substr(v,1,v.length - 2); - return function() { - return str; - }; - } - if(haxe_Template.expr_int.match(v)) { - var i = Std.parseInt(v); - return function() { - return i; - }; - } - if(haxe_Template.expr_float.match(v)) { - var f = parseFloat(v); - return function() { - return f; - }; - } - var me = this; - return function() { - return me.resolve(v); - }; - } - ,makePath: function(e,l) { - var p = l.first(); - if(p == null || p.p != ".") { - return e; - } - l.pop(); - var field = l.pop(); - if(field == null || !field.s) { - throw haxe_Exception.thrown(field.p); - } - var f = field.p; - haxe_Template.expr_trim.match(f); - f = haxe_Template.expr_trim.matched(1); - return this.makePath(function() { - return Reflect.field(e(),f); - },l); - } - ,makeExpr: function(l) { - return this.makePath(this.makeExpr2(l),l); - } - ,skipSpaces: function(l) { - var p = l.first(); - while(p != null) { - var _g_offset = 0; - var _g_s = p.p; - while(_g_offset < _g_s.length) { - var c = _g_s.charCodeAt(_g_offset++); - if(c != 32) { - return; - } - } - l.pop(); - p = l.first(); - } - } - ,makeExpr2: function(l) { - this.skipSpaces(l); - var p = l.pop(); - this.skipSpaces(l); - if(p == null) { - throw haxe_Exception.thrown(""); - } - if(p.s) { - return this.makeConst(p.p); - } - switch(p.p) { - case "!": - var e = this.makeExpr(l); - return function() { - var v = e(); - if(v != null) { - return v == false; - } else { - return true; - } - }; - case "(": - this.skipSpaces(l); - var e1 = this.makeExpr(l); - this.skipSpaces(l); - var p1 = l.pop(); - if(p1 == null || p1.s) { - throw haxe_Exception.thrown(p1); - } - if(p1.p == ")") { - return e1; - } - this.skipSpaces(l); - var e2 = this.makeExpr(l); - this.skipSpaces(l); - var p2 = l.pop(); - this.skipSpaces(l); - if(p2 == null || p2.p != ")") { - throw haxe_Exception.thrown(p2); - } - switch(p1.p) { - case "!=": - return function() { - return e1() != e2(); - }; - case "&&": - return function() { - return e1() && e2(); - }; - case "*": - return function() { - return e1() * e2(); - }; - case "+": - return function() { - return e1() + e2(); - }; - case "-": - return function() { - return e1() - e2(); - }; - case "/": - return function() { - return e1() / e2(); - }; - case "<": - return function() { - return e1() < e2(); - }; - case "<=": - return function() { - return e1() <= e2(); - }; - case "==": - return function() { - return e1() == e2(); - }; - case ">": - return function() { - return e1() > e2(); - }; - case ">=": - return function() { - return e1() >= e2(); - }; - case "||": - return function() { - return e1() || e2(); - }; - default: - throw haxe_Exception.thrown("Unknown operation " + p1.p); - } - break; - case "-": - var e3 = this.makeExpr(l); - return function() { - return -e3(); - }; - } - throw haxe_Exception.thrown(p.p); - } - ,run: function(e) { - switch(e._hx_index) { - case 0: - var v = e.v; - var _this = this.buf; - var x = Std.string(this.resolve(v)); - _this.b += Std.string(x); - break; - case 1: - var e1 = e.expr; - var _this = this.buf; - var x = Std.string(e1()); - _this.b += Std.string(x); - break; - case 2: - var e1 = e.expr; - var eif = e.eif; - var eelse = e.eelse; - var v = e1(); - if(v == null || v == false) { - if(eelse != null) { - this.run(eelse); - } - } else { - this.run(eif); - } - break; - case 3: - var str = e.str; - this.buf.b += str == null ? "null" : "" + str; - break; - case 4: - var l = e.l; - var _g_head = l.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var e1 = val; - this.run(e1); - } - break; - case 5: - var e1 = e.expr; - var loop = e.loop; - var v = e1(); - try { - var x = $getIterator(v); - if(x.hasNext == null) { - throw haxe_Exception.thrown(null); - } - v = x; - } catch( _g ) { - try { - if(v.hasNext == null) { - throw haxe_Exception.thrown(null); - } - } catch( _g1 ) { - throw haxe_Exception.thrown("Cannot iter on " + Std.string(v)); - } - } - this.stack.push(this.context); - var v1 = v; - var ctx = v1; - while(ctx.hasNext()) { - var ctx1 = ctx.next(); - this.context = ctx1; - this.run(loop); - } - this.context = this.stack.pop(); - break; - case 6: - var m = e.name; - var params = e.params; - var v = Reflect.field(this.macros,m); - var pl = []; - var old = this.buf; - pl.push($bind(this,this.resolve)); - var _g_head = params.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var p = val; - if(p._hx_index == 0) { - var v1 = p.v; - pl.push(this.resolve(v1)); - } else { - this.buf = new StringBuf(); - this.run(p); - pl.push(this.buf.b); - } - } - this.buf = old; - try { - var _this = this.buf; - var x = Std.string(v.apply(this.macros,pl)); - _this.b += Std.string(x); - } catch( _g ) { - var e = haxe_Exception.caught(_g).unwrap(); - var plstr; - try { - plstr = pl.join(","); - } catch( _g1 ) { - plstr = "???"; - } - var msg = "Macro call " + m + "(" + plstr + ") failed (" + Std.string(e) + ")"; - throw haxe_Exception.thrown(msg); - } - break; - } - } -}; -var haxe_ValueException = function(value,previous,native) { - haxe_Exception.call(this,String(value),previous,native); - this.value = value; -}; -haxe_ValueException.__name__ = true; -haxe_ValueException.__super__ = haxe_Exception; -haxe_ValueException.prototype = $extend(haxe_Exception.prototype,{ - unwrap: function() { - return this.value; - } -}); -var haxe_ds_List = function() { - this.length = 0; -}; -haxe_ds_List.__name__ = true; -haxe_ds_List.prototype = { - add: function(item) { - var x = new haxe_ds__$List_ListNode(item,null); - if(this.h == null) { - this.h = x; - } else { - this.q.next = x; - } - this.q = x; - this.length++; - } - ,push: function(item) { - var x = new haxe_ds__$List_ListNode(item,this.h); - this.h = x; - if(this.q == null) { - this.q = x; - } - this.length++; - } - ,first: function() { - if(this.h == null) { - return null; - } else { - return this.h.item; - } - } - ,pop: function() { - if(this.h == null) { - return null; - } - var x = this.h.item; - this.h = this.h.next; - if(this.h == null) { - this.q = null; - } - this.length--; - return x; - } - ,isEmpty: function() { - return this.h == null; - } - ,toString: function() { - var s_b = ""; - var first = true; - var l = this.h; - s_b += "{"; - while(l != null) { - if(first) { - first = false; - } else { - s_b += ", "; - } - s_b += Std.string(Std.string(l.item)); - l = l.next; - } - s_b += "}"; - return s_b; - } -}; -var haxe_ds__$List_ListNode = function(item,next) { - this.item = item; - this.next = next; -}; -haxe_ds__$List_ListNode.__name__ = true; -var js_Boot = function() { }; -js_Boot.__name__ = true; -js_Boot.__string_rec = function(o,s) { - if(o == null) { - return "null"; - } - if(s.length >= 5) { - return "<...>"; - } - var t = typeof(o); - if(t == "function" && (o.__name__ || o.__ename__)) { - t = "object"; - } - switch(t) { - case "function": - return ""; - case "object": - if(o.__enum__) { - var e = $hxEnums[o.__enum__]; - var con = e.__constructs__[o._hx_index]; - var n = con._hx_name; - if(con.__params__) { - s = s + "\t"; - return n + "(" + ((function($this) { - var $r; - var _g = []; - { - var _g1 = 0; - var _g2 = con.__params__; - while(true) { - if(!(_g1 < _g2.length)) { - break; - } - var p = _g2[_g1]; - _g1 = _g1 + 1; - _g.push(js_Boot.__string_rec(o[p],s)); - } - } - $r = _g; - return $r; - }(this))).join(",") + ")"; - } else { - return n; - } - } - if(((o) instanceof Array)) { - var str = "["; - s += "\t"; - var _g = 0; - var _g1 = o.length; - while(_g < _g1) { - var i = _g++; - str += (i > 0 ? "," : "") + js_Boot.__string_rec(o[i],s); - } - str += "]"; - return str; - } - var tostr; - try { - tostr = o.toString; - } catch( _g ) { - return "???"; - } - if(tostr != null && tostr != Object.toString && typeof(tostr) == "function") { - var s2 = o.toString(); - if(s2 != "[object Object]") { - return s2; - } - } - var str = "{\n"; - s += "\t"; - var hasp = o.hasOwnProperty != null; - var k = null; - for( k in o ) { - if(hasp && !o.hasOwnProperty(k)) { - continue; - } - if(k == "prototype" || k == "__class__" || k == "__super__" || k == "__interfaces__" || k == "__properties__") { - continue; - } - if(str.length != 2) { - str += ", \n"; - } - str += s + k + " : " + js_Boot.__string_rec(o[k],s); - } - s = s.substring(1); - str += "\n" + s + "}"; - return str; - case "string": - return o; - default: - return String(o); - } -}; -var xrfragment_Filter = $hx_exports["xrfragment"]["Filter"] = function(str) { - this.q = { }; - this.str = ""; - if(str != null) { - this.parse(str); - } -}; -xrfragment_Filter.__name__ = true; -xrfragment_Filter.prototype = { - toObject: function() { - return Reflect.copy(this.q); - } - ,get: function() { - return Reflect.copy(this.q); - } - ,parse: function(str) { - var token = str.split(" "); - var q = { }; - var process = function(str,prefix) { - if(prefix == null) { - prefix = ""; - } - str = StringTools.trim(str); - var k = str.split("=")[0]; - var v = str.split("=")[1]; - var filter = { }; - if(q[prefix + k]) { - filter = q[prefix + k]; - } - if(xrfragment_XRF.isProp.match(str)) { - var oper = ""; - if(str.indexOf(">") != -1) { - oper = ">"; - } - if(str.indexOf("<") != -1) { - oper = "<"; - } - if(xrfragment_XRF.isExclude.match(k)) { - k = HxOverrides.substr(k,1,null); - } - v = HxOverrides.substr(v,oper.length,null); - if(oper.length == 0) { - oper = "="; - } - var rule = { }; - if(xrfragment_XRF.isNumber.match(v)) { - rule[oper] = parseFloat(v); - } else { - rule[oper] = v; - } - q["expr"] = rule; - } - var value = xrfragment_XRF.isDeep.match(str) ? k.split("*").length - 1 : 0; - q["deep"] = value; - var value = xrfragment_XRF.isExclude.match(str) ? false : true; - q["show"] = value; - var value = k.replace(xrfragment_XRF.operators.r,""); - q["key"] = value; - q["value"] = v; - }; - var _g = 0; - var _g1 = token.length; - while(_g < _g1) { - var i = _g++; - process(token[i]); - } - return this.q = q; - } - ,test: function(obj) { - var qualify = false; - var _g = 0; - var _g1 = Reflect.fields(obj); - while(_g < _g1.length) { - var k = _g1[_g]; - ++_g; - var v = Std.string(Reflect.field(obj,k)); - if(this.testProperty(k,v)) { - qualify = true; - } - } - var _g = 0; - var _g1 = Reflect.fields(obj); - while(_g < _g1.length) { - var k = _g1[_g]; - ++_g; - var v = Std.string(Reflect.field(obj,k)); - if(this.testProperty(k,v,true)) { - qualify = false; - } - } - return qualify; - } - ,testProperty: function(property,value,exclude) { - var conds = 0; - var fails = 0; - var qualify = 0; - var testprop = function(expr) { - conds += 1; - fails += expr ? 0 : 1; - return expr; - }; - if(this.q[value] != null) { - var v = this.q[value]; - if(v[property] != null) { - return v[property]; - } - } - if(Reflect.field(this.q,"expr")) { - var f = Reflect.field(this.q,"expr"); - if(!Reflect.field(this.q,"show")) { - if(Reflect.field(f,"!=") != null && testprop((value == null ? "null" : "" + value) == Std.string(Reflect.field(f,"!="))) && exclude) { - ++qualify; - } - } else { - if(Reflect.field(f,"*") != null && testprop(parseFloat(value) != null)) { - ++qualify; - } - if(Reflect.field(f,">") != null && testprop(parseFloat(value) >= parseFloat(Reflect.field(f,">")))) { - ++qualify; - } - if(Reflect.field(f,"<") != null && testprop(parseFloat(value) <= parseFloat(Reflect.field(f,"<")))) { - ++qualify; - } - if(Reflect.field(f,"=") != null && (testprop(value == Reflect.field(f,"=")) || testprop(parseFloat(value) == parseFloat(Reflect.field(f,"="))))) { - ++qualify; - } - } - } - return qualify > 0; - } -}; -var xrfragment_Parser = $hx_exports["xrfragment"]["Parser"] = function() { }; -xrfragment_Parser.__name__ = true; -xrfragment_Parser.parse = function(key,value,store,index) { - var Frag_h = Object.create(null); - Frag_h["#"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_PREDEFINED_VIEW | xrfragment_XRF.PV_EXECUTE; - Frag_h["src"] = xrfragment_XRF.T_URL; - Frag_h["href"] = xrfragment_XRF.T_URL | xrfragment_XRF.T_PREDEFINED_VIEW; - Frag_h["tag"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["pos"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_VECTOR3 | xrfragment_XRF.T_STRING | xrfragment_XRF.METADATA | xrfragment_XRF.NAVIGATOR; - Frag_h["rot"] = xrfragment_XRF.QUERY_OPERATOR | xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_VECTOR3 | xrfragment_XRF.METADATA | xrfragment_XRF.NAVIGATOR; - Frag_h["t"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_FLOAT | xrfragment_XRF.T_VECTOR2 | xrfragment_XRF.NAVIGATOR | xrfragment_XRF.METADATA; - Frag_h["s"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_MEDIAFRAG; - Frag_h["loop"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_PREDEFINED_VIEW; - Frag_h["uv"] = xrfragment_XRF.T_VECTOR2 | xrfragment_XRF.T_MEDIAFRAG; - Frag_h["namespace"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["SPDX"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["unit"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["description"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - var keyStripped = key.replace(xrfragment_XRF.operators.r,""); - var isPVDynamic = key.length > 0 && !Object.prototype.hasOwnProperty.call(Frag_h,key); - if(isPVDynamic) { - var v = new xrfragment_XRF(key,xrfragment_XRF.PV_EXECUTE | xrfragment_XRF.NAVIGATOR,index); - v.validate(value); - v.flags = xrfragment_XRF.set(xrfragment_XRF.T_DYNAMICKEY,v.flags); - if(!Object.prototype.hasOwnProperty.call(Frag_h,key)) { - v.flags = xrfragment_XRF.set(xrfragment_XRF.CUSTOMFRAG,v.flags); - } - if(value.length == 0) { - v.flags = xrfragment_XRF.set(xrfragment_XRF.T_DYNAMICKEYVALUE,v.flags); - } - store[keyStripped] = v; - return true; - } - var v = new xrfragment_XRF(key,Frag_h[key],index); - if(Object.prototype.hasOwnProperty.call(Frag_h,key)) { - if(!v.validate(value)) { - console.log("src/xrfragment/Parser.hx:67:","⚠ fragment '" + key + "' has incompatible value (" + value + ")"); - return false; - } - store[keyStripped] = v; - if(xrfragment_Parser.debug) { - console.log("src/xrfragment/Parser.hx:71:","✔ " + key + ": " + v.string); - } - } else { - if(typeof(value) == "string") { - v.guessType(v,value); - } - v.flags = xrfragment_XRF.set(xrfragment_XRF.CUSTOMFRAG,v.flags); - store[keyStripped] = v; - } - return true; -}; -xrfragment_Parser.getMetaData = function() { - var meta = { title : ["title","og:title","dc.title"], description : ["aria-description","og:description","dc.description"], author : ["author","dc.creator"], publisher : ["publisher","dc.publisher"], website : ["og:site_name","og:url","dc.publisher"], license : ["SPDX","dc.rights"]}; - return meta; -}; -var xrfragment_URI = $hx_exports["xrfragment"]["URI"] = function() { - this.XRF = { }; - this.hash = { }; - this.fragment = ""; -}; -xrfragment_URI.__name__ = true; -xrfragment_URI.parseFragment = function(url,filter) { - var store = { }; - if(url == null || url.indexOf("#") == -1) { - return store; - } - var fragment = url.split("#"); - var splitArray = fragment[1].split("&"); - var _g = 0; - var _g1 = splitArray.length; - while(_g < _g1) { - var i = _g++; - var splitByEqual = splitArray[i].split("="); - var regexPlus = new EReg("\\+","g"); - var key = splitByEqual[0]; - var value = ""; - if(splitByEqual.length > 1) { - if(xrfragment_XRF.isVector.match(splitByEqual[1])) { - value = splitByEqual[1]; - } else { - var s = regexPlus.split(splitByEqual[1]).join(" "); - value = decodeURIComponent(s.split("+").join(" ")); - } - } - var ok = xrfragment_Parser.parse(key,value,store,i); - } - if(filter != null && filter != 0) { - var _g = 0; - var _g1 = Reflect.fields(store); - while(_g < _g1.length) { - var key = _g1[_g]; - ++_g; - var xrf = store[key]; - if(!xrf.is(filter)) { - Reflect.deleteField(store,key); - } - } - } - return store; -}; -xrfragment_URI.template = function(uri,vars) { - var parts = uri.split("#"); - if(parts.length == 1) { - return uri; - } - var frag = parts[1]; - frag = StringTools.replace(frag,"{","::"); - frag = StringTools.replace(frag,"}","::"); - frag = new haxe_Template(frag).execute(vars); - frag = StringTools.replace(frag,"null",""); - parts[1] = frag; - return parts.join("#"); -}; -xrfragment_URI.parse = function(stringUrl,flags) { - var r = new EReg("^(?:(?![^:@]+:[^:@/]*@)([^:/?#.]+):)?(?://)?((?:(([^:@]*)(?::([^:@]*))?)?@)?([^:/?#]*)(?::(\\d*))?)(((/(?:[^?#](?![^?#/]*\\.[^?#/.]+(?:[?#]|$)))*/?)?([^?#/]*))(?:\\?([^#]*))?(?:#(.*))?)",""); - if(stringUrl.indexOf("://") == -1 && stringUrl.charAt(0) != "/") { - stringUrl = "/" + stringUrl; - } - r.match(stringUrl); - var url = new xrfragment_URI(); - var _g = 0; - var _g1 = xrfragment_URI._parts.length; - while(_g < _g1) { - var i = _g++; - url[xrfragment_URI._parts[i]] = r.matched(i); - } - if(xrfragment_URI.isRelative(url) == true) { - if(url.directory == null && url.host != null) { - url.file = url.host; - } - url.host = ""; - } - url.hash = { }; - if(url.fragment != null && url.fragment.length > 0) { - url.XRF = xrfragment_URI.parseFragment("#" + url.fragment,flags); - var key; - var _g = 0; - var _g1 = Reflect.fields(url.XRF); - while(_g < _g1.length) { - var key = _g1[_g]; - ++_g; - var v = url.XRF[key]; - url.hash[key] = v["string"]; - } - } - xrfragment_URI.computeVars(url); - return url; -}; -xrfragment_URI.computeVars = function(url) { - var r_r = new RegExp("//","g".split("u").join("")); - if(url.directory != null && url.directory.indexOf("//") != -1) { - url.directory = url.directory.replace(r_r,"/"); - } - if(url.path != null && url.path.indexOf("//") != -1) { - url.path = url.path.replace(r_r,"/"); - } - if(url.file != null && url.file.indexOf("//") != -1) { - url.file = url.file.replace(r_r,"/"); - } - url.URN = url.scheme + "://" + url.host; - if(url.port != null) { - url.URN += ":" + url.port; - } - url.URN += url.directory; - if(url.file != null) { - var parts = url.file.split("."); - if(parts.length > 1) { - url.fileExt = parts.pop(); - } - } -}; -xrfragment_URI.toString = function(url) { - var result = ""; - if(url.scheme != null) { - result += url.scheme + "://"; - } - if(url.user != null) { - result += url.user + ":"; - } - if(url.password != null) { - result += url.password + "@"; - } - if(url.host != null) { - result += url.host; - } - if(url.port != null) { - result += ":" + url.port; - } - if(url.directory != null) { - result += url.directory; - } - if(url.file != null) { - result += url.file; - } - if(url.query != null) { - result += "?" + url.query; - } - if(url.fragment != null) { - result += "#" + url.fragment; - } - return result; -}; -xrfragment_URI.appendURI = function(url,appendedURI) { - if(xrfragment_URI.isRelative(url) == true) { - return xrfragment_URI.appendToRelativeURI(url,appendedURI); - } else { - return xrfragment_URI.appendToAbsoluteURI(url,appendedURI); - } -}; -xrfragment_URI.isRelative = function(url) { - return url.scheme == null; -}; -xrfragment_URI.appendToRelativeURI = function(url,appendedURI) { - if(url.directory == null || url.host == null) { - return xrfragment_URI.cloneURI(appendedURI); - } - var resultURI = new xrfragment_URI(); - resultURI.host = url.host; - resultURI.directory = url.directory; - if(appendedURI.host != null) { - resultURI.directory += appendedURI.host; - } - if(appendedURI.directory != null) { - var directory = appendedURI.directory; - if(appendedURI.host == null) { - resultURI.directory += HxOverrides.substr(directory,1,null); - } else { - resultURI.directory += directory; - } - } - if(appendedURI.file != null) { - resultURI.file = appendedURI.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(appendedURI.query != null) { - resultURI.query = appendedURI.query; - } - if(appendedURI.fragment != null) { - resultURI.fragment = appendedURI.fragment; - } - return resultURI; -}; -xrfragment_URI.appendToAbsoluteURI = function(url,appendedURI) { - var resultURI = new xrfragment_URI(); - if(url.scheme != null) { - resultURI.scheme = url.scheme; - } - if(url.host != null) { - resultURI.host = url.host; - } - var directory = ""; - if(url.directory != null) { - directory = url.directory; - } - if(appendedURI.host != null) { - appendedURI.directory += appendedURI.host; - } - if(appendedURI.directory != null) { - directory += appendedURI.directory; - } - resultURI.directory = directory; - if(appendedURI.file != null) { - resultURI.file = appendedURI.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(appendedURI.query != null) { - resultURI.query = appendedURI.query; - } - if(appendedURI.fragment != null) { - resultURI.fragment = appendedURI.fragment; - } - return resultURI; -}; -xrfragment_URI.toAbsolute = function(url,newUrl) { - var newURI = xrfragment_URI.parse(newUrl,0); - var resultURI = new xrfragment_URI(); - resultURI.port = url.port; - resultURI.source = newUrl; - if(newURI.scheme != null) { - resultURI.scheme = newURI.scheme; - } else { - resultURI.scheme = url.scheme; - } - if(newURI.host != null && newURI.host.length > 0) { - resultURI.host = newURI.host; - resultURI.port = null; - resultURI.fragment = null; - resultURI.hash = { }; - resultURI.XRF = { }; - if(newURI.port != null) { - resultURI.port = newURI.port; - } - } else { - resultURI.host = url.host; - } - var directory = ""; - if(url.directory != null) { - directory = url.directory; - } - if(newURI.directory != null) { - if(newUrl.charAt(0) != "/" && newUrl.indexOf("://") == -1) { - var stripRelative_r = new RegExp("\\./.*","".split("u").join("")); - directory = directory.replace(stripRelative_r,""); - directory += newURI.directory; - } else { - directory = newURI.directory; - } - } - resultURI.directory = directory; - if(newURI.file != null) { - resultURI.file = newURI.file; - } else { - resultURI.file = url.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(newURI.query != null) { - resultURI.query = newURI.query; - } - if(newURI.fragment != null) { - resultURI.fragment = newURI.fragment; - } - resultURI.hash = newURI.hash; - resultURI.XRF = newURI.XRF; - xrfragment_URI.computeVars(resultURI); - return resultURI; -}; -xrfragment_URI.cloneURI = function(url) { - var clonedURI = new xrfragment_URI(); - clonedURI.url = url.url; - clonedURI.source = url.source; - clonedURI.scheme = url.scheme; - clonedURI.authority = url.authority; - clonedURI.userInfo = url.userInfo; - clonedURI.password = url.password; - clonedURI.host = url.host; - clonedURI.port = url.port; - clonedURI.relative = url.relative; - clonedURI.path = url.path; - clonedURI.directory = url.directory; - clonedURI.file = url.file; - clonedURI.query = url.query; - clonedURI.fragment = url.fragment; - return clonedURI; -}; -var xrfragment_XRF = $hx_exports["xrfragment"]["XRF"] = function(_fragment,_flags,_index) { - this.floats = []; - this.shift = []; - this.fragment = _fragment; - this.flags = _flags; - this.index = _index; -}; -xrfragment_XRF.__name__ = true; -xrfragment_XRF.set = function(flag,flags) { - return flags | flag; -}; -xrfragment_XRF.unset = function(flag,flags) { - return flags & ~flag; -}; -xrfragment_XRF.prototype = { - is: function(flag) { - var v = this.flags; - if(!(typeof(v) == "number" && ((v | 0) === v))) { - this.flags = 0; - } - return (this.flags & flag) != 0; - } - ,validate: function(value) { - this.guessType(this,value); - var ok = true; - if(value.length == 0 && !this.is(xrfragment_XRF.T_PREDEFINED_VIEW)) { - ok = false; - } - if(!this.is(xrfragment_XRF.T_FLOAT) && this.is(xrfragment_XRF.T_VECTOR2) && !(typeof(this.x) == "number" && typeof(this.y) == "number")) { - ok = false; - } - if(!(this.is(xrfragment_XRF.T_VECTOR2) || this.is(xrfragment_XRF.T_STRING)) && this.is(xrfragment_XRF.T_VECTOR3) && !(typeof(this.x) == "number" && typeof(this.y) == "number" && typeof(this.z) == "number")) { - ok = false; - } - return ok; - } - ,guessType: function(v,str) { - v.string = str; - if(xrfragment_XRF.isReset.match(v.fragment)) { - v.reset = true; - } - if(v.fragment == "loop") { - v.loop = true; - } - if(typeof(str) != "string") { - return; - } - if(str.length > 0) { - if(xrfragment_XRF.isXRFScheme.match(str)) { - v.xrfScheme = true; - str = str.replace(xrfragment_XRF.isXRFScheme.r,""); - v.string = str; - } - if(str.split(",").length > 1) { - var xyzn = str.split(","); - if(xyzn.length > 0) { - v.x = parseFloat(xyzn[0]); - } - if(xyzn.length > 1) { - v.y = parseFloat(xyzn[1]); - } - if(xyzn.length > 2) { - v.z = parseFloat(xyzn[2]); - } - var _g = 0; - var _g1 = xyzn.length; - while(_g < _g1) { - var i = _g++; - v.shift.push(xrfragment_XRF.isShift.match(xyzn[i])); - v.floats.push(parseFloat(xyzn[i].replace(xrfragment_XRF.isShift.r,""))); - } - } - if(xrfragment_XRF.isColor.match(str)) { - v.color = str; - } - if(xrfragment_XRF.isFloat.match(str)) { - v.x = parseFloat(str); - v.float = v.x; - } - if(xrfragment_XRF.isInt.match(str)) { - v.int = Std.parseInt(str); - v.x = v.int; - v.floats.push(v.x); - } - v.filter = new xrfragment_Filter(v.fragment + "=" + v.string); - } else { - v.filter = new xrfragment_Filter(v.fragment); - } - } -}; -function $getIterator(o) { if( o instanceof Array ) return new haxe_iterators_ArrayIterator(o); else return o.iterator(); } -function $bind(o,m) { if( m == null ) return null; if( m.__id__ == null ) m.__id__ = $global.$haxeUID++; var f; if( o.hx__closures__ == null ) o.hx__closures__ = {}; else f = o.hx__closures__[m.__id__]; if( f == null ) { f = m.bind(o); o.hx__closures__[m.__id__] = f; } return f; } -$global.$haxeUID |= 0; -if(typeof(performance) != "undefined" ? typeof(performance.now) == "function" : false) { - HxOverrides.now = performance.now.bind(performance); -} -if( String.fromCodePoint == null ) String.fromCodePoint = function(c) { return c < 0x10000 ? String.fromCharCode(c) : String.fromCharCode((c>>10)+0xD7C0)+String.fromCharCode((c&0x3FF)+0xDC00); } -String.__name__ = true; -Array.__name__ = true; -js_Boot.__toStr = ({ }).toString; -haxe_Template.splitter = new EReg("(::[A-Za-z0-9_ ()&|!+=/><*.\"-]+::|\\$\\$([A-Za-z0-9_-]+)\\()",""); -haxe_Template.expr_splitter = new EReg("(\\(|\\)|[ \r\n\t]*\"[^\"]*\"[ \r\n\t]*|[!+=/><*.&|-]+)",""); -haxe_Template.expr_trim = new EReg("^[ ]*([^ ]+)[ ]*$",""); -haxe_Template.expr_int = new EReg("^[0-9]+$",""); -haxe_Template.expr_float = new EReg("^([+-]?)(?=\\d|,\\d)\\d*(,\\d*)?([Ee]([+-]?\\d+))?$",""); -haxe_Template.globals = { }; -haxe_Template.hxKeepArrayIterator = new haxe_iterators_ArrayIterator([]); -xrfragment_Parser.error = ""; -xrfragment_Parser.debug = false; -xrfragment_URI.__meta__ = { statics : { template : { keep : null}}}; -xrfragment_URI._parts = ["source","scheme","authority","userInfo","user","password","host","port","relative","path","directory","file","query","fragment"]; -xrfragment_XRF.IMMUTABLE = 1; -xrfragment_XRF.PROP_BIND = 2; -xrfragment_XRF.QUERY_OPERATOR = 4; -xrfragment_XRF.PROMPT = 8; -xrfragment_XRF.CUSTOMFRAG = 16; -xrfragment_XRF.NAVIGATOR = 32; -xrfragment_XRF.METADATA = 64; -xrfragment_XRF.PV_OVERRIDE = 128; -xrfragment_XRF.PV_EXECUTE = 256; -xrfragment_XRF.T_COLOR = 8192; -xrfragment_XRF.T_INT = 16384; -xrfragment_XRF.T_FLOAT = 32768; -xrfragment_XRF.T_VECTOR2 = 65536; -xrfragment_XRF.T_VECTOR3 = 131072; -xrfragment_XRF.T_URL = 262144; -xrfragment_XRF.T_PREDEFINED_VIEW = 524288; -xrfragment_XRF.T_STRING = 1048576; -xrfragment_XRF.T_MEDIAFRAG = 2097152; -xrfragment_XRF.T_DYNAMICKEY = 4194304; -xrfragment_XRF.T_DYNAMICKEYVALUE = 8388608; -xrfragment_XRF.isColor = new EReg("^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$",""); -xrfragment_XRF.isInt = new EReg("^[-0-9]+$",""); -xrfragment_XRF.isFloat = new EReg("^[-0-9]+\\.[0-9]+$",""); -xrfragment_XRF.isVector = new EReg("([,]+|\\w)",""); -xrfragment_XRF.isUrl = new EReg("(://)?\\..*",""); -xrfragment_XRF.isUrlOrPretypedView = new EReg("(^#|://)?\\..*",""); -xrfragment_XRF.isString = new EReg(".*",""); -xrfragment_XRF.operators = new EReg("(^[-]|^[!]|[\\*]$)","g"); -xrfragment_XRF.isProp = new EReg("^.*=[><=]?",""); -xrfragment_XRF.isExclude = new EReg("^-",""); -xrfragment_XRF.isDeep = new EReg("\\*",""); -xrfragment_XRF.isNumber = new EReg("^[0-9\\.]+$",""); -xrfragment_XRF.isMediaFrag = new EReg("^([0-9\\.,\\*+-]+)$",""); -xrfragment_XRF.isReset = new EReg("^!",""); -xrfragment_XRF.isShift = new EReg("^(\\+|--)",""); -xrfragment_XRF.isXRFScheme = new EReg("^xrf://",""); -})(typeof window != "undefined" ? window : typeof global != "undefined" ? global : typeof self != "undefined" ? self : this); -var xrfragment = $hx_exports["xrfragment"]; -export default xrfragment; -// Generated by Haxe 4.3.3 -var $hx_exports = typeof exports != "undefined" ? exports : typeof window != "undefined" ? window : typeof self != "undefined" ? self : this; -(function ($global) { "use strict"; -$hx_exports["xrfragment"] = $hx_exports["xrfragment"] || {}; -var $estr = function() { return js_Boot.__string_rec(this,''); },$hxEnums = $hxEnums || {},$_; -function $extend(from, fields) { - var proto = Object.create(from); - for (var name in fields) proto[name] = fields[name]; - if( fields.toString !== Object.prototype.toString ) proto.toString = fields.toString; - return proto; -} -var EReg = function(r,opt) { - this.r = new RegExp(r,opt.split("u").join("")); -}; -EReg.__name__ = true; -EReg.prototype = { - match: function(s) { - if(this.r.global) { - this.r.lastIndex = 0; - } - this.r.m = this.r.exec(s); - this.r.s = s; - return this.r.m != null; - } - ,matched: function(n) { - if(this.r.m != null && n >= 0 && n < this.r.m.length) { - return this.r.m[n]; - } else { - throw haxe_Exception.thrown("EReg::matched"); - } - } - ,matchedRight: function() { - if(this.r.m == null) { - throw haxe_Exception.thrown("No string matched"); - } - var sz = this.r.m.index + this.r.m[0].length; - return HxOverrides.substr(this.r.s,sz,this.r.s.length - sz); - } - ,matchedPos: function() { - if(this.r.m == null) { - throw haxe_Exception.thrown("No string matched"); - } - return { pos : this.r.m.index, len : this.r.m[0].length}; - } - ,split: function(s) { - var d = "#__delim__#"; - return s.replace(this.r,d).split(d); - } -}; -var HxOverrides = function() { }; -HxOverrides.__name__ = true; -HxOverrides.cca = function(s,index) { - var x = s.charCodeAt(index); - if(x != x) { - return undefined; - } - return x; -}; -HxOverrides.substr = function(s,pos,len) { - if(len == null) { - len = s.length; - } else if(len < 0) { - if(pos == 0) { - len = s.length + len; - } else { - return ""; - } - } - return s.substr(pos,len); -}; -HxOverrides.now = function() { - return Date.now(); -}; -Math.__name__ = true; -var Reflect = function() { }; -Reflect.__name__ = true; -Reflect.field = function(o,field) { - try { - return o[field]; - } catch( _g ) { - return null; - } -}; -Reflect.getProperty = function(o,field) { - var tmp; - if(o == null) { - return null; - } else { - var tmp1; - if(o.__properties__) { - tmp = o.__properties__["get_" + field]; - tmp1 = tmp; - } else { - tmp1 = false; - } - if(tmp1) { - return o[tmp](); - } else { - return o[field]; - } - } -}; -Reflect.fields = function(o) { - var a = []; - if(o != null) { - var hasOwnProperty = Object.prototype.hasOwnProperty; - for( var f in o ) { - if(f != "__id__" && f != "hx__closures__" && hasOwnProperty.call(o,f)) { - a.push(f); - } - } - } - return a; -}; -Reflect.isObject = function(v) { - if(v == null) { - return false; - } - var t = typeof(v); - if(!(t == "string" || t == "object" && v.__enum__ == null)) { - if(t == "function") { - return (v.__name__ || v.__ename__) != null; - } else { - return false; - } - } else { - return true; - } -}; -Reflect.deleteField = function(o,field) { - if(!Object.prototype.hasOwnProperty.call(o,field)) { - return false; - } - delete(o[field]); - return true; -}; -Reflect.copy = function(o) { - if(o == null) { - return null; - } - var o2 = { }; - var _g = 0; - var _g1 = Reflect.fields(o); - while(_g < _g1.length) { - var f = _g1[_g]; - ++_g; - o2[f] = Reflect.field(o,f); - } - return o2; -}; -var Std = function() { }; -Std.__name__ = true; -Std.string = function(s) { - return js_Boot.__string_rec(s,""); -}; -Std.parseInt = function(x) { - var v = parseInt(x); - if(isNaN(v)) { - return null; - } - return v; -}; -var StringBuf = function() { - this.b = ""; -}; -StringBuf.__name__ = true; -var StringTools = function() { }; -StringTools.__name__ = true; -StringTools.isSpace = function(s,pos) { - var c = HxOverrides.cca(s,pos); - if(!(c > 8 && c < 14)) { - return c == 32; - } else { - return true; - } -}; -StringTools.ltrim = function(s) { - var l = s.length; - var r = 0; - while(r < l && StringTools.isSpace(s,r)) ++r; - if(r > 0) { - return HxOverrides.substr(s,r,l - r); - } else { - return s; - } -}; -StringTools.rtrim = function(s) { - var l = s.length; - var r = 0; - while(r < l && StringTools.isSpace(s,l - r - 1)) ++r; - if(r > 0) { - return HxOverrides.substr(s,0,l - r); - } else { - return s; - } -}; -StringTools.trim = function(s) { - return StringTools.ltrim(StringTools.rtrim(s)); -}; -StringTools.replace = function(s,sub,by) { - return s.split(sub).join(by); -}; -var haxe_Exception = function(message,previous,native) { - Error.call(this,message); - this.message = message; - this.__previousException = previous; - this.__nativeException = native != null ? native : this; -}; -haxe_Exception.__name__ = true; -haxe_Exception.caught = function(value) { - if(((value) instanceof haxe_Exception)) { - return value; - } else if(((value) instanceof Error)) { - return new haxe_Exception(value.message,null,value); - } else { - return new haxe_ValueException(value,null,value); - } -}; -haxe_Exception.thrown = function(value) { - if(((value) instanceof haxe_Exception)) { - return value.get_native(); - } else if(((value) instanceof Error)) { - return value; - } else { - var e = new haxe_ValueException(value); - return e; - } -}; -haxe_Exception.__super__ = Error; -haxe_Exception.prototype = $extend(Error.prototype,{ - unwrap: function() { - return this.__nativeException; - } - ,get_native: function() { - return this.__nativeException; - } - ,__properties__: {get_native:"get_native"} -}); -var haxe__$Template_TemplateExpr = $hxEnums["haxe._Template.TemplateExpr"] = { __ename__:true,__constructs__:null - ,OpVar: ($_=function(v) { return {_hx_index:0,v:v,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpVar",$_.__params__ = ["v"],$_) - ,OpExpr: ($_=function(expr) { return {_hx_index:1,expr:expr,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpExpr",$_.__params__ = ["expr"],$_) - ,OpIf: ($_=function(expr,eif,eelse) { return {_hx_index:2,expr:expr,eif:eif,eelse:eelse,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpIf",$_.__params__ = ["expr","eif","eelse"],$_) - ,OpStr: ($_=function(str) { return {_hx_index:3,str:str,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpStr",$_.__params__ = ["str"],$_) - ,OpBlock: ($_=function(l) { return {_hx_index:4,l:l,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpBlock",$_.__params__ = ["l"],$_) - ,OpForeach: ($_=function(expr,loop) { return {_hx_index:5,expr:expr,loop:loop,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpForeach",$_.__params__ = ["expr","loop"],$_) - ,OpMacro: ($_=function(name,params) { return {_hx_index:6,name:name,params:params,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpMacro",$_.__params__ = ["name","params"],$_) -}; -haxe__$Template_TemplateExpr.__constructs__ = [haxe__$Template_TemplateExpr.OpVar,haxe__$Template_TemplateExpr.OpExpr,haxe__$Template_TemplateExpr.OpIf,haxe__$Template_TemplateExpr.OpStr,haxe__$Template_TemplateExpr.OpBlock,haxe__$Template_TemplateExpr.OpForeach,haxe__$Template_TemplateExpr.OpMacro]; -var haxe_iterators_ArrayIterator = function(array) { - this.current = 0; - this.array = array; -}; -haxe_iterators_ArrayIterator.__name__ = true; -haxe_iterators_ArrayIterator.prototype = { - hasNext: function() { - return this.current < this.array.length; - } - ,next: function() { - return this.array[this.current++]; - } -}; -var haxe_Template = function(str) { - var tokens = this.parseTokens(str); - this.expr = this.parseBlock(tokens); - if(!tokens.isEmpty()) { - throw haxe_Exception.thrown("Unexpected '" + Std.string(tokens.first().s) + "'"); - } -}; -haxe_Template.__name__ = true; -haxe_Template.prototype = { - execute: function(context,macros) { - this.macros = macros == null ? { } : macros; - this.context = context; - this.stack = new haxe_ds_List(); - this.buf = new StringBuf(); - this.run(this.expr); - return this.buf.b; - } - ,resolve: function(v) { - if(v == "__current__") { - return this.context; - } - if(Reflect.isObject(this.context)) { - var value = Reflect.getProperty(this.context,v); - if(value != null || Object.prototype.hasOwnProperty.call(this.context,v)) { - return value; - } - } - var _g_head = this.stack.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var ctx = val; - var value = Reflect.getProperty(ctx,v); - if(value != null || Object.prototype.hasOwnProperty.call(ctx,v)) { - return value; - } - } - return Reflect.field(haxe_Template.globals,v); - } - ,parseTokens: function(data) { - var tokens = new haxe_ds_List(); - while(haxe_Template.splitter.match(data)) { - var p = haxe_Template.splitter.matchedPos(); - if(p.pos > 0) { - tokens.add({ p : HxOverrides.substr(data,0,p.pos), s : true, l : null}); - } - if(HxOverrides.cca(data,p.pos) == 58) { - tokens.add({ p : HxOverrides.substr(data,p.pos + 2,p.len - 4), s : false, l : null}); - data = haxe_Template.splitter.matchedRight(); - continue; - } - var parp = p.pos + p.len; - var npar = 1; - var params = []; - var part = ""; - while(true) { - var c = HxOverrides.cca(data,parp); - ++parp; - if(c == 40) { - ++npar; - } else if(c == 41) { - --npar; - if(npar <= 0) { - break; - } - } else if(c == null) { - throw haxe_Exception.thrown("Unclosed macro parenthesis"); - } - if(c == 44 && npar == 1) { - params.push(part); - part = ""; - } else { - part += String.fromCodePoint(c); - } - } - params.push(part); - tokens.add({ p : haxe_Template.splitter.matched(2), s : false, l : params}); - data = HxOverrides.substr(data,parp,data.length - parp); - } - if(data.length > 0) { - tokens.add({ p : data, s : true, l : null}); - } - return tokens; - } - ,parseBlock: function(tokens) { - var l = new haxe_ds_List(); - while(true) { - var t = tokens.first(); - if(t == null) { - break; - } - if(!t.s && (t.p == "end" || t.p == "else" || HxOverrides.substr(t.p,0,7) == "elseif ")) { - break; - } - l.add(this.parse(tokens)); - } - if(l.length == 1) { - return l.first(); - } - return haxe__$Template_TemplateExpr.OpBlock(l); - } - ,parse: function(tokens) { - var t = tokens.pop(); - var p = t.p; - if(t.s) { - return haxe__$Template_TemplateExpr.OpStr(p); - } - if(t.l != null) { - var pe = new haxe_ds_List(); - var _g = 0; - var _g1 = t.l; - while(_g < _g1.length) { - var p1 = _g1[_g]; - ++_g; - pe.add(this.parseBlock(this.parseTokens(p1))); - } - return haxe__$Template_TemplateExpr.OpMacro(p,pe); - } - var kwdEnd = function(kwd) { - var pos = -1; - var length = kwd.length; - if(HxOverrides.substr(p,0,length) == kwd) { - pos = length; - var _g_offset = 0; - var _g_s = HxOverrides.substr(p,length,null); - while(_g_offset < _g_s.length) { - var c = _g_s.charCodeAt(_g_offset++); - if(c == 32) { - ++pos; - } else { - break; - } - } - } - return pos; - }; - var pos = kwdEnd("if"); - if(pos > 0) { - p = HxOverrides.substr(p,pos,p.length - pos); - var e = this.parseExpr(p); - var eif = this.parseBlock(tokens); - var t = tokens.first(); - var eelse; - if(t == null) { - throw haxe_Exception.thrown("Unclosed 'if'"); - } - if(t.p == "end") { - tokens.pop(); - eelse = null; - } else if(t.p == "else") { - tokens.pop(); - eelse = this.parseBlock(tokens); - t = tokens.pop(); - if(t == null || t.p != "end") { - throw haxe_Exception.thrown("Unclosed 'else'"); - } - } else { - t.p = HxOverrides.substr(t.p,4,t.p.length - 4); - eelse = this.parse(tokens); - } - return haxe__$Template_TemplateExpr.OpIf(e,eif,eelse); - } - var pos = kwdEnd("foreach"); - if(pos >= 0) { - p = HxOverrides.substr(p,pos,p.length - pos); - var e = this.parseExpr(p); - var efor = this.parseBlock(tokens); - var t = tokens.pop(); - if(t == null || t.p != "end") { - throw haxe_Exception.thrown("Unclosed 'foreach'"); - } - return haxe__$Template_TemplateExpr.OpForeach(e,efor); - } - if(haxe_Template.expr_splitter.match(p)) { - return haxe__$Template_TemplateExpr.OpExpr(this.parseExpr(p)); - } - return haxe__$Template_TemplateExpr.OpVar(p); - } - ,parseExpr: function(data) { - var l = new haxe_ds_List(); - var expr = data; - while(haxe_Template.expr_splitter.match(data)) { - var p = haxe_Template.expr_splitter.matchedPos(); - var k = p.pos + p.len; - if(p.pos != 0) { - l.add({ p : HxOverrides.substr(data,0,p.pos), s : true}); - } - var p1 = haxe_Template.expr_splitter.matched(0); - l.add({ p : p1, s : p1.indexOf("\"") >= 0}); - data = haxe_Template.expr_splitter.matchedRight(); - } - if(data.length != 0) { - var _g_offset = 0; - var _g_s = data; - while(_g_offset < _g_s.length) { - var _g_key = _g_offset; - var _g_value = _g_s.charCodeAt(_g_offset++); - var i = _g_key; - var c = _g_value; - if(c != 32) { - l.add({ p : HxOverrides.substr(data,i,null), s : true}); - break; - } - } - } - var e; - try { - e = this.makeExpr(l); - if(!l.isEmpty()) { - throw haxe_Exception.thrown(l.first().p); - } - } catch( _g ) { - var _g1 = haxe_Exception.caught(_g).unwrap(); - if(typeof(_g1) == "string") { - var s = _g1; - throw haxe_Exception.thrown("Unexpected '" + s + "' in " + expr); - } else { - throw _g; - } - } - return function() { - try { - return e(); - } catch( _g ) { - var exc = haxe_Exception.caught(_g).unwrap(); - throw haxe_Exception.thrown("Error : " + Std.string(exc) + " in " + expr); - } - }; - } - ,makeConst: function(v) { - haxe_Template.expr_trim.match(v); - v = haxe_Template.expr_trim.matched(1); - if(HxOverrides.cca(v,0) == 34) { - var str = HxOverrides.substr(v,1,v.length - 2); - return function() { - return str; - }; - } - if(haxe_Template.expr_int.match(v)) { - var i = Std.parseInt(v); - return function() { - return i; - }; - } - if(haxe_Template.expr_float.match(v)) { - var f = parseFloat(v); - return function() { - return f; - }; - } - var me = this; - return function() { - return me.resolve(v); - }; - } - ,makePath: function(e,l) { - var p = l.first(); - if(p == null || p.p != ".") { - return e; - } - l.pop(); - var field = l.pop(); - if(field == null || !field.s) { - throw haxe_Exception.thrown(field.p); - } - var f = field.p; - haxe_Template.expr_trim.match(f); - f = haxe_Template.expr_trim.matched(1); - return this.makePath(function() { - return Reflect.field(e(),f); - },l); - } - ,makeExpr: function(l) { - return this.makePath(this.makeExpr2(l),l); - } - ,skipSpaces: function(l) { - var p = l.first(); - while(p != null) { - var _g_offset = 0; - var _g_s = p.p; - while(_g_offset < _g_s.length) { - var c = _g_s.charCodeAt(_g_offset++); - if(c != 32) { - return; - } - } - l.pop(); - p = l.first(); - } - } - ,makeExpr2: function(l) { - this.skipSpaces(l); - var p = l.pop(); - this.skipSpaces(l); - if(p == null) { - throw haxe_Exception.thrown(""); - } - if(p.s) { - return this.makeConst(p.p); - } - switch(p.p) { - case "!": - var e = this.makeExpr(l); - return function() { - var v = e(); - if(v != null) { - return v == false; - } else { - return true; - } - }; - case "(": - this.skipSpaces(l); - var e1 = this.makeExpr(l); - this.skipSpaces(l); - var p1 = l.pop(); - if(p1 == null || p1.s) { - throw haxe_Exception.thrown(p1); - } - if(p1.p == ")") { - return e1; - } - this.skipSpaces(l); - var e2 = this.makeExpr(l); - this.skipSpaces(l); - var p2 = l.pop(); - this.skipSpaces(l); - if(p2 == null || p2.p != ")") { - throw haxe_Exception.thrown(p2); - } - switch(p1.p) { - case "!=": - return function() { - return e1() != e2(); - }; - case "&&": - return function() { - return e1() && e2(); - }; - case "*": - return function() { - return e1() * e2(); - }; - case "+": - return function() { - return e1() + e2(); - }; - case "-": - return function() { - return e1() - e2(); - }; - case "/": - return function() { - return e1() / e2(); - }; - case "<": - return function() { - return e1() < e2(); - }; - case "<=": - return function() { - return e1() <= e2(); - }; - case "==": - return function() { - return e1() == e2(); - }; - case ">": - return function() { - return e1() > e2(); - }; - case ">=": - return function() { - return e1() >= e2(); - }; - case "||": - return function() { - return e1() || e2(); - }; - default: - throw haxe_Exception.thrown("Unknown operation " + p1.p); - } - break; - case "-": - var e3 = this.makeExpr(l); - return function() { - return -e3(); - }; - } - throw haxe_Exception.thrown(p.p); - } - ,run: function(e) { - switch(e._hx_index) { - case 0: - var v = e.v; - var _this = this.buf; - var x = Std.string(this.resolve(v)); - _this.b += Std.string(x); - break; - case 1: - var e1 = e.expr; - var _this = this.buf; - var x = Std.string(e1()); - _this.b += Std.string(x); - break; - case 2: - var e1 = e.expr; - var eif = e.eif; - var eelse = e.eelse; - var v = e1(); - if(v == null || v == false) { - if(eelse != null) { - this.run(eelse); - } - } else { - this.run(eif); - } - break; - case 3: - var str = e.str; - this.buf.b += str == null ? "null" : "" + str; - break; - case 4: - var l = e.l; - var _g_head = l.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var e1 = val; - this.run(e1); - } - break; - case 5: - var e1 = e.expr; - var loop = e.loop; - var v = e1(); - try { - var x = $getIterator(v); - if(x.hasNext == null) { - throw haxe_Exception.thrown(null); - } - v = x; - } catch( _g ) { - try { - if(v.hasNext == null) { - throw haxe_Exception.thrown(null); - } - } catch( _g1 ) { - throw haxe_Exception.thrown("Cannot iter on " + Std.string(v)); - } - } - this.stack.push(this.context); - var v1 = v; - var ctx = v1; - while(ctx.hasNext()) { - var ctx1 = ctx.next(); - this.context = ctx1; - this.run(loop); - } - this.context = this.stack.pop(); - break; - case 6: - var m = e.name; - var params = e.params; - var v = Reflect.field(this.macros,m); - var pl = []; - var old = this.buf; - pl.push($bind(this,this.resolve)); - var _g_head = params.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var p = val; - if(p._hx_index == 0) { - var v1 = p.v; - pl.push(this.resolve(v1)); - } else { - this.buf = new StringBuf(); - this.run(p); - pl.push(this.buf.b); - } - } - this.buf = old; - try { - var _this = this.buf; - var x = Std.string(v.apply(this.macros,pl)); - _this.b += Std.string(x); - } catch( _g ) { - var e = haxe_Exception.caught(_g).unwrap(); - var plstr; - try { - plstr = pl.join(","); - } catch( _g1 ) { - plstr = "???"; - } - var msg = "Macro call " + m + "(" + plstr + ") failed (" + Std.string(e) + ")"; - throw haxe_Exception.thrown(msg); - } - break; - } - } -}; -var haxe_ValueException = function(value,previous,native) { - haxe_Exception.call(this,String(value),previous,native); - this.value = value; -}; -haxe_ValueException.__name__ = true; -haxe_ValueException.__super__ = haxe_Exception; -haxe_ValueException.prototype = $extend(haxe_Exception.prototype,{ - unwrap: function() { - return this.value; - } -}); -var haxe_ds_List = function() { - this.length = 0; -}; -haxe_ds_List.__name__ = true; -haxe_ds_List.prototype = { - add: function(item) { - var x = new haxe_ds__$List_ListNode(item,null); - if(this.h == null) { - this.h = x; - } else { - this.q.next = x; - } - this.q = x; - this.length++; - } - ,push: function(item) { - var x = new haxe_ds__$List_ListNode(item,this.h); - this.h = x; - if(this.q == null) { - this.q = x; - } - this.length++; - } - ,first: function() { - if(this.h == null) { - return null; - } else { - return this.h.item; - } - } - ,pop: function() { - if(this.h == null) { - return null; - } - var x = this.h.item; - this.h = this.h.next; - if(this.h == null) { - this.q = null; - } - this.length--; - return x; - } - ,isEmpty: function() { - return this.h == null; - } - ,toString: function() { - var s_b = ""; - var first = true; - var l = this.h; - s_b += "{"; - while(l != null) { - if(first) { - first = false; - } else { - s_b += ", "; - } - s_b += Std.string(Std.string(l.item)); - l = l.next; - } - s_b += "}"; - return s_b; - } -}; -var haxe_ds__$List_ListNode = function(item,next) { - this.item = item; - this.next = next; -}; -haxe_ds__$List_ListNode.__name__ = true; -var js_Boot = function() { }; -js_Boot.__name__ = true; -js_Boot.__string_rec = function(o,s) { - if(o == null) { - return "null"; - } - if(s.length >= 5) { - return "<...>"; - } - var t = typeof(o); - if(t == "function" && (o.__name__ || o.__ename__)) { - t = "object"; - } - switch(t) { - case "function": - return ""; - case "object": - if(o.__enum__) { - var e = $hxEnums[o.__enum__]; - var con = e.__constructs__[o._hx_index]; - var n = con._hx_name; - if(con.__params__) { - s = s + "\t"; - return n + "(" + ((function($this) { - var $r; - var _g = []; - { - var _g1 = 0; - var _g2 = con.__params__; - while(true) { - if(!(_g1 < _g2.length)) { - break; - } - var p = _g2[_g1]; - _g1 = _g1 + 1; - _g.push(js_Boot.__string_rec(o[p],s)); - } - } - $r = _g; - return $r; - }(this))).join(",") + ")"; - } else { - return n; - } - } - if(((o) instanceof Array)) { - var str = "["; - s += "\t"; - var _g = 0; - var _g1 = o.length; - while(_g < _g1) { - var i = _g++; - str += (i > 0 ? "," : "") + js_Boot.__string_rec(o[i],s); - } - str += "]"; - return str; - } - var tostr; - try { - tostr = o.toString; - } catch( _g ) { - return "???"; - } - if(tostr != null && tostr != Object.toString && typeof(tostr) == "function") { - var s2 = o.toString(); - if(s2 != "[object Object]") { - return s2; - } - } - var str = "{\n"; - s += "\t"; - var hasp = o.hasOwnProperty != null; - var k = null; - for( k in o ) { - if(hasp && !o.hasOwnProperty(k)) { - continue; - } - if(k == "prototype" || k == "__class__" || k == "__super__" || k == "__interfaces__" || k == "__properties__") { - continue; - } - if(str.length != 2) { - str += ", \n"; - } - str += s + k + " : " + js_Boot.__string_rec(o[k],s); - } - s = s.substring(1); - str += "\n" + s + "}"; - return str; - case "string": - return o; - default: - return String(o); - } -}; -var xrfragment_Filter = $hx_exports["xrfragment"]["Filter"] = function(str) { - this.q = { }; - this.str = ""; - if(str != null) { - this.parse(str); - } -}; -xrfragment_Filter.__name__ = true; -xrfragment_Filter.prototype = { - toObject: function() { - return Reflect.copy(this.q); - } - ,get: function() { - return Reflect.copy(this.q); - } - ,parse: function(str) { - var token = str.split(" "); - var q = { }; - var process = function(str,prefix) { - if(prefix == null) { - prefix = ""; - } - str = StringTools.trim(str); - var k = str.split("=")[0]; - var v = str.split("=")[1]; - var filter = { }; - if(q[prefix + k]) { - filter = q[prefix + k]; - } - if(xrfragment_XRF.isProp.match(str)) { - var oper = ""; - if(str.indexOf(">") != -1) { - oper = ">"; - } - if(str.indexOf("<") != -1) { - oper = "<"; - } - if(xrfragment_XRF.isExclude.match(k)) { - k = HxOverrides.substr(k,1,null); - } - v = HxOverrides.substr(v,oper.length,null); - if(oper.length == 0) { - oper = "="; - } - var rule = { }; - if(xrfragment_XRF.isNumber.match(v)) { - rule[oper] = parseFloat(v); - } else { - rule[oper] = v; - } - q["expr"] = rule; - } - var value = xrfragment_XRF.isDeep.match(str) ? k.split("*").length - 1 : 0; - q["deep"] = value; - var value = xrfragment_XRF.isExclude.match(str) ? false : true; - q["show"] = value; - var value = k.replace(xrfragment_XRF.operators.r,""); - q["key"] = value; - q["value"] = v; - }; - var _g = 0; - var _g1 = token.length; - while(_g < _g1) { - var i = _g++; - process(token[i]); - } - return this.q = q; - } - ,test: function(obj) { - var qualify = false; - var _g = 0; - var _g1 = Reflect.fields(obj); - while(_g < _g1.length) { - var k = _g1[_g]; - ++_g; - var v = Std.string(Reflect.field(obj,k)); - if(this.testProperty(k,v)) { - qualify = true; - } - } - var _g = 0; - var _g1 = Reflect.fields(obj); - while(_g < _g1.length) { - var k = _g1[_g]; - ++_g; - var v = Std.string(Reflect.field(obj,k)); - if(this.testProperty(k,v,true)) { - qualify = false; - } - } - return qualify; - } - ,testProperty: function(property,value,exclude) { - var conds = 0; - var fails = 0; - var qualify = 0; - var testprop = function(expr) { - conds += 1; - fails += expr ? 0 : 1; - return expr; - }; - if(this.q[value] != null) { - var v = this.q[value]; - if(v[property] != null) { - return v[property]; - } - } - if(Reflect.field(this.q,"expr")) { - var f = Reflect.field(this.q,"expr"); - if(!Reflect.field(this.q,"show")) { - if(Reflect.field(f,"!=") != null && testprop((value == null ? "null" : "" + value) == Std.string(Reflect.field(f,"!="))) && exclude) { - ++qualify; - } - } else { - if(Reflect.field(f,"*") != null && testprop(parseFloat(value) != null)) { - ++qualify; - } - if(Reflect.field(f,">") != null && testprop(parseFloat(value) >= parseFloat(Reflect.field(f,">")))) { - ++qualify; - } - if(Reflect.field(f,"<") != null && testprop(parseFloat(value) <= parseFloat(Reflect.field(f,"<")))) { - ++qualify; - } - if(Reflect.field(f,"=") != null && (testprop(value == Reflect.field(f,"=")) || testprop(parseFloat(value) == parseFloat(Reflect.field(f,"="))))) { - ++qualify; - } - } - } - return qualify > 0; - } -}; -var xrfragment_Parser = $hx_exports["xrfragment"]["Parser"] = function() { }; -xrfragment_Parser.__name__ = true; -xrfragment_Parser.parse = function(key,value,store,index) { - var Frag_h = Object.create(null); - Frag_h["#"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_PREDEFINED_VIEW | xrfragment_XRF.PV_EXECUTE; - Frag_h["src"] = xrfragment_XRF.T_URL; - Frag_h["href"] = xrfragment_XRF.T_URL | xrfragment_XRF.T_PREDEFINED_VIEW; - Frag_h["tag"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["pos"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_VECTOR3 | xrfragment_XRF.T_STRING | xrfragment_XRF.METADATA | xrfragment_XRF.NAVIGATOR; - Frag_h["rot"] = xrfragment_XRF.QUERY_OPERATOR | xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_VECTOR3 | xrfragment_XRF.METADATA | xrfragment_XRF.NAVIGATOR; - Frag_h["t"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_FLOAT | xrfragment_XRF.T_VECTOR2 | xrfragment_XRF.NAVIGATOR | xrfragment_XRF.METADATA; - Frag_h["s"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_MEDIAFRAG; - Frag_h["loop"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_PREDEFINED_VIEW; - Frag_h["uv"] = xrfragment_XRF.T_VECTOR2 | xrfragment_XRF.T_MEDIAFRAG; - Frag_h["namespace"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["SPDX"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["unit"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["description"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - var keyStripped = key.replace(xrfragment_XRF.operators.r,""); - var isPVDynamic = key.length > 0 && !Object.prototype.hasOwnProperty.call(Frag_h,key); - if(isPVDynamic) { - var v = new xrfragment_XRF(key,xrfragment_XRF.PV_EXECUTE | xrfragment_XRF.NAVIGATOR,index); - v.validate(value); - v.flags = xrfragment_XRF.set(xrfragment_XRF.T_DYNAMICKEY,v.flags); - if(!Object.prototype.hasOwnProperty.call(Frag_h,key)) { - v.flags = xrfragment_XRF.set(xrfragment_XRF.CUSTOMFRAG,v.flags); - } - if(value.length == 0) { - v.flags = xrfragment_XRF.set(xrfragment_XRF.T_DYNAMICKEYVALUE,v.flags); - } - store[keyStripped] = v; - return true; - } - var v = new xrfragment_XRF(key,Frag_h[key],index); - if(Object.prototype.hasOwnProperty.call(Frag_h,key)) { - if(!v.validate(value)) { - console.log("src/xrfragment/Parser.hx:67:","⚠ fragment '" + key + "' has incompatible value (" + value + ")"); - return false; - } - store[keyStripped] = v; - if(xrfragment_Parser.debug) { - console.log("src/xrfragment/Parser.hx:71:","✔ " + key + ": " + v.string); - } - } else { - if(typeof(value) == "string") { - v.guessType(v,value); - } - v.flags = xrfragment_XRF.set(xrfragment_XRF.CUSTOMFRAG,v.flags); - store[keyStripped] = v; - } - return true; -}; -xrfragment_Parser.getMetaData = function() { - var meta = { title : ["title","og:title","dc.title"], description : ["aria-description","og:description","dc.description"], author : ["author","dc.creator"], publisher : ["publisher","dc.publisher"], website : ["og:site_name","og:url","dc.publisher"], license : ["SPDX","dc.rights"]}; - return meta; -}; -var xrfragment_URI = $hx_exports["xrfragment"]["URI"] = function() { - this.XRF = { }; - this.hash = { }; - this.fragment = ""; -}; -xrfragment_URI.__name__ = true; -xrfragment_URI.parseFragment = function(url,filter) { - var store = { }; - if(url == null || url.indexOf("#") == -1) { - return store; - } - var fragment = url.split("#"); - var splitArray = fragment[1].split("&"); - var _g = 0; - var _g1 = splitArray.length; - while(_g < _g1) { - var i = _g++; - var splitByEqual = splitArray[i].split("="); - var regexPlus = new EReg("\\+","g"); - var key = splitByEqual[0]; - var value = ""; - if(splitByEqual.length > 1) { - if(xrfragment_XRF.isVector.match(splitByEqual[1])) { - value = splitByEqual[1]; - } else { - var s = regexPlus.split(splitByEqual[1]).join(" "); - value = decodeURIComponent(s.split("+").join(" ")); - } - } - var ok = xrfragment_Parser.parse(key,value,store,i); - } - if(filter != null && filter != 0) { - var _g = 0; - var _g1 = Reflect.fields(store); - while(_g < _g1.length) { - var key = _g1[_g]; - ++_g; - var xrf = store[key]; - if(!xrf.is(filter)) { - Reflect.deleteField(store,key); - } - } - } - return store; -}; -xrfragment_URI.template = function(uri,vars) { - var parts = uri.split("#"); - if(parts.length == 1) { - return uri; - } - var frag = parts[1]; - frag = StringTools.replace(frag,"{","::"); - frag = StringTools.replace(frag,"}","::"); - frag = new haxe_Template(frag).execute(vars); - frag = StringTools.replace(frag,"null",""); - parts[1] = frag; - return parts.join("#"); -}; -xrfragment_URI.parse = function(stringUrl,flags) { - var r = new EReg("^(?:(?![^:@]+:[^:@/]*@)([^:/?#.]+):)?(?://)?((?:(([^:@]*)(?::([^:@]*))?)?@)?([^:/?#]*)(?::(\\d*))?)(((/(?:[^?#](?![^?#/]*\\.[^?#/.]+(?:[?#]|$)))*/?)?([^?#/]*))(?:\\?([^#]*))?(?:#(.*))?)",""); - if(stringUrl.indexOf("://") == -1 && stringUrl.charAt(0) != "/") { - stringUrl = "/" + stringUrl; - } - r.match(stringUrl); - var url = new xrfragment_URI(); - var _g = 0; - var _g1 = xrfragment_URI._parts.length; - while(_g < _g1) { - var i = _g++; - url[xrfragment_URI._parts[i]] = r.matched(i); - } - if(xrfragment_URI.isRelative(url) == true) { - if(url.directory == null && url.host != null) { - url.file = url.host; - } - url.host = ""; - } - url.hash = { }; - if(url.fragment != null && url.fragment.length > 0) { - url.XRF = xrfragment_URI.parseFragment("#" + url.fragment,flags); - var key; - var _g = 0; - var _g1 = Reflect.fields(url.XRF); - while(_g < _g1.length) { - var key = _g1[_g]; - ++_g; - var v = url.XRF[key]; - url.hash[key] = v["string"]; - } - } - xrfragment_URI.computeVars(url); - return url; -}; -xrfragment_URI.computeVars = function(url) { - var r_r = new RegExp("//","g".split("u").join("")); - if(url.directory != null && url.directory.indexOf("//") != -1) { - url.directory = url.directory.replace(r_r,"/"); - } - if(url.path != null && url.path.indexOf("//") != -1) { - url.path = url.path.replace(r_r,"/"); - } - if(url.file != null && url.file.indexOf("//") != -1) { - url.file = url.file.replace(r_r,"/"); - } - url.URN = url.scheme + "://" + url.host; - if(url.port != null) { - url.URN += ":" + url.port; - } - url.URN += url.directory; - if(url.file != null) { - var parts = url.file.split("."); - if(parts.length > 1) { - url.fileExt = parts.pop(); - } - } -}; -xrfragment_URI.toString = function(url) { - var result = ""; - if(url.scheme != null) { - result += url.scheme + "://"; - } - if(url.user != null) { - result += url.user + ":"; - } - if(url.password != null) { - result += url.password + "@"; - } - if(url.host != null) { - result += url.host; - } - if(url.port != null) { - result += ":" + url.port; - } - if(url.directory != null) { - result += url.directory; - } - if(url.file != null) { - result += url.file; - } - if(url.query != null) { - result += "?" + url.query; - } - if(url.fragment != null) { - result += "#" + url.fragment; - } - return result; -}; -xrfragment_URI.appendURI = function(url,appendedURI) { - if(xrfragment_URI.isRelative(url) == true) { - return xrfragment_URI.appendToRelativeURI(url,appendedURI); - } else { - return xrfragment_URI.appendToAbsoluteURI(url,appendedURI); - } -}; -xrfragment_URI.isRelative = function(url) { - return url.scheme == null; -}; -xrfragment_URI.appendToRelativeURI = function(url,appendedURI) { - if(url.directory == null || url.host == null) { - return xrfragment_URI.cloneURI(appendedURI); - } - var resultURI = new xrfragment_URI(); - resultURI.host = url.host; - resultURI.directory = url.directory; - if(appendedURI.host != null) { - resultURI.directory += appendedURI.host; - } - if(appendedURI.directory != null) { - var directory = appendedURI.directory; - if(appendedURI.host == null) { - resultURI.directory += HxOverrides.substr(directory,1,null); - } else { - resultURI.directory += directory; - } - } - if(appendedURI.file != null) { - resultURI.file = appendedURI.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(appendedURI.query != null) { - resultURI.query = appendedURI.query; - } - if(appendedURI.fragment != null) { - resultURI.fragment = appendedURI.fragment; - } - return resultURI; -}; -xrfragment_URI.appendToAbsoluteURI = function(url,appendedURI) { - var resultURI = new xrfragment_URI(); - if(url.scheme != null) { - resultURI.scheme = url.scheme; - } - if(url.host != null) { - resultURI.host = url.host; - } - var directory = ""; - if(url.directory != null) { - directory = url.directory; - } - if(appendedURI.host != null) { - appendedURI.directory += appendedURI.host; - } - if(appendedURI.directory != null) { - directory += appendedURI.directory; - } - resultURI.directory = directory; - if(appendedURI.file != null) { - resultURI.file = appendedURI.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(appendedURI.query != null) { - resultURI.query = appendedURI.query; - } - if(appendedURI.fragment != null) { - resultURI.fragment = appendedURI.fragment; - } - return resultURI; -}; -xrfragment_URI.toAbsolute = function(url,newUrl) { - var newURI = xrfragment_URI.parse(newUrl,0); - var resultURI = new xrfragment_URI(); - resultURI.port = url.port; - resultURI.source = newUrl; - if(newURI.scheme != null) { - resultURI.scheme = newURI.scheme; - } else { - resultURI.scheme = url.scheme; - } - if(newURI.host != null && newURI.host.length > 0) { - resultURI.host = newURI.host; - resultURI.port = null; - resultURI.fragment = null; - resultURI.hash = { }; - resultURI.XRF = { }; - if(newURI.port != null) { - resultURI.port = newURI.port; - } - } else { - resultURI.host = url.host; - } - var directory = ""; - if(url.directory != null) { - directory = url.directory; - } - if(newURI.directory != null) { - if(newUrl.charAt(0) != "/" && newUrl.indexOf("://") == -1) { - var stripRelative_r = new RegExp("\\./.*","".split("u").join("")); - directory = directory.replace(stripRelative_r,""); - directory += newURI.directory; - } else { - directory = newURI.directory; - } - } - resultURI.directory = directory; - if(newURI.file != null) { - resultURI.file = newURI.file; - } else { - resultURI.file = url.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(newURI.query != null) { - resultURI.query = newURI.query; - } - if(newURI.fragment != null) { - resultURI.fragment = newURI.fragment; - } - resultURI.hash = newURI.hash; - resultURI.XRF = newURI.XRF; - xrfragment_URI.computeVars(resultURI); - return resultURI; -}; -xrfragment_URI.cloneURI = function(url) { - var clonedURI = new xrfragment_URI(); - clonedURI.url = url.url; - clonedURI.source = url.source; - clonedURI.scheme = url.scheme; - clonedURI.authority = url.authority; - clonedURI.userInfo = url.userInfo; - clonedURI.password = url.password; - clonedURI.host = url.host; - clonedURI.port = url.port; - clonedURI.relative = url.relative; - clonedURI.path = url.path; - clonedURI.directory = url.directory; - clonedURI.file = url.file; - clonedURI.query = url.query; - clonedURI.fragment = url.fragment; - return clonedURI; -}; -var xrfragment_XRF = $hx_exports["xrfragment"]["XRF"] = function(_fragment,_flags,_index) { - this.floats = []; - this.shift = []; - this.fragment = _fragment; - this.flags = _flags; - this.index = _index; -}; -xrfragment_XRF.__name__ = true; -xrfragment_XRF.set = function(flag,flags) { - return flags | flag; -}; -xrfragment_XRF.unset = function(flag,flags) { - return flags & ~flag; -}; -xrfragment_XRF.prototype = { - is: function(flag) { - var v = this.flags; - if(!(typeof(v) == "number" && ((v | 0) === v))) { - this.flags = 0; - } - return (this.flags & flag) != 0; - } - ,validate: function(value) { - this.guessType(this,value); - var ok = true; - if(value.length == 0 && !this.is(xrfragment_XRF.T_PREDEFINED_VIEW)) { - ok = false; - } - if(!this.is(xrfragment_XRF.T_FLOAT) && this.is(xrfragment_XRF.T_VECTOR2) && !(typeof(this.x) == "number" && typeof(this.y) == "number")) { - ok = false; - } - if(!(this.is(xrfragment_XRF.T_VECTOR2) || this.is(xrfragment_XRF.T_STRING)) && this.is(xrfragment_XRF.T_VECTOR3) && !(typeof(this.x) == "number" && typeof(this.y) == "number" && typeof(this.z) == "number")) { - ok = false; - } - return ok; - } - ,guessType: function(v,str) { - v.string = str; - if(xrfragment_XRF.isReset.match(v.fragment)) { - v.reset = true; - } - if(v.fragment == "loop") { - v.loop = true; - } - if(typeof(str) != "string") { - return; - } - if(str.length > 0) { - if(xrfragment_XRF.isXRFScheme.match(str)) { - v.xrfScheme = true; - str = str.replace(xrfragment_XRF.isXRFScheme.r,""); - v.string = str; - } - if(str.split(",").length > 1) { - var xyzn = str.split(","); - if(xyzn.length > 0) { - v.x = parseFloat(xyzn[0]); - } - if(xyzn.length > 1) { - v.y = parseFloat(xyzn[1]); - } - if(xyzn.length > 2) { - v.z = parseFloat(xyzn[2]); - } - var _g = 0; - var _g1 = xyzn.length; - while(_g < _g1) { - var i = _g++; - v.shift.push(xrfragment_XRF.isShift.match(xyzn[i])); - v.floats.push(parseFloat(xyzn[i].replace(xrfragment_XRF.isShift.r,""))); - } - } - if(xrfragment_XRF.isColor.match(str)) { - v.color = str; - } - if(xrfragment_XRF.isFloat.match(str)) { - v.x = parseFloat(str); - v.float = v.x; - } - if(xrfragment_XRF.isInt.match(str)) { - v.int = Std.parseInt(str); - v.x = v.int; - v.floats.push(v.x); - } - v.filter = new xrfragment_Filter(v.fragment + "=" + v.string); - } else { - v.filter = new xrfragment_Filter(v.fragment); - } - } -}; -function $getIterator(o) { if( o instanceof Array ) return new haxe_iterators_ArrayIterator(o); else return o.iterator(); } -function $bind(o,m) { if( m == null ) return null; if( m.__id__ == null ) m.__id__ = $global.$haxeUID++; var f; if( o.hx__closures__ == null ) o.hx__closures__ = {}; else f = o.hx__closures__[m.__id__]; if( f == null ) { f = m.bind(o); o.hx__closures__[m.__id__] = f; } return f; } -$global.$haxeUID |= 0; -if(typeof(performance) != "undefined" ? typeof(performance.now) == "function" : false) { - HxOverrides.now = performance.now.bind(performance); -} -if( String.fromCodePoint == null ) String.fromCodePoint = function(c) { return c < 0x10000 ? String.fromCharCode(c) : String.fromCharCode((c>>10)+0xD7C0)+String.fromCharCode((c&0x3FF)+0xDC00); } -String.__name__ = true; -Array.__name__ = true; -js_Boot.__toStr = ({ }).toString; -haxe_Template.splitter = new EReg("(::[A-Za-z0-9_ ()&|!+=/><*.\"-]+::|\\$\\$([A-Za-z0-9_-]+)\\()",""); -haxe_Template.expr_splitter = new EReg("(\\(|\\)|[ \r\n\t]*\"[^\"]*\"[ \r\n\t]*|[!+=/><*.&|-]+)",""); -haxe_Template.expr_trim = new EReg("^[ ]*([^ ]+)[ ]*$",""); -haxe_Template.expr_int = new EReg("^[0-9]+$",""); -haxe_Template.expr_float = new EReg("^([+-]?)(?=\\d|,\\d)\\d*(,\\d*)?([Ee]([+-]?\\d+))?$",""); -haxe_Template.globals = { }; -haxe_Template.hxKeepArrayIterator = new haxe_iterators_ArrayIterator([]); -xrfragment_Parser.error = ""; -xrfragment_Parser.debug = false; -xrfragment_URI.__meta__ = { statics : { template : { keep : null}}}; -xrfragment_URI._parts = ["source","scheme","authority","userInfo","user","password","host","port","relative","path","directory","file","query","fragment"]; -xrfragment_XRF.IMMUTABLE = 1; -xrfragment_XRF.PROP_BIND = 2; -xrfragment_XRF.QUERY_OPERATOR = 4; -xrfragment_XRF.PROMPT = 8; -xrfragment_XRF.CUSTOMFRAG = 16; -xrfragment_XRF.NAVIGATOR = 32; -xrfragment_XRF.METADATA = 64; -xrfragment_XRF.PV_OVERRIDE = 128; -xrfragment_XRF.PV_EXECUTE = 256; -xrfragment_XRF.T_COLOR = 8192; -xrfragment_XRF.T_INT = 16384; -xrfragment_XRF.T_FLOAT = 32768; -xrfragment_XRF.T_VECTOR2 = 65536; -xrfragment_XRF.T_VECTOR3 = 131072; -xrfragment_XRF.T_URL = 262144; -xrfragment_XRF.T_PREDEFINED_VIEW = 524288; -xrfragment_XRF.T_STRING = 1048576; -xrfragment_XRF.T_MEDIAFRAG = 2097152; -xrfragment_XRF.T_DYNAMICKEY = 4194304; -xrfragment_XRF.T_DYNAMICKEYVALUE = 8388608; -xrfragment_XRF.isColor = new EReg("^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$",""); -xrfragment_XRF.isInt = new EReg("^[-0-9]+$",""); -xrfragment_XRF.isFloat = new EReg("^[-0-9]+\\.[0-9]+$",""); -xrfragment_XRF.isVector = new EReg("([,]+|\\w)",""); -xrfragment_XRF.isUrl = new EReg("(://)?\\..*",""); -xrfragment_XRF.isUrlOrPretypedView = new EReg("(^#|://)?\\..*",""); -xrfragment_XRF.isString = new EReg(".*",""); -xrfragment_XRF.operators = new EReg("(^[-]|^[!]|[\\*]$)","g"); -xrfragment_XRF.isProp = new EReg("^.*=[><=]?",""); -xrfragment_XRF.isExclude = new EReg("^-",""); -xrfragment_XRF.isDeep = new EReg("\\*",""); -xrfragment_XRF.isNumber = new EReg("^[0-9\\.]+$",""); -xrfragment_XRF.isMediaFrag = new EReg("^([0-9\\.,\\*+-]+)$",""); -xrfragment_XRF.isReset = new EReg("^!",""); -xrfragment_XRF.isShift = new EReg("^(\\+|--)",""); -xrfragment_XRF.isXRFScheme = new EReg("^xrf://",""); -})(typeof window != "undefined" ? window : typeof global != "undefined" ? global : typeof self != "undefined" ? self : this); -var xrfragment = $hx_exports["xrfragment"]; -export default xrfragment; -// Generated by Haxe 4.3.3 -var $hx_exports = typeof exports != "undefined" ? exports : typeof window != "undefined" ? window : typeof self != "undefined" ? self : this; -(function ($global) { "use strict"; -$hx_exports["xrfragment"] = $hx_exports["xrfragment"] || {}; -var $estr = function() { return js_Boot.__string_rec(this,''); },$hxEnums = $hxEnums || {},$_; -function $extend(from, fields) { - var proto = Object.create(from); - for (var name in fields) proto[name] = fields[name]; - if( fields.toString !== Object.prototype.toString ) proto.toString = fields.toString; - return proto; -} -var EReg = function(r,opt) { - this.r = new RegExp(r,opt.split("u").join("")); -}; -EReg.__name__ = true; -EReg.prototype = { - match: function(s) { - if(this.r.global) { - this.r.lastIndex = 0; - } - this.r.m = this.r.exec(s); - this.r.s = s; - return this.r.m != null; - } - ,matched: function(n) { - if(this.r.m != null && n >= 0 && n < this.r.m.length) { - return this.r.m[n]; - } else { - throw haxe_Exception.thrown("EReg::matched"); - } - } - ,matchedRight: function() { - if(this.r.m == null) { - throw haxe_Exception.thrown("No string matched"); - } - var sz = this.r.m.index + this.r.m[0].length; - return HxOverrides.substr(this.r.s,sz,this.r.s.length - sz); - } - ,matchedPos: function() { - if(this.r.m == null) { - throw haxe_Exception.thrown("No string matched"); - } - return { pos : this.r.m.index, len : this.r.m[0].length}; - } - ,split: function(s) { - var d = "#__delim__#"; - return s.replace(this.r,d).split(d); - } -}; -var HxOverrides = function() { }; -HxOverrides.__name__ = true; -HxOverrides.cca = function(s,index) { - var x = s.charCodeAt(index); - if(x != x) { - return undefined; - } - return x; -}; -HxOverrides.substr = function(s,pos,len) { - if(len == null) { - len = s.length; - } else if(len < 0) { - if(pos == 0) { - len = s.length + len; - } else { - return ""; - } - } - return s.substr(pos,len); -}; -HxOverrides.now = function() { - return Date.now(); -}; -Math.__name__ = true; -var Reflect = function() { }; -Reflect.__name__ = true; -Reflect.field = function(o,field) { - try { - return o[field]; - } catch( _g ) { - return null; - } -}; -Reflect.getProperty = function(o,field) { - var tmp; - if(o == null) { - return null; - } else { - var tmp1; - if(o.__properties__) { - tmp = o.__properties__["get_" + field]; - tmp1 = tmp; - } else { - tmp1 = false; - } - if(tmp1) { - return o[tmp](); - } else { - return o[field]; - } - } -}; -Reflect.fields = function(o) { - var a = []; - if(o != null) { - var hasOwnProperty = Object.prototype.hasOwnProperty; - for( var f in o ) { - if(f != "__id__" && f != "hx__closures__" && hasOwnProperty.call(o,f)) { - a.push(f); - } - } - } - return a; -}; -Reflect.isObject = function(v) { - if(v == null) { - return false; - } - var t = typeof(v); - if(!(t == "string" || t == "object" && v.__enum__ == null)) { - if(t == "function") { - return (v.__name__ || v.__ename__) != null; - } else { - return false; - } - } else { - return true; - } -}; -Reflect.deleteField = function(o,field) { - if(!Object.prototype.hasOwnProperty.call(o,field)) { - return false; - } - delete(o[field]); - return true; -}; -Reflect.copy = function(o) { - if(o == null) { - return null; - } - var o2 = { }; - var _g = 0; - var _g1 = Reflect.fields(o); - while(_g < _g1.length) { - var f = _g1[_g]; - ++_g; - o2[f] = Reflect.field(o,f); - } - return o2; -}; -var Std = function() { }; -Std.__name__ = true; -Std.string = function(s) { - return js_Boot.__string_rec(s,""); -}; -Std.parseInt = function(x) { - var v = parseInt(x); - if(isNaN(v)) { - return null; - } - return v; -}; -var StringBuf = function() { - this.b = ""; -}; -StringBuf.__name__ = true; -var StringTools = function() { }; -StringTools.__name__ = true; -StringTools.isSpace = function(s,pos) { - var c = HxOverrides.cca(s,pos); - if(!(c > 8 && c < 14)) { - return c == 32; - } else { - return true; - } -}; -StringTools.ltrim = function(s) { - var l = s.length; - var r = 0; - while(r < l && StringTools.isSpace(s,r)) ++r; - if(r > 0) { - return HxOverrides.substr(s,r,l - r); - } else { - return s; - } -}; -StringTools.rtrim = function(s) { - var l = s.length; - var r = 0; - while(r < l && StringTools.isSpace(s,l - r - 1)) ++r; - if(r > 0) { - return HxOverrides.substr(s,0,l - r); - } else { - return s; - } -}; -StringTools.trim = function(s) { - return StringTools.ltrim(StringTools.rtrim(s)); -}; -StringTools.replace = function(s,sub,by) { - return s.split(sub).join(by); -}; -var haxe_Exception = function(message,previous,native) { - Error.call(this,message); - this.message = message; - this.__previousException = previous; - this.__nativeException = native != null ? native : this; -}; -haxe_Exception.__name__ = true; -haxe_Exception.caught = function(value) { - if(((value) instanceof haxe_Exception)) { - return value; - } else if(((value) instanceof Error)) { - return new haxe_Exception(value.message,null,value); - } else { - return new haxe_ValueException(value,null,value); - } -}; -haxe_Exception.thrown = function(value) { - if(((value) instanceof haxe_Exception)) { - return value.get_native(); - } else if(((value) instanceof Error)) { - return value; - } else { - var e = new haxe_ValueException(value); - return e; - } -}; -haxe_Exception.__super__ = Error; -haxe_Exception.prototype = $extend(Error.prototype,{ - unwrap: function() { - return this.__nativeException; - } - ,get_native: function() { - return this.__nativeException; - } - ,__properties__: {get_native:"get_native"} -}); -var haxe__$Template_TemplateExpr = $hxEnums["haxe._Template.TemplateExpr"] = { __ename__:true,__constructs__:null - ,OpVar: ($_=function(v) { return {_hx_index:0,v:v,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpVar",$_.__params__ = ["v"],$_) - ,OpExpr: ($_=function(expr) { return {_hx_index:1,expr:expr,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpExpr",$_.__params__ = ["expr"],$_) - ,OpIf: ($_=function(expr,eif,eelse) { return {_hx_index:2,expr:expr,eif:eif,eelse:eelse,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpIf",$_.__params__ = ["expr","eif","eelse"],$_) - ,OpStr: ($_=function(str) { return {_hx_index:3,str:str,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpStr",$_.__params__ = ["str"],$_) - ,OpBlock: ($_=function(l) { return {_hx_index:4,l:l,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpBlock",$_.__params__ = ["l"],$_) - ,OpForeach: ($_=function(expr,loop) { return {_hx_index:5,expr:expr,loop:loop,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpForeach",$_.__params__ = ["expr","loop"],$_) - ,OpMacro: ($_=function(name,params) { return {_hx_index:6,name:name,params:params,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpMacro",$_.__params__ = ["name","params"],$_) -}; -haxe__$Template_TemplateExpr.__constructs__ = [haxe__$Template_TemplateExpr.OpVar,haxe__$Template_TemplateExpr.OpExpr,haxe__$Template_TemplateExpr.OpIf,haxe__$Template_TemplateExpr.OpStr,haxe__$Template_TemplateExpr.OpBlock,haxe__$Template_TemplateExpr.OpForeach,haxe__$Template_TemplateExpr.OpMacro]; -var haxe_iterators_ArrayIterator = function(array) { - this.current = 0; - this.array = array; -}; -haxe_iterators_ArrayIterator.__name__ = true; -haxe_iterators_ArrayIterator.prototype = { - hasNext: function() { - return this.current < this.array.length; - } - ,next: function() { - return this.array[this.current++]; - } -}; -var haxe_Template = function(str) { - var tokens = this.parseTokens(str); - this.expr = this.parseBlock(tokens); - if(!tokens.isEmpty()) { - throw haxe_Exception.thrown("Unexpected '" + Std.string(tokens.first().s) + "'"); - } -}; -haxe_Template.__name__ = true; -haxe_Template.prototype = { - execute: function(context,macros) { - this.macros = macros == null ? { } : macros; - this.context = context; - this.stack = new haxe_ds_List(); - this.buf = new StringBuf(); - this.run(this.expr); - return this.buf.b; - } - ,resolve: function(v) { - if(v == "__current__") { - return this.context; - } - if(Reflect.isObject(this.context)) { - var value = Reflect.getProperty(this.context,v); - if(value != null || Object.prototype.hasOwnProperty.call(this.context,v)) { - return value; - } - } - var _g_head = this.stack.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var ctx = val; - var value = Reflect.getProperty(ctx,v); - if(value != null || Object.prototype.hasOwnProperty.call(ctx,v)) { - return value; - } - } - return Reflect.field(haxe_Template.globals,v); - } - ,parseTokens: function(data) { - var tokens = new haxe_ds_List(); - while(haxe_Template.splitter.match(data)) { - var p = haxe_Template.splitter.matchedPos(); - if(p.pos > 0) { - tokens.add({ p : HxOverrides.substr(data,0,p.pos), s : true, l : null}); - } - if(HxOverrides.cca(data,p.pos) == 58) { - tokens.add({ p : HxOverrides.substr(data,p.pos + 2,p.len - 4), s : false, l : null}); - data = haxe_Template.splitter.matchedRight(); - continue; - } - var parp = p.pos + p.len; - var npar = 1; - var params = []; - var part = ""; - while(true) { - var c = HxOverrides.cca(data,parp); - ++parp; - if(c == 40) { - ++npar; - } else if(c == 41) { - --npar; - if(npar <= 0) { - break; - } - } else if(c == null) { - throw haxe_Exception.thrown("Unclosed macro parenthesis"); - } - if(c == 44 && npar == 1) { - params.push(part); - part = ""; - } else { - part += String.fromCodePoint(c); - } - } - params.push(part); - tokens.add({ p : haxe_Template.splitter.matched(2), s : false, l : params}); - data = HxOverrides.substr(data,parp,data.length - parp); - } - if(data.length > 0) { - tokens.add({ p : data, s : true, l : null}); - } - return tokens; - } - ,parseBlock: function(tokens) { - var l = new haxe_ds_List(); - while(true) { - var t = tokens.first(); - if(t == null) { - break; - } - if(!t.s && (t.p == "end" || t.p == "else" || HxOverrides.substr(t.p,0,7) == "elseif ")) { - break; - } - l.add(this.parse(tokens)); - } - if(l.length == 1) { - return l.first(); - } - return haxe__$Template_TemplateExpr.OpBlock(l); - } - ,parse: function(tokens) { - var t = tokens.pop(); - var p = t.p; - if(t.s) { - return haxe__$Template_TemplateExpr.OpStr(p); - } - if(t.l != null) { - var pe = new haxe_ds_List(); - var _g = 0; - var _g1 = t.l; - while(_g < _g1.length) { - var p1 = _g1[_g]; - ++_g; - pe.add(this.parseBlock(this.parseTokens(p1))); - } - return haxe__$Template_TemplateExpr.OpMacro(p,pe); - } - var kwdEnd = function(kwd) { - var pos = -1; - var length = kwd.length; - if(HxOverrides.substr(p,0,length) == kwd) { - pos = length; - var _g_offset = 0; - var _g_s = HxOverrides.substr(p,length,null); - while(_g_offset < _g_s.length) { - var c = _g_s.charCodeAt(_g_offset++); - if(c == 32) { - ++pos; - } else { - break; - } - } - } - return pos; - }; - var pos = kwdEnd("if"); - if(pos > 0) { - p = HxOverrides.substr(p,pos,p.length - pos); - var e = this.parseExpr(p); - var eif = this.parseBlock(tokens); - var t = tokens.first(); - var eelse; - if(t == null) { - throw haxe_Exception.thrown("Unclosed 'if'"); - } - if(t.p == "end") { - tokens.pop(); - eelse = null; - } else if(t.p == "else") { - tokens.pop(); - eelse = this.parseBlock(tokens); - t = tokens.pop(); - if(t == null || t.p != "end") { - throw haxe_Exception.thrown("Unclosed 'else'"); - } - } else { - t.p = HxOverrides.substr(t.p,4,t.p.length - 4); - eelse = this.parse(tokens); - } - return haxe__$Template_TemplateExpr.OpIf(e,eif,eelse); - } - var pos = kwdEnd("foreach"); - if(pos >= 0) { - p = HxOverrides.substr(p,pos,p.length - pos); - var e = this.parseExpr(p); - var efor = this.parseBlock(tokens); - var t = tokens.pop(); - if(t == null || t.p != "end") { - throw haxe_Exception.thrown("Unclosed 'foreach'"); - } - return haxe__$Template_TemplateExpr.OpForeach(e,efor); - } - if(haxe_Template.expr_splitter.match(p)) { - return haxe__$Template_TemplateExpr.OpExpr(this.parseExpr(p)); - } - return haxe__$Template_TemplateExpr.OpVar(p); - } - ,parseExpr: function(data) { - var l = new haxe_ds_List(); - var expr = data; - while(haxe_Template.expr_splitter.match(data)) { - var p = haxe_Template.expr_splitter.matchedPos(); - var k = p.pos + p.len; - if(p.pos != 0) { - l.add({ p : HxOverrides.substr(data,0,p.pos), s : true}); - } - var p1 = haxe_Template.expr_splitter.matched(0); - l.add({ p : p1, s : p1.indexOf("\"") >= 0}); - data = haxe_Template.expr_splitter.matchedRight(); - } - if(data.length != 0) { - var _g_offset = 0; - var _g_s = data; - while(_g_offset < _g_s.length) { - var _g_key = _g_offset; - var _g_value = _g_s.charCodeAt(_g_offset++); - var i = _g_key; - var c = _g_value; - if(c != 32) { - l.add({ p : HxOverrides.substr(data,i,null), s : true}); - break; - } - } - } - var e; - try { - e = this.makeExpr(l); - if(!l.isEmpty()) { - throw haxe_Exception.thrown(l.first().p); - } - } catch( _g ) { - var _g1 = haxe_Exception.caught(_g).unwrap(); - if(typeof(_g1) == "string") { - var s = _g1; - throw haxe_Exception.thrown("Unexpected '" + s + "' in " + expr); - } else { - throw _g; - } - } - return function() { - try { - return e(); - } catch( _g ) { - var exc = haxe_Exception.caught(_g).unwrap(); - throw haxe_Exception.thrown("Error : " + Std.string(exc) + " in " + expr); - } - }; - } - ,makeConst: function(v) { - haxe_Template.expr_trim.match(v); - v = haxe_Template.expr_trim.matched(1); - if(HxOverrides.cca(v,0) == 34) { - var str = HxOverrides.substr(v,1,v.length - 2); - return function() { - return str; - }; - } - if(haxe_Template.expr_int.match(v)) { - var i = Std.parseInt(v); - return function() { - return i; - }; - } - if(haxe_Template.expr_float.match(v)) { - var f = parseFloat(v); - return function() { - return f; - }; - } - var me = this; - return function() { - return me.resolve(v); - }; - } - ,makePath: function(e,l) { - var p = l.first(); - if(p == null || p.p != ".") { - return e; - } - l.pop(); - var field = l.pop(); - if(field == null || !field.s) { - throw haxe_Exception.thrown(field.p); - } - var f = field.p; - haxe_Template.expr_trim.match(f); - f = haxe_Template.expr_trim.matched(1); - return this.makePath(function() { - return Reflect.field(e(),f); - },l); - } - ,makeExpr: function(l) { - return this.makePath(this.makeExpr2(l),l); - } - ,skipSpaces: function(l) { - var p = l.first(); - while(p != null) { - var _g_offset = 0; - var _g_s = p.p; - while(_g_offset < _g_s.length) { - var c = _g_s.charCodeAt(_g_offset++); - if(c != 32) { - return; - } - } - l.pop(); - p = l.first(); - } - } - ,makeExpr2: function(l) { - this.skipSpaces(l); - var p = l.pop(); - this.skipSpaces(l); - if(p == null) { - throw haxe_Exception.thrown(""); - } - if(p.s) { - return this.makeConst(p.p); - } - switch(p.p) { - case "!": - var e = this.makeExpr(l); - return function() { - var v = e(); - if(v != null) { - return v == false; - } else { - return true; - } - }; - case "(": - this.skipSpaces(l); - var e1 = this.makeExpr(l); - this.skipSpaces(l); - var p1 = l.pop(); - if(p1 == null || p1.s) { - throw haxe_Exception.thrown(p1); - } - if(p1.p == ")") { - return e1; - } - this.skipSpaces(l); - var e2 = this.makeExpr(l); - this.skipSpaces(l); - var p2 = l.pop(); - this.skipSpaces(l); - if(p2 == null || p2.p != ")") { - throw haxe_Exception.thrown(p2); - } - switch(p1.p) { - case "!=": - return function() { - return e1() != e2(); - }; - case "&&": - return function() { - return e1() && e2(); - }; - case "*": - return function() { - return e1() * e2(); - }; - case "+": - return function() { - return e1() + e2(); - }; - case "-": - return function() { - return e1() - e2(); - }; - case "/": - return function() { - return e1() / e2(); - }; - case "<": - return function() { - return e1() < e2(); - }; - case "<=": - return function() { - return e1() <= e2(); - }; - case "==": - return function() { - return e1() == e2(); - }; - case ">": - return function() { - return e1() > e2(); - }; - case ">=": - return function() { - return e1() >= e2(); - }; - case "||": - return function() { - return e1() || e2(); - }; - default: - throw haxe_Exception.thrown("Unknown operation " + p1.p); - } - break; - case "-": - var e3 = this.makeExpr(l); - return function() { - return -e3(); - }; - } - throw haxe_Exception.thrown(p.p); - } - ,run: function(e) { - switch(e._hx_index) { - case 0: - var v = e.v; - var _this = this.buf; - var x = Std.string(this.resolve(v)); - _this.b += Std.string(x); - break; - case 1: - var e1 = e.expr; - var _this = this.buf; - var x = Std.string(e1()); - _this.b += Std.string(x); - break; - case 2: - var e1 = e.expr; - var eif = e.eif; - var eelse = e.eelse; - var v = e1(); - if(v == null || v == false) { - if(eelse != null) { - this.run(eelse); - } - } else { - this.run(eif); - } - break; - case 3: - var str = e.str; - this.buf.b += str == null ? "null" : "" + str; - break; - case 4: - var l = e.l; - var _g_head = l.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var e1 = val; - this.run(e1); - } - break; - case 5: - var e1 = e.expr; - var loop = e.loop; - var v = e1(); - try { - var x = $getIterator(v); - if(x.hasNext == null) { - throw haxe_Exception.thrown(null); - } - v = x; - } catch( _g ) { - try { - if(v.hasNext == null) { - throw haxe_Exception.thrown(null); - } - } catch( _g1 ) { - throw haxe_Exception.thrown("Cannot iter on " + Std.string(v)); - } - } - this.stack.push(this.context); - var v1 = v; - var ctx = v1; - while(ctx.hasNext()) { - var ctx1 = ctx.next(); - this.context = ctx1; - this.run(loop); - } - this.context = this.stack.pop(); - break; - case 6: - var m = e.name; - var params = e.params; - var v = Reflect.field(this.macros,m); - var pl = []; - var old = this.buf; - pl.push($bind(this,this.resolve)); - var _g_head = params.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var p = val; - if(p._hx_index == 0) { - var v1 = p.v; - pl.push(this.resolve(v1)); - } else { - this.buf = new StringBuf(); - this.run(p); - pl.push(this.buf.b); - } - } - this.buf = old; - try { - var _this = this.buf; - var x = Std.string(v.apply(this.macros,pl)); - _this.b += Std.string(x); - } catch( _g ) { - var e = haxe_Exception.caught(_g).unwrap(); - var plstr; - try { - plstr = pl.join(","); - } catch( _g1 ) { - plstr = "???"; - } - var msg = "Macro call " + m + "(" + plstr + ") failed (" + Std.string(e) + ")"; - throw haxe_Exception.thrown(msg); - } - break; - } - } -}; -var haxe_ValueException = function(value,previous,native) { - haxe_Exception.call(this,String(value),previous,native); - this.value = value; -}; -haxe_ValueException.__name__ = true; -haxe_ValueException.__super__ = haxe_Exception; -haxe_ValueException.prototype = $extend(haxe_Exception.prototype,{ - unwrap: function() { - return this.value; - } -}); -var haxe_ds_List = function() { - this.length = 0; -}; -haxe_ds_List.__name__ = true; -haxe_ds_List.prototype = { - add: function(item) { - var x = new haxe_ds__$List_ListNode(item,null); - if(this.h == null) { - this.h = x; - } else { - this.q.next = x; - } - this.q = x; - this.length++; - } - ,push: function(item) { - var x = new haxe_ds__$List_ListNode(item,this.h); - this.h = x; - if(this.q == null) { - this.q = x; - } - this.length++; - } - ,first: function() { - if(this.h == null) { - return null; - } else { - return this.h.item; - } - } - ,pop: function() { - if(this.h == null) { - return null; - } - var x = this.h.item; - this.h = this.h.next; - if(this.h == null) { - this.q = null; - } - this.length--; - return x; - } - ,isEmpty: function() { - return this.h == null; - } - ,toString: function() { - var s_b = ""; - var first = true; - var l = this.h; - s_b += "{"; - while(l != null) { - if(first) { - first = false; - } else { - s_b += ", "; - } - s_b += Std.string(Std.string(l.item)); - l = l.next; - } - s_b += "}"; - return s_b; - } -}; -var haxe_ds__$List_ListNode = function(item,next) { - this.item = item; - this.next = next; -}; -haxe_ds__$List_ListNode.__name__ = true; -var js_Boot = function() { }; -js_Boot.__name__ = true; -js_Boot.__string_rec = function(o,s) { - if(o == null) { - return "null"; - } - if(s.length >= 5) { - return "<...>"; - } - var t = typeof(o); - if(t == "function" && (o.__name__ || o.__ename__)) { - t = "object"; - } - switch(t) { - case "function": - return ""; - case "object": - if(o.__enum__) { - var e = $hxEnums[o.__enum__]; - var con = e.__constructs__[o._hx_index]; - var n = con._hx_name; - if(con.__params__) { - s = s + "\t"; - return n + "(" + ((function($this) { - var $r; - var _g = []; - { - var _g1 = 0; - var _g2 = con.__params__; - while(true) { - if(!(_g1 < _g2.length)) { - break; - } - var p = _g2[_g1]; - _g1 = _g1 + 1; - _g.push(js_Boot.__string_rec(o[p],s)); - } - } - $r = _g; - return $r; - }(this))).join(",") + ")"; - } else { - return n; - } - } - if(((o) instanceof Array)) { - var str = "["; - s += "\t"; - var _g = 0; - var _g1 = o.length; - while(_g < _g1) { - var i = _g++; - str += (i > 0 ? "," : "") + js_Boot.__string_rec(o[i],s); - } - str += "]"; - return str; - } - var tostr; - try { - tostr = o.toString; - } catch( _g ) { - return "???"; - } - if(tostr != null && tostr != Object.toString && typeof(tostr) == "function") { - var s2 = o.toString(); - if(s2 != "[object Object]") { - return s2; - } - } - var str = "{\n"; - s += "\t"; - var hasp = o.hasOwnProperty != null; - var k = null; - for( k in o ) { - if(hasp && !o.hasOwnProperty(k)) { - continue; - } - if(k == "prototype" || k == "__class__" || k == "__super__" || k == "__interfaces__" || k == "__properties__") { - continue; - } - if(str.length != 2) { - str += ", \n"; - } - str += s + k + " : " + js_Boot.__string_rec(o[k],s); - } - s = s.substring(1); - str += "\n" + s + "}"; - return str; - case "string": - return o; - default: - return String(o); - } -}; -var xrfragment_Filter = $hx_exports["xrfragment"]["Filter"] = function(str) { - this.q = { }; - this.str = ""; - if(str != null) { - this.parse(str); - } -}; -xrfragment_Filter.__name__ = true; -xrfragment_Filter.prototype = { - toObject: function() { - return Reflect.copy(this.q); - } - ,get: function() { - return Reflect.copy(this.q); - } - ,parse: function(str) { - var token = str.split(" "); - var q = { }; - var process = function(str,prefix) { - if(prefix == null) { - prefix = ""; - } - str = StringTools.trim(str); - var k = str.split("=")[0]; - var v = str.split("=")[1]; - var filter = { }; - if(q[prefix + k]) { - filter = q[prefix + k]; - } - if(xrfragment_XRF.isProp.match(str)) { - var oper = ""; - if(str.indexOf(">") != -1) { - oper = ">"; - } - if(str.indexOf("<") != -1) { - oper = "<"; - } - if(xrfragment_XRF.isExclude.match(k)) { - k = HxOverrides.substr(k,1,null); - } - v = HxOverrides.substr(v,oper.length,null); - if(oper.length == 0) { - oper = "="; - } - var rule = { }; - if(xrfragment_XRF.isNumber.match(v)) { - rule[oper] = parseFloat(v); - } else { - rule[oper] = v; - } - q["expr"] = rule; - } - var value = xrfragment_XRF.isDeep.match(str) ? k.split("*").length - 1 : 0; - q["deep"] = value; - var value = xrfragment_XRF.isExclude.match(str) ? false : true; - q["show"] = value; - var value = k.replace(xrfragment_XRF.operators.r,""); - q["key"] = value; - q["value"] = v; - }; - var _g = 0; - var _g1 = token.length; - while(_g < _g1) { - var i = _g++; - process(token[i]); - } - return this.q = q; - } - ,test: function(obj) { - var qualify = false; - var _g = 0; - var _g1 = Reflect.fields(obj); - while(_g < _g1.length) { - var k = _g1[_g]; - ++_g; - var v = Std.string(Reflect.field(obj,k)); - if(this.testProperty(k,v)) { - qualify = true; - } - } - var _g = 0; - var _g1 = Reflect.fields(obj); - while(_g < _g1.length) { - var k = _g1[_g]; - ++_g; - var v = Std.string(Reflect.field(obj,k)); - if(this.testProperty(k,v,true)) { - qualify = false; - } - } - return qualify; - } - ,testProperty: function(property,value,exclude) { - var conds = 0; - var fails = 0; - var qualify = 0; - var testprop = function(expr) { - conds += 1; - fails += expr ? 0 : 1; - return expr; - }; - if(this.q[value] != null) { - var v = this.q[value]; - if(v[property] != null) { - return v[property]; - } - } - if(Reflect.field(this.q,"expr")) { - var f = Reflect.field(this.q,"expr"); - if(!Reflect.field(this.q,"show")) { - if(Reflect.field(f,"!=") != null && testprop((value == null ? "null" : "" + value) == Std.string(Reflect.field(f,"!="))) && exclude) { - ++qualify; - } - } else { - if(Reflect.field(f,"*") != null && testprop(parseFloat(value) != null)) { - ++qualify; - } - if(Reflect.field(f,">") != null && testprop(parseFloat(value) >= parseFloat(Reflect.field(f,">")))) { - ++qualify; - } - if(Reflect.field(f,"<") != null && testprop(parseFloat(value) <= parseFloat(Reflect.field(f,"<")))) { - ++qualify; - } - if(Reflect.field(f,"=") != null && (testprop(value == Reflect.field(f,"=")) || testprop(parseFloat(value) == parseFloat(Reflect.field(f,"="))))) { - ++qualify; - } - } - } - return qualify > 0; - } -}; -var xrfragment_Parser = $hx_exports["xrfragment"]["Parser"] = function() { }; -xrfragment_Parser.__name__ = true; -xrfragment_Parser.parse = function(key,value,store,index) { - var Frag_h = Object.create(null); - Frag_h["#"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_PREDEFINED_VIEW | xrfragment_XRF.PV_EXECUTE; - Frag_h["src"] = xrfragment_XRF.T_URL; - Frag_h["href"] = xrfragment_XRF.T_URL | xrfragment_XRF.T_PREDEFINED_VIEW; - Frag_h["tag"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["pos"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_VECTOR3 | xrfragment_XRF.T_STRING | xrfragment_XRF.METADATA | xrfragment_XRF.NAVIGATOR; - Frag_h["rot"] = xrfragment_XRF.QUERY_OPERATOR | xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_VECTOR3 | xrfragment_XRF.METADATA | xrfragment_XRF.NAVIGATOR; - Frag_h["t"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_FLOAT | xrfragment_XRF.T_VECTOR2 | xrfragment_XRF.NAVIGATOR | xrfragment_XRF.METADATA; - Frag_h["s"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_MEDIAFRAG; - Frag_h["loop"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_PREDEFINED_VIEW; - Frag_h["uv"] = xrfragment_XRF.T_VECTOR2 | xrfragment_XRF.T_MEDIAFRAG; - Frag_h["namespace"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["SPDX"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["unit"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["description"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - var keyStripped = key.replace(xrfragment_XRF.operators.r,""); - var isPVDynamic = key.length > 0 && !Object.prototype.hasOwnProperty.call(Frag_h,key); - if(isPVDynamic) { - var v = new xrfragment_XRF(key,xrfragment_XRF.PV_EXECUTE | xrfragment_XRF.NAVIGATOR,index); - v.validate(value); - v.flags = xrfragment_XRF.set(xrfragment_XRF.T_DYNAMICKEY,v.flags); - if(!Object.prototype.hasOwnProperty.call(Frag_h,key)) { - v.flags = xrfragment_XRF.set(xrfragment_XRF.CUSTOMFRAG,v.flags); - } - if(value.length == 0) { - v.flags = xrfragment_XRF.set(xrfragment_XRF.T_DYNAMICKEYVALUE,v.flags); - } - store[keyStripped] = v; - return true; - } - var v = new xrfragment_XRF(key,Frag_h[key],index); - if(Object.prototype.hasOwnProperty.call(Frag_h,key)) { - if(!v.validate(value)) { - console.log("src/xrfragment/Parser.hx:67:","⚠ fragment '" + key + "' has incompatible value (" + value + ")"); - return false; - } - store[keyStripped] = v; - if(xrfragment_Parser.debug) { - console.log("src/xrfragment/Parser.hx:71:","✔ " + key + ": " + v.string); - } - } else { - if(typeof(value) == "string") { - v.guessType(v,value); - } - v.flags = xrfragment_XRF.set(xrfragment_XRF.CUSTOMFRAG,v.flags); - store[keyStripped] = v; - } - return true; -}; -xrfragment_Parser.getMetaData = function() { - var meta = { title : ["title","og:title","dc.title"], description : ["aria-description","og:description","dc.description"], author : ["author","dc.creator"], publisher : ["publisher","dc.publisher"], website : ["og:site_name","og:url","dc.publisher"], license : ["SPDX","dc.rights"]}; - return meta; -}; -var xrfragment_URI = $hx_exports["xrfragment"]["URI"] = function() { - this.XRF = { }; - this.hash = { }; - this.fragment = ""; -}; -xrfragment_URI.__name__ = true; -xrfragment_URI.parseFragment = function(url,filter) { - var store = { }; - if(url == null || url.indexOf("#") == -1) { - return store; - } - var fragment = url.split("#"); - var splitArray = fragment[1].split("&"); - var _g = 0; - var _g1 = splitArray.length; - while(_g < _g1) { - var i = _g++; - var splitByEqual = splitArray[i].split("="); - var regexPlus = new EReg("\\+","g"); - var key = splitByEqual[0]; - var value = ""; - if(splitByEqual.length > 1) { - if(xrfragment_XRF.isVector.match(splitByEqual[1])) { - value = splitByEqual[1]; - } else { - var s = regexPlus.split(splitByEqual[1]).join(" "); - value = decodeURIComponent(s.split("+").join(" ")); - } - } - var ok = xrfragment_Parser.parse(key,value,store,i); - } - if(filter != null && filter != 0) { - var _g = 0; - var _g1 = Reflect.fields(store); - while(_g < _g1.length) { - var key = _g1[_g]; - ++_g; - var xrf = store[key]; - if(!xrf.is(filter)) { - Reflect.deleteField(store,key); - } - } - } - return store; -}; -xrfragment_URI.template = function(uri,vars) { - var parts = uri.split("#"); - if(parts.length == 1) { - return uri; - } - var frag = parts[1]; - frag = StringTools.replace(frag,"{","::"); - frag = StringTools.replace(frag,"}","::"); - frag = new haxe_Template(frag).execute(vars); - frag = StringTools.replace(frag,"null",""); - parts[1] = frag; - return parts.join("#"); -}; -xrfragment_URI.parse = function(stringUrl,flags) { - var r = new EReg("^(?:(?![^:@]+:[^:@/]*@)([^:/?#.]+):)?(?://)?((?:(([^:@]*)(?::([^:@]*))?)?@)?([^:/?#]*)(?::(\\d*))?)(((/(?:[^?#](?![^?#/]*\\.[^?#/.]+(?:[?#]|$)))*/?)?([^?#/]*))(?:\\?([^#]*))?(?:#(.*))?)",""); - if(stringUrl.indexOf("://") == -1 && stringUrl.charAt(0) != "/") { - stringUrl = "/" + stringUrl; - } - r.match(stringUrl); - var url = new xrfragment_URI(); - var _g = 0; - var _g1 = xrfragment_URI._parts.length; - while(_g < _g1) { - var i = _g++; - url[xrfragment_URI._parts[i]] = r.matched(i); - } - if(xrfragment_URI.isRelative(url) == true) { - if(url.directory == null && url.host != null) { - url.file = url.host; - } - url.host = ""; - } - url.hash = { }; - if(url.fragment != null && url.fragment.length > 0) { - url.XRF = xrfragment_URI.parseFragment("#" + url.fragment,flags); - var key; - var _g = 0; - var _g1 = Reflect.fields(url.XRF); - while(_g < _g1.length) { - var key = _g1[_g]; - ++_g; - var v = url.XRF[key]; - url.hash[key] = v["string"]; - } - } - xrfragment_URI.computeVars(url); - return url; -}; -xrfragment_URI.computeVars = function(url) { - var r_r = new RegExp("//","g".split("u").join("")); - if(url.directory != null && url.directory.indexOf("//") != -1) { - url.directory = url.directory.replace(r_r,"/"); - } - if(url.path != null && url.path.indexOf("//") != -1) { - url.path = url.path.replace(r_r,"/"); - } - if(url.file != null && url.file.indexOf("//") != -1) { - url.file = url.file.replace(r_r,"/"); - } - url.URN = url.scheme + "://" + url.host; - if(url.port != null) { - url.URN += ":" + url.port; - } - url.URN += url.directory; - if(url.file != null) { - var parts = url.file.split("."); - if(parts.length > 1) { - url.fileExt = parts.pop(); - } - } -}; -xrfragment_URI.toString = function(url) { - var result = ""; - if(url.scheme != null) { - result += url.scheme + "://"; - } - if(url.user != null) { - result += url.user + ":"; - } - if(url.password != null) { - result += url.password + "@"; - } - if(url.host != null) { - result += url.host; - } - if(url.port != null) { - result += ":" + url.port; - } - if(url.directory != null) { - result += url.directory; - } - if(url.file != null) { - result += url.file; - } - if(url.query != null) { - result += "?" + url.query; - } - if(url.fragment != null) { - result += "#" + url.fragment; - } - return result; -}; -xrfragment_URI.appendURI = function(url,appendedURI) { - if(xrfragment_URI.isRelative(url) == true) { - return xrfragment_URI.appendToRelativeURI(url,appendedURI); - } else { - return xrfragment_URI.appendToAbsoluteURI(url,appendedURI); - } -}; -xrfragment_URI.isRelative = function(url) { - return url.scheme == null; -}; -xrfragment_URI.appendToRelativeURI = function(url,appendedURI) { - if(url.directory == null || url.host == null) { - return xrfragment_URI.cloneURI(appendedURI); - } - var resultURI = new xrfragment_URI(); - resultURI.host = url.host; - resultURI.directory = url.directory; - if(appendedURI.host != null) { - resultURI.directory += appendedURI.host; - } - if(appendedURI.directory != null) { - var directory = appendedURI.directory; - if(appendedURI.host == null) { - resultURI.directory += HxOverrides.substr(directory,1,null); - } else { - resultURI.directory += directory; - } - } - if(appendedURI.file != null) { - resultURI.file = appendedURI.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(appendedURI.query != null) { - resultURI.query = appendedURI.query; - } - if(appendedURI.fragment != null) { - resultURI.fragment = appendedURI.fragment; - } - return resultURI; -}; -xrfragment_URI.appendToAbsoluteURI = function(url,appendedURI) { - var resultURI = new xrfragment_URI(); - if(url.scheme != null) { - resultURI.scheme = url.scheme; - } - if(url.host != null) { - resultURI.host = url.host; - } - var directory = ""; - if(url.directory != null) { - directory = url.directory; - } - if(appendedURI.host != null) { - appendedURI.directory += appendedURI.host; - } - if(appendedURI.directory != null) { - directory += appendedURI.directory; - } - resultURI.directory = directory; - if(appendedURI.file != null) { - resultURI.file = appendedURI.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(appendedURI.query != null) { - resultURI.query = appendedURI.query; - } - if(appendedURI.fragment != null) { - resultURI.fragment = appendedURI.fragment; - } - return resultURI; -}; -xrfragment_URI.toAbsolute = function(url,newUrl) { - var newURI = xrfragment_URI.parse(newUrl,0); - var resultURI = new xrfragment_URI(); - resultURI.port = url.port; - resultURI.source = newUrl; - if(newURI.scheme != null) { - resultURI.scheme = newURI.scheme; - } else { - resultURI.scheme = url.scheme; - } - if(newURI.host != null && newURI.host.length > 0) { - resultURI.host = newURI.host; - resultURI.port = null; - resultURI.fragment = null; - resultURI.hash = { }; - resultURI.XRF = { }; - if(newURI.port != null) { - resultURI.port = newURI.port; - } - } else { - resultURI.host = url.host; - } - var directory = ""; - if(url.directory != null) { - directory = url.directory; - } - if(newURI.directory != null) { - if(newUrl.charAt(0) != "/" && newUrl.indexOf("://") == -1) { - var stripRelative_r = new RegExp("\\./.*","".split("u").join("")); - directory = directory.replace(stripRelative_r,""); - directory += newURI.directory; - } else { - directory = newURI.directory; - } - } - resultURI.directory = directory; - if(newURI.file != null) { - resultURI.file = newURI.file; - } else { - resultURI.file = url.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(newURI.query != null) { - resultURI.query = newURI.query; - } - if(newURI.fragment != null) { - resultURI.fragment = newURI.fragment; - } - resultURI.hash = newURI.hash; - resultURI.XRF = newURI.XRF; - xrfragment_URI.computeVars(resultURI); - return resultURI; -}; -xrfragment_URI.cloneURI = function(url) { - var clonedURI = new xrfragment_URI(); - clonedURI.url = url.url; - clonedURI.source = url.source; - clonedURI.scheme = url.scheme; - clonedURI.authority = url.authority; - clonedURI.userInfo = url.userInfo; - clonedURI.password = url.password; - clonedURI.host = url.host; - clonedURI.port = url.port; - clonedURI.relative = url.relative; - clonedURI.path = url.path; - clonedURI.directory = url.directory; - clonedURI.file = url.file; - clonedURI.query = url.query; - clonedURI.fragment = url.fragment; - return clonedURI; -}; -var xrfragment_XRF = $hx_exports["xrfragment"]["XRF"] = function(_fragment,_flags,_index) { - this.floats = []; - this.shift = []; - this.fragment = _fragment; - this.flags = _flags; - this.index = _index; -}; -xrfragment_XRF.__name__ = true; -xrfragment_XRF.set = function(flag,flags) { - return flags | flag; -}; -xrfragment_XRF.unset = function(flag,flags) { - return flags & ~flag; -}; -xrfragment_XRF.prototype = { - is: function(flag) { - var v = this.flags; - if(!(typeof(v) == "number" && ((v | 0) === v))) { - this.flags = 0; - } - return (this.flags & flag) != 0; - } - ,validate: function(value) { - this.guessType(this,value); - var ok = true; - if(value.length == 0 && !this.is(xrfragment_XRF.T_PREDEFINED_VIEW)) { - ok = false; - } - if(!this.is(xrfragment_XRF.T_FLOAT) && this.is(xrfragment_XRF.T_VECTOR2) && !(typeof(this.x) == "number" && typeof(this.y) == "number")) { - ok = false; - } - if(!(this.is(xrfragment_XRF.T_VECTOR2) || this.is(xrfragment_XRF.T_STRING)) && this.is(xrfragment_XRF.T_VECTOR3) && !(typeof(this.x) == "number" && typeof(this.y) == "number" && typeof(this.z) == "number")) { - ok = false; - } - return ok; - } - ,guessType: function(v,str) { - v.string = str; - if(xrfragment_XRF.isReset.match(v.fragment)) { - v.reset = true; - } - if(v.fragment == "loop") { - v.loop = true; - } - if(typeof(str) != "string") { - return; - } - if(str.length > 0) { - if(xrfragment_XRF.isXRFScheme.match(str)) { - v.xrfScheme = true; - str = str.replace(xrfragment_XRF.isXRFScheme.r,""); - v.string = str; - } - if(str.split(",").length > 1) { - var xyzn = str.split(","); - if(xyzn.length > 0) { - v.x = parseFloat(xyzn[0]); - } - if(xyzn.length > 1) { - v.y = parseFloat(xyzn[1]); - } - if(xyzn.length > 2) { - v.z = parseFloat(xyzn[2]); - } - var _g = 0; - var _g1 = xyzn.length; - while(_g < _g1) { - var i = _g++; - v.shift.push(xrfragment_XRF.isShift.match(xyzn[i])); - v.floats.push(parseFloat(xyzn[i].replace(xrfragment_XRF.isShift.r,""))); - } - } - if(xrfragment_XRF.isColor.match(str)) { - v.color = str; - } - if(xrfragment_XRF.isFloat.match(str)) { - v.x = parseFloat(str); - v.float = v.x; - } - if(xrfragment_XRF.isInt.match(str)) { - v.int = Std.parseInt(str); - v.x = v.int; - v.floats.push(v.x); - } - v.filter = new xrfragment_Filter(v.fragment + "=" + v.string); - } else { - v.filter = new xrfragment_Filter(v.fragment); - } - } -}; -function $getIterator(o) { if( o instanceof Array ) return new haxe_iterators_ArrayIterator(o); else return o.iterator(); } -function $bind(o,m) { if( m == null ) return null; if( m.__id__ == null ) m.__id__ = $global.$haxeUID++; var f; if( o.hx__closures__ == null ) o.hx__closures__ = {}; else f = o.hx__closures__[m.__id__]; if( f == null ) { f = m.bind(o); o.hx__closures__[m.__id__] = f; } return f; } -$global.$haxeUID |= 0; -if(typeof(performance) != "undefined" ? typeof(performance.now) == "function" : false) { - HxOverrides.now = performance.now.bind(performance); -} -if( String.fromCodePoint == null ) String.fromCodePoint = function(c) { return c < 0x10000 ? String.fromCharCode(c) : String.fromCharCode((c>>10)+0xD7C0)+String.fromCharCode((c&0x3FF)+0xDC00); } -String.__name__ = true; -Array.__name__ = true; -js_Boot.__toStr = ({ }).toString; -haxe_Template.splitter = new EReg("(::[A-Za-z0-9_ ()&|!+=/><*.\"-]+::|\\$\\$([A-Za-z0-9_-]+)\\()",""); -haxe_Template.expr_splitter = new EReg("(\\(|\\)|[ \r\n\t]*\"[^\"]*\"[ \r\n\t]*|[!+=/><*.&|-]+)",""); -haxe_Template.expr_trim = new EReg("^[ ]*([^ ]+)[ ]*$",""); -haxe_Template.expr_int = new EReg("^[0-9]+$",""); -haxe_Template.expr_float = new EReg("^([+-]?)(?=\\d|,\\d)\\d*(,\\d*)?([Ee]([+-]?\\d+))?$",""); -haxe_Template.globals = { }; -haxe_Template.hxKeepArrayIterator = new haxe_iterators_ArrayIterator([]); -xrfragment_Parser.error = ""; -xrfragment_Parser.debug = false; -xrfragment_URI.__meta__ = { statics : { template : { keep : null}}}; -xrfragment_URI._parts = ["source","scheme","authority","userInfo","user","password","host","port","relative","path","directory","file","query","fragment"]; -xrfragment_XRF.IMMUTABLE = 1; -xrfragment_XRF.PROP_BIND = 2; -xrfragment_XRF.QUERY_OPERATOR = 4; -xrfragment_XRF.PROMPT = 8; -xrfragment_XRF.CUSTOMFRAG = 16; -xrfragment_XRF.NAVIGATOR = 32; -xrfragment_XRF.METADATA = 64; -xrfragment_XRF.PV_OVERRIDE = 128; -xrfragment_XRF.PV_EXECUTE = 256; -xrfragment_XRF.T_COLOR = 8192; -xrfragment_XRF.T_INT = 16384; -xrfragment_XRF.T_FLOAT = 32768; -xrfragment_XRF.T_VECTOR2 = 65536; -xrfragment_XRF.T_VECTOR3 = 131072; -xrfragment_XRF.T_URL = 262144; -xrfragment_XRF.T_PREDEFINED_VIEW = 524288; -xrfragment_XRF.T_STRING = 1048576; -xrfragment_XRF.T_MEDIAFRAG = 2097152; -xrfragment_XRF.T_DYNAMICKEY = 4194304; -xrfragment_XRF.T_DYNAMICKEYVALUE = 8388608; -xrfragment_XRF.isColor = new EReg("^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$",""); -xrfragment_XRF.isInt = new EReg("^[-0-9]+$",""); -xrfragment_XRF.isFloat = new EReg("^[-0-9]+\\.[0-9]+$",""); -xrfragment_XRF.isVector = new EReg("([,]+|\\w)",""); -xrfragment_XRF.isUrl = new EReg("(://)?\\..*",""); -xrfragment_XRF.isUrlOrPretypedView = new EReg("(^#|://)?\\..*",""); -xrfragment_XRF.isString = new EReg(".*",""); -xrfragment_XRF.operators = new EReg("(^[-]|^[!]|[\\*]$)","g"); -xrfragment_XRF.isProp = new EReg("^.*=[><=]?",""); -xrfragment_XRF.isExclude = new EReg("^-",""); -xrfragment_XRF.isDeep = new EReg("\\*",""); -xrfragment_XRF.isNumber = new EReg("^[0-9\\.]+$",""); -xrfragment_XRF.isMediaFrag = new EReg("^([0-9\\.,\\*+-]+)$",""); -xrfragment_XRF.isReset = new EReg("^!",""); -xrfragment_XRF.isShift = new EReg("^(\\+|--)",""); -xrfragment_XRF.isXRFScheme = new EReg("^xrf://",""); -})(typeof window != "undefined" ? window : typeof global != "undefined" ? global : typeof self != "undefined" ? self : this); -var xrfragment = $hx_exports["xrfragment"]; -export default xrfragment; -// Generated by Haxe 4.3.3 -var $hx_exports = typeof exports != "undefined" ? exports : typeof window != "undefined" ? window : typeof self != "undefined" ? self : this; -(function ($global) { "use strict"; -$hx_exports["xrfragment"] = $hx_exports["xrfragment"] || {}; -var $estr = function() { return js_Boot.__string_rec(this,''); },$hxEnums = $hxEnums || {},$_; -function $extend(from, fields) { - var proto = Object.create(from); - for (var name in fields) proto[name] = fields[name]; - if( fields.toString !== Object.prototype.toString ) proto.toString = fields.toString; - return proto; -} -var EReg = function(r,opt) { - this.r = new RegExp(r,opt.split("u").join("")); -}; -EReg.__name__ = true; -EReg.prototype = { - match: function(s) { - if(this.r.global) { - this.r.lastIndex = 0; - } - this.r.m = this.r.exec(s); - this.r.s = s; - return this.r.m != null; - } - ,matched: function(n) { - if(this.r.m != null && n >= 0 && n < this.r.m.length) { - return this.r.m[n]; - } else { - throw haxe_Exception.thrown("EReg::matched"); - } - } - ,matchedRight: function() { - if(this.r.m == null) { - throw haxe_Exception.thrown("No string matched"); - } - var sz = this.r.m.index + this.r.m[0].length; - return HxOverrides.substr(this.r.s,sz,this.r.s.length - sz); - } - ,matchedPos: function() { - if(this.r.m == null) { - throw haxe_Exception.thrown("No string matched"); - } - return { pos : this.r.m.index, len : this.r.m[0].length}; - } - ,split: function(s) { - var d = "#__delim__#"; - return s.replace(this.r,d).split(d); - } -}; -var HxOverrides = function() { }; -HxOverrides.__name__ = true; -HxOverrides.cca = function(s,index) { - var x = s.charCodeAt(index); - if(x != x) { - return undefined; - } - return x; -}; -HxOverrides.substr = function(s,pos,len) { - if(len == null) { - len = s.length; - } else if(len < 0) { - if(pos == 0) { - len = s.length + len; - } else { - return ""; - } - } - return s.substr(pos,len); -}; -HxOverrides.now = function() { - return Date.now(); -}; -Math.__name__ = true; -var Reflect = function() { }; -Reflect.__name__ = true; -Reflect.field = function(o,field) { - try { - return o[field]; - } catch( _g ) { - return null; - } -}; -Reflect.getProperty = function(o,field) { - var tmp; - if(o == null) { - return null; - } else { - var tmp1; - if(o.__properties__) { - tmp = o.__properties__["get_" + field]; - tmp1 = tmp; - } else { - tmp1 = false; - } - if(tmp1) { - return o[tmp](); - } else { - return o[field]; - } - } -}; -Reflect.fields = function(o) { - var a = []; - if(o != null) { - var hasOwnProperty = Object.prototype.hasOwnProperty; - for( var f in o ) { - if(f != "__id__" && f != "hx__closures__" && hasOwnProperty.call(o,f)) { - a.push(f); - } - } - } - return a; -}; -Reflect.isObject = function(v) { - if(v == null) { - return false; - } - var t = typeof(v); - if(!(t == "string" || t == "object" && v.__enum__ == null)) { - if(t == "function") { - return (v.__name__ || v.__ename__) != null; - } else { - return false; - } - } else { - return true; - } -}; -Reflect.deleteField = function(o,field) { - if(!Object.prototype.hasOwnProperty.call(o,field)) { - return false; - } - delete(o[field]); - return true; -}; -Reflect.copy = function(o) { - if(o == null) { - return null; - } - var o2 = { }; - var _g = 0; - var _g1 = Reflect.fields(o); - while(_g < _g1.length) { - var f = _g1[_g]; - ++_g; - o2[f] = Reflect.field(o,f); - } - return o2; -}; -var Std = function() { }; -Std.__name__ = true; -Std.string = function(s) { - return js_Boot.__string_rec(s,""); -}; -Std.parseInt = function(x) { - var v = parseInt(x); - if(isNaN(v)) { - return null; - } - return v; -}; -var StringBuf = function() { - this.b = ""; -}; -StringBuf.__name__ = true; -var StringTools = function() { }; -StringTools.__name__ = true; -StringTools.isSpace = function(s,pos) { - var c = HxOverrides.cca(s,pos); - if(!(c > 8 && c < 14)) { - return c == 32; - } else { - return true; - } -}; -StringTools.ltrim = function(s) { - var l = s.length; - var r = 0; - while(r < l && StringTools.isSpace(s,r)) ++r; - if(r > 0) { - return HxOverrides.substr(s,r,l - r); - } else { - return s; - } -}; -StringTools.rtrim = function(s) { - var l = s.length; - var r = 0; - while(r < l && StringTools.isSpace(s,l - r - 1)) ++r; - if(r > 0) { - return HxOverrides.substr(s,0,l - r); - } else { - return s; - } -}; -StringTools.trim = function(s) { - return StringTools.ltrim(StringTools.rtrim(s)); -}; -StringTools.replace = function(s,sub,by) { - return s.split(sub).join(by); -}; -var haxe_Exception = function(message,previous,native) { - Error.call(this,message); - this.message = message; - this.__previousException = previous; - this.__nativeException = native != null ? native : this; -}; -haxe_Exception.__name__ = true; -haxe_Exception.caught = function(value) { - if(((value) instanceof haxe_Exception)) { - return value; - } else if(((value) instanceof Error)) { - return new haxe_Exception(value.message,null,value); - } else { - return new haxe_ValueException(value,null,value); - } -}; -haxe_Exception.thrown = function(value) { - if(((value) instanceof haxe_Exception)) { - return value.get_native(); - } else if(((value) instanceof Error)) { - return value; - } else { - var e = new haxe_ValueException(value); - return e; - } -}; -haxe_Exception.__super__ = Error; -haxe_Exception.prototype = $extend(Error.prototype,{ - unwrap: function() { - return this.__nativeException; - } - ,get_native: function() { - return this.__nativeException; - } - ,__properties__: {get_native:"get_native"} -}); -var haxe__$Template_TemplateExpr = $hxEnums["haxe._Template.TemplateExpr"] = { __ename__:true,__constructs__:null - ,OpVar: ($_=function(v) { return {_hx_index:0,v:v,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpVar",$_.__params__ = ["v"],$_) - ,OpExpr: ($_=function(expr) { return {_hx_index:1,expr:expr,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpExpr",$_.__params__ = ["expr"],$_) - ,OpIf: ($_=function(expr,eif,eelse) { return {_hx_index:2,expr:expr,eif:eif,eelse:eelse,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpIf",$_.__params__ = ["expr","eif","eelse"],$_) - ,OpStr: ($_=function(str) { return {_hx_index:3,str:str,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpStr",$_.__params__ = ["str"],$_) - ,OpBlock: ($_=function(l) { return {_hx_index:4,l:l,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpBlock",$_.__params__ = ["l"],$_) - ,OpForeach: ($_=function(expr,loop) { return {_hx_index:5,expr:expr,loop:loop,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpForeach",$_.__params__ = ["expr","loop"],$_) - ,OpMacro: ($_=function(name,params) { return {_hx_index:6,name:name,params:params,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpMacro",$_.__params__ = ["name","params"],$_) -}; -haxe__$Template_TemplateExpr.__constructs__ = [haxe__$Template_TemplateExpr.OpVar,haxe__$Template_TemplateExpr.OpExpr,haxe__$Template_TemplateExpr.OpIf,haxe__$Template_TemplateExpr.OpStr,haxe__$Template_TemplateExpr.OpBlock,haxe__$Template_TemplateExpr.OpForeach,haxe__$Template_TemplateExpr.OpMacro]; -var haxe_iterators_ArrayIterator = function(array) { - this.current = 0; - this.array = array; -}; -haxe_iterators_ArrayIterator.__name__ = true; -haxe_iterators_ArrayIterator.prototype = { - hasNext: function() { - return this.current < this.array.length; - } - ,next: function() { - return this.array[this.current++]; - } -}; -var haxe_Template = function(str) { - var tokens = this.parseTokens(str); - this.expr = this.parseBlock(tokens); - if(!tokens.isEmpty()) { - throw haxe_Exception.thrown("Unexpected '" + Std.string(tokens.first().s) + "'"); - } -}; -haxe_Template.__name__ = true; -haxe_Template.prototype = { - execute: function(context,macros) { - this.macros = macros == null ? { } : macros; - this.context = context; - this.stack = new haxe_ds_List(); - this.buf = new StringBuf(); - this.run(this.expr); - return this.buf.b; - } - ,resolve: function(v) { - if(v == "__current__") { - return this.context; - } - if(Reflect.isObject(this.context)) { - var value = Reflect.getProperty(this.context,v); - if(value != null || Object.prototype.hasOwnProperty.call(this.context,v)) { - return value; - } - } - var _g_head = this.stack.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var ctx = val; - var value = Reflect.getProperty(ctx,v); - if(value != null || Object.prototype.hasOwnProperty.call(ctx,v)) { - return value; - } - } - return Reflect.field(haxe_Template.globals,v); - } - ,parseTokens: function(data) { - var tokens = new haxe_ds_List(); - while(haxe_Template.splitter.match(data)) { - var p = haxe_Template.splitter.matchedPos(); - if(p.pos > 0) { - tokens.add({ p : HxOverrides.substr(data,0,p.pos), s : true, l : null}); - } - if(HxOverrides.cca(data,p.pos) == 58) { - tokens.add({ p : HxOverrides.substr(data,p.pos + 2,p.len - 4), s : false, l : null}); - data = haxe_Template.splitter.matchedRight(); - continue; - } - var parp = p.pos + p.len; - var npar = 1; - var params = []; - var part = ""; - while(true) { - var c = HxOverrides.cca(data,parp); - ++parp; - if(c == 40) { - ++npar; - } else if(c == 41) { - --npar; - if(npar <= 0) { - break; - } - } else if(c == null) { - throw haxe_Exception.thrown("Unclosed macro parenthesis"); - } - if(c == 44 && npar == 1) { - params.push(part); - part = ""; - } else { - part += String.fromCodePoint(c); - } - } - params.push(part); - tokens.add({ p : haxe_Template.splitter.matched(2), s : false, l : params}); - data = HxOverrides.substr(data,parp,data.length - parp); - } - if(data.length > 0) { - tokens.add({ p : data, s : true, l : null}); - } - return tokens; - } - ,parseBlock: function(tokens) { - var l = new haxe_ds_List(); - while(true) { - var t = tokens.first(); - if(t == null) { - break; - } - if(!t.s && (t.p == "end" || t.p == "else" || HxOverrides.substr(t.p,0,7) == "elseif ")) { - break; - } - l.add(this.parse(tokens)); - } - if(l.length == 1) { - return l.first(); - } - return haxe__$Template_TemplateExpr.OpBlock(l); - } - ,parse: function(tokens) { - var t = tokens.pop(); - var p = t.p; - if(t.s) { - return haxe__$Template_TemplateExpr.OpStr(p); - } - if(t.l != null) { - var pe = new haxe_ds_List(); - var _g = 0; - var _g1 = t.l; - while(_g < _g1.length) { - var p1 = _g1[_g]; - ++_g; - pe.add(this.parseBlock(this.parseTokens(p1))); - } - return haxe__$Template_TemplateExpr.OpMacro(p,pe); - } - var kwdEnd = function(kwd) { - var pos = -1; - var length = kwd.length; - if(HxOverrides.substr(p,0,length) == kwd) { - pos = length; - var _g_offset = 0; - var _g_s = HxOverrides.substr(p,length,null); - while(_g_offset < _g_s.length) { - var c = _g_s.charCodeAt(_g_offset++); - if(c == 32) { - ++pos; - } else { - break; - } - } - } - return pos; - }; - var pos = kwdEnd("if"); - if(pos > 0) { - p = HxOverrides.substr(p,pos,p.length - pos); - var e = this.parseExpr(p); - var eif = this.parseBlock(tokens); - var t = tokens.first(); - var eelse; - if(t == null) { - throw haxe_Exception.thrown("Unclosed 'if'"); - } - if(t.p == "end") { - tokens.pop(); - eelse = null; - } else if(t.p == "else") { - tokens.pop(); - eelse = this.parseBlock(tokens); - t = tokens.pop(); - if(t == null || t.p != "end") { - throw haxe_Exception.thrown("Unclosed 'else'"); - } - } else { - t.p = HxOverrides.substr(t.p,4,t.p.length - 4); - eelse = this.parse(tokens); - } - return haxe__$Template_TemplateExpr.OpIf(e,eif,eelse); - } - var pos = kwdEnd("foreach"); - if(pos >= 0) { - p = HxOverrides.substr(p,pos,p.length - pos); - var e = this.parseExpr(p); - var efor = this.parseBlock(tokens); - var t = tokens.pop(); - if(t == null || t.p != "end") { - throw haxe_Exception.thrown("Unclosed 'foreach'"); - } - return haxe__$Template_TemplateExpr.OpForeach(e,efor); - } - if(haxe_Template.expr_splitter.match(p)) { - return haxe__$Template_TemplateExpr.OpExpr(this.parseExpr(p)); - } - return haxe__$Template_TemplateExpr.OpVar(p); - } - ,parseExpr: function(data) { - var l = new haxe_ds_List(); - var expr = data; - while(haxe_Template.expr_splitter.match(data)) { - var p = haxe_Template.expr_splitter.matchedPos(); - var k = p.pos + p.len; - if(p.pos != 0) { - l.add({ p : HxOverrides.substr(data,0,p.pos), s : true}); - } - var p1 = haxe_Template.expr_splitter.matched(0); - l.add({ p : p1, s : p1.indexOf("\"") >= 0}); - data = haxe_Template.expr_splitter.matchedRight(); - } - if(data.length != 0) { - var _g_offset = 0; - var _g_s = data; - while(_g_offset < _g_s.length) { - var _g_key = _g_offset; - var _g_value = _g_s.charCodeAt(_g_offset++); - var i = _g_key; - var c = _g_value; - if(c != 32) { - l.add({ p : HxOverrides.substr(data,i,null), s : true}); - break; - } - } - } - var e; - try { - e = this.makeExpr(l); - if(!l.isEmpty()) { - throw haxe_Exception.thrown(l.first().p); - } - } catch( _g ) { - var _g1 = haxe_Exception.caught(_g).unwrap(); - if(typeof(_g1) == "string") { - var s = _g1; - throw haxe_Exception.thrown("Unexpected '" + s + "' in " + expr); - } else { - throw _g; - } - } - return function() { - try { - return e(); - } catch( _g ) { - var exc = haxe_Exception.caught(_g).unwrap(); - throw haxe_Exception.thrown("Error : " + Std.string(exc) + " in " + expr); - } - }; - } - ,makeConst: function(v) { - haxe_Template.expr_trim.match(v); - v = haxe_Template.expr_trim.matched(1); - if(HxOverrides.cca(v,0) == 34) { - var str = HxOverrides.substr(v,1,v.length - 2); - return function() { - return str; - }; - } - if(haxe_Template.expr_int.match(v)) { - var i = Std.parseInt(v); - return function() { - return i; - }; - } - if(haxe_Template.expr_float.match(v)) { - var f = parseFloat(v); - return function() { - return f; - }; - } - var me = this; - return function() { - return me.resolve(v); - }; - } - ,makePath: function(e,l) { - var p = l.first(); - if(p == null || p.p != ".") { - return e; - } - l.pop(); - var field = l.pop(); - if(field == null || !field.s) { - throw haxe_Exception.thrown(field.p); - } - var f = field.p; - haxe_Template.expr_trim.match(f); - f = haxe_Template.expr_trim.matched(1); - return this.makePath(function() { - return Reflect.field(e(),f); - },l); - } - ,makeExpr: function(l) { - return this.makePath(this.makeExpr2(l),l); - } - ,skipSpaces: function(l) { - var p = l.first(); - while(p != null) { - var _g_offset = 0; - var _g_s = p.p; - while(_g_offset < _g_s.length) { - var c = _g_s.charCodeAt(_g_offset++); - if(c != 32) { - return; - } - } - l.pop(); - p = l.first(); - } - } - ,makeExpr2: function(l) { - this.skipSpaces(l); - var p = l.pop(); - this.skipSpaces(l); - if(p == null) { - throw haxe_Exception.thrown(""); - } - if(p.s) { - return this.makeConst(p.p); - } - switch(p.p) { - case "!": - var e = this.makeExpr(l); - return function() { - var v = e(); - if(v != null) { - return v == false; - } else { - return true; - } - }; - case "(": - this.skipSpaces(l); - var e1 = this.makeExpr(l); - this.skipSpaces(l); - var p1 = l.pop(); - if(p1 == null || p1.s) { - throw haxe_Exception.thrown(p1); - } - if(p1.p == ")") { - return e1; - } - this.skipSpaces(l); - var e2 = this.makeExpr(l); - this.skipSpaces(l); - var p2 = l.pop(); - this.skipSpaces(l); - if(p2 == null || p2.p != ")") { - throw haxe_Exception.thrown(p2); - } - switch(p1.p) { - case "!=": - return function() { - return e1() != e2(); - }; - case "&&": - return function() { - return e1() && e2(); - }; - case "*": - return function() { - return e1() * e2(); - }; - case "+": - return function() { - return e1() + e2(); - }; - case "-": - return function() { - return e1() - e2(); - }; - case "/": - return function() { - return e1() / e2(); - }; - case "<": - return function() { - return e1() < e2(); - }; - case "<=": - return function() { - return e1() <= e2(); - }; - case "==": - return function() { - return e1() == e2(); - }; - case ">": - return function() { - return e1() > e2(); - }; - case ">=": - return function() { - return e1() >= e2(); - }; - case "||": - return function() { - return e1() || e2(); - }; - default: - throw haxe_Exception.thrown("Unknown operation " + p1.p); - } - break; - case "-": - var e3 = this.makeExpr(l); - return function() { - return -e3(); - }; - } - throw haxe_Exception.thrown(p.p); - } - ,run: function(e) { - switch(e._hx_index) { - case 0: - var v = e.v; - var _this = this.buf; - var x = Std.string(this.resolve(v)); - _this.b += Std.string(x); - break; - case 1: - var e1 = e.expr; - var _this = this.buf; - var x = Std.string(e1()); - _this.b += Std.string(x); - break; - case 2: - var e1 = e.expr; - var eif = e.eif; - var eelse = e.eelse; - var v = e1(); - if(v == null || v == false) { - if(eelse != null) { - this.run(eelse); - } - } else { - this.run(eif); - } - break; - case 3: - var str = e.str; - this.buf.b += str == null ? "null" : "" + str; - break; - case 4: - var l = e.l; - var _g_head = l.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var e1 = val; - this.run(e1); - } - break; - case 5: - var e1 = e.expr; - var loop = e.loop; - var v = e1(); - try { - var x = $getIterator(v); - if(x.hasNext == null) { - throw haxe_Exception.thrown(null); - } - v = x; - } catch( _g ) { - try { - if(v.hasNext == null) { - throw haxe_Exception.thrown(null); - } - } catch( _g1 ) { - throw haxe_Exception.thrown("Cannot iter on " + Std.string(v)); - } - } - this.stack.push(this.context); - var v1 = v; - var ctx = v1; - while(ctx.hasNext()) { - var ctx1 = ctx.next(); - this.context = ctx1; - this.run(loop); - } - this.context = this.stack.pop(); - break; - case 6: - var m = e.name; - var params = e.params; - var v = Reflect.field(this.macros,m); - var pl = []; - var old = this.buf; - pl.push($bind(this,this.resolve)); - var _g_head = params.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var p = val; - if(p._hx_index == 0) { - var v1 = p.v; - pl.push(this.resolve(v1)); - } else { - this.buf = new StringBuf(); - this.run(p); - pl.push(this.buf.b); - } - } - this.buf = old; - try { - var _this = this.buf; - var x = Std.string(v.apply(this.macros,pl)); - _this.b += Std.string(x); - } catch( _g ) { - var e = haxe_Exception.caught(_g).unwrap(); - var plstr; - try { - plstr = pl.join(","); - } catch( _g1 ) { - plstr = "???"; - } - var msg = "Macro call " + m + "(" + plstr + ") failed (" + Std.string(e) + ")"; - throw haxe_Exception.thrown(msg); - } - break; - } - } -}; -var haxe_ValueException = function(value,previous,native) { - haxe_Exception.call(this,String(value),previous,native); - this.value = value; -}; -haxe_ValueException.__name__ = true; -haxe_ValueException.__super__ = haxe_Exception; -haxe_ValueException.prototype = $extend(haxe_Exception.prototype,{ - unwrap: function() { - return this.value; - } -}); -var haxe_ds_List = function() { - this.length = 0; -}; -haxe_ds_List.__name__ = true; -haxe_ds_List.prototype = { - add: function(item) { - var x = new haxe_ds__$List_ListNode(item,null); - if(this.h == null) { - this.h = x; - } else { - this.q.next = x; - } - this.q = x; - this.length++; - } - ,push: function(item) { - var x = new haxe_ds__$List_ListNode(item,this.h); - this.h = x; - if(this.q == null) { - this.q = x; - } - this.length++; - } - ,first: function() { - if(this.h == null) { - return null; - } else { - return this.h.item; - } - } - ,pop: function() { - if(this.h == null) { - return null; - } - var x = this.h.item; - this.h = this.h.next; - if(this.h == null) { - this.q = null; - } - this.length--; - return x; - } - ,isEmpty: function() { - return this.h == null; - } - ,toString: function() { - var s_b = ""; - var first = true; - var l = this.h; - s_b += "{"; - while(l != null) { - if(first) { - first = false; - } else { - s_b += ", "; - } - s_b += Std.string(Std.string(l.item)); - l = l.next; - } - s_b += "}"; - return s_b; - } -}; -var haxe_ds__$List_ListNode = function(item,next) { - this.item = item; - this.next = next; -}; -haxe_ds__$List_ListNode.__name__ = true; -var js_Boot = function() { }; -js_Boot.__name__ = true; -js_Boot.__string_rec = function(o,s) { - if(o == null) { - return "null"; - } - if(s.length >= 5) { - return "<...>"; - } - var t = typeof(o); - if(t == "function" && (o.__name__ || o.__ename__)) { - t = "object"; - } - switch(t) { - case "function": - return ""; - case "object": - if(o.__enum__) { - var e = $hxEnums[o.__enum__]; - var con = e.__constructs__[o._hx_index]; - var n = con._hx_name; - if(con.__params__) { - s = s + "\t"; - return n + "(" + ((function($this) { - var $r; - var _g = []; - { - var _g1 = 0; - var _g2 = con.__params__; - while(true) { - if(!(_g1 < _g2.length)) { - break; - } - var p = _g2[_g1]; - _g1 = _g1 + 1; - _g.push(js_Boot.__string_rec(o[p],s)); - } - } - $r = _g; - return $r; - }(this))).join(",") + ")"; - } else { - return n; - } - } - if(((o) instanceof Array)) { - var str = "["; - s += "\t"; - var _g = 0; - var _g1 = o.length; - while(_g < _g1) { - var i = _g++; - str += (i > 0 ? "," : "") + js_Boot.__string_rec(o[i],s); - } - str += "]"; - return str; - } - var tostr; - try { - tostr = o.toString; - } catch( _g ) { - return "???"; - } - if(tostr != null && tostr != Object.toString && typeof(tostr) == "function") { - var s2 = o.toString(); - if(s2 != "[object Object]") { - return s2; - } - } - var str = "{\n"; - s += "\t"; - var hasp = o.hasOwnProperty != null; - var k = null; - for( k in o ) { - if(hasp && !o.hasOwnProperty(k)) { - continue; - } - if(k == "prototype" || k == "__class__" || k == "__super__" || k == "__interfaces__" || k == "__properties__") { - continue; - } - if(str.length != 2) { - str += ", \n"; - } - str += s + k + " : " + js_Boot.__string_rec(o[k],s); - } - s = s.substring(1); - str += "\n" + s + "}"; - return str; - case "string": - return o; - default: - return String(o); - } -}; -var xrfragment_Filter = $hx_exports["xrfragment"]["Filter"] = function(str) { - this.q = { }; - this.str = ""; - if(str != null) { - this.parse(str); - } -}; -xrfragment_Filter.__name__ = true; -xrfragment_Filter.prototype = { - toObject: function() { - return Reflect.copy(this.q); - } - ,get: function() { - return Reflect.copy(this.q); - } - ,parse: function(str) { - var token = str.split(" "); - var q = { }; - var process = function(str,prefix) { - if(prefix == null) { - prefix = ""; - } - str = StringTools.trim(str); - var k = str.split("=")[0]; - var v = str.split("=")[1]; - var filter = { }; - if(q[prefix + k]) { - filter = q[prefix + k]; - } - if(xrfragment_XRF.isProp.match(str)) { - var oper = ""; - if(str.indexOf(">") != -1) { - oper = ">"; - } - if(str.indexOf("<") != -1) { - oper = "<"; - } - if(xrfragment_XRF.isExclude.match(k)) { - k = HxOverrides.substr(k,1,null); - } - v = HxOverrides.substr(v,oper.length,null); - if(oper.length == 0) { - oper = "="; - } - var rule = { }; - if(xrfragment_XRF.isNumber.match(v)) { - rule[oper] = parseFloat(v); - } else { - rule[oper] = v; - } - q["expr"] = rule; - } - var value = xrfragment_XRF.isDeep.match(str) ? k.split("*").length - 1 : 0; - q["deep"] = value; - var value = xrfragment_XRF.isExclude.match(str) ? false : true; - q["show"] = value; - var value = k.replace(xrfragment_XRF.operators.r,""); - q["key"] = value; - q["value"] = v; - }; - var _g = 0; - var _g1 = token.length; - while(_g < _g1) { - var i = _g++; - process(token[i]); - } - return this.q = q; - } - ,test: function(obj) { - var qualify = false; - var _g = 0; - var _g1 = Reflect.fields(obj); - while(_g < _g1.length) { - var k = _g1[_g]; - ++_g; - var v = Std.string(Reflect.field(obj,k)); - if(this.testProperty(k,v)) { - qualify = true; - } - } - var _g = 0; - var _g1 = Reflect.fields(obj); - while(_g < _g1.length) { - var k = _g1[_g]; - ++_g; - var v = Std.string(Reflect.field(obj,k)); - if(this.testProperty(k,v,true)) { - qualify = false; - } - } - return qualify; - } - ,testProperty: function(property,value,exclude) { - var conds = 0; - var fails = 0; - var qualify = 0; - var testprop = function(expr) { - conds += 1; - fails += expr ? 0 : 1; - return expr; - }; - if(this.q[value] != null) { - var v = this.q[value]; - if(v[property] != null) { - return v[property]; - } - } - if(Reflect.field(this.q,"expr")) { - var f = Reflect.field(this.q,"expr"); - if(!Reflect.field(this.q,"show")) { - if(Reflect.field(f,"!=") != null && testprop((value == null ? "null" : "" + value) == Std.string(Reflect.field(f,"!="))) && exclude) { - ++qualify; - } - } else { - if(Reflect.field(f,"*") != null && testprop(parseFloat(value) != null)) { - ++qualify; - } - if(Reflect.field(f,">") != null && testprop(parseFloat(value) >= parseFloat(Reflect.field(f,">")))) { - ++qualify; - } - if(Reflect.field(f,"<") != null && testprop(parseFloat(value) <= parseFloat(Reflect.field(f,"<")))) { - ++qualify; - } - if(Reflect.field(f,"=") != null && (testprop(value == Reflect.field(f,"=")) || testprop(parseFloat(value) == parseFloat(Reflect.field(f,"="))))) { - ++qualify; - } - } - } - return qualify > 0; - } -}; -var xrfragment_Parser = $hx_exports["xrfragment"]["Parser"] = function() { }; -xrfragment_Parser.__name__ = true; -xrfragment_Parser.parse = function(key,value,store,index) { - var Frag_h = Object.create(null); - Frag_h["#"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_PREDEFINED_VIEW | xrfragment_XRF.PV_EXECUTE; - Frag_h["src"] = xrfragment_XRF.T_URL; - Frag_h["href"] = xrfragment_XRF.T_URL | xrfragment_XRF.T_PREDEFINED_VIEW; - Frag_h["tag"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["pos"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_VECTOR3 | xrfragment_XRF.T_STRING | xrfragment_XRF.METADATA | xrfragment_XRF.NAVIGATOR; - Frag_h["rot"] = xrfragment_XRF.QUERY_OPERATOR | xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_VECTOR3 | xrfragment_XRF.METADATA | xrfragment_XRF.NAVIGATOR; - Frag_h["t"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_FLOAT | xrfragment_XRF.T_VECTOR2 | xrfragment_XRF.NAVIGATOR | xrfragment_XRF.METADATA; - Frag_h["s"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_MEDIAFRAG; - Frag_h["loop"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_PREDEFINED_VIEW; - Frag_h["uv"] = xrfragment_XRF.T_VECTOR2 | xrfragment_XRF.T_MEDIAFRAG; - Frag_h["namespace"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["SPDX"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["unit"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["description"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - var keyStripped = key.replace(xrfragment_XRF.operators.r,""); - var isPVDynamic = key.length > 0 && !Object.prototype.hasOwnProperty.call(Frag_h,key); - if(isPVDynamic) { - var v = new xrfragment_XRF(key,xrfragment_XRF.PV_EXECUTE | xrfragment_XRF.NAVIGATOR,index); - v.validate(value); - v.flags = xrfragment_XRF.set(xrfragment_XRF.T_DYNAMICKEY,v.flags); - if(!Object.prototype.hasOwnProperty.call(Frag_h,key)) { - v.flags = xrfragment_XRF.set(xrfragment_XRF.CUSTOMFRAG,v.flags); - } - if(value.length == 0) { - v.flags = xrfragment_XRF.set(xrfragment_XRF.T_DYNAMICKEYVALUE,v.flags); - } - store[keyStripped] = v; - return true; - } - var v = new xrfragment_XRF(key,Frag_h[key],index); - if(Object.prototype.hasOwnProperty.call(Frag_h,key)) { - if(!v.validate(value)) { - console.log("src/xrfragment/Parser.hx:67:","⚠ fragment '" + key + "' has incompatible value (" + value + ")"); - return false; - } - store[keyStripped] = v; - if(xrfragment_Parser.debug) { - console.log("src/xrfragment/Parser.hx:71:","✔ " + key + ": " + v.string); - } - } else { - if(typeof(value) == "string") { - v.guessType(v,value); - } - v.flags = xrfragment_XRF.set(xrfragment_XRF.CUSTOMFRAG,v.flags); - store[keyStripped] = v; - } - return true; -}; -xrfragment_Parser.getMetaData = function() { - var meta = { title : ["title","og:title","dc.title"], description : ["aria-description","og:description","dc.description"], author : ["author","dc.creator"], publisher : ["publisher","dc.publisher"], website : ["og:site_name","og:url","dc.publisher"], license : ["SPDX","dc.rights"]}; - return meta; -}; -var xrfragment_URI = $hx_exports["xrfragment"]["URI"] = function() { - this.XRF = { }; - this.hash = { }; - this.fragment = ""; -}; -xrfragment_URI.__name__ = true; -xrfragment_URI.parseFragment = function(url,filter) { - var store = { }; - if(url == null || url.indexOf("#") == -1) { - return store; - } - var fragment = url.split("#"); - var splitArray = fragment[1].split("&"); - var _g = 0; - var _g1 = splitArray.length; - while(_g < _g1) { - var i = _g++; - var splitByEqual = splitArray[i].split("="); - var regexPlus = new EReg("\\+","g"); - var key = splitByEqual[0]; - var value = ""; - if(splitByEqual.length > 1) { - if(xrfragment_XRF.isVector.match(splitByEqual[1])) { - value = splitByEqual[1]; - } else { - var s = regexPlus.split(splitByEqual[1]).join(" "); - value = decodeURIComponent(s.split("+").join(" ")); - } - } - var ok = xrfragment_Parser.parse(key,value,store,i); - } - if(filter != null && filter != 0) { - var _g = 0; - var _g1 = Reflect.fields(store); - while(_g < _g1.length) { - var key = _g1[_g]; - ++_g; - var xrf = store[key]; - if(!xrf.is(filter)) { - Reflect.deleteField(store,key); - } - } - } - return store; -}; -xrfragment_URI.template = function(uri,vars) { - var parts = uri.split("#"); - if(parts.length == 1) { - return uri; - } - var frag = parts[1]; - frag = StringTools.replace(frag,"{","::"); - frag = StringTools.replace(frag,"}","::"); - frag = new haxe_Template(frag).execute(vars); - frag = StringTools.replace(frag,"null",""); - parts[1] = frag; - return parts.join("#"); -}; -xrfragment_URI.parse = function(stringUrl,flags) { - var r = new EReg("^(?:(?![^:@]+:[^:@/]*@)([^:/?#.]+):)?(?://)?((?:(([^:@]*)(?::([^:@]*))?)?@)?([^:/?#]*)(?::(\\d*))?)(((/(?:[^?#](?![^?#/]*\\.[^?#/.]+(?:[?#]|$)))*/?)?([^?#/]*))(?:\\?([^#]*))?(?:#(.*))?)",""); - if(stringUrl.indexOf("://") == -1 && stringUrl.charAt(0) != "/") { - stringUrl = "/" + stringUrl; - } - r.match(stringUrl); - var url = new xrfragment_URI(); - var _g = 0; - var _g1 = xrfragment_URI._parts.length; - while(_g < _g1) { - var i = _g++; - url[xrfragment_URI._parts[i]] = r.matched(i); - } - if(xrfragment_URI.isRelative(url) == true) { - if(url.directory == null && url.host != null) { - url.file = url.host; - } - url.host = ""; - } - url.hash = { }; - if(url.fragment != null && url.fragment.length > 0) { - url.XRF = xrfragment_URI.parseFragment("#" + url.fragment,flags); - var key; - var _g = 0; - var _g1 = Reflect.fields(url.XRF); - while(_g < _g1.length) { - var key = _g1[_g]; - ++_g; - var v = url.XRF[key]; - url.hash[key] = v["string"]; - } - } - xrfragment_URI.computeVars(url); - return url; -}; -xrfragment_URI.computeVars = function(url) { - var r_r = new RegExp("//","g".split("u").join("")); - if(url.directory != null && url.directory.indexOf("//") != -1) { - url.directory = url.directory.replace(r_r,"/"); - } - if(url.path != null && url.path.indexOf("//") != -1) { - url.path = url.path.replace(r_r,"/"); - } - if(url.file != null && url.file.indexOf("//") != -1) { - url.file = url.file.replace(r_r,"/"); - } - url.URN = url.scheme + "://" + url.host; - if(url.port != null) { - url.URN += ":" + url.port; - } - url.URN += url.directory; - if(url.file != null) { - var parts = url.file.split("."); - if(parts.length > 1) { - url.fileExt = parts.pop(); - } - } -}; -xrfragment_URI.toString = function(url) { - var result = ""; - if(url.scheme != null) { - result += url.scheme + "://"; - } - if(url.user != null) { - result += url.user + ":"; - } - if(url.password != null) { - result += url.password + "@"; - } - if(url.host != null) { - result += url.host; - } - if(url.port != null) { - result += ":" + url.port; - } - if(url.directory != null) { - result += url.directory; - } - if(url.file != null) { - result += url.file; - } - if(url.query != null) { - result += "?" + url.query; - } - if(url.fragment != null) { - result += "#" + url.fragment; - } - return result; -}; -xrfragment_URI.appendURI = function(url,appendedURI) { - if(xrfragment_URI.isRelative(url) == true) { - return xrfragment_URI.appendToRelativeURI(url,appendedURI); - } else { - return xrfragment_URI.appendToAbsoluteURI(url,appendedURI); - } -}; -xrfragment_URI.isRelative = function(url) { - return url.scheme == null; -}; -xrfragment_URI.appendToRelativeURI = function(url,appendedURI) { - if(url.directory == null || url.host == null) { - return xrfragment_URI.cloneURI(appendedURI); - } - var resultURI = new xrfragment_URI(); - resultURI.host = url.host; - resultURI.directory = url.directory; - if(appendedURI.host != null) { - resultURI.directory += appendedURI.host; - } - if(appendedURI.directory != null) { - var directory = appendedURI.directory; - if(appendedURI.host == null) { - resultURI.directory += HxOverrides.substr(directory,1,null); - } else { - resultURI.directory += directory; - } - } - if(appendedURI.file != null) { - resultURI.file = appendedURI.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(appendedURI.query != null) { - resultURI.query = appendedURI.query; - } - if(appendedURI.fragment != null) { - resultURI.fragment = appendedURI.fragment; - } - return resultURI; -}; -xrfragment_URI.appendToAbsoluteURI = function(url,appendedURI) { - var resultURI = new xrfragment_URI(); - if(url.scheme != null) { - resultURI.scheme = url.scheme; - } - if(url.host != null) { - resultURI.host = url.host; - } - var directory = ""; - if(url.directory != null) { - directory = url.directory; - } - if(appendedURI.host != null) { - appendedURI.directory += appendedURI.host; - } - if(appendedURI.directory != null) { - directory += appendedURI.directory; - } - resultURI.directory = directory; - if(appendedURI.file != null) { - resultURI.file = appendedURI.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(appendedURI.query != null) { - resultURI.query = appendedURI.query; - } - if(appendedURI.fragment != null) { - resultURI.fragment = appendedURI.fragment; - } - return resultURI; -}; -xrfragment_URI.toAbsolute = function(url,newUrl) { - var newURI = xrfragment_URI.parse(newUrl,0); - var resultURI = new xrfragment_URI(); - resultURI.port = url.port; - resultURI.source = newUrl; - if(newURI.scheme != null) { - resultURI.scheme = newURI.scheme; - } else { - resultURI.scheme = url.scheme; - } - if(newURI.host != null && newURI.host.length > 0) { - resultURI.host = newURI.host; - resultURI.port = null; - resultURI.fragment = null; - resultURI.hash = { }; - resultURI.XRF = { }; - if(newURI.port != null) { - resultURI.port = newURI.port; - } - } else { - resultURI.host = url.host; - } - var directory = ""; - if(url.directory != null) { - directory = url.directory; - } - if(newURI.directory != null) { - if(newUrl.charAt(0) != "/" && newUrl.indexOf("://") == -1) { - var stripRelative_r = new RegExp("\\./.*","".split("u").join("")); - directory = directory.replace(stripRelative_r,""); - directory += newURI.directory; - } else { - directory = newURI.directory; - } - } - resultURI.directory = directory; - if(newURI.file != null) { - resultURI.file = newURI.file; - } else { - resultURI.file = url.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(newURI.query != null) { - resultURI.query = newURI.query; - } - if(newURI.fragment != null) { - resultURI.fragment = newURI.fragment; - } - resultURI.hash = newURI.hash; - resultURI.XRF = newURI.XRF; - xrfragment_URI.computeVars(resultURI); - return resultURI; -}; -xrfragment_URI.cloneURI = function(url) { - var clonedURI = new xrfragment_URI(); - clonedURI.url = url.url; - clonedURI.source = url.source; - clonedURI.scheme = url.scheme; - clonedURI.authority = url.authority; - clonedURI.userInfo = url.userInfo; - clonedURI.password = url.password; - clonedURI.host = url.host; - clonedURI.port = url.port; - clonedURI.relative = url.relative; - clonedURI.path = url.path; - clonedURI.directory = url.directory; - clonedURI.file = url.file; - clonedURI.query = url.query; - clonedURI.fragment = url.fragment; - return clonedURI; -}; -var xrfragment_XRF = $hx_exports["xrfragment"]["XRF"] = function(_fragment,_flags,_index) { - this.floats = []; - this.shift = []; - this.fragment = _fragment; - this.flags = _flags; - this.index = _index; -}; -xrfragment_XRF.__name__ = true; -xrfragment_XRF.set = function(flag,flags) { - return flags | flag; -}; -xrfragment_XRF.unset = function(flag,flags) { - return flags & ~flag; -}; -xrfragment_XRF.prototype = { - is: function(flag) { - var v = this.flags; - if(!(typeof(v) == "number" && ((v | 0) === v))) { - this.flags = 0; - } - return (this.flags & flag) != 0; - } - ,validate: function(value) { - this.guessType(this,value); - var ok = true; - if(value.length == 0 && !this.is(xrfragment_XRF.T_PREDEFINED_VIEW)) { - ok = false; - } - if(!this.is(xrfragment_XRF.T_FLOAT) && this.is(xrfragment_XRF.T_VECTOR2) && !(typeof(this.x) == "number" && typeof(this.y) == "number")) { - ok = false; - } - if(!(this.is(xrfragment_XRF.T_VECTOR2) || this.is(xrfragment_XRF.T_STRING)) && this.is(xrfragment_XRF.T_VECTOR3) && !(typeof(this.x) == "number" && typeof(this.y) == "number" && typeof(this.z) == "number")) { - ok = false; - } - return ok; - } - ,guessType: function(v,str) { - v.string = str; - if(xrfragment_XRF.isReset.match(v.fragment)) { - v.reset = true; - } - if(v.fragment == "loop") { - v.loop = true; - } - if(typeof(str) != "string") { - return; - } - if(str.length > 0) { - if(xrfragment_XRF.isXRFScheme.match(str)) { - v.xrfScheme = true; - str = str.replace(xrfragment_XRF.isXRFScheme.r,""); - v.string = str; - } - if(str.split(",").length > 1) { - var xyzn = str.split(","); - if(xyzn.length > 0) { - v.x = parseFloat(xyzn[0]); - } - if(xyzn.length > 1) { - v.y = parseFloat(xyzn[1]); - } - if(xyzn.length > 2) { - v.z = parseFloat(xyzn[2]); - } - var _g = 0; - var _g1 = xyzn.length; - while(_g < _g1) { - var i = _g++; - v.shift.push(xrfragment_XRF.isShift.match(xyzn[i])); - v.floats.push(parseFloat(xyzn[i].replace(xrfragment_XRF.isShift.r,""))); - } - } - if(xrfragment_XRF.isColor.match(str)) { - v.color = str; - } - if(xrfragment_XRF.isFloat.match(str)) { - v.x = parseFloat(str); - v.float = v.x; - } - if(xrfragment_XRF.isInt.match(str)) { - v.int = Std.parseInt(str); - v.x = v.int; - v.floats.push(v.x); - } - v.filter = new xrfragment_Filter(v.fragment + "=" + v.string); - } else { - v.filter = new xrfragment_Filter(v.fragment); - } - } -}; -function $getIterator(o) { if( o instanceof Array ) return new haxe_iterators_ArrayIterator(o); else return o.iterator(); } -function $bind(o,m) { if( m == null ) return null; if( m.__id__ == null ) m.__id__ = $global.$haxeUID++; var f; if( o.hx__closures__ == null ) o.hx__closures__ = {}; else f = o.hx__closures__[m.__id__]; if( f == null ) { f = m.bind(o); o.hx__closures__[m.__id__] = f; } return f; } -$global.$haxeUID |= 0; -if(typeof(performance) != "undefined" ? typeof(performance.now) == "function" : false) { - HxOverrides.now = performance.now.bind(performance); -} -if( String.fromCodePoint == null ) String.fromCodePoint = function(c) { return c < 0x10000 ? String.fromCharCode(c) : String.fromCharCode((c>>10)+0xD7C0)+String.fromCharCode((c&0x3FF)+0xDC00); } -String.__name__ = true; -Array.__name__ = true; -js_Boot.__toStr = ({ }).toString; -haxe_Template.splitter = new EReg("(::[A-Za-z0-9_ ()&|!+=/><*.\"-]+::|\\$\\$([A-Za-z0-9_-]+)\\()",""); -haxe_Template.expr_splitter = new EReg("(\\(|\\)|[ \r\n\t]*\"[^\"]*\"[ \r\n\t]*|[!+=/><*.&|-]+)",""); -haxe_Template.expr_trim = new EReg("^[ ]*([^ ]+)[ ]*$",""); -haxe_Template.expr_int = new EReg("^[0-9]+$",""); -haxe_Template.expr_float = new EReg("^([+-]?)(?=\\d|,\\d)\\d*(,\\d*)?([Ee]([+-]?\\d+))?$",""); -haxe_Template.globals = { }; -haxe_Template.hxKeepArrayIterator = new haxe_iterators_ArrayIterator([]); -xrfragment_Parser.error = ""; -xrfragment_Parser.debug = false; -xrfragment_URI.__meta__ = { statics : { template : { keep : null}}}; -xrfragment_URI._parts = ["source","scheme","authority","userInfo","user","password","host","port","relative","path","directory","file","query","fragment"]; -xrfragment_XRF.IMMUTABLE = 1; -xrfragment_XRF.PROP_BIND = 2; -xrfragment_XRF.QUERY_OPERATOR = 4; -xrfragment_XRF.PROMPT = 8; -xrfragment_XRF.CUSTOMFRAG = 16; -xrfragment_XRF.NAVIGATOR = 32; -xrfragment_XRF.METADATA = 64; -xrfragment_XRF.PV_OVERRIDE = 128; -xrfragment_XRF.PV_EXECUTE = 256; -xrfragment_XRF.T_COLOR = 8192; -xrfragment_XRF.T_INT = 16384; -xrfragment_XRF.T_FLOAT = 32768; -xrfragment_XRF.T_VECTOR2 = 65536; -xrfragment_XRF.T_VECTOR3 = 131072; -xrfragment_XRF.T_URL = 262144; -xrfragment_XRF.T_PREDEFINED_VIEW = 524288; -xrfragment_XRF.T_STRING = 1048576; -xrfragment_XRF.T_MEDIAFRAG = 2097152; -xrfragment_XRF.T_DYNAMICKEY = 4194304; -xrfragment_XRF.T_DYNAMICKEYVALUE = 8388608; -xrfragment_XRF.isColor = new EReg("^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$",""); -xrfragment_XRF.isInt = new EReg("^[-0-9]+$",""); -xrfragment_XRF.isFloat = new EReg("^[-0-9]+\\.[0-9]+$",""); -xrfragment_XRF.isVector = new EReg("([,]+|\\w)",""); -xrfragment_XRF.isUrl = new EReg("(://)?\\..*",""); -xrfragment_XRF.isUrlOrPretypedView = new EReg("(^#|://)?\\..*",""); -xrfragment_XRF.isString = new EReg(".*",""); -xrfragment_XRF.operators = new EReg("(^[-]|^[!]|[\\*]$)","g"); -xrfragment_XRF.isProp = new EReg("^.*=[><=]?",""); -xrfragment_XRF.isExclude = new EReg("^-",""); -xrfragment_XRF.isDeep = new EReg("\\*",""); -xrfragment_XRF.isNumber = new EReg("^[0-9\\.]+$",""); -xrfragment_XRF.isMediaFrag = new EReg("^([0-9\\.,\\*+-]+)$",""); -xrfragment_XRF.isReset = new EReg("^!",""); -xrfragment_XRF.isShift = new EReg("^(\\+|--)",""); -xrfragment_XRF.isXRFScheme = new EReg("^xrf://",""); -})(typeof window != "undefined" ? window : typeof global != "undefined" ? global : typeof self != "undefined" ? self : this); -var xrfragment = $hx_exports["xrfragment"]; -export default xrfragment; -// Generated by Haxe 4.3.3 -var $hx_exports = typeof exports != "undefined" ? exports : typeof window != "undefined" ? window : typeof self != "undefined" ? self : this; -(function ($global) { "use strict"; -$hx_exports["xrfragment"] = $hx_exports["xrfragment"] || {}; -var $estr = function() { return js_Boot.__string_rec(this,''); },$hxEnums = $hxEnums || {},$_; -function $extend(from, fields) { - var proto = Object.create(from); - for (var name in fields) proto[name] = fields[name]; - if( fields.toString !== Object.prototype.toString ) proto.toString = fields.toString; - return proto; -} -var EReg = function(r,opt) { - this.r = new RegExp(r,opt.split("u").join("")); -}; -EReg.__name__ = true; -EReg.prototype = { - match: function(s) { - if(this.r.global) { - this.r.lastIndex = 0; - } - this.r.m = this.r.exec(s); - this.r.s = s; - return this.r.m != null; - } - ,matched: function(n) { - if(this.r.m != null && n >= 0 && n < this.r.m.length) { - return this.r.m[n]; - } else { - throw haxe_Exception.thrown("EReg::matched"); - } - } - ,matchedRight: function() { - if(this.r.m == null) { - throw haxe_Exception.thrown("No string matched"); - } - var sz = this.r.m.index + this.r.m[0].length; - return HxOverrides.substr(this.r.s,sz,this.r.s.length - sz); - } - ,matchedPos: function() { - if(this.r.m == null) { - throw haxe_Exception.thrown("No string matched"); - } - return { pos : this.r.m.index, len : this.r.m[0].length}; - } - ,split: function(s) { - var d = "#__delim__#"; - return s.replace(this.r,d).split(d); - } -}; -var HxOverrides = function() { }; -HxOverrides.__name__ = true; -HxOverrides.cca = function(s,index) { - var x = s.charCodeAt(index); - if(x != x) { - return undefined; - } - return x; -}; -HxOverrides.substr = function(s,pos,len) { - if(len == null) { - len = s.length; - } else if(len < 0) { - if(pos == 0) { - len = s.length + len; - } else { - return ""; - } - } - return s.substr(pos,len); -}; -HxOverrides.now = function() { - return Date.now(); -}; -Math.__name__ = true; -var Reflect = function() { }; -Reflect.__name__ = true; -Reflect.field = function(o,field) { - try { - return o[field]; - } catch( _g ) { - return null; - } -}; -Reflect.getProperty = function(o,field) { - var tmp; - if(o == null) { - return null; - } else { - var tmp1; - if(o.__properties__) { - tmp = o.__properties__["get_" + field]; - tmp1 = tmp; - } else { - tmp1 = false; - } - if(tmp1) { - return o[tmp](); - } else { - return o[field]; - } - } -}; -Reflect.fields = function(o) { - var a = []; - if(o != null) { - var hasOwnProperty = Object.prototype.hasOwnProperty; - for( var f in o ) { - if(f != "__id__" && f != "hx__closures__" && hasOwnProperty.call(o,f)) { - a.push(f); - } - } - } - return a; -}; -Reflect.isObject = function(v) { - if(v == null) { - return false; - } - var t = typeof(v); - if(!(t == "string" || t == "object" && v.__enum__ == null)) { - if(t == "function") { - return (v.__name__ || v.__ename__) != null; - } else { - return false; - } - } else { - return true; - } -}; -Reflect.deleteField = function(o,field) { - if(!Object.prototype.hasOwnProperty.call(o,field)) { - return false; - } - delete(o[field]); - return true; -}; -Reflect.copy = function(o) { - if(o == null) { - return null; - } - var o2 = { }; - var _g = 0; - var _g1 = Reflect.fields(o); - while(_g < _g1.length) { - var f = _g1[_g]; - ++_g; - o2[f] = Reflect.field(o,f); - } - return o2; -}; -var Std = function() { }; -Std.__name__ = true; -Std.string = function(s) { - return js_Boot.__string_rec(s,""); -}; -Std.parseInt = function(x) { - var v = parseInt(x); - if(isNaN(v)) { - return null; - } - return v; -}; -var StringBuf = function() { - this.b = ""; -}; -StringBuf.__name__ = true; -var StringTools = function() { }; -StringTools.__name__ = true; -StringTools.isSpace = function(s,pos) { - var c = HxOverrides.cca(s,pos); - if(!(c > 8 && c < 14)) { - return c == 32; - } else { - return true; - } -}; -StringTools.ltrim = function(s) { - var l = s.length; - var r = 0; - while(r < l && StringTools.isSpace(s,r)) ++r; - if(r > 0) { - return HxOverrides.substr(s,r,l - r); - } else { - return s; - } -}; -StringTools.rtrim = function(s) { - var l = s.length; - var r = 0; - while(r < l && StringTools.isSpace(s,l - r - 1)) ++r; - if(r > 0) { - return HxOverrides.substr(s,0,l - r); - } else { - return s; - } -}; -StringTools.trim = function(s) { - return StringTools.ltrim(StringTools.rtrim(s)); -}; -StringTools.replace = function(s,sub,by) { - return s.split(sub).join(by); -}; -var haxe_Exception = function(message,previous,native) { - Error.call(this,message); - this.message = message; - this.__previousException = previous; - this.__nativeException = native != null ? native : this; -}; -haxe_Exception.__name__ = true; -haxe_Exception.caught = function(value) { - if(((value) instanceof haxe_Exception)) { - return value; - } else if(((value) instanceof Error)) { - return new haxe_Exception(value.message,null,value); - } else { - return new haxe_ValueException(value,null,value); - } -}; -haxe_Exception.thrown = function(value) { - if(((value) instanceof haxe_Exception)) { - return value.get_native(); - } else if(((value) instanceof Error)) { - return value; - } else { - var e = new haxe_ValueException(value); - return e; - } -}; -haxe_Exception.__super__ = Error; -haxe_Exception.prototype = $extend(Error.prototype,{ - unwrap: function() { - return this.__nativeException; - } - ,get_native: function() { - return this.__nativeException; - } - ,__properties__: {get_native:"get_native"} -}); -var haxe__$Template_TemplateExpr = $hxEnums["haxe._Template.TemplateExpr"] = { __ename__:true,__constructs__:null - ,OpVar: ($_=function(v) { return {_hx_index:0,v:v,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpVar",$_.__params__ = ["v"],$_) - ,OpExpr: ($_=function(expr) { return {_hx_index:1,expr:expr,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpExpr",$_.__params__ = ["expr"],$_) - ,OpIf: ($_=function(expr,eif,eelse) { return {_hx_index:2,expr:expr,eif:eif,eelse:eelse,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpIf",$_.__params__ = ["expr","eif","eelse"],$_) - ,OpStr: ($_=function(str) { return {_hx_index:3,str:str,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpStr",$_.__params__ = ["str"],$_) - ,OpBlock: ($_=function(l) { return {_hx_index:4,l:l,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpBlock",$_.__params__ = ["l"],$_) - ,OpForeach: ($_=function(expr,loop) { return {_hx_index:5,expr:expr,loop:loop,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpForeach",$_.__params__ = ["expr","loop"],$_) - ,OpMacro: ($_=function(name,params) { return {_hx_index:6,name:name,params:params,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpMacro",$_.__params__ = ["name","params"],$_) -}; -haxe__$Template_TemplateExpr.__constructs__ = [haxe__$Template_TemplateExpr.OpVar,haxe__$Template_TemplateExpr.OpExpr,haxe__$Template_TemplateExpr.OpIf,haxe__$Template_TemplateExpr.OpStr,haxe__$Template_TemplateExpr.OpBlock,haxe__$Template_TemplateExpr.OpForeach,haxe__$Template_TemplateExpr.OpMacro]; -var haxe_iterators_ArrayIterator = function(array) { - this.current = 0; - this.array = array; -}; -haxe_iterators_ArrayIterator.__name__ = true; -haxe_iterators_ArrayIterator.prototype = { - hasNext: function() { - return this.current < this.array.length; - } - ,next: function() { - return this.array[this.current++]; - } -}; -var haxe_Template = function(str) { - var tokens = this.parseTokens(str); - this.expr = this.parseBlock(tokens); - if(!tokens.isEmpty()) { - throw haxe_Exception.thrown("Unexpected '" + Std.string(tokens.first().s) + "'"); - } -}; -haxe_Template.__name__ = true; -haxe_Template.prototype = { - execute: function(context,macros) { - this.macros = macros == null ? { } : macros; - this.context = context; - this.stack = new haxe_ds_List(); - this.buf = new StringBuf(); - this.run(this.expr); - return this.buf.b; - } - ,resolve: function(v) { - if(v == "__current__") { - return this.context; - } - if(Reflect.isObject(this.context)) { - var value = Reflect.getProperty(this.context,v); - if(value != null || Object.prototype.hasOwnProperty.call(this.context,v)) { - return value; - } - } - var _g_head = this.stack.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var ctx = val; - var value = Reflect.getProperty(ctx,v); - if(value != null || Object.prototype.hasOwnProperty.call(ctx,v)) { - return value; - } - } - return Reflect.field(haxe_Template.globals,v); - } - ,parseTokens: function(data) { - var tokens = new haxe_ds_List(); - while(haxe_Template.splitter.match(data)) { - var p = haxe_Template.splitter.matchedPos(); - if(p.pos > 0) { - tokens.add({ p : HxOverrides.substr(data,0,p.pos), s : true, l : null}); - } - if(HxOverrides.cca(data,p.pos) == 58) { - tokens.add({ p : HxOverrides.substr(data,p.pos + 2,p.len - 4), s : false, l : null}); - data = haxe_Template.splitter.matchedRight(); - continue; - } - var parp = p.pos + p.len; - var npar = 1; - var params = []; - var part = ""; - while(true) { - var c = HxOverrides.cca(data,parp); - ++parp; - if(c == 40) { - ++npar; - } else if(c == 41) { - --npar; - if(npar <= 0) { - break; - } - } else if(c == null) { - throw haxe_Exception.thrown("Unclosed macro parenthesis"); - } - if(c == 44 && npar == 1) { - params.push(part); - part = ""; - } else { - part += String.fromCodePoint(c); - } - } - params.push(part); - tokens.add({ p : haxe_Template.splitter.matched(2), s : false, l : params}); - data = HxOverrides.substr(data,parp,data.length - parp); - } - if(data.length > 0) { - tokens.add({ p : data, s : true, l : null}); - } - return tokens; - } - ,parseBlock: function(tokens) { - var l = new haxe_ds_List(); - while(true) { - var t = tokens.first(); - if(t == null) { - break; - } - if(!t.s && (t.p == "end" || t.p == "else" || HxOverrides.substr(t.p,0,7) == "elseif ")) { - break; - } - l.add(this.parse(tokens)); - } - if(l.length == 1) { - return l.first(); - } - return haxe__$Template_TemplateExpr.OpBlock(l); - } - ,parse: function(tokens) { - var t = tokens.pop(); - var p = t.p; - if(t.s) { - return haxe__$Template_TemplateExpr.OpStr(p); - } - if(t.l != null) { - var pe = new haxe_ds_List(); - var _g = 0; - var _g1 = t.l; - while(_g < _g1.length) { - var p1 = _g1[_g]; - ++_g; - pe.add(this.parseBlock(this.parseTokens(p1))); - } - return haxe__$Template_TemplateExpr.OpMacro(p,pe); - } - var kwdEnd = function(kwd) { - var pos = -1; - var length = kwd.length; - if(HxOverrides.substr(p,0,length) == kwd) { - pos = length; - var _g_offset = 0; - var _g_s = HxOverrides.substr(p,length,null); - while(_g_offset < _g_s.length) { - var c = _g_s.charCodeAt(_g_offset++); - if(c == 32) { - ++pos; - } else { - break; - } - } - } - return pos; - }; - var pos = kwdEnd("if"); - if(pos > 0) { - p = HxOverrides.substr(p,pos,p.length - pos); - var e = this.parseExpr(p); - var eif = this.parseBlock(tokens); - var t = tokens.first(); - var eelse; - if(t == null) { - throw haxe_Exception.thrown("Unclosed 'if'"); - } - if(t.p == "end") { - tokens.pop(); - eelse = null; - } else if(t.p == "else") { - tokens.pop(); - eelse = this.parseBlock(tokens); - t = tokens.pop(); - if(t == null || t.p != "end") { - throw haxe_Exception.thrown("Unclosed 'else'"); - } - } else { - t.p = HxOverrides.substr(t.p,4,t.p.length - 4); - eelse = this.parse(tokens); - } - return haxe__$Template_TemplateExpr.OpIf(e,eif,eelse); - } - var pos = kwdEnd("foreach"); - if(pos >= 0) { - p = HxOverrides.substr(p,pos,p.length - pos); - var e = this.parseExpr(p); - var efor = this.parseBlock(tokens); - var t = tokens.pop(); - if(t == null || t.p != "end") { - throw haxe_Exception.thrown("Unclosed 'foreach'"); - } - return haxe__$Template_TemplateExpr.OpForeach(e,efor); - } - if(haxe_Template.expr_splitter.match(p)) { - return haxe__$Template_TemplateExpr.OpExpr(this.parseExpr(p)); - } - return haxe__$Template_TemplateExpr.OpVar(p); - } - ,parseExpr: function(data) { - var l = new haxe_ds_List(); - var expr = data; - while(haxe_Template.expr_splitter.match(data)) { - var p = haxe_Template.expr_splitter.matchedPos(); - var k = p.pos + p.len; - if(p.pos != 0) { - l.add({ p : HxOverrides.substr(data,0,p.pos), s : true}); - } - var p1 = haxe_Template.expr_splitter.matched(0); - l.add({ p : p1, s : p1.indexOf("\"") >= 0}); - data = haxe_Template.expr_splitter.matchedRight(); - } - if(data.length != 0) { - var _g_offset = 0; - var _g_s = data; - while(_g_offset < _g_s.length) { - var _g_key = _g_offset; - var _g_value = _g_s.charCodeAt(_g_offset++); - var i = _g_key; - var c = _g_value; - if(c != 32) { - l.add({ p : HxOverrides.substr(data,i,null), s : true}); - break; - } - } - } - var e; - try { - e = this.makeExpr(l); - if(!l.isEmpty()) { - throw haxe_Exception.thrown(l.first().p); - } - } catch( _g ) { - var _g1 = haxe_Exception.caught(_g).unwrap(); - if(typeof(_g1) == "string") { - var s = _g1; - throw haxe_Exception.thrown("Unexpected '" + s + "' in " + expr); - } else { - throw _g; - } - } - return function() { - try { - return e(); - } catch( _g ) { - var exc = haxe_Exception.caught(_g).unwrap(); - throw haxe_Exception.thrown("Error : " + Std.string(exc) + " in " + expr); - } - }; - } - ,makeConst: function(v) { - haxe_Template.expr_trim.match(v); - v = haxe_Template.expr_trim.matched(1); - if(HxOverrides.cca(v,0) == 34) { - var str = HxOverrides.substr(v,1,v.length - 2); - return function() { - return str; - }; - } - if(haxe_Template.expr_int.match(v)) { - var i = Std.parseInt(v); - return function() { - return i; - }; - } - if(haxe_Template.expr_float.match(v)) { - var f = parseFloat(v); - return function() { - return f; - }; - } - var me = this; - return function() { - return me.resolve(v); - }; - } - ,makePath: function(e,l) { - var p = l.first(); - if(p == null || p.p != ".") { - return e; - } - l.pop(); - var field = l.pop(); - if(field == null || !field.s) { - throw haxe_Exception.thrown(field.p); - } - var f = field.p; - haxe_Template.expr_trim.match(f); - f = haxe_Template.expr_trim.matched(1); - return this.makePath(function() { - return Reflect.field(e(),f); - },l); - } - ,makeExpr: function(l) { - return this.makePath(this.makeExpr2(l),l); - } - ,skipSpaces: function(l) { - var p = l.first(); - while(p != null) { - var _g_offset = 0; - var _g_s = p.p; - while(_g_offset < _g_s.length) { - var c = _g_s.charCodeAt(_g_offset++); - if(c != 32) { - return; - } - } - l.pop(); - p = l.first(); - } - } - ,makeExpr2: function(l) { - this.skipSpaces(l); - var p = l.pop(); - this.skipSpaces(l); - if(p == null) { - throw haxe_Exception.thrown(""); - } - if(p.s) { - return this.makeConst(p.p); - } - switch(p.p) { - case "!": - var e = this.makeExpr(l); - return function() { - var v = e(); - if(v != null) { - return v == false; - } else { - return true; - } - }; - case "(": - this.skipSpaces(l); - var e1 = this.makeExpr(l); - this.skipSpaces(l); - var p1 = l.pop(); - if(p1 == null || p1.s) { - throw haxe_Exception.thrown(p1); - } - if(p1.p == ")") { - return e1; - } - this.skipSpaces(l); - var e2 = this.makeExpr(l); - this.skipSpaces(l); - var p2 = l.pop(); - this.skipSpaces(l); - if(p2 == null || p2.p != ")") { - throw haxe_Exception.thrown(p2); - } - switch(p1.p) { - case "!=": - return function() { - return e1() != e2(); - }; - case "&&": - return function() { - return e1() && e2(); - }; - case "*": - return function() { - return e1() * e2(); - }; - case "+": - return function() { - return e1() + e2(); - }; - case "-": - return function() { - return e1() - e2(); - }; - case "/": - return function() { - return e1() / e2(); - }; - case "<": - return function() { - return e1() < e2(); - }; - case "<=": - return function() { - return e1() <= e2(); - }; - case "==": - return function() { - return e1() == e2(); - }; - case ">": - return function() { - return e1() > e2(); - }; - case ">=": - return function() { - return e1() >= e2(); - }; - case "||": - return function() { - return e1() || e2(); - }; - default: - throw haxe_Exception.thrown("Unknown operation " + p1.p); - } - break; - case "-": - var e3 = this.makeExpr(l); - return function() { - return -e3(); - }; - } - throw haxe_Exception.thrown(p.p); - } - ,run: function(e) { - switch(e._hx_index) { - case 0: - var v = e.v; - var _this = this.buf; - var x = Std.string(this.resolve(v)); - _this.b += Std.string(x); - break; - case 1: - var e1 = e.expr; - var _this = this.buf; - var x = Std.string(e1()); - _this.b += Std.string(x); - break; - case 2: - var e1 = e.expr; - var eif = e.eif; - var eelse = e.eelse; - var v = e1(); - if(v == null || v == false) { - if(eelse != null) { - this.run(eelse); - } - } else { - this.run(eif); - } - break; - case 3: - var str = e.str; - this.buf.b += str == null ? "null" : "" + str; - break; - case 4: - var l = e.l; - var _g_head = l.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var e1 = val; - this.run(e1); - } - break; - case 5: - var e1 = e.expr; - var loop = e.loop; - var v = e1(); - try { - var x = $getIterator(v); - if(x.hasNext == null) { - throw haxe_Exception.thrown(null); - } - v = x; - } catch( _g ) { - try { - if(v.hasNext == null) { - throw haxe_Exception.thrown(null); - } - } catch( _g1 ) { - throw haxe_Exception.thrown("Cannot iter on " + Std.string(v)); - } - } - this.stack.push(this.context); - var v1 = v; - var ctx = v1; - while(ctx.hasNext()) { - var ctx1 = ctx.next(); - this.context = ctx1; - this.run(loop); - } - this.context = this.stack.pop(); - break; - case 6: - var m = e.name; - var params = e.params; - var v = Reflect.field(this.macros,m); - var pl = []; - var old = this.buf; - pl.push($bind(this,this.resolve)); - var _g_head = params.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var p = val; - if(p._hx_index == 0) { - var v1 = p.v; - pl.push(this.resolve(v1)); - } else { - this.buf = new StringBuf(); - this.run(p); - pl.push(this.buf.b); - } - } - this.buf = old; - try { - var _this = this.buf; - var x = Std.string(v.apply(this.macros,pl)); - _this.b += Std.string(x); - } catch( _g ) { - var e = haxe_Exception.caught(_g).unwrap(); - var plstr; - try { - plstr = pl.join(","); - } catch( _g1 ) { - plstr = "???"; - } - var msg = "Macro call " + m + "(" + plstr + ") failed (" + Std.string(e) + ")"; - throw haxe_Exception.thrown(msg); - } - break; - } - } -}; -var haxe_ValueException = function(value,previous,native) { - haxe_Exception.call(this,String(value),previous,native); - this.value = value; -}; -haxe_ValueException.__name__ = true; -haxe_ValueException.__super__ = haxe_Exception; -haxe_ValueException.prototype = $extend(haxe_Exception.prototype,{ - unwrap: function() { - return this.value; - } -}); -var haxe_ds_List = function() { - this.length = 0; -}; -haxe_ds_List.__name__ = true; -haxe_ds_List.prototype = { - add: function(item) { - var x = new haxe_ds__$List_ListNode(item,null); - if(this.h == null) { - this.h = x; - } else { - this.q.next = x; - } - this.q = x; - this.length++; - } - ,push: function(item) { - var x = new haxe_ds__$List_ListNode(item,this.h); - this.h = x; - if(this.q == null) { - this.q = x; - } - this.length++; - } - ,first: function() { - if(this.h == null) { - return null; - } else { - return this.h.item; - } - } - ,pop: function() { - if(this.h == null) { - return null; - } - var x = this.h.item; - this.h = this.h.next; - if(this.h == null) { - this.q = null; - } - this.length--; - return x; - } - ,isEmpty: function() { - return this.h == null; - } - ,toString: function() { - var s_b = ""; - var first = true; - var l = this.h; - s_b += "{"; - while(l != null) { - if(first) { - first = false; - } else { - s_b += ", "; - } - s_b += Std.string(Std.string(l.item)); - l = l.next; - } - s_b += "}"; - return s_b; - } -}; -var haxe_ds__$List_ListNode = function(item,next) { - this.item = item; - this.next = next; -}; -haxe_ds__$List_ListNode.__name__ = true; -var js_Boot = function() { }; -js_Boot.__name__ = true; -js_Boot.__string_rec = function(o,s) { - if(o == null) { - return "null"; - } - if(s.length >= 5) { - return "<...>"; - } - var t = typeof(o); - if(t == "function" && (o.__name__ || o.__ename__)) { - t = "object"; - } - switch(t) { - case "function": - return ""; - case "object": - if(o.__enum__) { - var e = $hxEnums[o.__enum__]; - var con = e.__constructs__[o._hx_index]; - var n = con._hx_name; - if(con.__params__) { - s = s + "\t"; - return n + "(" + ((function($this) { - var $r; - var _g = []; - { - var _g1 = 0; - var _g2 = con.__params__; - while(true) { - if(!(_g1 < _g2.length)) { - break; - } - var p = _g2[_g1]; - _g1 = _g1 + 1; - _g.push(js_Boot.__string_rec(o[p],s)); - } - } - $r = _g; - return $r; - }(this))).join(",") + ")"; - } else { - return n; - } - } - if(((o) instanceof Array)) { - var str = "["; - s += "\t"; - var _g = 0; - var _g1 = o.length; - while(_g < _g1) { - var i = _g++; - str += (i > 0 ? "," : "") + js_Boot.__string_rec(o[i],s); - } - str += "]"; - return str; - } - var tostr; - try { - tostr = o.toString; - } catch( _g ) { - return "???"; - } - if(tostr != null && tostr != Object.toString && typeof(tostr) == "function") { - var s2 = o.toString(); - if(s2 != "[object Object]") { - return s2; - } - } - var str = "{\n"; - s += "\t"; - var hasp = o.hasOwnProperty != null; - var k = null; - for( k in o ) { - if(hasp && !o.hasOwnProperty(k)) { - continue; - } - if(k == "prototype" || k == "__class__" || k == "__super__" || k == "__interfaces__" || k == "__properties__") { - continue; - } - if(str.length != 2) { - str += ", \n"; - } - str += s + k + " : " + js_Boot.__string_rec(o[k],s); - } - s = s.substring(1); - str += "\n" + s + "}"; - return str; - case "string": - return o; - default: - return String(o); - } -}; -var xrfragment_Filter = $hx_exports["xrfragment"]["Filter"] = function(str) { - this.q = { }; - this.str = ""; - if(str != null) { - this.parse(str); - } -}; -xrfragment_Filter.__name__ = true; -xrfragment_Filter.prototype = { - toObject: function() { - return Reflect.copy(this.q); - } - ,get: function() { - return Reflect.copy(this.q); - } - ,parse: function(str) { - var token = str.split(" "); - var q = { }; - var process = function(str,prefix) { - if(prefix == null) { - prefix = ""; - } - str = StringTools.trim(str); - var k = str.split("=")[0]; - var v = str.split("=")[1]; - var filter = { }; - if(q[prefix + k]) { - filter = q[prefix + k]; - } - if(xrfragment_XRF.isProp.match(str)) { - var oper = ""; - if(str.indexOf(">") != -1) { - oper = ">"; - } - if(str.indexOf("<") != -1) { - oper = "<"; - } - if(xrfragment_XRF.isExclude.match(k)) { - k = HxOverrides.substr(k,1,null); - } - v = HxOverrides.substr(v,oper.length,null); - if(oper.length == 0) { - oper = "="; - } - var rule = { }; - if(xrfragment_XRF.isNumber.match(v)) { - rule[oper] = parseFloat(v); - } else { - rule[oper] = v; - } - q["expr"] = rule; - } - var value = xrfragment_XRF.isDeep.match(str) ? k.split("*").length - 1 : 0; - q["deep"] = value; - var value = xrfragment_XRF.isExclude.match(str) ? false : true; - q["show"] = value; - var value = k.replace(xrfragment_XRF.operators.r,""); - q["key"] = value; - q["value"] = v; - }; - var _g = 0; - var _g1 = token.length; - while(_g < _g1) { - var i = _g++; - process(token[i]); - } - return this.q = q; - } - ,test: function(obj) { - var qualify = false; - var _g = 0; - var _g1 = Reflect.fields(obj); - while(_g < _g1.length) { - var k = _g1[_g]; - ++_g; - var v = Std.string(Reflect.field(obj,k)); - if(this.testProperty(k,v)) { - qualify = true; - } - } - var _g = 0; - var _g1 = Reflect.fields(obj); - while(_g < _g1.length) { - var k = _g1[_g]; - ++_g; - var v = Std.string(Reflect.field(obj,k)); - if(this.testProperty(k,v,true)) { - qualify = false; - } - } - return qualify; - } - ,testProperty: function(property,value,exclude) { - var conds = 0; - var fails = 0; - var qualify = 0; - var testprop = function(expr) { - conds += 1; - fails += expr ? 0 : 1; - return expr; - }; - if(this.q[value] != null) { - var v = this.q[value]; - if(v[property] != null) { - return v[property]; - } - } - if(Reflect.field(this.q,"expr")) { - var f = Reflect.field(this.q,"expr"); - if(!Reflect.field(this.q,"show")) { - if(Reflect.field(f,"!=") != null && testprop((value == null ? "null" : "" + value) == Std.string(Reflect.field(f,"!="))) && exclude) { - ++qualify; - } - } else { - if(Reflect.field(f,"*") != null && testprop(parseFloat(value) != null)) { - ++qualify; - } - if(Reflect.field(f,">") != null && testprop(parseFloat(value) >= parseFloat(Reflect.field(f,">")))) { - ++qualify; - } - if(Reflect.field(f,"<") != null && testprop(parseFloat(value) <= parseFloat(Reflect.field(f,"<")))) { - ++qualify; - } - if(Reflect.field(f,"=") != null && (testprop(value == Reflect.field(f,"=")) || testprop(parseFloat(value) == parseFloat(Reflect.field(f,"="))))) { - ++qualify; - } - } - } - return qualify > 0; - } -}; -var xrfragment_Parser = $hx_exports["xrfragment"]["Parser"] = function() { }; -xrfragment_Parser.__name__ = true; -xrfragment_Parser.parse = function(key,value,store,index) { - var Frag_h = Object.create(null); - Frag_h["#"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_PREDEFINED_VIEW | xrfragment_XRF.PV_EXECUTE; - Frag_h["src"] = xrfragment_XRF.T_URL; - Frag_h["href"] = xrfragment_XRF.T_URL | xrfragment_XRF.T_PREDEFINED_VIEW; - Frag_h["tag"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["pos"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_VECTOR3 | xrfragment_XRF.T_STRING | xrfragment_XRF.METADATA | xrfragment_XRF.NAVIGATOR; - Frag_h["rot"] = xrfragment_XRF.QUERY_OPERATOR | xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_VECTOR3 | xrfragment_XRF.METADATA | xrfragment_XRF.NAVIGATOR; - Frag_h["t"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_FLOAT | xrfragment_XRF.T_VECTOR2 | xrfragment_XRF.NAVIGATOR | xrfragment_XRF.METADATA; - Frag_h["s"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_MEDIAFRAG; - Frag_h["loop"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_PREDEFINED_VIEW; - Frag_h["uv"] = xrfragment_XRF.T_VECTOR2 | xrfragment_XRF.T_MEDIAFRAG; - Frag_h["namespace"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["SPDX"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["unit"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["description"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - var keyStripped = key.replace(xrfragment_XRF.operators.r,""); - var isPVDynamic = key.length > 0 && !Object.prototype.hasOwnProperty.call(Frag_h,key); - if(isPVDynamic) { - var v = new xrfragment_XRF(key,xrfragment_XRF.PV_EXECUTE | xrfragment_XRF.NAVIGATOR,index); - v.validate(value); - v.flags = xrfragment_XRF.set(xrfragment_XRF.T_DYNAMICKEY,v.flags); - if(!Object.prototype.hasOwnProperty.call(Frag_h,key)) { - v.flags = xrfragment_XRF.set(xrfragment_XRF.CUSTOMFRAG,v.flags); - } - if(value.length == 0) { - v.flags = xrfragment_XRF.set(xrfragment_XRF.T_DYNAMICKEYVALUE,v.flags); - } - store[keyStripped] = v; - return true; - } - var v = new xrfragment_XRF(key,Frag_h[key],index); - if(Object.prototype.hasOwnProperty.call(Frag_h,key)) { - if(!v.validate(value)) { - console.log("src/xrfragment/Parser.hx:67:","⚠ fragment '" + key + "' has incompatible value (" + value + ")"); - return false; - } - store[keyStripped] = v; - if(xrfragment_Parser.debug) { - console.log("src/xrfragment/Parser.hx:71:","✔ " + key + ": " + v.string); - } - } else { - if(typeof(value) == "string") { - v.guessType(v,value); - } - v.flags = xrfragment_XRF.set(xrfragment_XRF.CUSTOMFRAG,v.flags); - store[keyStripped] = v; - } - return true; -}; -xrfragment_Parser.getMetaData = function() { - var meta = { title : ["title","og:title","dc.title"], description : ["aria-description","og:description","dc.description"], author : ["author","dc.creator"], publisher : ["publisher","dc.publisher"], website : ["og:site_name","og:url","dc.publisher"], license : ["SPDX","dc.rights"]}; - return meta; -}; -var xrfragment_URI = $hx_exports["xrfragment"]["URI"] = function() { - this.XRF = { }; - this.hash = { }; - this.fragment = ""; -}; -xrfragment_URI.__name__ = true; -xrfragment_URI.parseFragment = function(url,filter) { - var store = { }; - if(url == null || url.indexOf("#") == -1) { - return store; - } - var fragment = url.split("#"); - var splitArray = fragment[1].split("&"); - var _g = 0; - var _g1 = splitArray.length; - while(_g < _g1) { - var i = _g++; - var splitByEqual = splitArray[i].split("="); - var regexPlus = new EReg("\\+","g"); - var key = splitByEqual[0]; - var value = ""; - if(splitByEqual.length > 1) { - if(xrfragment_XRF.isVector.match(splitByEqual[1])) { - value = splitByEqual[1]; - } else { - var s = regexPlus.split(splitByEqual[1]).join(" "); - value = decodeURIComponent(s.split("+").join(" ")); - } - } - var ok = xrfragment_Parser.parse(key,value,store,i); - } - if(filter != null && filter != 0) { - var _g = 0; - var _g1 = Reflect.fields(store); - while(_g < _g1.length) { - var key = _g1[_g]; - ++_g; - var xrf = store[key]; - if(!xrf.is(filter)) { - Reflect.deleteField(store,key); - } - } - } - return store; -}; -xrfragment_URI.template = function(uri,vars) { - var parts = uri.split("#"); - if(parts.length == 1) { - return uri; - } - var frag = parts[1]; - frag = StringTools.replace(frag,"{","::"); - frag = StringTools.replace(frag,"}","::"); - frag = new haxe_Template(frag).execute(vars); - frag = StringTools.replace(frag,"null",""); - parts[1] = frag; - return parts.join("#"); -}; -xrfragment_URI.parse = function(stringUrl,flags) { - var r = new EReg("^(?:(?![^:@]+:[^:@/]*@)([^:/?#.]+):)?(?://)?((?:(([^:@]*)(?::([^:@]*))?)?@)?([^:/?#]*)(?::(\\d*))?)(((/(?:[^?#](?![^?#/]*\\.[^?#/.]+(?:[?#]|$)))*/?)?([^?#/]*))(?:\\?([^#]*))?(?:#(.*))?)",""); - if(stringUrl.indexOf("://") == -1 && stringUrl.charAt(0) != "/") { - stringUrl = "/" + stringUrl; - } - r.match(stringUrl); - var url = new xrfragment_URI(); - var _g = 0; - var _g1 = xrfragment_URI._parts.length; - while(_g < _g1) { - var i = _g++; - url[xrfragment_URI._parts[i]] = r.matched(i); - } - if(xrfragment_URI.isRelative(url) == true) { - if(url.directory == null && url.host != null) { - url.file = url.host; - } - url.host = ""; - } - url.hash = { }; - if(url.fragment != null && url.fragment.length > 0) { - url.XRF = xrfragment_URI.parseFragment("#" + url.fragment,flags); - var key; - var _g = 0; - var _g1 = Reflect.fields(url.XRF); - while(_g < _g1.length) { - var key = _g1[_g]; - ++_g; - var v = url.XRF[key]; - url.hash[key] = v["string"]; - } - } - xrfragment_URI.computeVars(url); - return url; -}; -xrfragment_URI.computeVars = function(url) { - var r_r = new RegExp("//","g".split("u").join("")); - if(url.directory != null && url.directory.indexOf("//") != -1) { - url.directory = url.directory.replace(r_r,"/"); - } - if(url.path != null && url.path.indexOf("//") != -1) { - url.path = url.path.replace(r_r,"/"); - } - if(url.file != null && url.file.indexOf("//") != -1) { - url.file = url.file.replace(r_r,"/"); - } - url.URN = url.scheme + "://" + url.host; - if(url.port != null) { - url.URN += ":" + url.port; - } - url.URN += url.directory; - if(url.file != null) { - var parts = url.file.split("."); - if(parts.length > 1) { - url.fileExt = parts.pop(); - } - } -}; -xrfragment_URI.toString = function(url) { - var result = ""; - if(url.scheme != null) { - result += url.scheme + "://"; - } - if(url.user != null) { - result += url.user + ":"; - } - if(url.password != null) { - result += url.password + "@"; - } - if(url.host != null) { - result += url.host; - } - if(url.port != null) { - result += ":" + url.port; - } - if(url.directory != null) { - result += url.directory; - } - if(url.file != null) { - result += url.file; - } - if(url.query != null) { - result += "?" + url.query; - } - if(url.fragment != null) { - result += "#" + url.fragment; - } - return result; -}; -xrfragment_URI.appendURI = function(url,appendedURI) { - if(xrfragment_URI.isRelative(url) == true) { - return xrfragment_URI.appendToRelativeURI(url,appendedURI); - } else { - return xrfragment_URI.appendToAbsoluteURI(url,appendedURI); - } -}; -xrfragment_URI.isRelative = function(url) { - return url.scheme == null; -}; -xrfragment_URI.appendToRelativeURI = function(url,appendedURI) { - if(url.directory == null || url.host == null) { - return xrfragment_URI.cloneURI(appendedURI); - } - var resultURI = new xrfragment_URI(); - resultURI.host = url.host; - resultURI.directory = url.directory; - if(appendedURI.host != null) { - resultURI.directory += appendedURI.host; - } - if(appendedURI.directory != null) { - var directory = appendedURI.directory; - if(appendedURI.host == null) { - resultURI.directory += HxOverrides.substr(directory,1,null); - } else { - resultURI.directory += directory; - } - } - if(appendedURI.file != null) { - resultURI.file = appendedURI.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(appendedURI.query != null) { - resultURI.query = appendedURI.query; - } - if(appendedURI.fragment != null) { - resultURI.fragment = appendedURI.fragment; - } - return resultURI; -}; -xrfragment_URI.appendToAbsoluteURI = function(url,appendedURI) { - var resultURI = new xrfragment_URI(); - if(url.scheme != null) { - resultURI.scheme = url.scheme; - } - if(url.host != null) { - resultURI.host = url.host; - } - var directory = ""; - if(url.directory != null) { - directory = url.directory; - } - if(appendedURI.host != null) { - appendedURI.directory += appendedURI.host; - } - if(appendedURI.directory != null) { - directory += appendedURI.directory; - } - resultURI.directory = directory; - if(appendedURI.file != null) { - resultURI.file = appendedURI.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(appendedURI.query != null) { - resultURI.query = appendedURI.query; - } - if(appendedURI.fragment != null) { - resultURI.fragment = appendedURI.fragment; - } - return resultURI; -}; -xrfragment_URI.toAbsolute = function(url,newUrl) { - var newURI = xrfragment_URI.parse(newUrl,0); - var resultURI = new xrfragment_URI(); - resultURI.port = url.port; - resultURI.source = newUrl; - if(newURI.scheme != null) { - resultURI.scheme = newURI.scheme; - } else { - resultURI.scheme = url.scheme; - } - if(newURI.host != null && newURI.host.length > 0) { - resultURI.host = newURI.host; - resultURI.port = null; - resultURI.fragment = null; - resultURI.hash = { }; - resultURI.XRF = { }; - if(newURI.port != null) { - resultURI.port = newURI.port; - } - } else { - resultURI.host = url.host; - } - var directory = ""; - if(url.directory != null) { - directory = url.directory; - } - if(newURI.directory != null) { - if(newUrl.charAt(0) != "/" && newUrl.indexOf("://") == -1) { - var stripRelative_r = new RegExp("\\./.*","".split("u").join("")); - directory = directory.replace(stripRelative_r,""); - directory += newURI.directory; - } else { - directory = newURI.directory; - } - } - resultURI.directory = directory; - if(newURI.file != null) { - resultURI.file = newURI.file; - } else { - resultURI.file = url.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(newURI.query != null) { - resultURI.query = newURI.query; - } - if(newURI.fragment != null) { - resultURI.fragment = newURI.fragment; - } - resultURI.hash = newURI.hash; - resultURI.XRF = newURI.XRF; - xrfragment_URI.computeVars(resultURI); - return resultURI; -}; -xrfragment_URI.cloneURI = function(url) { - var clonedURI = new xrfragment_URI(); - clonedURI.url = url.url; - clonedURI.source = url.source; - clonedURI.scheme = url.scheme; - clonedURI.authority = url.authority; - clonedURI.userInfo = url.userInfo; - clonedURI.password = url.password; - clonedURI.host = url.host; - clonedURI.port = url.port; - clonedURI.relative = url.relative; - clonedURI.path = url.path; - clonedURI.directory = url.directory; - clonedURI.file = url.file; - clonedURI.query = url.query; - clonedURI.fragment = url.fragment; - return clonedURI; -}; -var xrfragment_XRF = $hx_exports["xrfragment"]["XRF"] = function(_fragment,_flags,_index) { - this.floats = []; - this.shift = []; - this.fragment = _fragment; - this.flags = _flags; - this.index = _index; -}; -xrfragment_XRF.__name__ = true; -xrfragment_XRF.set = function(flag,flags) { - return flags | flag; -}; -xrfragment_XRF.unset = function(flag,flags) { - return flags & ~flag; -}; -xrfragment_XRF.prototype = { - is: function(flag) { - var v = this.flags; - if(!(typeof(v) == "number" && ((v | 0) === v))) { - this.flags = 0; - } - return (this.flags & flag) != 0; - } - ,validate: function(value) { - this.guessType(this,value); - var ok = true; - if(value.length == 0 && !this.is(xrfragment_XRF.T_PREDEFINED_VIEW)) { - ok = false; - } - if(!this.is(xrfragment_XRF.T_FLOAT) && this.is(xrfragment_XRF.T_VECTOR2) && !(typeof(this.x) == "number" && typeof(this.y) == "number")) { - ok = false; - } - if(!(this.is(xrfragment_XRF.T_VECTOR2) || this.is(xrfragment_XRF.T_STRING)) && this.is(xrfragment_XRF.T_VECTOR3) && !(typeof(this.x) == "number" && typeof(this.y) == "number" && typeof(this.z) == "number")) { - ok = false; - } - return ok; - } - ,guessType: function(v,str) { - v.string = str; - if(xrfragment_XRF.isReset.match(v.fragment)) { - v.reset = true; - } - if(v.fragment == "loop") { - v.loop = true; - } - if(typeof(str) != "string") { - return; - } - if(str.length > 0) { - if(xrfragment_XRF.isXRFScheme.match(str)) { - v.xrfScheme = true; - str = str.replace(xrfragment_XRF.isXRFScheme.r,""); - v.string = str; - } - if(str.split(",").length > 1) { - var xyzn = str.split(","); - if(xyzn.length > 0) { - v.x = parseFloat(xyzn[0]); - } - if(xyzn.length > 1) { - v.y = parseFloat(xyzn[1]); - } - if(xyzn.length > 2) { - v.z = parseFloat(xyzn[2]); - } - var _g = 0; - var _g1 = xyzn.length; - while(_g < _g1) { - var i = _g++; - v.shift.push(xrfragment_XRF.isShift.match(xyzn[i])); - v.floats.push(parseFloat(xyzn[i].replace(xrfragment_XRF.isShift.r,""))); - } - } - if(xrfragment_XRF.isColor.match(str)) { - v.color = str; - } - if(xrfragment_XRF.isFloat.match(str)) { - v.x = parseFloat(str); - v.float = v.x; - } - if(xrfragment_XRF.isInt.match(str)) { - v.int = Std.parseInt(str); - v.x = v.int; - v.floats.push(v.x); - } - v.filter = new xrfragment_Filter(v.fragment + "=" + v.string); - } else { - v.filter = new xrfragment_Filter(v.fragment); - } - } -}; -function $getIterator(o) { if( o instanceof Array ) return new haxe_iterators_ArrayIterator(o); else return o.iterator(); } -function $bind(o,m) { if( m == null ) return null; if( m.__id__ == null ) m.__id__ = $global.$haxeUID++; var f; if( o.hx__closures__ == null ) o.hx__closures__ = {}; else f = o.hx__closures__[m.__id__]; if( f == null ) { f = m.bind(o); o.hx__closures__[m.__id__] = f; } return f; } -$global.$haxeUID |= 0; -if(typeof(performance) != "undefined" ? typeof(performance.now) == "function" : false) { - HxOverrides.now = performance.now.bind(performance); -} -if( String.fromCodePoint == null ) String.fromCodePoint = function(c) { return c < 0x10000 ? String.fromCharCode(c) : String.fromCharCode((c>>10)+0xD7C0)+String.fromCharCode((c&0x3FF)+0xDC00); } -String.__name__ = true; -Array.__name__ = true; -js_Boot.__toStr = ({ }).toString; -haxe_Template.splitter = new EReg("(::[A-Za-z0-9_ ()&|!+=/><*.\"-]+::|\\$\\$([A-Za-z0-9_-]+)\\()",""); -haxe_Template.expr_splitter = new EReg("(\\(|\\)|[ \r\n\t]*\"[^\"]*\"[ \r\n\t]*|[!+=/><*.&|-]+)",""); -haxe_Template.expr_trim = new EReg("^[ ]*([^ ]+)[ ]*$",""); -haxe_Template.expr_int = new EReg("^[0-9]+$",""); -haxe_Template.expr_float = new EReg("^([+-]?)(?=\\d|,\\d)\\d*(,\\d*)?([Ee]([+-]?\\d+))?$",""); -haxe_Template.globals = { }; -haxe_Template.hxKeepArrayIterator = new haxe_iterators_ArrayIterator([]); -xrfragment_Parser.error = ""; -xrfragment_Parser.debug = false; -xrfragment_URI.__meta__ = { statics : { template : { keep : null}}}; -xrfragment_URI._parts = ["source","scheme","authority","userInfo","user","password","host","port","relative","path","directory","file","query","fragment"]; -xrfragment_XRF.IMMUTABLE = 1; -xrfragment_XRF.PROP_BIND = 2; -xrfragment_XRF.QUERY_OPERATOR = 4; -xrfragment_XRF.PROMPT = 8; -xrfragment_XRF.CUSTOMFRAG = 16; -xrfragment_XRF.NAVIGATOR = 32; -xrfragment_XRF.METADATA = 64; -xrfragment_XRF.PV_OVERRIDE = 128; -xrfragment_XRF.PV_EXECUTE = 256; -xrfragment_XRF.T_COLOR = 8192; -xrfragment_XRF.T_INT = 16384; -xrfragment_XRF.T_FLOAT = 32768; -xrfragment_XRF.T_VECTOR2 = 65536; -xrfragment_XRF.T_VECTOR3 = 131072; -xrfragment_XRF.T_URL = 262144; -xrfragment_XRF.T_PREDEFINED_VIEW = 524288; -xrfragment_XRF.T_STRING = 1048576; -xrfragment_XRF.T_MEDIAFRAG = 2097152; -xrfragment_XRF.T_DYNAMICKEY = 4194304; -xrfragment_XRF.T_DYNAMICKEYVALUE = 8388608; -xrfragment_XRF.isColor = new EReg("^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$",""); -xrfragment_XRF.isInt = new EReg("^[-0-9]+$",""); -xrfragment_XRF.isFloat = new EReg("^[-0-9]+\\.[0-9]+$",""); -xrfragment_XRF.isVector = new EReg("([,]+|\\w)",""); -xrfragment_XRF.isUrl = new EReg("(://)?\\..*",""); -xrfragment_XRF.isUrlOrPretypedView = new EReg("(^#|://)?\\..*",""); -xrfragment_XRF.isString = new EReg(".*",""); -xrfragment_XRF.operators = new EReg("(^[-]|^[!]|[\\*]$)","g"); -xrfragment_XRF.isProp = new EReg("^.*=[><=]?",""); -xrfragment_XRF.isExclude = new EReg("^-",""); -xrfragment_XRF.isDeep = new EReg("\\*",""); -xrfragment_XRF.isNumber = new EReg("^[0-9\\.]+$",""); -xrfragment_XRF.isMediaFrag = new EReg("^([0-9\\.,\\*+-]+)$",""); -xrfragment_XRF.isReset = new EReg("^!",""); -xrfragment_XRF.isShift = new EReg("^(\\+|--)",""); -xrfragment_XRF.isXRFScheme = new EReg("^xrf://",""); -})(typeof window != "undefined" ? window : typeof global != "undefined" ? global : typeof self != "undefined" ? self : this); -var xrfragment = $hx_exports["xrfragment"]; -export default xrfragment; -// Generated by Haxe 4.3.3 -var $hx_exports = typeof exports != "undefined" ? exports : typeof window != "undefined" ? window : typeof self != "undefined" ? self : this; -(function ($global) { "use strict"; -$hx_exports["xrfragment"] = $hx_exports["xrfragment"] || {}; -var $estr = function() { return js_Boot.__string_rec(this,''); },$hxEnums = $hxEnums || {},$_; -function $extend(from, fields) { - var proto = Object.create(from); - for (var name in fields) proto[name] = fields[name]; - if( fields.toString !== Object.prototype.toString ) proto.toString = fields.toString; - return proto; -} -var EReg = function(r,opt) { - this.r = new RegExp(r,opt.split("u").join("")); -}; -EReg.__name__ = true; -EReg.prototype = { - match: function(s) { - if(this.r.global) { - this.r.lastIndex = 0; - } - this.r.m = this.r.exec(s); - this.r.s = s; - return this.r.m != null; - } - ,matched: function(n) { - if(this.r.m != null && n >= 0 && n < this.r.m.length) { - return this.r.m[n]; - } else { - throw haxe_Exception.thrown("EReg::matched"); - } - } - ,matchedRight: function() { - if(this.r.m == null) { - throw haxe_Exception.thrown("No string matched"); - } - var sz = this.r.m.index + this.r.m[0].length; - return HxOverrides.substr(this.r.s,sz,this.r.s.length - sz); - } - ,matchedPos: function() { - if(this.r.m == null) { - throw haxe_Exception.thrown("No string matched"); - } - return { pos : this.r.m.index, len : this.r.m[0].length}; - } - ,split: function(s) { - var d = "#__delim__#"; - return s.replace(this.r,d).split(d); - } -}; -var HxOverrides = function() { }; -HxOverrides.__name__ = true; -HxOverrides.cca = function(s,index) { - var x = s.charCodeAt(index); - if(x != x) { - return undefined; - } - return x; -}; -HxOverrides.substr = function(s,pos,len) { - if(len == null) { - len = s.length; - } else if(len < 0) { - if(pos == 0) { - len = s.length + len; - } else { - return ""; - } - } - return s.substr(pos,len); -}; -HxOverrides.now = function() { - return Date.now(); -}; -Math.__name__ = true; -var Reflect = function() { }; -Reflect.__name__ = true; -Reflect.field = function(o,field) { - try { - return o[field]; - } catch( _g ) { - return null; - } -}; -Reflect.getProperty = function(o,field) { - var tmp; - if(o == null) { - return null; - } else { - var tmp1; - if(o.__properties__) { - tmp = o.__properties__["get_" + field]; - tmp1 = tmp; - } else { - tmp1 = false; - } - if(tmp1) { - return o[tmp](); - } else { - return o[field]; - } - } -}; -Reflect.fields = function(o) { - var a = []; - if(o != null) { - var hasOwnProperty = Object.prototype.hasOwnProperty; - for( var f in o ) { - if(f != "__id__" && f != "hx__closures__" && hasOwnProperty.call(o,f)) { - a.push(f); - } - } - } - return a; -}; -Reflect.isObject = function(v) { - if(v == null) { - return false; - } - var t = typeof(v); - if(!(t == "string" || t == "object" && v.__enum__ == null)) { - if(t == "function") { - return (v.__name__ || v.__ename__) != null; - } else { - return false; - } - } else { - return true; - } -}; -Reflect.deleteField = function(o,field) { - if(!Object.prototype.hasOwnProperty.call(o,field)) { - return false; - } - delete(o[field]); - return true; -}; -Reflect.copy = function(o) { - if(o == null) { - return null; - } - var o2 = { }; - var _g = 0; - var _g1 = Reflect.fields(o); - while(_g < _g1.length) { - var f = _g1[_g]; - ++_g; - o2[f] = Reflect.field(o,f); - } - return o2; -}; -var Std = function() { }; -Std.__name__ = true; -Std.string = function(s) { - return js_Boot.__string_rec(s,""); -}; -Std.parseInt = function(x) { - var v = parseInt(x); - if(isNaN(v)) { - return null; - } - return v; -}; -var StringBuf = function() { - this.b = ""; -}; -StringBuf.__name__ = true; -var StringTools = function() { }; -StringTools.__name__ = true; -StringTools.isSpace = function(s,pos) { - var c = HxOverrides.cca(s,pos); - if(!(c > 8 && c < 14)) { - return c == 32; - } else { - return true; - } -}; -StringTools.ltrim = function(s) { - var l = s.length; - var r = 0; - while(r < l && StringTools.isSpace(s,r)) ++r; - if(r > 0) { - return HxOverrides.substr(s,r,l - r); - } else { - return s; - } -}; -StringTools.rtrim = function(s) { - var l = s.length; - var r = 0; - while(r < l && StringTools.isSpace(s,l - r - 1)) ++r; - if(r > 0) { - return HxOverrides.substr(s,0,l - r); - } else { - return s; - } -}; -StringTools.trim = function(s) { - return StringTools.ltrim(StringTools.rtrim(s)); -}; -StringTools.replace = function(s,sub,by) { - return s.split(sub).join(by); -}; -var haxe_Exception = function(message,previous,native) { - Error.call(this,message); - this.message = message; - this.__previousException = previous; - this.__nativeException = native != null ? native : this; -}; -haxe_Exception.__name__ = true; -haxe_Exception.caught = function(value) { - if(((value) instanceof haxe_Exception)) { - return value; - } else if(((value) instanceof Error)) { - return new haxe_Exception(value.message,null,value); - } else { - return new haxe_ValueException(value,null,value); - } -}; -haxe_Exception.thrown = function(value) { - if(((value) instanceof haxe_Exception)) { - return value.get_native(); - } else if(((value) instanceof Error)) { - return value; - } else { - var e = new haxe_ValueException(value); - return e; - } -}; -haxe_Exception.__super__ = Error; -haxe_Exception.prototype = $extend(Error.prototype,{ - unwrap: function() { - return this.__nativeException; - } - ,get_native: function() { - return this.__nativeException; - } - ,__properties__: {get_native:"get_native"} -}); -var haxe__$Template_TemplateExpr = $hxEnums["haxe._Template.TemplateExpr"] = { __ename__:true,__constructs__:null - ,OpVar: ($_=function(v) { return {_hx_index:0,v:v,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpVar",$_.__params__ = ["v"],$_) - ,OpExpr: ($_=function(expr) { return {_hx_index:1,expr:expr,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpExpr",$_.__params__ = ["expr"],$_) - ,OpIf: ($_=function(expr,eif,eelse) { return {_hx_index:2,expr:expr,eif:eif,eelse:eelse,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpIf",$_.__params__ = ["expr","eif","eelse"],$_) - ,OpStr: ($_=function(str) { return {_hx_index:3,str:str,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpStr",$_.__params__ = ["str"],$_) - ,OpBlock: ($_=function(l) { return {_hx_index:4,l:l,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpBlock",$_.__params__ = ["l"],$_) - ,OpForeach: ($_=function(expr,loop) { return {_hx_index:5,expr:expr,loop:loop,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpForeach",$_.__params__ = ["expr","loop"],$_) - ,OpMacro: ($_=function(name,params) { return {_hx_index:6,name:name,params:params,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpMacro",$_.__params__ = ["name","params"],$_) -}; -haxe__$Template_TemplateExpr.__constructs__ = [haxe__$Template_TemplateExpr.OpVar,haxe__$Template_TemplateExpr.OpExpr,haxe__$Template_TemplateExpr.OpIf,haxe__$Template_TemplateExpr.OpStr,haxe__$Template_TemplateExpr.OpBlock,haxe__$Template_TemplateExpr.OpForeach,haxe__$Template_TemplateExpr.OpMacro]; -var haxe_iterators_ArrayIterator = function(array) { - this.current = 0; - this.array = array; -}; -haxe_iterators_ArrayIterator.__name__ = true; -haxe_iterators_ArrayIterator.prototype = { - hasNext: function() { - return this.current < this.array.length; - } - ,next: function() { - return this.array[this.current++]; - } -}; -var haxe_Template = function(str) { - var tokens = this.parseTokens(str); - this.expr = this.parseBlock(tokens); - if(!tokens.isEmpty()) { - throw haxe_Exception.thrown("Unexpected '" + Std.string(tokens.first().s) + "'"); - } -}; -haxe_Template.__name__ = true; -haxe_Template.prototype = { - execute: function(context,macros) { - this.macros = macros == null ? { } : macros; - this.context = context; - this.stack = new haxe_ds_List(); - this.buf = new StringBuf(); - this.run(this.expr); - return this.buf.b; - } - ,resolve: function(v) { - if(v == "__current__") { - return this.context; - } - if(Reflect.isObject(this.context)) { - var value = Reflect.getProperty(this.context,v); - if(value != null || Object.prototype.hasOwnProperty.call(this.context,v)) { - return value; - } - } - var _g_head = this.stack.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var ctx = val; - var value = Reflect.getProperty(ctx,v); - if(value != null || Object.prototype.hasOwnProperty.call(ctx,v)) { - return value; - } - } - return Reflect.field(haxe_Template.globals,v); - } - ,parseTokens: function(data) { - var tokens = new haxe_ds_List(); - while(haxe_Template.splitter.match(data)) { - var p = haxe_Template.splitter.matchedPos(); - if(p.pos > 0) { - tokens.add({ p : HxOverrides.substr(data,0,p.pos), s : true, l : null}); - } - if(HxOverrides.cca(data,p.pos) == 58) { - tokens.add({ p : HxOverrides.substr(data,p.pos + 2,p.len - 4), s : false, l : null}); - data = haxe_Template.splitter.matchedRight(); - continue; - } - var parp = p.pos + p.len; - var npar = 1; - var params = []; - var part = ""; - while(true) { - var c = HxOverrides.cca(data,parp); - ++parp; - if(c == 40) { - ++npar; - } else if(c == 41) { - --npar; - if(npar <= 0) { - break; - } - } else if(c == null) { - throw haxe_Exception.thrown("Unclosed macro parenthesis"); - } - if(c == 44 && npar == 1) { - params.push(part); - part = ""; - } else { - part += String.fromCodePoint(c); - } - } - params.push(part); - tokens.add({ p : haxe_Template.splitter.matched(2), s : false, l : params}); - data = HxOverrides.substr(data,parp,data.length - parp); - } - if(data.length > 0) { - tokens.add({ p : data, s : true, l : null}); - } - return tokens; - } - ,parseBlock: function(tokens) { - var l = new haxe_ds_List(); - while(true) { - var t = tokens.first(); - if(t == null) { - break; - } - if(!t.s && (t.p == "end" || t.p == "else" || HxOverrides.substr(t.p,0,7) == "elseif ")) { - break; - } - l.add(this.parse(tokens)); - } - if(l.length == 1) { - return l.first(); - } - return haxe__$Template_TemplateExpr.OpBlock(l); - } - ,parse: function(tokens) { - var t = tokens.pop(); - var p = t.p; - if(t.s) { - return haxe__$Template_TemplateExpr.OpStr(p); - } - if(t.l != null) { - var pe = new haxe_ds_List(); - var _g = 0; - var _g1 = t.l; - while(_g < _g1.length) { - var p1 = _g1[_g]; - ++_g; - pe.add(this.parseBlock(this.parseTokens(p1))); - } - return haxe__$Template_TemplateExpr.OpMacro(p,pe); - } - var kwdEnd = function(kwd) { - var pos = -1; - var length = kwd.length; - if(HxOverrides.substr(p,0,length) == kwd) { - pos = length; - var _g_offset = 0; - var _g_s = HxOverrides.substr(p,length,null); - while(_g_offset < _g_s.length) { - var c = _g_s.charCodeAt(_g_offset++); - if(c == 32) { - ++pos; - } else { - break; - } - } - } - return pos; - }; - var pos = kwdEnd("if"); - if(pos > 0) { - p = HxOverrides.substr(p,pos,p.length - pos); - var e = this.parseExpr(p); - var eif = this.parseBlock(tokens); - var t = tokens.first(); - var eelse; - if(t == null) { - throw haxe_Exception.thrown("Unclosed 'if'"); - } - if(t.p == "end") { - tokens.pop(); - eelse = null; - } else if(t.p == "else") { - tokens.pop(); - eelse = this.parseBlock(tokens); - t = tokens.pop(); - if(t == null || t.p != "end") { - throw haxe_Exception.thrown("Unclosed 'else'"); - } - } else { - t.p = HxOverrides.substr(t.p,4,t.p.length - 4); - eelse = this.parse(tokens); - } - return haxe__$Template_TemplateExpr.OpIf(e,eif,eelse); - } - var pos = kwdEnd("foreach"); - if(pos >= 0) { - p = HxOverrides.substr(p,pos,p.length - pos); - var e = this.parseExpr(p); - var efor = this.parseBlock(tokens); - var t = tokens.pop(); - if(t == null || t.p != "end") { - throw haxe_Exception.thrown("Unclosed 'foreach'"); - } - return haxe__$Template_TemplateExpr.OpForeach(e,efor); - } - if(haxe_Template.expr_splitter.match(p)) { - return haxe__$Template_TemplateExpr.OpExpr(this.parseExpr(p)); - } - return haxe__$Template_TemplateExpr.OpVar(p); - } - ,parseExpr: function(data) { - var l = new haxe_ds_List(); - var expr = data; - while(haxe_Template.expr_splitter.match(data)) { - var p = haxe_Template.expr_splitter.matchedPos(); - var k = p.pos + p.len; - if(p.pos != 0) { - l.add({ p : HxOverrides.substr(data,0,p.pos), s : true}); - } - var p1 = haxe_Template.expr_splitter.matched(0); - l.add({ p : p1, s : p1.indexOf("\"") >= 0}); - data = haxe_Template.expr_splitter.matchedRight(); - } - if(data.length != 0) { - var _g_offset = 0; - var _g_s = data; - while(_g_offset < _g_s.length) { - var _g_key = _g_offset; - var _g_value = _g_s.charCodeAt(_g_offset++); - var i = _g_key; - var c = _g_value; - if(c != 32) { - l.add({ p : HxOverrides.substr(data,i,null), s : true}); - break; - } - } - } - var e; - try { - e = this.makeExpr(l); - if(!l.isEmpty()) { - throw haxe_Exception.thrown(l.first().p); - } - } catch( _g ) { - var _g1 = haxe_Exception.caught(_g).unwrap(); - if(typeof(_g1) == "string") { - var s = _g1; - throw haxe_Exception.thrown("Unexpected '" + s + "' in " + expr); - } else { - throw _g; - } - } - return function() { - try { - return e(); - } catch( _g ) { - var exc = haxe_Exception.caught(_g).unwrap(); - throw haxe_Exception.thrown("Error : " + Std.string(exc) + " in " + expr); - } - }; - } - ,makeConst: function(v) { - haxe_Template.expr_trim.match(v); - v = haxe_Template.expr_trim.matched(1); - if(HxOverrides.cca(v,0) == 34) { - var str = HxOverrides.substr(v,1,v.length - 2); - return function() { - return str; - }; - } - if(haxe_Template.expr_int.match(v)) { - var i = Std.parseInt(v); - return function() { - return i; - }; - } - if(haxe_Template.expr_float.match(v)) { - var f = parseFloat(v); - return function() { - return f; - }; - } - var me = this; - return function() { - return me.resolve(v); - }; - } - ,makePath: function(e,l) { - var p = l.first(); - if(p == null || p.p != ".") { - return e; - } - l.pop(); - var field = l.pop(); - if(field == null || !field.s) { - throw haxe_Exception.thrown(field.p); - } - var f = field.p; - haxe_Template.expr_trim.match(f); - f = haxe_Template.expr_trim.matched(1); - return this.makePath(function() { - return Reflect.field(e(),f); - },l); - } - ,makeExpr: function(l) { - return this.makePath(this.makeExpr2(l),l); - } - ,skipSpaces: function(l) { - var p = l.first(); - while(p != null) { - var _g_offset = 0; - var _g_s = p.p; - while(_g_offset < _g_s.length) { - var c = _g_s.charCodeAt(_g_offset++); - if(c != 32) { - return; - } - } - l.pop(); - p = l.first(); - } - } - ,makeExpr2: function(l) { - this.skipSpaces(l); - var p = l.pop(); - this.skipSpaces(l); - if(p == null) { - throw haxe_Exception.thrown(""); - } - if(p.s) { - return this.makeConst(p.p); - } - switch(p.p) { - case "!": - var e = this.makeExpr(l); - return function() { - var v = e(); - if(v != null) { - return v == false; - } else { - return true; - } - }; - case "(": - this.skipSpaces(l); - var e1 = this.makeExpr(l); - this.skipSpaces(l); - var p1 = l.pop(); - if(p1 == null || p1.s) { - throw haxe_Exception.thrown(p1); - } - if(p1.p == ")") { - return e1; - } - this.skipSpaces(l); - var e2 = this.makeExpr(l); - this.skipSpaces(l); - var p2 = l.pop(); - this.skipSpaces(l); - if(p2 == null || p2.p != ")") { - throw haxe_Exception.thrown(p2); - } - switch(p1.p) { - case "!=": - return function() { - return e1() != e2(); - }; - case "&&": - return function() { - return e1() && e2(); - }; - case "*": - return function() { - return e1() * e2(); - }; - case "+": - return function() { - return e1() + e2(); - }; - case "-": - return function() { - return e1() - e2(); - }; - case "/": - return function() { - return e1() / e2(); - }; - case "<": - return function() { - return e1() < e2(); - }; - case "<=": - return function() { - return e1() <= e2(); - }; - case "==": - return function() { - return e1() == e2(); - }; - case ">": - return function() { - return e1() > e2(); - }; - case ">=": - return function() { - return e1() >= e2(); - }; - case "||": - return function() { - return e1() || e2(); - }; - default: - throw haxe_Exception.thrown("Unknown operation " + p1.p); - } - break; - case "-": - var e3 = this.makeExpr(l); - return function() { - return -e3(); - }; - } - throw haxe_Exception.thrown(p.p); - } - ,run: function(e) { - switch(e._hx_index) { - case 0: - var v = e.v; - var _this = this.buf; - var x = Std.string(this.resolve(v)); - _this.b += Std.string(x); - break; - case 1: - var e1 = e.expr; - var _this = this.buf; - var x = Std.string(e1()); - _this.b += Std.string(x); - break; - case 2: - var e1 = e.expr; - var eif = e.eif; - var eelse = e.eelse; - var v = e1(); - if(v == null || v == false) { - if(eelse != null) { - this.run(eelse); - } - } else { - this.run(eif); - } - break; - case 3: - var str = e.str; - this.buf.b += str == null ? "null" : "" + str; - break; - case 4: - var l = e.l; - var _g_head = l.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var e1 = val; - this.run(e1); - } - break; - case 5: - var e1 = e.expr; - var loop = e.loop; - var v = e1(); - try { - var x = $getIterator(v); - if(x.hasNext == null) { - throw haxe_Exception.thrown(null); - } - v = x; - } catch( _g ) { - try { - if(v.hasNext == null) { - throw haxe_Exception.thrown(null); - } - } catch( _g1 ) { - throw haxe_Exception.thrown("Cannot iter on " + Std.string(v)); - } - } - this.stack.push(this.context); - var v1 = v; - var ctx = v1; - while(ctx.hasNext()) { - var ctx1 = ctx.next(); - this.context = ctx1; - this.run(loop); - } - this.context = this.stack.pop(); - break; - case 6: - var m = e.name; - var params = e.params; - var v = Reflect.field(this.macros,m); - var pl = []; - var old = this.buf; - pl.push($bind(this,this.resolve)); - var _g_head = params.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var p = val; - if(p._hx_index == 0) { - var v1 = p.v; - pl.push(this.resolve(v1)); - } else { - this.buf = new StringBuf(); - this.run(p); - pl.push(this.buf.b); - } - } - this.buf = old; - try { - var _this = this.buf; - var x = Std.string(v.apply(this.macros,pl)); - _this.b += Std.string(x); - } catch( _g ) { - var e = haxe_Exception.caught(_g).unwrap(); - var plstr; - try { - plstr = pl.join(","); - } catch( _g1 ) { - plstr = "???"; - } - var msg = "Macro call " + m + "(" + plstr + ") failed (" + Std.string(e) + ")"; - throw haxe_Exception.thrown(msg); - } - break; - } - } -}; -var haxe_ValueException = function(value,previous,native) { - haxe_Exception.call(this,String(value),previous,native); - this.value = value; -}; -haxe_ValueException.__name__ = true; -haxe_ValueException.__super__ = haxe_Exception; -haxe_ValueException.prototype = $extend(haxe_Exception.prototype,{ - unwrap: function() { - return this.value; - } -}); -var haxe_ds_List = function() { - this.length = 0; -}; -haxe_ds_List.__name__ = true; -haxe_ds_List.prototype = { - add: function(item) { - var x = new haxe_ds__$List_ListNode(item,null); - if(this.h == null) { - this.h = x; - } else { - this.q.next = x; - } - this.q = x; - this.length++; - } - ,push: function(item) { - var x = new haxe_ds__$List_ListNode(item,this.h); - this.h = x; - if(this.q == null) { - this.q = x; - } - this.length++; - } - ,first: function() { - if(this.h == null) { - return null; - } else { - return this.h.item; - } - } - ,pop: function() { - if(this.h == null) { - return null; - } - var x = this.h.item; - this.h = this.h.next; - if(this.h == null) { - this.q = null; - } - this.length--; - return x; - } - ,isEmpty: function() { - return this.h == null; - } - ,toString: function() { - var s_b = ""; - var first = true; - var l = this.h; - s_b += "{"; - while(l != null) { - if(first) { - first = false; - } else { - s_b += ", "; - } - s_b += Std.string(Std.string(l.item)); - l = l.next; - } - s_b += "}"; - return s_b; - } -}; -var haxe_ds__$List_ListNode = function(item,next) { - this.item = item; - this.next = next; -}; -haxe_ds__$List_ListNode.__name__ = true; -var js_Boot = function() { }; -js_Boot.__name__ = true; -js_Boot.__string_rec = function(o,s) { - if(o == null) { - return "null"; - } - if(s.length >= 5) { - return "<...>"; - } - var t = typeof(o); - if(t == "function" && (o.__name__ || o.__ename__)) { - t = "object"; - } - switch(t) { - case "function": - return ""; - case "object": - if(o.__enum__) { - var e = $hxEnums[o.__enum__]; - var con = e.__constructs__[o._hx_index]; - var n = con._hx_name; - if(con.__params__) { - s = s + "\t"; - return n + "(" + ((function($this) { - var $r; - var _g = []; - { - var _g1 = 0; - var _g2 = con.__params__; - while(true) { - if(!(_g1 < _g2.length)) { - break; - } - var p = _g2[_g1]; - _g1 = _g1 + 1; - _g.push(js_Boot.__string_rec(o[p],s)); - } - } - $r = _g; - return $r; - }(this))).join(",") + ")"; - } else { - return n; - } - } - if(((o) instanceof Array)) { - var str = "["; - s += "\t"; - var _g = 0; - var _g1 = o.length; - while(_g < _g1) { - var i = _g++; - str += (i > 0 ? "," : "") + js_Boot.__string_rec(o[i],s); - } - str += "]"; - return str; - } - var tostr; - try { - tostr = o.toString; - } catch( _g ) { - return "???"; - } - if(tostr != null && tostr != Object.toString && typeof(tostr) == "function") { - var s2 = o.toString(); - if(s2 != "[object Object]") { - return s2; - } - } - var str = "{\n"; - s += "\t"; - var hasp = o.hasOwnProperty != null; - var k = null; - for( k in o ) { - if(hasp && !o.hasOwnProperty(k)) { - continue; - } - if(k == "prototype" || k == "__class__" || k == "__super__" || k == "__interfaces__" || k == "__properties__") { - continue; - } - if(str.length != 2) { - str += ", \n"; - } - str += s + k + " : " + js_Boot.__string_rec(o[k],s); - } - s = s.substring(1); - str += "\n" + s + "}"; - return str; - case "string": - return o; - default: - return String(o); - } -}; -var xrfragment_Filter = $hx_exports["xrfragment"]["Filter"] = function(str) { - this.q = { }; - this.str = ""; - if(str != null) { - this.parse(str); - } -}; -xrfragment_Filter.__name__ = true; -xrfragment_Filter.prototype = { - toObject: function() { - return Reflect.copy(this.q); - } - ,get: function() { - return Reflect.copy(this.q); - } - ,parse: function(str) { - var token = str.split(" "); - var q = { }; - var process = function(str,prefix) { - if(prefix == null) { - prefix = ""; - } - str = StringTools.trim(str); - var k = str.split("=")[0]; - var v = str.split("=")[1]; - var filter = { }; - if(q[prefix + k]) { - filter = q[prefix + k]; - } - if(xrfragment_XRF.isProp.match(str)) { - var oper = ""; - if(str.indexOf(">") != -1) { - oper = ">"; - } - if(str.indexOf("<") != -1) { - oper = "<"; - } - if(xrfragment_XRF.isExclude.match(k)) { - k = HxOverrides.substr(k,1,null); - } - v = HxOverrides.substr(v,oper.length,null); - if(oper.length == 0) { - oper = "="; - } - var rule = { }; - if(xrfragment_XRF.isNumber.match(v)) { - rule[oper] = parseFloat(v); - } else { - rule[oper] = v; - } - q["expr"] = rule; - } - var value = xrfragment_XRF.isDeep.match(str) ? k.split("*").length - 1 : 0; - q["deep"] = value; - var value = xrfragment_XRF.isExclude.match(str) ? false : true; - q["show"] = value; - var value = k.replace(xrfragment_XRF.operators.r,""); - q["key"] = value; - q["value"] = v; - }; - var _g = 0; - var _g1 = token.length; - while(_g < _g1) { - var i = _g++; - process(token[i]); - } - return this.q = q; - } - ,test: function(obj) { - var qualify = false; - var _g = 0; - var _g1 = Reflect.fields(obj); - while(_g < _g1.length) { - var k = _g1[_g]; - ++_g; - var v = Std.string(Reflect.field(obj,k)); - if(this.testProperty(k,v)) { - qualify = true; - } - } - var _g = 0; - var _g1 = Reflect.fields(obj); - while(_g < _g1.length) { - var k = _g1[_g]; - ++_g; - var v = Std.string(Reflect.field(obj,k)); - if(this.testProperty(k,v,true)) { - qualify = false; - } - } - return qualify; - } - ,testProperty: function(property,value,exclude) { - var conds = 0; - var fails = 0; - var qualify = 0; - var testprop = function(expr) { - conds += 1; - fails += expr ? 0 : 1; - return expr; - }; - if(this.q[value] != null) { - var v = this.q[value]; - if(v[property] != null) { - return v[property]; - } - } - if(Reflect.field(this.q,"expr")) { - var f = Reflect.field(this.q,"expr"); - if(!Reflect.field(this.q,"show")) { - if(Reflect.field(f,"!=") != null && testprop((value == null ? "null" : "" + value) == Std.string(Reflect.field(f,"!="))) && exclude) { - ++qualify; - } - } else { - if(Reflect.field(f,"*") != null && testprop(parseFloat(value) != null)) { - ++qualify; - } - if(Reflect.field(f,">") != null && testprop(parseFloat(value) >= parseFloat(Reflect.field(f,">")))) { - ++qualify; - } - if(Reflect.field(f,"<") != null && testprop(parseFloat(value) <= parseFloat(Reflect.field(f,"<")))) { - ++qualify; - } - if(Reflect.field(f,"=") != null && (testprop(value == Reflect.field(f,"=")) || testprop(parseFloat(value) == parseFloat(Reflect.field(f,"="))))) { - ++qualify; - } - } - } - return qualify > 0; - } -}; -var xrfragment_Parser = $hx_exports["xrfragment"]["Parser"] = function() { }; -xrfragment_Parser.__name__ = true; -xrfragment_Parser.parse = function(key,value,store,index) { - var Frag_h = Object.create(null); - Frag_h["#"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_PREDEFINED_VIEW | xrfragment_XRF.PV_EXECUTE; - Frag_h["src"] = xrfragment_XRF.T_URL; - Frag_h["href"] = xrfragment_XRF.T_URL | xrfragment_XRF.T_PREDEFINED_VIEW; - Frag_h["tag"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["pos"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_VECTOR3 | xrfragment_XRF.T_STRING | xrfragment_XRF.METADATA | xrfragment_XRF.NAVIGATOR; - Frag_h["rot"] = xrfragment_XRF.QUERY_OPERATOR | xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_VECTOR3 | xrfragment_XRF.METADATA | xrfragment_XRF.NAVIGATOR; - Frag_h["t"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_FLOAT | xrfragment_XRF.T_VECTOR2 | xrfragment_XRF.NAVIGATOR | xrfragment_XRF.METADATA; - Frag_h["s"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_MEDIAFRAG; - Frag_h["loop"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_PREDEFINED_VIEW; - Frag_h["uv"] = xrfragment_XRF.T_VECTOR2 | xrfragment_XRF.T_MEDIAFRAG; - Frag_h["namespace"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["SPDX"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["unit"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["description"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - var keyStripped = key.replace(xrfragment_XRF.operators.r,""); - var isPVDynamic = key.length > 0 && !Object.prototype.hasOwnProperty.call(Frag_h,key); - if(isPVDynamic) { - var v = new xrfragment_XRF(key,xrfragment_XRF.PV_EXECUTE | xrfragment_XRF.NAVIGATOR,index); - v.validate(value); - v.flags = xrfragment_XRF.set(xrfragment_XRF.T_DYNAMICKEY,v.flags); - if(!Object.prototype.hasOwnProperty.call(Frag_h,key)) { - v.flags = xrfragment_XRF.set(xrfragment_XRF.CUSTOMFRAG,v.flags); - } - if(value.length == 0) { - v.flags = xrfragment_XRF.set(xrfragment_XRF.T_DYNAMICKEYVALUE,v.flags); - } - store[keyStripped] = v; - return true; - } - var v = new xrfragment_XRF(key,Frag_h[key],index); - if(Object.prototype.hasOwnProperty.call(Frag_h,key)) { - if(!v.validate(value)) { - console.log("src/xrfragment/Parser.hx:67:","⚠ fragment '" + key + "' has incompatible value (" + value + ")"); - return false; - } - store[keyStripped] = v; - if(xrfragment_Parser.debug) { - console.log("src/xrfragment/Parser.hx:71:","✔ " + key + ": " + v.string); - } - } else { - if(typeof(value) == "string") { - v.guessType(v,value); - } - v.flags = xrfragment_XRF.set(xrfragment_XRF.CUSTOMFRAG,v.flags); - store[keyStripped] = v; - } - return true; -}; -xrfragment_Parser.getMetaData = function() { - var meta = { title : ["title","og:title","dc.title"], description : ["aria-description","og:description","dc.description"], author : ["author","dc.creator"], publisher : ["publisher","dc.publisher"], website : ["og:site_name","og:url","dc.publisher"], license : ["SPDX","dc.rights"]}; - return meta; -}; -var xrfragment_URI = $hx_exports["xrfragment"]["URI"] = function() { - this.XRF = { }; - this.hash = { }; - this.fragment = ""; -}; -xrfragment_URI.__name__ = true; -xrfragment_URI.parseFragment = function(url,filter) { - var store = { }; - if(url == null || url.indexOf("#") == -1) { - return store; - } - var fragment = url.split("#"); - var splitArray = fragment[1].split("&"); - var _g = 0; - var _g1 = splitArray.length; - while(_g < _g1) { - var i = _g++; - var splitByEqual = splitArray[i].split("="); - var regexPlus = new EReg("\\+","g"); - var key = splitByEqual[0]; - var value = ""; - if(splitByEqual.length > 1) { - if(xrfragment_XRF.isVector.match(splitByEqual[1])) { - value = splitByEqual[1]; - } else { - var s = regexPlus.split(splitByEqual[1]).join(" "); - value = decodeURIComponent(s.split("+").join(" ")); - } - } - var ok = xrfragment_Parser.parse(key,value,store,i); - } - if(filter != null && filter != 0) { - var _g = 0; - var _g1 = Reflect.fields(store); - while(_g < _g1.length) { - var key = _g1[_g]; - ++_g; - var xrf = store[key]; - if(!xrf.is(filter)) { - Reflect.deleteField(store,key); - } - } - } - return store; -}; -xrfragment_URI.template = function(uri,vars) { - var parts = uri.split("#"); - if(parts.length == 1) { - return uri; - } - var frag = parts[1]; - frag = StringTools.replace(frag,"{","::"); - frag = StringTools.replace(frag,"}","::"); - frag = new haxe_Template(frag).execute(vars); - frag = StringTools.replace(frag,"null",""); - parts[1] = frag; - return parts.join("#"); -}; -xrfragment_URI.parse = function(stringUrl,flags) { - var r = new EReg("^(?:(?![^:@]+:[^:@/]*@)([^:/?#.]+):)?(?://)?((?:(([^:@]*)(?::([^:@]*))?)?@)?([^:/?#]*)(?::(\\d*))?)(((/(?:[^?#](?![^?#/]*\\.[^?#/.]+(?:[?#]|$)))*/?)?([^?#/]*))(?:\\?([^#]*))?(?:#(.*))?)",""); - if(stringUrl.indexOf("://") == -1 && stringUrl.charAt(0) != "/") { - stringUrl = "/" + stringUrl; - } - r.match(stringUrl); - var url = new xrfragment_URI(); - var _g = 0; - var _g1 = xrfragment_URI._parts.length; - while(_g < _g1) { - var i = _g++; - url[xrfragment_URI._parts[i]] = r.matched(i); - } - if(xrfragment_URI.isRelative(url) == true) { - if(url.directory == null && url.host != null) { - url.file = url.host; - } - url.host = ""; - } - url.hash = { }; - if(url.fragment != null && url.fragment.length > 0) { - url.XRF = xrfragment_URI.parseFragment("#" + url.fragment,flags); - var key; - var _g = 0; - var _g1 = Reflect.fields(url.XRF); - while(_g < _g1.length) { - var key = _g1[_g]; - ++_g; - var v = url.XRF[key]; - url.hash[key] = v["string"]; - } - } - xrfragment_URI.computeVars(url); - return url; -}; -xrfragment_URI.computeVars = function(url) { - var r_r = new RegExp("//","g".split("u").join("")); - if(url.directory != null && url.directory.indexOf("//") != -1) { - url.directory = url.directory.replace(r_r,"/"); - } - if(url.path != null && url.path.indexOf("//") != -1) { - url.path = url.path.replace(r_r,"/"); - } - if(url.file != null && url.file.indexOf("//") != -1) { - url.file = url.file.replace(r_r,"/"); - } - url.URN = url.scheme + "://" + url.host; - if(url.port != null) { - url.URN += ":" + url.port; - } - url.URN += url.directory; - if(url.file != null) { - var parts = url.file.split("."); - if(parts.length > 1) { - url.fileExt = parts.pop(); - } - } -}; -xrfragment_URI.toString = function(url) { - var result = ""; - if(url.scheme != null) { - result += url.scheme + "://"; - } - if(url.user != null) { - result += url.user + ":"; - } - if(url.password != null) { - result += url.password + "@"; - } - if(url.host != null) { - result += url.host; - } - if(url.port != null) { - result += ":" + url.port; - } - if(url.directory != null) { - result += url.directory; - } - if(url.file != null) { - result += url.file; - } - if(url.query != null) { - result += "?" + url.query; - } - if(url.fragment != null) { - result += "#" + url.fragment; - } - return result; -}; -xrfragment_URI.appendURI = function(url,appendedURI) { - if(xrfragment_URI.isRelative(url) == true) { - return xrfragment_URI.appendToRelativeURI(url,appendedURI); - } else { - return xrfragment_URI.appendToAbsoluteURI(url,appendedURI); - } -}; -xrfragment_URI.isRelative = function(url) { - return url.scheme == null; -}; -xrfragment_URI.appendToRelativeURI = function(url,appendedURI) { - if(url.directory == null || url.host == null) { - return xrfragment_URI.cloneURI(appendedURI); - } - var resultURI = new xrfragment_URI(); - resultURI.host = url.host; - resultURI.directory = url.directory; - if(appendedURI.host != null) { - resultURI.directory += appendedURI.host; - } - if(appendedURI.directory != null) { - var directory = appendedURI.directory; - if(appendedURI.host == null) { - resultURI.directory += HxOverrides.substr(directory,1,null); - } else { - resultURI.directory += directory; - } - } - if(appendedURI.file != null) { - resultURI.file = appendedURI.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(appendedURI.query != null) { - resultURI.query = appendedURI.query; - } - if(appendedURI.fragment != null) { - resultURI.fragment = appendedURI.fragment; - } - return resultURI; -}; -xrfragment_URI.appendToAbsoluteURI = function(url,appendedURI) { - var resultURI = new xrfragment_URI(); - if(url.scheme != null) { - resultURI.scheme = url.scheme; - } - if(url.host != null) { - resultURI.host = url.host; - } - var directory = ""; - if(url.directory != null) { - directory = url.directory; - } - if(appendedURI.host != null) { - appendedURI.directory += appendedURI.host; - } - if(appendedURI.directory != null) { - directory += appendedURI.directory; - } - resultURI.directory = directory; - if(appendedURI.file != null) { - resultURI.file = appendedURI.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(appendedURI.query != null) { - resultURI.query = appendedURI.query; - } - if(appendedURI.fragment != null) { - resultURI.fragment = appendedURI.fragment; - } - return resultURI; -}; -xrfragment_URI.toAbsolute = function(url,newUrl) { - var newURI = xrfragment_URI.parse(newUrl,0); - var resultURI = new xrfragment_URI(); - resultURI.port = url.port; - resultURI.source = newUrl; - if(newURI.scheme != null) { - resultURI.scheme = newURI.scheme; - } else { - resultURI.scheme = url.scheme; - } - if(newURI.host != null && newURI.host.length > 0) { - resultURI.host = newURI.host; - resultURI.port = null; - resultURI.fragment = null; - resultURI.hash = { }; - resultURI.XRF = { }; - if(newURI.port != null) { - resultURI.port = newURI.port; - } - } else { - resultURI.host = url.host; - } - var directory = ""; - if(url.directory != null) { - directory = url.directory; - } - if(newURI.directory != null) { - if(newUrl.charAt(0) != "/" && newUrl.indexOf("://") == -1) { - var stripRelative_r = new RegExp("\\./.*","".split("u").join("")); - directory = directory.replace(stripRelative_r,""); - directory += newURI.directory; - } else { - directory = newURI.directory; - } - } - resultURI.directory = directory; - if(newURI.file != null) { - resultURI.file = newURI.file; - } else { - resultURI.file = url.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(newURI.query != null) { - resultURI.query = newURI.query; - } - if(newURI.fragment != null) { - resultURI.fragment = newURI.fragment; - } - resultURI.hash = newURI.hash; - resultURI.XRF = newURI.XRF; - xrfragment_URI.computeVars(resultURI); - return resultURI; -}; -xrfragment_URI.cloneURI = function(url) { - var clonedURI = new xrfragment_URI(); - clonedURI.url = url.url; - clonedURI.source = url.source; - clonedURI.scheme = url.scheme; - clonedURI.authority = url.authority; - clonedURI.userInfo = url.userInfo; - clonedURI.password = url.password; - clonedURI.host = url.host; - clonedURI.port = url.port; - clonedURI.relative = url.relative; - clonedURI.path = url.path; - clonedURI.directory = url.directory; - clonedURI.file = url.file; - clonedURI.query = url.query; - clonedURI.fragment = url.fragment; - return clonedURI; -}; -var xrfragment_XRF = $hx_exports["xrfragment"]["XRF"] = function(_fragment,_flags,_index) { - this.floats = []; - this.shift = []; - this.fragment = _fragment; - this.flags = _flags; - this.index = _index; -}; -xrfragment_XRF.__name__ = true; -xrfragment_XRF.set = function(flag,flags) { - return flags | flag; -}; -xrfragment_XRF.unset = function(flag,flags) { - return flags & ~flag; -}; -xrfragment_XRF.prototype = { - is: function(flag) { - var v = this.flags; - if(!(typeof(v) == "number" && ((v | 0) === v))) { - this.flags = 0; - } - return (this.flags & flag) != 0; - } - ,validate: function(value) { - this.guessType(this,value); - var ok = true; - if(value.length == 0 && !this.is(xrfragment_XRF.T_PREDEFINED_VIEW)) { - ok = false; - } - if(!this.is(xrfragment_XRF.T_FLOAT) && this.is(xrfragment_XRF.T_VECTOR2) && !(typeof(this.x) == "number" && typeof(this.y) == "number")) { - ok = false; - } - if(!(this.is(xrfragment_XRF.T_VECTOR2) || this.is(xrfragment_XRF.T_STRING)) && this.is(xrfragment_XRF.T_VECTOR3) && !(typeof(this.x) == "number" && typeof(this.y) == "number" && typeof(this.z) == "number")) { - ok = false; - } - return ok; - } - ,guessType: function(v,str) { - v.string = str; - if(xrfragment_XRF.isReset.match(v.fragment)) { - v.reset = true; - } - if(v.fragment == "loop") { - v.loop = true; - } - if(typeof(str) != "string") { - return; - } - if(str.length > 0) { - if(xrfragment_XRF.isXRFScheme.match(str)) { - v.xrfScheme = true; - str = str.replace(xrfragment_XRF.isXRFScheme.r,""); - v.string = str; - } - if(str.split(",").length > 1) { - var xyzn = str.split(","); - if(xyzn.length > 0) { - v.x = parseFloat(xyzn[0]); - } - if(xyzn.length > 1) { - v.y = parseFloat(xyzn[1]); - } - if(xyzn.length > 2) { - v.z = parseFloat(xyzn[2]); - } - var _g = 0; - var _g1 = xyzn.length; - while(_g < _g1) { - var i = _g++; - v.shift.push(xrfragment_XRF.isShift.match(xyzn[i])); - v.floats.push(parseFloat(xyzn[i].replace(xrfragment_XRF.isShift.r,""))); - } - } - if(xrfragment_XRF.isColor.match(str)) { - v.color = str; - } - if(xrfragment_XRF.isFloat.match(str)) { - v.x = parseFloat(str); - v.float = v.x; - } - if(xrfragment_XRF.isInt.match(str)) { - v.int = Std.parseInt(str); - v.x = v.int; - v.floats.push(v.x); - } - v.filter = new xrfragment_Filter(v.fragment + "=" + v.string); - } else { - v.filter = new xrfragment_Filter(v.fragment); - } - } -}; -function $getIterator(o) { if( o instanceof Array ) return new haxe_iterators_ArrayIterator(o); else return o.iterator(); } -function $bind(o,m) { if( m == null ) return null; if( m.__id__ == null ) m.__id__ = $global.$haxeUID++; var f; if( o.hx__closures__ == null ) o.hx__closures__ = {}; else f = o.hx__closures__[m.__id__]; if( f == null ) { f = m.bind(o); o.hx__closures__[m.__id__] = f; } return f; } -$global.$haxeUID |= 0; -if(typeof(performance) != "undefined" ? typeof(performance.now) == "function" : false) { - HxOverrides.now = performance.now.bind(performance); -} -if( String.fromCodePoint == null ) String.fromCodePoint = function(c) { return c < 0x10000 ? String.fromCharCode(c) : String.fromCharCode((c>>10)+0xD7C0)+String.fromCharCode((c&0x3FF)+0xDC00); } -String.__name__ = true; -Array.__name__ = true; -js_Boot.__toStr = ({ }).toString; -haxe_Template.splitter = new EReg("(::[A-Za-z0-9_ ()&|!+=/><*.\"-]+::|\\$\\$([A-Za-z0-9_-]+)\\()",""); -haxe_Template.expr_splitter = new EReg("(\\(|\\)|[ \r\n\t]*\"[^\"]*\"[ \r\n\t]*|[!+=/><*.&|-]+)",""); -haxe_Template.expr_trim = new EReg("^[ ]*([^ ]+)[ ]*$",""); -haxe_Template.expr_int = new EReg("^[0-9]+$",""); -haxe_Template.expr_float = new EReg("^([+-]?)(?=\\d|,\\d)\\d*(,\\d*)?([Ee]([+-]?\\d+))?$",""); -haxe_Template.globals = { }; -haxe_Template.hxKeepArrayIterator = new haxe_iterators_ArrayIterator([]); -xrfragment_Parser.error = ""; -xrfragment_Parser.debug = false; -xrfragment_URI.__meta__ = { statics : { template : { keep : null}}}; -xrfragment_URI._parts = ["source","scheme","authority","userInfo","user","password","host","port","relative","path","directory","file","query","fragment"]; -xrfragment_XRF.IMMUTABLE = 1; -xrfragment_XRF.PROP_BIND = 2; -xrfragment_XRF.QUERY_OPERATOR = 4; -xrfragment_XRF.PROMPT = 8; -xrfragment_XRF.CUSTOMFRAG = 16; -xrfragment_XRF.NAVIGATOR = 32; -xrfragment_XRF.METADATA = 64; -xrfragment_XRF.PV_OVERRIDE = 128; -xrfragment_XRF.PV_EXECUTE = 256; -xrfragment_XRF.T_COLOR = 8192; -xrfragment_XRF.T_INT = 16384; -xrfragment_XRF.T_FLOAT = 32768; -xrfragment_XRF.T_VECTOR2 = 65536; -xrfragment_XRF.T_VECTOR3 = 131072; -xrfragment_XRF.T_URL = 262144; -xrfragment_XRF.T_PREDEFINED_VIEW = 524288; -xrfragment_XRF.T_STRING = 1048576; -xrfragment_XRF.T_MEDIAFRAG = 2097152; -xrfragment_XRF.T_DYNAMICKEY = 4194304; -xrfragment_XRF.T_DYNAMICKEYVALUE = 8388608; -xrfragment_XRF.isColor = new EReg("^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$",""); -xrfragment_XRF.isInt = new EReg("^[-0-9]+$",""); -xrfragment_XRF.isFloat = new EReg("^[-0-9]+\\.[0-9]+$",""); -xrfragment_XRF.isVector = new EReg("([,]+|\\w)",""); -xrfragment_XRF.isUrl = new EReg("(://)?\\..*",""); -xrfragment_XRF.isUrlOrPretypedView = new EReg("(^#|://)?\\..*",""); -xrfragment_XRF.isString = new EReg(".*",""); -xrfragment_XRF.operators = new EReg("(^[-]|^[!]|[\\*]$)","g"); -xrfragment_XRF.isProp = new EReg("^.*=[><=]?",""); -xrfragment_XRF.isExclude = new EReg("^-",""); -xrfragment_XRF.isDeep = new EReg("\\*",""); -xrfragment_XRF.isNumber = new EReg("^[0-9\\.]+$",""); -xrfragment_XRF.isMediaFrag = new EReg("^([0-9\\.,\\*+-]+)$",""); -xrfragment_XRF.isReset = new EReg("^!",""); -xrfragment_XRF.isShift = new EReg("^(\\+|--)",""); -xrfragment_XRF.isXRFScheme = new EReg("^xrf://",""); -})(typeof window != "undefined" ? window : typeof global != "undefined" ? global : typeof self != "undefined" ? self : this); -var xrfragment = $hx_exports["xrfragment"]; -export default xrfragment; -// Generated by Haxe 4.3.3 -var $hx_exports = typeof exports != "undefined" ? exports : typeof window != "undefined" ? window : typeof self != "undefined" ? self : this; -(function ($global) { "use strict"; -$hx_exports["xrfragment"] = $hx_exports["xrfragment"] || {}; -var $estr = function() { return js_Boot.__string_rec(this,''); },$hxEnums = $hxEnums || {},$_; -function $extend(from, fields) { - var proto = Object.create(from); - for (var name in fields) proto[name] = fields[name]; - if( fields.toString !== Object.prototype.toString ) proto.toString = fields.toString; - return proto; -} -var EReg = function(r,opt) { - this.r = new RegExp(r,opt.split("u").join("")); -}; -EReg.__name__ = true; -EReg.prototype = { - match: function(s) { - if(this.r.global) { - this.r.lastIndex = 0; - } - this.r.m = this.r.exec(s); - this.r.s = s; - return this.r.m != null; - } - ,matched: function(n) { - if(this.r.m != null && n >= 0 && n < this.r.m.length) { - return this.r.m[n]; - } else { - throw haxe_Exception.thrown("EReg::matched"); - } - } - ,matchedRight: function() { - if(this.r.m == null) { - throw haxe_Exception.thrown("No string matched"); - } - var sz = this.r.m.index + this.r.m[0].length; - return HxOverrides.substr(this.r.s,sz,this.r.s.length - sz); - } - ,matchedPos: function() { - if(this.r.m == null) { - throw haxe_Exception.thrown("No string matched"); - } - return { pos : this.r.m.index, len : this.r.m[0].length}; - } - ,split: function(s) { - var d = "#__delim__#"; - return s.replace(this.r,d).split(d); - } -}; -var HxOverrides = function() { }; -HxOverrides.__name__ = true; -HxOverrides.cca = function(s,index) { - var x = s.charCodeAt(index); - if(x != x) { - return undefined; - } - return x; -}; -HxOverrides.substr = function(s,pos,len) { - if(len == null) { - len = s.length; - } else if(len < 0) { - if(pos == 0) { - len = s.length + len; - } else { - return ""; - } - } - return s.substr(pos,len); -}; -HxOverrides.now = function() { - return Date.now(); -}; -Math.__name__ = true; -var Reflect = function() { }; -Reflect.__name__ = true; -Reflect.field = function(o,field) { - try { - return o[field]; - } catch( _g ) { - return null; - } -}; -Reflect.getProperty = function(o,field) { - var tmp; - if(o == null) { - return null; - } else { - var tmp1; - if(o.__properties__) { - tmp = o.__properties__["get_" + field]; - tmp1 = tmp; - } else { - tmp1 = false; - } - if(tmp1) { - return o[tmp](); - } else { - return o[field]; - } - } -}; -Reflect.fields = function(o) { - var a = []; - if(o != null) { - var hasOwnProperty = Object.prototype.hasOwnProperty; - for( var f in o ) { - if(f != "__id__" && f != "hx__closures__" && hasOwnProperty.call(o,f)) { - a.push(f); - } - } - } - return a; -}; -Reflect.isObject = function(v) { - if(v == null) { - return false; - } - var t = typeof(v); - if(!(t == "string" || t == "object" && v.__enum__ == null)) { - if(t == "function") { - return (v.__name__ || v.__ename__) != null; - } else { - return false; - } - } else { - return true; - } -}; -Reflect.deleteField = function(o,field) { - if(!Object.prototype.hasOwnProperty.call(o,field)) { - return false; - } - delete(o[field]); - return true; -}; -Reflect.copy = function(o) { - if(o == null) { - return null; - } - var o2 = { }; - var _g = 0; - var _g1 = Reflect.fields(o); - while(_g < _g1.length) { - var f = _g1[_g]; - ++_g; - o2[f] = Reflect.field(o,f); - } - return o2; -}; -var Std = function() { }; -Std.__name__ = true; -Std.string = function(s) { - return js_Boot.__string_rec(s,""); -}; -Std.parseInt = function(x) { - var v = parseInt(x); - if(isNaN(v)) { - return null; - } - return v; -}; -var StringBuf = function() { - this.b = ""; -}; -StringBuf.__name__ = true; -var StringTools = function() { }; -StringTools.__name__ = true; -StringTools.isSpace = function(s,pos) { - var c = HxOverrides.cca(s,pos); - if(!(c > 8 && c < 14)) { - return c == 32; - } else { - return true; - } -}; -StringTools.ltrim = function(s) { - var l = s.length; - var r = 0; - while(r < l && StringTools.isSpace(s,r)) ++r; - if(r > 0) { - return HxOverrides.substr(s,r,l - r); - } else { - return s; - } -}; -StringTools.rtrim = function(s) { - var l = s.length; - var r = 0; - while(r < l && StringTools.isSpace(s,l - r - 1)) ++r; - if(r > 0) { - return HxOverrides.substr(s,0,l - r); - } else { - return s; - } -}; -StringTools.trim = function(s) { - return StringTools.ltrim(StringTools.rtrim(s)); -}; -StringTools.replace = function(s,sub,by) { - return s.split(sub).join(by); -}; -var haxe_Exception = function(message,previous,native) { - Error.call(this,message); - this.message = message; - this.__previousException = previous; - this.__nativeException = native != null ? native : this; -}; -haxe_Exception.__name__ = true; -haxe_Exception.caught = function(value) { - if(((value) instanceof haxe_Exception)) { - return value; - } else if(((value) instanceof Error)) { - return new haxe_Exception(value.message,null,value); - } else { - return new haxe_ValueException(value,null,value); - } -}; -haxe_Exception.thrown = function(value) { - if(((value) instanceof haxe_Exception)) { - return value.get_native(); - } else if(((value) instanceof Error)) { - return value; - } else { - var e = new haxe_ValueException(value); - return e; - } -}; -haxe_Exception.__super__ = Error; -haxe_Exception.prototype = $extend(Error.prototype,{ - unwrap: function() { - return this.__nativeException; - } - ,get_native: function() { - return this.__nativeException; - } - ,__properties__: {get_native:"get_native"} -}); -var haxe__$Template_TemplateExpr = $hxEnums["haxe._Template.TemplateExpr"] = { __ename__:true,__constructs__:null - ,OpVar: ($_=function(v) { return {_hx_index:0,v:v,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpVar",$_.__params__ = ["v"],$_) - ,OpExpr: ($_=function(expr) { return {_hx_index:1,expr:expr,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpExpr",$_.__params__ = ["expr"],$_) - ,OpIf: ($_=function(expr,eif,eelse) { return {_hx_index:2,expr:expr,eif:eif,eelse:eelse,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpIf",$_.__params__ = ["expr","eif","eelse"],$_) - ,OpStr: ($_=function(str) { return {_hx_index:3,str:str,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpStr",$_.__params__ = ["str"],$_) - ,OpBlock: ($_=function(l) { return {_hx_index:4,l:l,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpBlock",$_.__params__ = ["l"],$_) - ,OpForeach: ($_=function(expr,loop) { return {_hx_index:5,expr:expr,loop:loop,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpForeach",$_.__params__ = ["expr","loop"],$_) - ,OpMacro: ($_=function(name,params) { return {_hx_index:6,name:name,params:params,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpMacro",$_.__params__ = ["name","params"],$_) -}; -haxe__$Template_TemplateExpr.__constructs__ = [haxe__$Template_TemplateExpr.OpVar,haxe__$Template_TemplateExpr.OpExpr,haxe__$Template_TemplateExpr.OpIf,haxe__$Template_TemplateExpr.OpStr,haxe__$Template_TemplateExpr.OpBlock,haxe__$Template_TemplateExpr.OpForeach,haxe__$Template_TemplateExpr.OpMacro]; -var haxe_iterators_ArrayIterator = function(array) { - this.current = 0; - this.array = array; -}; -haxe_iterators_ArrayIterator.__name__ = true; -haxe_iterators_ArrayIterator.prototype = { - hasNext: function() { - return this.current < this.array.length; - } - ,next: function() { - return this.array[this.current++]; - } -}; -var haxe_Template = function(str) { - var tokens = this.parseTokens(str); - this.expr = this.parseBlock(tokens); - if(!tokens.isEmpty()) { - throw haxe_Exception.thrown("Unexpected '" + Std.string(tokens.first().s) + "'"); - } -}; -haxe_Template.__name__ = true; -haxe_Template.prototype = { - execute: function(context,macros) { - this.macros = macros == null ? { } : macros; - this.context = context; - this.stack = new haxe_ds_List(); - this.buf = new StringBuf(); - this.run(this.expr); - return this.buf.b; - } - ,resolve: function(v) { - if(v == "__current__") { - return this.context; - } - if(Reflect.isObject(this.context)) { - var value = Reflect.getProperty(this.context,v); - if(value != null || Object.prototype.hasOwnProperty.call(this.context,v)) { - return value; - } - } - var _g_head = this.stack.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var ctx = val; - var value = Reflect.getProperty(ctx,v); - if(value != null || Object.prototype.hasOwnProperty.call(ctx,v)) { - return value; - } - } - return Reflect.field(haxe_Template.globals,v); - } - ,parseTokens: function(data) { - var tokens = new haxe_ds_List(); - while(haxe_Template.splitter.match(data)) { - var p = haxe_Template.splitter.matchedPos(); - if(p.pos > 0) { - tokens.add({ p : HxOverrides.substr(data,0,p.pos), s : true, l : null}); - } - if(HxOverrides.cca(data,p.pos) == 58) { - tokens.add({ p : HxOverrides.substr(data,p.pos + 2,p.len - 4), s : false, l : null}); - data = haxe_Template.splitter.matchedRight(); - continue; - } - var parp = p.pos + p.len; - var npar = 1; - var params = []; - var part = ""; - while(true) { - var c = HxOverrides.cca(data,parp); - ++parp; - if(c == 40) { - ++npar; - } else if(c == 41) { - --npar; - if(npar <= 0) { - break; - } - } else if(c == null) { - throw haxe_Exception.thrown("Unclosed macro parenthesis"); - } - if(c == 44 && npar == 1) { - params.push(part); - part = ""; - } else { - part += String.fromCodePoint(c); - } - } - params.push(part); - tokens.add({ p : haxe_Template.splitter.matched(2), s : false, l : params}); - data = HxOverrides.substr(data,parp,data.length - parp); - } - if(data.length > 0) { - tokens.add({ p : data, s : true, l : null}); - } - return tokens; - } - ,parseBlock: function(tokens) { - var l = new haxe_ds_List(); - while(true) { - var t = tokens.first(); - if(t == null) { - break; - } - if(!t.s && (t.p == "end" || t.p == "else" || HxOverrides.substr(t.p,0,7) == "elseif ")) { - break; - } - l.add(this.parse(tokens)); - } - if(l.length == 1) { - return l.first(); - } - return haxe__$Template_TemplateExpr.OpBlock(l); - } - ,parse: function(tokens) { - var t = tokens.pop(); - var p = t.p; - if(t.s) { - return haxe__$Template_TemplateExpr.OpStr(p); - } - if(t.l != null) { - var pe = new haxe_ds_List(); - var _g = 0; - var _g1 = t.l; - while(_g < _g1.length) { - var p1 = _g1[_g]; - ++_g; - pe.add(this.parseBlock(this.parseTokens(p1))); - } - return haxe__$Template_TemplateExpr.OpMacro(p,pe); - } - var kwdEnd = function(kwd) { - var pos = -1; - var length = kwd.length; - if(HxOverrides.substr(p,0,length) == kwd) { - pos = length; - var _g_offset = 0; - var _g_s = HxOverrides.substr(p,length,null); - while(_g_offset < _g_s.length) { - var c = _g_s.charCodeAt(_g_offset++); - if(c == 32) { - ++pos; - } else { - break; - } - } - } - return pos; - }; - var pos = kwdEnd("if"); - if(pos > 0) { - p = HxOverrides.substr(p,pos,p.length - pos); - var e = this.parseExpr(p); - var eif = this.parseBlock(tokens); - var t = tokens.first(); - var eelse; - if(t == null) { - throw haxe_Exception.thrown("Unclosed 'if'"); - } - if(t.p == "end") { - tokens.pop(); - eelse = null; - } else if(t.p == "else") { - tokens.pop(); - eelse = this.parseBlock(tokens); - t = tokens.pop(); - if(t == null || t.p != "end") { - throw haxe_Exception.thrown("Unclosed 'else'"); - } - } else { - t.p = HxOverrides.substr(t.p,4,t.p.length - 4); - eelse = this.parse(tokens); - } - return haxe__$Template_TemplateExpr.OpIf(e,eif,eelse); - } - var pos = kwdEnd("foreach"); - if(pos >= 0) { - p = HxOverrides.substr(p,pos,p.length - pos); - var e = this.parseExpr(p); - var efor = this.parseBlock(tokens); - var t = tokens.pop(); - if(t == null || t.p != "end") { - throw haxe_Exception.thrown("Unclosed 'foreach'"); - } - return haxe__$Template_TemplateExpr.OpForeach(e,efor); - } - if(haxe_Template.expr_splitter.match(p)) { - return haxe__$Template_TemplateExpr.OpExpr(this.parseExpr(p)); - } - return haxe__$Template_TemplateExpr.OpVar(p); - } - ,parseExpr: function(data) { - var l = new haxe_ds_List(); - var expr = data; - while(haxe_Template.expr_splitter.match(data)) { - var p = haxe_Template.expr_splitter.matchedPos(); - var k = p.pos + p.len; - if(p.pos != 0) { - l.add({ p : HxOverrides.substr(data,0,p.pos), s : true}); - } - var p1 = haxe_Template.expr_splitter.matched(0); - l.add({ p : p1, s : p1.indexOf("\"") >= 0}); - data = haxe_Template.expr_splitter.matchedRight(); - } - if(data.length != 0) { - var _g_offset = 0; - var _g_s = data; - while(_g_offset < _g_s.length) { - var _g_key = _g_offset; - var _g_value = _g_s.charCodeAt(_g_offset++); - var i = _g_key; - var c = _g_value; - if(c != 32) { - l.add({ p : HxOverrides.substr(data,i,null), s : true}); - break; - } - } - } - var e; - try { - e = this.makeExpr(l); - if(!l.isEmpty()) { - throw haxe_Exception.thrown(l.first().p); - } - } catch( _g ) { - var _g1 = haxe_Exception.caught(_g).unwrap(); - if(typeof(_g1) == "string") { - var s = _g1; - throw haxe_Exception.thrown("Unexpected '" + s + "' in " + expr); - } else { - throw _g; - } - } - return function() { - try { - return e(); - } catch( _g ) { - var exc = haxe_Exception.caught(_g).unwrap(); - throw haxe_Exception.thrown("Error : " + Std.string(exc) + " in " + expr); - } - }; - } - ,makeConst: function(v) { - haxe_Template.expr_trim.match(v); - v = haxe_Template.expr_trim.matched(1); - if(HxOverrides.cca(v,0) == 34) { - var str = HxOverrides.substr(v,1,v.length - 2); - return function() { - return str; - }; - } - if(haxe_Template.expr_int.match(v)) { - var i = Std.parseInt(v); - return function() { - return i; - }; - } - if(haxe_Template.expr_float.match(v)) { - var f = parseFloat(v); - return function() { - return f; - }; - } - var me = this; - return function() { - return me.resolve(v); - }; - } - ,makePath: function(e,l) { - var p = l.first(); - if(p == null || p.p != ".") { - return e; - } - l.pop(); - var field = l.pop(); - if(field == null || !field.s) { - throw haxe_Exception.thrown(field.p); - } - var f = field.p; - haxe_Template.expr_trim.match(f); - f = haxe_Template.expr_trim.matched(1); - return this.makePath(function() { - return Reflect.field(e(),f); - },l); - } - ,makeExpr: function(l) { - return this.makePath(this.makeExpr2(l),l); - } - ,skipSpaces: function(l) { - var p = l.first(); - while(p != null) { - var _g_offset = 0; - var _g_s = p.p; - while(_g_offset < _g_s.length) { - var c = _g_s.charCodeAt(_g_offset++); - if(c != 32) { - return; - } - } - l.pop(); - p = l.first(); - } - } - ,makeExpr2: function(l) { - this.skipSpaces(l); - var p = l.pop(); - this.skipSpaces(l); - if(p == null) { - throw haxe_Exception.thrown(""); - } - if(p.s) { - return this.makeConst(p.p); - } - switch(p.p) { - case "!": - var e = this.makeExpr(l); - return function() { - var v = e(); - if(v != null) { - return v == false; - } else { - return true; - } - }; - case "(": - this.skipSpaces(l); - var e1 = this.makeExpr(l); - this.skipSpaces(l); - var p1 = l.pop(); - if(p1 == null || p1.s) { - throw haxe_Exception.thrown(p1); - } - if(p1.p == ")") { - return e1; - } - this.skipSpaces(l); - var e2 = this.makeExpr(l); - this.skipSpaces(l); - var p2 = l.pop(); - this.skipSpaces(l); - if(p2 == null || p2.p != ")") { - throw haxe_Exception.thrown(p2); - } - switch(p1.p) { - case "!=": - return function() { - return e1() != e2(); - }; - case "&&": - return function() { - return e1() && e2(); - }; - case "*": - return function() { - return e1() * e2(); - }; - case "+": - return function() { - return e1() + e2(); - }; - case "-": - return function() { - return e1() - e2(); - }; - case "/": - return function() { - return e1() / e2(); - }; - case "<": - return function() { - return e1() < e2(); - }; - case "<=": - return function() { - return e1() <= e2(); - }; - case "==": - return function() { - return e1() == e2(); - }; - case ">": - return function() { - return e1() > e2(); - }; - case ">=": - return function() { - return e1() >= e2(); - }; - case "||": - return function() { - return e1() || e2(); - }; - default: - throw haxe_Exception.thrown("Unknown operation " + p1.p); - } - break; - case "-": - var e3 = this.makeExpr(l); - return function() { - return -e3(); - }; - } - throw haxe_Exception.thrown(p.p); - } - ,run: function(e) { - switch(e._hx_index) { - case 0: - var v = e.v; - var _this = this.buf; - var x = Std.string(this.resolve(v)); - _this.b += Std.string(x); - break; - case 1: - var e1 = e.expr; - var _this = this.buf; - var x = Std.string(e1()); - _this.b += Std.string(x); - break; - case 2: - var e1 = e.expr; - var eif = e.eif; - var eelse = e.eelse; - var v = e1(); - if(v == null || v == false) { - if(eelse != null) { - this.run(eelse); - } - } else { - this.run(eif); - } - break; - case 3: - var str = e.str; - this.buf.b += str == null ? "null" : "" + str; - break; - case 4: - var l = e.l; - var _g_head = l.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var e1 = val; - this.run(e1); - } - break; - case 5: - var e1 = e.expr; - var loop = e.loop; - var v = e1(); - try { - var x = $getIterator(v); - if(x.hasNext == null) { - throw haxe_Exception.thrown(null); - } - v = x; - } catch( _g ) { - try { - if(v.hasNext == null) { - throw haxe_Exception.thrown(null); - } - } catch( _g1 ) { - throw haxe_Exception.thrown("Cannot iter on " + Std.string(v)); - } - } - this.stack.push(this.context); - var v1 = v; - var ctx = v1; - while(ctx.hasNext()) { - var ctx1 = ctx.next(); - this.context = ctx1; - this.run(loop); - } - this.context = this.stack.pop(); - break; - case 6: - var m = e.name; - var params = e.params; - var v = Reflect.field(this.macros,m); - var pl = []; - var old = this.buf; - pl.push($bind(this,this.resolve)); - var _g_head = params.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var p = val; - if(p._hx_index == 0) { - var v1 = p.v; - pl.push(this.resolve(v1)); - } else { - this.buf = new StringBuf(); - this.run(p); - pl.push(this.buf.b); - } - } - this.buf = old; - try { - var _this = this.buf; - var x = Std.string(v.apply(this.macros,pl)); - _this.b += Std.string(x); - } catch( _g ) { - var e = haxe_Exception.caught(_g).unwrap(); - var plstr; - try { - plstr = pl.join(","); - } catch( _g1 ) { - plstr = "???"; - } - var msg = "Macro call " + m + "(" + plstr + ") failed (" + Std.string(e) + ")"; - throw haxe_Exception.thrown(msg); - } - break; - } - } -}; -var haxe_ValueException = function(value,previous,native) { - haxe_Exception.call(this,String(value),previous,native); - this.value = value; -}; -haxe_ValueException.__name__ = true; -haxe_ValueException.__super__ = haxe_Exception; -haxe_ValueException.prototype = $extend(haxe_Exception.prototype,{ - unwrap: function() { - return this.value; - } -}); -var haxe_ds_List = function() { - this.length = 0; -}; -haxe_ds_List.__name__ = true; -haxe_ds_List.prototype = { - add: function(item) { - var x = new haxe_ds__$List_ListNode(item,null); - if(this.h == null) { - this.h = x; - } else { - this.q.next = x; - } - this.q = x; - this.length++; - } - ,push: function(item) { - var x = new haxe_ds__$List_ListNode(item,this.h); - this.h = x; - if(this.q == null) { - this.q = x; - } - this.length++; - } - ,first: function() { - if(this.h == null) { - return null; - } else { - return this.h.item; - } - } - ,pop: function() { - if(this.h == null) { - return null; - } - var x = this.h.item; - this.h = this.h.next; - if(this.h == null) { - this.q = null; - } - this.length--; - return x; - } - ,isEmpty: function() { - return this.h == null; - } - ,toString: function() { - var s_b = ""; - var first = true; - var l = this.h; - s_b += "{"; - while(l != null) { - if(first) { - first = false; - } else { - s_b += ", "; - } - s_b += Std.string(Std.string(l.item)); - l = l.next; - } - s_b += "}"; - return s_b; - } -}; -var haxe_ds__$List_ListNode = function(item,next) { - this.item = item; - this.next = next; -}; -haxe_ds__$List_ListNode.__name__ = true; -var js_Boot = function() { }; -js_Boot.__name__ = true; -js_Boot.__string_rec = function(o,s) { - if(o == null) { - return "null"; - } - if(s.length >= 5) { - return "<...>"; - } - var t = typeof(o); - if(t == "function" && (o.__name__ || o.__ename__)) { - t = "object"; - } - switch(t) { - case "function": - return ""; - case "object": - if(o.__enum__) { - var e = $hxEnums[o.__enum__]; - var con = e.__constructs__[o._hx_index]; - var n = con._hx_name; - if(con.__params__) { - s = s + "\t"; - return n + "(" + ((function($this) { - var $r; - var _g = []; - { - var _g1 = 0; - var _g2 = con.__params__; - while(true) { - if(!(_g1 < _g2.length)) { - break; - } - var p = _g2[_g1]; - _g1 = _g1 + 1; - _g.push(js_Boot.__string_rec(o[p],s)); - } - } - $r = _g; - return $r; - }(this))).join(",") + ")"; - } else { - return n; - } - } - if(((o) instanceof Array)) { - var str = "["; - s += "\t"; - var _g = 0; - var _g1 = o.length; - while(_g < _g1) { - var i = _g++; - str += (i > 0 ? "," : "") + js_Boot.__string_rec(o[i],s); - } - str += "]"; - return str; - } - var tostr; - try { - tostr = o.toString; - } catch( _g ) { - return "???"; - } - if(tostr != null && tostr != Object.toString && typeof(tostr) == "function") { - var s2 = o.toString(); - if(s2 != "[object Object]") { - return s2; - } - } - var str = "{\n"; - s += "\t"; - var hasp = o.hasOwnProperty != null; - var k = null; - for( k in o ) { - if(hasp && !o.hasOwnProperty(k)) { - continue; - } - if(k == "prototype" || k == "__class__" || k == "__super__" || k == "__interfaces__" || k == "__properties__") { - continue; - } - if(str.length != 2) { - str += ", \n"; - } - str += s + k + " : " + js_Boot.__string_rec(o[k],s); - } - s = s.substring(1); - str += "\n" + s + "}"; - return str; - case "string": - return o; - default: - return String(o); - } -}; -var xrfragment_Filter = $hx_exports["xrfragment"]["Filter"] = function(str) { - this.q = { }; - this.str = ""; - if(str != null) { - this.parse(str); - } -}; -xrfragment_Filter.__name__ = true; -xrfragment_Filter.prototype = { - toObject: function() { - return Reflect.copy(this.q); - } - ,get: function() { - return Reflect.copy(this.q); - } - ,parse: function(str) { - var token = str.split(" "); - var q = { }; - var process = function(str,prefix) { - if(prefix == null) { - prefix = ""; - } - str = StringTools.trim(str); - var k = str.split("=")[0]; - var v = str.split("=")[1]; - var filter = { }; - if(q[prefix + k]) { - filter = q[prefix + k]; - } - if(xrfragment_XRF.isProp.match(str)) { - var oper = ""; - if(str.indexOf(">") != -1) { - oper = ">"; - } - if(str.indexOf("<") != -1) { - oper = "<"; - } - if(xrfragment_XRF.isExclude.match(k)) { - k = HxOverrides.substr(k,1,null); - } - v = HxOverrides.substr(v,oper.length,null); - if(oper.length == 0) { - oper = "="; - } - var rule = { }; - if(xrfragment_XRF.isNumber.match(v)) { - rule[oper] = parseFloat(v); - } else { - rule[oper] = v; - } - q["expr"] = rule; - } - var value = xrfragment_XRF.isDeep.match(str) ? k.split("*").length - 1 : 0; - q["deep"] = value; - var value = xrfragment_XRF.isExclude.match(str) ? false : true; - q["show"] = value; - var value = k.replace(xrfragment_XRF.operators.r,""); - q["key"] = value; - q["value"] = v; - }; - var _g = 0; - var _g1 = token.length; - while(_g < _g1) { - var i = _g++; - process(token[i]); - } - return this.q = q; - } - ,test: function(obj) { - var qualify = false; - var _g = 0; - var _g1 = Reflect.fields(obj); - while(_g < _g1.length) { - var k = _g1[_g]; - ++_g; - var v = Std.string(Reflect.field(obj,k)); - if(this.testProperty(k,v)) { - qualify = true; - } - } - var _g = 0; - var _g1 = Reflect.fields(obj); - while(_g < _g1.length) { - var k = _g1[_g]; - ++_g; - var v = Std.string(Reflect.field(obj,k)); - if(this.testProperty(k,v,true)) { - qualify = false; - } - } - return qualify; - } - ,testProperty: function(property,value,exclude) { - var conds = 0; - var fails = 0; - var qualify = 0; - var testprop = function(expr) { - conds += 1; - fails += expr ? 0 : 1; - return expr; - }; - if(this.q[value] != null) { - var v = this.q[value]; - if(v[property] != null) { - return v[property]; - } - } - if(Reflect.field(this.q,"expr")) { - var f = Reflect.field(this.q,"expr"); - if(!Reflect.field(this.q,"show")) { - if(Reflect.field(f,"!=") != null && testprop((value == null ? "null" : "" + value) == Std.string(Reflect.field(f,"!="))) && exclude) { - ++qualify; - } - } else { - if(Reflect.field(f,"*") != null && testprop(parseFloat(value) != null)) { - ++qualify; - } - if(Reflect.field(f,">") != null && testprop(parseFloat(value) >= parseFloat(Reflect.field(f,">")))) { - ++qualify; - } - if(Reflect.field(f,"<") != null && testprop(parseFloat(value) <= parseFloat(Reflect.field(f,"<")))) { - ++qualify; - } - if(Reflect.field(f,"=") != null && (testprop(value == Reflect.field(f,"=")) || testprop(parseFloat(value) == parseFloat(Reflect.field(f,"="))))) { - ++qualify; - } - } - } - return qualify > 0; - } -}; -var xrfragment_Parser = $hx_exports["xrfragment"]["Parser"] = function() { }; -xrfragment_Parser.__name__ = true; -xrfragment_Parser.parse = function(key,value,store,index) { - var Frag_h = Object.create(null); - Frag_h["#"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_PREDEFINED_VIEW | xrfragment_XRF.PV_EXECUTE; - Frag_h["src"] = xrfragment_XRF.T_URL; - Frag_h["href"] = xrfragment_XRF.T_URL | xrfragment_XRF.T_PREDEFINED_VIEW; - Frag_h["tag"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["pos"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_VECTOR3 | xrfragment_XRF.T_STRING | xrfragment_XRF.METADATA | xrfragment_XRF.NAVIGATOR; - Frag_h["rot"] = xrfragment_XRF.QUERY_OPERATOR | xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_VECTOR3 | xrfragment_XRF.METADATA | xrfragment_XRF.NAVIGATOR; - Frag_h["t"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_FLOAT | xrfragment_XRF.T_VECTOR2 | xrfragment_XRF.NAVIGATOR | xrfragment_XRF.METADATA; - Frag_h["s"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_MEDIAFRAG; - Frag_h["loop"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_PREDEFINED_VIEW; - Frag_h["uv"] = xrfragment_XRF.T_VECTOR2 | xrfragment_XRF.T_MEDIAFRAG; - Frag_h["namespace"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["SPDX"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["unit"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["description"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - var keyStripped = key.replace(xrfragment_XRF.operators.r,""); - var isPVDynamic = key.length > 0 && !Object.prototype.hasOwnProperty.call(Frag_h,key); - if(isPVDynamic) { - var v = new xrfragment_XRF(key,xrfragment_XRF.PV_EXECUTE | xrfragment_XRF.NAVIGATOR,index); - v.validate(value); - v.flags = xrfragment_XRF.set(xrfragment_XRF.T_DYNAMICKEY,v.flags); - if(!Object.prototype.hasOwnProperty.call(Frag_h,key)) { - v.flags = xrfragment_XRF.set(xrfragment_XRF.CUSTOMFRAG,v.flags); - } - if(value.length == 0) { - v.flags = xrfragment_XRF.set(xrfragment_XRF.T_DYNAMICKEYVALUE,v.flags); - } - store[keyStripped] = v; - return true; - } - var v = new xrfragment_XRF(key,Frag_h[key],index); - if(Object.prototype.hasOwnProperty.call(Frag_h,key)) { - if(!v.validate(value)) { - console.log("src/xrfragment/Parser.hx:67:","⚠ fragment '" + key + "' has incompatible value (" + value + ")"); - return false; - } - store[keyStripped] = v; - if(xrfragment_Parser.debug) { - console.log("src/xrfragment/Parser.hx:71:","✔ " + key + ": " + v.string); - } - } else { - if(typeof(value) == "string") { - v.guessType(v,value); - } - v.flags = xrfragment_XRF.set(xrfragment_XRF.CUSTOMFRAG,v.flags); - store[keyStripped] = v; - } - return true; -}; -xrfragment_Parser.getMetaData = function() { - var meta = { title : ["title","og:title","dc.title"], description : ["aria-description","og:description","dc.description"], author : ["author","dc.creator"], publisher : ["publisher","dc.publisher"], website : ["og:site_name","og:url","dc.publisher"], license : ["SPDX","dc.rights"]}; - return meta; -}; -var xrfragment_URI = $hx_exports["xrfragment"]["URI"] = function() { - this.XRF = { }; - this.hash = { }; - this.fragment = ""; -}; -xrfragment_URI.__name__ = true; -xrfragment_URI.parseFragment = function(url,filter) { - var store = { }; - if(url == null || url.indexOf("#") == -1) { - return store; - } - var fragment = url.split("#"); - var splitArray = fragment[1].split("&"); - var _g = 0; - var _g1 = splitArray.length; - while(_g < _g1) { - var i = _g++; - var splitByEqual = splitArray[i].split("="); - var regexPlus = new EReg("\\+","g"); - var key = splitByEqual[0]; - var value = ""; - if(splitByEqual.length > 1) { - if(xrfragment_XRF.isVector.match(splitByEqual[1])) { - value = splitByEqual[1]; - } else { - var s = regexPlus.split(splitByEqual[1]).join(" "); - value = decodeURIComponent(s.split("+").join(" ")); - } - } - var ok = xrfragment_Parser.parse(key,value,store,i); - } - if(filter != null && filter != 0) { - var _g = 0; - var _g1 = Reflect.fields(store); - while(_g < _g1.length) { - var key = _g1[_g]; - ++_g; - var xrf = store[key]; - if(!xrf.is(filter)) { - Reflect.deleteField(store,key); - } - } - } - return store; -}; -xrfragment_URI.template = function(uri,vars) { - var parts = uri.split("#"); - if(parts.length == 1) { - return uri; - } - var frag = parts[1]; - frag = StringTools.replace(frag,"{","::"); - frag = StringTools.replace(frag,"}","::"); - frag = new haxe_Template(frag).execute(vars); - frag = StringTools.replace(frag,"null",""); - parts[1] = frag; - return parts.join("#"); -}; -xrfragment_URI.parse = function(stringUrl,flags) { - var r = new EReg("^(?:(?![^:@]+:[^:@/]*@)([^:/?#.]+):)?(?://)?((?:(([^:@]*)(?::([^:@]*))?)?@)?([^:/?#]*)(?::(\\d*))?)(((/(?:[^?#](?![^?#/]*\\.[^?#/.]+(?:[?#]|$)))*/?)?([^?#/]*))(?:\\?([^#]*))?(?:#(.*))?)",""); - if(stringUrl.indexOf("://") == -1 && stringUrl.charAt(0) != "/") { - stringUrl = "/" + stringUrl; - } - r.match(stringUrl); - var url = new xrfragment_URI(); - var _g = 0; - var _g1 = xrfragment_URI._parts.length; - while(_g < _g1) { - var i = _g++; - url[xrfragment_URI._parts[i]] = r.matched(i); - } - if(xrfragment_URI.isRelative(url) == true) { - if(url.directory == null && url.host != null) { - url.file = url.host; - } - url.host = ""; - } - url.hash = { }; - if(url.fragment != null && url.fragment.length > 0) { - url.XRF = xrfragment_URI.parseFragment("#" + url.fragment,flags); - var key; - var _g = 0; - var _g1 = Reflect.fields(url.XRF); - while(_g < _g1.length) { - var key = _g1[_g]; - ++_g; - var v = url.XRF[key]; - url.hash[key] = v["string"]; - } - } - xrfragment_URI.computeVars(url); - return url; -}; -xrfragment_URI.computeVars = function(url) { - var r_r = new RegExp("//","g".split("u").join("")); - if(url.directory != null && url.directory.indexOf("//") != -1) { - url.directory = url.directory.replace(r_r,"/"); - } - if(url.path != null && url.path.indexOf("//") != -1) { - url.path = url.path.replace(r_r,"/"); - } - if(url.file != null && url.file.indexOf("//") != -1) { - url.file = url.file.replace(r_r,"/"); - } - url.URN = url.scheme + "://" + url.host; - if(url.port != null) { - url.URN += ":" + url.port; - } - url.URN += url.directory; - if(url.file != null) { - var parts = url.file.split("."); - if(parts.length > 1) { - url.fileExt = parts.pop(); - } - } -}; -xrfragment_URI.toString = function(url) { - var result = ""; - if(url.scheme != null) { - result += url.scheme + "://"; - } - if(url.user != null) { - result += url.user + ":"; - } - if(url.password != null) { - result += url.password + "@"; - } - if(url.host != null) { - result += url.host; - } - if(url.port != null) { - result += ":" + url.port; - } - if(url.directory != null) { - result += url.directory; - } - if(url.file != null) { - result += url.file; - } - if(url.query != null) { - result += "?" + url.query; - } - if(url.fragment != null) { - result += "#" + url.fragment; - } - return result; -}; -xrfragment_URI.appendURI = function(url,appendedURI) { - if(xrfragment_URI.isRelative(url) == true) { - return xrfragment_URI.appendToRelativeURI(url,appendedURI); - } else { - return xrfragment_URI.appendToAbsoluteURI(url,appendedURI); - } -}; -xrfragment_URI.isRelative = function(url) { - return url.scheme == null; -}; -xrfragment_URI.appendToRelativeURI = function(url,appendedURI) { - if(url.directory == null || url.host == null) { - return xrfragment_URI.cloneURI(appendedURI); - } - var resultURI = new xrfragment_URI(); - resultURI.host = url.host; - resultURI.directory = url.directory; - if(appendedURI.host != null) { - resultURI.directory += appendedURI.host; - } - if(appendedURI.directory != null) { - var directory = appendedURI.directory; - if(appendedURI.host == null) { - resultURI.directory += HxOverrides.substr(directory,1,null); - } else { - resultURI.directory += directory; - } - } - if(appendedURI.file != null) { - resultURI.file = appendedURI.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(appendedURI.query != null) { - resultURI.query = appendedURI.query; - } - if(appendedURI.fragment != null) { - resultURI.fragment = appendedURI.fragment; - } - return resultURI; -}; -xrfragment_URI.appendToAbsoluteURI = function(url,appendedURI) { - var resultURI = new xrfragment_URI(); - if(url.scheme != null) { - resultURI.scheme = url.scheme; - } - if(url.host != null) { - resultURI.host = url.host; - } - var directory = ""; - if(url.directory != null) { - directory = url.directory; - } - if(appendedURI.host != null) { - appendedURI.directory += appendedURI.host; - } - if(appendedURI.directory != null) { - directory += appendedURI.directory; - } - resultURI.directory = directory; - if(appendedURI.file != null) { - resultURI.file = appendedURI.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(appendedURI.query != null) { - resultURI.query = appendedURI.query; - } - if(appendedURI.fragment != null) { - resultURI.fragment = appendedURI.fragment; - } - return resultURI; -}; -xrfragment_URI.toAbsolute = function(url,newUrl) { - var newURI = xrfragment_URI.parse(newUrl,0); - var resultURI = new xrfragment_URI(); - resultURI.port = url.port; - resultURI.source = newUrl; - if(newURI.scheme != null) { - resultURI.scheme = newURI.scheme; - } else { - resultURI.scheme = url.scheme; - } - if(newURI.host != null && newURI.host.length > 0) { - resultURI.host = newURI.host; - resultURI.port = null; - resultURI.fragment = null; - resultURI.hash = { }; - resultURI.XRF = { }; - if(newURI.port != null) { - resultURI.port = newURI.port; - } - } else { - resultURI.host = url.host; - } - var directory = ""; - if(url.directory != null) { - directory = url.directory; - } - if(newURI.directory != null) { - if(newUrl.charAt(0) != "/" && newUrl.indexOf("://") == -1) { - var stripRelative_r = new RegExp("\\./.*","".split("u").join("")); - directory = directory.replace(stripRelative_r,""); - directory += newURI.directory; - } else { - directory = newURI.directory; - } - } - resultURI.directory = directory; - if(newURI.file != null) { - resultURI.file = newURI.file; - } else { - resultURI.file = url.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(newURI.query != null) { - resultURI.query = newURI.query; - } - if(newURI.fragment != null) { - resultURI.fragment = newURI.fragment; - } - resultURI.hash = newURI.hash; - resultURI.XRF = newURI.XRF; - xrfragment_URI.computeVars(resultURI); - return resultURI; -}; -xrfragment_URI.cloneURI = function(url) { - var clonedURI = new xrfragment_URI(); - clonedURI.url = url.url; - clonedURI.source = url.source; - clonedURI.scheme = url.scheme; - clonedURI.authority = url.authority; - clonedURI.userInfo = url.userInfo; - clonedURI.password = url.password; - clonedURI.host = url.host; - clonedURI.port = url.port; - clonedURI.relative = url.relative; - clonedURI.path = url.path; - clonedURI.directory = url.directory; - clonedURI.file = url.file; - clonedURI.query = url.query; - clonedURI.fragment = url.fragment; - return clonedURI; -}; -var xrfragment_XRF = $hx_exports["xrfragment"]["XRF"] = function(_fragment,_flags,_index) { - this.floats = []; - this.shift = []; - this.fragment = _fragment; - this.flags = _flags; - this.index = _index; -}; -xrfragment_XRF.__name__ = true; -xrfragment_XRF.set = function(flag,flags) { - return flags | flag; -}; -xrfragment_XRF.unset = function(flag,flags) { - return flags & ~flag; -}; -xrfragment_XRF.prototype = { - is: function(flag) { - var v = this.flags; - if(!(typeof(v) == "number" && ((v | 0) === v))) { - this.flags = 0; - } - return (this.flags & flag) != 0; - } - ,validate: function(value) { - this.guessType(this,value); - var ok = true; - if(value.length == 0 && !this.is(xrfragment_XRF.T_PREDEFINED_VIEW)) { - ok = false; - } - if(!this.is(xrfragment_XRF.T_FLOAT) && this.is(xrfragment_XRF.T_VECTOR2) && !(typeof(this.x) == "number" && typeof(this.y) == "number")) { - ok = false; - } - if(!(this.is(xrfragment_XRF.T_VECTOR2) || this.is(xrfragment_XRF.T_STRING)) && this.is(xrfragment_XRF.T_VECTOR3) && !(typeof(this.x) == "number" && typeof(this.y) == "number" && typeof(this.z) == "number")) { - ok = false; - } - return ok; - } - ,guessType: function(v,str) { - v.string = str; - if(xrfragment_XRF.isReset.match(v.fragment)) { - v.reset = true; - } - if(v.fragment == "loop") { - v.loop = true; - } - if(typeof(str) != "string") { - return; - } - if(str.length > 0) { - if(xrfragment_XRF.isXRFScheme.match(str)) { - v.xrfScheme = true; - str = str.replace(xrfragment_XRF.isXRFScheme.r,""); - v.string = str; - } - if(str.split(",").length > 1) { - var xyzn = str.split(","); - if(xyzn.length > 0) { - v.x = parseFloat(xyzn[0]); - } - if(xyzn.length > 1) { - v.y = parseFloat(xyzn[1]); - } - if(xyzn.length > 2) { - v.z = parseFloat(xyzn[2]); - } - var _g = 0; - var _g1 = xyzn.length; - while(_g < _g1) { - var i = _g++; - v.shift.push(xrfragment_XRF.isShift.match(xyzn[i])); - v.floats.push(parseFloat(xyzn[i].replace(xrfragment_XRF.isShift.r,""))); - } - } - if(xrfragment_XRF.isColor.match(str)) { - v.color = str; - } - if(xrfragment_XRF.isFloat.match(str)) { - v.x = parseFloat(str); - v.float = v.x; - } - if(xrfragment_XRF.isInt.match(str)) { - v.int = Std.parseInt(str); - v.x = v.int; - v.floats.push(v.x); - } - v.filter = new xrfragment_Filter(v.fragment + "=" + v.string); - } else { - v.filter = new xrfragment_Filter(v.fragment); - } - } -}; -function $getIterator(o) { if( o instanceof Array ) return new haxe_iterators_ArrayIterator(o); else return o.iterator(); } -function $bind(o,m) { if( m == null ) return null; if( m.__id__ == null ) m.__id__ = $global.$haxeUID++; var f; if( o.hx__closures__ == null ) o.hx__closures__ = {}; else f = o.hx__closures__[m.__id__]; if( f == null ) { f = m.bind(o); o.hx__closures__[m.__id__] = f; } return f; } -$global.$haxeUID |= 0; -if(typeof(performance) != "undefined" ? typeof(performance.now) == "function" : false) { - HxOverrides.now = performance.now.bind(performance); -} -if( String.fromCodePoint == null ) String.fromCodePoint = function(c) { return c < 0x10000 ? String.fromCharCode(c) : String.fromCharCode((c>>10)+0xD7C0)+String.fromCharCode((c&0x3FF)+0xDC00); } -String.__name__ = true; -Array.__name__ = true; -js_Boot.__toStr = ({ }).toString; -haxe_Template.splitter = new EReg("(::[A-Za-z0-9_ ()&|!+=/><*.\"-]+::|\\$\\$([A-Za-z0-9_-]+)\\()",""); -haxe_Template.expr_splitter = new EReg("(\\(|\\)|[ \r\n\t]*\"[^\"]*\"[ \r\n\t]*|[!+=/><*.&|-]+)",""); -haxe_Template.expr_trim = new EReg("^[ ]*([^ ]+)[ ]*$",""); -haxe_Template.expr_int = new EReg("^[0-9]+$",""); -haxe_Template.expr_float = new EReg("^([+-]?)(?=\\d|,\\d)\\d*(,\\d*)?([Ee]([+-]?\\d+))?$",""); -haxe_Template.globals = { }; -haxe_Template.hxKeepArrayIterator = new haxe_iterators_ArrayIterator([]); -xrfragment_Parser.error = ""; -xrfragment_Parser.debug = false; -xrfragment_URI.__meta__ = { statics : { template : { keep : null}}}; -xrfragment_URI._parts = ["source","scheme","authority","userInfo","user","password","host","port","relative","path","directory","file","query","fragment"]; -xrfragment_XRF.IMMUTABLE = 1; -xrfragment_XRF.PROP_BIND = 2; -xrfragment_XRF.QUERY_OPERATOR = 4; -xrfragment_XRF.PROMPT = 8; -xrfragment_XRF.CUSTOMFRAG = 16; -xrfragment_XRF.NAVIGATOR = 32; -xrfragment_XRF.METADATA = 64; -xrfragment_XRF.PV_OVERRIDE = 128; -xrfragment_XRF.PV_EXECUTE = 256; -xrfragment_XRF.T_COLOR = 8192; -xrfragment_XRF.T_INT = 16384; -xrfragment_XRF.T_FLOAT = 32768; -xrfragment_XRF.T_VECTOR2 = 65536; -xrfragment_XRF.T_VECTOR3 = 131072; -xrfragment_XRF.T_URL = 262144; -xrfragment_XRF.T_PREDEFINED_VIEW = 524288; -xrfragment_XRF.T_STRING = 1048576; -xrfragment_XRF.T_MEDIAFRAG = 2097152; -xrfragment_XRF.T_DYNAMICKEY = 4194304; -xrfragment_XRF.T_DYNAMICKEYVALUE = 8388608; -xrfragment_XRF.isColor = new EReg("^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$",""); -xrfragment_XRF.isInt = new EReg("^[-0-9]+$",""); -xrfragment_XRF.isFloat = new EReg("^[-0-9]+\\.[0-9]+$",""); -xrfragment_XRF.isVector = new EReg("([,]+|\\w)",""); -xrfragment_XRF.isUrl = new EReg("(://)?\\..*",""); -xrfragment_XRF.isUrlOrPretypedView = new EReg("(^#|://)?\\..*",""); -xrfragment_XRF.isString = new EReg(".*",""); -xrfragment_XRF.operators = new EReg("(^[-]|^[!]|[\\*]$)","g"); -xrfragment_XRF.isProp = new EReg("^.*=[><=]?",""); -xrfragment_XRF.isExclude = new EReg("^-",""); -xrfragment_XRF.isDeep = new EReg("\\*",""); -xrfragment_XRF.isNumber = new EReg("^[0-9\\.]+$",""); -xrfragment_XRF.isMediaFrag = new EReg("^([0-9\\.,\\*+-]+)$",""); -xrfragment_XRF.isReset = new EReg("^!",""); -xrfragment_XRF.isShift = new EReg("^(\\+|--)",""); -xrfragment_XRF.isXRFScheme = new EReg("^xrf://",""); -})(typeof window != "undefined" ? window : typeof global != "undefined" ? global : typeof self != "undefined" ? self : this); -var xrfragment = $hx_exports["xrfragment"]; -export default xrfragment; -// Generated by Haxe 4.3.3 -var $hx_exports = typeof exports != "undefined" ? exports : typeof window != "undefined" ? window : typeof self != "undefined" ? self : this; -(function ($global) { "use strict"; -$hx_exports["xrfragment"] = $hx_exports["xrfragment"] || {}; -var $estr = function() { return js_Boot.__string_rec(this,''); },$hxEnums = $hxEnums || {},$_; -function $extend(from, fields) { - var proto = Object.create(from); - for (var name in fields) proto[name] = fields[name]; - if( fields.toString !== Object.prototype.toString ) proto.toString = fields.toString; - return proto; -} -var EReg = function(r,opt) { - this.r = new RegExp(r,opt.split("u").join("")); -}; -EReg.__name__ = true; -EReg.prototype = { - match: function(s) { - if(this.r.global) { - this.r.lastIndex = 0; - } - this.r.m = this.r.exec(s); - this.r.s = s; - return this.r.m != null; - } - ,matched: function(n) { - if(this.r.m != null && n >= 0 && n < this.r.m.length) { - return this.r.m[n]; - } else { - throw haxe_Exception.thrown("EReg::matched"); - } - } - ,matchedRight: function() { - if(this.r.m == null) { - throw haxe_Exception.thrown("No string matched"); - } - var sz = this.r.m.index + this.r.m[0].length; - return HxOverrides.substr(this.r.s,sz,this.r.s.length - sz); - } - ,matchedPos: function() { - if(this.r.m == null) { - throw haxe_Exception.thrown("No string matched"); - } - return { pos : this.r.m.index, len : this.r.m[0].length}; - } - ,split: function(s) { - var d = "#__delim__#"; - return s.replace(this.r,d).split(d); - } -}; -var HxOverrides = function() { }; -HxOverrides.__name__ = true; -HxOverrides.cca = function(s,index) { - var x = s.charCodeAt(index); - if(x != x) { - return undefined; - } - return x; -}; -HxOverrides.substr = function(s,pos,len) { - if(len == null) { - len = s.length; - } else if(len < 0) { - if(pos == 0) { - len = s.length + len; - } else { - return ""; - } - } - return s.substr(pos,len); -}; -HxOverrides.now = function() { - return Date.now(); -}; -Math.__name__ = true; -var Reflect = function() { }; -Reflect.__name__ = true; -Reflect.field = function(o,field) { - try { - return o[field]; - } catch( _g ) { - return null; - } -}; -Reflect.getProperty = function(o,field) { - var tmp; - if(o == null) { - return null; - } else { - var tmp1; - if(o.__properties__) { - tmp = o.__properties__["get_" + field]; - tmp1 = tmp; - } else { - tmp1 = false; - } - if(tmp1) { - return o[tmp](); - } else { - return o[field]; - } - } -}; -Reflect.fields = function(o) { - var a = []; - if(o != null) { - var hasOwnProperty = Object.prototype.hasOwnProperty; - for( var f in o ) { - if(f != "__id__" && f != "hx__closures__" && hasOwnProperty.call(o,f)) { - a.push(f); - } - } - } - return a; -}; -Reflect.isObject = function(v) { - if(v == null) { - return false; - } - var t = typeof(v); - if(!(t == "string" || t == "object" && v.__enum__ == null)) { - if(t == "function") { - return (v.__name__ || v.__ename__) != null; - } else { - return false; - } - } else { - return true; - } -}; -Reflect.deleteField = function(o,field) { - if(!Object.prototype.hasOwnProperty.call(o,field)) { - return false; - } - delete(o[field]); - return true; -}; -Reflect.copy = function(o) { - if(o == null) { - return null; - } - var o2 = { }; - var _g = 0; - var _g1 = Reflect.fields(o); - while(_g < _g1.length) { - var f = _g1[_g]; - ++_g; - o2[f] = Reflect.field(o,f); - } - return o2; -}; -var Std = function() { }; -Std.__name__ = true; -Std.string = function(s) { - return js_Boot.__string_rec(s,""); -}; -Std.parseInt = function(x) { - var v = parseInt(x); - if(isNaN(v)) { - return null; - } - return v; -}; -var StringBuf = function() { - this.b = ""; -}; -StringBuf.__name__ = true; -var StringTools = function() { }; -StringTools.__name__ = true; -StringTools.isSpace = function(s,pos) { - var c = HxOverrides.cca(s,pos); - if(!(c > 8 && c < 14)) { - return c == 32; - } else { - return true; - } -}; -StringTools.ltrim = function(s) { - var l = s.length; - var r = 0; - while(r < l && StringTools.isSpace(s,r)) ++r; - if(r > 0) { - return HxOverrides.substr(s,r,l - r); - } else { - return s; - } -}; -StringTools.rtrim = function(s) { - var l = s.length; - var r = 0; - while(r < l && StringTools.isSpace(s,l - r - 1)) ++r; - if(r > 0) { - return HxOverrides.substr(s,0,l - r); - } else { - return s; - } -}; -StringTools.trim = function(s) { - return StringTools.ltrim(StringTools.rtrim(s)); -}; -StringTools.replace = function(s,sub,by) { - return s.split(sub).join(by); -}; -var haxe_Exception = function(message,previous,native) { - Error.call(this,message); - this.message = message; - this.__previousException = previous; - this.__nativeException = native != null ? native : this; -}; -haxe_Exception.__name__ = true; -haxe_Exception.caught = function(value) { - if(((value) instanceof haxe_Exception)) { - return value; - } else if(((value) instanceof Error)) { - return new haxe_Exception(value.message,null,value); - } else { - return new haxe_ValueException(value,null,value); - } -}; -haxe_Exception.thrown = function(value) { - if(((value) instanceof haxe_Exception)) { - return value.get_native(); - } else if(((value) instanceof Error)) { - return value; - } else { - var e = new haxe_ValueException(value); - return e; - } -}; -haxe_Exception.__super__ = Error; -haxe_Exception.prototype = $extend(Error.prototype,{ - unwrap: function() { - return this.__nativeException; - } - ,get_native: function() { - return this.__nativeException; - } - ,__properties__: {get_native:"get_native"} -}); -var haxe__$Template_TemplateExpr = $hxEnums["haxe._Template.TemplateExpr"] = { __ename__:true,__constructs__:null - ,OpVar: ($_=function(v) { return {_hx_index:0,v:v,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpVar",$_.__params__ = ["v"],$_) - ,OpExpr: ($_=function(expr) { return {_hx_index:1,expr:expr,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpExpr",$_.__params__ = ["expr"],$_) - ,OpIf: ($_=function(expr,eif,eelse) { return {_hx_index:2,expr:expr,eif:eif,eelse:eelse,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpIf",$_.__params__ = ["expr","eif","eelse"],$_) - ,OpStr: ($_=function(str) { return {_hx_index:3,str:str,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpStr",$_.__params__ = ["str"],$_) - ,OpBlock: ($_=function(l) { return {_hx_index:4,l:l,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpBlock",$_.__params__ = ["l"],$_) - ,OpForeach: ($_=function(expr,loop) { return {_hx_index:5,expr:expr,loop:loop,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpForeach",$_.__params__ = ["expr","loop"],$_) - ,OpMacro: ($_=function(name,params) { return {_hx_index:6,name:name,params:params,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpMacro",$_.__params__ = ["name","params"],$_) -}; -haxe__$Template_TemplateExpr.__constructs__ = [haxe__$Template_TemplateExpr.OpVar,haxe__$Template_TemplateExpr.OpExpr,haxe__$Template_TemplateExpr.OpIf,haxe__$Template_TemplateExpr.OpStr,haxe__$Template_TemplateExpr.OpBlock,haxe__$Template_TemplateExpr.OpForeach,haxe__$Template_TemplateExpr.OpMacro]; -var haxe_iterators_ArrayIterator = function(array) { - this.current = 0; - this.array = array; -}; -haxe_iterators_ArrayIterator.__name__ = true; -haxe_iterators_ArrayIterator.prototype = { - hasNext: function() { - return this.current < this.array.length; - } - ,next: function() { - return this.array[this.current++]; - } -}; -var haxe_Template = function(str) { - var tokens = this.parseTokens(str); - this.expr = this.parseBlock(tokens); - if(!tokens.isEmpty()) { - throw haxe_Exception.thrown("Unexpected '" + Std.string(tokens.first().s) + "'"); - } -}; -haxe_Template.__name__ = true; -haxe_Template.prototype = { - execute: function(context,macros) { - this.macros = macros == null ? { } : macros; - this.context = context; - this.stack = new haxe_ds_List(); - this.buf = new StringBuf(); - this.run(this.expr); - return this.buf.b; - } - ,resolve: function(v) { - if(v == "__current__") { - return this.context; - } - if(Reflect.isObject(this.context)) { - var value = Reflect.getProperty(this.context,v); - if(value != null || Object.prototype.hasOwnProperty.call(this.context,v)) { - return value; - } - } - var _g_head = this.stack.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var ctx = val; - var value = Reflect.getProperty(ctx,v); - if(value != null || Object.prototype.hasOwnProperty.call(ctx,v)) { - return value; - } - } - return Reflect.field(haxe_Template.globals,v); - } - ,parseTokens: function(data) { - var tokens = new haxe_ds_List(); - while(haxe_Template.splitter.match(data)) { - var p = haxe_Template.splitter.matchedPos(); - if(p.pos > 0) { - tokens.add({ p : HxOverrides.substr(data,0,p.pos), s : true, l : null}); - } - if(HxOverrides.cca(data,p.pos) == 58) { - tokens.add({ p : HxOverrides.substr(data,p.pos + 2,p.len - 4), s : false, l : null}); - data = haxe_Template.splitter.matchedRight(); - continue; - } - var parp = p.pos + p.len; - var npar = 1; - var params = []; - var part = ""; - while(true) { - var c = HxOverrides.cca(data,parp); - ++parp; - if(c == 40) { - ++npar; - } else if(c == 41) { - --npar; - if(npar <= 0) { - break; - } - } else if(c == null) { - throw haxe_Exception.thrown("Unclosed macro parenthesis"); - } - if(c == 44 && npar == 1) { - params.push(part); - part = ""; - } else { - part += String.fromCodePoint(c); - } - } - params.push(part); - tokens.add({ p : haxe_Template.splitter.matched(2), s : false, l : params}); - data = HxOverrides.substr(data,parp,data.length - parp); - } - if(data.length > 0) { - tokens.add({ p : data, s : true, l : null}); - } - return tokens; - } - ,parseBlock: function(tokens) { - var l = new haxe_ds_List(); - while(true) { - var t = tokens.first(); - if(t == null) { - break; - } - if(!t.s && (t.p == "end" || t.p == "else" || HxOverrides.substr(t.p,0,7) == "elseif ")) { - break; - } - l.add(this.parse(tokens)); - } - if(l.length == 1) { - return l.first(); - } - return haxe__$Template_TemplateExpr.OpBlock(l); - } - ,parse: function(tokens) { - var t = tokens.pop(); - var p = t.p; - if(t.s) { - return haxe__$Template_TemplateExpr.OpStr(p); - } - if(t.l != null) { - var pe = new haxe_ds_List(); - var _g = 0; - var _g1 = t.l; - while(_g < _g1.length) { - var p1 = _g1[_g]; - ++_g; - pe.add(this.parseBlock(this.parseTokens(p1))); - } - return haxe__$Template_TemplateExpr.OpMacro(p,pe); - } - var kwdEnd = function(kwd) { - var pos = -1; - var length = kwd.length; - if(HxOverrides.substr(p,0,length) == kwd) { - pos = length; - var _g_offset = 0; - var _g_s = HxOverrides.substr(p,length,null); - while(_g_offset < _g_s.length) { - var c = _g_s.charCodeAt(_g_offset++); - if(c == 32) { - ++pos; - } else { - break; - } - } - } - return pos; - }; - var pos = kwdEnd("if"); - if(pos > 0) { - p = HxOverrides.substr(p,pos,p.length - pos); - var e = this.parseExpr(p); - var eif = this.parseBlock(tokens); - var t = tokens.first(); - var eelse; - if(t == null) { - throw haxe_Exception.thrown("Unclosed 'if'"); - } - if(t.p == "end") { - tokens.pop(); - eelse = null; - } else if(t.p == "else") { - tokens.pop(); - eelse = this.parseBlock(tokens); - t = tokens.pop(); - if(t == null || t.p != "end") { - throw haxe_Exception.thrown("Unclosed 'else'"); - } - } else { - t.p = HxOverrides.substr(t.p,4,t.p.length - 4); - eelse = this.parse(tokens); - } - return haxe__$Template_TemplateExpr.OpIf(e,eif,eelse); - } - var pos = kwdEnd("foreach"); - if(pos >= 0) { - p = HxOverrides.substr(p,pos,p.length - pos); - var e = this.parseExpr(p); - var efor = this.parseBlock(tokens); - var t = tokens.pop(); - if(t == null || t.p != "end") { - throw haxe_Exception.thrown("Unclosed 'foreach'"); - } - return haxe__$Template_TemplateExpr.OpForeach(e,efor); - } - if(haxe_Template.expr_splitter.match(p)) { - return haxe__$Template_TemplateExpr.OpExpr(this.parseExpr(p)); - } - return haxe__$Template_TemplateExpr.OpVar(p); - } - ,parseExpr: function(data) { - var l = new haxe_ds_List(); - var expr = data; - while(haxe_Template.expr_splitter.match(data)) { - var p = haxe_Template.expr_splitter.matchedPos(); - var k = p.pos + p.len; - if(p.pos != 0) { - l.add({ p : HxOverrides.substr(data,0,p.pos), s : true}); - } - var p1 = haxe_Template.expr_splitter.matched(0); - l.add({ p : p1, s : p1.indexOf("\"") >= 0}); - data = haxe_Template.expr_splitter.matchedRight(); - } - if(data.length != 0) { - var _g_offset = 0; - var _g_s = data; - while(_g_offset < _g_s.length) { - var _g_key = _g_offset; - var _g_value = _g_s.charCodeAt(_g_offset++); - var i = _g_key; - var c = _g_value; - if(c != 32) { - l.add({ p : HxOverrides.substr(data,i,null), s : true}); - break; - } - } - } - var e; - try { - e = this.makeExpr(l); - if(!l.isEmpty()) { - throw haxe_Exception.thrown(l.first().p); - } - } catch( _g ) { - var _g1 = haxe_Exception.caught(_g).unwrap(); - if(typeof(_g1) == "string") { - var s = _g1; - throw haxe_Exception.thrown("Unexpected '" + s + "' in " + expr); - } else { - throw _g; - } - } - return function() { - try { - return e(); - } catch( _g ) { - var exc = haxe_Exception.caught(_g).unwrap(); - throw haxe_Exception.thrown("Error : " + Std.string(exc) + " in " + expr); - } - }; - } - ,makeConst: function(v) { - haxe_Template.expr_trim.match(v); - v = haxe_Template.expr_trim.matched(1); - if(HxOverrides.cca(v,0) == 34) { - var str = HxOverrides.substr(v,1,v.length - 2); - return function() { - return str; - }; - } - if(haxe_Template.expr_int.match(v)) { - var i = Std.parseInt(v); - return function() { - return i; - }; - } - if(haxe_Template.expr_float.match(v)) { - var f = parseFloat(v); - return function() { - return f; - }; - } - var me = this; - return function() { - return me.resolve(v); - }; - } - ,makePath: function(e,l) { - var p = l.first(); - if(p == null || p.p != ".") { - return e; - } - l.pop(); - var field = l.pop(); - if(field == null || !field.s) { - throw haxe_Exception.thrown(field.p); - } - var f = field.p; - haxe_Template.expr_trim.match(f); - f = haxe_Template.expr_trim.matched(1); - return this.makePath(function() { - return Reflect.field(e(),f); - },l); - } - ,makeExpr: function(l) { - return this.makePath(this.makeExpr2(l),l); - } - ,skipSpaces: function(l) { - var p = l.first(); - while(p != null) { - var _g_offset = 0; - var _g_s = p.p; - while(_g_offset < _g_s.length) { - var c = _g_s.charCodeAt(_g_offset++); - if(c != 32) { - return; - } - } - l.pop(); - p = l.first(); - } - } - ,makeExpr2: function(l) { - this.skipSpaces(l); - var p = l.pop(); - this.skipSpaces(l); - if(p == null) { - throw haxe_Exception.thrown(""); - } - if(p.s) { - return this.makeConst(p.p); - } - switch(p.p) { - case "!": - var e = this.makeExpr(l); - return function() { - var v = e(); - if(v != null) { - return v == false; - } else { - return true; - } - }; - case "(": - this.skipSpaces(l); - var e1 = this.makeExpr(l); - this.skipSpaces(l); - var p1 = l.pop(); - if(p1 == null || p1.s) { - throw haxe_Exception.thrown(p1); - } - if(p1.p == ")") { - return e1; - } - this.skipSpaces(l); - var e2 = this.makeExpr(l); - this.skipSpaces(l); - var p2 = l.pop(); - this.skipSpaces(l); - if(p2 == null || p2.p != ")") { - throw haxe_Exception.thrown(p2); - } - switch(p1.p) { - case "!=": - return function() { - return e1() != e2(); - }; - case "&&": - return function() { - return e1() && e2(); - }; - case "*": - return function() { - return e1() * e2(); - }; - case "+": - return function() { - return e1() + e2(); - }; - case "-": - return function() { - return e1() - e2(); - }; - case "/": - return function() { - return e1() / e2(); - }; - case "<": - return function() { - return e1() < e2(); - }; - case "<=": - return function() { - return e1() <= e2(); - }; - case "==": - return function() { - return e1() == e2(); - }; - case ">": - return function() { - return e1() > e2(); - }; - case ">=": - return function() { - return e1() >= e2(); - }; - case "||": - return function() { - return e1() || e2(); - }; - default: - throw haxe_Exception.thrown("Unknown operation " + p1.p); - } - break; - case "-": - var e3 = this.makeExpr(l); - return function() { - return -e3(); - }; - } - throw haxe_Exception.thrown(p.p); - } - ,run: function(e) { - switch(e._hx_index) { - case 0: - var v = e.v; - var _this = this.buf; - var x = Std.string(this.resolve(v)); - _this.b += Std.string(x); - break; - case 1: - var e1 = e.expr; - var _this = this.buf; - var x = Std.string(e1()); - _this.b += Std.string(x); - break; - case 2: - var e1 = e.expr; - var eif = e.eif; - var eelse = e.eelse; - var v = e1(); - if(v == null || v == false) { - if(eelse != null) { - this.run(eelse); - } - } else { - this.run(eif); - } - break; - case 3: - var str = e.str; - this.buf.b += str == null ? "null" : "" + str; - break; - case 4: - var l = e.l; - var _g_head = l.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var e1 = val; - this.run(e1); - } - break; - case 5: - var e1 = e.expr; - var loop = e.loop; - var v = e1(); - try { - var x = $getIterator(v); - if(x.hasNext == null) { - throw haxe_Exception.thrown(null); - } - v = x; - } catch( _g ) { - try { - if(v.hasNext == null) { - throw haxe_Exception.thrown(null); - } - } catch( _g1 ) { - throw haxe_Exception.thrown("Cannot iter on " + Std.string(v)); - } - } - this.stack.push(this.context); - var v1 = v; - var ctx = v1; - while(ctx.hasNext()) { - var ctx1 = ctx.next(); - this.context = ctx1; - this.run(loop); - } - this.context = this.stack.pop(); - break; - case 6: - var m = e.name; - var params = e.params; - var v = Reflect.field(this.macros,m); - var pl = []; - var old = this.buf; - pl.push($bind(this,this.resolve)); - var _g_head = params.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var p = val; - if(p._hx_index == 0) { - var v1 = p.v; - pl.push(this.resolve(v1)); - } else { - this.buf = new StringBuf(); - this.run(p); - pl.push(this.buf.b); - } - } - this.buf = old; - try { - var _this = this.buf; - var x = Std.string(v.apply(this.macros,pl)); - _this.b += Std.string(x); - } catch( _g ) { - var e = haxe_Exception.caught(_g).unwrap(); - var plstr; - try { - plstr = pl.join(","); - } catch( _g1 ) { - plstr = "???"; - } - var msg = "Macro call " + m + "(" + plstr + ") failed (" + Std.string(e) + ")"; - throw haxe_Exception.thrown(msg); - } - break; - } - } -}; -var haxe_ValueException = function(value,previous,native) { - haxe_Exception.call(this,String(value),previous,native); - this.value = value; -}; -haxe_ValueException.__name__ = true; -haxe_ValueException.__super__ = haxe_Exception; -haxe_ValueException.prototype = $extend(haxe_Exception.prototype,{ - unwrap: function() { - return this.value; - } -}); -var haxe_ds_List = function() { - this.length = 0; -}; -haxe_ds_List.__name__ = true; -haxe_ds_List.prototype = { - add: function(item) { - var x = new haxe_ds__$List_ListNode(item,null); - if(this.h == null) { - this.h = x; - } else { - this.q.next = x; - } - this.q = x; - this.length++; - } - ,push: function(item) { - var x = new haxe_ds__$List_ListNode(item,this.h); - this.h = x; - if(this.q == null) { - this.q = x; - } - this.length++; - } - ,first: function() { - if(this.h == null) { - return null; - } else { - return this.h.item; - } - } - ,pop: function() { - if(this.h == null) { - return null; - } - var x = this.h.item; - this.h = this.h.next; - if(this.h == null) { - this.q = null; - } - this.length--; - return x; - } - ,isEmpty: function() { - return this.h == null; - } - ,toString: function() { - var s_b = ""; - var first = true; - var l = this.h; - s_b += "{"; - while(l != null) { - if(first) { - first = false; - } else { - s_b += ", "; - } - s_b += Std.string(Std.string(l.item)); - l = l.next; - } - s_b += "}"; - return s_b; - } -}; -var haxe_ds__$List_ListNode = function(item,next) { - this.item = item; - this.next = next; -}; -haxe_ds__$List_ListNode.__name__ = true; -var js_Boot = function() { }; -js_Boot.__name__ = true; -js_Boot.__string_rec = function(o,s) { - if(o == null) { - return "null"; - } - if(s.length >= 5) { - return "<...>"; - } - var t = typeof(o); - if(t == "function" && (o.__name__ || o.__ename__)) { - t = "object"; - } - switch(t) { - case "function": - return ""; - case "object": - if(o.__enum__) { - var e = $hxEnums[o.__enum__]; - var con = e.__constructs__[o._hx_index]; - var n = con._hx_name; - if(con.__params__) { - s = s + "\t"; - return n + "(" + ((function($this) { - var $r; - var _g = []; - { - var _g1 = 0; - var _g2 = con.__params__; - while(true) { - if(!(_g1 < _g2.length)) { - break; - } - var p = _g2[_g1]; - _g1 = _g1 + 1; - _g.push(js_Boot.__string_rec(o[p],s)); - } - } - $r = _g; - return $r; - }(this))).join(",") + ")"; - } else { - return n; - } - } - if(((o) instanceof Array)) { - var str = "["; - s += "\t"; - var _g = 0; - var _g1 = o.length; - while(_g < _g1) { - var i = _g++; - str += (i > 0 ? "," : "") + js_Boot.__string_rec(o[i],s); - } - str += "]"; - return str; - } - var tostr; - try { - tostr = o.toString; - } catch( _g ) { - return "???"; - } - if(tostr != null && tostr != Object.toString && typeof(tostr) == "function") { - var s2 = o.toString(); - if(s2 != "[object Object]") { - return s2; - } - } - var str = "{\n"; - s += "\t"; - var hasp = o.hasOwnProperty != null; - var k = null; - for( k in o ) { - if(hasp && !o.hasOwnProperty(k)) { - continue; - } - if(k == "prototype" || k == "__class__" || k == "__super__" || k == "__interfaces__" || k == "__properties__") { - continue; - } - if(str.length != 2) { - str += ", \n"; - } - str += s + k + " : " + js_Boot.__string_rec(o[k],s); - } - s = s.substring(1); - str += "\n" + s + "}"; - return str; - case "string": - return o; - default: - return String(o); - } -}; -var xrfragment_Filter = $hx_exports["xrfragment"]["Filter"] = function(str) { - this.q = { }; - this.str = ""; - if(str != null) { - this.parse(str); - } -}; -xrfragment_Filter.__name__ = true; -xrfragment_Filter.prototype = { - toObject: function() { - return Reflect.copy(this.q); - } - ,get: function() { - return Reflect.copy(this.q); - } - ,parse: function(str) { - var token = str.split(" "); - var q = { }; - var process = function(str,prefix) { - if(prefix == null) { - prefix = ""; - } - str = StringTools.trim(str); - var k = str.split("=")[0]; - var v = str.split("=")[1]; - var filter = { }; - if(q[prefix + k]) { - filter = q[prefix + k]; - } - if(xrfragment_XRF.isProp.match(str)) { - var oper = ""; - if(str.indexOf(">") != -1) { - oper = ">"; - } - if(str.indexOf("<") != -1) { - oper = "<"; - } - if(xrfragment_XRF.isExclude.match(k)) { - k = HxOverrides.substr(k,1,null); - } - v = HxOverrides.substr(v,oper.length,null); - if(oper.length == 0) { - oper = "="; - } - var rule = { }; - if(xrfragment_XRF.isNumber.match(v)) { - rule[oper] = parseFloat(v); - } else { - rule[oper] = v; - } - q["expr"] = rule; - } - var value = xrfragment_XRF.isDeep.match(str) ? k.split("*").length - 1 : 0; - q["deep"] = value; - var value = xrfragment_XRF.isExclude.match(str) ? false : true; - q["show"] = value; - var value = k.replace(xrfragment_XRF.operators.r,""); - q["key"] = value; - q["value"] = v; - }; - var _g = 0; - var _g1 = token.length; - while(_g < _g1) { - var i = _g++; - process(token[i]); - } - return this.q = q; - } - ,test: function(obj) { - var qualify = false; - var _g = 0; - var _g1 = Reflect.fields(obj); - while(_g < _g1.length) { - var k = _g1[_g]; - ++_g; - var v = Std.string(Reflect.field(obj,k)); - if(this.testProperty(k,v)) { - qualify = true; - } - } - var _g = 0; - var _g1 = Reflect.fields(obj); - while(_g < _g1.length) { - var k = _g1[_g]; - ++_g; - var v = Std.string(Reflect.field(obj,k)); - if(this.testProperty(k,v,true)) { - qualify = false; - } - } - return qualify; - } - ,testProperty: function(property,value,exclude) { - var conds = 0; - var fails = 0; - var qualify = 0; - var testprop = function(expr) { - conds += 1; - fails += expr ? 0 : 1; - return expr; - }; - if(this.q[value] != null) { - var v = this.q[value]; - if(v[property] != null) { - return v[property]; - } - } - if(Reflect.field(this.q,"expr")) { - var f = Reflect.field(this.q,"expr"); - if(!Reflect.field(this.q,"show")) { - if(Reflect.field(f,"!=") != null && testprop((value == null ? "null" : "" + value) == Std.string(Reflect.field(f,"!="))) && exclude) { - ++qualify; - } - } else { - if(Reflect.field(f,"*") != null && testprop(parseFloat(value) != null)) { - ++qualify; - } - if(Reflect.field(f,">") != null && testprop(parseFloat(value) >= parseFloat(Reflect.field(f,">")))) { - ++qualify; - } - if(Reflect.field(f,"<") != null && testprop(parseFloat(value) <= parseFloat(Reflect.field(f,"<")))) { - ++qualify; - } - if(Reflect.field(f,"=") != null && (testprop(value == Reflect.field(f,"=")) || testprop(parseFloat(value) == parseFloat(Reflect.field(f,"="))))) { - ++qualify; - } - } - } - return qualify > 0; - } -}; -var xrfragment_Parser = $hx_exports["xrfragment"]["Parser"] = function() { }; -xrfragment_Parser.__name__ = true; -xrfragment_Parser.parse = function(key,value,store,index) { - var Frag_h = Object.create(null); - Frag_h["#"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_PREDEFINED_VIEW | xrfragment_XRF.PV_EXECUTE; - Frag_h["src"] = xrfragment_XRF.T_URL; - Frag_h["href"] = xrfragment_XRF.T_URL | xrfragment_XRF.T_PREDEFINED_VIEW; - Frag_h["tag"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["pos"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_VECTOR3 | xrfragment_XRF.T_STRING | xrfragment_XRF.METADATA | xrfragment_XRF.NAVIGATOR; - Frag_h["rot"] = xrfragment_XRF.QUERY_OPERATOR | xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_VECTOR3 | xrfragment_XRF.METADATA | xrfragment_XRF.NAVIGATOR; - Frag_h["t"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_FLOAT | xrfragment_XRF.T_VECTOR2 | xrfragment_XRF.NAVIGATOR | xrfragment_XRF.METADATA; - Frag_h["s"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_MEDIAFRAG; - Frag_h["loop"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_PREDEFINED_VIEW; - Frag_h["uv"] = xrfragment_XRF.T_VECTOR2 | xrfragment_XRF.T_MEDIAFRAG; - Frag_h["namespace"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["SPDX"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["unit"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["description"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - var keyStripped = key.replace(xrfragment_XRF.operators.r,""); - var isPVDynamic = key.length > 0 && !Object.prototype.hasOwnProperty.call(Frag_h,key); - if(isPVDynamic) { - var v = new xrfragment_XRF(key,xrfragment_XRF.PV_EXECUTE | xrfragment_XRF.NAVIGATOR,index); - v.validate(value); - v.flags = xrfragment_XRF.set(xrfragment_XRF.T_DYNAMICKEY,v.flags); - if(!Object.prototype.hasOwnProperty.call(Frag_h,key)) { - v.flags = xrfragment_XRF.set(xrfragment_XRF.CUSTOMFRAG,v.flags); - } - if(value.length == 0) { - v.flags = xrfragment_XRF.set(xrfragment_XRF.T_DYNAMICKEYVALUE,v.flags); - } - store[keyStripped] = v; - return true; - } - var v = new xrfragment_XRF(key,Frag_h[key],index); - if(Object.prototype.hasOwnProperty.call(Frag_h,key)) { - if(!v.validate(value)) { - console.log("src/xrfragment/Parser.hx:67:","⚠ fragment '" + key + "' has incompatible value (" + value + ")"); - return false; - } - store[keyStripped] = v; - if(xrfragment_Parser.debug) { - console.log("src/xrfragment/Parser.hx:71:","✔ " + key + ": " + v.string); - } - } else { - if(typeof(value) == "string") { - v.guessType(v,value); - } - v.flags = xrfragment_XRF.set(xrfragment_XRF.CUSTOMFRAG,v.flags); - store[keyStripped] = v; - } - return true; -}; -xrfragment_Parser.getMetaData = function() { - var meta = { title : ["title","og:title","dc.title"], description : ["aria-description","og:description","dc.description"], author : ["author","dc.creator"], publisher : ["publisher","dc.publisher"], website : ["og:site_name","og:url","dc.publisher"], license : ["SPDX","dc.rights"]}; - return meta; -}; -var xrfragment_URI = $hx_exports["xrfragment"]["URI"] = function() { - this.XRF = { }; - this.hash = { }; - this.fragment = ""; -}; -xrfragment_URI.__name__ = true; -xrfragment_URI.parseFragment = function(url,filter) { - var store = { }; - if(url == null || url.indexOf("#") == -1) { - return store; - } - var fragment = url.split("#"); - var splitArray = fragment[1].split("&"); - var _g = 0; - var _g1 = splitArray.length; - while(_g < _g1) { - var i = _g++; - var splitByEqual = splitArray[i].split("="); - var regexPlus = new EReg("\\+","g"); - var key = splitByEqual[0]; - var value = ""; - if(splitByEqual.length > 1) { - if(xrfragment_XRF.isVector.match(splitByEqual[1])) { - value = splitByEqual[1]; - } else { - var s = regexPlus.split(splitByEqual[1]).join(" "); - value = decodeURIComponent(s.split("+").join(" ")); - } - } - var ok = xrfragment_Parser.parse(key,value,store,i); - } - if(filter != null && filter != 0) { - var _g = 0; - var _g1 = Reflect.fields(store); - while(_g < _g1.length) { - var key = _g1[_g]; - ++_g; - var xrf = store[key]; - if(!xrf.is(filter)) { - Reflect.deleteField(store,key); - } - } - } - return store; -}; -xrfragment_URI.template = function(uri,vars) { - var parts = uri.split("#"); - if(parts.length == 1) { - return uri; - } - var frag = parts[1]; - frag = StringTools.replace(frag,"{","::"); - frag = StringTools.replace(frag,"}","::"); - frag = new haxe_Template(frag).execute(vars); - frag = StringTools.replace(frag,"null",""); - parts[1] = frag; - return parts.join("#"); -}; -xrfragment_URI.parse = function(stringUrl,flags) { - var r = new EReg("^(?:(?![^:@]+:[^:@/]*@)([^:/?#.]+):)?(?://)?((?:(([^:@]*)(?::([^:@]*))?)?@)?([^:/?#]*)(?::(\\d*))?)(((/(?:[^?#](?![^?#/]*\\.[^?#/.]+(?:[?#]|$)))*/?)?([^?#/]*))(?:\\?([^#]*))?(?:#(.*))?)",""); - if(stringUrl.indexOf("://") == -1 && stringUrl.charAt(0) != "/") { - stringUrl = "/" + stringUrl; - } - r.match(stringUrl); - var url = new xrfragment_URI(); - var _g = 0; - var _g1 = xrfragment_URI._parts.length; - while(_g < _g1) { - var i = _g++; - url[xrfragment_URI._parts[i]] = r.matched(i); - } - if(xrfragment_URI.isRelative(url) == true) { - if(url.directory == null && url.host != null) { - url.file = url.host; - } - url.host = ""; - } - url.hash = { }; - if(url.fragment != null && url.fragment.length > 0) { - url.XRF = xrfragment_URI.parseFragment("#" + url.fragment,flags); - var key; - var _g = 0; - var _g1 = Reflect.fields(url.XRF); - while(_g < _g1.length) { - var key = _g1[_g]; - ++_g; - var v = url.XRF[key]; - url.hash[key] = v["string"]; - } - } - xrfragment_URI.computeVars(url); - return url; -}; -xrfragment_URI.computeVars = function(url) { - var r_r = new RegExp("//","g".split("u").join("")); - if(url.directory != null && url.directory.indexOf("//") != -1) { - url.directory = url.directory.replace(r_r,"/"); - } - if(url.path != null && url.path.indexOf("//") != -1) { - url.path = url.path.replace(r_r,"/"); - } - if(url.file != null && url.file.indexOf("//") != -1) { - url.file = url.file.replace(r_r,"/"); - } - url.URN = url.scheme + "://" + url.host; - if(url.port != null) { - url.URN += ":" + url.port; - } - url.URN += url.directory; - if(url.file != null) { - var parts = url.file.split("."); - if(parts.length > 1) { - url.fileExt = parts.pop(); - } - } -}; -xrfragment_URI.toString = function(url) { - var result = ""; - if(url.scheme != null) { - result += url.scheme + "://"; - } - if(url.user != null) { - result += url.user + ":"; - } - if(url.password != null) { - result += url.password + "@"; - } - if(url.host != null) { - result += url.host; - } - if(url.port != null) { - result += ":" + url.port; - } - if(url.directory != null) { - result += url.directory; - } - if(url.file != null) { - result += url.file; - } - if(url.query != null) { - result += "?" + url.query; - } - if(url.fragment != null) { - result += "#" + url.fragment; - } - return result; -}; -xrfragment_URI.appendURI = function(url,appendedURI) { - if(xrfragment_URI.isRelative(url) == true) { - return xrfragment_URI.appendToRelativeURI(url,appendedURI); - } else { - return xrfragment_URI.appendToAbsoluteURI(url,appendedURI); - } -}; -xrfragment_URI.isRelative = function(url) { - return url.scheme == null; -}; -xrfragment_URI.appendToRelativeURI = function(url,appendedURI) { - if(url.directory == null || url.host == null) { - return xrfragment_URI.cloneURI(appendedURI); - } - var resultURI = new xrfragment_URI(); - resultURI.host = url.host; - resultURI.directory = url.directory; - if(appendedURI.host != null) { - resultURI.directory += appendedURI.host; - } - if(appendedURI.directory != null) { - var directory = appendedURI.directory; - if(appendedURI.host == null) { - resultURI.directory += HxOverrides.substr(directory,1,null); - } else { - resultURI.directory += directory; - } - } - if(appendedURI.file != null) { - resultURI.file = appendedURI.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(appendedURI.query != null) { - resultURI.query = appendedURI.query; - } - if(appendedURI.fragment != null) { - resultURI.fragment = appendedURI.fragment; - } - return resultURI; -}; -xrfragment_URI.appendToAbsoluteURI = function(url,appendedURI) { - var resultURI = new xrfragment_URI(); - if(url.scheme != null) { - resultURI.scheme = url.scheme; - } - if(url.host != null) { - resultURI.host = url.host; - } - var directory = ""; - if(url.directory != null) { - directory = url.directory; - } - if(appendedURI.host != null) { - appendedURI.directory += appendedURI.host; - } - if(appendedURI.directory != null) { - directory += appendedURI.directory; - } - resultURI.directory = directory; - if(appendedURI.file != null) { - resultURI.file = appendedURI.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(appendedURI.query != null) { - resultURI.query = appendedURI.query; - } - if(appendedURI.fragment != null) { - resultURI.fragment = appendedURI.fragment; - } - return resultURI; -}; -xrfragment_URI.toAbsolute = function(url,newUrl) { - var newURI = xrfragment_URI.parse(newUrl,0); - var resultURI = new xrfragment_URI(); - resultURI.port = url.port; - resultURI.source = newUrl; - if(newURI.scheme != null) { - resultURI.scheme = newURI.scheme; - } else { - resultURI.scheme = url.scheme; - } - if(newURI.host != null && newURI.host.length > 0) { - resultURI.host = newURI.host; - resultURI.port = null; - resultURI.fragment = null; - resultURI.hash = { }; - resultURI.XRF = { }; - if(newURI.port != null) { - resultURI.port = newURI.port; - } - } else { - resultURI.host = url.host; - } - var directory = ""; - if(url.directory != null) { - directory = url.directory; - } - if(newURI.directory != null) { - if(newUrl.charAt(0) != "/" && newUrl.indexOf("://") == -1) { - var stripRelative_r = new RegExp("\\./.*","".split("u").join("")); - directory = directory.replace(stripRelative_r,""); - directory += newURI.directory; - } else { - directory = newURI.directory; - } - } - resultURI.directory = directory; - if(newURI.file != null) { - resultURI.file = newURI.file; - } else { - resultURI.file = url.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(newURI.query != null) { - resultURI.query = newURI.query; - } - if(newURI.fragment != null) { - resultURI.fragment = newURI.fragment; - } - resultURI.hash = newURI.hash; - resultURI.XRF = newURI.XRF; - xrfragment_URI.computeVars(resultURI); - return resultURI; -}; -xrfragment_URI.cloneURI = function(url) { - var clonedURI = new xrfragment_URI(); - clonedURI.url = url.url; - clonedURI.source = url.source; - clonedURI.scheme = url.scheme; - clonedURI.authority = url.authority; - clonedURI.userInfo = url.userInfo; - clonedURI.password = url.password; - clonedURI.host = url.host; - clonedURI.port = url.port; - clonedURI.relative = url.relative; - clonedURI.path = url.path; - clonedURI.directory = url.directory; - clonedURI.file = url.file; - clonedURI.query = url.query; - clonedURI.fragment = url.fragment; - return clonedURI; -}; -var xrfragment_XRF = $hx_exports["xrfragment"]["XRF"] = function(_fragment,_flags,_index) { - this.floats = []; - this.shift = []; - this.fragment = _fragment; - this.flags = _flags; - this.index = _index; -}; -xrfragment_XRF.__name__ = true; -xrfragment_XRF.set = function(flag,flags) { - return flags | flag; -}; -xrfragment_XRF.unset = function(flag,flags) { - return flags & ~flag; -}; -xrfragment_XRF.prototype = { - is: function(flag) { - var v = this.flags; - if(!(typeof(v) == "number" && ((v | 0) === v))) { - this.flags = 0; - } - return (this.flags & flag) != 0; - } - ,validate: function(value) { - this.guessType(this,value); - var ok = true; - if(value.length == 0 && !this.is(xrfragment_XRF.T_PREDEFINED_VIEW)) { - ok = false; - } - if(!this.is(xrfragment_XRF.T_FLOAT) && this.is(xrfragment_XRF.T_VECTOR2) && !(typeof(this.x) == "number" && typeof(this.y) == "number")) { - ok = false; - } - if(!(this.is(xrfragment_XRF.T_VECTOR2) || this.is(xrfragment_XRF.T_STRING)) && this.is(xrfragment_XRF.T_VECTOR3) && !(typeof(this.x) == "number" && typeof(this.y) == "number" && typeof(this.z) == "number")) { - ok = false; - } - return ok; - } - ,guessType: function(v,str) { - v.string = str; - if(xrfragment_XRF.isReset.match(v.fragment)) { - v.reset = true; - } - if(v.fragment == "loop") { - v.loop = true; - } - if(typeof(str) != "string") { - return; - } - if(str.length > 0) { - if(xrfragment_XRF.isXRFScheme.match(str)) { - v.xrfScheme = true; - str = str.replace(xrfragment_XRF.isXRFScheme.r,""); - v.string = str; - } - if(str.split(",").length > 1) { - var xyzn = str.split(","); - if(xyzn.length > 0) { - v.x = parseFloat(xyzn[0]); - } - if(xyzn.length > 1) { - v.y = parseFloat(xyzn[1]); - } - if(xyzn.length > 2) { - v.z = parseFloat(xyzn[2]); - } - var _g = 0; - var _g1 = xyzn.length; - while(_g < _g1) { - var i = _g++; - v.shift.push(xrfragment_XRF.isShift.match(xyzn[i])); - v.floats.push(parseFloat(xyzn[i].replace(xrfragment_XRF.isShift.r,""))); - } - } - if(xrfragment_XRF.isColor.match(str)) { - v.color = str; - } - if(xrfragment_XRF.isFloat.match(str)) { - v.x = parseFloat(str); - v.float = v.x; - } - if(xrfragment_XRF.isInt.match(str)) { - v.int = Std.parseInt(str); - v.x = v.int; - v.floats.push(v.x); - } - v.filter = new xrfragment_Filter(v.fragment + "=" + v.string); - } else { - v.filter = new xrfragment_Filter(v.fragment); - } - } -}; -function $getIterator(o) { if( o instanceof Array ) return new haxe_iterators_ArrayIterator(o); else return o.iterator(); } -function $bind(o,m) { if( m == null ) return null; if( m.__id__ == null ) m.__id__ = $global.$haxeUID++; var f; if( o.hx__closures__ == null ) o.hx__closures__ = {}; else f = o.hx__closures__[m.__id__]; if( f == null ) { f = m.bind(o); o.hx__closures__[m.__id__] = f; } return f; } -$global.$haxeUID |= 0; -if(typeof(performance) != "undefined" ? typeof(performance.now) == "function" : false) { - HxOverrides.now = performance.now.bind(performance); -} -if( String.fromCodePoint == null ) String.fromCodePoint = function(c) { return c < 0x10000 ? String.fromCharCode(c) : String.fromCharCode((c>>10)+0xD7C0)+String.fromCharCode((c&0x3FF)+0xDC00); } -String.__name__ = true; -Array.__name__ = true; -js_Boot.__toStr = ({ }).toString; -haxe_Template.splitter = new EReg("(::[A-Za-z0-9_ ()&|!+=/><*.\"-]+::|\\$\\$([A-Za-z0-9_-]+)\\()",""); -haxe_Template.expr_splitter = new EReg("(\\(|\\)|[ \r\n\t]*\"[^\"]*\"[ \r\n\t]*|[!+=/><*.&|-]+)",""); -haxe_Template.expr_trim = new EReg("^[ ]*([^ ]+)[ ]*$",""); -haxe_Template.expr_int = new EReg("^[0-9]+$",""); -haxe_Template.expr_float = new EReg("^([+-]?)(?=\\d|,\\d)\\d*(,\\d*)?([Ee]([+-]?\\d+))?$",""); -haxe_Template.globals = { }; -haxe_Template.hxKeepArrayIterator = new haxe_iterators_ArrayIterator([]); -xrfragment_Parser.error = ""; -xrfragment_Parser.debug = false; -xrfragment_URI.__meta__ = { statics : { template : { keep : null}}}; -xrfragment_URI._parts = ["source","scheme","authority","userInfo","user","password","host","port","relative","path","directory","file","query","fragment"]; -xrfragment_XRF.IMMUTABLE = 1; -xrfragment_XRF.PROP_BIND = 2; -xrfragment_XRF.QUERY_OPERATOR = 4; -xrfragment_XRF.PROMPT = 8; -xrfragment_XRF.CUSTOMFRAG = 16; -xrfragment_XRF.NAVIGATOR = 32; -xrfragment_XRF.METADATA = 64; -xrfragment_XRF.PV_OVERRIDE = 128; -xrfragment_XRF.PV_EXECUTE = 256; -xrfragment_XRF.T_COLOR = 8192; -xrfragment_XRF.T_INT = 16384; -xrfragment_XRF.T_FLOAT = 32768; -xrfragment_XRF.T_VECTOR2 = 65536; -xrfragment_XRF.T_VECTOR3 = 131072; -xrfragment_XRF.T_URL = 262144; -xrfragment_XRF.T_PREDEFINED_VIEW = 524288; -xrfragment_XRF.T_STRING = 1048576; -xrfragment_XRF.T_MEDIAFRAG = 2097152; -xrfragment_XRF.T_DYNAMICKEY = 4194304; -xrfragment_XRF.T_DYNAMICKEYVALUE = 8388608; -xrfragment_XRF.isColor = new EReg("^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$",""); -xrfragment_XRF.isInt = new EReg("^[-0-9]+$",""); -xrfragment_XRF.isFloat = new EReg("^[-0-9]+\\.[0-9]+$",""); -xrfragment_XRF.isVector = new EReg("([,]+|\\w)",""); -xrfragment_XRF.isUrl = new EReg("(://)?\\..*",""); -xrfragment_XRF.isUrlOrPretypedView = new EReg("(^#|://)?\\..*",""); -xrfragment_XRF.isString = new EReg(".*",""); -xrfragment_XRF.operators = new EReg("(^[-]|^[!]|[\\*]$)","g"); -xrfragment_XRF.isProp = new EReg("^.*=[><=]?",""); -xrfragment_XRF.isExclude = new EReg("^-",""); -xrfragment_XRF.isDeep = new EReg("\\*",""); -xrfragment_XRF.isNumber = new EReg("^[0-9\\.]+$",""); -xrfragment_XRF.isMediaFrag = new EReg("^([0-9\\.,\\*+-]+)$",""); -xrfragment_XRF.isReset = new EReg("^!",""); -xrfragment_XRF.isShift = new EReg("^(\\+|--)",""); -xrfragment_XRF.isXRFScheme = new EReg("^xrf://",""); -})(typeof window != "undefined" ? window : typeof global != "undefined" ? global : typeof self != "undefined" ? self : this); -var xrfragment = $hx_exports["xrfragment"]; -export default xrfragment; -// Generated by Haxe 4.3.3 -var $hx_exports = typeof exports != "undefined" ? exports : typeof window != "undefined" ? window : typeof self != "undefined" ? self : this; -(function ($global) { "use strict"; -$hx_exports["xrfragment"] = $hx_exports["xrfragment"] || {}; -var $estr = function() { return js_Boot.__string_rec(this,''); },$hxEnums = $hxEnums || {},$_; -function $extend(from, fields) { - var proto = Object.create(from); - for (var name in fields) proto[name] = fields[name]; - if( fields.toString !== Object.prototype.toString ) proto.toString = fields.toString; - return proto; -} -var EReg = function(r,opt) { - this.r = new RegExp(r,opt.split("u").join("")); -}; -EReg.__name__ = true; -EReg.prototype = { - match: function(s) { - if(this.r.global) { - this.r.lastIndex = 0; - } - this.r.m = this.r.exec(s); - this.r.s = s; - return this.r.m != null; - } - ,matched: function(n) { - if(this.r.m != null && n >= 0 && n < this.r.m.length) { - return this.r.m[n]; - } else { - throw haxe_Exception.thrown("EReg::matched"); - } - } - ,matchedRight: function() { - if(this.r.m == null) { - throw haxe_Exception.thrown("No string matched"); - } - var sz = this.r.m.index + this.r.m[0].length; - return HxOverrides.substr(this.r.s,sz,this.r.s.length - sz); - } - ,matchedPos: function() { - if(this.r.m == null) { - throw haxe_Exception.thrown("No string matched"); - } - return { pos : this.r.m.index, len : this.r.m[0].length}; - } - ,split: function(s) { - var d = "#__delim__#"; - return s.replace(this.r,d).split(d); - } -}; -var HxOverrides = function() { }; -HxOverrides.__name__ = true; -HxOverrides.cca = function(s,index) { - var x = s.charCodeAt(index); - if(x != x) { - return undefined; - } - return x; -}; -HxOverrides.substr = function(s,pos,len) { - if(len == null) { - len = s.length; - } else if(len < 0) { - if(pos == 0) { - len = s.length + len; - } else { - return ""; - } - } - return s.substr(pos,len); -}; -HxOverrides.now = function() { - return Date.now(); -}; -Math.__name__ = true; -var Reflect = function() { }; -Reflect.__name__ = true; -Reflect.field = function(o,field) { - try { - return o[field]; - } catch( _g ) { - return null; - } -}; -Reflect.getProperty = function(o,field) { - var tmp; - if(o == null) { - return null; - } else { - var tmp1; - if(o.__properties__) { - tmp = o.__properties__["get_" + field]; - tmp1 = tmp; - } else { - tmp1 = false; - } - if(tmp1) { - return o[tmp](); - } else { - return o[field]; - } - } -}; -Reflect.fields = function(o) { - var a = []; - if(o != null) { - var hasOwnProperty = Object.prototype.hasOwnProperty; - for( var f in o ) { - if(f != "__id__" && f != "hx__closures__" && hasOwnProperty.call(o,f)) { - a.push(f); - } - } - } - return a; -}; -Reflect.isObject = function(v) { - if(v == null) { - return false; - } - var t = typeof(v); - if(!(t == "string" || t == "object" && v.__enum__ == null)) { - if(t == "function") { - return (v.__name__ || v.__ename__) != null; - } else { - return false; - } - } else { - return true; - } -}; -Reflect.deleteField = function(o,field) { - if(!Object.prototype.hasOwnProperty.call(o,field)) { - return false; - } - delete(o[field]); - return true; -}; -Reflect.copy = function(o) { - if(o == null) { - return null; - } - var o2 = { }; - var _g = 0; - var _g1 = Reflect.fields(o); - while(_g < _g1.length) { - var f = _g1[_g]; - ++_g; - o2[f] = Reflect.field(o,f); - } - return o2; -}; -var Std = function() { }; -Std.__name__ = true; -Std.string = function(s) { - return js_Boot.__string_rec(s,""); -}; -Std.parseInt = function(x) { - var v = parseInt(x); - if(isNaN(v)) { - return null; - } - return v; -}; -var StringBuf = function() { - this.b = ""; -}; -StringBuf.__name__ = true; -var StringTools = function() { }; -StringTools.__name__ = true; -StringTools.isSpace = function(s,pos) { - var c = HxOverrides.cca(s,pos); - if(!(c > 8 && c < 14)) { - return c == 32; - } else { - return true; - } -}; -StringTools.ltrim = function(s) { - var l = s.length; - var r = 0; - while(r < l && StringTools.isSpace(s,r)) ++r; - if(r > 0) { - return HxOverrides.substr(s,r,l - r); - } else { - return s; - } -}; -StringTools.rtrim = function(s) { - var l = s.length; - var r = 0; - while(r < l && StringTools.isSpace(s,l - r - 1)) ++r; - if(r > 0) { - return HxOverrides.substr(s,0,l - r); - } else { - return s; - } -}; -StringTools.trim = function(s) { - return StringTools.ltrim(StringTools.rtrim(s)); -}; -StringTools.replace = function(s,sub,by) { - return s.split(sub).join(by); -}; -var haxe_Exception = function(message,previous,native) { - Error.call(this,message); - this.message = message; - this.__previousException = previous; - this.__nativeException = native != null ? native : this; -}; -haxe_Exception.__name__ = true; -haxe_Exception.caught = function(value) { - if(((value) instanceof haxe_Exception)) { - return value; - } else if(((value) instanceof Error)) { - return new haxe_Exception(value.message,null,value); - } else { - return new haxe_ValueException(value,null,value); - } -}; -haxe_Exception.thrown = function(value) { - if(((value) instanceof haxe_Exception)) { - return value.get_native(); - } else if(((value) instanceof Error)) { - return value; - } else { - var e = new haxe_ValueException(value); - return e; - } -}; -haxe_Exception.__super__ = Error; -haxe_Exception.prototype = $extend(Error.prototype,{ - unwrap: function() { - return this.__nativeException; - } - ,get_native: function() { - return this.__nativeException; - } - ,__properties__: {get_native:"get_native"} -}); -var haxe__$Template_TemplateExpr = $hxEnums["haxe._Template.TemplateExpr"] = { __ename__:true,__constructs__:null - ,OpVar: ($_=function(v) { return {_hx_index:0,v:v,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpVar",$_.__params__ = ["v"],$_) - ,OpExpr: ($_=function(expr) { return {_hx_index:1,expr:expr,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpExpr",$_.__params__ = ["expr"],$_) - ,OpIf: ($_=function(expr,eif,eelse) { return {_hx_index:2,expr:expr,eif:eif,eelse:eelse,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpIf",$_.__params__ = ["expr","eif","eelse"],$_) - ,OpStr: ($_=function(str) { return {_hx_index:3,str:str,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpStr",$_.__params__ = ["str"],$_) - ,OpBlock: ($_=function(l) { return {_hx_index:4,l:l,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpBlock",$_.__params__ = ["l"],$_) - ,OpForeach: ($_=function(expr,loop) { return {_hx_index:5,expr:expr,loop:loop,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpForeach",$_.__params__ = ["expr","loop"],$_) - ,OpMacro: ($_=function(name,params) { return {_hx_index:6,name:name,params:params,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpMacro",$_.__params__ = ["name","params"],$_) -}; -haxe__$Template_TemplateExpr.__constructs__ = [haxe__$Template_TemplateExpr.OpVar,haxe__$Template_TemplateExpr.OpExpr,haxe__$Template_TemplateExpr.OpIf,haxe__$Template_TemplateExpr.OpStr,haxe__$Template_TemplateExpr.OpBlock,haxe__$Template_TemplateExpr.OpForeach,haxe__$Template_TemplateExpr.OpMacro]; -var haxe_iterators_ArrayIterator = function(array) { - this.current = 0; - this.array = array; -}; -haxe_iterators_ArrayIterator.__name__ = true; -haxe_iterators_ArrayIterator.prototype = { - hasNext: function() { - return this.current < this.array.length; - } - ,next: function() { - return this.array[this.current++]; - } -}; -var haxe_Template = function(str) { - var tokens = this.parseTokens(str); - this.expr = this.parseBlock(tokens); - if(!tokens.isEmpty()) { - throw haxe_Exception.thrown("Unexpected '" + Std.string(tokens.first().s) + "'"); - } -}; -haxe_Template.__name__ = true; -haxe_Template.prototype = { - execute: function(context,macros) { - this.macros = macros == null ? { } : macros; - this.context = context; - this.stack = new haxe_ds_List(); - this.buf = new StringBuf(); - this.run(this.expr); - return this.buf.b; - } - ,resolve: function(v) { - if(v == "__current__") { - return this.context; - } - if(Reflect.isObject(this.context)) { - var value = Reflect.getProperty(this.context,v); - if(value != null || Object.prototype.hasOwnProperty.call(this.context,v)) { - return value; - } - } - var _g_head = this.stack.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var ctx = val; - var value = Reflect.getProperty(ctx,v); - if(value != null || Object.prototype.hasOwnProperty.call(ctx,v)) { - return value; - } - } - return Reflect.field(haxe_Template.globals,v); - } - ,parseTokens: function(data) { - var tokens = new haxe_ds_List(); - while(haxe_Template.splitter.match(data)) { - var p = haxe_Template.splitter.matchedPos(); - if(p.pos > 0) { - tokens.add({ p : HxOverrides.substr(data,0,p.pos), s : true, l : null}); - } - if(HxOverrides.cca(data,p.pos) == 58) { - tokens.add({ p : HxOverrides.substr(data,p.pos + 2,p.len - 4), s : false, l : null}); - data = haxe_Template.splitter.matchedRight(); - continue; - } - var parp = p.pos + p.len; - var npar = 1; - var params = []; - var part = ""; - while(true) { - var c = HxOverrides.cca(data,parp); - ++parp; - if(c == 40) { - ++npar; - } else if(c == 41) { - --npar; - if(npar <= 0) { - break; - } - } else if(c == null) { - throw haxe_Exception.thrown("Unclosed macro parenthesis"); - } - if(c == 44 && npar == 1) { - params.push(part); - part = ""; - } else { - part += String.fromCodePoint(c); - } - } - params.push(part); - tokens.add({ p : haxe_Template.splitter.matched(2), s : false, l : params}); - data = HxOverrides.substr(data,parp,data.length - parp); - } - if(data.length > 0) { - tokens.add({ p : data, s : true, l : null}); - } - return tokens; - } - ,parseBlock: function(tokens) { - var l = new haxe_ds_List(); - while(true) { - var t = tokens.first(); - if(t == null) { - break; - } - if(!t.s && (t.p == "end" || t.p == "else" || HxOverrides.substr(t.p,0,7) == "elseif ")) { - break; - } - l.add(this.parse(tokens)); - } - if(l.length == 1) { - return l.first(); - } - return haxe__$Template_TemplateExpr.OpBlock(l); - } - ,parse: function(tokens) { - var t = tokens.pop(); - var p = t.p; - if(t.s) { - return haxe__$Template_TemplateExpr.OpStr(p); - } - if(t.l != null) { - var pe = new haxe_ds_List(); - var _g = 0; - var _g1 = t.l; - while(_g < _g1.length) { - var p1 = _g1[_g]; - ++_g; - pe.add(this.parseBlock(this.parseTokens(p1))); - } - return haxe__$Template_TemplateExpr.OpMacro(p,pe); - } - var kwdEnd = function(kwd) { - var pos = -1; - var length = kwd.length; - if(HxOverrides.substr(p,0,length) == kwd) { - pos = length; - var _g_offset = 0; - var _g_s = HxOverrides.substr(p,length,null); - while(_g_offset < _g_s.length) { - var c = _g_s.charCodeAt(_g_offset++); - if(c == 32) { - ++pos; - } else { - break; - } - } - } - return pos; - }; - var pos = kwdEnd("if"); - if(pos > 0) { - p = HxOverrides.substr(p,pos,p.length - pos); - var e = this.parseExpr(p); - var eif = this.parseBlock(tokens); - var t = tokens.first(); - var eelse; - if(t == null) { - throw haxe_Exception.thrown("Unclosed 'if'"); - } - if(t.p == "end") { - tokens.pop(); - eelse = null; - } else if(t.p == "else") { - tokens.pop(); - eelse = this.parseBlock(tokens); - t = tokens.pop(); - if(t == null || t.p != "end") { - throw haxe_Exception.thrown("Unclosed 'else'"); - } - } else { - t.p = HxOverrides.substr(t.p,4,t.p.length - 4); - eelse = this.parse(tokens); - } - return haxe__$Template_TemplateExpr.OpIf(e,eif,eelse); - } - var pos = kwdEnd("foreach"); - if(pos >= 0) { - p = HxOverrides.substr(p,pos,p.length - pos); - var e = this.parseExpr(p); - var efor = this.parseBlock(tokens); - var t = tokens.pop(); - if(t == null || t.p != "end") { - throw haxe_Exception.thrown("Unclosed 'foreach'"); - } - return haxe__$Template_TemplateExpr.OpForeach(e,efor); - } - if(haxe_Template.expr_splitter.match(p)) { - return haxe__$Template_TemplateExpr.OpExpr(this.parseExpr(p)); - } - return haxe__$Template_TemplateExpr.OpVar(p); - } - ,parseExpr: function(data) { - var l = new haxe_ds_List(); - var expr = data; - while(haxe_Template.expr_splitter.match(data)) { - var p = haxe_Template.expr_splitter.matchedPos(); - var k = p.pos + p.len; - if(p.pos != 0) { - l.add({ p : HxOverrides.substr(data,0,p.pos), s : true}); - } - var p1 = haxe_Template.expr_splitter.matched(0); - l.add({ p : p1, s : p1.indexOf("\"") >= 0}); - data = haxe_Template.expr_splitter.matchedRight(); - } - if(data.length != 0) { - var _g_offset = 0; - var _g_s = data; - while(_g_offset < _g_s.length) { - var _g_key = _g_offset; - var _g_value = _g_s.charCodeAt(_g_offset++); - var i = _g_key; - var c = _g_value; - if(c != 32) { - l.add({ p : HxOverrides.substr(data,i,null), s : true}); - break; - } - } - } - var e; - try { - e = this.makeExpr(l); - if(!l.isEmpty()) { - throw haxe_Exception.thrown(l.first().p); - } - } catch( _g ) { - var _g1 = haxe_Exception.caught(_g).unwrap(); - if(typeof(_g1) == "string") { - var s = _g1; - throw haxe_Exception.thrown("Unexpected '" + s + "' in " + expr); - } else { - throw _g; - } - } - return function() { - try { - return e(); - } catch( _g ) { - var exc = haxe_Exception.caught(_g).unwrap(); - throw haxe_Exception.thrown("Error : " + Std.string(exc) + " in " + expr); - } - }; - } - ,makeConst: function(v) { - haxe_Template.expr_trim.match(v); - v = haxe_Template.expr_trim.matched(1); - if(HxOverrides.cca(v,0) == 34) { - var str = HxOverrides.substr(v,1,v.length - 2); - return function() { - return str; - }; - } - if(haxe_Template.expr_int.match(v)) { - var i = Std.parseInt(v); - return function() { - return i; - }; - } - if(haxe_Template.expr_float.match(v)) { - var f = parseFloat(v); - return function() { - return f; - }; - } - var me = this; - return function() { - return me.resolve(v); - }; - } - ,makePath: function(e,l) { - var p = l.first(); - if(p == null || p.p != ".") { - return e; - } - l.pop(); - var field = l.pop(); - if(field == null || !field.s) { - throw haxe_Exception.thrown(field.p); - } - var f = field.p; - haxe_Template.expr_trim.match(f); - f = haxe_Template.expr_trim.matched(1); - return this.makePath(function() { - return Reflect.field(e(),f); - },l); - } - ,makeExpr: function(l) { - return this.makePath(this.makeExpr2(l),l); - } - ,skipSpaces: function(l) { - var p = l.first(); - while(p != null) { - var _g_offset = 0; - var _g_s = p.p; - while(_g_offset < _g_s.length) { - var c = _g_s.charCodeAt(_g_offset++); - if(c != 32) { - return; - } - } - l.pop(); - p = l.first(); - } - } - ,makeExpr2: function(l) { - this.skipSpaces(l); - var p = l.pop(); - this.skipSpaces(l); - if(p == null) { - throw haxe_Exception.thrown(""); - } - if(p.s) { - return this.makeConst(p.p); - } - switch(p.p) { - case "!": - var e = this.makeExpr(l); - return function() { - var v = e(); - if(v != null) { - return v == false; - } else { - return true; - } - }; - case "(": - this.skipSpaces(l); - var e1 = this.makeExpr(l); - this.skipSpaces(l); - var p1 = l.pop(); - if(p1 == null || p1.s) { - throw haxe_Exception.thrown(p1); - } - if(p1.p == ")") { - return e1; - } - this.skipSpaces(l); - var e2 = this.makeExpr(l); - this.skipSpaces(l); - var p2 = l.pop(); - this.skipSpaces(l); - if(p2 == null || p2.p != ")") { - throw haxe_Exception.thrown(p2); - } - switch(p1.p) { - case "!=": - return function() { - return e1() != e2(); - }; - case "&&": - return function() { - return e1() && e2(); - }; - case "*": - return function() { - return e1() * e2(); - }; - case "+": - return function() { - return e1() + e2(); - }; - case "-": - return function() { - return e1() - e2(); - }; - case "/": - return function() { - return e1() / e2(); - }; - case "<": - return function() { - return e1() < e2(); - }; - case "<=": - return function() { - return e1() <= e2(); - }; - case "==": - return function() { - return e1() == e2(); - }; - case ">": - return function() { - return e1() > e2(); - }; - case ">=": - return function() { - return e1() >= e2(); - }; - case "||": - return function() { - return e1() || e2(); - }; - default: - throw haxe_Exception.thrown("Unknown operation " + p1.p); - } - break; - case "-": - var e3 = this.makeExpr(l); - return function() { - return -e3(); - }; - } - throw haxe_Exception.thrown(p.p); - } - ,run: function(e) { - switch(e._hx_index) { - case 0: - var v = e.v; - var _this = this.buf; - var x = Std.string(this.resolve(v)); - _this.b += Std.string(x); - break; - case 1: - var e1 = e.expr; - var _this = this.buf; - var x = Std.string(e1()); - _this.b += Std.string(x); - break; - case 2: - var e1 = e.expr; - var eif = e.eif; - var eelse = e.eelse; - var v = e1(); - if(v == null || v == false) { - if(eelse != null) { - this.run(eelse); - } - } else { - this.run(eif); - } - break; - case 3: - var str = e.str; - this.buf.b += str == null ? "null" : "" + str; - break; - case 4: - var l = e.l; - var _g_head = l.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var e1 = val; - this.run(e1); - } - break; - case 5: - var e1 = e.expr; - var loop = e.loop; - var v = e1(); - try { - var x = $getIterator(v); - if(x.hasNext == null) { - throw haxe_Exception.thrown(null); - } - v = x; - } catch( _g ) { - try { - if(v.hasNext == null) { - throw haxe_Exception.thrown(null); - } - } catch( _g1 ) { - throw haxe_Exception.thrown("Cannot iter on " + Std.string(v)); - } - } - this.stack.push(this.context); - var v1 = v; - var ctx = v1; - while(ctx.hasNext()) { - var ctx1 = ctx.next(); - this.context = ctx1; - this.run(loop); - } - this.context = this.stack.pop(); - break; - case 6: - var m = e.name; - var params = e.params; - var v = Reflect.field(this.macros,m); - var pl = []; - var old = this.buf; - pl.push($bind(this,this.resolve)); - var _g_head = params.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var p = val; - if(p._hx_index == 0) { - var v1 = p.v; - pl.push(this.resolve(v1)); - } else { - this.buf = new StringBuf(); - this.run(p); - pl.push(this.buf.b); - } - } - this.buf = old; - try { - var _this = this.buf; - var x = Std.string(v.apply(this.macros,pl)); - _this.b += Std.string(x); - } catch( _g ) { - var e = haxe_Exception.caught(_g).unwrap(); - var plstr; - try { - plstr = pl.join(","); - } catch( _g1 ) { - plstr = "???"; - } - var msg = "Macro call " + m + "(" + plstr + ") failed (" + Std.string(e) + ")"; - throw haxe_Exception.thrown(msg); - } - break; - } - } -}; -var haxe_ValueException = function(value,previous,native) { - haxe_Exception.call(this,String(value),previous,native); - this.value = value; -}; -haxe_ValueException.__name__ = true; -haxe_ValueException.__super__ = haxe_Exception; -haxe_ValueException.prototype = $extend(haxe_Exception.prototype,{ - unwrap: function() { - return this.value; - } -}); -var haxe_ds_List = function() { - this.length = 0; -}; -haxe_ds_List.__name__ = true; -haxe_ds_List.prototype = { - add: function(item) { - var x = new haxe_ds__$List_ListNode(item,null); - if(this.h == null) { - this.h = x; - } else { - this.q.next = x; - } - this.q = x; - this.length++; - } - ,push: function(item) { - var x = new haxe_ds__$List_ListNode(item,this.h); - this.h = x; - if(this.q == null) { - this.q = x; - } - this.length++; - } - ,first: function() { - if(this.h == null) { - return null; - } else { - return this.h.item; - } - } - ,pop: function() { - if(this.h == null) { - return null; - } - var x = this.h.item; - this.h = this.h.next; - if(this.h == null) { - this.q = null; - } - this.length--; - return x; - } - ,isEmpty: function() { - return this.h == null; - } - ,toString: function() { - var s_b = ""; - var first = true; - var l = this.h; - s_b += "{"; - while(l != null) { - if(first) { - first = false; - } else { - s_b += ", "; - } - s_b += Std.string(Std.string(l.item)); - l = l.next; - } - s_b += "}"; - return s_b; - } -}; -var haxe_ds__$List_ListNode = function(item,next) { - this.item = item; - this.next = next; -}; -haxe_ds__$List_ListNode.__name__ = true; -var js_Boot = function() { }; -js_Boot.__name__ = true; -js_Boot.__string_rec = function(o,s) { - if(o == null) { - return "null"; - } - if(s.length >= 5) { - return "<...>"; - } - var t = typeof(o); - if(t == "function" && (o.__name__ || o.__ename__)) { - t = "object"; - } - switch(t) { - case "function": - return ""; - case "object": - if(o.__enum__) { - var e = $hxEnums[o.__enum__]; - var con = e.__constructs__[o._hx_index]; - var n = con._hx_name; - if(con.__params__) { - s = s + "\t"; - return n + "(" + ((function($this) { - var $r; - var _g = []; - { - var _g1 = 0; - var _g2 = con.__params__; - while(true) { - if(!(_g1 < _g2.length)) { - break; - } - var p = _g2[_g1]; - _g1 = _g1 + 1; - _g.push(js_Boot.__string_rec(o[p],s)); - } - } - $r = _g; - return $r; - }(this))).join(",") + ")"; - } else { - return n; - } - } - if(((o) instanceof Array)) { - var str = "["; - s += "\t"; - var _g = 0; - var _g1 = o.length; - while(_g < _g1) { - var i = _g++; - str += (i > 0 ? "," : "") + js_Boot.__string_rec(o[i],s); - } - str += "]"; - return str; - } - var tostr; - try { - tostr = o.toString; - } catch( _g ) { - return "???"; - } - if(tostr != null && tostr != Object.toString && typeof(tostr) == "function") { - var s2 = o.toString(); - if(s2 != "[object Object]") { - return s2; - } - } - var str = "{\n"; - s += "\t"; - var hasp = o.hasOwnProperty != null; - var k = null; - for( k in o ) { - if(hasp && !o.hasOwnProperty(k)) { - continue; - } - if(k == "prototype" || k == "__class__" || k == "__super__" || k == "__interfaces__" || k == "__properties__") { - continue; - } - if(str.length != 2) { - str += ", \n"; - } - str += s + k + " : " + js_Boot.__string_rec(o[k],s); - } - s = s.substring(1); - str += "\n" + s + "}"; - return str; - case "string": - return o; - default: - return String(o); - } -}; -var xrfragment_Filter = $hx_exports["xrfragment"]["Filter"] = function(str) { - this.q = { }; - this.str = ""; - if(str != null) { - this.parse(str); - } -}; -xrfragment_Filter.__name__ = true; -xrfragment_Filter.prototype = { - toObject: function() { - return Reflect.copy(this.q); - } - ,get: function() { - return Reflect.copy(this.q); - } - ,parse: function(str) { - var token = str.split(" "); - var q = { }; - var process = function(str,prefix) { - if(prefix == null) { - prefix = ""; - } - str = StringTools.trim(str); - var k = str.split("=")[0]; - var v = str.split("=")[1]; - var filter = { }; - if(q[prefix + k]) { - filter = q[prefix + k]; - } - if(xrfragment_XRF.isProp.match(str)) { - var oper = ""; - if(str.indexOf(">") != -1) { - oper = ">"; - } - if(str.indexOf("<") != -1) { - oper = "<"; - } - if(xrfragment_XRF.isExclude.match(k)) { - k = HxOverrides.substr(k,1,null); - } - v = HxOverrides.substr(v,oper.length,null); - if(oper.length == 0) { - oper = "="; - } - var rule = { }; - if(xrfragment_XRF.isNumber.match(v)) { - rule[oper] = parseFloat(v); - } else { - rule[oper] = v; - } - q["expr"] = rule; - } - var value = xrfragment_XRF.isDeep.match(str) ? k.split("*").length - 1 : 0; - q["deep"] = value; - var value = xrfragment_XRF.isExclude.match(str) ? false : true; - q["show"] = value; - var value = k.replace(xrfragment_XRF.operators.r,""); - q["key"] = value; - q["value"] = v; - }; - var _g = 0; - var _g1 = token.length; - while(_g < _g1) { - var i = _g++; - process(token[i]); - } - return this.q = q; - } - ,test: function(obj) { - var qualify = false; - var _g = 0; - var _g1 = Reflect.fields(obj); - while(_g < _g1.length) { - var k = _g1[_g]; - ++_g; - var v = Std.string(Reflect.field(obj,k)); - if(this.testProperty(k,v)) { - qualify = true; - } - } - var _g = 0; - var _g1 = Reflect.fields(obj); - while(_g < _g1.length) { - var k = _g1[_g]; - ++_g; - var v = Std.string(Reflect.field(obj,k)); - if(this.testProperty(k,v,true)) { - qualify = false; - } - } - return qualify; - } - ,testProperty: function(property,value,exclude) { - var conds = 0; - var fails = 0; - var qualify = 0; - var testprop = function(expr) { - conds += 1; - fails += expr ? 0 : 1; - return expr; - }; - if(this.q[value] != null) { - var v = this.q[value]; - if(v[property] != null) { - return v[property]; - } - } - if(Reflect.field(this.q,"expr")) { - var f = Reflect.field(this.q,"expr"); - if(!Reflect.field(this.q,"show")) { - if(Reflect.field(f,"!=") != null && testprop((value == null ? "null" : "" + value) == Std.string(Reflect.field(f,"!="))) && exclude) { - ++qualify; - } - } else { - if(Reflect.field(f,"*") != null && testprop(parseFloat(value) != null)) { - ++qualify; - } - if(Reflect.field(f,">") != null && testprop(parseFloat(value) >= parseFloat(Reflect.field(f,">")))) { - ++qualify; - } - if(Reflect.field(f,"<") != null && testprop(parseFloat(value) <= parseFloat(Reflect.field(f,"<")))) { - ++qualify; - } - if(Reflect.field(f,"=") != null && (testprop(value == Reflect.field(f,"=")) || testprop(parseFloat(value) == parseFloat(Reflect.field(f,"="))))) { - ++qualify; - } - } - } - return qualify > 0; - } -}; -var xrfragment_Parser = $hx_exports["xrfragment"]["Parser"] = function() { }; -xrfragment_Parser.__name__ = true; -xrfragment_Parser.parse = function(key,value,store,index) { - var Frag_h = Object.create(null); - Frag_h["#"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_PREDEFINED_VIEW | xrfragment_XRF.PV_EXECUTE; - Frag_h["src"] = xrfragment_XRF.T_URL; - Frag_h["href"] = xrfragment_XRF.T_URL | xrfragment_XRF.T_PREDEFINED_VIEW; - Frag_h["tag"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["pos"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_VECTOR3 | xrfragment_XRF.T_STRING | xrfragment_XRF.METADATA | xrfragment_XRF.NAVIGATOR; - Frag_h["rot"] = xrfragment_XRF.QUERY_OPERATOR | xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_VECTOR3 | xrfragment_XRF.METADATA | xrfragment_XRF.NAVIGATOR; - Frag_h["t"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_FLOAT | xrfragment_XRF.T_VECTOR2 | xrfragment_XRF.NAVIGATOR | xrfragment_XRF.METADATA; - Frag_h["s"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_MEDIAFRAG; - Frag_h["loop"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_PREDEFINED_VIEW; - Frag_h["uv"] = xrfragment_XRF.T_VECTOR2 | xrfragment_XRF.T_MEDIAFRAG; - Frag_h["namespace"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["SPDX"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["unit"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["description"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - var keyStripped = key.replace(xrfragment_XRF.operators.r,""); - var isPVDynamic = key.length > 0 && !Object.prototype.hasOwnProperty.call(Frag_h,key); - if(isPVDynamic) { - var v = new xrfragment_XRF(key,xrfragment_XRF.PV_EXECUTE | xrfragment_XRF.NAVIGATOR,index); - v.validate(value); - v.flags = xrfragment_XRF.set(xrfragment_XRF.T_DYNAMICKEY,v.flags); - if(!Object.prototype.hasOwnProperty.call(Frag_h,key)) { - v.flags = xrfragment_XRF.set(xrfragment_XRF.CUSTOMFRAG,v.flags); - } - if(value.length == 0) { - v.flags = xrfragment_XRF.set(xrfragment_XRF.T_DYNAMICKEYVALUE,v.flags); - } - store[keyStripped] = v; - return true; - } - var v = new xrfragment_XRF(key,Frag_h[key],index); - if(Object.prototype.hasOwnProperty.call(Frag_h,key)) { - if(!v.validate(value)) { - console.log("src/xrfragment/Parser.hx:67:","⚠ fragment '" + key + "' has incompatible value (" + value + ")"); - return false; - } - store[keyStripped] = v; - if(xrfragment_Parser.debug) { - console.log("src/xrfragment/Parser.hx:71:","✔ " + key + ": " + v.string); - } - } else { - if(typeof(value) == "string") { - v.guessType(v,value); - } - v.flags = xrfragment_XRF.set(xrfragment_XRF.CUSTOMFRAG,v.flags); - store[keyStripped] = v; - } - return true; -}; -xrfragment_Parser.getMetaData = function() { - var meta = { title : ["title","og:title","dc.title"], description : ["aria-description","og:description","dc.description"], author : ["author","dc.creator"], publisher : ["publisher","dc.publisher"], website : ["og:site_name","og:url","dc.publisher"], license : ["SPDX","dc.rights"]}; - return meta; -}; -var xrfragment_URI = $hx_exports["xrfragment"]["URI"] = function() { - this.XRF = { }; - this.hash = { }; - this.fragment = ""; -}; -xrfragment_URI.__name__ = true; -xrfragment_URI.parseFragment = function(url,filter) { - var store = { }; - if(url == null || url.indexOf("#") == -1) { - return store; - } - var fragment = url.split("#"); - var splitArray = fragment[1].split("&"); - var _g = 0; - var _g1 = splitArray.length; - while(_g < _g1) { - var i = _g++; - var splitByEqual = splitArray[i].split("="); - var regexPlus = new EReg("\\+","g"); - var key = splitByEqual[0]; - var value = ""; - if(splitByEqual.length > 1) { - if(xrfragment_XRF.isVector.match(splitByEqual[1])) { - value = splitByEqual[1]; - } else { - var s = regexPlus.split(splitByEqual[1]).join(" "); - value = decodeURIComponent(s.split("+").join(" ")); - } - } - var ok = xrfragment_Parser.parse(key,value,store,i); - } - if(filter != null && filter != 0) { - var _g = 0; - var _g1 = Reflect.fields(store); - while(_g < _g1.length) { - var key = _g1[_g]; - ++_g; - var xrf = store[key]; - if(!xrf.is(filter)) { - Reflect.deleteField(store,key); - } - } - } - return store; -}; -xrfragment_URI.template = function(uri,vars) { - var parts = uri.split("#"); - if(parts.length == 1) { - return uri; - } - var frag = parts[1]; - frag = StringTools.replace(frag,"{","::"); - frag = StringTools.replace(frag,"}","::"); - frag = new haxe_Template(frag).execute(vars); - frag = StringTools.replace(frag,"null",""); - parts[1] = frag; - return parts.join("#"); -}; -xrfragment_URI.parse = function(stringUrl,flags) { - var r = new EReg("^(?:(?![^:@]+:[^:@/]*@)([^:/?#.]+):)?(?://)?((?:(([^:@]*)(?::([^:@]*))?)?@)?([^:/?#]*)(?::(\\d*))?)(((/(?:[^?#](?![^?#/]*\\.[^?#/.]+(?:[?#]|$)))*/?)?([^?#/]*))(?:\\?([^#]*))?(?:#(.*))?)",""); - if(stringUrl.indexOf("://") == -1 && stringUrl.charAt(0) != "/") { - stringUrl = "/" + stringUrl; - } - r.match(stringUrl); - var url = new xrfragment_URI(); - var _g = 0; - var _g1 = xrfragment_URI._parts.length; - while(_g < _g1) { - var i = _g++; - url[xrfragment_URI._parts[i]] = r.matched(i); - } - if(xrfragment_URI.isRelative(url) == true) { - if(url.directory == null && url.host != null) { - url.file = url.host; - } - url.host = ""; - } - url.hash = { }; - if(url.fragment != null && url.fragment.length > 0) { - url.XRF = xrfragment_URI.parseFragment("#" + url.fragment,flags); - var key; - var _g = 0; - var _g1 = Reflect.fields(url.XRF); - while(_g < _g1.length) { - var key = _g1[_g]; - ++_g; - var v = url.XRF[key]; - url.hash[key] = v["string"]; - } - } - xrfragment_URI.computeVars(url); - return url; -}; -xrfragment_URI.computeVars = function(url) { - var r_r = new RegExp("//","g".split("u").join("")); - if(url.directory != null && url.directory.indexOf("//") != -1) { - url.directory = url.directory.replace(r_r,"/"); - } - if(url.path != null && url.path.indexOf("//") != -1) { - url.path = url.path.replace(r_r,"/"); - } - if(url.file != null && url.file.indexOf("//") != -1) { - url.file = url.file.replace(r_r,"/"); - } - url.URN = url.scheme + "://" + url.host; - if(url.port != null) { - url.URN += ":" + url.port; - } - url.URN += url.directory; - if(url.file != null) { - var parts = url.file.split("."); - if(parts.length > 1) { - url.fileExt = parts.pop(); - } - } -}; -xrfragment_URI.toString = function(url) { - var result = ""; - if(url.scheme != null) { - result += url.scheme + "://"; - } - if(url.user != null) { - result += url.user + ":"; - } - if(url.password != null) { - result += url.password + "@"; - } - if(url.host != null) { - result += url.host; - } - if(url.port != null) { - result += ":" + url.port; - } - if(url.directory != null) { - result += url.directory; - } - if(url.file != null) { - result += url.file; - } - if(url.query != null) { - result += "?" + url.query; - } - if(url.fragment != null) { - result += "#" + url.fragment; - } - return result; -}; -xrfragment_URI.appendURI = function(url,appendedURI) { - if(xrfragment_URI.isRelative(url) == true) { - return xrfragment_URI.appendToRelativeURI(url,appendedURI); - } else { - return xrfragment_URI.appendToAbsoluteURI(url,appendedURI); - } -}; -xrfragment_URI.isRelative = function(url) { - return url.scheme == null; -}; -xrfragment_URI.appendToRelativeURI = function(url,appendedURI) { - if(url.directory == null || url.host == null) { - return xrfragment_URI.cloneURI(appendedURI); - } - var resultURI = new xrfragment_URI(); - resultURI.host = url.host; - resultURI.directory = url.directory; - if(appendedURI.host != null) { - resultURI.directory += appendedURI.host; - } - if(appendedURI.directory != null) { - var directory = appendedURI.directory; - if(appendedURI.host == null) { - resultURI.directory += HxOverrides.substr(directory,1,null); - } else { - resultURI.directory += directory; - } - } - if(appendedURI.file != null) { - resultURI.file = appendedURI.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(appendedURI.query != null) { - resultURI.query = appendedURI.query; - } - if(appendedURI.fragment != null) { - resultURI.fragment = appendedURI.fragment; - } - return resultURI; -}; -xrfragment_URI.appendToAbsoluteURI = function(url,appendedURI) { - var resultURI = new xrfragment_URI(); - if(url.scheme != null) { - resultURI.scheme = url.scheme; - } - if(url.host != null) { - resultURI.host = url.host; - } - var directory = ""; - if(url.directory != null) { - directory = url.directory; - } - if(appendedURI.host != null) { - appendedURI.directory += appendedURI.host; - } - if(appendedURI.directory != null) { - directory += appendedURI.directory; - } - resultURI.directory = directory; - if(appendedURI.file != null) { - resultURI.file = appendedURI.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(appendedURI.query != null) { - resultURI.query = appendedURI.query; - } - if(appendedURI.fragment != null) { - resultURI.fragment = appendedURI.fragment; - } - return resultURI; -}; -xrfragment_URI.toAbsolute = function(url,newUrl) { - var newURI = xrfragment_URI.parse(newUrl,0); - var resultURI = new xrfragment_URI(); - resultURI.port = url.port; - resultURI.source = newUrl; - if(newURI.scheme != null) { - resultURI.scheme = newURI.scheme; - } else { - resultURI.scheme = url.scheme; - } - if(newURI.host != null && newURI.host.length > 0) { - resultURI.host = newURI.host; - resultURI.port = null; - resultURI.fragment = null; - resultURI.hash = { }; - resultURI.XRF = { }; - if(newURI.port != null) { - resultURI.port = newURI.port; - } - } else { - resultURI.host = url.host; - } - var directory = ""; - if(url.directory != null) { - directory = url.directory; - } - if(newURI.directory != null) { - if(newUrl.charAt(0) != "/" && newUrl.indexOf("://") == -1) { - var stripRelative_r = new RegExp("\\./.*","".split("u").join("")); - directory = directory.replace(stripRelative_r,""); - directory += newURI.directory; - } else { - directory = newURI.directory; - } - } - resultURI.directory = directory; - if(newURI.file != null) { - resultURI.file = newURI.file; - } else { - resultURI.file = url.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(newURI.query != null) { - resultURI.query = newURI.query; - } - if(newURI.fragment != null) { - resultURI.fragment = newURI.fragment; - } - resultURI.hash = newURI.hash; - resultURI.XRF = newURI.XRF; - xrfragment_URI.computeVars(resultURI); - return resultURI; -}; -xrfragment_URI.cloneURI = function(url) { - var clonedURI = new xrfragment_URI(); - clonedURI.url = url.url; - clonedURI.source = url.source; - clonedURI.scheme = url.scheme; - clonedURI.authority = url.authority; - clonedURI.userInfo = url.userInfo; - clonedURI.password = url.password; - clonedURI.host = url.host; - clonedURI.port = url.port; - clonedURI.relative = url.relative; - clonedURI.path = url.path; - clonedURI.directory = url.directory; - clonedURI.file = url.file; - clonedURI.query = url.query; - clonedURI.fragment = url.fragment; - return clonedURI; -}; -var xrfragment_XRF = $hx_exports["xrfragment"]["XRF"] = function(_fragment,_flags,_index) { - this.floats = []; - this.shift = []; - this.fragment = _fragment; - this.flags = _flags; - this.index = _index; -}; -xrfragment_XRF.__name__ = true; -xrfragment_XRF.set = function(flag,flags) { - return flags | flag; -}; -xrfragment_XRF.unset = function(flag,flags) { - return flags & ~flag; -}; -xrfragment_XRF.prototype = { - is: function(flag) { - var v = this.flags; - if(!(typeof(v) == "number" && ((v | 0) === v))) { - this.flags = 0; - } - return (this.flags & flag) != 0; - } - ,validate: function(value) { - this.guessType(this,value); - var ok = true; - if(value.length == 0 && !this.is(xrfragment_XRF.T_PREDEFINED_VIEW)) { - ok = false; - } - if(!this.is(xrfragment_XRF.T_FLOAT) && this.is(xrfragment_XRF.T_VECTOR2) && !(typeof(this.x) == "number" && typeof(this.y) == "number")) { - ok = false; - } - if(!(this.is(xrfragment_XRF.T_VECTOR2) || this.is(xrfragment_XRF.T_STRING)) && this.is(xrfragment_XRF.T_VECTOR3) && !(typeof(this.x) == "number" && typeof(this.y) == "number" && typeof(this.z) == "number")) { - ok = false; - } - return ok; - } - ,guessType: function(v,str) { - v.string = str; - if(xrfragment_XRF.isReset.match(v.fragment)) { - v.reset = true; - } - if(v.fragment == "loop") { - v.loop = true; - } - if(typeof(str) != "string") { - return; - } - if(str.length > 0) { - if(xrfragment_XRF.isXRFScheme.match(str)) { - v.xrfScheme = true; - str = str.replace(xrfragment_XRF.isXRFScheme.r,""); - v.string = str; - } - if(str.split(",").length > 1) { - var xyzn = str.split(","); - if(xyzn.length > 0) { - v.x = parseFloat(xyzn[0]); - } - if(xyzn.length > 1) { - v.y = parseFloat(xyzn[1]); - } - if(xyzn.length > 2) { - v.z = parseFloat(xyzn[2]); - } - var _g = 0; - var _g1 = xyzn.length; - while(_g < _g1) { - var i = _g++; - v.shift.push(xrfragment_XRF.isShift.match(xyzn[i])); - v.floats.push(parseFloat(xyzn[i].replace(xrfragment_XRF.isShift.r,""))); - } - } - if(xrfragment_XRF.isColor.match(str)) { - v.color = str; - } - if(xrfragment_XRF.isFloat.match(str)) { - v.x = parseFloat(str); - v.float = v.x; - } - if(xrfragment_XRF.isInt.match(str)) { - v.int = Std.parseInt(str); - v.x = v.int; - v.floats.push(v.x); - } - v.filter = new xrfragment_Filter(v.fragment + "=" + v.string); - } else { - v.filter = new xrfragment_Filter(v.fragment); - } - } -}; -function $getIterator(o) { if( o instanceof Array ) return new haxe_iterators_ArrayIterator(o); else return o.iterator(); } -function $bind(o,m) { if( m == null ) return null; if( m.__id__ == null ) m.__id__ = $global.$haxeUID++; var f; if( o.hx__closures__ == null ) o.hx__closures__ = {}; else f = o.hx__closures__[m.__id__]; if( f == null ) { f = m.bind(o); o.hx__closures__[m.__id__] = f; } return f; } -$global.$haxeUID |= 0; -if(typeof(performance) != "undefined" ? typeof(performance.now) == "function" : false) { - HxOverrides.now = performance.now.bind(performance); -} -if( String.fromCodePoint == null ) String.fromCodePoint = function(c) { return c < 0x10000 ? String.fromCharCode(c) : String.fromCharCode((c>>10)+0xD7C0)+String.fromCharCode((c&0x3FF)+0xDC00); } -String.__name__ = true; -Array.__name__ = true; -js_Boot.__toStr = ({ }).toString; -haxe_Template.splitter = new EReg("(::[A-Za-z0-9_ ()&|!+=/><*.\"-]+::|\\$\\$([A-Za-z0-9_-]+)\\()",""); -haxe_Template.expr_splitter = new EReg("(\\(|\\)|[ \r\n\t]*\"[^\"]*\"[ \r\n\t]*|[!+=/><*.&|-]+)",""); -haxe_Template.expr_trim = new EReg("^[ ]*([^ ]+)[ ]*$",""); -haxe_Template.expr_int = new EReg("^[0-9]+$",""); -haxe_Template.expr_float = new EReg("^([+-]?)(?=\\d|,\\d)\\d*(,\\d*)?([Ee]([+-]?\\d+))?$",""); -haxe_Template.globals = { }; -haxe_Template.hxKeepArrayIterator = new haxe_iterators_ArrayIterator([]); -xrfragment_Parser.error = ""; -xrfragment_Parser.debug = false; -xrfragment_URI.__meta__ = { statics : { template : { keep : null}}}; -xrfragment_URI._parts = ["source","scheme","authority","userInfo","user","password","host","port","relative","path","directory","file","query","fragment"]; -xrfragment_XRF.IMMUTABLE = 1; -xrfragment_XRF.PROP_BIND = 2; -xrfragment_XRF.QUERY_OPERATOR = 4; -xrfragment_XRF.PROMPT = 8; -xrfragment_XRF.CUSTOMFRAG = 16; -xrfragment_XRF.NAVIGATOR = 32; -xrfragment_XRF.METADATA = 64; -xrfragment_XRF.PV_OVERRIDE = 128; -xrfragment_XRF.PV_EXECUTE = 256; -xrfragment_XRF.T_COLOR = 8192; -xrfragment_XRF.T_INT = 16384; -xrfragment_XRF.T_FLOAT = 32768; -xrfragment_XRF.T_VECTOR2 = 65536; -xrfragment_XRF.T_VECTOR3 = 131072; -xrfragment_XRF.T_URL = 262144; -xrfragment_XRF.T_PREDEFINED_VIEW = 524288; -xrfragment_XRF.T_STRING = 1048576; -xrfragment_XRF.T_MEDIAFRAG = 2097152; -xrfragment_XRF.T_DYNAMICKEY = 4194304; -xrfragment_XRF.T_DYNAMICKEYVALUE = 8388608; -xrfragment_XRF.isColor = new EReg("^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$",""); -xrfragment_XRF.isInt = new EReg("^[-0-9]+$",""); -xrfragment_XRF.isFloat = new EReg("^[-0-9]+\\.[0-9]+$",""); -xrfragment_XRF.isVector = new EReg("([,]+|\\w)",""); -xrfragment_XRF.isUrl = new EReg("(://)?\\..*",""); -xrfragment_XRF.isUrlOrPretypedView = new EReg("(^#|://)?\\..*",""); -xrfragment_XRF.isString = new EReg(".*",""); -xrfragment_XRF.operators = new EReg("(^[-]|^[!]|[\\*]$)","g"); -xrfragment_XRF.isProp = new EReg("^.*=[><=]?",""); -xrfragment_XRF.isExclude = new EReg("^-",""); -xrfragment_XRF.isDeep = new EReg("\\*",""); -xrfragment_XRF.isNumber = new EReg("^[0-9\\.]+$",""); -xrfragment_XRF.isMediaFrag = new EReg("^([0-9\\.,\\*+-]+)$",""); -xrfragment_XRF.isReset = new EReg("^!",""); -xrfragment_XRF.isShift = new EReg("^(\\+|--)",""); -xrfragment_XRF.isXRFScheme = new EReg("^xrf://",""); -})(typeof window != "undefined" ? window : typeof global != "undefined" ? global : typeof self != "undefined" ? self : this); -var xrfragment = $hx_exports["xrfragment"]; -export default xrfragment; -// Generated by Haxe 4.3.3 -var $hx_exports = typeof exports != "undefined" ? exports : typeof window != "undefined" ? window : typeof self != "undefined" ? self : this; -(function ($global) { "use strict"; -$hx_exports["xrfragment"] = $hx_exports["xrfragment"] || {}; -var $estr = function() { return js_Boot.__string_rec(this,''); },$hxEnums = $hxEnums || {},$_; -function $extend(from, fields) { - var proto = Object.create(from); - for (var name in fields) proto[name] = fields[name]; - if( fields.toString !== Object.prototype.toString ) proto.toString = fields.toString; - return proto; -} -var EReg = function(r,opt) { - this.r = new RegExp(r,opt.split("u").join("")); -}; -EReg.__name__ = true; -EReg.prototype = { - match: function(s) { - if(this.r.global) { - this.r.lastIndex = 0; - } - this.r.m = this.r.exec(s); - this.r.s = s; - return this.r.m != null; - } - ,matched: function(n) { - if(this.r.m != null && n >= 0 && n < this.r.m.length) { - return this.r.m[n]; - } else { - throw haxe_Exception.thrown("EReg::matched"); - } - } - ,matchedRight: function() { - if(this.r.m == null) { - throw haxe_Exception.thrown("No string matched"); - } - var sz = this.r.m.index + this.r.m[0].length; - return HxOverrides.substr(this.r.s,sz,this.r.s.length - sz); - } - ,matchedPos: function() { - if(this.r.m == null) { - throw haxe_Exception.thrown("No string matched"); - } - return { pos : this.r.m.index, len : this.r.m[0].length}; - } - ,split: function(s) { - var d = "#__delim__#"; - return s.replace(this.r,d).split(d); - } -}; -var HxOverrides = function() { }; -HxOverrides.__name__ = true; -HxOverrides.cca = function(s,index) { - var x = s.charCodeAt(index); - if(x != x) { - return undefined; - } - return x; -}; -HxOverrides.substr = function(s,pos,len) { - if(len == null) { - len = s.length; - } else if(len < 0) { - if(pos == 0) { - len = s.length + len; - } else { - return ""; - } - } - return s.substr(pos,len); -}; -HxOverrides.now = function() { - return Date.now(); -}; -Math.__name__ = true; -var Reflect = function() { }; -Reflect.__name__ = true; -Reflect.field = function(o,field) { - try { - return o[field]; - } catch( _g ) { - return null; - } -}; -Reflect.getProperty = function(o,field) { - var tmp; - if(o == null) { - return null; - } else { - var tmp1; - if(o.__properties__) { - tmp = o.__properties__["get_" + field]; - tmp1 = tmp; - } else { - tmp1 = false; - } - if(tmp1) { - return o[tmp](); - } else { - return o[field]; - } - } -}; -Reflect.fields = function(o) { - var a = []; - if(o != null) { - var hasOwnProperty = Object.prototype.hasOwnProperty; - for( var f in o ) { - if(f != "__id__" && f != "hx__closures__" && hasOwnProperty.call(o,f)) { - a.push(f); - } - } - } - return a; -}; -Reflect.isObject = function(v) { - if(v == null) { - return false; - } - var t = typeof(v); - if(!(t == "string" || t == "object" && v.__enum__ == null)) { - if(t == "function") { - return (v.__name__ || v.__ename__) != null; - } else { - return false; - } - } else { - return true; - } -}; -Reflect.deleteField = function(o,field) { - if(!Object.prototype.hasOwnProperty.call(o,field)) { - return false; - } - delete(o[field]); - return true; -}; -Reflect.copy = function(o) { - if(o == null) { - return null; - } - var o2 = { }; - var _g = 0; - var _g1 = Reflect.fields(o); - while(_g < _g1.length) { - var f = _g1[_g]; - ++_g; - o2[f] = Reflect.field(o,f); - } - return o2; -}; -var Std = function() { }; -Std.__name__ = true; -Std.string = function(s) { - return js_Boot.__string_rec(s,""); -}; -Std.parseInt = function(x) { - var v = parseInt(x); - if(isNaN(v)) { - return null; - } - return v; -}; -var StringBuf = function() { - this.b = ""; -}; -StringBuf.__name__ = true; -var StringTools = function() { }; -StringTools.__name__ = true; -StringTools.isSpace = function(s,pos) { - var c = HxOverrides.cca(s,pos); - if(!(c > 8 && c < 14)) { - return c == 32; - } else { - return true; - } -}; -StringTools.ltrim = function(s) { - var l = s.length; - var r = 0; - while(r < l && StringTools.isSpace(s,r)) ++r; - if(r > 0) { - return HxOverrides.substr(s,r,l - r); - } else { - return s; - } -}; -StringTools.rtrim = function(s) { - var l = s.length; - var r = 0; - while(r < l && StringTools.isSpace(s,l - r - 1)) ++r; - if(r > 0) { - return HxOverrides.substr(s,0,l - r); - } else { - return s; - } -}; -StringTools.trim = function(s) { - return StringTools.ltrim(StringTools.rtrim(s)); -}; -StringTools.replace = function(s,sub,by) { - return s.split(sub).join(by); -}; -var haxe_Exception = function(message,previous,native) { - Error.call(this,message); - this.message = message; - this.__previousException = previous; - this.__nativeException = native != null ? native : this; -}; -haxe_Exception.__name__ = true; -haxe_Exception.caught = function(value) { - if(((value) instanceof haxe_Exception)) { - return value; - } else if(((value) instanceof Error)) { - return new haxe_Exception(value.message,null,value); - } else { - return new haxe_ValueException(value,null,value); - } -}; -haxe_Exception.thrown = function(value) { - if(((value) instanceof haxe_Exception)) { - return value.get_native(); - } else if(((value) instanceof Error)) { - return value; - } else { - var e = new haxe_ValueException(value); - return e; - } -}; -haxe_Exception.__super__ = Error; -haxe_Exception.prototype = $extend(Error.prototype,{ - unwrap: function() { - return this.__nativeException; - } - ,get_native: function() { - return this.__nativeException; - } - ,__properties__: {get_native:"get_native"} -}); -var haxe__$Template_TemplateExpr = $hxEnums["haxe._Template.TemplateExpr"] = { __ename__:true,__constructs__:null - ,OpVar: ($_=function(v) { return {_hx_index:0,v:v,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpVar",$_.__params__ = ["v"],$_) - ,OpExpr: ($_=function(expr) { return {_hx_index:1,expr:expr,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpExpr",$_.__params__ = ["expr"],$_) - ,OpIf: ($_=function(expr,eif,eelse) { return {_hx_index:2,expr:expr,eif:eif,eelse:eelse,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpIf",$_.__params__ = ["expr","eif","eelse"],$_) - ,OpStr: ($_=function(str) { return {_hx_index:3,str:str,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpStr",$_.__params__ = ["str"],$_) - ,OpBlock: ($_=function(l) { return {_hx_index:4,l:l,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpBlock",$_.__params__ = ["l"],$_) - ,OpForeach: ($_=function(expr,loop) { return {_hx_index:5,expr:expr,loop:loop,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpForeach",$_.__params__ = ["expr","loop"],$_) - ,OpMacro: ($_=function(name,params) { return {_hx_index:6,name:name,params:params,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpMacro",$_.__params__ = ["name","params"],$_) -}; -haxe__$Template_TemplateExpr.__constructs__ = [haxe__$Template_TemplateExpr.OpVar,haxe__$Template_TemplateExpr.OpExpr,haxe__$Template_TemplateExpr.OpIf,haxe__$Template_TemplateExpr.OpStr,haxe__$Template_TemplateExpr.OpBlock,haxe__$Template_TemplateExpr.OpForeach,haxe__$Template_TemplateExpr.OpMacro]; -var haxe_iterators_ArrayIterator = function(array) { - this.current = 0; - this.array = array; -}; -haxe_iterators_ArrayIterator.__name__ = true; -haxe_iterators_ArrayIterator.prototype = { - hasNext: function() { - return this.current < this.array.length; - } - ,next: function() { - return this.array[this.current++]; - } -}; -var haxe_Template = function(str) { - var tokens = this.parseTokens(str); - this.expr = this.parseBlock(tokens); - if(!tokens.isEmpty()) { - throw haxe_Exception.thrown("Unexpected '" + Std.string(tokens.first().s) + "'"); - } -}; -haxe_Template.__name__ = true; -haxe_Template.prototype = { - execute: function(context,macros) { - this.macros = macros == null ? { } : macros; - this.context = context; - this.stack = new haxe_ds_List(); - this.buf = new StringBuf(); - this.run(this.expr); - return this.buf.b; - } - ,resolve: function(v) { - if(v == "__current__") { - return this.context; - } - if(Reflect.isObject(this.context)) { - var value = Reflect.getProperty(this.context,v); - if(value != null || Object.prototype.hasOwnProperty.call(this.context,v)) { - return value; - } - } - var _g_head = this.stack.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var ctx = val; - var value = Reflect.getProperty(ctx,v); - if(value != null || Object.prototype.hasOwnProperty.call(ctx,v)) { - return value; - } - } - return Reflect.field(haxe_Template.globals,v); - } - ,parseTokens: function(data) { - var tokens = new haxe_ds_List(); - while(haxe_Template.splitter.match(data)) { - var p = haxe_Template.splitter.matchedPos(); - if(p.pos > 0) { - tokens.add({ p : HxOverrides.substr(data,0,p.pos), s : true, l : null}); - } - if(HxOverrides.cca(data,p.pos) == 58) { - tokens.add({ p : HxOverrides.substr(data,p.pos + 2,p.len - 4), s : false, l : null}); - data = haxe_Template.splitter.matchedRight(); - continue; - } - var parp = p.pos + p.len; - var npar = 1; - var params = []; - var part = ""; - while(true) { - var c = HxOverrides.cca(data,parp); - ++parp; - if(c == 40) { - ++npar; - } else if(c == 41) { - --npar; - if(npar <= 0) { - break; - } - } else if(c == null) { - throw haxe_Exception.thrown("Unclosed macro parenthesis"); - } - if(c == 44 && npar == 1) { - params.push(part); - part = ""; - } else { - part += String.fromCodePoint(c); - } - } - params.push(part); - tokens.add({ p : haxe_Template.splitter.matched(2), s : false, l : params}); - data = HxOverrides.substr(data,parp,data.length - parp); - } - if(data.length > 0) { - tokens.add({ p : data, s : true, l : null}); - } - return tokens; - } - ,parseBlock: function(tokens) { - var l = new haxe_ds_List(); - while(true) { - var t = tokens.first(); - if(t == null) { - break; - } - if(!t.s && (t.p == "end" || t.p == "else" || HxOverrides.substr(t.p,0,7) == "elseif ")) { - break; - } - l.add(this.parse(tokens)); - } - if(l.length == 1) { - return l.first(); - } - return haxe__$Template_TemplateExpr.OpBlock(l); - } - ,parse: function(tokens) { - var t = tokens.pop(); - var p = t.p; - if(t.s) { - return haxe__$Template_TemplateExpr.OpStr(p); - } - if(t.l != null) { - var pe = new haxe_ds_List(); - var _g = 0; - var _g1 = t.l; - while(_g < _g1.length) { - var p1 = _g1[_g]; - ++_g; - pe.add(this.parseBlock(this.parseTokens(p1))); - } - return haxe__$Template_TemplateExpr.OpMacro(p,pe); - } - var kwdEnd = function(kwd) { - var pos = -1; - var length = kwd.length; - if(HxOverrides.substr(p,0,length) == kwd) { - pos = length; - var _g_offset = 0; - var _g_s = HxOverrides.substr(p,length,null); - while(_g_offset < _g_s.length) { - var c = _g_s.charCodeAt(_g_offset++); - if(c == 32) { - ++pos; - } else { - break; - } - } - } - return pos; - }; - var pos = kwdEnd("if"); - if(pos > 0) { - p = HxOverrides.substr(p,pos,p.length - pos); - var e = this.parseExpr(p); - var eif = this.parseBlock(tokens); - var t = tokens.first(); - var eelse; - if(t == null) { - throw haxe_Exception.thrown("Unclosed 'if'"); - } - if(t.p == "end") { - tokens.pop(); - eelse = null; - } else if(t.p == "else") { - tokens.pop(); - eelse = this.parseBlock(tokens); - t = tokens.pop(); - if(t == null || t.p != "end") { - throw haxe_Exception.thrown("Unclosed 'else'"); - } - } else { - t.p = HxOverrides.substr(t.p,4,t.p.length - 4); - eelse = this.parse(tokens); - } - return haxe__$Template_TemplateExpr.OpIf(e,eif,eelse); - } - var pos = kwdEnd("foreach"); - if(pos >= 0) { - p = HxOverrides.substr(p,pos,p.length - pos); - var e = this.parseExpr(p); - var efor = this.parseBlock(tokens); - var t = tokens.pop(); - if(t == null || t.p != "end") { - throw haxe_Exception.thrown("Unclosed 'foreach'"); - } - return haxe__$Template_TemplateExpr.OpForeach(e,efor); - } - if(haxe_Template.expr_splitter.match(p)) { - return haxe__$Template_TemplateExpr.OpExpr(this.parseExpr(p)); - } - return haxe__$Template_TemplateExpr.OpVar(p); - } - ,parseExpr: function(data) { - var l = new haxe_ds_List(); - var expr = data; - while(haxe_Template.expr_splitter.match(data)) { - var p = haxe_Template.expr_splitter.matchedPos(); - var k = p.pos + p.len; - if(p.pos != 0) { - l.add({ p : HxOverrides.substr(data,0,p.pos), s : true}); - } - var p1 = haxe_Template.expr_splitter.matched(0); - l.add({ p : p1, s : p1.indexOf("\"") >= 0}); - data = haxe_Template.expr_splitter.matchedRight(); - } - if(data.length != 0) { - var _g_offset = 0; - var _g_s = data; - while(_g_offset < _g_s.length) { - var _g_key = _g_offset; - var _g_value = _g_s.charCodeAt(_g_offset++); - var i = _g_key; - var c = _g_value; - if(c != 32) { - l.add({ p : HxOverrides.substr(data,i,null), s : true}); - break; - } - } - } - var e; - try { - e = this.makeExpr(l); - if(!l.isEmpty()) { - throw haxe_Exception.thrown(l.first().p); - } - } catch( _g ) { - var _g1 = haxe_Exception.caught(_g).unwrap(); - if(typeof(_g1) == "string") { - var s = _g1; - throw haxe_Exception.thrown("Unexpected '" + s + "' in " + expr); - } else { - throw _g; - } - } - return function() { - try { - return e(); - } catch( _g ) { - var exc = haxe_Exception.caught(_g).unwrap(); - throw haxe_Exception.thrown("Error : " + Std.string(exc) + " in " + expr); - } - }; - } - ,makeConst: function(v) { - haxe_Template.expr_trim.match(v); - v = haxe_Template.expr_trim.matched(1); - if(HxOverrides.cca(v,0) == 34) { - var str = HxOverrides.substr(v,1,v.length - 2); - return function() { - return str; - }; - } - if(haxe_Template.expr_int.match(v)) { - var i = Std.parseInt(v); - return function() { - return i; - }; - } - if(haxe_Template.expr_float.match(v)) { - var f = parseFloat(v); - return function() { - return f; - }; - } - var me = this; - return function() { - return me.resolve(v); - }; - } - ,makePath: function(e,l) { - var p = l.first(); - if(p == null || p.p != ".") { - return e; - } - l.pop(); - var field = l.pop(); - if(field == null || !field.s) { - throw haxe_Exception.thrown(field.p); - } - var f = field.p; - haxe_Template.expr_trim.match(f); - f = haxe_Template.expr_trim.matched(1); - return this.makePath(function() { - return Reflect.field(e(),f); - },l); - } - ,makeExpr: function(l) { - return this.makePath(this.makeExpr2(l),l); - } - ,skipSpaces: function(l) { - var p = l.first(); - while(p != null) { - var _g_offset = 0; - var _g_s = p.p; - while(_g_offset < _g_s.length) { - var c = _g_s.charCodeAt(_g_offset++); - if(c != 32) { - return; - } - } - l.pop(); - p = l.first(); - } - } - ,makeExpr2: function(l) { - this.skipSpaces(l); - var p = l.pop(); - this.skipSpaces(l); - if(p == null) { - throw haxe_Exception.thrown(""); - } - if(p.s) { - return this.makeConst(p.p); - } - switch(p.p) { - case "!": - var e = this.makeExpr(l); - return function() { - var v = e(); - if(v != null) { - return v == false; - } else { - return true; - } - }; - case "(": - this.skipSpaces(l); - var e1 = this.makeExpr(l); - this.skipSpaces(l); - var p1 = l.pop(); - if(p1 == null || p1.s) { - throw haxe_Exception.thrown(p1); - } - if(p1.p == ")") { - return e1; - } - this.skipSpaces(l); - var e2 = this.makeExpr(l); - this.skipSpaces(l); - var p2 = l.pop(); - this.skipSpaces(l); - if(p2 == null || p2.p != ")") { - throw haxe_Exception.thrown(p2); - } - switch(p1.p) { - case "!=": - return function() { - return e1() != e2(); - }; - case "&&": - return function() { - return e1() && e2(); - }; - case "*": - return function() { - return e1() * e2(); - }; - case "+": - return function() { - return e1() + e2(); - }; - case "-": - return function() { - return e1() - e2(); - }; - case "/": - return function() { - return e1() / e2(); - }; - case "<": - return function() { - return e1() < e2(); - }; - case "<=": - return function() { - return e1() <= e2(); - }; - case "==": - return function() { - return e1() == e2(); - }; - case ">": - return function() { - return e1() > e2(); - }; - case ">=": - return function() { - return e1() >= e2(); - }; - case "||": - return function() { - return e1() || e2(); - }; - default: - throw haxe_Exception.thrown("Unknown operation " + p1.p); - } - break; - case "-": - var e3 = this.makeExpr(l); - return function() { - return -e3(); - }; - } - throw haxe_Exception.thrown(p.p); - } - ,run: function(e) { - switch(e._hx_index) { - case 0: - var v = e.v; - var _this = this.buf; - var x = Std.string(this.resolve(v)); - _this.b += Std.string(x); - break; - case 1: - var e1 = e.expr; - var _this = this.buf; - var x = Std.string(e1()); - _this.b += Std.string(x); - break; - case 2: - var e1 = e.expr; - var eif = e.eif; - var eelse = e.eelse; - var v = e1(); - if(v == null || v == false) { - if(eelse != null) { - this.run(eelse); - } - } else { - this.run(eif); - } - break; - case 3: - var str = e.str; - this.buf.b += str == null ? "null" : "" + str; - break; - case 4: - var l = e.l; - var _g_head = l.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var e1 = val; - this.run(e1); - } - break; - case 5: - var e1 = e.expr; - var loop = e.loop; - var v = e1(); - try { - var x = $getIterator(v); - if(x.hasNext == null) { - throw haxe_Exception.thrown(null); - } - v = x; - } catch( _g ) { - try { - if(v.hasNext == null) { - throw haxe_Exception.thrown(null); - } - } catch( _g1 ) { - throw haxe_Exception.thrown("Cannot iter on " + Std.string(v)); - } - } - this.stack.push(this.context); - var v1 = v; - var ctx = v1; - while(ctx.hasNext()) { - var ctx1 = ctx.next(); - this.context = ctx1; - this.run(loop); - } - this.context = this.stack.pop(); - break; - case 6: - var m = e.name; - var params = e.params; - var v = Reflect.field(this.macros,m); - var pl = []; - var old = this.buf; - pl.push($bind(this,this.resolve)); - var _g_head = params.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var p = val; - if(p._hx_index == 0) { - var v1 = p.v; - pl.push(this.resolve(v1)); - } else { - this.buf = new StringBuf(); - this.run(p); - pl.push(this.buf.b); - } - } - this.buf = old; - try { - var _this = this.buf; - var x = Std.string(v.apply(this.macros,pl)); - _this.b += Std.string(x); - } catch( _g ) { - var e = haxe_Exception.caught(_g).unwrap(); - var plstr; - try { - plstr = pl.join(","); - } catch( _g1 ) { - plstr = "???"; - } - var msg = "Macro call " + m + "(" + plstr + ") failed (" + Std.string(e) + ")"; - throw haxe_Exception.thrown(msg); - } - break; - } - } -}; -var haxe_ValueException = function(value,previous,native) { - haxe_Exception.call(this,String(value),previous,native); - this.value = value; -}; -haxe_ValueException.__name__ = true; -haxe_ValueException.__super__ = haxe_Exception; -haxe_ValueException.prototype = $extend(haxe_Exception.prototype,{ - unwrap: function() { - return this.value; - } -}); -var haxe_ds_List = function() { - this.length = 0; -}; -haxe_ds_List.__name__ = true; -haxe_ds_List.prototype = { - add: function(item) { - var x = new haxe_ds__$List_ListNode(item,null); - if(this.h == null) { - this.h = x; - } else { - this.q.next = x; - } - this.q = x; - this.length++; - } - ,push: function(item) { - var x = new haxe_ds__$List_ListNode(item,this.h); - this.h = x; - if(this.q == null) { - this.q = x; - } - this.length++; - } - ,first: function() { - if(this.h == null) { - return null; - } else { - return this.h.item; - } - } - ,pop: function() { - if(this.h == null) { - return null; - } - var x = this.h.item; - this.h = this.h.next; - if(this.h == null) { - this.q = null; - } - this.length--; - return x; - } - ,isEmpty: function() { - return this.h == null; - } - ,toString: function() { - var s_b = ""; - var first = true; - var l = this.h; - s_b += "{"; - while(l != null) { - if(first) { - first = false; - } else { - s_b += ", "; - } - s_b += Std.string(Std.string(l.item)); - l = l.next; - } - s_b += "}"; - return s_b; - } -}; -var haxe_ds__$List_ListNode = function(item,next) { - this.item = item; - this.next = next; -}; -haxe_ds__$List_ListNode.__name__ = true; -var js_Boot = function() { }; -js_Boot.__name__ = true; -js_Boot.__string_rec = function(o,s) { - if(o == null) { - return "null"; - } - if(s.length >= 5) { - return "<...>"; - } - var t = typeof(o); - if(t == "function" && (o.__name__ || o.__ename__)) { - t = "object"; - } - switch(t) { - case "function": - return ""; - case "object": - if(o.__enum__) { - var e = $hxEnums[o.__enum__]; - var con = e.__constructs__[o._hx_index]; - var n = con._hx_name; - if(con.__params__) { - s = s + "\t"; - return n + "(" + ((function($this) { - var $r; - var _g = []; - { - var _g1 = 0; - var _g2 = con.__params__; - while(true) { - if(!(_g1 < _g2.length)) { - break; - } - var p = _g2[_g1]; - _g1 = _g1 + 1; - _g.push(js_Boot.__string_rec(o[p],s)); - } - } - $r = _g; - return $r; - }(this))).join(",") + ")"; - } else { - return n; - } - } - if(((o) instanceof Array)) { - var str = "["; - s += "\t"; - var _g = 0; - var _g1 = o.length; - while(_g < _g1) { - var i = _g++; - str += (i > 0 ? "," : "") + js_Boot.__string_rec(o[i],s); - } - str += "]"; - return str; - } - var tostr; - try { - tostr = o.toString; - } catch( _g ) { - return "???"; - } - if(tostr != null && tostr != Object.toString && typeof(tostr) == "function") { - var s2 = o.toString(); - if(s2 != "[object Object]") { - return s2; - } - } - var str = "{\n"; - s += "\t"; - var hasp = o.hasOwnProperty != null; - var k = null; - for( k in o ) { - if(hasp && !o.hasOwnProperty(k)) { - continue; - } - if(k == "prototype" || k == "__class__" || k == "__super__" || k == "__interfaces__" || k == "__properties__") { - continue; - } - if(str.length != 2) { - str += ", \n"; - } - str += s + k + " : " + js_Boot.__string_rec(o[k],s); - } - s = s.substring(1); - str += "\n" + s + "}"; - return str; - case "string": - return o; - default: - return String(o); - } -}; -var xrfragment_Filter = $hx_exports["xrfragment"]["Filter"] = function(str) { - this.q = { }; - this.str = ""; - if(str != null) { - this.parse(str); - } -}; -xrfragment_Filter.__name__ = true; -xrfragment_Filter.prototype = { - toObject: function() { - return Reflect.copy(this.q); - } - ,get: function() { - return Reflect.copy(this.q); - } - ,parse: function(str) { - var token = str.split(" "); - var q = { }; - var process = function(str,prefix) { - if(prefix == null) { - prefix = ""; - } - str = StringTools.trim(str); - var k = str.split("=")[0]; - var v = str.split("=")[1]; - var filter = { }; - if(q[prefix + k]) { - filter = q[prefix + k]; - } - if(xrfragment_XRF.isProp.match(str)) { - var oper = ""; - if(str.indexOf(">") != -1) { - oper = ">"; - } - if(str.indexOf("<") != -1) { - oper = "<"; - } - if(xrfragment_XRF.isExclude.match(k)) { - k = HxOverrides.substr(k,1,null); - } - v = HxOverrides.substr(v,oper.length,null); - if(oper.length == 0) { - oper = "="; - } - var rule = { }; - if(xrfragment_XRF.isNumber.match(v)) { - rule[oper] = parseFloat(v); - } else { - rule[oper] = v; - } - q["expr"] = rule; - } - var value = xrfragment_XRF.isDeep.match(str) ? k.split("*").length - 1 : 0; - q["deep"] = value; - var value = xrfragment_XRF.isExclude.match(str) ? false : true; - q["show"] = value; - var value = k.replace(xrfragment_XRF.operators.r,""); - q["key"] = value; - q["value"] = v; - }; - var _g = 0; - var _g1 = token.length; - while(_g < _g1) { - var i = _g++; - process(token[i]); - } - return this.q = q; - } - ,test: function(obj) { - var qualify = false; - var _g = 0; - var _g1 = Reflect.fields(obj); - while(_g < _g1.length) { - var k = _g1[_g]; - ++_g; - var v = Std.string(Reflect.field(obj,k)); - if(this.testProperty(k,v)) { - qualify = true; - } - } - var _g = 0; - var _g1 = Reflect.fields(obj); - while(_g < _g1.length) { - var k = _g1[_g]; - ++_g; - var v = Std.string(Reflect.field(obj,k)); - if(this.testProperty(k,v,true)) { - qualify = false; - } - } - return qualify; - } - ,testProperty: function(property,value,exclude) { - var conds = 0; - var fails = 0; - var qualify = 0; - var testprop = function(expr) { - conds += 1; - fails += expr ? 0 : 1; - return expr; - }; - if(this.q[value] != null) { - var v = this.q[value]; - if(v[property] != null) { - return v[property]; - } - } - if(Reflect.field(this.q,"expr")) { - var f = Reflect.field(this.q,"expr"); - if(!Reflect.field(this.q,"show")) { - if(Reflect.field(f,"!=") != null && testprop((value == null ? "null" : "" + value) == Std.string(Reflect.field(f,"!="))) && exclude) { - ++qualify; - } - } else { - if(Reflect.field(f,"*") != null && testprop(parseFloat(value) != null)) { - ++qualify; - } - if(Reflect.field(f,">") != null && testprop(parseFloat(value) >= parseFloat(Reflect.field(f,">")))) { - ++qualify; - } - if(Reflect.field(f,"<") != null && testprop(parseFloat(value) <= parseFloat(Reflect.field(f,"<")))) { - ++qualify; - } - if(Reflect.field(f,"=") != null && (testprop(value == Reflect.field(f,"=")) || testprop(parseFloat(value) == parseFloat(Reflect.field(f,"="))))) { - ++qualify; - } - } - } - return qualify > 0; - } -}; -var xrfragment_Parser = $hx_exports["xrfragment"]["Parser"] = function() { }; -xrfragment_Parser.__name__ = true; -xrfragment_Parser.parse = function(key,value,store,index) { - var Frag_h = Object.create(null); - Frag_h["#"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_PREDEFINED_VIEW | xrfragment_XRF.PV_EXECUTE; - Frag_h["src"] = xrfragment_XRF.T_URL; - Frag_h["href"] = xrfragment_XRF.T_URL | xrfragment_XRF.T_PREDEFINED_VIEW; - Frag_h["tag"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["pos"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_VECTOR3 | xrfragment_XRF.T_STRING | xrfragment_XRF.METADATA | xrfragment_XRF.NAVIGATOR; - Frag_h["rot"] = xrfragment_XRF.QUERY_OPERATOR | xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_VECTOR3 | xrfragment_XRF.METADATA | xrfragment_XRF.NAVIGATOR; - Frag_h["t"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_FLOAT | xrfragment_XRF.T_VECTOR2 | xrfragment_XRF.NAVIGATOR | xrfragment_XRF.METADATA; - Frag_h["s"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_MEDIAFRAG; - Frag_h["loop"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_PREDEFINED_VIEW; - Frag_h["uv"] = xrfragment_XRF.T_VECTOR2 | xrfragment_XRF.T_MEDIAFRAG; - Frag_h["namespace"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["SPDX"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["unit"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["description"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - var keyStripped = key.replace(xrfragment_XRF.operators.r,""); - var isPVDynamic = key.length > 0 && !Object.prototype.hasOwnProperty.call(Frag_h,key); - if(isPVDynamic) { - var v = new xrfragment_XRF(key,xrfragment_XRF.PV_EXECUTE | xrfragment_XRF.NAVIGATOR,index); - v.validate(value); - v.flags = xrfragment_XRF.set(xrfragment_XRF.T_DYNAMICKEY,v.flags); - if(!Object.prototype.hasOwnProperty.call(Frag_h,key)) { - v.flags = xrfragment_XRF.set(xrfragment_XRF.CUSTOMFRAG,v.flags); - } - if(value.length == 0) { - v.flags = xrfragment_XRF.set(xrfragment_XRF.T_DYNAMICKEYVALUE,v.flags); - } - store[keyStripped] = v; - return true; - } - var v = new xrfragment_XRF(key,Frag_h[key],index); - if(Object.prototype.hasOwnProperty.call(Frag_h,key)) { - if(!v.validate(value)) { - console.log("src/xrfragment/Parser.hx:67:","⚠ fragment '" + key + "' has incompatible value (" + value + ")"); - return false; - } - store[keyStripped] = v; - if(xrfragment_Parser.debug) { - console.log("src/xrfragment/Parser.hx:71:","✔ " + key + ": " + v.string); - } - } else { - if(typeof(value) == "string") { - v.guessType(v,value); - } - v.flags = xrfragment_XRF.set(xrfragment_XRF.CUSTOMFRAG,v.flags); - store[keyStripped] = v; - } - return true; -}; -xrfragment_Parser.getMetaData = function() { - var meta = { title : ["title","og:title","dc.title"], description : ["aria-description","og:description","dc.description"], author : ["author","dc.creator"], publisher : ["publisher","dc.publisher"], website : ["og:site_name","og:url","dc.publisher"], license : ["SPDX","dc.rights"]}; - return meta; -}; -var xrfragment_URI = $hx_exports["xrfragment"]["URI"] = function() { - this.XRF = { }; - this.hash = { }; - this.fragment = ""; -}; -xrfragment_URI.__name__ = true; -xrfragment_URI.parseFragment = function(url,filter) { - var store = { }; - if(url == null || url.indexOf("#") == -1) { - return store; - } - var fragment = url.split("#"); - var splitArray = fragment[1].split("&"); - var _g = 0; - var _g1 = splitArray.length; - while(_g < _g1) { - var i = _g++; - var splitByEqual = splitArray[i].split("="); - var regexPlus = new EReg("\\+","g"); - var key = splitByEqual[0]; - var value = ""; - if(splitByEqual.length > 1) { - if(xrfragment_XRF.isVector.match(splitByEqual[1])) { - value = splitByEqual[1]; - } else { - var s = regexPlus.split(splitByEqual[1]).join(" "); - value = decodeURIComponent(s.split("+").join(" ")); - } - } - var ok = xrfragment_Parser.parse(key,value,store,i); - } - if(filter != null && filter != 0) { - var _g = 0; - var _g1 = Reflect.fields(store); - while(_g < _g1.length) { - var key = _g1[_g]; - ++_g; - var xrf = store[key]; - if(!xrf.is(filter)) { - Reflect.deleteField(store,key); - } - } - } - return store; -}; -xrfragment_URI.template = function(uri,vars) { - var parts = uri.split("#"); - if(parts.length == 1) { - return uri; - } - var frag = parts[1]; - frag = StringTools.replace(frag,"{","::"); - frag = StringTools.replace(frag,"}","::"); - frag = new haxe_Template(frag).execute(vars); - frag = StringTools.replace(frag,"null",""); - parts[1] = frag; - return parts.join("#"); -}; -xrfragment_URI.parse = function(stringUrl,flags) { - var r = new EReg("^(?:(?![^:@]+:[^:@/]*@)([^:/?#.]+):)?(?://)?((?:(([^:@]*)(?::([^:@]*))?)?@)?([^:/?#]*)(?::(\\d*))?)(((/(?:[^?#](?![^?#/]*\\.[^?#/.]+(?:[?#]|$)))*/?)?([^?#/]*))(?:\\?([^#]*))?(?:#(.*))?)",""); - if(stringUrl.indexOf("://") == -1 && stringUrl.charAt(0) != "/") { - stringUrl = "/" + stringUrl; - } - r.match(stringUrl); - var url = new xrfragment_URI(); - var _g = 0; - var _g1 = xrfragment_URI._parts.length; - while(_g < _g1) { - var i = _g++; - url[xrfragment_URI._parts[i]] = r.matched(i); - } - if(xrfragment_URI.isRelative(url) == true) { - if(url.directory == null && url.host != null) { - url.file = url.host; - } - url.host = ""; - } - url.hash = { }; - if(url.fragment != null && url.fragment.length > 0) { - url.XRF = xrfragment_URI.parseFragment("#" + url.fragment,flags); - var key; - var _g = 0; - var _g1 = Reflect.fields(url.XRF); - while(_g < _g1.length) { - var key = _g1[_g]; - ++_g; - var v = url.XRF[key]; - url.hash[key] = v["string"]; - } - } - xrfragment_URI.computeVars(url); - return url; -}; -xrfragment_URI.computeVars = function(url) { - var r_r = new RegExp("//","g".split("u").join("")); - if(url.directory != null && url.directory.indexOf("//") != -1) { - url.directory = url.directory.replace(r_r,"/"); - } - if(url.path != null && url.path.indexOf("//") != -1) { - url.path = url.path.replace(r_r,"/"); - } - if(url.file != null && url.file.indexOf("//") != -1) { - url.file = url.file.replace(r_r,"/"); - } - url.URN = url.scheme + "://" + url.host; - if(url.port != null) { - url.URN += ":" + url.port; - } - url.URN += url.directory; - if(url.file != null) { - var parts = url.file.split("."); - if(parts.length > 1) { - url.fileExt = parts.pop(); - } - } -}; -xrfragment_URI.toString = function(url) { - var result = ""; - if(url.scheme != null) { - result += url.scheme + "://"; - } - if(url.user != null) { - result += url.user + ":"; - } - if(url.password != null) { - result += url.password + "@"; - } - if(url.host != null) { - result += url.host; - } - if(url.port != null) { - result += ":" + url.port; - } - if(url.directory != null) { - result += url.directory; - } - if(url.file != null) { - result += url.file; - } - if(url.query != null) { - result += "?" + url.query; - } - if(url.fragment != null) { - result += "#" + url.fragment; - } - return result; -}; -xrfragment_URI.appendURI = function(url,appendedURI) { - if(xrfragment_URI.isRelative(url) == true) { - return xrfragment_URI.appendToRelativeURI(url,appendedURI); - } else { - return xrfragment_URI.appendToAbsoluteURI(url,appendedURI); - } -}; -xrfragment_URI.isRelative = function(url) { - return url.scheme == null; -}; -xrfragment_URI.appendToRelativeURI = function(url,appendedURI) { - if(url.directory == null || url.host == null) { - return xrfragment_URI.cloneURI(appendedURI); - } - var resultURI = new xrfragment_URI(); - resultURI.host = url.host; - resultURI.directory = url.directory; - if(appendedURI.host != null) { - resultURI.directory += appendedURI.host; - } - if(appendedURI.directory != null) { - var directory = appendedURI.directory; - if(appendedURI.host == null) { - resultURI.directory += HxOverrides.substr(directory,1,null); - } else { - resultURI.directory += directory; - } - } - if(appendedURI.file != null) { - resultURI.file = appendedURI.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(appendedURI.query != null) { - resultURI.query = appendedURI.query; - } - if(appendedURI.fragment != null) { - resultURI.fragment = appendedURI.fragment; - } - return resultURI; -}; -xrfragment_URI.appendToAbsoluteURI = function(url,appendedURI) { - var resultURI = new xrfragment_URI(); - if(url.scheme != null) { - resultURI.scheme = url.scheme; - } - if(url.host != null) { - resultURI.host = url.host; - } - var directory = ""; - if(url.directory != null) { - directory = url.directory; - } - if(appendedURI.host != null) { - appendedURI.directory += appendedURI.host; - } - if(appendedURI.directory != null) { - directory += appendedURI.directory; - } - resultURI.directory = directory; - if(appendedURI.file != null) { - resultURI.file = appendedURI.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(appendedURI.query != null) { - resultURI.query = appendedURI.query; - } - if(appendedURI.fragment != null) { - resultURI.fragment = appendedURI.fragment; - } - return resultURI; -}; -xrfragment_URI.toAbsolute = function(url,newUrl) { - var newURI = xrfragment_URI.parse(newUrl,0); - var resultURI = new xrfragment_URI(); - resultURI.port = url.port; - resultURI.source = newUrl; - if(newURI.scheme != null) { - resultURI.scheme = newURI.scheme; - } else { - resultURI.scheme = url.scheme; - } - if(newURI.host != null && newURI.host.length > 0) { - resultURI.host = newURI.host; - resultURI.port = null; - resultURI.fragment = null; - resultURI.hash = { }; - resultURI.XRF = { }; - if(newURI.port != null) { - resultURI.port = newURI.port; - } - } else { - resultURI.host = url.host; - } - var directory = ""; - if(url.directory != null) { - directory = url.directory; - } - if(newURI.directory != null) { - if(newUrl.charAt(0) != "/" && newUrl.indexOf("://") == -1) { - var stripRelative_r = new RegExp("\\./.*","".split("u").join("")); - directory = directory.replace(stripRelative_r,""); - directory += newURI.directory; - } else { - directory = newURI.directory; - } - } - resultURI.directory = directory; - if(newURI.file != null) { - resultURI.file = newURI.file; - } else { - resultURI.file = url.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(newURI.query != null) { - resultURI.query = newURI.query; - } - if(newURI.fragment != null) { - resultURI.fragment = newURI.fragment; - } - resultURI.hash = newURI.hash; - resultURI.XRF = newURI.XRF; - xrfragment_URI.computeVars(resultURI); - return resultURI; -}; -xrfragment_URI.cloneURI = function(url) { - var clonedURI = new xrfragment_URI(); - clonedURI.url = url.url; - clonedURI.source = url.source; - clonedURI.scheme = url.scheme; - clonedURI.authority = url.authority; - clonedURI.userInfo = url.userInfo; - clonedURI.password = url.password; - clonedURI.host = url.host; - clonedURI.port = url.port; - clonedURI.relative = url.relative; - clonedURI.path = url.path; - clonedURI.directory = url.directory; - clonedURI.file = url.file; - clonedURI.query = url.query; - clonedURI.fragment = url.fragment; - return clonedURI; -}; -var xrfragment_XRF = $hx_exports["xrfragment"]["XRF"] = function(_fragment,_flags,_index) { - this.floats = []; - this.shift = []; - this.fragment = _fragment; - this.flags = _flags; - this.index = _index; -}; -xrfragment_XRF.__name__ = true; -xrfragment_XRF.set = function(flag,flags) { - return flags | flag; -}; -xrfragment_XRF.unset = function(flag,flags) { - return flags & ~flag; -}; -xrfragment_XRF.prototype = { - is: function(flag) { - var v = this.flags; - if(!(typeof(v) == "number" && ((v | 0) === v))) { - this.flags = 0; - } - return (this.flags & flag) != 0; - } - ,validate: function(value) { - this.guessType(this,value); - var ok = true; - if(value.length == 0 && !this.is(xrfragment_XRF.T_PREDEFINED_VIEW)) { - ok = false; - } - if(!this.is(xrfragment_XRF.T_FLOAT) && this.is(xrfragment_XRF.T_VECTOR2) && !(typeof(this.x) == "number" && typeof(this.y) == "number")) { - ok = false; - } - if(!(this.is(xrfragment_XRF.T_VECTOR2) || this.is(xrfragment_XRF.T_STRING)) && this.is(xrfragment_XRF.T_VECTOR3) && !(typeof(this.x) == "number" && typeof(this.y) == "number" && typeof(this.z) == "number")) { - ok = false; - } - return ok; - } - ,guessType: function(v,str) { - v.string = str; - if(xrfragment_XRF.isReset.match(v.fragment)) { - v.reset = true; - } - if(v.fragment == "loop") { - v.loop = true; - } - if(typeof(str) != "string") { - return; - } - if(str.length > 0) { - if(xrfragment_XRF.isXRFScheme.match(str)) { - v.xrfScheme = true; - str = str.replace(xrfragment_XRF.isXRFScheme.r,""); - v.string = str; - } - if(str.split(",").length > 1) { - var xyzn = str.split(","); - if(xyzn.length > 0) { - v.x = parseFloat(xyzn[0]); - } - if(xyzn.length > 1) { - v.y = parseFloat(xyzn[1]); - } - if(xyzn.length > 2) { - v.z = parseFloat(xyzn[2]); - } - var _g = 0; - var _g1 = xyzn.length; - while(_g < _g1) { - var i = _g++; - v.shift.push(xrfragment_XRF.isShift.match(xyzn[i])); - v.floats.push(parseFloat(xyzn[i].replace(xrfragment_XRF.isShift.r,""))); - } - } - if(xrfragment_XRF.isColor.match(str)) { - v.color = str; - } - if(xrfragment_XRF.isFloat.match(str)) { - v.x = parseFloat(str); - v.float = v.x; - } - if(xrfragment_XRF.isInt.match(str)) { - v.int = Std.parseInt(str); - v.x = v.int; - v.floats.push(v.x); - } - v.filter = new xrfragment_Filter(v.fragment + "=" + v.string); - } else { - v.filter = new xrfragment_Filter(v.fragment); - } - } -}; -function $getIterator(o) { if( o instanceof Array ) return new haxe_iterators_ArrayIterator(o); else return o.iterator(); } -function $bind(o,m) { if( m == null ) return null; if( m.__id__ == null ) m.__id__ = $global.$haxeUID++; var f; if( o.hx__closures__ == null ) o.hx__closures__ = {}; else f = o.hx__closures__[m.__id__]; if( f == null ) { f = m.bind(o); o.hx__closures__[m.__id__] = f; } return f; } -$global.$haxeUID |= 0; -if(typeof(performance) != "undefined" ? typeof(performance.now) == "function" : false) { - HxOverrides.now = performance.now.bind(performance); -} -if( String.fromCodePoint == null ) String.fromCodePoint = function(c) { return c < 0x10000 ? String.fromCharCode(c) : String.fromCharCode((c>>10)+0xD7C0)+String.fromCharCode((c&0x3FF)+0xDC00); } -String.__name__ = true; -Array.__name__ = true; -js_Boot.__toStr = ({ }).toString; -haxe_Template.splitter = new EReg("(::[A-Za-z0-9_ ()&|!+=/><*.\"-]+::|\\$\\$([A-Za-z0-9_-]+)\\()",""); -haxe_Template.expr_splitter = new EReg("(\\(|\\)|[ \r\n\t]*\"[^\"]*\"[ \r\n\t]*|[!+=/><*.&|-]+)",""); -haxe_Template.expr_trim = new EReg("^[ ]*([^ ]+)[ ]*$",""); -haxe_Template.expr_int = new EReg("^[0-9]+$",""); -haxe_Template.expr_float = new EReg("^([+-]?)(?=\\d|,\\d)\\d*(,\\d*)?([Ee]([+-]?\\d+))?$",""); -haxe_Template.globals = { }; -haxe_Template.hxKeepArrayIterator = new haxe_iterators_ArrayIterator([]); -xrfragment_Parser.error = ""; -xrfragment_Parser.debug = false; -xrfragment_URI.__meta__ = { statics : { template : { keep : null}}}; -xrfragment_URI._parts = ["source","scheme","authority","userInfo","user","password","host","port","relative","path","directory","file","query","fragment"]; -xrfragment_XRF.IMMUTABLE = 1; -xrfragment_XRF.PROP_BIND = 2; -xrfragment_XRF.QUERY_OPERATOR = 4; -xrfragment_XRF.PROMPT = 8; -xrfragment_XRF.CUSTOMFRAG = 16; -xrfragment_XRF.NAVIGATOR = 32; -xrfragment_XRF.METADATA = 64; -xrfragment_XRF.PV_OVERRIDE = 128; -xrfragment_XRF.PV_EXECUTE = 256; -xrfragment_XRF.T_COLOR = 8192; -xrfragment_XRF.T_INT = 16384; -xrfragment_XRF.T_FLOAT = 32768; -xrfragment_XRF.T_VECTOR2 = 65536; -xrfragment_XRF.T_VECTOR3 = 131072; -xrfragment_XRF.T_URL = 262144; -xrfragment_XRF.T_PREDEFINED_VIEW = 524288; -xrfragment_XRF.T_STRING = 1048576; -xrfragment_XRF.T_MEDIAFRAG = 2097152; -xrfragment_XRF.T_DYNAMICKEY = 4194304; -xrfragment_XRF.T_DYNAMICKEYVALUE = 8388608; -xrfragment_XRF.isColor = new EReg("^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$",""); -xrfragment_XRF.isInt = new EReg("^[-0-9]+$",""); -xrfragment_XRF.isFloat = new EReg("^[-0-9]+\\.[0-9]+$",""); -xrfragment_XRF.isVector = new EReg("([,]+|\\w)",""); -xrfragment_XRF.isUrl = new EReg("(://)?\\..*",""); -xrfragment_XRF.isUrlOrPretypedView = new EReg("(^#|://)?\\..*",""); -xrfragment_XRF.isString = new EReg(".*",""); -xrfragment_XRF.operators = new EReg("(^[-]|^[!]|[\\*]$)","g"); -xrfragment_XRF.isProp = new EReg("^.*=[><=]?",""); -xrfragment_XRF.isExclude = new EReg("^-",""); -xrfragment_XRF.isDeep = new EReg("\\*",""); -xrfragment_XRF.isNumber = new EReg("^[0-9\\.]+$",""); -xrfragment_XRF.isMediaFrag = new EReg("^([0-9\\.,\\*+-]+)$",""); -xrfragment_XRF.isReset = new EReg("^!",""); -xrfragment_XRF.isShift = new EReg("^(\\+|--)",""); -xrfragment_XRF.isXRFScheme = new EReg("^xrf://",""); -})(typeof window != "undefined" ? window : typeof global != "undefined" ? global : typeof self != "undefined" ? self : this); -var xrfragment = $hx_exports["xrfragment"]; -export default xrfragment; -// Generated by Haxe 4.3.3 -var $hx_exports = typeof exports != "undefined" ? exports : typeof window != "undefined" ? window : typeof self != "undefined" ? self : this; -(function ($global) { "use strict"; -$hx_exports["xrfragment"] = $hx_exports["xrfragment"] || {}; -var $estr = function() { return js_Boot.__string_rec(this,''); },$hxEnums = $hxEnums || {},$_; -function $extend(from, fields) { - var proto = Object.create(from); - for (var name in fields) proto[name] = fields[name]; - if( fields.toString !== Object.prototype.toString ) proto.toString = fields.toString; - return proto; -} -var EReg = function(r,opt) { - this.r = new RegExp(r,opt.split("u").join("")); -}; -EReg.__name__ = true; -EReg.prototype = { - match: function(s) { - if(this.r.global) { - this.r.lastIndex = 0; - } - this.r.m = this.r.exec(s); - this.r.s = s; - return this.r.m != null; - } - ,matched: function(n) { - if(this.r.m != null && n >= 0 && n < this.r.m.length) { - return this.r.m[n]; - } else { - throw haxe_Exception.thrown("EReg::matched"); - } - } - ,matchedRight: function() { - if(this.r.m == null) { - throw haxe_Exception.thrown("No string matched"); - } - var sz = this.r.m.index + this.r.m[0].length; - return HxOverrides.substr(this.r.s,sz,this.r.s.length - sz); - } - ,matchedPos: function() { - if(this.r.m == null) { - throw haxe_Exception.thrown("No string matched"); - } - return { pos : this.r.m.index, len : this.r.m[0].length}; - } - ,split: function(s) { - var d = "#__delim__#"; - return s.replace(this.r,d).split(d); - } -}; -var HxOverrides = function() { }; -HxOverrides.__name__ = true; -HxOverrides.cca = function(s,index) { - var x = s.charCodeAt(index); - if(x != x) { - return undefined; - } - return x; -}; -HxOverrides.substr = function(s,pos,len) { - if(len == null) { - len = s.length; - } else if(len < 0) { - if(pos == 0) { - len = s.length + len; - } else { - return ""; - } - } - return s.substr(pos,len); -}; -HxOverrides.now = function() { - return Date.now(); -}; -Math.__name__ = true; -var Reflect = function() { }; -Reflect.__name__ = true; -Reflect.field = function(o,field) { - try { - return o[field]; - } catch( _g ) { - return null; - } -}; -Reflect.getProperty = function(o,field) { - var tmp; - if(o == null) { - return null; - } else { - var tmp1; - if(o.__properties__) { - tmp = o.__properties__["get_" + field]; - tmp1 = tmp; - } else { - tmp1 = false; - } - if(tmp1) { - return o[tmp](); - } else { - return o[field]; - } - } -}; -Reflect.fields = function(o) { - var a = []; - if(o != null) { - var hasOwnProperty = Object.prototype.hasOwnProperty; - for( var f in o ) { - if(f != "__id__" && f != "hx__closures__" && hasOwnProperty.call(o,f)) { - a.push(f); - } - } - } - return a; -}; -Reflect.isObject = function(v) { - if(v == null) { - return false; - } - var t = typeof(v); - if(!(t == "string" || t == "object" && v.__enum__ == null)) { - if(t == "function") { - return (v.__name__ || v.__ename__) != null; - } else { - return false; - } - } else { - return true; - } -}; -Reflect.deleteField = function(o,field) { - if(!Object.prototype.hasOwnProperty.call(o,field)) { - return false; - } - delete(o[field]); - return true; -}; -Reflect.copy = function(o) { - if(o == null) { - return null; - } - var o2 = { }; - var _g = 0; - var _g1 = Reflect.fields(o); - while(_g < _g1.length) { - var f = _g1[_g]; - ++_g; - o2[f] = Reflect.field(o,f); - } - return o2; -}; -var Std = function() { }; -Std.__name__ = true; -Std.string = function(s) { - return js_Boot.__string_rec(s,""); -}; -Std.parseInt = function(x) { - var v = parseInt(x); - if(isNaN(v)) { - return null; - } - return v; -}; -var StringBuf = function() { - this.b = ""; -}; -StringBuf.__name__ = true; -var StringTools = function() { }; -StringTools.__name__ = true; -StringTools.isSpace = function(s,pos) { - var c = HxOverrides.cca(s,pos); - if(!(c > 8 && c < 14)) { - return c == 32; - } else { - return true; - } -}; -StringTools.ltrim = function(s) { - var l = s.length; - var r = 0; - while(r < l && StringTools.isSpace(s,r)) ++r; - if(r > 0) { - return HxOverrides.substr(s,r,l - r); - } else { - return s; - } -}; -StringTools.rtrim = function(s) { - var l = s.length; - var r = 0; - while(r < l && StringTools.isSpace(s,l - r - 1)) ++r; - if(r > 0) { - return HxOverrides.substr(s,0,l - r); - } else { - return s; - } -}; -StringTools.trim = function(s) { - return StringTools.ltrim(StringTools.rtrim(s)); -}; -StringTools.replace = function(s,sub,by) { - return s.split(sub).join(by); -}; -var haxe_Exception = function(message,previous,native) { - Error.call(this,message); - this.message = message; - this.__previousException = previous; - this.__nativeException = native != null ? native : this; -}; -haxe_Exception.__name__ = true; -haxe_Exception.caught = function(value) { - if(((value) instanceof haxe_Exception)) { - return value; - } else if(((value) instanceof Error)) { - return new haxe_Exception(value.message,null,value); - } else { - return new haxe_ValueException(value,null,value); - } -}; -haxe_Exception.thrown = function(value) { - if(((value) instanceof haxe_Exception)) { - return value.get_native(); - } else if(((value) instanceof Error)) { - return value; - } else { - var e = new haxe_ValueException(value); - return e; - } -}; -haxe_Exception.__super__ = Error; -haxe_Exception.prototype = $extend(Error.prototype,{ - unwrap: function() { - return this.__nativeException; - } - ,get_native: function() { - return this.__nativeException; - } - ,__properties__: {get_native:"get_native"} -}); -var haxe__$Template_TemplateExpr = $hxEnums["haxe._Template.TemplateExpr"] = { __ename__:true,__constructs__:null - ,OpVar: ($_=function(v) { return {_hx_index:0,v:v,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpVar",$_.__params__ = ["v"],$_) - ,OpExpr: ($_=function(expr) { return {_hx_index:1,expr:expr,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpExpr",$_.__params__ = ["expr"],$_) - ,OpIf: ($_=function(expr,eif,eelse) { return {_hx_index:2,expr:expr,eif:eif,eelse:eelse,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpIf",$_.__params__ = ["expr","eif","eelse"],$_) - ,OpStr: ($_=function(str) { return {_hx_index:3,str:str,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpStr",$_.__params__ = ["str"],$_) - ,OpBlock: ($_=function(l) { return {_hx_index:4,l:l,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpBlock",$_.__params__ = ["l"],$_) - ,OpForeach: ($_=function(expr,loop) { return {_hx_index:5,expr:expr,loop:loop,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpForeach",$_.__params__ = ["expr","loop"],$_) - ,OpMacro: ($_=function(name,params) { return {_hx_index:6,name:name,params:params,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpMacro",$_.__params__ = ["name","params"],$_) -}; -haxe__$Template_TemplateExpr.__constructs__ = [haxe__$Template_TemplateExpr.OpVar,haxe__$Template_TemplateExpr.OpExpr,haxe__$Template_TemplateExpr.OpIf,haxe__$Template_TemplateExpr.OpStr,haxe__$Template_TemplateExpr.OpBlock,haxe__$Template_TemplateExpr.OpForeach,haxe__$Template_TemplateExpr.OpMacro]; -var haxe_iterators_ArrayIterator = function(array) { - this.current = 0; - this.array = array; -}; -haxe_iterators_ArrayIterator.__name__ = true; -haxe_iterators_ArrayIterator.prototype = { - hasNext: function() { - return this.current < this.array.length; - } - ,next: function() { - return this.array[this.current++]; - } -}; -var haxe_Template = function(str) { - var tokens = this.parseTokens(str); - this.expr = this.parseBlock(tokens); - if(!tokens.isEmpty()) { - throw haxe_Exception.thrown("Unexpected '" + Std.string(tokens.first().s) + "'"); - } -}; -haxe_Template.__name__ = true; -haxe_Template.prototype = { - execute: function(context,macros) { - this.macros = macros == null ? { } : macros; - this.context = context; - this.stack = new haxe_ds_List(); - this.buf = new StringBuf(); - this.run(this.expr); - return this.buf.b; - } - ,resolve: function(v) { - if(v == "__current__") { - return this.context; - } - if(Reflect.isObject(this.context)) { - var value = Reflect.getProperty(this.context,v); - if(value != null || Object.prototype.hasOwnProperty.call(this.context,v)) { - return value; - } - } - var _g_head = this.stack.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var ctx = val; - var value = Reflect.getProperty(ctx,v); - if(value != null || Object.prototype.hasOwnProperty.call(ctx,v)) { - return value; - } - } - return Reflect.field(haxe_Template.globals,v); - } - ,parseTokens: function(data) { - var tokens = new haxe_ds_List(); - while(haxe_Template.splitter.match(data)) { - var p = haxe_Template.splitter.matchedPos(); - if(p.pos > 0) { - tokens.add({ p : HxOverrides.substr(data,0,p.pos), s : true, l : null}); - } - if(HxOverrides.cca(data,p.pos) == 58) { - tokens.add({ p : HxOverrides.substr(data,p.pos + 2,p.len - 4), s : false, l : null}); - data = haxe_Template.splitter.matchedRight(); - continue; - } - var parp = p.pos + p.len; - var npar = 1; - var params = []; - var part = ""; - while(true) { - var c = HxOverrides.cca(data,parp); - ++parp; - if(c == 40) { - ++npar; - } else if(c == 41) { - --npar; - if(npar <= 0) { - break; - } - } else if(c == null) { - throw haxe_Exception.thrown("Unclosed macro parenthesis"); - } - if(c == 44 && npar == 1) { - params.push(part); - part = ""; - } else { - part += String.fromCodePoint(c); - } - } - params.push(part); - tokens.add({ p : haxe_Template.splitter.matched(2), s : false, l : params}); - data = HxOverrides.substr(data,parp,data.length - parp); - } - if(data.length > 0) { - tokens.add({ p : data, s : true, l : null}); - } - return tokens; - } - ,parseBlock: function(tokens) { - var l = new haxe_ds_List(); - while(true) { - var t = tokens.first(); - if(t == null) { - break; - } - if(!t.s && (t.p == "end" || t.p == "else" || HxOverrides.substr(t.p,0,7) == "elseif ")) { - break; - } - l.add(this.parse(tokens)); - } - if(l.length == 1) { - return l.first(); - } - return haxe__$Template_TemplateExpr.OpBlock(l); - } - ,parse: function(tokens) { - var t = tokens.pop(); - var p = t.p; - if(t.s) { - return haxe__$Template_TemplateExpr.OpStr(p); - } - if(t.l != null) { - var pe = new haxe_ds_List(); - var _g = 0; - var _g1 = t.l; - while(_g < _g1.length) { - var p1 = _g1[_g]; - ++_g; - pe.add(this.parseBlock(this.parseTokens(p1))); - } - return haxe__$Template_TemplateExpr.OpMacro(p,pe); - } - var kwdEnd = function(kwd) { - var pos = -1; - var length = kwd.length; - if(HxOverrides.substr(p,0,length) == kwd) { - pos = length; - var _g_offset = 0; - var _g_s = HxOverrides.substr(p,length,null); - while(_g_offset < _g_s.length) { - var c = _g_s.charCodeAt(_g_offset++); - if(c == 32) { - ++pos; - } else { - break; - } - } - } - return pos; - }; - var pos = kwdEnd("if"); - if(pos > 0) { - p = HxOverrides.substr(p,pos,p.length - pos); - var e = this.parseExpr(p); - var eif = this.parseBlock(tokens); - var t = tokens.first(); - var eelse; - if(t == null) { - throw haxe_Exception.thrown("Unclosed 'if'"); - } - if(t.p == "end") { - tokens.pop(); - eelse = null; - } else if(t.p == "else") { - tokens.pop(); - eelse = this.parseBlock(tokens); - t = tokens.pop(); - if(t == null || t.p != "end") { - throw haxe_Exception.thrown("Unclosed 'else'"); - } - } else { - t.p = HxOverrides.substr(t.p,4,t.p.length - 4); - eelse = this.parse(tokens); - } - return haxe__$Template_TemplateExpr.OpIf(e,eif,eelse); - } - var pos = kwdEnd("foreach"); - if(pos >= 0) { - p = HxOverrides.substr(p,pos,p.length - pos); - var e = this.parseExpr(p); - var efor = this.parseBlock(tokens); - var t = tokens.pop(); - if(t == null || t.p != "end") { - throw haxe_Exception.thrown("Unclosed 'foreach'"); - } - return haxe__$Template_TemplateExpr.OpForeach(e,efor); - } - if(haxe_Template.expr_splitter.match(p)) { - return haxe__$Template_TemplateExpr.OpExpr(this.parseExpr(p)); - } - return haxe__$Template_TemplateExpr.OpVar(p); - } - ,parseExpr: function(data) { - var l = new haxe_ds_List(); - var expr = data; - while(haxe_Template.expr_splitter.match(data)) { - var p = haxe_Template.expr_splitter.matchedPos(); - var k = p.pos + p.len; - if(p.pos != 0) { - l.add({ p : HxOverrides.substr(data,0,p.pos), s : true}); - } - var p1 = haxe_Template.expr_splitter.matched(0); - l.add({ p : p1, s : p1.indexOf("\"") >= 0}); - data = haxe_Template.expr_splitter.matchedRight(); - } - if(data.length != 0) { - var _g_offset = 0; - var _g_s = data; - while(_g_offset < _g_s.length) { - var _g_key = _g_offset; - var _g_value = _g_s.charCodeAt(_g_offset++); - var i = _g_key; - var c = _g_value; - if(c != 32) { - l.add({ p : HxOverrides.substr(data,i,null), s : true}); - break; - } - } - } - var e; - try { - e = this.makeExpr(l); - if(!l.isEmpty()) { - throw haxe_Exception.thrown(l.first().p); - } - } catch( _g ) { - var _g1 = haxe_Exception.caught(_g).unwrap(); - if(typeof(_g1) == "string") { - var s = _g1; - throw haxe_Exception.thrown("Unexpected '" + s + "' in " + expr); - } else { - throw _g; - } - } - return function() { - try { - return e(); - } catch( _g ) { - var exc = haxe_Exception.caught(_g).unwrap(); - throw haxe_Exception.thrown("Error : " + Std.string(exc) + " in " + expr); - } - }; - } - ,makeConst: function(v) { - haxe_Template.expr_trim.match(v); - v = haxe_Template.expr_trim.matched(1); - if(HxOverrides.cca(v,0) == 34) { - var str = HxOverrides.substr(v,1,v.length - 2); - return function() { - return str; - }; - } - if(haxe_Template.expr_int.match(v)) { - var i = Std.parseInt(v); - return function() { - return i; - }; - } - if(haxe_Template.expr_float.match(v)) { - var f = parseFloat(v); - return function() { - return f; - }; - } - var me = this; - return function() { - return me.resolve(v); - }; - } - ,makePath: function(e,l) { - var p = l.first(); - if(p == null || p.p != ".") { - return e; - } - l.pop(); - var field = l.pop(); - if(field == null || !field.s) { - throw haxe_Exception.thrown(field.p); - } - var f = field.p; - haxe_Template.expr_trim.match(f); - f = haxe_Template.expr_trim.matched(1); - return this.makePath(function() { - return Reflect.field(e(),f); - },l); - } - ,makeExpr: function(l) { - return this.makePath(this.makeExpr2(l),l); - } - ,skipSpaces: function(l) { - var p = l.first(); - while(p != null) { - var _g_offset = 0; - var _g_s = p.p; - while(_g_offset < _g_s.length) { - var c = _g_s.charCodeAt(_g_offset++); - if(c != 32) { - return; - } - } - l.pop(); - p = l.first(); - } - } - ,makeExpr2: function(l) { - this.skipSpaces(l); - var p = l.pop(); - this.skipSpaces(l); - if(p == null) { - throw haxe_Exception.thrown(""); - } - if(p.s) { - return this.makeConst(p.p); - } - switch(p.p) { - case "!": - var e = this.makeExpr(l); - return function() { - var v = e(); - if(v != null) { - return v == false; - } else { - return true; - } - }; - case "(": - this.skipSpaces(l); - var e1 = this.makeExpr(l); - this.skipSpaces(l); - var p1 = l.pop(); - if(p1 == null || p1.s) { - throw haxe_Exception.thrown(p1); - } - if(p1.p == ")") { - return e1; - } - this.skipSpaces(l); - var e2 = this.makeExpr(l); - this.skipSpaces(l); - var p2 = l.pop(); - this.skipSpaces(l); - if(p2 == null || p2.p != ")") { - throw haxe_Exception.thrown(p2); - } - switch(p1.p) { - case "!=": - return function() { - return e1() != e2(); - }; - case "&&": - return function() { - return e1() && e2(); - }; - case "*": - return function() { - return e1() * e2(); - }; - case "+": - return function() { - return e1() + e2(); - }; - case "-": - return function() { - return e1() - e2(); - }; - case "/": - return function() { - return e1() / e2(); - }; - case "<": - return function() { - return e1() < e2(); - }; - case "<=": - return function() { - return e1() <= e2(); - }; - case "==": - return function() { - return e1() == e2(); - }; - case ">": - return function() { - return e1() > e2(); - }; - case ">=": - return function() { - return e1() >= e2(); - }; - case "||": - return function() { - return e1() || e2(); - }; - default: - throw haxe_Exception.thrown("Unknown operation " + p1.p); - } - break; - case "-": - var e3 = this.makeExpr(l); - return function() { - return -e3(); - }; - } - throw haxe_Exception.thrown(p.p); - } - ,run: function(e) { - switch(e._hx_index) { - case 0: - var v = e.v; - var _this = this.buf; - var x = Std.string(this.resolve(v)); - _this.b += Std.string(x); - break; - case 1: - var e1 = e.expr; - var _this = this.buf; - var x = Std.string(e1()); - _this.b += Std.string(x); - break; - case 2: - var e1 = e.expr; - var eif = e.eif; - var eelse = e.eelse; - var v = e1(); - if(v == null || v == false) { - if(eelse != null) { - this.run(eelse); - } - } else { - this.run(eif); - } - break; - case 3: - var str = e.str; - this.buf.b += str == null ? "null" : "" + str; - break; - case 4: - var l = e.l; - var _g_head = l.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var e1 = val; - this.run(e1); - } - break; - case 5: - var e1 = e.expr; - var loop = e.loop; - var v = e1(); - try { - var x = $getIterator(v); - if(x.hasNext == null) { - throw haxe_Exception.thrown(null); - } - v = x; - } catch( _g ) { - try { - if(v.hasNext == null) { - throw haxe_Exception.thrown(null); - } - } catch( _g1 ) { - throw haxe_Exception.thrown("Cannot iter on " + Std.string(v)); - } - } - this.stack.push(this.context); - var v1 = v; - var ctx = v1; - while(ctx.hasNext()) { - var ctx1 = ctx.next(); - this.context = ctx1; - this.run(loop); - } - this.context = this.stack.pop(); - break; - case 6: - var m = e.name; - var params = e.params; - var v = Reflect.field(this.macros,m); - var pl = []; - var old = this.buf; - pl.push($bind(this,this.resolve)); - var _g_head = params.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var p = val; - if(p._hx_index == 0) { - var v1 = p.v; - pl.push(this.resolve(v1)); - } else { - this.buf = new StringBuf(); - this.run(p); - pl.push(this.buf.b); - } - } - this.buf = old; - try { - var _this = this.buf; - var x = Std.string(v.apply(this.macros,pl)); - _this.b += Std.string(x); - } catch( _g ) { - var e = haxe_Exception.caught(_g).unwrap(); - var plstr; - try { - plstr = pl.join(","); - } catch( _g1 ) { - plstr = "???"; - } - var msg = "Macro call " + m + "(" + plstr + ") failed (" + Std.string(e) + ")"; - throw haxe_Exception.thrown(msg); - } - break; - } - } -}; -var haxe_ValueException = function(value,previous,native) { - haxe_Exception.call(this,String(value),previous,native); - this.value = value; -}; -haxe_ValueException.__name__ = true; -haxe_ValueException.__super__ = haxe_Exception; -haxe_ValueException.prototype = $extend(haxe_Exception.prototype,{ - unwrap: function() { - return this.value; - } -}); -var haxe_ds_List = function() { - this.length = 0; -}; -haxe_ds_List.__name__ = true; -haxe_ds_List.prototype = { - add: function(item) { - var x = new haxe_ds__$List_ListNode(item,null); - if(this.h == null) { - this.h = x; - } else { - this.q.next = x; - } - this.q = x; - this.length++; - } - ,push: function(item) { - var x = new haxe_ds__$List_ListNode(item,this.h); - this.h = x; - if(this.q == null) { - this.q = x; - } - this.length++; - } - ,first: function() { - if(this.h == null) { - return null; - } else { - return this.h.item; - } - } - ,pop: function() { - if(this.h == null) { - return null; - } - var x = this.h.item; - this.h = this.h.next; - if(this.h == null) { - this.q = null; - } - this.length--; - return x; - } - ,isEmpty: function() { - return this.h == null; - } - ,toString: function() { - var s_b = ""; - var first = true; - var l = this.h; - s_b += "{"; - while(l != null) { - if(first) { - first = false; - } else { - s_b += ", "; - } - s_b += Std.string(Std.string(l.item)); - l = l.next; - } - s_b += "}"; - return s_b; - } -}; -var haxe_ds__$List_ListNode = function(item,next) { - this.item = item; - this.next = next; -}; -haxe_ds__$List_ListNode.__name__ = true; -var js_Boot = function() { }; -js_Boot.__name__ = true; -js_Boot.__string_rec = function(o,s) { - if(o == null) { - return "null"; - } - if(s.length >= 5) { - return "<...>"; - } - var t = typeof(o); - if(t == "function" && (o.__name__ || o.__ename__)) { - t = "object"; - } - switch(t) { - case "function": - return ""; - case "object": - if(o.__enum__) { - var e = $hxEnums[o.__enum__]; - var con = e.__constructs__[o._hx_index]; - var n = con._hx_name; - if(con.__params__) { - s = s + "\t"; - return n + "(" + ((function($this) { - var $r; - var _g = []; - { - var _g1 = 0; - var _g2 = con.__params__; - while(true) { - if(!(_g1 < _g2.length)) { - break; - } - var p = _g2[_g1]; - _g1 = _g1 + 1; - _g.push(js_Boot.__string_rec(o[p],s)); - } - } - $r = _g; - return $r; - }(this))).join(",") + ")"; - } else { - return n; - } - } - if(((o) instanceof Array)) { - var str = "["; - s += "\t"; - var _g = 0; - var _g1 = o.length; - while(_g < _g1) { - var i = _g++; - str += (i > 0 ? "," : "") + js_Boot.__string_rec(o[i],s); - } - str += "]"; - return str; - } - var tostr; - try { - tostr = o.toString; - } catch( _g ) { - return "???"; - } - if(tostr != null && tostr != Object.toString && typeof(tostr) == "function") { - var s2 = o.toString(); - if(s2 != "[object Object]") { - return s2; - } - } - var str = "{\n"; - s += "\t"; - var hasp = o.hasOwnProperty != null; - var k = null; - for( k in o ) { - if(hasp && !o.hasOwnProperty(k)) { - continue; - } - if(k == "prototype" || k == "__class__" || k == "__super__" || k == "__interfaces__" || k == "__properties__") { - continue; - } - if(str.length != 2) { - str += ", \n"; - } - str += s + k + " : " + js_Boot.__string_rec(o[k],s); - } - s = s.substring(1); - str += "\n" + s + "}"; - return str; - case "string": - return o; - default: - return String(o); - } -}; -var xrfragment_Filter = $hx_exports["xrfragment"]["Filter"] = function(str) { - this.q = { }; - this.str = ""; - if(str != null) { - this.parse(str); - } -}; -xrfragment_Filter.__name__ = true; -xrfragment_Filter.prototype = { - toObject: function() { - return Reflect.copy(this.q); - } - ,get: function() { - return Reflect.copy(this.q); - } - ,parse: function(str) { - var token = str.split(" "); - var q = { }; - var process = function(str,prefix) { - if(prefix == null) { - prefix = ""; - } - str = StringTools.trim(str); - var k = str.split("=")[0]; - var v = str.split("=")[1]; - var filter = { }; - if(q[prefix + k]) { - filter = q[prefix + k]; - } - if(xrfragment_XRF.isProp.match(str)) { - var oper = ""; - if(str.indexOf(">") != -1) { - oper = ">"; - } - if(str.indexOf("<") != -1) { - oper = "<"; - } - if(xrfragment_XRF.isExclude.match(k)) { - k = HxOverrides.substr(k,1,null); - } - v = HxOverrides.substr(v,oper.length,null); - if(oper.length == 0) { - oper = "="; - } - var rule = { }; - if(xrfragment_XRF.isNumber.match(v)) { - rule[oper] = parseFloat(v); - } else { - rule[oper] = v; - } - q["expr"] = rule; - } - var value = xrfragment_XRF.isDeep.match(str) ? k.split("*").length - 1 : 0; - q["deep"] = value; - var value = xrfragment_XRF.isExclude.match(str) ? false : true; - q["show"] = value; - var value = k.replace(xrfragment_XRF.operators.r,""); - q["key"] = value; - q["value"] = v; - }; - var _g = 0; - var _g1 = token.length; - while(_g < _g1) { - var i = _g++; - process(token[i]); - } - return this.q = q; - } - ,test: function(obj) { - var qualify = false; - var _g = 0; - var _g1 = Reflect.fields(obj); - while(_g < _g1.length) { - var k = _g1[_g]; - ++_g; - var v = Std.string(Reflect.field(obj,k)); - if(this.testProperty(k,v)) { - qualify = true; - } - } - var _g = 0; - var _g1 = Reflect.fields(obj); - while(_g < _g1.length) { - var k = _g1[_g]; - ++_g; - var v = Std.string(Reflect.field(obj,k)); - if(this.testProperty(k,v,true)) { - qualify = false; - } - } - return qualify; - } - ,testProperty: function(property,value,exclude) { - var conds = 0; - var fails = 0; - var qualify = 0; - var testprop = function(expr) { - conds += 1; - fails += expr ? 0 : 1; - return expr; - }; - if(this.q[value] != null) { - var v = this.q[value]; - if(v[property] != null) { - return v[property]; - } - } - if(Reflect.field(this.q,"expr")) { - var f = Reflect.field(this.q,"expr"); - if(!Reflect.field(this.q,"show")) { - if(Reflect.field(f,"!=") != null && testprop((value == null ? "null" : "" + value) == Std.string(Reflect.field(f,"!="))) && exclude) { - ++qualify; - } - } else { - if(Reflect.field(f,"*") != null && testprop(parseFloat(value) != null)) { - ++qualify; - } - if(Reflect.field(f,">") != null && testprop(parseFloat(value) >= parseFloat(Reflect.field(f,">")))) { - ++qualify; - } - if(Reflect.field(f,"<") != null && testprop(parseFloat(value) <= parseFloat(Reflect.field(f,"<")))) { - ++qualify; - } - if(Reflect.field(f,"=") != null && (testprop(value == Reflect.field(f,"=")) || testprop(parseFloat(value) == parseFloat(Reflect.field(f,"="))))) { - ++qualify; - } - } - } - return qualify > 0; - } -}; -var xrfragment_Parser = $hx_exports["xrfragment"]["Parser"] = function() { }; -xrfragment_Parser.__name__ = true; -xrfragment_Parser.parse = function(key,value,store,index) { - var Frag_h = Object.create(null); - Frag_h["#"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_PREDEFINED_VIEW | xrfragment_XRF.PV_EXECUTE; - Frag_h["src"] = xrfragment_XRF.T_URL; - Frag_h["href"] = xrfragment_XRF.T_URL | xrfragment_XRF.T_PREDEFINED_VIEW; - Frag_h["tag"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["pos"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_VECTOR3 | xrfragment_XRF.T_STRING | xrfragment_XRF.METADATA | xrfragment_XRF.NAVIGATOR; - Frag_h["rot"] = xrfragment_XRF.QUERY_OPERATOR | xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_VECTOR3 | xrfragment_XRF.METADATA | xrfragment_XRF.NAVIGATOR; - Frag_h["t"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_FLOAT | xrfragment_XRF.T_VECTOR2 | xrfragment_XRF.NAVIGATOR | xrfragment_XRF.METADATA; - Frag_h["s"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_MEDIAFRAG; - Frag_h["loop"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_PREDEFINED_VIEW; - Frag_h["uv"] = xrfragment_XRF.T_VECTOR2 | xrfragment_XRF.T_MEDIAFRAG; - Frag_h["namespace"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["SPDX"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["unit"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["description"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - var keyStripped = key.replace(xrfragment_XRF.operators.r,""); - var isPVDynamic = key.length > 0 && !Object.prototype.hasOwnProperty.call(Frag_h,key); - if(isPVDynamic) { - var v = new xrfragment_XRF(key,xrfragment_XRF.PV_EXECUTE | xrfragment_XRF.NAVIGATOR,index); - v.validate(value); - v.flags = xrfragment_XRF.set(xrfragment_XRF.T_DYNAMICKEY,v.flags); - if(!Object.prototype.hasOwnProperty.call(Frag_h,key)) { - v.flags = xrfragment_XRF.set(xrfragment_XRF.CUSTOMFRAG,v.flags); - } - if(value.length == 0) { - v.flags = xrfragment_XRF.set(xrfragment_XRF.T_DYNAMICKEYVALUE,v.flags); - } - store[keyStripped] = v; - return true; - } - var v = new xrfragment_XRF(key,Frag_h[key],index); - if(Object.prototype.hasOwnProperty.call(Frag_h,key)) { - if(!v.validate(value)) { - console.log("src/xrfragment/Parser.hx:67:","⚠ fragment '" + key + "' has incompatible value (" + value + ")"); - return false; - } - store[keyStripped] = v; - if(xrfragment_Parser.debug) { - console.log("src/xrfragment/Parser.hx:71:","✔ " + key + ": " + v.string); - } - } else { - if(typeof(value) == "string") { - v.guessType(v,value); - } - v.flags = xrfragment_XRF.set(xrfragment_XRF.CUSTOMFRAG,v.flags); - store[keyStripped] = v; - } - return true; -}; -xrfragment_Parser.getMetaData = function() { - var meta = { title : ["title","og:title","dc.title"], description : ["aria-description","og:description","dc.description"], author : ["author","dc.creator"], publisher : ["publisher","dc.publisher"], website : ["og:site_name","og:url","dc.publisher"], license : ["SPDX","dc.rights"]}; - return meta; -}; -var xrfragment_URI = $hx_exports["xrfragment"]["URI"] = function() { - this.XRF = { }; - this.hash = { }; - this.fragment = ""; -}; -xrfragment_URI.__name__ = true; -xrfragment_URI.parseFragment = function(url,filter) { - var store = { }; - if(url == null || url.indexOf("#") == -1) { - return store; - } - var fragment = url.split("#"); - var splitArray = fragment[1].split("&"); - var _g = 0; - var _g1 = splitArray.length; - while(_g < _g1) { - var i = _g++; - var splitByEqual = splitArray[i].split("="); - var regexPlus = new EReg("\\+","g"); - var key = splitByEqual[0]; - var value = ""; - if(splitByEqual.length > 1) { - if(xrfragment_XRF.isVector.match(splitByEqual[1])) { - value = splitByEqual[1]; - } else { - var s = regexPlus.split(splitByEqual[1]).join(" "); - value = decodeURIComponent(s.split("+").join(" ")); - } - } - var ok = xrfragment_Parser.parse(key,value,store,i); - } - if(filter != null && filter != 0) { - var _g = 0; - var _g1 = Reflect.fields(store); - while(_g < _g1.length) { - var key = _g1[_g]; - ++_g; - var xrf = store[key]; - if(!xrf.is(filter)) { - Reflect.deleteField(store,key); - } - } - } - return store; -}; -xrfragment_URI.template = function(uri,vars) { - var parts = uri.split("#"); - if(parts.length == 1) { - return uri; - } - var frag = parts[1]; - frag = StringTools.replace(frag,"{","::"); - frag = StringTools.replace(frag,"}","::"); - frag = new haxe_Template(frag).execute(vars); - frag = StringTools.replace(frag,"null",""); - parts[1] = frag; - return parts.join("#"); -}; -xrfragment_URI.parse = function(stringUrl,flags) { - var r = new EReg("^(?:(?![^:@]+:[^:@/]*@)([^:/?#.]+):)?(?://)?((?:(([^:@]*)(?::([^:@]*))?)?@)?([^:/?#]*)(?::(\\d*))?)(((/(?:[^?#](?![^?#/]*\\.[^?#/.]+(?:[?#]|$)))*/?)?([^?#/]*))(?:\\?([^#]*))?(?:#(.*))?)",""); - if(stringUrl.indexOf("://") == -1 && stringUrl.charAt(0) != "/") { - stringUrl = "/" + stringUrl; - } - r.match(stringUrl); - var url = new xrfragment_URI(); - var _g = 0; - var _g1 = xrfragment_URI._parts.length; - while(_g < _g1) { - var i = _g++; - url[xrfragment_URI._parts[i]] = r.matched(i); - } - if(xrfragment_URI.isRelative(url) == true) { - if(url.directory == null && url.host != null) { - url.file = url.host; - } - url.host = ""; - } - url.hash = { }; - if(url.fragment != null && url.fragment.length > 0) { - url.XRF = xrfragment_URI.parseFragment("#" + url.fragment,flags); - var key; - var _g = 0; - var _g1 = Reflect.fields(url.XRF); - while(_g < _g1.length) { - var key = _g1[_g]; - ++_g; - var v = url.XRF[key]; - url.hash[key] = v["string"]; - } - } - xrfragment_URI.computeVars(url); - return url; -}; -xrfragment_URI.computeVars = function(url) { - var r_r = new RegExp("//","g".split("u").join("")); - if(url.directory != null && url.directory.indexOf("//") != -1) { - url.directory = url.directory.replace(r_r,"/"); - } - if(url.path != null && url.path.indexOf("//") != -1) { - url.path = url.path.replace(r_r,"/"); - } - if(url.file != null && url.file.indexOf("//") != -1) { - url.file = url.file.replace(r_r,"/"); - } - url.URN = url.scheme + "://" + url.host; - if(url.port != null) { - url.URN += ":" + url.port; - } - url.URN += url.directory; - if(url.file != null) { - var parts = url.file.split("."); - if(parts.length > 1) { - url.fileExt = parts.pop(); - } - } -}; -xrfragment_URI.toString = function(url) { - var result = ""; - if(url.scheme != null) { - result += url.scheme + "://"; - } - if(url.user != null) { - result += url.user + ":"; - } - if(url.password != null) { - result += url.password + "@"; - } - if(url.host != null) { - result += url.host; - } - if(url.port != null) { - result += ":" + url.port; - } - if(url.directory != null) { - result += url.directory; - } - if(url.file != null) { - result += url.file; - } - if(url.query != null) { - result += "?" + url.query; - } - if(url.fragment != null) { - result += "#" + url.fragment; - } - return result; -}; -xrfragment_URI.appendURI = function(url,appendedURI) { - if(xrfragment_URI.isRelative(url) == true) { - return xrfragment_URI.appendToRelativeURI(url,appendedURI); - } else { - return xrfragment_URI.appendToAbsoluteURI(url,appendedURI); - } -}; -xrfragment_URI.isRelative = function(url) { - return url.scheme == null; -}; -xrfragment_URI.appendToRelativeURI = function(url,appendedURI) { - if(url.directory == null || url.host == null) { - return xrfragment_URI.cloneURI(appendedURI); - } - var resultURI = new xrfragment_URI(); - resultURI.host = url.host; - resultURI.directory = url.directory; - if(appendedURI.host != null) { - resultURI.directory += appendedURI.host; - } - if(appendedURI.directory != null) { - var directory = appendedURI.directory; - if(appendedURI.host == null) { - resultURI.directory += HxOverrides.substr(directory,1,null); - } else { - resultURI.directory += directory; - } - } - if(appendedURI.file != null) { - resultURI.file = appendedURI.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(appendedURI.query != null) { - resultURI.query = appendedURI.query; - } - if(appendedURI.fragment != null) { - resultURI.fragment = appendedURI.fragment; - } - return resultURI; -}; -xrfragment_URI.appendToAbsoluteURI = function(url,appendedURI) { - var resultURI = new xrfragment_URI(); - if(url.scheme != null) { - resultURI.scheme = url.scheme; - } - if(url.host != null) { - resultURI.host = url.host; - } - var directory = ""; - if(url.directory != null) { - directory = url.directory; - } - if(appendedURI.host != null) { - appendedURI.directory += appendedURI.host; - } - if(appendedURI.directory != null) { - directory += appendedURI.directory; - } - resultURI.directory = directory; - if(appendedURI.file != null) { - resultURI.file = appendedURI.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(appendedURI.query != null) { - resultURI.query = appendedURI.query; - } - if(appendedURI.fragment != null) { - resultURI.fragment = appendedURI.fragment; - } - return resultURI; -}; -xrfragment_URI.toAbsolute = function(url,newUrl) { - var newURI = xrfragment_URI.parse(newUrl,0); - var resultURI = new xrfragment_URI(); - resultURI.port = url.port; - resultURI.source = newUrl; - if(newURI.scheme != null) { - resultURI.scheme = newURI.scheme; - } else { - resultURI.scheme = url.scheme; - } - if(newURI.host != null && newURI.host.length > 0) { - resultURI.host = newURI.host; - resultURI.port = null; - resultURI.fragment = null; - resultURI.hash = { }; - resultURI.XRF = { }; - if(newURI.port != null) { - resultURI.port = newURI.port; - } - } else { - resultURI.host = url.host; - } - var directory = ""; - if(url.directory != null) { - directory = url.directory; - } - if(newURI.directory != null) { - if(newUrl.charAt(0) != "/" && newUrl.indexOf("://") == -1) { - var stripRelative_r = new RegExp("\\./.*","".split("u").join("")); - directory = directory.replace(stripRelative_r,""); - directory += newURI.directory; - } else { - directory = newURI.directory; - } - } - resultURI.directory = directory; - if(newURI.file != null) { - resultURI.file = newURI.file; - } else { - resultURI.file = url.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(newURI.query != null) { - resultURI.query = newURI.query; - } - if(newURI.fragment != null) { - resultURI.fragment = newURI.fragment; - } - resultURI.hash = newURI.hash; - resultURI.XRF = newURI.XRF; - xrfragment_URI.computeVars(resultURI); - return resultURI; -}; -xrfragment_URI.cloneURI = function(url) { - var clonedURI = new xrfragment_URI(); - clonedURI.url = url.url; - clonedURI.source = url.source; - clonedURI.scheme = url.scheme; - clonedURI.authority = url.authority; - clonedURI.userInfo = url.userInfo; - clonedURI.password = url.password; - clonedURI.host = url.host; - clonedURI.port = url.port; - clonedURI.relative = url.relative; - clonedURI.path = url.path; - clonedURI.directory = url.directory; - clonedURI.file = url.file; - clonedURI.query = url.query; - clonedURI.fragment = url.fragment; - return clonedURI; -}; -var xrfragment_XRF = $hx_exports["xrfragment"]["XRF"] = function(_fragment,_flags,_index) { - this.floats = []; - this.shift = []; - this.fragment = _fragment; - this.flags = _flags; - this.index = _index; -}; -xrfragment_XRF.__name__ = true; -xrfragment_XRF.set = function(flag,flags) { - return flags | flag; -}; -xrfragment_XRF.unset = function(flag,flags) { - return flags & ~flag; -}; -xrfragment_XRF.prototype = { - is: function(flag) { - var v = this.flags; - if(!(typeof(v) == "number" && ((v | 0) === v))) { - this.flags = 0; - } - return (this.flags & flag) != 0; - } - ,validate: function(value) { - this.guessType(this,value); - var ok = true; - if(value.length == 0 && !this.is(xrfragment_XRF.T_PREDEFINED_VIEW)) { - ok = false; - } - if(!this.is(xrfragment_XRF.T_FLOAT) && this.is(xrfragment_XRF.T_VECTOR2) && !(typeof(this.x) == "number" && typeof(this.y) == "number")) { - ok = false; - } - if(!(this.is(xrfragment_XRF.T_VECTOR2) || this.is(xrfragment_XRF.T_STRING)) && this.is(xrfragment_XRF.T_VECTOR3) && !(typeof(this.x) == "number" && typeof(this.y) == "number" && typeof(this.z) == "number")) { - ok = false; - } - return ok; - } - ,guessType: function(v,str) { - v.string = str; - if(xrfragment_XRF.isReset.match(v.fragment)) { - v.reset = true; - } - if(v.fragment == "loop") { - v.loop = true; - } - if(typeof(str) != "string") { - return; - } - if(str.length > 0) { - if(xrfragment_XRF.isXRFScheme.match(str)) { - v.xrfScheme = true; - str = str.replace(xrfragment_XRF.isXRFScheme.r,""); - v.string = str; - } - if(str.split(",").length > 1) { - var xyzn = str.split(","); - if(xyzn.length > 0) { - v.x = parseFloat(xyzn[0]); - } - if(xyzn.length > 1) { - v.y = parseFloat(xyzn[1]); - } - if(xyzn.length > 2) { - v.z = parseFloat(xyzn[2]); - } - var _g = 0; - var _g1 = xyzn.length; - while(_g < _g1) { - var i = _g++; - v.shift.push(xrfragment_XRF.isShift.match(xyzn[i])); - v.floats.push(parseFloat(xyzn[i].replace(xrfragment_XRF.isShift.r,""))); - } - } - if(xrfragment_XRF.isColor.match(str)) { - v.color = str; - } - if(xrfragment_XRF.isFloat.match(str)) { - v.x = parseFloat(str); - v.float = v.x; - } - if(xrfragment_XRF.isInt.match(str)) { - v.int = Std.parseInt(str); - v.x = v.int; - v.floats.push(v.x); - } - v.filter = new xrfragment_Filter(v.fragment + "=" + v.string); - } else { - v.filter = new xrfragment_Filter(v.fragment); - } - } -}; -function $getIterator(o) { if( o instanceof Array ) return new haxe_iterators_ArrayIterator(o); else return o.iterator(); } -function $bind(o,m) { if( m == null ) return null; if( m.__id__ == null ) m.__id__ = $global.$haxeUID++; var f; if( o.hx__closures__ == null ) o.hx__closures__ = {}; else f = o.hx__closures__[m.__id__]; if( f == null ) { f = m.bind(o); o.hx__closures__[m.__id__] = f; } return f; } -$global.$haxeUID |= 0; -if(typeof(performance) != "undefined" ? typeof(performance.now) == "function" : false) { - HxOverrides.now = performance.now.bind(performance); -} -if( String.fromCodePoint == null ) String.fromCodePoint = function(c) { return c < 0x10000 ? String.fromCharCode(c) : String.fromCharCode((c>>10)+0xD7C0)+String.fromCharCode((c&0x3FF)+0xDC00); } -String.__name__ = true; -Array.__name__ = true; -js_Boot.__toStr = ({ }).toString; -haxe_Template.splitter = new EReg("(::[A-Za-z0-9_ ()&|!+=/><*.\"-]+::|\\$\\$([A-Za-z0-9_-]+)\\()",""); -haxe_Template.expr_splitter = new EReg("(\\(|\\)|[ \r\n\t]*\"[^\"]*\"[ \r\n\t]*|[!+=/><*.&|-]+)",""); -haxe_Template.expr_trim = new EReg("^[ ]*([^ ]+)[ ]*$",""); -haxe_Template.expr_int = new EReg("^[0-9]+$",""); -haxe_Template.expr_float = new EReg("^([+-]?)(?=\\d|,\\d)\\d*(,\\d*)?([Ee]([+-]?\\d+))?$",""); -haxe_Template.globals = { }; -haxe_Template.hxKeepArrayIterator = new haxe_iterators_ArrayIterator([]); -xrfragment_Parser.error = ""; -xrfragment_Parser.debug = false; -xrfragment_URI.__meta__ = { statics : { template : { keep : null}}}; -xrfragment_URI._parts = ["source","scheme","authority","userInfo","user","password","host","port","relative","path","directory","file","query","fragment"]; -xrfragment_XRF.IMMUTABLE = 1; -xrfragment_XRF.PROP_BIND = 2; -xrfragment_XRF.QUERY_OPERATOR = 4; -xrfragment_XRF.PROMPT = 8; -xrfragment_XRF.CUSTOMFRAG = 16; -xrfragment_XRF.NAVIGATOR = 32; -xrfragment_XRF.METADATA = 64; -xrfragment_XRF.PV_OVERRIDE = 128; -xrfragment_XRF.PV_EXECUTE = 256; -xrfragment_XRF.T_COLOR = 8192; -xrfragment_XRF.T_INT = 16384; -xrfragment_XRF.T_FLOAT = 32768; -xrfragment_XRF.T_VECTOR2 = 65536; -xrfragment_XRF.T_VECTOR3 = 131072; -xrfragment_XRF.T_URL = 262144; -xrfragment_XRF.T_PREDEFINED_VIEW = 524288; -xrfragment_XRF.T_STRING = 1048576; -xrfragment_XRF.T_MEDIAFRAG = 2097152; -xrfragment_XRF.T_DYNAMICKEY = 4194304; -xrfragment_XRF.T_DYNAMICKEYVALUE = 8388608; -xrfragment_XRF.isColor = new EReg("^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$",""); -xrfragment_XRF.isInt = new EReg("^[-0-9]+$",""); -xrfragment_XRF.isFloat = new EReg("^[-0-9]+\\.[0-9]+$",""); -xrfragment_XRF.isVector = new EReg("([,]+|\\w)",""); -xrfragment_XRF.isUrl = new EReg("(://)?\\..*",""); -xrfragment_XRF.isUrlOrPretypedView = new EReg("(^#|://)?\\..*",""); -xrfragment_XRF.isString = new EReg(".*",""); -xrfragment_XRF.operators = new EReg("(^[-]|^[!]|[\\*]$)","g"); -xrfragment_XRF.isProp = new EReg("^.*=[><=]?",""); -xrfragment_XRF.isExclude = new EReg("^-",""); -xrfragment_XRF.isDeep = new EReg("\\*",""); -xrfragment_XRF.isNumber = new EReg("^[0-9\\.]+$",""); -xrfragment_XRF.isMediaFrag = new EReg("^([0-9\\.,\\*+-]+)$",""); -xrfragment_XRF.isReset = new EReg("^!",""); -xrfragment_XRF.isShift = new EReg("^(\\+|--)",""); -xrfragment_XRF.isXRFScheme = new EReg("^xrf://",""); -})(typeof window != "undefined" ? window : typeof global != "undefined" ? global : typeof self != "undefined" ? self : this); -var xrfragment = $hx_exports["xrfragment"]; -export default xrfragment; -// Generated by Haxe 4.3.3 -var $hx_exports = typeof exports != "undefined" ? exports : typeof window != "undefined" ? window : typeof self != "undefined" ? self : this; -(function ($global) { "use strict"; -$hx_exports["xrfragment"] = $hx_exports["xrfragment"] || {}; -var $estr = function() { return js_Boot.__string_rec(this,''); },$hxEnums = $hxEnums || {},$_; -function $extend(from, fields) { - var proto = Object.create(from); - for (var name in fields) proto[name] = fields[name]; - if( fields.toString !== Object.prototype.toString ) proto.toString = fields.toString; - return proto; -} -var EReg = function(r,opt) { - this.r = new RegExp(r,opt.split("u").join("")); -}; -EReg.__name__ = true; -EReg.prototype = { - match: function(s) { - if(this.r.global) { - this.r.lastIndex = 0; - } - this.r.m = this.r.exec(s); - this.r.s = s; - return this.r.m != null; - } - ,matched: function(n) { - if(this.r.m != null && n >= 0 && n < this.r.m.length) { - return this.r.m[n]; - } else { - throw haxe_Exception.thrown("EReg::matched"); - } - } - ,matchedRight: function() { - if(this.r.m == null) { - throw haxe_Exception.thrown("No string matched"); - } - var sz = this.r.m.index + this.r.m[0].length; - return HxOverrides.substr(this.r.s,sz,this.r.s.length - sz); - } - ,matchedPos: function() { - if(this.r.m == null) { - throw haxe_Exception.thrown("No string matched"); - } - return { pos : this.r.m.index, len : this.r.m[0].length}; - } - ,split: function(s) { - var d = "#__delim__#"; - return s.replace(this.r,d).split(d); - } -}; -var HxOverrides = function() { }; -HxOverrides.__name__ = true; -HxOverrides.cca = function(s,index) { - var x = s.charCodeAt(index); - if(x != x) { - return undefined; - } - return x; -}; -HxOverrides.substr = function(s,pos,len) { - if(len == null) { - len = s.length; - } else if(len < 0) { - if(pos == 0) { - len = s.length + len; - } else { - return ""; - } - } - return s.substr(pos,len); -}; -HxOverrides.now = function() { - return Date.now(); -}; -Math.__name__ = true; -var Reflect = function() { }; -Reflect.__name__ = true; -Reflect.field = function(o,field) { - try { - return o[field]; - } catch( _g ) { - return null; - } -}; -Reflect.getProperty = function(o,field) { - var tmp; - if(o == null) { - return null; - } else { - var tmp1; - if(o.__properties__) { - tmp = o.__properties__["get_" + field]; - tmp1 = tmp; - } else { - tmp1 = false; - } - if(tmp1) { - return o[tmp](); - } else { - return o[field]; - } - } -}; -Reflect.fields = function(o) { - var a = []; - if(o != null) { - var hasOwnProperty = Object.prototype.hasOwnProperty; - for( var f in o ) { - if(f != "__id__" && f != "hx__closures__" && hasOwnProperty.call(o,f)) { - a.push(f); - } - } - } - return a; -}; -Reflect.isObject = function(v) { - if(v == null) { - return false; - } - var t = typeof(v); - if(!(t == "string" || t == "object" && v.__enum__ == null)) { - if(t == "function") { - return (v.__name__ || v.__ename__) != null; - } else { - return false; - } - } else { - return true; - } -}; -Reflect.deleteField = function(o,field) { - if(!Object.prototype.hasOwnProperty.call(o,field)) { - return false; - } - delete(o[field]); - return true; -}; -Reflect.copy = function(o) { - if(o == null) { - return null; - } - var o2 = { }; - var _g = 0; - var _g1 = Reflect.fields(o); - while(_g < _g1.length) { - var f = _g1[_g]; - ++_g; - o2[f] = Reflect.field(o,f); - } - return o2; -}; -var Std = function() { }; -Std.__name__ = true; -Std.string = function(s) { - return js_Boot.__string_rec(s,""); -}; -Std.parseInt = function(x) { - var v = parseInt(x); - if(isNaN(v)) { - return null; - } - return v; -}; -var StringBuf = function() { - this.b = ""; -}; -StringBuf.__name__ = true; -var StringTools = function() { }; -StringTools.__name__ = true; -StringTools.isSpace = function(s,pos) { - var c = HxOverrides.cca(s,pos); - if(!(c > 8 && c < 14)) { - return c == 32; - } else { - return true; - } -}; -StringTools.ltrim = function(s) { - var l = s.length; - var r = 0; - while(r < l && StringTools.isSpace(s,r)) ++r; - if(r > 0) { - return HxOverrides.substr(s,r,l - r); - } else { - return s; - } -}; -StringTools.rtrim = function(s) { - var l = s.length; - var r = 0; - while(r < l && StringTools.isSpace(s,l - r - 1)) ++r; - if(r > 0) { - return HxOverrides.substr(s,0,l - r); - } else { - return s; - } -}; -StringTools.trim = function(s) { - return StringTools.ltrim(StringTools.rtrim(s)); -}; -StringTools.replace = function(s,sub,by) { - return s.split(sub).join(by); -}; -var haxe_Exception = function(message,previous,native) { - Error.call(this,message); - this.message = message; - this.__previousException = previous; - this.__nativeException = native != null ? native : this; -}; -haxe_Exception.__name__ = true; -haxe_Exception.caught = function(value) { - if(((value) instanceof haxe_Exception)) { - return value; - } else if(((value) instanceof Error)) { - return new haxe_Exception(value.message,null,value); - } else { - return new haxe_ValueException(value,null,value); - } -}; -haxe_Exception.thrown = function(value) { - if(((value) instanceof haxe_Exception)) { - return value.get_native(); - } else if(((value) instanceof Error)) { - return value; - } else { - var e = new haxe_ValueException(value); - return e; - } -}; -haxe_Exception.__super__ = Error; -haxe_Exception.prototype = $extend(Error.prototype,{ - unwrap: function() { - return this.__nativeException; - } - ,get_native: function() { - return this.__nativeException; - } - ,__properties__: {get_native:"get_native"} -}); -var haxe__$Template_TemplateExpr = $hxEnums["haxe._Template.TemplateExpr"] = { __ename__:true,__constructs__:null - ,OpVar: ($_=function(v) { return {_hx_index:0,v:v,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpVar",$_.__params__ = ["v"],$_) - ,OpExpr: ($_=function(expr) { return {_hx_index:1,expr:expr,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpExpr",$_.__params__ = ["expr"],$_) - ,OpIf: ($_=function(expr,eif,eelse) { return {_hx_index:2,expr:expr,eif:eif,eelse:eelse,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpIf",$_.__params__ = ["expr","eif","eelse"],$_) - ,OpStr: ($_=function(str) { return {_hx_index:3,str:str,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpStr",$_.__params__ = ["str"],$_) - ,OpBlock: ($_=function(l) { return {_hx_index:4,l:l,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpBlock",$_.__params__ = ["l"],$_) - ,OpForeach: ($_=function(expr,loop) { return {_hx_index:5,expr:expr,loop:loop,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpForeach",$_.__params__ = ["expr","loop"],$_) - ,OpMacro: ($_=function(name,params) { return {_hx_index:6,name:name,params:params,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpMacro",$_.__params__ = ["name","params"],$_) -}; -haxe__$Template_TemplateExpr.__constructs__ = [haxe__$Template_TemplateExpr.OpVar,haxe__$Template_TemplateExpr.OpExpr,haxe__$Template_TemplateExpr.OpIf,haxe__$Template_TemplateExpr.OpStr,haxe__$Template_TemplateExpr.OpBlock,haxe__$Template_TemplateExpr.OpForeach,haxe__$Template_TemplateExpr.OpMacro]; -var haxe_iterators_ArrayIterator = function(array) { - this.current = 0; - this.array = array; -}; -haxe_iterators_ArrayIterator.__name__ = true; -haxe_iterators_ArrayIterator.prototype = { - hasNext: function() { - return this.current < this.array.length; - } - ,next: function() { - return this.array[this.current++]; - } -}; -var haxe_Template = function(str) { - var tokens = this.parseTokens(str); - this.expr = this.parseBlock(tokens); - if(!tokens.isEmpty()) { - throw haxe_Exception.thrown("Unexpected '" + Std.string(tokens.first().s) + "'"); - } -}; -haxe_Template.__name__ = true; -haxe_Template.prototype = { - execute: function(context,macros) { - this.macros = macros == null ? { } : macros; - this.context = context; - this.stack = new haxe_ds_List(); - this.buf = new StringBuf(); - this.run(this.expr); - return this.buf.b; - } - ,resolve: function(v) { - if(v == "__current__") { - return this.context; - } - if(Reflect.isObject(this.context)) { - var value = Reflect.getProperty(this.context,v); - if(value != null || Object.prototype.hasOwnProperty.call(this.context,v)) { - return value; - } - } - var _g_head = this.stack.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var ctx = val; - var value = Reflect.getProperty(ctx,v); - if(value != null || Object.prototype.hasOwnProperty.call(ctx,v)) { - return value; - } - } - return Reflect.field(haxe_Template.globals,v); - } - ,parseTokens: function(data) { - var tokens = new haxe_ds_List(); - while(haxe_Template.splitter.match(data)) { - var p = haxe_Template.splitter.matchedPos(); - if(p.pos > 0) { - tokens.add({ p : HxOverrides.substr(data,0,p.pos), s : true, l : null}); - } - if(HxOverrides.cca(data,p.pos) == 58) { - tokens.add({ p : HxOverrides.substr(data,p.pos + 2,p.len - 4), s : false, l : null}); - data = haxe_Template.splitter.matchedRight(); - continue; - } - var parp = p.pos + p.len; - var npar = 1; - var params = []; - var part = ""; - while(true) { - var c = HxOverrides.cca(data,parp); - ++parp; - if(c == 40) { - ++npar; - } else if(c == 41) { - --npar; - if(npar <= 0) { - break; - } - } else if(c == null) { - throw haxe_Exception.thrown("Unclosed macro parenthesis"); - } - if(c == 44 && npar == 1) { - params.push(part); - part = ""; - } else { - part += String.fromCodePoint(c); - } - } - params.push(part); - tokens.add({ p : haxe_Template.splitter.matched(2), s : false, l : params}); - data = HxOverrides.substr(data,parp,data.length - parp); - } - if(data.length > 0) { - tokens.add({ p : data, s : true, l : null}); - } - return tokens; - } - ,parseBlock: function(tokens) { - var l = new haxe_ds_List(); - while(true) { - var t = tokens.first(); - if(t == null) { - break; - } - if(!t.s && (t.p == "end" || t.p == "else" || HxOverrides.substr(t.p,0,7) == "elseif ")) { - break; - } - l.add(this.parse(tokens)); - } - if(l.length == 1) { - return l.first(); - } - return haxe__$Template_TemplateExpr.OpBlock(l); - } - ,parse: function(tokens) { - var t = tokens.pop(); - var p = t.p; - if(t.s) { - return haxe__$Template_TemplateExpr.OpStr(p); - } - if(t.l != null) { - var pe = new haxe_ds_List(); - var _g = 0; - var _g1 = t.l; - while(_g < _g1.length) { - var p1 = _g1[_g]; - ++_g; - pe.add(this.parseBlock(this.parseTokens(p1))); - } - return haxe__$Template_TemplateExpr.OpMacro(p,pe); - } - var kwdEnd = function(kwd) { - var pos = -1; - var length = kwd.length; - if(HxOverrides.substr(p,0,length) == kwd) { - pos = length; - var _g_offset = 0; - var _g_s = HxOverrides.substr(p,length,null); - while(_g_offset < _g_s.length) { - var c = _g_s.charCodeAt(_g_offset++); - if(c == 32) { - ++pos; - } else { - break; - } - } - } - return pos; - }; - var pos = kwdEnd("if"); - if(pos > 0) { - p = HxOverrides.substr(p,pos,p.length - pos); - var e = this.parseExpr(p); - var eif = this.parseBlock(tokens); - var t = tokens.first(); - var eelse; - if(t == null) { - throw haxe_Exception.thrown("Unclosed 'if'"); - } - if(t.p == "end") { - tokens.pop(); - eelse = null; - } else if(t.p == "else") { - tokens.pop(); - eelse = this.parseBlock(tokens); - t = tokens.pop(); - if(t == null || t.p != "end") { - throw haxe_Exception.thrown("Unclosed 'else'"); - } - } else { - t.p = HxOverrides.substr(t.p,4,t.p.length - 4); - eelse = this.parse(tokens); - } - return haxe__$Template_TemplateExpr.OpIf(e,eif,eelse); - } - var pos = kwdEnd("foreach"); - if(pos >= 0) { - p = HxOverrides.substr(p,pos,p.length - pos); - var e = this.parseExpr(p); - var efor = this.parseBlock(tokens); - var t = tokens.pop(); - if(t == null || t.p != "end") { - throw haxe_Exception.thrown("Unclosed 'foreach'"); - } - return haxe__$Template_TemplateExpr.OpForeach(e,efor); - } - if(haxe_Template.expr_splitter.match(p)) { - return haxe__$Template_TemplateExpr.OpExpr(this.parseExpr(p)); - } - return haxe__$Template_TemplateExpr.OpVar(p); - } - ,parseExpr: function(data) { - var l = new haxe_ds_List(); - var expr = data; - while(haxe_Template.expr_splitter.match(data)) { - var p = haxe_Template.expr_splitter.matchedPos(); - var k = p.pos + p.len; - if(p.pos != 0) { - l.add({ p : HxOverrides.substr(data,0,p.pos), s : true}); - } - var p1 = haxe_Template.expr_splitter.matched(0); - l.add({ p : p1, s : p1.indexOf("\"") >= 0}); - data = haxe_Template.expr_splitter.matchedRight(); - } - if(data.length != 0) { - var _g_offset = 0; - var _g_s = data; - while(_g_offset < _g_s.length) { - var _g_key = _g_offset; - var _g_value = _g_s.charCodeAt(_g_offset++); - var i = _g_key; - var c = _g_value; - if(c != 32) { - l.add({ p : HxOverrides.substr(data,i,null), s : true}); - break; - } - } - } - var e; - try { - e = this.makeExpr(l); - if(!l.isEmpty()) { - throw haxe_Exception.thrown(l.first().p); - } - } catch( _g ) { - var _g1 = haxe_Exception.caught(_g).unwrap(); - if(typeof(_g1) == "string") { - var s = _g1; - throw haxe_Exception.thrown("Unexpected '" + s + "' in " + expr); - } else { - throw _g; - } - } - return function() { - try { - return e(); - } catch( _g ) { - var exc = haxe_Exception.caught(_g).unwrap(); - throw haxe_Exception.thrown("Error : " + Std.string(exc) + " in " + expr); - } - }; - } - ,makeConst: function(v) { - haxe_Template.expr_trim.match(v); - v = haxe_Template.expr_trim.matched(1); - if(HxOverrides.cca(v,0) == 34) { - var str = HxOverrides.substr(v,1,v.length - 2); - return function() { - return str; - }; - } - if(haxe_Template.expr_int.match(v)) { - var i = Std.parseInt(v); - return function() { - return i; - }; - } - if(haxe_Template.expr_float.match(v)) { - var f = parseFloat(v); - return function() { - return f; - }; - } - var me = this; - return function() { - return me.resolve(v); - }; - } - ,makePath: function(e,l) { - var p = l.first(); - if(p == null || p.p != ".") { - return e; - } - l.pop(); - var field = l.pop(); - if(field == null || !field.s) { - throw haxe_Exception.thrown(field.p); - } - var f = field.p; - haxe_Template.expr_trim.match(f); - f = haxe_Template.expr_trim.matched(1); - return this.makePath(function() { - return Reflect.field(e(),f); - },l); - } - ,makeExpr: function(l) { - return this.makePath(this.makeExpr2(l),l); - } - ,skipSpaces: function(l) { - var p = l.first(); - while(p != null) { - var _g_offset = 0; - var _g_s = p.p; - while(_g_offset < _g_s.length) { - var c = _g_s.charCodeAt(_g_offset++); - if(c != 32) { - return; - } - } - l.pop(); - p = l.first(); - } - } - ,makeExpr2: function(l) { - this.skipSpaces(l); - var p = l.pop(); - this.skipSpaces(l); - if(p == null) { - throw haxe_Exception.thrown(""); - } - if(p.s) { - return this.makeConst(p.p); - } - switch(p.p) { - case "!": - var e = this.makeExpr(l); - return function() { - var v = e(); - if(v != null) { - return v == false; - } else { - return true; - } - }; - case "(": - this.skipSpaces(l); - var e1 = this.makeExpr(l); - this.skipSpaces(l); - var p1 = l.pop(); - if(p1 == null || p1.s) { - throw haxe_Exception.thrown(p1); - } - if(p1.p == ")") { - return e1; - } - this.skipSpaces(l); - var e2 = this.makeExpr(l); - this.skipSpaces(l); - var p2 = l.pop(); - this.skipSpaces(l); - if(p2 == null || p2.p != ")") { - throw haxe_Exception.thrown(p2); - } - switch(p1.p) { - case "!=": - return function() { - return e1() != e2(); - }; - case "&&": - return function() { - return e1() && e2(); - }; - case "*": - return function() { - return e1() * e2(); - }; - case "+": - return function() { - return e1() + e2(); - }; - case "-": - return function() { - return e1() - e2(); - }; - case "/": - return function() { - return e1() / e2(); - }; - case "<": - return function() { - return e1() < e2(); - }; - case "<=": - return function() { - return e1() <= e2(); - }; - case "==": - return function() { - return e1() == e2(); - }; - case ">": - return function() { - return e1() > e2(); - }; - case ">=": - return function() { - return e1() >= e2(); - }; - case "||": - return function() { - return e1() || e2(); - }; - default: - throw haxe_Exception.thrown("Unknown operation " + p1.p); - } - break; - case "-": - var e3 = this.makeExpr(l); - return function() { - return -e3(); - }; - } - throw haxe_Exception.thrown(p.p); - } - ,run: function(e) { - switch(e._hx_index) { - case 0: - var v = e.v; - var _this = this.buf; - var x = Std.string(this.resolve(v)); - _this.b += Std.string(x); - break; - case 1: - var e1 = e.expr; - var _this = this.buf; - var x = Std.string(e1()); - _this.b += Std.string(x); - break; - case 2: - var e1 = e.expr; - var eif = e.eif; - var eelse = e.eelse; - var v = e1(); - if(v == null || v == false) { - if(eelse != null) { - this.run(eelse); - } - } else { - this.run(eif); - } - break; - case 3: - var str = e.str; - this.buf.b += str == null ? "null" : "" + str; - break; - case 4: - var l = e.l; - var _g_head = l.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var e1 = val; - this.run(e1); - } - break; - case 5: - var e1 = e.expr; - var loop = e.loop; - var v = e1(); - try { - var x = $getIterator(v); - if(x.hasNext == null) { - throw haxe_Exception.thrown(null); - } - v = x; - } catch( _g ) { - try { - if(v.hasNext == null) { - throw haxe_Exception.thrown(null); - } - } catch( _g1 ) { - throw haxe_Exception.thrown("Cannot iter on " + Std.string(v)); - } - } - this.stack.push(this.context); - var v1 = v; - var ctx = v1; - while(ctx.hasNext()) { - var ctx1 = ctx.next(); - this.context = ctx1; - this.run(loop); - } - this.context = this.stack.pop(); - break; - case 6: - var m = e.name; - var params = e.params; - var v = Reflect.field(this.macros,m); - var pl = []; - var old = this.buf; - pl.push($bind(this,this.resolve)); - var _g_head = params.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var p = val; - if(p._hx_index == 0) { - var v1 = p.v; - pl.push(this.resolve(v1)); - } else { - this.buf = new StringBuf(); - this.run(p); - pl.push(this.buf.b); - } - } - this.buf = old; - try { - var _this = this.buf; - var x = Std.string(v.apply(this.macros,pl)); - _this.b += Std.string(x); - } catch( _g ) { - var e = haxe_Exception.caught(_g).unwrap(); - var plstr; - try { - plstr = pl.join(","); - } catch( _g1 ) { - plstr = "???"; - } - var msg = "Macro call " + m + "(" + plstr + ") failed (" + Std.string(e) + ")"; - throw haxe_Exception.thrown(msg); - } - break; - } - } -}; -var haxe_ValueException = function(value,previous,native) { - haxe_Exception.call(this,String(value),previous,native); - this.value = value; -}; -haxe_ValueException.__name__ = true; -haxe_ValueException.__super__ = haxe_Exception; -haxe_ValueException.prototype = $extend(haxe_Exception.prototype,{ - unwrap: function() { - return this.value; - } -}); -var haxe_ds_List = function() { - this.length = 0; -}; -haxe_ds_List.__name__ = true; -haxe_ds_List.prototype = { - add: function(item) { - var x = new haxe_ds__$List_ListNode(item,null); - if(this.h == null) { - this.h = x; - } else { - this.q.next = x; - } - this.q = x; - this.length++; - } - ,push: function(item) { - var x = new haxe_ds__$List_ListNode(item,this.h); - this.h = x; - if(this.q == null) { - this.q = x; - } - this.length++; - } - ,first: function() { - if(this.h == null) { - return null; - } else { - return this.h.item; - } - } - ,pop: function() { - if(this.h == null) { - return null; - } - var x = this.h.item; - this.h = this.h.next; - if(this.h == null) { - this.q = null; - } - this.length--; - return x; - } - ,isEmpty: function() { - return this.h == null; - } - ,toString: function() { - var s_b = ""; - var first = true; - var l = this.h; - s_b += "{"; - while(l != null) { - if(first) { - first = false; - } else { - s_b += ", "; - } - s_b += Std.string(Std.string(l.item)); - l = l.next; - } - s_b += "}"; - return s_b; - } -}; -var haxe_ds__$List_ListNode = function(item,next) { - this.item = item; - this.next = next; -}; -haxe_ds__$List_ListNode.__name__ = true; -var js_Boot = function() { }; -js_Boot.__name__ = true; -js_Boot.__string_rec = function(o,s) { - if(o == null) { - return "null"; - } - if(s.length >= 5) { - return "<...>"; - } - var t = typeof(o); - if(t == "function" && (o.__name__ || o.__ename__)) { - t = "object"; - } - switch(t) { - case "function": - return ""; - case "object": - if(o.__enum__) { - var e = $hxEnums[o.__enum__]; - var con = e.__constructs__[o._hx_index]; - var n = con._hx_name; - if(con.__params__) { - s = s + "\t"; - return n + "(" + ((function($this) { - var $r; - var _g = []; - { - var _g1 = 0; - var _g2 = con.__params__; - while(true) { - if(!(_g1 < _g2.length)) { - break; - } - var p = _g2[_g1]; - _g1 = _g1 + 1; - _g.push(js_Boot.__string_rec(o[p],s)); - } - } - $r = _g; - return $r; - }(this))).join(",") + ")"; - } else { - return n; - } - } - if(((o) instanceof Array)) { - var str = "["; - s += "\t"; - var _g = 0; - var _g1 = o.length; - while(_g < _g1) { - var i = _g++; - str += (i > 0 ? "," : "") + js_Boot.__string_rec(o[i],s); - } - str += "]"; - return str; - } - var tostr; - try { - tostr = o.toString; - } catch( _g ) { - return "???"; - } - if(tostr != null && tostr != Object.toString && typeof(tostr) == "function") { - var s2 = o.toString(); - if(s2 != "[object Object]") { - return s2; - } - } - var str = "{\n"; - s += "\t"; - var hasp = o.hasOwnProperty != null; - var k = null; - for( k in o ) { - if(hasp && !o.hasOwnProperty(k)) { - continue; - } - if(k == "prototype" || k == "__class__" || k == "__super__" || k == "__interfaces__" || k == "__properties__") { - continue; - } - if(str.length != 2) { - str += ", \n"; - } - str += s + k + " : " + js_Boot.__string_rec(o[k],s); - } - s = s.substring(1); - str += "\n" + s + "}"; - return str; - case "string": - return o; - default: - return String(o); - } -}; -var xrfragment_Filter = $hx_exports["xrfragment"]["Filter"] = function(str) { - this.q = { }; - this.str = ""; - if(str != null) { - this.parse(str); - } -}; -xrfragment_Filter.__name__ = true; -xrfragment_Filter.prototype = { - toObject: function() { - return Reflect.copy(this.q); - } - ,get: function() { - return Reflect.copy(this.q); - } - ,parse: function(str) { - var token = str.split(" "); - var q = { }; - var process = function(str,prefix) { - if(prefix == null) { - prefix = ""; - } - str = StringTools.trim(str); - var k = str.split("=")[0]; - var v = str.split("=")[1]; - var filter = { }; - if(q[prefix + k]) { - filter = q[prefix + k]; - } - if(xrfragment_XRF.isProp.match(str)) { - var oper = ""; - if(str.indexOf(">") != -1) { - oper = ">"; - } - if(str.indexOf("<") != -1) { - oper = "<"; - } - if(xrfragment_XRF.isExclude.match(k)) { - k = HxOverrides.substr(k,1,null); - } - v = HxOverrides.substr(v,oper.length,null); - if(oper.length == 0) { - oper = "="; - } - var rule = { }; - if(xrfragment_XRF.isNumber.match(v)) { - rule[oper] = parseFloat(v); - } else { - rule[oper] = v; - } - q["expr"] = rule; - } - var value = xrfragment_XRF.isDeep.match(str) ? k.split("*").length - 1 : 0; - q["deep"] = value; - var value = xrfragment_XRF.isExclude.match(str) ? false : true; - q["show"] = value; - var value = k.replace(xrfragment_XRF.operators.r,""); - q["key"] = value; - q["value"] = v; - }; - var _g = 0; - var _g1 = token.length; - while(_g < _g1) { - var i = _g++; - process(token[i]); - } - return this.q = q; - } - ,test: function(obj) { - var qualify = false; - var _g = 0; - var _g1 = Reflect.fields(obj); - while(_g < _g1.length) { - var k = _g1[_g]; - ++_g; - var v = Std.string(Reflect.field(obj,k)); - if(this.testProperty(k,v)) { - qualify = true; - } - } - var _g = 0; - var _g1 = Reflect.fields(obj); - while(_g < _g1.length) { - var k = _g1[_g]; - ++_g; - var v = Std.string(Reflect.field(obj,k)); - if(this.testProperty(k,v,true)) { - qualify = false; - } - } - return qualify; - } - ,testProperty: function(property,value,exclude) { - var conds = 0; - var fails = 0; - var qualify = 0; - var testprop = function(expr) { - conds += 1; - fails += expr ? 0 : 1; - return expr; - }; - if(this.q[value] != null) { - var v = this.q[value]; - if(v[property] != null) { - return v[property]; - } - } - if(Reflect.field(this.q,"expr")) { - var f = Reflect.field(this.q,"expr"); - if(!Reflect.field(this.q,"show")) { - if(Reflect.field(f,"!=") != null && testprop((value == null ? "null" : "" + value) == Std.string(Reflect.field(f,"!="))) && exclude) { - ++qualify; - } - } else { - if(Reflect.field(f,"*") != null && testprop(parseFloat(value) != null)) { - ++qualify; - } - if(Reflect.field(f,">") != null && testprop(parseFloat(value) >= parseFloat(Reflect.field(f,">")))) { - ++qualify; - } - if(Reflect.field(f,"<") != null && testprop(parseFloat(value) <= parseFloat(Reflect.field(f,"<")))) { - ++qualify; - } - if(Reflect.field(f,"=") != null && (testprop(value == Reflect.field(f,"=")) || testprop(parseFloat(value) == parseFloat(Reflect.field(f,"="))))) { - ++qualify; - } - } - } - return qualify > 0; - } -}; -var xrfragment_Parser = $hx_exports["xrfragment"]["Parser"] = function() { }; -xrfragment_Parser.__name__ = true; -xrfragment_Parser.parse = function(key,value,store,index) { - var Frag_h = Object.create(null); - Frag_h["#"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_PREDEFINED_VIEW | xrfragment_XRF.PV_EXECUTE; - Frag_h["src"] = xrfragment_XRF.T_URL; - Frag_h["href"] = xrfragment_XRF.T_URL | xrfragment_XRF.T_PREDEFINED_VIEW; - Frag_h["tag"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["pos"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_VECTOR3 | xrfragment_XRF.T_STRING | xrfragment_XRF.METADATA | xrfragment_XRF.NAVIGATOR; - Frag_h["rot"] = xrfragment_XRF.QUERY_OPERATOR | xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_VECTOR3 | xrfragment_XRF.METADATA | xrfragment_XRF.NAVIGATOR; - Frag_h["t"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_FLOAT | xrfragment_XRF.T_VECTOR2 | xrfragment_XRF.NAVIGATOR | xrfragment_XRF.METADATA; - Frag_h["s"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_MEDIAFRAG; - Frag_h["loop"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_PREDEFINED_VIEW; - Frag_h["uv"] = xrfragment_XRF.T_VECTOR2 | xrfragment_XRF.T_MEDIAFRAG; - Frag_h["namespace"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["SPDX"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["unit"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["description"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - var keyStripped = key.replace(xrfragment_XRF.operators.r,""); - var isPVDynamic = key.length > 0 && !Object.prototype.hasOwnProperty.call(Frag_h,key); - if(isPVDynamic) { - var v = new xrfragment_XRF(key,xrfragment_XRF.PV_EXECUTE | xrfragment_XRF.NAVIGATOR,index); - v.validate(value); - v.flags = xrfragment_XRF.set(xrfragment_XRF.T_DYNAMICKEY,v.flags); - if(!Object.prototype.hasOwnProperty.call(Frag_h,key)) { - v.flags = xrfragment_XRF.set(xrfragment_XRF.CUSTOMFRAG,v.flags); - } - if(value.length == 0) { - v.flags = xrfragment_XRF.set(xrfragment_XRF.T_DYNAMICKEYVALUE,v.flags); - } - store[keyStripped] = v; - return true; - } - var v = new xrfragment_XRF(key,Frag_h[key],index); - if(Object.prototype.hasOwnProperty.call(Frag_h,key)) { - if(!v.validate(value)) { - console.log("src/xrfragment/Parser.hx:67:","⚠ fragment '" + key + "' has incompatible value (" + value + ")"); - return false; - } - store[keyStripped] = v; - if(xrfragment_Parser.debug) { - console.log("src/xrfragment/Parser.hx:71:","✔ " + key + ": " + v.string); - } - } else { - if(typeof(value) == "string") { - v.guessType(v,value); - } - v.flags = xrfragment_XRF.set(xrfragment_XRF.CUSTOMFRAG,v.flags); - store[keyStripped] = v; - } - return true; -}; -xrfragment_Parser.getMetaData = function() { - var meta = { title : ["title","og:title","dc.title"], description : ["aria-description","og:description","dc.description"], author : ["author","dc.creator"], publisher : ["publisher","dc.publisher"], website : ["og:site_name","og:url","dc.publisher"], license : ["SPDX","dc.rights"]}; - return meta; -}; -var xrfragment_URI = $hx_exports["xrfragment"]["URI"] = function() { - this.XRF = { }; - this.hash = { }; - this.fragment = ""; -}; -xrfragment_URI.__name__ = true; -xrfragment_URI.parseFragment = function(url,filter) { - var store = { }; - if(url == null || url.indexOf("#") == -1) { - return store; - } - var fragment = url.split("#"); - var splitArray = fragment[1].split("&"); - var _g = 0; - var _g1 = splitArray.length; - while(_g < _g1) { - var i = _g++; - var splitByEqual = splitArray[i].split("="); - var regexPlus = new EReg("\\+","g"); - var key = splitByEqual[0]; - var value = ""; - if(splitByEqual.length > 1) { - if(xrfragment_XRF.isVector.match(splitByEqual[1])) { - value = splitByEqual[1]; - } else { - var s = regexPlus.split(splitByEqual[1]).join(" "); - value = decodeURIComponent(s.split("+").join(" ")); - } - } - var ok = xrfragment_Parser.parse(key,value,store,i); - } - if(filter != null && filter != 0) { - var _g = 0; - var _g1 = Reflect.fields(store); - while(_g < _g1.length) { - var key = _g1[_g]; - ++_g; - var xrf = store[key]; - if(!xrf.is(filter)) { - Reflect.deleteField(store,key); - } - } - } - return store; -}; -xrfragment_URI.template = function(uri,vars) { - var parts = uri.split("#"); - if(parts.length == 1) { - return uri; - } - var frag = parts[1]; - frag = StringTools.replace(frag,"{","::"); - frag = StringTools.replace(frag,"}","::"); - frag = new haxe_Template(frag).execute(vars); - frag = StringTools.replace(frag,"null",""); - parts[1] = frag; - return parts.join("#"); -}; -xrfragment_URI.parse = function(stringUrl,flags) { - var r = new EReg("^(?:(?![^:@]+:[^:@/]*@)([^:/?#.]+):)?(?://)?((?:(([^:@]*)(?::([^:@]*))?)?@)?([^:/?#]*)(?::(\\d*))?)(((/(?:[^?#](?![^?#/]*\\.[^?#/.]+(?:[?#]|$)))*/?)?([^?#/]*))(?:\\?([^#]*))?(?:#(.*))?)",""); - if(stringUrl.indexOf("://") == -1 && stringUrl.charAt(0) != "/") { - stringUrl = "/" + stringUrl; - } - r.match(stringUrl); - var url = new xrfragment_URI(); - var _g = 0; - var _g1 = xrfragment_URI._parts.length; - while(_g < _g1) { - var i = _g++; - url[xrfragment_URI._parts[i]] = r.matched(i); - } - if(xrfragment_URI.isRelative(url) == true) { - if(url.directory == null && url.host != null) { - url.file = url.host; - } - url.host = ""; - } - url.hash = { }; - if(url.fragment != null && url.fragment.length > 0) { - url.XRF = xrfragment_URI.parseFragment("#" + url.fragment,flags); - var key; - var _g = 0; - var _g1 = Reflect.fields(url.XRF); - while(_g < _g1.length) { - var key = _g1[_g]; - ++_g; - var v = url.XRF[key]; - url.hash[key] = v["string"]; - } - } - xrfragment_URI.computeVars(url); - return url; -}; -xrfragment_URI.computeVars = function(url) { - var r_r = new RegExp("//","g".split("u").join("")); - if(url.directory != null && url.directory.indexOf("//") != -1) { - url.directory = url.directory.replace(r_r,"/"); - } - if(url.path != null && url.path.indexOf("//") != -1) { - url.path = url.path.replace(r_r,"/"); - } - if(url.file != null && url.file.indexOf("//") != -1) { - url.file = url.file.replace(r_r,"/"); - } - url.URN = url.scheme + "://" + url.host; - if(url.port != null) { - url.URN += ":" + url.port; - } - url.URN += url.directory; - if(url.file != null) { - var parts = url.file.split("."); - if(parts.length > 1) { - url.fileExt = parts.pop(); - } - } -}; -xrfragment_URI.toString = function(url) { - var result = ""; - if(url.scheme != null) { - result += url.scheme + "://"; - } - if(url.user != null) { - result += url.user + ":"; - } - if(url.password != null) { - result += url.password + "@"; - } - if(url.host != null) { - result += url.host; - } - if(url.port != null) { - result += ":" + url.port; - } - if(url.directory != null) { - result += url.directory; - } - if(url.file != null) { - result += url.file; - } - if(url.query != null) { - result += "?" + url.query; - } - if(url.fragment != null) { - result += "#" + url.fragment; - } - return result; -}; -xrfragment_URI.appendURI = function(url,appendedURI) { - if(xrfragment_URI.isRelative(url) == true) { - return xrfragment_URI.appendToRelativeURI(url,appendedURI); - } else { - return xrfragment_URI.appendToAbsoluteURI(url,appendedURI); - } -}; -xrfragment_URI.isRelative = function(url) { - return url.scheme == null; -}; -xrfragment_URI.appendToRelativeURI = function(url,appendedURI) { - if(url.directory == null || url.host == null) { - return xrfragment_URI.cloneURI(appendedURI); - } - var resultURI = new xrfragment_URI(); - resultURI.host = url.host; - resultURI.directory = url.directory; - if(appendedURI.host != null) { - resultURI.directory += appendedURI.host; - } - if(appendedURI.directory != null) { - var directory = appendedURI.directory; - if(appendedURI.host == null) { - resultURI.directory += HxOverrides.substr(directory,1,null); - } else { - resultURI.directory += directory; - } - } - if(appendedURI.file != null) { - resultURI.file = appendedURI.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(appendedURI.query != null) { - resultURI.query = appendedURI.query; - } - if(appendedURI.fragment != null) { - resultURI.fragment = appendedURI.fragment; - } - return resultURI; -}; -xrfragment_URI.appendToAbsoluteURI = function(url,appendedURI) { - var resultURI = new xrfragment_URI(); - if(url.scheme != null) { - resultURI.scheme = url.scheme; - } - if(url.host != null) { - resultURI.host = url.host; - } - var directory = ""; - if(url.directory != null) { - directory = url.directory; - } - if(appendedURI.host != null) { - appendedURI.directory += appendedURI.host; - } - if(appendedURI.directory != null) { - directory += appendedURI.directory; - } - resultURI.directory = directory; - if(appendedURI.file != null) { - resultURI.file = appendedURI.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(appendedURI.query != null) { - resultURI.query = appendedURI.query; - } - if(appendedURI.fragment != null) { - resultURI.fragment = appendedURI.fragment; - } - return resultURI; -}; -xrfragment_URI.toAbsolute = function(url,newUrl) { - var newURI = xrfragment_URI.parse(newUrl,0); - var resultURI = new xrfragment_URI(); - resultURI.port = url.port; - resultURI.source = newUrl; - if(newURI.scheme != null) { - resultURI.scheme = newURI.scheme; - } else { - resultURI.scheme = url.scheme; - } - if(newURI.host != null && newURI.host.length > 0) { - resultURI.host = newURI.host; - resultURI.port = null; - resultURI.fragment = null; - resultURI.hash = { }; - resultURI.XRF = { }; - if(newURI.port != null) { - resultURI.port = newURI.port; - } - } else { - resultURI.host = url.host; - } - var directory = ""; - if(url.directory != null) { - directory = url.directory; - } - if(newURI.directory != null) { - if(newUrl.charAt(0) != "/" && newUrl.indexOf("://") == -1) { - var stripRelative_r = new RegExp("\\./.*","".split("u").join("")); - directory = directory.replace(stripRelative_r,""); - directory += newURI.directory; - } else { - directory = newURI.directory; - } - } - resultURI.directory = directory; - if(newURI.file != null) { - resultURI.file = newURI.file; - } else { - resultURI.file = url.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(newURI.query != null) { - resultURI.query = newURI.query; - } - if(newURI.fragment != null) { - resultURI.fragment = newURI.fragment; - } - resultURI.hash = newURI.hash; - resultURI.XRF = newURI.XRF; - xrfragment_URI.computeVars(resultURI); - return resultURI; -}; -xrfragment_URI.cloneURI = function(url) { - var clonedURI = new xrfragment_URI(); - clonedURI.url = url.url; - clonedURI.source = url.source; - clonedURI.scheme = url.scheme; - clonedURI.authority = url.authority; - clonedURI.userInfo = url.userInfo; - clonedURI.password = url.password; - clonedURI.host = url.host; - clonedURI.port = url.port; - clonedURI.relative = url.relative; - clonedURI.path = url.path; - clonedURI.directory = url.directory; - clonedURI.file = url.file; - clonedURI.query = url.query; - clonedURI.fragment = url.fragment; - return clonedURI; -}; -var xrfragment_XRF = $hx_exports["xrfragment"]["XRF"] = function(_fragment,_flags,_index) { - this.floats = []; - this.shift = []; - this.fragment = _fragment; - this.flags = _flags; - this.index = _index; -}; -xrfragment_XRF.__name__ = true; -xrfragment_XRF.set = function(flag,flags) { - return flags | flag; -}; -xrfragment_XRF.unset = function(flag,flags) { - return flags & ~flag; -}; -xrfragment_XRF.prototype = { - is: function(flag) { - var v = this.flags; - if(!(typeof(v) == "number" && ((v | 0) === v))) { - this.flags = 0; - } - return (this.flags & flag) != 0; - } - ,validate: function(value) { - this.guessType(this,value); - var ok = true; - if(value.length == 0 && !this.is(xrfragment_XRF.T_PREDEFINED_VIEW)) { - ok = false; - } - if(!this.is(xrfragment_XRF.T_FLOAT) && this.is(xrfragment_XRF.T_VECTOR2) && !(typeof(this.x) == "number" && typeof(this.y) == "number")) { - ok = false; - } - if(!(this.is(xrfragment_XRF.T_VECTOR2) || this.is(xrfragment_XRF.T_STRING)) && this.is(xrfragment_XRF.T_VECTOR3) && !(typeof(this.x) == "number" && typeof(this.y) == "number" && typeof(this.z) == "number")) { - ok = false; - } - return ok; - } - ,guessType: function(v,str) { - v.string = str; - if(xrfragment_XRF.isReset.match(v.fragment)) { - v.reset = true; - } - if(v.fragment == "loop") { - v.loop = true; - } - if(typeof(str) != "string") { - return; - } - if(str.length > 0) { - if(xrfragment_XRF.isXRFScheme.match(str)) { - v.xrfScheme = true; - str = str.replace(xrfragment_XRF.isXRFScheme.r,""); - v.string = str; - } - if(str.split(",").length > 1) { - var xyzn = str.split(","); - if(xyzn.length > 0) { - v.x = parseFloat(xyzn[0]); - } - if(xyzn.length > 1) { - v.y = parseFloat(xyzn[1]); - } - if(xyzn.length > 2) { - v.z = parseFloat(xyzn[2]); - } - var _g = 0; - var _g1 = xyzn.length; - while(_g < _g1) { - var i = _g++; - v.shift.push(xrfragment_XRF.isShift.match(xyzn[i])); - v.floats.push(parseFloat(xyzn[i].replace(xrfragment_XRF.isShift.r,""))); - } - } - if(xrfragment_XRF.isColor.match(str)) { - v.color = str; - } - if(xrfragment_XRF.isFloat.match(str)) { - v.x = parseFloat(str); - v.float = v.x; - } - if(xrfragment_XRF.isInt.match(str)) { - v.int = Std.parseInt(str); - v.x = v.int; - v.floats.push(v.x); - } - v.filter = new xrfragment_Filter(v.fragment + "=" + v.string); - } else { - v.filter = new xrfragment_Filter(v.fragment); - } - } -}; -function $getIterator(o) { if( o instanceof Array ) return new haxe_iterators_ArrayIterator(o); else return o.iterator(); } -function $bind(o,m) { if( m == null ) return null; if( m.__id__ == null ) m.__id__ = $global.$haxeUID++; var f; if( o.hx__closures__ == null ) o.hx__closures__ = {}; else f = o.hx__closures__[m.__id__]; if( f == null ) { f = m.bind(o); o.hx__closures__[m.__id__] = f; } return f; } -$global.$haxeUID |= 0; -if(typeof(performance) != "undefined" ? typeof(performance.now) == "function" : false) { - HxOverrides.now = performance.now.bind(performance); -} -if( String.fromCodePoint == null ) String.fromCodePoint = function(c) { return c < 0x10000 ? String.fromCharCode(c) : String.fromCharCode((c>>10)+0xD7C0)+String.fromCharCode((c&0x3FF)+0xDC00); } -String.__name__ = true; -Array.__name__ = true; -js_Boot.__toStr = ({ }).toString; -haxe_Template.splitter = new EReg("(::[A-Za-z0-9_ ()&|!+=/><*.\"-]+::|\\$\\$([A-Za-z0-9_-]+)\\()",""); -haxe_Template.expr_splitter = new EReg("(\\(|\\)|[ \r\n\t]*\"[^\"]*\"[ \r\n\t]*|[!+=/><*.&|-]+)",""); -haxe_Template.expr_trim = new EReg("^[ ]*([^ ]+)[ ]*$",""); -haxe_Template.expr_int = new EReg("^[0-9]+$",""); -haxe_Template.expr_float = new EReg("^([+-]?)(?=\\d|,\\d)\\d*(,\\d*)?([Ee]([+-]?\\d+))?$",""); -haxe_Template.globals = { }; -haxe_Template.hxKeepArrayIterator = new haxe_iterators_ArrayIterator([]); -xrfragment_Parser.error = ""; -xrfragment_Parser.debug = false; -xrfragment_URI.__meta__ = { statics : { template : { keep : null}}}; -xrfragment_URI._parts = ["source","scheme","authority","userInfo","user","password","host","port","relative","path","directory","file","query","fragment"]; -xrfragment_XRF.IMMUTABLE = 1; -xrfragment_XRF.PROP_BIND = 2; -xrfragment_XRF.QUERY_OPERATOR = 4; -xrfragment_XRF.PROMPT = 8; -xrfragment_XRF.CUSTOMFRAG = 16; -xrfragment_XRF.NAVIGATOR = 32; -xrfragment_XRF.METADATA = 64; -xrfragment_XRF.PV_OVERRIDE = 128; -xrfragment_XRF.PV_EXECUTE = 256; -xrfragment_XRF.T_COLOR = 8192; -xrfragment_XRF.T_INT = 16384; -xrfragment_XRF.T_FLOAT = 32768; -xrfragment_XRF.T_VECTOR2 = 65536; -xrfragment_XRF.T_VECTOR3 = 131072; -xrfragment_XRF.T_URL = 262144; -xrfragment_XRF.T_PREDEFINED_VIEW = 524288; -xrfragment_XRF.T_STRING = 1048576; -xrfragment_XRF.T_MEDIAFRAG = 2097152; -xrfragment_XRF.T_DYNAMICKEY = 4194304; -xrfragment_XRF.T_DYNAMICKEYVALUE = 8388608; -xrfragment_XRF.isColor = new EReg("^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$",""); -xrfragment_XRF.isInt = new EReg("^[-0-9]+$",""); -xrfragment_XRF.isFloat = new EReg("^[-0-9]+\\.[0-9]+$",""); -xrfragment_XRF.isVector = new EReg("([,]+|\\w)",""); -xrfragment_XRF.isUrl = new EReg("(://)?\\..*",""); -xrfragment_XRF.isUrlOrPretypedView = new EReg("(^#|://)?\\..*",""); -xrfragment_XRF.isString = new EReg(".*",""); -xrfragment_XRF.operators = new EReg("(^[-]|^[!]|[\\*]$)","g"); -xrfragment_XRF.isProp = new EReg("^.*=[><=]?",""); -xrfragment_XRF.isExclude = new EReg("^-",""); -xrfragment_XRF.isDeep = new EReg("\\*",""); -xrfragment_XRF.isNumber = new EReg("^[0-9\\.]+$",""); -xrfragment_XRF.isMediaFrag = new EReg("^([0-9\\.,\\*+-]+)$",""); -xrfragment_XRF.isReset = new EReg("^!",""); -xrfragment_XRF.isShift = new EReg("^(\\+|--)",""); -xrfragment_XRF.isXRFScheme = new EReg("^xrf://",""); -})(typeof window != "undefined" ? window : typeof global != "undefined" ? global : typeof self != "undefined" ? self : this); -var xrfragment = $hx_exports["xrfragment"]; -export default xrfragment; -// Generated by Haxe 4.3.3 -var $hx_exports = typeof exports != "undefined" ? exports : typeof window != "undefined" ? window : typeof self != "undefined" ? self : this; -(function ($global) { "use strict"; -$hx_exports["xrfragment"] = $hx_exports["xrfragment"] || {}; -var $estr = function() { return js_Boot.__string_rec(this,''); },$hxEnums = $hxEnums || {},$_; -function $extend(from, fields) { - var proto = Object.create(from); - for (var name in fields) proto[name] = fields[name]; - if( fields.toString !== Object.prototype.toString ) proto.toString = fields.toString; - return proto; -} -var EReg = function(r,opt) { - this.r = new RegExp(r,opt.split("u").join("")); -}; -EReg.__name__ = true; -EReg.prototype = { - match: function(s) { - if(this.r.global) { - this.r.lastIndex = 0; - } - this.r.m = this.r.exec(s); - this.r.s = s; - return this.r.m != null; - } - ,matched: function(n) { - if(this.r.m != null && n >= 0 && n < this.r.m.length) { - return this.r.m[n]; - } else { - throw haxe_Exception.thrown("EReg::matched"); - } - } - ,matchedRight: function() { - if(this.r.m == null) { - throw haxe_Exception.thrown("No string matched"); - } - var sz = this.r.m.index + this.r.m[0].length; - return HxOverrides.substr(this.r.s,sz,this.r.s.length - sz); - } - ,matchedPos: function() { - if(this.r.m == null) { - throw haxe_Exception.thrown("No string matched"); - } - return { pos : this.r.m.index, len : this.r.m[0].length}; - } - ,split: function(s) { - var d = "#__delim__#"; - return s.replace(this.r,d).split(d); - } -}; -var HxOverrides = function() { }; -HxOverrides.__name__ = true; -HxOverrides.cca = function(s,index) { - var x = s.charCodeAt(index); - if(x != x) { - return undefined; - } - return x; -}; -HxOverrides.substr = function(s,pos,len) { - if(len == null) { - len = s.length; - } else if(len < 0) { - if(pos == 0) { - len = s.length + len; - } else { - return ""; - } - } - return s.substr(pos,len); -}; -HxOverrides.now = function() { - return Date.now(); -}; -Math.__name__ = true; -var Reflect = function() { }; -Reflect.__name__ = true; -Reflect.field = function(o,field) { - try { - return o[field]; - } catch( _g ) { - return null; - } -}; -Reflect.getProperty = function(o,field) { - var tmp; - if(o == null) { - return null; - } else { - var tmp1; - if(o.__properties__) { - tmp = o.__properties__["get_" + field]; - tmp1 = tmp; - } else { - tmp1 = false; - } - if(tmp1) { - return o[tmp](); - } else { - return o[field]; - } - } -}; -Reflect.fields = function(o) { - var a = []; - if(o != null) { - var hasOwnProperty = Object.prototype.hasOwnProperty; - for( var f in o ) { - if(f != "__id__" && f != "hx__closures__" && hasOwnProperty.call(o,f)) { - a.push(f); - } - } - } - return a; -}; -Reflect.isObject = function(v) { - if(v == null) { - return false; - } - var t = typeof(v); - if(!(t == "string" || t == "object" && v.__enum__ == null)) { - if(t == "function") { - return (v.__name__ || v.__ename__) != null; - } else { - return false; - } - } else { - return true; - } -}; -Reflect.deleteField = function(o,field) { - if(!Object.prototype.hasOwnProperty.call(o,field)) { - return false; - } - delete(o[field]); - return true; -}; -Reflect.copy = function(o) { - if(o == null) { - return null; - } - var o2 = { }; - var _g = 0; - var _g1 = Reflect.fields(o); - while(_g < _g1.length) { - var f = _g1[_g]; - ++_g; - o2[f] = Reflect.field(o,f); - } - return o2; -}; -var Std = function() { }; -Std.__name__ = true; -Std.string = function(s) { - return js_Boot.__string_rec(s,""); -}; -Std.parseInt = function(x) { - var v = parseInt(x); - if(isNaN(v)) { - return null; - } - return v; -}; -var StringBuf = function() { - this.b = ""; -}; -StringBuf.__name__ = true; -var StringTools = function() { }; -StringTools.__name__ = true; -StringTools.isSpace = function(s,pos) { - var c = HxOverrides.cca(s,pos); - if(!(c > 8 && c < 14)) { - return c == 32; - } else { - return true; - } -}; -StringTools.ltrim = function(s) { - var l = s.length; - var r = 0; - while(r < l && StringTools.isSpace(s,r)) ++r; - if(r > 0) { - return HxOverrides.substr(s,r,l - r); - } else { - return s; - } -}; -StringTools.rtrim = function(s) { - var l = s.length; - var r = 0; - while(r < l && StringTools.isSpace(s,l - r - 1)) ++r; - if(r > 0) { - return HxOverrides.substr(s,0,l - r); - } else { - return s; - } -}; -StringTools.trim = function(s) { - return StringTools.ltrim(StringTools.rtrim(s)); -}; -StringTools.replace = function(s,sub,by) { - return s.split(sub).join(by); -}; -var haxe_Exception = function(message,previous,native) { - Error.call(this,message); - this.message = message; - this.__previousException = previous; - this.__nativeException = native != null ? native : this; -}; -haxe_Exception.__name__ = true; -haxe_Exception.caught = function(value) { - if(((value) instanceof haxe_Exception)) { - return value; - } else if(((value) instanceof Error)) { - return new haxe_Exception(value.message,null,value); - } else { - return new haxe_ValueException(value,null,value); - } -}; -haxe_Exception.thrown = function(value) { - if(((value) instanceof haxe_Exception)) { - return value.get_native(); - } else if(((value) instanceof Error)) { - return value; - } else { - var e = new haxe_ValueException(value); - return e; - } -}; -haxe_Exception.__super__ = Error; -haxe_Exception.prototype = $extend(Error.prototype,{ - unwrap: function() { - return this.__nativeException; - } - ,get_native: function() { - return this.__nativeException; - } - ,__properties__: {get_native:"get_native"} -}); -var haxe__$Template_TemplateExpr = $hxEnums["haxe._Template.TemplateExpr"] = { __ename__:true,__constructs__:null - ,OpVar: ($_=function(v) { return {_hx_index:0,v:v,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpVar",$_.__params__ = ["v"],$_) - ,OpExpr: ($_=function(expr) { return {_hx_index:1,expr:expr,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpExpr",$_.__params__ = ["expr"],$_) - ,OpIf: ($_=function(expr,eif,eelse) { return {_hx_index:2,expr:expr,eif:eif,eelse:eelse,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpIf",$_.__params__ = ["expr","eif","eelse"],$_) - ,OpStr: ($_=function(str) { return {_hx_index:3,str:str,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpStr",$_.__params__ = ["str"],$_) - ,OpBlock: ($_=function(l) { return {_hx_index:4,l:l,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpBlock",$_.__params__ = ["l"],$_) - ,OpForeach: ($_=function(expr,loop) { return {_hx_index:5,expr:expr,loop:loop,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpForeach",$_.__params__ = ["expr","loop"],$_) - ,OpMacro: ($_=function(name,params) { return {_hx_index:6,name:name,params:params,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpMacro",$_.__params__ = ["name","params"],$_) -}; -haxe__$Template_TemplateExpr.__constructs__ = [haxe__$Template_TemplateExpr.OpVar,haxe__$Template_TemplateExpr.OpExpr,haxe__$Template_TemplateExpr.OpIf,haxe__$Template_TemplateExpr.OpStr,haxe__$Template_TemplateExpr.OpBlock,haxe__$Template_TemplateExpr.OpForeach,haxe__$Template_TemplateExpr.OpMacro]; -var haxe_iterators_ArrayIterator = function(array) { - this.current = 0; - this.array = array; -}; -haxe_iterators_ArrayIterator.__name__ = true; -haxe_iterators_ArrayIterator.prototype = { - hasNext: function() { - return this.current < this.array.length; - } - ,next: function() { - return this.array[this.current++]; - } -}; -var haxe_Template = function(str) { - var tokens = this.parseTokens(str); - this.expr = this.parseBlock(tokens); - if(!tokens.isEmpty()) { - throw haxe_Exception.thrown("Unexpected '" + Std.string(tokens.first().s) + "'"); - } -}; -haxe_Template.__name__ = true; -haxe_Template.prototype = { - execute: function(context,macros) { - this.macros = macros == null ? { } : macros; - this.context = context; - this.stack = new haxe_ds_List(); - this.buf = new StringBuf(); - this.run(this.expr); - return this.buf.b; - } - ,resolve: function(v) { - if(v == "__current__") { - return this.context; - } - if(Reflect.isObject(this.context)) { - var value = Reflect.getProperty(this.context,v); - if(value != null || Object.prototype.hasOwnProperty.call(this.context,v)) { - return value; - } - } - var _g_head = this.stack.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var ctx = val; - var value = Reflect.getProperty(ctx,v); - if(value != null || Object.prototype.hasOwnProperty.call(ctx,v)) { - return value; - } - } - return Reflect.field(haxe_Template.globals,v); - } - ,parseTokens: function(data) { - var tokens = new haxe_ds_List(); - while(haxe_Template.splitter.match(data)) { - var p = haxe_Template.splitter.matchedPos(); - if(p.pos > 0) { - tokens.add({ p : HxOverrides.substr(data,0,p.pos), s : true, l : null}); - } - if(HxOverrides.cca(data,p.pos) == 58) { - tokens.add({ p : HxOverrides.substr(data,p.pos + 2,p.len - 4), s : false, l : null}); - data = haxe_Template.splitter.matchedRight(); - continue; - } - var parp = p.pos + p.len; - var npar = 1; - var params = []; - var part = ""; - while(true) { - var c = HxOverrides.cca(data,parp); - ++parp; - if(c == 40) { - ++npar; - } else if(c == 41) { - --npar; - if(npar <= 0) { - break; - } - } else if(c == null) { - throw haxe_Exception.thrown("Unclosed macro parenthesis"); - } - if(c == 44 && npar == 1) { - params.push(part); - part = ""; - } else { - part += String.fromCodePoint(c); - } - } - params.push(part); - tokens.add({ p : haxe_Template.splitter.matched(2), s : false, l : params}); - data = HxOverrides.substr(data,parp,data.length - parp); - } - if(data.length > 0) { - tokens.add({ p : data, s : true, l : null}); - } - return tokens; - } - ,parseBlock: function(tokens) { - var l = new haxe_ds_List(); - while(true) { - var t = tokens.first(); - if(t == null) { - break; - } - if(!t.s && (t.p == "end" || t.p == "else" || HxOverrides.substr(t.p,0,7) == "elseif ")) { - break; - } - l.add(this.parse(tokens)); - } - if(l.length == 1) { - return l.first(); - } - return haxe__$Template_TemplateExpr.OpBlock(l); - } - ,parse: function(tokens) { - var t = tokens.pop(); - var p = t.p; - if(t.s) { - return haxe__$Template_TemplateExpr.OpStr(p); - } - if(t.l != null) { - var pe = new haxe_ds_List(); - var _g = 0; - var _g1 = t.l; - while(_g < _g1.length) { - var p1 = _g1[_g]; - ++_g; - pe.add(this.parseBlock(this.parseTokens(p1))); - } - return haxe__$Template_TemplateExpr.OpMacro(p,pe); - } - var kwdEnd = function(kwd) { - var pos = -1; - var length = kwd.length; - if(HxOverrides.substr(p,0,length) == kwd) { - pos = length; - var _g_offset = 0; - var _g_s = HxOverrides.substr(p,length,null); - while(_g_offset < _g_s.length) { - var c = _g_s.charCodeAt(_g_offset++); - if(c == 32) { - ++pos; - } else { - break; - } - } - } - return pos; - }; - var pos = kwdEnd("if"); - if(pos > 0) { - p = HxOverrides.substr(p,pos,p.length - pos); - var e = this.parseExpr(p); - var eif = this.parseBlock(tokens); - var t = tokens.first(); - var eelse; - if(t == null) { - throw haxe_Exception.thrown("Unclosed 'if'"); - } - if(t.p == "end") { - tokens.pop(); - eelse = null; - } else if(t.p == "else") { - tokens.pop(); - eelse = this.parseBlock(tokens); - t = tokens.pop(); - if(t == null || t.p != "end") { - throw haxe_Exception.thrown("Unclosed 'else'"); - } - } else { - t.p = HxOverrides.substr(t.p,4,t.p.length - 4); - eelse = this.parse(tokens); - } - return haxe__$Template_TemplateExpr.OpIf(e,eif,eelse); - } - var pos = kwdEnd("foreach"); - if(pos >= 0) { - p = HxOverrides.substr(p,pos,p.length - pos); - var e = this.parseExpr(p); - var efor = this.parseBlock(tokens); - var t = tokens.pop(); - if(t == null || t.p != "end") { - throw haxe_Exception.thrown("Unclosed 'foreach'"); - } - return haxe__$Template_TemplateExpr.OpForeach(e,efor); - } - if(haxe_Template.expr_splitter.match(p)) { - return haxe__$Template_TemplateExpr.OpExpr(this.parseExpr(p)); - } - return haxe__$Template_TemplateExpr.OpVar(p); - } - ,parseExpr: function(data) { - var l = new haxe_ds_List(); - var expr = data; - while(haxe_Template.expr_splitter.match(data)) { - var p = haxe_Template.expr_splitter.matchedPos(); - var k = p.pos + p.len; - if(p.pos != 0) { - l.add({ p : HxOverrides.substr(data,0,p.pos), s : true}); - } - var p1 = haxe_Template.expr_splitter.matched(0); - l.add({ p : p1, s : p1.indexOf("\"") >= 0}); - data = haxe_Template.expr_splitter.matchedRight(); - } - if(data.length != 0) { - var _g_offset = 0; - var _g_s = data; - while(_g_offset < _g_s.length) { - var _g_key = _g_offset; - var _g_value = _g_s.charCodeAt(_g_offset++); - var i = _g_key; - var c = _g_value; - if(c != 32) { - l.add({ p : HxOverrides.substr(data,i,null), s : true}); - break; - } - } - } - var e; - try { - e = this.makeExpr(l); - if(!l.isEmpty()) { - throw haxe_Exception.thrown(l.first().p); - } - } catch( _g ) { - var _g1 = haxe_Exception.caught(_g).unwrap(); - if(typeof(_g1) == "string") { - var s = _g1; - throw haxe_Exception.thrown("Unexpected '" + s + "' in " + expr); - } else { - throw _g; - } - } - return function() { - try { - return e(); - } catch( _g ) { - var exc = haxe_Exception.caught(_g).unwrap(); - throw haxe_Exception.thrown("Error : " + Std.string(exc) + " in " + expr); - } - }; - } - ,makeConst: function(v) { - haxe_Template.expr_trim.match(v); - v = haxe_Template.expr_trim.matched(1); - if(HxOverrides.cca(v,0) == 34) { - var str = HxOverrides.substr(v,1,v.length - 2); - return function() { - return str; - }; - } - if(haxe_Template.expr_int.match(v)) { - var i = Std.parseInt(v); - return function() { - return i; - }; - } - if(haxe_Template.expr_float.match(v)) { - var f = parseFloat(v); - return function() { - return f; - }; - } - var me = this; - return function() { - return me.resolve(v); - }; - } - ,makePath: function(e,l) { - var p = l.first(); - if(p == null || p.p != ".") { - return e; - } - l.pop(); - var field = l.pop(); - if(field == null || !field.s) { - throw haxe_Exception.thrown(field.p); - } - var f = field.p; - haxe_Template.expr_trim.match(f); - f = haxe_Template.expr_trim.matched(1); - return this.makePath(function() { - return Reflect.field(e(),f); - },l); - } - ,makeExpr: function(l) { - return this.makePath(this.makeExpr2(l),l); - } - ,skipSpaces: function(l) { - var p = l.first(); - while(p != null) { - var _g_offset = 0; - var _g_s = p.p; - while(_g_offset < _g_s.length) { - var c = _g_s.charCodeAt(_g_offset++); - if(c != 32) { - return; - } - } - l.pop(); - p = l.first(); - } - } - ,makeExpr2: function(l) { - this.skipSpaces(l); - var p = l.pop(); - this.skipSpaces(l); - if(p == null) { - throw haxe_Exception.thrown(""); - } - if(p.s) { - return this.makeConst(p.p); - } - switch(p.p) { - case "!": - var e = this.makeExpr(l); - return function() { - var v = e(); - if(v != null) { - return v == false; - } else { - return true; - } - }; - case "(": - this.skipSpaces(l); - var e1 = this.makeExpr(l); - this.skipSpaces(l); - var p1 = l.pop(); - if(p1 == null || p1.s) { - throw haxe_Exception.thrown(p1); - } - if(p1.p == ")") { - return e1; - } - this.skipSpaces(l); - var e2 = this.makeExpr(l); - this.skipSpaces(l); - var p2 = l.pop(); - this.skipSpaces(l); - if(p2 == null || p2.p != ")") { - throw haxe_Exception.thrown(p2); - } - switch(p1.p) { - case "!=": - return function() { - return e1() != e2(); - }; - case "&&": - return function() { - return e1() && e2(); - }; - case "*": - return function() { - return e1() * e2(); - }; - case "+": - return function() { - return e1() + e2(); - }; - case "-": - return function() { - return e1() - e2(); - }; - case "/": - return function() { - return e1() / e2(); - }; - case "<": - return function() { - return e1() < e2(); - }; - case "<=": - return function() { - return e1() <= e2(); - }; - case "==": - return function() { - return e1() == e2(); - }; - case ">": - return function() { - return e1() > e2(); - }; - case ">=": - return function() { - return e1() >= e2(); - }; - case "||": - return function() { - return e1() || e2(); - }; - default: - throw haxe_Exception.thrown("Unknown operation " + p1.p); - } - break; - case "-": - var e3 = this.makeExpr(l); - return function() { - return -e3(); - }; - } - throw haxe_Exception.thrown(p.p); - } - ,run: function(e) { - switch(e._hx_index) { - case 0: - var v = e.v; - var _this = this.buf; - var x = Std.string(this.resolve(v)); - _this.b += Std.string(x); - break; - case 1: - var e1 = e.expr; - var _this = this.buf; - var x = Std.string(e1()); - _this.b += Std.string(x); - break; - case 2: - var e1 = e.expr; - var eif = e.eif; - var eelse = e.eelse; - var v = e1(); - if(v == null || v == false) { - if(eelse != null) { - this.run(eelse); - } - } else { - this.run(eif); - } - break; - case 3: - var str = e.str; - this.buf.b += str == null ? "null" : "" + str; - break; - case 4: - var l = e.l; - var _g_head = l.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var e1 = val; - this.run(e1); - } - break; - case 5: - var e1 = e.expr; - var loop = e.loop; - var v = e1(); - try { - var x = $getIterator(v); - if(x.hasNext == null) { - throw haxe_Exception.thrown(null); - } - v = x; - } catch( _g ) { - try { - if(v.hasNext == null) { - throw haxe_Exception.thrown(null); - } - } catch( _g1 ) { - throw haxe_Exception.thrown("Cannot iter on " + Std.string(v)); - } - } - this.stack.push(this.context); - var v1 = v; - var ctx = v1; - while(ctx.hasNext()) { - var ctx1 = ctx.next(); - this.context = ctx1; - this.run(loop); - } - this.context = this.stack.pop(); - break; - case 6: - var m = e.name; - var params = e.params; - var v = Reflect.field(this.macros,m); - var pl = []; - var old = this.buf; - pl.push($bind(this,this.resolve)); - var _g_head = params.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var p = val; - if(p._hx_index == 0) { - var v1 = p.v; - pl.push(this.resolve(v1)); - } else { - this.buf = new StringBuf(); - this.run(p); - pl.push(this.buf.b); - } - } - this.buf = old; - try { - var _this = this.buf; - var x = Std.string(v.apply(this.macros,pl)); - _this.b += Std.string(x); - } catch( _g ) { - var e = haxe_Exception.caught(_g).unwrap(); - var plstr; - try { - plstr = pl.join(","); - } catch( _g1 ) { - plstr = "???"; - } - var msg = "Macro call " + m + "(" + plstr + ") failed (" + Std.string(e) + ")"; - throw haxe_Exception.thrown(msg); - } - break; - } - } -}; -var haxe_ValueException = function(value,previous,native) { - haxe_Exception.call(this,String(value),previous,native); - this.value = value; -}; -haxe_ValueException.__name__ = true; -haxe_ValueException.__super__ = haxe_Exception; -haxe_ValueException.prototype = $extend(haxe_Exception.prototype,{ - unwrap: function() { - return this.value; - } -}); -var haxe_ds_List = function() { - this.length = 0; -}; -haxe_ds_List.__name__ = true; -haxe_ds_List.prototype = { - add: function(item) { - var x = new haxe_ds__$List_ListNode(item,null); - if(this.h == null) { - this.h = x; - } else { - this.q.next = x; - } - this.q = x; - this.length++; - } - ,push: function(item) { - var x = new haxe_ds__$List_ListNode(item,this.h); - this.h = x; - if(this.q == null) { - this.q = x; - } - this.length++; - } - ,first: function() { - if(this.h == null) { - return null; - } else { - return this.h.item; - } - } - ,pop: function() { - if(this.h == null) { - return null; - } - var x = this.h.item; - this.h = this.h.next; - if(this.h == null) { - this.q = null; - } - this.length--; - return x; - } - ,isEmpty: function() { - return this.h == null; - } - ,toString: function() { - var s_b = ""; - var first = true; - var l = this.h; - s_b += "{"; - while(l != null) { - if(first) { - first = false; - } else { - s_b += ", "; - } - s_b += Std.string(Std.string(l.item)); - l = l.next; - } - s_b += "}"; - return s_b; - } -}; -var haxe_ds__$List_ListNode = function(item,next) { - this.item = item; - this.next = next; -}; -haxe_ds__$List_ListNode.__name__ = true; -var js_Boot = function() { }; -js_Boot.__name__ = true; -js_Boot.__string_rec = function(o,s) { - if(o == null) { - return "null"; - } - if(s.length >= 5) { - return "<...>"; - } - var t = typeof(o); - if(t == "function" && (o.__name__ || o.__ename__)) { - t = "object"; - } - switch(t) { - case "function": - return ""; - case "object": - if(o.__enum__) { - var e = $hxEnums[o.__enum__]; - var con = e.__constructs__[o._hx_index]; - var n = con._hx_name; - if(con.__params__) { - s = s + "\t"; - return n + "(" + ((function($this) { - var $r; - var _g = []; - { - var _g1 = 0; - var _g2 = con.__params__; - while(true) { - if(!(_g1 < _g2.length)) { - break; - } - var p = _g2[_g1]; - _g1 = _g1 + 1; - _g.push(js_Boot.__string_rec(o[p],s)); - } - } - $r = _g; - return $r; - }(this))).join(",") + ")"; - } else { - return n; - } - } - if(((o) instanceof Array)) { - var str = "["; - s += "\t"; - var _g = 0; - var _g1 = o.length; - while(_g < _g1) { - var i = _g++; - str += (i > 0 ? "," : "") + js_Boot.__string_rec(o[i],s); - } - str += "]"; - return str; - } - var tostr; - try { - tostr = o.toString; - } catch( _g ) { - return "???"; - } - if(tostr != null && tostr != Object.toString && typeof(tostr) == "function") { - var s2 = o.toString(); - if(s2 != "[object Object]") { - return s2; - } - } - var str = "{\n"; - s += "\t"; - var hasp = o.hasOwnProperty != null; - var k = null; - for( k in o ) { - if(hasp && !o.hasOwnProperty(k)) { - continue; - } - if(k == "prototype" || k == "__class__" || k == "__super__" || k == "__interfaces__" || k == "__properties__") { - continue; - } - if(str.length != 2) { - str += ", \n"; - } - str += s + k + " : " + js_Boot.__string_rec(o[k],s); - } - s = s.substring(1); - str += "\n" + s + "}"; - return str; - case "string": - return o; - default: - return String(o); - } -}; -var xrfragment_Filter = $hx_exports["xrfragment"]["Filter"] = function(str) { - this.q = { }; - this.str = ""; - if(str != null) { - this.parse(str); - } -}; -xrfragment_Filter.__name__ = true; -xrfragment_Filter.prototype = { - toObject: function() { - return Reflect.copy(this.q); - } - ,get: function() { - return Reflect.copy(this.q); - } - ,parse: function(str) { - var token = str.split(" "); - var q = { }; - var process = function(str,prefix) { - if(prefix == null) { - prefix = ""; - } - str = StringTools.trim(str); - var k = str.split("=")[0]; - var v = str.split("=")[1]; - var filter = { }; - if(q[prefix + k]) { - filter = q[prefix + k]; - } - if(xrfragment_XRF.isProp.match(str)) { - var oper = ""; - if(str.indexOf(">") != -1) { - oper = ">"; - } - if(str.indexOf("<") != -1) { - oper = "<"; - } - if(xrfragment_XRF.isExclude.match(k)) { - k = HxOverrides.substr(k,1,null); - } - v = HxOverrides.substr(v,oper.length,null); - if(oper.length == 0) { - oper = "="; - } - var rule = { }; - if(xrfragment_XRF.isNumber.match(v)) { - rule[oper] = parseFloat(v); - } else { - rule[oper] = v; - } - q["expr"] = rule; - } - var value = xrfragment_XRF.isDeep.match(str) ? k.split("*").length - 1 : 0; - q["deep"] = value; - var value = xrfragment_XRF.isExclude.match(str) ? false : true; - q["show"] = value; - var value = k.replace(xrfragment_XRF.operators.r,""); - q["key"] = value; - q["value"] = v; - }; - var _g = 0; - var _g1 = token.length; - while(_g < _g1) { - var i = _g++; - process(token[i]); - } - return this.q = q; - } - ,test: function(obj) { - var qualify = false; - var _g = 0; - var _g1 = Reflect.fields(obj); - while(_g < _g1.length) { - var k = _g1[_g]; - ++_g; - var v = Std.string(Reflect.field(obj,k)); - if(this.testProperty(k,v)) { - qualify = true; - } - } - var _g = 0; - var _g1 = Reflect.fields(obj); - while(_g < _g1.length) { - var k = _g1[_g]; - ++_g; - var v = Std.string(Reflect.field(obj,k)); - if(this.testProperty(k,v,true)) { - qualify = false; - } - } - return qualify; - } - ,testProperty: function(property,value,exclude) { - var conds = 0; - var fails = 0; - var qualify = 0; - var testprop = function(expr) { - conds += 1; - fails += expr ? 0 : 1; - return expr; - }; - if(this.q[value] != null) { - var v = this.q[value]; - if(v[property] != null) { - return v[property]; - } - } - if(Reflect.field(this.q,"expr")) { - var f = Reflect.field(this.q,"expr"); - if(!Reflect.field(this.q,"show")) { - if(Reflect.field(f,"!=") != null && testprop((value == null ? "null" : "" + value) == Std.string(Reflect.field(f,"!="))) && exclude) { - ++qualify; - } - } else { - if(Reflect.field(f,"*") != null && testprop(parseFloat(value) != null)) { - ++qualify; - } - if(Reflect.field(f,">") != null && testprop(parseFloat(value) >= parseFloat(Reflect.field(f,">")))) { - ++qualify; - } - if(Reflect.field(f,"<") != null && testprop(parseFloat(value) <= parseFloat(Reflect.field(f,"<")))) { - ++qualify; - } - if(Reflect.field(f,"=") != null && (testprop(value == Reflect.field(f,"=")) || testprop(parseFloat(value) == parseFloat(Reflect.field(f,"="))))) { - ++qualify; - } - } - } - return qualify > 0; - } -}; -var xrfragment_Parser = $hx_exports["xrfragment"]["Parser"] = function() { }; -xrfragment_Parser.__name__ = true; -xrfragment_Parser.parse = function(key,value,store,index) { - var Frag_h = Object.create(null); - Frag_h["#"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_PREDEFINED_VIEW | xrfragment_XRF.PV_EXECUTE; - Frag_h["src"] = xrfragment_XRF.T_URL; - Frag_h["href"] = xrfragment_XRF.T_URL | xrfragment_XRF.T_PREDEFINED_VIEW; - Frag_h["tag"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["pos"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_VECTOR3 | xrfragment_XRF.T_STRING | xrfragment_XRF.METADATA | xrfragment_XRF.NAVIGATOR; - Frag_h["rot"] = xrfragment_XRF.QUERY_OPERATOR | xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_VECTOR3 | xrfragment_XRF.METADATA | xrfragment_XRF.NAVIGATOR; - Frag_h["t"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_FLOAT | xrfragment_XRF.T_VECTOR2 | xrfragment_XRF.NAVIGATOR | xrfragment_XRF.METADATA; - Frag_h["s"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_MEDIAFRAG; - Frag_h["loop"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_PREDEFINED_VIEW; - Frag_h["uv"] = xrfragment_XRF.T_VECTOR2 | xrfragment_XRF.T_MEDIAFRAG; - Frag_h["namespace"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["SPDX"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["unit"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["description"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - var keyStripped = key.replace(xrfragment_XRF.operators.r,""); - var isPVDynamic = key.length > 0 && !Object.prototype.hasOwnProperty.call(Frag_h,key); - if(isPVDynamic) { - var v = new xrfragment_XRF(key,xrfragment_XRF.PV_EXECUTE | xrfragment_XRF.NAVIGATOR,index); - v.validate(value); - v.flags = xrfragment_XRF.set(xrfragment_XRF.T_DYNAMICKEY,v.flags); - if(!Object.prototype.hasOwnProperty.call(Frag_h,key)) { - v.flags = xrfragment_XRF.set(xrfragment_XRF.CUSTOMFRAG,v.flags); - } - if(value.length == 0) { - v.flags = xrfragment_XRF.set(xrfragment_XRF.T_DYNAMICKEYVALUE,v.flags); - } - store[keyStripped] = v; - return true; - } - var v = new xrfragment_XRF(key,Frag_h[key],index); - if(Object.prototype.hasOwnProperty.call(Frag_h,key)) { - if(!v.validate(value)) { - console.log("src/xrfragment/Parser.hx:67:","⚠ fragment '" + key + "' has incompatible value (" + value + ")"); - return false; - } - store[keyStripped] = v; - if(xrfragment_Parser.debug) { - console.log("src/xrfragment/Parser.hx:71:","✔ " + key + ": " + v.string); - } - } else { - if(typeof(value) == "string") { - v.guessType(v,value); - } - v.flags = xrfragment_XRF.set(xrfragment_XRF.CUSTOMFRAG,v.flags); - store[keyStripped] = v; - } - return true; -}; -xrfragment_Parser.getMetaData = function() { - var meta = { title : ["title","og:title","dc.title"], description : ["aria-description","og:description","dc.description"], author : ["author","dc.creator"], publisher : ["publisher","dc.publisher"], website : ["og:site_name","og:url","dc.publisher"], license : ["SPDX","dc.rights"]}; - return meta; -}; -var xrfragment_URI = $hx_exports["xrfragment"]["URI"] = function() { - this.XRF = { }; - this.hash = { }; - this.fragment = ""; -}; -xrfragment_URI.__name__ = true; -xrfragment_URI.parseFragment = function(url,filter) { - var store = { }; - if(url == null || url.indexOf("#") == -1) { - return store; - } - var fragment = url.split("#"); - var splitArray = fragment[1].split("&"); - var _g = 0; - var _g1 = splitArray.length; - while(_g < _g1) { - var i = _g++; - var splitByEqual = splitArray[i].split("="); - var regexPlus = new EReg("\\+","g"); - var key = splitByEqual[0]; - var value = ""; - if(splitByEqual.length > 1) { - if(xrfragment_XRF.isVector.match(splitByEqual[1])) { - value = splitByEqual[1]; - } else { - var s = regexPlus.split(splitByEqual[1]).join(" "); - value = decodeURIComponent(s.split("+").join(" ")); - } - } - var ok = xrfragment_Parser.parse(key,value,store,i); - } - if(filter != null && filter != 0) { - var _g = 0; - var _g1 = Reflect.fields(store); - while(_g < _g1.length) { - var key = _g1[_g]; - ++_g; - var xrf = store[key]; - if(!xrf.is(filter)) { - Reflect.deleteField(store,key); - } - } - } - return store; -}; -xrfragment_URI.template = function(uri,vars) { - var parts = uri.split("#"); - if(parts.length == 1) { - return uri; - } - var frag = parts[1]; - frag = StringTools.replace(frag,"{","::"); - frag = StringTools.replace(frag,"}","::"); - frag = new haxe_Template(frag).execute(vars); - frag = StringTools.replace(frag,"null",""); - parts[1] = frag; - return parts.join("#"); -}; -xrfragment_URI.parse = function(stringUrl,flags) { - var r = new EReg("^(?:(?![^:@]+:[^:@/]*@)([^:/?#.]+):)?(?://)?((?:(([^:@]*)(?::([^:@]*))?)?@)?([^:/?#]*)(?::(\\d*))?)(((/(?:[^?#](?![^?#/]*\\.[^?#/.]+(?:[?#]|$)))*/?)?([^?#/]*))(?:\\?([^#]*))?(?:#(.*))?)",""); - if(stringUrl.indexOf("://") == -1 && stringUrl.charAt(0) != "/") { - stringUrl = "/" + stringUrl; - } - r.match(stringUrl); - var url = new xrfragment_URI(); - var _g = 0; - var _g1 = xrfragment_URI._parts.length; - while(_g < _g1) { - var i = _g++; - url[xrfragment_URI._parts[i]] = r.matched(i); - } - if(xrfragment_URI.isRelative(url) == true) { - if(url.directory == null && url.host != null) { - url.file = url.host; - } - url.host = ""; - } - url.hash = { }; - if(url.fragment != null && url.fragment.length > 0) { - url.XRF = xrfragment_URI.parseFragment("#" + url.fragment,flags); - var key; - var _g = 0; - var _g1 = Reflect.fields(url.XRF); - while(_g < _g1.length) { - var key = _g1[_g]; - ++_g; - var v = url.XRF[key]; - url.hash[key] = v["string"]; - } - } - xrfragment_URI.computeVars(url); - return url; -}; -xrfragment_URI.computeVars = function(url) { - var r_r = new RegExp("//","g".split("u").join("")); - if(url.directory != null && url.directory.indexOf("//") != -1) { - url.directory = url.directory.replace(r_r,"/"); - } - if(url.path != null && url.path.indexOf("//") != -1) { - url.path = url.path.replace(r_r,"/"); - } - if(url.file != null && url.file.indexOf("//") != -1) { - url.file = url.file.replace(r_r,"/"); - } - url.URN = url.scheme + "://" + url.host; - if(url.port != null) { - url.URN += ":" + url.port; - } - url.URN += url.directory; - if(url.file != null) { - var parts = url.file.split("."); - if(parts.length > 1) { - url.fileExt = parts.pop(); - } - } -}; -xrfragment_URI.toString = function(url) { - var result = ""; - if(url.scheme != null) { - result += url.scheme + "://"; - } - if(url.user != null) { - result += url.user + ":"; - } - if(url.password != null) { - result += url.password + "@"; - } - if(url.host != null) { - result += url.host; - } - if(url.port != null) { - result += ":" + url.port; - } - if(url.directory != null) { - result += url.directory; - } - if(url.file != null) { - result += url.file; - } - if(url.query != null) { - result += "?" + url.query; - } - if(url.fragment != null) { - result += "#" + url.fragment; - } - return result; -}; -xrfragment_URI.appendURI = function(url,appendedURI) { - if(xrfragment_URI.isRelative(url) == true) { - return xrfragment_URI.appendToRelativeURI(url,appendedURI); - } else { - return xrfragment_URI.appendToAbsoluteURI(url,appendedURI); - } -}; -xrfragment_URI.isRelative = function(url) { - return url.scheme == null; -}; -xrfragment_URI.appendToRelativeURI = function(url,appendedURI) { - if(url.directory == null || url.host == null) { - return xrfragment_URI.cloneURI(appendedURI); - } - var resultURI = new xrfragment_URI(); - resultURI.host = url.host; - resultURI.directory = url.directory; - if(appendedURI.host != null) { - resultURI.directory += appendedURI.host; - } - if(appendedURI.directory != null) { - var directory = appendedURI.directory; - if(appendedURI.host == null) { - resultURI.directory += HxOverrides.substr(directory,1,null); - } else { - resultURI.directory += directory; - } - } - if(appendedURI.file != null) { - resultURI.file = appendedURI.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(appendedURI.query != null) { - resultURI.query = appendedURI.query; - } - if(appendedURI.fragment != null) { - resultURI.fragment = appendedURI.fragment; - } - return resultURI; -}; -xrfragment_URI.appendToAbsoluteURI = function(url,appendedURI) { - var resultURI = new xrfragment_URI(); - if(url.scheme != null) { - resultURI.scheme = url.scheme; - } - if(url.host != null) { - resultURI.host = url.host; - } - var directory = ""; - if(url.directory != null) { - directory = url.directory; - } - if(appendedURI.host != null) { - appendedURI.directory += appendedURI.host; - } - if(appendedURI.directory != null) { - directory += appendedURI.directory; - } - resultURI.directory = directory; - if(appendedURI.file != null) { - resultURI.file = appendedURI.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(appendedURI.query != null) { - resultURI.query = appendedURI.query; - } - if(appendedURI.fragment != null) { - resultURI.fragment = appendedURI.fragment; - } - return resultURI; -}; -xrfragment_URI.toAbsolute = function(url,newUrl) { - var newURI = xrfragment_URI.parse(newUrl,0); - var resultURI = new xrfragment_URI(); - resultURI.port = url.port; - resultURI.source = newUrl; - if(newURI.scheme != null) { - resultURI.scheme = newURI.scheme; - } else { - resultURI.scheme = url.scheme; - } - if(newURI.host != null && newURI.host.length > 0) { - resultURI.host = newURI.host; - resultURI.port = null; - resultURI.fragment = null; - resultURI.hash = { }; - resultURI.XRF = { }; - if(newURI.port != null) { - resultURI.port = newURI.port; - } - } else { - resultURI.host = url.host; - } - var directory = ""; - if(url.directory != null) { - directory = url.directory; - } - if(newURI.directory != null) { - if(newUrl.charAt(0) != "/" && newUrl.indexOf("://") == -1) { - var stripRelative_r = new RegExp("\\./.*","".split("u").join("")); - directory = directory.replace(stripRelative_r,""); - directory += newURI.directory; - } else { - directory = newURI.directory; - } - } - resultURI.directory = directory; - if(newURI.file != null) { - resultURI.file = newURI.file; - } else { - resultURI.file = url.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(newURI.query != null) { - resultURI.query = newURI.query; - } - if(newURI.fragment != null) { - resultURI.fragment = newURI.fragment; - } - resultURI.hash = newURI.hash; - resultURI.XRF = newURI.XRF; - xrfragment_URI.computeVars(resultURI); - return resultURI; -}; -xrfragment_URI.cloneURI = function(url) { - var clonedURI = new xrfragment_URI(); - clonedURI.url = url.url; - clonedURI.source = url.source; - clonedURI.scheme = url.scheme; - clonedURI.authority = url.authority; - clonedURI.userInfo = url.userInfo; - clonedURI.password = url.password; - clonedURI.host = url.host; - clonedURI.port = url.port; - clonedURI.relative = url.relative; - clonedURI.path = url.path; - clonedURI.directory = url.directory; - clonedURI.file = url.file; - clonedURI.query = url.query; - clonedURI.fragment = url.fragment; - return clonedURI; -}; -var xrfragment_XRF = $hx_exports["xrfragment"]["XRF"] = function(_fragment,_flags,_index) { - this.floats = []; - this.shift = []; - this.fragment = _fragment; - this.flags = _flags; - this.index = _index; -}; -xrfragment_XRF.__name__ = true; -xrfragment_XRF.set = function(flag,flags) { - return flags | flag; -}; -xrfragment_XRF.unset = function(flag,flags) { - return flags & ~flag; -}; -xrfragment_XRF.prototype = { - is: function(flag) { - var v = this.flags; - if(!(typeof(v) == "number" && ((v | 0) === v))) { - this.flags = 0; - } - return (this.flags & flag) != 0; - } - ,validate: function(value) { - this.guessType(this,value); - var ok = true; - if(value.length == 0 && !this.is(xrfragment_XRF.T_PREDEFINED_VIEW)) { - ok = false; - } - if(!this.is(xrfragment_XRF.T_FLOAT) && this.is(xrfragment_XRF.T_VECTOR2) && !(typeof(this.x) == "number" && typeof(this.y) == "number")) { - ok = false; - } - if(!(this.is(xrfragment_XRF.T_VECTOR2) || this.is(xrfragment_XRF.T_STRING)) && this.is(xrfragment_XRF.T_VECTOR3) && !(typeof(this.x) == "number" && typeof(this.y) == "number" && typeof(this.z) == "number")) { - ok = false; - } - return ok; - } - ,guessType: function(v,str) { - v.string = str; - if(xrfragment_XRF.isReset.match(v.fragment)) { - v.reset = true; - } - if(v.fragment == "loop") { - v.loop = true; - } - if(typeof(str) != "string") { - return; - } - if(str.length > 0) { - if(xrfragment_XRF.isXRFScheme.match(str)) { - v.xrfScheme = true; - str = str.replace(xrfragment_XRF.isXRFScheme.r,""); - v.string = str; - } - if(str.split(",").length > 1) { - var xyzn = str.split(","); - if(xyzn.length > 0) { - v.x = parseFloat(xyzn[0]); - } - if(xyzn.length > 1) { - v.y = parseFloat(xyzn[1]); - } - if(xyzn.length > 2) { - v.z = parseFloat(xyzn[2]); - } - var _g = 0; - var _g1 = xyzn.length; - while(_g < _g1) { - var i = _g++; - v.shift.push(xrfragment_XRF.isShift.match(xyzn[i])); - v.floats.push(parseFloat(xyzn[i].replace(xrfragment_XRF.isShift.r,""))); - } - } - if(xrfragment_XRF.isColor.match(str)) { - v.color = str; - } - if(xrfragment_XRF.isFloat.match(str)) { - v.x = parseFloat(str); - v.float = v.x; - } - if(xrfragment_XRF.isInt.match(str)) { - v.int = Std.parseInt(str); - v.x = v.int; - v.floats.push(v.x); - } - v.filter = new xrfragment_Filter(v.fragment + "=" + v.string); - } else { - v.filter = new xrfragment_Filter(v.fragment); - } - } -}; -function $getIterator(o) { if( o instanceof Array ) return new haxe_iterators_ArrayIterator(o); else return o.iterator(); } -function $bind(o,m) { if( m == null ) return null; if( m.__id__ == null ) m.__id__ = $global.$haxeUID++; var f; if( o.hx__closures__ == null ) o.hx__closures__ = {}; else f = o.hx__closures__[m.__id__]; if( f == null ) { f = m.bind(o); o.hx__closures__[m.__id__] = f; } return f; } -$global.$haxeUID |= 0; -if(typeof(performance) != "undefined" ? typeof(performance.now) == "function" : false) { - HxOverrides.now = performance.now.bind(performance); -} -if( String.fromCodePoint == null ) String.fromCodePoint = function(c) { return c < 0x10000 ? String.fromCharCode(c) : String.fromCharCode((c>>10)+0xD7C0)+String.fromCharCode((c&0x3FF)+0xDC00); } -String.__name__ = true; -Array.__name__ = true; -js_Boot.__toStr = ({ }).toString; -haxe_Template.splitter = new EReg("(::[A-Za-z0-9_ ()&|!+=/><*.\"-]+::|\\$\\$([A-Za-z0-9_-]+)\\()",""); -haxe_Template.expr_splitter = new EReg("(\\(|\\)|[ \r\n\t]*\"[^\"]*\"[ \r\n\t]*|[!+=/><*.&|-]+)",""); -haxe_Template.expr_trim = new EReg("^[ ]*([^ ]+)[ ]*$",""); -haxe_Template.expr_int = new EReg("^[0-9]+$",""); -haxe_Template.expr_float = new EReg("^([+-]?)(?=\\d|,\\d)\\d*(,\\d*)?([Ee]([+-]?\\d+))?$",""); -haxe_Template.globals = { }; -haxe_Template.hxKeepArrayIterator = new haxe_iterators_ArrayIterator([]); -xrfragment_Parser.error = ""; -xrfragment_Parser.debug = false; -xrfragment_URI.__meta__ = { statics : { template : { keep : null}}}; -xrfragment_URI._parts = ["source","scheme","authority","userInfo","user","password","host","port","relative","path","directory","file","query","fragment"]; -xrfragment_XRF.IMMUTABLE = 1; -xrfragment_XRF.PROP_BIND = 2; -xrfragment_XRF.QUERY_OPERATOR = 4; -xrfragment_XRF.PROMPT = 8; -xrfragment_XRF.CUSTOMFRAG = 16; -xrfragment_XRF.NAVIGATOR = 32; -xrfragment_XRF.METADATA = 64; -xrfragment_XRF.PV_OVERRIDE = 128; -xrfragment_XRF.PV_EXECUTE = 256; -xrfragment_XRF.T_COLOR = 8192; -xrfragment_XRF.T_INT = 16384; -xrfragment_XRF.T_FLOAT = 32768; -xrfragment_XRF.T_VECTOR2 = 65536; -xrfragment_XRF.T_VECTOR3 = 131072; -xrfragment_XRF.T_URL = 262144; -xrfragment_XRF.T_PREDEFINED_VIEW = 524288; -xrfragment_XRF.T_STRING = 1048576; -xrfragment_XRF.T_MEDIAFRAG = 2097152; -xrfragment_XRF.T_DYNAMICKEY = 4194304; -xrfragment_XRF.T_DYNAMICKEYVALUE = 8388608; -xrfragment_XRF.isColor = new EReg("^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$",""); -xrfragment_XRF.isInt = new EReg("^[-0-9]+$",""); -xrfragment_XRF.isFloat = new EReg("^[-0-9]+\\.[0-9]+$",""); -xrfragment_XRF.isVector = new EReg("([,]+|\\w)",""); -xrfragment_XRF.isUrl = new EReg("(://)?\\..*",""); -xrfragment_XRF.isUrlOrPretypedView = new EReg("(^#|://)?\\..*",""); -xrfragment_XRF.isString = new EReg(".*",""); -xrfragment_XRF.operators = new EReg("(^[-]|^[!]|[\\*]$)","g"); -xrfragment_XRF.isProp = new EReg("^.*=[><=]?",""); -xrfragment_XRF.isExclude = new EReg("^-",""); -xrfragment_XRF.isDeep = new EReg("\\*",""); -xrfragment_XRF.isNumber = new EReg("^[0-9\\.]+$",""); -xrfragment_XRF.isMediaFrag = new EReg("^([0-9\\.,\\*+-]+)$",""); -xrfragment_XRF.isReset = new EReg("^!",""); -xrfragment_XRF.isShift = new EReg("^(\\+|--)",""); -xrfragment_XRF.isXRFScheme = new EReg("^xrf://",""); -})(typeof window != "undefined" ? window : typeof global != "undefined" ? global : typeof self != "undefined" ? self : this); -var xrfragment = $hx_exports["xrfragment"]; -export default xrfragment; -// Generated by Haxe 4.3.3 -var $hx_exports = typeof exports != "undefined" ? exports : typeof window != "undefined" ? window : typeof self != "undefined" ? self : this; -(function ($global) { "use strict"; -$hx_exports["xrfragment"] = $hx_exports["xrfragment"] || {}; -var $estr = function() { return js_Boot.__string_rec(this,''); },$hxEnums = $hxEnums || {},$_; -function $extend(from, fields) { - var proto = Object.create(from); - for (var name in fields) proto[name] = fields[name]; - if( fields.toString !== Object.prototype.toString ) proto.toString = fields.toString; - return proto; -} -var EReg = function(r,opt) { - this.r = new RegExp(r,opt.split("u").join("")); -}; -EReg.__name__ = true; -EReg.prototype = { - match: function(s) { - if(this.r.global) { - this.r.lastIndex = 0; - } - this.r.m = this.r.exec(s); - this.r.s = s; - return this.r.m != null; - } - ,matched: function(n) { - if(this.r.m != null && n >= 0 && n < this.r.m.length) { - return this.r.m[n]; - } else { - throw haxe_Exception.thrown("EReg::matched"); - } - } - ,matchedRight: function() { - if(this.r.m == null) { - throw haxe_Exception.thrown("No string matched"); - } - var sz = this.r.m.index + this.r.m[0].length; - return HxOverrides.substr(this.r.s,sz,this.r.s.length - sz); - } - ,matchedPos: function() { - if(this.r.m == null) { - throw haxe_Exception.thrown("No string matched"); - } - return { pos : this.r.m.index, len : this.r.m[0].length}; - } - ,split: function(s) { - var d = "#__delim__#"; - return s.replace(this.r,d).split(d); - } -}; -var HxOverrides = function() { }; -HxOverrides.__name__ = true; -HxOverrides.cca = function(s,index) { - var x = s.charCodeAt(index); - if(x != x) { - return undefined; - } - return x; -}; -HxOverrides.substr = function(s,pos,len) { - if(len == null) { - len = s.length; - } else if(len < 0) { - if(pos == 0) { - len = s.length + len; - } else { - return ""; - } - } - return s.substr(pos,len); -}; -HxOverrides.now = function() { - return Date.now(); -}; -Math.__name__ = true; -var Reflect = function() { }; -Reflect.__name__ = true; -Reflect.field = function(o,field) { - try { - return o[field]; - } catch( _g ) { - return null; - } -}; -Reflect.getProperty = function(o,field) { - var tmp; - if(o == null) { - return null; - } else { - var tmp1; - if(o.__properties__) { - tmp = o.__properties__["get_" + field]; - tmp1 = tmp; - } else { - tmp1 = false; - } - if(tmp1) { - return o[tmp](); - } else { - return o[field]; - } - } -}; -Reflect.fields = function(o) { - var a = []; - if(o != null) { - var hasOwnProperty = Object.prototype.hasOwnProperty; - for( var f in o ) { - if(f != "__id__" && f != "hx__closures__" && hasOwnProperty.call(o,f)) { - a.push(f); - } - } - } - return a; -}; -Reflect.isObject = function(v) { - if(v == null) { - return false; - } - var t = typeof(v); - if(!(t == "string" || t == "object" && v.__enum__ == null)) { - if(t == "function") { - return (v.__name__ || v.__ename__) != null; - } else { - return false; - } - } else { - return true; - } -}; -Reflect.deleteField = function(o,field) { - if(!Object.prototype.hasOwnProperty.call(o,field)) { - return false; - } - delete(o[field]); - return true; -}; -Reflect.copy = function(o) { - if(o == null) { - return null; - } - var o2 = { }; - var _g = 0; - var _g1 = Reflect.fields(o); - while(_g < _g1.length) { - var f = _g1[_g]; - ++_g; - o2[f] = Reflect.field(o,f); - } - return o2; -}; -var Std = function() { }; -Std.__name__ = true; -Std.string = function(s) { - return js_Boot.__string_rec(s,""); -}; -Std.parseInt = function(x) { - var v = parseInt(x); - if(isNaN(v)) { - return null; - } - return v; -}; -var StringBuf = function() { - this.b = ""; -}; -StringBuf.__name__ = true; -var StringTools = function() { }; -StringTools.__name__ = true; -StringTools.isSpace = function(s,pos) { - var c = HxOverrides.cca(s,pos); - if(!(c > 8 && c < 14)) { - return c == 32; - } else { - return true; - } -}; -StringTools.ltrim = function(s) { - var l = s.length; - var r = 0; - while(r < l && StringTools.isSpace(s,r)) ++r; - if(r > 0) { - return HxOverrides.substr(s,r,l - r); - } else { - return s; - } -}; -StringTools.rtrim = function(s) { - var l = s.length; - var r = 0; - while(r < l && StringTools.isSpace(s,l - r - 1)) ++r; - if(r > 0) { - return HxOverrides.substr(s,0,l - r); - } else { - return s; - } -}; -StringTools.trim = function(s) { - return StringTools.ltrim(StringTools.rtrim(s)); -}; -StringTools.replace = function(s,sub,by) { - return s.split(sub).join(by); -}; -var haxe_Exception = function(message,previous,native) { - Error.call(this,message); - this.message = message; - this.__previousException = previous; - this.__nativeException = native != null ? native : this; -}; -haxe_Exception.__name__ = true; -haxe_Exception.caught = function(value) { - if(((value) instanceof haxe_Exception)) { - return value; - } else if(((value) instanceof Error)) { - return new haxe_Exception(value.message,null,value); - } else { - return new haxe_ValueException(value,null,value); - } -}; -haxe_Exception.thrown = function(value) { - if(((value) instanceof haxe_Exception)) { - return value.get_native(); - } else if(((value) instanceof Error)) { - return value; - } else { - var e = new haxe_ValueException(value); - return e; - } -}; -haxe_Exception.__super__ = Error; -haxe_Exception.prototype = $extend(Error.prototype,{ - unwrap: function() { - return this.__nativeException; - } - ,get_native: function() { - return this.__nativeException; - } - ,__properties__: {get_native:"get_native"} -}); -var haxe__$Template_TemplateExpr = $hxEnums["haxe._Template.TemplateExpr"] = { __ename__:true,__constructs__:null - ,OpVar: ($_=function(v) { return {_hx_index:0,v:v,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpVar",$_.__params__ = ["v"],$_) - ,OpExpr: ($_=function(expr) { return {_hx_index:1,expr:expr,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpExpr",$_.__params__ = ["expr"],$_) - ,OpIf: ($_=function(expr,eif,eelse) { return {_hx_index:2,expr:expr,eif:eif,eelse:eelse,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpIf",$_.__params__ = ["expr","eif","eelse"],$_) - ,OpStr: ($_=function(str) { return {_hx_index:3,str:str,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpStr",$_.__params__ = ["str"],$_) - ,OpBlock: ($_=function(l) { return {_hx_index:4,l:l,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpBlock",$_.__params__ = ["l"],$_) - ,OpForeach: ($_=function(expr,loop) { return {_hx_index:5,expr:expr,loop:loop,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpForeach",$_.__params__ = ["expr","loop"],$_) - ,OpMacro: ($_=function(name,params) { return {_hx_index:6,name:name,params:params,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpMacro",$_.__params__ = ["name","params"],$_) -}; -haxe__$Template_TemplateExpr.__constructs__ = [haxe__$Template_TemplateExpr.OpVar,haxe__$Template_TemplateExpr.OpExpr,haxe__$Template_TemplateExpr.OpIf,haxe__$Template_TemplateExpr.OpStr,haxe__$Template_TemplateExpr.OpBlock,haxe__$Template_TemplateExpr.OpForeach,haxe__$Template_TemplateExpr.OpMacro]; -var haxe_iterators_ArrayIterator = function(array) { - this.current = 0; - this.array = array; -}; -haxe_iterators_ArrayIterator.__name__ = true; -haxe_iterators_ArrayIterator.prototype = { - hasNext: function() { - return this.current < this.array.length; - } - ,next: function() { - return this.array[this.current++]; - } -}; -var haxe_Template = function(str) { - var tokens = this.parseTokens(str); - this.expr = this.parseBlock(tokens); - if(!tokens.isEmpty()) { - throw haxe_Exception.thrown("Unexpected '" + Std.string(tokens.first().s) + "'"); - } -}; -haxe_Template.__name__ = true; -haxe_Template.prototype = { - execute: function(context,macros) { - this.macros = macros == null ? { } : macros; - this.context = context; - this.stack = new haxe_ds_List(); - this.buf = new StringBuf(); - this.run(this.expr); - return this.buf.b; - } - ,resolve: function(v) { - if(v == "__current__") { - return this.context; - } - if(Reflect.isObject(this.context)) { - var value = Reflect.getProperty(this.context,v); - if(value != null || Object.prototype.hasOwnProperty.call(this.context,v)) { - return value; - } - } - var _g_head = this.stack.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var ctx = val; - var value = Reflect.getProperty(ctx,v); - if(value != null || Object.prototype.hasOwnProperty.call(ctx,v)) { - return value; - } - } - return Reflect.field(haxe_Template.globals,v); - } - ,parseTokens: function(data) { - var tokens = new haxe_ds_List(); - while(haxe_Template.splitter.match(data)) { - var p = haxe_Template.splitter.matchedPos(); - if(p.pos > 0) { - tokens.add({ p : HxOverrides.substr(data,0,p.pos), s : true, l : null}); - } - if(HxOverrides.cca(data,p.pos) == 58) { - tokens.add({ p : HxOverrides.substr(data,p.pos + 2,p.len - 4), s : false, l : null}); - data = haxe_Template.splitter.matchedRight(); - continue; - } - var parp = p.pos + p.len; - var npar = 1; - var params = []; - var part = ""; - while(true) { - var c = HxOverrides.cca(data,parp); - ++parp; - if(c == 40) { - ++npar; - } else if(c == 41) { - --npar; - if(npar <= 0) { - break; - } - } else if(c == null) { - throw haxe_Exception.thrown("Unclosed macro parenthesis"); - } - if(c == 44 && npar == 1) { - params.push(part); - part = ""; - } else { - part += String.fromCodePoint(c); - } - } - params.push(part); - tokens.add({ p : haxe_Template.splitter.matched(2), s : false, l : params}); - data = HxOverrides.substr(data,parp,data.length - parp); - } - if(data.length > 0) { - tokens.add({ p : data, s : true, l : null}); - } - return tokens; - } - ,parseBlock: function(tokens) { - var l = new haxe_ds_List(); - while(true) { - var t = tokens.first(); - if(t == null) { - break; - } - if(!t.s && (t.p == "end" || t.p == "else" || HxOverrides.substr(t.p,0,7) == "elseif ")) { - break; - } - l.add(this.parse(tokens)); - } - if(l.length == 1) { - return l.first(); - } - return haxe__$Template_TemplateExpr.OpBlock(l); - } - ,parse: function(tokens) { - var t = tokens.pop(); - var p = t.p; - if(t.s) { - return haxe__$Template_TemplateExpr.OpStr(p); - } - if(t.l != null) { - var pe = new haxe_ds_List(); - var _g = 0; - var _g1 = t.l; - while(_g < _g1.length) { - var p1 = _g1[_g]; - ++_g; - pe.add(this.parseBlock(this.parseTokens(p1))); - } - return haxe__$Template_TemplateExpr.OpMacro(p,pe); - } - var kwdEnd = function(kwd) { - var pos = -1; - var length = kwd.length; - if(HxOverrides.substr(p,0,length) == kwd) { - pos = length; - var _g_offset = 0; - var _g_s = HxOverrides.substr(p,length,null); - while(_g_offset < _g_s.length) { - var c = _g_s.charCodeAt(_g_offset++); - if(c == 32) { - ++pos; - } else { - break; - } - } - } - return pos; - }; - var pos = kwdEnd("if"); - if(pos > 0) { - p = HxOverrides.substr(p,pos,p.length - pos); - var e = this.parseExpr(p); - var eif = this.parseBlock(tokens); - var t = tokens.first(); - var eelse; - if(t == null) { - throw haxe_Exception.thrown("Unclosed 'if'"); - } - if(t.p == "end") { - tokens.pop(); - eelse = null; - } else if(t.p == "else") { - tokens.pop(); - eelse = this.parseBlock(tokens); - t = tokens.pop(); - if(t == null || t.p != "end") { - throw haxe_Exception.thrown("Unclosed 'else'"); - } - } else { - t.p = HxOverrides.substr(t.p,4,t.p.length - 4); - eelse = this.parse(tokens); - } - return haxe__$Template_TemplateExpr.OpIf(e,eif,eelse); - } - var pos = kwdEnd("foreach"); - if(pos >= 0) { - p = HxOverrides.substr(p,pos,p.length - pos); - var e = this.parseExpr(p); - var efor = this.parseBlock(tokens); - var t = tokens.pop(); - if(t == null || t.p != "end") { - throw haxe_Exception.thrown("Unclosed 'foreach'"); - } - return haxe__$Template_TemplateExpr.OpForeach(e,efor); - } - if(haxe_Template.expr_splitter.match(p)) { - return haxe__$Template_TemplateExpr.OpExpr(this.parseExpr(p)); - } - return haxe__$Template_TemplateExpr.OpVar(p); - } - ,parseExpr: function(data) { - var l = new haxe_ds_List(); - var expr = data; - while(haxe_Template.expr_splitter.match(data)) { - var p = haxe_Template.expr_splitter.matchedPos(); - var k = p.pos + p.len; - if(p.pos != 0) { - l.add({ p : HxOverrides.substr(data,0,p.pos), s : true}); - } - var p1 = haxe_Template.expr_splitter.matched(0); - l.add({ p : p1, s : p1.indexOf("\"") >= 0}); - data = haxe_Template.expr_splitter.matchedRight(); - } - if(data.length != 0) { - var _g_offset = 0; - var _g_s = data; - while(_g_offset < _g_s.length) { - var _g_key = _g_offset; - var _g_value = _g_s.charCodeAt(_g_offset++); - var i = _g_key; - var c = _g_value; - if(c != 32) { - l.add({ p : HxOverrides.substr(data,i,null), s : true}); - break; - } - } - } - var e; - try { - e = this.makeExpr(l); - if(!l.isEmpty()) { - throw haxe_Exception.thrown(l.first().p); - } - } catch( _g ) { - var _g1 = haxe_Exception.caught(_g).unwrap(); - if(typeof(_g1) == "string") { - var s = _g1; - throw haxe_Exception.thrown("Unexpected '" + s + "' in " + expr); - } else { - throw _g; - } - } - return function() { - try { - return e(); - } catch( _g ) { - var exc = haxe_Exception.caught(_g).unwrap(); - throw haxe_Exception.thrown("Error : " + Std.string(exc) + " in " + expr); - } - }; - } - ,makeConst: function(v) { - haxe_Template.expr_trim.match(v); - v = haxe_Template.expr_trim.matched(1); - if(HxOverrides.cca(v,0) == 34) { - var str = HxOverrides.substr(v,1,v.length - 2); - return function() { - return str; - }; - } - if(haxe_Template.expr_int.match(v)) { - var i = Std.parseInt(v); - return function() { - return i; - }; - } - if(haxe_Template.expr_float.match(v)) { - var f = parseFloat(v); - return function() { - return f; - }; - } - var me = this; - return function() { - return me.resolve(v); - }; - } - ,makePath: function(e,l) { - var p = l.first(); - if(p == null || p.p != ".") { - return e; - } - l.pop(); - var field = l.pop(); - if(field == null || !field.s) { - throw haxe_Exception.thrown(field.p); - } - var f = field.p; - haxe_Template.expr_trim.match(f); - f = haxe_Template.expr_trim.matched(1); - return this.makePath(function() { - return Reflect.field(e(),f); - },l); - } - ,makeExpr: function(l) { - return this.makePath(this.makeExpr2(l),l); - } - ,skipSpaces: function(l) { - var p = l.first(); - while(p != null) { - var _g_offset = 0; - var _g_s = p.p; - while(_g_offset < _g_s.length) { - var c = _g_s.charCodeAt(_g_offset++); - if(c != 32) { - return; - } - } - l.pop(); - p = l.first(); - } - } - ,makeExpr2: function(l) { - this.skipSpaces(l); - var p = l.pop(); - this.skipSpaces(l); - if(p == null) { - throw haxe_Exception.thrown(""); - } - if(p.s) { - return this.makeConst(p.p); - } - switch(p.p) { - case "!": - var e = this.makeExpr(l); - return function() { - var v = e(); - if(v != null) { - return v == false; - } else { - return true; - } - }; - case "(": - this.skipSpaces(l); - var e1 = this.makeExpr(l); - this.skipSpaces(l); - var p1 = l.pop(); - if(p1 == null || p1.s) { - throw haxe_Exception.thrown(p1); - } - if(p1.p == ")") { - return e1; - } - this.skipSpaces(l); - var e2 = this.makeExpr(l); - this.skipSpaces(l); - var p2 = l.pop(); - this.skipSpaces(l); - if(p2 == null || p2.p != ")") { - throw haxe_Exception.thrown(p2); - } - switch(p1.p) { - case "!=": - return function() { - return e1() != e2(); - }; - case "&&": - return function() { - return e1() && e2(); - }; - case "*": - return function() { - return e1() * e2(); - }; - case "+": - return function() { - return e1() + e2(); - }; - case "-": - return function() { - return e1() - e2(); - }; - case "/": - return function() { - return e1() / e2(); - }; - case "<": - return function() { - return e1() < e2(); - }; - case "<=": - return function() { - return e1() <= e2(); - }; - case "==": - return function() { - return e1() == e2(); - }; - case ">": - return function() { - return e1() > e2(); - }; - case ">=": - return function() { - return e1() >= e2(); - }; - case "||": - return function() { - return e1() || e2(); - }; - default: - throw haxe_Exception.thrown("Unknown operation " + p1.p); - } - break; - case "-": - var e3 = this.makeExpr(l); - return function() { - return -e3(); - }; - } - throw haxe_Exception.thrown(p.p); - } - ,run: function(e) { - switch(e._hx_index) { - case 0: - var v = e.v; - var _this = this.buf; - var x = Std.string(this.resolve(v)); - _this.b += Std.string(x); - break; - case 1: - var e1 = e.expr; - var _this = this.buf; - var x = Std.string(e1()); - _this.b += Std.string(x); - break; - case 2: - var e1 = e.expr; - var eif = e.eif; - var eelse = e.eelse; - var v = e1(); - if(v == null || v == false) { - if(eelse != null) { - this.run(eelse); - } - } else { - this.run(eif); - } - break; - case 3: - var str = e.str; - this.buf.b += str == null ? "null" : "" + str; - break; - case 4: - var l = e.l; - var _g_head = l.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var e1 = val; - this.run(e1); - } - break; - case 5: - var e1 = e.expr; - var loop = e.loop; - var v = e1(); - try { - var x = $getIterator(v); - if(x.hasNext == null) { - throw haxe_Exception.thrown(null); - } - v = x; - } catch( _g ) { - try { - if(v.hasNext == null) { - throw haxe_Exception.thrown(null); - } - } catch( _g1 ) { - throw haxe_Exception.thrown("Cannot iter on " + Std.string(v)); - } - } - this.stack.push(this.context); - var v1 = v; - var ctx = v1; - while(ctx.hasNext()) { - var ctx1 = ctx.next(); - this.context = ctx1; - this.run(loop); - } - this.context = this.stack.pop(); - break; - case 6: - var m = e.name; - var params = e.params; - var v = Reflect.field(this.macros,m); - var pl = []; - var old = this.buf; - pl.push($bind(this,this.resolve)); - var _g_head = params.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var p = val; - if(p._hx_index == 0) { - var v1 = p.v; - pl.push(this.resolve(v1)); - } else { - this.buf = new StringBuf(); - this.run(p); - pl.push(this.buf.b); - } - } - this.buf = old; - try { - var _this = this.buf; - var x = Std.string(v.apply(this.macros,pl)); - _this.b += Std.string(x); - } catch( _g ) { - var e = haxe_Exception.caught(_g).unwrap(); - var plstr; - try { - plstr = pl.join(","); - } catch( _g1 ) { - plstr = "???"; - } - var msg = "Macro call " + m + "(" + plstr + ") failed (" + Std.string(e) + ")"; - throw haxe_Exception.thrown(msg); - } - break; - } - } -}; -var haxe_ValueException = function(value,previous,native) { - haxe_Exception.call(this,String(value),previous,native); - this.value = value; -}; -haxe_ValueException.__name__ = true; -haxe_ValueException.__super__ = haxe_Exception; -haxe_ValueException.prototype = $extend(haxe_Exception.prototype,{ - unwrap: function() { - return this.value; - } -}); -var haxe_ds_List = function() { - this.length = 0; -}; -haxe_ds_List.__name__ = true; -haxe_ds_List.prototype = { - add: function(item) { - var x = new haxe_ds__$List_ListNode(item,null); - if(this.h == null) { - this.h = x; - } else { - this.q.next = x; - } - this.q = x; - this.length++; - } - ,push: function(item) { - var x = new haxe_ds__$List_ListNode(item,this.h); - this.h = x; - if(this.q == null) { - this.q = x; - } - this.length++; - } - ,first: function() { - if(this.h == null) { - return null; - } else { - return this.h.item; - } - } - ,pop: function() { - if(this.h == null) { - return null; - } - var x = this.h.item; - this.h = this.h.next; - if(this.h == null) { - this.q = null; - } - this.length--; - return x; - } - ,isEmpty: function() { - return this.h == null; - } - ,toString: function() { - var s_b = ""; - var first = true; - var l = this.h; - s_b += "{"; - while(l != null) { - if(first) { - first = false; - } else { - s_b += ", "; - } - s_b += Std.string(Std.string(l.item)); - l = l.next; - } - s_b += "}"; - return s_b; - } -}; -var haxe_ds__$List_ListNode = function(item,next) { - this.item = item; - this.next = next; -}; -haxe_ds__$List_ListNode.__name__ = true; -var js_Boot = function() { }; -js_Boot.__name__ = true; -js_Boot.__string_rec = function(o,s) { - if(o == null) { - return "null"; - } - if(s.length >= 5) { - return "<...>"; - } - var t = typeof(o); - if(t == "function" && (o.__name__ || o.__ename__)) { - t = "object"; - } - switch(t) { - case "function": - return ""; - case "object": - if(o.__enum__) { - var e = $hxEnums[o.__enum__]; - var con = e.__constructs__[o._hx_index]; - var n = con._hx_name; - if(con.__params__) { - s = s + "\t"; - return n + "(" + ((function($this) { - var $r; - var _g = []; - { - var _g1 = 0; - var _g2 = con.__params__; - while(true) { - if(!(_g1 < _g2.length)) { - break; - } - var p = _g2[_g1]; - _g1 = _g1 + 1; - _g.push(js_Boot.__string_rec(o[p],s)); - } - } - $r = _g; - return $r; - }(this))).join(",") + ")"; - } else { - return n; - } - } - if(((o) instanceof Array)) { - var str = "["; - s += "\t"; - var _g = 0; - var _g1 = o.length; - while(_g < _g1) { - var i = _g++; - str += (i > 0 ? "," : "") + js_Boot.__string_rec(o[i],s); - } - str += "]"; - return str; - } - var tostr; - try { - tostr = o.toString; - } catch( _g ) { - return "???"; - } - if(tostr != null && tostr != Object.toString && typeof(tostr) == "function") { - var s2 = o.toString(); - if(s2 != "[object Object]") { - return s2; - } - } - var str = "{\n"; - s += "\t"; - var hasp = o.hasOwnProperty != null; - var k = null; - for( k in o ) { - if(hasp && !o.hasOwnProperty(k)) { - continue; - } - if(k == "prototype" || k == "__class__" || k == "__super__" || k == "__interfaces__" || k == "__properties__") { - continue; - } - if(str.length != 2) { - str += ", \n"; - } - str += s + k + " : " + js_Boot.__string_rec(o[k],s); - } - s = s.substring(1); - str += "\n" + s + "}"; - return str; - case "string": - return o; - default: - return String(o); - } -}; -var xrfragment_Filter = $hx_exports["xrfragment"]["Filter"] = function(str) { - this.q = { }; - this.str = ""; - if(str != null) { - this.parse(str); - } -}; -xrfragment_Filter.__name__ = true; -xrfragment_Filter.prototype = { - toObject: function() { - return Reflect.copy(this.q); - } - ,get: function() { - return Reflect.copy(this.q); - } - ,parse: function(str) { - var token = str.split(" "); - var q = { }; - var process = function(str,prefix) { - if(prefix == null) { - prefix = ""; - } - str = StringTools.trim(str); - var k = str.split("=")[0]; - var v = str.split("=")[1]; - var filter = { }; - if(q[prefix + k]) { - filter = q[prefix + k]; - } - if(xrfragment_XRF.isProp.match(str)) { - var oper = ""; - if(str.indexOf(">") != -1) { - oper = ">"; - } - if(str.indexOf("<") != -1) { - oper = "<"; - } - if(xrfragment_XRF.isExclude.match(k)) { - k = HxOverrides.substr(k,1,null); - } - v = HxOverrides.substr(v,oper.length,null); - if(oper.length == 0) { - oper = "="; - } - var rule = { }; - if(xrfragment_XRF.isNumber.match(v)) { - rule[oper] = parseFloat(v); - } else { - rule[oper] = v; - } - q["expr"] = rule; - } - var value = xrfragment_XRF.isDeep.match(str) ? k.split("*").length - 1 : 0; - q["deep"] = value; - var value = xrfragment_XRF.isExclude.match(str) ? false : true; - q["show"] = value; - var value = k.replace(xrfragment_XRF.operators.r,""); - q["key"] = value; - q["value"] = v; - }; - var _g = 0; - var _g1 = token.length; - while(_g < _g1) { - var i = _g++; - process(token[i]); - } - return this.q = q; - } - ,test: function(obj) { - var qualify = false; - var _g = 0; - var _g1 = Reflect.fields(obj); - while(_g < _g1.length) { - var k = _g1[_g]; - ++_g; - var v = Std.string(Reflect.field(obj,k)); - if(this.testProperty(k,v)) { - qualify = true; - } - } - var _g = 0; - var _g1 = Reflect.fields(obj); - while(_g < _g1.length) { - var k = _g1[_g]; - ++_g; - var v = Std.string(Reflect.field(obj,k)); - if(this.testProperty(k,v,true)) { - qualify = false; - } - } - return qualify; - } - ,testProperty: function(property,value,exclude) { - var conds = 0; - var fails = 0; - var qualify = 0; - var testprop = function(expr) { - conds += 1; - fails += expr ? 0 : 1; - return expr; - }; - if(this.q[value] != null) { - var v = this.q[value]; - if(v[property] != null) { - return v[property]; - } - } - if(Reflect.field(this.q,"expr")) { - var f = Reflect.field(this.q,"expr"); - if(!Reflect.field(this.q,"show")) { - if(Reflect.field(f,"!=") != null && testprop((value == null ? "null" : "" + value) == Std.string(Reflect.field(f,"!="))) && exclude) { - ++qualify; - } - } else { - if(Reflect.field(f,"*") != null && testprop(parseFloat(value) != null)) { - ++qualify; - } - if(Reflect.field(f,">") != null && testprop(parseFloat(value) >= parseFloat(Reflect.field(f,">")))) { - ++qualify; - } - if(Reflect.field(f,"<") != null && testprop(parseFloat(value) <= parseFloat(Reflect.field(f,"<")))) { - ++qualify; - } - if(Reflect.field(f,"=") != null && (testprop(value == Reflect.field(f,"=")) || testprop(parseFloat(value) == parseFloat(Reflect.field(f,"="))))) { - ++qualify; - } - } - } - return qualify > 0; - } -}; -var xrfragment_Parser = $hx_exports["xrfragment"]["Parser"] = function() { }; -xrfragment_Parser.__name__ = true; -xrfragment_Parser.parse = function(key,value,store,index) { - var Frag_h = Object.create(null); - Frag_h["#"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_PREDEFINED_VIEW | xrfragment_XRF.PV_EXECUTE; - Frag_h["src"] = xrfragment_XRF.T_URL; - Frag_h["href"] = xrfragment_XRF.T_URL | xrfragment_XRF.T_PREDEFINED_VIEW; - Frag_h["tag"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["pos"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_VECTOR3 | xrfragment_XRF.T_STRING | xrfragment_XRF.METADATA | xrfragment_XRF.NAVIGATOR; - Frag_h["rot"] = xrfragment_XRF.QUERY_OPERATOR | xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_VECTOR3 | xrfragment_XRF.METADATA | xrfragment_XRF.NAVIGATOR; - Frag_h["t"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_FLOAT | xrfragment_XRF.T_VECTOR2 | xrfragment_XRF.NAVIGATOR | xrfragment_XRF.METADATA; - Frag_h["s"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_MEDIAFRAG; - Frag_h["loop"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_PREDEFINED_VIEW; - Frag_h["uv"] = xrfragment_XRF.T_VECTOR2 | xrfragment_XRF.T_MEDIAFRAG; - Frag_h["namespace"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["SPDX"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["unit"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["description"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - var keyStripped = key.replace(xrfragment_XRF.operators.r,""); - var isPVDynamic = key.length > 0 && !Object.prototype.hasOwnProperty.call(Frag_h,key); - if(isPVDynamic) { - var v = new xrfragment_XRF(key,xrfragment_XRF.PV_EXECUTE | xrfragment_XRF.NAVIGATOR,index); - v.validate(value); - v.flags = xrfragment_XRF.set(xrfragment_XRF.T_DYNAMICKEY,v.flags); - if(!Object.prototype.hasOwnProperty.call(Frag_h,key)) { - v.flags = xrfragment_XRF.set(xrfragment_XRF.CUSTOMFRAG,v.flags); - } - if(value.length == 0) { - v.flags = xrfragment_XRF.set(xrfragment_XRF.T_DYNAMICKEYVALUE,v.flags); - } - store[keyStripped] = v; - return true; - } - var v = new xrfragment_XRF(key,Frag_h[key],index); - if(Object.prototype.hasOwnProperty.call(Frag_h,key)) { - if(!v.validate(value)) { - console.log("src/xrfragment/Parser.hx:67:","⚠ fragment '" + key + "' has incompatible value (" + value + ")"); - return false; - } - store[keyStripped] = v; - if(xrfragment_Parser.debug) { - console.log("src/xrfragment/Parser.hx:71:","✔ " + key + ": " + v.string); - } - } else { - if(typeof(value) == "string") { - v.guessType(v,value); - } - v.flags = xrfragment_XRF.set(xrfragment_XRF.CUSTOMFRAG,v.flags); - store[keyStripped] = v; - } - return true; -}; -xrfragment_Parser.getMetaData = function() { - var meta = { title : ["title","og:title","dc.title"], description : ["aria-description","og:description","dc.description"], author : ["author","dc.creator"], publisher : ["publisher","dc.publisher"], website : ["og:site_name","og:url","dc.publisher"], license : ["SPDX","dc.rights"]}; - return meta; -}; -var xrfragment_URI = $hx_exports["xrfragment"]["URI"] = function() { - this.XRF = { }; - this.hash = { }; - this.fragment = ""; -}; -xrfragment_URI.__name__ = true; -xrfragment_URI.parseFragment = function(url,filter) { - var store = { }; - if(url == null || url.indexOf("#") == -1) { - return store; - } - var fragment = url.split("#"); - var splitArray = fragment[1].split("&"); - var _g = 0; - var _g1 = splitArray.length; - while(_g < _g1) { - var i = _g++; - var splitByEqual = splitArray[i].split("="); - var regexPlus = new EReg("\\+","g"); - var key = splitByEqual[0]; - var value = ""; - if(splitByEqual.length > 1) { - if(xrfragment_XRF.isVector.match(splitByEqual[1])) { - value = splitByEqual[1]; - } else { - var s = regexPlus.split(splitByEqual[1]).join(" "); - value = decodeURIComponent(s.split("+").join(" ")); - } - } - var ok = xrfragment_Parser.parse(key,value,store,i); - } - if(filter != null && filter != 0) { - var _g = 0; - var _g1 = Reflect.fields(store); - while(_g < _g1.length) { - var key = _g1[_g]; - ++_g; - var xrf = store[key]; - if(!xrf.is(filter)) { - Reflect.deleteField(store,key); - } - } - } - return store; -}; -xrfragment_URI.template = function(uri,vars) { - var parts = uri.split("#"); - if(parts.length == 1) { - return uri; - } - var frag = parts[1]; - frag = StringTools.replace(frag,"{","::"); - frag = StringTools.replace(frag,"}","::"); - frag = new haxe_Template(frag).execute(vars); - frag = StringTools.replace(frag,"null",""); - parts[1] = frag; - return parts.join("#"); -}; -xrfragment_URI.parse = function(stringUrl,flags) { - var r = new EReg("^(?:(?![^:@]+:[^:@/]*@)([^:/?#.]+):)?(?://)?((?:(([^:@]*)(?::([^:@]*))?)?@)?([^:/?#]*)(?::(\\d*))?)(((/(?:[^?#](?![^?#/]*\\.[^?#/.]+(?:[?#]|$)))*/?)?([^?#/]*))(?:\\?([^#]*))?(?:#(.*))?)",""); - if(stringUrl.indexOf("://") == -1 && stringUrl.charAt(0) != "/") { - stringUrl = "/" + stringUrl; - } - r.match(stringUrl); - var url = new xrfragment_URI(); - var _g = 0; - var _g1 = xrfragment_URI._parts.length; - while(_g < _g1) { - var i = _g++; - url[xrfragment_URI._parts[i]] = r.matched(i); - } - if(xrfragment_URI.isRelative(url) == true) { - if(url.directory == null && url.host != null) { - url.file = url.host; - } - url.host = ""; - } - url.hash = { }; - if(url.fragment != null && url.fragment.length > 0) { - url.XRF = xrfragment_URI.parseFragment("#" + url.fragment,flags); - var key; - var _g = 0; - var _g1 = Reflect.fields(url.XRF); - while(_g < _g1.length) { - var key = _g1[_g]; - ++_g; - var v = url.XRF[key]; - url.hash[key] = v["string"]; - } - } - xrfragment_URI.computeVars(url); - return url; -}; -xrfragment_URI.computeVars = function(url) { - var r_r = new RegExp("//","g".split("u").join("")); - if(url.directory != null && url.directory.indexOf("//") != -1) { - url.directory = url.directory.replace(r_r,"/"); - } - if(url.path != null && url.path.indexOf("//") != -1) { - url.path = url.path.replace(r_r,"/"); - } - if(url.file != null && url.file.indexOf("//") != -1) { - url.file = url.file.replace(r_r,"/"); - } - url.URN = url.scheme + "://" + url.host; - if(url.port != null) { - url.URN += ":" + url.port; - } - url.URN += url.directory; - if(url.file != null) { - var parts = url.file.split("."); - if(parts.length > 1) { - url.fileExt = parts.pop(); - } - } -}; -xrfragment_URI.toString = function(url) { - var result = ""; - if(url.scheme != null) { - result += url.scheme + "://"; - } - if(url.user != null) { - result += url.user + ":"; - } - if(url.password != null) { - result += url.password + "@"; - } - if(url.host != null) { - result += url.host; - } - if(url.port != null) { - result += ":" + url.port; - } - if(url.directory != null) { - result += url.directory; - } - if(url.file != null) { - result += url.file; - } - if(url.query != null) { - result += "?" + url.query; - } - if(url.fragment != null) { - result += "#" + url.fragment; - } - return result; -}; -xrfragment_URI.appendURI = function(url,appendedURI) { - if(xrfragment_URI.isRelative(url) == true) { - return xrfragment_URI.appendToRelativeURI(url,appendedURI); - } else { - return xrfragment_URI.appendToAbsoluteURI(url,appendedURI); - } -}; -xrfragment_URI.isRelative = function(url) { - return url.scheme == null; -}; -xrfragment_URI.appendToRelativeURI = function(url,appendedURI) { - if(url.directory == null || url.host == null) { - return xrfragment_URI.cloneURI(appendedURI); - } - var resultURI = new xrfragment_URI(); - resultURI.host = url.host; - resultURI.directory = url.directory; - if(appendedURI.host != null) { - resultURI.directory += appendedURI.host; - } - if(appendedURI.directory != null) { - var directory = appendedURI.directory; - if(appendedURI.host == null) { - resultURI.directory += HxOverrides.substr(directory,1,null); - } else { - resultURI.directory += directory; - } - } - if(appendedURI.file != null) { - resultURI.file = appendedURI.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(appendedURI.query != null) { - resultURI.query = appendedURI.query; - } - if(appendedURI.fragment != null) { - resultURI.fragment = appendedURI.fragment; - } - return resultURI; -}; -xrfragment_URI.appendToAbsoluteURI = function(url,appendedURI) { - var resultURI = new xrfragment_URI(); - if(url.scheme != null) { - resultURI.scheme = url.scheme; - } - if(url.host != null) { - resultURI.host = url.host; - } - var directory = ""; - if(url.directory != null) { - directory = url.directory; - } - if(appendedURI.host != null) { - appendedURI.directory += appendedURI.host; - } - if(appendedURI.directory != null) { - directory += appendedURI.directory; - } - resultURI.directory = directory; - if(appendedURI.file != null) { - resultURI.file = appendedURI.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(appendedURI.query != null) { - resultURI.query = appendedURI.query; - } - if(appendedURI.fragment != null) { - resultURI.fragment = appendedURI.fragment; - } - return resultURI; -}; -xrfragment_URI.toAbsolute = function(url,newUrl) { - var newURI = xrfragment_URI.parse(newUrl,0); - var resultURI = new xrfragment_URI(); - resultURI.port = url.port; - resultURI.source = newUrl; - if(newURI.scheme != null) { - resultURI.scheme = newURI.scheme; - } else { - resultURI.scheme = url.scheme; - } - if(newURI.host != null && newURI.host.length > 0) { - resultURI.host = newURI.host; - resultURI.port = null; - resultURI.fragment = null; - resultURI.hash = { }; - resultURI.XRF = { }; - if(newURI.port != null) { - resultURI.port = newURI.port; - } - } else { - resultURI.host = url.host; - } - var directory = ""; - if(url.directory != null) { - directory = url.directory; - } - if(newURI.directory != null) { - if(newUrl.charAt(0) != "/" && newUrl.indexOf("://") == -1) { - var stripRelative_r = new RegExp("\\./.*","".split("u").join("")); - directory = directory.replace(stripRelative_r,""); - directory += newURI.directory; - } else { - directory = newURI.directory; - } - } - resultURI.directory = directory; - if(newURI.file != null) { - resultURI.file = newURI.file; - } else { - resultURI.file = url.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(newURI.query != null) { - resultURI.query = newURI.query; - } - if(newURI.fragment != null) { - resultURI.fragment = newURI.fragment; - } - resultURI.hash = newURI.hash; - resultURI.XRF = newURI.XRF; - xrfragment_URI.computeVars(resultURI); - return resultURI; -}; -xrfragment_URI.cloneURI = function(url) { - var clonedURI = new xrfragment_URI(); - clonedURI.url = url.url; - clonedURI.source = url.source; - clonedURI.scheme = url.scheme; - clonedURI.authority = url.authority; - clonedURI.userInfo = url.userInfo; - clonedURI.password = url.password; - clonedURI.host = url.host; - clonedURI.port = url.port; - clonedURI.relative = url.relative; - clonedURI.path = url.path; - clonedURI.directory = url.directory; - clonedURI.file = url.file; - clonedURI.query = url.query; - clonedURI.fragment = url.fragment; - return clonedURI; -}; -var xrfragment_XRF = $hx_exports["xrfragment"]["XRF"] = function(_fragment,_flags,_index) { - this.floats = []; - this.shift = []; - this.fragment = _fragment; - this.flags = _flags; - this.index = _index; -}; -xrfragment_XRF.__name__ = true; -xrfragment_XRF.set = function(flag,flags) { - return flags | flag; -}; -xrfragment_XRF.unset = function(flag,flags) { - return flags & ~flag; -}; -xrfragment_XRF.prototype = { - is: function(flag) { - var v = this.flags; - if(!(typeof(v) == "number" && ((v | 0) === v))) { - this.flags = 0; - } - return (this.flags & flag) != 0; - } - ,validate: function(value) { - this.guessType(this,value); - var ok = true; - if(value.length == 0 && !this.is(xrfragment_XRF.T_PREDEFINED_VIEW)) { - ok = false; - } - if(!this.is(xrfragment_XRF.T_FLOAT) && this.is(xrfragment_XRF.T_VECTOR2) && !(typeof(this.x) == "number" && typeof(this.y) == "number")) { - ok = false; - } - if(!(this.is(xrfragment_XRF.T_VECTOR2) || this.is(xrfragment_XRF.T_STRING)) && this.is(xrfragment_XRF.T_VECTOR3) && !(typeof(this.x) == "number" && typeof(this.y) == "number" && typeof(this.z) == "number")) { - ok = false; - } - return ok; - } - ,guessType: function(v,str) { - v.string = str; - if(xrfragment_XRF.isReset.match(v.fragment)) { - v.reset = true; - } - if(v.fragment == "loop") { - v.loop = true; - } - if(typeof(str) != "string") { - return; - } - if(str.length > 0) { - if(xrfragment_XRF.isXRFScheme.match(str)) { - v.xrfScheme = true; - str = str.replace(xrfragment_XRF.isXRFScheme.r,""); - v.string = str; - } - if(str.split(",").length > 1) { - var xyzn = str.split(","); - if(xyzn.length > 0) { - v.x = parseFloat(xyzn[0]); - } - if(xyzn.length > 1) { - v.y = parseFloat(xyzn[1]); - } - if(xyzn.length > 2) { - v.z = parseFloat(xyzn[2]); - } - var _g = 0; - var _g1 = xyzn.length; - while(_g < _g1) { - var i = _g++; - v.shift.push(xrfragment_XRF.isShift.match(xyzn[i])); - v.floats.push(parseFloat(xyzn[i].replace(xrfragment_XRF.isShift.r,""))); - } - } - if(xrfragment_XRF.isColor.match(str)) { - v.color = str; - } - if(xrfragment_XRF.isFloat.match(str)) { - v.x = parseFloat(str); - v.float = v.x; - } - if(xrfragment_XRF.isInt.match(str)) { - v.int = Std.parseInt(str); - v.x = v.int; - v.floats.push(v.x); - } - v.filter = new xrfragment_Filter(v.fragment + "=" + v.string); - } else { - v.filter = new xrfragment_Filter(v.fragment); - } - } -}; -function $getIterator(o) { if( o instanceof Array ) return new haxe_iterators_ArrayIterator(o); else return o.iterator(); } -function $bind(o,m) { if( m == null ) return null; if( m.__id__ == null ) m.__id__ = $global.$haxeUID++; var f; if( o.hx__closures__ == null ) o.hx__closures__ = {}; else f = o.hx__closures__[m.__id__]; if( f == null ) { f = m.bind(o); o.hx__closures__[m.__id__] = f; } return f; } -$global.$haxeUID |= 0; -if(typeof(performance) != "undefined" ? typeof(performance.now) == "function" : false) { - HxOverrides.now = performance.now.bind(performance); -} -if( String.fromCodePoint == null ) String.fromCodePoint = function(c) { return c < 0x10000 ? String.fromCharCode(c) : String.fromCharCode((c>>10)+0xD7C0)+String.fromCharCode((c&0x3FF)+0xDC00); } -String.__name__ = true; -Array.__name__ = true; -js_Boot.__toStr = ({ }).toString; -haxe_Template.splitter = new EReg("(::[A-Za-z0-9_ ()&|!+=/><*.\"-]+::|\\$\\$([A-Za-z0-9_-]+)\\()",""); -haxe_Template.expr_splitter = new EReg("(\\(|\\)|[ \r\n\t]*\"[^\"]*\"[ \r\n\t]*|[!+=/><*.&|-]+)",""); -haxe_Template.expr_trim = new EReg("^[ ]*([^ ]+)[ ]*$",""); -haxe_Template.expr_int = new EReg("^[0-9]+$",""); -haxe_Template.expr_float = new EReg("^([+-]?)(?=\\d|,\\d)\\d*(,\\d*)?([Ee]([+-]?\\d+))?$",""); -haxe_Template.globals = { }; -haxe_Template.hxKeepArrayIterator = new haxe_iterators_ArrayIterator([]); -xrfragment_Parser.error = ""; -xrfragment_Parser.debug = false; -xrfragment_URI.__meta__ = { statics : { template : { keep : null}}}; -xrfragment_URI._parts = ["source","scheme","authority","userInfo","user","password","host","port","relative","path","directory","file","query","fragment"]; -xrfragment_XRF.IMMUTABLE = 1; -xrfragment_XRF.PROP_BIND = 2; -xrfragment_XRF.QUERY_OPERATOR = 4; -xrfragment_XRF.PROMPT = 8; -xrfragment_XRF.CUSTOMFRAG = 16; -xrfragment_XRF.NAVIGATOR = 32; -xrfragment_XRF.METADATA = 64; -xrfragment_XRF.PV_OVERRIDE = 128; -xrfragment_XRF.PV_EXECUTE = 256; -xrfragment_XRF.T_COLOR = 8192; -xrfragment_XRF.T_INT = 16384; -xrfragment_XRF.T_FLOAT = 32768; -xrfragment_XRF.T_VECTOR2 = 65536; -xrfragment_XRF.T_VECTOR3 = 131072; -xrfragment_XRF.T_URL = 262144; -xrfragment_XRF.T_PREDEFINED_VIEW = 524288; -xrfragment_XRF.T_STRING = 1048576; -xrfragment_XRF.T_MEDIAFRAG = 2097152; -xrfragment_XRF.T_DYNAMICKEY = 4194304; -xrfragment_XRF.T_DYNAMICKEYVALUE = 8388608; -xrfragment_XRF.isColor = new EReg("^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$",""); -xrfragment_XRF.isInt = new EReg("^[-0-9]+$",""); -xrfragment_XRF.isFloat = new EReg("^[-0-9]+\\.[0-9]+$",""); -xrfragment_XRF.isVector = new EReg("([,]+|\\w)",""); -xrfragment_XRF.isUrl = new EReg("(://)?\\..*",""); -xrfragment_XRF.isUrlOrPretypedView = new EReg("(^#|://)?\\..*",""); -xrfragment_XRF.isString = new EReg(".*",""); -xrfragment_XRF.operators = new EReg("(^[-]|^[!]|[\\*]$)","g"); -xrfragment_XRF.isProp = new EReg("^.*=[><=]?",""); -xrfragment_XRF.isExclude = new EReg("^-",""); -xrfragment_XRF.isDeep = new EReg("\\*",""); -xrfragment_XRF.isNumber = new EReg("^[0-9\\.]+$",""); -xrfragment_XRF.isMediaFrag = new EReg("^([0-9\\.,\\*+-]+)$",""); -xrfragment_XRF.isReset = new EReg("^!",""); -xrfragment_XRF.isShift = new EReg("^(\\+|--)",""); -xrfragment_XRF.isXRFScheme = new EReg("^xrf://",""); -})(typeof window != "undefined" ? window : typeof global != "undefined" ? global : typeof self != "undefined" ? self : this); -var xrfragment = $hx_exports["xrfragment"]; -export default xrfragment; -// Generated by Haxe 4.3.3 -var $hx_exports = typeof exports != "undefined" ? exports : typeof window != "undefined" ? window : typeof self != "undefined" ? self : this; -(function ($global) { "use strict"; -$hx_exports["xrfragment"] = $hx_exports["xrfragment"] || {}; -var $estr = function() { return js_Boot.__string_rec(this,''); },$hxEnums = $hxEnums || {},$_; -function $extend(from, fields) { - var proto = Object.create(from); - for (var name in fields) proto[name] = fields[name]; - if( fields.toString !== Object.prototype.toString ) proto.toString = fields.toString; - return proto; -} -var EReg = function(r,opt) { - this.r = new RegExp(r,opt.split("u").join("")); -}; -EReg.__name__ = true; -EReg.prototype = { - match: function(s) { - if(this.r.global) { - this.r.lastIndex = 0; - } - this.r.m = this.r.exec(s); - this.r.s = s; - return this.r.m != null; - } - ,matched: function(n) { - if(this.r.m != null && n >= 0 && n < this.r.m.length) { - return this.r.m[n]; - } else { - throw haxe_Exception.thrown("EReg::matched"); - } - } - ,matchedRight: function() { - if(this.r.m == null) { - throw haxe_Exception.thrown("No string matched"); - } - var sz = this.r.m.index + this.r.m[0].length; - return HxOverrides.substr(this.r.s,sz,this.r.s.length - sz); - } - ,matchedPos: function() { - if(this.r.m == null) { - throw haxe_Exception.thrown("No string matched"); - } - return { pos : this.r.m.index, len : this.r.m[0].length}; - } - ,split: function(s) { - var d = "#__delim__#"; - return s.replace(this.r,d).split(d); - } -}; -var HxOverrides = function() { }; -HxOverrides.__name__ = true; -HxOverrides.cca = function(s,index) { - var x = s.charCodeAt(index); - if(x != x) { - return undefined; - } - return x; -}; -HxOverrides.substr = function(s,pos,len) { - if(len == null) { - len = s.length; - } else if(len < 0) { - if(pos == 0) { - len = s.length + len; - } else { - return ""; - } - } - return s.substr(pos,len); -}; -HxOverrides.now = function() { - return Date.now(); -}; -Math.__name__ = true; -var Reflect = function() { }; -Reflect.__name__ = true; -Reflect.field = function(o,field) { - try { - return o[field]; - } catch( _g ) { - return null; - } -}; -Reflect.getProperty = function(o,field) { - var tmp; - if(o == null) { - return null; - } else { - var tmp1; - if(o.__properties__) { - tmp = o.__properties__["get_" + field]; - tmp1 = tmp; - } else { - tmp1 = false; - } - if(tmp1) { - return o[tmp](); - } else { - return o[field]; - } - } -}; -Reflect.fields = function(o) { - var a = []; - if(o != null) { - var hasOwnProperty = Object.prototype.hasOwnProperty; - for( var f in o ) { - if(f != "__id__" && f != "hx__closures__" && hasOwnProperty.call(o,f)) { - a.push(f); - } - } - } - return a; -}; -Reflect.isObject = function(v) { - if(v == null) { - return false; - } - var t = typeof(v); - if(!(t == "string" || t == "object" && v.__enum__ == null)) { - if(t == "function") { - return (v.__name__ || v.__ename__) != null; - } else { - return false; - } - } else { - return true; - } -}; -Reflect.deleteField = function(o,field) { - if(!Object.prototype.hasOwnProperty.call(o,field)) { - return false; - } - delete(o[field]); - return true; -}; -Reflect.copy = function(o) { - if(o == null) { - return null; - } - var o2 = { }; - var _g = 0; - var _g1 = Reflect.fields(o); - while(_g < _g1.length) { - var f = _g1[_g]; - ++_g; - o2[f] = Reflect.field(o,f); - } - return o2; -}; -var Std = function() { }; -Std.__name__ = true; -Std.string = function(s) { - return js_Boot.__string_rec(s,""); -}; -Std.parseInt = function(x) { - var v = parseInt(x); - if(isNaN(v)) { - return null; - } - return v; -}; -var StringBuf = function() { - this.b = ""; -}; -StringBuf.__name__ = true; -var StringTools = function() { }; -StringTools.__name__ = true; -StringTools.isSpace = function(s,pos) { - var c = HxOverrides.cca(s,pos); - if(!(c > 8 && c < 14)) { - return c == 32; - } else { - return true; - } -}; -StringTools.ltrim = function(s) { - var l = s.length; - var r = 0; - while(r < l && StringTools.isSpace(s,r)) ++r; - if(r > 0) { - return HxOverrides.substr(s,r,l - r); - } else { - return s; - } -}; -StringTools.rtrim = function(s) { - var l = s.length; - var r = 0; - while(r < l && StringTools.isSpace(s,l - r - 1)) ++r; - if(r > 0) { - return HxOverrides.substr(s,0,l - r); - } else { - return s; - } -}; -StringTools.trim = function(s) { - return StringTools.ltrim(StringTools.rtrim(s)); -}; -StringTools.replace = function(s,sub,by) { - return s.split(sub).join(by); -}; -var haxe_Exception = function(message,previous,native) { - Error.call(this,message); - this.message = message; - this.__previousException = previous; - this.__nativeException = native != null ? native : this; -}; -haxe_Exception.__name__ = true; -haxe_Exception.caught = function(value) { - if(((value) instanceof haxe_Exception)) { - return value; - } else if(((value) instanceof Error)) { - return new haxe_Exception(value.message,null,value); - } else { - return new haxe_ValueException(value,null,value); - } -}; -haxe_Exception.thrown = function(value) { - if(((value) instanceof haxe_Exception)) { - return value.get_native(); - } else if(((value) instanceof Error)) { - return value; - } else { - var e = new haxe_ValueException(value); - return e; - } -}; -haxe_Exception.__super__ = Error; -haxe_Exception.prototype = $extend(Error.prototype,{ - unwrap: function() { - return this.__nativeException; - } - ,get_native: function() { - return this.__nativeException; - } - ,__properties__: {get_native:"get_native"} -}); -var haxe__$Template_TemplateExpr = $hxEnums["haxe._Template.TemplateExpr"] = { __ename__:true,__constructs__:null - ,OpVar: ($_=function(v) { return {_hx_index:0,v:v,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpVar",$_.__params__ = ["v"],$_) - ,OpExpr: ($_=function(expr) { return {_hx_index:1,expr:expr,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpExpr",$_.__params__ = ["expr"],$_) - ,OpIf: ($_=function(expr,eif,eelse) { return {_hx_index:2,expr:expr,eif:eif,eelse:eelse,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpIf",$_.__params__ = ["expr","eif","eelse"],$_) - ,OpStr: ($_=function(str) { return {_hx_index:3,str:str,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpStr",$_.__params__ = ["str"],$_) - ,OpBlock: ($_=function(l) { return {_hx_index:4,l:l,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpBlock",$_.__params__ = ["l"],$_) - ,OpForeach: ($_=function(expr,loop) { return {_hx_index:5,expr:expr,loop:loop,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpForeach",$_.__params__ = ["expr","loop"],$_) - ,OpMacro: ($_=function(name,params) { return {_hx_index:6,name:name,params:params,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpMacro",$_.__params__ = ["name","params"],$_) -}; -haxe__$Template_TemplateExpr.__constructs__ = [haxe__$Template_TemplateExpr.OpVar,haxe__$Template_TemplateExpr.OpExpr,haxe__$Template_TemplateExpr.OpIf,haxe__$Template_TemplateExpr.OpStr,haxe__$Template_TemplateExpr.OpBlock,haxe__$Template_TemplateExpr.OpForeach,haxe__$Template_TemplateExpr.OpMacro]; -var haxe_iterators_ArrayIterator = function(array) { - this.current = 0; - this.array = array; -}; -haxe_iterators_ArrayIterator.__name__ = true; -haxe_iterators_ArrayIterator.prototype = { - hasNext: function() { - return this.current < this.array.length; - } - ,next: function() { - return this.array[this.current++]; - } -}; -var haxe_Template = function(str) { - var tokens = this.parseTokens(str); - this.expr = this.parseBlock(tokens); - if(!tokens.isEmpty()) { - throw haxe_Exception.thrown("Unexpected '" + Std.string(tokens.first().s) + "'"); - } -}; -haxe_Template.__name__ = true; -haxe_Template.prototype = { - execute: function(context,macros) { - this.macros = macros == null ? { } : macros; - this.context = context; - this.stack = new haxe_ds_List(); - this.buf = new StringBuf(); - this.run(this.expr); - return this.buf.b; - } - ,resolve: function(v) { - if(v == "__current__") { - return this.context; - } - if(Reflect.isObject(this.context)) { - var value = Reflect.getProperty(this.context,v); - if(value != null || Object.prototype.hasOwnProperty.call(this.context,v)) { - return value; - } - } - var _g_head = this.stack.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var ctx = val; - var value = Reflect.getProperty(ctx,v); - if(value != null || Object.prototype.hasOwnProperty.call(ctx,v)) { - return value; - } - } - return Reflect.field(haxe_Template.globals,v); - } - ,parseTokens: function(data) { - var tokens = new haxe_ds_List(); - while(haxe_Template.splitter.match(data)) { - var p = haxe_Template.splitter.matchedPos(); - if(p.pos > 0) { - tokens.add({ p : HxOverrides.substr(data,0,p.pos), s : true, l : null}); - } - if(HxOverrides.cca(data,p.pos) == 58) { - tokens.add({ p : HxOverrides.substr(data,p.pos + 2,p.len - 4), s : false, l : null}); - data = haxe_Template.splitter.matchedRight(); - continue; - } - var parp = p.pos + p.len; - var npar = 1; - var params = []; - var part = ""; - while(true) { - var c = HxOverrides.cca(data,parp); - ++parp; - if(c == 40) { - ++npar; - } else if(c == 41) { - --npar; - if(npar <= 0) { - break; - } - } else if(c == null) { - throw haxe_Exception.thrown("Unclosed macro parenthesis"); - } - if(c == 44 && npar == 1) { - params.push(part); - part = ""; - } else { - part += String.fromCodePoint(c); - } - } - params.push(part); - tokens.add({ p : haxe_Template.splitter.matched(2), s : false, l : params}); - data = HxOverrides.substr(data,parp,data.length - parp); - } - if(data.length > 0) { - tokens.add({ p : data, s : true, l : null}); - } - return tokens; - } - ,parseBlock: function(tokens) { - var l = new haxe_ds_List(); - while(true) { - var t = tokens.first(); - if(t == null) { - break; - } - if(!t.s && (t.p == "end" || t.p == "else" || HxOverrides.substr(t.p,0,7) == "elseif ")) { - break; - } - l.add(this.parse(tokens)); - } - if(l.length == 1) { - return l.first(); - } - return haxe__$Template_TemplateExpr.OpBlock(l); - } - ,parse: function(tokens) { - var t = tokens.pop(); - var p = t.p; - if(t.s) { - return haxe__$Template_TemplateExpr.OpStr(p); - } - if(t.l != null) { - var pe = new haxe_ds_List(); - var _g = 0; - var _g1 = t.l; - while(_g < _g1.length) { - var p1 = _g1[_g]; - ++_g; - pe.add(this.parseBlock(this.parseTokens(p1))); - } - return haxe__$Template_TemplateExpr.OpMacro(p,pe); - } - var kwdEnd = function(kwd) { - var pos = -1; - var length = kwd.length; - if(HxOverrides.substr(p,0,length) == kwd) { - pos = length; - var _g_offset = 0; - var _g_s = HxOverrides.substr(p,length,null); - while(_g_offset < _g_s.length) { - var c = _g_s.charCodeAt(_g_offset++); - if(c == 32) { - ++pos; - } else { - break; - } - } - } - return pos; - }; - var pos = kwdEnd("if"); - if(pos > 0) { - p = HxOverrides.substr(p,pos,p.length - pos); - var e = this.parseExpr(p); - var eif = this.parseBlock(tokens); - var t = tokens.first(); - var eelse; - if(t == null) { - throw haxe_Exception.thrown("Unclosed 'if'"); - } - if(t.p == "end") { - tokens.pop(); - eelse = null; - } else if(t.p == "else") { - tokens.pop(); - eelse = this.parseBlock(tokens); - t = tokens.pop(); - if(t == null || t.p != "end") { - throw haxe_Exception.thrown("Unclosed 'else'"); - } - } else { - t.p = HxOverrides.substr(t.p,4,t.p.length - 4); - eelse = this.parse(tokens); - } - return haxe__$Template_TemplateExpr.OpIf(e,eif,eelse); - } - var pos = kwdEnd("foreach"); - if(pos >= 0) { - p = HxOverrides.substr(p,pos,p.length - pos); - var e = this.parseExpr(p); - var efor = this.parseBlock(tokens); - var t = tokens.pop(); - if(t == null || t.p != "end") { - throw haxe_Exception.thrown("Unclosed 'foreach'"); - } - return haxe__$Template_TemplateExpr.OpForeach(e,efor); - } - if(haxe_Template.expr_splitter.match(p)) { - return haxe__$Template_TemplateExpr.OpExpr(this.parseExpr(p)); - } - return haxe__$Template_TemplateExpr.OpVar(p); - } - ,parseExpr: function(data) { - var l = new haxe_ds_List(); - var expr = data; - while(haxe_Template.expr_splitter.match(data)) { - var p = haxe_Template.expr_splitter.matchedPos(); - var k = p.pos + p.len; - if(p.pos != 0) { - l.add({ p : HxOverrides.substr(data,0,p.pos), s : true}); - } - var p1 = haxe_Template.expr_splitter.matched(0); - l.add({ p : p1, s : p1.indexOf("\"") >= 0}); - data = haxe_Template.expr_splitter.matchedRight(); - } - if(data.length != 0) { - var _g_offset = 0; - var _g_s = data; - while(_g_offset < _g_s.length) { - var _g_key = _g_offset; - var _g_value = _g_s.charCodeAt(_g_offset++); - var i = _g_key; - var c = _g_value; - if(c != 32) { - l.add({ p : HxOverrides.substr(data,i,null), s : true}); - break; - } - } - } - var e; - try { - e = this.makeExpr(l); - if(!l.isEmpty()) { - throw haxe_Exception.thrown(l.first().p); - } - } catch( _g ) { - var _g1 = haxe_Exception.caught(_g).unwrap(); - if(typeof(_g1) == "string") { - var s = _g1; - throw haxe_Exception.thrown("Unexpected '" + s + "' in " + expr); - } else { - throw _g; - } - } - return function() { - try { - return e(); - } catch( _g ) { - var exc = haxe_Exception.caught(_g).unwrap(); - throw haxe_Exception.thrown("Error : " + Std.string(exc) + " in " + expr); - } - }; - } - ,makeConst: function(v) { - haxe_Template.expr_trim.match(v); - v = haxe_Template.expr_trim.matched(1); - if(HxOverrides.cca(v,0) == 34) { - var str = HxOverrides.substr(v,1,v.length - 2); - return function() { - return str; - }; - } - if(haxe_Template.expr_int.match(v)) { - var i = Std.parseInt(v); - return function() { - return i; - }; - } - if(haxe_Template.expr_float.match(v)) { - var f = parseFloat(v); - return function() { - return f; - }; - } - var me = this; - return function() { - return me.resolve(v); - }; - } - ,makePath: function(e,l) { - var p = l.first(); - if(p == null || p.p != ".") { - return e; - } - l.pop(); - var field = l.pop(); - if(field == null || !field.s) { - throw haxe_Exception.thrown(field.p); - } - var f = field.p; - haxe_Template.expr_trim.match(f); - f = haxe_Template.expr_trim.matched(1); - return this.makePath(function() { - return Reflect.field(e(),f); - },l); - } - ,makeExpr: function(l) { - return this.makePath(this.makeExpr2(l),l); - } - ,skipSpaces: function(l) { - var p = l.first(); - while(p != null) { - var _g_offset = 0; - var _g_s = p.p; - while(_g_offset < _g_s.length) { - var c = _g_s.charCodeAt(_g_offset++); - if(c != 32) { - return; - } - } - l.pop(); - p = l.first(); - } - } - ,makeExpr2: function(l) { - this.skipSpaces(l); - var p = l.pop(); - this.skipSpaces(l); - if(p == null) { - throw haxe_Exception.thrown(""); - } - if(p.s) { - return this.makeConst(p.p); - } - switch(p.p) { - case "!": - var e = this.makeExpr(l); - return function() { - var v = e(); - if(v != null) { - return v == false; - } else { - return true; - } - }; - case "(": - this.skipSpaces(l); - var e1 = this.makeExpr(l); - this.skipSpaces(l); - var p1 = l.pop(); - if(p1 == null || p1.s) { - throw haxe_Exception.thrown(p1); - } - if(p1.p == ")") { - return e1; - } - this.skipSpaces(l); - var e2 = this.makeExpr(l); - this.skipSpaces(l); - var p2 = l.pop(); - this.skipSpaces(l); - if(p2 == null || p2.p != ")") { - throw haxe_Exception.thrown(p2); - } - switch(p1.p) { - case "!=": - return function() { - return e1() != e2(); - }; - case "&&": - return function() { - return e1() && e2(); - }; - case "*": - return function() { - return e1() * e2(); - }; - case "+": - return function() { - return e1() + e2(); - }; - case "-": - return function() { - return e1() - e2(); - }; - case "/": - return function() { - return e1() / e2(); - }; - case "<": - return function() { - return e1() < e2(); - }; - case "<=": - return function() { - return e1() <= e2(); - }; - case "==": - return function() { - return e1() == e2(); - }; - case ">": - return function() { - return e1() > e2(); - }; - case ">=": - return function() { - return e1() >= e2(); - }; - case "||": - return function() { - return e1() || e2(); - }; - default: - throw haxe_Exception.thrown("Unknown operation " + p1.p); - } - break; - case "-": - var e3 = this.makeExpr(l); - return function() { - return -e3(); - }; - } - throw haxe_Exception.thrown(p.p); - } - ,run: function(e) { - switch(e._hx_index) { - case 0: - var v = e.v; - var _this = this.buf; - var x = Std.string(this.resolve(v)); - _this.b += Std.string(x); - break; - case 1: - var e1 = e.expr; - var _this = this.buf; - var x = Std.string(e1()); - _this.b += Std.string(x); - break; - case 2: - var e1 = e.expr; - var eif = e.eif; - var eelse = e.eelse; - var v = e1(); - if(v == null || v == false) { - if(eelse != null) { - this.run(eelse); - } - } else { - this.run(eif); - } - break; - case 3: - var str = e.str; - this.buf.b += str == null ? "null" : "" + str; - break; - case 4: - var l = e.l; - var _g_head = l.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var e1 = val; - this.run(e1); - } - break; - case 5: - var e1 = e.expr; - var loop = e.loop; - var v = e1(); - try { - var x = $getIterator(v); - if(x.hasNext == null) { - throw haxe_Exception.thrown(null); - } - v = x; - } catch( _g ) { - try { - if(v.hasNext == null) { - throw haxe_Exception.thrown(null); - } - } catch( _g1 ) { - throw haxe_Exception.thrown("Cannot iter on " + Std.string(v)); - } - } - this.stack.push(this.context); - var v1 = v; - var ctx = v1; - while(ctx.hasNext()) { - var ctx1 = ctx.next(); - this.context = ctx1; - this.run(loop); - } - this.context = this.stack.pop(); - break; - case 6: - var m = e.name; - var params = e.params; - var v = Reflect.field(this.macros,m); - var pl = []; - var old = this.buf; - pl.push($bind(this,this.resolve)); - var _g_head = params.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var p = val; - if(p._hx_index == 0) { - var v1 = p.v; - pl.push(this.resolve(v1)); - } else { - this.buf = new StringBuf(); - this.run(p); - pl.push(this.buf.b); - } - } - this.buf = old; - try { - var _this = this.buf; - var x = Std.string(v.apply(this.macros,pl)); - _this.b += Std.string(x); - } catch( _g ) { - var e = haxe_Exception.caught(_g).unwrap(); - var plstr; - try { - plstr = pl.join(","); - } catch( _g1 ) { - plstr = "???"; - } - var msg = "Macro call " + m + "(" + plstr + ") failed (" + Std.string(e) + ")"; - throw haxe_Exception.thrown(msg); - } - break; - } - } -}; -var haxe_ValueException = function(value,previous,native) { - haxe_Exception.call(this,String(value),previous,native); - this.value = value; -}; -haxe_ValueException.__name__ = true; -haxe_ValueException.__super__ = haxe_Exception; -haxe_ValueException.prototype = $extend(haxe_Exception.prototype,{ - unwrap: function() { - return this.value; - } -}); -var haxe_ds_List = function() { - this.length = 0; -}; -haxe_ds_List.__name__ = true; -haxe_ds_List.prototype = { - add: function(item) { - var x = new haxe_ds__$List_ListNode(item,null); - if(this.h == null) { - this.h = x; - } else { - this.q.next = x; - } - this.q = x; - this.length++; - } - ,push: function(item) { - var x = new haxe_ds__$List_ListNode(item,this.h); - this.h = x; - if(this.q == null) { - this.q = x; - } - this.length++; - } - ,first: function() { - if(this.h == null) { - return null; - } else { - return this.h.item; - } - } - ,pop: function() { - if(this.h == null) { - return null; - } - var x = this.h.item; - this.h = this.h.next; - if(this.h == null) { - this.q = null; - } - this.length--; - return x; - } - ,isEmpty: function() { - return this.h == null; - } - ,toString: function() { - var s_b = ""; - var first = true; - var l = this.h; - s_b += "{"; - while(l != null) { - if(first) { - first = false; - } else { - s_b += ", "; - } - s_b += Std.string(Std.string(l.item)); - l = l.next; - } - s_b += "}"; - return s_b; - } -}; -var haxe_ds__$List_ListNode = function(item,next) { - this.item = item; - this.next = next; -}; -haxe_ds__$List_ListNode.__name__ = true; -var js_Boot = function() { }; -js_Boot.__name__ = true; -js_Boot.__string_rec = function(o,s) { - if(o == null) { - return "null"; - } - if(s.length >= 5) { - return "<...>"; - } - var t = typeof(o); - if(t == "function" && (o.__name__ || o.__ename__)) { - t = "object"; - } - switch(t) { - case "function": - return ""; - case "object": - if(o.__enum__) { - var e = $hxEnums[o.__enum__]; - var con = e.__constructs__[o._hx_index]; - var n = con._hx_name; - if(con.__params__) { - s = s + "\t"; - return n + "(" + ((function($this) { - var $r; - var _g = []; - { - var _g1 = 0; - var _g2 = con.__params__; - while(true) { - if(!(_g1 < _g2.length)) { - break; - } - var p = _g2[_g1]; - _g1 = _g1 + 1; - _g.push(js_Boot.__string_rec(o[p],s)); - } - } - $r = _g; - return $r; - }(this))).join(",") + ")"; - } else { - return n; - } - } - if(((o) instanceof Array)) { - var str = "["; - s += "\t"; - var _g = 0; - var _g1 = o.length; - while(_g < _g1) { - var i = _g++; - str += (i > 0 ? "," : "") + js_Boot.__string_rec(o[i],s); - } - str += "]"; - return str; - } - var tostr; - try { - tostr = o.toString; - } catch( _g ) { - return "???"; - } - if(tostr != null && tostr != Object.toString && typeof(tostr) == "function") { - var s2 = o.toString(); - if(s2 != "[object Object]") { - return s2; - } - } - var str = "{\n"; - s += "\t"; - var hasp = o.hasOwnProperty != null; - var k = null; - for( k in o ) { - if(hasp && !o.hasOwnProperty(k)) { - continue; - } - if(k == "prototype" || k == "__class__" || k == "__super__" || k == "__interfaces__" || k == "__properties__") { - continue; - } - if(str.length != 2) { - str += ", \n"; - } - str += s + k + " : " + js_Boot.__string_rec(o[k],s); - } - s = s.substring(1); - str += "\n" + s + "}"; - return str; - case "string": - return o; - default: - return String(o); - } -}; -var xrfragment_Filter = $hx_exports["xrfragment"]["Filter"] = function(str) { - this.q = { }; - this.str = ""; - if(str != null) { - this.parse(str); - } -}; -xrfragment_Filter.__name__ = true; -xrfragment_Filter.prototype = { - toObject: function() { - return Reflect.copy(this.q); - } - ,get: function() { - return Reflect.copy(this.q); - } - ,parse: function(str) { - var token = str.split(" "); - var q = { }; - var process = function(str,prefix) { - if(prefix == null) { - prefix = ""; - } - str = StringTools.trim(str); - var k = str.split("=")[0]; - var v = str.split("=")[1]; - var filter = { }; - if(q[prefix + k]) { - filter = q[prefix + k]; - } - if(xrfragment_XRF.isProp.match(str)) { - var oper = ""; - if(str.indexOf(">") != -1) { - oper = ">"; - } - if(str.indexOf("<") != -1) { - oper = "<"; - } - if(xrfragment_XRF.isExclude.match(k)) { - k = HxOverrides.substr(k,1,null); - } - v = HxOverrides.substr(v,oper.length,null); - if(oper.length == 0) { - oper = "="; - } - var rule = { }; - if(xrfragment_XRF.isNumber.match(v)) { - rule[oper] = parseFloat(v); - } else { - rule[oper] = v; - } - q["expr"] = rule; - } - var value = xrfragment_XRF.isDeep.match(str) ? k.split("*").length - 1 : 0; - q["deep"] = value; - var value = xrfragment_XRF.isExclude.match(str) ? false : true; - q["show"] = value; - var value = k.replace(xrfragment_XRF.operators.r,""); - q["key"] = value; - q["value"] = v; - }; - var _g = 0; - var _g1 = token.length; - while(_g < _g1) { - var i = _g++; - process(token[i]); - } - return this.q = q; - } - ,test: function(obj) { - var qualify = false; - var _g = 0; - var _g1 = Reflect.fields(obj); - while(_g < _g1.length) { - var k = _g1[_g]; - ++_g; - var v = Std.string(Reflect.field(obj,k)); - if(this.testProperty(k,v)) { - qualify = true; - } - } - var _g = 0; - var _g1 = Reflect.fields(obj); - while(_g < _g1.length) { - var k = _g1[_g]; - ++_g; - var v = Std.string(Reflect.field(obj,k)); - if(this.testProperty(k,v,true)) { - qualify = false; - } - } - return qualify; - } - ,testProperty: function(property,value,exclude) { - var conds = 0; - var fails = 0; - var qualify = 0; - var testprop = function(expr) { - conds += 1; - fails += expr ? 0 : 1; - return expr; - }; - if(this.q[value] != null) { - var v = this.q[value]; - if(v[property] != null) { - return v[property]; - } - } - if(Reflect.field(this.q,"expr")) { - var f = Reflect.field(this.q,"expr"); - if(!Reflect.field(this.q,"show")) { - if(Reflect.field(f,"!=") != null && testprop((value == null ? "null" : "" + value) == Std.string(Reflect.field(f,"!="))) && exclude) { - ++qualify; - } - } else { - if(Reflect.field(f,"*") != null && testprop(parseFloat(value) != null)) { - ++qualify; - } - if(Reflect.field(f,">") != null && testprop(parseFloat(value) >= parseFloat(Reflect.field(f,">")))) { - ++qualify; - } - if(Reflect.field(f,"<") != null && testprop(parseFloat(value) <= parseFloat(Reflect.field(f,"<")))) { - ++qualify; - } - if(Reflect.field(f,"=") != null && (testprop(value == Reflect.field(f,"=")) || testprop(parseFloat(value) == parseFloat(Reflect.field(f,"="))))) { - ++qualify; - } - } - } - return qualify > 0; - } -}; -var xrfragment_Parser = $hx_exports["xrfragment"]["Parser"] = function() { }; -xrfragment_Parser.__name__ = true; -xrfragment_Parser.parse = function(key,value,store,index) { - var Frag_h = Object.create(null); - Frag_h["#"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_PREDEFINED_VIEW | xrfragment_XRF.PV_EXECUTE; - Frag_h["src"] = xrfragment_XRF.T_URL; - Frag_h["href"] = xrfragment_XRF.T_URL | xrfragment_XRF.T_PREDEFINED_VIEW; - Frag_h["tag"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["pos"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_VECTOR3 | xrfragment_XRF.T_STRING | xrfragment_XRF.METADATA | xrfragment_XRF.NAVIGATOR; - Frag_h["rot"] = xrfragment_XRF.QUERY_OPERATOR | xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_VECTOR3 | xrfragment_XRF.METADATA | xrfragment_XRF.NAVIGATOR; - Frag_h["t"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_FLOAT | xrfragment_XRF.T_VECTOR2 | xrfragment_XRF.NAVIGATOR | xrfragment_XRF.METADATA; - Frag_h["s"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_MEDIAFRAG; - Frag_h["loop"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_PREDEFINED_VIEW; - Frag_h["uv"] = xrfragment_XRF.T_VECTOR2 | xrfragment_XRF.T_MEDIAFRAG; - Frag_h["namespace"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["SPDX"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["unit"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["description"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - var keyStripped = key.replace(xrfragment_XRF.operators.r,""); - var isPVDynamic = key.length > 0 && !Object.prototype.hasOwnProperty.call(Frag_h,key); - if(isPVDynamic) { - var v = new xrfragment_XRF(key,xrfragment_XRF.PV_EXECUTE | xrfragment_XRF.NAVIGATOR,index); - v.validate(value); - v.flags = xrfragment_XRF.set(xrfragment_XRF.T_DYNAMICKEY,v.flags); - if(!Object.prototype.hasOwnProperty.call(Frag_h,key)) { - v.flags = xrfragment_XRF.set(xrfragment_XRF.CUSTOMFRAG,v.flags); - } - if(value.length == 0) { - v.flags = xrfragment_XRF.set(xrfragment_XRF.T_DYNAMICKEYVALUE,v.flags); - } - store[keyStripped] = v; - return true; - } - var v = new xrfragment_XRF(key,Frag_h[key],index); - if(Object.prototype.hasOwnProperty.call(Frag_h,key)) { - if(!v.validate(value)) { - console.log("src/xrfragment/Parser.hx:67:","⚠ fragment '" + key + "' has incompatible value (" + value + ")"); - return false; - } - store[keyStripped] = v; - if(xrfragment_Parser.debug) { - console.log("src/xrfragment/Parser.hx:71:","✔ " + key + ": " + v.string); - } - } else { - if(typeof(value) == "string") { - v.guessType(v,value); - } - v.flags = xrfragment_XRF.set(xrfragment_XRF.CUSTOMFRAG,v.flags); - store[keyStripped] = v; - } - return true; -}; -xrfragment_Parser.getMetaData = function() { - var meta = { title : ["title","og:title","dc.title"], description : ["aria-description","og:description","dc.description"], author : ["author","dc.creator"], publisher : ["publisher","dc.publisher"], website : ["og:site_name","og:url","dc.publisher"], license : ["SPDX","dc.rights"]}; - return meta; -}; -var xrfragment_URI = $hx_exports["xrfragment"]["URI"] = function() { - this.XRF = { }; - this.hash = { }; - this.fragment = ""; -}; -xrfragment_URI.__name__ = true; -xrfragment_URI.parseFragment = function(url,filter) { - var store = { }; - if(url == null || url.indexOf("#") == -1) { - return store; - } - var fragment = url.split("#"); - var splitArray = fragment[1].split("&"); - var _g = 0; - var _g1 = splitArray.length; - while(_g < _g1) { - var i = _g++; - var splitByEqual = splitArray[i].split("="); - var regexPlus = new EReg("\\+","g"); - var key = splitByEqual[0]; - var value = ""; - if(splitByEqual.length > 1) { - if(xrfragment_XRF.isVector.match(splitByEqual[1])) { - value = splitByEqual[1]; - } else { - var s = regexPlus.split(splitByEqual[1]).join(" "); - value = decodeURIComponent(s.split("+").join(" ")); - } - } - var ok = xrfragment_Parser.parse(key,value,store,i); - } - if(filter != null && filter != 0) { - var _g = 0; - var _g1 = Reflect.fields(store); - while(_g < _g1.length) { - var key = _g1[_g]; - ++_g; - var xrf = store[key]; - if(!xrf.is(filter)) { - Reflect.deleteField(store,key); - } - } - } - return store; -}; -xrfragment_URI.template = function(uri,vars) { - var parts = uri.split("#"); - if(parts.length == 1) { - return uri; - } - var frag = parts[1]; - frag = StringTools.replace(frag,"{","::"); - frag = StringTools.replace(frag,"}","::"); - frag = new haxe_Template(frag).execute(vars); - frag = StringTools.replace(frag,"null",""); - parts[1] = frag; - return parts.join("#"); -}; -xrfragment_URI.parse = function(stringUrl,flags) { - var r = new EReg("^(?:(?![^:@]+:[^:@/]*@)([^:/?#.]+):)?(?://)?((?:(([^:@]*)(?::([^:@]*))?)?@)?([^:/?#]*)(?::(\\d*))?)(((/(?:[^?#](?![^?#/]*\\.[^?#/.]+(?:[?#]|$)))*/?)?([^?#/]*))(?:\\?([^#]*))?(?:#(.*))?)",""); - if(stringUrl.indexOf("://") == -1 && stringUrl.charAt(0) != "/") { - stringUrl = "/" + stringUrl; - } - r.match(stringUrl); - var url = new xrfragment_URI(); - var _g = 0; - var _g1 = xrfragment_URI._parts.length; - while(_g < _g1) { - var i = _g++; - url[xrfragment_URI._parts[i]] = r.matched(i); - } - if(xrfragment_URI.isRelative(url) == true) { - if(url.directory == null && url.host != null) { - url.file = url.host; - } - url.host = ""; - } - url.hash = { }; - if(url.fragment != null && url.fragment.length > 0) { - url.XRF = xrfragment_URI.parseFragment("#" + url.fragment,flags); - var key; - var _g = 0; - var _g1 = Reflect.fields(url.XRF); - while(_g < _g1.length) { - var key = _g1[_g]; - ++_g; - var v = url.XRF[key]; - url.hash[key] = v["string"]; - } - } - xrfragment_URI.computeVars(url); - return url; -}; -xrfragment_URI.computeVars = function(url) { - var r_r = new RegExp("//","g".split("u").join("")); - if(url.directory != null && url.directory.indexOf("//") != -1) { - url.directory = url.directory.replace(r_r,"/"); - } - if(url.path != null && url.path.indexOf("//") != -1) { - url.path = url.path.replace(r_r,"/"); - } - if(url.file != null && url.file.indexOf("//") != -1) { - url.file = url.file.replace(r_r,"/"); - } - url.URN = url.scheme + "://" + url.host; - if(url.port != null) { - url.URN += ":" + url.port; - } - url.URN += url.directory; - if(url.file != null) { - var parts = url.file.split("."); - if(parts.length > 1) { - url.fileExt = parts.pop(); - } - } -}; -xrfragment_URI.toString = function(url) { - var result = ""; - if(url.scheme != null) { - result += url.scheme + "://"; - } - if(url.user != null) { - result += url.user + ":"; - } - if(url.password != null) { - result += url.password + "@"; - } - if(url.host != null) { - result += url.host; - } - if(url.port != null) { - result += ":" + url.port; - } - if(url.directory != null) { - result += url.directory; - } - if(url.file != null) { - result += url.file; - } - if(url.query != null) { - result += "?" + url.query; - } - if(url.fragment != null) { - result += "#" + url.fragment; - } - return result; -}; -xrfragment_URI.appendURI = function(url,appendedURI) { - if(xrfragment_URI.isRelative(url) == true) { - return xrfragment_URI.appendToRelativeURI(url,appendedURI); - } else { - return xrfragment_URI.appendToAbsoluteURI(url,appendedURI); - } -}; -xrfragment_URI.isRelative = function(url) { - return url.scheme == null; -}; -xrfragment_URI.appendToRelativeURI = function(url,appendedURI) { - if(url.directory == null || url.host == null) { - return xrfragment_URI.cloneURI(appendedURI); - } - var resultURI = new xrfragment_URI(); - resultURI.host = url.host; - resultURI.directory = url.directory; - if(appendedURI.host != null) { - resultURI.directory += appendedURI.host; - } - if(appendedURI.directory != null) { - var directory = appendedURI.directory; - if(appendedURI.host == null) { - resultURI.directory += HxOverrides.substr(directory,1,null); - } else { - resultURI.directory += directory; - } - } - if(appendedURI.file != null) { - resultURI.file = appendedURI.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(appendedURI.query != null) { - resultURI.query = appendedURI.query; - } - if(appendedURI.fragment != null) { - resultURI.fragment = appendedURI.fragment; - } - return resultURI; -}; -xrfragment_URI.appendToAbsoluteURI = function(url,appendedURI) { - var resultURI = new xrfragment_URI(); - if(url.scheme != null) { - resultURI.scheme = url.scheme; - } - if(url.host != null) { - resultURI.host = url.host; - } - var directory = ""; - if(url.directory != null) { - directory = url.directory; - } - if(appendedURI.host != null) { - appendedURI.directory += appendedURI.host; - } - if(appendedURI.directory != null) { - directory += appendedURI.directory; - } - resultURI.directory = directory; - if(appendedURI.file != null) { - resultURI.file = appendedURI.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(appendedURI.query != null) { - resultURI.query = appendedURI.query; - } - if(appendedURI.fragment != null) { - resultURI.fragment = appendedURI.fragment; - } - return resultURI; -}; -xrfragment_URI.toAbsolute = function(url,newUrl) { - var newURI = xrfragment_URI.parse(newUrl,0); - var resultURI = new xrfragment_URI(); - resultURI.port = url.port; - resultURI.source = newUrl; - if(newURI.scheme != null) { - resultURI.scheme = newURI.scheme; - } else { - resultURI.scheme = url.scheme; - } - if(newURI.host != null && newURI.host.length > 0) { - resultURI.host = newURI.host; - resultURI.port = null; - resultURI.fragment = null; - resultURI.hash = { }; - resultURI.XRF = { }; - if(newURI.port != null) { - resultURI.port = newURI.port; - } - } else { - resultURI.host = url.host; - } - var directory = ""; - if(url.directory != null) { - directory = url.directory; - } - if(newURI.directory != null) { - if(newUrl.charAt(0) != "/" && newUrl.indexOf("://") == -1) { - var stripRelative_r = new RegExp("\\./.*","".split("u").join("")); - directory = directory.replace(stripRelative_r,""); - directory += newURI.directory; - } else { - directory = newURI.directory; - } - } - resultURI.directory = directory; - if(newURI.file != null) { - resultURI.file = newURI.file; - } else { - resultURI.file = url.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(newURI.query != null) { - resultURI.query = newURI.query; - } - if(newURI.fragment != null) { - resultURI.fragment = newURI.fragment; - } - resultURI.hash = newURI.hash; - resultURI.XRF = newURI.XRF; - xrfragment_URI.computeVars(resultURI); - return resultURI; -}; -xrfragment_URI.cloneURI = function(url) { - var clonedURI = new xrfragment_URI(); - clonedURI.url = url.url; - clonedURI.source = url.source; - clonedURI.scheme = url.scheme; - clonedURI.authority = url.authority; - clonedURI.userInfo = url.userInfo; - clonedURI.password = url.password; - clonedURI.host = url.host; - clonedURI.port = url.port; - clonedURI.relative = url.relative; - clonedURI.path = url.path; - clonedURI.directory = url.directory; - clonedURI.file = url.file; - clonedURI.query = url.query; - clonedURI.fragment = url.fragment; - return clonedURI; -}; -var xrfragment_XRF = $hx_exports["xrfragment"]["XRF"] = function(_fragment,_flags,_index) { - this.floats = []; - this.shift = []; - this.fragment = _fragment; - this.flags = _flags; - this.index = _index; -}; -xrfragment_XRF.__name__ = true; -xrfragment_XRF.set = function(flag,flags) { - return flags | flag; -}; -xrfragment_XRF.unset = function(flag,flags) { - return flags & ~flag; -}; -xrfragment_XRF.prototype = { - is: function(flag) { - var v = this.flags; - if(!(typeof(v) == "number" && ((v | 0) === v))) { - this.flags = 0; - } - return (this.flags & flag) != 0; - } - ,validate: function(value) { - this.guessType(this,value); - var ok = true; - if(value.length == 0 && !this.is(xrfragment_XRF.T_PREDEFINED_VIEW)) { - ok = false; - } - if(!this.is(xrfragment_XRF.T_FLOAT) && this.is(xrfragment_XRF.T_VECTOR2) && !(typeof(this.x) == "number" && typeof(this.y) == "number")) { - ok = false; - } - if(!(this.is(xrfragment_XRF.T_VECTOR2) || this.is(xrfragment_XRF.T_STRING)) && this.is(xrfragment_XRF.T_VECTOR3) && !(typeof(this.x) == "number" && typeof(this.y) == "number" && typeof(this.z) == "number")) { - ok = false; - } - return ok; - } - ,guessType: function(v,str) { - v.string = str; - if(xrfragment_XRF.isReset.match(v.fragment)) { - v.reset = true; - } - if(v.fragment == "loop") { - v.loop = true; - } - if(typeof(str) != "string") { - return; - } - if(str.length > 0) { - if(xrfragment_XRF.isXRFScheme.match(str)) { - v.xrfScheme = true; - str = str.replace(xrfragment_XRF.isXRFScheme.r,""); - v.string = str; - } - if(str.split(",").length > 1) { - var xyzn = str.split(","); - if(xyzn.length > 0) { - v.x = parseFloat(xyzn[0]); - } - if(xyzn.length > 1) { - v.y = parseFloat(xyzn[1]); - } - if(xyzn.length > 2) { - v.z = parseFloat(xyzn[2]); - } - var _g = 0; - var _g1 = xyzn.length; - while(_g < _g1) { - var i = _g++; - v.shift.push(xrfragment_XRF.isShift.match(xyzn[i])); - v.floats.push(parseFloat(xyzn[i].replace(xrfragment_XRF.isShift.r,""))); - } - } - if(xrfragment_XRF.isColor.match(str)) { - v.color = str; - } - if(xrfragment_XRF.isFloat.match(str)) { - v.x = parseFloat(str); - v.float = v.x; - } - if(xrfragment_XRF.isInt.match(str)) { - v.int = Std.parseInt(str); - v.x = v.int; - v.floats.push(v.x); - } - v.filter = new xrfragment_Filter(v.fragment + "=" + v.string); - } else { - v.filter = new xrfragment_Filter(v.fragment); - } - } -}; -function $getIterator(o) { if( o instanceof Array ) return new haxe_iterators_ArrayIterator(o); else return o.iterator(); } -function $bind(o,m) { if( m == null ) return null; if( m.__id__ == null ) m.__id__ = $global.$haxeUID++; var f; if( o.hx__closures__ == null ) o.hx__closures__ = {}; else f = o.hx__closures__[m.__id__]; if( f == null ) { f = m.bind(o); o.hx__closures__[m.__id__] = f; } return f; } -$global.$haxeUID |= 0; -if(typeof(performance) != "undefined" ? typeof(performance.now) == "function" : false) { - HxOverrides.now = performance.now.bind(performance); -} -if( String.fromCodePoint == null ) String.fromCodePoint = function(c) { return c < 0x10000 ? String.fromCharCode(c) : String.fromCharCode((c>>10)+0xD7C0)+String.fromCharCode((c&0x3FF)+0xDC00); } -String.__name__ = true; -Array.__name__ = true; -js_Boot.__toStr = ({ }).toString; -haxe_Template.splitter = new EReg("(::[A-Za-z0-9_ ()&|!+=/><*.\"-]+::|\\$\\$([A-Za-z0-9_-]+)\\()",""); -haxe_Template.expr_splitter = new EReg("(\\(|\\)|[ \r\n\t]*\"[^\"]*\"[ \r\n\t]*|[!+=/><*.&|-]+)",""); -haxe_Template.expr_trim = new EReg("^[ ]*([^ ]+)[ ]*$",""); -haxe_Template.expr_int = new EReg("^[0-9]+$",""); -haxe_Template.expr_float = new EReg("^([+-]?)(?=\\d|,\\d)\\d*(,\\d*)?([Ee]([+-]?\\d+))?$",""); -haxe_Template.globals = { }; -haxe_Template.hxKeepArrayIterator = new haxe_iterators_ArrayIterator([]); -xrfragment_Parser.error = ""; -xrfragment_Parser.debug = false; -xrfragment_URI.__meta__ = { statics : { template : { keep : null}}}; -xrfragment_URI._parts = ["source","scheme","authority","userInfo","user","password","host","port","relative","path","directory","file","query","fragment"]; -xrfragment_XRF.IMMUTABLE = 1; -xrfragment_XRF.PROP_BIND = 2; -xrfragment_XRF.QUERY_OPERATOR = 4; -xrfragment_XRF.PROMPT = 8; -xrfragment_XRF.CUSTOMFRAG = 16; -xrfragment_XRF.NAVIGATOR = 32; -xrfragment_XRF.METADATA = 64; -xrfragment_XRF.PV_OVERRIDE = 128; -xrfragment_XRF.PV_EXECUTE = 256; -xrfragment_XRF.T_COLOR = 8192; -xrfragment_XRF.T_INT = 16384; -xrfragment_XRF.T_FLOAT = 32768; -xrfragment_XRF.T_VECTOR2 = 65536; -xrfragment_XRF.T_VECTOR3 = 131072; -xrfragment_XRF.T_URL = 262144; -xrfragment_XRF.T_PREDEFINED_VIEW = 524288; -xrfragment_XRF.T_STRING = 1048576; -xrfragment_XRF.T_MEDIAFRAG = 2097152; -xrfragment_XRF.T_DYNAMICKEY = 4194304; -xrfragment_XRF.T_DYNAMICKEYVALUE = 8388608; -xrfragment_XRF.isColor = new EReg("^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$",""); -xrfragment_XRF.isInt = new EReg("^[-0-9]+$",""); -xrfragment_XRF.isFloat = new EReg("^[-0-9]+\\.[0-9]+$",""); -xrfragment_XRF.isVector = new EReg("([,]+|\\w)",""); -xrfragment_XRF.isUrl = new EReg("(://)?\\..*",""); -xrfragment_XRF.isUrlOrPretypedView = new EReg("(^#|://)?\\..*",""); -xrfragment_XRF.isString = new EReg(".*",""); -xrfragment_XRF.operators = new EReg("(^[-]|^[!]|[\\*]$)","g"); -xrfragment_XRF.isProp = new EReg("^.*=[><=]?",""); -xrfragment_XRF.isExclude = new EReg("^-",""); -xrfragment_XRF.isDeep = new EReg("\\*",""); -xrfragment_XRF.isNumber = new EReg("^[0-9\\.]+$",""); -xrfragment_XRF.isMediaFrag = new EReg("^([0-9\\.,\\*+-]+)$",""); -xrfragment_XRF.isReset = new EReg("^!",""); -xrfragment_XRF.isShift = new EReg("^(\\+|--)",""); -xrfragment_XRF.isXRFScheme = new EReg("^xrf://",""); -})(typeof window != "undefined" ? window : typeof global != "undefined" ? global : typeof self != "undefined" ? self : this); -var xrfragment = $hx_exports["xrfragment"]; -export default xrfragment; -// Generated by Haxe 4.3.3 -var $hx_exports = typeof exports != "undefined" ? exports : typeof window != "undefined" ? window : typeof self != "undefined" ? self : this; -(function ($global) { "use strict"; -$hx_exports["xrfragment"] = $hx_exports["xrfragment"] || {}; -var $estr = function() { return js_Boot.__string_rec(this,''); },$hxEnums = $hxEnums || {},$_; -function $extend(from, fields) { - var proto = Object.create(from); - for (var name in fields) proto[name] = fields[name]; - if( fields.toString !== Object.prototype.toString ) proto.toString = fields.toString; - return proto; -} -var EReg = function(r,opt) { - this.r = new RegExp(r,opt.split("u").join("")); -}; -EReg.__name__ = true; -EReg.prototype = { - match: function(s) { - if(this.r.global) { - this.r.lastIndex = 0; - } - this.r.m = this.r.exec(s); - this.r.s = s; - return this.r.m != null; - } - ,matched: function(n) { - if(this.r.m != null && n >= 0 && n < this.r.m.length) { - return this.r.m[n]; - } else { - throw haxe_Exception.thrown("EReg::matched"); - } - } - ,matchedRight: function() { - if(this.r.m == null) { - throw haxe_Exception.thrown("No string matched"); - } - var sz = this.r.m.index + this.r.m[0].length; - return HxOverrides.substr(this.r.s,sz,this.r.s.length - sz); - } - ,matchedPos: function() { - if(this.r.m == null) { - throw haxe_Exception.thrown("No string matched"); - } - return { pos : this.r.m.index, len : this.r.m[0].length}; - } - ,split: function(s) { - var d = "#__delim__#"; - return s.replace(this.r,d).split(d); - } -}; -var HxOverrides = function() { }; -HxOverrides.__name__ = true; -HxOverrides.cca = function(s,index) { - var x = s.charCodeAt(index); - if(x != x) { - return undefined; - } - return x; -}; -HxOverrides.substr = function(s,pos,len) { - if(len == null) { - len = s.length; - } else if(len < 0) { - if(pos == 0) { - len = s.length + len; - } else { - return ""; - } - } - return s.substr(pos,len); -}; -HxOverrides.now = function() { - return Date.now(); -}; -Math.__name__ = true; -var Reflect = function() { }; -Reflect.__name__ = true; -Reflect.field = function(o,field) { - try { - return o[field]; - } catch( _g ) { - return null; - } -}; -Reflect.getProperty = function(o,field) { - var tmp; - if(o == null) { - return null; - } else { - var tmp1; - if(o.__properties__) { - tmp = o.__properties__["get_" + field]; - tmp1 = tmp; - } else { - tmp1 = false; - } - if(tmp1) { - return o[tmp](); - } else { - return o[field]; - } - } -}; -Reflect.fields = function(o) { - var a = []; - if(o != null) { - var hasOwnProperty = Object.prototype.hasOwnProperty; - for( var f in o ) { - if(f != "__id__" && f != "hx__closures__" && hasOwnProperty.call(o,f)) { - a.push(f); - } - } - } - return a; -}; -Reflect.isObject = function(v) { - if(v == null) { - return false; - } - var t = typeof(v); - if(!(t == "string" || t == "object" && v.__enum__ == null)) { - if(t == "function") { - return (v.__name__ || v.__ename__) != null; - } else { - return false; - } - } else { - return true; - } -}; -Reflect.deleteField = function(o,field) { - if(!Object.prototype.hasOwnProperty.call(o,field)) { - return false; - } - delete(o[field]); - return true; -}; -Reflect.copy = function(o) { - if(o == null) { - return null; - } - var o2 = { }; - var _g = 0; - var _g1 = Reflect.fields(o); - while(_g < _g1.length) { - var f = _g1[_g]; - ++_g; - o2[f] = Reflect.field(o,f); - } - return o2; -}; -var Std = function() { }; -Std.__name__ = true; -Std.string = function(s) { - return js_Boot.__string_rec(s,""); -}; -Std.parseInt = function(x) { - var v = parseInt(x); - if(isNaN(v)) { - return null; - } - return v; -}; -var StringBuf = function() { - this.b = ""; -}; -StringBuf.__name__ = true; -var StringTools = function() { }; -StringTools.__name__ = true; -StringTools.isSpace = function(s,pos) { - var c = HxOverrides.cca(s,pos); - if(!(c > 8 && c < 14)) { - return c == 32; - } else { - return true; - } -}; -StringTools.ltrim = function(s) { - var l = s.length; - var r = 0; - while(r < l && StringTools.isSpace(s,r)) ++r; - if(r > 0) { - return HxOverrides.substr(s,r,l - r); - } else { - return s; - } -}; -StringTools.rtrim = function(s) { - var l = s.length; - var r = 0; - while(r < l && StringTools.isSpace(s,l - r - 1)) ++r; - if(r > 0) { - return HxOverrides.substr(s,0,l - r); - } else { - return s; - } -}; -StringTools.trim = function(s) { - return StringTools.ltrim(StringTools.rtrim(s)); -}; -StringTools.replace = function(s,sub,by) { - return s.split(sub).join(by); -}; -var haxe_Exception = function(message,previous,native) { - Error.call(this,message); - this.message = message; - this.__previousException = previous; - this.__nativeException = native != null ? native : this; -}; -haxe_Exception.__name__ = true; -haxe_Exception.caught = function(value) { - if(((value) instanceof haxe_Exception)) { - return value; - } else if(((value) instanceof Error)) { - return new haxe_Exception(value.message,null,value); - } else { - return new haxe_ValueException(value,null,value); - } -}; -haxe_Exception.thrown = function(value) { - if(((value) instanceof haxe_Exception)) { - return value.get_native(); - } else if(((value) instanceof Error)) { - return value; - } else { - var e = new haxe_ValueException(value); - return e; - } -}; -haxe_Exception.__super__ = Error; -haxe_Exception.prototype = $extend(Error.prototype,{ - unwrap: function() { - return this.__nativeException; - } - ,get_native: function() { - return this.__nativeException; - } - ,__properties__: {get_native:"get_native"} -}); -var haxe__$Template_TemplateExpr = $hxEnums["haxe._Template.TemplateExpr"] = { __ename__:true,__constructs__:null - ,OpVar: ($_=function(v) { return {_hx_index:0,v:v,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpVar",$_.__params__ = ["v"],$_) - ,OpExpr: ($_=function(expr) { return {_hx_index:1,expr:expr,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpExpr",$_.__params__ = ["expr"],$_) - ,OpIf: ($_=function(expr,eif,eelse) { return {_hx_index:2,expr:expr,eif:eif,eelse:eelse,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpIf",$_.__params__ = ["expr","eif","eelse"],$_) - ,OpStr: ($_=function(str) { return {_hx_index:3,str:str,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpStr",$_.__params__ = ["str"],$_) - ,OpBlock: ($_=function(l) { return {_hx_index:4,l:l,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpBlock",$_.__params__ = ["l"],$_) - ,OpForeach: ($_=function(expr,loop) { return {_hx_index:5,expr:expr,loop:loop,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpForeach",$_.__params__ = ["expr","loop"],$_) - ,OpMacro: ($_=function(name,params) { return {_hx_index:6,name:name,params:params,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpMacro",$_.__params__ = ["name","params"],$_) -}; -haxe__$Template_TemplateExpr.__constructs__ = [haxe__$Template_TemplateExpr.OpVar,haxe__$Template_TemplateExpr.OpExpr,haxe__$Template_TemplateExpr.OpIf,haxe__$Template_TemplateExpr.OpStr,haxe__$Template_TemplateExpr.OpBlock,haxe__$Template_TemplateExpr.OpForeach,haxe__$Template_TemplateExpr.OpMacro]; -var haxe_iterators_ArrayIterator = function(array) { - this.current = 0; - this.array = array; -}; -haxe_iterators_ArrayIterator.__name__ = true; -haxe_iterators_ArrayIterator.prototype = { - hasNext: function() { - return this.current < this.array.length; - } - ,next: function() { - return this.array[this.current++]; - } -}; -var haxe_Template = function(str) { - var tokens = this.parseTokens(str); - this.expr = this.parseBlock(tokens); - if(!tokens.isEmpty()) { - throw haxe_Exception.thrown("Unexpected '" + Std.string(tokens.first().s) + "'"); - } -}; -haxe_Template.__name__ = true; -haxe_Template.prototype = { - execute: function(context,macros) { - this.macros = macros == null ? { } : macros; - this.context = context; - this.stack = new haxe_ds_List(); - this.buf = new StringBuf(); - this.run(this.expr); - return this.buf.b; - } - ,resolve: function(v) { - if(v == "__current__") { - return this.context; - } - if(Reflect.isObject(this.context)) { - var value = Reflect.getProperty(this.context,v); - if(value != null || Object.prototype.hasOwnProperty.call(this.context,v)) { - return value; - } - } - var _g_head = this.stack.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var ctx = val; - var value = Reflect.getProperty(ctx,v); - if(value != null || Object.prototype.hasOwnProperty.call(ctx,v)) { - return value; - } - } - return Reflect.field(haxe_Template.globals,v); - } - ,parseTokens: function(data) { - var tokens = new haxe_ds_List(); - while(haxe_Template.splitter.match(data)) { - var p = haxe_Template.splitter.matchedPos(); - if(p.pos > 0) { - tokens.add({ p : HxOverrides.substr(data,0,p.pos), s : true, l : null}); - } - if(HxOverrides.cca(data,p.pos) == 58) { - tokens.add({ p : HxOverrides.substr(data,p.pos + 2,p.len - 4), s : false, l : null}); - data = haxe_Template.splitter.matchedRight(); - continue; - } - var parp = p.pos + p.len; - var npar = 1; - var params = []; - var part = ""; - while(true) { - var c = HxOverrides.cca(data,parp); - ++parp; - if(c == 40) { - ++npar; - } else if(c == 41) { - --npar; - if(npar <= 0) { - break; - } - } else if(c == null) { - throw haxe_Exception.thrown("Unclosed macro parenthesis"); - } - if(c == 44 && npar == 1) { - params.push(part); - part = ""; - } else { - part += String.fromCodePoint(c); - } - } - params.push(part); - tokens.add({ p : haxe_Template.splitter.matched(2), s : false, l : params}); - data = HxOverrides.substr(data,parp,data.length - parp); - } - if(data.length > 0) { - tokens.add({ p : data, s : true, l : null}); - } - return tokens; - } - ,parseBlock: function(tokens) { - var l = new haxe_ds_List(); - while(true) { - var t = tokens.first(); - if(t == null) { - break; - } - if(!t.s && (t.p == "end" || t.p == "else" || HxOverrides.substr(t.p,0,7) == "elseif ")) { - break; - } - l.add(this.parse(tokens)); - } - if(l.length == 1) { - return l.first(); - } - return haxe__$Template_TemplateExpr.OpBlock(l); - } - ,parse: function(tokens) { - var t = tokens.pop(); - var p = t.p; - if(t.s) { - return haxe__$Template_TemplateExpr.OpStr(p); - } - if(t.l != null) { - var pe = new haxe_ds_List(); - var _g = 0; - var _g1 = t.l; - while(_g < _g1.length) { - var p1 = _g1[_g]; - ++_g; - pe.add(this.parseBlock(this.parseTokens(p1))); - } - return haxe__$Template_TemplateExpr.OpMacro(p,pe); - } - var kwdEnd = function(kwd) { - var pos = -1; - var length = kwd.length; - if(HxOverrides.substr(p,0,length) == kwd) { - pos = length; - var _g_offset = 0; - var _g_s = HxOverrides.substr(p,length,null); - while(_g_offset < _g_s.length) { - var c = _g_s.charCodeAt(_g_offset++); - if(c == 32) { - ++pos; - } else { - break; - } - } - } - return pos; - }; - var pos = kwdEnd("if"); - if(pos > 0) { - p = HxOverrides.substr(p,pos,p.length - pos); - var e = this.parseExpr(p); - var eif = this.parseBlock(tokens); - var t = tokens.first(); - var eelse; - if(t == null) { - throw haxe_Exception.thrown("Unclosed 'if'"); - } - if(t.p == "end") { - tokens.pop(); - eelse = null; - } else if(t.p == "else") { - tokens.pop(); - eelse = this.parseBlock(tokens); - t = tokens.pop(); - if(t == null || t.p != "end") { - throw haxe_Exception.thrown("Unclosed 'else'"); - } - } else { - t.p = HxOverrides.substr(t.p,4,t.p.length - 4); - eelse = this.parse(tokens); - } - return haxe__$Template_TemplateExpr.OpIf(e,eif,eelse); - } - var pos = kwdEnd("foreach"); - if(pos >= 0) { - p = HxOverrides.substr(p,pos,p.length - pos); - var e = this.parseExpr(p); - var efor = this.parseBlock(tokens); - var t = tokens.pop(); - if(t == null || t.p != "end") { - throw haxe_Exception.thrown("Unclosed 'foreach'"); - } - return haxe__$Template_TemplateExpr.OpForeach(e,efor); - } - if(haxe_Template.expr_splitter.match(p)) { - return haxe__$Template_TemplateExpr.OpExpr(this.parseExpr(p)); - } - return haxe__$Template_TemplateExpr.OpVar(p); - } - ,parseExpr: function(data) { - var l = new haxe_ds_List(); - var expr = data; - while(haxe_Template.expr_splitter.match(data)) { - var p = haxe_Template.expr_splitter.matchedPos(); - var k = p.pos + p.len; - if(p.pos != 0) { - l.add({ p : HxOverrides.substr(data,0,p.pos), s : true}); - } - var p1 = haxe_Template.expr_splitter.matched(0); - l.add({ p : p1, s : p1.indexOf("\"") >= 0}); - data = haxe_Template.expr_splitter.matchedRight(); - } - if(data.length != 0) { - var _g_offset = 0; - var _g_s = data; - while(_g_offset < _g_s.length) { - var _g_key = _g_offset; - var _g_value = _g_s.charCodeAt(_g_offset++); - var i = _g_key; - var c = _g_value; - if(c != 32) { - l.add({ p : HxOverrides.substr(data,i,null), s : true}); - break; - } - } - } - var e; - try { - e = this.makeExpr(l); - if(!l.isEmpty()) { - throw haxe_Exception.thrown(l.first().p); - } - } catch( _g ) { - var _g1 = haxe_Exception.caught(_g).unwrap(); - if(typeof(_g1) == "string") { - var s = _g1; - throw haxe_Exception.thrown("Unexpected '" + s + "' in " + expr); - } else { - throw _g; - } - } - return function() { - try { - return e(); - } catch( _g ) { - var exc = haxe_Exception.caught(_g).unwrap(); - throw haxe_Exception.thrown("Error : " + Std.string(exc) + " in " + expr); - } - }; - } - ,makeConst: function(v) { - haxe_Template.expr_trim.match(v); - v = haxe_Template.expr_trim.matched(1); - if(HxOverrides.cca(v,0) == 34) { - var str = HxOverrides.substr(v,1,v.length - 2); - return function() { - return str; - }; - } - if(haxe_Template.expr_int.match(v)) { - var i = Std.parseInt(v); - return function() { - return i; - }; - } - if(haxe_Template.expr_float.match(v)) { - var f = parseFloat(v); - return function() { - return f; - }; - } - var me = this; - return function() { - return me.resolve(v); - }; - } - ,makePath: function(e,l) { - var p = l.first(); - if(p == null || p.p != ".") { - return e; - } - l.pop(); - var field = l.pop(); - if(field == null || !field.s) { - throw haxe_Exception.thrown(field.p); - } - var f = field.p; - haxe_Template.expr_trim.match(f); - f = haxe_Template.expr_trim.matched(1); - return this.makePath(function() { - return Reflect.field(e(),f); - },l); - } - ,makeExpr: function(l) { - return this.makePath(this.makeExpr2(l),l); - } - ,skipSpaces: function(l) { - var p = l.first(); - while(p != null) { - var _g_offset = 0; - var _g_s = p.p; - while(_g_offset < _g_s.length) { - var c = _g_s.charCodeAt(_g_offset++); - if(c != 32) { - return; - } - } - l.pop(); - p = l.first(); - } - } - ,makeExpr2: function(l) { - this.skipSpaces(l); - var p = l.pop(); - this.skipSpaces(l); - if(p == null) { - throw haxe_Exception.thrown(""); - } - if(p.s) { - return this.makeConst(p.p); - } - switch(p.p) { - case "!": - var e = this.makeExpr(l); - return function() { - var v = e(); - if(v != null) { - return v == false; - } else { - return true; - } - }; - case "(": - this.skipSpaces(l); - var e1 = this.makeExpr(l); - this.skipSpaces(l); - var p1 = l.pop(); - if(p1 == null || p1.s) { - throw haxe_Exception.thrown(p1); - } - if(p1.p == ")") { - return e1; - } - this.skipSpaces(l); - var e2 = this.makeExpr(l); - this.skipSpaces(l); - var p2 = l.pop(); - this.skipSpaces(l); - if(p2 == null || p2.p != ")") { - throw haxe_Exception.thrown(p2); - } - switch(p1.p) { - case "!=": - return function() { - return e1() != e2(); - }; - case "&&": - return function() { - return e1() && e2(); - }; - case "*": - return function() { - return e1() * e2(); - }; - case "+": - return function() { - return e1() + e2(); - }; - case "-": - return function() { - return e1() - e2(); - }; - case "/": - return function() { - return e1() / e2(); - }; - case "<": - return function() { - return e1() < e2(); - }; - case "<=": - return function() { - return e1() <= e2(); - }; - case "==": - return function() { - return e1() == e2(); - }; - case ">": - return function() { - return e1() > e2(); - }; - case ">=": - return function() { - return e1() >= e2(); - }; - case "||": - return function() { - return e1() || e2(); - }; - default: - throw haxe_Exception.thrown("Unknown operation " + p1.p); - } - break; - case "-": - var e3 = this.makeExpr(l); - return function() { - return -e3(); - }; - } - throw haxe_Exception.thrown(p.p); - } - ,run: function(e) { - switch(e._hx_index) { - case 0: - var v = e.v; - var _this = this.buf; - var x = Std.string(this.resolve(v)); - _this.b += Std.string(x); - break; - case 1: - var e1 = e.expr; - var _this = this.buf; - var x = Std.string(e1()); - _this.b += Std.string(x); - break; - case 2: - var e1 = e.expr; - var eif = e.eif; - var eelse = e.eelse; - var v = e1(); - if(v == null || v == false) { - if(eelse != null) { - this.run(eelse); - } - } else { - this.run(eif); - } - break; - case 3: - var str = e.str; - this.buf.b += str == null ? "null" : "" + str; - break; - case 4: - var l = e.l; - var _g_head = l.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var e1 = val; - this.run(e1); - } - break; - case 5: - var e1 = e.expr; - var loop = e.loop; - var v = e1(); - try { - var x = $getIterator(v); - if(x.hasNext == null) { - throw haxe_Exception.thrown(null); - } - v = x; - } catch( _g ) { - try { - if(v.hasNext == null) { - throw haxe_Exception.thrown(null); - } - } catch( _g1 ) { - throw haxe_Exception.thrown("Cannot iter on " + Std.string(v)); - } - } - this.stack.push(this.context); - var v1 = v; - var ctx = v1; - while(ctx.hasNext()) { - var ctx1 = ctx.next(); - this.context = ctx1; - this.run(loop); - } - this.context = this.stack.pop(); - break; - case 6: - var m = e.name; - var params = e.params; - var v = Reflect.field(this.macros,m); - var pl = []; - var old = this.buf; - pl.push($bind(this,this.resolve)); - var _g_head = params.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var p = val; - if(p._hx_index == 0) { - var v1 = p.v; - pl.push(this.resolve(v1)); - } else { - this.buf = new StringBuf(); - this.run(p); - pl.push(this.buf.b); - } - } - this.buf = old; - try { - var _this = this.buf; - var x = Std.string(v.apply(this.macros,pl)); - _this.b += Std.string(x); - } catch( _g ) { - var e = haxe_Exception.caught(_g).unwrap(); - var plstr; - try { - plstr = pl.join(","); - } catch( _g1 ) { - plstr = "???"; - } - var msg = "Macro call " + m + "(" + plstr + ") failed (" + Std.string(e) + ")"; - throw haxe_Exception.thrown(msg); - } - break; - } - } -}; -var haxe_ValueException = function(value,previous,native) { - haxe_Exception.call(this,String(value),previous,native); - this.value = value; -}; -haxe_ValueException.__name__ = true; -haxe_ValueException.__super__ = haxe_Exception; -haxe_ValueException.prototype = $extend(haxe_Exception.prototype,{ - unwrap: function() { - return this.value; - } -}); -var haxe_ds_List = function() { - this.length = 0; -}; -haxe_ds_List.__name__ = true; -haxe_ds_List.prototype = { - add: function(item) { - var x = new haxe_ds__$List_ListNode(item,null); - if(this.h == null) { - this.h = x; - } else { - this.q.next = x; - } - this.q = x; - this.length++; - } - ,push: function(item) { - var x = new haxe_ds__$List_ListNode(item,this.h); - this.h = x; - if(this.q == null) { - this.q = x; - } - this.length++; - } - ,first: function() { - if(this.h == null) { - return null; - } else { - return this.h.item; - } - } - ,pop: function() { - if(this.h == null) { - return null; - } - var x = this.h.item; - this.h = this.h.next; - if(this.h == null) { - this.q = null; - } - this.length--; - return x; - } - ,isEmpty: function() { - return this.h == null; - } - ,toString: function() { - var s_b = ""; - var first = true; - var l = this.h; - s_b += "{"; - while(l != null) { - if(first) { - first = false; - } else { - s_b += ", "; - } - s_b += Std.string(Std.string(l.item)); - l = l.next; - } - s_b += "}"; - return s_b; - } -}; -var haxe_ds__$List_ListNode = function(item,next) { - this.item = item; - this.next = next; -}; -haxe_ds__$List_ListNode.__name__ = true; -var js_Boot = function() { }; -js_Boot.__name__ = true; -js_Boot.__string_rec = function(o,s) { - if(o == null) { - return "null"; - } - if(s.length >= 5) { - return "<...>"; - } - var t = typeof(o); - if(t == "function" && (o.__name__ || o.__ename__)) { - t = "object"; - } - switch(t) { - case "function": - return ""; - case "object": - if(o.__enum__) { - var e = $hxEnums[o.__enum__]; - var con = e.__constructs__[o._hx_index]; - var n = con._hx_name; - if(con.__params__) { - s = s + "\t"; - return n + "(" + ((function($this) { - var $r; - var _g = []; - { - var _g1 = 0; - var _g2 = con.__params__; - while(true) { - if(!(_g1 < _g2.length)) { - break; - } - var p = _g2[_g1]; - _g1 = _g1 + 1; - _g.push(js_Boot.__string_rec(o[p],s)); - } - } - $r = _g; - return $r; - }(this))).join(",") + ")"; - } else { - return n; - } - } - if(((o) instanceof Array)) { - var str = "["; - s += "\t"; - var _g = 0; - var _g1 = o.length; - while(_g < _g1) { - var i = _g++; - str += (i > 0 ? "," : "") + js_Boot.__string_rec(o[i],s); - } - str += "]"; - return str; - } - var tostr; - try { - tostr = o.toString; - } catch( _g ) { - return "???"; - } - if(tostr != null && tostr != Object.toString && typeof(tostr) == "function") { - var s2 = o.toString(); - if(s2 != "[object Object]") { - return s2; - } - } - var str = "{\n"; - s += "\t"; - var hasp = o.hasOwnProperty != null; - var k = null; - for( k in o ) { - if(hasp && !o.hasOwnProperty(k)) { - continue; - } - if(k == "prototype" || k == "__class__" || k == "__super__" || k == "__interfaces__" || k == "__properties__") { - continue; - } - if(str.length != 2) { - str += ", \n"; - } - str += s + k + " : " + js_Boot.__string_rec(o[k],s); - } - s = s.substring(1); - str += "\n" + s + "}"; - return str; - case "string": - return o; - default: - return String(o); - } -}; -var xrfragment_Filter = $hx_exports["xrfragment"]["Filter"] = function(str) { - this.q = { }; - this.str = ""; - if(str != null) { - this.parse(str); - } -}; -xrfragment_Filter.__name__ = true; -xrfragment_Filter.prototype = { - toObject: function() { - return Reflect.copy(this.q); - } - ,get: function() { - return Reflect.copy(this.q); - } - ,parse: function(str) { - var token = str.split(" "); - var q = { }; - var process = function(str,prefix) { - if(prefix == null) { - prefix = ""; - } - str = StringTools.trim(str); - var k = str.split("=")[0]; - var v = str.split("=")[1]; - var filter = { }; - if(q[prefix + k]) { - filter = q[prefix + k]; - } - if(xrfragment_XRF.isProp.match(str)) { - var oper = ""; - if(str.indexOf(">") != -1) { - oper = ">"; - } - if(str.indexOf("<") != -1) { - oper = "<"; - } - if(xrfragment_XRF.isExclude.match(k)) { - k = HxOverrides.substr(k,1,null); - } - v = HxOverrides.substr(v,oper.length,null); - if(oper.length == 0) { - oper = "="; - } - var rule = { }; - if(xrfragment_XRF.isNumber.match(v)) { - rule[oper] = parseFloat(v); - } else { - rule[oper] = v; - } - q["expr"] = rule; - } - var value = xrfragment_XRF.isDeep.match(str) ? k.split("*").length - 1 : 0; - q["deep"] = value; - var value = xrfragment_XRF.isExclude.match(str) ? false : true; - q["show"] = value; - var value = k.replace(xrfragment_XRF.operators.r,""); - q["key"] = value; - q["value"] = v; - }; - var _g = 0; - var _g1 = token.length; - while(_g < _g1) { - var i = _g++; - process(token[i]); - } - return this.q = q; - } - ,test: function(obj) { - var qualify = false; - var _g = 0; - var _g1 = Reflect.fields(obj); - while(_g < _g1.length) { - var k = _g1[_g]; - ++_g; - var v = Std.string(Reflect.field(obj,k)); - if(this.testProperty(k,v)) { - qualify = true; - } - } - var _g = 0; - var _g1 = Reflect.fields(obj); - while(_g < _g1.length) { - var k = _g1[_g]; - ++_g; - var v = Std.string(Reflect.field(obj,k)); - if(this.testProperty(k,v,true)) { - qualify = false; - } - } - return qualify; - } - ,testProperty: function(property,value,exclude) { - var conds = 0; - var fails = 0; - var qualify = 0; - var testprop = function(expr) { - conds += 1; - fails += expr ? 0 : 1; - return expr; - }; - if(this.q[value] != null) { - var v = this.q[value]; - if(v[property] != null) { - return v[property]; - } - } - if(Reflect.field(this.q,"expr")) { - var f = Reflect.field(this.q,"expr"); - if(!Reflect.field(this.q,"show")) { - if(Reflect.field(f,"!=") != null && testprop((value == null ? "null" : "" + value) == Std.string(Reflect.field(f,"!="))) && exclude) { - ++qualify; - } - } else { - if(Reflect.field(f,"*") != null && testprop(parseFloat(value) != null)) { - ++qualify; - } - if(Reflect.field(f,">") != null && testprop(parseFloat(value) >= parseFloat(Reflect.field(f,">")))) { - ++qualify; - } - if(Reflect.field(f,"<") != null && testprop(parseFloat(value) <= parseFloat(Reflect.field(f,"<")))) { - ++qualify; - } - if(Reflect.field(f,"=") != null && (testprop(value == Reflect.field(f,"=")) || testprop(parseFloat(value) == parseFloat(Reflect.field(f,"="))))) { - ++qualify; - } - } - } - return qualify > 0; - } -}; -var xrfragment_Parser = $hx_exports["xrfragment"]["Parser"] = function() { }; -xrfragment_Parser.__name__ = true; -xrfragment_Parser.parse = function(key,value,store,index) { - var Frag_h = Object.create(null); - Frag_h["#"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_PREDEFINED_VIEW | xrfragment_XRF.PV_EXECUTE; - Frag_h["src"] = xrfragment_XRF.T_URL; - Frag_h["href"] = xrfragment_XRF.T_URL | xrfragment_XRF.T_PREDEFINED_VIEW; - Frag_h["tag"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["pos"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_VECTOR3 | xrfragment_XRF.T_STRING | xrfragment_XRF.METADATA | xrfragment_XRF.NAVIGATOR; - Frag_h["rot"] = xrfragment_XRF.QUERY_OPERATOR | xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_VECTOR3 | xrfragment_XRF.METADATA | xrfragment_XRF.NAVIGATOR; - Frag_h["t"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_FLOAT | xrfragment_XRF.T_VECTOR2 | xrfragment_XRF.NAVIGATOR | xrfragment_XRF.METADATA; - Frag_h["s"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_MEDIAFRAG; - Frag_h["loop"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_PREDEFINED_VIEW; - Frag_h["uv"] = xrfragment_XRF.T_VECTOR2 | xrfragment_XRF.T_MEDIAFRAG; - Frag_h["namespace"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["SPDX"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["unit"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["description"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - var keyStripped = key.replace(xrfragment_XRF.operators.r,""); - var isPVDynamic = key.length > 0 && !Object.prototype.hasOwnProperty.call(Frag_h,key); - if(isPVDynamic) { - var v = new xrfragment_XRF(key,xrfragment_XRF.PV_EXECUTE | xrfragment_XRF.NAVIGATOR,index); - v.validate(value); - v.flags = xrfragment_XRF.set(xrfragment_XRF.T_DYNAMICKEY,v.flags); - if(!Object.prototype.hasOwnProperty.call(Frag_h,key)) { - v.flags = xrfragment_XRF.set(xrfragment_XRF.CUSTOMFRAG,v.flags); - } - if(value.length == 0) { - v.flags = xrfragment_XRF.set(xrfragment_XRF.T_DYNAMICKEYVALUE,v.flags); - } - store[keyStripped] = v; - return true; - } - var v = new xrfragment_XRF(key,Frag_h[key],index); - if(Object.prototype.hasOwnProperty.call(Frag_h,key)) { - if(!v.validate(value)) { - console.log("src/xrfragment/Parser.hx:67:","⚠ fragment '" + key + "' has incompatible value (" + value + ")"); - return false; - } - store[keyStripped] = v; - if(xrfragment_Parser.debug) { - console.log("src/xrfragment/Parser.hx:71:","✔ " + key + ": " + v.string); - } - } else { - if(typeof(value) == "string") { - v.guessType(v,value); - } - v.flags = xrfragment_XRF.set(xrfragment_XRF.CUSTOMFRAG,v.flags); - store[keyStripped] = v; - } - return true; -}; -xrfragment_Parser.getMetaData = function() { - var meta = { title : ["title","og:title","dc.title"], description : ["aria-description","og:description","dc.description"], author : ["author","dc.creator"], publisher : ["publisher","dc.publisher"], website : ["og:site_name","og:url","dc.publisher"], license : ["SPDX","dc.rights"]}; - return meta; -}; -var xrfragment_URI = $hx_exports["xrfragment"]["URI"] = function() { - this.XRF = { }; - this.hash = { }; - this.fragment = ""; -}; -xrfragment_URI.__name__ = true; -xrfragment_URI.parseFragment = function(url,filter) { - var store = { }; - if(url == null || url.indexOf("#") == -1) { - return store; - } - var fragment = url.split("#"); - var splitArray = fragment[1].split("&"); - var _g = 0; - var _g1 = splitArray.length; - while(_g < _g1) { - var i = _g++; - var splitByEqual = splitArray[i].split("="); - var regexPlus = new EReg("\\+","g"); - var key = splitByEqual[0]; - var value = ""; - if(splitByEqual.length > 1) { - if(xrfragment_XRF.isVector.match(splitByEqual[1])) { - value = splitByEqual[1]; - } else { - var s = regexPlus.split(splitByEqual[1]).join(" "); - value = decodeURIComponent(s.split("+").join(" ")); - } - } - var ok = xrfragment_Parser.parse(key,value,store,i); - } - if(filter != null && filter != 0) { - var _g = 0; - var _g1 = Reflect.fields(store); - while(_g < _g1.length) { - var key = _g1[_g]; - ++_g; - var xrf = store[key]; - if(!xrf.is(filter)) { - Reflect.deleteField(store,key); - } - } - } - return store; -}; -xrfragment_URI.template = function(uri,vars) { - var parts = uri.split("#"); - if(parts.length == 1) { - return uri; - } - var frag = parts[1]; - frag = StringTools.replace(frag,"{","::"); - frag = StringTools.replace(frag,"}","::"); - frag = new haxe_Template(frag).execute(vars); - frag = StringTools.replace(frag,"null",""); - parts[1] = frag; - return parts.join("#"); -}; -xrfragment_URI.parse = function(stringUrl,flags) { - var r = new EReg("^(?:(?![^:@]+:[^:@/]*@)([^:/?#.]+):)?(?://)?((?:(([^:@]*)(?::([^:@]*))?)?@)?([^:/?#]*)(?::(\\d*))?)(((/(?:[^?#](?![^?#/]*\\.[^?#/.]+(?:[?#]|$)))*/?)?([^?#/]*))(?:\\?([^#]*))?(?:#(.*))?)",""); - if(stringUrl.indexOf("://") == -1 && stringUrl.charAt(0) != "/") { - stringUrl = "/" + stringUrl; - } - r.match(stringUrl); - var url = new xrfragment_URI(); - var _g = 0; - var _g1 = xrfragment_URI._parts.length; - while(_g < _g1) { - var i = _g++; - url[xrfragment_URI._parts[i]] = r.matched(i); - } - if(xrfragment_URI.isRelative(url) == true) { - if(url.directory == null && url.host != null) { - url.file = url.host; - } - url.host = ""; - } - url.hash = { }; - if(url.fragment != null && url.fragment.length > 0) { - url.XRF = xrfragment_URI.parseFragment("#" + url.fragment,flags); - var key; - var _g = 0; - var _g1 = Reflect.fields(url.XRF); - while(_g < _g1.length) { - var key = _g1[_g]; - ++_g; - var v = url.XRF[key]; - url.hash[key] = v["string"]; - } - } - xrfragment_URI.computeVars(url); - return url; -}; -xrfragment_URI.computeVars = function(url) { - var r_r = new RegExp("//","g".split("u").join("")); - if(url.directory != null && url.directory.indexOf("//") != -1) { - url.directory = url.directory.replace(r_r,"/"); - } - if(url.path != null && url.path.indexOf("//") != -1) { - url.path = url.path.replace(r_r,"/"); - } - if(url.file != null && url.file.indexOf("//") != -1) { - url.file = url.file.replace(r_r,"/"); - } - url.URN = url.scheme + "://" + url.host; - if(url.port != null) { - url.URN += ":" + url.port; - } - url.URN += url.directory; - if(url.file != null) { - var parts = url.file.split("."); - if(parts.length > 1) { - url.fileExt = parts.pop(); - } - } -}; -xrfragment_URI.toString = function(url) { - var result = ""; - if(url.scheme != null) { - result += url.scheme + "://"; - } - if(url.user != null) { - result += url.user + ":"; - } - if(url.password != null) { - result += url.password + "@"; - } - if(url.host != null) { - result += url.host; - } - if(url.port != null) { - result += ":" + url.port; - } - if(url.directory != null) { - result += url.directory; - } - if(url.file != null) { - result += url.file; - } - if(url.query != null) { - result += "?" + url.query; - } - if(url.fragment != null) { - result += "#" + url.fragment; - } - return result; -}; -xrfragment_URI.appendURI = function(url,appendedURI) { - if(xrfragment_URI.isRelative(url) == true) { - return xrfragment_URI.appendToRelativeURI(url,appendedURI); - } else { - return xrfragment_URI.appendToAbsoluteURI(url,appendedURI); - } -}; -xrfragment_URI.isRelative = function(url) { - return url.scheme == null; -}; -xrfragment_URI.appendToRelativeURI = function(url,appendedURI) { - if(url.directory == null || url.host == null) { - return xrfragment_URI.cloneURI(appendedURI); - } - var resultURI = new xrfragment_URI(); - resultURI.host = url.host; - resultURI.directory = url.directory; - if(appendedURI.host != null) { - resultURI.directory += appendedURI.host; - } - if(appendedURI.directory != null) { - var directory = appendedURI.directory; - if(appendedURI.host == null) { - resultURI.directory += HxOverrides.substr(directory,1,null); - } else { - resultURI.directory += directory; - } - } - if(appendedURI.file != null) { - resultURI.file = appendedURI.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(appendedURI.query != null) { - resultURI.query = appendedURI.query; - } - if(appendedURI.fragment != null) { - resultURI.fragment = appendedURI.fragment; - } - return resultURI; -}; -xrfragment_URI.appendToAbsoluteURI = function(url,appendedURI) { - var resultURI = new xrfragment_URI(); - if(url.scheme != null) { - resultURI.scheme = url.scheme; - } - if(url.host != null) { - resultURI.host = url.host; - } - var directory = ""; - if(url.directory != null) { - directory = url.directory; - } - if(appendedURI.host != null) { - appendedURI.directory += appendedURI.host; - } - if(appendedURI.directory != null) { - directory += appendedURI.directory; - } - resultURI.directory = directory; - if(appendedURI.file != null) { - resultURI.file = appendedURI.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(appendedURI.query != null) { - resultURI.query = appendedURI.query; - } - if(appendedURI.fragment != null) { - resultURI.fragment = appendedURI.fragment; - } - return resultURI; -}; -xrfragment_URI.toAbsolute = function(url,newUrl) { - var newURI = xrfragment_URI.parse(newUrl,0); - var resultURI = new xrfragment_URI(); - resultURI.port = url.port; - resultURI.source = newUrl; - if(newURI.scheme != null) { - resultURI.scheme = newURI.scheme; - } else { - resultURI.scheme = url.scheme; - } - if(newURI.host != null && newURI.host.length > 0) { - resultURI.host = newURI.host; - resultURI.port = null; - resultURI.fragment = null; - resultURI.hash = { }; - resultURI.XRF = { }; - if(newURI.port != null) { - resultURI.port = newURI.port; - } - } else { - resultURI.host = url.host; - } - var directory = ""; - if(url.directory != null) { - directory = url.directory; - } - if(newURI.directory != null) { - if(newUrl.charAt(0) != "/" && newUrl.indexOf("://") == -1) { - var stripRelative_r = new RegExp("\\./.*","".split("u").join("")); - directory = directory.replace(stripRelative_r,""); - directory += newURI.directory; - } else { - directory = newURI.directory; - } - } - resultURI.directory = directory; - if(newURI.file != null) { - resultURI.file = newURI.file; - } else { - resultURI.file = url.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(newURI.query != null) { - resultURI.query = newURI.query; - } - if(newURI.fragment != null) { - resultURI.fragment = newURI.fragment; - } - resultURI.hash = newURI.hash; - resultURI.XRF = newURI.XRF; - xrfragment_URI.computeVars(resultURI); - return resultURI; -}; -xrfragment_URI.cloneURI = function(url) { - var clonedURI = new xrfragment_URI(); - clonedURI.url = url.url; - clonedURI.source = url.source; - clonedURI.scheme = url.scheme; - clonedURI.authority = url.authority; - clonedURI.userInfo = url.userInfo; - clonedURI.password = url.password; - clonedURI.host = url.host; - clonedURI.port = url.port; - clonedURI.relative = url.relative; - clonedURI.path = url.path; - clonedURI.directory = url.directory; - clonedURI.file = url.file; - clonedURI.query = url.query; - clonedURI.fragment = url.fragment; - return clonedURI; -}; -var xrfragment_XRF = $hx_exports["xrfragment"]["XRF"] = function(_fragment,_flags,_index) { - this.floats = []; - this.shift = []; - this.fragment = _fragment; - this.flags = _flags; - this.index = _index; -}; -xrfragment_XRF.__name__ = true; -xrfragment_XRF.set = function(flag,flags) { - return flags | flag; -}; -xrfragment_XRF.unset = function(flag,flags) { - return flags & ~flag; -}; -xrfragment_XRF.prototype = { - is: function(flag) { - var v = this.flags; - if(!(typeof(v) == "number" && ((v | 0) === v))) { - this.flags = 0; - } - return (this.flags & flag) != 0; - } - ,validate: function(value) { - this.guessType(this,value); - var ok = true; - if(value.length == 0 && !this.is(xrfragment_XRF.T_PREDEFINED_VIEW)) { - ok = false; - } - if(!this.is(xrfragment_XRF.T_FLOAT) && this.is(xrfragment_XRF.T_VECTOR2) && !(typeof(this.x) == "number" && typeof(this.y) == "number")) { - ok = false; - } - if(!(this.is(xrfragment_XRF.T_VECTOR2) || this.is(xrfragment_XRF.T_STRING)) && this.is(xrfragment_XRF.T_VECTOR3) && !(typeof(this.x) == "number" && typeof(this.y) == "number" && typeof(this.z) == "number")) { - ok = false; - } - return ok; - } - ,guessType: function(v,str) { - v.string = str; - if(xrfragment_XRF.isReset.match(v.fragment)) { - v.reset = true; - } - if(v.fragment == "loop") { - v.loop = true; - } - if(typeof(str) != "string") { - return; - } - if(str.length > 0) { - if(xrfragment_XRF.isXRFScheme.match(str)) { - v.xrfScheme = true; - str = str.replace(xrfragment_XRF.isXRFScheme.r,""); - v.string = str; - } - if(str.split(",").length > 1) { - var xyzn = str.split(","); - if(xyzn.length > 0) { - v.x = parseFloat(xyzn[0]); - } - if(xyzn.length > 1) { - v.y = parseFloat(xyzn[1]); - } - if(xyzn.length > 2) { - v.z = parseFloat(xyzn[2]); - } - var _g = 0; - var _g1 = xyzn.length; - while(_g < _g1) { - var i = _g++; - v.shift.push(xrfragment_XRF.isShift.match(xyzn[i])); - v.floats.push(parseFloat(xyzn[i].replace(xrfragment_XRF.isShift.r,""))); - } - } - if(xrfragment_XRF.isColor.match(str)) { - v.color = str; - } - if(xrfragment_XRF.isFloat.match(str)) { - v.x = parseFloat(str); - v.float = v.x; - } - if(xrfragment_XRF.isInt.match(str)) { - v.int = Std.parseInt(str); - v.x = v.int; - v.floats.push(v.x); - } - v.filter = new xrfragment_Filter(v.fragment + "=" + v.string); - } else { - v.filter = new xrfragment_Filter(v.fragment); - } - } -}; -function $getIterator(o) { if( o instanceof Array ) return new haxe_iterators_ArrayIterator(o); else return o.iterator(); } -function $bind(o,m) { if( m == null ) return null; if( m.__id__ == null ) m.__id__ = $global.$haxeUID++; var f; if( o.hx__closures__ == null ) o.hx__closures__ = {}; else f = o.hx__closures__[m.__id__]; if( f == null ) { f = m.bind(o); o.hx__closures__[m.__id__] = f; } return f; } -$global.$haxeUID |= 0; -if(typeof(performance) != "undefined" ? typeof(performance.now) == "function" : false) { - HxOverrides.now = performance.now.bind(performance); -} -if( String.fromCodePoint == null ) String.fromCodePoint = function(c) { return c < 0x10000 ? String.fromCharCode(c) : String.fromCharCode((c>>10)+0xD7C0)+String.fromCharCode((c&0x3FF)+0xDC00); } -String.__name__ = true; -Array.__name__ = true; -js_Boot.__toStr = ({ }).toString; -haxe_Template.splitter = new EReg("(::[A-Za-z0-9_ ()&|!+=/><*.\"-]+::|\\$\\$([A-Za-z0-9_-]+)\\()",""); -haxe_Template.expr_splitter = new EReg("(\\(|\\)|[ \r\n\t]*\"[^\"]*\"[ \r\n\t]*|[!+=/><*.&|-]+)",""); -haxe_Template.expr_trim = new EReg("^[ ]*([^ ]+)[ ]*$",""); -haxe_Template.expr_int = new EReg("^[0-9]+$",""); -haxe_Template.expr_float = new EReg("^([+-]?)(?=\\d|,\\d)\\d*(,\\d*)?([Ee]([+-]?\\d+))?$",""); -haxe_Template.globals = { }; -haxe_Template.hxKeepArrayIterator = new haxe_iterators_ArrayIterator([]); -xrfragment_Parser.error = ""; -xrfragment_Parser.debug = false; -xrfragment_URI.__meta__ = { statics : { template : { keep : null}}}; -xrfragment_URI._parts = ["source","scheme","authority","userInfo","user","password","host","port","relative","path","directory","file","query","fragment"]; -xrfragment_XRF.IMMUTABLE = 1; -xrfragment_XRF.PROP_BIND = 2; -xrfragment_XRF.QUERY_OPERATOR = 4; -xrfragment_XRF.PROMPT = 8; -xrfragment_XRF.CUSTOMFRAG = 16; -xrfragment_XRF.NAVIGATOR = 32; -xrfragment_XRF.METADATA = 64; -xrfragment_XRF.PV_OVERRIDE = 128; -xrfragment_XRF.PV_EXECUTE = 256; -xrfragment_XRF.T_COLOR = 8192; -xrfragment_XRF.T_INT = 16384; -xrfragment_XRF.T_FLOAT = 32768; -xrfragment_XRF.T_VECTOR2 = 65536; -xrfragment_XRF.T_VECTOR3 = 131072; -xrfragment_XRF.T_URL = 262144; -xrfragment_XRF.T_PREDEFINED_VIEW = 524288; -xrfragment_XRF.T_STRING = 1048576; -xrfragment_XRF.T_MEDIAFRAG = 2097152; -xrfragment_XRF.T_DYNAMICKEY = 4194304; -xrfragment_XRF.T_DYNAMICKEYVALUE = 8388608; -xrfragment_XRF.isColor = new EReg("^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$",""); -xrfragment_XRF.isInt = new EReg("^[-0-9]+$",""); -xrfragment_XRF.isFloat = new EReg("^[-0-9]+\\.[0-9]+$",""); -xrfragment_XRF.isVector = new EReg("([,]+|\\w)",""); -xrfragment_XRF.isUrl = new EReg("(://)?\\..*",""); -xrfragment_XRF.isUrlOrPretypedView = new EReg("(^#|://)?\\..*",""); -xrfragment_XRF.isString = new EReg(".*",""); -xrfragment_XRF.operators = new EReg("(^[-]|^[!]|[\\*]$)","g"); -xrfragment_XRF.isProp = new EReg("^.*=[><=]?",""); -xrfragment_XRF.isExclude = new EReg("^-",""); -xrfragment_XRF.isDeep = new EReg("\\*",""); -xrfragment_XRF.isNumber = new EReg("^[0-9\\.]+$",""); -xrfragment_XRF.isMediaFrag = new EReg("^([0-9\\.,\\*+-]+)$",""); -xrfragment_XRF.isReset = new EReg("^!",""); -xrfragment_XRF.isShift = new EReg("^(\\+|--)",""); -xrfragment_XRF.isXRFScheme = new EReg("^xrf://",""); -})(typeof window != "undefined" ? window : typeof global != "undefined" ? global : typeof self != "undefined" ? self : this); -var xrfragment = $hx_exports["xrfragment"]; -export default xrfragment; -// Generated by Haxe 4.3.3 -var $hx_exports = typeof exports != "undefined" ? exports : typeof window != "undefined" ? window : typeof self != "undefined" ? self : this; -(function ($global) { "use strict"; -$hx_exports["xrfragment"] = $hx_exports["xrfragment"] || {}; -var $estr = function() { return js_Boot.__string_rec(this,''); },$hxEnums = $hxEnums || {},$_; -function $extend(from, fields) { - var proto = Object.create(from); - for (var name in fields) proto[name] = fields[name]; - if( fields.toString !== Object.prototype.toString ) proto.toString = fields.toString; - return proto; -} -var EReg = function(r,opt) { - this.r = new RegExp(r,opt.split("u").join("")); -}; -EReg.__name__ = true; -EReg.prototype = { - match: function(s) { - if(this.r.global) { - this.r.lastIndex = 0; - } - this.r.m = this.r.exec(s); - this.r.s = s; - return this.r.m != null; - } - ,matched: function(n) { - if(this.r.m != null && n >= 0 && n < this.r.m.length) { - return this.r.m[n]; - } else { - throw haxe_Exception.thrown("EReg::matched"); - } - } - ,matchedRight: function() { - if(this.r.m == null) { - throw haxe_Exception.thrown("No string matched"); - } - var sz = this.r.m.index + this.r.m[0].length; - return HxOverrides.substr(this.r.s,sz,this.r.s.length - sz); - } - ,matchedPos: function() { - if(this.r.m == null) { - throw haxe_Exception.thrown("No string matched"); - } - return { pos : this.r.m.index, len : this.r.m[0].length}; - } - ,split: function(s) { - var d = "#__delim__#"; - return s.replace(this.r,d).split(d); - } -}; -var HxOverrides = function() { }; -HxOverrides.__name__ = true; -HxOverrides.cca = function(s,index) { - var x = s.charCodeAt(index); - if(x != x) { - return undefined; - } - return x; -}; -HxOverrides.substr = function(s,pos,len) { - if(len == null) { - len = s.length; - } else if(len < 0) { - if(pos == 0) { - len = s.length + len; - } else { - return ""; - } - } - return s.substr(pos,len); -}; -HxOverrides.now = function() { - return Date.now(); -}; -Math.__name__ = true; -var Reflect = function() { }; -Reflect.__name__ = true; -Reflect.field = function(o,field) { - try { - return o[field]; - } catch( _g ) { - return null; - } -}; -Reflect.getProperty = function(o,field) { - var tmp; - if(o == null) { - return null; - } else { - var tmp1; - if(o.__properties__) { - tmp = o.__properties__["get_" + field]; - tmp1 = tmp; - } else { - tmp1 = false; - } - if(tmp1) { - return o[tmp](); - } else { - return o[field]; - } - } -}; -Reflect.fields = function(o) { - var a = []; - if(o != null) { - var hasOwnProperty = Object.prototype.hasOwnProperty; - for( var f in o ) { - if(f != "__id__" && f != "hx__closures__" && hasOwnProperty.call(o,f)) { - a.push(f); - } - } - } - return a; -}; -Reflect.isObject = function(v) { - if(v == null) { - return false; - } - var t = typeof(v); - if(!(t == "string" || t == "object" && v.__enum__ == null)) { - if(t == "function") { - return (v.__name__ || v.__ename__) != null; - } else { - return false; - } - } else { - return true; - } -}; -Reflect.deleteField = function(o,field) { - if(!Object.prototype.hasOwnProperty.call(o,field)) { - return false; - } - delete(o[field]); - return true; -}; -Reflect.copy = function(o) { - if(o == null) { - return null; - } - var o2 = { }; - var _g = 0; - var _g1 = Reflect.fields(o); - while(_g < _g1.length) { - var f = _g1[_g]; - ++_g; - o2[f] = Reflect.field(o,f); - } - return o2; -}; -var Std = function() { }; -Std.__name__ = true; -Std.string = function(s) { - return js_Boot.__string_rec(s,""); -}; -Std.parseInt = function(x) { - var v = parseInt(x); - if(isNaN(v)) { - return null; - } - return v; -}; -var StringBuf = function() { - this.b = ""; -}; -StringBuf.__name__ = true; -var StringTools = function() { }; -StringTools.__name__ = true; -StringTools.isSpace = function(s,pos) { - var c = HxOverrides.cca(s,pos); - if(!(c > 8 && c < 14)) { - return c == 32; - } else { - return true; - } -}; -StringTools.ltrim = function(s) { - var l = s.length; - var r = 0; - while(r < l && StringTools.isSpace(s,r)) ++r; - if(r > 0) { - return HxOverrides.substr(s,r,l - r); - } else { - return s; - } -}; -StringTools.rtrim = function(s) { - var l = s.length; - var r = 0; - while(r < l && StringTools.isSpace(s,l - r - 1)) ++r; - if(r > 0) { - return HxOverrides.substr(s,0,l - r); - } else { - return s; - } -}; -StringTools.trim = function(s) { - return StringTools.ltrim(StringTools.rtrim(s)); -}; -StringTools.replace = function(s,sub,by) { - return s.split(sub).join(by); -}; -var haxe_Exception = function(message,previous,native) { - Error.call(this,message); - this.message = message; - this.__previousException = previous; - this.__nativeException = native != null ? native : this; -}; -haxe_Exception.__name__ = true; -haxe_Exception.caught = function(value) { - if(((value) instanceof haxe_Exception)) { - return value; - } else if(((value) instanceof Error)) { - return new haxe_Exception(value.message,null,value); - } else { - return new haxe_ValueException(value,null,value); - } -}; -haxe_Exception.thrown = function(value) { - if(((value) instanceof haxe_Exception)) { - return value.get_native(); - } else if(((value) instanceof Error)) { - return value; - } else { - var e = new haxe_ValueException(value); - return e; - } -}; -haxe_Exception.__super__ = Error; -haxe_Exception.prototype = $extend(Error.prototype,{ - unwrap: function() { - return this.__nativeException; - } - ,get_native: function() { - return this.__nativeException; - } - ,__properties__: {get_native:"get_native"} -}); -var haxe__$Template_TemplateExpr = $hxEnums["haxe._Template.TemplateExpr"] = { __ename__:true,__constructs__:null - ,OpVar: ($_=function(v) { return {_hx_index:0,v:v,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpVar",$_.__params__ = ["v"],$_) - ,OpExpr: ($_=function(expr) { return {_hx_index:1,expr:expr,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpExpr",$_.__params__ = ["expr"],$_) - ,OpIf: ($_=function(expr,eif,eelse) { return {_hx_index:2,expr:expr,eif:eif,eelse:eelse,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpIf",$_.__params__ = ["expr","eif","eelse"],$_) - ,OpStr: ($_=function(str) { return {_hx_index:3,str:str,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpStr",$_.__params__ = ["str"],$_) - ,OpBlock: ($_=function(l) { return {_hx_index:4,l:l,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpBlock",$_.__params__ = ["l"],$_) - ,OpForeach: ($_=function(expr,loop) { return {_hx_index:5,expr:expr,loop:loop,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpForeach",$_.__params__ = ["expr","loop"],$_) - ,OpMacro: ($_=function(name,params) { return {_hx_index:6,name:name,params:params,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpMacro",$_.__params__ = ["name","params"],$_) -}; -haxe__$Template_TemplateExpr.__constructs__ = [haxe__$Template_TemplateExpr.OpVar,haxe__$Template_TemplateExpr.OpExpr,haxe__$Template_TemplateExpr.OpIf,haxe__$Template_TemplateExpr.OpStr,haxe__$Template_TemplateExpr.OpBlock,haxe__$Template_TemplateExpr.OpForeach,haxe__$Template_TemplateExpr.OpMacro]; -var haxe_iterators_ArrayIterator = function(array) { - this.current = 0; - this.array = array; -}; -haxe_iterators_ArrayIterator.__name__ = true; -haxe_iterators_ArrayIterator.prototype = { - hasNext: function() { - return this.current < this.array.length; - } - ,next: function() { - return this.array[this.current++]; - } -}; -var haxe_Template = function(str) { - var tokens = this.parseTokens(str); - this.expr = this.parseBlock(tokens); - if(!tokens.isEmpty()) { - throw haxe_Exception.thrown("Unexpected '" + Std.string(tokens.first().s) + "'"); - } -}; -haxe_Template.__name__ = true; -haxe_Template.prototype = { - execute: function(context,macros) { - this.macros = macros == null ? { } : macros; - this.context = context; - this.stack = new haxe_ds_List(); - this.buf = new StringBuf(); - this.run(this.expr); - return this.buf.b; - } - ,resolve: function(v) { - if(v == "__current__") { - return this.context; - } - if(Reflect.isObject(this.context)) { - var value = Reflect.getProperty(this.context,v); - if(value != null || Object.prototype.hasOwnProperty.call(this.context,v)) { - return value; - } - } - var _g_head = this.stack.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var ctx = val; - var value = Reflect.getProperty(ctx,v); - if(value != null || Object.prototype.hasOwnProperty.call(ctx,v)) { - return value; - } - } - return Reflect.field(haxe_Template.globals,v); - } - ,parseTokens: function(data) { - var tokens = new haxe_ds_List(); - while(haxe_Template.splitter.match(data)) { - var p = haxe_Template.splitter.matchedPos(); - if(p.pos > 0) { - tokens.add({ p : HxOverrides.substr(data,0,p.pos), s : true, l : null}); - } - if(HxOverrides.cca(data,p.pos) == 58) { - tokens.add({ p : HxOverrides.substr(data,p.pos + 2,p.len - 4), s : false, l : null}); - data = haxe_Template.splitter.matchedRight(); - continue; - } - var parp = p.pos + p.len; - var npar = 1; - var params = []; - var part = ""; - while(true) { - var c = HxOverrides.cca(data,parp); - ++parp; - if(c == 40) { - ++npar; - } else if(c == 41) { - --npar; - if(npar <= 0) { - break; - } - } else if(c == null) { - throw haxe_Exception.thrown("Unclosed macro parenthesis"); - } - if(c == 44 && npar == 1) { - params.push(part); - part = ""; - } else { - part += String.fromCodePoint(c); - } - } - params.push(part); - tokens.add({ p : haxe_Template.splitter.matched(2), s : false, l : params}); - data = HxOverrides.substr(data,parp,data.length - parp); - } - if(data.length > 0) { - tokens.add({ p : data, s : true, l : null}); - } - return tokens; - } - ,parseBlock: function(tokens) { - var l = new haxe_ds_List(); - while(true) { - var t = tokens.first(); - if(t == null) { - break; - } - if(!t.s && (t.p == "end" || t.p == "else" || HxOverrides.substr(t.p,0,7) == "elseif ")) { - break; - } - l.add(this.parse(tokens)); - } - if(l.length == 1) { - return l.first(); - } - return haxe__$Template_TemplateExpr.OpBlock(l); - } - ,parse: function(tokens) { - var t = tokens.pop(); - var p = t.p; - if(t.s) { - return haxe__$Template_TemplateExpr.OpStr(p); - } - if(t.l != null) { - var pe = new haxe_ds_List(); - var _g = 0; - var _g1 = t.l; - while(_g < _g1.length) { - var p1 = _g1[_g]; - ++_g; - pe.add(this.parseBlock(this.parseTokens(p1))); - } - return haxe__$Template_TemplateExpr.OpMacro(p,pe); - } - var kwdEnd = function(kwd) { - var pos = -1; - var length = kwd.length; - if(HxOverrides.substr(p,0,length) == kwd) { - pos = length; - var _g_offset = 0; - var _g_s = HxOverrides.substr(p,length,null); - while(_g_offset < _g_s.length) { - var c = _g_s.charCodeAt(_g_offset++); - if(c == 32) { - ++pos; - } else { - break; - } - } - } - return pos; - }; - var pos = kwdEnd("if"); - if(pos > 0) { - p = HxOverrides.substr(p,pos,p.length - pos); - var e = this.parseExpr(p); - var eif = this.parseBlock(tokens); - var t = tokens.first(); - var eelse; - if(t == null) { - throw haxe_Exception.thrown("Unclosed 'if'"); - } - if(t.p == "end") { - tokens.pop(); - eelse = null; - } else if(t.p == "else") { - tokens.pop(); - eelse = this.parseBlock(tokens); - t = tokens.pop(); - if(t == null || t.p != "end") { - throw haxe_Exception.thrown("Unclosed 'else'"); - } - } else { - t.p = HxOverrides.substr(t.p,4,t.p.length - 4); - eelse = this.parse(tokens); - } - return haxe__$Template_TemplateExpr.OpIf(e,eif,eelse); - } - var pos = kwdEnd("foreach"); - if(pos >= 0) { - p = HxOverrides.substr(p,pos,p.length - pos); - var e = this.parseExpr(p); - var efor = this.parseBlock(tokens); - var t = tokens.pop(); - if(t == null || t.p != "end") { - throw haxe_Exception.thrown("Unclosed 'foreach'"); - } - return haxe__$Template_TemplateExpr.OpForeach(e,efor); - } - if(haxe_Template.expr_splitter.match(p)) { - return haxe__$Template_TemplateExpr.OpExpr(this.parseExpr(p)); - } - return haxe__$Template_TemplateExpr.OpVar(p); - } - ,parseExpr: function(data) { - var l = new haxe_ds_List(); - var expr = data; - while(haxe_Template.expr_splitter.match(data)) { - var p = haxe_Template.expr_splitter.matchedPos(); - var k = p.pos + p.len; - if(p.pos != 0) { - l.add({ p : HxOverrides.substr(data,0,p.pos), s : true}); - } - var p1 = haxe_Template.expr_splitter.matched(0); - l.add({ p : p1, s : p1.indexOf("\"") >= 0}); - data = haxe_Template.expr_splitter.matchedRight(); - } - if(data.length != 0) { - var _g_offset = 0; - var _g_s = data; - while(_g_offset < _g_s.length) { - var _g_key = _g_offset; - var _g_value = _g_s.charCodeAt(_g_offset++); - var i = _g_key; - var c = _g_value; - if(c != 32) { - l.add({ p : HxOverrides.substr(data,i,null), s : true}); - break; - } - } - } - var e; - try { - e = this.makeExpr(l); - if(!l.isEmpty()) { - throw haxe_Exception.thrown(l.first().p); - } - } catch( _g ) { - var _g1 = haxe_Exception.caught(_g).unwrap(); - if(typeof(_g1) == "string") { - var s = _g1; - throw haxe_Exception.thrown("Unexpected '" + s + "' in " + expr); - } else { - throw _g; - } - } - return function() { - try { - return e(); - } catch( _g ) { - var exc = haxe_Exception.caught(_g).unwrap(); - throw haxe_Exception.thrown("Error : " + Std.string(exc) + " in " + expr); - } - }; - } - ,makeConst: function(v) { - haxe_Template.expr_trim.match(v); - v = haxe_Template.expr_trim.matched(1); - if(HxOverrides.cca(v,0) == 34) { - var str = HxOverrides.substr(v,1,v.length - 2); - return function() { - return str; - }; - } - if(haxe_Template.expr_int.match(v)) { - var i = Std.parseInt(v); - return function() { - return i; - }; - } - if(haxe_Template.expr_float.match(v)) { - var f = parseFloat(v); - return function() { - return f; - }; - } - var me = this; - return function() { - return me.resolve(v); - }; - } - ,makePath: function(e,l) { - var p = l.first(); - if(p == null || p.p != ".") { - return e; - } - l.pop(); - var field = l.pop(); - if(field == null || !field.s) { - throw haxe_Exception.thrown(field.p); - } - var f = field.p; - haxe_Template.expr_trim.match(f); - f = haxe_Template.expr_trim.matched(1); - return this.makePath(function() { - return Reflect.field(e(),f); - },l); - } - ,makeExpr: function(l) { - return this.makePath(this.makeExpr2(l),l); - } - ,skipSpaces: function(l) { - var p = l.first(); - while(p != null) { - var _g_offset = 0; - var _g_s = p.p; - while(_g_offset < _g_s.length) { - var c = _g_s.charCodeAt(_g_offset++); - if(c != 32) { - return; - } - } - l.pop(); - p = l.first(); - } - } - ,makeExpr2: function(l) { - this.skipSpaces(l); - var p = l.pop(); - this.skipSpaces(l); - if(p == null) { - throw haxe_Exception.thrown(""); - } - if(p.s) { - return this.makeConst(p.p); - } - switch(p.p) { - case "!": - var e = this.makeExpr(l); - return function() { - var v = e(); - if(v != null) { - return v == false; - } else { - return true; - } - }; - case "(": - this.skipSpaces(l); - var e1 = this.makeExpr(l); - this.skipSpaces(l); - var p1 = l.pop(); - if(p1 == null || p1.s) { - throw haxe_Exception.thrown(p1); - } - if(p1.p == ")") { - return e1; - } - this.skipSpaces(l); - var e2 = this.makeExpr(l); - this.skipSpaces(l); - var p2 = l.pop(); - this.skipSpaces(l); - if(p2 == null || p2.p != ")") { - throw haxe_Exception.thrown(p2); - } - switch(p1.p) { - case "!=": - return function() { - return e1() != e2(); - }; - case "&&": - return function() { - return e1() && e2(); - }; - case "*": - return function() { - return e1() * e2(); - }; - case "+": - return function() { - return e1() + e2(); - }; - case "-": - return function() { - return e1() - e2(); - }; - case "/": - return function() { - return e1() / e2(); - }; - case "<": - return function() { - return e1() < e2(); - }; - case "<=": - return function() { - return e1() <= e2(); - }; - case "==": - return function() { - return e1() == e2(); - }; - case ">": - return function() { - return e1() > e2(); - }; - case ">=": - return function() { - return e1() >= e2(); - }; - case "||": - return function() { - return e1() || e2(); - }; - default: - throw haxe_Exception.thrown("Unknown operation " + p1.p); - } - break; - case "-": - var e3 = this.makeExpr(l); - return function() { - return -e3(); - }; - } - throw haxe_Exception.thrown(p.p); - } - ,run: function(e) { - switch(e._hx_index) { - case 0: - var v = e.v; - var _this = this.buf; - var x = Std.string(this.resolve(v)); - _this.b += Std.string(x); - break; - case 1: - var e1 = e.expr; - var _this = this.buf; - var x = Std.string(e1()); - _this.b += Std.string(x); - break; - case 2: - var e1 = e.expr; - var eif = e.eif; - var eelse = e.eelse; - var v = e1(); - if(v == null || v == false) { - if(eelse != null) { - this.run(eelse); - } - } else { - this.run(eif); - } - break; - case 3: - var str = e.str; - this.buf.b += str == null ? "null" : "" + str; - break; - case 4: - var l = e.l; - var _g_head = l.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var e1 = val; - this.run(e1); - } - break; - case 5: - var e1 = e.expr; - var loop = e.loop; - var v = e1(); - try { - var x = $getIterator(v); - if(x.hasNext == null) { - throw haxe_Exception.thrown(null); - } - v = x; - } catch( _g ) { - try { - if(v.hasNext == null) { - throw haxe_Exception.thrown(null); - } - } catch( _g1 ) { - throw haxe_Exception.thrown("Cannot iter on " + Std.string(v)); - } - } - this.stack.push(this.context); - var v1 = v; - var ctx = v1; - while(ctx.hasNext()) { - var ctx1 = ctx.next(); - this.context = ctx1; - this.run(loop); - } - this.context = this.stack.pop(); - break; - case 6: - var m = e.name; - var params = e.params; - var v = Reflect.field(this.macros,m); - var pl = []; - var old = this.buf; - pl.push($bind(this,this.resolve)); - var _g_head = params.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var p = val; - if(p._hx_index == 0) { - var v1 = p.v; - pl.push(this.resolve(v1)); - } else { - this.buf = new StringBuf(); - this.run(p); - pl.push(this.buf.b); - } - } - this.buf = old; - try { - var _this = this.buf; - var x = Std.string(v.apply(this.macros,pl)); - _this.b += Std.string(x); - } catch( _g ) { - var e = haxe_Exception.caught(_g).unwrap(); - var plstr; - try { - plstr = pl.join(","); - } catch( _g1 ) { - plstr = "???"; - } - var msg = "Macro call " + m + "(" + plstr + ") failed (" + Std.string(e) + ")"; - throw haxe_Exception.thrown(msg); - } - break; - } - } -}; -var haxe_ValueException = function(value,previous,native) { - haxe_Exception.call(this,String(value),previous,native); - this.value = value; -}; -haxe_ValueException.__name__ = true; -haxe_ValueException.__super__ = haxe_Exception; -haxe_ValueException.prototype = $extend(haxe_Exception.prototype,{ - unwrap: function() { - return this.value; - } -}); -var haxe_ds_List = function() { - this.length = 0; -}; -haxe_ds_List.__name__ = true; -haxe_ds_List.prototype = { - add: function(item) { - var x = new haxe_ds__$List_ListNode(item,null); - if(this.h == null) { - this.h = x; - } else { - this.q.next = x; - } - this.q = x; - this.length++; - } - ,push: function(item) { - var x = new haxe_ds__$List_ListNode(item,this.h); - this.h = x; - if(this.q == null) { - this.q = x; - } - this.length++; - } - ,first: function() { - if(this.h == null) { - return null; - } else { - return this.h.item; - } - } - ,pop: function() { - if(this.h == null) { - return null; - } - var x = this.h.item; - this.h = this.h.next; - if(this.h == null) { - this.q = null; - } - this.length--; - return x; - } - ,isEmpty: function() { - return this.h == null; - } - ,toString: function() { - var s_b = ""; - var first = true; - var l = this.h; - s_b += "{"; - while(l != null) { - if(first) { - first = false; - } else { - s_b += ", "; - } - s_b += Std.string(Std.string(l.item)); - l = l.next; - } - s_b += "}"; - return s_b; - } -}; -var haxe_ds__$List_ListNode = function(item,next) { - this.item = item; - this.next = next; -}; -haxe_ds__$List_ListNode.__name__ = true; -var js_Boot = function() { }; -js_Boot.__name__ = true; -js_Boot.__string_rec = function(o,s) { - if(o == null) { - return "null"; - } - if(s.length >= 5) { - return "<...>"; - } - var t = typeof(o); - if(t == "function" && (o.__name__ || o.__ename__)) { - t = "object"; - } - switch(t) { - case "function": - return ""; - case "object": - if(o.__enum__) { - var e = $hxEnums[o.__enum__]; - var con = e.__constructs__[o._hx_index]; - var n = con._hx_name; - if(con.__params__) { - s = s + "\t"; - return n + "(" + ((function($this) { - var $r; - var _g = []; - { - var _g1 = 0; - var _g2 = con.__params__; - while(true) { - if(!(_g1 < _g2.length)) { - break; - } - var p = _g2[_g1]; - _g1 = _g1 + 1; - _g.push(js_Boot.__string_rec(o[p],s)); - } - } - $r = _g; - return $r; - }(this))).join(",") + ")"; - } else { - return n; - } - } - if(((o) instanceof Array)) { - var str = "["; - s += "\t"; - var _g = 0; - var _g1 = o.length; - while(_g < _g1) { - var i = _g++; - str += (i > 0 ? "," : "") + js_Boot.__string_rec(o[i],s); - } - str += "]"; - return str; - } - var tostr; - try { - tostr = o.toString; - } catch( _g ) { - return "???"; - } - if(tostr != null && tostr != Object.toString && typeof(tostr) == "function") { - var s2 = o.toString(); - if(s2 != "[object Object]") { - return s2; - } - } - var str = "{\n"; - s += "\t"; - var hasp = o.hasOwnProperty != null; - var k = null; - for( k in o ) { - if(hasp && !o.hasOwnProperty(k)) { - continue; - } - if(k == "prototype" || k == "__class__" || k == "__super__" || k == "__interfaces__" || k == "__properties__") { - continue; - } - if(str.length != 2) { - str += ", \n"; - } - str += s + k + " : " + js_Boot.__string_rec(o[k],s); - } - s = s.substring(1); - str += "\n" + s + "}"; - return str; - case "string": - return o; - default: - return String(o); - } -}; -var xrfragment_Filter = $hx_exports["xrfragment"]["Filter"] = function(str) { - this.q = { }; - this.str = ""; - if(str != null) { - this.parse(str); - } -}; -xrfragment_Filter.__name__ = true; -xrfragment_Filter.prototype = { - toObject: function() { - return Reflect.copy(this.q); - } - ,get: function() { - return Reflect.copy(this.q); - } - ,parse: function(str) { - var token = str.split(" "); - var q = { }; - var process = function(str,prefix) { - if(prefix == null) { - prefix = ""; - } - str = StringTools.trim(str); - var k = str.split("=")[0]; - var v = str.split("=")[1]; - var filter = { }; - if(q[prefix + k]) { - filter = q[prefix + k]; - } - if(xrfragment_XRF.isProp.match(str)) { - var oper = ""; - if(str.indexOf(">") != -1) { - oper = ">"; - } - if(str.indexOf("<") != -1) { - oper = "<"; - } - if(xrfragment_XRF.isExclude.match(k)) { - k = HxOverrides.substr(k,1,null); - } - v = HxOverrides.substr(v,oper.length,null); - if(oper.length == 0) { - oper = "="; - } - var rule = { }; - if(xrfragment_XRF.isNumber.match(v)) { - rule[oper] = parseFloat(v); - } else { - rule[oper] = v; - } - q["expr"] = rule; - } - var value = xrfragment_XRF.isDeep.match(str) ? k.split("*").length - 1 : 0; - q["deep"] = value; - var value = xrfragment_XRF.isExclude.match(str) ? false : true; - q["show"] = value; - var value = k.replace(xrfragment_XRF.operators.r,""); - q["key"] = value; - q["value"] = v; - }; - var _g = 0; - var _g1 = token.length; - while(_g < _g1) { - var i = _g++; - process(token[i]); - } - return this.q = q; - } - ,test: function(obj) { - var qualify = false; - var _g = 0; - var _g1 = Reflect.fields(obj); - while(_g < _g1.length) { - var k = _g1[_g]; - ++_g; - var v = Std.string(Reflect.field(obj,k)); - if(this.testProperty(k,v)) { - qualify = true; - } - } - var _g = 0; - var _g1 = Reflect.fields(obj); - while(_g < _g1.length) { - var k = _g1[_g]; - ++_g; - var v = Std.string(Reflect.field(obj,k)); - if(this.testProperty(k,v,true)) { - qualify = false; - } - } - return qualify; - } - ,testProperty: function(property,value,exclude) { - var conds = 0; - var fails = 0; - var qualify = 0; - var testprop = function(expr) { - conds += 1; - fails += expr ? 0 : 1; - return expr; - }; - if(this.q[value] != null) { - var v = this.q[value]; - if(v[property] != null) { - return v[property]; - } - } - if(Reflect.field(this.q,"expr")) { - var f = Reflect.field(this.q,"expr"); - if(!Reflect.field(this.q,"show")) { - if(Reflect.field(f,"!=") != null && testprop((value == null ? "null" : "" + value) == Std.string(Reflect.field(f,"!="))) && exclude) { - ++qualify; - } - } else { - if(Reflect.field(f,"*") != null && testprop(parseFloat(value) != null)) { - ++qualify; - } - if(Reflect.field(f,">") != null && testprop(parseFloat(value) >= parseFloat(Reflect.field(f,">")))) { - ++qualify; - } - if(Reflect.field(f,"<") != null && testprop(parseFloat(value) <= parseFloat(Reflect.field(f,"<")))) { - ++qualify; - } - if(Reflect.field(f,"=") != null && (testprop(value == Reflect.field(f,"=")) || testprop(parseFloat(value) == parseFloat(Reflect.field(f,"="))))) { - ++qualify; - } - } - } - return qualify > 0; - } -}; -var xrfragment_Parser = $hx_exports["xrfragment"]["Parser"] = function() { }; -xrfragment_Parser.__name__ = true; -xrfragment_Parser.parse = function(key,value,store,index) { - var Frag_h = Object.create(null); - Frag_h["#"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_PREDEFINED_VIEW | xrfragment_XRF.PV_EXECUTE; - Frag_h["src"] = xrfragment_XRF.T_URL; - Frag_h["href"] = xrfragment_XRF.T_URL | xrfragment_XRF.T_PREDEFINED_VIEW; - Frag_h["tag"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["pos"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_VECTOR3 | xrfragment_XRF.T_STRING | xrfragment_XRF.METADATA | xrfragment_XRF.NAVIGATOR; - Frag_h["rot"] = xrfragment_XRF.QUERY_OPERATOR | xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_VECTOR3 | xrfragment_XRF.METADATA | xrfragment_XRF.NAVIGATOR; - Frag_h["t"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_FLOAT | xrfragment_XRF.T_VECTOR2 | xrfragment_XRF.NAVIGATOR | xrfragment_XRF.METADATA; - Frag_h["s"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_MEDIAFRAG; - Frag_h["loop"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_PREDEFINED_VIEW; - Frag_h["uv"] = xrfragment_XRF.T_VECTOR2 | xrfragment_XRF.T_MEDIAFRAG; - Frag_h["namespace"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["SPDX"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["unit"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["description"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - var keyStripped = key.replace(xrfragment_XRF.operators.r,""); - var isPVDynamic = key.length > 0 && !Object.prototype.hasOwnProperty.call(Frag_h,key); - if(isPVDynamic) { - var v = new xrfragment_XRF(key,xrfragment_XRF.PV_EXECUTE | xrfragment_XRF.NAVIGATOR,index); - v.validate(value); - v.flags = xrfragment_XRF.set(xrfragment_XRF.T_DYNAMICKEY,v.flags); - if(!Object.prototype.hasOwnProperty.call(Frag_h,key)) { - v.flags = xrfragment_XRF.set(xrfragment_XRF.CUSTOMFRAG,v.flags); - } - if(value.length == 0) { - v.flags = xrfragment_XRF.set(xrfragment_XRF.T_DYNAMICKEYVALUE,v.flags); - } - store[keyStripped] = v; - return true; - } - var v = new xrfragment_XRF(key,Frag_h[key],index); - if(Object.prototype.hasOwnProperty.call(Frag_h,key)) { - if(!v.validate(value)) { - console.log("src/xrfragment/Parser.hx:67:","⚠ fragment '" + key + "' has incompatible value (" + value + ")"); - return false; - } - store[keyStripped] = v; - if(xrfragment_Parser.debug) { - console.log("src/xrfragment/Parser.hx:71:","✔ " + key + ": " + v.string); - } - } else { - if(typeof(value) == "string") { - v.guessType(v,value); - } - v.flags = xrfragment_XRF.set(xrfragment_XRF.CUSTOMFRAG,v.flags); - store[keyStripped] = v; - } - return true; -}; -xrfragment_Parser.getMetaData = function() { - var meta = { title : ["title","og:title","dc.title"], description : ["aria-description","og:description","dc.description"], author : ["author","dc.creator"], publisher : ["publisher","dc.publisher"], website : ["og:site_name","og:url","dc.publisher"], license : ["SPDX","dc.rights"]}; - return meta; -}; -var xrfragment_URI = $hx_exports["xrfragment"]["URI"] = function() { - this.XRF = { }; - this.hash = { }; - this.fragment = ""; -}; -xrfragment_URI.__name__ = true; -xrfragment_URI.parseFragment = function(url,filter) { - var store = { }; - if(url == null || url.indexOf("#") == -1) { - return store; - } - var fragment = url.split("#"); - var splitArray = fragment[1].split("&"); - var _g = 0; - var _g1 = splitArray.length; - while(_g < _g1) { - var i = _g++; - var splitByEqual = splitArray[i].split("="); - var regexPlus = new EReg("\\+","g"); - var key = splitByEqual[0]; - var value = ""; - if(splitByEqual.length > 1) { - if(xrfragment_XRF.isVector.match(splitByEqual[1])) { - value = splitByEqual[1]; - } else { - var s = regexPlus.split(splitByEqual[1]).join(" "); - value = decodeURIComponent(s.split("+").join(" ")); - } - } - var ok = xrfragment_Parser.parse(key,value,store,i); - } - if(filter != null && filter != 0) { - var _g = 0; - var _g1 = Reflect.fields(store); - while(_g < _g1.length) { - var key = _g1[_g]; - ++_g; - var xrf = store[key]; - if(!xrf.is(filter)) { - Reflect.deleteField(store,key); - } - } - } - return store; -}; -xrfragment_URI.template = function(uri,vars) { - var parts = uri.split("#"); - if(parts.length == 1) { - return uri; - } - var frag = parts[1]; - frag = StringTools.replace(frag,"{","::"); - frag = StringTools.replace(frag,"}","::"); - frag = new haxe_Template(frag).execute(vars); - frag = StringTools.replace(frag,"null",""); - parts[1] = frag; - return parts.join("#"); -}; -xrfragment_URI.parse = function(stringUrl,flags) { - var r = new EReg("^(?:(?![^:@]+:[^:@/]*@)([^:/?#.]+):)?(?://)?((?:(([^:@]*)(?::([^:@]*))?)?@)?([^:/?#]*)(?::(\\d*))?)(((/(?:[^?#](?![^?#/]*\\.[^?#/.]+(?:[?#]|$)))*/?)?([^?#/]*))(?:\\?([^#]*))?(?:#(.*))?)",""); - if(stringUrl.indexOf("://") == -1 && stringUrl.charAt(0) != "/") { - stringUrl = "/" + stringUrl; - } - r.match(stringUrl); - var url = new xrfragment_URI(); - var _g = 0; - var _g1 = xrfragment_URI._parts.length; - while(_g < _g1) { - var i = _g++; - url[xrfragment_URI._parts[i]] = r.matched(i); - } - if(xrfragment_URI.isRelative(url) == true) { - if(url.directory == null && url.host != null) { - url.file = url.host; - } - url.host = ""; - } - url.hash = { }; - if(url.fragment != null && url.fragment.length > 0) { - url.XRF = xrfragment_URI.parseFragment("#" + url.fragment,flags); - var key; - var _g = 0; - var _g1 = Reflect.fields(url.XRF); - while(_g < _g1.length) { - var key = _g1[_g]; - ++_g; - var v = url.XRF[key]; - url.hash[key] = v["string"]; - } - } - xrfragment_URI.computeVars(url); - return url; -}; -xrfragment_URI.computeVars = function(url) { - var r_r = new RegExp("//","g".split("u").join("")); - if(url.directory != null && url.directory.indexOf("//") != -1) { - url.directory = url.directory.replace(r_r,"/"); - } - if(url.path != null && url.path.indexOf("//") != -1) { - url.path = url.path.replace(r_r,"/"); - } - if(url.file != null && url.file.indexOf("//") != -1) { - url.file = url.file.replace(r_r,"/"); - } - url.URN = url.scheme + "://" + url.host; - if(url.port != null) { - url.URN += ":" + url.port; - } - url.URN += url.directory; - if(url.file != null) { - var parts = url.file.split("."); - if(parts.length > 1) { - url.fileExt = parts.pop(); - } - } -}; -xrfragment_URI.toString = function(url) { - var result = ""; - if(url.scheme != null) { - result += url.scheme + "://"; - } - if(url.user != null) { - result += url.user + ":"; - } - if(url.password != null) { - result += url.password + "@"; - } - if(url.host != null) { - result += url.host; - } - if(url.port != null) { - result += ":" + url.port; - } - if(url.directory != null) { - result += url.directory; - } - if(url.file != null) { - result += url.file; - } - if(url.query != null) { - result += "?" + url.query; - } - if(url.fragment != null) { - result += "#" + url.fragment; - } - return result; -}; -xrfragment_URI.appendURI = function(url,appendedURI) { - if(xrfragment_URI.isRelative(url) == true) { - return xrfragment_URI.appendToRelativeURI(url,appendedURI); - } else { - return xrfragment_URI.appendToAbsoluteURI(url,appendedURI); - } -}; -xrfragment_URI.isRelative = function(url) { - return url.scheme == null; -}; -xrfragment_URI.appendToRelativeURI = function(url,appendedURI) { - if(url.directory == null || url.host == null) { - return xrfragment_URI.cloneURI(appendedURI); - } - var resultURI = new xrfragment_URI(); - resultURI.host = url.host; - resultURI.directory = url.directory; - if(appendedURI.host != null) { - resultURI.directory += appendedURI.host; - } - if(appendedURI.directory != null) { - var directory = appendedURI.directory; - if(appendedURI.host == null) { - resultURI.directory += HxOverrides.substr(directory,1,null); - } else { - resultURI.directory += directory; - } - } - if(appendedURI.file != null) { - resultURI.file = appendedURI.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(appendedURI.query != null) { - resultURI.query = appendedURI.query; - } - if(appendedURI.fragment != null) { - resultURI.fragment = appendedURI.fragment; - } - return resultURI; -}; -xrfragment_URI.appendToAbsoluteURI = function(url,appendedURI) { - var resultURI = new xrfragment_URI(); - if(url.scheme != null) { - resultURI.scheme = url.scheme; - } - if(url.host != null) { - resultURI.host = url.host; - } - var directory = ""; - if(url.directory != null) { - directory = url.directory; - } - if(appendedURI.host != null) { - appendedURI.directory += appendedURI.host; - } - if(appendedURI.directory != null) { - directory += appendedURI.directory; - } - resultURI.directory = directory; - if(appendedURI.file != null) { - resultURI.file = appendedURI.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(appendedURI.query != null) { - resultURI.query = appendedURI.query; - } - if(appendedURI.fragment != null) { - resultURI.fragment = appendedURI.fragment; - } - return resultURI; -}; -xrfragment_URI.toAbsolute = function(url,newUrl) { - var newURI = xrfragment_URI.parse(newUrl,0); - var resultURI = new xrfragment_URI(); - resultURI.port = url.port; - resultURI.source = newUrl; - if(newURI.scheme != null) { - resultURI.scheme = newURI.scheme; - } else { - resultURI.scheme = url.scheme; - } - if(newURI.host != null && newURI.host.length > 0) { - resultURI.host = newURI.host; - resultURI.port = null; - resultURI.fragment = null; - resultURI.hash = { }; - resultURI.XRF = { }; - if(newURI.port != null) { - resultURI.port = newURI.port; - } - } else { - resultURI.host = url.host; - } - var directory = ""; - if(url.directory != null) { - directory = url.directory; - } - if(newURI.directory != null) { - if(newUrl.charAt(0) != "/" && newUrl.indexOf("://") == -1) { - var stripRelative_r = new RegExp("\\./.*","".split("u").join("")); - directory = directory.replace(stripRelative_r,""); - directory += newURI.directory; - } else { - directory = newURI.directory; - } - } - resultURI.directory = directory; - if(newURI.file != null) { - resultURI.file = newURI.file; - } else { - resultURI.file = url.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(newURI.query != null) { - resultURI.query = newURI.query; - } - if(newURI.fragment != null) { - resultURI.fragment = newURI.fragment; - } - resultURI.hash = newURI.hash; - resultURI.XRF = newURI.XRF; - xrfragment_URI.computeVars(resultURI); - return resultURI; -}; -xrfragment_URI.cloneURI = function(url) { - var clonedURI = new xrfragment_URI(); - clonedURI.url = url.url; - clonedURI.source = url.source; - clonedURI.scheme = url.scheme; - clonedURI.authority = url.authority; - clonedURI.userInfo = url.userInfo; - clonedURI.password = url.password; - clonedURI.host = url.host; - clonedURI.port = url.port; - clonedURI.relative = url.relative; - clonedURI.path = url.path; - clonedURI.directory = url.directory; - clonedURI.file = url.file; - clonedURI.query = url.query; - clonedURI.fragment = url.fragment; - return clonedURI; -}; -var xrfragment_XRF = $hx_exports["xrfragment"]["XRF"] = function(_fragment,_flags,_index) { - this.floats = []; - this.shift = []; - this.fragment = _fragment; - this.flags = _flags; - this.index = _index; -}; -xrfragment_XRF.__name__ = true; -xrfragment_XRF.set = function(flag,flags) { - return flags | flag; -}; -xrfragment_XRF.unset = function(flag,flags) { - return flags & ~flag; -}; -xrfragment_XRF.prototype = { - is: function(flag) { - var v = this.flags; - if(!(typeof(v) == "number" && ((v | 0) === v))) { - this.flags = 0; - } - return (this.flags & flag) != 0; - } - ,validate: function(value) { - this.guessType(this,value); - var ok = true; - if(value.length == 0 && !this.is(xrfragment_XRF.T_PREDEFINED_VIEW)) { - ok = false; - } - if(!this.is(xrfragment_XRF.T_FLOAT) && this.is(xrfragment_XRF.T_VECTOR2) && !(typeof(this.x) == "number" && typeof(this.y) == "number")) { - ok = false; - } - if(!(this.is(xrfragment_XRF.T_VECTOR2) || this.is(xrfragment_XRF.T_STRING)) && this.is(xrfragment_XRF.T_VECTOR3) && !(typeof(this.x) == "number" && typeof(this.y) == "number" && typeof(this.z) == "number")) { - ok = false; - } - return ok; - } - ,guessType: function(v,str) { - v.string = str; - if(xrfragment_XRF.isReset.match(v.fragment)) { - v.reset = true; - } - if(v.fragment == "loop") { - v.loop = true; - } - if(typeof(str) != "string") { - return; - } - if(str.length > 0) { - if(xrfragment_XRF.isXRFScheme.match(str)) { - v.xrfScheme = true; - str = str.replace(xrfragment_XRF.isXRFScheme.r,""); - v.string = str; - } - if(str.split(",").length > 1) { - var xyzn = str.split(","); - if(xyzn.length > 0) { - v.x = parseFloat(xyzn[0]); - } - if(xyzn.length > 1) { - v.y = parseFloat(xyzn[1]); - } - if(xyzn.length > 2) { - v.z = parseFloat(xyzn[2]); - } - var _g = 0; - var _g1 = xyzn.length; - while(_g < _g1) { - var i = _g++; - v.shift.push(xrfragment_XRF.isShift.match(xyzn[i])); - v.floats.push(parseFloat(xyzn[i].replace(xrfragment_XRF.isShift.r,""))); - } - } - if(xrfragment_XRF.isColor.match(str)) { - v.color = str; - } - if(xrfragment_XRF.isFloat.match(str)) { - v.x = parseFloat(str); - v.float = v.x; - } - if(xrfragment_XRF.isInt.match(str)) { - v.int = Std.parseInt(str); - v.x = v.int; - v.floats.push(v.x); - } - v.filter = new xrfragment_Filter(v.fragment + "=" + v.string); - } else { - v.filter = new xrfragment_Filter(v.fragment); - } - } -}; -function $getIterator(o) { if( o instanceof Array ) return new haxe_iterators_ArrayIterator(o); else return o.iterator(); } -function $bind(o,m) { if( m == null ) return null; if( m.__id__ == null ) m.__id__ = $global.$haxeUID++; var f; if( o.hx__closures__ == null ) o.hx__closures__ = {}; else f = o.hx__closures__[m.__id__]; if( f == null ) { f = m.bind(o); o.hx__closures__[m.__id__] = f; } return f; } -$global.$haxeUID |= 0; -if(typeof(performance) != "undefined" ? typeof(performance.now) == "function" : false) { - HxOverrides.now = performance.now.bind(performance); -} -if( String.fromCodePoint == null ) String.fromCodePoint = function(c) { return c < 0x10000 ? String.fromCharCode(c) : String.fromCharCode((c>>10)+0xD7C0)+String.fromCharCode((c&0x3FF)+0xDC00); } -String.__name__ = true; -Array.__name__ = true; -js_Boot.__toStr = ({ }).toString; -haxe_Template.splitter = new EReg("(::[A-Za-z0-9_ ()&|!+=/><*.\"-]+::|\\$\\$([A-Za-z0-9_-]+)\\()",""); -haxe_Template.expr_splitter = new EReg("(\\(|\\)|[ \r\n\t]*\"[^\"]*\"[ \r\n\t]*|[!+=/><*.&|-]+)",""); -haxe_Template.expr_trim = new EReg("^[ ]*([^ ]+)[ ]*$",""); -haxe_Template.expr_int = new EReg("^[0-9]+$",""); -haxe_Template.expr_float = new EReg("^([+-]?)(?=\\d|,\\d)\\d*(,\\d*)?([Ee]([+-]?\\d+))?$",""); -haxe_Template.globals = { }; -haxe_Template.hxKeepArrayIterator = new haxe_iterators_ArrayIterator([]); -xrfragment_Parser.error = ""; -xrfragment_Parser.debug = false; -xrfragment_URI.__meta__ = { statics : { template : { keep : null}}}; -xrfragment_URI._parts = ["source","scheme","authority","userInfo","user","password","host","port","relative","path","directory","file","query","fragment"]; -xrfragment_XRF.IMMUTABLE = 1; -xrfragment_XRF.PROP_BIND = 2; -xrfragment_XRF.QUERY_OPERATOR = 4; -xrfragment_XRF.PROMPT = 8; -xrfragment_XRF.CUSTOMFRAG = 16; -xrfragment_XRF.NAVIGATOR = 32; -xrfragment_XRF.METADATA = 64; -xrfragment_XRF.PV_OVERRIDE = 128; -xrfragment_XRF.PV_EXECUTE = 256; -xrfragment_XRF.T_COLOR = 8192; -xrfragment_XRF.T_INT = 16384; -xrfragment_XRF.T_FLOAT = 32768; -xrfragment_XRF.T_VECTOR2 = 65536; -xrfragment_XRF.T_VECTOR3 = 131072; -xrfragment_XRF.T_URL = 262144; -xrfragment_XRF.T_PREDEFINED_VIEW = 524288; -xrfragment_XRF.T_STRING = 1048576; -xrfragment_XRF.T_MEDIAFRAG = 2097152; -xrfragment_XRF.T_DYNAMICKEY = 4194304; -xrfragment_XRF.T_DYNAMICKEYVALUE = 8388608; -xrfragment_XRF.isColor = new EReg("^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$",""); -xrfragment_XRF.isInt = new EReg("^[-0-9]+$",""); -xrfragment_XRF.isFloat = new EReg("^[-0-9]+\\.[0-9]+$",""); -xrfragment_XRF.isVector = new EReg("([,]+|\\w)",""); -xrfragment_XRF.isUrl = new EReg("(://)?\\..*",""); -xrfragment_XRF.isUrlOrPretypedView = new EReg("(^#|://)?\\..*",""); -xrfragment_XRF.isString = new EReg(".*",""); -xrfragment_XRF.operators = new EReg("(^[-]|^[!]|[\\*]$)","g"); -xrfragment_XRF.isProp = new EReg("^.*=[><=]?",""); -xrfragment_XRF.isExclude = new EReg("^-",""); -xrfragment_XRF.isDeep = new EReg("\\*",""); -xrfragment_XRF.isNumber = new EReg("^[0-9\\.]+$",""); -xrfragment_XRF.isMediaFrag = new EReg("^([0-9\\.,\\*+-]+)$",""); -xrfragment_XRF.isReset = new EReg("^!",""); -xrfragment_XRF.isShift = new EReg("^(\\+|--)",""); -xrfragment_XRF.isXRFScheme = new EReg("^xrf://",""); -})(typeof window != "undefined" ? window : typeof global != "undefined" ? global : typeof self != "undefined" ? self : this); -var xrfragment = $hx_exports["xrfragment"]; -export default xrfragment; -// Generated by Haxe 4.3.3 -var $hx_exports = typeof exports != "undefined" ? exports : typeof window != "undefined" ? window : typeof self != "undefined" ? self : this; -(function ($global) { "use strict"; -$hx_exports["xrfragment"] = $hx_exports["xrfragment"] || {}; -var $estr = function() { return js_Boot.__string_rec(this,''); },$hxEnums = $hxEnums || {},$_; -function $extend(from, fields) { - var proto = Object.create(from); - for (var name in fields) proto[name] = fields[name]; - if( fields.toString !== Object.prototype.toString ) proto.toString = fields.toString; - return proto; -} -var EReg = function(r,opt) { - this.r = new RegExp(r,opt.split("u").join("")); -}; -EReg.__name__ = true; -EReg.prototype = { - match: function(s) { - if(this.r.global) { - this.r.lastIndex = 0; - } - this.r.m = this.r.exec(s); - this.r.s = s; - return this.r.m != null; - } - ,matched: function(n) { - if(this.r.m != null && n >= 0 && n < this.r.m.length) { - return this.r.m[n]; - } else { - throw haxe_Exception.thrown("EReg::matched"); - } - } - ,matchedRight: function() { - if(this.r.m == null) { - throw haxe_Exception.thrown("No string matched"); - } - var sz = this.r.m.index + this.r.m[0].length; - return HxOverrides.substr(this.r.s,sz,this.r.s.length - sz); - } - ,matchedPos: function() { - if(this.r.m == null) { - throw haxe_Exception.thrown("No string matched"); - } - return { pos : this.r.m.index, len : this.r.m[0].length}; - } - ,split: function(s) { - var d = "#__delim__#"; - return s.replace(this.r,d).split(d); - } -}; -var HxOverrides = function() { }; -HxOverrides.__name__ = true; -HxOverrides.cca = function(s,index) { - var x = s.charCodeAt(index); - if(x != x) { - return undefined; - } - return x; -}; -HxOverrides.substr = function(s,pos,len) { - if(len == null) { - len = s.length; - } else if(len < 0) { - if(pos == 0) { - len = s.length + len; - } else { - return ""; - } - } - return s.substr(pos,len); -}; -HxOverrides.now = function() { - return Date.now(); -}; -Math.__name__ = true; -var Reflect = function() { }; -Reflect.__name__ = true; -Reflect.field = function(o,field) { - try { - return o[field]; - } catch( _g ) { - return null; - } -}; -Reflect.getProperty = function(o,field) { - var tmp; - if(o == null) { - return null; - } else { - var tmp1; - if(o.__properties__) { - tmp = o.__properties__["get_" + field]; - tmp1 = tmp; - } else { - tmp1 = false; - } - if(tmp1) { - return o[tmp](); - } else { - return o[field]; - } - } -}; -Reflect.fields = function(o) { - var a = []; - if(o != null) { - var hasOwnProperty = Object.prototype.hasOwnProperty; - for( var f in o ) { - if(f != "__id__" && f != "hx__closures__" && hasOwnProperty.call(o,f)) { - a.push(f); - } - } - } - return a; -}; -Reflect.isObject = function(v) { - if(v == null) { - return false; - } - var t = typeof(v); - if(!(t == "string" || t == "object" && v.__enum__ == null)) { - if(t == "function") { - return (v.__name__ || v.__ename__) != null; - } else { - return false; - } - } else { - return true; - } -}; -Reflect.deleteField = function(o,field) { - if(!Object.prototype.hasOwnProperty.call(o,field)) { - return false; - } - delete(o[field]); - return true; -}; -Reflect.copy = function(o) { - if(o == null) { - return null; - } - var o2 = { }; - var _g = 0; - var _g1 = Reflect.fields(o); - while(_g < _g1.length) { - var f = _g1[_g]; - ++_g; - o2[f] = Reflect.field(o,f); - } - return o2; -}; -var Std = function() { }; -Std.__name__ = true; -Std.string = function(s) { - return js_Boot.__string_rec(s,""); -}; -Std.parseInt = function(x) { - var v = parseInt(x); - if(isNaN(v)) { - return null; - } - return v; -}; -var StringBuf = function() { - this.b = ""; -}; -StringBuf.__name__ = true; -var StringTools = function() { }; -StringTools.__name__ = true; -StringTools.isSpace = function(s,pos) { - var c = HxOverrides.cca(s,pos); - if(!(c > 8 && c < 14)) { - return c == 32; - } else { - return true; - } -}; -StringTools.ltrim = function(s) { - var l = s.length; - var r = 0; - while(r < l && StringTools.isSpace(s,r)) ++r; - if(r > 0) { - return HxOverrides.substr(s,r,l - r); - } else { - return s; - } -}; -StringTools.rtrim = function(s) { - var l = s.length; - var r = 0; - while(r < l && StringTools.isSpace(s,l - r - 1)) ++r; - if(r > 0) { - return HxOverrides.substr(s,0,l - r); - } else { - return s; - } -}; -StringTools.trim = function(s) { - return StringTools.ltrim(StringTools.rtrim(s)); -}; -StringTools.replace = function(s,sub,by) { - return s.split(sub).join(by); -}; -var haxe_Exception = function(message,previous,native) { - Error.call(this,message); - this.message = message; - this.__previousException = previous; - this.__nativeException = native != null ? native : this; -}; -haxe_Exception.__name__ = true; -haxe_Exception.caught = function(value) { - if(((value) instanceof haxe_Exception)) { - return value; - } else if(((value) instanceof Error)) { - return new haxe_Exception(value.message,null,value); - } else { - return new haxe_ValueException(value,null,value); - } -}; -haxe_Exception.thrown = function(value) { - if(((value) instanceof haxe_Exception)) { - return value.get_native(); - } else if(((value) instanceof Error)) { - return value; - } else { - var e = new haxe_ValueException(value); - return e; - } -}; -haxe_Exception.__super__ = Error; -haxe_Exception.prototype = $extend(Error.prototype,{ - unwrap: function() { - return this.__nativeException; - } - ,get_native: function() { - return this.__nativeException; - } - ,__properties__: {get_native:"get_native"} -}); -var haxe__$Template_TemplateExpr = $hxEnums["haxe._Template.TemplateExpr"] = { __ename__:true,__constructs__:null - ,OpVar: ($_=function(v) { return {_hx_index:0,v:v,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpVar",$_.__params__ = ["v"],$_) - ,OpExpr: ($_=function(expr) { return {_hx_index:1,expr:expr,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpExpr",$_.__params__ = ["expr"],$_) - ,OpIf: ($_=function(expr,eif,eelse) { return {_hx_index:2,expr:expr,eif:eif,eelse:eelse,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpIf",$_.__params__ = ["expr","eif","eelse"],$_) - ,OpStr: ($_=function(str) { return {_hx_index:3,str:str,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpStr",$_.__params__ = ["str"],$_) - ,OpBlock: ($_=function(l) { return {_hx_index:4,l:l,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpBlock",$_.__params__ = ["l"],$_) - ,OpForeach: ($_=function(expr,loop) { return {_hx_index:5,expr:expr,loop:loop,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpForeach",$_.__params__ = ["expr","loop"],$_) - ,OpMacro: ($_=function(name,params) { return {_hx_index:6,name:name,params:params,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpMacro",$_.__params__ = ["name","params"],$_) -}; -haxe__$Template_TemplateExpr.__constructs__ = [haxe__$Template_TemplateExpr.OpVar,haxe__$Template_TemplateExpr.OpExpr,haxe__$Template_TemplateExpr.OpIf,haxe__$Template_TemplateExpr.OpStr,haxe__$Template_TemplateExpr.OpBlock,haxe__$Template_TemplateExpr.OpForeach,haxe__$Template_TemplateExpr.OpMacro]; -var haxe_iterators_ArrayIterator = function(array) { - this.current = 0; - this.array = array; -}; -haxe_iterators_ArrayIterator.__name__ = true; -haxe_iterators_ArrayIterator.prototype = { - hasNext: function() { - return this.current < this.array.length; - } - ,next: function() { - return this.array[this.current++]; - } -}; -var haxe_Template = function(str) { - var tokens = this.parseTokens(str); - this.expr = this.parseBlock(tokens); - if(!tokens.isEmpty()) { - throw haxe_Exception.thrown("Unexpected '" + Std.string(tokens.first().s) + "'"); - } -}; -haxe_Template.__name__ = true; -haxe_Template.prototype = { - execute: function(context,macros) { - this.macros = macros == null ? { } : macros; - this.context = context; - this.stack = new haxe_ds_List(); - this.buf = new StringBuf(); - this.run(this.expr); - return this.buf.b; - } - ,resolve: function(v) { - if(v == "__current__") { - return this.context; - } - if(Reflect.isObject(this.context)) { - var value = Reflect.getProperty(this.context,v); - if(value != null || Object.prototype.hasOwnProperty.call(this.context,v)) { - return value; - } - } - var _g_head = this.stack.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var ctx = val; - var value = Reflect.getProperty(ctx,v); - if(value != null || Object.prototype.hasOwnProperty.call(ctx,v)) { - return value; - } - } - return Reflect.field(haxe_Template.globals,v); - } - ,parseTokens: function(data) { - var tokens = new haxe_ds_List(); - while(haxe_Template.splitter.match(data)) { - var p = haxe_Template.splitter.matchedPos(); - if(p.pos > 0) { - tokens.add({ p : HxOverrides.substr(data,0,p.pos), s : true, l : null}); - } - if(HxOverrides.cca(data,p.pos) == 58) { - tokens.add({ p : HxOverrides.substr(data,p.pos + 2,p.len - 4), s : false, l : null}); - data = haxe_Template.splitter.matchedRight(); - continue; - } - var parp = p.pos + p.len; - var npar = 1; - var params = []; - var part = ""; - while(true) { - var c = HxOverrides.cca(data,parp); - ++parp; - if(c == 40) { - ++npar; - } else if(c == 41) { - --npar; - if(npar <= 0) { - break; - } - } else if(c == null) { - throw haxe_Exception.thrown("Unclosed macro parenthesis"); - } - if(c == 44 && npar == 1) { - params.push(part); - part = ""; - } else { - part += String.fromCodePoint(c); - } - } - params.push(part); - tokens.add({ p : haxe_Template.splitter.matched(2), s : false, l : params}); - data = HxOverrides.substr(data,parp,data.length - parp); - } - if(data.length > 0) { - tokens.add({ p : data, s : true, l : null}); - } - return tokens; - } - ,parseBlock: function(tokens) { - var l = new haxe_ds_List(); - while(true) { - var t = tokens.first(); - if(t == null) { - break; - } - if(!t.s && (t.p == "end" || t.p == "else" || HxOverrides.substr(t.p,0,7) == "elseif ")) { - break; - } - l.add(this.parse(tokens)); - } - if(l.length == 1) { - return l.first(); - } - return haxe__$Template_TemplateExpr.OpBlock(l); - } - ,parse: function(tokens) { - var t = tokens.pop(); - var p = t.p; - if(t.s) { - return haxe__$Template_TemplateExpr.OpStr(p); - } - if(t.l != null) { - var pe = new haxe_ds_List(); - var _g = 0; - var _g1 = t.l; - while(_g < _g1.length) { - var p1 = _g1[_g]; - ++_g; - pe.add(this.parseBlock(this.parseTokens(p1))); - } - return haxe__$Template_TemplateExpr.OpMacro(p,pe); - } - var kwdEnd = function(kwd) { - var pos = -1; - var length = kwd.length; - if(HxOverrides.substr(p,0,length) == kwd) { - pos = length; - var _g_offset = 0; - var _g_s = HxOverrides.substr(p,length,null); - while(_g_offset < _g_s.length) { - var c = _g_s.charCodeAt(_g_offset++); - if(c == 32) { - ++pos; - } else { - break; - } - } - } - return pos; - }; - var pos = kwdEnd("if"); - if(pos > 0) { - p = HxOverrides.substr(p,pos,p.length - pos); - var e = this.parseExpr(p); - var eif = this.parseBlock(tokens); - var t = tokens.first(); - var eelse; - if(t == null) { - throw haxe_Exception.thrown("Unclosed 'if'"); - } - if(t.p == "end") { - tokens.pop(); - eelse = null; - } else if(t.p == "else") { - tokens.pop(); - eelse = this.parseBlock(tokens); - t = tokens.pop(); - if(t == null || t.p != "end") { - throw haxe_Exception.thrown("Unclosed 'else'"); - } - } else { - t.p = HxOverrides.substr(t.p,4,t.p.length - 4); - eelse = this.parse(tokens); - } - return haxe__$Template_TemplateExpr.OpIf(e,eif,eelse); - } - var pos = kwdEnd("foreach"); - if(pos >= 0) { - p = HxOverrides.substr(p,pos,p.length - pos); - var e = this.parseExpr(p); - var efor = this.parseBlock(tokens); - var t = tokens.pop(); - if(t == null || t.p != "end") { - throw haxe_Exception.thrown("Unclosed 'foreach'"); - } - return haxe__$Template_TemplateExpr.OpForeach(e,efor); - } - if(haxe_Template.expr_splitter.match(p)) { - return haxe__$Template_TemplateExpr.OpExpr(this.parseExpr(p)); - } - return haxe__$Template_TemplateExpr.OpVar(p); - } - ,parseExpr: function(data) { - var l = new haxe_ds_List(); - var expr = data; - while(haxe_Template.expr_splitter.match(data)) { - var p = haxe_Template.expr_splitter.matchedPos(); - var k = p.pos + p.len; - if(p.pos != 0) { - l.add({ p : HxOverrides.substr(data,0,p.pos), s : true}); - } - var p1 = haxe_Template.expr_splitter.matched(0); - l.add({ p : p1, s : p1.indexOf("\"") >= 0}); - data = haxe_Template.expr_splitter.matchedRight(); - } - if(data.length != 0) { - var _g_offset = 0; - var _g_s = data; - while(_g_offset < _g_s.length) { - var _g_key = _g_offset; - var _g_value = _g_s.charCodeAt(_g_offset++); - var i = _g_key; - var c = _g_value; - if(c != 32) { - l.add({ p : HxOverrides.substr(data,i,null), s : true}); - break; - } - } - } - var e; - try { - e = this.makeExpr(l); - if(!l.isEmpty()) { - throw haxe_Exception.thrown(l.first().p); - } - } catch( _g ) { - var _g1 = haxe_Exception.caught(_g).unwrap(); - if(typeof(_g1) == "string") { - var s = _g1; - throw haxe_Exception.thrown("Unexpected '" + s + "' in " + expr); - } else { - throw _g; - } - } - return function() { - try { - return e(); - } catch( _g ) { - var exc = haxe_Exception.caught(_g).unwrap(); - throw haxe_Exception.thrown("Error : " + Std.string(exc) + " in " + expr); - } - }; - } - ,makeConst: function(v) { - haxe_Template.expr_trim.match(v); - v = haxe_Template.expr_trim.matched(1); - if(HxOverrides.cca(v,0) == 34) { - var str = HxOverrides.substr(v,1,v.length - 2); - return function() { - return str; - }; - } - if(haxe_Template.expr_int.match(v)) { - var i = Std.parseInt(v); - return function() { - return i; - }; - } - if(haxe_Template.expr_float.match(v)) { - var f = parseFloat(v); - return function() { - return f; - }; - } - var me = this; - return function() { - return me.resolve(v); - }; - } - ,makePath: function(e,l) { - var p = l.first(); - if(p == null || p.p != ".") { - return e; - } - l.pop(); - var field = l.pop(); - if(field == null || !field.s) { - throw haxe_Exception.thrown(field.p); - } - var f = field.p; - haxe_Template.expr_trim.match(f); - f = haxe_Template.expr_trim.matched(1); - return this.makePath(function() { - return Reflect.field(e(),f); - },l); - } - ,makeExpr: function(l) { - return this.makePath(this.makeExpr2(l),l); - } - ,skipSpaces: function(l) { - var p = l.first(); - while(p != null) { - var _g_offset = 0; - var _g_s = p.p; - while(_g_offset < _g_s.length) { - var c = _g_s.charCodeAt(_g_offset++); - if(c != 32) { - return; - } - } - l.pop(); - p = l.first(); - } - } - ,makeExpr2: function(l) { - this.skipSpaces(l); - var p = l.pop(); - this.skipSpaces(l); - if(p == null) { - throw haxe_Exception.thrown(""); - } - if(p.s) { - return this.makeConst(p.p); - } - switch(p.p) { - case "!": - var e = this.makeExpr(l); - return function() { - var v = e(); - if(v != null) { - return v == false; - } else { - return true; - } - }; - case "(": - this.skipSpaces(l); - var e1 = this.makeExpr(l); - this.skipSpaces(l); - var p1 = l.pop(); - if(p1 == null || p1.s) { - throw haxe_Exception.thrown(p1); - } - if(p1.p == ")") { - return e1; - } - this.skipSpaces(l); - var e2 = this.makeExpr(l); - this.skipSpaces(l); - var p2 = l.pop(); - this.skipSpaces(l); - if(p2 == null || p2.p != ")") { - throw haxe_Exception.thrown(p2); - } - switch(p1.p) { - case "!=": - return function() { - return e1() != e2(); - }; - case "&&": - return function() { - return e1() && e2(); - }; - case "*": - return function() { - return e1() * e2(); - }; - case "+": - return function() { - return e1() + e2(); - }; - case "-": - return function() { - return e1() - e2(); - }; - case "/": - return function() { - return e1() / e2(); - }; - case "<": - return function() { - return e1() < e2(); - }; - case "<=": - return function() { - return e1() <= e2(); - }; - case "==": - return function() { - return e1() == e2(); - }; - case ">": - return function() { - return e1() > e2(); - }; - case ">=": - return function() { - return e1() >= e2(); - }; - case "||": - return function() { - return e1() || e2(); - }; - default: - throw haxe_Exception.thrown("Unknown operation " + p1.p); - } - break; - case "-": - var e3 = this.makeExpr(l); - return function() { - return -e3(); - }; - } - throw haxe_Exception.thrown(p.p); - } - ,run: function(e) { - switch(e._hx_index) { - case 0: - var v = e.v; - var _this = this.buf; - var x = Std.string(this.resolve(v)); - _this.b += Std.string(x); - break; - case 1: - var e1 = e.expr; - var _this = this.buf; - var x = Std.string(e1()); - _this.b += Std.string(x); - break; - case 2: - var e1 = e.expr; - var eif = e.eif; - var eelse = e.eelse; - var v = e1(); - if(v == null || v == false) { - if(eelse != null) { - this.run(eelse); - } - } else { - this.run(eif); - } - break; - case 3: - var str = e.str; - this.buf.b += str == null ? "null" : "" + str; - break; - case 4: - var l = e.l; - var _g_head = l.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var e1 = val; - this.run(e1); - } - break; - case 5: - var e1 = e.expr; - var loop = e.loop; - var v = e1(); - try { - var x = $getIterator(v); - if(x.hasNext == null) { - throw haxe_Exception.thrown(null); - } - v = x; - } catch( _g ) { - try { - if(v.hasNext == null) { - throw haxe_Exception.thrown(null); - } - } catch( _g1 ) { - throw haxe_Exception.thrown("Cannot iter on " + Std.string(v)); - } - } - this.stack.push(this.context); - var v1 = v; - var ctx = v1; - while(ctx.hasNext()) { - var ctx1 = ctx.next(); - this.context = ctx1; - this.run(loop); - } - this.context = this.stack.pop(); - break; - case 6: - var m = e.name; - var params = e.params; - var v = Reflect.field(this.macros,m); - var pl = []; - var old = this.buf; - pl.push($bind(this,this.resolve)); - var _g_head = params.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var p = val; - if(p._hx_index == 0) { - var v1 = p.v; - pl.push(this.resolve(v1)); - } else { - this.buf = new StringBuf(); - this.run(p); - pl.push(this.buf.b); - } - } - this.buf = old; - try { - var _this = this.buf; - var x = Std.string(v.apply(this.macros,pl)); - _this.b += Std.string(x); - } catch( _g ) { - var e = haxe_Exception.caught(_g).unwrap(); - var plstr; - try { - plstr = pl.join(","); - } catch( _g1 ) { - plstr = "???"; - } - var msg = "Macro call " + m + "(" + plstr + ") failed (" + Std.string(e) + ")"; - throw haxe_Exception.thrown(msg); - } - break; - } - } -}; -var haxe_ValueException = function(value,previous,native) { - haxe_Exception.call(this,String(value),previous,native); - this.value = value; -}; -haxe_ValueException.__name__ = true; -haxe_ValueException.__super__ = haxe_Exception; -haxe_ValueException.prototype = $extend(haxe_Exception.prototype,{ - unwrap: function() { - return this.value; - } -}); -var haxe_ds_List = function() { - this.length = 0; -}; -haxe_ds_List.__name__ = true; -haxe_ds_List.prototype = { - add: function(item) { - var x = new haxe_ds__$List_ListNode(item,null); - if(this.h == null) { - this.h = x; - } else { - this.q.next = x; - } - this.q = x; - this.length++; - } - ,push: function(item) { - var x = new haxe_ds__$List_ListNode(item,this.h); - this.h = x; - if(this.q == null) { - this.q = x; - } - this.length++; - } - ,first: function() { - if(this.h == null) { - return null; - } else { - return this.h.item; - } - } - ,pop: function() { - if(this.h == null) { - return null; - } - var x = this.h.item; - this.h = this.h.next; - if(this.h == null) { - this.q = null; - } - this.length--; - return x; - } - ,isEmpty: function() { - return this.h == null; - } - ,toString: function() { - var s_b = ""; - var first = true; - var l = this.h; - s_b += "{"; - while(l != null) { - if(first) { - first = false; - } else { - s_b += ", "; - } - s_b += Std.string(Std.string(l.item)); - l = l.next; - } - s_b += "}"; - return s_b; - } -}; -var haxe_ds__$List_ListNode = function(item,next) { - this.item = item; - this.next = next; -}; -haxe_ds__$List_ListNode.__name__ = true; -var js_Boot = function() { }; -js_Boot.__name__ = true; -js_Boot.__string_rec = function(o,s) { - if(o == null) { - return "null"; - } - if(s.length >= 5) { - return "<...>"; - } - var t = typeof(o); - if(t == "function" && (o.__name__ || o.__ename__)) { - t = "object"; - } - switch(t) { - case "function": - return ""; - case "object": - if(o.__enum__) { - var e = $hxEnums[o.__enum__]; - var con = e.__constructs__[o._hx_index]; - var n = con._hx_name; - if(con.__params__) { - s = s + "\t"; - return n + "(" + ((function($this) { - var $r; - var _g = []; - { - var _g1 = 0; - var _g2 = con.__params__; - while(true) { - if(!(_g1 < _g2.length)) { - break; - } - var p = _g2[_g1]; - _g1 = _g1 + 1; - _g.push(js_Boot.__string_rec(o[p],s)); - } - } - $r = _g; - return $r; - }(this))).join(",") + ")"; - } else { - return n; - } - } - if(((o) instanceof Array)) { - var str = "["; - s += "\t"; - var _g = 0; - var _g1 = o.length; - while(_g < _g1) { - var i = _g++; - str += (i > 0 ? "," : "") + js_Boot.__string_rec(o[i],s); - } - str += "]"; - return str; - } - var tostr; - try { - tostr = o.toString; - } catch( _g ) { - return "???"; - } - if(tostr != null && tostr != Object.toString && typeof(tostr) == "function") { - var s2 = o.toString(); - if(s2 != "[object Object]") { - return s2; - } - } - var str = "{\n"; - s += "\t"; - var hasp = o.hasOwnProperty != null; - var k = null; - for( k in o ) { - if(hasp && !o.hasOwnProperty(k)) { - continue; - } - if(k == "prototype" || k == "__class__" || k == "__super__" || k == "__interfaces__" || k == "__properties__") { - continue; - } - if(str.length != 2) { - str += ", \n"; - } - str += s + k + " : " + js_Boot.__string_rec(o[k],s); - } - s = s.substring(1); - str += "\n" + s + "}"; - return str; - case "string": - return o; - default: - return String(o); - } -}; -var xrfragment_Filter = $hx_exports["xrfragment"]["Filter"] = function(str) { - this.q = { }; - this.str = ""; - if(str != null) { - this.parse(str); - } -}; -xrfragment_Filter.__name__ = true; -xrfragment_Filter.prototype = { - toObject: function() { - return Reflect.copy(this.q); - } - ,get: function() { - return Reflect.copy(this.q); - } - ,parse: function(str) { - var token = str.split(" "); - var q = { }; - var process = function(str,prefix) { - if(prefix == null) { - prefix = ""; - } - str = StringTools.trim(str); - var k = str.split("=")[0]; - var v = str.split("=")[1]; - var filter = { }; - if(q[prefix + k]) { - filter = q[prefix + k]; - } - if(xrfragment_XRF.isProp.match(str)) { - var oper = ""; - if(str.indexOf(">") != -1) { - oper = ">"; - } - if(str.indexOf("<") != -1) { - oper = "<"; - } - if(xrfragment_XRF.isExclude.match(k)) { - k = HxOverrides.substr(k,1,null); - } - v = HxOverrides.substr(v,oper.length,null); - if(oper.length == 0) { - oper = "="; - } - var rule = { }; - if(xrfragment_XRF.isNumber.match(v)) { - rule[oper] = parseFloat(v); - } else { - rule[oper] = v; - } - q["expr"] = rule; - } - var value = xrfragment_XRF.isDeep.match(str) ? k.split("*").length - 1 : 0; - q["deep"] = value; - var value = xrfragment_XRF.isExclude.match(str) ? false : true; - q["show"] = value; - var value = k.replace(xrfragment_XRF.operators.r,""); - q["key"] = value; - q["value"] = v; - }; - var _g = 0; - var _g1 = token.length; - while(_g < _g1) { - var i = _g++; - process(token[i]); - } - return this.q = q; - } - ,test: function(obj) { - var qualify = false; - var _g = 0; - var _g1 = Reflect.fields(obj); - while(_g < _g1.length) { - var k = _g1[_g]; - ++_g; - var v = Std.string(Reflect.field(obj,k)); - if(this.testProperty(k,v)) { - qualify = true; - } - } - var _g = 0; - var _g1 = Reflect.fields(obj); - while(_g < _g1.length) { - var k = _g1[_g]; - ++_g; - var v = Std.string(Reflect.field(obj,k)); - if(this.testProperty(k,v,true)) { - qualify = false; - } - } - return qualify; - } - ,testProperty: function(property,value,exclude) { - var conds = 0; - var fails = 0; - var qualify = 0; - var testprop = function(expr) { - conds += 1; - fails += expr ? 0 : 1; - return expr; - }; - if(this.q[value] != null) { - var v = this.q[value]; - if(v[property] != null) { - return v[property]; - } - } - if(Reflect.field(this.q,"expr")) { - var f = Reflect.field(this.q,"expr"); - if(!Reflect.field(this.q,"show")) { - if(Reflect.field(f,"!=") != null && testprop((value == null ? "null" : "" + value) == Std.string(Reflect.field(f,"!="))) && exclude) { - ++qualify; - } - } else { - if(Reflect.field(f,"*") != null && testprop(parseFloat(value) != null)) { - ++qualify; - } - if(Reflect.field(f,">") != null && testprop(parseFloat(value) >= parseFloat(Reflect.field(f,">")))) { - ++qualify; - } - if(Reflect.field(f,"<") != null && testprop(parseFloat(value) <= parseFloat(Reflect.field(f,"<")))) { - ++qualify; - } - if(Reflect.field(f,"=") != null && (testprop(value == Reflect.field(f,"=")) || testprop(parseFloat(value) == parseFloat(Reflect.field(f,"="))))) { - ++qualify; - } - } - } - return qualify > 0; - } -}; -var xrfragment_Parser = $hx_exports["xrfragment"]["Parser"] = function() { }; -xrfragment_Parser.__name__ = true; -xrfragment_Parser.parse = function(key,value,store,index) { - var Frag_h = Object.create(null); - Frag_h["#"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_PREDEFINED_VIEW | xrfragment_XRF.PV_EXECUTE; - Frag_h["src"] = xrfragment_XRF.T_URL; - Frag_h["href"] = xrfragment_XRF.T_URL | xrfragment_XRF.T_PREDEFINED_VIEW; - Frag_h["tag"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["pos"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_VECTOR3 | xrfragment_XRF.T_STRING | xrfragment_XRF.METADATA | xrfragment_XRF.NAVIGATOR; - Frag_h["rot"] = xrfragment_XRF.QUERY_OPERATOR | xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_VECTOR3 | xrfragment_XRF.METADATA | xrfragment_XRF.NAVIGATOR; - Frag_h["t"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_FLOAT | xrfragment_XRF.T_VECTOR2 | xrfragment_XRF.NAVIGATOR | xrfragment_XRF.METADATA; - Frag_h["s"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_MEDIAFRAG; - Frag_h["loop"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_PREDEFINED_VIEW; - Frag_h["uv"] = xrfragment_XRF.T_VECTOR2 | xrfragment_XRF.T_MEDIAFRAG; - Frag_h["namespace"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["SPDX"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["unit"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["description"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - var keyStripped = key.replace(xrfragment_XRF.operators.r,""); - var isPVDynamic = key.length > 0 && !Object.prototype.hasOwnProperty.call(Frag_h,key); - if(isPVDynamic) { - var v = new xrfragment_XRF(key,xrfragment_XRF.PV_EXECUTE | xrfragment_XRF.NAVIGATOR,index); - v.validate(value); - v.flags = xrfragment_XRF.set(xrfragment_XRF.T_DYNAMICKEY,v.flags); - if(!Object.prototype.hasOwnProperty.call(Frag_h,key)) { - v.flags = xrfragment_XRF.set(xrfragment_XRF.CUSTOMFRAG,v.flags); - } - if(value.length == 0) { - v.flags = xrfragment_XRF.set(xrfragment_XRF.T_DYNAMICKEYVALUE,v.flags); - } - store[keyStripped] = v; - return true; - } - var v = new xrfragment_XRF(key,Frag_h[key],index); - if(Object.prototype.hasOwnProperty.call(Frag_h,key)) { - if(!v.validate(value)) { - console.log("src/xrfragment/Parser.hx:67:","⚠ fragment '" + key + "' has incompatible value (" + value + ")"); - return false; - } - store[keyStripped] = v; - if(xrfragment_Parser.debug) { - console.log("src/xrfragment/Parser.hx:71:","✔ " + key + ": " + v.string); - } - } else { - if(typeof(value) == "string") { - v.guessType(v,value); - } - v.flags = xrfragment_XRF.set(xrfragment_XRF.CUSTOMFRAG,v.flags); - store[keyStripped] = v; - } - return true; -}; -xrfragment_Parser.getMetaData = function() { - var meta = { title : ["title","og:title","dc.title"], description : ["aria-description","og:description","dc.description"], author : ["author","dc.creator"], publisher : ["publisher","dc.publisher"], website : ["og:site_name","og:url","dc.publisher"], license : ["SPDX","dc.rights"]}; - return meta; -}; -var xrfragment_URI = $hx_exports["xrfragment"]["URI"] = function() { - this.XRF = { }; - this.hash = { }; - this.fragment = ""; -}; -xrfragment_URI.__name__ = true; -xrfragment_URI.parseFragment = function(url,filter) { - var store = { }; - if(url == null || url.indexOf("#") == -1) { - return store; - } - var fragment = url.split("#"); - var splitArray = fragment[1].split("&"); - var _g = 0; - var _g1 = splitArray.length; - while(_g < _g1) { - var i = _g++; - var splitByEqual = splitArray[i].split("="); - var regexPlus = new EReg("\\+","g"); - var key = splitByEqual[0]; - var value = ""; - if(splitByEqual.length > 1) { - if(xrfragment_XRF.isVector.match(splitByEqual[1])) { - value = splitByEqual[1]; - } else { - var s = regexPlus.split(splitByEqual[1]).join(" "); - value = decodeURIComponent(s.split("+").join(" ")); - } - } - var ok = xrfragment_Parser.parse(key,value,store,i); - } - if(filter != null && filter != 0) { - var _g = 0; - var _g1 = Reflect.fields(store); - while(_g < _g1.length) { - var key = _g1[_g]; - ++_g; - var xrf = store[key]; - if(!xrf.is(filter)) { - Reflect.deleteField(store,key); - } - } - } - return store; -}; -xrfragment_URI.template = function(uri,vars) { - var parts = uri.split("#"); - if(parts.length == 1) { - return uri; - } - var frag = parts[1]; - frag = StringTools.replace(frag,"{","::"); - frag = StringTools.replace(frag,"}","::"); - frag = new haxe_Template(frag).execute(vars); - frag = StringTools.replace(frag,"null",""); - parts[1] = frag; - return parts.join("#"); -}; -xrfragment_URI.parse = function(stringUrl,flags) { - var r = new EReg("^(?:(?![^:@]+:[^:@/]*@)([^:/?#.]+):)?(?://)?((?:(([^:@]*)(?::([^:@]*))?)?@)?([^:/?#]*)(?::(\\d*))?)(((/(?:[^?#](?![^?#/]*\\.[^?#/.]+(?:[?#]|$)))*/?)?([^?#/]*))(?:\\?([^#]*))?(?:#(.*))?)",""); - if(stringUrl.indexOf("://") == -1 && stringUrl.charAt(0) != "/") { - stringUrl = "/" + stringUrl; - } - r.match(stringUrl); - var url = new xrfragment_URI(); - var _g = 0; - var _g1 = xrfragment_URI._parts.length; - while(_g < _g1) { - var i = _g++; - url[xrfragment_URI._parts[i]] = r.matched(i); - } - if(xrfragment_URI.isRelative(url) == true) { - if(url.directory == null && url.host != null) { - url.file = url.host; - } - url.host = ""; - } - url.hash = { }; - if(url.fragment != null && url.fragment.length > 0) { - url.XRF = xrfragment_URI.parseFragment("#" + url.fragment,flags); - var key; - var _g = 0; - var _g1 = Reflect.fields(url.XRF); - while(_g < _g1.length) { - var key = _g1[_g]; - ++_g; - var v = url.XRF[key]; - url.hash[key] = v["string"]; - } - } - xrfragment_URI.computeVars(url); - return url; -}; -xrfragment_URI.computeVars = function(url) { - var r_r = new RegExp("//","g".split("u").join("")); - if(url.directory != null && url.directory.indexOf("//") != -1) { - url.directory = url.directory.replace(r_r,"/"); - } - if(url.path != null && url.path.indexOf("//") != -1) { - url.path = url.path.replace(r_r,"/"); - } - if(url.file != null && url.file.indexOf("//") != -1) { - url.file = url.file.replace(r_r,"/"); - } - url.URN = url.scheme + "://" + url.host; - if(url.port != null) { - url.URN += ":" + url.port; - } - url.URN += url.directory; - if(url.file != null) { - var parts = url.file.split("."); - if(parts.length > 1) { - url.fileExt = parts.pop(); - } - } -}; -xrfragment_URI.toString = function(url) { - var result = ""; - if(url.scheme != null) { - result += url.scheme + "://"; - } - if(url.user != null) { - result += url.user + ":"; - } - if(url.password != null) { - result += url.password + "@"; - } - if(url.host != null) { - result += url.host; - } - if(url.port != null) { - result += ":" + url.port; - } - if(url.directory != null) { - result += url.directory; - } - if(url.file != null) { - result += url.file; - } - if(url.query != null) { - result += "?" + url.query; - } - if(url.fragment != null) { - result += "#" + url.fragment; - } - return result; -}; -xrfragment_URI.appendURI = function(url,appendedURI) { - if(xrfragment_URI.isRelative(url) == true) { - return xrfragment_URI.appendToRelativeURI(url,appendedURI); - } else { - return xrfragment_URI.appendToAbsoluteURI(url,appendedURI); - } -}; -xrfragment_URI.isRelative = function(url) { - return url.scheme == null; -}; -xrfragment_URI.appendToRelativeURI = function(url,appendedURI) { - if(url.directory == null || url.host == null) { - return xrfragment_URI.cloneURI(appendedURI); - } - var resultURI = new xrfragment_URI(); - resultURI.host = url.host; - resultURI.directory = url.directory; - if(appendedURI.host != null) { - resultURI.directory += appendedURI.host; - } - if(appendedURI.directory != null) { - var directory = appendedURI.directory; - if(appendedURI.host == null) { - resultURI.directory += HxOverrides.substr(directory,1,null); - } else { - resultURI.directory += directory; - } - } - if(appendedURI.file != null) { - resultURI.file = appendedURI.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(appendedURI.query != null) { - resultURI.query = appendedURI.query; - } - if(appendedURI.fragment != null) { - resultURI.fragment = appendedURI.fragment; - } - return resultURI; -}; -xrfragment_URI.appendToAbsoluteURI = function(url,appendedURI) { - var resultURI = new xrfragment_URI(); - if(url.scheme != null) { - resultURI.scheme = url.scheme; - } - if(url.host != null) { - resultURI.host = url.host; - } - var directory = ""; - if(url.directory != null) { - directory = url.directory; - } - if(appendedURI.host != null) { - appendedURI.directory += appendedURI.host; - } - if(appendedURI.directory != null) { - directory += appendedURI.directory; - } - resultURI.directory = directory; - if(appendedURI.file != null) { - resultURI.file = appendedURI.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(appendedURI.query != null) { - resultURI.query = appendedURI.query; - } - if(appendedURI.fragment != null) { - resultURI.fragment = appendedURI.fragment; - } - return resultURI; -}; -xrfragment_URI.toAbsolute = function(url,newUrl) { - var newURI = xrfragment_URI.parse(newUrl,0); - var resultURI = new xrfragment_URI(); - resultURI.port = url.port; - resultURI.source = newUrl; - if(newURI.scheme != null) { - resultURI.scheme = newURI.scheme; - } else { - resultURI.scheme = url.scheme; - } - if(newURI.host != null && newURI.host.length > 0) { - resultURI.host = newURI.host; - resultURI.port = null; - resultURI.fragment = null; - resultURI.hash = { }; - resultURI.XRF = { }; - if(newURI.port != null) { - resultURI.port = newURI.port; - } - } else { - resultURI.host = url.host; - } - var directory = ""; - if(url.directory != null) { - directory = url.directory; - } - if(newURI.directory != null) { - if(newUrl.charAt(0) != "/" && newUrl.indexOf("://") == -1) { - var stripRelative_r = new RegExp("\\./.*","".split("u").join("")); - directory = directory.replace(stripRelative_r,""); - directory += newURI.directory; - } else { - directory = newURI.directory; - } - } - resultURI.directory = directory; - if(newURI.file != null) { - resultURI.file = newURI.file; - } else { - resultURI.file = url.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(newURI.query != null) { - resultURI.query = newURI.query; - } - if(newURI.fragment != null) { - resultURI.fragment = newURI.fragment; - } - resultURI.hash = newURI.hash; - resultURI.XRF = newURI.XRF; - xrfragment_URI.computeVars(resultURI); - return resultURI; -}; -xrfragment_URI.cloneURI = function(url) { - var clonedURI = new xrfragment_URI(); - clonedURI.url = url.url; - clonedURI.source = url.source; - clonedURI.scheme = url.scheme; - clonedURI.authority = url.authority; - clonedURI.userInfo = url.userInfo; - clonedURI.password = url.password; - clonedURI.host = url.host; - clonedURI.port = url.port; - clonedURI.relative = url.relative; - clonedURI.path = url.path; - clonedURI.directory = url.directory; - clonedURI.file = url.file; - clonedURI.query = url.query; - clonedURI.fragment = url.fragment; - return clonedURI; -}; -var xrfragment_XRF = $hx_exports["xrfragment"]["XRF"] = function(_fragment,_flags,_index) { - this.floats = []; - this.shift = []; - this.fragment = _fragment; - this.flags = _flags; - this.index = _index; -}; -xrfragment_XRF.__name__ = true; -xrfragment_XRF.set = function(flag,flags) { - return flags | flag; -}; -xrfragment_XRF.unset = function(flag,flags) { - return flags & ~flag; -}; -xrfragment_XRF.prototype = { - is: function(flag) { - var v = this.flags; - if(!(typeof(v) == "number" && ((v | 0) === v))) { - this.flags = 0; - } - return (this.flags & flag) != 0; - } - ,validate: function(value) { - this.guessType(this,value); - var ok = true; - if(value.length == 0 && !this.is(xrfragment_XRF.T_PREDEFINED_VIEW)) { - ok = false; - } - if(!this.is(xrfragment_XRF.T_FLOAT) && this.is(xrfragment_XRF.T_VECTOR2) && !(typeof(this.x) == "number" && typeof(this.y) == "number")) { - ok = false; - } - if(!(this.is(xrfragment_XRF.T_VECTOR2) || this.is(xrfragment_XRF.T_STRING)) && this.is(xrfragment_XRF.T_VECTOR3) && !(typeof(this.x) == "number" && typeof(this.y) == "number" && typeof(this.z) == "number")) { - ok = false; - } - return ok; - } - ,guessType: function(v,str) { - v.string = str; - if(xrfragment_XRF.isReset.match(v.fragment)) { - v.reset = true; - } - if(v.fragment == "loop") { - v.loop = true; - } - if(typeof(str) != "string") { - return; - } - if(str.length > 0) { - if(xrfragment_XRF.isXRFScheme.match(str)) { - v.xrfScheme = true; - str = str.replace(xrfragment_XRF.isXRFScheme.r,""); - v.string = str; - } - if(str.split(",").length > 1) { - var xyzn = str.split(","); - if(xyzn.length > 0) { - v.x = parseFloat(xyzn[0]); - } - if(xyzn.length > 1) { - v.y = parseFloat(xyzn[1]); - } - if(xyzn.length > 2) { - v.z = parseFloat(xyzn[2]); - } - var _g = 0; - var _g1 = xyzn.length; - while(_g < _g1) { - var i = _g++; - v.shift.push(xrfragment_XRF.isShift.match(xyzn[i])); - v.floats.push(parseFloat(xyzn[i].replace(xrfragment_XRF.isShift.r,""))); - } - } - if(xrfragment_XRF.isColor.match(str)) { - v.color = str; - } - if(xrfragment_XRF.isFloat.match(str)) { - v.x = parseFloat(str); - v.float = v.x; - } - if(xrfragment_XRF.isInt.match(str)) { - v.int = Std.parseInt(str); - v.x = v.int; - v.floats.push(v.x); - } - v.filter = new xrfragment_Filter(v.fragment + "=" + v.string); - } else { - v.filter = new xrfragment_Filter(v.fragment); - } - } -}; -function $getIterator(o) { if( o instanceof Array ) return new haxe_iterators_ArrayIterator(o); else return o.iterator(); } -function $bind(o,m) { if( m == null ) return null; if( m.__id__ == null ) m.__id__ = $global.$haxeUID++; var f; if( o.hx__closures__ == null ) o.hx__closures__ = {}; else f = o.hx__closures__[m.__id__]; if( f == null ) { f = m.bind(o); o.hx__closures__[m.__id__] = f; } return f; } -$global.$haxeUID |= 0; -if(typeof(performance) != "undefined" ? typeof(performance.now) == "function" : false) { - HxOverrides.now = performance.now.bind(performance); -} -if( String.fromCodePoint == null ) String.fromCodePoint = function(c) { return c < 0x10000 ? String.fromCharCode(c) : String.fromCharCode((c>>10)+0xD7C0)+String.fromCharCode((c&0x3FF)+0xDC00); } -String.__name__ = true; -Array.__name__ = true; -js_Boot.__toStr = ({ }).toString; -haxe_Template.splitter = new EReg("(::[A-Za-z0-9_ ()&|!+=/><*.\"-]+::|\\$\\$([A-Za-z0-9_-]+)\\()",""); -haxe_Template.expr_splitter = new EReg("(\\(|\\)|[ \r\n\t]*\"[^\"]*\"[ \r\n\t]*|[!+=/><*.&|-]+)",""); -haxe_Template.expr_trim = new EReg("^[ ]*([^ ]+)[ ]*$",""); -haxe_Template.expr_int = new EReg("^[0-9]+$",""); -haxe_Template.expr_float = new EReg("^([+-]?)(?=\\d|,\\d)\\d*(,\\d*)?([Ee]([+-]?\\d+))?$",""); -haxe_Template.globals = { }; -haxe_Template.hxKeepArrayIterator = new haxe_iterators_ArrayIterator([]); -xrfragment_Parser.error = ""; -xrfragment_Parser.debug = false; -xrfragment_URI.__meta__ = { statics : { template : { keep : null}}}; -xrfragment_URI._parts = ["source","scheme","authority","userInfo","user","password","host","port","relative","path","directory","file","query","fragment"]; -xrfragment_XRF.IMMUTABLE = 1; -xrfragment_XRF.PROP_BIND = 2; -xrfragment_XRF.QUERY_OPERATOR = 4; -xrfragment_XRF.PROMPT = 8; -xrfragment_XRF.CUSTOMFRAG = 16; -xrfragment_XRF.NAVIGATOR = 32; -xrfragment_XRF.METADATA = 64; -xrfragment_XRF.PV_OVERRIDE = 128; -xrfragment_XRF.PV_EXECUTE = 256; -xrfragment_XRF.T_COLOR = 8192; -xrfragment_XRF.T_INT = 16384; -xrfragment_XRF.T_FLOAT = 32768; -xrfragment_XRF.T_VECTOR2 = 65536; -xrfragment_XRF.T_VECTOR3 = 131072; -xrfragment_XRF.T_URL = 262144; -xrfragment_XRF.T_PREDEFINED_VIEW = 524288; -xrfragment_XRF.T_STRING = 1048576; -xrfragment_XRF.T_MEDIAFRAG = 2097152; -xrfragment_XRF.T_DYNAMICKEY = 4194304; -xrfragment_XRF.T_DYNAMICKEYVALUE = 8388608; -xrfragment_XRF.isColor = new EReg("^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$",""); -xrfragment_XRF.isInt = new EReg("^[-0-9]+$",""); -xrfragment_XRF.isFloat = new EReg("^[-0-9]+\\.[0-9]+$",""); -xrfragment_XRF.isVector = new EReg("([,]+|\\w)",""); -xrfragment_XRF.isUrl = new EReg("(://)?\\..*",""); -xrfragment_XRF.isUrlOrPretypedView = new EReg("(^#|://)?\\..*",""); -xrfragment_XRF.isString = new EReg(".*",""); -xrfragment_XRF.operators = new EReg("(^[-]|^[!]|[\\*]$)","g"); -xrfragment_XRF.isProp = new EReg("^.*=[><=]?",""); -xrfragment_XRF.isExclude = new EReg("^-",""); -xrfragment_XRF.isDeep = new EReg("\\*",""); -xrfragment_XRF.isNumber = new EReg("^[0-9\\.]+$",""); -xrfragment_XRF.isMediaFrag = new EReg("^([0-9\\.,\\*+-]+)$",""); -xrfragment_XRF.isReset = new EReg("^!",""); -xrfragment_XRF.isShift = new EReg("^(\\+|--)",""); -xrfragment_XRF.isXRFScheme = new EReg("^xrf://",""); -})(typeof window != "undefined" ? window : typeof global != "undefined" ? global : typeof self != "undefined" ? self : this); -var xrfragment = $hx_exports["xrfragment"]; -export default xrfragment; -// Generated by Haxe 4.3.3 -var $hx_exports = typeof exports != "undefined" ? exports : typeof window != "undefined" ? window : typeof self != "undefined" ? self : this; -(function ($global) { "use strict"; -$hx_exports["xrfragment"] = $hx_exports["xrfragment"] || {}; -var $estr = function() { return js_Boot.__string_rec(this,''); },$hxEnums = $hxEnums || {},$_; -function $extend(from, fields) { - var proto = Object.create(from); - for (var name in fields) proto[name] = fields[name]; - if( fields.toString !== Object.prototype.toString ) proto.toString = fields.toString; - return proto; -} -var EReg = function(r,opt) { - this.r = new RegExp(r,opt.split("u").join("")); -}; -EReg.__name__ = true; -EReg.prototype = { - match: function(s) { - if(this.r.global) { - this.r.lastIndex = 0; - } - this.r.m = this.r.exec(s); - this.r.s = s; - return this.r.m != null; - } - ,matched: function(n) { - if(this.r.m != null && n >= 0 && n < this.r.m.length) { - return this.r.m[n]; - } else { - throw haxe_Exception.thrown("EReg::matched"); - } - } - ,matchedRight: function() { - if(this.r.m == null) { - throw haxe_Exception.thrown("No string matched"); - } - var sz = this.r.m.index + this.r.m[0].length; - return HxOverrides.substr(this.r.s,sz,this.r.s.length - sz); - } - ,matchedPos: function() { - if(this.r.m == null) { - throw haxe_Exception.thrown("No string matched"); - } - return { pos : this.r.m.index, len : this.r.m[0].length}; - } - ,split: function(s) { - var d = "#__delim__#"; - return s.replace(this.r,d).split(d); - } -}; -var HxOverrides = function() { }; -HxOverrides.__name__ = true; -HxOverrides.cca = function(s,index) { - var x = s.charCodeAt(index); - if(x != x) { - return undefined; - } - return x; -}; -HxOverrides.substr = function(s,pos,len) { - if(len == null) { - len = s.length; - } else if(len < 0) { - if(pos == 0) { - len = s.length + len; - } else { - return ""; - } - } - return s.substr(pos,len); -}; -HxOverrides.now = function() { - return Date.now(); -}; -Math.__name__ = true; -var Reflect = function() { }; -Reflect.__name__ = true; -Reflect.field = function(o,field) { - try { - return o[field]; - } catch( _g ) { - return null; - } -}; -Reflect.getProperty = function(o,field) { - var tmp; - if(o == null) { - return null; - } else { - var tmp1; - if(o.__properties__) { - tmp = o.__properties__["get_" + field]; - tmp1 = tmp; - } else { - tmp1 = false; - } - if(tmp1) { - return o[tmp](); - } else { - return o[field]; - } - } -}; -Reflect.fields = function(o) { - var a = []; - if(o != null) { - var hasOwnProperty = Object.prototype.hasOwnProperty; - for( var f in o ) { - if(f != "__id__" && f != "hx__closures__" && hasOwnProperty.call(o,f)) { - a.push(f); - } - } - } - return a; -}; -Reflect.isObject = function(v) { - if(v == null) { - return false; - } - var t = typeof(v); - if(!(t == "string" || t == "object" && v.__enum__ == null)) { - if(t == "function") { - return (v.__name__ || v.__ename__) != null; - } else { - return false; - } - } else { - return true; - } -}; -Reflect.deleteField = function(o,field) { - if(!Object.prototype.hasOwnProperty.call(o,field)) { - return false; - } - delete(o[field]); - return true; -}; -Reflect.copy = function(o) { - if(o == null) { - return null; - } - var o2 = { }; - var _g = 0; - var _g1 = Reflect.fields(o); - while(_g < _g1.length) { - var f = _g1[_g]; - ++_g; - o2[f] = Reflect.field(o,f); - } - return o2; -}; -var Std = function() { }; -Std.__name__ = true; -Std.string = function(s) { - return js_Boot.__string_rec(s,""); -}; -Std.parseInt = function(x) { - var v = parseInt(x); - if(isNaN(v)) { - return null; - } - return v; -}; -var StringBuf = function() { - this.b = ""; -}; -StringBuf.__name__ = true; -var StringTools = function() { }; -StringTools.__name__ = true; -StringTools.isSpace = function(s,pos) { - var c = HxOverrides.cca(s,pos); - if(!(c > 8 && c < 14)) { - return c == 32; - } else { - return true; - } -}; -StringTools.ltrim = function(s) { - var l = s.length; - var r = 0; - while(r < l && StringTools.isSpace(s,r)) ++r; - if(r > 0) { - return HxOverrides.substr(s,r,l - r); - } else { - return s; - } -}; -StringTools.rtrim = function(s) { - var l = s.length; - var r = 0; - while(r < l && StringTools.isSpace(s,l - r - 1)) ++r; - if(r > 0) { - return HxOverrides.substr(s,0,l - r); - } else { - return s; - } -}; -StringTools.trim = function(s) { - return StringTools.ltrim(StringTools.rtrim(s)); -}; -StringTools.replace = function(s,sub,by) { - return s.split(sub).join(by); -}; -var haxe_Exception = function(message,previous,native) { - Error.call(this,message); - this.message = message; - this.__previousException = previous; - this.__nativeException = native != null ? native : this; -}; -haxe_Exception.__name__ = true; -haxe_Exception.caught = function(value) { - if(((value) instanceof haxe_Exception)) { - return value; - } else if(((value) instanceof Error)) { - return new haxe_Exception(value.message,null,value); - } else { - return new haxe_ValueException(value,null,value); - } -}; -haxe_Exception.thrown = function(value) { - if(((value) instanceof haxe_Exception)) { - return value.get_native(); - } else if(((value) instanceof Error)) { - return value; - } else { - var e = new haxe_ValueException(value); - return e; - } -}; -haxe_Exception.__super__ = Error; -haxe_Exception.prototype = $extend(Error.prototype,{ - unwrap: function() { - return this.__nativeException; - } - ,get_native: function() { - return this.__nativeException; - } - ,__properties__: {get_native:"get_native"} -}); -var haxe__$Template_TemplateExpr = $hxEnums["haxe._Template.TemplateExpr"] = { __ename__:true,__constructs__:null - ,OpVar: ($_=function(v) { return {_hx_index:0,v:v,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpVar",$_.__params__ = ["v"],$_) - ,OpExpr: ($_=function(expr) { return {_hx_index:1,expr:expr,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpExpr",$_.__params__ = ["expr"],$_) - ,OpIf: ($_=function(expr,eif,eelse) { return {_hx_index:2,expr:expr,eif:eif,eelse:eelse,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpIf",$_.__params__ = ["expr","eif","eelse"],$_) - ,OpStr: ($_=function(str) { return {_hx_index:3,str:str,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpStr",$_.__params__ = ["str"],$_) - ,OpBlock: ($_=function(l) { return {_hx_index:4,l:l,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpBlock",$_.__params__ = ["l"],$_) - ,OpForeach: ($_=function(expr,loop) { return {_hx_index:5,expr:expr,loop:loop,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpForeach",$_.__params__ = ["expr","loop"],$_) - ,OpMacro: ($_=function(name,params) { return {_hx_index:6,name:name,params:params,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpMacro",$_.__params__ = ["name","params"],$_) -}; -haxe__$Template_TemplateExpr.__constructs__ = [haxe__$Template_TemplateExpr.OpVar,haxe__$Template_TemplateExpr.OpExpr,haxe__$Template_TemplateExpr.OpIf,haxe__$Template_TemplateExpr.OpStr,haxe__$Template_TemplateExpr.OpBlock,haxe__$Template_TemplateExpr.OpForeach,haxe__$Template_TemplateExpr.OpMacro]; -var haxe_iterators_ArrayIterator = function(array) { - this.current = 0; - this.array = array; -}; -haxe_iterators_ArrayIterator.__name__ = true; -haxe_iterators_ArrayIterator.prototype = { - hasNext: function() { - return this.current < this.array.length; - } - ,next: function() { - return this.array[this.current++]; - } -}; -var haxe_Template = function(str) { - var tokens = this.parseTokens(str); - this.expr = this.parseBlock(tokens); - if(!tokens.isEmpty()) { - throw haxe_Exception.thrown("Unexpected '" + Std.string(tokens.first().s) + "'"); - } -}; -haxe_Template.__name__ = true; -haxe_Template.prototype = { - execute: function(context,macros) { - this.macros = macros == null ? { } : macros; - this.context = context; - this.stack = new haxe_ds_List(); - this.buf = new StringBuf(); - this.run(this.expr); - return this.buf.b; - } - ,resolve: function(v) { - if(v == "__current__") { - return this.context; - } - if(Reflect.isObject(this.context)) { - var value = Reflect.getProperty(this.context,v); - if(value != null || Object.prototype.hasOwnProperty.call(this.context,v)) { - return value; - } - } - var _g_head = this.stack.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var ctx = val; - var value = Reflect.getProperty(ctx,v); - if(value != null || Object.prototype.hasOwnProperty.call(ctx,v)) { - return value; - } - } - return Reflect.field(haxe_Template.globals,v); - } - ,parseTokens: function(data) { - var tokens = new haxe_ds_List(); - while(haxe_Template.splitter.match(data)) { - var p = haxe_Template.splitter.matchedPos(); - if(p.pos > 0) { - tokens.add({ p : HxOverrides.substr(data,0,p.pos), s : true, l : null}); - } - if(HxOverrides.cca(data,p.pos) == 58) { - tokens.add({ p : HxOverrides.substr(data,p.pos + 2,p.len - 4), s : false, l : null}); - data = haxe_Template.splitter.matchedRight(); - continue; - } - var parp = p.pos + p.len; - var npar = 1; - var params = []; - var part = ""; - while(true) { - var c = HxOverrides.cca(data,parp); - ++parp; - if(c == 40) { - ++npar; - } else if(c == 41) { - --npar; - if(npar <= 0) { - break; - } - } else if(c == null) { - throw haxe_Exception.thrown("Unclosed macro parenthesis"); - } - if(c == 44 && npar == 1) { - params.push(part); - part = ""; - } else { - part += String.fromCodePoint(c); - } - } - params.push(part); - tokens.add({ p : haxe_Template.splitter.matched(2), s : false, l : params}); - data = HxOverrides.substr(data,parp,data.length - parp); - } - if(data.length > 0) { - tokens.add({ p : data, s : true, l : null}); - } - return tokens; - } - ,parseBlock: function(tokens) { - var l = new haxe_ds_List(); - while(true) { - var t = tokens.first(); - if(t == null) { - break; - } - if(!t.s && (t.p == "end" || t.p == "else" || HxOverrides.substr(t.p,0,7) == "elseif ")) { - break; - } - l.add(this.parse(tokens)); - } - if(l.length == 1) { - return l.first(); - } - return haxe__$Template_TemplateExpr.OpBlock(l); - } - ,parse: function(tokens) { - var t = tokens.pop(); - var p = t.p; - if(t.s) { - return haxe__$Template_TemplateExpr.OpStr(p); - } - if(t.l != null) { - var pe = new haxe_ds_List(); - var _g = 0; - var _g1 = t.l; - while(_g < _g1.length) { - var p1 = _g1[_g]; - ++_g; - pe.add(this.parseBlock(this.parseTokens(p1))); - } - return haxe__$Template_TemplateExpr.OpMacro(p,pe); - } - var kwdEnd = function(kwd) { - var pos = -1; - var length = kwd.length; - if(HxOverrides.substr(p,0,length) == kwd) { - pos = length; - var _g_offset = 0; - var _g_s = HxOverrides.substr(p,length,null); - while(_g_offset < _g_s.length) { - var c = _g_s.charCodeAt(_g_offset++); - if(c == 32) { - ++pos; - } else { - break; - } - } - } - return pos; - }; - var pos = kwdEnd("if"); - if(pos > 0) { - p = HxOverrides.substr(p,pos,p.length - pos); - var e = this.parseExpr(p); - var eif = this.parseBlock(tokens); - var t = tokens.first(); - var eelse; - if(t == null) { - throw haxe_Exception.thrown("Unclosed 'if'"); - } - if(t.p == "end") { - tokens.pop(); - eelse = null; - } else if(t.p == "else") { - tokens.pop(); - eelse = this.parseBlock(tokens); - t = tokens.pop(); - if(t == null || t.p != "end") { - throw haxe_Exception.thrown("Unclosed 'else'"); - } - } else { - t.p = HxOverrides.substr(t.p,4,t.p.length - 4); - eelse = this.parse(tokens); - } - return haxe__$Template_TemplateExpr.OpIf(e,eif,eelse); - } - var pos = kwdEnd("foreach"); - if(pos >= 0) { - p = HxOverrides.substr(p,pos,p.length - pos); - var e = this.parseExpr(p); - var efor = this.parseBlock(tokens); - var t = tokens.pop(); - if(t == null || t.p != "end") { - throw haxe_Exception.thrown("Unclosed 'foreach'"); - } - return haxe__$Template_TemplateExpr.OpForeach(e,efor); - } - if(haxe_Template.expr_splitter.match(p)) { - return haxe__$Template_TemplateExpr.OpExpr(this.parseExpr(p)); - } - return haxe__$Template_TemplateExpr.OpVar(p); - } - ,parseExpr: function(data) { - var l = new haxe_ds_List(); - var expr = data; - while(haxe_Template.expr_splitter.match(data)) { - var p = haxe_Template.expr_splitter.matchedPos(); - var k = p.pos + p.len; - if(p.pos != 0) { - l.add({ p : HxOverrides.substr(data,0,p.pos), s : true}); - } - var p1 = haxe_Template.expr_splitter.matched(0); - l.add({ p : p1, s : p1.indexOf("\"") >= 0}); - data = haxe_Template.expr_splitter.matchedRight(); - } - if(data.length != 0) { - var _g_offset = 0; - var _g_s = data; - while(_g_offset < _g_s.length) { - var _g_key = _g_offset; - var _g_value = _g_s.charCodeAt(_g_offset++); - var i = _g_key; - var c = _g_value; - if(c != 32) { - l.add({ p : HxOverrides.substr(data,i,null), s : true}); - break; - } - } - } - var e; - try { - e = this.makeExpr(l); - if(!l.isEmpty()) { - throw haxe_Exception.thrown(l.first().p); - } - } catch( _g ) { - var _g1 = haxe_Exception.caught(_g).unwrap(); - if(typeof(_g1) == "string") { - var s = _g1; - throw haxe_Exception.thrown("Unexpected '" + s + "' in " + expr); - } else { - throw _g; - } - } - return function() { - try { - return e(); - } catch( _g ) { - var exc = haxe_Exception.caught(_g).unwrap(); - throw haxe_Exception.thrown("Error : " + Std.string(exc) + " in " + expr); - } - }; - } - ,makeConst: function(v) { - haxe_Template.expr_trim.match(v); - v = haxe_Template.expr_trim.matched(1); - if(HxOverrides.cca(v,0) == 34) { - var str = HxOverrides.substr(v,1,v.length - 2); - return function() { - return str; - }; - } - if(haxe_Template.expr_int.match(v)) { - var i = Std.parseInt(v); - return function() { - return i; - }; - } - if(haxe_Template.expr_float.match(v)) { - var f = parseFloat(v); - return function() { - return f; - }; - } - var me = this; - return function() { - return me.resolve(v); - }; - } - ,makePath: function(e,l) { - var p = l.first(); - if(p == null || p.p != ".") { - return e; - } - l.pop(); - var field = l.pop(); - if(field == null || !field.s) { - throw haxe_Exception.thrown(field.p); - } - var f = field.p; - haxe_Template.expr_trim.match(f); - f = haxe_Template.expr_trim.matched(1); - return this.makePath(function() { - return Reflect.field(e(),f); - },l); - } - ,makeExpr: function(l) { - return this.makePath(this.makeExpr2(l),l); - } - ,skipSpaces: function(l) { - var p = l.first(); - while(p != null) { - var _g_offset = 0; - var _g_s = p.p; - while(_g_offset < _g_s.length) { - var c = _g_s.charCodeAt(_g_offset++); - if(c != 32) { - return; - } - } - l.pop(); - p = l.first(); - } - } - ,makeExpr2: function(l) { - this.skipSpaces(l); - var p = l.pop(); - this.skipSpaces(l); - if(p == null) { - throw haxe_Exception.thrown(""); - } - if(p.s) { - return this.makeConst(p.p); - } - switch(p.p) { - case "!": - var e = this.makeExpr(l); - return function() { - var v = e(); - if(v != null) { - return v == false; - } else { - return true; - } - }; - case "(": - this.skipSpaces(l); - var e1 = this.makeExpr(l); - this.skipSpaces(l); - var p1 = l.pop(); - if(p1 == null || p1.s) { - throw haxe_Exception.thrown(p1); - } - if(p1.p == ")") { - return e1; - } - this.skipSpaces(l); - var e2 = this.makeExpr(l); - this.skipSpaces(l); - var p2 = l.pop(); - this.skipSpaces(l); - if(p2 == null || p2.p != ")") { - throw haxe_Exception.thrown(p2); - } - switch(p1.p) { - case "!=": - return function() { - return e1() != e2(); - }; - case "&&": - return function() { - return e1() && e2(); - }; - case "*": - return function() { - return e1() * e2(); - }; - case "+": - return function() { - return e1() + e2(); - }; - case "-": - return function() { - return e1() - e2(); - }; - case "/": - return function() { - return e1() / e2(); - }; - case "<": - return function() { - return e1() < e2(); - }; - case "<=": - return function() { - return e1() <= e2(); - }; - case "==": - return function() { - return e1() == e2(); - }; - case ">": - return function() { - return e1() > e2(); - }; - case ">=": - return function() { - return e1() >= e2(); - }; - case "||": - return function() { - return e1() || e2(); - }; - default: - throw haxe_Exception.thrown("Unknown operation " + p1.p); - } - break; - case "-": - var e3 = this.makeExpr(l); - return function() { - return -e3(); - }; - } - throw haxe_Exception.thrown(p.p); - } - ,run: function(e) { - switch(e._hx_index) { - case 0: - var v = e.v; - var _this = this.buf; - var x = Std.string(this.resolve(v)); - _this.b += Std.string(x); - break; - case 1: - var e1 = e.expr; - var _this = this.buf; - var x = Std.string(e1()); - _this.b += Std.string(x); - break; - case 2: - var e1 = e.expr; - var eif = e.eif; - var eelse = e.eelse; - var v = e1(); - if(v == null || v == false) { - if(eelse != null) { - this.run(eelse); - } - } else { - this.run(eif); - } - break; - case 3: - var str = e.str; - this.buf.b += str == null ? "null" : "" + str; - break; - case 4: - var l = e.l; - var _g_head = l.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var e1 = val; - this.run(e1); - } - break; - case 5: - var e1 = e.expr; - var loop = e.loop; - var v = e1(); - try { - var x = $getIterator(v); - if(x.hasNext == null) { - throw haxe_Exception.thrown(null); - } - v = x; - } catch( _g ) { - try { - if(v.hasNext == null) { - throw haxe_Exception.thrown(null); - } - } catch( _g1 ) { - throw haxe_Exception.thrown("Cannot iter on " + Std.string(v)); - } - } - this.stack.push(this.context); - var v1 = v; - var ctx = v1; - while(ctx.hasNext()) { - var ctx1 = ctx.next(); - this.context = ctx1; - this.run(loop); - } - this.context = this.stack.pop(); - break; - case 6: - var m = e.name; - var params = e.params; - var v = Reflect.field(this.macros,m); - var pl = []; - var old = this.buf; - pl.push($bind(this,this.resolve)); - var _g_head = params.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var p = val; - if(p._hx_index == 0) { - var v1 = p.v; - pl.push(this.resolve(v1)); - } else { - this.buf = new StringBuf(); - this.run(p); - pl.push(this.buf.b); - } - } - this.buf = old; - try { - var _this = this.buf; - var x = Std.string(v.apply(this.macros,pl)); - _this.b += Std.string(x); - } catch( _g ) { - var e = haxe_Exception.caught(_g).unwrap(); - var plstr; - try { - plstr = pl.join(","); - } catch( _g1 ) { - plstr = "???"; - } - var msg = "Macro call " + m + "(" + plstr + ") failed (" + Std.string(e) + ")"; - throw haxe_Exception.thrown(msg); - } - break; - } - } -}; -var haxe_ValueException = function(value,previous,native) { - haxe_Exception.call(this,String(value),previous,native); - this.value = value; -}; -haxe_ValueException.__name__ = true; -haxe_ValueException.__super__ = haxe_Exception; -haxe_ValueException.prototype = $extend(haxe_Exception.prototype,{ - unwrap: function() { - return this.value; - } -}); -var haxe_ds_List = function() { - this.length = 0; -}; -haxe_ds_List.__name__ = true; -haxe_ds_List.prototype = { - add: function(item) { - var x = new haxe_ds__$List_ListNode(item,null); - if(this.h == null) { - this.h = x; - } else { - this.q.next = x; - } - this.q = x; - this.length++; - } - ,push: function(item) { - var x = new haxe_ds__$List_ListNode(item,this.h); - this.h = x; - if(this.q == null) { - this.q = x; - } - this.length++; - } - ,first: function() { - if(this.h == null) { - return null; - } else { - return this.h.item; - } - } - ,pop: function() { - if(this.h == null) { - return null; - } - var x = this.h.item; - this.h = this.h.next; - if(this.h == null) { - this.q = null; - } - this.length--; - return x; - } - ,isEmpty: function() { - return this.h == null; - } - ,toString: function() { - var s_b = ""; - var first = true; - var l = this.h; - s_b += "{"; - while(l != null) { - if(first) { - first = false; - } else { - s_b += ", "; - } - s_b += Std.string(Std.string(l.item)); - l = l.next; - } - s_b += "}"; - return s_b; - } -}; -var haxe_ds__$List_ListNode = function(item,next) { - this.item = item; - this.next = next; -}; -haxe_ds__$List_ListNode.__name__ = true; -var js_Boot = function() { }; -js_Boot.__name__ = true; -js_Boot.__string_rec = function(o,s) { - if(o == null) { - return "null"; - } - if(s.length >= 5) { - return "<...>"; - } - var t = typeof(o); - if(t == "function" && (o.__name__ || o.__ename__)) { - t = "object"; - } - switch(t) { - case "function": - return ""; - case "object": - if(o.__enum__) { - var e = $hxEnums[o.__enum__]; - var con = e.__constructs__[o._hx_index]; - var n = con._hx_name; - if(con.__params__) { - s = s + "\t"; - return n + "(" + ((function($this) { - var $r; - var _g = []; - { - var _g1 = 0; - var _g2 = con.__params__; - while(true) { - if(!(_g1 < _g2.length)) { - break; - } - var p = _g2[_g1]; - _g1 = _g1 + 1; - _g.push(js_Boot.__string_rec(o[p],s)); - } - } - $r = _g; - return $r; - }(this))).join(",") + ")"; - } else { - return n; - } - } - if(((o) instanceof Array)) { - var str = "["; - s += "\t"; - var _g = 0; - var _g1 = o.length; - while(_g < _g1) { - var i = _g++; - str += (i > 0 ? "," : "") + js_Boot.__string_rec(o[i],s); - } - str += "]"; - return str; - } - var tostr; - try { - tostr = o.toString; - } catch( _g ) { - return "???"; - } - if(tostr != null && tostr != Object.toString && typeof(tostr) == "function") { - var s2 = o.toString(); - if(s2 != "[object Object]") { - return s2; - } - } - var str = "{\n"; - s += "\t"; - var hasp = o.hasOwnProperty != null; - var k = null; - for( k in o ) { - if(hasp && !o.hasOwnProperty(k)) { - continue; - } - if(k == "prototype" || k == "__class__" || k == "__super__" || k == "__interfaces__" || k == "__properties__") { - continue; - } - if(str.length != 2) { - str += ", \n"; - } - str += s + k + " : " + js_Boot.__string_rec(o[k],s); - } - s = s.substring(1); - str += "\n" + s + "}"; - return str; - case "string": - return o; - default: - return String(o); - } -}; -var xrfragment_Filter = $hx_exports["xrfragment"]["Filter"] = function(str) { - this.q = { }; - this.str = ""; - if(str != null) { - this.parse(str); - } -}; -xrfragment_Filter.__name__ = true; -xrfragment_Filter.prototype = { - toObject: function() { - return Reflect.copy(this.q); - } - ,get: function() { - return Reflect.copy(this.q); - } - ,parse: function(str) { - var token = str.split(" "); - var q = { }; - var process = function(str,prefix) { - if(prefix == null) { - prefix = ""; - } - str = StringTools.trim(str); - var k = str.split("=")[0]; - var v = str.split("=")[1]; - var filter = { }; - if(q[prefix + k]) { - filter = q[prefix + k]; - } - if(xrfragment_XRF.isProp.match(str)) { - var oper = ""; - if(str.indexOf(">") != -1) { - oper = ">"; - } - if(str.indexOf("<") != -1) { - oper = "<"; - } - if(xrfragment_XRF.isExclude.match(k)) { - k = HxOverrides.substr(k,1,null); - } - v = HxOverrides.substr(v,oper.length,null); - if(oper.length == 0) { - oper = "="; - } - var rule = { }; - if(xrfragment_XRF.isNumber.match(v)) { - rule[oper] = parseFloat(v); - } else { - rule[oper] = v; - } - q["expr"] = rule; - } - var value = xrfragment_XRF.isDeep.match(str) ? k.split("*").length - 1 : 0; - q["deep"] = value; - var value = xrfragment_XRF.isExclude.match(str) ? false : true; - q["show"] = value; - var value = k.replace(xrfragment_XRF.operators.r,""); - q["key"] = value; - q["value"] = v; - }; - var _g = 0; - var _g1 = token.length; - while(_g < _g1) { - var i = _g++; - process(token[i]); - } - return this.q = q; - } - ,test: function(obj) { - var qualify = false; - var _g = 0; - var _g1 = Reflect.fields(obj); - while(_g < _g1.length) { - var k = _g1[_g]; - ++_g; - var v = Std.string(Reflect.field(obj,k)); - if(this.testProperty(k,v)) { - qualify = true; - } - } - var _g = 0; - var _g1 = Reflect.fields(obj); - while(_g < _g1.length) { - var k = _g1[_g]; - ++_g; - var v = Std.string(Reflect.field(obj,k)); - if(this.testProperty(k,v,true)) { - qualify = false; - } - } - return qualify; - } - ,testProperty: function(property,value,exclude) { - var conds = 0; - var fails = 0; - var qualify = 0; - var testprop = function(expr) { - conds += 1; - fails += expr ? 0 : 1; - return expr; - }; - if(this.q[value] != null) { - var v = this.q[value]; - if(v[property] != null) { - return v[property]; - } - } - if(Reflect.field(this.q,"expr")) { - var f = Reflect.field(this.q,"expr"); - if(!Reflect.field(this.q,"show")) { - if(Reflect.field(f,"!=") != null && testprop((value == null ? "null" : "" + value) == Std.string(Reflect.field(f,"!="))) && exclude) { - ++qualify; - } - } else { - if(Reflect.field(f,"*") != null && testprop(parseFloat(value) != null)) { - ++qualify; - } - if(Reflect.field(f,">") != null && testprop(parseFloat(value) >= parseFloat(Reflect.field(f,">")))) { - ++qualify; - } - if(Reflect.field(f,"<") != null && testprop(parseFloat(value) <= parseFloat(Reflect.field(f,"<")))) { - ++qualify; - } - if(Reflect.field(f,"=") != null && (testprop(value == Reflect.field(f,"=")) || testprop(parseFloat(value) == parseFloat(Reflect.field(f,"="))))) { - ++qualify; - } - } - } - return qualify > 0; - } -}; -var xrfragment_Parser = $hx_exports["xrfragment"]["Parser"] = function() { }; -xrfragment_Parser.__name__ = true; -xrfragment_Parser.parse = function(key,value,store,index) { - var Frag_h = Object.create(null); - Frag_h["#"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_PREDEFINED_VIEW | xrfragment_XRF.PV_EXECUTE; - Frag_h["src"] = xrfragment_XRF.T_URL; - Frag_h["href"] = xrfragment_XRF.T_URL | xrfragment_XRF.T_PREDEFINED_VIEW; - Frag_h["tag"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["pos"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_VECTOR3 | xrfragment_XRF.T_STRING | xrfragment_XRF.METADATA | xrfragment_XRF.NAVIGATOR; - Frag_h["rot"] = xrfragment_XRF.QUERY_OPERATOR | xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_VECTOR3 | xrfragment_XRF.METADATA | xrfragment_XRF.NAVIGATOR; - Frag_h["t"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_FLOAT | xrfragment_XRF.T_VECTOR2 | xrfragment_XRF.NAVIGATOR | xrfragment_XRF.METADATA; - Frag_h["s"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_MEDIAFRAG; - Frag_h["loop"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_PREDEFINED_VIEW; - Frag_h["uv"] = xrfragment_XRF.T_VECTOR2 | xrfragment_XRF.T_MEDIAFRAG; - Frag_h["namespace"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["SPDX"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["unit"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["description"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - var keyStripped = key.replace(xrfragment_XRF.operators.r,""); - var isPVDynamic = key.length > 0 && !Object.prototype.hasOwnProperty.call(Frag_h,key); - if(isPVDynamic) { - var v = new xrfragment_XRF(key,xrfragment_XRF.PV_EXECUTE | xrfragment_XRF.NAVIGATOR,index); - v.validate(value); - v.flags = xrfragment_XRF.set(xrfragment_XRF.T_DYNAMICKEY,v.flags); - if(!Object.prototype.hasOwnProperty.call(Frag_h,key)) { - v.flags = xrfragment_XRF.set(xrfragment_XRF.CUSTOMFRAG,v.flags); - } - if(value.length == 0) { - v.flags = xrfragment_XRF.set(xrfragment_XRF.T_DYNAMICKEYVALUE,v.flags); - } - store[keyStripped] = v; - return true; - } - var v = new xrfragment_XRF(key,Frag_h[key],index); - if(Object.prototype.hasOwnProperty.call(Frag_h,key)) { - if(!v.validate(value)) { - console.log("src/xrfragment/Parser.hx:67:","⚠ fragment '" + key + "' has incompatible value (" + value + ")"); - return false; - } - store[keyStripped] = v; - if(xrfragment_Parser.debug) { - console.log("src/xrfragment/Parser.hx:71:","✔ " + key + ": " + v.string); - } - } else { - if(typeof(value) == "string") { - v.guessType(v,value); - } - v.flags = xrfragment_XRF.set(xrfragment_XRF.CUSTOMFRAG,v.flags); - store[keyStripped] = v; - } - return true; -}; -xrfragment_Parser.getMetaData = function() { - var meta = { title : ["title","og:title","dc.title"], description : ["aria-description","og:description","dc.description"], author : ["author","dc.creator"], publisher : ["publisher","dc.publisher"], website : ["og:site_name","og:url","dc.publisher"], license : ["SPDX","dc.rights"]}; - return meta; -}; -var xrfragment_URI = $hx_exports["xrfragment"]["URI"] = function() { - this.XRF = { }; - this.hash = { }; - this.fragment = ""; -}; -xrfragment_URI.__name__ = true; -xrfragment_URI.parseFragment = function(url,filter) { - var store = { }; - if(url == null || url.indexOf("#") == -1) { - return store; - } - var fragment = url.split("#"); - var splitArray = fragment[1].split("&"); - var _g = 0; - var _g1 = splitArray.length; - while(_g < _g1) { - var i = _g++; - var splitByEqual = splitArray[i].split("="); - var regexPlus = new EReg("\\+","g"); - var key = splitByEqual[0]; - var value = ""; - if(splitByEqual.length > 1) { - if(xrfragment_XRF.isVector.match(splitByEqual[1])) { - value = splitByEqual[1]; - } else { - var s = regexPlus.split(splitByEqual[1]).join(" "); - value = decodeURIComponent(s.split("+").join(" ")); - } - } - var ok = xrfragment_Parser.parse(key,value,store,i); - } - if(filter != null && filter != 0) { - var _g = 0; - var _g1 = Reflect.fields(store); - while(_g < _g1.length) { - var key = _g1[_g]; - ++_g; - var xrf = store[key]; - if(!xrf.is(filter)) { - Reflect.deleteField(store,key); - } - } - } - return store; -}; -xrfragment_URI.template = function(uri,vars) { - var parts = uri.split("#"); - if(parts.length == 1) { - return uri; - } - var frag = parts[1]; - frag = StringTools.replace(frag,"{","::"); - frag = StringTools.replace(frag,"}","::"); - frag = new haxe_Template(frag).execute(vars); - frag = StringTools.replace(frag,"null",""); - parts[1] = frag; - return parts.join("#"); -}; -xrfragment_URI.parse = function(stringUrl,flags) { - var r = new EReg("^(?:(?![^:@]+:[^:@/]*@)([^:/?#.]+):)?(?://)?((?:(([^:@]*)(?::([^:@]*))?)?@)?([^:/?#]*)(?::(\\d*))?)(((/(?:[^?#](?![^?#/]*\\.[^?#/.]+(?:[?#]|$)))*/?)?([^?#/]*))(?:\\?([^#]*))?(?:#(.*))?)",""); - if(stringUrl.indexOf("://") == -1 && stringUrl.charAt(0) != "/") { - stringUrl = "/" + stringUrl; - } - r.match(stringUrl); - var url = new xrfragment_URI(); - var _g = 0; - var _g1 = xrfragment_URI._parts.length; - while(_g < _g1) { - var i = _g++; - url[xrfragment_URI._parts[i]] = r.matched(i); - } - if(xrfragment_URI.isRelative(url) == true) { - if(url.directory == null && url.host != null) { - url.file = url.host; - } - url.host = ""; - } - url.hash = { }; - if(url.fragment != null && url.fragment.length > 0) { - url.XRF = xrfragment_URI.parseFragment("#" + url.fragment,flags); - var key; - var _g = 0; - var _g1 = Reflect.fields(url.XRF); - while(_g < _g1.length) { - var key = _g1[_g]; - ++_g; - var v = url.XRF[key]; - url.hash[key] = v["string"]; - } - } - xrfragment_URI.computeVars(url); - return url; -}; -xrfragment_URI.computeVars = function(url) { - var r_r = new RegExp("//","g".split("u").join("")); - if(url.directory != null && url.directory.indexOf("//") != -1) { - url.directory = url.directory.replace(r_r,"/"); - } - if(url.path != null && url.path.indexOf("//") != -1) { - url.path = url.path.replace(r_r,"/"); - } - if(url.file != null && url.file.indexOf("//") != -1) { - url.file = url.file.replace(r_r,"/"); - } - url.URN = url.scheme + "://" + url.host; - if(url.port != null) { - url.URN += ":" + url.port; - } - url.URN += url.directory; - if(url.file != null) { - var parts = url.file.split("."); - if(parts.length > 1) { - url.fileExt = parts.pop(); - } - } -}; -xrfragment_URI.toString = function(url) { - var result = ""; - if(url.scheme != null) { - result += url.scheme + "://"; - } - if(url.user != null) { - result += url.user + ":"; - } - if(url.password != null) { - result += url.password + "@"; - } - if(url.host != null) { - result += url.host; - } - if(url.port != null) { - result += ":" + url.port; - } - if(url.directory != null) { - result += url.directory; - } - if(url.file != null) { - result += url.file; - } - if(url.query != null) { - result += "?" + url.query; - } - if(url.fragment != null) { - result += "#" + url.fragment; - } - return result; -}; -xrfragment_URI.appendURI = function(url,appendedURI) { - if(xrfragment_URI.isRelative(url) == true) { - return xrfragment_URI.appendToRelativeURI(url,appendedURI); - } else { - return xrfragment_URI.appendToAbsoluteURI(url,appendedURI); - } -}; -xrfragment_URI.isRelative = function(url) { - return url.scheme == null; -}; -xrfragment_URI.appendToRelativeURI = function(url,appendedURI) { - if(url.directory == null || url.host == null) { - return xrfragment_URI.cloneURI(appendedURI); - } - var resultURI = new xrfragment_URI(); - resultURI.host = url.host; - resultURI.directory = url.directory; - if(appendedURI.host != null) { - resultURI.directory += appendedURI.host; - } - if(appendedURI.directory != null) { - var directory = appendedURI.directory; - if(appendedURI.host == null) { - resultURI.directory += HxOverrides.substr(directory,1,null); - } else { - resultURI.directory += directory; - } - } - if(appendedURI.file != null) { - resultURI.file = appendedURI.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(appendedURI.query != null) { - resultURI.query = appendedURI.query; - } - if(appendedURI.fragment != null) { - resultURI.fragment = appendedURI.fragment; - } - return resultURI; -}; -xrfragment_URI.appendToAbsoluteURI = function(url,appendedURI) { - var resultURI = new xrfragment_URI(); - if(url.scheme != null) { - resultURI.scheme = url.scheme; - } - if(url.host != null) { - resultURI.host = url.host; - } - var directory = ""; - if(url.directory != null) { - directory = url.directory; - } - if(appendedURI.host != null) { - appendedURI.directory += appendedURI.host; - } - if(appendedURI.directory != null) { - directory += appendedURI.directory; - } - resultURI.directory = directory; - if(appendedURI.file != null) { - resultURI.file = appendedURI.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(appendedURI.query != null) { - resultURI.query = appendedURI.query; - } - if(appendedURI.fragment != null) { - resultURI.fragment = appendedURI.fragment; - } - return resultURI; -}; -xrfragment_URI.toAbsolute = function(url,newUrl) { - var newURI = xrfragment_URI.parse(newUrl,0); - var resultURI = new xrfragment_URI(); - resultURI.port = url.port; - resultURI.source = newUrl; - if(newURI.scheme != null) { - resultURI.scheme = newURI.scheme; - } else { - resultURI.scheme = url.scheme; - } - if(newURI.host != null && newURI.host.length > 0) { - resultURI.host = newURI.host; - resultURI.port = null; - resultURI.fragment = null; - resultURI.hash = { }; - resultURI.XRF = { }; - if(newURI.port != null) { - resultURI.port = newURI.port; - } - } else { - resultURI.host = url.host; - } - var directory = ""; - if(url.directory != null) { - directory = url.directory; - } - if(newURI.directory != null) { - if(newUrl.charAt(0) != "/" && newUrl.indexOf("://") == -1) { - var stripRelative_r = new RegExp("\\./.*","".split("u").join("")); - directory = directory.replace(stripRelative_r,""); - directory += newURI.directory; - } else { - directory = newURI.directory; - } - } - resultURI.directory = directory; - if(newURI.file != null) { - resultURI.file = newURI.file; - } else { - resultURI.file = url.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(newURI.query != null) { - resultURI.query = newURI.query; - } - if(newURI.fragment != null) { - resultURI.fragment = newURI.fragment; - } - resultURI.hash = newURI.hash; - resultURI.XRF = newURI.XRF; - xrfragment_URI.computeVars(resultURI); - return resultURI; -}; -xrfragment_URI.cloneURI = function(url) { - var clonedURI = new xrfragment_URI(); - clonedURI.url = url.url; - clonedURI.source = url.source; - clonedURI.scheme = url.scheme; - clonedURI.authority = url.authority; - clonedURI.userInfo = url.userInfo; - clonedURI.password = url.password; - clonedURI.host = url.host; - clonedURI.port = url.port; - clonedURI.relative = url.relative; - clonedURI.path = url.path; - clonedURI.directory = url.directory; - clonedURI.file = url.file; - clonedURI.query = url.query; - clonedURI.fragment = url.fragment; - return clonedURI; -}; -var xrfragment_XRF = $hx_exports["xrfragment"]["XRF"] = function(_fragment,_flags,_index) { - this.floats = []; - this.shift = []; - this.fragment = _fragment; - this.flags = _flags; - this.index = _index; -}; -xrfragment_XRF.__name__ = true; -xrfragment_XRF.set = function(flag,flags) { - return flags | flag; -}; -xrfragment_XRF.unset = function(flag,flags) { - return flags & ~flag; -}; -xrfragment_XRF.prototype = { - is: function(flag) { - var v = this.flags; - if(!(typeof(v) == "number" && ((v | 0) === v))) { - this.flags = 0; - } - return (this.flags & flag) != 0; - } - ,validate: function(value) { - this.guessType(this,value); - var ok = true; - if(value.length == 0 && !this.is(xrfragment_XRF.T_PREDEFINED_VIEW)) { - ok = false; - } - if(!this.is(xrfragment_XRF.T_FLOAT) && this.is(xrfragment_XRF.T_VECTOR2) && !(typeof(this.x) == "number" && typeof(this.y) == "number")) { - ok = false; - } - if(!(this.is(xrfragment_XRF.T_VECTOR2) || this.is(xrfragment_XRF.T_STRING)) && this.is(xrfragment_XRF.T_VECTOR3) && !(typeof(this.x) == "number" && typeof(this.y) == "number" && typeof(this.z) == "number")) { - ok = false; - } - return ok; - } - ,guessType: function(v,str) { - v.string = str; - if(xrfragment_XRF.isReset.match(v.fragment)) { - v.reset = true; - } - if(v.fragment == "loop") { - v.loop = true; - } - if(typeof(str) != "string") { - return; - } - if(str.length > 0) { - if(xrfragment_XRF.isXRFScheme.match(str)) { - v.xrfScheme = true; - str = str.replace(xrfragment_XRF.isXRFScheme.r,""); - v.string = str; - } - if(str.split(",").length > 1) { - var xyzn = str.split(","); - if(xyzn.length > 0) { - v.x = parseFloat(xyzn[0]); - } - if(xyzn.length > 1) { - v.y = parseFloat(xyzn[1]); - } - if(xyzn.length > 2) { - v.z = parseFloat(xyzn[2]); - } - var _g = 0; - var _g1 = xyzn.length; - while(_g < _g1) { - var i = _g++; - v.shift.push(xrfragment_XRF.isShift.match(xyzn[i])); - v.floats.push(parseFloat(xyzn[i].replace(xrfragment_XRF.isShift.r,""))); - } - } - if(xrfragment_XRF.isColor.match(str)) { - v.color = str; - } - if(xrfragment_XRF.isFloat.match(str)) { - v.x = parseFloat(str); - v.float = v.x; - } - if(xrfragment_XRF.isInt.match(str)) { - v.int = Std.parseInt(str); - v.x = v.int; - v.floats.push(v.x); - } - v.filter = new xrfragment_Filter(v.fragment + "=" + v.string); - } else { - v.filter = new xrfragment_Filter(v.fragment); - } - } -}; -function $getIterator(o) { if( o instanceof Array ) return new haxe_iterators_ArrayIterator(o); else return o.iterator(); } -function $bind(o,m) { if( m == null ) return null; if( m.__id__ == null ) m.__id__ = $global.$haxeUID++; var f; if( o.hx__closures__ == null ) o.hx__closures__ = {}; else f = o.hx__closures__[m.__id__]; if( f == null ) { f = m.bind(o); o.hx__closures__[m.__id__] = f; } return f; } -$global.$haxeUID |= 0; -if(typeof(performance) != "undefined" ? typeof(performance.now) == "function" : false) { - HxOverrides.now = performance.now.bind(performance); -} -if( String.fromCodePoint == null ) String.fromCodePoint = function(c) { return c < 0x10000 ? String.fromCharCode(c) : String.fromCharCode((c>>10)+0xD7C0)+String.fromCharCode((c&0x3FF)+0xDC00); } -String.__name__ = true; -Array.__name__ = true; -js_Boot.__toStr = ({ }).toString; -haxe_Template.splitter = new EReg("(::[A-Za-z0-9_ ()&|!+=/><*.\"-]+::|\\$\\$([A-Za-z0-9_-]+)\\()",""); -haxe_Template.expr_splitter = new EReg("(\\(|\\)|[ \r\n\t]*\"[^\"]*\"[ \r\n\t]*|[!+=/><*.&|-]+)",""); -haxe_Template.expr_trim = new EReg("^[ ]*([^ ]+)[ ]*$",""); -haxe_Template.expr_int = new EReg("^[0-9]+$",""); -haxe_Template.expr_float = new EReg("^([+-]?)(?=\\d|,\\d)\\d*(,\\d*)?([Ee]([+-]?\\d+))?$",""); -haxe_Template.globals = { }; -haxe_Template.hxKeepArrayIterator = new haxe_iterators_ArrayIterator([]); -xrfragment_Parser.error = ""; -xrfragment_Parser.debug = false; -xrfragment_URI.__meta__ = { statics : { template : { keep : null}}}; -xrfragment_URI._parts = ["source","scheme","authority","userInfo","user","password","host","port","relative","path","directory","file","query","fragment"]; -xrfragment_XRF.IMMUTABLE = 1; -xrfragment_XRF.PROP_BIND = 2; -xrfragment_XRF.QUERY_OPERATOR = 4; -xrfragment_XRF.PROMPT = 8; -xrfragment_XRF.CUSTOMFRAG = 16; -xrfragment_XRF.NAVIGATOR = 32; -xrfragment_XRF.METADATA = 64; -xrfragment_XRF.PV_OVERRIDE = 128; -xrfragment_XRF.PV_EXECUTE = 256; -xrfragment_XRF.T_COLOR = 8192; -xrfragment_XRF.T_INT = 16384; -xrfragment_XRF.T_FLOAT = 32768; -xrfragment_XRF.T_VECTOR2 = 65536; -xrfragment_XRF.T_VECTOR3 = 131072; -xrfragment_XRF.T_URL = 262144; -xrfragment_XRF.T_PREDEFINED_VIEW = 524288; -xrfragment_XRF.T_STRING = 1048576; -xrfragment_XRF.T_MEDIAFRAG = 2097152; -xrfragment_XRF.T_DYNAMICKEY = 4194304; -xrfragment_XRF.T_DYNAMICKEYVALUE = 8388608; -xrfragment_XRF.isColor = new EReg("^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$",""); -xrfragment_XRF.isInt = new EReg("^[-0-9]+$",""); -xrfragment_XRF.isFloat = new EReg("^[-0-9]+\\.[0-9]+$",""); -xrfragment_XRF.isVector = new EReg("([,]+|\\w)",""); -xrfragment_XRF.isUrl = new EReg("(://)?\\..*",""); -xrfragment_XRF.isUrlOrPretypedView = new EReg("(^#|://)?\\..*",""); -xrfragment_XRF.isString = new EReg(".*",""); -xrfragment_XRF.operators = new EReg("(^[-]|^[!]|[\\*]$)","g"); -xrfragment_XRF.isProp = new EReg("^.*=[><=]?",""); -xrfragment_XRF.isExclude = new EReg("^-",""); -xrfragment_XRF.isDeep = new EReg("\\*",""); -xrfragment_XRF.isNumber = new EReg("^[0-9\\.]+$",""); -xrfragment_XRF.isMediaFrag = new EReg("^([0-9\\.,\\*+-]+)$",""); -xrfragment_XRF.isReset = new EReg("^!",""); -xrfragment_XRF.isShift = new EReg("^(\\+|--)",""); -xrfragment_XRF.isXRFScheme = new EReg("^xrf://",""); -})(typeof window != "undefined" ? window : typeof global != "undefined" ? global : typeof self != "undefined" ? self : this); -var xrfragment = $hx_exports["xrfragment"]; -export default xrfragment; -// Generated by Haxe 4.3.3 -var $hx_exports = typeof exports != "undefined" ? exports : typeof window != "undefined" ? window : typeof self != "undefined" ? self : this; -(function ($global) { "use strict"; -$hx_exports["xrfragment"] = $hx_exports["xrfragment"] || {}; -var $estr = function() { return js_Boot.__string_rec(this,''); },$hxEnums = $hxEnums || {},$_; -function $extend(from, fields) { - var proto = Object.create(from); - for (var name in fields) proto[name] = fields[name]; - if( fields.toString !== Object.prototype.toString ) proto.toString = fields.toString; - return proto; -} -var EReg = function(r,opt) { - this.r = new RegExp(r,opt.split("u").join("")); -}; -EReg.__name__ = true; -EReg.prototype = { - match: function(s) { - if(this.r.global) { - this.r.lastIndex = 0; - } - this.r.m = this.r.exec(s); - this.r.s = s; - return this.r.m != null; - } - ,matched: function(n) { - if(this.r.m != null && n >= 0 && n < this.r.m.length) { - return this.r.m[n]; - } else { - throw haxe_Exception.thrown("EReg::matched"); - } - } - ,matchedRight: function() { - if(this.r.m == null) { - throw haxe_Exception.thrown("No string matched"); - } - var sz = this.r.m.index + this.r.m[0].length; - return HxOverrides.substr(this.r.s,sz,this.r.s.length - sz); - } - ,matchedPos: function() { - if(this.r.m == null) { - throw haxe_Exception.thrown("No string matched"); - } - return { pos : this.r.m.index, len : this.r.m[0].length}; - } - ,split: function(s) { - var d = "#__delim__#"; - return s.replace(this.r,d).split(d); - } -}; -var HxOverrides = function() { }; -HxOverrides.__name__ = true; -HxOverrides.cca = function(s,index) { - var x = s.charCodeAt(index); - if(x != x) { - return undefined; - } - return x; -}; -HxOverrides.substr = function(s,pos,len) { - if(len == null) { - len = s.length; - } else if(len < 0) { - if(pos == 0) { - len = s.length + len; - } else { - return ""; - } - } - return s.substr(pos,len); -}; -HxOverrides.now = function() { - return Date.now(); -}; -Math.__name__ = true; -var Reflect = function() { }; -Reflect.__name__ = true; -Reflect.field = function(o,field) { - try { - return o[field]; - } catch( _g ) { - return null; - } -}; -Reflect.getProperty = function(o,field) { - var tmp; - if(o == null) { - return null; - } else { - var tmp1; - if(o.__properties__) { - tmp = o.__properties__["get_" + field]; - tmp1 = tmp; - } else { - tmp1 = false; - } - if(tmp1) { - return o[tmp](); - } else { - return o[field]; - } - } -}; -Reflect.fields = function(o) { - var a = []; - if(o != null) { - var hasOwnProperty = Object.prototype.hasOwnProperty; - for( var f in o ) { - if(f != "__id__" && f != "hx__closures__" && hasOwnProperty.call(o,f)) { - a.push(f); - } - } - } - return a; -}; -Reflect.isObject = function(v) { - if(v == null) { - return false; - } - var t = typeof(v); - if(!(t == "string" || t == "object" && v.__enum__ == null)) { - if(t == "function") { - return (v.__name__ || v.__ename__) != null; - } else { - return false; - } - } else { - return true; - } -}; -Reflect.deleteField = function(o,field) { - if(!Object.prototype.hasOwnProperty.call(o,field)) { - return false; - } - delete(o[field]); - return true; -}; -Reflect.copy = function(o) { - if(o == null) { - return null; - } - var o2 = { }; - var _g = 0; - var _g1 = Reflect.fields(o); - while(_g < _g1.length) { - var f = _g1[_g]; - ++_g; - o2[f] = Reflect.field(o,f); - } - return o2; -}; -var Std = function() { }; -Std.__name__ = true; -Std.string = function(s) { - return js_Boot.__string_rec(s,""); -}; -Std.parseInt = function(x) { - var v = parseInt(x); - if(isNaN(v)) { - return null; - } - return v; -}; -var StringBuf = function() { - this.b = ""; -}; -StringBuf.__name__ = true; -var StringTools = function() { }; -StringTools.__name__ = true; -StringTools.isSpace = function(s,pos) { - var c = HxOverrides.cca(s,pos); - if(!(c > 8 && c < 14)) { - return c == 32; - } else { - return true; - } -}; -StringTools.ltrim = function(s) { - var l = s.length; - var r = 0; - while(r < l && StringTools.isSpace(s,r)) ++r; - if(r > 0) { - return HxOverrides.substr(s,r,l - r); - } else { - return s; - } -}; -StringTools.rtrim = function(s) { - var l = s.length; - var r = 0; - while(r < l && StringTools.isSpace(s,l - r - 1)) ++r; - if(r > 0) { - return HxOverrides.substr(s,0,l - r); - } else { - return s; - } -}; -StringTools.trim = function(s) { - return StringTools.ltrim(StringTools.rtrim(s)); -}; -StringTools.replace = function(s,sub,by) { - return s.split(sub).join(by); -}; -var haxe_Exception = function(message,previous,native) { - Error.call(this,message); - this.message = message; - this.__previousException = previous; - this.__nativeException = native != null ? native : this; -}; -haxe_Exception.__name__ = true; -haxe_Exception.caught = function(value) { - if(((value) instanceof haxe_Exception)) { - return value; - } else if(((value) instanceof Error)) { - return new haxe_Exception(value.message,null,value); - } else { - return new haxe_ValueException(value,null,value); - } -}; -haxe_Exception.thrown = function(value) { - if(((value) instanceof haxe_Exception)) { - return value.get_native(); - } else if(((value) instanceof Error)) { - return value; - } else { - var e = new haxe_ValueException(value); - return e; - } -}; -haxe_Exception.__super__ = Error; -haxe_Exception.prototype = $extend(Error.prototype,{ - unwrap: function() { - return this.__nativeException; - } - ,get_native: function() { - return this.__nativeException; - } - ,__properties__: {get_native:"get_native"} -}); -var haxe__$Template_TemplateExpr = $hxEnums["haxe._Template.TemplateExpr"] = { __ename__:true,__constructs__:null - ,OpVar: ($_=function(v) { return {_hx_index:0,v:v,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpVar",$_.__params__ = ["v"],$_) - ,OpExpr: ($_=function(expr) { return {_hx_index:1,expr:expr,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpExpr",$_.__params__ = ["expr"],$_) - ,OpIf: ($_=function(expr,eif,eelse) { return {_hx_index:2,expr:expr,eif:eif,eelse:eelse,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpIf",$_.__params__ = ["expr","eif","eelse"],$_) - ,OpStr: ($_=function(str) { return {_hx_index:3,str:str,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpStr",$_.__params__ = ["str"],$_) - ,OpBlock: ($_=function(l) { return {_hx_index:4,l:l,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpBlock",$_.__params__ = ["l"],$_) - ,OpForeach: ($_=function(expr,loop) { return {_hx_index:5,expr:expr,loop:loop,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpForeach",$_.__params__ = ["expr","loop"],$_) - ,OpMacro: ($_=function(name,params) { return {_hx_index:6,name:name,params:params,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpMacro",$_.__params__ = ["name","params"],$_) -}; -haxe__$Template_TemplateExpr.__constructs__ = [haxe__$Template_TemplateExpr.OpVar,haxe__$Template_TemplateExpr.OpExpr,haxe__$Template_TemplateExpr.OpIf,haxe__$Template_TemplateExpr.OpStr,haxe__$Template_TemplateExpr.OpBlock,haxe__$Template_TemplateExpr.OpForeach,haxe__$Template_TemplateExpr.OpMacro]; -var haxe_iterators_ArrayIterator = function(array) { - this.current = 0; - this.array = array; -}; -haxe_iterators_ArrayIterator.__name__ = true; -haxe_iterators_ArrayIterator.prototype = { - hasNext: function() { - return this.current < this.array.length; - } - ,next: function() { - return this.array[this.current++]; - } -}; -var haxe_Template = function(str) { - var tokens = this.parseTokens(str); - this.expr = this.parseBlock(tokens); - if(!tokens.isEmpty()) { - throw haxe_Exception.thrown("Unexpected '" + Std.string(tokens.first().s) + "'"); - } -}; -haxe_Template.__name__ = true; -haxe_Template.prototype = { - execute: function(context,macros) { - this.macros = macros == null ? { } : macros; - this.context = context; - this.stack = new haxe_ds_List(); - this.buf = new StringBuf(); - this.run(this.expr); - return this.buf.b; - } - ,resolve: function(v) { - if(v == "__current__") { - return this.context; - } - if(Reflect.isObject(this.context)) { - var value = Reflect.getProperty(this.context,v); - if(value != null || Object.prototype.hasOwnProperty.call(this.context,v)) { - return value; - } - } - var _g_head = this.stack.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var ctx = val; - var value = Reflect.getProperty(ctx,v); - if(value != null || Object.prototype.hasOwnProperty.call(ctx,v)) { - return value; - } - } - return Reflect.field(haxe_Template.globals,v); - } - ,parseTokens: function(data) { - var tokens = new haxe_ds_List(); - while(haxe_Template.splitter.match(data)) { - var p = haxe_Template.splitter.matchedPos(); - if(p.pos > 0) { - tokens.add({ p : HxOverrides.substr(data,0,p.pos), s : true, l : null}); - } - if(HxOverrides.cca(data,p.pos) == 58) { - tokens.add({ p : HxOverrides.substr(data,p.pos + 2,p.len - 4), s : false, l : null}); - data = haxe_Template.splitter.matchedRight(); - continue; - } - var parp = p.pos + p.len; - var npar = 1; - var params = []; - var part = ""; - while(true) { - var c = HxOverrides.cca(data,parp); - ++parp; - if(c == 40) { - ++npar; - } else if(c == 41) { - --npar; - if(npar <= 0) { - break; - } - } else if(c == null) { - throw haxe_Exception.thrown("Unclosed macro parenthesis"); - } - if(c == 44 && npar == 1) { - params.push(part); - part = ""; - } else { - part += String.fromCodePoint(c); - } - } - params.push(part); - tokens.add({ p : haxe_Template.splitter.matched(2), s : false, l : params}); - data = HxOverrides.substr(data,parp,data.length - parp); - } - if(data.length > 0) { - tokens.add({ p : data, s : true, l : null}); - } - return tokens; - } - ,parseBlock: function(tokens) { - var l = new haxe_ds_List(); - while(true) { - var t = tokens.first(); - if(t == null) { - break; - } - if(!t.s && (t.p == "end" || t.p == "else" || HxOverrides.substr(t.p,0,7) == "elseif ")) { - break; - } - l.add(this.parse(tokens)); - } - if(l.length == 1) { - return l.first(); - } - return haxe__$Template_TemplateExpr.OpBlock(l); - } - ,parse: function(tokens) { - var t = tokens.pop(); - var p = t.p; - if(t.s) { - return haxe__$Template_TemplateExpr.OpStr(p); - } - if(t.l != null) { - var pe = new haxe_ds_List(); - var _g = 0; - var _g1 = t.l; - while(_g < _g1.length) { - var p1 = _g1[_g]; - ++_g; - pe.add(this.parseBlock(this.parseTokens(p1))); - } - return haxe__$Template_TemplateExpr.OpMacro(p,pe); - } - var kwdEnd = function(kwd) { - var pos = -1; - var length = kwd.length; - if(HxOverrides.substr(p,0,length) == kwd) { - pos = length; - var _g_offset = 0; - var _g_s = HxOverrides.substr(p,length,null); - while(_g_offset < _g_s.length) { - var c = _g_s.charCodeAt(_g_offset++); - if(c == 32) { - ++pos; - } else { - break; - } - } - } - return pos; - }; - var pos = kwdEnd("if"); - if(pos > 0) { - p = HxOverrides.substr(p,pos,p.length - pos); - var e = this.parseExpr(p); - var eif = this.parseBlock(tokens); - var t = tokens.first(); - var eelse; - if(t == null) { - throw haxe_Exception.thrown("Unclosed 'if'"); - } - if(t.p == "end") { - tokens.pop(); - eelse = null; - } else if(t.p == "else") { - tokens.pop(); - eelse = this.parseBlock(tokens); - t = tokens.pop(); - if(t == null || t.p != "end") { - throw haxe_Exception.thrown("Unclosed 'else'"); - } - } else { - t.p = HxOverrides.substr(t.p,4,t.p.length - 4); - eelse = this.parse(tokens); - } - return haxe__$Template_TemplateExpr.OpIf(e,eif,eelse); - } - var pos = kwdEnd("foreach"); - if(pos >= 0) { - p = HxOverrides.substr(p,pos,p.length - pos); - var e = this.parseExpr(p); - var efor = this.parseBlock(tokens); - var t = tokens.pop(); - if(t == null || t.p != "end") { - throw haxe_Exception.thrown("Unclosed 'foreach'"); - } - return haxe__$Template_TemplateExpr.OpForeach(e,efor); - } - if(haxe_Template.expr_splitter.match(p)) { - return haxe__$Template_TemplateExpr.OpExpr(this.parseExpr(p)); - } - return haxe__$Template_TemplateExpr.OpVar(p); - } - ,parseExpr: function(data) { - var l = new haxe_ds_List(); - var expr = data; - while(haxe_Template.expr_splitter.match(data)) { - var p = haxe_Template.expr_splitter.matchedPos(); - var k = p.pos + p.len; - if(p.pos != 0) { - l.add({ p : HxOverrides.substr(data,0,p.pos), s : true}); - } - var p1 = haxe_Template.expr_splitter.matched(0); - l.add({ p : p1, s : p1.indexOf("\"") >= 0}); - data = haxe_Template.expr_splitter.matchedRight(); - } - if(data.length != 0) { - var _g_offset = 0; - var _g_s = data; - while(_g_offset < _g_s.length) { - var _g_key = _g_offset; - var _g_value = _g_s.charCodeAt(_g_offset++); - var i = _g_key; - var c = _g_value; - if(c != 32) { - l.add({ p : HxOverrides.substr(data,i,null), s : true}); - break; - } - } - } - var e; - try { - e = this.makeExpr(l); - if(!l.isEmpty()) { - throw haxe_Exception.thrown(l.first().p); - } - } catch( _g ) { - var _g1 = haxe_Exception.caught(_g).unwrap(); - if(typeof(_g1) == "string") { - var s = _g1; - throw haxe_Exception.thrown("Unexpected '" + s + "' in " + expr); - } else { - throw _g; - } - } - return function() { - try { - return e(); - } catch( _g ) { - var exc = haxe_Exception.caught(_g).unwrap(); - throw haxe_Exception.thrown("Error : " + Std.string(exc) + " in " + expr); - } - }; - } - ,makeConst: function(v) { - haxe_Template.expr_trim.match(v); - v = haxe_Template.expr_trim.matched(1); - if(HxOverrides.cca(v,0) == 34) { - var str = HxOverrides.substr(v,1,v.length - 2); - return function() { - return str; - }; - } - if(haxe_Template.expr_int.match(v)) { - var i = Std.parseInt(v); - return function() { - return i; - }; - } - if(haxe_Template.expr_float.match(v)) { - var f = parseFloat(v); - return function() { - return f; - }; - } - var me = this; - return function() { - return me.resolve(v); - }; - } - ,makePath: function(e,l) { - var p = l.first(); - if(p == null || p.p != ".") { - return e; - } - l.pop(); - var field = l.pop(); - if(field == null || !field.s) { - throw haxe_Exception.thrown(field.p); - } - var f = field.p; - haxe_Template.expr_trim.match(f); - f = haxe_Template.expr_trim.matched(1); - return this.makePath(function() { - return Reflect.field(e(),f); - },l); - } - ,makeExpr: function(l) { - return this.makePath(this.makeExpr2(l),l); - } - ,skipSpaces: function(l) { - var p = l.first(); - while(p != null) { - var _g_offset = 0; - var _g_s = p.p; - while(_g_offset < _g_s.length) { - var c = _g_s.charCodeAt(_g_offset++); - if(c != 32) { - return; - } - } - l.pop(); - p = l.first(); - } - } - ,makeExpr2: function(l) { - this.skipSpaces(l); - var p = l.pop(); - this.skipSpaces(l); - if(p == null) { - throw haxe_Exception.thrown(""); - } - if(p.s) { - return this.makeConst(p.p); - } - switch(p.p) { - case "!": - var e = this.makeExpr(l); - return function() { - var v = e(); - if(v != null) { - return v == false; - } else { - return true; - } - }; - case "(": - this.skipSpaces(l); - var e1 = this.makeExpr(l); - this.skipSpaces(l); - var p1 = l.pop(); - if(p1 == null || p1.s) { - throw haxe_Exception.thrown(p1); - } - if(p1.p == ")") { - return e1; - } - this.skipSpaces(l); - var e2 = this.makeExpr(l); - this.skipSpaces(l); - var p2 = l.pop(); - this.skipSpaces(l); - if(p2 == null || p2.p != ")") { - throw haxe_Exception.thrown(p2); - } - switch(p1.p) { - case "!=": - return function() { - return e1() != e2(); - }; - case "&&": - return function() { - return e1() && e2(); - }; - case "*": - return function() { - return e1() * e2(); - }; - case "+": - return function() { - return e1() + e2(); - }; - case "-": - return function() { - return e1() - e2(); - }; - case "/": - return function() { - return e1() / e2(); - }; - case "<": - return function() { - return e1() < e2(); - }; - case "<=": - return function() { - return e1() <= e2(); - }; - case "==": - return function() { - return e1() == e2(); - }; - case ">": - return function() { - return e1() > e2(); - }; - case ">=": - return function() { - return e1() >= e2(); - }; - case "||": - return function() { - return e1() || e2(); - }; - default: - throw haxe_Exception.thrown("Unknown operation " + p1.p); - } - break; - case "-": - var e3 = this.makeExpr(l); - return function() { - return -e3(); - }; - } - throw haxe_Exception.thrown(p.p); - } - ,run: function(e) { - switch(e._hx_index) { - case 0: - var v = e.v; - var _this = this.buf; - var x = Std.string(this.resolve(v)); - _this.b += Std.string(x); - break; - case 1: - var e1 = e.expr; - var _this = this.buf; - var x = Std.string(e1()); - _this.b += Std.string(x); - break; - case 2: - var e1 = e.expr; - var eif = e.eif; - var eelse = e.eelse; - var v = e1(); - if(v == null || v == false) { - if(eelse != null) { - this.run(eelse); - } - } else { - this.run(eif); - } - break; - case 3: - var str = e.str; - this.buf.b += str == null ? "null" : "" + str; - break; - case 4: - var l = e.l; - var _g_head = l.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var e1 = val; - this.run(e1); - } - break; - case 5: - var e1 = e.expr; - var loop = e.loop; - var v = e1(); - try { - var x = $getIterator(v); - if(x.hasNext == null) { - throw haxe_Exception.thrown(null); - } - v = x; - } catch( _g ) { - try { - if(v.hasNext == null) { - throw haxe_Exception.thrown(null); - } - } catch( _g1 ) { - throw haxe_Exception.thrown("Cannot iter on " + Std.string(v)); - } - } - this.stack.push(this.context); - var v1 = v; - var ctx = v1; - while(ctx.hasNext()) { - var ctx1 = ctx.next(); - this.context = ctx1; - this.run(loop); - } - this.context = this.stack.pop(); - break; - case 6: - var m = e.name; - var params = e.params; - var v = Reflect.field(this.macros,m); - var pl = []; - var old = this.buf; - pl.push($bind(this,this.resolve)); - var _g_head = params.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var p = val; - if(p._hx_index == 0) { - var v1 = p.v; - pl.push(this.resolve(v1)); - } else { - this.buf = new StringBuf(); - this.run(p); - pl.push(this.buf.b); - } - } - this.buf = old; - try { - var _this = this.buf; - var x = Std.string(v.apply(this.macros,pl)); - _this.b += Std.string(x); - } catch( _g ) { - var e = haxe_Exception.caught(_g).unwrap(); - var plstr; - try { - plstr = pl.join(","); - } catch( _g1 ) { - plstr = "???"; - } - var msg = "Macro call " + m + "(" + plstr + ") failed (" + Std.string(e) + ")"; - throw haxe_Exception.thrown(msg); - } - break; - } - } -}; -var haxe_ValueException = function(value,previous,native) { - haxe_Exception.call(this,String(value),previous,native); - this.value = value; -}; -haxe_ValueException.__name__ = true; -haxe_ValueException.__super__ = haxe_Exception; -haxe_ValueException.prototype = $extend(haxe_Exception.prototype,{ - unwrap: function() { - return this.value; - } -}); -var haxe_ds_List = function() { - this.length = 0; -}; -haxe_ds_List.__name__ = true; -haxe_ds_List.prototype = { - add: function(item) { - var x = new haxe_ds__$List_ListNode(item,null); - if(this.h == null) { - this.h = x; - } else { - this.q.next = x; - } - this.q = x; - this.length++; - } - ,push: function(item) { - var x = new haxe_ds__$List_ListNode(item,this.h); - this.h = x; - if(this.q == null) { - this.q = x; - } - this.length++; - } - ,first: function() { - if(this.h == null) { - return null; - } else { - return this.h.item; - } - } - ,pop: function() { - if(this.h == null) { - return null; - } - var x = this.h.item; - this.h = this.h.next; - if(this.h == null) { - this.q = null; - } - this.length--; - return x; - } - ,isEmpty: function() { - return this.h == null; - } - ,toString: function() { - var s_b = ""; - var first = true; - var l = this.h; - s_b += "{"; - while(l != null) { - if(first) { - first = false; - } else { - s_b += ", "; - } - s_b += Std.string(Std.string(l.item)); - l = l.next; - } - s_b += "}"; - return s_b; - } -}; -var haxe_ds__$List_ListNode = function(item,next) { - this.item = item; - this.next = next; -}; -haxe_ds__$List_ListNode.__name__ = true; -var js_Boot = function() { }; -js_Boot.__name__ = true; -js_Boot.__string_rec = function(o,s) { - if(o == null) { - return "null"; - } - if(s.length >= 5) { - return "<...>"; - } - var t = typeof(o); - if(t == "function" && (o.__name__ || o.__ename__)) { - t = "object"; - } - switch(t) { - case "function": - return ""; - case "object": - if(o.__enum__) { - var e = $hxEnums[o.__enum__]; - var con = e.__constructs__[o._hx_index]; - var n = con._hx_name; - if(con.__params__) { - s = s + "\t"; - return n + "(" + ((function($this) { - var $r; - var _g = []; - { - var _g1 = 0; - var _g2 = con.__params__; - while(true) { - if(!(_g1 < _g2.length)) { - break; - } - var p = _g2[_g1]; - _g1 = _g1 + 1; - _g.push(js_Boot.__string_rec(o[p],s)); - } - } - $r = _g; - return $r; - }(this))).join(",") + ")"; - } else { - return n; - } - } - if(((o) instanceof Array)) { - var str = "["; - s += "\t"; - var _g = 0; - var _g1 = o.length; - while(_g < _g1) { - var i = _g++; - str += (i > 0 ? "," : "") + js_Boot.__string_rec(o[i],s); - } - str += "]"; - return str; - } - var tostr; - try { - tostr = o.toString; - } catch( _g ) { - return "???"; - } - if(tostr != null && tostr != Object.toString && typeof(tostr) == "function") { - var s2 = o.toString(); - if(s2 != "[object Object]") { - return s2; - } - } - var str = "{\n"; - s += "\t"; - var hasp = o.hasOwnProperty != null; - var k = null; - for( k in o ) { - if(hasp && !o.hasOwnProperty(k)) { - continue; - } - if(k == "prototype" || k == "__class__" || k == "__super__" || k == "__interfaces__" || k == "__properties__") { - continue; - } - if(str.length != 2) { - str += ", \n"; - } - str += s + k + " : " + js_Boot.__string_rec(o[k],s); - } - s = s.substring(1); - str += "\n" + s + "}"; - return str; - case "string": - return o; - default: - return String(o); - } -}; -var xrfragment_Filter = $hx_exports["xrfragment"]["Filter"] = function(str) { - this.q = { }; - this.str = ""; - if(str != null) { - this.parse(str); - } -}; -xrfragment_Filter.__name__ = true; -xrfragment_Filter.prototype = { - toObject: function() { - return Reflect.copy(this.q); - } - ,get: function() { - return Reflect.copy(this.q); - } - ,parse: function(str) { - var token = str.split(" "); - var q = { }; - var process = function(str,prefix) { - if(prefix == null) { - prefix = ""; - } - str = StringTools.trim(str); - var k = str.split("=")[0]; - var v = str.split("=")[1]; - var filter = { }; - if(q[prefix + k]) { - filter = q[prefix + k]; - } - if(xrfragment_XRF.isProp.match(str)) { - var oper = ""; - if(str.indexOf(">") != -1) { - oper = ">"; - } - if(str.indexOf("<") != -1) { - oper = "<"; - } - if(xrfragment_XRF.isExclude.match(k)) { - k = HxOverrides.substr(k,1,null); - } - v = HxOverrides.substr(v,oper.length,null); - if(oper.length == 0) { - oper = "="; - } - var rule = { }; - if(xrfragment_XRF.isNumber.match(v)) { - rule[oper] = parseFloat(v); - } else { - rule[oper] = v; - } - q["expr"] = rule; - } - var value = xrfragment_XRF.isDeep.match(str) ? k.split("*").length - 1 : 0; - q["deep"] = value; - var value = xrfragment_XRF.isExclude.match(str) ? false : true; - q["show"] = value; - var value = k.replace(xrfragment_XRF.operators.r,""); - q["key"] = value; - q["value"] = v; - }; - var _g = 0; - var _g1 = token.length; - while(_g < _g1) { - var i = _g++; - process(token[i]); - } - return this.q = q; - } - ,test: function(obj) { - var qualify = false; - var _g = 0; - var _g1 = Reflect.fields(obj); - while(_g < _g1.length) { - var k = _g1[_g]; - ++_g; - var v = Std.string(Reflect.field(obj,k)); - if(this.testProperty(k,v)) { - qualify = true; - } - } - var _g = 0; - var _g1 = Reflect.fields(obj); - while(_g < _g1.length) { - var k = _g1[_g]; - ++_g; - var v = Std.string(Reflect.field(obj,k)); - if(this.testProperty(k,v,true)) { - qualify = false; - } - } - return qualify; - } - ,testProperty: function(property,value,exclude) { - var conds = 0; - var fails = 0; - var qualify = 0; - var testprop = function(expr) { - conds += 1; - fails += expr ? 0 : 1; - return expr; - }; - if(this.q[value] != null) { - var v = this.q[value]; - if(v[property] != null) { - return v[property]; - } - } - if(Reflect.field(this.q,"expr")) { - var f = Reflect.field(this.q,"expr"); - if(!Reflect.field(this.q,"show")) { - if(Reflect.field(f,"!=") != null && testprop((value == null ? "null" : "" + value) == Std.string(Reflect.field(f,"!="))) && exclude) { - ++qualify; - } - } else { - if(Reflect.field(f,"*") != null && testprop(parseFloat(value) != null)) { - ++qualify; - } - if(Reflect.field(f,">") != null && testprop(parseFloat(value) >= parseFloat(Reflect.field(f,">")))) { - ++qualify; - } - if(Reflect.field(f,"<") != null && testprop(parseFloat(value) <= parseFloat(Reflect.field(f,"<")))) { - ++qualify; - } - if(Reflect.field(f,"=") != null && (testprop(value == Reflect.field(f,"=")) || testprop(parseFloat(value) == parseFloat(Reflect.field(f,"="))))) { - ++qualify; - } - } - } - return qualify > 0; - } -}; -var xrfragment_Parser = $hx_exports["xrfragment"]["Parser"] = function() { }; -xrfragment_Parser.__name__ = true; -xrfragment_Parser.parse = function(key,value,store,index) { - var Frag_h = Object.create(null); - Frag_h["#"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_PREDEFINED_VIEW | xrfragment_XRF.PV_EXECUTE; - Frag_h["src"] = xrfragment_XRF.T_URL; - Frag_h["href"] = xrfragment_XRF.T_URL | xrfragment_XRF.T_PREDEFINED_VIEW; - Frag_h["tag"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["pos"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_VECTOR3 | xrfragment_XRF.T_STRING | xrfragment_XRF.METADATA | xrfragment_XRF.NAVIGATOR; - Frag_h["rot"] = xrfragment_XRF.QUERY_OPERATOR | xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_VECTOR3 | xrfragment_XRF.METADATA | xrfragment_XRF.NAVIGATOR; - Frag_h["t"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_FLOAT | xrfragment_XRF.T_VECTOR2 | xrfragment_XRF.NAVIGATOR | xrfragment_XRF.METADATA; - Frag_h["s"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_MEDIAFRAG; - Frag_h["loop"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_PREDEFINED_VIEW; - Frag_h["uv"] = xrfragment_XRF.T_VECTOR2 | xrfragment_XRF.T_MEDIAFRAG; - Frag_h["namespace"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["SPDX"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["unit"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["description"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - var keyStripped = key.replace(xrfragment_XRF.operators.r,""); - var isPVDynamic = key.length > 0 && !Object.prototype.hasOwnProperty.call(Frag_h,key); - if(isPVDynamic) { - var v = new xrfragment_XRF(key,xrfragment_XRF.PV_EXECUTE | xrfragment_XRF.NAVIGATOR,index); - v.validate(value); - v.flags = xrfragment_XRF.set(xrfragment_XRF.T_DYNAMICKEY,v.flags); - if(!Object.prototype.hasOwnProperty.call(Frag_h,key)) { - v.flags = xrfragment_XRF.set(xrfragment_XRF.CUSTOMFRAG,v.flags); - } - if(value.length == 0) { - v.flags = xrfragment_XRF.set(xrfragment_XRF.T_DYNAMICKEYVALUE,v.flags); - } - store[keyStripped] = v; - return true; - } - var v = new xrfragment_XRF(key,Frag_h[key],index); - if(Object.prototype.hasOwnProperty.call(Frag_h,key)) { - if(!v.validate(value)) { - console.log("src/xrfragment/Parser.hx:67:","⚠ fragment '" + key + "' has incompatible value (" + value + ")"); - return false; - } - store[keyStripped] = v; - if(xrfragment_Parser.debug) { - console.log("src/xrfragment/Parser.hx:71:","✔ " + key + ": " + v.string); - } - } else { - if(typeof(value) == "string") { - v.guessType(v,value); - } - v.flags = xrfragment_XRF.set(xrfragment_XRF.CUSTOMFRAG,v.flags); - store[keyStripped] = v; - } - return true; -}; -xrfragment_Parser.getMetaData = function() { - var meta = { title : ["title","og:title","dc.title"], description : ["aria-description","og:description","dc.description"], author : ["author","dc.creator"], publisher : ["publisher","dc.publisher"], website : ["og:site_name","og:url","dc.publisher"], license : ["SPDX","dc.rights"]}; - return meta; -}; -var xrfragment_URI = $hx_exports["xrfragment"]["URI"] = function() { - this.XRF = { }; - this.hash = { }; - this.fragment = ""; -}; -xrfragment_URI.__name__ = true; -xrfragment_URI.parseFragment = function(url,filter) { - var store = { }; - if(url == null || url.indexOf("#") == -1) { - return store; - } - var fragment = url.split("#"); - var splitArray = fragment[1].split("&"); - var _g = 0; - var _g1 = splitArray.length; - while(_g < _g1) { - var i = _g++; - var splitByEqual = splitArray[i].split("="); - var regexPlus = new EReg("\\+","g"); - var key = splitByEqual[0]; - var value = ""; - if(splitByEqual.length > 1) { - if(xrfragment_XRF.isVector.match(splitByEqual[1])) { - value = splitByEqual[1]; - } else { - var s = regexPlus.split(splitByEqual[1]).join(" "); - value = decodeURIComponent(s.split("+").join(" ")); - } - } - var ok = xrfragment_Parser.parse(key,value,store,i); - } - if(filter != null && filter != 0) { - var _g = 0; - var _g1 = Reflect.fields(store); - while(_g < _g1.length) { - var key = _g1[_g]; - ++_g; - var xrf = store[key]; - if(!xrf.is(filter)) { - Reflect.deleteField(store,key); - } - } - } - return store; -}; -xrfragment_URI.template = function(uri,vars) { - var parts = uri.split("#"); - if(parts.length == 1) { - return uri; - } - var frag = parts[1]; - frag = StringTools.replace(frag,"{","::"); - frag = StringTools.replace(frag,"}","::"); - frag = new haxe_Template(frag).execute(vars); - frag = StringTools.replace(frag,"null",""); - parts[1] = frag; - return parts.join("#"); -}; -xrfragment_URI.parse = function(stringUrl,flags) { - var r = new EReg("^(?:(?![^:@]+:[^:@/]*@)([^:/?#.]+):)?(?://)?((?:(([^:@]*)(?::([^:@]*))?)?@)?([^:/?#]*)(?::(\\d*))?)(((/(?:[^?#](?![^?#/]*\\.[^?#/.]+(?:[?#]|$)))*/?)?([^?#/]*))(?:\\?([^#]*))?(?:#(.*))?)",""); - if(stringUrl.indexOf("://") == -1 && stringUrl.charAt(0) != "/") { - stringUrl = "/" + stringUrl; - } - r.match(stringUrl); - var url = new xrfragment_URI(); - var _g = 0; - var _g1 = xrfragment_URI._parts.length; - while(_g < _g1) { - var i = _g++; - url[xrfragment_URI._parts[i]] = r.matched(i); - } - if(xrfragment_URI.isRelative(url) == true) { - if(url.directory == null && url.host != null) { - url.file = url.host; - } - url.host = ""; - } - url.hash = { }; - if(url.fragment != null && url.fragment.length > 0) { - url.XRF = xrfragment_URI.parseFragment("#" + url.fragment,flags); - var key; - var _g = 0; - var _g1 = Reflect.fields(url.XRF); - while(_g < _g1.length) { - var key = _g1[_g]; - ++_g; - var v = url.XRF[key]; - url.hash[key] = v["string"]; - } - } - xrfragment_URI.computeVars(url); - return url; -}; -xrfragment_URI.computeVars = function(url) { - var r_r = new RegExp("//","g".split("u").join("")); - if(url.directory != null && url.directory.indexOf("//") != -1) { - url.directory = url.directory.replace(r_r,"/"); - } - if(url.path != null && url.path.indexOf("//") != -1) { - url.path = url.path.replace(r_r,"/"); - } - if(url.file != null && url.file.indexOf("//") != -1) { - url.file = url.file.replace(r_r,"/"); - } - url.URN = url.scheme + "://" + url.host; - if(url.port != null) { - url.URN += ":" + url.port; - } - url.URN += url.directory; - if(url.file != null) { - var parts = url.file.split("."); - if(parts.length > 1) { - url.fileExt = parts.pop(); - } - } -}; -xrfragment_URI.toString = function(url) { - var result = ""; - if(url.scheme != null) { - result += url.scheme + "://"; - } - if(url.user != null) { - result += url.user + ":"; - } - if(url.password != null) { - result += url.password + "@"; - } - if(url.host != null) { - result += url.host; - } - if(url.port != null) { - result += ":" + url.port; - } - if(url.directory != null) { - result += url.directory; - } - if(url.file != null) { - result += url.file; - } - if(url.query != null) { - result += "?" + url.query; - } - if(url.fragment != null) { - result += "#" + url.fragment; - } - return result; -}; -xrfragment_URI.appendURI = function(url,appendedURI) { - if(xrfragment_URI.isRelative(url) == true) { - return xrfragment_URI.appendToRelativeURI(url,appendedURI); - } else { - return xrfragment_URI.appendToAbsoluteURI(url,appendedURI); - } -}; -xrfragment_URI.isRelative = function(url) { - return url.scheme == null; -}; -xrfragment_URI.appendToRelativeURI = function(url,appendedURI) { - if(url.directory == null || url.host == null) { - return xrfragment_URI.cloneURI(appendedURI); - } - var resultURI = new xrfragment_URI(); - resultURI.host = url.host; - resultURI.directory = url.directory; - if(appendedURI.host != null) { - resultURI.directory += appendedURI.host; - } - if(appendedURI.directory != null) { - var directory = appendedURI.directory; - if(appendedURI.host == null) { - resultURI.directory += HxOverrides.substr(directory,1,null); - } else { - resultURI.directory += directory; - } - } - if(appendedURI.file != null) { - resultURI.file = appendedURI.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(appendedURI.query != null) { - resultURI.query = appendedURI.query; - } - if(appendedURI.fragment != null) { - resultURI.fragment = appendedURI.fragment; - } - return resultURI; -}; -xrfragment_URI.appendToAbsoluteURI = function(url,appendedURI) { - var resultURI = new xrfragment_URI(); - if(url.scheme != null) { - resultURI.scheme = url.scheme; - } - if(url.host != null) { - resultURI.host = url.host; - } - var directory = ""; - if(url.directory != null) { - directory = url.directory; - } - if(appendedURI.host != null) { - appendedURI.directory += appendedURI.host; - } - if(appendedURI.directory != null) { - directory += appendedURI.directory; - } - resultURI.directory = directory; - if(appendedURI.file != null) { - resultURI.file = appendedURI.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(appendedURI.query != null) { - resultURI.query = appendedURI.query; - } - if(appendedURI.fragment != null) { - resultURI.fragment = appendedURI.fragment; - } - return resultURI; -}; -xrfragment_URI.toAbsolute = function(url,newUrl) { - var newURI = xrfragment_URI.parse(newUrl,0); - var resultURI = new xrfragment_URI(); - resultURI.port = url.port; - resultURI.source = newUrl; - if(newURI.scheme != null) { - resultURI.scheme = newURI.scheme; - } else { - resultURI.scheme = url.scheme; - } - if(newURI.host != null && newURI.host.length > 0) { - resultURI.host = newURI.host; - resultURI.port = null; - resultURI.fragment = null; - resultURI.hash = { }; - resultURI.XRF = { }; - if(newURI.port != null) { - resultURI.port = newURI.port; - } - } else { - resultURI.host = url.host; - } - var directory = ""; - if(url.directory != null) { - directory = url.directory; - } - if(newURI.directory != null) { - if(newUrl.charAt(0) != "/" && newUrl.indexOf("://") == -1) { - var stripRelative_r = new RegExp("\\./.*","".split("u").join("")); - directory = directory.replace(stripRelative_r,""); - directory += newURI.directory; - } else { - directory = newURI.directory; - } - } - resultURI.directory = directory; - if(newURI.file != null) { - resultURI.file = newURI.file; - } else { - resultURI.file = url.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(newURI.query != null) { - resultURI.query = newURI.query; - } - if(newURI.fragment != null) { - resultURI.fragment = newURI.fragment; - } - resultURI.hash = newURI.hash; - resultURI.XRF = newURI.XRF; - xrfragment_URI.computeVars(resultURI); - return resultURI; -}; -xrfragment_URI.cloneURI = function(url) { - var clonedURI = new xrfragment_URI(); - clonedURI.url = url.url; - clonedURI.source = url.source; - clonedURI.scheme = url.scheme; - clonedURI.authority = url.authority; - clonedURI.userInfo = url.userInfo; - clonedURI.password = url.password; - clonedURI.host = url.host; - clonedURI.port = url.port; - clonedURI.relative = url.relative; - clonedURI.path = url.path; - clonedURI.directory = url.directory; - clonedURI.file = url.file; - clonedURI.query = url.query; - clonedURI.fragment = url.fragment; - return clonedURI; -}; -var xrfragment_XRF = $hx_exports["xrfragment"]["XRF"] = function(_fragment,_flags,_index) { - this.floats = []; - this.shift = []; - this.fragment = _fragment; - this.flags = _flags; - this.index = _index; -}; -xrfragment_XRF.__name__ = true; -xrfragment_XRF.set = function(flag,flags) { - return flags | flag; -}; -xrfragment_XRF.unset = function(flag,flags) { - return flags & ~flag; -}; -xrfragment_XRF.prototype = { - is: function(flag) { - var v = this.flags; - if(!(typeof(v) == "number" && ((v | 0) === v))) { - this.flags = 0; - } - return (this.flags & flag) != 0; - } - ,validate: function(value) { - this.guessType(this,value); - var ok = true; - if(value.length == 0 && !this.is(xrfragment_XRF.T_PREDEFINED_VIEW)) { - ok = false; - } - if(!this.is(xrfragment_XRF.T_FLOAT) && this.is(xrfragment_XRF.T_VECTOR2) && !(typeof(this.x) == "number" && typeof(this.y) == "number")) { - ok = false; - } - if(!(this.is(xrfragment_XRF.T_VECTOR2) || this.is(xrfragment_XRF.T_STRING)) && this.is(xrfragment_XRF.T_VECTOR3) && !(typeof(this.x) == "number" && typeof(this.y) == "number" && typeof(this.z) == "number")) { - ok = false; - } - return ok; - } - ,guessType: function(v,str) { - v.string = str; - if(xrfragment_XRF.isReset.match(v.fragment)) { - v.reset = true; - } - if(v.fragment == "loop") { - v.loop = true; - } - if(typeof(str) != "string") { - return; - } - if(str.length > 0) { - if(xrfragment_XRF.isXRFScheme.match(str)) { - v.xrfScheme = true; - str = str.replace(xrfragment_XRF.isXRFScheme.r,""); - v.string = str; - } - if(str.split(",").length > 1) { - var xyzn = str.split(","); - if(xyzn.length > 0) { - v.x = parseFloat(xyzn[0]); - } - if(xyzn.length > 1) { - v.y = parseFloat(xyzn[1]); - } - if(xyzn.length > 2) { - v.z = parseFloat(xyzn[2]); - } - var _g = 0; - var _g1 = xyzn.length; - while(_g < _g1) { - var i = _g++; - v.shift.push(xrfragment_XRF.isShift.match(xyzn[i])); - v.floats.push(parseFloat(xyzn[i].replace(xrfragment_XRF.isShift.r,""))); - } - } - if(xrfragment_XRF.isColor.match(str)) { - v.color = str; - } - if(xrfragment_XRF.isFloat.match(str)) { - v.x = parseFloat(str); - v.float = v.x; - } - if(xrfragment_XRF.isInt.match(str)) { - v.int = Std.parseInt(str); - v.x = v.int; - v.floats.push(v.x); - } - v.filter = new xrfragment_Filter(v.fragment + "=" + v.string); - } else { - v.filter = new xrfragment_Filter(v.fragment); - } - } -}; -function $getIterator(o) { if( o instanceof Array ) return new haxe_iterators_ArrayIterator(o); else return o.iterator(); } -function $bind(o,m) { if( m == null ) return null; if( m.__id__ == null ) m.__id__ = $global.$haxeUID++; var f; if( o.hx__closures__ == null ) o.hx__closures__ = {}; else f = o.hx__closures__[m.__id__]; if( f == null ) { f = m.bind(o); o.hx__closures__[m.__id__] = f; } return f; } -$global.$haxeUID |= 0; -if(typeof(performance) != "undefined" ? typeof(performance.now) == "function" : false) { - HxOverrides.now = performance.now.bind(performance); -} -if( String.fromCodePoint == null ) String.fromCodePoint = function(c) { return c < 0x10000 ? String.fromCharCode(c) : String.fromCharCode((c>>10)+0xD7C0)+String.fromCharCode((c&0x3FF)+0xDC00); } -String.__name__ = true; -Array.__name__ = true; -js_Boot.__toStr = ({ }).toString; -haxe_Template.splitter = new EReg("(::[A-Za-z0-9_ ()&|!+=/><*.\"-]+::|\\$\\$([A-Za-z0-9_-]+)\\()",""); -haxe_Template.expr_splitter = new EReg("(\\(|\\)|[ \r\n\t]*\"[^\"]*\"[ \r\n\t]*|[!+=/><*.&|-]+)",""); -haxe_Template.expr_trim = new EReg("^[ ]*([^ ]+)[ ]*$",""); -haxe_Template.expr_int = new EReg("^[0-9]+$",""); -haxe_Template.expr_float = new EReg("^([+-]?)(?=\\d|,\\d)\\d*(,\\d*)?([Ee]([+-]?\\d+))?$",""); -haxe_Template.globals = { }; -haxe_Template.hxKeepArrayIterator = new haxe_iterators_ArrayIterator([]); -xrfragment_Parser.error = ""; -xrfragment_Parser.debug = false; -xrfragment_URI.__meta__ = { statics : { template : { keep : null}}}; -xrfragment_URI._parts = ["source","scheme","authority","userInfo","user","password","host","port","relative","path","directory","file","query","fragment"]; -xrfragment_XRF.IMMUTABLE = 1; -xrfragment_XRF.PROP_BIND = 2; -xrfragment_XRF.QUERY_OPERATOR = 4; -xrfragment_XRF.PROMPT = 8; -xrfragment_XRF.CUSTOMFRAG = 16; -xrfragment_XRF.NAVIGATOR = 32; -xrfragment_XRF.METADATA = 64; -xrfragment_XRF.PV_OVERRIDE = 128; -xrfragment_XRF.PV_EXECUTE = 256; -xrfragment_XRF.T_COLOR = 8192; -xrfragment_XRF.T_INT = 16384; -xrfragment_XRF.T_FLOAT = 32768; -xrfragment_XRF.T_VECTOR2 = 65536; -xrfragment_XRF.T_VECTOR3 = 131072; -xrfragment_XRF.T_URL = 262144; -xrfragment_XRF.T_PREDEFINED_VIEW = 524288; -xrfragment_XRF.T_STRING = 1048576; -xrfragment_XRF.T_MEDIAFRAG = 2097152; -xrfragment_XRF.T_DYNAMICKEY = 4194304; -xrfragment_XRF.T_DYNAMICKEYVALUE = 8388608; -xrfragment_XRF.isColor = new EReg("^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$",""); -xrfragment_XRF.isInt = new EReg("^[-0-9]+$",""); -xrfragment_XRF.isFloat = new EReg("^[-0-9]+\\.[0-9]+$",""); -xrfragment_XRF.isVector = new EReg("([,]+|\\w)",""); -xrfragment_XRF.isUrl = new EReg("(://)?\\..*",""); -xrfragment_XRF.isUrlOrPretypedView = new EReg("(^#|://)?\\..*",""); -xrfragment_XRF.isString = new EReg(".*",""); -xrfragment_XRF.operators = new EReg("(^[-]|^[!]|[\\*]$)","g"); -xrfragment_XRF.isProp = new EReg("^.*=[><=]?",""); -xrfragment_XRF.isExclude = new EReg("^-",""); -xrfragment_XRF.isDeep = new EReg("\\*",""); -xrfragment_XRF.isNumber = new EReg("^[0-9\\.]+$",""); -xrfragment_XRF.isMediaFrag = new EReg("^([0-9\\.,\\*+-]+)$",""); -xrfragment_XRF.isReset = new EReg("^!",""); -xrfragment_XRF.isShift = new EReg("^(\\+|--)",""); -xrfragment_XRF.isXRFScheme = new EReg("^xrf://",""); -})(typeof window != "undefined" ? window : typeof global != "undefined" ? global : typeof self != "undefined" ? self : this); -var xrfragment = $hx_exports["xrfragment"]; -export default xrfragment; -// Generated by Haxe 4.3.3 -var $hx_exports = typeof exports != "undefined" ? exports : typeof window != "undefined" ? window : typeof self != "undefined" ? self : this; -(function ($global) { "use strict"; -$hx_exports["xrfragment"] = $hx_exports["xrfragment"] || {}; -var $estr = function() { return js_Boot.__string_rec(this,''); },$hxEnums = $hxEnums || {},$_; -function $extend(from, fields) { - var proto = Object.create(from); - for (var name in fields) proto[name] = fields[name]; - if( fields.toString !== Object.prototype.toString ) proto.toString = fields.toString; - return proto; -} -var EReg = function(r,opt) { - this.r = new RegExp(r,opt.split("u").join("")); -}; -EReg.__name__ = true; -EReg.prototype = { - match: function(s) { - if(this.r.global) { - this.r.lastIndex = 0; - } - this.r.m = this.r.exec(s); - this.r.s = s; - return this.r.m != null; - } - ,matched: function(n) { - if(this.r.m != null && n >= 0 && n < this.r.m.length) { - return this.r.m[n]; - } else { - throw haxe_Exception.thrown("EReg::matched"); - } - } - ,matchedRight: function() { - if(this.r.m == null) { - throw haxe_Exception.thrown("No string matched"); - } - var sz = this.r.m.index + this.r.m[0].length; - return HxOverrides.substr(this.r.s,sz,this.r.s.length - sz); - } - ,matchedPos: function() { - if(this.r.m == null) { - throw haxe_Exception.thrown("No string matched"); - } - return { pos : this.r.m.index, len : this.r.m[0].length}; - } - ,split: function(s) { - var d = "#__delim__#"; - return s.replace(this.r,d).split(d); - } -}; -var HxOverrides = function() { }; -HxOverrides.__name__ = true; -HxOverrides.cca = function(s,index) { - var x = s.charCodeAt(index); - if(x != x) { - return undefined; - } - return x; -}; -HxOverrides.substr = function(s,pos,len) { - if(len == null) { - len = s.length; - } else if(len < 0) { - if(pos == 0) { - len = s.length + len; - } else { - return ""; - } - } - return s.substr(pos,len); -}; -HxOverrides.now = function() { - return Date.now(); -}; -Math.__name__ = true; -var Reflect = function() { }; -Reflect.__name__ = true; -Reflect.field = function(o,field) { - try { - return o[field]; - } catch( _g ) { - return null; - } -}; -Reflect.getProperty = function(o,field) { - var tmp; - if(o == null) { - return null; - } else { - var tmp1; - if(o.__properties__) { - tmp = o.__properties__["get_" + field]; - tmp1 = tmp; - } else { - tmp1 = false; - } - if(tmp1) { - return o[tmp](); - } else { - return o[field]; - } - } -}; -Reflect.fields = function(o) { - var a = []; - if(o != null) { - var hasOwnProperty = Object.prototype.hasOwnProperty; - for( var f in o ) { - if(f != "__id__" && f != "hx__closures__" && hasOwnProperty.call(o,f)) { - a.push(f); - } - } - } - return a; -}; -Reflect.isObject = function(v) { - if(v == null) { - return false; - } - var t = typeof(v); - if(!(t == "string" || t == "object" && v.__enum__ == null)) { - if(t == "function") { - return (v.__name__ || v.__ename__) != null; - } else { - return false; - } - } else { - return true; - } -}; -Reflect.deleteField = function(o,field) { - if(!Object.prototype.hasOwnProperty.call(o,field)) { - return false; - } - delete(o[field]); - return true; -}; -Reflect.copy = function(o) { - if(o == null) { - return null; - } - var o2 = { }; - var _g = 0; - var _g1 = Reflect.fields(o); - while(_g < _g1.length) { - var f = _g1[_g]; - ++_g; - o2[f] = Reflect.field(o,f); - } - return o2; -}; -var Std = function() { }; -Std.__name__ = true; -Std.string = function(s) { - return js_Boot.__string_rec(s,""); -}; -Std.parseInt = function(x) { - var v = parseInt(x); - if(isNaN(v)) { - return null; - } - return v; -}; -var StringBuf = function() { - this.b = ""; -}; -StringBuf.__name__ = true; -var StringTools = function() { }; -StringTools.__name__ = true; -StringTools.isSpace = function(s,pos) { - var c = HxOverrides.cca(s,pos); - if(!(c > 8 && c < 14)) { - return c == 32; - } else { - return true; - } -}; -StringTools.ltrim = function(s) { - var l = s.length; - var r = 0; - while(r < l && StringTools.isSpace(s,r)) ++r; - if(r > 0) { - return HxOverrides.substr(s,r,l - r); - } else { - return s; - } -}; -StringTools.rtrim = function(s) { - var l = s.length; - var r = 0; - while(r < l && StringTools.isSpace(s,l - r - 1)) ++r; - if(r > 0) { - return HxOverrides.substr(s,0,l - r); - } else { - return s; - } -}; -StringTools.trim = function(s) { - return StringTools.ltrim(StringTools.rtrim(s)); -}; -StringTools.replace = function(s,sub,by) { - return s.split(sub).join(by); -}; -var haxe_Exception = function(message,previous,native) { - Error.call(this,message); - this.message = message; - this.__previousException = previous; - this.__nativeException = native != null ? native : this; -}; -haxe_Exception.__name__ = true; -haxe_Exception.caught = function(value) { - if(((value) instanceof haxe_Exception)) { - return value; - } else if(((value) instanceof Error)) { - return new haxe_Exception(value.message,null,value); - } else { - return new haxe_ValueException(value,null,value); - } -}; -haxe_Exception.thrown = function(value) { - if(((value) instanceof haxe_Exception)) { - return value.get_native(); - } else if(((value) instanceof Error)) { - return value; - } else { - var e = new haxe_ValueException(value); - return e; - } -}; -haxe_Exception.__super__ = Error; -haxe_Exception.prototype = $extend(Error.prototype,{ - unwrap: function() { - return this.__nativeException; - } - ,get_native: function() { - return this.__nativeException; - } - ,__properties__: {get_native:"get_native"} -}); -var haxe__$Template_TemplateExpr = $hxEnums["haxe._Template.TemplateExpr"] = { __ename__:true,__constructs__:null - ,OpVar: ($_=function(v) { return {_hx_index:0,v:v,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpVar",$_.__params__ = ["v"],$_) - ,OpExpr: ($_=function(expr) { return {_hx_index:1,expr:expr,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpExpr",$_.__params__ = ["expr"],$_) - ,OpIf: ($_=function(expr,eif,eelse) { return {_hx_index:2,expr:expr,eif:eif,eelse:eelse,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpIf",$_.__params__ = ["expr","eif","eelse"],$_) - ,OpStr: ($_=function(str) { return {_hx_index:3,str:str,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpStr",$_.__params__ = ["str"],$_) - ,OpBlock: ($_=function(l) { return {_hx_index:4,l:l,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpBlock",$_.__params__ = ["l"],$_) - ,OpForeach: ($_=function(expr,loop) { return {_hx_index:5,expr:expr,loop:loop,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpForeach",$_.__params__ = ["expr","loop"],$_) - ,OpMacro: ($_=function(name,params) { return {_hx_index:6,name:name,params:params,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpMacro",$_.__params__ = ["name","params"],$_) -}; -haxe__$Template_TemplateExpr.__constructs__ = [haxe__$Template_TemplateExpr.OpVar,haxe__$Template_TemplateExpr.OpExpr,haxe__$Template_TemplateExpr.OpIf,haxe__$Template_TemplateExpr.OpStr,haxe__$Template_TemplateExpr.OpBlock,haxe__$Template_TemplateExpr.OpForeach,haxe__$Template_TemplateExpr.OpMacro]; -var haxe_iterators_ArrayIterator = function(array) { - this.current = 0; - this.array = array; -}; -haxe_iterators_ArrayIterator.__name__ = true; -haxe_iterators_ArrayIterator.prototype = { - hasNext: function() { - return this.current < this.array.length; - } - ,next: function() { - return this.array[this.current++]; - } -}; -var haxe_Template = function(str) { - var tokens = this.parseTokens(str); - this.expr = this.parseBlock(tokens); - if(!tokens.isEmpty()) { - throw haxe_Exception.thrown("Unexpected '" + Std.string(tokens.first().s) + "'"); - } -}; -haxe_Template.__name__ = true; -haxe_Template.prototype = { - execute: function(context,macros) { - this.macros = macros == null ? { } : macros; - this.context = context; - this.stack = new haxe_ds_List(); - this.buf = new StringBuf(); - this.run(this.expr); - return this.buf.b; - } - ,resolve: function(v) { - if(v == "__current__") { - return this.context; - } - if(Reflect.isObject(this.context)) { - var value = Reflect.getProperty(this.context,v); - if(value != null || Object.prototype.hasOwnProperty.call(this.context,v)) { - return value; - } - } - var _g_head = this.stack.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var ctx = val; - var value = Reflect.getProperty(ctx,v); - if(value != null || Object.prototype.hasOwnProperty.call(ctx,v)) { - return value; - } - } - return Reflect.field(haxe_Template.globals,v); - } - ,parseTokens: function(data) { - var tokens = new haxe_ds_List(); - while(haxe_Template.splitter.match(data)) { - var p = haxe_Template.splitter.matchedPos(); - if(p.pos > 0) { - tokens.add({ p : HxOverrides.substr(data,0,p.pos), s : true, l : null}); - } - if(HxOverrides.cca(data,p.pos) == 58) { - tokens.add({ p : HxOverrides.substr(data,p.pos + 2,p.len - 4), s : false, l : null}); - data = haxe_Template.splitter.matchedRight(); - continue; - } - var parp = p.pos + p.len; - var npar = 1; - var params = []; - var part = ""; - while(true) { - var c = HxOverrides.cca(data,parp); - ++parp; - if(c == 40) { - ++npar; - } else if(c == 41) { - --npar; - if(npar <= 0) { - break; - } - } else if(c == null) { - throw haxe_Exception.thrown("Unclosed macro parenthesis"); - } - if(c == 44 && npar == 1) { - params.push(part); - part = ""; - } else { - part += String.fromCodePoint(c); - } - } - params.push(part); - tokens.add({ p : haxe_Template.splitter.matched(2), s : false, l : params}); - data = HxOverrides.substr(data,parp,data.length - parp); - } - if(data.length > 0) { - tokens.add({ p : data, s : true, l : null}); - } - return tokens; - } - ,parseBlock: function(tokens) { - var l = new haxe_ds_List(); - while(true) { - var t = tokens.first(); - if(t == null) { - break; - } - if(!t.s && (t.p == "end" || t.p == "else" || HxOverrides.substr(t.p,0,7) == "elseif ")) { - break; - } - l.add(this.parse(tokens)); - } - if(l.length == 1) { - return l.first(); - } - return haxe__$Template_TemplateExpr.OpBlock(l); - } - ,parse: function(tokens) { - var t = tokens.pop(); - var p = t.p; - if(t.s) { - return haxe__$Template_TemplateExpr.OpStr(p); - } - if(t.l != null) { - var pe = new haxe_ds_List(); - var _g = 0; - var _g1 = t.l; - while(_g < _g1.length) { - var p1 = _g1[_g]; - ++_g; - pe.add(this.parseBlock(this.parseTokens(p1))); - } - return haxe__$Template_TemplateExpr.OpMacro(p,pe); - } - var kwdEnd = function(kwd) { - var pos = -1; - var length = kwd.length; - if(HxOverrides.substr(p,0,length) == kwd) { - pos = length; - var _g_offset = 0; - var _g_s = HxOverrides.substr(p,length,null); - while(_g_offset < _g_s.length) { - var c = _g_s.charCodeAt(_g_offset++); - if(c == 32) { - ++pos; - } else { - break; - } - } - } - return pos; - }; - var pos = kwdEnd("if"); - if(pos > 0) { - p = HxOverrides.substr(p,pos,p.length - pos); - var e = this.parseExpr(p); - var eif = this.parseBlock(tokens); - var t = tokens.first(); - var eelse; - if(t == null) { - throw haxe_Exception.thrown("Unclosed 'if'"); - } - if(t.p == "end") { - tokens.pop(); - eelse = null; - } else if(t.p == "else") { - tokens.pop(); - eelse = this.parseBlock(tokens); - t = tokens.pop(); - if(t == null || t.p != "end") { - throw haxe_Exception.thrown("Unclosed 'else'"); - } - } else { - t.p = HxOverrides.substr(t.p,4,t.p.length - 4); - eelse = this.parse(tokens); - } - return haxe__$Template_TemplateExpr.OpIf(e,eif,eelse); - } - var pos = kwdEnd("foreach"); - if(pos >= 0) { - p = HxOverrides.substr(p,pos,p.length - pos); - var e = this.parseExpr(p); - var efor = this.parseBlock(tokens); - var t = tokens.pop(); - if(t == null || t.p != "end") { - throw haxe_Exception.thrown("Unclosed 'foreach'"); - } - return haxe__$Template_TemplateExpr.OpForeach(e,efor); - } - if(haxe_Template.expr_splitter.match(p)) { - return haxe__$Template_TemplateExpr.OpExpr(this.parseExpr(p)); - } - return haxe__$Template_TemplateExpr.OpVar(p); - } - ,parseExpr: function(data) { - var l = new haxe_ds_List(); - var expr = data; - while(haxe_Template.expr_splitter.match(data)) { - var p = haxe_Template.expr_splitter.matchedPos(); - var k = p.pos + p.len; - if(p.pos != 0) { - l.add({ p : HxOverrides.substr(data,0,p.pos), s : true}); - } - var p1 = haxe_Template.expr_splitter.matched(0); - l.add({ p : p1, s : p1.indexOf("\"") >= 0}); - data = haxe_Template.expr_splitter.matchedRight(); - } - if(data.length != 0) { - var _g_offset = 0; - var _g_s = data; - while(_g_offset < _g_s.length) { - var _g_key = _g_offset; - var _g_value = _g_s.charCodeAt(_g_offset++); - var i = _g_key; - var c = _g_value; - if(c != 32) { - l.add({ p : HxOverrides.substr(data,i,null), s : true}); - break; - } - } - } - var e; - try { - e = this.makeExpr(l); - if(!l.isEmpty()) { - throw haxe_Exception.thrown(l.first().p); - } - } catch( _g ) { - var _g1 = haxe_Exception.caught(_g).unwrap(); - if(typeof(_g1) == "string") { - var s = _g1; - throw haxe_Exception.thrown("Unexpected '" + s + "' in " + expr); - } else { - throw _g; - } - } - return function() { - try { - return e(); - } catch( _g ) { - var exc = haxe_Exception.caught(_g).unwrap(); - throw haxe_Exception.thrown("Error : " + Std.string(exc) + " in " + expr); - } - }; - } - ,makeConst: function(v) { - haxe_Template.expr_trim.match(v); - v = haxe_Template.expr_trim.matched(1); - if(HxOverrides.cca(v,0) == 34) { - var str = HxOverrides.substr(v,1,v.length - 2); - return function() { - return str; - }; - } - if(haxe_Template.expr_int.match(v)) { - var i = Std.parseInt(v); - return function() { - return i; - }; - } - if(haxe_Template.expr_float.match(v)) { - var f = parseFloat(v); - return function() { - return f; - }; - } - var me = this; - return function() { - return me.resolve(v); - }; - } - ,makePath: function(e,l) { - var p = l.first(); - if(p == null || p.p != ".") { - return e; - } - l.pop(); - var field = l.pop(); - if(field == null || !field.s) { - throw haxe_Exception.thrown(field.p); - } - var f = field.p; - haxe_Template.expr_trim.match(f); - f = haxe_Template.expr_trim.matched(1); - return this.makePath(function() { - return Reflect.field(e(),f); - },l); - } - ,makeExpr: function(l) { - return this.makePath(this.makeExpr2(l),l); - } - ,skipSpaces: function(l) { - var p = l.first(); - while(p != null) { - var _g_offset = 0; - var _g_s = p.p; - while(_g_offset < _g_s.length) { - var c = _g_s.charCodeAt(_g_offset++); - if(c != 32) { - return; - } - } - l.pop(); - p = l.first(); - } - } - ,makeExpr2: function(l) { - this.skipSpaces(l); - var p = l.pop(); - this.skipSpaces(l); - if(p == null) { - throw haxe_Exception.thrown(""); - } - if(p.s) { - return this.makeConst(p.p); - } - switch(p.p) { - case "!": - var e = this.makeExpr(l); - return function() { - var v = e(); - if(v != null) { - return v == false; - } else { - return true; - } - }; - case "(": - this.skipSpaces(l); - var e1 = this.makeExpr(l); - this.skipSpaces(l); - var p1 = l.pop(); - if(p1 == null || p1.s) { - throw haxe_Exception.thrown(p1); - } - if(p1.p == ")") { - return e1; - } - this.skipSpaces(l); - var e2 = this.makeExpr(l); - this.skipSpaces(l); - var p2 = l.pop(); - this.skipSpaces(l); - if(p2 == null || p2.p != ")") { - throw haxe_Exception.thrown(p2); - } - switch(p1.p) { - case "!=": - return function() { - return e1() != e2(); - }; - case "&&": - return function() { - return e1() && e2(); - }; - case "*": - return function() { - return e1() * e2(); - }; - case "+": - return function() { - return e1() + e2(); - }; - case "-": - return function() { - return e1() - e2(); - }; - case "/": - return function() { - return e1() / e2(); - }; - case "<": - return function() { - return e1() < e2(); - }; - case "<=": - return function() { - return e1() <= e2(); - }; - case "==": - return function() { - return e1() == e2(); - }; - case ">": - return function() { - return e1() > e2(); - }; - case ">=": - return function() { - return e1() >= e2(); - }; - case "||": - return function() { - return e1() || e2(); - }; - default: - throw haxe_Exception.thrown("Unknown operation " + p1.p); - } - break; - case "-": - var e3 = this.makeExpr(l); - return function() { - return -e3(); - }; - } - throw haxe_Exception.thrown(p.p); - } - ,run: function(e) { - switch(e._hx_index) { - case 0: - var v = e.v; - var _this = this.buf; - var x = Std.string(this.resolve(v)); - _this.b += Std.string(x); - break; - case 1: - var e1 = e.expr; - var _this = this.buf; - var x = Std.string(e1()); - _this.b += Std.string(x); - break; - case 2: - var e1 = e.expr; - var eif = e.eif; - var eelse = e.eelse; - var v = e1(); - if(v == null || v == false) { - if(eelse != null) { - this.run(eelse); - } - } else { - this.run(eif); - } - break; - case 3: - var str = e.str; - this.buf.b += str == null ? "null" : "" + str; - break; - case 4: - var l = e.l; - var _g_head = l.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var e1 = val; - this.run(e1); - } - break; - case 5: - var e1 = e.expr; - var loop = e.loop; - var v = e1(); - try { - var x = $getIterator(v); - if(x.hasNext == null) { - throw haxe_Exception.thrown(null); - } - v = x; - } catch( _g ) { - try { - if(v.hasNext == null) { - throw haxe_Exception.thrown(null); - } - } catch( _g1 ) { - throw haxe_Exception.thrown("Cannot iter on " + Std.string(v)); - } - } - this.stack.push(this.context); - var v1 = v; - var ctx = v1; - while(ctx.hasNext()) { - var ctx1 = ctx.next(); - this.context = ctx1; - this.run(loop); - } - this.context = this.stack.pop(); - break; - case 6: - var m = e.name; - var params = e.params; - var v = Reflect.field(this.macros,m); - var pl = []; - var old = this.buf; - pl.push($bind(this,this.resolve)); - var _g_head = params.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var p = val; - if(p._hx_index == 0) { - var v1 = p.v; - pl.push(this.resolve(v1)); - } else { - this.buf = new StringBuf(); - this.run(p); - pl.push(this.buf.b); - } - } - this.buf = old; - try { - var _this = this.buf; - var x = Std.string(v.apply(this.macros,pl)); - _this.b += Std.string(x); - } catch( _g ) { - var e = haxe_Exception.caught(_g).unwrap(); - var plstr; - try { - plstr = pl.join(","); - } catch( _g1 ) { - plstr = "???"; - } - var msg = "Macro call " + m + "(" + plstr + ") failed (" + Std.string(e) + ")"; - throw haxe_Exception.thrown(msg); - } - break; - } - } -}; -var haxe_ValueException = function(value,previous,native) { - haxe_Exception.call(this,String(value),previous,native); - this.value = value; -}; -haxe_ValueException.__name__ = true; -haxe_ValueException.__super__ = haxe_Exception; -haxe_ValueException.prototype = $extend(haxe_Exception.prototype,{ - unwrap: function() { - return this.value; - } -}); -var haxe_ds_List = function() { - this.length = 0; -}; -haxe_ds_List.__name__ = true; -haxe_ds_List.prototype = { - add: function(item) { - var x = new haxe_ds__$List_ListNode(item,null); - if(this.h == null) { - this.h = x; - } else { - this.q.next = x; - } - this.q = x; - this.length++; - } - ,push: function(item) { - var x = new haxe_ds__$List_ListNode(item,this.h); - this.h = x; - if(this.q == null) { - this.q = x; - } - this.length++; - } - ,first: function() { - if(this.h == null) { - return null; - } else { - return this.h.item; - } - } - ,pop: function() { - if(this.h == null) { - return null; - } - var x = this.h.item; - this.h = this.h.next; - if(this.h == null) { - this.q = null; - } - this.length--; - return x; - } - ,isEmpty: function() { - return this.h == null; - } - ,toString: function() { - var s_b = ""; - var first = true; - var l = this.h; - s_b += "{"; - while(l != null) { - if(first) { - first = false; - } else { - s_b += ", "; - } - s_b += Std.string(Std.string(l.item)); - l = l.next; - } - s_b += "}"; - return s_b; - } -}; -var haxe_ds__$List_ListNode = function(item,next) { - this.item = item; - this.next = next; -}; -haxe_ds__$List_ListNode.__name__ = true; -var js_Boot = function() { }; -js_Boot.__name__ = true; -js_Boot.__string_rec = function(o,s) { - if(o == null) { - return "null"; - } - if(s.length >= 5) { - return "<...>"; - } - var t = typeof(o); - if(t == "function" && (o.__name__ || o.__ename__)) { - t = "object"; - } - switch(t) { - case "function": - return ""; - case "object": - if(o.__enum__) { - var e = $hxEnums[o.__enum__]; - var con = e.__constructs__[o._hx_index]; - var n = con._hx_name; - if(con.__params__) { - s = s + "\t"; - return n + "(" + ((function($this) { - var $r; - var _g = []; - { - var _g1 = 0; - var _g2 = con.__params__; - while(true) { - if(!(_g1 < _g2.length)) { - break; - } - var p = _g2[_g1]; - _g1 = _g1 + 1; - _g.push(js_Boot.__string_rec(o[p],s)); - } - } - $r = _g; - return $r; - }(this))).join(",") + ")"; - } else { - return n; - } - } - if(((o) instanceof Array)) { - var str = "["; - s += "\t"; - var _g = 0; - var _g1 = o.length; - while(_g < _g1) { - var i = _g++; - str += (i > 0 ? "," : "") + js_Boot.__string_rec(o[i],s); - } - str += "]"; - return str; - } - var tostr; - try { - tostr = o.toString; - } catch( _g ) { - return "???"; - } - if(tostr != null && tostr != Object.toString && typeof(tostr) == "function") { - var s2 = o.toString(); - if(s2 != "[object Object]") { - return s2; - } - } - var str = "{\n"; - s += "\t"; - var hasp = o.hasOwnProperty != null; - var k = null; - for( k in o ) { - if(hasp && !o.hasOwnProperty(k)) { - continue; - } - if(k == "prototype" || k == "__class__" || k == "__super__" || k == "__interfaces__" || k == "__properties__") { - continue; - } - if(str.length != 2) { - str += ", \n"; - } - str += s + k + " : " + js_Boot.__string_rec(o[k],s); - } - s = s.substring(1); - str += "\n" + s + "}"; - return str; - case "string": - return o; - default: - return String(o); - } -}; -var xrfragment_Filter = $hx_exports["xrfragment"]["Filter"] = function(str) { - this.q = { }; - this.str = ""; - if(str != null) { - this.parse(str); - } -}; -xrfragment_Filter.__name__ = true; -xrfragment_Filter.prototype = { - toObject: function() { - return Reflect.copy(this.q); - } - ,get: function() { - return Reflect.copy(this.q); - } - ,parse: function(str) { - var token = str.split(" "); - var q = { }; - var process = function(str,prefix) { - if(prefix == null) { - prefix = ""; - } - str = StringTools.trim(str); - var k = str.split("=")[0]; - var v = str.split("=")[1]; - var filter = { }; - if(q[prefix + k]) { - filter = q[prefix + k]; - } - if(xrfragment_XRF.isProp.match(str)) { - var oper = ""; - if(str.indexOf(">") != -1) { - oper = ">"; - } - if(str.indexOf("<") != -1) { - oper = "<"; - } - if(xrfragment_XRF.isExclude.match(k)) { - k = HxOverrides.substr(k,1,null); - } - v = HxOverrides.substr(v,oper.length,null); - if(oper.length == 0) { - oper = "="; - } - var rule = { }; - if(xrfragment_XRF.isNumber.match(v)) { - rule[oper] = parseFloat(v); - } else { - rule[oper] = v; - } - q["expr"] = rule; - } - var value = xrfragment_XRF.isDeep.match(str) ? k.split("*").length - 1 : 0; - q["deep"] = value; - var value = xrfragment_XRF.isExclude.match(str) ? false : true; - q["show"] = value; - var value = k.replace(xrfragment_XRF.operators.r,""); - q["key"] = value; - q["value"] = v; - }; - var _g = 0; - var _g1 = token.length; - while(_g < _g1) { - var i = _g++; - process(token[i]); - } - return this.q = q; - } - ,test: function(obj) { - var qualify = false; - var _g = 0; - var _g1 = Reflect.fields(obj); - while(_g < _g1.length) { - var k = _g1[_g]; - ++_g; - var v = Std.string(Reflect.field(obj,k)); - if(this.testProperty(k,v)) { - qualify = true; - } - } - var _g = 0; - var _g1 = Reflect.fields(obj); - while(_g < _g1.length) { - var k = _g1[_g]; - ++_g; - var v = Std.string(Reflect.field(obj,k)); - if(this.testProperty(k,v,true)) { - qualify = false; - } - } - return qualify; - } - ,testProperty: function(property,value,exclude) { - var conds = 0; - var fails = 0; - var qualify = 0; - var testprop = function(expr) { - conds += 1; - fails += expr ? 0 : 1; - return expr; - }; - if(this.q[value] != null) { - var v = this.q[value]; - if(v[property] != null) { - return v[property]; - } - } - if(Reflect.field(this.q,"expr")) { - var f = Reflect.field(this.q,"expr"); - if(!Reflect.field(this.q,"show")) { - if(Reflect.field(f,"!=") != null && testprop((value == null ? "null" : "" + value) == Std.string(Reflect.field(f,"!="))) && exclude) { - ++qualify; - } - } else { - if(Reflect.field(f,"*") != null && testprop(parseFloat(value) != null)) { - ++qualify; - } - if(Reflect.field(f,">") != null && testprop(parseFloat(value) >= parseFloat(Reflect.field(f,">")))) { - ++qualify; - } - if(Reflect.field(f,"<") != null && testprop(parseFloat(value) <= parseFloat(Reflect.field(f,"<")))) { - ++qualify; - } - if(Reflect.field(f,"=") != null && (testprop(value == Reflect.field(f,"=")) || testprop(parseFloat(value) == parseFloat(Reflect.field(f,"="))))) { - ++qualify; - } - } - } - return qualify > 0; - } -}; -var xrfragment_Parser = $hx_exports["xrfragment"]["Parser"] = function() { }; -xrfragment_Parser.__name__ = true; -xrfragment_Parser.parse = function(key,value,store,index) { - var Frag_h = Object.create(null); - Frag_h["#"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_PREDEFINED_VIEW | xrfragment_XRF.PV_EXECUTE; - Frag_h["src"] = xrfragment_XRF.T_URL; - Frag_h["href"] = xrfragment_XRF.T_URL | xrfragment_XRF.T_PREDEFINED_VIEW; - Frag_h["tag"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["pos"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_VECTOR3 | xrfragment_XRF.T_STRING | xrfragment_XRF.METADATA | xrfragment_XRF.NAVIGATOR; - Frag_h["rot"] = xrfragment_XRF.QUERY_OPERATOR | xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_VECTOR3 | xrfragment_XRF.METADATA | xrfragment_XRF.NAVIGATOR; - Frag_h["t"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_FLOAT | xrfragment_XRF.T_VECTOR2 | xrfragment_XRF.NAVIGATOR | xrfragment_XRF.METADATA; - Frag_h["s"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_MEDIAFRAG; - Frag_h["loop"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_PREDEFINED_VIEW; - Frag_h["uv"] = xrfragment_XRF.T_VECTOR2 | xrfragment_XRF.T_MEDIAFRAG; - Frag_h["namespace"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["SPDX"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["unit"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["description"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - var keyStripped = key.replace(xrfragment_XRF.operators.r,""); - var isPVDynamic = key.length > 0 && !Object.prototype.hasOwnProperty.call(Frag_h,key); - if(isPVDynamic) { - var v = new xrfragment_XRF(key,xrfragment_XRF.PV_EXECUTE | xrfragment_XRF.NAVIGATOR,index); - v.validate(value); - v.flags = xrfragment_XRF.set(xrfragment_XRF.T_DYNAMICKEY,v.flags); - if(!Object.prototype.hasOwnProperty.call(Frag_h,key)) { - v.flags = xrfragment_XRF.set(xrfragment_XRF.CUSTOMFRAG,v.flags); - } - if(value.length == 0) { - v.flags = xrfragment_XRF.set(xrfragment_XRF.T_DYNAMICKEYVALUE,v.flags); - } - store[keyStripped] = v; - return true; - } - var v = new xrfragment_XRF(key,Frag_h[key],index); - if(Object.prototype.hasOwnProperty.call(Frag_h,key)) { - if(!v.validate(value)) { - console.log("src/xrfragment/Parser.hx:67:","⚠ fragment '" + key + "' has incompatible value (" + value + ")"); - return false; - } - store[keyStripped] = v; - if(xrfragment_Parser.debug) { - console.log("src/xrfragment/Parser.hx:71:","✔ " + key + ": " + v.string); - } - } else { - if(typeof(value) == "string") { - v.guessType(v,value); - } - v.flags = xrfragment_XRF.set(xrfragment_XRF.CUSTOMFRAG,v.flags); - store[keyStripped] = v; - } - return true; -}; -xrfragment_Parser.getMetaData = function() { - var meta = { title : ["title","og:title","dc.title"], description : ["aria-description","og:description","dc.description"], author : ["author","dc.creator"], publisher : ["publisher","dc.publisher"], website : ["og:site_name","og:url","dc.publisher"], license : ["SPDX","dc.rights"]}; - return meta; -}; -var xrfragment_URI = $hx_exports["xrfragment"]["URI"] = function() { - this.XRF = { }; - this.hash = { }; - this.fragment = ""; -}; -xrfragment_URI.__name__ = true; -xrfragment_URI.parseFragment = function(url,filter) { - var store = { }; - if(url == null || url.indexOf("#") == -1) { - return store; - } - var fragment = url.split("#"); - var splitArray = fragment[1].split("&"); - var _g = 0; - var _g1 = splitArray.length; - while(_g < _g1) { - var i = _g++; - var splitByEqual = splitArray[i].split("="); - var regexPlus = new EReg("\\+","g"); - var key = splitByEqual[0]; - var value = ""; - if(splitByEqual.length > 1) { - if(xrfragment_XRF.isVector.match(splitByEqual[1])) { - value = splitByEqual[1]; - } else { - var s = regexPlus.split(splitByEqual[1]).join(" "); - value = decodeURIComponent(s.split("+").join(" ")); - } - } - var ok = xrfragment_Parser.parse(key,value,store,i); - } - if(filter != null && filter != 0) { - var _g = 0; - var _g1 = Reflect.fields(store); - while(_g < _g1.length) { - var key = _g1[_g]; - ++_g; - var xrf = store[key]; - if(!xrf.is(filter)) { - Reflect.deleteField(store,key); - } - } - } - return store; -}; -xrfragment_URI.template = function(uri,vars) { - var parts = uri.split("#"); - if(parts.length == 1) { - return uri; - } - var frag = parts[1]; - frag = StringTools.replace(frag,"{","::"); - frag = StringTools.replace(frag,"}","::"); - frag = new haxe_Template(frag).execute(vars); - frag = StringTools.replace(frag,"null",""); - parts[1] = frag; - return parts.join("#"); -}; -xrfragment_URI.parse = function(stringUrl,flags) { - var r = new EReg("^(?:(?![^:@]+:[^:@/]*@)([^:/?#.]+):)?(?://)?((?:(([^:@]*)(?::([^:@]*))?)?@)?([^:/?#]*)(?::(\\d*))?)(((/(?:[^?#](?![^?#/]*\\.[^?#/.]+(?:[?#]|$)))*/?)?([^?#/]*))(?:\\?([^#]*))?(?:#(.*))?)",""); - if(stringUrl.indexOf("://") == -1 && stringUrl.charAt(0) != "/") { - stringUrl = "/" + stringUrl; - } - r.match(stringUrl); - var url = new xrfragment_URI(); - var _g = 0; - var _g1 = xrfragment_URI._parts.length; - while(_g < _g1) { - var i = _g++; - url[xrfragment_URI._parts[i]] = r.matched(i); - } - if(xrfragment_URI.isRelative(url) == true) { - if(url.directory == null && url.host != null) { - url.file = url.host; - } - url.host = ""; - } - url.hash = { }; - if(url.fragment != null && url.fragment.length > 0) { - url.XRF = xrfragment_URI.parseFragment("#" + url.fragment,flags); - var key; - var _g = 0; - var _g1 = Reflect.fields(url.XRF); - while(_g < _g1.length) { - var key = _g1[_g]; - ++_g; - var v = url.XRF[key]; - url.hash[key] = v["string"]; - } - } - xrfragment_URI.computeVars(url); - return url; -}; -xrfragment_URI.computeVars = function(url) { - var r_r = new RegExp("//","g".split("u").join("")); - if(url.directory != null && url.directory.indexOf("//") != -1) { - url.directory = url.directory.replace(r_r,"/"); - } - if(url.path != null && url.path.indexOf("//") != -1) { - url.path = url.path.replace(r_r,"/"); - } - if(url.file != null && url.file.indexOf("//") != -1) { - url.file = url.file.replace(r_r,"/"); - } - url.URN = url.scheme + "://" + url.host; - if(url.port != null) { - url.URN += ":" + url.port; - } - url.URN += url.directory; - if(url.file != null) { - var parts = url.file.split("."); - if(parts.length > 1) { - url.fileExt = parts.pop(); - } - } -}; -xrfragment_URI.toString = function(url) { - var result = ""; - if(url.scheme != null) { - result += url.scheme + "://"; - } - if(url.user != null) { - result += url.user + ":"; - } - if(url.password != null) { - result += url.password + "@"; - } - if(url.host != null) { - result += url.host; - } - if(url.port != null) { - result += ":" + url.port; - } - if(url.directory != null) { - result += url.directory; - } - if(url.file != null) { - result += url.file; - } - if(url.query != null) { - result += "?" + url.query; - } - if(url.fragment != null) { - result += "#" + url.fragment; - } - return result; -}; -xrfragment_URI.appendURI = function(url,appendedURI) { - if(xrfragment_URI.isRelative(url) == true) { - return xrfragment_URI.appendToRelativeURI(url,appendedURI); - } else { - return xrfragment_URI.appendToAbsoluteURI(url,appendedURI); - } -}; -xrfragment_URI.isRelative = function(url) { - return url.scheme == null; -}; -xrfragment_URI.appendToRelativeURI = function(url,appendedURI) { - if(url.directory == null || url.host == null) { - return xrfragment_URI.cloneURI(appendedURI); - } - var resultURI = new xrfragment_URI(); - resultURI.host = url.host; - resultURI.directory = url.directory; - if(appendedURI.host != null) { - resultURI.directory += appendedURI.host; - } - if(appendedURI.directory != null) { - var directory = appendedURI.directory; - if(appendedURI.host == null) { - resultURI.directory += HxOverrides.substr(directory,1,null); - } else { - resultURI.directory += directory; - } - } - if(appendedURI.file != null) { - resultURI.file = appendedURI.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(appendedURI.query != null) { - resultURI.query = appendedURI.query; - } - if(appendedURI.fragment != null) { - resultURI.fragment = appendedURI.fragment; - } - return resultURI; -}; -xrfragment_URI.appendToAbsoluteURI = function(url,appendedURI) { - var resultURI = new xrfragment_URI(); - if(url.scheme != null) { - resultURI.scheme = url.scheme; - } - if(url.host != null) { - resultURI.host = url.host; - } - var directory = ""; - if(url.directory != null) { - directory = url.directory; - } - if(appendedURI.host != null) { - appendedURI.directory += appendedURI.host; - } - if(appendedURI.directory != null) { - directory += appendedURI.directory; - } - resultURI.directory = directory; - if(appendedURI.file != null) { - resultURI.file = appendedURI.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(appendedURI.query != null) { - resultURI.query = appendedURI.query; - } - if(appendedURI.fragment != null) { - resultURI.fragment = appendedURI.fragment; - } - return resultURI; -}; -xrfragment_URI.toAbsolute = function(url,newUrl) { - var newURI = xrfragment_URI.parse(newUrl,0); - var resultURI = new xrfragment_URI(); - resultURI.port = url.port; - resultURI.source = newUrl; - if(newURI.scheme != null) { - resultURI.scheme = newURI.scheme; - } else { - resultURI.scheme = url.scheme; - } - if(newURI.host != null && newURI.host.length > 0) { - resultURI.host = newURI.host; - resultURI.port = null; - resultURI.fragment = null; - resultURI.hash = { }; - resultURI.XRF = { }; - if(newURI.port != null) { - resultURI.port = newURI.port; - } - } else { - resultURI.host = url.host; - } - var directory = ""; - if(url.directory != null) { - directory = url.directory; - } - if(newURI.directory != null) { - if(newUrl.charAt(0) != "/" && newUrl.indexOf("://") == -1) { - var stripRelative_r = new RegExp("\\./.*","".split("u").join("")); - directory = directory.replace(stripRelative_r,""); - directory += newURI.directory; - } else { - directory = newURI.directory; - } - } - resultURI.directory = directory; - if(newURI.file != null) { - resultURI.file = newURI.file; - } else { - resultURI.file = url.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(newURI.query != null) { - resultURI.query = newURI.query; - } - if(newURI.fragment != null) { - resultURI.fragment = newURI.fragment; - } - resultURI.hash = newURI.hash; - resultURI.XRF = newURI.XRF; - xrfragment_URI.computeVars(resultURI); - return resultURI; -}; -xrfragment_URI.cloneURI = function(url) { - var clonedURI = new xrfragment_URI(); - clonedURI.url = url.url; - clonedURI.source = url.source; - clonedURI.scheme = url.scheme; - clonedURI.authority = url.authority; - clonedURI.userInfo = url.userInfo; - clonedURI.password = url.password; - clonedURI.host = url.host; - clonedURI.port = url.port; - clonedURI.relative = url.relative; - clonedURI.path = url.path; - clonedURI.directory = url.directory; - clonedURI.file = url.file; - clonedURI.query = url.query; - clonedURI.fragment = url.fragment; - return clonedURI; -}; -var xrfragment_XRF = $hx_exports["xrfragment"]["XRF"] = function(_fragment,_flags,_index) { - this.floats = []; - this.shift = []; - this.fragment = _fragment; - this.flags = _flags; - this.index = _index; -}; -xrfragment_XRF.__name__ = true; -xrfragment_XRF.set = function(flag,flags) { - return flags | flag; -}; -xrfragment_XRF.unset = function(flag,flags) { - return flags & ~flag; -}; -xrfragment_XRF.prototype = { - is: function(flag) { - var v = this.flags; - if(!(typeof(v) == "number" && ((v | 0) === v))) { - this.flags = 0; - } - return (this.flags & flag) != 0; - } - ,validate: function(value) { - this.guessType(this,value); - var ok = true; - if(value.length == 0 && !this.is(xrfragment_XRF.T_PREDEFINED_VIEW)) { - ok = false; - } - if(!this.is(xrfragment_XRF.T_FLOAT) && this.is(xrfragment_XRF.T_VECTOR2) && !(typeof(this.x) == "number" && typeof(this.y) == "number")) { - ok = false; - } - if(!(this.is(xrfragment_XRF.T_VECTOR2) || this.is(xrfragment_XRF.T_STRING)) && this.is(xrfragment_XRF.T_VECTOR3) && !(typeof(this.x) == "number" && typeof(this.y) == "number" && typeof(this.z) == "number")) { - ok = false; - } - return ok; - } - ,guessType: function(v,str) { - v.string = str; - if(xrfragment_XRF.isReset.match(v.fragment)) { - v.reset = true; - } - if(v.fragment == "loop") { - v.loop = true; - } - if(typeof(str) != "string") { - return; - } - if(str.length > 0) { - if(xrfragment_XRF.isXRFScheme.match(str)) { - v.xrfScheme = true; - str = str.replace(xrfragment_XRF.isXRFScheme.r,""); - v.string = str; - } - if(str.split(",").length > 1) { - var xyzn = str.split(","); - if(xyzn.length > 0) { - v.x = parseFloat(xyzn[0]); - } - if(xyzn.length > 1) { - v.y = parseFloat(xyzn[1]); - } - if(xyzn.length > 2) { - v.z = parseFloat(xyzn[2]); - } - var _g = 0; - var _g1 = xyzn.length; - while(_g < _g1) { - var i = _g++; - v.shift.push(xrfragment_XRF.isShift.match(xyzn[i])); - v.floats.push(parseFloat(xyzn[i].replace(xrfragment_XRF.isShift.r,""))); - } - } - if(xrfragment_XRF.isColor.match(str)) { - v.color = str; - } - if(xrfragment_XRF.isFloat.match(str)) { - v.x = parseFloat(str); - v.float = v.x; - } - if(xrfragment_XRF.isInt.match(str)) { - v.int = Std.parseInt(str); - v.x = v.int; - v.floats.push(v.x); - } - v.filter = new xrfragment_Filter(v.fragment + "=" + v.string); - } else { - v.filter = new xrfragment_Filter(v.fragment); - } - } -}; -function $getIterator(o) { if( o instanceof Array ) return new haxe_iterators_ArrayIterator(o); else return o.iterator(); } -function $bind(o,m) { if( m == null ) return null; if( m.__id__ == null ) m.__id__ = $global.$haxeUID++; var f; if( o.hx__closures__ == null ) o.hx__closures__ = {}; else f = o.hx__closures__[m.__id__]; if( f == null ) { f = m.bind(o); o.hx__closures__[m.__id__] = f; } return f; } -$global.$haxeUID |= 0; -if(typeof(performance) != "undefined" ? typeof(performance.now) == "function" : false) { - HxOverrides.now = performance.now.bind(performance); -} -if( String.fromCodePoint == null ) String.fromCodePoint = function(c) { return c < 0x10000 ? String.fromCharCode(c) : String.fromCharCode((c>>10)+0xD7C0)+String.fromCharCode((c&0x3FF)+0xDC00); } -String.__name__ = true; -Array.__name__ = true; -js_Boot.__toStr = ({ }).toString; -haxe_Template.splitter = new EReg("(::[A-Za-z0-9_ ()&|!+=/><*.\"-]+::|\\$\\$([A-Za-z0-9_-]+)\\()",""); -haxe_Template.expr_splitter = new EReg("(\\(|\\)|[ \r\n\t]*\"[^\"]*\"[ \r\n\t]*|[!+=/><*.&|-]+)",""); -haxe_Template.expr_trim = new EReg("^[ ]*([^ ]+)[ ]*$",""); -haxe_Template.expr_int = new EReg("^[0-9]+$",""); -haxe_Template.expr_float = new EReg("^([+-]?)(?=\\d|,\\d)\\d*(,\\d*)?([Ee]([+-]?\\d+))?$",""); -haxe_Template.globals = { }; -haxe_Template.hxKeepArrayIterator = new haxe_iterators_ArrayIterator([]); -xrfragment_Parser.error = ""; -xrfragment_Parser.debug = false; -xrfragment_URI.__meta__ = { statics : { template : { keep : null}}}; -xrfragment_URI._parts = ["source","scheme","authority","userInfo","user","password","host","port","relative","path","directory","file","query","fragment"]; -xrfragment_XRF.IMMUTABLE = 1; -xrfragment_XRF.PROP_BIND = 2; -xrfragment_XRF.QUERY_OPERATOR = 4; -xrfragment_XRF.PROMPT = 8; -xrfragment_XRF.CUSTOMFRAG = 16; -xrfragment_XRF.NAVIGATOR = 32; -xrfragment_XRF.METADATA = 64; -xrfragment_XRF.PV_OVERRIDE = 128; -xrfragment_XRF.PV_EXECUTE = 256; -xrfragment_XRF.T_COLOR = 8192; -xrfragment_XRF.T_INT = 16384; -xrfragment_XRF.T_FLOAT = 32768; -xrfragment_XRF.T_VECTOR2 = 65536; -xrfragment_XRF.T_VECTOR3 = 131072; -xrfragment_XRF.T_URL = 262144; -xrfragment_XRF.T_PREDEFINED_VIEW = 524288; -xrfragment_XRF.T_STRING = 1048576; -xrfragment_XRF.T_MEDIAFRAG = 2097152; -xrfragment_XRF.T_DYNAMICKEY = 4194304; -xrfragment_XRF.T_DYNAMICKEYVALUE = 8388608; -xrfragment_XRF.isColor = new EReg("^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$",""); -xrfragment_XRF.isInt = new EReg("^[-0-9]+$",""); -xrfragment_XRF.isFloat = new EReg("^[-0-9]+\\.[0-9]+$",""); -xrfragment_XRF.isVector = new EReg("([,]+|\\w)",""); -xrfragment_XRF.isUrl = new EReg("(://)?\\..*",""); -xrfragment_XRF.isUrlOrPretypedView = new EReg("(^#|://)?\\..*",""); -xrfragment_XRF.isString = new EReg(".*",""); -xrfragment_XRF.operators = new EReg("(^[-]|^[!]|[\\*]$)","g"); -xrfragment_XRF.isProp = new EReg("^.*=[><=]?",""); -xrfragment_XRF.isExclude = new EReg("^-",""); -xrfragment_XRF.isDeep = new EReg("\\*",""); -xrfragment_XRF.isNumber = new EReg("^[0-9\\.]+$",""); -xrfragment_XRF.isMediaFrag = new EReg("^([0-9\\.,\\*+-]+)$",""); -xrfragment_XRF.isReset = new EReg("^!",""); -xrfragment_XRF.isShift = new EReg("^(\\+|--)",""); -xrfragment_XRF.isXRFScheme = new EReg("^xrf://",""); -})(typeof window != "undefined" ? window : typeof global != "undefined" ? global : typeof self != "undefined" ? self : this); -var xrfragment = $hx_exports["xrfragment"]; -export default xrfragment; -// Generated by Haxe 4.3.3 -var $hx_exports = typeof exports != "undefined" ? exports : typeof window != "undefined" ? window : typeof self != "undefined" ? self : this; -(function ($global) { "use strict"; -$hx_exports["xrfragment"] = $hx_exports["xrfragment"] || {}; -var $estr = function() { return js_Boot.__string_rec(this,''); },$hxEnums = $hxEnums || {},$_; -function $extend(from, fields) { - var proto = Object.create(from); - for (var name in fields) proto[name] = fields[name]; - if( fields.toString !== Object.prototype.toString ) proto.toString = fields.toString; - return proto; -} -var EReg = function(r,opt) { - this.r = new RegExp(r,opt.split("u").join("")); -}; -EReg.__name__ = true; -EReg.prototype = { - match: function(s) { - if(this.r.global) { - this.r.lastIndex = 0; - } - this.r.m = this.r.exec(s); - this.r.s = s; - return this.r.m != null; - } - ,matched: function(n) { - if(this.r.m != null && n >= 0 && n < this.r.m.length) { - return this.r.m[n]; - } else { - throw haxe_Exception.thrown("EReg::matched"); - } - } - ,matchedRight: function() { - if(this.r.m == null) { - throw haxe_Exception.thrown("No string matched"); - } - var sz = this.r.m.index + this.r.m[0].length; - return HxOverrides.substr(this.r.s,sz,this.r.s.length - sz); - } - ,matchedPos: function() { - if(this.r.m == null) { - throw haxe_Exception.thrown("No string matched"); - } - return { pos : this.r.m.index, len : this.r.m[0].length}; - } - ,split: function(s) { - var d = "#__delim__#"; - return s.replace(this.r,d).split(d); - } -}; -var HxOverrides = function() { }; -HxOverrides.__name__ = true; -HxOverrides.cca = function(s,index) { - var x = s.charCodeAt(index); - if(x != x) { - return undefined; - } - return x; -}; -HxOverrides.substr = function(s,pos,len) { - if(len == null) { - len = s.length; - } else if(len < 0) { - if(pos == 0) { - len = s.length + len; - } else { - return ""; - } - } - return s.substr(pos,len); -}; -HxOverrides.now = function() { - return Date.now(); -}; -Math.__name__ = true; -var Reflect = function() { }; -Reflect.__name__ = true; -Reflect.field = function(o,field) { - try { - return o[field]; - } catch( _g ) { - return null; - } -}; -Reflect.getProperty = function(o,field) { - var tmp; - if(o == null) { - return null; - } else { - var tmp1; - if(o.__properties__) { - tmp = o.__properties__["get_" + field]; - tmp1 = tmp; - } else { - tmp1 = false; - } - if(tmp1) { - return o[tmp](); - } else { - return o[field]; - } - } -}; -Reflect.fields = function(o) { - var a = []; - if(o != null) { - var hasOwnProperty = Object.prototype.hasOwnProperty; - for( var f in o ) { - if(f != "__id__" && f != "hx__closures__" && hasOwnProperty.call(o,f)) { - a.push(f); - } - } - } - return a; -}; -Reflect.isObject = function(v) { - if(v == null) { - return false; - } - var t = typeof(v); - if(!(t == "string" || t == "object" && v.__enum__ == null)) { - if(t == "function") { - return (v.__name__ || v.__ename__) != null; - } else { - return false; - } - } else { - return true; - } -}; -Reflect.deleteField = function(o,field) { - if(!Object.prototype.hasOwnProperty.call(o,field)) { - return false; - } - delete(o[field]); - return true; -}; -Reflect.copy = function(o) { - if(o == null) { - return null; - } - var o2 = { }; - var _g = 0; - var _g1 = Reflect.fields(o); - while(_g < _g1.length) { - var f = _g1[_g]; - ++_g; - o2[f] = Reflect.field(o,f); - } - return o2; -}; -var Std = function() { }; -Std.__name__ = true; -Std.string = function(s) { - return js_Boot.__string_rec(s,""); -}; -Std.parseInt = function(x) { - var v = parseInt(x); - if(isNaN(v)) { - return null; - } - return v; -}; -var StringBuf = function() { - this.b = ""; -}; -StringBuf.__name__ = true; -var StringTools = function() { }; -StringTools.__name__ = true; -StringTools.isSpace = function(s,pos) { - var c = HxOverrides.cca(s,pos); - if(!(c > 8 && c < 14)) { - return c == 32; - } else { - return true; - } -}; -StringTools.ltrim = function(s) { - var l = s.length; - var r = 0; - while(r < l && StringTools.isSpace(s,r)) ++r; - if(r > 0) { - return HxOverrides.substr(s,r,l - r); - } else { - return s; - } -}; -StringTools.rtrim = function(s) { - var l = s.length; - var r = 0; - while(r < l && StringTools.isSpace(s,l - r - 1)) ++r; - if(r > 0) { - return HxOverrides.substr(s,0,l - r); - } else { - return s; - } -}; -StringTools.trim = function(s) { - return StringTools.ltrim(StringTools.rtrim(s)); -}; -StringTools.replace = function(s,sub,by) { - return s.split(sub).join(by); -}; -var haxe_Exception = function(message,previous,native) { - Error.call(this,message); - this.message = message; - this.__previousException = previous; - this.__nativeException = native != null ? native : this; -}; -haxe_Exception.__name__ = true; -haxe_Exception.caught = function(value) { - if(((value) instanceof haxe_Exception)) { - return value; - } else if(((value) instanceof Error)) { - return new haxe_Exception(value.message,null,value); - } else { - return new haxe_ValueException(value,null,value); - } -}; -haxe_Exception.thrown = function(value) { - if(((value) instanceof haxe_Exception)) { - return value.get_native(); - } else if(((value) instanceof Error)) { - return value; - } else { - var e = new haxe_ValueException(value); - return e; - } -}; -haxe_Exception.__super__ = Error; -haxe_Exception.prototype = $extend(Error.prototype,{ - unwrap: function() { - return this.__nativeException; - } - ,get_native: function() { - return this.__nativeException; - } - ,__properties__: {get_native:"get_native"} -}); -var haxe__$Template_TemplateExpr = $hxEnums["haxe._Template.TemplateExpr"] = { __ename__:true,__constructs__:null - ,OpVar: ($_=function(v) { return {_hx_index:0,v:v,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpVar",$_.__params__ = ["v"],$_) - ,OpExpr: ($_=function(expr) { return {_hx_index:1,expr:expr,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpExpr",$_.__params__ = ["expr"],$_) - ,OpIf: ($_=function(expr,eif,eelse) { return {_hx_index:2,expr:expr,eif:eif,eelse:eelse,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpIf",$_.__params__ = ["expr","eif","eelse"],$_) - ,OpStr: ($_=function(str) { return {_hx_index:3,str:str,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpStr",$_.__params__ = ["str"],$_) - ,OpBlock: ($_=function(l) { return {_hx_index:4,l:l,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpBlock",$_.__params__ = ["l"],$_) - ,OpForeach: ($_=function(expr,loop) { return {_hx_index:5,expr:expr,loop:loop,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpForeach",$_.__params__ = ["expr","loop"],$_) - ,OpMacro: ($_=function(name,params) { return {_hx_index:6,name:name,params:params,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpMacro",$_.__params__ = ["name","params"],$_) -}; -haxe__$Template_TemplateExpr.__constructs__ = [haxe__$Template_TemplateExpr.OpVar,haxe__$Template_TemplateExpr.OpExpr,haxe__$Template_TemplateExpr.OpIf,haxe__$Template_TemplateExpr.OpStr,haxe__$Template_TemplateExpr.OpBlock,haxe__$Template_TemplateExpr.OpForeach,haxe__$Template_TemplateExpr.OpMacro]; -var haxe_iterators_ArrayIterator = function(array) { - this.current = 0; - this.array = array; -}; -haxe_iterators_ArrayIterator.__name__ = true; -haxe_iterators_ArrayIterator.prototype = { - hasNext: function() { - return this.current < this.array.length; - } - ,next: function() { - return this.array[this.current++]; - } -}; -var haxe_Template = function(str) { - var tokens = this.parseTokens(str); - this.expr = this.parseBlock(tokens); - if(!tokens.isEmpty()) { - throw haxe_Exception.thrown("Unexpected '" + Std.string(tokens.first().s) + "'"); - } -}; -haxe_Template.__name__ = true; -haxe_Template.prototype = { - execute: function(context,macros) { - this.macros = macros == null ? { } : macros; - this.context = context; - this.stack = new haxe_ds_List(); - this.buf = new StringBuf(); - this.run(this.expr); - return this.buf.b; - } - ,resolve: function(v) { - if(v == "__current__") { - return this.context; - } - if(Reflect.isObject(this.context)) { - var value = Reflect.getProperty(this.context,v); - if(value != null || Object.prototype.hasOwnProperty.call(this.context,v)) { - return value; - } - } - var _g_head = this.stack.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var ctx = val; - var value = Reflect.getProperty(ctx,v); - if(value != null || Object.prototype.hasOwnProperty.call(ctx,v)) { - return value; - } - } - return Reflect.field(haxe_Template.globals,v); - } - ,parseTokens: function(data) { - var tokens = new haxe_ds_List(); - while(haxe_Template.splitter.match(data)) { - var p = haxe_Template.splitter.matchedPos(); - if(p.pos > 0) { - tokens.add({ p : HxOverrides.substr(data,0,p.pos), s : true, l : null}); - } - if(HxOverrides.cca(data,p.pos) == 58) { - tokens.add({ p : HxOverrides.substr(data,p.pos + 2,p.len - 4), s : false, l : null}); - data = haxe_Template.splitter.matchedRight(); - continue; - } - var parp = p.pos + p.len; - var npar = 1; - var params = []; - var part = ""; - while(true) { - var c = HxOverrides.cca(data,parp); - ++parp; - if(c == 40) { - ++npar; - } else if(c == 41) { - --npar; - if(npar <= 0) { - break; - } - } else if(c == null) { - throw haxe_Exception.thrown("Unclosed macro parenthesis"); - } - if(c == 44 && npar == 1) { - params.push(part); - part = ""; - } else { - part += String.fromCodePoint(c); - } - } - params.push(part); - tokens.add({ p : haxe_Template.splitter.matched(2), s : false, l : params}); - data = HxOverrides.substr(data,parp,data.length - parp); - } - if(data.length > 0) { - tokens.add({ p : data, s : true, l : null}); - } - return tokens; - } - ,parseBlock: function(tokens) { - var l = new haxe_ds_List(); - while(true) { - var t = tokens.first(); - if(t == null) { - break; - } - if(!t.s && (t.p == "end" || t.p == "else" || HxOverrides.substr(t.p,0,7) == "elseif ")) { - break; - } - l.add(this.parse(tokens)); - } - if(l.length == 1) { - return l.first(); - } - return haxe__$Template_TemplateExpr.OpBlock(l); - } - ,parse: function(tokens) { - var t = tokens.pop(); - var p = t.p; - if(t.s) { - return haxe__$Template_TemplateExpr.OpStr(p); - } - if(t.l != null) { - var pe = new haxe_ds_List(); - var _g = 0; - var _g1 = t.l; - while(_g < _g1.length) { - var p1 = _g1[_g]; - ++_g; - pe.add(this.parseBlock(this.parseTokens(p1))); - } - return haxe__$Template_TemplateExpr.OpMacro(p,pe); - } - var kwdEnd = function(kwd) { - var pos = -1; - var length = kwd.length; - if(HxOverrides.substr(p,0,length) == kwd) { - pos = length; - var _g_offset = 0; - var _g_s = HxOverrides.substr(p,length,null); - while(_g_offset < _g_s.length) { - var c = _g_s.charCodeAt(_g_offset++); - if(c == 32) { - ++pos; - } else { - break; - } - } - } - return pos; - }; - var pos = kwdEnd("if"); - if(pos > 0) { - p = HxOverrides.substr(p,pos,p.length - pos); - var e = this.parseExpr(p); - var eif = this.parseBlock(tokens); - var t = tokens.first(); - var eelse; - if(t == null) { - throw haxe_Exception.thrown("Unclosed 'if'"); - } - if(t.p == "end") { - tokens.pop(); - eelse = null; - } else if(t.p == "else") { - tokens.pop(); - eelse = this.parseBlock(tokens); - t = tokens.pop(); - if(t == null || t.p != "end") { - throw haxe_Exception.thrown("Unclosed 'else'"); - } - } else { - t.p = HxOverrides.substr(t.p,4,t.p.length - 4); - eelse = this.parse(tokens); - } - return haxe__$Template_TemplateExpr.OpIf(e,eif,eelse); - } - var pos = kwdEnd("foreach"); - if(pos >= 0) { - p = HxOverrides.substr(p,pos,p.length - pos); - var e = this.parseExpr(p); - var efor = this.parseBlock(tokens); - var t = tokens.pop(); - if(t == null || t.p != "end") { - throw haxe_Exception.thrown("Unclosed 'foreach'"); - } - return haxe__$Template_TemplateExpr.OpForeach(e,efor); - } - if(haxe_Template.expr_splitter.match(p)) { - return haxe__$Template_TemplateExpr.OpExpr(this.parseExpr(p)); - } - return haxe__$Template_TemplateExpr.OpVar(p); - } - ,parseExpr: function(data) { - var l = new haxe_ds_List(); - var expr = data; - while(haxe_Template.expr_splitter.match(data)) { - var p = haxe_Template.expr_splitter.matchedPos(); - var k = p.pos + p.len; - if(p.pos != 0) { - l.add({ p : HxOverrides.substr(data,0,p.pos), s : true}); - } - var p1 = haxe_Template.expr_splitter.matched(0); - l.add({ p : p1, s : p1.indexOf("\"") >= 0}); - data = haxe_Template.expr_splitter.matchedRight(); - } - if(data.length != 0) { - var _g_offset = 0; - var _g_s = data; - while(_g_offset < _g_s.length) { - var _g_key = _g_offset; - var _g_value = _g_s.charCodeAt(_g_offset++); - var i = _g_key; - var c = _g_value; - if(c != 32) { - l.add({ p : HxOverrides.substr(data,i,null), s : true}); - break; - } - } - } - var e; - try { - e = this.makeExpr(l); - if(!l.isEmpty()) { - throw haxe_Exception.thrown(l.first().p); - } - } catch( _g ) { - var _g1 = haxe_Exception.caught(_g).unwrap(); - if(typeof(_g1) == "string") { - var s = _g1; - throw haxe_Exception.thrown("Unexpected '" + s + "' in " + expr); - } else { - throw _g; - } - } - return function() { - try { - return e(); - } catch( _g ) { - var exc = haxe_Exception.caught(_g).unwrap(); - throw haxe_Exception.thrown("Error : " + Std.string(exc) + " in " + expr); - } - }; - } - ,makeConst: function(v) { - haxe_Template.expr_trim.match(v); - v = haxe_Template.expr_trim.matched(1); - if(HxOverrides.cca(v,0) == 34) { - var str = HxOverrides.substr(v,1,v.length - 2); - return function() { - return str; - }; - } - if(haxe_Template.expr_int.match(v)) { - var i = Std.parseInt(v); - return function() { - return i; - }; - } - if(haxe_Template.expr_float.match(v)) { - var f = parseFloat(v); - return function() { - return f; - }; - } - var me = this; - return function() { - return me.resolve(v); - }; - } - ,makePath: function(e,l) { - var p = l.first(); - if(p == null || p.p != ".") { - return e; - } - l.pop(); - var field = l.pop(); - if(field == null || !field.s) { - throw haxe_Exception.thrown(field.p); - } - var f = field.p; - haxe_Template.expr_trim.match(f); - f = haxe_Template.expr_trim.matched(1); - return this.makePath(function() { - return Reflect.field(e(),f); - },l); - } - ,makeExpr: function(l) { - return this.makePath(this.makeExpr2(l),l); - } - ,skipSpaces: function(l) { - var p = l.first(); - while(p != null) { - var _g_offset = 0; - var _g_s = p.p; - while(_g_offset < _g_s.length) { - var c = _g_s.charCodeAt(_g_offset++); - if(c != 32) { - return; - } - } - l.pop(); - p = l.first(); - } - } - ,makeExpr2: function(l) { - this.skipSpaces(l); - var p = l.pop(); - this.skipSpaces(l); - if(p == null) { - throw haxe_Exception.thrown(""); - } - if(p.s) { - return this.makeConst(p.p); - } - switch(p.p) { - case "!": - var e = this.makeExpr(l); - return function() { - var v = e(); - if(v != null) { - return v == false; - } else { - return true; - } - }; - case "(": - this.skipSpaces(l); - var e1 = this.makeExpr(l); - this.skipSpaces(l); - var p1 = l.pop(); - if(p1 == null || p1.s) { - throw haxe_Exception.thrown(p1); - } - if(p1.p == ")") { - return e1; - } - this.skipSpaces(l); - var e2 = this.makeExpr(l); - this.skipSpaces(l); - var p2 = l.pop(); - this.skipSpaces(l); - if(p2 == null || p2.p != ")") { - throw haxe_Exception.thrown(p2); - } - switch(p1.p) { - case "!=": - return function() { - return e1() != e2(); - }; - case "&&": - return function() { - return e1() && e2(); - }; - case "*": - return function() { - return e1() * e2(); - }; - case "+": - return function() { - return e1() + e2(); - }; - case "-": - return function() { - return e1() - e2(); - }; - case "/": - return function() { - return e1() / e2(); - }; - case "<": - return function() { - return e1() < e2(); - }; - case "<=": - return function() { - return e1() <= e2(); - }; - case "==": - return function() { - return e1() == e2(); - }; - case ">": - return function() { - return e1() > e2(); - }; - case ">=": - return function() { - return e1() >= e2(); - }; - case "||": - return function() { - return e1() || e2(); - }; - default: - throw haxe_Exception.thrown("Unknown operation " + p1.p); - } - break; - case "-": - var e3 = this.makeExpr(l); - return function() { - return -e3(); - }; - } - throw haxe_Exception.thrown(p.p); - } - ,run: function(e) { - switch(e._hx_index) { - case 0: - var v = e.v; - var _this = this.buf; - var x = Std.string(this.resolve(v)); - _this.b += Std.string(x); - break; - case 1: - var e1 = e.expr; - var _this = this.buf; - var x = Std.string(e1()); - _this.b += Std.string(x); - break; - case 2: - var e1 = e.expr; - var eif = e.eif; - var eelse = e.eelse; - var v = e1(); - if(v == null || v == false) { - if(eelse != null) { - this.run(eelse); - } - } else { - this.run(eif); - } - break; - case 3: - var str = e.str; - this.buf.b += str == null ? "null" : "" + str; - break; - case 4: - var l = e.l; - var _g_head = l.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var e1 = val; - this.run(e1); - } - break; - case 5: - var e1 = e.expr; - var loop = e.loop; - var v = e1(); - try { - var x = $getIterator(v); - if(x.hasNext == null) { - throw haxe_Exception.thrown(null); - } - v = x; - } catch( _g ) { - try { - if(v.hasNext == null) { - throw haxe_Exception.thrown(null); - } - } catch( _g1 ) { - throw haxe_Exception.thrown("Cannot iter on " + Std.string(v)); - } - } - this.stack.push(this.context); - var v1 = v; - var ctx = v1; - while(ctx.hasNext()) { - var ctx1 = ctx.next(); - this.context = ctx1; - this.run(loop); - } - this.context = this.stack.pop(); - break; - case 6: - var m = e.name; - var params = e.params; - var v = Reflect.field(this.macros,m); - var pl = []; - var old = this.buf; - pl.push($bind(this,this.resolve)); - var _g_head = params.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var p = val; - if(p._hx_index == 0) { - var v1 = p.v; - pl.push(this.resolve(v1)); - } else { - this.buf = new StringBuf(); - this.run(p); - pl.push(this.buf.b); - } - } - this.buf = old; - try { - var _this = this.buf; - var x = Std.string(v.apply(this.macros,pl)); - _this.b += Std.string(x); - } catch( _g ) { - var e = haxe_Exception.caught(_g).unwrap(); - var plstr; - try { - plstr = pl.join(","); - } catch( _g1 ) { - plstr = "???"; - } - var msg = "Macro call " + m + "(" + plstr + ") failed (" + Std.string(e) + ")"; - throw haxe_Exception.thrown(msg); - } - break; - } - } -}; -var haxe_ValueException = function(value,previous,native) { - haxe_Exception.call(this,String(value),previous,native); - this.value = value; -}; -haxe_ValueException.__name__ = true; -haxe_ValueException.__super__ = haxe_Exception; -haxe_ValueException.prototype = $extend(haxe_Exception.prototype,{ - unwrap: function() { - return this.value; - } -}); -var haxe_ds_List = function() { - this.length = 0; -}; -haxe_ds_List.__name__ = true; -haxe_ds_List.prototype = { - add: function(item) { - var x = new haxe_ds__$List_ListNode(item,null); - if(this.h == null) { - this.h = x; - } else { - this.q.next = x; - } - this.q = x; - this.length++; - } - ,push: function(item) { - var x = new haxe_ds__$List_ListNode(item,this.h); - this.h = x; - if(this.q == null) { - this.q = x; - } - this.length++; - } - ,first: function() { - if(this.h == null) { - return null; - } else { - return this.h.item; - } - } - ,pop: function() { - if(this.h == null) { - return null; - } - var x = this.h.item; - this.h = this.h.next; - if(this.h == null) { - this.q = null; - } - this.length--; - return x; - } - ,isEmpty: function() { - return this.h == null; - } - ,toString: function() { - var s_b = ""; - var first = true; - var l = this.h; - s_b += "{"; - while(l != null) { - if(first) { - first = false; - } else { - s_b += ", "; - } - s_b += Std.string(Std.string(l.item)); - l = l.next; - } - s_b += "}"; - return s_b; - } -}; -var haxe_ds__$List_ListNode = function(item,next) { - this.item = item; - this.next = next; -}; -haxe_ds__$List_ListNode.__name__ = true; -var js_Boot = function() { }; -js_Boot.__name__ = true; -js_Boot.__string_rec = function(o,s) { - if(o == null) { - return "null"; - } - if(s.length >= 5) { - return "<...>"; - } - var t = typeof(o); - if(t == "function" && (o.__name__ || o.__ename__)) { - t = "object"; - } - switch(t) { - case "function": - return ""; - case "object": - if(o.__enum__) { - var e = $hxEnums[o.__enum__]; - var con = e.__constructs__[o._hx_index]; - var n = con._hx_name; - if(con.__params__) { - s = s + "\t"; - return n + "(" + ((function($this) { - var $r; - var _g = []; - { - var _g1 = 0; - var _g2 = con.__params__; - while(true) { - if(!(_g1 < _g2.length)) { - break; - } - var p = _g2[_g1]; - _g1 = _g1 + 1; - _g.push(js_Boot.__string_rec(o[p],s)); - } - } - $r = _g; - return $r; - }(this))).join(",") + ")"; - } else { - return n; - } - } - if(((o) instanceof Array)) { - var str = "["; - s += "\t"; - var _g = 0; - var _g1 = o.length; - while(_g < _g1) { - var i = _g++; - str += (i > 0 ? "," : "") + js_Boot.__string_rec(o[i],s); - } - str += "]"; - return str; - } - var tostr; - try { - tostr = o.toString; - } catch( _g ) { - return "???"; - } - if(tostr != null && tostr != Object.toString && typeof(tostr) == "function") { - var s2 = o.toString(); - if(s2 != "[object Object]") { - return s2; - } - } - var str = "{\n"; - s += "\t"; - var hasp = o.hasOwnProperty != null; - var k = null; - for( k in o ) { - if(hasp && !o.hasOwnProperty(k)) { - continue; - } - if(k == "prototype" || k == "__class__" || k == "__super__" || k == "__interfaces__" || k == "__properties__") { - continue; - } - if(str.length != 2) { - str += ", \n"; - } - str += s + k + " : " + js_Boot.__string_rec(o[k],s); - } - s = s.substring(1); - str += "\n" + s + "}"; - return str; - case "string": - return o; - default: - return String(o); - } -}; -var xrfragment_Filter = $hx_exports["xrfragment"]["Filter"] = function(str) { - this.q = { }; - this.str = ""; - if(str != null) { - this.parse(str); - } -}; -xrfragment_Filter.__name__ = true; -xrfragment_Filter.prototype = { - toObject: function() { - return Reflect.copy(this.q); - } - ,get: function() { - return Reflect.copy(this.q); - } - ,parse: function(str) { - var token = str.split(" "); - var q = { }; - var process = function(str,prefix) { - if(prefix == null) { - prefix = ""; - } - str = StringTools.trim(str); - var k = str.split("=")[0]; - var v = str.split("=")[1]; - var filter = { }; - if(q[prefix + k]) { - filter = q[prefix + k]; - } - if(xrfragment_XRF.isProp.match(str)) { - var oper = ""; - if(str.indexOf(">") != -1) { - oper = ">"; - } - if(str.indexOf("<") != -1) { - oper = "<"; - } - if(xrfragment_XRF.isExclude.match(k)) { - k = HxOverrides.substr(k,1,null); - } - v = HxOverrides.substr(v,oper.length,null); - if(oper.length == 0) { - oper = "="; - } - var rule = { }; - if(xrfragment_XRF.isNumber.match(v)) { - rule[oper] = parseFloat(v); - } else { - rule[oper] = v; - } - q["expr"] = rule; - } - var value = xrfragment_XRF.isDeep.match(str) ? k.split("*").length - 1 : 0; - q["deep"] = value; - var value = xrfragment_XRF.isExclude.match(str) ? false : true; - q["show"] = value; - var value = k.replace(xrfragment_XRF.operators.r,""); - q["key"] = value; - q["value"] = v; - }; - var _g = 0; - var _g1 = token.length; - while(_g < _g1) { - var i = _g++; - process(token[i]); - } - return this.q = q; - } - ,test: function(obj) { - var qualify = false; - var _g = 0; - var _g1 = Reflect.fields(obj); - while(_g < _g1.length) { - var k = _g1[_g]; - ++_g; - var v = Std.string(Reflect.field(obj,k)); - if(this.testProperty(k,v)) { - qualify = true; - } - } - var _g = 0; - var _g1 = Reflect.fields(obj); - while(_g < _g1.length) { - var k = _g1[_g]; - ++_g; - var v = Std.string(Reflect.field(obj,k)); - if(this.testProperty(k,v,true)) { - qualify = false; - } - } - return qualify; - } - ,testProperty: function(property,value,exclude) { - var conds = 0; - var fails = 0; - var qualify = 0; - var testprop = function(expr) { - conds += 1; - fails += expr ? 0 : 1; - return expr; - }; - if(this.q[value] != null) { - var v = this.q[value]; - if(v[property] != null) { - return v[property]; - } - } - if(Reflect.field(this.q,"expr")) { - var f = Reflect.field(this.q,"expr"); - if(!Reflect.field(this.q,"show")) { - if(Reflect.field(f,"!=") != null && testprop((value == null ? "null" : "" + value) == Std.string(Reflect.field(f,"!="))) && exclude) { - ++qualify; - } - } else { - if(Reflect.field(f,"*") != null && testprop(parseFloat(value) != null)) { - ++qualify; - } - if(Reflect.field(f,">") != null && testprop(parseFloat(value) >= parseFloat(Reflect.field(f,">")))) { - ++qualify; - } - if(Reflect.field(f,"<") != null && testprop(parseFloat(value) <= parseFloat(Reflect.field(f,"<")))) { - ++qualify; - } - if(Reflect.field(f,"=") != null && (testprop(value == Reflect.field(f,"=")) || testprop(parseFloat(value) == parseFloat(Reflect.field(f,"="))))) { - ++qualify; - } - } - } - return qualify > 0; - } -}; -var xrfragment_Parser = $hx_exports["xrfragment"]["Parser"] = function() { }; -xrfragment_Parser.__name__ = true; -xrfragment_Parser.parse = function(key,value,store,index) { - var Frag_h = Object.create(null); - Frag_h["#"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_PREDEFINED_VIEW | xrfragment_XRF.PV_EXECUTE; - Frag_h["src"] = xrfragment_XRF.T_URL; - Frag_h["href"] = xrfragment_XRF.T_URL | xrfragment_XRF.T_PREDEFINED_VIEW; - Frag_h["tag"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["pos"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_VECTOR3 | xrfragment_XRF.T_STRING | xrfragment_XRF.METADATA | xrfragment_XRF.NAVIGATOR; - Frag_h["rot"] = xrfragment_XRF.QUERY_OPERATOR | xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_VECTOR3 | xrfragment_XRF.METADATA | xrfragment_XRF.NAVIGATOR; - Frag_h["t"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_FLOAT | xrfragment_XRF.T_VECTOR2 | xrfragment_XRF.NAVIGATOR | xrfragment_XRF.METADATA; - Frag_h["s"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_MEDIAFRAG; - Frag_h["loop"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_PREDEFINED_VIEW; - Frag_h["uv"] = xrfragment_XRF.T_VECTOR2 | xrfragment_XRF.T_MEDIAFRAG; - Frag_h["namespace"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["SPDX"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["unit"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["description"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - var keyStripped = key.replace(xrfragment_XRF.operators.r,""); - var isPVDynamic = key.length > 0 && !Object.prototype.hasOwnProperty.call(Frag_h,key); - if(isPVDynamic) { - var v = new xrfragment_XRF(key,xrfragment_XRF.PV_EXECUTE | xrfragment_XRF.NAVIGATOR,index); - v.validate(value); - v.flags = xrfragment_XRF.set(xrfragment_XRF.T_DYNAMICKEY,v.flags); - if(!Object.prototype.hasOwnProperty.call(Frag_h,key)) { - v.flags = xrfragment_XRF.set(xrfragment_XRF.CUSTOMFRAG,v.flags); - } - if(value.length == 0) { - v.flags = xrfragment_XRF.set(xrfragment_XRF.T_DYNAMICKEYVALUE,v.flags); - } - store[keyStripped] = v; - return true; - } - var v = new xrfragment_XRF(key,Frag_h[key],index); - if(Object.prototype.hasOwnProperty.call(Frag_h,key)) { - if(!v.validate(value)) { - console.log("src/xrfragment/Parser.hx:67:","⚠ fragment '" + key + "' has incompatible value (" + value + ")"); - return false; - } - store[keyStripped] = v; - if(xrfragment_Parser.debug) { - console.log("src/xrfragment/Parser.hx:71:","✔ " + key + ": " + v.string); - } - } else { - if(typeof(value) == "string") { - v.guessType(v,value); - } - v.flags = xrfragment_XRF.set(xrfragment_XRF.CUSTOMFRAG,v.flags); - store[keyStripped] = v; - } - return true; -}; -xrfragment_Parser.getMetaData = function() { - var meta = { title : ["title","og:title","dc.title"], description : ["aria-description","og:description","dc.description"], author : ["author","dc.creator"], publisher : ["publisher","dc.publisher"], website : ["og:site_name","og:url","dc.publisher"], license : ["SPDX","dc.rights"]}; - return meta; -}; -var xrfragment_URI = $hx_exports["xrfragment"]["URI"] = function() { - this.XRF = { }; - this.hash = { }; - this.fragment = ""; -}; -xrfragment_URI.__name__ = true; -xrfragment_URI.parseFragment = function(url,filter) { - var store = { }; - if(url == null || url.indexOf("#") == -1) { - return store; - } - var fragment = url.split("#"); - var splitArray = fragment[1].split("&"); - var _g = 0; - var _g1 = splitArray.length; - while(_g < _g1) { - var i = _g++; - var splitByEqual = splitArray[i].split("="); - var regexPlus = new EReg("\\+","g"); - var key = splitByEqual[0]; - var value = ""; - if(splitByEqual.length > 1) { - if(xrfragment_XRF.isVector.match(splitByEqual[1])) { - value = splitByEqual[1]; - } else { - var s = regexPlus.split(splitByEqual[1]).join(" "); - value = decodeURIComponent(s.split("+").join(" ")); - } - } - var ok = xrfragment_Parser.parse(key,value,store,i); - } - if(filter != null && filter != 0) { - var _g = 0; - var _g1 = Reflect.fields(store); - while(_g < _g1.length) { - var key = _g1[_g]; - ++_g; - var xrf = store[key]; - if(!xrf.is(filter)) { - Reflect.deleteField(store,key); - } - } - } - return store; -}; -xrfragment_URI.template = function(uri,vars) { - var parts = uri.split("#"); - if(parts.length == 1) { - return uri; - } - var frag = parts[1]; - frag = StringTools.replace(frag,"{","::"); - frag = StringTools.replace(frag,"}","::"); - frag = new haxe_Template(frag).execute(vars); - frag = StringTools.replace(frag,"null",""); - parts[1] = frag; - return parts.join("#"); -}; -xrfragment_URI.parse = function(stringUrl,flags) { - var r = new EReg("^(?:(?![^:@]+:[^:@/]*@)([^:/?#.]+):)?(?://)?((?:(([^:@]*)(?::([^:@]*))?)?@)?([^:/?#]*)(?::(\\d*))?)(((/(?:[^?#](?![^?#/]*\\.[^?#/.]+(?:[?#]|$)))*/?)?([^?#/]*))(?:\\?([^#]*))?(?:#(.*))?)",""); - if(stringUrl.indexOf("://") == -1 && stringUrl.charAt(0) != "/") { - stringUrl = "/" + stringUrl; - } - r.match(stringUrl); - var url = new xrfragment_URI(); - var _g = 0; - var _g1 = xrfragment_URI._parts.length; - while(_g < _g1) { - var i = _g++; - url[xrfragment_URI._parts[i]] = r.matched(i); - } - if(xrfragment_URI.isRelative(url) == true) { - if(url.directory == null && url.host != null) { - url.file = url.host; - } - url.host = ""; - } - url.hash = { }; - if(url.fragment != null && url.fragment.length > 0) { - url.XRF = xrfragment_URI.parseFragment("#" + url.fragment,flags); - var key; - var _g = 0; - var _g1 = Reflect.fields(url.XRF); - while(_g < _g1.length) { - var key = _g1[_g]; - ++_g; - var v = url.XRF[key]; - url.hash[key] = v["string"]; - } - } - xrfragment_URI.computeVars(url); - return url; -}; -xrfragment_URI.computeVars = function(url) { - var r_r = new RegExp("//","g".split("u").join("")); - if(url.directory != null && url.directory.indexOf("//") != -1) { - url.directory = url.directory.replace(r_r,"/"); - } - if(url.path != null && url.path.indexOf("//") != -1) { - url.path = url.path.replace(r_r,"/"); - } - if(url.file != null && url.file.indexOf("//") != -1) { - url.file = url.file.replace(r_r,"/"); - } - url.URN = url.scheme + "://" + url.host; - if(url.port != null) { - url.URN += ":" + url.port; - } - url.URN += url.directory; - if(url.file != null) { - var parts = url.file.split("."); - if(parts.length > 1) { - url.fileExt = parts.pop(); - } - } -}; -xrfragment_URI.toString = function(url) { - var result = ""; - if(url.scheme != null) { - result += url.scheme + "://"; - } - if(url.user != null) { - result += url.user + ":"; - } - if(url.password != null) { - result += url.password + "@"; - } - if(url.host != null) { - result += url.host; - } - if(url.port != null) { - result += ":" + url.port; - } - if(url.directory != null) { - result += url.directory; - } - if(url.file != null) { - result += url.file; - } - if(url.query != null) { - result += "?" + url.query; - } - if(url.fragment != null) { - result += "#" + url.fragment; - } - return result; -}; -xrfragment_URI.appendURI = function(url,appendedURI) { - if(xrfragment_URI.isRelative(url) == true) { - return xrfragment_URI.appendToRelativeURI(url,appendedURI); - } else { - return xrfragment_URI.appendToAbsoluteURI(url,appendedURI); - } -}; -xrfragment_URI.isRelative = function(url) { - return url.scheme == null; -}; -xrfragment_URI.appendToRelativeURI = function(url,appendedURI) { - if(url.directory == null || url.host == null) { - return xrfragment_URI.cloneURI(appendedURI); - } - var resultURI = new xrfragment_URI(); - resultURI.host = url.host; - resultURI.directory = url.directory; - if(appendedURI.host != null) { - resultURI.directory += appendedURI.host; - } - if(appendedURI.directory != null) { - var directory = appendedURI.directory; - if(appendedURI.host == null) { - resultURI.directory += HxOverrides.substr(directory,1,null); - } else { - resultURI.directory += directory; - } - } - if(appendedURI.file != null) { - resultURI.file = appendedURI.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(appendedURI.query != null) { - resultURI.query = appendedURI.query; - } - if(appendedURI.fragment != null) { - resultURI.fragment = appendedURI.fragment; - } - return resultURI; -}; -xrfragment_URI.appendToAbsoluteURI = function(url,appendedURI) { - var resultURI = new xrfragment_URI(); - if(url.scheme != null) { - resultURI.scheme = url.scheme; - } - if(url.host != null) { - resultURI.host = url.host; - } - var directory = ""; - if(url.directory != null) { - directory = url.directory; - } - if(appendedURI.host != null) { - appendedURI.directory += appendedURI.host; - } - if(appendedURI.directory != null) { - directory += appendedURI.directory; - } - resultURI.directory = directory; - if(appendedURI.file != null) { - resultURI.file = appendedURI.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(appendedURI.query != null) { - resultURI.query = appendedURI.query; - } - if(appendedURI.fragment != null) { - resultURI.fragment = appendedURI.fragment; - } - return resultURI; -}; -xrfragment_URI.toAbsolute = function(url,newUrl) { - var newURI = xrfragment_URI.parse(newUrl,0); - var resultURI = new xrfragment_URI(); - resultURI.port = url.port; - resultURI.source = newUrl; - if(newURI.scheme != null) { - resultURI.scheme = newURI.scheme; - } else { - resultURI.scheme = url.scheme; - } - if(newURI.host != null && newURI.host.length > 0) { - resultURI.host = newURI.host; - resultURI.port = null; - resultURI.fragment = null; - resultURI.hash = { }; - resultURI.XRF = { }; - if(newURI.port != null) { - resultURI.port = newURI.port; - } - } else { - resultURI.host = url.host; - } - var directory = ""; - if(url.directory != null) { - directory = url.directory; - } - if(newURI.directory != null) { - if(newUrl.charAt(0) != "/" && newUrl.indexOf("://") == -1) { - var stripRelative_r = new RegExp("\\./.*","".split("u").join("")); - directory = directory.replace(stripRelative_r,""); - directory += newURI.directory; - } else { - directory = newURI.directory; - } - } - resultURI.directory = directory; - if(newURI.file != null) { - resultURI.file = newURI.file; - } else { - resultURI.file = url.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(newURI.query != null) { - resultURI.query = newURI.query; - } - if(newURI.fragment != null) { - resultURI.fragment = newURI.fragment; - } - resultURI.hash = newURI.hash; - resultURI.XRF = newURI.XRF; - xrfragment_URI.computeVars(resultURI); - return resultURI; -}; -xrfragment_URI.cloneURI = function(url) { - var clonedURI = new xrfragment_URI(); - clonedURI.url = url.url; - clonedURI.source = url.source; - clonedURI.scheme = url.scheme; - clonedURI.authority = url.authority; - clonedURI.userInfo = url.userInfo; - clonedURI.password = url.password; - clonedURI.host = url.host; - clonedURI.port = url.port; - clonedURI.relative = url.relative; - clonedURI.path = url.path; - clonedURI.directory = url.directory; - clonedURI.file = url.file; - clonedURI.query = url.query; - clonedURI.fragment = url.fragment; - return clonedURI; -}; -var xrfragment_XRF = $hx_exports["xrfragment"]["XRF"] = function(_fragment,_flags,_index) { - this.floats = []; - this.shift = []; - this.fragment = _fragment; - this.flags = _flags; - this.index = _index; -}; -xrfragment_XRF.__name__ = true; -xrfragment_XRF.set = function(flag,flags) { - return flags | flag; -}; -xrfragment_XRF.unset = function(flag,flags) { - return flags & ~flag; -}; -xrfragment_XRF.prototype = { - is: function(flag) { - var v = this.flags; - if(!(typeof(v) == "number" && ((v | 0) === v))) { - this.flags = 0; - } - return (this.flags & flag) != 0; - } - ,validate: function(value) { - this.guessType(this,value); - var ok = true; - if(value.length == 0 && !this.is(xrfragment_XRF.T_PREDEFINED_VIEW)) { - ok = false; - } - if(!this.is(xrfragment_XRF.T_FLOAT) && this.is(xrfragment_XRF.T_VECTOR2) && !(typeof(this.x) == "number" && typeof(this.y) == "number")) { - ok = false; - } - if(!(this.is(xrfragment_XRF.T_VECTOR2) || this.is(xrfragment_XRF.T_STRING)) && this.is(xrfragment_XRF.T_VECTOR3) && !(typeof(this.x) == "number" && typeof(this.y) == "number" && typeof(this.z) == "number")) { - ok = false; - } - return ok; - } - ,guessType: function(v,str) { - v.string = str; - if(xrfragment_XRF.isReset.match(v.fragment)) { - v.reset = true; - } - if(v.fragment == "loop") { - v.loop = true; - } - if(typeof(str) != "string") { - return; - } - if(str.length > 0) { - if(xrfragment_XRF.isXRFScheme.match(str)) { - v.xrfScheme = true; - str = str.replace(xrfragment_XRF.isXRFScheme.r,""); - v.string = str; - } - if(str.split(",").length > 1) { - var xyzn = str.split(","); - if(xyzn.length > 0) { - v.x = parseFloat(xyzn[0]); - } - if(xyzn.length > 1) { - v.y = parseFloat(xyzn[1]); - } - if(xyzn.length > 2) { - v.z = parseFloat(xyzn[2]); - } - var _g = 0; - var _g1 = xyzn.length; - while(_g < _g1) { - var i = _g++; - v.shift.push(xrfragment_XRF.isShift.match(xyzn[i])); - v.floats.push(parseFloat(xyzn[i].replace(xrfragment_XRF.isShift.r,""))); - } - } - if(xrfragment_XRF.isColor.match(str)) { - v.color = str; - } - if(xrfragment_XRF.isFloat.match(str)) { - v.x = parseFloat(str); - v.float = v.x; - } - if(xrfragment_XRF.isInt.match(str)) { - v.int = Std.parseInt(str); - v.x = v.int; - v.floats.push(v.x); - } - v.filter = new xrfragment_Filter(v.fragment + "=" + v.string); - } else { - v.filter = new xrfragment_Filter(v.fragment); - } - } -}; -function $getIterator(o) { if( o instanceof Array ) return new haxe_iterators_ArrayIterator(o); else return o.iterator(); } -function $bind(o,m) { if( m == null ) return null; if( m.__id__ == null ) m.__id__ = $global.$haxeUID++; var f; if( o.hx__closures__ == null ) o.hx__closures__ = {}; else f = o.hx__closures__[m.__id__]; if( f == null ) { f = m.bind(o); o.hx__closures__[m.__id__] = f; } return f; } -$global.$haxeUID |= 0; -if(typeof(performance) != "undefined" ? typeof(performance.now) == "function" : false) { - HxOverrides.now = performance.now.bind(performance); -} -if( String.fromCodePoint == null ) String.fromCodePoint = function(c) { return c < 0x10000 ? String.fromCharCode(c) : String.fromCharCode((c>>10)+0xD7C0)+String.fromCharCode((c&0x3FF)+0xDC00); } -String.__name__ = true; -Array.__name__ = true; -js_Boot.__toStr = ({ }).toString; -haxe_Template.splitter = new EReg("(::[A-Za-z0-9_ ()&|!+=/><*.\"-]+::|\\$\\$([A-Za-z0-9_-]+)\\()",""); -haxe_Template.expr_splitter = new EReg("(\\(|\\)|[ \r\n\t]*\"[^\"]*\"[ \r\n\t]*|[!+=/><*.&|-]+)",""); -haxe_Template.expr_trim = new EReg("^[ ]*([^ ]+)[ ]*$",""); -haxe_Template.expr_int = new EReg("^[0-9]+$",""); -haxe_Template.expr_float = new EReg("^([+-]?)(?=\\d|,\\d)\\d*(,\\d*)?([Ee]([+-]?\\d+))?$",""); -haxe_Template.globals = { }; -haxe_Template.hxKeepArrayIterator = new haxe_iterators_ArrayIterator([]); -xrfragment_Parser.error = ""; -xrfragment_Parser.debug = false; -xrfragment_URI.__meta__ = { statics : { template : { keep : null}}}; -xrfragment_URI._parts = ["source","scheme","authority","userInfo","user","password","host","port","relative","path","directory","file","query","fragment"]; -xrfragment_XRF.IMMUTABLE = 1; -xrfragment_XRF.PROP_BIND = 2; -xrfragment_XRF.QUERY_OPERATOR = 4; -xrfragment_XRF.PROMPT = 8; -xrfragment_XRF.CUSTOMFRAG = 16; -xrfragment_XRF.NAVIGATOR = 32; -xrfragment_XRF.METADATA = 64; -xrfragment_XRF.PV_OVERRIDE = 128; -xrfragment_XRF.PV_EXECUTE = 256; -xrfragment_XRF.T_COLOR = 8192; -xrfragment_XRF.T_INT = 16384; -xrfragment_XRF.T_FLOAT = 32768; -xrfragment_XRF.T_VECTOR2 = 65536; -xrfragment_XRF.T_VECTOR3 = 131072; -xrfragment_XRF.T_URL = 262144; -xrfragment_XRF.T_PREDEFINED_VIEW = 524288; -xrfragment_XRF.T_STRING = 1048576; -xrfragment_XRF.T_MEDIAFRAG = 2097152; -xrfragment_XRF.T_DYNAMICKEY = 4194304; -xrfragment_XRF.T_DYNAMICKEYVALUE = 8388608; -xrfragment_XRF.isColor = new EReg("^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$",""); -xrfragment_XRF.isInt = new EReg("^[-0-9]+$",""); -xrfragment_XRF.isFloat = new EReg("^[-0-9]+\\.[0-9]+$",""); -xrfragment_XRF.isVector = new EReg("([,]+|\\w)",""); -xrfragment_XRF.isUrl = new EReg("(://)?\\..*",""); -xrfragment_XRF.isUrlOrPretypedView = new EReg("(^#|://)?\\..*",""); -xrfragment_XRF.isString = new EReg(".*",""); -xrfragment_XRF.operators = new EReg("(^[-]|^[!]|[\\*]$)","g"); -xrfragment_XRF.isProp = new EReg("^.*=[><=]?",""); -xrfragment_XRF.isExclude = new EReg("^-",""); -xrfragment_XRF.isDeep = new EReg("\\*",""); -xrfragment_XRF.isNumber = new EReg("^[0-9\\.]+$",""); -xrfragment_XRF.isMediaFrag = new EReg("^([0-9\\.,\\*+-]+)$",""); -xrfragment_XRF.isReset = new EReg("^!",""); -xrfragment_XRF.isShift = new EReg("^(\\+|--)",""); -xrfragment_XRF.isXRFScheme = new EReg("^xrf://",""); -})(typeof window != "undefined" ? window : typeof global != "undefined" ? global : typeof self != "undefined" ? self : this); -var xrfragment = $hx_exports["xrfragment"]; -export default xrfragment; -// Generated by Haxe 4.3.3 -var $hx_exports = typeof exports != "undefined" ? exports : typeof window != "undefined" ? window : typeof self != "undefined" ? self : this; -(function ($global) { "use strict"; -$hx_exports["xrfragment"] = $hx_exports["xrfragment"] || {}; -var $estr = function() { return js_Boot.__string_rec(this,''); },$hxEnums = $hxEnums || {},$_; -function $extend(from, fields) { - var proto = Object.create(from); - for (var name in fields) proto[name] = fields[name]; - if( fields.toString !== Object.prototype.toString ) proto.toString = fields.toString; - return proto; -} -var EReg = function(r,opt) { - this.r = new RegExp(r,opt.split("u").join("")); -}; -EReg.__name__ = true; -EReg.prototype = { - match: function(s) { - if(this.r.global) { - this.r.lastIndex = 0; - } - this.r.m = this.r.exec(s); - this.r.s = s; - return this.r.m != null; - } - ,matched: function(n) { - if(this.r.m != null && n >= 0 && n < this.r.m.length) { - return this.r.m[n]; - } else { - throw haxe_Exception.thrown("EReg::matched"); - } - } - ,matchedRight: function() { - if(this.r.m == null) { - throw haxe_Exception.thrown("No string matched"); - } - var sz = this.r.m.index + this.r.m[0].length; - return HxOverrides.substr(this.r.s,sz,this.r.s.length - sz); - } - ,matchedPos: function() { - if(this.r.m == null) { - throw haxe_Exception.thrown("No string matched"); - } - return { pos : this.r.m.index, len : this.r.m[0].length}; - } - ,split: function(s) { - var d = "#__delim__#"; - return s.replace(this.r,d).split(d); - } -}; -var HxOverrides = function() { }; -HxOverrides.__name__ = true; -HxOverrides.cca = function(s,index) { - var x = s.charCodeAt(index); - if(x != x) { - return undefined; - } - return x; -}; -HxOverrides.substr = function(s,pos,len) { - if(len == null) { - len = s.length; - } else if(len < 0) { - if(pos == 0) { - len = s.length + len; - } else { - return ""; - } - } - return s.substr(pos,len); -}; -HxOverrides.now = function() { - return Date.now(); -}; -Math.__name__ = true; -var Reflect = function() { }; -Reflect.__name__ = true; -Reflect.field = function(o,field) { - try { - return o[field]; - } catch( _g ) { - return null; - } -}; -Reflect.getProperty = function(o,field) { - var tmp; - if(o == null) { - return null; - } else { - var tmp1; - if(o.__properties__) { - tmp = o.__properties__["get_" + field]; - tmp1 = tmp; - } else { - tmp1 = false; - } - if(tmp1) { - return o[tmp](); - } else { - return o[field]; - } - } -}; -Reflect.fields = function(o) { - var a = []; - if(o != null) { - var hasOwnProperty = Object.prototype.hasOwnProperty; - for( var f in o ) { - if(f != "__id__" && f != "hx__closures__" && hasOwnProperty.call(o,f)) { - a.push(f); - } - } - } - return a; -}; -Reflect.isObject = function(v) { - if(v == null) { - return false; - } - var t = typeof(v); - if(!(t == "string" || t == "object" && v.__enum__ == null)) { - if(t == "function") { - return (v.__name__ || v.__ename__) != null; - } else { - return false; - } - } else { - return true; - } -}; -Reflect.deleteField = function(o,field) { - if(!Object.prototype.hasOwnProperty.call(o,field)) { - return false; - } - delete(o[field]); - return true; -}; -Reflect.copy = function(o) { - if(o == null) { - return null; - } - var o2 = { }; - var _g = 0; - var _g1 = Reflect.fields(o); - while(_g < _g1.length) { - var f = _g1[_g]; - ++_g; - o2[f] = Reflect.field(o,f); - } - return o2; -}; -var Std = function() { }; -Std.__name__ = true; -Std.string = function(s) { - return js_Boot.__string_rec(s,""); -}; -Std.parseInt = function(x) { - var v = parseInt(x); - if(isNaN(v)) { - return null; - } - return v; -}; -var StringBuf = function() { - this.b = ""; -}; -StringBuf.__name__ = true; -var StringTools = function() { }; -StringTools.__name__ = true; -StringTools.isSpace = function(s,pos) { - var c = HxOverrides.cca(s,pos); - if(!(c > 8 && c < 14)) { - return c == 32; - } else { - return true; - } -}; -StringTools.ltrim = function(s) { - var l = s.length; - var r = 0; - while(r < l && StringTools.isSpace(s,r)) ++r; - if(r > 0) { - return HxOverrides.substr(s,r,l - r); - } else { - return s; - } -}; -StringTools.rtrim = function(s) { - var l = s.length; - var r = 0; - while(r < l && StringTools.isSpace(s,l - r - 1)) ++r; - if(r > 0) { - return HxOverrides.substr(s,0,l - r); - } else { - return s; - } -}; -StringTools.trim = function(s) { - return StringTools.ltrim(StringTools.rtrim(s)); -}; -StringTools.replace = function(s,sub,by) { - return s.split(sub).join(by); -}; -var haxe_Exception = function(message,previous,native) { - Error.call(this,message); - this.message = message; - this.__previousException = previous; - this.__nativeException = native != null ? native : this; -}; -haxe_Exception.__name__ = true; -haxe_Exception.caught = function(value) { - if(((value) instanceof haxe_Exception)) { - return value; - } else if(((value) instanceof Error)) { - return new haxe_Exception(value.message,null,value); - } else { - return new haxe_ValueException(value,null,value); - } -}; -haxe_Exception.thrown = function(value) { - if(((value) instanceof haxe_Exception)) { - return value.get_native(); - } else if(((value) instanceof Error)) { - return value; - } else { - var e = new haxe_ValueException(value); - return e; - } -}; -haxe_Exception.__super__ = Error; -haxe_Exception.prototype = $extend(Error.prototype,{ - unwrap: function() { - return this.__nativeException; - } - ,get_native: function() { - return this.__nativeException; - } - ,__properties__: {get_native:"get_native"} -}); -var haxe__$Template_TemplateExpr = $hxEnums["haxe._Template.TemplateExpr"] = { __ename__:true,__constructs__:null - ,OpVar: ($_=function(v) { return {_hx_index:0,v:v,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpVar",$_.__params__ = ["v"],$_) - ,OpExpr: ($_=function(expr) { return {_hx_index:1,expr:expr,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpExpr",$_.__params__ = ["expr"],$_) - ,OpIf: ($_=function(expr,eif,eelse) { return {_hx_index:2,expr:expr,eif:eif,eelse:eelse,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpIf",$_.__params__ = ["expr","eif","eelse"],$_) - ,OpStr: ($_=function(str) { return {_hx_index:3,str:str,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpStr",$_.__params__ = ["str"],$_) - ,OpBlock: ($_=function(l) { return {_hx_index:4,l:l,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpBlock",$_.__params__ = ["l"],$_) - ,OpForeach: ($_=function(expr,loop) { return {_hx_index:5,expr:expr,loop:loop,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpForeach",$_.__params__ = ["expr","loop"],$_) - ,OpMacro: ($_=function(name,params) { return {_hx_index:6,name:name,params:params,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpMacro",$_.__params__ = ["name","params"],$_) -}; -haxe__$Template_TemplateExpr.__constructs__ = [haxe__$Template_TemplateExpr.OpVar,haxe__$Template_TemplateExpr.OpExpr,haxe__$Template_TemplateExpr.OpIf,haxe__$Template_TemplateExpr.OpStr,haxe__$Template_TemplateExpr.OpBlock,haxe__$Template_TemplateExpr.OpForeach,haxe__$Template_TemplateExpr.OpMacro]; -var haxe_iterators_ArrayIterator = function(array) { - this.current = 0; - this.array = array; -}; -haxe_iterators_ArrayIterator.__name__ = true; -haxe_iterators_ArrayIterator.prototype = { - hasNext: function() { - return this.current < this.array.length; - } - ,next: function() { - return this.array[this.current++]; - } -}; -var haxe_Template = function(str) { - var tokens = this.parseTokens(str); - this.expr = this.parseBlock(tokens); - if(!tokens.isEmpty()) { - throw haxe_Exception.thrown("Unexpected '" + Std.string(tokens.first().s) + "'"); - } -}; -haxe_Template.__name__ = true; -haxe_Template.prototype = { - execute: function(context,macros) { - this.macros = macros == null ? { } : macros; - this.context = context; - this.stack = new haxe_ds_List(); - this.buf = new StringBuf(); - this.run(this.expr); - return this.buf.b; - } - ,resolve: function(v) { - if(v == "__current__") { - return this.context; - } - if(Reflect.isObject(this.context)) { - var value = Reflect.getProperty(this.context,v); - if(value != null || Object.prototype.hasOwnProperty.call(this.context,v)) { - return value; - } - } - var _g_head = this.stack.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var ctx = val; - var value = Reflect.getProperty(ctx,v); - if(value != null || Object.prototype.hasOwnProperty.call(ctx,v)) { - return value; - } - } - return Reflect.field(haxe_Template.globals,v); - } - ,parseTokens: function(data) { - var tokens = new haxe_ds_List(); - while(haxe_Template.splitter.match(data)) { - var p = haxe_Template.splitter.matchedPos(); - if(p.pos > 0) { - tokens.add({ p : HxOverrides.substr(data,0,p.pos), s : true, l : null}); - } - if(HxOverrides.cca(data,p.pos) == 58) { - tokens.add({ p : HxOverrides.substr(data,p.pos + 2,p.len - 4), s : false, l : null}); - data = haxe_Template.splitter.matchedRight(); - continue; - } - var parp = p.pos + p.len; - var npar = 1; - var params = []; - var part = ""; - while(true) { - var c = HxOverrides.cca(data,parp); - ++parp; - if(c == 40) { - ++npar; - } else if(c == 41) { - --npar; - if(npar <= 0) { - break; - } - } else if(c == null) { - throw haxe_Exception.thrown("Unclosed macro parenthesis"); - } - if(c == 44 && npar == 1) { - params.push(part); - part = ""; - } else { - part += String.fromCodePoint(c); - } - } - params.push(part); - tokens.add({ p : haxe_Template.splitter.matched(2), s : false, l : params}); - data = HxOverrides.substr(data,parp,data.length - parp); - } - if(data.length > 0) { - tokens.add({ p : data, s : true, l : null}); - } - return tokens; - } - ,parseBlock: function(tokens) { - var l = new haxe_ds_List(); - while(true) { - var t = tokens.first(); - if(t == null) { - break; - } - if(!t.s && (t.p == "end" || t.p == "else" || HxOverrides.substr(t.p,0,7) == "elseif ")) { - break; - } - l.add(this.parse(tokens)); - } - if(l.length == 1) { - return l.first(); - } - return haxe__$Template_TemplateExpr.OpBlock(l); - } - ,parse: function(tokens) { - var t = tokens.pop(); - var p = t.p; - if(t.s) { - return haxe__$Template_TemplateExpr.OpStr(p); - } - if(t.l != null) { - var pe = new haxe_ds_List(); - var _g = 0; - var _g1 = t.l; - while(_g < _g1.length) { - var p1 = _g1[_g]; - ++_g; - pe.add(this.parseBlock(this.parseTokens(p1))); - } - return haxe__$Template_TemplateExpr.OpMacro(p,pe); - } - var kwdEnd = function(kwd) { - var pos = -1; - var length = kwd.length; - if(HxOverrides.substr(p,0,length) == kwd) { - pos = length; - var _g_offset = 0; - var _g_s = HxOverrides.substr(p,length,null); - while(_g_offset < _g_s.length) { - var c = _g_s.charCodeAt(_g_offset++); - if(c == 32) { - ++pos; - } else { - break; - } - } - } - return pos; - }; - var pos = kwdEnd("if"); - if(pos > 0) { - p = HxOverrides.substr(p,pos,p.length - pos); - var e = this.parseExpr(p); - var eif = this.parseBlock(tokens); - var t = tokens.first(); - var eelse; - if(t == null) { - throw haxe_Exception.thrown("Unclosed 'if'"); - } - if(t.p == "end") { - tokens.pop(); - eelse = null; - } else if(t.p == "else") { - tokens.pop(); - eelse = this.parseBlock(tokens); - t = tokens.pop(); - if(t == null || t.p != "end") { - throw haxe_Exception.thrown("Unclosed 'else'"); - } - } else { - t.p = HxOverrides.substr(t.p,4,t.p.length - 4); - eelse = this.parse(tokens); - } - return haxe__$Template_TemplateExpr.OpIf(e,eif,eelse); - } - var pos = kwdEnd("foreach"); - if(pos >= 0) { - p = HxOverrides.substr(p,pos,p.length - pos); - var e = this.parseExpr(p); - var efor = this.parseBlock(tokens); - var t = tokens.pop(); - if(t == null || t.p != "end") { - throw haxe_Exception.thrown("Unclosed 'foreach'"); - } - return haxe__$Template_TemplateExpr.OpForeach(e,efor); - } - if(haxe_Template.expr_splitter.match(p)) { - return haxe__$Template_TemplateExpr.OpExpr(this.parseExpr(p)); - } - return haxe__$Template_TemplateExpr.OpVar(p); - } - ,parseExpr: function(data) { - var l = new haxe_ds_List(); - var expr = data; - while(haxe_Template.expr_splitter.match(data)) { - var p = haxe_Template.expr_splitter.matchedPos(); - var k = p.pos + p.len; - if(p.pos != 0) { - l.add({ p : HxOverrides.substr(data,0,p.pos), s : true}); - } - var p1 = haxe_Template.expr_splitter.matched(0); - l.add({ p : p1, s : p1.indexOf("\"") >= 0}); - data = haxe_Template.expr_splitter.matchedRight(); - } - if(data.length != 0) { - var _g_offset = 0; - var _g_s = data; - while(_g_offset < _g_s.length) { - var _g_key = _g_offset; - var _g_value = _g_s.charCodeAt(_g_offset++); - var i = _g_key; - var c = _g_value; - if(c != 32) { - l.add({ p : HxOverrides.substr(data,i,null), s : true}); - break; - } - } - } - var e; - try { - e = this.makeExpr(l); - if(!l.isEmpty()) { - throw haxe_Exception.thrown(l.first().p); - } - } catch( _g ) { - var _g1 = haxe_Exception.caught(_g).unwrap(); - if(typeof(_g1) == "string") { - var s = _g1; - throw haxe_Exception.thrown("Unexpected '" + s + "' in " + expr); - } else { - throw _g; - } - } - return function() { - try { - return e(); - } catch( _g ) { - var exc = haxe_Exception.caught(_g).unwrap(); - throw haxe_Exception.thrown("Error : " + Std.string(exc) + " in " + expr); - } - }; - } - ,makeConst: function(v) { - haxe_Template.expr_trim.match(v); - v = haxe_Template.expr_trim.matched(1); - if(HxOverrides.cca(v,0) == 34) { - var str = HxOverrides.substr(v,1,v.length - 2); - return function() { - return str; - }; - } - if(haxe_Template.expr_int.match(v)) { - var i = Std.parseInt(v); - return function() { - return i; - }; - } - if(haxe_Template.expr_float.match(v)) { - var f = parseFloat(v); - return function() { - return f; - }; - } - var me = this; - return function() { - return me.resolve(v); - }; - } - ,makePath: function(e,l) { - var p = l.first(); - if(p == null || p.p != ".") { - return e; - } - l.pop(); - var field = l.pop(); - if(field == null || !field.s) { - throw haxe_Exception.thrown(field.p); - } - var f = field.p; - haxe_Template.expr_trim.match(f); - f = haxe_Template.expr_trim.matched(1); - return this.makePath(function() { - return Reflect.field(e(),f); - },l); - } - ,makeExpr: function(l) { - return this.makePath(this.makeExpr2(l),l); - } - ,skipSpaces: function(l) { - var p = l.first(); - while(p != null) { - var _g_offset = 0; - var _g_s = p.p; - while(_g_offset < _g_s.length) { - var c = _g_s.charCodeAt(_g_offset++); - if(c != 32) { - return; - } - } - l.pop(); - p = l.first(); - } - } - ,makeExpr2: function(l) { - this.skipSpaces(l); - var p = l.pop(); - this.skipSpaces(l); - if(p == null) { - throw haxe_Exception.thrown(""); - } - if(p.s) { - return this.makeConst(p.p); - } - switch(p.p) { - case "!": - var e = this.makeExpr(l); - return function() { - var v = e(); - if(v != null) { - return v == false; - } else { - return true; - } - }; - case "(": - this.skipSpaces(l); - var e1 = this.makeExpr(l); - this.skipSpaces(l); - var p1 = l.pop(); - if(p1 == null || p1.s) { - throw haxe_Exception.thrown(p1); - } - if(p1.p == ")") { - return e1; - } - this.skipSpaces(l); - var e2 = this.makeExpr(l); - this.skipSpaces(l); - var p2 = l.pop(); - this.skipSpaces(l); - if(p2 == null || p2.p != ")") { - throw haxe_Exception.thrown(p2); - } - switch(p1.p) { - case "!=": - return function() { - return e1() != e2(); - }; - case "&&": - return function() { - return e1() && e2(); - }; - case "*": - return function() { - return e1() * e2(); - }; - case "+": - return function() { - return e1() + e2(); - }; - case "-": - return function() { - return e1() - e2(); - }; - case "/": - return function() { - return e1() / e2(); - }; - case "<": - return function() { - return e1() < e2(); - }; - case "<=": - return function() { - return e1() <= e2(); - }; - case "==": - return function() { - return e1() == e2(); - }; - case ">": - return function() { - return e1() > e2(); - }; - case ">=": - return function() { - return e1() >= e2(); - }; - case "||": - return function() { - return e1() || e2(); - }; - default: - throw haxe_Exception.thrown("Unknown operation " + p1.p); - } - break; - case "-": - var e3 = this.makeExpr(l); - return function() { - return -e3(); - }; - } - throw haxe_Exception.thrown(p.p); - } - ,run: function(e) { - switch(e._hx_index) { - case 0: - var v = e.v; - var _this = this.buf; - var x = Std.string(this.resolve(v)); - _this.b += Std.string(x); - break; - case 1: - var e1 = e.expr; - var _this = this.buf; - var x = Std.string(e1()); - _this.b += Std.string(x); - break; - case 2: - var e1 = e.expr; - var eif = e.eif; - var eelse = e.eelse; - var v = e1(); - if(v == null || v == false) { - if(eelse != null) { - this.run(eelse); - } - } else { - this.run(eif); - } - break; - case 3: - var str = e.str; - this.buf.b += str == null ? "null" : "" + str; - break; - case 4: - var l = e.l; - var _g_head = l.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var e1 = val; - this.run(e1); - } - break; - case 5: - var e1 = e.expr; - var loop = e.loop; - var v = e1(); - try { - var x = $getIterator(v); - if(x.hasNext == null) { - throw haxe_Exception.thrown(null); - } - v = x; - } catch( _g ) { - try { - if(v.hasNext == null) { - throw haxe_Exception.thrown(null); - } - } catch( _g1 ) { - throw haxe_Exception.thrown("Cannot iter on " + Std.string(v)); - } - } - this.stack.push(this.context); - var v1 = v; - var ctx = v1; - while(ctx.hasNext()) { - var ctx1 = ctx.next(); - this.context = ctx1; - this.run(loop); - } - this.context = this.stack.pop(); - break; - case 6: - var m = e.name; - var params = e.params; - var v = Reflect.field(this.macros,m); - var pl = []; - var old = this.buf; - pl.push($bind(this,this.resolve)); - var _g_head = params.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var p = val; - if(p._hx_index == 0) { - var v1 = p.v; - pl.push(this.resolve(v1)); - } else { - this.buf = new StringBuf(); - this.run(p); - pl.push(this.buf.b); - } - } - this.buf = old; - try { - var _this = this.buf; - var x = Std.string(v.apply(this.macros,pl)); - _this.b += Std.string(x); - } catch( _g ) { - var e = haxe_Exception.caught(_g).unwrap(); - var plstr; - try { - plstr = pl.join(","); - } catch( _g1 ) { - plstr = "???"; - } - var msg = "Macro call " + m + "(" + plstr + ") failed (" + Std.string(e) + ")"; - throw haxe_Exception.thrown(msg); - } - break; - } - } -}; -var haxe_ValueException = function(value,previous,native) { - haxe_Exception.call(this,String(value),previous,native); - this.value = value; -}; -haxe_ValueException.__name__ = true; -haxe_ValueException.__super__ = haxe_Exception; -haxe_ValueException.prototype = $extend(haxe_Exception.prototype,{ - unwrap: function() { - return this.value; - } -}); -var haxe_ds_List = function() { - this.length = 0; -}; -haxe_ds_List.__name__ = true; -haxe_ds_List.prototype = { - add: function(item) { - var x = new haxe_ds__$List_ListNode(item,null); - if(this.h == null) { - this.h = x; - } else { - this.q.next = x; - } - this.q = x; - this.length++; - } - ,push: function(item) { - var x = new haxe_ds__$List_ListNode(item,this.h); - this.h = x; - if(this.q == null) { - this.q = x; - } - this.length++; - } - ,first: function() { - if(this.h == null) { - return null; - } else { - return this.h.item; - } - } - ,pop: function() { - if(this.h == null) { - return null; - } - var x = this.h.item; - this.h = this.h.next; - if(this.h == null) { - this.q = null; - } - this.length--; - return x; - } - ,isEmpty: function() { - return this.h == null; - } - ,toString: function() { - var s_b = ""; - var first = true; - var l = this.h; - s_b += "{"; - while(l != null) { - if(first) { - first = false; - } else { - s_b += ", "; - } - s_b += Std.string(Std.string(l.item)); - l = l.next; - } - s_b += "}"; - return s_b; - } -}; -var haxe_ds__$List_ListNode = function(item,next) { - this.item = item; - this.next = next; -}; -haxe_ds__$List_ListNode.__name__ = true; -var js_Boot = function() { }; -js_Boot.__name__ = true; -js_Boot.__string_rec = function(o,s) { - if(o == null) { - return "null"; - } - if(s.length >= 5) { - return "<...>"; - } - var t = typeof(o); - if(t == "function" && (o.__name__ || o.__ename__)) { - t = "object"; - } - switch(t) { - case "function": - return ""; - case "object": - if(o.__enum__) { - var e = $hxEnums[o.__enum__]; - var con = e.__constructs__[o._hx_index]; - var n = con._hx_name; - if(con.__params__) { - s = s + "\t"; - return n + "(" + ((function($this) { - var $r; - var _g = []; - { - var _g1 = 0; - var _g2 = con.__params__; - while(true) { - if(!(_g1 < _g2.length)) { - break; - } - var p = _g2[_g1]; - _g1 = _g1 + 1; - _g.push(js_Boot.__string_rec(o[p],s)); - } - } - $r = _g; - return $r; - }(this))).join(",") + ")"; - } else { - return n; - } - } - if(((o) instanceof Array)) { - var str = "["; - s += "\t"; - var _g = 0; - var _g1 = o.length; - while(_g < _g1) { - var i = _g++; - str += (i > 0 ? "," : "") + js_Boot.__string_rec(o[i],s); - } - str += "]"; - return str; - } - var tostr; - try { - tostr = o.toString; - } catch( _g ) { - return "???"; - } - if(tostr != null && tostr != Object.toString && typeof(tostr) == "function") { - var s2 = o.toString(); - if(s2 != "[object Object]") { - return s2; - } - } - var str = "{\n"; - s += "\t"; - var hasp = o.hasOwnProperty != null; - var k = null; - for( k in o ) { - if(hasp && !o.hasOwnProperty(k)) { - continue; - } - if(k == "prototype" || k == "__class__" || k == "__super__" || k == "__interfaces__" || k == "__properties__") { - continue; - } - if(str.length != 2) { - str += ", \n"; - } - str += s + k + " : " + js_Boot.__string_rec(o[k],s); - } - s = s.substring(1); - str += "\n" + s + "}"; - return str; - case "string": - return o; - default: - return String(o); - } -}; -var xrfragment_Filter = $hx_exports["xrfragment"]["Filter"] = function(str) { - this.q = { }; - this.str = ""; - if(str != null) { - this.parse(str); - } -}; -xrfragment_Filter.__name__ = true; -xrfragment_Filter.prototype = { - toObject: function() { - return Reflect.copy(this.q); - } - ,get: function() { - return Reflect.copy(this.q); - } - ,parse: function(str) { - var token = str.split(" "); - var q = { }; - var process = function(str,prefix) { - if(prefix == null) { - prefix = ""; - } - str = StringTools.trim(str); - var k = str.split("=")[0]; - var v = str.split("=")[1]; - var filter = { }; - if(q[prefix + k]) { - filter = q[prefix + k]; - } - if(xrfragment_XRF.isProp.match(str)) { - var oper = ""; - if(str.indexOf(">") != -1) { - oper = ">"; - } - if(str.indexOf("<") != -1) { - oper = "<"; - } - if(xrfragment_XRF.isExclude.match(k)) { - k = HxOverrides.substr(k,1,null); - } - v = HxOverrides.substr(v,oper.length,null); - if(oper.length == 0) { - oper = "="; - } - var rule = { }; - if(xrfragment_XRF.isNumber.match(v)) { - rule[oper] = parseFloat(v); - } else { - rule[oper] = v; - } - q["expr"] = rule; - } - var value = xrfragment_XRF.isDeep.match(str) ? k.split("*").length - 1 : 0; - q["deep"] = value; - var value = xrfragment_XRF.isExclude.match(str) ? false : true; - q["show"] = value; - var value = k.replace(xrfragment_XRF.operators.r,""); - q["key"] = value; - q["value"] = v; - }; - var _g = 0; - var _g1 = token.length; - while(_g < _g1) { - var i = _g++; - process(token[i]); - } - return this.q = q; - } - ,test: function(obj) { - var qualify = false; - var _g = 0; - var _g1 = Reflect.fields(obj); - while(_g < _g1.length) { - var k = _g1[_g]; - ++_g; - var v = Std.string(Reflect.field(obj,k)); - if(this.testProperty(k,v)) { - qualify = true; - } - } - var _g = 0; - var _g1 = Reflect.fields(obj); - while(_g < _g1.length) { - var k = _g1[_g]; - ++_g; - var v = Std.string(Reflect.field(obj,k)); - if(this.testProperty(k,v,true)) { - qualify = false; - } - } - return qualify; - } - ,testProperty: function(property,value,exclude) { - var conds = 0; - var fails = 0; - var qualify = 0; - var testprop = function(expr) { - conds += 1; - fails += expr ? 0 : 1; - return expr; - }; - if(this.q[value] != null) { - var v = this.q[value]; - if(v[property] != null) { - return v[property]; - } - } - if(Reflect.field(this.q,"expr")) { - var f = Reflect.field(this.q,"expr"); - if(!Reflect.field(this.q,"show")) { - if(Reflect.field(f,"!=") != null && testprop((value == null ? "null" : "" + value) == Std.string(Reflect.field(f,"!="))) && exclude) { - ++qualify; - } - } else { - if(Reflect.field(f,"*") != null && testprop(parseFloat(value) != null)) { - ++qualify; - } - if(Reflect.field(f,">") != null && testprop(parseFloat(value) >= parseFloat(Reflect.field(f,">")))) { - ++qualify; - } - if(Reflect.field(f,"<") != null && testprop(parseFloat(value) <= parseFloat(Reflect.field(f,"<")))) { - ++qualify; - } - if(Reflect.field(f,"=") != null && (testprop(value == Reflect.field(f,"=")) || testprop(parseFloat(value) == parseFloat(Reflect.field(f,"="))))) { - ++qualify; - } - } - } - return qualify > 0; - } -}; -var xrfragment_Parser = $hx_exports["xrfragment"]["Parser"] = function() { }; -xrfragment_Parser.__name__ = true; -xrfragment_Parser.parse = function(key,value,store,index) { - var Frag_h = Object.create(null); - Frag_h["#"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_PREDEFINED_VIEW | xrfragment_XRF.PV_EXECUTE; - Frag_h["src"] = xrfragment_XRF.T_URL; - Frag_h["href"] = xrfragment_XRF.T_URL | xrfragment_XRF.T_PREDEFINED_VIEW; - Frag_h["tag"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["pos"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_VECTOR3 | xrfragment_XRF.T_STRING | xrfragment_XRF.METADATA | xrfragment_XRF.NAVIGATOR; - Frag_h["rot"] = xrfragment_XRF.QUERY_OPERATOR | xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_VECTOR3 | xrfragment_XRF.METADATA | xrfragment_XRF.NAVIGATOR; - Frag_h["t"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_FLOAT | xrfragment_XRF.T_VECTOR2 | xrfragment_XRF.NAVIGATOR | xrfragment_XRF.METADATA; - Frag_h["s"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_MEDIAFRAG; - Frag_h["loop"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_PREDEFINED_VIEW; - Frag_h["uv"] = xrfragment_XRF.T_VECTOR2 | xrfragment_XRF.T_MEDIAFRAG; - Frag_h["namespace"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["SPDX"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["unit"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["description"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - var keyStripped = key.replace(xrfragment_XRF.operators.r,""); - var isPVDynamic = key.length > 0 && !Object.prototype.hasOwnProperty.call(Frag_h,key); - if(isPVDynamic) { - var v = new xrfragment_XRF(key,xrfragment_XRF.PV_EXECUTE | xrfragment_XRF.NAVIGATOR,index); - v.validate(value); - v.flags = xrfragment_XRF.set(xrfragment_XRF.T_DYNAMICKEY,v.flags); - if(!Object.prototype.hasOwnProperty.call(Frag_h,key)) { - v.flags = xrfragment_XRF.set(xrfragment_XRF.CUSTOMFRAG,v.flags); - } - if(value.length == 0) { - v.flags = xrfragment_XRF.set(xrfragment_XRF.T_DYNAMICKEYVALUE,v.flags); - } - store[keyStripped] = v; - return true; - } - var v = new xrfragment_XRF(key,Frag_h[key],index); - if(Object.prototype.hasOwnProperty.call(Frag_h,key)) { - if(!v.validate(value)) { - console.log("src/xrfragment/Parser.hx:67:","⚠ fragment '" + key + "' has incompatible value (" + value + ")"); - return false; - } - store[keyStripped] = v; - if(xrfragment_Parser.debug) { - console.log("src/xrfragment/Parser.hx:71:","✔ " + key + ": " + v.string); - } - } else { - if(typeof(value) == "string") { - v.guessType(v,value); - } - v.flags = xrfragment_XRF.set(xrfragment_XRF.CUSTOMFRAG,v.flags); - store[keyStripped] = v; - } - return true; -}; -xrfragment_Parser.getMetaData = function() { - var meta = { title : ["title","og:title","dc.title"], description : ["aria-description","og:description","dc.description"], author : ["author","dc.creator"], publisher : ["publisher","dc.publisher"], website : ["og:site_name","og:url","dc.publisher"], license : ["SPDX","dc.rights"]}; - return meta; -}; -var xrfragment_URI = $hx_exports["xrfragment"]["URI"] = function() { - this.XRF = { }; - this.hash = { }; - this.fragment = ""; -}; -xrfragment_URI.__name__ = true; -xrfragment_URI.parseFragment = function(url,filter) { - var store = { }; - if(url == null || url.indexOf("#") == -1) { - return store; - } - var fragment = url.split("#"); - var splitArray = fragment[1].split("&"); - var _g = 0; - var _g1 = splitArray.length; - while(_g < _g1) { - var i = _g++; - var splitByEqual = splitArray[i].split("="); - var regexPlus = new EReg("\\+","g"); - var key = splitByEqual[0]; - var value = ""; - if(splitByEqual.length > 1) { - if(xrfragment_XRF.isVector.match(splitByEqual[1])) { - value = splitByEqual[1]; - } else { - var s = regexPlus.split(splitByEqual[1]).join(" "); - value = decodeURIComponent(s.split("+").join(" ")); - } - } - var ok = xrfragment_Parser.parse(key,value,store,i); - } - if(filter != null && filter != 0) { - var _g = 0; - var _g1 = Reflect.fields(store); - while(_g < _g1.length) { - var key = _g1[_g]; - ++_g; - var xrf = store[key]; - if(!xrf.is(filter)) { - Reflect.deleteField(store,key); - } - } - } - return store; -}; -xrfragment_URI.template = function(uri,vars) { - var parts = uri.split("#"); - if(parts.length == 1) { - return uri; - } - var frag = parts[1]; - frag = StringTools.replace(frag,"{","::"); - frag = StringTools.replace(frag,"}","::"); - frag = new haxe_Template(frag).execute(vars); - frag = StringTools.replace(frag,"null",""); - parts[1] = frag; - return parts.join("#"); -}; -xrfragment_URI.parse = function(stringUrl,flags) { - var r = new EReg("^(?:(?![^:@]+:[^:@/]*@)([^:/?#.]+):)?(?://)?((?:(([^:@]*)(?::([^:@]*))?)?@)?([^:/?#]*)(?::(\\d*))?)(((/(?:[^?#](?![^?#/]*\\.[^?#/.]+(?:[?#]|$)))*/?)?([^?#/]*))(?:\\?([^#]*))?(?:#(.*))?)",""); - if(stringUrl.indexOf("://") == -1 && stringUrl.charAt(0) != "/") { - stringUrl = "/" + stringUrl; - } - r.match(stringUrl); - var url = new xrfragment_URI(); - var _g = 0; - var _g1 = xrfragment_URI._parts.length; - while(_g < _g1) { - var i = _g++; - url[xrfragment_URI._parts[i]] = r.matched(i); - } - if(xrfragment_URI.isRelative(url) == true) { - if(url.directory == null && url.host != null) { - url.file = url.host; - } - url.host = ""; - } - url.hash = { }; - if(url.fragment != null && url.fragment.length > 0) { - url.XRF = xrfragment_URI.parseFragment("#" + url.fragment,flags); - var key; - var _g = 0; - var _g1 = Reflect.fields(url.XRF); - while(_g < _g1.length) { - var key = _g1[_g]; - ++_g; - var v = url.XRF[key]; - url.hash[key] = v["string"]; - } - } - xrfragment_URI.computeVars(url); - return url; -}; -xrfragment_URI.computeVars = function(url) { - var r_r = new RegExp("//","g".split("u").join("")); - if(url.directory != null && url.directory.indexOf("//") != -1) { - url.directory = url.directory.replace(r_r,"/"); - } - if(url.path != null && url.path.indexOf("//") != -1) { - url.path = url.path.replace(r_r,"/"); - } - if(url.file != null && url.file.indexOf("//") != -1) { - url.file = url.file.replace(r_r,"/"); - } - url.URN = url.scheme + "://" + url.host; - if(url.port != null) { - url.URN += ":" + url.port; - } - url.URN += url.directory; - if(url.file != null) { - var parts = url.file.split("."); - if(parts.length > 1) { - url.fileExt = parts.pop(); - } - } -}; -xrfragment_URI.toString = function(url) { - var result = ""; - if(url.scheme != null) { - result += url.scheme + "://"; - } - if(url.user != null) { - result += url.user + ":"; - } - if(url.password != null) { - result += url.password + "@"; - } - if(url.host != null) { - result += url.host; - } - if(url.port != null) { - result += ":" + url.port; - } - if(url.directory != null) { - result += url.directory; - } - if(url.file != null) { - result += url.file; - } - if(url.query != null) { - result += "?" + url.query; - } - if(url.fragment != null) { - result += "#" + url.fragment; - } - return result; -}; -xrfragment_URI.appendURI = function(url,appendedURI) { - if(xrfragment_URI.isRelative(url) == true) { - return xrfragment_URI.appendToRelativeURI(url,appendedURI); - } else { - return xrfragment_URI.appendToAbsoluteURI(url,appendedURI); - } -}; -xrfragment_URI.isRelative = function(url) { - return url.scheme == null; -}; -xrfragment_URI.appendToRelativeURI = function(url,appendedURI) { - if(url.directory == null || url.host == null) { - return xrfragment_URI.cloneURI(appendedURI); - } - var resultURI = new xrfragment_URI(); - resultURI.host = url.host; - resultURI.directory = url.directory; - if(appendedURI.host != null) { - resultURI.directory += appendedURI.host; - } - if(appendedURI.directory != null) { - var directory = appendedURI.directory; - if(appendedURI.host == null) { - resultURI.directory += HxOverrides.substr(directory,1,null); - } else { - resultURI.directory += directory; - } - } - if(appendedURI.file != null) { - resultURI.file = appendedURI.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(appendedURI.query != null) { - resultURI.query = appendedURI.query; - } - if(appendedURI.fragment != null) { - resultURI.fragment = appendedURI.fragment; - } - return resultURI; -}; -xrfragment_URI.appendToAbsoluteURI = function(url,appendedURI) { - var resultURI = new xrfragment_URI(); - if(url.scheme != null) { - resultURI.scheme = url.scheme; - } - if(url.host != null) { - resultURI.host = url.host; - } - var directory = ""; - if(url.directory != null) { - directory = url.directory; - } - if(appendedURI.host != null) { - appendedURI.directory += appendedURI.host; - } - if(appendedURI.directory != null) { - directory += appendedURI.directory; - } - resultURI.directory = directory; - if(appendedURI.file != null) { - resultURI.file = appendedURI.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(appendedURI.query != null) { - resultURI.query = appendedURI.query; - } - if(appendedURI.fragment != null) { - resultURI.fragment = appendedURI.fragment; - } - return resultURI; -}; -xrfragment_URI.toAbsolute = function(url,newUrl) { - var newURI = xrfragment_URI.parse(newUrl,0); - var resultURI = new xrfragment_URI(); - resultURI.port = url.port; - resultURI.source = newUrl; - if(newURI.scheme != null) { - resultURI.scheme = newURI.scheme; - } else { - resultURI.scheme = url.scheme; - } - if(newURI.host != null && newURI.host.length > 0) { - resultURI.host = newURI.host; - resultURI.port = null; - resultURI.fragment = null; - resultURI.hash = { }; - resultURI.XRF = { }; - if(newURI.port != null) { - resultURI.port = newURI.port; - } - } else { - resultURI.host = url.host; - } - var directory = ""; - if(url.directory != null) { - directory = url.directory; - } - if(newURI.directory != null) { - if(newUrl.charAt(0) != "/" && newUrl.indexOf("://") == -1) { - var stripRelative_r = new RegExp("\\./.*","".split("u").join("")); - directory = directory.replace(stripRelative_r,""); - directory += newURI.directory; - } else { - directory = newURI.directory; - } - } - resultURI.directory = directory; - if(newURI.file != null) { - resultURI.file = newURI.file; - } else { - resultURI.file = url.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(newURI.query != null) { - resultURI.query = newURI.query; - } - if(newURI.fragment != null) { - resultURI.fragment = newURI.fragment; - } - resultURI.hash = newURI.hash; - resultURI.XRF = newURI.XRF; - xrfragment_URI.computeVars(resultURI); - return resultURI; -}; -xrfragment_URI.cloneURI = function(url) { - var clonedURI = new xrfragment_URI(); - clonedURI.url = url.url; - clonedURI.source = url.source; - clonedURI.scheme = url.scheme; - clonedURI.authority = url.authority; - clonedURI.userInfo = url.userInfo; - clonedURI.password = url.password; - clonedURI.host = url.host; - clonedURI.port = url.port; - clonedURI.relative = url.relative; - clonedURI.path = url.path; - clonedURI.directory = url.directory; - clonedURI.file = url.file; - clonedURI.query = url.query; - clonedURI.fragment = url.fragment; - return clonedURI; -}; -var xrfragment_XRF = $hx_exports["xrfragment"]["XRF"] = function(_fragment,_flags,_index) { - this.floats = []; - this.shift = []; - this.fragment = _fragment; - this.flags = _flags; - this.index = _index; -}; -xrfragment_XRF.__name__ = true; -xrfragment_XRF.set = function(flag,flags) { - return flags | flag; -}; -xrfragment_XRF.unset = function(flag,flags) { - return flags & ~flag; -}; -xrfragment_XRF.prototype = { - is: function(flag) { - var v = this.flags; - if(!(typeof(v) == "number" && ((v | 0) === v))) { - this.flags = 0; - } - return (this.flags & flag) != 0; - } - ,validate: function(value) { - this.guessType(this,value); - var ok = true; - if(value.length == 0 && !this.is(xrfragment_XRF.T_PREDEFINED_VIEW)) { - ok = false; - } - if(!this.is(xrfragment_XRF.T_FLOAT) && this.is(xrfragment_XRF.T_VECTOR2) && !(typeof(this.x) == "number" && typeof(this.y) == "number")) { - ok = false; - } - if(!(this.is(xrfragment_XRF.T_VECTOR2) || this.is(xrfragment_XRF.T_STRING)) && this.is(xrfragment_XRF.T_VECTOR3) && !(typeof(this.x) == "number" && typeof(this.y) == "number" && typeof(this.z) == "number")) { - ok = false; - } - return ok; - } - ,guessType: function(v,str) { - v.string = str; - if(xrfragment_XRF.isReset.match(v.fragment)) { - v.reset = true; - } - if(v.fragment == "loop") { - v.loop = true; - } - if(typeof(str) != "string") { - return; - } - if(str.length > 0) { - if(xrfragment_XRF.isXRFScheme.match(str)) { - v.xrfScheme = true; - str = str.replace(xrfragment_XRF.isXRFScheme.r,""); - v.string = str; - } - if(str.split(",").length > 1) { - var xyzn = str.split(","); - if(xyzn.length > 0) { - v.x = parseFloat(xyzn[0]); - } - if(xyzn.length > 1) { - v.y = parseFloat(xyzn[1]); - } - if(xyzn.length > 2) { - v.z = parseFloat(xyzn[2]); - } - var _g = 0; - var _g1 = xyzn.length; - while(_g < _g1) { - var i = _g++; - v.shift.push(xrfragment_XRF.isShift.match(xyzn[i])); - v.floats.push(parseFloat(xyzn[i].replace(xrfragment_XRF.isShift.r,""))); - } - } - if(xrfragment_XRF.isColor.match(str)) { - v.color = str; - } - if(xrfragment_XRF.isFloat.match(str)) { - v.x = parseFloat(str); - v.float = v.x; - } - if(xrfragment_XRF.isInt.match(str)) { - v.int = Std.parseInt(str); - v.x = v.int; - v.floats.push(v.x); - } - v.filter = new xrfragment_Filter(v.fragment + "=" + v.string); - } else { - v.filter = new xrfragment_Filter(v.fragment); - } - } -}; -function $getIterator(o) { if( o instanceof Array ) return new haxe_iterators_ArrayIterator(o); else return o.iterator(); } -function $bind(o,m) { if( m == null ) return null; if( m.__id__ == null ) m.__id__ = $global.$haxeUID++; var f; if( o.hx__closures__ == null ) o.hx__closures__ = {}; else f = o.hx__closures__[m.__id__]; if( f == null ) { f = m.bind(o); o.hx__closures__[m.__id__] = f; } return f; } -$global.$haxeUID |= 0; -if(typeof(performance) != "undefined" ? typeof(performance.now) == "function" : false) { - HxOverrides.now = performance.now.bind(performance); -} -if( String.fromCodePoint == null ) String.fromCodePoint = function(c) { return c < 0x10000 ? String.fromCharCode(c) : String.fromCharCode((c>>10)+0xD7C0)+String.fromCharCode((c&0x3FF)+0xDC00); } -String.__name__ = true; -Array.__name__ = true; -js_Boot.__toStr = ({ }).toString; -haxe_Template.splitter = new EReg("(::[A-Za-z0-9_ ()&|!+=/><*.\"-]+::|\\$\\$([A-Za-z0-9_-]+)\\()",""); -haxe_Template.expr_splitter = new EReg("(\\(|\\)|[ \r\n\t]*\"[^\"]*\"[ \r\n\t]*|[!+=/><*.&|-]+)",""); -haxe_Template.expr_trim = new EReg("^[ ]*([^ ]+)[ ]*$",""); -haxe_Template.expr_int = new EReg("^[0-9]+$",""); -haxe_Template.expr_float = new EReg("^([+-]?)(?=\\d|,\\d)\\d*(,\\d*)?([Ee]([+-]?\\d+))?$",""); -haxe_Template.globals = { }; -haxe_Template.hxKeepArrayIterator = new haxe_iterators_ArrayIterator([]); -xrfragment_Parser.error = ""; -xrfragment_Parser.debug = false; -xrfragment_URI.__meta__ = { statics : { template : { keep : null}}}; -xrfragment_URI._parts = ["source","scheme","authority","userInfo","user","password","host","port","relative","path","directory","file","query","fragment"]; -xrfragment_XRF.IMMUTABLE = 1; -xrfragment_XRF.PROP_BIND = 2; -xrfragment_XRF.QUERY_OPERATOR = 4; -xrfragment_XRF.PROMPT = 8; -xrfragment_XRF.CUSTOMFRAG = 16; -xrfragment_XRF.NAVIGATOR = 32; -xrfragment_XRF.METADATA = 64; -xrfragment_XRF.PV_OVERRIDE = 128; -xrfragment_XRF.PV_EXECUTE = 256; -xrfragment_XRF.T_COLOR = 8192; -xrfragment_XRF.T_INT = 16384; -xrfragment_XRF.T_FLOAT = 32768; -xrfragment_XRF.T_VECTOR2 = 65536; -xrfragment_XRF.T_VECTOR3 = 131072; -xrfragment_XRF.T_URL = 262144; -xrfragment_XRF.T_PREDEFINED_VIEW = 524288; -xrfragment_XRF.T_STRING = 1048576; -xrfragment_XRF.T_MEDIAFRAG = 2097152; -xrfragment_XRF.T_DYNAMICKEY = 4194304; -xrfragment_XRF.T_DYNAMICKEYVALUE = 8388608; -xrfragment_XRF.isColor = new EReg("^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$",""); -xrfragment_XRF.isInt = new EReg("^[-0-9]+$",""); -xrfragment_XRF.isFloat = new EReg("^[-0-9]+\\.[0-9]+$",""); -xrfragment_XRF.isVector = new EReg("([,]+|\\w)",""); -xrfragment_XRF.isUrl = new EReg("(://)?\\..*",""); -xrfragment_XRF.isUrlOrPretypedView = new EReg("(^#|://)?\\..*",""); -xrfragment_XRF.isString = new EReg(".*",""); -xrfragment_XRF.operators = new EReg("(^[-]|^[!]|[\\*]$)","g"); -xrfragment_XRF.isProp = new EReg("^.*=[><=]?",""); -xrfragment_XRF.isExclude = new EReg("^-",""); -xrfragment_XRF.isDeep = new EReg("\\*",""); -xrfragment_XRF.isNumber = new EReg("^[0-9\\.]+$",""); -xrfragment_XRF.isMediaFrag = new EReg("^([0-9\\.,\\*+-]+)$",""); -xrfragment_XRF.isReset = new EReg("^!",""); -xrfragment_XRF.isShift = new EReg("^(\\+|--)",""); -xrfragment_XRF.isXRFScheme = new EReg("^xrf://",""); -})(typeof window != "undefined" ? window : typeof global != "undefined" ? global : typeof self != "undefined" ? self : this); -var xrfragment = $hx_exports["xrfragment"]; -export default xrfragment; -// Generated by Haxe 4.3.3 -var $hx_exports = typeof exports != "undefined" ? exports : typeof window != "undefined" ? window : typeof self != "undefined" ? self : this; -(function ($global) { "use strict"; -$hx_exports["xrfragment"] = $hx_exports["xrfragment"] || {}; -var $estr = function() { return js_Boot.__string_rec(this,''); },$hxEnums = $hxEnums || {},$_; -function $extend(from, fields) { - var proto = Object.create(from); - for (var name in fields) proto[name] = fields[name]; - if( fields.toString !== Object.prototype.toString ) proto.toString = fields.toString; - return proto; -} -var EReg = function(r,opt) { - this.r = new RegExp(r,opt.split("u").join("")); -}; -EReg.__name__ = true; -EReg.prototype = { - match: function(s) { - if(this.r.global) { - this.r.lastIndex = 0; - } - this.r.m = this.r.exec(s); - this.r.s = s; - return this.r.m != null; - } - ,matched: function(n) { - if(this.r.m != null && n >= 0 && n < this.r.m.length) { - return this.r.m[n]; - } else { - throw haxe_Exception.thrown("EReg::matched"); - } - } - ,matchedRight: function() { - if(this.r.m == null) { - throw haxe_Exception.thrown("No string matched"); - } - var sz = this.r.m.index + this.r.m[0].length; - return HxOverrides.substr(this.r.s,sz,this.r.s.length - sz); - } - ,matchedPos: function() { - if(this.r.m == null) { - throw haxe_Exception.thrown("No string matched"); - } - return { pos : this.r.m.index, len : this.r.m[0].length}; - } - ,split: function(s) { - var d = "#__delim__#"; - return s.replace(this.r,d).split(d); - } -}; -var HxOverrides = function() { }; -HxOverrides.__name__ = true; -HxOverrides.cca = function(s,index) { - var x = s.charCodeAt(index); - if(x != x) { - return undefined; - } - return x; -}; -HxOverrides.substr = function(s,pos,len) { - if(len == null) { - len = s.length; - } else if(len < 0) { - if(pos == 0) { - len = s.length + len; - } else { - return ""; - } - } - return s.substr(pos,len); -}; -HxOverrides.now = function() { - return Date.now(); -}; -Math.__name__ = true; -var Reflect = function() { }; -Reflect.__name__ = true; -Reflect.field = function(o,field) { - try { - return o[field]; - } catch( _g ) { - return null; - } -}; -Reflect.getProperty = function(o,field) { - var tmp; - if(o == null) { - return null; - } else { - var tmp1; - if(o.__properties__) { - tmp = o.__properties__["get_" + field]; - tmp1 = tmp; - } else { - tmp1 = false; - } - if(tmp1) { - return o[tmp](); - } else { - return o[field]; - } - } -}; -Reflect.fields = function(o) { - var a = []; - if(o != null) { - var hasOwnProperty = Object.prototype.hasOwnProperty; - for( var f in o ) { - if(f != "__id__" && f != "hx__closures__" && hasOwnProperty.call(o,f)) { - a.push(f); - } - } - } - return a; -}; -Reflect.isObject = function(v) { - if(v == null) { - return false; - } - var t = typeof(v); - if(!(t == "string" || t == "object" && v.__enum__ == null)) { - if(t == "function") { - return (v.__name__ || v.__ename__) != null; - } else { - return false; - } - } else { - return true; - } -}; -Reflect.deleteField = function(o,field) { - if(!Object.prototype.hasOwnProperty.call(o,field)) { - return false; - } - delete(o[field]); - return true; -}; -Reflect.copy = function(o) { - if(o == null) { - return null; - } - var o2 = { }; - var _g = 0; - var _g1 = Reflect.fields(o); - while(_g < _g1.length) { - var f = _g1[_g]; - ++_g; - o2[f] = Reflect.field(o,f); - } - return o2; -}; -var Std = function() { }; -Std.__name__ = true; -Std.string = function(s) { - return js_Boot.__string_rec(s,""); -}; -Std.parseInt = function(x) { - var v = parseInt(x); - if(isNaN(v)) { - return null; - } - return v; -}; -var StringBuf = function() { - this.b = ""; -}; -StringBuf.__name__ = true; -var StringTools = function() { }; -StringTools.__name__ = true; -StringTools.isSpace = function(s,pos) { - var c = HxOverrides.cca(s,pos); - if(!(c > 8 && c < 14)) { - return c == 32; - } else { - return true; - } -}; -StringTools.ltrim = function(s) { - var l = s.length; - var r = 0; - while(r < l && StringTools.isSpace(s,r)) ++r; - if(r > 0) { - return HxOverrides.substr(s,r,l - r); - } else { - return s; - } -}; -StringTools.rtrim = function(s) { - var l = s.length; - var r = 0; - while(r < l && StringTools.isSpace(s,l - r - 1)) ++r; - if(r > 0) { - return HxOverrides.substr(s,0,l - r); - } else { - return s; - } -}; -StringTools.trim = function(s) { - return StringTools.ltrim(StringTools.rtrim(s)); -}; -StringTools.replace = function(s,sub,by) { - return s.split(sub).join(by); -}; -var haxe_Exception = function(message,previous,native) { - Error.call(this,message); - this.message = message; - this.__previousException = previous; - this.__nativeException = native != null ? native : this; -}; -haxe_Exception.__name__ = true; -haxe_Exception.caught = function(value) { - if(((value) instanceof haxe_Exception)) { - return value; - } else if(((value) instanceof Error)) { - return new haxe_Exception(value.message,null,value); - } else { - return new haxe_ValueException(value,null,value); - } -}; -haxe_Exception.thrown = function(value) { - if(((value) instanceof haxe_Exception)) { - return value.get_native(); - } else if(((value) instanceof Error)) { - return value; - } else { - var e = new haxe_ValueException(value); - return e; - } -}; -haxe_Exception.__super__ = Error; -haxe_Exception.prototype = $extend(Error.prototype,{ - unwrap: function() { - return this.__nativeException; - } - ,get_native: function() { - return this.__nativeException; - } - ,__properties__: {get_native:"get_native"} -}); -var haxe__$Template_TemplateExpr = $hxEnums["haxe._Template.TemplateExpr"] = { __ename__:true,__constructs__:null - ,OpVar: ($_=function(v) { return {_hx_index:0,v:v,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpVar",$_.__params__ = ["v"],$_) - ,OpExpr: ($_=function(expr) { return {_hx_index:1,expr:expr,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpExpr",$_.__params__ = ["expr"],$_) - ,OpIf: ($_=function(expr,eif,eelse) { return {_hx_index:2,expr:expr,eif:eif,eelse:eelse,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpIf",$_.__params__ = ["expr","eif","eelse"],$_) - ,OpStr: ($_=function(str) { return {_hx_index:3,str:str,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpStr",$_.__params__ = ["str"],$_) - ,OpBlock: ($_=function(l) { return {_hx_index:4,l:l,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpBlock",$_.__params__ = ["l"],$_) - ,OpForeach: ($_=function(expr,loop) { return {_hx_index:5,expr:expr,loop:loop,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpForeach",$_.__params__ = ["expr","loop"],$_) - ,OpMacro: ($_=function(name,params) { return {_hx_index:6,name:name,params:params,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpMacro",$_.__params__ = ["name","params"],$_) -}; -haxe__$Template_TemplateExpr.__constructs__ = [haxe__$Template_TemplateExpr.OpVar,haxe__$Template_TemplateExpr.OpExpr,haxe__$Template_TemplateExpr.OpIf,haxe__$Template_TemplateExpr.OpStr,haxe__$Template_TemplateExpr.OpBlock,haxe__$Template_TemplateExpr.OpForeach,haxe__$Template_TemplateExpr.OpMacro]; -var haxe_iterators_ArrayIterator = function(array) { - this.current = 0; - this.array = array; -}; -haxe_iterators_ArrayIterator.__name__ = true; -haxe_iterators_ArrayIterator.prototype = { - hasNext: function() { - return this.current < this.array.length; - } - ,next: function() { - return this.array[this.current++]; - } -}; -var haxe_Template = function(str) { - var tokens = this.parseTokens(str); - this.expr = this.parseBlock(tokens); - if(!tokens.isEmpty()) { - throw haxe_Exception.thrown("Unexpected '" + Std.string(tokens.first().s) + "'"); - } -}; -haxe_Template.__name__ = true; -haxe_Template.prototype = { - execute: function(context,macros) { - this.macros = macros == null ? { } : macros; - this.context = context; - this.stack = new haxe_ds_List(); - this.buf = new StringBuf(); - this.run(this.expr); - return this.buf.b; - } - ,resolve: function(v) { - if(v == "__current__") { - return this.context; - } - if(Reflect.isObject(this.context)) { - var value = Reflect.getProperty(this.context,v); - if(value != null || Object.prototype.hasOwnProperty.call(this.context,v)) { - return value; - } - } - var _g_head = this.stack.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var ctx = val; - var value = Reflect.getProperty(ctx,v); - if(value != null || Object.prototype.hasOwnProperty.call(ctx,v)) { - return value; - } - } - return Reflect.field(haxe_Template.globals,v); - } - ,parseTokens: function(data) { - var tokens = new haxe_ds_List(); - while(haxe_Template.splitter.match(data)) { - var p = haxe_Template.splitter.matchedPos(); - if(p.pos > 0) { - tokens.add({ p : HxOverrides.substr(data,0,p.pos), s : true, l : null}); - } - if(HxOverrides.cca(data,p.pos) == 58) { - tokens.add({ p : HxOverrides.substr(data,p.pos + 2,p.len - 4), s : false, l : null}); - data = haxe_Template.splitter.matchedRight(); - continue; - } - var parp = p.pos + p.len; - var npar = 1; - var params = []; - var part = ""; - while(true) { - var c = HxOverrides.cca(data,parp); - ++parp; - if(c == 40) { - ++npar; - } else if(c == 41) { - --npar; - if(npar <= 0) { - break; - } - } else if(c == null) { - throw haxe_Exception.thrown("Unclosed macro parenthesis"); - } - if(c == 44 && npar == 1) { - params.push(part); - part = ""; - } else { - part += String.fromCodePoint(c); - } - } - params.push(part); - tokens.add({ p : haxe_Template.splitter.matched(2), s : false, l : params}); - data = HxOverrides.substr(data,parp,data.length - parp); - } - if(data.length > 0) { - tokens.add({ p : data, s : true, l : null}); - } - return tokens; - } - ,parseBlock: function(tokens) { - var l = new haxe_ds_List(); - while(true) { - var t = tokens.first(); - if(t == null) { - break; - } - if(!t.s && (t.p == "end" || t.p == "else" || HxOverrides.substr(t.p,0,7) == "elseif ")) { - break; - } - l.add(this.parse(tokens)); - } - if(l.length == 1) { - return l.first(); - } - return haxe__$Template_TemplateExpr.OpBlock(l); - } - ,parse: function(tokens) { - var t = tokens.pop(); - var p = t.p; - if(t.s) { - return haxe__$Template_TemplateExpr.OpStr(p); - } - if(t.l != null) { - var pe = new haxe_ds_List(); - var _g = 0; - var _g1 = t.l; - while(_g < _g1.length) { - var p1 = _g1[_g]; - ++_g; - pe.add(this.parseBlock(this.parseTokens(p1))); - } - return haxe__$Template_TemplateExpr.OpMacro(p,pe); - } - var kwdEnd = function(kwd) { - var pos = -1; - var length = kwd.length; - if(HxOverrides.substr(p,0,length) == kwd) { - pos = length; - var _g_offset = 0; - var _g_s = HxOverrides.substr(p,length,null); - while(_g_offset < _g_s.length) { - var c = _g_s.charCodeAt(_g_offset++); - if(c == 32) { - ++pos; - } else { - break; - } - } - } - return pos; - }; - var pos = kwdEnd("if"); - if(pos > 0) { - p = HxOverrides.substr(p,pos,p.length - pos); - var e = this.parseExpr(p); - var eif = this.parseBlock(tokens); - var t = tokens.first(); - var eelse; - if(t == null) { - throw haxe_Exception.thrown("Unclosed 'if'"); - } - if(t.p == "end") { - tokens.pop(); - eelse = null; - } else if(t.p == "else") { - tokens.pop(); - eelse = this.parseBlock(tokens); - t = tokens.pop(); - if(t == null || t.p != "end") { - throw haxe_Exception.thrown("Unclosed 'else'"); - } - } else { - t.p = HxOverrides.substr(t.p,4,t.p.length - 4); - eelse = this.parse(tokens); - } - return haxe__$Template_TemplateExpr.OpIf(e,eif,eelse); - } - var pos = kwdEnd("foreach"); - if(pos >= 0) { - p = HxOverrides.substr(p,pos,p.length - pos); - var e = this.parseExpr(p); - var efor = this.parseBlock(tokens); - var t = tokens.pop(); - if(t == null || t.p != "end") { - throw haxe_Exception.thrown("Unclosed 'foreach'"); - } - return haxe__$Template_TemplateExpr.OpForeach(e,efor); - } - if(haxe_Template.expr_splitter.match(p)) { - return haxe__$Template_TemplateExpr.OpExpr(this.parseExpr(p)); - } - return haxe__$Template_TemplateExpr.OpVar(p); - } - ,parseExpr: function(data) { - var l = new haxe_ds_List(); - var expr = data; - while(haxe_Template.expr_splitter.match(data)) { - var p = haxe_Template.expr_splitter.matchedPos(); - var k = p.pos + p.len; - if(p.pos != 0) { - l.add({ p : HxOverrides.substr(data,0,p.pos), s : true}); - } - var p1 = haxe_Template.expr_splitter.matched(0); - l.add({ p : p1, s : p1.indexOf("\"") >= 0}); - data = haxe_Template.expr_splitter.matchedRight(); - } - if(data.length != 0) { - var _g_offset = 0; - var _g_s = data; - while(_g_offset < _g_s.length) { - var _g_key = _g_offset; - var _g_value = _g_s.charCodeAt(_g_offset++); - var i = _g_key; - var c = _g_value; - if(c != 32) { - l.add({ p : HxOverrides.substr(data,i,null), s : true}); - break; - } - } - } - var e; - try { - e = this.makeExpr(l); - if(!l.isEmpty()) { - throw haxe_Exception.thrown(l.first().p); - } - } catch( _g ) { - var _g1 = haxe_Exception.caught(_g).unwrap(); - if(typeof(_g1) == "string") { - var s = _g1; - throw haxe_Exception.thrown("Unexpected '" + s + "' in " + expr); - } else { - throw _g; - } - } - return function() { - try { - return e(); - } catch( _g ) { - var exc = haxe_Exception.caught(_g).unwrap(); - throw haxe_Exception.thrown("Error : " + Std.string(exc) + " in " + expr); - } - }; - } - ,makeConst: function(v) { - haxe_Template.expr_trim.match(v); - v = haxe_Template.expr_trim.matched(1); - if(HxOverrides.cca(v,0) == 34) { - var str = HxOverrides.substr(v,1,v.length - 2); - return function() { - return str; - }; - } - if(haxe_Template.expr_int.match(v)) { - var i = Std.parseInt(v); - return function() { - return i; - }; - } - if(haxe_Template.expr_float.match(v)) { - var f = parseFloat(v); - return function() { - return f; - }; - } - var me = this; - return function() { - return me.resolve(v); - }; - } - ,makePath: function(e,l) { - var p = l.first(); - if(p == null || p.p != ".") { - return e; - } - l.pop(); - var field = l.pop(); - if(field == null || !field.s) { - throw haxe_Exception.thrown(field.p); - } - var f = field.p; - haxe_Template.expr_trim.match(f); - f = haxe_Template.expr_trim.matched(1); - return this.makePath(function() { - return Reflect.field(e(),f); - },l); - } - ,makeExpr: function(l) { - return this.makePath(this.makeExpr2(l),l); - } - ,skipSpaces: function(l) { - var p = l.first(); - while(p != null) { - var _g_offset = 0; - var _g_s = p.p; - while(_g_offset < _g_s.length) { - var c = _g_s.charCodeAt(_g_offset++); - if(c != 32) { - return; - } - } - l.pop(); - p = l.first(); - } - } - ,makeExpr2: function(l) { - this.skipSpaces(l); - var p = l.pop(); - this.skipSpaces(l); - if(p == null) { - throw haxe_Exception.thrown(""); - } - if(p.s) { - return this.makeConst(p.p); - } - switch(p.p) { - case "!": - var e = this.makeExpr(l); - return function() { - var v = e(); - if(v != null) { - return v == false; - } else { - return true; - } - }; - case "(": - this.skipSpaces(l); - var e1 = this.makeExpr(l); - this.skipSpaces(l); - var p1 = l.pop(); - if(p1 == null || p1.s) { - throw haxe_Exception.thrown(p1); - } - if(p1.p == ")") { - return e1; - } - this.skipSpaces(l); - var e2 = this.makeExpr(l); - this.skipSpaces(l); - var p2 = l.pop(); - this.skipSpaces(l); - if(p2 == null || p2.p != ")") { - throw haxe_Exception.thrown(p2); - } - switch(p1.p) { - case "!=": - return function() { - return e1() != e2(); - }; - case "&&": - return function() { - return e1() && e2(); - }; - case "*": - return function() { - return e1() * e2(); - }; - case "+": - return function() { - return e1() + e2(); - }; - case "-": - return function() { - return e1() - e2(); - }; - case "/": - return function() { - return e1() / e2(); - }; - case "<": - return function() { - return e1() < e2(); - }; - case "<=": - return function() { - return e1() <= e2(); - }; - case "==": - return function() { - return e1() == e2(); - }; - case ">": - return function() { - return e1() > e2(); - }; - case ">=": - return function() { - return e1() >= e2(); - }; - case "||": - return function() { - return e1() || e2(); - }; - default: - throw haxe_Exception.thrown("Unknown operation " + p1.p); - } - break; - case "-": - var e3 = this.makeExpr(l); - return function() { - return -e3(); - }; - } - throw haxe_Exception.thrown(p.p); - } - ,run: function(e) { - switch(e._hx_index) { - case 0: - var v = e.v; - var _this = this.buf; - var x = Std.string(this.resolve(v)); - _this.b += Std.string(x); - break; - case 1: - var e1 = e.expr; - var _this = this.buf; - var x = Std.string(e1()); - _this.b += Std.string(x); - break; - case 2: - var e1 = e.expr; - var eif = e.eif; - var eelse = e.eelse; - var v = e1(); - if(v == null || v == false) { - if(eelse != null) { - this.run(eelse); - } - } else { - this.run(eif); - } - break; - case 3: - var str = e.str; - this.buf.b += str == null ? "null" : "" + str; - break; - case 4: - var l = e.l; - var _g_head = l.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var e1 = val; - this.run(e1); - } - break; - case 5: - var e1 = e.expr; - var loop = e.loop; - var v = e1(); - try { - var x = $getIterator(v); - if(x.hasNext == null) { - throw haxe_Exception.thrown(null); - } - v = x; - } catch( _g ) { - try { - if(v.hasNext == null) { - throw haxe_Exception.thrown(null); - } - } catch( _g1 ) { - throw haxe_Exception.thrown("Cannot iter on " + Std.string(v)); - } - } - this.stack.push(this.context); - var v1 = v; - var ctx = v1; - while(ctx.hasNext()) { - var ctx1 = ctx.next(); - this.context = ctx1; - this.run(loop); - } - this.context = this.stack.pop(); - break; - case 6: - var m = e.name; - var params = e.params; - var v = Reflect.field(this.macros,m); - var pl = []; - var old = this.buf; - pl.push($bind(this,this.resolve)); - var _g_head = params.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var p = val; - if(p._hx_index == 0) { - var v1 = p.v; - pl.push(this.resolve(v1)); - } else { - this.buf = new StringBuf(); - this.run(p); - pl.push(this.buf.b); - } - } - this.buf = old; - try { - var _this = this.buf; - var x = Std.string(v.apply(this.macros,pl)); - _this.b += Std.string(x); - } catch( _g ) { - var e = haxe_Exception.caught(_g).unwrap(); - var plstr; - try { - plstr = pl.join(","); - } catch( _g1 ) { - plstr = "???"; - } - var msg = "Macro call " + m + "(" + plstr + ") failed (" + Std.string(e) + ")"; - throw haxe_Exception.thrown(msg); - } - break; - } - } -}; -var haxe_ValueException = function(value,previous,native) { - haxe_Exception.call(this,String(value),previous,native); - this.value = value; -}; -haxe_ValueException.__name__ = true; -haxe_ValueException.__super__ = haxe_Exception; -haxe_ValueException.prototype = $extend(haxe_Exception.prototype,{ - unwrap: function() { - return this.value; - } -}); -var haxe_ds_List = function() { - this.length = 0; -}; -haxe_ds_List.__name__ = true; -haxe_ds_List.prototype = { - add: function(item) { - var x = new haxe_ds__$List_ListNode(item,null); - if(this.h == null) { - this.h = x; - } else { - this.q.next = x; - } - this.q = x; - this.length++; - } - ,push: function(item) { - var x = new haxe_ds__$List_ListNode(item,this.h); - this.h = x; - if(this.q == null) { - this.q = x; - } - this.length++; - } - ,first: function() { - if(this.h == null) { - return null; - } else { - return this.h.item; - } - } - ,pop: function() { - if(this.h == null) { - return null; - } - var x = this.h.item; - this.h = this.h.next; - if(this.h == null) { - this.q = null; - } - this.length--; - return x; - } - ,isEmpty: function() { - return this.h == null; - } - ,toString: function() { - var s_b = ""; - var first = true; - var l = this.h; - s_b += "{"; - while(l != null) { - if(first) { - first = false; - } else { - s_b += ", "; - } - s_b += Std.string(Std.string(l.item)); - l = l.next; - } - s_b += "}"; - return s_b; - } -}; -var haxe_ds__$List_ListNode = function(item,next) { - this.item = item; - this.next = next; -}; -haxe_ds__$List_ListNode.__name__ = true; -var js_Boot = function() { }; -js_Boot.__name__ = true; -js_Boot.__string_rec = function(o,s) { - if(o == null) { - return "null"; - } - if(s.length >= 5) { - return "<...>"; - } - var t = typeof(o); - if(t == "function" && (o.__name__ || o.__ename__)) { - t = "object"; - } - switch(t) { - case "function": - return ""; - case "object": - if(o.__enum__) { - var e = $hxEnums[o.__enum__]; - var con = e.__constructs__[o._hx_index]; - var n = con._hx_name; - if(con.__params__) { - s = s + "\t"; - return n + "(" + ((function($this) { - var $r; - var _g = []; - { - var _g1 = 0; - var _g2 = con.__params__; - while(true) { - if(!(_g1 < _g2.length)) { - break; - } - var p = _g2[_g1]; - _g1 = _g1 + 1; - _g.push(js_Boot.__string_rec(o[p],s)); - } - } - $r = _g; - return $r; - }(this))).join(",") + ")"; - } else { - return n; - } - } - if(((o) instanceof Array)) { - var str = "["; - s += "\t"; - var _g = 0; - var _g1 = o.length; - while(_g < _g1) { - var i = _g++; - str += (i > 0 ? "," : "") + js_Boot.__string_rec(o[i],s); - } - str += "]"; - return str; - } - var tostr; - try { - tostr = o.toString; - } catch( _g ) { - return "???"; - } - if(tostr != null && tostr != Object.toString && typeof(tostr) == "function") { - var s2 = o.toString(); - if(s2 != "[object Object]") { - return s2; - } - } - var str = "{\n"; - s += "\t"; - var hasp = o.hasOwnProperty != null; - var k = null; - for( k in o ) { - if(hasp && !o.hasOwnProperty(k)) { - continue; - } - if(k == "prototype" || k == "__class__" || k == "__super__" || k == "__interfaces__" || k == "__properties__") { - continue; - } - if(str.length != 2) { - str += ", \n"; - } - str += s + k + " : " + js_Boot.__string_rec(o[k],s); - } - s = s.substring(1); - str += "\n" + s + "}"; - return str; - case "string": - return o; - default: - return String(o); - } -}; -var xrfragment_Filter = $hx_exports["xrfragment"]["Filter"] = function(str) { - this.q = { }; - this.str = ""; - if(str != null) { - this.parse(str); - } -}; -xrfragment_Filter.__name__ = true; -xrfragment_Filter.prototype = { - toObject: function() { - return Reflect.copy(this.q); - } - ,get: function() { - return Reflect.copy(this.q); - } - ,parse: function(str) { - var token = str.split(" "); - var q = { }; - var process = function(str,prefix) { - if(prefix == null) { - prefix = ""; - } - str = StringTools.trim(str); - var k = str.split("=")[0]; - var v = str.split("=")[1]; - var filter = { }; - if(q[prefix + k]) { - filter = q[prefix + k]; - } - if(xrfragment_XRF.isProp.match(str)) { - var oper = ""; - if(str.indexOf(">") != -1) { - oper = ">"; - } - if(str.indexOf("<") != -1) { - oper = "<"; - } - if(xrfragment_XRF.isExclude.match(k)) { - k = HxOverrides.substr(k,1,null); - } - v = HxOverrides.substr(v,oper.length,null); - if(oper.length == 0) { - oper = "="; - } - var rule = { }; - if(xrfragment_XRF.isNumber.match(v)) { - rule[oper] = parseFloat(v); - } else { - rule[oper] = v; - } - q["expr"] = rule; - } - var value = xrfragment_XRF.isDeep.match(str) ? k.split("*").length - 1 : 0; - q["deep"] = value; - var value = xrfragment_XRF.isExclude.match(str) ? false : true; - q["show"] = value; - var value = k.replace(xrfragment_XRF.operators.r,""); - q["key"] = value; - q["value"] = v; - }; - var _g = 0; - var _g1 = token.length; - while(_g < _g1) { - var i = _g++; - process(token[i]); - } - return this.q = q; - } - ,test: function(obj) { - var qualify = false; - var _g = 0; - var _g1 = Reflect.fields(obj); - while(_g < _g1.length) { - var k = _g1[_g]; - ++_g; - var v = Std.string(Reflect.field(obj,k)); - if(this.testProperty(k,v)) { - qualify = true; - } - } - var _g = 0; - var _g1 = Reflect.fields(obj); - while(_g < _g1.length) { - var k = _g1[_g]; - ++_g; - var v = Std.string(Reflect.field(obj,k)); - if(this.testProperty(k,v,true)) { - qualify = false; - } - } - return qualify; - } - ,testProperty: function(property,value,exclude) { - var conds = 0; - var fails = 0; - var qualify = 0; - var testprop = function(expr) { - conds += 1; - fails += expr ? 0 : 1; - return expr; - }; - if(this.q[value] != null) { - var v = this.q[value]; - if(v[property] != null) { - return v[property]; - } - } - if(Reflect.field(this.q,"expr")) { - var f = Reflect.field(this.q,"expr"); - if(!Reflect.field(this.q,"show")) { - if(Reflect.field(f,"!=") != null && testprop((value == null ? "null" : "" + value) == Std.string(Reflect.field(f,"!="))) && exclude) { - ++qualify; - } - } else { - if(Reflect.field(f,"*") != null && testprop(parseFloat(value) != null)) { - ++qualify; - } - if(Reflect.field(f,">") != null && testprop(parseFloat(value) >= parseFloat(Reflect.field(f,">")))) { - ++qualify; - } - if(Reflect.field(f,"<") != null && testprop(parseFloat(value) <= parseFloat(Reflect.field(f,"<")))) { - ++qualify; - } - if(Reflect.field(f,"=") != null && (testprop(value == Reflect.field(f,"=")) || testprop(parseFloat(value) == parseFloat(Reflect.field(f,"="))))) { - ++qualify; - } - } - } - return qualify > 0; - } -}; -var xrfragment_Parser = $hx_exports["xrfragment"]["Parser"] = function() { }; -xrfragment_Parser.__name__ = true; -xrfragment_Parser.parse = function(key,value,store,index) { - var Frag_h = Object.create(null); - Frag_h["#"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_PREDEFINED_VIEW | xrfragment_XRF.PV_EXECUTE; - Frag_h["src"] = xrfragment_XRF.T_URL; - Frag_h["href"] = xrfragment_XRF.T_URL | xrfragment_XRF.T_PREDEFINED_VIEW; - Frag_h["tag"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["pos"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_VECTOR3 | xrfragment_XRF.T_STRING | xrfragment_XRF.METADATA | xrfragment_XRF.NAVIGATOR; - Frag_h["rot"] = xrfragment_XRF.QUERY_OPERATOR | xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_VECTOR3 | xrfragment_XRF.METADATA | xrfragment_XRF.NAVIGATOR; - Frag_h["t"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_FLOAT | xrfragment_XRF.T_VECTOR2 | xrfragment_XRF.NAVIGATOR | xrfragment_XRF.METADATA; - Frag_h["s"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_MEDIAFRAG; - Frag_h["loop"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_PREDEFINED_VIEW; - Frag_h["uv"] = xrfragment_XRF.T_VECTOR2 | xrfragment_XRF.T_MEDIAFRAG; - Frag_h["namespace"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["SPDX"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["unit"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["description"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - var keyStripped = key.replace(xrfragment_XRF.operators.r,""); - var isPVDynamic = key.length > 0 && !Object.prototype.hasOwnProperty.call(Frag_h,key); - if(isPVDynamic) { - var v = new xrfragment_XRF(key,xrfragment_XRF.PV_EXECUTE | xrfragment_XRF.NAVIGATOR,index); - v.validate(value); - v.flags = xrfragment_XRF.set(xrfragment_XRF.T_DYNAMICKEY,v.flags); - if(!Object.prototype.hasOwnProperty.call(Frag_h,key)) { - v.flags = xrfragment_XRF.set(xrfragment_XRF.CUSTOMFRAG,v.flags); - } - if(value.length == 0) { - v.flags = xrfragment_XRF.set(xrfragment_XRF.T_DYNAMICKEYVALUE,v.flags); - } - store[keyStripped] = v; - return true; - } - var v = new xrfragment_XRF(key,Frag_h[key],index); - if(Object.prototype.hasOwnProperty.call(Frag_h,key)) { - if(!v.validate(value)) { - console.log("src/xrfragment/Parser.hx:67:","⚠ fragment '" + key + "' has incompatible value (" + value + ")"); - return false; - } - store[keyStripped] = v; - if(xrfragment_Parser.debug) { - console.log("src/xrfragment/Parser.hx:71:","✔ " + key + ": " + v.string); - } - } else { - if(typeof(value) == "string") { - v.guessType(v,value); - } - v.flags = xrfragment_XRF.set(xrfragment_XRF.CUSTOMFRAG,v.flags); - store[keyStripped] = v; - } - return true; -}; -xrfragment_Parser.getMetaData = function() { - var meta = { title : ["title","og:title","dc.title"], description : ["aria-description","og:description","dc.description"], author : ["author","dc.creator"], publisher : ["publisher","dc.publisher"], website : ["og:site_name","og:url","dc.publisher"], license : ["SPDX","dc.rights"]}; - return meta; -}; -var xrfragment_URI = $hx_exports["xrfragment"]["URI"] = function() { - this.XRF = { }; - this.hash = { }; - this.fragment = ""; -}; -xrfragment_URI.__name__ = true; -xrfragment_URI.parseFragment = function(url,filter) { - var store = { }; - if(url == null || url.indexOf("#") == -1) { - return store; - } - var fragment = url.split("#"); - var splitArray = fragment[1].split("&"); - var _g = 0; - var _g1 = splitArray.length; - while(_g < _g1) { - var i = _g++; - var splitByEqual = splitArray[i].split("="); - var regexPlus = new EReg("\\+","g"); - var key = splitByEqual[0]; - var value = ""; - if(splitByEqual.length > 1) { - if(xrfragment_XRF.isVector.match(splitByEqual[1])) { - value = splitByEqual[1]; - } else { - var s = regexPlus.split(splitByEqual[1]).join(" "); - value = decodeURIComponent(s.split("+").join(" ")); - } - } - var ok = xrfragment_Parser.parse(key,value,store,i); - } - if(filter != null && filter != 0) { - var _g = 0; - var _g1 = Reflect.fields(store); - while(_g < _g1.length) { - var key = _g1[_g]; - ++_g; - var xrf = store[key]; - if(!xrf.is(filter)) { - Reflect.deleteField(store,key); - } - } - } - return store; -}; -xrfragment_URI.template = function(uri,vars) { - var parts = uri.split("#"); - if(parts.length == 1) { - return uri; - } - var frag = parts[1]; - frag = StringTools.replace(frag,"{","::"); - frag = StringTools.replace(frag,"}","::"); - frag = new haxe_Template(frag).execute(vars); - frag = StringTools.replace(frag,"null",""); - parts[1] = frag; - return parts.join("#"); -}; -xrfragment_URI.parse = function(stringUrl,flags) { - var r = new EReg("^(?:(?![^:@]+:[^:@/]*@)([^:/?#.]+):)?(?://)?((?:(([^:@]*)(?::([^:@]*))?)?@)?([^:/?#]*)(?::(\\d*))?)(((/(?:[^?#](?![^?#/]*\\.[^?#/.]+(?:[?#]|$)))*/?)?([^?#/]*))(?:\\?([^#]*))?(?:#(.*))?)",""); - if(stringUrl.indexOf("://") == -1 && stringUrl.charAt(0) != "/") { - stringUrl = "/" + stringUrl; - } - r.match(stringUrl); - var url = new xrfragment_URI(); - var _g = 0; - var _g1 = xrfragment_URI._parts.length; - while(_g < _g1) { - var i = _g++; - url[xrfragment_URI._parts[i]] = r.matched(i); - } - if(xrfragment_URI.isRelative(url) == true) { - if(url.directory == null && url.host != null) { - url.file = url.host; - } - url.host = ""; - } - url.hash = { }; - if(url.fragment != null && url.fragment.length > 0) { - url.XRF = xrfragment_URI.parseFragment("#" + url.fragment,flags); - var key; - var _g = 0; - var _g1 = Reflect.fields(url.XRF); - while(_g < _g1.length) { - var key = _g1[_g]; - ++_g; - var v = url.XRF[key]; - url.hash[key] = v["string"]; - } - } - xrfragment_URI.computeVars(url); - return url; -}; -xrfragment_URI.computeVars = function(url) { - var r_r = new RegExp("//","g".split("u").join("")); - if(url.directory != null && url.directory.indexOf("//") != -1) { - url.directory = url.directory.replace(r_r,"/"); - } - if(url.path != null && url.path.indexOf("//") != -1) { - url.path = url.path.replace(r_r,"/"); - } - if(url.file != null && url.file.indexOf("//") != -1) { - url.file = url.file.replace(r_r,"/"); - } - url.URN = url.scheme + "://" + url.host; - if(url.port != null) { - url.URN += ":" + url.port; - } - url.URN += url.directory; - if(url.file != null) { - var parts = url.file.split("."); - if(parts.length > 1) { - url.fileExt = parts.pop(); - } - } -}; -xrfragment_URI.toString = function(url) { - var result = ""; - if(url.scheme != null) { - result += url.scheme + "://"; - } - if(url.user != null) { - result += url.user + ":"; - } - if(url.password != null) { - result += url.password + "@"; - } - if(url.host != null) { - result += url.host; - } - if(url.port != null) { - result += ":" + url.port; - } - if(url.directory != null) { - result += url.directory; - } - if(url.file != null) { - result += url.file; - } - if(url.query != null) { - result += "?" + url.query; - } - if(url.fragment != null) { - result += "#" + url.fragment; - } - return result; -}; -xrfragment_URI.appendURI = function(url,appendedURI) { - if(xrfragment_URI.isRelative(url) == true) { - return xrfragment_URI.appendToRelativeURI(url,appendedURI); - } else { - return xrfragment_URI.appendToAbsoluteURI(url,appendedURI); - } -}; -xrfragment_URI.isRelative = function(url) { - return url.scheme == null; -}; -xrfragment_URI.appendToRelativeURI = function(url,appendedURI) { - if(url.directory == null || url.host == null) { - return xrfragment_URI.cloneURI(appendedURI); - } - var resultURI = new xrfragment_URI(); - resultURI.host = url.host; - resultURI.directory = url.directory; - if(appendedURI.host != null) { - resultURI.directory += appendedURI.host; - } - if(appendedURI.directory != null) { - var directory = appendedURI.directory; - if(appendedURI.host == null) { - resultURI.directory += HxOverrides.substr(directory,1,null); - } else { - resultURI.directory += directory; - } - } - if(appendedURI.file != null) { - resultURI.file = appendedURI.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(appendedURI.query != null) { - resultURI.query = appendedURI.query; - } - if(appendedURI.fragment != null) { - resultURI.fragment = appendedURI.fragment; - } - return resultURI; -}; -xrfragment_URI.appendToAbsoluteURI = function(url,appendedURI) { - var resultURI = new xrfragment_URI(); - if(url.scheme != null) { - resultURI.scheme = url.scheme; - } - if(url.host != null) { - resultURI.host = url.host; - } - var directory = ""; - if(url.directory != null) { - directory = url.directory; - } - if(appendedURI.host != null) { - appendedURI.directory += appendedURI.host; - } - if(appendedURI.directory != null) { - directory += appendedURI.directory; - } - resultURI.directory = directory; - if(appendedURI.file != null) { - resultURI.file = appendedURI.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(appendedURI.query != null) { - resultURI.query = appendedURI.query; - } - if(appendedURI.fragment != null) { - resultURI.fragment = appendedURI.fragment; - } - return resultURI; -}; -xrfragment_URI.toAbsolute = function(url,newUrl) { - var newURI = xrfragment_URI.parse(newUrl,0); - var resultURI = new xrfragment_URI(); - resultURI.port = url.port; - resultURI.source = newUrl; - if(newURI.scheme != null) { - resultURI.scheme = newURI.scheme; - } else { - resultURI.scheme = url.scheme; - } - if(newURI.host != null && newURI.host.length > 0) { - resultURI.host = newURI.host; - resultURI.port = null; - resultURI.fragment = null; - resultURI.hash = { }; - resultURI.XRF = { }; - if(newURI.port != null) { - resultURI.port = newURI.port; - } - } else { - resultURI.host = url.host; - } - var directory = ""; - if(url.directory != null) { - directory = url.directory; - } - if(newURI.directory != null) { - if(newUrl.charAt(0) != "/" && newUrl.indexOf("://") == -1) { - var stripRelative_r = new RegExp("\\./.*","".split("u").join("")); - directory = directory.replace(stripRelative_r,""); - directory += newURI.directory; - } else { - directory = newURI.directory; - } - } - resultURI.directory = directory; - if(newURI.file != null) { - resultURI.file = newURI.file; - } else { - resultURI.file = url.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(newURI.query != null) { - resultURI.query = newURI.query; - } - if(newURI.fragment != null) { - resultURI.fragment = newURI.fragment; - } - resultURI.hash = newURI.hash; - resultURI.XRF = newURI.XRF; - xrfragment_URI.computeVars(resultURI); - return resultURI; -}; -xrfragment_URI.cloneURI = function(url) { - var clonedURI = new xrfragment_URI(); - clonedURI.url = url.url; - clonedURI.source = url.source; - clonedURI.scheme = url.scheme; - clonedURI.authority = url.authority; - clonedURI.userInfo = url.userInfo; - clonedURI.password = url.password; - clonedURI.host = url.host; - clonedURI.port = url.port; - clonedURI.relative = url.relative; - clonedURI.path = url.path; - clonedURI.directory = url.directory; - clonedURI.file = url.file; - clonedURI.query = url.query; - clonedURI.fragment = url.fragment; - return clonedURI; -}; -var xrfragment_XRF = $hx_exports["xrfragment"]["XRF"] = function(_fragment,_flags,_index) { - this.floats = []; - this.shift = []; - this.fragment = _fragment; - this.flags = _flags; - this.index = _index; -}; -xrfragment_XRF.__name__ = true; -xrfragment_XRF.set = function(flag,flags) { - return flags | flag; -}; -xrfragment_XRF.unset = function(flag,flags) { - return flags & ~flag; -}; -xrfragment_XRF.prototype = { - is: function(flag) { - var v = this.flags; - if(!(typeof(v) == "number" && ((v | 0) === v))) { - this.flags = 0; - } - return (this.flags & flag) != 0; - } - ,validate: function(value) { - this.guessType(this,value); - var ok = true; - if(value.length == 0 && !this.is(xrfragment_XRF.T_PREDEFINED_VIEW)) { - ok = false; - } - if(!this.is(xrfragment_XRF.T_FLOAT) && this.is(xrfragment_XRF.T_VECTOR2) && !(typeof(this.x) == "number" && typeof(this.y) == "number")) { - ok = false; - } - if(!(this.is(xrfragment_XRF.T_VECTOR2) || this.is(xrfragment_XRF.T_STRING)) && this.is(xrfragment_XRF.T_VECTOR3) && !(typeof(this.x) == "number" && typeof(this.y) == "number" && typeof(this.z) == "number")) { - ok = false; - } - return ok; - } - ,guessType: function(v,str) { - v.string = str; - if(xrfragment_XRF.isReset.match(v.fragment)) { - v.reset = true; - } - if(v.fragment == "loop") { - v.loop = true; - } - if(typeof(str) != "string") { - return; - } - if(str.length > 0) { - if(xrfragment_XRF.isXRFScheme.match(str)) { - v.xrfScheme = true; - str = str.replace(xrfragment_XRF.isXRFScheme.r,""); - v.string = str; - } - if(str.split(",").length > 1) { - var xyzn = str.split(","); - if(xyzn.length > 0) { - v.x = parseFloat(xyzn[0]); - } - if(xyzn.length > 1) { - v.y = parseFloat(xyzn[1]); - } - if(xyzn.length > 2) { - v.z = parseFloat(xyzn[2]); - } - var _g = 0; - var _g1 = xyzn.length; - while(_g < _g1) { - var i = _g++; - v.shift.push(xrfragment_XRF.isShift.match(xyzn[i])); - v.floats.push(parseFloat(xyzn[i].replace(xrfragment_XRF.isShift.r,""))); - } - } - if(xrfragment_XRF.isColor.match(str)) { - v.color = str; - } - if(xrfragment_XRF.isFloat.match(str)) { - v.x = parseFloat(str); - v.float = v.x; - } - if(xrfragment_XRF.isInt.match(str)) { - v.int = Std.parseInt(str); - v.x = v.int; - v.floats.push(v.x); - } - v.filter = new xrfragment_Filter(v.fragment + "=" + v.string); - } else { - v.filter = new xrfragment_Filter(v.fragment); - } - } -}; -function $getIterator(o) { if( o instanceof Array ) return new haxe_iterators_ArrayIterator(o); else return o.iterator(); } -function $bind(o,m) { if( m == null ) return null; if( m.__id__ == null ) m.__id__ = $global.$haxeUID++; var f; if( o.hx__closures__ == null ) o.hx__closures__ = {}; else f = o.hx__closures__[m.__id__]; if( f == null ) { f = m.bind(o); o.hx__closures__[m.__id__] = f; } return f; } -$global.$haxeUID |= 0; -if(typeof(performance) != "undefined" ? typeof(performance.now) == "function" : false) { - HxOverrides.now = performance.now.bind(performance); -} -if( String.fromCodePoint == null ) String.fromCodePoint = function(c) { return c < 0x10000 ? String.fromCharCode(c) : String.fromCharCode((c>>10)+0xD7C0)+String.fromCharCode((c&0x3FF)+0xDC00); } -String.__name__ = true; -Array.__name__ = true; -js_Boot.__toStr = ({ }).toString; -haxe_Template.splitter = new EReg("(::[A-Za-z0-9_ ()&|!+=/><*.\"-]+::|\\$\\$([A-Za-z0-9_-]+)\\()",""); -haxe_Template.expr_splitter = new EReg("(\\(|\\)|[ \r\n\t]*\"[^\"]*\"[ \r\n\t]*|[!+=/><*.&|-]+)",""); -haxe_Template.expr_trim = new EReg("^[ ]*([^ ]+)[ ]*$",""); -haxe_Template.expr_int = new EReg("^[0-9]+$",""); -haxe_Template.expr_float = new EReg("^([+-]?)(?=\\d|,\\d)\\d*(,\\d*)?([Ee]([+-]?\\d+))?$",""); -haxe_Template.globals = { }; -haxe_Template.hxKeepArrayIterator = new haxe_iterators_ArrayIterator([]); -xrfragment_Parser.error = ""; -xrfragment_Parser.debug = false; -xrfragment_URI.__meta__ = { statics : { template : { keep : null}}}; -xrfragment_URI._parts = ["source","scheme","authority","userInfo","user","password","host","port","relative","path","directory","file","query","fragment"]; -xrfragment_XRF.IMMUTABLE = 1; -xrfragment_XRF.PROP_BIND = 2; -xrfragment_XRF.QUERY_OPERATOR = 4; -xrfragment_XRF.PROMPT = 8; -xrfragment_XRF.CUSTOMFRAG = 16; -xrfragment_XRF.NAVIGATOR = 32; -xrfragment_XRF.METADATA = 64; -xrfragment_XRF.PV_OVERRIDE = 128; -xrfragment_XRF.PV_EXECUTE = 256; -xrfragment_XRF.T_COLOR = 8192; -xrfragment_XRF.T_INT = 16384; -xrfragment_XRF.T_FLOAT = 32768; -xrfragment_XRF.T_VECTOR2 = 65536; -xrfragment_XRF.T_VECTOR3 = 131072; -xrfragment_XRF.T_URL = 262144; -xrfragment_XRF.T_PREDEFINED_VIEW = 524288; -xrfragment_XRF.T_STRING = 1048576; -xrfragment_XRF.T_MEDIAFRAG = 2097152; -xrfragment_XRF.T_DYNAMICKEY = 4194304; -xrfragment_XRF.T_DYNAMICKEYVALUE = 8388608; -xrfragment_XRF.isColor = new EReg("^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$",""); -xrfragment_XRF.isInt = new EReg("^[-0-9]+$",""); -xrfragment_XRF.isFloat = new EReg("^[-0-9]+\\.[0-9]+$",""); -xrfragment_XRF.isVector = new EReg("([,]+|\\w)",""); -xrfragment_XRF.isUrl = new EReg("(://)?\\..*",""); -xrfragment_XRF.isUrlOrPretypedView = new EReg("(^#|://)?\\..*",""); -xrfragment_XRF.isString = new EReg(".*",""); -xrfragment_XRF.operators = new EReg("(^[-]|^[!]|[\\*]$)","g"); -xrfragment_XRF.isProp = new EReg("^.*=[><=]?",""); -xrfragment_XRF.isExclude = new EReg("^-",""); -xrfragment_XRF.isDeep = new EReg("\\*",""); -xrfragment_XRF.isNumber = new EReg("^[0-9\\.]+$",""); -xrfragment_XRF.isMediaFrag = new EReg("^([0-9\\.,\\*+-]+)$",""); -xrfragment_XRF.isReset = new EReg("^!",""); -xrfragment_XRF.isShift = new EReg("^(\\+|--)",""); -xrfragment_XRF.isXRFScheme = new EReg("^xrf://",""); -})(typeof window != "undefined" ? window : typeof global != "undefined" ? global : typeof self != "undefined" ? self : this); -var xrfragment = $hx_exports["xrfragment"]; -export default xrfragment; -// Generated by Haxe 4.3.3 -var $hx_exports = typeof exports != "undefined" ? exports : typeof window != "undefined" ? window : typeof self != "undefined" ? self : this; -(function ($global) { "use strict"; -$hx_exports["xrfragment"] = $hx_exports["xrfragment"] || {}; -var $estr = function() { return js_Boot.__string_rec(this,''); },$hxEnums = $hxEnums || {},$_; -function $extend(from, fields) { - var proto = Object.create(from); - for (var name in fields) proto[name] = fields[name]; - if( fields.toString !== Object.prototype.toString ) proto.toString = fields.toString; - return proto; -} -var EReg = function(r,opt) { - this.r = new RegExp(r,opt.split("u").join("")); -}; -EReg.__name__ = true; -EReg.prototype = { - match: function(s) { - if(this.r.global) { - this.r.lastIndex = 0; - } - this.r.m = this.r.exec(s); - this.r.s = s; - return this.r.m != null; - } - ,matched: function(n) { - if(this.r.m != null && n >= 0 && n < this.r.m.length) { - return this.r.m[n]; - } else { - throw haxe_Exception.thrown("EReg::matched"); - } - } - ,matchedRight: function() { - if(this.r.m == null) { - throw haxe_Exception.thrown("No string matched"); - } - var sz = this.r.m.index + this.r.m[0].length; - return HxOverrides.substr(this.r.s,sz,this.r.s.length - sz); - } - ,matchedPos: function() { - if(this.r.m == null) { - throw haxe_Exception.thrown("No string matched"); - } - return { pos : this.r.m.index, len : this.r.m[0].length}; - } - ,split: function(s) { - var d = "#__delim__#"; - return s.replace(this.r,d).split(d); - } -}; -var HxOverrides = function() { }; -HxOverrides.__name__ = true; -HxOverrides.cca = function(s,index) { - var x = s.charCodeAt(index); - if(x != x) { - return undefined; - } - return x; -}; -HxOverrides.substr = function(s,pos,len) { - if(len == null) { - len = s.length; - } else if(len < 0) { - if(pos == 0) { - len = s.length + len; - } else { - return ""; - } - } - return s.substr(pos,len); -}; -HxOverrides.now = function() { - return Date.now(); -}; -Math.__name__ = true; -var Reflect = function() { }; -Reflect.__name__ = true; -Reflect.field = function(o,field) { - try { - return o[field]; - } catch( _g ) { - return null; - } -}; -Reflect.getProperty = function(o,field) { - var tmp; - if(o == null) { - return null; - } else { - var tmp1; - if(o.__properties__) { - tmp = o.__properties__["get_" + field]; - tmp1 = tmp; - } else { - tmp1 = false; - } - if(tmp1) { - return o[tmp](); - } else { - return o[field]; - } - } -}; -Reflect.fields = function(o) { - var a = []; - if(o != null) { - var hasOwnProperty = Object.prototype.hasOwnProperty; - for( var f in o ) { - if(f != "__id__" && f != "hx__closures__" && hasOwnProperty.call(o,f)) { - a.push(f); - } - } - } - return a; -}; -Reflect.isObject = function(v) { - if(v == null) { - return false; - } - var t = typeof(v); - if(!(t == "string" || t == "object" && v.__enum__ == null)) { - if(t == "function") { - return (v.__name__ || v.__ename__) != null; - } else { - return false; - } - } else { - return true; - } -}; -Reflect.deleteField = function(o,field) { - if(!Object.prototype.hasOwnProperty.call(o,field)) { - return false; - } - delete(o[field]); - return true; -}; -Reflect.copy = function(o) { - if(o == null) { - return null; - } - var o2 = { }; - var _g = 0; - var _g1 = Reflect.fields(o); - while(_g < _g1.length) { - var f = _g1[_g]; - ++_g; - o2[f] = Reflect.field(o,f); - } - return o2; -}; -var Std = function() { }; -Std.__name__ = true; -Std.string = function(s) { - return js_Boot.__string_rec(s,""); -}; -Std.parseInt = function(x) { - var v = parseInt(x); - if(isNaN(v)) { - return null; - } - return v; -}; -var StringBuf = function() { - this.b = ""; -}; -StringBuf.__name__ = true; -var StringTools = function() { }; -StringTools.__name__ = true; -StringTools.isSpace = function(s,pos) { - var c = HxOverrides.cca(s,pos); - if(!(c > 8 && c < 14)) { - return c == 32; - } else { - return true; - } -}; -StringTools.ltrim = function(s) { - var l = s.length; - var r = 0; - while(r < l && StringTools.isSpace(s,r)) ++r; - if(r > 0) { - return HxOverrides.substr(s,r,l - r); - } else { - return s; - } -}; -StringTools.rtrim = function(s) { - var l = s.length; - var r = 0; - while(r < l && StringTools.isSpace(s,l - r - 1)) ++r; - if(r > 0) { - return HxOverrides.substr(s,0,l - r); - } else { - return s; - } -}; -StringTools.trim = function(s) { - return StringTools.ltrim(StringTools.rtrim(s)); -}; -StringTools.replace = function(s,sub,by) { - return s.split(sub).join(by); -}; -var haxe_Exception = function(message,previous,native) { - Error.call(this,message); - this.message = message; - this.__previousException = previous; - this.__nativeException = native != null ? native : this; -}; -haxe_Exception.__name__ = true; -haxe_Exception.caught = function(value) { - if(((value) instanceof haxe_Exception)) { - return value; - } else if(((value) instanceof Error)) { - return new haxe_Exception(value.message,null,value); - } else { - return new haxe_ValueException(value,null,value); - } -}; -haxe_Exception.thrown = function(value) { - if(((value) instanceof haxe_Exception)) { - return value.get_native(); - } else if(((value) instanceof Error)) { - return value; - } else { - var e = new haxe_ValueException(value); - return e; - } -}; -haxe_Exception.__super__ = Error; -haxe_Exception.prototype = $extend(Error.prototype,{ - unwrap: function() { - return this.__nativeException; - } - ,get_native: function() { - return this.__nativeException; - } - ,__properties__: {get_native:"get_native"} -}); -var haxe__$Template_TemplateExpr = $hxEnums["haxe._Template.TemplateExpr"] = { __ename__:true,__constructs__:null - ,OpVar: ($_=function(v) { return {_hx_index:0,v:v,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpVar",$_.__params__ = ["v"],$_) - ,OpExpr: ($_=function(expr) { return {_hx_index:1,expr:expr,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpExpr",$_.__params__ = ["expr"],$_) - ,OpIf: ($_=function(expr,eif,eelse) { return {_hx_index:2,expr:expr,eif:eif,eelse:eelse,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpIf",$_.__params__ = ["expr","eif","eelse"],$_) - ,OpStr: ($_=function(str) { return {_hx_index:3,str:str,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpStr",$_.__params__ = ["str"],$_) - ,OpBlock: ($_=function(l) { return {_hx_index:4,l:l,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpBlock",$_.__params__ = ["l"],$_) - ,OpForeach: ($_=function(expr,loop) { return {_hx_index:5,expr:expr,loop:loop,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpForeach",$_.__params__ = ["expr","loop"],$_) - ,OpMacro: ($_=function(name,params) { return {_hx_index:6,name:name,params:params,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpMacro",$_.__params__ = ["name","params"],$_) -}; -haxe__$Template_TemplateExpr.__constructs__ = [haxe__$Template_TemplateExpr.OpVar,haxe__$Template_TemplateExpr.OpExpr,haxe__$Template_TemplateExpr.OpIf,haxe__$Template_TemplateExpr.OpStr,haxe__$Template_TemplateExpr.OpBlock,haxe__$Template_TemplateExpr.OpForeach,haxe__$Template_TemplateExpr.OpMacro]; -var haxe_iterators_ArrayIterator = function(array) { - this.current = 0; - this.array = array; -}; -haxe_iterators_ArrayIterator.__name__ = true; -haxe_iterators_ArrayIterator.prototype = { - hasNext: function() { - return this.current < this.array.length; - } - ,next: function() { - return this.array[this.current++]; - } -}; -var haxe_Template = function(str) { - var tokens = this.parseTokens(str); - this.expr = this.parseBlock(tokens); - if(!tokens.isEmpty()) { - throw haxe_Exception.thrown("Unexpected '" + Std.string(tokens.first().s) + "'"); - } -}; -haxe_Template.__name__ = true; -haxe_Template.prototype = { - execute: function(context,macros) { - this.macros = macros == null ? { } : macros; - this.context = context; - this.stack = new haxe_ds_List(); - this.buf = new StringBuf(); - this.run(this.expr); - return this.buf.b; - } - ,resolve: function(v) { - if(v == "__current__") { - return this.context; - } - if(Reflect.isObject(this.context)) { - var value = Reflect.getProperty(this.context,v); - if(value != null || Object.prototype.hasOwnProperty.call(this.context,v)) { - return value; - } - } - var _g_head = this.stack.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var ctx = val; - var value = Reflect.getProperty(ctx,v); - if(value != null || Object.prototype.hasOwnProperty.call(ctx,v)) { - return value; - } - } - return Reflect.field(haxe_Template.globals,v); - } - ,parseTokens: function(data) { - var tokens = new haxe_ds_List(); - while(haxe_Template.splitter.match(data)) { - var p = haxe_Template.splitter.matchedPos(); - if(p.pos > 0) { - tokens.add({ p : HxOverrides.substr(data,0,p.pos), s : true, l : null}); - } - if(HxOverrides.cca(data,p.pos) == 58) { - tokens.add({ p : HxOverrides.substr(data,p.pos + 2,p.len - 4), s : false, l : null}); - data = haxe_Template.splitter.matchedRight(); - continue; - } - var parp = p.pos + p.len; - var npar = 1; - var params = []; - var part = ""; - while(true) { - var c = HxOverrides.cca(data,parp); - ++parp; - if(c == 40) { - ++npar; - } else if(c == 41) { - --npar; - if(npar <= 0) { - break; - } - } else if(c == null) { - throw haxe_Exception.thrown("Unclosed macro parenthesis"); - } - if(c == 44 && npar == 1) { - params.push(part); - part = ""; - } else { - part += String.fromCodePoint(c); - } - } - params.push(part); - tokens.add({ p : haxe_Template.splitter.matched(2), s : false, l : params}); - data = HxOverrides.substr(data,parp,data.length - parp); - } - if(data.length > 0) { - tokens.add({ p : data, s : true, l : null}); - } - return tokens; - } - ,parseBlock: function(tokens) { - var l = new haxe_ds_List(); - while(true) { - var t = tokens.first(); - if(t == null) { - break; - } - if(!t.s && (t.p == "end" || t.p == "else" || HxOverrides.substr(t.p,0,7) == "elseif ")) { - break; - } - l.add(this.parse(tokens)); - } - if(l.length == 1) { - return l.first(); - } - return haxe__$Template_TemplateExpr.OpBlock(l); - } - ,parse: function(tokens) { - var t = tokens.pop(); - var p = t.p; - if(t.s) { - return haxe__$Template_TemplateExpr.OpStr(p); - } - if(t.l != null) { - var pe = new haxe_ds_List(); - var _g = 0; - var _g1 = t.l; - while(_g < _g1.length) { - var p1 = _g1[_g]; - ++_g; - pe.add(this.parseBlock(this.parseTokens(p1))); - } - return haxe__$Template_TemplateExpr.OpMacro(p,pe); - } - var kwdEnd = function(kwd) { - var pos = -1; - var length = kwd.length; - if(HxOverrides.substr(p,0,length) == kwd) { - pos = length; - var _g_offset = 0; - var _g_s = HxOverrides.substr(p,length,null); - while(_g_offset < _g_s.length) { - var c = _g_s.charCodeAt(_g_offset++); - if(c == 32) { - ++pos; - } else { - break; - } - } - } - return pos; - }; - var pos = kwdEnd("if"); - if(pos > 0) { - p = HxOverrides.substr(p,pos,p.length - pos); - var e = this.parseExpr(p); - var eif = this.parseBlock(tokens); - var t = tokens.first(); - var eelse; - if(t == null) { - throw haxe_Exception.thrown("Unclosed 'if'"); - } - if(t.p == "end") { - tokens.pop(); - eelse = null; - } else if(t.p == "else") { - tokens.pop(); - eelse = this.parseBlock(tokens); - t = tokens.pop(); - if(t == null || t.p != "end") { - throw haxe_Exception.thrown("Unclosed 'else'"); - } - } else { - t.p = HxOverrides.substr(t.p,4,t.p.length - 4); - eelse = this.parse(tokens); - } - return haxe__$Template_TemplateExpr.OpIf(e,eif,eelse); - } - var pos = kwdEnd("foreach"); - if(pos >= 0) { - p = HxOverrides.substr(p,pos,p.length - pos); - var e = this.parseExpr(p); - var efor = this.parseBlock(tokens); - var t = tokens.pop(); - if(t == null || t.p != "end") { - throw haxe_Exception.thrown("Unclosed 'foreach'"); - } - return haxe__$Template_TemplateExpr.OpForeach(e,efor); - } - if(haxe_Template.expr_splitter.match(p)) { - return haxe__$Template_TemplateExpr.OpExpr(this.parseExpr(p)); - } - return haxe__$Template_TemplateExpr.OpVar(p); - } - ,parseExpr: function(data) { - var l = new haxe_ds_List(); - var expr = data; - while(haxe_Template.expr_splitter.match(data)) { - var p = haxe_Template.expr_splitter.matchedPos(); - var k = p.pos + p.len; - if(p.pos != 0) { - l.add({ p : HxOverrides.substr(data,0,p.pos), s : true}); - } - var p1 = haxe_Template.expr_splitter.matched(0); - l.add({ p : p1, s : p1.indexOf("\"") >= 0}); - data = haxe_Template.expr_splitter.matchedRight(); - } - if(data.length != 0) { - var _g_offset = 0; - var _g_s = data; - while(_g_offset < _g_s.length) { - var _g_key = _g_offset; - var _g_value = _g_s.charCodeAt(_g_offset++); - var i = _g_key; - var c = _g_value; - if(c != 32) { - l.add({ p : HxOverrides.substr(data,i,null), s : true}); - break; - } - } - } - var e; - try { - e = this.makeExpr(l); - if(!l.isEmpty()) { - throw haxe_Exception.thrown(l.first().p); - } - } catch( _g ) { - var _g1 = haxe_Exception.caught(_g).unwrap(); - if(typeof(_g1) == "string") { - var s = _g1; - throw haxe_Exception.thrown("Unexpected '" + s + "' in " + expr); - } else { - throw _g; - } - } - return function() { - try { - return e(); - } catch( _g ) { - var exc = haxe_Exception.caught(_g).unwrap(); - throw haxe_Exception.thrown("Error : " + Std.string(exc) + " in " + expr); - } - }; - } - ,makeConst: function(v) { - haxe_Template.expr_trim.match(v); - v = haxe_Template.expr_trim.matched(1); - if(HxOverrides.cca(v,0) == 34) { - var str = HxOverrides.substr(v,1,v.length - 2); - return function() { - return str; - }; - } - if(haxe_Template.expr_int.match(v)) { - var i = Std.parseInt(v); - return function() { - return i; - }; - } - if(haxe_Template.expr_float.match(v)) { - var f = parseFloat(v); - return function() { - return f; - }; - } - var me = this; - return function() { - return me.resolve(v); - }; - } - ,makePath: function(e,l) { - var p = l.first(); - if(p == null || p.p != ".") { - return e; - } - l.pop(); - var field = l.pop(); - if(field == null || !field.s) { - throw haxe_Exception.thrown(field.p); - } - var f = field.p; - haxe_Template.expr_trim.match(f); - f = haxe_Template.expr_trim.matched(1); - return this.makePath(function() { - return Reflect.field(e(),f); - },l); - } - ,makeExpr: function(l) { - return this.makePath(this.makeExpr2(l),l); - } - ,skipSpaces: function(l) { - var p = l.first(); - while(p != null) { - var _g_offset = 0; - var _g_s = p.p; - while(_g_offset < _g_s.length) { - var c = _g_s.charCodeAt(_g_offset++); - if(c != 32) { - return; - } - } - l.pop(); - p = l.first(); - } - } - ,makeExpr2: function(l) { - this.skipSpaces(l); - var p = l.pop(); - this.skipSpaces(l); - if(p == null) { - throw haxe_Exception.thrown(""); - } - if(p.s) { - return this.makeConst(p.p); - } - switch(p.p) { - case "!": - var e = this.makeExpr(l); - return function() { - var v = e(); - if(v != null) { - return v == false; - } else { - return true; - } - }; - case "(": - this.skipSpaces(l); - var e1 = this.makeExpr(l); - this.skipSpaces(l); - var p1 = l.pop(); - if(p1 == null || p1.s) { - throw haxe_Exception.thrown(p1); - } - if(p1.p == ")") { - return e1; - } - this.skipSpaces(l); - var e2 = this.makeExpr(l); - this.skipSpaces(l); - var p2 = l.pop(); - this.skipSpaces(l); - if(p2 == null || p2.p != ")") { - throw haxe_Exception.thrown(p2); - } - switch(p1.p) { - case "!=": - return function() { - return e1() != e2(); - }; - case "&&": - return function() { - return e1() && e2(); - }; - case "*": - return function() { - return e1() * e2(); - }; - case "+": - return function() { - return e1() + e2(); - }; - case "-": - return function() { - return e1() - e2(); - }; - case "/": - return function() { - return e1() / e2(); - }; - case "<": - return function() { - return e1() < e2(); - }; - case "<=": - return function() { - return e1() <= e2(); - }; - case "==": - return function() { - return e1() == e2(); - }; - case ">": - return function() { - return e1() > e2(); - }; - case ">=": - return function() { - return e1() >= e2(); - }; - case "||": - return function() { - return e1() || e2(); - }; - default: - throw haxe_Exception.thrown("Unknown operation " + p1.p); - } - break; - case "-": - var e3 = this.makeExpr(l); - return function() { - return -e3(); - }; - } - throw haxe_Exception.thrown(p.p); - } - ,run: function(e) { - switch(e._hx_index) { - case 0: - var v = e.v; - var _this = this.buf; - var x = Std.string(this.resolve(v)); - _this.b += Std.string(x); - break; - case 1: - var e1 = e.expr; - var _this = this.buf; - var x = Std.string(e1()); - _this.b += Std.string(x); - break; - case 2: - var e1 = e.expr; - var eif = e.eif; - var eelse = e.eelse; - var v = e1(); - if(v == null || v == false) { - if(eelse != null) { - this.run(eelse); - } - } else { - this.run(eif); - } - break; - case 3: - var str = e.str; - this.buf.b += str == null ? "null" : "" + str; - break; - case 4: - var l = e.l; - var _g_head = l.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var e1 = val; - this.run(e1); - } - break; - case 5: - var e1 = e.expr; - var loop = e.loop; - var v = e1(); - try { - var x = $getIterator(v); - if(x.hasNext == null) { - throw haxe_Exception.thrown(null); - } - v = x; - } catch( _g ) { - try { - if(v.hasNext == null) { - throw haxe_Exception.thrown(null); - } - } catch( _g1 ) { - throw haxe_Exception.thrown("Cannot iter on " + Std.string(v)); - } - } - this.stack.push(this.context); - var v1 = v; - var ctx = v1; - while(ctx.hasNext()) { - var ctx1 = ctx.next(); - this.context = ctx1; - this.run(loop); - } - this.context = this.stack.pop(); - break; - case 6: - var m = e.name; - var params = e.params; - var v = Reflect.field(this.macros,m); - var pl = []; - var old = this.buf; - pl.push($bind(this,this.resolve)); - var _g_head = params.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var p = val; - if(p._hx_index == 0) { - var v1 = p.v; - pl.push(this.resolve(v1)); - } else { - this.buf = new StringBuf(); - this.run(p); - pl.push(this.buf.b); - } - } - this.buf = old; - try { - var _this = this.buf; - var x = Std.string(v.apply(this.macros,pl)); - _this.b += Std.string(x); - } catch( _g ) { - var e = haxe_Exception.caught(_g).unwrap(); - var plstr; - try { - plstr = pl.join(","); - } catch( _g1 ) { - plstr = "???"; - } - var msg = "Macro call " + m + "(" + plstr + ") failed (" + Std.string(e) + ")"; - throw haxe_Exception.thrown(msg); - } - break; - } - } -}; -var haxe_ValueException = function(value,previous,native) { - haxe_Exception.call(this,String(value),previous,native); - this.value = value; -}; -haxe_ValueException.__name__ = true; -haxe_ValueException.__super__ = haxe_Exception; -haxe_ValueException.prototype = $extend(haxe_Exception.prototype,{ - unwrap: function() { - return this.value; - } -}); -var haxe_ds_List = function() { - this.length = 0; -}; -haxe_ds_List.__name__ = true; -haxe_ds_List.prototype = { - add: function(item) { - var x = new haxe_ds__$List_ListNode(item,null); - if(this.h == null) { - this.h = x; - } else { - this.q.next = x; - } - this.q = x; - this.length++; - } - ,push: function(item) { - var x = new haxe_ds__$List_ListNode(item,this.h); - this.h = x; - if(this.q == null) { - this.q = x; - } - this.length++; - } - ,first: function() { - if(this.h == null) { - return null; - } else { - return this.h.item; - } - } - ,pop: function() { - if(this.h == null) { - return null; - } - var x = this.h.item; - this.h = this.h.next; - if(this.h == null) { - this.q = null; - } - this.length--; - return x; - } - ,isEmpty: function() { - return this.h == null; - } - ,toString: function() { - var s_b = ""; - var first = true; - var l = this.h; - s_b += "{"; - while(l != null) { - if(first) { - first = false; - } else { - s_b += ", "; - } - s_b += Std.string(Std.string(l.item)); - l = l.next; - } - s_b += "}"; - return s_b; - } -}; -var haxe_ds__$List_ListNode = function(item,next) { - this.item = item; - this.next = next; -}; -haxe_ds__$List_ListNode.__name__ = true; -var js_Boot = function() { }; -js_Boot.__name__ = true; -js_Boot.__string_rec = function(o,s) { - if(o == null) { - return "null"; - } - if(s.length >= 5) { - return "<...>"; - } - var t = typeof(o); - if(t == "function" && (o.__name__ || o.__ename__)) { - t = "object"; - } - switch(t) { - case "function": - return ""; - case "object": - if(o.__enum__) { - var e = $hxEnums[o.__enum__]; - var con = e.__constructs__[o._hx_index]; - var n = con._hx_name; - if(con.__params__) { - s = s + "\t"; - return n + "(" + ((function($this) { - var $r; - var _g = []; - { - var _g1 = 0; - var _g2 = con.__params__; - while(true) { - if(!(_g1 < _g2.length)) { - break; - } - var p = _g2[_g1]; - _g1 = _g1 + 1; - _g.push(js_Boot.__string_rec(o[p],s)); - } - } - $r = _g; - return $r; - }(this))).join(",") + ")"; - } else { - return n; - } - } - if(((o) instanceof Array)) { - var str = "["; - s += "\t"; - var _g = 0; - var _g1 = o.length; - while(_g < _g1) { - var i = _g++; - str += (i > 0 ? "," : "") + js_Boot.__string_rec(o[i],s); - } - str += "]"; - return str; - } - var tostr; - try { - tostr = o.toString; - } catch( _g ) { - return "???"; - } - if(tostr != null && tostr != Object.toString && typeof(tostr) == "function") { - var s2 = o.toString(); - if(s2 != "[object Object]") { - return s2; - } - } - var str = "{\n"; - s += "\t"; - var hasp = o.hasOwnProperty != null; - var k = null; - for( k in o ) { - if(hasp && !o.hasOwnProperty(k)) { - continue; - } - if(k == "prototype" || k == "__class__" || k == "__super__" || k == "__interfaces__" || k == "__properties__") { - continue; - } - if(str.length != 2) { - str += ", \n"; - } - str += s + k + " : " + js_Boot.__string_rec(o[k],s); - } - s = s.substring(1); - str += "\n" + s + "}"; - return str; - case "string": - return o; - default: - return String(o); - } -}; -var xrfragment_Filter = $hx_exports["xrfragment"]["Filter"] = function(str) { - this.q = { }; - this.str = ""; - if(str != null) { - this.parse(str); - } -}; -xrfragment_Filter.__name__ = true; -xrfragment_Filter.prototype = { - toObject: function() { - return Reflect.copy(this.q); - } - ,get: function() { - return Reflect.copy(this.q); - } - ,parse: function(str) { - var token = str.split(" "); - var q = { }; - var process = function(str,prefix) { - if(prefix == null) { - prefix = ""; - } - str = StringTools.trim(str); - var k = str.split("=")[0]; - var v = str.split("=")[1]; - var filter = { }; - if(q[prefix + k]) { - filter = q[prefix + k]; - } - if(xrfragment_XRF.isProp.match(str)) { - var oper = ""; - if(str.indexOf(">") != -1) { - oper = ">"; - } - if(str.indexOf("<") != -1) { - oper = "<"; - } - if(xrfragment_XRF.isExclude.match(k)) { - k = HxOverrides.substr(k,1,null); - } - v = HxOverrides.substr(v,oper.length,null); - if(oper.length == 0) { - oper = "="; - } - var rule = { }; - if(xrfragment_XRF.isNumber.match(v)) { - rule[oper] = parseFloat(v); - } else { - rule[oper] = v; - } - q["expr"] = rule; - } - var value = xrfragment_XRF.isDeep.match(str) ? k.split("*").length - 1 : 0; - q["deep"] = value; - var value = xrfragment_XRF.isExclude.match(str) ? false : true; - q["show"] = value; - var value = k.replace(xrfragment_XRF.operators.r,""); - q["key"] = value; - q["value"] = v; - }; - var _g = 0; - var _g1 = token.length; - while(_g < _g1) { - var i = _g++; - process(token[i]); - } - return this.q = q; - } - ,test: function(obj) { - var qualify = false; - var _g = 0; - var _g1 = Reflect.fields(obj); - while(_g < _g1.length) { - var k = _g1[_g]; - ++_g; - var v = Std.string(Reflect.field(obj,k)); - if(this.testProperty(k,v)) { - qualify = true; - } - } - var _g = 0; - var _g1 = Reflect.fields(obj); - while(_g < _g1.length) { - var k = _g1[_g]; - ++_g; - var v = Std.string(Reflect.field(obj,k)); - if(this.testProperty(k,v,true)) { - qualify = false; - } - } - return qualify; - } - ,testProperty: function(property,value,exclude) { - var conds = 0; - var fails = 0; - var qualify = 0; - var testprop = function(expr) { - conds += 1; - fails += expr ? 0 : 1; - return expr; - }; - if(this.q[value] != null) { - var v = this.q[value]; - if(v[property] != null) { - return v[property]; - } - } - if(Reflect.field(this.q,"expr")) { - var f = Reflect.field(this.q,"expr"); - if(!Reflect.field(this.q,"show")) { - if(Reflect.field(f,"!=") != null && testprop((value == null ? "null" : "" + value) == Std.string(Reflect.field(f,"!="))) && exclude) { - ++qualify; - } - } else { - if(Reflect.field(f,"*") != null && testprop(parseFloat(value) != null)) { - ++qualify; - } - if(Reflect.field(f,">") != null && testprop(parseFloat(value) >= parseFloat(Reflect.field(f,">")))) { - ++qualify; - } - if(Reflect.field(f,"<") != null && testprop(parseFloat(value) <= parseFloat(Reflect.field(f,"<")))) { - ++qualify; - } - if(Reflect.field(f,"=") != null && (testprop(value == Reflect.field(f,"=")) || testprop(parseFloat(value) == parseFloat(Reflect.field(f,"="))))) { - ++qualify; - } - } - } - return qualify > 0; - } -}; -var xrfragment_Parser = $hx_exports["xrfragment"]["Parser"] = function() { }; -xrfragment_Parser.__name__ = true; -xrfragment_Parser.parse = function(key,value,store,index) { - var Frag_h = Object.create(null); - Frag_h["#"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_PREDEFINED_VIEW | xrfragment_XRF.PV_EXECUTE; - Frag_h["src"] = xrfragment_XRF.T_URL; - Frag_h["href"] = xrfragment_XRF.T_URL | xrfragment_XRF.T_PREDEFINED_VIEW; - Frag_h["tag"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["pos"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_VECTOR3 | xrfragment_XRF.T_STRING | xrfragment_XRF.METADATA | xrfragment_XRF.NAVIGATOR; - Frag_h["rot"] = xrfragment_XRF.QUERY_OPERATOR | xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_VECTOR3 | xrfragment_XRF.METADATA | xrfragment_XRF.NAVIGATOR; - Frag_h["t"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_FLOAT | xrfragment_XRF.T_VECTOR2 | xrfragment_XRF.NAVIGATOR | xrfragment_XRF.METADATA; - Frag_h["s"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_MEDIAFRAG; - Frag_h["loop"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_PREDEFINED_VIEW; - Frag_h["uv"] = xrfragment_XRF.T_VECTOR2 | xrfragment_XRF.T_MEDIAFRAG; - Frag_h["namespace"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["SPDX"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["unit"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["description"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - var keyStripped = key.replace(xrfragment_XRF.operators.r,""); - var isPVDynamic = key.length > 0 && !Object.prototype.hasOwnProperty.call(Frag_h,key); - if(isPVDynamic) { - var v = new xrfragment_XRF(key,xrfragment_XRF.PV_EXECUTE | xrfragment_XRF.NAVIGATOR,index); - v.validate(value); - v.flags = xrfragment_XRF.set(xrfragment_XRF.T_DYNAMICKEY,v.flags); - if(!Object.prototype.hasOwnProperty.call(Frag_h,key)) { - v.flags = xrfragment_XRF.set(xrfragment_XRF.CUSTOMFRAG,v.flags); - } - if(value.length == 0) { - v.flags = xrfragment_XRF.set(xrfragment_XRF.T_DYNAMICKEYVALUE,v.flags); - } - store[keyStripped] = v; - return true; - } - var v = new xrfragment_XRF(key,Frag_h[key],index); - if(Object.prototype.hasOwnProperty.call(Frag_h,key)) { - if(!v.validate(value)) { - console.log("src/xrfragment/Parser.hx:67:","⚠ fragment '" + key + "' has incompatible value (" + value + ")"); - return false; - } - store[keyStripped] = v; - if(xrfragment_Parser.debug) { - console.log("src/xrfragment/Parser.hx:71:","✔ " + key + ": " + v.string); - } - } else { - if(typeof(value) == "string") { - v.guessType(v,value); - } - v.flags = xrfragment_XRF.set(xrfragment_XRF.CUSTOMFRAG,v.flags); - store[keyStripped] = v; - } - return true; -}; -xrfragment_Parser.getMetaData = function() { - var meta = { title : ["title","og:title","dc.title"], description : ["aria-description","og:description","dc.description"], author : ["author","dc.creator"], publisher : ["publisher","dc.publisher"], website : ["og:site_name","og:url","dc.publisher"], license : ["SPDX","dc.rights"]}; - return meta; -}; -var xrfragment_URI = $hx_exports["xrfragment"]["URI"] = function() { - this.XRF = { }; - this.hash = { }; - this.fragment = ""; -}; -xrfragment_URI.__name__ = true; -xrfragment_URI.parseFragment = function(url,filter) { - var store = { }; - if(url == null || url.indexOf("#") == -1) { - return store; - } - var fragment = url.split("#"); - var splitArray = fragment[1].split("&"); - var _g = 0; - var _g1 = splitArray.length; - while(_g < _g1) { - var i = _g++; - var splitByEqual = splitArray[i].split("="); - var regexPlus = new EReg("\\+","g"); - var key = splitByEqual[0]; - var value = ""; - if(splitByEqual.length > 1) { - if(xrfragment_XRF.isVector.match(splitByEqual[1])) { - value = splitByEqual[1]; - } else { - var s = regexPlus.split(splitByEqual[1]).join(" "); - value = decodeURIComponent(s.split("+").join(" ")); - } - } - var ok = xrfragment_Parser.parse(key,value,store,i); - } - if(filter != null && filter != 0) { - var _g = 0; - var _g1 = Reflect.fields(store); - while(_g < _g1.length) { - var key = _g1[_g]; - ++_g; - var xrf = store[key]; - if(!xrf.is(filter)) { - Reflect.deleteField(store,key); - } - } - } - return store; -}; -xrfragment_URI.template = function(uri,vars) { - var parts = uri.split("#"); - if(parts.length == 1) { - return uri; - } - var frag = parts[1]; - frag = StringTools.replace(frag,"{","::"); - frag = StringTools.replace(frag,"}","::"); - frag = new haxe_Template(frag).execute(vars); - frag = StringTools.replace(frag,"null",""); - parts[1] = frag; - return parts.join("#"); -}; -xrfragment_URI.parse = function(stringUrl,flags) { - var r = new EReg("^(?:(?![^:@]+:[^:@/]*@)([^:/?#.]+):)?(?://)?((?:(([^:@]*)(?::([^:@]*))?)?@)?([^:/?#]*)(?::(\\d*))?)(((/(?:[^?#](?![^?#/]*\\.[^?#/.]+(?:[?#]|$)))*/?)?([^?#/]*))(?:\\?([^#]*))?(?:#(.*))?)",""); - if(stringUrl.indexOf("://") == -1 && stringUrl.charAt(0) != "/") { - stringUrl = "/" + stringUrl; - } - r.match(stringUrl); - var url = new xrfragment_URI(); - var _g = 0; - var _g1 = xrfragment_URI._parts.length; - while(_g < _g1) { - var i = _g++; - url[xrfragment_URI._parts[i]] = r.matched(i); - } - if(xrfragment_URI.isRelative(url) == true) { - if(url.directory == null && url.host != null) { - url.file = url.host; - } - url.host = ""; - } - url.hash = { }; - if(url.fragment != null && url.fragment.length > 0) { - url.XRF = xrfragment_URI.parseFragment("#" + url.fragment,flags); - var key; - var _g = 0; - var _g1 = Reflect.fields(url.XRF); - while(_g < _g1.length) { - var key = _g1[_g]; - ++_g; - var v = url.XRF[key]; - url.hash[key] = v["string"]; - } - } - xrfragment_URI.computeVars(url); - return url; -}; -xrfragment_URI.computeVars = function(url) { - var r_r = new RegExp("//","g".split("u").join("")); - if(url.directory != null && url.directory.indexOf("//") != -1) { - url.directory = url.directory.replace(r_r,"/"); - } - if(url.path != null && url.path.indexOf("//") != -1) { - url.path = url.path.replace(r_r,"/"); - } - if(url.file != null && url.file.indexOf("//") != -1) { - url.file = url.file.replace(r_r,"/"); - } - url.URN = url.scheme + "://" + url.host; - if(url.port != null) { - url.URN += ":" + url.port; - } - url.URN += url.directory; - if(url.file != null) { - var parts = url.file.split("."); - if(parts.length > 1) { - url.fileExt = parts.pop(); - } - } -}; -xrfragment_URI.toString = function(url) { - var result = ""; - if(url.scheme != null) { - result += url.scheme + "://"; - } - if(url.user != null) { - result += url.user + ":"; - } - if(url.password != null) { - result += url.password + "@"; - } - if(url.host != null) { - result += url.host; - } - if(url.port != null) { - result += ":" + url.port; - } - if(url.directory != null) { - result += url.directory; - } - if(url.file != null) { - result += url.file; - } - if(url.query != null) { - result += "?" + url.query; - } - if(url.fragment != null) { - result += "#" + url.fragment; - } - return result; -}; -xrfragment_URI.appendURI = function(url,appendedURI) { - if(xrfragment_URI.isRelative(url) == true) { - return xrfragment_URI.appendToRelativeURI(url,appendedURI); - } else { - return xrfragment_URI.appendToAbsoluteURI(url,appendedURI); - } -}; -xrfragment_URI.isRelative = function(url) { - return url.scheme == null; -}; -xrfragment_URI.appendToRelativeURI = function(url,appendedURI) { - if(url.directory == null || url.host == null) { - return xrfragment_URI.cloneURI(appendedURI); - } - var resultURI = new xrfragment_URI(); - resultURI.host = url.host; - resultURI.directory = url.directory; - if(appendedURI.host != null) { - resultURI.directory += appendedURI.host; - } - if(appendedURI.directory != null) { - var directory = appendedURI.directory; - if(appendedURI.host == null) { - resultURI.directory += HxOverrides.substr(directory,1,null); - } else { - resultURI.directory += directory; - } - } - if(appendedURI.file != null) { - resultURI.file = appendedURI.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(appendedURI.query != null) { - resultURI.query = appendedURI.query; - } - if(appendedURI.fragment != null) { - resultURI.fragment = appendedURI.fragment; - } - return resultURI; -}; -xrfragment_URI.appendToAbsoluteURI = function(url,appendedURI) { - var resultURI = new xrfragment_URI(); - if(url.scheme != null) { - resultURI.scheme = url.scheme; - } - if(url.host != null) { - resultURI.host = url.host; - } - var directory = ""; - if(url.directory != null) { - directory = url.directory; - } - if(appendedURI.host != null) { - appendedURI.directory += appendedURI.host; - } - if(appendedURI.directory != null) { - directory += appendedURI.directory; - } - resultURI.directory = directory; - if(appendedURI.file != null) { - resultURI.file = appendedURI.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(appendedURI.query != null) { - resultURI.query = appendedURI.query; - } - if(appendedURI.fragment != null) { - resultURI.fragment = appendedURI.fragment; - } - return resultURI; -}; -xrfragment_URI.toAbsolute = function(url,newUrl) { - var newURI = xrfragment_URI.parse(newUrl,0); - var resultURI = new xrfragment_URI(); - resultURI.port = url.port; - resultURI.source = newUrl; - if(newURI.scheme != null) { - resultURI.scheme = newURI.scheme; - } else { - resultURI.scheme = url.scheme; - } - if(newURI.host != null && newURI.host.length > 0) { - resultURI.host = newURI.host; - resultURI.port = null; - resultURI.fragment = null; - resultURI.hash = { }; - resultURI.XRF = { }; - if(newURI.port != null) { - resultURI.port = newURI.port; - } - } else { - resultURI.host = url.host; - } - var directory = ""; - if(url.directory != null) { - directory = url.directory; - } - if(newURI.directory != null) { - if(newUrl.charAt(0) != "/" && newUrl.indexOf("://") == -1) { - var stripRelative_r = new RegExp("\\./.*","".split("u").join("")); - directory = directory.replace(stripRelative_r,""); - directory += newURI.directory; - } else { - directory = newURI.directory; - } - } - resultURI.directory = directory; - if(newURI.file != null) { - resultURI.file = newURI.file; - } else { - resultURI.file = url.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(newURI.query != null) { - resultURI.query = newURI.query; - } - if(newURI.fragment != null) { - resultURI.fragment = newURI.fragment; - } - resultURI.hash = newURI.hash; - resultURI.XRF = newURI.XRF; - xrfragment_URI.computeVars(resultURI); - return resultURI; -}; -xrfragment_URI.cloneURI = function(url) { - var clonedURI = new xrfragment_URI(); - clonedURI.url = url.url; - clonedURI.source = url.source; - clonedURI.scheme = url.scheme; - clonedURI.authority = url.authority; - clonedURI.userInfo = url.userInfo; - clonedURI.password = url.password; - clonedURI.host = url.host; - clonedURI.port = url.port; - clonedURI.relative = url.relative; - clonedURI.path = url.path; - clonedURI.directory = url.directory; - clonedURI.file = url.file; - clonedURI.query = url.query; - clonedURI.fragment = url.fragment; - return clonedURI; -}; -var xrfragment_XRF = $hx_exports["xrfragment"]["XRF"] = function(_fragment,_flags,_index) { - this.floats = []; - this.shift = []; - this.fragment = _fragment; - this.flags = _flags; - this.index = _index; -}; -xrfragment_XRF.__name__ = true; -xrfragment_XRF.set = function(flag,flags) { - return flags | flag; -}; -xrfragment_XRF.unset = function(flag,flags) { - return flags & ~flag; -}; -xrfragment_XRF.prototype = { - is: function(flag) { - var v = this.flags; - if(!(typeof(v) == "number" && ((v | 0) === v))) { - this.flags = 0; - } - return (this.flags & flag) != 0; - } - ,validate: function(value) { - this.guessType(this,value); - var ok = true; - if(value.length == 0 && !this.is(xrfragment_XRF.T_PREDEFINED_VIEW)) { - ok = false; - } - if(!this.is(xrfragment_XRF.T_FLOAT) && this.is(xrfragment_XRF.T_VECTOR2) && !(typeof(this.x) == "number" && typeof(this.y) == "number")) { - ok = false; - } - if(!(this.is(xrfragment_XRF.T_VECTOR2) || this.is(xrfragment_XRF.T_STRING)) && this.is(xrfragment_XRF.T_VECTOR3) && !(typeof(this.x) == "number" && typeof(this.y) == "number" && typeof(this.z) == "number")) { - ok = false; - } - return ok; - } - ,guessType: function(v,str) { - v.string = str; - if(xrfragment_XRF.isReset.match(v.fragment)) { - v.reset = true; - } - if(v.fragment == "loop") { - v.loop = true; - } - if(typeof(str) != "string") { - return; - } - if(str.length > 0) { - if(xrfragment_XRF.isXRFScheme.match(str)) { - v.xrfScheme = true; - str = str.replace(xrfragment_XRF.isXRFScheme.r,""); - v.string = str; - } - if(str.split(",").length > 1) { - var xyzn = str.split(","); - if(xyzn.length > 0) { - v.x = parseFloat(xyzn[0]); - } - if(xyzn.length > 1) { - v.y = parseFloat(xyzn[1]); - } - if(xyzn.length > 2) { - v.z = parseFloat(xyzn[2]); - } - var _g = 0; - var _g1 = xyzn.length; - while(_g < _g1) { - var i = _g++; - v.shift.push(xrfragment_XRF.isShift.match(xyzn[i])); - v.floats.push(parseFloat(xyzn[i].replace(xrfragment_XRF.isShift.r,""))); - } - } - if(xrfragment_XRF.isColor.match(str)) { - v.color = str; - } - if(xrfragment_XRF.isFloat.match(str)) { - v.x = parseFloat(str); - v.float = v.x; - } - if(xrfragment_XRF.isInt.match(str)) { - v.int = Std.parseInt(str); - v.x = v.int; - v.floats.push(v.x); - } - v.filter = new xrfragment_Filter(v.fragment + "=" + v.string); - } else { - v.filter = new xrfragment_Filter(v.fragment); - } - } -}; -function $getIterator(o) { if( o instanceof Array ) return new haxe_iterators_ArrayIterator(o); else return o.iterator(); } -function $bind(o,m) { if( m == null ) return null; if( m.__id__ == null ) m.__id__ = $global.$haxeUID++; var f; if( o.hx__closures__ == null ) o.hx__closures__ = {}; else f = o.hx__closures__[m.__id__]; if( f == null ) { f = m.bind(o); o.hx__closures__[m.__id__] = f; } return f; } -$global.$haxeUID |= 0; -if(typeof(performance) != "undefined" ? typeof(performance.now) == "function" : false) { - HxOverrides.now = performance.now.bind(performance); -} -if( String.fromCodePoint == null ) String.fromCodePoint = function(c) { return c < 0x10000 ? String.fromCharCode(c) : String.fromCharCode((c>>10)+0xD7C0)+String.fromCharCode((c&0x3FF)+0xDC00); } -String.__name__ = true; -Array.__name__ = true; -js_Boot.__toStr = ({ }).toString; -haxe_Template.splitter = new EReg("(::[A-Za-z0-9_ ()&|!+=/><*.\"-]+::|\\$\\$([A-Za-z0-9_-]+)\\()",""); -haxe_Template.expr_splitter = new EReg("(\\(|\\)|[ \r\n\t]*\"[^\"]*\"[ \r\n\t]*|[!+=/><*.&|-]+)",""); -haxe_Template.expr_trim = new EReg("^[ ]*([^ ]+)[ ]*$",""); -haxe_Template.expr_int = new EReg("^[0-9]+$",""); -haxe_Template.expr_float = new EReg("^([+-]?)(?=\\d|,\\d)\\d*(,\\d*)?([Ee]([+-]?\\d+))?$",""); -haxe_Template.globals = { }; -haxe_Template.hxKeepArrayIterator = new haxe_iterators_ArrayIterator([]); -xrfragment_Parser.error = ""; -xrfragment_Parser.debug = false; -xrfragment_URI.__meta__ = { statics : { template : { keep : null}}}; -xrfragment_URI._parts = ["source","scheme","authority","userInfo","user","password","host","port","relative","path","directory","file","query","fragment"]; -xrfragment_XRF.IMMUTABLE = 1; -xrfragment_XRF.PROP_BIND = 2; -xrfragment_XRF.QUERY_OPERATOR = 4; -xrfragment_XRF.PROMPT = 8; -xrfragment_XRF.CUSTOMFRAG = 16; -xrfragment_XRF.NAVIGATOR = 32; -xrfragment_XRF.METADATA = 64; -xrfragment_XRF.PV_OVERRIDE = 128; -xrfragment_XRF.PV_EXECUTE = 256; -xrfragment_XRF.T_COLOR = 8192; -xrfragment_XRF.T_INT = 16384; -xrfragment_XRF.T_FLOAT = 32768; -xrfragment_XRF.T_VECTOR2 = 65536; -xrfragment_XRF.T_VECTOR3 = 131072; -xrfragment_XRF.T_URL = 262144; -xrfragment_XRF.T_PREDEFINED_VIEW = 524288; -xrfragment_XRF.T_STRING = 1048576; -xrfragment_XRF.T_MEDIAFRAG = 2097152; -xrfragment_XRF.T_DYNAMICKEY = 4194304; -xrfragment_XRF.T_DYNAMICKEYVALUE = 8388608; -xrfragment_XRF.isColor = new EReg("^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$",""); -xrfragment_XRF.isInt = new EReg("^[-0-9]+$",""); -xrfragment_XRF.isFloat = new EReg("^[-0-9]+\\.[0-9]+$",""); -xrfragment_XRF.isVector = new EReg("([,]+|\\w)",""); -xrfragment_XRF.isUrl = new EReg("(://)?\\..*",""); -xrfragment_XRF.isUrlOrPretypedView = new EReg("(^#|://)?\\..*",""); -xrfragment_XRF.isString = new EReg(".*",""); -xrfragment_XRF.operators = new EReg("(^[-]|^[!]|[\\*]$)","g"); -xrfragment_XRF.isProp = new EReg("^.*=[><=]?",""); -xrfragment_XRF.isExclude = new EReg("^-",""); -xrfragment_XRF.isDeep = new EReg("\\*",""); -xrfragment_XRF.isNumber = new EReg("^[0-9\\.]+$",""); -xrfragment_XRF.isMediaFrag = new EReg("^([0-9\\.,\\*+-]+)$",""); -xrfragment_XRF.isReset = new EReg("^!",""); -xrfragment_XRF.isShift = new EReg("^(\\+|--)",""); -xrfragment_XRF.isXRFScheme = new EReg("^xrf://",""); -})(typeof window != "undefined" ? window : typeof global != "undefined" ? global : typeof self != "undefined" ? self : this); -var xrfragment = $hx_exports["xrfragment"]; -export default xrfragment; -// Generated by Haxe 4.3.3 -var $hx_exports = typeof exports != "undefined" ? exports : typeof window != "undefined" ? window : typeof self != "undefined" ? self : this; -(function ($global) { "use strict"; -$hx_exports["xrfragment"] = $hx_exports["xrfragment"] || {}; -var $estr = function() { return js_Boot.__string_rec(this,''); },$hxEnums = $hxEnums || {},$_; -function $extend(from, fields) { - var proto = Object.create(from); - for (var name in fields) proto[name] = fields[name]; - if( fields.toString !== Object.prototype.toString ) proto.toString = fields.toString; - return proto; -} -var EReg = function(r,opt) { - this.r = new RegExp(r,opt.split("u").join("")); -}; -EReg.__name__ = true; -EReg.prototype = { - match: function(s) { - if(this.r.global) { - this.r.lastIndex = 0; - } - this.r.m = this.r.exec(s); - this.r.s = s; - return this.r.m != null; - } - ,matched: function(n) { - if(this.r.m != null && n >= 0 && n < this.r.m.length) { - return this.r.m[n]; - } else { - throw haxe_Exception.thrown("EReg::matched"); - } - } - ,matchedRight: function() { - if(this.r.m == null) { - throw haxe_Exception.thrown("No string matched"); - } - var sz = this.r.m.index + this.r.m[0].length; - return HxOverrides.substr(this.r.s,sz,this.r.s.length - sz); - } - ,matchedPos: function() { - if(this.r.m == null) { - throw haxe_Exception.thrown("No string matched"); - } - return { pos : this.r.m.index, len : this.r.m[0].length}; - } - ,split: function(s) { - var d = "#__delim__#"; - return s.replace(this.r,d).split(d); - } -}; -var HxOverrides = function() { }; -HxOverrides.__name__ = true; -HxOverrides.cca = function(s,index) { - var x = s.charCodeAt(index); - if(x != x) { - return undefined; - } - return x; -}; -HxOverrides.substr = function(s,pos,len) { - if(len == null) { - len = s.length; - } else if(len < 0) { - if(pos == 0) { - len = s.length + len; - } else { - return ""; - } - } - return s.substr(pos,len); -}; -HxOverrides.now = function() { - return Date.now(); -}; -Math.__name__ = true; -var Reflect = function() { }; -Reflect.__name__ = true; -Reflect.field = function(o,field) { - try { - return o[field]; - } catch( _g ) { - return null; - } -}; -Reflect.getProperty = function(o,field) { - var tmp; - if(o == null) { - return null; - } else { - var tmp1; - if(o.__properties__) { - tmp = o.__properties__["get_" + field]; - tmp1 = tmp; - } else { - tmp1 = false; - } - if(tmp1) { - return o[tmp](); - } else { - return o[field]; - } - } -}; -Reflect.fields = function(o) { - var a = []; - if(o != null) { - var hasOwnProperty = Object.prototype.hasOwnProperty; - for( var f in o ) { - if(f != "__id__" && f != "hx__closures__" && hasOwnProperty.call(o,f)) { - a.push(f); - } - } - } - return a; -}; -Reflect.isObject = function(v) { - if(v == null) { - return false; - } - var t = typeof(v); - if(!(t == "string" || t == "object" && v.__enum__ == null)) { - if(t == "function") { - return (v.__name__ || v.__ename__) != null; - } else { - return false; - } - } else { - return true; - } -}; -Reflect.deleteField = function(o,field) { - if(!Object.prototype.hasOwnProperty.call(o,field)) { - return false; - } - delete(o[field]); - return true; -}; -Reflect.copy = function(o) { - if(o == null) { - return null; - } - var o2 = { }; - var _g = 0; - var _g1 = Reflect.fields(o); - while(_g < _g1.length) { - var f = _g1[_g]; - ++_g; - o2[f] = Reflect.field(o,f); - } - return o2; -}; -var Std = function() { }; -Std.__name__ = true; -Std.string = function(s) { - return js_Boot.__string_rec(s,""); -}; -Std.parseInt = function(x) { - var v = parseInt(x); - if(isNaN(v)) { - return null; - } - return v; -}; -var StringBuf = function() { - this.b = ""; -}; -StringBuf.__name__ = true; -var StringTools = function() { }; -StringTools.__name__ = true; -StringTools.isSpace = function(s,pos) { - var c = HxOverrides.cca(s,pos); - if(!(c > 8 && c < 14)) { - return c == 32; - } else { - return true; - } -}; -StringTools.ltrim = function(s) { - var l = s.length; - var r = 0; - while(r < l && StringTools.isSpace(s,r)) ++r; - if(r > 0) { - return HxOverrides.substr(s,r,l - r); - } else { - return s; - } -}; -StringTools.rtrim = function(s) { - var l = s.length; - var r = 0; - while(r < l && StringTools.isSpace(s,l - r - 1)) ++r; - if(r > 0) { - return HxOverrides.substr(s,0,l - r); - } else { - return s; - } -}; -StringTools.trim = function(s) { - return StringTools.ltrim(StringTools.rtrim(s)); -}; -StringTools.replace = function(s,sub,by) { - return s.split(sub).join(by); -}; -var haxe_Exception = function(message,previous,native) { - Error.call(this,message); - this.message = message; - this.__previousException = previous; - this.__nativeException = native != null ? native : this; -}; -haxe_Exception.__name__ = true; -haxe_Exception.caught = function(value) { - if(((value) instanceof haxe_Exception)) { - return value; - } else if(((value) instanceof Error)) { - return new haxe_Exception(value.message,null,value); - } else { - return new haxe_ValueException(value,null,value); - } -}; -haxe_Exception.thrown = function(value) { - if(((value) instanceof haxe_Exception)) { - return value.get_native(); - } else if(((value) instanceof Error)) { - return value; - } else { - var e = new haxe_ValueException(value); - return e; - } -}; -haxe_Exception.__super__ = Error; -haxe_Exception.prototype = $extend(Error.prototype,{ - unwrap: function() { - return this.__nativeException; - } - ,get_native: function() { - return this.__nativeException; - } - ,__properties__: {get_native:"get_native"} -}); -var haxe__$Template_TemplateExpr = $hxEnums["haxe._Template.TemplateExpr"] = { __ename__:true,__constructs__:null - ,OpVar: ($_=function(v) { return {_hx_index:0,v:v,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpVar",$_.__params__ = ["v"],$_) - ,OpExpr: ($_=function(expr) { return {_hx_index:1,expr:expr,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpExpr",$_.__params__ = ["expr"],$_) - ,OpIf: ($_=function(expr,eif,eelse) { return {_hx_index:2,expr:expr,eif:eif,eelse:eelse,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpIf",$_.__params__ = ["expr","eif","eelse"],$_) - ,OpStr: ($_=function(str) { return {_hx_index:3,str:str,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpStr",$_.__params__ = ["str"],$_) - ,OpBlock: ($_=function(l) { return {_hx_index:4,l:l,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpBlock",$_.__params__ = ["l"],$_) - ,OpForeach: ($_=function(expr,loop) { return {_hx_index:5,expr:expr,loop:loop,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpForeach",$_.__params__ = ["expr","loop"],$_) - ,OpMacro: ($_=function(name,params) { return {_hx_index:6,name:name,params:params,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpMacro",$_.__params__ = ["name","params"],$_) -}; -haxe__$Template_TemplateExpr.__constructs__ = [haxe__$Template_TemplateExpr.OpVar,haxe__$Template_TemplateExpr.OpExpr,haxe__$Template_TemplateExpr.OpIf,haxe__$Template_TemplateExpr.OpStr,haxe__$Template_TemplateExpr.OpBlock,haxe__$Template_TemplateExpr.OpForeach,haxe__$Template_TemplateExpr.OpMacro]; -var haxe_iterators_ArrayIterator = function(array) { - this.current = 0; - this.array = array; -}; -haxe_iterators_ArrayIterator.__name__ = true; -haxe_iterators_ArrayIterator.prototype = { - hasNext: function() { - return this.current < this.array.length; - } - ,next: function() { - return this.array[this.current++]; - } -}; -var haxe_Template = function(str) { - var tokens = this.parseTokens(str); - this.expr = this.parseBlock(tokens); - if(!tokens.isEmpty()) { - throw haxe_Exception.thrown("Unexpected '" + Std.string(tokens.first().s) + "'"); - } -}; -haxe_Template.__name__ = true; -haxe_Template.prototype = { - execute: function(context,macros) { - this.macros = macros == null ? { } : macros; - this.context = context; - this.stack = new haxe_ds_List(); - this.buf = new StringBuf(); - this.run(this.expr); - return this.buf.b; - } - ,resolve: function(v) { - if(v == "__current__") { - return this.context; - } - if(Reflect.isObject(this.context)) { - var value = Reflect.getProperty(this.context,v); - if(value != null || Object.prototype.hasOwnProperty.call(this.context,v)) { - return value; - } - } - var _g_head = this.stack.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var ctx = val; - var value = Reflect.getProperty(ctx,v); - if(value != null || Object.prototype.hasOwnProperty.call(ctx,v)) { - return value; - } - } - return Reflect.field(haxe_Template.globals,v); - } - ,parseTokens: function(data) { - var tokens = new haxe_ds_List(); - while(haxe_Template.splitter.match(data)) { - var p = haxe_Template.splitter.matchedPos(); - if(p.pos > 0) { - tokens.add({ p : HxOverrides.substr(data,0,p.pos), s : true, l : null}); - } - if(HxOverrides.cca(data,p.pos) == 58) { - tokens.add({ p : HxOverrides.substr(data,p.pos + 2,p.len - 4), s : false, l : null}); - data = haxe_Template.splitter.matchedRight(); - continue; - } - var parp = p.pos + p.len; - var npar = 1; - var params = []; - var part = ""; - while(true) { - var c = HxOverrides.cca(data,parp); - ++parp; - if(c == 40) { - ++npar; - } else if(c == 41) { - --npar; - if(npar <= 0) { - break; - } - } else if(c == null) { - throw haxe_Exception.thrown("Unclosed macro parenthesis"); - } - if(c == 44 && npar == 1) { - params.push(part); - part = ""; - } else { - part += String.fromCodePoint(c); - } - } - params.push(part); - tokens.add({ p : haxe_Template.splitter.matched(2), s : false, l : params}); - data = HxOverrides.substr(data,parp,data.length - parp); - } - if(data.length > 0) { - tokens.add({ p : data, s : true, l : null}); - } - return tokens; - } - ,parseBlock: function(tokens) { - var l = new haxe_ds_List(); - while(true) { - var t = tokens.first(); - if(t == null) { - break; - } - if(!t.s && (t.p == "end" || t.p == "else" || HxOverrides.substr(t.p,0,7) == "elseif ")) { - break; - } - l.add(this.parse(tokens)); - } - if(l.length == 1) { - return l.first(); - } - return haxe__$Template_TemplateExpr.OpBlock(l); - } - ,parse: function(tokens) { - var t = tokens.pop(); - var p = t.p; - if(t.s) { - return haxe__$Template_TemplateExpr.OpStr(p); - } - if(t.l != null) { - var pe = new haxe_ds_List(); - var _g = 0; - var _g1 = t.l; - while(_g < _g1.length) { - var p1 = _g1[_g]; - ++_g; - pe.add(this.parseBlock(this.parseTokens(p1))); - } - return haxe__$Template_TemplateExpr.OpMacro(p,pe); - } - var kwdEnd = function(kwd) { - var pos = -1; - var length = kwd.length; - if(HxOverrides.substr(p,0,length) == kwd) { - pos = length; - var _g_offset = 0; - var _g_s = HxOverrides.substr(p,length,null); - while(_g_offset < _g_s.length) { - var c = _g_s.charCodeAt(_g_offset++); - if(c == 32) { - ++pos; - } else { - break; - } - } - } - return pos; - }; - var pos = kwdEnd("if"); - if(pos > 0) { - p = HxOverrides.substr(p,pos,p.length - pos); - var e = this.parseExpr(p); - var eif = this.parseBlock(tokens); - var t = tokens.first(); - var eelse; - if(t == null) { - throw haxe_Exception.thrown("Unclosed 'if'"); - } - if(t.p == "end") { - tokens.pop(); - eelse = null; - } else if(t.p == "else") { - tokens.pop(); - eelse = this.parseBlock(tokens); - t = tokens.pop(); - if(t == null || t.p != "end") { - throw haxe_Exception.thrown("Unclosed 'else'"); - } - } else { - t.p = HxOverrides.substr(t.p,4,t.p.length - 4); - eelse = this.parse(tokens); - } - return haxe__$Template_TemplateExpr.OpIf(e,eif,eelse); - } - var pos = kwdEnd("foreach"); - if(pos >= 0) { - p = HxOverrides.substr(p,pos,p.length - pos); - var e = this.parseExpr(p); - var efor = this.parseBlock(tokens); - var t = tokens.pop(); - if(t == null || t.p != "end") { - throw haxe_Exception.thrown("Unclosed 'foreach'"); - } - return haxe__$Template_TemplateExpr.OpForeach(e,efor); - } - if(haxe_Template.expr_splitter.match(p)) { - return haxe__$Template_TemplateExpr.OpExpr(this.parseExpr(p)); - } - return haxe__$Template_TemplateExpr.OpVar(p); - } - ,parseExpr: function(data) { - var l = new haxe_ds_List(); - var expr = data; - while(haxe_Template.expr_splitter.match(data)) { - var p = haxe_Template.expr_splitter.matchedPos(); - var k = p.pos + p.len; - if(p.pos != 0) { - l.add({ p : HxOverrides.substr(data,0,p.pos), s : true}); - } - var p1 = haxe_Template.expr_splitter.matched(0); - l.add({ p : p1, s : p1.indexOf("\"") >= 0}); - data = haxe_Template.expr_splitter.matchedRight(); - } - if(data.length != 0) { - var _g_offset = 0; - var _g_s = data; - while(_g_offset < _g_s.length) { - var _g_key = _g_offset; - var _g_value = _g_s.charCodeAt(_g_offset++); - var i = _g_key; - var c = _g_value; - if(c != 32) { - l.add({ p : HxOverrides.substr(data,i,null), s : true}); - break; - } - } - } - var e; - try { - e = this.makeExpr(l); - if(!l.isEmpty()) { - throw haxe_Exception.thrown(l.first().p); - } - } catch( _g ) { - var _g1 = haxe_Exception.caught(_g).unwrap(); - if(typeof(_g1) == "string") { - var s = _g1; - throw haxe_Exception.thrown("Unexpected '" + s + "' in " + expr); - } else { - throw _g; - } - } - return function() { - try { - return e(); - } catch( _g ) { - var exc = haxe_Exception.caught(_g).unwrap(); - throw haxe_Exception.thrown("Error : " + Std.string(exc) + " in " + expr); - } - }; - } - ,makeConst: function(v) { - haxe_Template.expr_trim.match(v); - v = haxe_Template.expr_trim.matched(1); - if(HxOverrides.cca(v,0) == 34) { - var str = HxOverrides.substr(v,1,v.length - 2); - return function() { - return str; - }; - } - if(haxe_Template.expr_int.match(v)) { - var i = Std.parseInt(v); - return function() { - return i; - }; - } - if(haxe_Template.expr_float.match(v)) { - var f = parseFloat(v); - return function() { - return f; - }; - } - var me = this; - return function() { - return me.resolve(v); - }; - } - ,makePath: function(e,l) { - var p = l.first(); - if(p == null || p.p != ".") { - return e; - } - l.pop(); - var field = l.pop(); - if(field == null || !field.s) { - throw haxe_Exception.thrown(field.p); - } - var f = field.p; - haxe_Template.expr_trim.match(f); - f = haxe_Template.expr_trim.matched(1); - return this.makePath(function() { - return Reflect.field(e(),f); - },l); - } - ,makeExpr: function(l) { - return this.makePath(this.makeExpr2(l),l); - } - ,skipSpaces: function(l) { - var p = l.first(); - while(p != null) { - var _g_offset = 0; - var _g_s = p.p; - while(_g_offset < _g_s.length) { - var c = _g_s.charCodeAt(_g_offset++); - if(c != 32) { - return; - } - } - l.pop(); - p = l.first(); - } - } - ,makeExpr2: function(l) { - this.skipSpaces(l); - var p = l.pop(); - this.skipSpaces(l); - if(p == null) { - throw haxe_Exception.thrown(""); - } - if(p.s) { - return this.makeConst(p.p); - } - switch(p.p) { - case "!": - var e = this.makeExpr(l); - return function() { - var v = e(); - if(v != null) { - return v == false; - } else { - return true; - } - }; - case "(": - this.skipSpaces(l); - var e1 = this.makeExpr(l); - this.skipSpaces(l); - var p1 = l.pop(); - if(p1 == null || p1.s) { - throw haxe_Exception.thrown(p1); - } - if(p1.p == ")") { - return e1; - } - this.skipSpaces(l); - var e2 = this.makeExpr(l); - this.skipSpaces(l); - var p2 = l.pop(); - this.skipSpaces(l); - if(p2 == null || p2.p != ")") { - throw haxe_Exception.thrown(p2); - } - switch(p1.p) { - case "!=": - return function() { - return e1() != e2(); - }; - case "&&": - return function() { - return e1() && e2(); - }; - case "*": - return function() { - return e1() * e2(); - }; - case "+": - return function() { - return e1() + e2(); - }; - case "-": - return function() { - return e1() - e2(); - }; - case "/": - return function() { - return e1() / e2(); - }; - case "<": - return function() { - return e1() < e2(); - }; - case "<=": - return function() { - return e1() <= e2(); - }; - case "==": - return function() { - return e1() == e2(); - }; - case ">": - return function() { - return e1() > e2(); - }; - case ">=": - return function() { - return e1() >= e2(); - }; - case "||": - return function() { - return e1() || e2(); - }; - default: - throw haxe_Exception.thrown("Unknown operation " + p1.p); - } - break; - case "-": - var e3 = this.makeExpr(l); - return function() { - return -e3(); - }; - } - throw haxe_Exception.thrown(p.p); - } - ,run: function(e) { - switch(e._hx_index) { - case 0: - var v = e.v; - var _this = this.buf; - var x = Std.string(this.resolve(v)); - _this.b += Std.string(x); - break; - case 1: - var e1 = e.expr; - var _this = this.buf; - var x = Std.string(e1()); - _this.b += Std.string(x); - break; - case 2: - var e1 = e.expr; - var eif = e.eif; - var eelse = e.eelse; - var v = e1(); - if(v == null || v == false) { - if(eelse != null) { - this.run(eelse); - } - } else { - this.run(eif); - } - break; - case 3: - var str = e.str; - this.buf.b += str == null ? "null" : "" + str; - break; - case 4: - var l = e.l; - var _g_head = l.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var e1 = val; - this.run(e1); - } - break; - case 5: - var e1 = e.expr; - var loop = e.loop; - var v = e1(); - try { - var x = $getIterator(v); - if(x.hasNext == null) { - throw haxe_Exception.thrown(null); - } - v = x; - } catch( _g ) { - try { - if(v.hasNext == null) { - throw haxe_Exception.thrown(null); - } - } catch( _g1 ) { - throw haxe_Exception.thrown("Cannot iter on " + Std.string(v)); - } - } - this.stack.push(this.context); - var v1 = v; - var ctx = v1; - while(ctx.hasNext()) { - var ctx1 = ctx.next(); - this.context = ctx1; - this.run(loop); - } - this.context = this.stack.pop(); - break; - case 6: - var m = e.name; - var params = e.params; - var v = Reflect.field(this.macros,m); - var pl = []; - var old = this.buf; - pl.push($bind(this,this.resolve)); - var _g_head = params.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var p = val; - if(p._hx_index == 0) { - var v1 = p.v; - pl.push(this.resolve(v1)); - } else { - this.buf = new StringBuf(); - this.run(p); - pl.push(this.buf.b); - } - } - this.buf = old; - try { - var _this = this.buf; - var x = Std.string(v.apply(this.macros,pl)); - _this.b += Std.string(x); - } catch( _g ) { - var e = haxe_Exception.caught(_g).unwrap(); - var plstr; - try { - plstr = pl.join(","); - } catch( _g1 ) { - plstr = "???"; - } - var msg = "Macro call " + m + "(" + plstr + ") failed (" + Std.string(e) + ")"; - throw haxe_Exception.thrown(msg); - } - break; - } - } -}; -var haxe_ValueException = function(value,previous,native) { - haxe_Exception.call(this,String(value),previous,native); - this.value = value; -}; -haxe_ValueException.__name__ = true; -haxe_ValueException.__super__ = haxe_Exception; -haxe_ValueException.prototype = $extend(haxe_Exception.prototype,{ - unwrap: function() { - return this.value; - } -}); -var haxe_ds_List = function() { - this.length = 0; -}; -haxe_ds_List.__name__ = true; -haxe_ds_List.prototype = { - add: function(item) { - var x = new haxe_ds__$List_ListNode(item,null); - if(this.h == null) { - this.h = x; - } else { - this.q.next = x; - } - this.q = x; - this.length++; - } - ,push: function(item) { - var x = new haxe_ds__$List_ListNode(item,this.h); - this.h = x; - if(this.q == null) { - this.q = x; - } - this.length++; - } - ,first: function() { - if(this.h == null) { - return null; - } else { - return this.h.item; - } - } - ,pop: function() { - if(this.h == null) { - return null; - } - var x = this.h.item; - this.h = this.h.next; - if(this.h == null) { - this.q = null; - } - this.length--; - return x; - } - ,isEmpty: function() { - return this.h == null; - } - ,toString: function() { - var s_b = ""; - var first = true; - var l = this.h; - s_b += "{"; - while(l != null) { - if(first) { - first = false; - } else { - s_b += ", "; - } - s_b += Std.string(Std.string(l.item)); - l = l.next; - } - s_b += "}"; - return s_b; - } -}; -var haxe_ds__$List_ListNode = function(item,next) { - this.item = item; - this.next = next; -}; -haxe_ds__$List_ListNode.__name__ = true; -var js_Boot = function() { }; -js_Boot.__name__ = true; -js_Boot.__string_rec = function(o,s) { - if(o == null) { - return "null"; - } - if(s.length >= 5) { - return "<...>"; - } - var t = typeof(o); - if(t == "function" && (o.__name__ || o.__ename__)) { - t = "object"; - } - switch(t) { - case "function": - return ""; - case "object": - if(o.__enum__) { - var e = $hxEnums[o.__enum__]; - var con = e.__constructs__[o._hx_index]; - var n = con._hx_name; - if(con.__params__) { - s = s + "\t"; - return n + "(" + ((function($this) { - var $r; - var _g = []; - { - var _g1 = 0; - var _g2 = con.__params__; - while(true) { - if(!(_g1 < _g2.length)) { - break; - } - var p = _g2[_g1]; - _g1 = _g1 + 1; - _g.push(js_Boot.__string_rec(o[p],s)); - } - } - $r = _g; - return $r; - }(this))).join(",") + ")"; - } else { - return n; - } - } - if(((o) instanceof Array)) { - var str = "["; - s += "\t"; - var _g = 0; - var _g1 = o.length; - while(_g < _g1) { - var i = _g++; - str += (i > 0 ? "," : "") + js_Boot.__string_rec(o[i],s); - } - str += "]"; - return str; - } - var tostr; - try { - tostr = o.toString; - } catch( _g ) { - return "???"; - } - if(tostr != null && tostr != Object.toString && typeof(tostr) == "function") { - var s2 = o.toString(); - if(s2 != "[object Object]") { - return s2; - } - } - var str = "{\n"; - s += "\t"; - var hasp = o.hasOwnProperty != null; - var k = null; - for( k in o ) { - if(hasp && !o.hasOwnProperty(k)) { - continue; - } - if(k == "prototype" || k == "__class__" || k == "__super__" || k == "__interfaces__" || k == "__properties__") { - continue; - } - if(str.length != 2) { - str += ", \n"; - } - str += s + k + " : " + js_Boot.__string_rec(o[k],s); - } - s = s.substring(1); - str += "\n" + s + "}"; - return str; - case "string": - return o; - default: - return String(o); - } -}; -var xrfragment_Filter = $hx_exports["xrfragment"]["Filter"] = function(str) { - this.q = { }; - this.str = ""; - if(str != null) { - this.parse(str); - } -}; -xrfragment_Filter.__name__ = true; -xrfragment_Filter.prototype = { - toObject: function() { - return Reflect.copy(this.q); - } - ,get: function() { - return Reflect.copy(this.q); - } - ,parse: function(str) { - var token = str.split(" "); - var q = { }; - var process = function(str,prefix) { - if(prefix == null) { - prefix = ""; - } - str = StringTools.trim(str); - var k = str.split("=")[0]; - var v = str.split("=")[1]; - var filter = { }; - if(q[prefix + k]) { - filter = q[prefix + k]; - } - if(xrfragment_XRF.isProp.match(str)) { - var oper = ""; - if(str.indexOf(">") != -1) { - oper = ">"; - } - if(str.indexOf("<") != -1) { - oper = "<"; - } - if(xrfragment_XRF.isExclude.match(k)) { - k = HxOverrides.substr(k,1,null); - } - v = HxOverrides.substr(v,oper.length,null); - if(oper.length == 0) { - oper = "="; - } - var rule = { }; - if(xrfragment_XRF.isNumber.match(v)) { - rule[oper] = parseFloat(v); - } else { - rule[oper] = v; - } - q["expr"] = rule; - } - var value = xrfragment_XRF.isDeep.match(str) ? k.split("*").length - 1 : 0; - q["deep"] = value; - var value = xrfragment_XRF.isExclude.match(str) ? false : true; - q["show"] = value; - var value = k.replace(xrfragment_XRF.operators.r,""); - q["key"] = value; - q["value"] = v; - }; - var _g = 0; - var _g1 = token.length; - while(_g < _g1) { - var i = _g++; - process(token[i]); - } - return this.q = q; - } - ,test: function(obj) { - var qualify = false; - var _g = 0; - var _g1 = Reflect.fields(obj); - while(_g < _g1.length) { - var k = _g1[_g]; - ++_g; - var v = Std.string(Reflect.field(obj,k)); - if(this.testProperty(k,v)) { - qualify = true; - } - } - var _g = 0; - var _g1 = Reflect.fields(obj); - while(_g < _g1.length) { - var k = _g1[_g]; - ++_g; - var v = Std.string(Reflect.field(obj,k)); - if(this.testProperty(k,v,true)) { - qualify = false; - } - } - return qualify; - } - ,testProperty: function(property,value,exclude) { - var conds = 0; - var fails = 0; - var qualify = 0; - var testprop = function(expr) { - conds += 1; - fails += expr ? 0 : 1; - return expr; - }; - if(this.q[value] != null) { - var v = this.q[value]; - if(v[property] != null) { - return v[property]; - } - } - if(Reflect.field(this.q,"expr")) { - var f = Reflect.field(this.q,"expr"); - if(!Reflect.field(this.q,"show")) { - if(Reflect.field(f,"!=") != null && testprop((value == null ? "null" : "" + value) == Std.string(Reflect.field(f,"!="))) && exclude) { - ++qualify; - } - } else { - if(Reflect.field(f,"*") != null && testprop(parseFloat(value) != null)) { - ++qualify; - } - if(Reflect.field(f,">") != null && testprop(parseFloat(value) >= parseFloat(Reflect.field(f,">")))) { - ++qualify; - } - if(Reflect.field(f,"<") != null && testprop(parseFloat(value) <= parseFloat(Reflect.field(f,"<")))) { - ++qualify; - } - if(Reflect.field(f,"=") != null && (testprop(value == Reflect.field(f,"=")) || testprop(parseFloat(value) == parseFloat(Reflect.field(f,"="))))) { - ++qualify; - } - } - } - return qualify > 0; - } -}; -var xrfragment_Parser = $hx_exports["xrfragment"]["Parser"] = function() { }; -xrfragment_Parser.__name__ = true; -xrfragment_Parser.parse = function(key,value,store,index) { - var Frag_h = Object.create(null); - Frag_h["#"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_PREDEFINED_VIEW | xrfragment_XRF.PV_EXECUTE; - Frag_h["src"] = xrfragment_XRF.T_URL; - Frag_h["href"] = xrfragment_XRF.T_URL | xrfragment_XRF.T_PREDEFINED_VIEW; - Frag_h["tag"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["pos"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_VECTOR3 | xrfragment_XRF.T_STRING | xrfragment_XRF.METADATA | xrfragment_XRF.NAVIGATOR; - Frag_h["rot"] = xrfragment_XRF.QUERY_OPERATOR | xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_VECTOR3 | xrfragment_XRF.METADATA | xrfragment_XRF.NAVIGATOR; - Frag_h["t"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_FLOAT | xrfragment_XRF.T_VECTOR2 | xrfragment_XRF.NAVIGATOR | xrfragment_XRF.METADATA; - Frag_h["s"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_MEDIAFRAG; - Frag_h["loop"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_PREDEFINED_VIEW; - Frag_h["uv"] = xrfragment_XRF.T_VECTOR2 | xrfragment_XRF.T_MEDIAFRAG; - Frag_h["namespace"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["SPDX"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["unit"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["description"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - var keyStripped = key.replace(xrfragment_XRF.operators.r,""); - var isPVDynamic = key.length > 0 && !Object.prototype.hasOwnProperty.call(Frag_h,key); - if(isPVDynamic) { - var v = new xrfragment_XRF(key,xrfragment_XRF.PV_EXECUTE | xrfragment_XRF.NAVIGATOR,index); - v.validate(value); - v.flags = xrfragment_XRF.set(xrfragment_XRF.T_DYNAMICKEY,v.flags); - if(!Object.prototype.hasOwnProperty.call(Frag_h,key)) { - v.flags = xrfragment_XRF.set(xrfragment_XRF.CUSTOMFRAG,v.flags); - } - if(value.length == 0) { - v.flags = xrfragment_XRF.set(xrfragment_XRF.T_DYNAMICKEYVALUE,v.flags); - } - store[keyStripped] = v; - return true; - } - var v = new xrfragment_XRF(key,Frag_h[key],index); - if(Object.prototype.hasOwnProperty.call(Frag_h,key)) { - if(!v.validate(value)) { - console.log("src/xrfragment/Parser.hx:67:","⚠ fragment '" + key + "' has incompatible value (" + value + ")"); - return false; - } - store[keyStripped] = v; - if(xrfragment_Parser.debug) { - console.log("src/xrfragment/Parser.hx:71:","✔ " + key + ": " + v.string); - } - } else { - if(typeof(value) == "string") { - v.guessType(v,value); - } - v.flags = xrfragment_XRF.set(xrfragment_XRF.CUSTOMFRAG,v.flags); - store[keyStripped] = v; - } - return true; -}; -xrfragment_Parser.getMetaData = function() { - var meta = { title : ["title","og:title","dc.title"], description : ["aria-description","og:description","dc.description"], author : ["author","dc.creator"], publisher : ["publisher","dc.publisher"], website : ["og:site_name","og:url","dc.publisher"], license : ["SPDX","dc.rights"]}; - return meta; -}; -var xrfragment_URI = $hx_exports["xrfragment"]["URI"] = function() { - this.XRF = { }; - this.hash = { }; - this.fragment = ""; -}; -xrfragment_URI.__name__ = true; -xrfragment_URI.parseFragment = function(url,filter) { - var store = { }; - if(url == null || url.indexOf("#") == -1) { - return store; - } - var fragment = url.split("#"); - var splitArray = fragment[1].split("&"); - var _g = 0; - var _g1 = splitArray.length; - while(_g < _g1) { - var i = _g++; - var splitByEqual = splitArray[i].split("="); - var regexPlus = new EReg("\\+","g"); - var key = splitByEqual[0]; - var value = ""; - if(splitByEqual.length > 1) { - if(xrfragment_XRF.isVector.match(splitByEqual[1])) { - value = splitByEqual[1]; - } else { - var s = regexPlus.split(splitByEqual[1]).join(" "); - value = decodeURIComponent(s.split("+").join(" ")); - } - } - var ok = xrfragment_Parser.parse(key,value,store,i); - } - if(filter != null && filter != 0) { - var _g = 0; - var _g1 = Reflect.fields(store); - while(_g < _g1.length) { - var key = _g1[_g]; - ++_g; - var xrf = store[key]; - if(!xrf.is(filter)) { - Reflect.deleteField(store,key); - } - } - } - return store; -}; -xrfragment_URI.template = function(uri,vars) { - var parts = uri.split("#"); - if(parts.length == 1) { - return uri; - } - var frag = parts[1]; - frag = StringTools.replace(frag,"{","::"); - frag = StringTools.replace(frag,"}","::"); - frag = new haxe_Template(frag).execute(vars); - frag = StringTools.replace(frag,"null",""); - parts[1] = frag; - return parts.join("#"); -}; -xrfragment_URI.parse = function(stringUrl,flags) { - var r = new EReg("^(?:(?![^:@]+:[^:@/]*@)([^:/?#.]+):)?(?://)?((?:(([^:@]*)(?::([^:@]*))?)?@)?([^:/?#]*)(?::(\\d*))?)(((/(?:[^?#](?![^?#/]*\\.[^?#/.]+(?:[?#]|$)))*/?)?([^?#/]*))(?:\\?([^#]*))?(?:#(.*))?)",""); - if(stringUrl.indexOf("://") == -1 && stringUrl.charAt(0) != "/") { - stringUrl = "/" + stringUrl; - } - r.match(stringUrl); - var url = new xrfragment_URI(); - var _g = 0; - var _g1 = xrfragment_URI._parts.length; - while(_g < _g1) { - var i = _g++; - url[xrfragment_URI._parts[i]] = r.matched(i); - } - if(xrfragment_URI.isRelative(url) == true) { - if(url.directory == null && url.host != null) { - url.file = url.host; - } - url.host = ""; - } - url.hash = { }; - if(url.fragment != null && url.fragment.length > 0) { - url.XRF = xrfragment_URI.parseFragment("#" + url.fragment,flags); - var key; - var _g = 0; - var _g1 = Reflect.fields(url.XRF); - while(_g < _g1.length) { - var key = _g1[_g]; - ++_g; - var v = url.XRF[key]; - url.hash[key] = v["string"]; - } - } - xrfragment_URI.computeVars(url); - return url; -}; -xrfragment_URI.computeVars = function(url) { - var r_r = new RegExp("//","g".split("u").join("")); - if(url.directory != null && url.directory.indexOf("//") != -1) { - url.directory = url.directory.replace(r_r,"/"); - } - if(url.path != null && url.path.indexOf("//") != -1) { - url.path = url.path.replace(r_r,"/"); - } - if(url.file != null && url.file.indexOf("//") != -1) { - url.file = url.file.replace(r_r,"/"); - } - url.URN = url.scheme + "://" + url.host; - if(url.port != null) { - url.URN += ":" + url.port; - } - url.URN += url.directory; - if(url.file != null) { - var parts = url.file.split("."); - if(parts.length > 1) { - url.fileExt = parts.pop(); - } - } -}; -xrfragment_URI.toString = function(url) { - var result = ""; - if(url.scheme != null) { - result += url.scheme + "://"; - } - if(url.user != null) { - result += url.user + ":"; - } - if(url.password != null) { - result += url.password + "@"; - } - if(url.host != null) { - result += url.host; - } - if(url.port != null) { - result += ":" + url.port; - } - if(url.directory != null) { - result += url.directory; - } - if(url.file != null) { - result += url.file; - } - if(url.query != null) { - result += "?" + url.query; - } - if(url.fragment != null) { - result += "#" + url.fragment; - } - return result; -}; -xrfragment_URI.appendURI = function(url,appendedURI) { - if(xrfragment_URI.isRelative(url) == true) { - return xrfragment_URI.appendToRelativeURI(url,appendedURI); - } else { - return xrfragment_URI.appendToAbsoluteURI(url,appendedURI); - } -}; -xrfragment_URI.isRelative = function(url) { - return url.scheme == null; -}; -xrfragment_URI.appendToRelativeURI = function(url,appendedURI) { - if(url.directory == null || url.host == null) { - return xrfragment_URI.cloneURI(appendedURI); - } - var resultURI = new xrfragment_URI(); - resultURI.host = url.host; - resultURI.directory = url.directory; - if(appendedURI.host != null) { - resultURI.directory += appendedURI.host; - } - if(appendedURI.directory != null) { - var directory = appendedURI.directory; - if(appendedURI.host == null) { - resultURI.directory += HxOverrides.substr(directory,1,null); - } else { - resultURI.directory += directory; - } - } - if(appendedURI.file != null) { - resultURI.file = appendedURI.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(appendedURI.query != null) { - resultURI.query = appendedURI.query; - } - if(appendedURI.fragment != null) { - resultURI.fragment = appendedURI.fragment; - } - return resultURI; -}; -xrfragment_URI.appendToAbsoluteURI = function(url,appendedURI) { - var resultURI = new xrfragment_URI(); - if(url.scheme != null) { - resultURI.scheme = url.scheme; - } - if(url.host != null) { - resultURI.host = url.host; - } - var directory = ""; - if(url.directory != null) { - directory = url.directory; - } - if(appendedURI.host != null) { - appendedURI.directory += appendedURI.host; - } - if(appendedURI.directory != null) { - directory += appendedURI.directory; - } - resultURI.directory = directory; - if(appendedURI.file != null) { - resultURI.file = appendedURI.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(appendedURI.query != null) { - resultURI.query = appendedURI.query; - } - if(appendedURI.fragment != null) { - resultURI.fragment = appendedURI.fragment; - } - return resultURI; -}; -xrfragment_URI.toAbsolute = function(url,newUrl) { - var newURI = xrfragment_URI.parse(newUrl,0); - var resultURI = new xrfragment_URI(); - resultURI.port = url.port; - resultURI.source = newUrl; - if(newURI.scheme != null) { - resultURI.scheme = newURI.scheme; - } else { - resultURI.scheme = url.scheme; - } - if(newURI.host != null && newURI.host.length > 0) { - resultURI.host = newURI.host; - resultURI.port = null; - resultURI.fragment = null; - resultURI.hash = { }; - resultURI.XRF = { }; - if(newURI.port != null) { - resultURI.port = newURI.port; - } - } else { - resultURI.host = url.host; - } - var directory = ""; - if(url.directory != null) { - directory = url.directory; - } - if(newURI.directory != null) { - if(newUrl.charAt(0) != "/" && newUrl.indexOf("://") == -1) { - var stripRelative_r = new RegExp("\\./.*","".split("u").join("")); - directory = directory.replace(stripRelative_r,""); - directory += newURI.directory; - } else { - directory = newURI.directory; - } - } - resultURI.directory = directory; - if(newURI.file != null) { - resultURI.file = newURI.file; - } else { - resultURI.file = url.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(newURI.query != null) { - resultURI.query = newURI.query; - } - if(newURI.fragment != null) { - resultURI.fragment = newURI.fragment; - } - resultURI.hash = newURI.hash; - resultURI.XRF = newURI.XRF; - xrfragment_URI.computeVars(resultURI); - return resultURI; -}; -xrfragment_URI.cloneURI = function(url) { - var clonedURI = new xrfragment_URI(); - clonedURI.url = url.url; - clonedURI.source = url.source; - clonedURI.scheme = url.scheme; - clonedURI.authority = url.authority; - clonedURI.userInfo = url.userInfo; - clonedURI.password = url.password; - clonedURI.host = url.host; - clonedURI.port = url.port; - clonedURI.relative = url.relative; - clonedURI.path = url.path; - clonedURI.directory = url.directory; - clonedURI.file = url.file; - clonedURI.query = url.query; - clonedURI.fragment = url.fragment; - return clonedURI; -}; -var xrfragment_XRF = $hx_exports["xrfragment"]["XRF"] = function(_fragment,_flags,_index) { - this.floats = []; - this.shift = []; - this.fragment = _fragment; - this.flags = _flags; - this.index = _index; -}; -xrfragment_XRF.__name__ = true; -xrfragment_XRF.set = function(flag,flags) { - return flags | flag; -}; -xrfragment_XRF.unset = function(flag,flags) { - return flags & ~flag; -}; -xrfragment_XRF.prototype = { - is: function(flag) { - var v = this.flags; - if(!(typeof(v) == "number" && ((v | 0) === v))) { - this.flags = 0; - } - return (this.flags & flag) != 0; - } - ,validate: function(value) { - this.guessType(this,value); - var ok = true; - if(value.length == 0 && !this.is(xrfragment_XRF.T_PREDEFINED_VIEW)) { - ok = false; - } - if(!this.is(xrfragment_XRF.T_FLOAT) && this.is(xrfragment_XRF.T_VECTOR2) && !(typeof(this.x) == "number" && typeof(this.y) == "number")) { - ok = false; - } - if(!(this.is(xrfragment_XRF.T_VECTOR2) || this.is(xrfragment_XRF.T_STRING)) && this.is(xrfragment_XRF.T_VECTOR3) && !(typeof(this.x) == "number" && typeof(this.y) == "number" && typeof(this.z) == "number")) { - ok = false; - } - return ok; - } - ,guessType: function(v,str) { - v.string = str; - if(xrfragment_XRF.isReset.match(v.fragment)) { - v.reset = true; - } - if(v.fragment == "loop") { - v.loop = true; - } - if(typeof(str) != "string") { - return; - } - if(str.length > 0) { - if(xrfragment_XRF.isXRFScheme.match(str)) { - v.xrfScheme = true; - str = str.replace(xrfragment_XRF.isXRFScheme.r,""); - v.string = str; - } - if(str.split(",").length > 1) { - var xyzn = str.split(","); - if(xyzn.length > 0) { - v.x = parseFloat(xyzn[0]); - } - if(xyzn.length > 1) { - v.y = parseFloat(xyzn[1]); - } - if(xyzn.length > 2) { - v.z = parseFloat(xyzn[2]); - } - var _g = 0; - var _g1 = xyzn.length; - while(_g < _g1) { - var i = _g++; - v.shift.push(xrfragment_XRF.isShift.match(xyzn[i])); - v.floats.push(parseFloat(xyzn[i].replace(xrfragment_XRF.isShift.r,""))); - } - } - if(xrfragment_XRF.isColor.match(str)) { - v.color = str; - } - if(xrfragment_XRF.isFloat.match(str)) { - v.x = parseFloat(str); - v.float = v.x; - } - if(xrfragment_XRF.isInt.match(str)) { - v.int = Std.parseInt(str); - v.x = v.int; - v.floats.push(v.x); - } - v.filter = new xrfragment_Filter(v.fragment + "=" + v.string); - } else { - v.filter = new xrfragment_Filter(v.fragment); - } - } -}; -function $getIterator(o) { if( o instanceof Array ) return new haxe_iterators_ArrayIterator(o); else return o.iterator(); } -function $bind(o,m) { if( m == null ) return null; if( m.__id__ == null ) m.__id__ = $global.$haxeUID++; var f; if( o.hx__closures__ == null ) o.hx__closures__ = {}; else f = o.hx__closures__[m.__id__]; if( f == null ) { f = m.bind(o); o.hx__closures__[m.__id__] = f; } return f; } -$global.$haxeUID |= 0; -if(typeof(performance) != "undefined" ? typeof(performance.now) == "function" : false) { - HxOverrides.now = performance.now.bind(performance); -} -if( String.fromCodePoint == null ) String.fromCodePoint = function(c) { return c < 0x10000 ? String.fromCharCode(c) : String.fromCharCode((c>>10)+0xD7C0)+String.fromCharCode((c&0x3FF)+0xDC00); } -String.__name__ = true; -Array.__name__ = true; -js_Boot.__toStr = ({ }).toString; -haxe_Template.splitter = new EReg("(::[A-Za-z0-9_ ()&|!+=/><*.\"-]+::|\\$\\$([A-Za-z0-9_-]+)\\()",""); -haxe_Template.expr_splitter = new EReg("(\\(|\\)|[ \r\n\t]*\"[^\"]*\"[ \r\n\t]*|[!+=/><*.&|-]+)",""); -haxe_Template.expr_trim = new EReg("^[ ]*([^ ]+)[ ]*$",""); -haxe_Template.expr_int = new EReg("^[0-9]+$",""); -haxe_Template.expr_float = new EReg("^([+-]?)(?=\\d|,\\d)\\d*(,\\d*)?([Ee]([+-]?\\d+))?$",""); -haxe_Template.globals = { }; -haxe_Template.hxKeepArrayIterator = new haxe_iterators_ArrayIterator([]); -xrfragment_Parser.error = ""; -xrfragment_Parser.debug = false; -xrfragment_URI.__meta__ = { statics : { template : { keep : null}}}; -xrfragment_URI._parts = ["source","scheme","authority","userInfo","user","password","host","port","relative","path","directory","file","query","fragment"]; -xrfragment_XRF.IMMUTABLE = 1; -xrfragment_XRF.PROP_BIND = 2; -xrfragment_XRF.QUERY_OPERATOR = 4; -xrfragment_XRF.PROMPT = 8; -xrfragment_XRF.CUSTOMFRAG = 16; -xrfragment_XRF.NAVIGATOR = 32; -xrfragment_XRF.METADATA = 64; -xrfragment_XRF.PV_OVERRIDE = 128; -xrfragment_XRF.PV_EXECUTE = 256; -xrfragment_XRF.T_COLOR = 8192; -xrfragment_XRF.T_INT = 16384; -xrfragment_XRF.T_FLOAT = 32768; -xrfragment_XRF.T_VECTOR2 = 65536; -xrfragment_XRF.T_VECTOR3 = 131072; -xrfragment_XRF.T_URL = 262144; -xrfragment_XRF.T_PREDEFINED_VIEW = 524288; -xrfragment_XRF.T_STRING = 1048576; -xrfragment_XRF.T_MEDIAFRAG = 2097152; -xrfragment_XRF.T_DYNAMICKEY = 4194304; -xrfragment_XRF.T_DYNAMICKEYVALUE = 8388608; -xrfragment_XRF.isColor = new EReg("^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$",""); -xrfragment_XRF.isInt = new EReg("^[-0-9]+$",""); -xrfragment_XRF.isFloat = new EReg("^[-0-9]+\\.[0-9]+$",""); -xrfragment_XRF.isVector = new EReg("([,]+|\\w)",""); -xrfragment_XRF.isUrl = new EReg("(://)?\\..*",""); -xrfragment_XRF.isUrlOrPretypedView = new EReg("(^#|://)?\\..*",""); -xrfragment_XRF.isString = new EReg(".*",""); -xrfragment_XRF.operators = new EReg("(^[-]|^[!]|[\\*]$)","g"); -xrfragment_XRF.isProp = new EReg("^.*=[><=]?",""); -xrfragment_XRF.isExclude = new EReg("^-",""); -xrfragment_XRF.isDeep = new EReg("\\*",""); -xrfragment_XRF.isNumber = new EReg("^[0-9\\.]+$",""); -xrfragment_XRF.isMediaFrag = new EReg("^([0-9\\.,\\*+-]+)$",""); -xrfragment_XRF.isReset = new EReg("^!",""); -xrfragment_XRF.isShift = new EReg("^(\\+|--)",""); -xrfragment_XRF.isXRFScheme = new EReg("^xrf://",""); -})(typeof window != "undefined" ? window : typeof global != "undefined" ? global : typeof self != "undefined" ? self : this); -var xrfragment = $hx_exports["xrfragment"]; -export default xrfragment; -// Generated by Haxe 4.3.3 -var $hx_exports = typeof exports != "undefined" ? exports : typeof window != "undefined" ? window : typeof self != "undefined" ? self : this; -(function ($global) { "use strict"; -$hx_exports["xrfragment"] = $hx_exports["xrfragment"] || {}; -var $estr = function() { return js_Boot.__string_rec(this,''); },$hxEnums = $hxEnums || {},$_; -function $extend(from, fields) { - var proto = Object.create(from); - for (var name in fields) proto[name] = fields[name]; - if( fields.toString !== Object.prototype.toString ) proto.toString = fields.toString; - return proto; -} -var EReg = function(r,opt) { - this.r = new RegExp(r,opt.split("u").join("")); -}; -EReg.__name__ = true; -EReg.prototype = { - match: function(s) { - if(this.r.global) { - this.r.lastIndex = 0; - } - this.r.m = this.r.exec(s); - this.r.s = s; - return this.r.m != null; - } - ,matched: function(n) { - if(this.r.m != null && n >= 0 && n < this.r.m.length) { - return this.r.m[n]; - } else { - throw haxe_Exception.thrown("EReg::matched"); - } - } - ,matchedRight: function() { - if(this.r.m == null) { - throw haxe_Exception.thrown("No string matched"); - } - var sz = this.r.m.index + this.r.m[0].length; - return HxOverrides.substr(this.r.s,sz,this.r.s.length - sz); - } - ,matchedPos: function() { - if(this.r.m == null) { - throw haxe_Exception.thrown("No string matched"); - } - return { pos : this.r.m.index, len : this.r.m[0].length}; - } - ,split: function(s) { - var d = "#__delim__#"; - return s.replace(this.r,d).split(d); - } -}; -var HxOverrides = function() { }; -HxOverrides.__name__ = true; -HxOverrides.cca = function(s,index) { - var x = s.charCodeAt(index); - if(x != x) { - return undefined; - } - return x; -}; -HxOverrides.substr = function(s,pos,len) { - if(len == null) { - len = s.length; - } else if(len < 0) { - if(pos == 0) { - len = s.length + len; - } else { - return ""; - } - } - return s.substr(pos,len); -}; -HxOverrides.now = function() { - return Date.now(); -}; -Math.__name__ = true; -var Reflect = function() { }; -Reflect.__name__ = true; -Reflect.field = function(o,field) { - try { - return o[field]; - } catch( _g ) { - return null; - } -}; -Reflect.getProperty = function(o,field) { - var tmp; - if(o == null) { - return null; - } else { - var tmp1; - if(o.__properties__) { - tmp = o.__properties__["get_" + field]; - tmp1 = tmp; - } else { - tmp1 = false; - } - if(tmp1) { - return o[tmp](); - } else { - return o[field]; - } - } -}; -Reflect.fields = function(o) { - var a = []; - if(o != null) { - var hasOwnProperty = Object.prototype.hasOwnProperty; - for( var f in o ) { - if(f != "__id__" && f != "hx__closures__" && hasOwnProperty.call(o,f)) { - a.push(f); - } - } - } - return a; -}; -Reflect.isObject = function(v) { - if(v == null) { - return false; - } - var t = typeof(v); - if(!(t == "string" || t == "object" && v.__enum__ == null)) { - if(t == "function") { - return (v.__name__ || v.__ename__) != null; - } else { - return false; - } - } else { - return true; - } -}; -Reflect.deleteField = function(o,field) { - if(!Object.prototype.hasOwnProperty.call(o,field)) { - return false; - } - delete(o[field]); - return true; -}; -Reflect.copy = function(o) { - if(o == null) { - return null; - } - var o2 = { }; - var _g = 0; - var _g1 = Reflect.fields(o); - while(_g < _g1.length) { - var f = _g1[_g]; - ++_g; - o2[f] = Reflect.field(o,f); - } - return o2; -}; -var Std = function() { }; -Std.__name__ = true; -Std.string = function(s) { - return js_Boot.__string_rec(s,""); -}; -Std.parseInt = function(x) { - var v = parseInt(x); - if(isNaN(v)) { - return null; - } - return v; -}; -var StringBuf = function() { - this.b = ""; -}; -StringBuf.__name__ = true; -var StringTools = function() { }; -StringTools.__name__ = true; -StringTools.isSpace = function(s,pos) { - var c = HxOverrides.cca(s,pos); - if(!(c > 8 && c < 14)) { - return c == 32; - } else { - return true; - } -}; -StringTools.ltrim = function(s) { - var l = s.length; - var r = 0; - while(r < l && StringTools.isSpace(s,r)) ++r; - if(r > 0) { - return HxOverrides.substr(s,r,l - r); - } else { - return s; - } -}; -StringTools.rtrim = function(s) { - var l = s.length; - var r = 0; - while(r < l && StringTools.isSpace(s,l - r - 1)) ++r; - if(r > 0) { - return HxOverrides.substr(s,0,l - r); - } else { - return s; - } -}; -StringTools.trim = function(s) { - return StringTools.ltrim(StringTools.rtrim(s)); -}; -StringTools.replace = function(s,sub,by) { - return s.split(sub).join(by); -}; -var haxe_Exception = function(message,previous,native) { - Error.call(this,message); - this.message = message; - this.__previousException = previous; - this.__nativeException = native != null ? native : this; -}; -haxe_Exception.__name__ = true; -haxe_Exception.caught = function(value) { - if(((value) instanceof haxe_Exception)) { - return value; - } else if(((value) instanceof Error)) { - return new haxe_Exception(value.message,null,value); - } else { - return new haxe_ValueException(value,null,value); - } -}; -haxe_Exception.thrown = function(value) { - if(((value) instanceof haxe_Exception)) { - return value.get_native(); - } else if(((value) instanceof Error)) { - return value; - } else { - var e = new haxe_ValueException(value); - return e; - } -}; -haxe_Exception.__super__ = Error; -haxe_Exception.prototype = $extend(Error.prototype,{ - unwrap: function() { - return this.__nativeException; - } - ,get_native: function() { - return this.__nativeException; - } - ,__properties__: {get_native:"get_native"} -}); -var haxe__$Template_TemplateExpr = $hxEnums["haxe._Template.TemplateExpr"] = { __ename__:true,__constructs__:null - ,OpVar: ($_=function(v) { return {_hx_index:0,v:v,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpVar",$_.__params__ = ["v"],$_) - ,OpExpr: ($_=function(expr) { return {_hx_index:1,expr:expr,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpExpr",$_.__params__ = ["expr"],$_) - ,OpIf: ($_=function(expr,eif,eelse) { return {_hx_index:2,expr:expr,eif:eif,eelse:eelse,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpIf",$_.__params__ = ["expr","eif","eelse"],$_) - ,OpStr: ($_=function(str) { return {_hx_index:3,str:str,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpStr",$_.__params__ = ["str"],$_) - ,OpBlock: ($_=function(l) { return {_hx_index:4,l:l,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpBlock",$_.__params__ = ["l"],$_) - ,OpForeach: ($_=function(expr,loop) { return {_hx_index:5,expr:expr,loop:loop,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpForeach",$_.__params__ = ["expr","loop"],$_) - ,OpMacro: ($_=function(name,params) { return {_hx_index:6,name:name,params:params,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpMacro",$_.__params__ = ["name","params"],$_) -}; -haxe__$Template_TemplateExpr.__constructs__ = [haxe__$Template_TemplateExpr.OpVar,haxe__$Template_TemplateExpr.OpExpr,haxe__$Template_TemplateExpr.OpIf,haxe__$Template_TemplateExpr.OpStr,haxe__$Template_TemplateExpr.OpBlock,haxe__$Template_TemplateExpr.OpForeach,haxe__$Template_TemplateExpr.OpMacro]; -var haxe_iterators_ArrayIterator = function(array) { - this.current = 0; - this.array = array; -}; -haxe_iterators_ArrayIterator.__name__ = true; -haxe_iterators_ArrayIterator.prototype = { - hasNext: function() { - return this.current < this.array.length; - } - ,next: function() { - return this.array[this.current++]; - } -}; -var haxe_Template = function(str) { - var tokens = this.parseTokens(str); - this.expr = this.parseBlock(tokens); - if(!tokens.isEmpty()) { - throw haxe_Exception.thrown("Unexpected '" + Std.string(tokens.first().s) + "'"); - } -}; -haxe_Template.__name__ = true; -haxe_Template.prototype = { - execute: function(context,macros) { - this.macros = macros == null ? { } : macros; - this.context = context; - this.stack = new haxe_ds_List(); - this.buf = new StringBuf(); - this.run(this.expr); - return this.buf.b; - } - ,resolve: function(v) { - if(v == "__current__") { - return this.context; - } - if(Reflect.isObject(this.context)) { - var value = Reflect.getProperty(this.context,v); - if(value != null || Object.prototype.hasOwnProperty.call(this.context,v)) { - return value; - } - } - var _g_head = this.stack.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var ctx = val; - var value = Reflect.getProperty(ctx,v); - if(value != null || Object.prototype.hasOwnProperty.call(ctx,v)) { - return value; - } - } - return Reflect.field(haxe_Template.globals,v); - } - ,parseTokens: function(data) { - var tokens = new haxe_ds_List(); - while(haxe_Template.splitter.match(data)) { - var p = haxe_Template.splitter.matchedPos(); - if(p.pos > 0) { - tokens.add({ p : HxOverrides.substr(data,0,p.pos), s : true, l : null}); - } - if(HxOverrides.cca(data,p.pos) == 58) { - tokens.add({ p : HxOverrides.substr(data,p.pos + 2,p.len - 4), s : false, l : null}); - data = haxe_Template.splitter.matchedRight(); - continue; - } - var parp = p.pos + p.len; - var npar = 1; - var params = []; - var part = ""; - while(true) { - var c = HxOverrides.cca(data,parp); - ++parp; - if(c == 40) { - ++npar; - } else if(c == 41) { - --npar; - if(npar <= 0) { - break; - } - } else if(c == null) { - throw haxe_Exception.thrown("Unclosed macro parenthesis"); - } - if(c == 44 && npar == 1) { - params.push(part); - part = ""; - } else { - part += String.fromCodePoint(c); - } - } - params.push(part); - tokens.add({ p : haxe_Template.splitter.matched(2), s : false, l : params}); - data = HxOverrides.substr(data,parp,data.length - parp); - } - if(data.length > 0) { - tokens.add({ p : data, s : true, l : null}); - } - return tokens; - } - ,parseBlock: function(tokens) { - var l = new haxe_ds_List(); - while(true) { - var t = tokens.first(); - if(t == null) { - break; - } - if(!t.s && (t.p == "end" || t.p == "else" || HxOverrides.substr(t.p,0,7) == "elseif ")) { - break; - } - l.add(this.parse(tokens)); - } - if(l.length == 1) { - return l.first(); - } - return haxe__$Template_TemplateExpr.OpBlock(l); - } - ,parse: function(tokens) { - var t = tokens.pop(); - var p = t.p; - if(t.s) { - return haxe__$Template_TemplateExpr.OpStr(p); - } - if(t.l != null) { - var pe = new haxe_ds_List(); - var _g = 0; - var _g1 = t.l; - while(_g < _g1.length) { - var p1 = _g1[_g]; - ++_g; - pe.add(this.parseBlock(this.parseTokens(p1))); - } - return haxe__$Template_TemplateExpr.OpMacro(p,pe); - } - var kwdEnd = function(kwd) { - var pos = -1; - var length = kwd.length; - if(HxOverrides.substr(p,0,length) == kwd) { - pos = length; - var _g_offset = 0; - var _g_s = HxOverrides.substr(p,length,null); - while(_g_offset < _g_s.length) { - var c = _g_s.charCodeAt(_g_offset++); - if(c == 32) { - ++pos; - } else { - break; - } - } - } - return pos; - }; - var pos = kwdEnd("if"); - if(pos > 0) { - p = HxOverrides.substr(p,pos,p.length - pos); - var e = this.parseExpr(p); - var eif = this.parseBlock(tokens); - var t = tokens.first(); - var eelse; - if(t == null) { - throw haxe_Exception.thrown("Unclosed 'if'"); - } - if(t.p == "end") { - tokens.pop(); - eelse = null; - } else if(t.p == "else") { - tokens.pop(); - eelse = this.parseBlock(tokens); - t = tokens.pop(); - if(t == null || t.p != "end") { - throw haxe_Exception.thrown("Unclosed 'else'"); - } - } else { - t.p = HxOverrides.substr(t.p,4,t.p.length - 4); - eelse = this.parse(tokens); - } - return haxe__$Template_TemplateExpr.OpIf(e,eif,eelse); - } - var pos = kwdEnd("foreach"); - if(pos >= 0) { - p = HxOverrides.substr(p,pos,p.length - pos); - var e = this.parseExpr(p); - var efor = this.parseBlock(tokens); - var t = tokens.pop(); - if(t == null || t.p != "end") { - throw haxe_Exception.thrown("Unclosed 'foreach'"); - } - return haxe__$Template_TemplateExpr.OpForeach(e,efor); - } - if(haxe_Template.expr_splitter.match(p)) { - return haxe__$Template_TemplateExpr.OpExpr(this.parseExpr(p)); - } - return haxe__$Template_TemplateExpr.OpVar(p); - } - ,parseExpr: function(data) { - var l = new haxe_ds_List(); - var expr = data; - while(haxe_Template.expr_splitter.match(data)) { - var p = haxe_Template.expr_splitter.matchedPos(); - var k = p.pos + p.len; - if(p.pos != 0) { - l.add({ p : HxOverrides.substr(data,0,p.pos), s : true}); - } - var p1 = haxe_Template.expr_splitter.matched(0); - l.add({ p : p1, s : p1.indexOf("\"") >= 0}); - data = haxe_Template.expr_splitter.matchedRight(); - } - if(data.length != 0) { - var _g_offset = 0; - var _g_s = data; - while(_g_offset < _g_s.length) { - var _g_key = _g_offset; - var _g_value = _g_s.charCodeAt(_g_offset++); - var i = _g_key; - var c = _g_value; - if(c != 32) { - l.add({ p : HxOverrides.substr(data,i,null), s : true}); - break; - } - } - } - var e; - try { - e = this.makeExpr(l); - if(!l.isEmpty()) { - throw haxe_Exception.thrown(l.first().p); - } - } catch( _g ) { - var _g1 = haxe_Exception.caught(_g).unwrap(); - if(typeof(_g1) == "string") { - var s = _g1; - throw haxe_Exception.thrown("Unexpected '" + s + "' in " + expr); - } else { - throw _g; - } - } - return function() { - try { - return e(); - } catch( _g ) { - var exc = haxe_Exception.caught(_g).unwrap(); - throw haxe_Exception.thrown("Error : " + Std.string(exc) + " in " + expr); - } - }; - } - ,makeConst: function(v) { - haxe_Template.expr_trim.match(v); - v = haxe_Template.expr_trim.matched(1); - if(HxOverrides.cca(v,0) == 34) { - var str = HxOverrides.substr(v,1,v.length - 2); - return function() { - return str; - }; - } - if(haxe_Template.expr_int.match(v)) { - var i = Std.parseInt(v); - return function() { - return i; - }; - } - if(haxe_Template.expr_float.match(v)) { - var f = parseFloat(v); - return function() { - return f; - }; - } - var me = this; - return function() { - return me.resolve(v); - }; - } - ,makePath: function(e,l) { - var p = l.first(); - if(p == null || p.p != ".") { - return e; - } - l.pop(); - var field = l.pop(); - if(field == null || !field.s) { - throw haxe_Exception.thrown(field.p); - } - var f = field.p; - haxe_Template.expr_trim.match(f); - f = haxe_Template.expr_trim.matched(1); - return this.makePath(function() { - return Reflect.field(e(),f); - },l); - } - ,makeExpr: function(l) { - return this.makePath(this.makeExpr2(l),l); - } - ,skipSpaces: function(l) { - var p = l.first(); - while(p != null) { - var _g_offset = 0; - var _g_s = p.p; - while(_g_offset < _g_s.length) { - var c = _g_s.charCodeAt(_g_offset++); - if(c != 32) { - return; - } - } - l.pop(); - p = l.first(); - } - } - ,makeExpr2: function(l) { - this.skipSpaces(l); - var p = l.pop(); - this.skipSpaces(l); - if(p == null) { - throw haxe_Exception.thrown(""); - } - if(p.s) { - return this.makeConst(p.p); - } - switch(p.p) { - case "!": - var e = this.makeExpr(l); - return function() { - var v = e(); - if(v != null) { - return v == false; - } else { - return true; - } - }; - case "(": - this.skipSpaces(l); - var e1 = this.makeExpr(l); - this.skipSpaces(l); - var p1 = l.pop(); - if(p1 == null || p1.s) { - throw haxe_Exception.thrown(p1); - } - if(p1.p == ")") { - return e1; - } - this.skipSpaces(l); - var e2 = this.makeExpr(l); - this.skipSpaces(l); - var p2 = l.pop(); - this.skipSpaces(l); - if(p2 == null || p2.p != ")") { - throw haxe_Exception.thrown(p2); - } - switch(p1.p) { - case "!=": - return function() { - return e1() != e2(); - }; - case "&&": - return function() { - return e1() && e2(); - }; - case "*": - return function() { - return e1() * e2(); - }; - case "+": - return function() { - return e1() + e2(); - }; - case "-": - return function() { - return e1() - e2(); - }; - case "/": - return function() { - return e1() / e2(); - }; - case "<": - return function() { - return e1() < e2(); - }; - case "<=": - return function() { - return e1() <= e2(); - }; - case "==": - return function() { - return e1() == e2(); - }; - case ">": - return function() { - return e1() > e2(); - }; - case ">=": - return function() { - return e1() >= e2(); - }; - case "||": - return function() { - return e1() || e2(); - }; - default: - throw haxe_Exception.thrown("Unknown operation " + p1.p); - } - break; - case "-": - var e3 = this.makeExpr(l); - return function() { - return -e3(); - }; - } - throw haxe_Exception.thrown(p.p); - } - ,run: function(e) { - switch(e._hx_index) { - case 0: - var v = e.v; - var _this = this.buf; - var x = Std.string(this.resolve(v)); - _this.b += Std.string(x); - break; - case 1: - var e1 = e.expr; - var _this = this.buf; - var x = Std.string(e1()); - _this.b += Std.string(x); - break; - case 2: - var e1 = e.expr; - var eif = e.eif; - var eelse = e.eelse; - var v = e1(); - if(v == null || v == false) { - if(eelse != null) { - this.run(eelse); - } - } else { - this.run(eif); - } - break; - case 3: - var str = e.str; - this.buf.b += str == null ? "null" : "" + str; - break; - case 4: - var l = e.l; - var _g_head = l.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var e1 = val; - this.run(e1); - } - break; - case 5: - var e1 = e.expr; - var loop = e.loop; - var v = e1(); - try { - var x = $getIterator(v); - if(x.hasNext == null) { - throw haxe_Exception.thrown(null); - } - v = x; - } catch( _g ) { - try { - if(v.hasNext == null) { - throw haxe_Exception.thrown(null); - } - } catch( _g1 ) { - throw haxe_Exception.thrown("Cannot iter on " + Std.string(v)); - } - } - this.stack.push(this.context); - var v1 = v; - var ctx = v1; - while(ctx.hasNext()) { - var ctx1 = ctx.next(); - this.context = ctx1; - this.run(loop); - } - this.context = this.stack.pop(); - break; - case 6: - var m = e.name; - var params = e.params; - var v = Reflect.field(this.macros,m); - var pl = []; - var old = this.buf; - pl.push($bind(this,this.resolve)); - var _g_head = params.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var p = val; - if(p._hx_index == 0) { - var v1 = p.v; - pl.push(this.resolve(v1)); - } else { - this.buf = new StringBuf(); - this.run(p); - pl.push(this.buf.b); - } - } - this.buf = old; - try { - var _this = this.buf; - var x = Std.string(v.apply(this.macros,pl)); - _this.b += Std.string(x); - } catch( _g ) { - var e = haxe_Exception.caught(_g).unwrap(); - var plstr; - try { - plstr = pl.join(","); - } catch( _g1 ) { - plstr = "???"; - } - var msg = "Macro call " + m + "(" + plstr + ") failed (" + Std.string(e) + ")"; - throw haxe_Exception.thrown(msg); - } - break; - } - } -}; -var haxe_ValueException = function(value,previous,native) { - haxe_Exception.call(this,String(value),previous,native); - this.value = value; -}; -haxe_ValueException.__name__ = true; -haxe_ValueException.__super__ = haxe_Exception; -haxe_ValueException.prototype = $extend(haxe_Exception.prototype,{ - unwrap: function() { - return this.value; - } -}); -var haxe_ds_List = function() { - this.length = 0; -}; -haxe_ds_List.__name__ = true; -haxe_ds_List.prototype = { - add: function(item) { - var x = new haxe_ds__$List_ListNode(item,null); - if(this.h == null) { - this.h = x; - } else { - this.q.next = x; - } - this.q = x; - this.length++; - } - ,push: function(item) { - var x = new haxe_ds__$List_ListNode(item,this.h); - this.h = x; - if(this.q == null) { - this.q = x; - } - this.length++; - } - ,first: function() { - if(this.h == null) { - return null; - } else { - return this.h.item; - } - } - ,pop: function() { - if(this.h == null) { - return null; - } - var x = this.h.item; - this.h = this.h.next; - if(this.h == null) { - this.q = null; - } - this.length--; - return x; - } - ,isEmpty: function() { - return this.h == null; - } - ,toString: function() { - var s_b = ""; - var first = true; - var l = this.h; - s_b += "{"; - while(l != null) { - if(first) { - first = false; - } else { - s_b += ", "; - } - s_b += Std.string(Std.string(l.item)); - l = l.next; - } - s_b += "}"; - return s_b; - } -}; -var haxe_ds__$List_ListNode = function(item,next) { - this.item = item; - this.next = next; -}; -haxe_ds__$List_ListNode.__name__ = true; -var js_Boot = function() { }; -js_Boot.__name__ = true; -js_Boot.__string_rec = function(o,s) { - if(o == null) { - return "null"; - } - if(s.length >= 5) { - return "<...>"; - } - var t = typeof(o); - if(t == "function" && (o.__name__ || o.__ename__)) { - t = "object"; - } - switch(t) { - case "function": - return ""; - case "object": - if(o.__enum__) { - var e = $hxEnums[o.__enum__]; - var con = e.__constructs__[o._hx_index]; - var n = con._hx_name; - if(con.__params__) { - s = s + "\t"; - return n + "(" + ((function($this) { - var $r; - var _g = []; - { - var _g1 = 0; - var _g2 = con.__params__; - while(true) { - if(!(_g1 < _g2.length)) { - break; - } - var p = _g2[_g1]; - _g1 = _g1 + 1; - _g.push(js_Boot.__string_rec(o[p],s)); - } - } - $r = _g; - return $r; - }(this))).join(",") + ")"; - } else { - return n; - } - } - if(((o) instanceof Array)) { - var str = "["; - s += "\t"; - var _g = 0; - var _g1 = o.length; - while(_g < _g1) { - var i = _g++; - str += (i > 0 ? "," : "") + js_Boot.__string_rec(o[i],s); - } - str += "]"; - return str; - } - var tostr; - try { - tostr = o.toString; - } catch( _g ) { - return "???"; - } - if(tostr != null && tostr != Object.toString && typeof(tostr) == "function") { - var s2 = o.toString(); - if(s2 != "[object Object]") { - return s2; - } - } - var str = "{\n"; - s += "\t"; - var hasp = o.hasOwnProperty != null; - var k = null; - for( k in o ) { - if(hasp && !o.hasOwnProperty(k)) { - continue; - } - if(k == "prototype" || k == "__class__" || k == "__super__" || k == "__interfaces__" || k == "__properties__") { - continue; - } - if(str.length != 2) { - str += ", \n"; - } - str += s + k + " : " + js_Boot.__string_rec(o[k],s); - } - s = s.substring(1); - str += "\n" + s + "}"; - return str; - case "string": - return o; - default: - return String(o); - } -}; -var xrfragment_Filter = $hx_exports["xrfragment"]["Filter"] = function(str) { - this.q = { }; - this.str = ""; - if(str != null) { - this.parse(str); - } -}; -xrfragment_Filter.__name__ = true; -xrfragment_Filter.prototype = { - toObject: function() { - return Reflect.copy(this.q); - } - ,get: function() { - return Reflect.copy(this.q); - } - ,parse: function(str) { - var token = str.split(" "); - var q = { }; - var process = function(str,prefix) { - if(prefix == null) { - prefix = ""; - } - str = StringTools.trim(str); - var k = str.split("=")[0]; - var v = str.split("=")[1]; - var filter = { }; - if(q[prefix + k]) { - filter = q[prefix + k]; - } - if(xrfragment_XRF.isProp.match(str)) { - var oper = ""; - if(str.indexOf(">") != -1) { - oper = ">"; - } - if(str.indexOf("<") != -1) { - oper = "<"; - } - if(xrfragment_XRF.isExclude.match(k)) { - k = HxOverrides.substr(k,1,null); - } - v = HxOverrides.substr(v,oper.length,null); - if(oper.length == 0) { - oper = "="; - } - var rule = { }; - if(xrfragment_XRF.isNumber.match(v)) { - rule[oper] = parseFloat(v); - } else { - rule[oper] = v; - } - q["expr"] = rule; - } - var value = xrfragment_XRF.isDeep.match(str) ? k.split("*").length - 1 : 0; - q["deep"] = value; - var value = xrfragment_XRF.isExclude.match(str) ? false : true; - q["show"] = value; - var value = k.replace(xrfragment_XRF.operators.r,""); - q["key"] = value; - q["value"] = v; - }; - var _g = 0; - var _g1 = token.length; - while(_g < _g1) { - var i = _g++; - process(token[i]); - } - return this.q = q; - } - ,test: function(obj) { - var qualify = false; - var _g = 0; - var _g1 = Reflect.fields(obj); - while(_g < _g1.length) { - var k = _g1[_g]; - ++_g; - var v = Std.string(Reflect.field(obj,k)); - if(this.testProperty(k,v)) { - qualify = true; - } - } - var _g = 0; - var _g1 = Reflect.fields(obj); - while(_g < _g1.length) { - var k = _g1[_g]; - ++_g; - var v = Std.string(Reflect.field(obj,k)); - if(this.testProperty(k,v,true)) { - qualify = false; - } - } - return qualify; - } - ,testProperty: function(property,value,exclude) { - var conds = 0; - var fails = 0; - var qualify = 0; - var testprop = function(expr) { - conds += 1; - fails += expr ? 0 : 1; - return expr; - }; - if(this.q[value] != null) { - var v = this.q[value]; - if(v[property] != null) { - return v[property]; - } - } - if(Reflect.field(this.q,"expr")) { - var f = Reflect.field(this.q,"expr"); - if(!Reflect.field(this.q,"show")) { - if(Reflect.field(f,"!=") != null && testprop((value == null ? "null" : "" + value) == Std.string(Reflect.field(f,"!="))) && exclude) { - ++qualify; - } - } else { - if(Reflect.field(f,"*") != null && testprop(parseFloat(value) != null)) { - ++qualify; - } - if(Reflect.field(f,">") != null && testprop(parseFloat(value) >= parseFloat(Reflect.field(f,">")))) { - ++qualify; - } - if(Reflect.field(f,"<") != null && testprop(parseFloat(value) <= parseFloat(Reflect.field(f,"<")))) { - ++qualify; - } - if(Reflect.field(f,"=") != null && (testprop(value == Reflect.field(f,"=")) || testprop(parseFloat(value) == parseFloat(Reflect.field(f,"="))))) { - ++qualify; - } - } - } - return qualify > 0; - } -}; -var xrfragment_Parser = $hx_exports["xrfragment"]["Parser"] = function() { }; -xrfragment_Parser.__name__ = true; -xrfragment_Parser.parse = function(key,value,store,index) { - var Frag_h = Object.create(null); - Frag_h["#"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_PREDEFINED_VIEW | xrfragment_XRF.PV_EXECUTE; - Frag_h["src"] = xrfragment_XRF.T_URL; - Frag_h["href"] = xrfragment_XRF.T_URL | xrfragment_XRF.T_PREDEFINED_VIEW; - Frag_h["tag"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["pos"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_VECTOR3 | xrfragment_XRF.T_STRING | xrfragment_XRF.METADATA | xrfragment_XRF.NAVIGATOR; - Frag_h["rot"] = xrfragment_XRF.QUERY_OPERATOR | xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_VECTOR3 | xrfragment_XRF.METADATA | xrfragment_XRF.NAVIGATOR; - Frag_h["t"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_FLOAT | xrfragment_XRF.T_VECTOR2 | xrfragment_XRF.NAVIGATOR | xrfragment_XRF.METADATA; - Frag_h["s"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_MEDIAFRAG; - Frag_h["loop"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_PREDEFINED_VIEW; - Frag_h["uv"] = xrfragment_XRF.T_VECTOR2 | xrfragment_XRF.T_MEDIAFRAG; - Frag_h["namespace"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["SPDX"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["unit"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["description"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - var keyStripped = key.replace(xrfragment_XRF.operators.r,""); - var isPVDynamic = key.length > 0 && !Object.prototype.hasOwnProperty.call(Frag_h,key); - if(isPVDynamic) { - var v = new xrfragment_XRF(key,xrfragment_XRF.PV_EXECUTE | xrfragment_XRF.NAVIGATOR,index); - v.validate(value); - v.flags = xrfragment_XRF.set(xrfragment_XRF.T_DYNAMICKEY,v.flags); - if(!Object.prototype.hasOwnProperty.call(Frag_h,key)) { - v.flags = xrfragment_XRF.set(xrfragment_XRF.CUSTOMFRAG,v.flags); - } - if(value.length == 0) { - v.flags = xrfragment_XRF.set(xrfragment_XRF.T_DYNAMICKEYVALUE,v.flags); - } - store[keyStripped] = v; - return true; - } - var v = new xrfragment_XRF(key,Frag_h[key],index); - if(Object.prototype.hasOwnProperty.call(Frag_h,key)) { - if(!v.validate(value)) { - console.log("src/xrfragment/Parser.hx:67:","⚠ fragment '" + key + "' has incompatible value (" + value + ")"); - return false; - } - store[keyStripped] = v; - if(xrfragment_Parser.debug) { - console.log("src/xrfragment/Parser.hx:71:","✔ " + key + ": " + v.string); - } - } else { - if(typeof(value) == "string") { - v.guessType(v,value); - } - v.flags = xrfragment_XRF.set(xrfragment_XRF.CUSTOMFRAG,v.flags); - store[keyStripped] = v; - } - return true; -}; -xrfragment_Parser.getMetaData = function() { - var meta = { title : ["title","og:title","dc.title"], description : ["aria-description","og:description","dc.description"], author : ["author","dc.creator"], publisher : ["publisher","dc.publisher"], website : ["og:site_name","og:url","dc.publisher"], license : ["SPDX","dc.rights"]}; - return meta; -}; -var xrfragment_URI = $hx_exports["xrfragment"]["URI"] = function() { - this.XRF = { }; - this.hash = { }; - this.fragment = ""; -}; -xrfragment_URI.__name__ = true; -xrfragment_URI.parseFragment = function(url,filter) { - var store = { }; - if(url == null || url.indexOf("#") == -1) { - return store; - } - var fragment = url.split("#"); - var splitArray = fragment[1].split("&"); - var _g = 0; - var _g1 = splitArray.length; - while(_g < _g1) { - var i = _g++; - var splitByEqual = splitArray[i].split("="); - var regexPlus = new EReg("\\+","g"); - var key = splitByEqual[0]; - var value = ""; - if(splitByEqual.length > 1) { - if(xrfragment_XRF.isVector.match(splitByEqual[1])) { - value = splitByEqual[1]; - } else { - var s = regexPlus.split(splitByEqual[1]).join(" "); - value = decodeURIComponent(s.split("+").join(" ")); - } - } - var ok = xrfragment_Parser.parse(key,value,store,i); - } - if(filter != null && filter != 0) { - var _g = 0; - var _g1 = Reflect.fields(store); - while(_g < _g1.length) { - var key = _g1[_g]; - ++_g; - var xrf = store[key]; - if(!xrf.is(filter)) { - Reflect.deleteField(store,key); - } - } - } - return store; -}; -xrfragment_URI.template = function(uri,vars) { - var parts = uri.split("#"); - if(parts.length == 1) { - return uri; - } - var frag = parts[1]; - frag = StringTools.replace(frag,"{","::"); - frag = StringTools.replace(frag,"}","::"); - frag = new haxe_Template(frag).execute(vars); - frag = StringTools.replace(frag,"null",""); - parts[1] = frag; - return parts.join("#"); -}; -xrfragment_URI.parse = function(stringUrl,flags) { - var r = new EReg("^(?:(?![^:@]+:[^:@/]*@)([^:/?#.]+):)?(?://)?((?:(([^:@]*)(?::([^:@]*))?)?@)?([^:/?#]*)(?::(\\d*))?)(((/(?:[^?#](?![^?#/]*\\.[^?#/.]+(?:[?#]|$)))*/?)?([^?#/]*))(?:\\?([^#]*))?(?:#(.*))?)",""); - if(stringUrl.indexOf("://") == -1 && stringUrl.charAt(0) != "/") { - stringUrl = "/" + stringUrl; - } - r.match(stringUrl); - var url = new xrfragment_URI(); - var _g = 0; - var _g1 = xrfragment_URI._parts.length; - while(_g < _g1) { - var i = _g++; - url[xrfragment_URI._parts[i]] = r.matched(i); - } - if(xrfragment_URI.isRelative(url) == true) { - if(url.directory == null && url.host != null) { - url.file = url.host; - } - url.host = ""; - } - url.hash = { }; - if(url.fragment != null && url.fragment.length > 0) { - url.XRF = xrfragment_URI.parseFragment("#" + url.fragment,flags); - var key; - var _g = 0; - var _g1 = Reflect.fields(url.XRF); - while(_g < _g1.length) { - var key = _g1[_g]; - ++_g; - var v = url.XRF[key]; - url.hash[key] = v["string"]; - } - } - xrfragment_URI.computeVars(url); - return url; -}; -xrfragment_URI.computeVars = function(url) { - var r_r = new RegExp("//","g".split("u").join("")); - if(url.directory != null && url.directory.indexOf("//") != -1) { - url.directory = url.directory.replace(r_r,"/"); - } - if(url.path != null && url.path.indexOf("//") != -1) { - url.path = url.path.replace(r_r,"/"); - } - if(url.file != null && url.file.indexOf("//") != -1) { - url.file = url.file.replace(r_r,"/"); - } - url.URN = url.scheme + "://" + url.host; - if(url.port != null) { - url.URN += ":" + url.port; - } - url.URN += url.directory; - if(url.file != null) { - var parts = url.file.split("."); - if(parts.length > 1) { - url.fileExt = parts.pop(); - } - } -}; -xrfragment_URI.toString = function(url) { - var result = ""; - if(url.scheme != null) { - result += url.scheme + "://"; - } - if(url.user != null) { - result += url.user + ":"; - } - if(url.password != null) { - result += url.password + "@"; - } - if(url.host != null) { - result += url.host; - } - if(url.port != null) { - result += ":" + url.port; - } - if(url.directory != null) { - result += url.directory; - } - if(url.file != null) { - result += url.file; - } - if(url.query != null) { - result += "?" + url.query; - } - if(url.fragment != null) { - result += "#" + url.fragment; - } - return result; -}; -xrfragment_URI.appendURI = function(url,appendedURI) { - if(xrfragment_URI.isRelative(url) == true) { - return xrfragment_URI.appendToRelativeURI(url,appendedURI); - } else { - return xrfragment_URI.appendToAbsoluteURI(url,appendedURI); - } -}; -xrfragment_URI.isRelative = function(url) { - return url.scheme == null; -}; -xrfragment_URI.appendToRelativeURI = function(url,appendedURI) { - if(url.directory == null || url.host == null) { - return xrfragment_URI.cloneURI(appendedURI); - } - var resultURI = new xrfragment_URI(); - resultURI.host = url.host; - resultURI.directory = url.directory; - if(appendedURI.host != null) { - resultURI.directory += appendedURI.host; - } - if(appendedURI.directory != null) { - var directory = appendedURI.directory; - if(appendedURI.host == null) { - resultURI.directory += HxOverrides.substr(directory,1,null); - } else { - resultURI.directory += directory; - } - } - if(appendedURI.file != null) { - resultURI.file = appendedURI.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(appendedURI.query != null) { - resultURI.query = appendedURI.query; - } - if(appendedURI.fragment != null) { - resultURI.fragment = appendedURI.fragment; - } - return resultURI; -}; -xrfragment_URI.appendToAbsoluteURI = function(url,appendedURI) { - var resultURI = new xrfragment_URI(); - if(url.scheme != null) { - resultURI.scheme = url.scheme; - } - if(url.host != null) { - resultURI.host = url.host; - } - var directory = ""; - if(url.directory != null) { - directory = url.directory; - } - if(appendedURI.host != null) { - appendedURI.directory += appendedURI.host; - } - if(appendedURI.directory != null) { - directory += appendedURI.directory; - } - resultURI.directory = directory; - if(appendedURI.file != null) { - resultURI.file = appendedURI.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(appendedURI.query != null) { - resultURI.query = appendedURI.query; - } - if(appendedURI.fragment != null) { - resultURI.fragment = appendedURI.fragment; - } - return resultURI; -}; -xrfragment_URI.toAbsolute = function(url,newUrl) { - var newURI = xrfragment_URI.parse(newUrl,0); - var resultURI = new xrfragment_URI(); - resultURI.port = url.port; - resultURI.source = newUrl; - if(newURI.scheme != null) { - resultURI.scheme = newURI.scheme; - } else { - resultURI.scheme = url.scheme; - } - if(newURI.host != null && newURI.host.length > 0) { - resultURI.host = newURI.host; - resultURI.port = null; - resultURI.fragment = null; - resultURI.hash = { }; - resultURI.XRF = { }; - if(newURI.port != null) { - resultURI.port = newURI.port; - } - } else { - resultURI.host = url.host; - } - var directory = ""; - if(url.directory != null) { - directory = url.directory; - } - if(newURI.directory != null) { - if(newUrl.charAt(0) != "/" && newUrl.indexOf("://") == -1) { - var stripRelative_r = new RegExp("\\./.*","".split("u").join("")); - directory = directory.replace(stripRelative_r,""); - directory += newURI.directory; - } else { - directory = newURI.directory; - } - } - resultURI.directory = directory; - if(newURI.file != null) { - resultURI.file = newURI.file; - } else { - resultURI.file = url.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(newURI.query != null) { - resultURI.query = newURI.query; - } - if(newURI.fragment != null) { - resultURI.fragment = newURI.fragment; - } - resultURI.hash = newURI.hash; - resultURI.XRF = newURI.XRF; - xrfragment_URI.computeVars(resultURI); - return resultURI; -}; -xrfragment_URI.cloneURI = function(url) { - var clonedURI = new xrfragment_URI(); - clonedURI.url = url.url; - clonedURI.source = url.source; - clonedURI.scheme = url.scheme; - clonedURI.authority = url.authority; - clonedURI.userInfo = url.userInfo; - clonedURI.password = url.password; - clonedURI.host = url.host; - clonedURI.port = url.port; - clonedURI.relative = url.relative; - clonedURI.path = url.path; - clonedURI.directory = url.directory; - clonedURI.file = url.file; - clonedURI.query = url.query; - clonedURI.fragment = url.fragment; - return clonedURI; -}; -var xrfragment_XRF = $hx_exports["xrfragment"]["XRF"] = function(_fragment,_flags,_index) { - this.floats = []; - this.shift = []; - this.fragment = _fragment; - this.flags = _flags; - this.index = _index; -}; -xrfragment_XRF.__name__ = true; -xrfragment_XRF.set = function(flag,flags) { - return flags | flag; -}; -xrfragment_XRF.unset = function(flag,flags) { - return flags & ~flag; -}; -xrfragment_XRF.prototype = { - is: function(flag) { - var v = this.flags; - if(!(typeof(v) == "number" && ((v | 0) === v))) { - this.flags = 0; - } - return (this.flags & flag) != 0; - } - ,validate: function(value) { - this.guessType(this,value); - var ok = true; - if(value.length == 0 && !this.is(xrfragment_XRF.T_PREDEFINED_VIEW)) { - ok = false; - } - if(!this.is(xrfragment_XRF.T_FLOAT) && this.is(xrfragment_XRF.T_VECTOR2) && !(typeof(this.x) == "number" && typeof(this.y) == "number")) { - ok = false; - } - if(!(this.is(xrfragment_XRF.T_VECTOR2) || this.is(xrfragment_XRF.T_STRING)) && this.is(xrfragment_XRF.T_VECTOR3) && !(typeof(this.x) == "number" && typeof(this.y) == "number" && typeof(this.z) == "number")) { - ok = false; - } - return ok; - } - ,guessType: function(v,str) { - v.string = str; - if(xrfragment_XRF.isReset.match(v.fragment)) { - v.reset = true; - } - if(v.fragment == "loop") { - v.loop = true; - } - if(typeof(str) != "string") { - return; - } - if(str.length > 0) { - if(xrfragment_XRF.isXRFScheme.match(str)) { - v.xrfScheme = true; - str = str.replace(xrfragment_XRF.isXRFScheme.r,""); - v.string = str; - } - if(str.split(",").length > 1) { - var xyzn = str.split(","); - if(xyzn.length > 0) { - v.x = parseFloat(xyzn[0]); - } - if(xyzn.length > 1) { - v.y = parseFloat(xyzn[1]); - } - if(xyzn.length > 2) { - v.z = parseFloat(xyzn[2]); - } - var _g = 0; - var _g1 = xyzn.length; - while(_g < _g1) { - var i = _g++; - v.shift.push(xrfragment_XRF.isShift.match(xyzn[i])); - v.floats.push(parseFloat(xyzn[i].replace(xrfragment_XRF.isShift.r,""))); - } - } - if(xrfragment_XRF.isColor.match(str)) { - v.color = str; - } - if(xrfragment_XRF.isFloat.match(str)) { - v.x = parseFloat(str); - v.float = v.x; - } - if(xrfragment_XRF.isInt.match(str)) { - v.int = Std.parseInt(str); - v.x = v.int; - v.floats.push(v.x); - } - v.filter = new xrfragment_Filter(v.fragment + "=" + v.string); - } else { - v.filter = new xrfragment_Filter(v.fragment); - } - } -}; -function $getIterator(o) { if( o instanceof Array ) return new haxe_iterators_ArrayIterator(o); else return o.iterator(); } -function $bind(o,m) { if( m == null ) return null; if( m.__id__ == null ) m.__id__ = $global.$haxeUID++; var f; if( o.hx__closures__ == null ) o.hx__closures__ = {}; else f = o.hx__closures__[m.__id__]; if( f == null ) { f = m.bind(o); o.hx__closures__[m.__id__] = f; } return f; } -$global.$haxeUID |= 0; -if(typeof(performance) != "undefined" ? typeof(performance.now) == "function" : false) { - HxOverrides.now = performance.now.bind(performance); -} -if( String.fromCodePoint == null ) String.fromCodePoint = function(c) { return c < 0x10000 ? String.fromCharCode(c) : String.fromCharCode((c>>10)+0xD7C0)+String.fromCharCode((c&0x3FF)+0xDC00); } -String.__name__ = true; -Array.__name__ = true; -js_Boot.__toStr = ({ }).toString; -haxe_Template.splitter = new EReg("(::[A-Za-z0-9_ ()&|!+=/><*.\"-]+::|\\$\\$([A-Za-z0-9_-]+)\\()",""); -haxe_Template.expr_splitter = new EReg("(\\(|\\)|[ \r\n\t]*\"[^\"]*\"[ \r\n\t]*|[!+=/><*.&|-]+)",""); -haxe_Template.expr_trim = new EReg("^[ ]*([^ ]+)[ ]*$",""); -haxe_Template.expr_int = new EReg("^[0-9]+$",""); -haxe_Template.expr_float = new EReg("^([+-]?)(?=\\d|,\\d)\\d*(,\\d*)?([Ee]([+-]?\\d+))?$",""); -haxe_Template.globals = { }; -haxe_Template.hxKeepArrayIterator = new haxe_iterators_ArrayIterator([]); -xrfragment_Parser.error = ""; -xrfragment_Parser.debug = false; -xrfragment_URI.__meta__ = { statics : { template : { keep : null}}}; -xrfragment_URI._parts = ["source","scheme","authority","userInfo","user","password","host","port","relative","path","directory","file","query","fragment"]; -xrfragment_XRF.IMMUTABLE = 1; -xrfragment_XRF.PROP_BIND = 2; -xrfragment_XRF.QUERY_OPERATOR = 4; -xrfragment_XRF.PROMPT = 8; -xrfragment_XRF.CUSTOMFRAG = 16; -xrfragment_XRF.NAVIGATOR = 32; -xrfragment_XRF.METADATA = 64; -xrfragment_XRF.PV_OVERRIDE = 128; -xrfragment_XRF.PV_EXECUTE = 256; -xrfragment_XRF.T_COLOR = 8192; -xrfragment_XRF.T_INT = 16384; -xrfragment_XRF.T_FLOAT = 32768; -xrfragment_XRF.T_VECTOR2 = 65536; -xrfragment_XRF.T_VECTOR3 = 131072; -xrfragment_XRF.T_URL = 262144; -xrfragment_XRF.T_PREDEFINED_VIEW = 524288; -xrfragment_XRF.T_STRING = 1048576; -xrfragment_XRF.T_MEDIAFRAG = 2097152; -xrfragment_XRF.T_DYNAMICKEY = 4194304; -xrfragment_XRF.T_DYNAMICKEYVALUE = 8388608; -xrfragment_XRF.isColor = new EReg("^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$",""); -xrfragment_XRF.isInt = new EReg("^[-0-9]+$",""); -xrfragment_XRF.isFloat = new EReg("^[-0-9]+\\.[0-9]+$",""); -xrfragment_XRF.isVector = new EReg("([,]+|\\w)",""); -xrfragment_XRF.isUrl = new EReg("(://)?\\..*",""); -xrfragment_XRF.isUrlOrPretypedView = new EReg("(^#|://)?\\..*",""); -xrfragment_XRF.isString = new EReg(".*",""); -xrfragment_XRF.operators = new EReg("(^[-]|^[!]|[\\*]$)","g"); -xrfragment_XRF.isProp = new EReg("^.*=[><=]?",""); -xrfragment_XRF.isExclude = new EReg("^-",""); -xrfragment_XRF.isDeep = new EReg("\\*",""); -xrfragment_XRF.isNumber = new EReg("^[0-9\\.]+$",""); -xrfragment_XRF.isMediaFrag = new EReg("^([0-9\\.,\\*+-]+)$",""); -xrfragment_XRF.isReset = new EReg("^!",""); -xrfragment_XRF.isShift = new EReg("^(\\+|--)",""); -xrfragment_XRF.isXRFScheme = new EReg("^xrf://",""); -})(typeof window != "undefined" ? window : typeof global != "undefined" ? global : typeof self != "undefined" ? self : this); -var xrfragment = $hx_exports["xrfragment"]; -export default xrfragment; -// Generated by Haxe 4.3.3 -var $hx_exports = typeof exports != "undefined" ? exports : typeof window != "undefined" ? window : typeof self != "undefined" ? self : this; -(function ($global) { "use strict"; -$hx_exports["xrfragment"] = $hx_exports["xrfragment"] || {}; -var $estr = function() { return js_Boot.__string_rec(this,''); },$hxEnums = $hxEnums || {},$_; -function $extend(from, fields) { - var proto = Object.create(from); - for (var name in fields) proto[name] = fields[name]; - if( fields.toString !== Object.prototype.toString ) proto.toString = fields.toString; - return proto; -} -var EReg = function(r,opt) { - this.r = new RegExp(r,opt.split("u").join("")); -}; -EReg.__name__ = true; -EReg.prototype = { - match: function(s) { - if(this.r.global) { - this.r.lastIndex = 0; - } - this.r.m = this.r.exec(s); - this.r.s = s; - return this.r.m != null; - } - ,matched: function(n) { - if(this.r.m != null && n >= 0 && n < this.r.m.length) { - return this.r.m[n]; - } else { - throw haxe_Exception.thrown("EReg::matched"); - } - } - ,matchedRight: function() { - if(this.r.m == null) { - throw haxe_Exception.thrown("No string matched"); - } - var sz = this.r.m.index + this.r.m[0].length; - return HxOverrides.substr(this.r.s,sz,this.r.s.length - sz); - } - ,matchedPos: function() { - if(this.r.m == null) { - throw haxe_Exception.thrown("No string matched"); - } - return { pos : this.r.m.index, len : this.r.m[0].length}; - } - ,split: function(s) { - var d = "#__delim__#"; - return s.replace(this.r,d).split(d); - } -}; -var HxOverrides = function() { }; -HxOverrides.__name__ = true; -HxOverrides.cca = function(s,index) { - var x = s.charCodeAt(index); - if(x != x) { - return undefined; - } - return x; -}; -HxOverrides.substr = function(s,pos,len) { - if(len == null) { - len = s.length; - } else if(len < 0) { - if(pos == 0) { - len = s.length + len; - } else { - return ""; - } - } - return s.substr(pos,len); -}; -HxOverrides.now = function() { - return Date.now(); -}; -Math.__name__ = true; -var Reflect = function() { }; -Reflect.__name__ = true; -Reflect.field = function(o,field) { - try { - return o[field]; - } catch( _g ) { - return null; - } -}; -Reflect.getProperty = function(o,field) { - var tmp; - if(o == null) { - return null; - } else { - var tmp1; - if(o.__properties__) { - tmp = o.__properties__["get_" + field]; - tmp1 = tmp; - } else { - tmp1 = false; - } - if(tmp1) { - return o[tmp](); - } else { - return o[field]; - } - } -}; -Reflect.fields = function(o) { - var a = []; - if(o != null) { - var hasOwnProperty = Object.prototype.hasOwnProperty; - for( var f in o ) { - if(f != "__id__" && f != "hx__closures__" && hasOwnProperty.call(o,f)) { - a.push(f); - } - } - } - return a; -}; -Reflect.isObject = function(v) { - if(v == null) { - return false; - } - var t = typeof(v); - if(!(t == "string" || t == "object" && v.__enum__ == null)) { - if(t == "function") { - return (v.__name__ || v.__ename__) != null; - } else { - return false; - } - } else { - return true; - } -}; -Reflect.deleteField = function(o,field) { - if(!Object.prototype.hasOwnProperty.call(o,field)) { - return false; - } - delete(o[field]); - return true; -}; -Reflect.copy = function(o) { - if(o == null) { - return null; - } - var o2 = { }; - var _g = 0; - var _g1 = Reflect.fields(o); - while(_g < _g1.length) { - var f = _g1[_g]; - ++_g; - o2[f] = Reflect.field(o,f); - } - return o2; -}; -var Std = function() { }; -Std.__name__ = true; -Std.string = function(s) { - return js_Boot.__string_rec(s,""); -}; -Std.parseInt = function(x) { - var v = parseInt(x); - if(isNaN(v)) { - return null; - } - return v; -}; -var StringBuf = function() { - this.b = ""; -}; -StringBuf.__name__ = true; -var StringTools = function() { }; -StringTools.__name__ = true; -StringTools.isSpace = function(s,pos) { - var c = HxOverrides.cca(s,pos); - if(!(c > 8 && c < 14)) { - return c == 32; - } else { - return true; - } -}; -StringTools.ltrim = function(s) { - var l = s.length; - var r = 0; - while(r < l && StringTools.isSpace(s,r)) ++r; - if(r > 0) { - return HxOverrides.substr(s,r,l - r); - } else { - return s; - } -}; -StringTools.rtrim = function(s) { - var l = s.length; - var r = 0; - while(r < l && StringTools.isSpace(s,l - r - 1)) ++r; - if(r > 0) { - return HxOverrides.substr(s,0,l - r); - } else { - return s; - } -}; -StringTools.trim = function(s) { - return StringTools.ltrim(StringTools.rtrim(s)); -}; -StringTools.replace = function(s,sub,by) { - return s.split(sub).join(by); -}; -var haxe_Exception = function(message,previous,native) { - Error.call(this,message); - this.message = message; - this.__previousException = previous; - this.__nativeException = native != null ? native : this; -}; -haxe_Exception.__name__ = true; -haxe_Exception.caught = function(value) { - if(((value) instanceof haxe_Exception)) { - return value; - } else if(((value) instanceof Error)) { - return new haxe_Exception(value.message,null,value); - } else { - return new haxe_ValueException(value,null,value); - } -}; -haxe_Exception.thrown = function(value) { - if(((value) instanceof haxe_Exception)) { - return value.get_native(); - } else if(((value) instanceof Error)) { - return value; - } else { - var e = new haxe_ValueException(value); - return e; - } -}; -haxe_Exception.__super__ = Error; -haxe_Exception.prototype = $extend(Error.prototype,{ - unwrap: function() { - return this.__nativeException; - } - ,get_native: function() { - return this.__nativeException; - } - ,__properties__: {get_native:"get_native"} -}); -var haxe__$Template_TemplateExpr = $hxEnums["haxe._Template.TemplateExpr"] = { __ename__:true,__constructs__:null - ,OpVar: ($_=function(v) { return {_hx_index:0,v:v,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpVar",$_.__params__ = ["v"],$_) - ,OpExpr: ($_=function(expr) { return {_hx_index:1,expr:expr,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpExpr",$_.__params__ = ["expr"],$_) - ,OpIf: ($_=function(expr,eif,eelse) { return {_hx_index:2,expr:expr,eif:eif,eelse:eelse,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpIf",$_.__params__ = ["expr","eif","eelse"],$_) - ,OpStr: ($_=function(str) { return {_hx_index:3,str:str,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpStr",$_.__params__ = ["str"],$_) - ,OpBlock: ($_=function(l) { return {_hx_index:4,l:l,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpBlock",$_.__params__ = ["l"],$_) - ,OpForeach: ($_=function(expr,loop) { return {_hx_index:5,expr:expr,loop:loop,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpForeach",$_.__params__ = ["expr","loop"],$_) - ,OpMacro: ($_=function(name,params) { return {_hx_index:6,name:name,params:params,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpMacro",$_.__params__ = ["name","params"],$_) -}; -haxe__$Template_TemplateExpr.__constructs__ = [haxe__$Template_TemplateExpr.OpVar,haxe__$Template_TemplateExpr.OpExpr,haxe__$Template_TemplateExpr.OpIf,haxe__$Template_TemplateExpr.OpStr,haxe__$Template_TemplateExpr.OpBlock,haxe__$Template_TemplateExpr.OpForeach,haxe__$Template_TemplateExpr.OpMacro]; -var haxe_iterators_ArrayIterator = function(array) { - this.current = 0; - this.array = array; -}; -haxe_iterators_ArrayIterator.__name__ = true; -haxe_iterators_ArrayIterator.prototype = { - hasNext: function() { - return this.current < this.array.length; - } - ,next: function() { - return this.array[this.current++]; - } -}; -var haxe_Template = function(str) { - var tokens = this.parseTokens(str); - this.expr = this.parseBlock(tokens); - if(!tokens.isEmpty()) { - throw haxe_Exception.thrown("Unexpected '" + Std.string(tokens.first().s) + "'"); - } -}; -haxe_Template.__name__ = true; -haxe_Template.prototype = { - execute: function(context,macros) { - this.macros = macros == null ? { } : macros; - this.context = context; - this.stack = new haxe_ds_List(); - this.buf = new StringBuf(); - this.run(this.expr); - return this.buf.b; - } - ,resolve: function(v) { - if(v == "__current__") { - return this.context; - } - if(Reflect.isObject(this.context)) { - var value = Reflect.getProperty(this.context,v); - if(value != null || Object.prototype.hasOwnProperty.call(this.context,v)) { - return value; - } - } - var _g_head = this.stack.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var ctx = val; - var value = Reflect.getProperty(ctx,v); - if(value != null || Object.prototype.hasOwnProperty.call(ctx,v)) { - return value; - } - } - return Reflect.field(haxe_Template.globals,v); - } - ,parseTokens: function(data) { - var tokens = new haxe_ds_List(); - while(haxe_Template.splitter.match(data)) { - var p = haxe_Template.splitter.matchedPos(); - if(p.pos > 0) { - tokens.add({ p : HxOverrides.substr(data,0,p.pos), s : true, l : null}); - } - if(HxOverrides.cca(data,p.pos) == 58) { - tokens.add({ p : HxOverrides.substr(data,p.pos + 2,p.len - 4), s : false, l : null}); - data = haxe_Template.splitter.matchedRight(); - continue; - } - var parp = p.pos + p.len; - var npar = 1; - var params = []; - var part = ""; - while(true) { - var c = HxOverrides.cca(data,parp); - ++parp; - if(c == 40) { - ++npar; - } else if(c == 41) { - --npar; - if(npar <= 0) { - break; - } - } else if(c == null) { - throw haxe_Exception.thrown("Unclosed macro parenthesis"); - } - if(c == 44 && npar == 1) { - params.push(part); - part = ""; - } else { - part += String.fromCodePoint(c); - } - } - params.push(part); - tokens.add({ p : haxe_Template.splitter.matched(2), s : false, l : params}); - data = HxOverrides.substr(data,parp,data.length - parp); - } - if(data.length > 0) { - tokens.add({ p : data, s : true, l : null}); - } - return tokens; - } - ,parseBlock: function(tokens) { - var l = new haxe_ds_List(); - while(true) { - var t = tokens.first(); - if(t == null) { - break; - } - if(!t.s && (t.p == "end" || t.p == "else" || HxOverrides.substr(t.p,0,7) == "elseif ")) { - break; - } - l.add(this.parse(tokens)); - } - if(l.length == 1) { - return l.first(); - } - return haxe__$Template_TemplateExpr.OpBlock(l); - } - ,parse: function(tokens) { - var t = tokens.pop(); - var p = t.p; - if(t.s) { - return haxe__$Template_TemplateExpr.OpStr(p); - } - if(t.l != null) { - var pe = new haxe_ds_List(); - var _g = 0; - var _g1 = t.l; - while(_g < _g1.length) { - var p1 = _g1[_g]; - ++_g; - pe.add(this.parseBlock(this.parseTokens(p1))); - } - return haxe__$Template_TemplateExpr.OpMacro(p,pe); - } - var kwdEnd = function(kwd) { - var pos = -1; - var length = kwd.length; - if(HxOverrides.substr(p,0,length) == kwd) { - pos = length; - var _g_offset = 0; - var _g_s = HxOverrides.substr(p,length,null); - while(_g_offset < _g_s.length) { - var c = _g_s.charCodeAt(_g_offset++); - if(c == 32) { - ++pos; - } else { - break; - } - } - } - return pos; - }; - var pos = kwdEnd("if"); - if(pos > 0) { - p = HxOverrides.substr(p,pos,p.length - pos); - var e = this.parseExpr(p); - var eif = this.parseBlock(tokens); - var t = tokens.first(); - var eelse; - if(t == null) { - throw haxe_Exception.thrown("Unclosed 'if'"); - } - if(t.p == "end") { - tokens.pop(); - eelse = null; - } else if(t.p == "else") { - tokens.pop(); - eelse = this.parseBlock(tokens); - t = tokens.pop(); - if(t == null || t.p != "end") { - throw haxe_Exception.thrown("Unclosed 'else'"); - } - } else { - t.p = HxOverrides.substr(t.p,4,t.p.length - 4); - eelse = this.parse(tokens); - } - return haxe__$Template_TemplateExpr.OpIf(e,eif,eelse); - } - var pos = kwdEnd("foreach"); - if(pos >= 0) { - p = HxOverrides.substr(p,pos,p.length - pos); - var e = this.parseExpr(p); - var efor = this.parseBlock(tokens); - var t = tokens.pop(); - if(t == null || t.p != "end") { - throw haxe_Exception.thrown("Unclosed 'foreach'"); - } - return haxe__$Template_TemplateExpr.OpForeach(e,efor); - } - if(haxe_Template.expr_splitter.match(p)) { - return haxe__$Template_TemplateExpr.OpExpr(this.parseExpr(p)); - } - return haxe__$Template_TemplateExpr.OpVar(p); - } - ,parseExpr: function(data) { - var l = new haxe_ds_List(); - var expr = data; - while(haxe_Template.expr_splitter.match(data)) { - var p = haxe_Template.expr_splitter.matchedPos(); - var k = p.pos + p.len; - if(p.pos != 0) { - l.add({ p : HxOverrides.substr(data,0,p.pos), s : true}); - } - var p1 = haxe_Template.expr_splitter.matched(0); - l.add({ p : p1, s : p1.indexOf("\"") >= 0}); - data = haxe_Template.expr_splitter.matchedRight(); - } - if(data.length != 0) { - var _g_offset = 0; - var _g_s = data; - while(_g_offset < _g_s.length) { - var _g_key = _g_offset; - var _g_value = _g_s.charCodeAt(_g_offset++); - var i = _g_key; - var c = _g_value; - if(c != 32) { - l.add({ p : HxOverrides.substr(data,i,null), s : true}); - break; - } - } - } - var e; - try { - e = this.makeExpr(l); - if(!l.isEmpty()) { - throw haxe_Exception.thrown(l.first().p); - } - } catch( _g ) { - var _g1 = haxe_Exception.caught(_g).unwrap(); - if(typeof(_g1) == "string") { - var s = _g1; - throw haxe_Exception.thrown("Unexpected '" + s + "' in " + expr); - } else { - throw _g; - } - } - return function() { - try { - return e(); - } catch( _g ) { - var exc = haxe_Exception.caught(_g).unwrap(); - throw haxe_Exception.thrown("Error : " + Std.string(exc) + " in " + expr); - } - }; - } - ,makeConst: function(v) { - haxe_Template.expr_trim.match(v); - v = haxe_Template.expr_trim.matched(1); - if(HxOverrides.cca(v,0) == 34) { - var str = HxOverrides.substr(v,1,v.length - 2); - return function() { - return str; - }; - } - if(haxe_Template.expr_int.match(v)) { - var i = Std.parseInt(v); - return function() { - return i; - }; - } - if(haxe_Template.expr_float.match(v)) { - var f = parseFloat(v); - return function() { - return f; - }; - } - var me = this; - return function() { - return me.resolve(v); - }; - } - ,makePath: function(e,l) { - var p = l.first(); - if(p == null || p.p != ".") { - return e; - } - l.pop(); - var field = l.pop(); - if(field == null || !field.s) { - throw haxe_Exception.thrown(field.p); - } - var f = field.p; - haxe_Template.expr_trim.match(f); - f = haxe_Template.expr_trim.matched(1); - return this.makePath(function() { - return Reflect.field(e(),f); - },l); - } - ,makeExpr: function(l) { - return this.makePath(this.makeExpr2(l),l); - } - ,skipSpaces: function(l) { - var p = l.first(); - while(p != null) { - var _g_offset = 0; - var _g_s = p.p; - while(_g_offset < _g_s.length) { - var c = _g_s.charCodeAt(_g_offset++); - if(c != 32) { - return; - } - } - l.pop(); - p = l.first(); - } - } - ,makeExpr2: function(l) { - this.skipSpaces(l); - var p = l.pop(); - this.skipSpaces(l); - if(p == null) { - throw haxe_Exception.thrown(""); - } - if(p.s) { - return this.makeConst(p.p); - } - switch(p.p) { - case "!": - var e = this.makeExpr(l); - return function() { - var v = e(); - if(v != null) { - return v == false; - } else { - return true; - } - }; - case "(": - this.skipSpaces(l); - var e1 = this.makeExpr(l); - this.skipSpaces(l); - var p1 = l.pop(); - if(p1 == null || p1.s) { - throw haxe_Exception.thrown(p1); - } - if(p1.p == ")") { - return e1; - } - this.skipSpaces(l); - var e2 = this.makeExpr(l); - this.skipSpaces(l); - var p2 = l.pop(); - this.skipSpaces(l); - if(p2 == null || p2.p != ")") { - throw haxe_Exception.thrown(p2); - } - switch(p1.p) { - case "!=": - return function() { - return e1() != e2(); - }; - case "&&": - return function() { - return e1() && e2(); - }; - case "*": - return function() { - return e1() * e2(); - }; - case "+": - return function() { - return e1() + e2(); - }; - case "-": - return function() { - return e1() - e2(); - }; - case "/": - return function() { - return e1() / e2(); - }; - case "<": - return function() { - return e1() < e2(); - }; - case "<=": - return function() { - return e1() <= e2(); - }; - case "==": - return function() { - return e1() == e2(); - }; - case ">": - return function() { - return e1() > e2(); - }; - case ">=": - return function() { - return e1() >= e2(); - }; - case "||": - return function() { - return e1() || e2(); - }; - default: - throw haxe_Exception.thrown("Unknown operation " + p1.p); - } - break; - case "-": - var e3 = this.makeExpr(l); - return function() { - return -e3(); - }; - } - throw haxe_Exception.thrown(p.p); - } - ,run: function(e) { - switch(e._hx_index) { - case 0: - var v = e.v; - var _this = this.buf; - var x = Std.string(this.resolve(v)); - _this.b += Std.string(x); - break; - case 1: - var e1 = e.expr; - var _this = this.buf; - var x = Std.string(e1()); - _this.b += Std.string(x); - break; - case 2: - var e1 = e.expr; - var eif = e.eif; - var eelse = e.eelse; - var v = e1(); - if(v == null || v == false) { - if(eelse != null) { - this.run(eelse); - } - } else { - this.run(eif); - } - break; - case 3: - var str = e.str; - this.buf.b += str == null ? "null" : "" + str; - break; - case 4: - var l = e.l; - var _g_head = l.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var e1 = val; - this.run(e1); - } - break; - case 5: - var e1 = e.expr; - var loop = e.loop; - var v = e1(); - try { - var x = $getIterator(v); - if(x.hasNext == null) { - throw haxe_Exception.thrown(null); - } - v = x; - } catch( _g ) { - try { - if(v.hasNext == null) { - throw haxe_Exception.thrown(null); - } - } catch( _g1 ) { - throw haxe_Exception.thrown("Cannot iter on " + Std.string(v)); - } - } - this.stack.push(this.context); - var v1 = v; - var ctx = v1; - while(ctx.hasNext()) { - var ctx1 = ctx.next(); - this.context = ctx1; - this.run(loop); - } - this.context = this.stack.pop(); - break; - case 6: - var m = e.name; - var params = e.params; - var v = Reflect.field(this.macros,m); - var pl = []; - var old = this.buf; - pl.push($bind(this,this.resolve)); - var _g_head = params.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var p = val; - if(p._hx_index == 0) { - var v1 = p.v; - pl.push(this.resolve(v1)); - } else { - this.buf = new StringBuf(); - this.run(p); - pl.push(this.buf.b); - } - } - this.buf = old; - try { - var _this = this.buf; - var x = Std.string(v.apply(this.macros,pl)); - _this.b += Std.string(x); - } catch( _g ) { - var e = haxe_Exception.caught(_g).unwrap(); - var plstr; - try { - plstr = pl.join(","); - } catch( _g1 ) { - plstr = "???"; - } - var msg = "Macro call " + m + "(" + plstr + ") failed (" + Std.string(e) + ")"; - throw haxe_Exception.thrown(msg); - } - break; - } - } -}; -var haxe_ValueException = function(value,previous,native) { - haxe_Exception.call(this,String(value),previous,native); - this.value = value; -}; -haxe_ValueException.__name__ = true; -haxe_ValueException.__super__ = haxe_Exception; -haxe_ValueException.prototype = $extend(haxe_Exception.prototype,{ - unwrap: function() { - return this.value; - } -}); -var haxe_ds_List = function() { - this.length = 0; -}; -haxe_ds_List.__name__ = true; -haxe_ds_List.prototype = { - add: function(item) { - var x = new haxe_ds__$List_ListNode(item,null); - if(this.h == null) { - this.h = x; - } else { - this.q.next = x; - } - this.q = x; - this.length++; - } - ,push: function(item) { - var x = new haxe_ds__$List_ListNode(item,this.h); - this.h = x; - if(this.q == null) { - this.q = x; - } - this.length++; - } - ,first: function() { - if(this.h == null) { - return null; - } else { - return this.h.item; - } - } - ,pop: function() { - if(this.h == null) { - return null; - } - var x = this.h.item; - this.h = this.h.next; - if(this.h == null) { - this.q = null; - } - this.length--; - return x; - } - ,isEmpty: function() { - return this.h == null; - } - ,toString: function() { - var s_b = ""; - var first = true; - var l = this.h; - s_b += "{"; - while(l != null) { - if(first) { - first = false; - } else { - s_b += ", "; - } - s_b += Std.string(Std.string(l.item)); - l = l.next; - } - s_b += "}"; - return s_b; - } -}; -var haxe_ds__$List_ListNode = function(item,next) { - this.item = item; - this.next = next; -}; -haxe_ds__$List_ListNode.__name__ = true; -var js_Boot = function() { }; -js_Boot.__name__ = true; -js_Boot.__string_rec = function(o,s) { - if(o == null) { - return "null"; - } - if(s.length >= 5) { - return "<...>"; - } - var t = typeof(o); - if(t == "function" && (o.__name__ || o.__ename__)) { - t = "object"; - } - switch(t) { - case "function": - return ""; - case "object": - if(o.__enum__) { - var e = $hxEnums[o.__enum__]; - var con = e.__constructs__[o._hx_index]; - var n = con._hx_name; - if(con.__params__) { - s = s + "\t"; - return n + "(" + ((function($this) { - var $r; - var _g = []; - { - var _g1 = 0; - var _g2 = con.__params__; - while(true) { - if(!(_g1 < _g2.length)) { - break; - } - var p = _g2[_g1]; - _g1 = _g1 + 1; - _g.push(js_Boot.__string_rec(o[p],s)); - } - } - $r = _g; - return $r; - }(this))).join(",") + ")"; - } else { - return n; - } - } - if(((o) instanceof Array)) { - var str = "["; - s += "\t"; - var _g = 0; - var _g1 = o.length; - while(_g < _g1) { - var i = _g++; - str += (i > 0 ? "," : "") + js_Boot.__string_rec(o[i],s); - } - str += "]"; - return str; - } - var tostr; - try { - tostr = o.toString; - } catch( _g ) { - return "???"; - } - if(tostr != null && tostr != Object.toString && typeof(tostr) == "function") { - var s2 = o.toString(); - if(s2 != "[object Object]") { - return s2; - } - } - var str = "{\n"; - s += "\t"; - var hasp = o.hasOwnProperty != null; - var k = null; - for( k in o ) { - if(hasp && !o.hasOwnProperty(k)) { - continue; - } - if(k == "prototype" || k == "__class__" || k == "__super__" || k == "__interfaces__" || k == "__properties__") { - continue; - } - if(str.length != 2) { - str += ", \n"; - } - str += s + k + " : " + js_Boot.__string_rec(o[k],s); - } - s = s.substring(1); - str += "\n" + s + "}"; - return str; - case "string": - return o; - default: - return String(o); - } -}; -var xrfragment_Filter = $hx_exports["xrfragment"]["Filter"] = function(str) { - this.q = { }; - this.str = ""; - if(str != null) { - this.parse(str); - } -}; -xrfragment_Filter.__name__ = true; -xrfragment_Filter.prototype = { - toObject: function() { - return Reflect.copy(this.q); - } - ,get: function() { - return Reflect.copy(this.q); - } - ,parse: function(str) { - var token = str.split(" "); - var q = { }; - var process = function(str,prefix) { - if(prefix == null) { - prefix = ""; - } - str = StringTools.trim(str); - var k = str.split("=")[0]; - var v = str.split("=")[1]; - var filter = { }; - if(q[prefix + k]) { - filter = q[prefix + k]; - } - if(xrfragment_XRF.isProp.match(str)) { - var oper = ""; - if(str.indexOf(">") != -1) { - oper = ">"; - } - if(str.indexOf("<") != -1) { - oper = "<"; - } - if(xrfragment_XRF.isExclude.match(k)) { - k = HxOverrides.substr(k,1,null); - } - v = HxOverrides.substr(v,oper.length,null); - if(oper.length == 0) { - oper = "="; - } - var rule = { }; - if(xrfragment_XRF.isNumber.match(v)) { - rule[oper] = parseFloat(v); - } else { - rule[oper] = v; - } - q["expr"] = rule; - } - var value = xrfragment_XRF.isDeep.match(str) ? k.split("*").length - 1 : 0; - q["deep"] = value; - var value = xrfragment_XRF.isExclude.match(str) ? false : true; - q["show"] = value; - var value = k.replace(xrfragment_XRF.operators.r,""); - q["key"] = value; - q["value"] = v; - }; - var _g = 0; - var _g1 = token.length; - while(_g < _g1) { - var i = _g++; - process(token[i]); - } - return this.q = q; - } - ,test: function(obj) { - var qualify = false; - var _g = 0; - var _g1 = Reflect.fields(obj); - while(_g < _g1.length) { - var k = _g1[_g]; - ++_g; - var v = Std.string(Reflect.field(obj,k)); - if(this.testProperty(k,v)) { - qualify = true; - } - } - var _g = 0; - var _g1 = Reflect.fields(obj); - while(_g < _g1.length) { - var k = _g1[_g]; - ++_g; - var v = Std.string(Reflect.field(obj,k)); - if(this.testProperty(k,v,true)) { - qualify = false; - } - } - return qualify; - } - ,testProperty: function(property,value,exclude) { - var conds = 0; - var fails = 0; - var qualify = 0; - var testprop = function(expr) { - conds += 1; - fails += expr ? 0 : 1; - return expr; - }; - if(this.q[value] != null) { - var v = this.q[value]; - if(v[property] != null) { - return v[property]; - } - } - if(Reflect.field(this.q,"expr")) { - var f = Reflect.field(this.q,"expr"); - if(!Reflect.field(this.q,"show")) { - if(Reflect.field(f,"!=") != null && testprop((value == null ? "null" : "" + value) == Std.string(Reflect.field(f,"!="))) && exclude) { - ++qualify; - } - } else { - if(Reflect.field(f,"*") != null && testprop(parseFloat(value) != null)) { - ++qualify; - } - if(Reflect.field(f,">") != null && testprop(parseFloat(value) >= parseFloat(Reflect.field(f,">")))) { - ++qualify; - } - if(Reflect.field(f,"<") != null && testprop(parseFloat(value) <= parseFloat(Reflect.field(f,"<")))) { - ++qualify; - } - if(Reflect.field(f,"=") != null && (testprop(value == Reflect.field(f,"=")) || testprop(parseFloat(value) == parseFloat(Reflect.field(f,"="))))) { - ++qualify; - } - } - } - return qualify > 0; - } -}; -var xrfragment_Parser = $hx_exports["xrfragment"]["Parser"] = function() { }; -xrfragment_Parser.__name__ = true; -xrfragment_Parser.parse = function(key,value,store,index) { - var Frag_h = Object.create(null); - Frag_h["#"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_PREDEFINED_VIEW | xrfragment_XRF.PV_EXECUTE; - Frag_h["src"] = xrfragment_XRF.T_URL; - Frag_h["href"] = xrfragment_XRF.T_URL | xrfragment_XRF.T_PREDEFINED_VIEW; - Frag_h["tag"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["pos"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_VECTOR3 | xrfragment_XRF.T_STRING | xrfragment_XRF.METADATA | xrfragment_XRF.NAVIGATOR; - Frag_h["rot"] = xrfragment_XRF.QUERY_OPERATOR | xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_VECTOR3 | xrfragment_XRF.METADATA | xrfragment_XRF.NAVIGATOR; - Frag_h["t"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_FLOAT | xrfragment_XRF.T_VECTOR2 | xrfragment_XRF.NAVIGATOR | xrfragment_XRF.METADATA; - Frag_h["s"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_MEDIAFRAG; - Frag_h["loop"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_PREDEFINED_VIEW; - Frag_h["uv"] = xrfragment_XRF.T_VECTOR2 | xrfragment_XRF.T_MEDIAFRAG; - Frag_h["namespace"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["SPDX"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["unit"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["description"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - var keyStripped = key.replace(xrfragment_XRF.operators.r,""); - var isPVDynamic = key.length > 0 && !Object.prototype.hasOwnProperty.call(Frag_h,key); - if(isPVDynamic) { - var v = new xrfragment_XRF(key,xrfragment_XRF.PV_EXECUTE | xrfragment_XRF.NAVIGATOR,index); - v.validate(value); - v.flags = xrfragment_XRF.set(xrfragment_XRF.T_DYNAMICKEY,v.flags); - if(!Object.prototype.hasOwnProperty.call(Frag_h,key)) { - v.flags = xrfragment_XRF.set(xrfragment_XRF.CUSTOMFRAG,v.flags); - } - if(value.length == 0) { - v.flags = xrfragment_XRF.set(xrfragment_XRF.T_DYNAMICKEYVALUE,v.flags); - } - store[keyStripped] = v; - return true; - } - var v = new xrfragment_XRF(key,Frag_h[key],index); - if(Object.prototype.hasOwnProperty.call(Frag_h,key)) { - if(!v.validate(value)) { - console.log("src/xrfragment/Parser.hx:67:","⚠ fragment '" + key + "' has incompatible value (" + value + ")"); - return false; - } - store[keyStripped] = v; - if(xrfragment_Parser.debug) { - console.log("src/xrfragment/Parser.hx:71:","✔ " + key + ": " + v.string); - } - } else { - if(typeof(value) == "string") { - v.guessType(v,value); - } - v.flags = xrfragment_XRF.set(xrfragment_XRF.CUSTOMFRAG,v.flags); - store[keyStripped] = v; - } - return true; -}; -xrfragment_Parser.getMetaData = function() { - var meta = { title : ["title","og:title","dc.title"], description : ["aria-description","og:description","dc.description"], author : ["author","dc.creator"], publisher : ["publisher","dc.publisher"], website : ["og:site_name","og:url","dc.publisher"], license : ["SPDX","dc.rights"]}; - return meta; -}; -var xrfragment_URI = $hx_exports["xrfragment"]["URI"] = function() { - this.XRF = { }; - this.hash = { }; - this.fragment = ""; -}; -xrfragment_URI.__name__ = true; -xrfragment_URI.parseFragment = function(url,filter) { - var store = { }; - if(url == null || url.indexOf("#") == -1) { - return store; - } - var fragment = url.split("#"); - var splitArray = fragment[1].split("&"); - var _g = 0; - var _g1 = splitArray.length; - while(_g < _g1) { - var i = _g++; - var splitByEqual = splitArray[i].split("="); - var regexPlus = new EReg("\\+","g"); - var key = splitByEqual[0]; - var value = ""; - if(splitByEqual.length > 1) { - if(xrfragment_XRF.isVector.match(splitByEqual[1])) { - value = splitByEqual[1]; - } else { - var s = regexPlus.split(splitByEqual[1]).join(" "); - value = decodeURIComponent(s.split("+").join(" ")); - } - } - var ok = xrfragment_Parser.parse(key,value,store,i); - } - if(filter != null && filter != 0) { - var _g = 0; - var _g1 = Reflect.fields(store); - while(_g < _g1.length) { - var key = _g1[_g]; - ++_g; - var xrf = store[key]; - if(!xrf.is(filter)) { - Reflect.deleteField(store,key); - } - } - } - return store; -}; -xrfragment_URI.template = function(uri,vars) { - var parts = uri.split("#"); - if(parts.length == 1) { - return uri; - } - var frag = parts[1]; - frag = StringTools.replace(frag,"{","::"); - frag = StringTools.replace(frag,"}","::"); - frag = new haxe_Template(frag).execute(vars); - frag = StringTools.replace(frag,"null",""); - parts[1] = frag; - return parts.join("#"); -}; -xrfragment_URI.parse = function(stringUrl,flags) { - var r = new EReg("^(?:(?![^:@]+:[^:@/]*@)([^:/?#.]+):)?(?://)?((?:(([^:@]*)(?::([^:@]*))?)?@)?([^:/?#]*)(?::(\\d*))?)(((/(?:[^?#](?![^?#/]*\\.[^?#/.]+(?:[?#]|$)))*/?)?([^?#/]*))(?:\\?([^#]*))?(?:#(.*))?)",""); - if(stringUrl.indexOf("://") == -1 && stringUrl.charAt(0) != "/") { - stringUrl = "/" + stringUrl; - } - r.match(stringUrl); - var url = new xrfragment_URI(); - var _g = 0; - var _g1 = xrfragment_URI._parts.length; - while(_g < _g1) { - var i = _g++; - url[xrfragment_URI._parts[i]] = r.matched(i); - } - if(xrfragment_URI.isRelative(url) == true) { - if(url.directory == null && url.host != null) { - url.file = url.host; - } - url.host = ""; - } - url.hash = { }; - if(url.fragment != null && url.fragment.length > 0) { - url.XRF = xrfragment_URI.parseFragment("#" + url.fragment,flags); - var key; - var _g = 0; - var _g1 = Reflect.fields(url.XRF); - while(_g < _g1.length) { - var key = _g1[_g]; - ++_g; - var v = url.XRF[key]; - url.hash[key] = v["string"]; - } - } - xrfragment_URI.computeVars(url); - return url; -}; -xrfragment_URI.computeVars = function(url) { - var r_r = new RegExp("//","g".split("u").join("")); - if(url.directory != null && url.directory.indexOf("//") != -1) { - url.directory = url.directory.replace(r_r,"/"); - } - if(url.path != null && url.path.indexOf("//") != -1) { - url.path = url.path.replace(r_r,"/"); - } - if(url.file != null && url.file.indexOf("//") != -1) { - url.file = url.file.replace(r_r,"/"); - } - url.URN = url.scheme + "://" + url.host; - if(url.port != null) { - url.URN += ":" + url.port; - } - url.URN += url.directory; - if(url.file != null) { - var parts = url.file.split("."); - if(parts.length > 1) { - url.fileExt = parts.pop(); - } - } -}; -xrfragment_URI.toString = function(url) { - var result = ""; - if(url.scheme != null) { - result += url.scheme + "://"; - } - if(url.user != null) { - result += url.user + ":"; - } - if(url.password != null) { - result += url.password + "@"; - } - if(url.host != null) { - result += url.host; - } - if(url.port != null) { - result += ":" + url.port; - } - if(url.directory != null) { - result += url.directory; - } - if(url.file != null) { - result += url.file; - } - if(url.query != null) { - result += "?" + url.query; - } - if(url.fragment != null) { - result += "#" + url.fragment; - } - return result; -}; -xrfragment_URI.appendURI = function(url,appendedURI) { - if(xrfragment_URI.isRelative(url) == true) { - return xrfragment_URI.appendToRelativeURI(url,appendedURI); - } else { - return xrfragment_URI.appendToAbsoluteURI(url,appendedURI); - } -}; -xrfragment_URI.isRelative = function(url) { - return url.scheme == null; -}; -xrfragment_URI.appendToRelativeURI = function(url,appendedURI) { - if(url.directory == null || url.host == null) { - return xrfragment_URI.cloneURI(appendedURI); - } - var resultURI = new xrfragment_URI(); - resultURI.host = url.host; - resultURI.directory = url.directory; - if(appendedURI.host != null) { - resultURI.directory += appendedURI.host; - } - if(appendedURI.directory != null) { - var directory = appendedURI.directory; - if(appendedURI.host == null) { - resultURI.directory += HxOverrides.substr(directory,1,null); - } else { - resultURI.directory += directory; - } - } - if(appendedURI.file != null) { - resultURI.file = appendedURI.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(appendedURI.query != null) { - resultURI.query = appendedURI.query; - } - if(appendedURI.fragment != null) { - resultURI.fragment = appendedURI.fragment; - } - return resultURI; -}; -xrfragment_URI.appendToAbsoluteURI = function(url,appendedURI) { - var resultURI = new xrfragment_URI(); - if(url.scheme != null) { - resultURI.scheme = url.scheme; - } - if(url.host != null) { - resultURI.host = url.host; - } - var directory = ""; - if(url.directory != null) { - directory = url.directory; - } - if(appendedURI.host != null) { - appendedURI.directory += appendedURI.host; - } - if(appendedURI.directory != null) { - directory += appendedURI.directory; - } - resultURI.directory = directory; - if(appendedURI.file != null) { - resultURI.file = appendedURI.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(appendedURI.query != null) { - resultURI.query = appendedURI.query; - } - if(appendedURI.fragment != null) { - resultURI.fragment = appendedURI.fragment; - } - return resultURI; -}; -xrfragment_URI.toAbsolute = function(url,newUrl) { - var newURI = xrfragment_URI.parse(newUrl,0); - var resultURI = new xrfragment_URI(); - resultURI.port = url.port; - resultURI.source = newUrl; - if(newURI.scheme != null) { - resultURI.scheme = newURI.scheme; - } else { - resultURI.scheme = url.scheme; - } - if(newURI.host != null && newURI.host.length > 0) { - resultURI.host = newURI.host; - resultURI.port = null; - resultURI.fragment = null; - resultURI.hash = { }; - resultURI.XRF = { }; - if(newURI.port != null) { - resultURI.port = newURI.port; - } - } else { - resultURI.host = url.host; - } - var directory = ""; - if(url.directory != null) { - directory = url.directory; - } - if(newURI.directory != null) { - if(newUrl.charAt(0) != "/" && newUrl.indexOf("://") == -1) { - var stripRelative_r = new RegExp("\\./.*","".split("u").join("")); - directory = directory.replace(stripRelative_r,""); - directory += newURI.directory; - } else { - directory = newURI.directory; - } - } - resultURI.directory = directory; - if(newURI.file != null) { - resultURI.file = newURI.file; - } else { - resultURI.file = url.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(newURI.query != null) { - resultURI.query = newURI.query; - } - if(newURI.fragment != null) { - resultURI.fragment = newURI.fragment; - } - resultURI.hash = newURI.hash; - resultURI.XRF = newURI.XRF; - xrfragment_URI.computeVars(resultURI); - return resultURI; -}; -xrfragment_URI.cloneURI = function(url) { - var clonedURI = new xrfragment_URI(); - clonedURI.url = url.url; - clonedURI.source = url.source; - clonedURI.scheme = url.scheme; - clonedURI.authority = url.authority; - clonedURI.userInfo = url.userInfo; - clonedURI.password = url.password; - clonedURI.host = url.host; - clonedURI.port = url.port; - clonedURI.relative = url.relative; - clonedURI.path = url.path; - clonedURI.directory = url.directory; - clonedURI.file = url.file; - clonedURI.query = url.query; - clonedURI.fragment = url.fragment; - return clonedURI; -}; -var xrfragment_XRF = $hx_exports["xrfragment"]["XRF"] = function(_fragment,_flags,_index) { - this.floats = []; - this.shift = []; - this.fragment = _fragment; - this.flags = _flags; - this.index = _index; -}; -xrfragment_XRF.__name__ = true; -xrfragment_XRF.set = function(flag,flags) { - return flags | flag; -}; -xrfragment_XRF.unset = function(flag,flags) { - return flags & ~flag; -}; -xrfragment_XRF.prototype = { - is: function(flag) { - var v = this.flags; - if(!(typeof(v) == "number" && ((v | 0) === v))) { - this.flags = 0; - } - return (this.flags & flag) != 0; - } - ,validate: function(value) { - this.guessType(this,value); - var ok = true; - if(value.length == 0 && !this.is(xrfragment_XRF.T_PREDEFINED_VIEW)) { - ok = false; - } - if(!this.is(xrfragment_XRF.T_FLOAT) && this.is(xrfragment_XRF.T_VECTOR2) && !(typeof(this.x) == "number" && typeof(this.y) == "number")) { - ok = false; - } - if(!(this.is(xrfragment_XRF.T_VECTOR2) || this.is(xrfragment_XRF.T_STRING)) && this.is(xrfragment_XRF.T_VECTOR3) && !(typeof(this.x) == "number" && typeof(this.y) == "number" && typeof(this.z) == "number")) { - ok = false; - } - return ok; - } - ,guessType: function(v,str) { - v.string = str; - if(xrfragment_XRF.isReset.match(v.fragment)) { - v.reset = true; - } - if(v.fragment == "loop") { - v.loop = true; - } - if(typeof(str) != "string") { - return; - } - if(str.length > 0) { - if(xrfragment_XRF.isXRFScheme.match(str)) { - v.xrfScheme = true; - str = str.replace(xrfragment_XRF.isXRFScheme.r,""); - v.string = str; - } - if(str.split(",").length > 1) { - var xyzn = str.split(","); - if(xyzn.length > 0) { - v.x = parseFloat(xyzn[0]); - } - if(xyzn.length > 1) { - v.y = parseFloat(xyzn[1]); - } - if(xyzn.length > 2) { - v.z = parseFloat(xyzn[2]); - } - var _g = 0; - var _g1 = xyzn.length; - while(_g < _g1) { - var i = _g++; - v.shift.push(xrfragment_XRF.isShift.match(xyzn[i])); - v.floats.push(parseFloat(xyzn[i].replace(xrfragment_XRF.isShift.r,""))); - } - } - if(xrfragment_XRF.isColor.match(str)) { - v.color = str; - } - if(xrfragment_XRF.isFloat.match(str)) { - v.x = parseFloat(str); - v.float = v.x; - } - if(xrfragment_XRF.isInt.match(str)) { - v.int = Std.parseInt(str); - v.x = v.int; - v.floats.push(v.x); - } - v.filter = new xrfragment_Filter(v.fragment + "=" + v.string); - } else { - v.filter = new xrfragment_Filter(v.fragment); - } - } -}; -function $getIterator(o) { if( o instanceof Array ) return new haxe_iterators_ArrayIterator(o); else return o.iterator(); } -function $bind(o,m) { if( m == null ) return null; if( m.__id__ == null ) m.__id__ = $global.$haxeUID++; var f; if( o.hx__closures__ == null ) o.hx__closures__ = {}; else f = o.hx__closures__[m.__id__]; if( f == null ) { f = m.bind(o); o.hx__closures__[m.__id__] = f; } return f; } -$global.$haxeUID |= 0; -if(typeof(performance) != "undefined" ? typeof(performance.now) == "function" : false) { - HxOverrides.now = performance.now.bind(performance); -} -if( String.fromCodePoint == null ) String.fromCodePoint = function(c) { return c < 0x10000 ? String.fromCharCode(c) : String.fromCharCode((c>>10)+0xD7C0)+String.fromCharCode((c&0x3FF)+0xDC00); } -String.__name__ = true; -Array.__name__ = true; -js_Boot.__toStr = ({ }).toString; -haxe_Template.splitter = new EReg("(::[A-Za-z0-9_ ()&|!+=/><*.\"-]+::|\\$\\$([A-Za-z0-9_-]+)\\()",""); -haxe_Template.expr_splitter = new EReg("(\\(|\\)|[ \r\n\t]*\"[^\"]*\"[ \r\n\t]*|[!+=/><*.&|-]+)",""); -haxe_Template.expr_trim = new EReg("^[ ]*([^ ]+)[ ]*$",""); -haxe_Template.expr_int = new EReg("^[0-9]+$",""); -haxe_Template.expr_float = new EReg("^([+-]?)(?=\\d|,\\d)\\d*(,\\d*)?([Ee]([+-]?\\d+))?$",""); -haxe_Template.globals = { }; -haxe_Template.hxKeepArrayIterator = new haxe_iterators_ArrayIterator([]); -xrfragment_Parser.error = ""; -xrfragment_Parser.debug = false; -xrfragment_URI.__meta__ = { statics : { template : { keep : null}}}; -xrfragment_URI._parts = ["source","scheme","authority","userInfo","user","password","host","port","relative","path","directory","file","query","fragment"]; -xrfragment_XRF.IMMUTABLE = 1; -xrfragment_XRF.PROP_BIND = 2; -xrfragment_XRF.QUERY_OPERATOR = 4; -xrfragment_XRF.PROMPT = 8; -xrfragment_XRF.CUSTOMFRAG = 16; -xrfragment_XRF.NAVIGATOR = 32; -xrfragment_XRF.METADATA = 64; -xrfragment_XRF.PV_OVERRIDE = 128; -xrfragment_XRF.PV_EXECUTE = 256; -xrfragment_XRF.T_COLOR = 8192; -xrfragment_XRF.T_INT = 16384; -xrfragment_XRF.T_FLOAT = 32768; -xrfragment_XRF.T_VECTOR2 = 65536; -xrfragment_XRF.T_VECTOR3 = 131072; -xrfragment_XRF.T_URL = 262144; -xrfragment_XRF.T_PREDEFINED_VIEW = 524288; -xrfragment_XRF.T_STRING = 1048576; -xrfragment_XRF.T_MEDIAFRAG = 2097152; -xrfragment_XRF.T_DYNAMICKEY = 4194304; -xrfragment_XRF.T_DYNAMICKEYVALUE = 8388608; -xrfragment_XRF.isColor = new EReg("^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$",""); -xrfragment_XRF.isInt = new EReg("^[-0-9]+$",""); -xrfragment_XRF.isFloat = new EReg("^[-0-9]+\\.[0-9]+$",""); -xrfragment_XRF.isVector = new EReg("([,]+|\\w)",""); -xrfragment_XRF.isUrl = new EReg("(://)?\\..*",""); -xrfragment_XRF.isUrlOrPretypedView = new EReg("(^#|://)?\\..*",""); -xrfragment_XRF.isString = new EReg(".*",""); -xrfragment_XRF.operators = new EReg("(^[-]|^[!]|[\\*]$)","g"); -xrfragment_XRF.isProp = new EReg("^.*=[><=]?",""); -xrfragment_XRF.isExclude = new EReg("^-",""); -xrfragment_XRF.isDeep = new EReg("\\*",""); -xrfragment_XRF.isNumber = new EReg("^[0-9\\.]+$",""); -xrfragment_XRF.isMediaFrag = new EReg("^([0-9\\.,\\*+-]+)$",""); -xrfragment_XRF.isReset = new EReg("^!",""); -xrfragment_XRF.isShift = new EReg("^(\\+|--)",""); -xrfragment_XRF.isXRFScheme = new EReg("^xrf://",""); -})(typeof window != "undefined" ? window : typeof global != "undefined" ? global : typeof self != "undefined" ? self : this); -var xrfragment = $hx_exports["xrfragment"]; -export default xrfragment; -// Generated by Haxe 4.3.3 -var $hx_exports = typeof exports != "undefined" ? exports : typeof window != "undefined" ? window : typeof self != "undefined" ? self : this; -(function ($global) { "use strict"; -$hx_exports["xrfragment"] = $hx_exports["xrfragment"] || {}; -var $estr = function() { return js_Boot.__string_rec(this,''); },$hxEnums = $hxEnums || {},$_; -function $extend(from, fields) { - var proto = Object.create(from); - for (var name in fields) proto[name] = fields[name]; - if( fields.toString !== Object.prototype.toString ) proto.toString = fields.toString; - return proto; -} -var EReg = function(r,opt) { - this.r = new RegExp(r,opt.split("u").join("")); -}; -EReg.__name__ = true; -EReg.prototype = { - match: function(s) { - if(this.r.global) { - this.r.lastIndex = 0; - } - this.r.m = this.r.exec(s); - this.r.s = s; - return this.r.m != null; - } - ,matched: function(n) { - if(this.r.m != null && n >= 0 && n < this.r.m.length) { - return this.r.m[n]; - } else { - throw haxe_Exception.thrown("EReg::matched"); - } - } - ,matchedRight: function() { - if(this.r.m == null) { - throw haxe_Exception.thrown("No string matched"); - } - var sz = this.r.m.index + this.r.m[0].length; - return HxOverrides.substr(this.r.s,sz,this.r.s.length - sz); - } - ,matchedPos: function() { - if(this.r.m == null) { - throw haxe_Exception.thrown("No string matched"); - } - return { pos : this.r.m.index, len : this.r.m[0].length}; - } - ,split: function(s) { - var d = "#__delim__#"; - return s.replace(this.r,d).split(d); - } -}; -var HxOverrides = function() { }; -HxOverrides.__name__ = true; -HxOverrides.cca = function(s,index) { - var x = s.charCodeAt(index); - if(x != x) { - return undefined; - } - return x; -}; -HxOverrides.substr = function(s,pos,len) { - if(len == null) { - len = s.length; - } else if(len < 0) { - if(pos == 0) { - len = s.length + len; - } else { - return ""; - } - } - return s.substr(pos,len); -}; -HxOverrides.now = function() { - return Date.now(); -}; -Math.__name__ = true; -var Reflect = function() { }; -Reflect.__name__ = true; -Reflect.field = function(o,field) { - try { - return o[field]; - } catch( _g ) { - return null; - } -}; -Reflect.getProperty = function(o,field) { - var tmp; - if(o == null) { - return null; - } else { - var tmp1; - if(o.__properties__) { - tmp = o.__properties__["get_" + field]; - tmp1 = tmp; - } else { - tmp1 = false; - } - if(tmp1) { - return o[tmp](); - } else { - return o[field]; - } - } -}; -Reflect.fields = function(o) { - var a = []; - if(o != null) { - var hasOwnProperty = Object.prototype.hasOwnProperty; - for( var f in o ) { - if(f != "__id__" && f != "hx__closures__" && hasOwnProperty.call(o,f)) { - a.push(f); - } - } - } - return a; -}; -Reflect.isObject = function(v) { - if(v == null) { - return false; - } - var t = typeof(v); - if(!(t == "string" || t == "object" && v.__enum__ == null)) { - if(t == "function") { - return (v.__name__ || v.__ename__) != null; - } else { - return false; - } - } else { - return true; - } -}; -Reflect.deleteField = function(o,field) { - if(!Object.prototype.hasOwnProperty.call(o,field)) { - return false; - } - delete(o[field]); - return true; -}; -Reflect.copy = function(o) { - if(o == null) { - return null; - } - var o2 = { }; - var _g = 0; - var _g1 = Reflect.fields(o); - while(_g < _g1.length) { - var f = _g1[_g]; - ++_g; - o2[f] = Reflect.field(o,f); - } - return o2; -}; -var Std = function() { }; -Std.__name__ = true; -Std.string = function(s) { - return js_Boot.__string_rec(s,""); -}; -Std.parseInt = function(x) { - var v = parseInt(x); - if(isNaN(v)) { - return null; - } - return v; -}; -var StringBuf = function() { - this.b = ""; -}; -StringBuf.__name__ = true; -var StringTools = function() { }; -StringTools.__name__ = true; -StringTools.isSpace = function(s,pos) { - var c = HxOverrides.cca(s,pos); - if(!(c > 8 && c < 14)) { - return c == 32; - } else { - return true; - } -}; -StringTools.ltrim = function(s) { - var l = s.length; - var r = 0; - while(r < l && StringTools.isSpace(s,r)) ++r; - if(r > 0) { - return HxOverrides.substr(s,r,l - r); - } else { - return s; - } -}; -StringTools.rtrim = function(s) { - var l = s.length; - var r = 0; - while(r < l && StringTools.isSpace(s,l - r - 1)) ++r; - if(r > 0) { - return HxOverrides.substr(s,0,l - r); - } else { - return s; - } -}; -StringTools.trim = function(s) { - return StringTools.ltrim(StringTools.rtrim(s)); -}; -StringTools.replace = function(s,sub,by) { - return s.split(sub).join(by); -}; -var haxe_Exception = function(message,previous,native) { - Error.call(this,message); - this.message = message; - this.__previousException = previous; - this.__nativeException = native != null ? native : this; -}; -haxe_Exception.__name__ = true; -haxe_Exception.caught = function(value) { - if(((value) instanceof haxe_Exception)) { - return value; - } else if(((value) instanceof Error)) { - return new haxe_Exception(value.message,null,value); - } else { - return new haxe_ValueException(value,null,value); - } -}; -haxe_Exception.thrown = function(value) { - if(((value) instanceof haxe_Exception)) { - return value.get_native(); - } else if(((value) instanceof Error)) { - return value; - } else { - var e = new haxe_ValueException(value); - return e; - } -}; -haxe_Exception.__super__ = Error; -haxe_Exception.prototype = $extend(Error.prototype,{ - unwrap: function() { - return this.__nativeException; - } - ,get_native: function() { - return this.__nativeException; - } - ,__properties__: {get_native:"get_native"} -}); -var haxe__$Template_TemplateExpr = $hxEnums["haxe._Template.TemplateExpr"] = { __ename__:true,__constructs__:null - ,OpVar: ($_=function(v) { return {_hx_index:0,v:v,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpVar",$_.__params__ = ["v"],$_) - ,OpExpr: ($_=function(expr) { return {_hx_index:1,expr:expr,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpExpr",$_.__params__ = ["expr"],$_) - ,OpIf: ($_=function(expr,eif,eelse) { return {_hx_index:2,expr:expr,eif:eif,eelse:eelse,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpIf",$_.__params__ = ["expr","eif","eelse"],$_) - ,OpStr: ($_=function(str) { return {_hx_index:3,str:str,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpStr",$_.__params__ = ["str"],$_) - ,OpBlock: ($_=function(l) { return {_hx_index:4,l:l,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpBlock",$_.__params__ = ["l"],$_) - ,OpForeach: ($_=function(expr,loop) { return {_hx_index:5,expr:expr,loop:loop,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpForeach",$_.__params__ = ["expr","loop"],$_) - ,OpMacro: ($_=function(name,params) { return {_hx_index:6,name:name,params:params,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpMacro",$_.__params__ = ["name","params"],$_) -}; -haxe__$Template_TemplateExpr.__constructs__ = [haxe__$Template_TemplateExpr.OpVar,haxe__$Template_TemplateExpr.OpExpr,haxe__$Template_TemplateExpr.OpIf,haxe__$Template_TemplateExpr.OpStr,haxe__$Template_TemplateExpr.OpBlock,haxe__$Template_TemplateExpr.OpForeach,haxe__$Template_TemplateExpr.OpMacro]; -var haxe_iterators_ArrayIterator = function(array) { - this.current = 0; - this.array = array; -}; -haxe_iterators_ArrayIterator.__name__ = true; -haxe_iterators_ArrayIterator.prototype = { - hasNext: function() { - return this.current < this.array.length; - } - ,next: function() { - return this.array[this.current++]; - } -}; -var haxe_Template = function(str) { - var tokens = this.parseTokens(str); - this.expr = this.parseBlock(tokens); - if(!tokens.isEmpty()) { - throw haxe_Exception.thrown("Unexpected '" + Std.string(tokens.first().s) + "'"); - } -}; -haxe_Template.__name__ = true; -haxe_Template.prototype = { - execute: function(context,macros) { - this.macros = macros == null ? { } : macros; - this.context = context; - this.stack = new haxe_ds_List(); - this.buf = new StringBuf(); - this.run(this.expr); - return this.buf.b; - } - ,resolve: function(v) { - if(v == "__current__") { - return this.context; - } - if(Reflect.isObject(this.context)) { - var value = Reflect.getProperty(this.context,v); - if(value != null || Object.prototype.hasOwnProperty.call(this.context,v)) { - return value; - } - } - var _g_head = this.stack.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var ctx = val; - var value = Reflect.getProperty(ctx,v); - if(value != null || Object.prototype.hasOwnProperty.call(ctx,v)) { - return value; - } - } - return Reflect.field(haxe_Template.globals,v); - } - ,parseTokens: function(data) { - var tokens = new haxe_ds_List(); - while(haxe_Template.splitter.match(data)) { - var p = haxe_Template.splitter.matchedPos(); - if(p.pos > 0) { - tokens.add({ p : HxOverrides.substr(data,0,p.pos), s : true, l : null}); - } - if(HxOverrides.cca(data,p.pos) == 58) { - tokens.add({ p : HxOverrides.substr(data,p.pos + 2,p.len - 4), s : false, l : null}); - data = haxe_Template.splitter.matchedRight(); - continue; - } - var parp = p.pos + p.len; - var npar = 1; - var params = []; - var part = ""; - while(true) { - var c = HxOverrides.cca(data,parp); - ++parp; - if(c == 40) { - ++npar; - } else if(c == 41) { - --npar; - if(npar <= 0) { - break; - } - } else if(c == null) { - throw haxe_Exception.thrown("Unclosed macro parenthesis"); - } - if(c == 44 && npar == 1) { - params.push(part); - part = ""; - } else { - part += String.fromCodePoint(c); - } - } - params.push(part); - tokens.add({ p : haxe_Template.splitter.matched(2), s : false, l : params}); - data = HxOverrides.substr(data,parp,data.length - parp); - } - if(data.length > 0) { - tokens.add({ p : data, s : true, l : null}); - } - return tokens; - } - ,parseBlock: function(tokens) { - var l = new haxe_ds_List(); - while(true) { - var t = tokens.first(); - if(t == null) { - break; - } - if(!t.s && (t.p == "end" || t.p == "else" || HxOverrides.substr(t.p,0,7) == "elseif ")) { - break; - } - l.add(this.parse(tokens)); - } - if(l.length == 1) { - return l.first(); - } - return haxe__$Template_TemplateExpr.OpBlock(l); - } - ,parse: function(tokens) { - var t = tokens.pop(); - var p = t.p; - if(t.s) { - return haxe__$Template_TemplateExpr.OpStr(p); - } - if(t.l != null) { - var pe = new haxe_ds_List(); - var _g = 0; - var _g1 = t.l; - while(_g < _g1.length) { - var p1 = _g1[_g]; - ++_g; - pe.add(this.parseBlock(this.parseTokens(p1))); - } - return haxe__$Template_TemplateExpr.OpMacro(p,pe); - } - var kwdEnd = function(kwd) { - var pos = -1; - var length = kwd.length; - if(HxOverrides.substr(p,0,length) == kwd) { - pos = length; - var _g_offset = 0; - var _g_s = HxOverrides.substr(p,length,null); - while(_g_offset < _g_s.length) { - var c = _g_s.charCodeAt(_g_offset++); - if(c == 32) { - ++pos; - } else { - break; - } - } - } - return pos; - }; - var pos = kwdEnd("if"); - if(pos > 0) { - p = HxOverrides.substr(p,pos,p.length - pos); - var e = this.parseExpr(p); - var eif = this.parseBlock(tokens); - var t = tokens.first(); - var eelse; - if(t == null) { - throw haxe_Exception.thrown("Unclosed 'if'"); - } - if(t.p == "end") { - tokens.pop(); - eelse = null; - } else if(t.p == "else") { - tokens.pop(); - eelse = this.parseBlock(tokens); - t = tokens.pop(); - if(t == null || t.p != "end") { - throw haxe_Exception.thrown("Unclosed 'else'"); - } - } else { - t.p = HxOverrides.substr(t.p,4,t.p.length - 4); - eelse = this.parse(tokens); - } - return haxe__$Template_TemplateExpr.OpIf(e,eif,eelse); - } - var pos = kwdEnd("foreach"); - if(pos >= 0) { - p = HxOverrides.substr(p,pos,p.length - pos); - var e = this.parseExpr(p); - var efor = this.parseBlock(tokens); - var t = tokens.pop(); - if(t == null || t.p != "end") { - throw haxe_Exception.thrown("Unclosed 'foreach'"); - } - return haxe__$Template_TemplateExpr.OpForeach(e,efor); - } - if(haxe_Template.expr_splitter.match(p)) { - return haxe__$Template_TemplateExpr.OpExpr(this.parseExpr(p)); - } - return haxe__$Template_TemplateExpr.OpVar(p); - } - ,parseExpr: function(data) { - var l = new haxe_ds_List(); - var expr = data; - while(haxe_Template.expr_splitter.match(data)) { - var p = haxe_Template.expr_splitter.matchedPos(); - var k = p.pos + p.len; - if(p.pos != 0) { - l.add({ p : HxOverrides.substr(data,0,p.pos), s : true}); - } - var p1 = haxe_Template.expr_splitter.matched(0); - l.add({ p : p1, s : p1.indexOf("\"") >= 0}); - data = haxe_Template.expr_splitter.matchedRight(); - } - if(data.length != 0) { - var _g_offset = 0; - var _g_s = data; - while(_g_offset < _g_s.length) { - var _g_key = _g_offset; - var _g_value = _g_s.charCodeAt(_g_offset++); - var i = _g_key; - var c = _g_value; - if(c != 32) { - l.add({ p : HxOverrides.substr(data,i,null), s : true}); - break; - } - } - } - var e; - try { - e = this.makeExpr(l); - if(!l.isEmpty()) { - throw haxe_Exception.thrown(l.first().p); - } - } catch( _g ) { - var _g1 = haxe_Exception.caught(_g).unwrap(); - if(typeof(_g1) == "string") { - var s = _g1; - throw haxe_Exception.thrown("Unexpected '" + s + "' in " + expr); - } else { - throw _g; - } - } - return function() { - try { - return e(); - } catch( _g ) { - var exc = haxe_Exception.caught(_g).unwrap(); - throw haxe_Exception.thrown("Error : " + Std.string(exc) + " in " + expr); - } - }; - } - ,makeConst: function(v) { - haxe_Template.expr_trim.match(v); - v = haxe_Template.expr_trim.matched(1); - if(HxOverrides.cca(v,0) == 34) { - var str = HxOverrides.substr(v,1,v.length - 2); - return function() { - return str; - }; - } - if(haxe_Template.expr_int.match(v)) { - var i = Std.parseInt(v); - return function() { - return i; - }; - } - if(haxe_Template.expr_float.match(v)) { - var f = parseFloat(v); - return function() { - return f; - }; - } - var me = this; - return function() { - return me.resolve(v); - }; - } - ,makePath: function(e,l) { - var p = l.first(); - if(p == null || p.p != ".") { - return e; - } - l.pop(); - var field = l.pop(); - if(field == null || !field.s) { - throw haxe_Exception.thrown(field.p); - } - var f = field.p; - haxe_Template.expr_trim.match(f); - f = haxe_Template.expr_trim.matched(1); - return this.makePath(function() { - return Reflect.field(e(),f); - },l); - } - ,makeExpr: function(l) { - return this.makePath(this.makeExpr2(l),l); - } - ,skipSpaces: function(l) { - var p = l.first(); - while(p != null) { - var _g_offset = 0; - var _g_s = p.p; - while(_g_offset < _g_s.length) { - var c = _g_s.charCodeAt(_g_offset++); - if(c != 32) { - return; - } - } - l.pop(); - p = l.first(); - } - } - ,makeExpr2: function(l) { - this.skipSpaces(l); - var p = l.pop(); - this.skipSpaces(l); - if(p == null) { - throw haxe_Exception.thrown(""); - } - if(p.s) { - return this.makeConst(p.p); - } - switch(p.p) { - case "!": - var e = this.makeExpr(l); - return function() { - var v = e(); - if(v != null) { - return v == false; - } else { - return true; - } - }; - case "(": - this.skipSpaces(l); - var e1 = this.makeExpr(l); - this.skipSpaces(l); - var p1 = l.pop(); - if(p1 == null || p1.s) { - throw haxe_Exception.thrown(p1); - } - if(p1.p == ")") { - return e1; - } - this.skipSpaces(l); - var e2 = this.makeExpr(l); - this.skipSpaces(l); - var p2 = l.pop(); - this.skipSpaces(l); - if(p2 == null || p2.p != ")") { - throw haxe_Exception.thrown(p2); - } - switch(p1.p) { - case "!=": - return function() { - return e1() != e2(); - }; - case "&&": - return function() { - return e1() && e2(); - }; - case "*": - return function() { - return e1() * e2(); - }; - case "+": - return function() { - return e1() + e2(); - }; - case "-": - return function() { - return e1() - e2(); - }; - case "/": - return function() { - return e1() / e2(); - }; - case "<": - return function() { - return e1() < e2(); - }; - case "<=": - return function() { - return e1() <= e2(); - }; - case "==": - return function() { - return e1() == e2(); - }; - case ">": - return function() { - return e1() > e2(); - }; - case ">=": - return function() { - return e1() >= e2(); - }; - case "||": - return function() { - return e1() || e2(); - }; - default: - throw haxe_Exception.thrown("Unknown operation " + p1.p); - } - break; - case "-": - var e3 = this.makeExpr(l); - return function() { - return -e3(); - }; - } - throw haxe_Exception.thrown(p.p); - } - ,run: function(e) { - switch(e._hx_index) { - case 0: - var v = e.v; - var _this = this.buf; - var x = Std.string(this.resolve(v)); - _this.b += Std.string(x); - break; - case 1: - var e1 = e.expr; - var _this = this.buf; - var x = Std.string(e1()); - _this.b += Std.string(x); - break; - case 2: - var e1 = e.expr; - var eif = e.eif; - var eelse = e.eelse; - var v = e1(); - if(v == null || v == false) { - if(eelse != null) { - this.run(eelse); - } - } else { - this.run(eif); - } - break; - case 3: - var str = e.str; - this.buf.b += str == null ? "null" : "" + str; - break; - case 4: - var l = e.l; - var _g_head = l.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var e1 = val; - this.run(e1); - } - break; - case 5: - var e1 = e.expr; - var loop = e.loop; - var v = e1(); - try { - var x = $getIterator(v); - if(x.hasNext == null) { - throw haxe_Exception.thrown(null); - } - v = x; - } catch( _g ) { - try { - if(v.hasNext == null) { - throw haxe_Exception.thrown(null); - } - } catch( _g1 ) { - throw haxe_Exception.thrown("Cannot iter on " + Std.string(v)); - } - } - this.stack.push(this.context); - var v1 = v; - var ctx = v1; - while(ctx.hasNext()) { - var ctx1 = ctx.next(); - this.context = ctx1; - this.run(loop); - } - this.context = this.stack.pop(); - break; - case 6: - var m = e.name; - var params = e.params; - var v = Reflect.field(this.macros,m); - var pl = []; - var old = this.buf; - pl.push($bind(this,this.resolve)); - var _g_head = params.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var p = val; - if(p._hx_index == 0) { - var v1 = p.v; - pl.push(this.resolve(v1)); - } else { - this.buf = new StringBuf(); - this.run(p); - pl.push(this.buf.b); - } - } - this.buf = old; - try { - var _this = this.buf; - var x = Std.string(v.apply(this.macros,pl)); - _this.b += Std.string(x); - } catch( _g ) { - var e = haxe_Exception.caught(_g).unwrap(); - var plstr; - try { - plstr = pl.join(","); - } catch( _g1 ) { - plstr = "???"; - } - var msg = "Macro call " + m + "(" + plstr + ") failed (" + Std.string(e) + ")"; - throw haxe_Exception.thrown(msg); - } - break; - } - } -}; -var haxe_ValueException = function(value,previous,native) { - haxe_Exception.call(this,String(value),previous,native); - this.value = value; -}; -haxe_ValueException.__name__ = true; -haxe_ValueException.__super__ = haxe_Exception; -haxe_ValueException.prototype = $extend(haxe_Exception.prototype,{ - unwrap: function() { - return this.value; - } -}); -var haxe_ds_List = function() { - this.length = 0; -}; -haxe_ds_List.__name__ = true; -haxe_ds_List.prototype = { - add: function(item) { - var x = new haxe_ds__$List_ListNode(item,null); - if(this.h == null) { - this.h = x; - } else { - this.q.next = x; - } - this.q = x; - this.length++; - } - ,push: function(item) { - var x = new haxe_ds__$List_ListNode(item,this.h); - this.h = x; - if(this.q == null) { - this.q = x; - } - this.length++; - } - ,first: function() { - if(this.h == null) { - return null; - } else { - return this.h.item; - } - } - ,pop: function() { - if(this.h == null) { - return null; - } - var x = this.h.item; - this.h = this.h.next; - if(this.h == null) { - this.q = null; - } - this.length--; - return x; - } - ,isEmpty: function() { - return this.h == null; - } - ,toString: function() { - var s_b = ""; - var first = true; - var l = this.h; - s_b += "{"; - while(l != null) { - if(first) { - first = false; - } else { - s_b += ", "; - } - s_b += Std.string(Std.string(l.item)); - l = l.next; - } - s_b += "}"; - return s_b; - } -}; -var haxe_ds__$List_ListNode = function(item,next) { - this.item = item; - this.next = next; -}; -haxe_ds__$List_ListNode.__name__ = true; -var js_Boot = function() { }; -js_Boot.__name__ = true; -js_Boot.__string_rec = function(o,s) { - if(o == null) { - return "null"; - } - if(s.length >= 5) { - return "<...>"; - } - var t = typeof(o); - if(t == "function" && (o.__name__ || o.__ename__)) { - t = "object"; - } - switch(t) { - case "function": - return ""; - case "object": - if(o.__enum__) { - var e = $hxEnums[o.__enum__]; - var con = e.__constructs__[o._hx_index]; - var n = con._hx_name; - if(con.__params__) { - s = s + "\t"; - return n + "(" + ((function($this) { - var $r; - var _g = []; - { - var _g1 = 0; - var _g2 = con.__params__; - while(true) { - if(!(_g1 < _g2.length)) { - break; - } - var p = _g2[_g1]; - _g1 = _g1 + 1; - _g.push(js_Boot.__string_rec(o[p],s)); - } - } - $r = _g; - return $r; - }(this))).join(",") + ")"; - } else { - return n; - } - } - if(((o) instanceof Array)) { - var str = "["; - s += "\t"; - var _g = 0; - var _g1 = o.length; - while(_g < _g1) { - var i = _g++; - str += (i > 0 ? "," : "") + js_Boot.__string_rec(o[i],s); - } - str += "]"; - return str; - } - var tostr; - try { - tostr = o.toString; - } catch( _g ) { - return "???"; - } - if(tostr != null && tostr != Object.toString && typeof(tostr) == "function") { - var s2 = o.toString(); - if(s2 != "[object Object]") { - return s2; - } - } - var str = "{\n"; - s += "\t"; - var hasp = o.hasOwnProperty != null; - var k = null; - for( k in o ) { - if(hasp && !o.hasOwnProperty(k)) { - continue; - } - if(k == "prototype" || k == "__class__" || k == "__super__" || k == "__interfaces__" || k == "__properties__") { - continue; - } - if(str.length != 2) { - str += ", \n"; - } - str += s + k + " : " + js_Boot.__string_rec(o[k],s); - } - s = s.substring(1); - str += "\n" + s + "}"; - return str; - case "string": - return o; - default: - return String(o); - } -}; -var xrfragment_Filter = $hx_exports["xrfragment"]["Filter"] = function(str) { - this.q = { }; - this.str = ""; - if(str != null) { - this.parse(str); - } -}; -xrfragment_Filter.__name__ = true; -xrfragment_Filter.prototype = { - toObject: function() { - return Reflect.copy(this.q); - } - ,get: function() { - return Reflect.copy(this.q); - } - ,parse: function(str) { - var token = str.split(" "); - var q = { }; - var process = function(str,prefix) { - if(prefix == null) { - prefix = ""; - } - str = StringTools.trim(str); - var k = str.split("=")[0]; - var v = str.split("=")[1]; - var filter = { }; - if(q[prefix + k]) { - filter = q[prefix + k]; - } - if(xrfragment_XRF.isProp.match(str)) { - var oper = ""; - if(str.indexOf(">") != -1) { - oper = ">"; - } - if(str.indexOf("<") != -1) { - oper = "<"; - } - if(xrfragment_XRF.isExclude.match(k)) { - k = HxOverrides.substr(k,1,null); - } - v = HxOverrides.substr(v,oper.length,null); - if(oper.length == 0) { - oper = "="; - } - var rule = { }; - if(xrfragment_XRF.isNumber.match(v)) { - rule[oper] = parseFloat(v); - } else { - rule[oper] = v; - } - q["expr"] = rule; - } - var value = xrfragment_XRF.isDeep.match(str) ? k.split("*").length - 1 : 0; - q["deep"] = value; - var value = xrfragment_XRF.isExclude.match(str) ? false : true; - q["show"] = value; - var value = k.replace(xrfragment_XRF.operators.r,""); - q["key"] = value; - q["value"] = v; - }; - var _g = 0; - var _g1 = token.length; - while(_g < _g1) { - var i = _g++; - process(token[i]); - } - return this.q = q; - } - ,test: function(obj) { - var qualify = false; - var _g = 0; - var _g1 = Reflect.fields(obj); - while(_g < _g1.length) { - var k = _g1[_g]; - ++_g; - var v = Std.string(Reflect.field(obj,k)); - if(this.testProperty(k,v)) { - qualify = true; - } - } - var _g = 0; - var _g1 = Reflect.fields(obj); - while(_g < _g1.length) { - var k = _g1[_g]; - ++_g; - var v = Std.string(Reflect.field(obj,k)); - if(this.testProperty(k,v,true)) { - qualify = false; - } - } - return qualify; - } - ,testProperty: function(property,value,exclude) { - var conds = 0; - var fails = 0; - var qualify = 0; - var testprop = function(expr) { - conds += 1; - fails += expr ? 0 : 1; - return expr; - }; - if(this.q[value] != null) { - var v = this.q[value]; - if(v[property] != null) { - return v[property]; - } - } - if(Reflect.field(this.q,"expr")) { - var f = Reflect.field(this.q,"expr"); - if(!Reflect.field(this.q,"show")) { - if(Reflect.field(f,"!=") != null && testprop((value == null ? "null" : "" + value) == Std.string(Reflect.field(f,"!="))) && exclude) { - ++qualify; - } - } else { - if(Reflect.field(f,"*") != null && testprop(parseFloat(value) != null)) { - ++qualify; - } - if(Reflect.field(f,">") != null && testprop(parseFloat(value) >= parseFloat(Reflect.field(f,">")))) { - ++qualify; - } - if(Reflect.field(f,"<") != null && testprop(parseFloat(value) <= parseFloat(Reflect.field(f,"<")))) { - ++qualify; - } - if(Reflect.field(f,"=") != null && (testprop(value == Reflect.field(f,"=")) || testprop(parseFloat(value) == parseFloat(Reflect.field(f,"="))))) { - ++qualify; - } - } - } - return qualify > 0; - } -}; -var xrfragment_Parser = $hx_exports["xrfragment"]["Parser"] = function() { }; -xrfragment_Parser.__name__ = true; -xrfragment_Parser.parse = function(key,value,store,index) { - var Frag_h = Object.create(null); - Frag_h["#"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_PREDEFINED_VIEW | xrfragment_XRF.PV_EXECUTE; - Frag_h["src"] = xrfragment_XRF.T_URL; - Frag_h["href"] = xrfragment_XRF.T_URL | xrfragment_XRF.T_PREDEFINED_VIEW; - Frag_h["tag"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["pos"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_VECTOR3 | xrfragment_XRF.T_STRING | xrfragment_XRF.METADATA | xrfragment_XRF.NAVIGATOR; - Frag_h["rot"] = xrfragment_XRF.QUERY_OPERATOR | xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_VECTOR3 | xrfragment_XRF.METADATA | xrfragment_XRF.NAVIGATOR; - Frag_h["t"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_FLOAT | xrfragment_XRF.T_VECTOR2 | xrfragment_XRF.NAVIGATOR | xrfragment_XRF.METADATA; - Frag_h["s"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_MEDIAFRAG; - Frag_h["loop"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_PREDEFINED_VIEW; - Frag_h["uv"] = xrfragment_XRF.T_VECTOR2 | xrfragment_XRF.T_MEDIAFRAG; - Frag_h["namespace"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["SPDX"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["unit"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["description"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - var keyStripped = key.replace(xrfragment_XRF.operators.r,""); - var isPVDynamic = key.length > 0 && !Object.prototype.hasOwnProperty.call(Frag_h,key); - if(isPVDynamic) { - var v = new xrfragment_XRF(key,xrfragment_XRF.PV_EXECUTE | xrfragment_XRF.NAVIGATOR,index); - v.validate(value); - v.flags = xrfragment_XRF.set(xrfragment_XRF.T_DYNAMICKEY,v.flags); - if(!Object.prototype.hasOwnProperty.call(Frag_h,key)) { - v.flags = xrfragment_XRF.set(xrfragment_XRF.CUSTOMFRAG,v.flags); - } - if(value.length == 0) { - v.flags = xrfragment_XRF.set(xrfragment_XRF.T_DYNAMICKEYVALUE,v.flags); - } - store[keyStripped] = v; - return true; - } - var v = new xrfragment_XRF(key,Frag_h[key],index); - if(Object.prototype.hasOwnProperty.call(Frag_h,key)) { - if(!v.validate(value)) { - console.log("src/xrfragment/Parser.hx:67:","⚠ fragment '" + key + "' has incompatible value (" + value + ")"); - return false; - } - store[keyStripped] = v; - if(xrfragment_Parser.debug) { - console.log("src/xrfragment/Parser.hx:71:","✔ " + key + ": " + v.string); - } - } else { - if(typeof(value) == "string") { - v.guessType(v,value); - } - v.flags = xrfragment_XRF.set(xrfragment_XRF.CUSTOMFRAG,v.flags); - store[keyStripped] = v; - } - return true; -}; -xrfragment_Parser.getMetaData = function() { - var meta = { title : ["title","og:title","dc.title"], description : ["aria-description","og:description","dc.description"], author : ["author","dc.creator"], publisher : ["publisher","dc.publisher"], website : ["og:site_name","og:url","dc.publisher"], license : ["SPDX","dc.rights"]}; - return meta; -}; -var xrfragment_URI = $hx_exports["xrfragment"]["URI"] = function() { - this.XRF = { }; - this.hash = { }; - this.fragment = ""; -}; -xrfragment_URI.__name__ = true; -xrfragment_URI.parseFragment = function(url,filter) { - var store = { }; - if(url == null || url.indexOf("#") == -1) { - return store; - } - var fragment = url.split("#"); - var splitArray = fragment[1].split("&"); - var _g = 0; - var _g1 = splitArray.length; - while(_g < _g1) { - var i = _g++; - var splitByEqual = splitArray[i].split("="); - var regexPlus = new EReg("\\+","g"); - var key = splitByEqual[0]; - var value = ""; - if(splitByEqual.length > 1) { - if(xrfragment_XRF.isVector.match(splitByEqual[1])) { - value = splitByEqual[1]; - } else { - var s = regexPlus.split(splitByEqual[1]).join(" "); - value = decodeURIComponent(s.split("+").join(" ")); - } - } - var ok = xrfragment_Parser.parse(key,value,store,i); - } - if(filter != null && filter != 0) { - var _g = 0; - var _g1 = Reflect.fields(store); - while(_g < _g1.length) { - var key = _g1[_g]; - ++_g; - var xrf = store[key]; - if(!xrf.is(filter)) { - Reflect.deleteField(store,key); - } - } - } - return store; -}; -xrfragment_URI.template = function(uri,vars) { - var parts = uri.split("#"); - if(parts.length == 1) { - return uri; - } - var frag = parts[1]; - frag = StringTools.replace(frag,"{","::"); - frag = StringTools.replace(frag,"}","::"); - frag = new haxe_Template(frag).execute(vars); - frag = StringTools.replace(frag,"null",""); - parts[1] = frag; - return parts.join("#"); -}; -xrfragment_URI.parse = function(stringUrl,flags) { - var r = new EReg("^(?:(?![^:@]+:[^:@/]*@)([^:/?#.]+):)?(?://)?((?:(([^:@]*)(?::([^:@]*))?)?@)?([^:/?#]*)(?::(\\d*))?)(((/(?:[^?#](?![^?#/]*\\.[^?#/.]+(?:[?#]|$)))*/?)?([^?#/]*))(?:\\?([^#]*))?(?:#(.*))?)",""); - if(stringUrl.indexOf("://") == -1 && stringUrl.charAt(0) != "/") { - stringUrl = "/" + stringUrl; - } - r.match(stringUrl); - var url = new xrfragment_URI(); - var _g = 0; - var _g1 = xrfragment_URI._parts.length; - while(_g < _g1) { - var i = _g++; - url[xrfragment_URI._parts[i]] = r.matched(i); - } - if(xrfragment_URI.isRelative(url) == true) { - if(url.directory == null && url.host != null) { - url.file = url.host; - } - url.host = ""; - } - url.hash = { }; - if(url.fragment != null && url.fragment.length > 0) { - url.XRF = xrfragment_URI.parseFragment("#" + url.fragment,flags); - var key; - var _g = 0; - var _g1 = Reflect.fields(url.XRF); - while(_g < _g1.length) { - var key = _g1[_g]; - ++_g; - var v = url.XRF[key]; - url.hash[key] = v["string"]; - } - } - xrfragment_URI.computeVars(url); - return url; -}; -xrfragment_URI.computeVars = function(url) { - var r_r = new RegExp("//","g".split("u").join("")); - if(url.directory != null && url.directory.indexOf("//") != -1) { - url.directory = url.directory.replace(r_r,"/"); - } - if(url.path != null && url.path.indexOf("//") != -1) { - url.path = url.path.replace(r_r,"/"); - } - if(url.file != null && url.file.indexOf("//") != -1) { - url.file = url.file.replace(r_r,"/"); - } - url.URN = url.scheme + "://" + url.host; - if(url.port != null) { - url.URN += ":" + url.port; - } - url.URN += url.directory; - if(url.file != null) { - var parts = url.file.split("."); - if(parts.length > 1) { - url.fileExt = parts.pop(); - } - } -}; -xrfragment_URI.toString = function(url) { - var result = ""; - if(url.scheme != null) { - result += url.scheme + "://"; - } - if(url.user != null) { - result += url.user + ":"; - } - if(url.password != null) { - result += url.password + "@"; - } - if(url.host != null) { - result += url.host; - } - if(url.port != null) { - result += ":" + url.port; - } - if(url.directory != null) { - result += url.directory; - } - if(url.file != null) { - result += url.file; - } - if(url.query != null) { - result += "?" + url.query; - } - if(url.fragment != null) { - result += "#" + url.fragment; - } - return result; -}; -xrfragment_URI.appendURI = function(url,appendedURI) { - if(xrfragment_URI.isRelative(url) == true) { - return xrfragment_URI.appendToRelativeURI(url,appendedURI); - } else { - return xrfragment_URI.appendToAbsoluteURI(url,appendedURI); - } -}; -xrfragment_URI.isRelative = function(url) { - return url.scheme == null; -}; -xrfragment_URI.appendToRelativeURI = function(url,appendedURI) { - if(url.directory == null || url.host == null) { - return xrfragment_URI.cloneURI(appendedURI); - } - var resultURI = new xrfragment_URI(); - resultURI.host = url.host; - resultURI.directory = url.directory; - if(appendedURI.host != null) { - resultURI.directory += appendedURI.host; - } - if(appendedURI.directory != null) { - var directory = appendedURI.directory; - if(appendedURI.host == null) { - resultURI.directory += HxOverrides.substr(directory,1,null); - } else { - resultURI.directory += directory; - } - } - if(appendedURI.file != null) { - resultURI.file = appendedURI.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(appendedURI.query != null) { - resultURI.query = appendedURI.query; - } - if(appendedURI.fragment != null) { - resultURI.fragment = appendedURI.fragment; - } - return resultURI; -}; -xrfragment_URI.appendToAbsoluteURI = function(url,appendedURI) { - var resultURI = new xrfragment_URI(); - if(url.scheme != null) { - resultURI.scheme = url.scheme; - } - if(url.host != null) { - resultURI.host = url.host; - } - var directory = ""; - if(url.directory != null) { - directory = url.directory; - } - if(appendedURI.host != null) { - appendedURI.directory += appendedURI.host; - } - if(appendedURI.directory != null) { - directory += appendedURI.directory; - } - resultURI.directory = directory; - if(appendedURI.file != null) { - resultURI.file = appendedURI.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(appendedURI.query != null) { - resultURI.query = appendedURI.query; - } - if(appendedURI.fragment != null) { - resultURI.fragment = appendedURI.fragment; - } - return resultURI; -}; -xrfragment_URI.toAbsolute = function(url,newUrl) { - var newURI = xrfragment_URI.parse(newUrl,0); - var resultURI = new xrfragment_URI(); - resultURI.port = url.port; - resultURI.source = newUrl; - if(newURI.scheme != null) { - resultURI.scheme = newURI.scheme; - } else { - resultURI.scheme = url.scheme; - } - if(newURI.host != null && newURI.host.length > 0) { - resultURI.host = newURI.host; - resultURI.port = null; - resultURI.fragment = null; - resultURI.hash = { }; - resultURI.XRF = { }; - if(newURI.port != null) { - resultURI.port = newURI.port; - } - } else { - resultURI.host = url.host; - } - var directory = ""; - if(url.directory != null) { - directory = url.directory; - } - if(newURI.directory != null) { - if(newUrl.charAt(0) != "/" && newUrl.indexOf("://") == -1) { - var stripRelative_r = new RegExp("\\./.*","".split("u").join("")); - directory = directory.replace(stripRelative_r,""); - directory += newURI.directory; - } else { - directory = newURI.directory; - } - } - resultURI.directory = directory; - if(newURI.file != null) { - resultURI.file = newURI.file; - } else { - resultURI.file = url.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(newURI.query != null) { - resultURI.query = newURI.query; - } - if(newURI.fragment != null) { - resultURI.fragment = newURI.fragment; - } - resultURI.hash = newURI.hash; - resultURI.XRF = newURI.XRF; - xrfragment_URI.computeVars(resultURI); - return resultURI; -}; -xrfragment_URI.cloneURI = function(url) { - var clonedURI = new xrfragment_URI(); - clonedURI.url = url.url; - clonedURI.source = url.source; - clonedURI.scheme = url.scheme; - clonedURI.authority = url.authority; - clonedURI.userInfo = url.userInfo; - clonedURI.password = url.password; - clonedURI.host = url.host; - clonedURI.port = url.port; - clonedURI.relative = url.relative; - clonedURI.path = url.path; - clonedURI.directory = url.directory; - clonedURI.file = url.file; - clonedURI.query = url.query; - clonedURI.fragment = url.fragment; - return clonedURI; -}; -var xrfragment_XRF = $hx_exports["xrfragment"]["XRF"] = function(_fragment,_flags,_index) { - this.floats = []; - this.shift = []; - this.fragment = _fragment; - this.flags = _flags; - this.index = _index; -}; -xrfragment_XRF.__name__ = true; -xrfragment_XRF.set = function(flag,flags) { - return flags | flag; -}; -xrfragment_XRF.unset = function(flag,flags) { - return flags & ~flag; -}; -xrfragment_XRF.prototype = { - is: function(flag) { - var v = this.flags; - if(!(typeof(v) == "number" && ((v | 0) === v))) { - this.flags = 0; - } - return (this.flags & flag) != 0; - } - ,validate: function(value) { - this.guessType(this,value); - var ok = true; - if(value.length == 0 && !this.is(xrfragment_XRF.T_PREDEFINED_VIEW)) { - ok = false; - } - if(!this.is(xrfragment_XRF.T_FLOAT) && this.is(xrfragment_XRF.T_VECTOR2) && !(typeof(this.x) == "number" && typeof(this.y) == "number")) { - ok = false; - } - if(!(this.is(xrfragment_XRF.T_VECTOR2) || this.is(xrfragment_XRF.T_STRING)) && this.is(xrfragment_XRF.T_VECTOR3) && !(typeof(this.x) == "number" && typeof(this.y) == "number" && typeof(this.z) == "number")) { - ok = false; - } - return ok; - } - ,guessType: function(v,str) { - v.string = str; - if(xrfragment_XRF.isReset.match(v.fragment)) { - v.reset = true; - } - if(v.fragment == "loop") { - v.loop = true; - } - if(typeof(str) != "string") { - return; - } - if(str.length > 0) { - if(xrfragment_XRF.isXRFScheme.match(str)) { - v.xrfScheme = true; - str = str.replace(xrfragment_XRF.isXRFScheme.r,""); - v.string = str; - } - if(str.split(",").length > 1) { - var xyzn = str.split(","); - if(xyzn.length > 0) { - v.x = parseFloat(xyzn[0]); - } - if(xyzn.length > 1) { - v.y = parseFloat(xyzn[1]); - } - if(xyzn.length > 2) { - v.z = parseFloat(xyzn[2]); - } - var _g = 0; - var _g1 = xyzn.length; - while(_g < _g1) { - var i = _g++; - v.shift.push(xrfragment_XRF.isShift.match(xyzn[i])); - v.floats.push(parseFloat(xyzn[i].replace(xrfragment_XRF.isShift.r,""))); - } - } - if(xrfragment_XRF.isColor.match(str)) { - v.color = str; - } - if(xrfragment_XRF.isFloat.match(str)) { - v.x = parseFloat(str); - v.float = v.x; - } - if(xrfragment_XRF.isInt.match(str)) { - v.int = Std.parseInt(str); - v.x = v.int; - v.floats.push(v.x); - } - v.filter = new xrfragment_Filter(v.fragment + "=" + v.string); - } else { - v.filter = new xrfragment_Filter(v.fragment); - } - } -}; -function $getIterator(o) { if( o instanceof Array ) return new haxe_iterators_ArrayIterator(o); else return o.iterator(); } -function $bind(o,m) { if( m == null ) return null; if( m.__id__ == null ) m.__id__ = $global.$haxeUID++; var f; if( o.hx__closures__ == null ) o.hx__closures__ = {}; else f = o.hx__closures__[m.__id__]; if( f == null ) { f = m.bind(o); o.hx__closures__[m.__id__] = f; } return f; } -$global.$haxeUID |= 0; -if(typeof(performance) != "undefined" ? typeof(performance.now) == "function" : false) { - HxOverrides.now = performance.now.bind(performance); -} -if( String.fromCodePoint == null ) String.fromCodePoint = function(c) { return c < 0x10000 ? String.fromCharCode(c) : String.fromCharCode((c>>10)+0xD7C0)+String.fromCharCode((c&0x3FF)+0xDC00); } -String.__name__ = true; -Array.__name__ = true; -js_Boot.__toStr = ({ }).toString; -haxe_Template.splitter = new EReg("(::[A-Za-z0-9_ ()&|!+=/><*.\"-]+::|\\$\\$([A-Za-z0-9_-]+)\\()",""); -haxe_Template.expr_splitter = new EReg("(\\(|\\)|[ \r\n\t]*\"[^\"]*\"[ \r\n\t]*|[!+=/><*.&|-]+)",""); -haxe_Template.expr_trim = new EReg("^[ ]*([^ ]+)[ ]*$",""); -haxe_Template.expr_int = new EReg("^[0-9]+$",""); -haxe_Template.expr_float = new EReg("^([+-]?)(?=\\d|,\\d)\\d*(,\\d*)?([Ee]([+-]?\\d+))?$",""); -haxe_Template.globals = { }; -haxe_Template.hxKeepArrayIterator = new haxe_iterators_ArrayIterator([]); -xrfragment_Parser.error = ""; -xrfragment_Parser.debug = false; -xrfragment_URI.__meta__ = { statics : { template : { keep : null}}}; -xrfragment_URI._parts = ["source","scheme","authority","userInfo","user","password","host","port","relative","path","directory","file","query","fragment"]; -xrfragment_XRF.IMMUTABLE = 1; -xrfragment_XRF.PROP_BIND = 2; -xrfragment_XRF.QUERY_OPERATOR = 4; -xrfragment_XRF.PROMPT = 8; -xrfragment_XRF.CUSTOMFRAG = 16; -xrfragment_XRF.NAVIGATOR = 32; -xrfragment_XRF.METADATA = 64; -xrfragment_XRF.PV_OVERRIDE = 128; -xrfragment_XRF.PV_EXECUTE = 256; -xrfragment_XRF.T_COLOR = 8192; -xrfragment_XRF.T_INT = 16384; -xrfragment_XRF.T_FLOAT = 32768; -xrfragment_XRF.T_VECTOR2 = 65536; -xrfragment_XRF.T_VECTOR3 = 131072; -xrfragment_XRF.T_URL = 262144; -xrfragment_XRF.T_PREDEFINED_VIEW = 524288; -xrfragment_XRF.T_STRING = 1048576; -xrfragment_XRF.T_MEDIAFRAG = 2097152; -xrfragment_XRF.T_DYNAMICKEY = 4194304; -xrfragment_XRF.T_DYNAMICKEYVALUE = 8388608; -xrfragment_XRF.isColor = new EReg("^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$",""); -xrfragment_XRF.isInt = new EReg("^[-0-9]+$",""); -xrfragment_XRF.isFloat = new EReg("^[-0-9]+\\.[0-9]+$",""); -xrfragment_XRF.isVector = new EReg("([,]+|\\w)",""); -xrfragment_XRF.isUrl = new EReg("(://)?\\..*",""); -xrfragment_XRF.isUrlOrPretypedView = new EReg("(^#|://)?\\..*",""); -xrfragment_XRF.isString = new EReg(".*",""); -xrfragment_XRF.operators = new EReg("(^[-]|^[!]|[\\*]$)","g"); -xrfragment_XRF.isProp = new EReg("^.*=[><=]?",""); -xrfragment_XRF.isExclude = new EReg("^-",""); -xrfragment_XRF.isDeep = new EReg("\\*",""); -xrfragment_XRF.isNumber = new EReg("^[0-9\\.]+$",""); -xrfragment_XRF.isMediaFrag = new EReg("^([0-9\\.,\\*+-]+)$",""); -xrfragment_XRF.isReset = new EReg("^!",""); -xrfragment_XRF.isShift = new EReg("^(\\+|--)",""); -xrfragment_XRF.isXRFScheme = new EReg("^xrf://",""); -})(typeof window != "undefined" ? window : typeof global != "undefined" ? global : typeof self != "undefined" ? self : this); -var xrfragment = $hx_exports["xrfragment"]; -export default xrfragment; -// Generated by Haxe 4.3.3 -var $hx_exports = typeof exports != "undefined" ? exports : typeof window != "undefined" ? window : typeof self != "undefined" ? self : this; -(function ($global) { "use strict"; -$hx_exports["xrfragment"] = $hx_exports["xrfragment"] || {}; -var $estr = function() { return js_Boot.__string_rec(this,''); },$hxEnums = $hxEnums || {},$_; -function $extend(from, fields) { - var proto = Object.create(from); - for (var name in fields) proto[name] = fields[name]; - if( fields.toString !== Object.prototype.toString ) proto.toString = fields.toString; - return proto; -} -var EReg = function(r,opt) { - this.r = new RegExp(r,opt.split("u").join("")); -}; -EReg.__name__ = true; -EReg.prototype = { - match: function(s) { - if(this.r.global) { - this.r.lastIndex = 0; - } - this.r.m = this.r.exec(s); - this.r.s = s; - return this.r.m != null; - } - ,matched: function(n) { - if(this.r.m != null && n >= 0 && n < this.r.m.length) { - return this.r.m[n]; - } else { - throw haxe_Exception.thrown("EReg::matched"); - } - } - ,matchedRight: function() { - if(this.r.m == null) { - throw haxe_Exception.thrown("No string matched"); - } - var sz = this.r.m.index + this.r.m[0].length; - return HxOverrides.substr(this.r.s,sz,this.r.s.length - sz); - } - ,matchedPos: function() { - if(this.r.m == null) { - throw haxe_Exception.thrown("No string matched"); - } - return { pos : this.r.m.index, len : this.r.m[0].length}; - } - ,split: function(s) { - var d = "#__delim__#"; - return s.replace(this.r,d).split(d); - } -}; -var HxOverrides = function() { }; -HxOverrides.__name__ = true; -HxOverrides.cca = function(s,index) { - var x = s.charCodeAt(index); - if(x != x) { - return undefined; - } - return x; -}; -HxOverrides.substr = function(s,pos,len) { - if(len == null) { - len = s.length; - } else if(len < 0) { - if(pos == 0) { - len = s.length + len; - } else { - return ""; - } - } - return s.substr(pos,len); -}; -HxOverrides.now = function() { - return Date.now(); -}; -Math.__name__ = true; -var Reflect = function() { }; -Reflect.__name__ = true; -Reflect.field = function(o,field) { - try { - return o[field]; - } catch( _g ) { - return null; - } -}; -Reflect.getProperty = function(o,field) { - var tmp; - if(o == null) { - return null; - } else { - var tmp1; - if(o.__properties__) { - tmp = o.__properties__["get_" + field]; - tmp1 = tmp; - } else { - tmp1 = false; - } - if(tmp1) { - return o[tmp](); - } else { - return o[field]; - } - } -}; -Reflect.fields = function(o) { - var a = []; - if(o != null) { - var hasOwnProperty = Object.prototype.hasOwnProperty; - for( var f in o ) { - if(f != "__id__" && f != "hx__closures__" && hasOwnProperty.call(o,f)) { - a.push(f); - } - } - } - return a; -}; -Reflect.isObject = function(v) { - if(v == null) { - return false; - } - var t = typeof(v); - if(!(t == "string" || t == "object" && v.__enum__ == null)) { - if(t == "function") { - return (v.__name__ || v.__ename__) != null; - } else { - return false; - } - } else { - return true; - } -}; -Reflect.deleteField = function(o,field) { - if(!Object.prototype.hasOwnProperty.call(o,field)) { - return false; - } - delete(o[field]); - return true; -}; -Reflect.copy = function(o) { - if(o == null) { - return null; - } - var o2 = { }; - var _g = 0; - var _g1 = Reflect.fields(o); - while(_g < _g1.length) { - var f = _g1[_g]; - ++_g; - o2[f] = Reflect.field(o,f); - } - return o2; -}; -var Std = function() { }; -Std.__name__ = true; -Std.string = function(s) { - return js_Boot.__string_rec(s,""); -}; -Std.parseInt = function(x) { - var v = parseInt(x); - if(isNaN(v)) { - return null; - } - return v; -}; -var StringBuf = function() { - this.b = ""; -}; -StringBuf.__name__ = true; -var StringTools = function() { }; -StringTools.__name__ = true; -StringTools.isSpace = function(s,pos) { - var c = HxOverrides.cca(s,pos); - if(!(c > 8 && c < 14)) { - return c == 32; - } else { - return true; - } -}; -StringTools.ltrim = function(s) { - var l = s.length; - var r = 0; - while(r < l && StringTools.isSpace(s,r)) ++r; - if(r > 0) { - return HxOverrides.substr(s,r,l - r); - } else { - return s; - } -}; -StringTools.rtrim = function(s) { - var l = s.length; - var r = 0; - while(r < l && StringTools.isSpace(s,l - r - 1)) ++r; - if(r > 0) { - return HxOverrides.substr(s,0,l - r); - } else { - return s; - } -}; -StringTools.trim = function(s) { - return StringTools.ltrim(StringTools.rtrim(s)); -}; -StringTools.replace = function(s,sub,by) { - return s.split(sub).join(by); -}; -var haxe_Exception = function(message,previous,native) { - Error.call(this,message); - this.message = message; - this.__previousException = previous; - this.__nativeException = native != null ? native : this; -}; -haxe_Exception.__name__ = true; -haxe_Exception.caught = function(value) { - if(((value) instanceof haxe_Exception)) { - return value; - } else if(((value) instanceof Error)) { - return new haxe_Exception(value.message,null,value); - } else { - return new haxe_ValueException(value,null,value); - } -}; -haxe_Exception.thrown = function(value) { - if(((value) instanceof haxe_Exception)) { - return value.get_native(); - } else if(((value) instanceof Error)) { - return value; - } else { - var e = new haxe_ValueException(value); - return e; - } -}; -haxe_Exception.__super__ = Error; -haxe_Exception.prototype = $extend(Error.prototype,{ - unwrap: function() { - return this.__nativeException; - } - ,get_native: function() { - return this.__nativeException; - } - ,__properties__: {get_native:"get_native"} -}); -var haxe__$Template_TemplateExpr = $hxEnums["haxe._Template.TemplateExpr"] = { __ename__:true,__constructs__:null - ,OpVar: ($_=function(v) { return {_hx_index:0,v:v,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpVar",$_.__params__ = ["v"],$_) - ,OpExpr: ($_=function(expr) { return {_hx_index:1,expr:expr,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpExpr",$_.__params__ = ["expr"],$_) - ,OpIf: ($_=function(expr,eif,eelse) { return {_hx_index:2,expr:expr,eif:eif,eelse:eelse,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpIf",$_.__params__ = ["expr","eif","eelse"],$_) - ,OpStr: ($_=function(str) { return {_hx_index:3,str:str,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpStr",$_.__params__ = ["str"],$_) - ,OpBlock: ($_=function(l) { return {_hx_index:4,l:l,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpBlock",$_.__params__ = ["l"],$_) - ,OpForeach: ($_=function(expr,loop) { return {_hx_index:5,expr:expr,loop:loop,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpForeach",$_.__params__ = ["expr","loop"],$_) - ,OpMacro: ($_=function(name,params) { return {_hx_index:6,name:name,params:params,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpMacro",$_.__params__ = ["name","params"],$_) -}; -haxe__$Template_TemplateExpr.__constructs__ = [haxe__$Template_TemplateExpr.OpVar,haxe__$Template_TemplateExpr.OpExpr,haxe__$Template_TemplateExpr.OpIf,haxe__$Template_TemplateExpr.OpStr,haxe__$Template_TemplateExpr.OpBlock,haxe__$Template_TemplateExpr.OpForeach,haxe__$Template_TemplateExpr.OpMacro]; -var haxe_iterators_ArrayIterator = function(array) { - this.current = 0; - this.array = array; -}; -haxe_iterators_ArrayIterator.__name__ = true; -haxe_iterators_ArrayIterator.prototype = { - hasNext: function() { - return this.current < this.array.length; - } - ,next: function() { - return this.array[this.current++]; - } -}; -var haxe_Template = function(str) { - var tokens = this.parseTokens(str); - this.expr = this.parseBlock(tokens); - if(!tokens.isEmpty()) { - throw haxe_Exception.thrown("Unexpected '" + Std.string(tokens.first().s) + "'"); - } -}; -haxe_Template.__name__ = true; -haxe_Template.prototype = { - execute: function(context,macros) { - this.macros = macros == null ? { } : macros; - this.context = context; - this.stack = new haxe_ds_List(); - this.buf = new StringBuf(); - this.run(this.expr); - return this.buf.b; - } - ,resolve: function(v) { - if(v == "__current__") { - return this.context; - } - if(Reflect.isObject(this.context)) { - var value = Reflect.getProperty(this.context,v); - if(value != null || Object.prototype.hasOwnProperty.call(this.context,v)) { - return value; - } - } - var _g_head = this.stack.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var ctx = val; - var value = Reflect.getProperty(ctx,v); - if(value != null || Object.prototype.hasOwnProperty.call(ctx,v)) { - return value; - } - } - return Reflect.field(haxe_Template.globals,v); - } - ,parseTokens: function(data) { - var tokens = new haxe_ds_List(); - while(haxe_Template.splitter.match(data)) { - var p = haxe_Template.splitter.matchedPos(); - if(p.pos > 0) { - tokens.add({ p : HxOverrides.substr(data,0,p.pos), s : true, l : null}); - } - if(HxOverrides.cca(data,p.pos) == 58) { - tokens.add({ p : HxOverrides.substr(data,p.pos + 2,p.len - 4), s : false, l : null}); - data = haxe_Template.splitter.matchedRight(); - continue; - } - var parp = p.pos + p.len; - var npar = 1; - var params = []; - var part = ""; - while(true) { - var c = HxOverrides.cca(data,parp); - ++parp; - if(c == 40) { - ++npar; - } else if(c == 41) { - --npar; - if(npar <= 0) { - break; - } - } else if(c == null) { - throw haxe_Exception.thrown("Unclosed macro parenthesis"); - } - if(c == 44 && npar == 1) { - params.push(part); - part = ""; - } else { - part += String.fromCodePoint(c); - } - } - params.push(part); - tokens.add({ p : haxe_Template.splitter.matched(2), s : false, l : params}); - data = HxOverrides.substr(data,parp,data.length - parp); - } - if(data.length > 0) { - tokens.add({ p : data, s : true, l : null}); - } - return tokens; - } - ,parseBlock: function(tokens) { - var l = new haxe_ds_List(); - while(true) { - var t = tokens.first(); - if(t == null) { - break; - } - if(!t.s && (t.p == "end" || t.p == "else" || HxOverrides.substr(t.p,0,7) == "elseif ")) { - break; - } - l.add(this.parse(tokens)); - } - if(l.length == 1) { - return l.first(); - } - return haxe__$Template_TemplateExpr.OpBlock(l); - } - ,parse: function(tokens) { - var t = tokens.pop(); - var p = t.p; - if(t.s) { - return haxe__$Template_TemplateExpr.OpStr(p); - } - if(t.l != null) { - var pe = new haxe_ds_List(); - var _g = 0; - var _g1 = t.l; - while(_g < _g1.length) { - var p1 = _g1[_g]; - ++_g; - pe.add(this.parseBlock(this.parseTokens(p1))); - } - return haxe__$Template_TemplateExpr.OpMacro(p,pe); - } - var kwdEnd = function(kwd) { - var pos = -1; - var length = kwd.length; - if(HxOverrides.substr(p,0,length) == kwd) { - pos = length; - var _g_offset = 0; - var _g_s = HxOverrides.substr(p,length,null); - while(_g_offset < _g_s.length) { - var c = _g_s.charCodeAt(_g_offset++); - if(c == 32) { - ++pos; - } else { - break; - } - } - } - return pos; - }; - var pos = kwdEnd("if"); - if(pos > 0) { - p = HxOverrides.substr(p,pos,p.length - pos); - var e = this.parseExpr(p); - var eif = this.parseBlock(tokens); - var t = tokens.first(); - var eelse; - if(t == null) { - throw haxe_Exception.thrown("Unclosed 'if'"); - } - if(t.p == "end") { - tokens.pop(); - eelse = null; - } else if(t.p == "else") { - tokens.pop(); - eelse = this.parseBlock(tokens); - t = tokens.pop(); - if(t == null || t.p != "end") { - throw haxe_Exception.thrown("Unclosed 'else'"); - } - } else { - t.p = HxOverrides.substr(t.p,4,t.p.length - 4); - eelse = this.parse(tokens); - } - return haxe__$Template_TemplateExpr.OpIf(e,eif,eelse); - } - var pos = kwdEnd("foreach"); - if(pos >= 0) { - p = HxOverrides.substr(p,pos,p.length - pos); - var e = this.parseExpr(p); - var efor = this.parseBlock(tokens); - var t = tokens.pop(); - if(t == null || t.p != "end") { - throw haxe_Exception.thrown("Unclosed 'foreach'"); - } - return haxe__$Template_TemplateExpr.OpForeach(e,efor); - } - if(haxe_Template.expr_splitter.match(p)) { - return haxe__$Template_TemplateExpr.OpExpr(this.parseExpr(p)); - } - return haxe__$Template_TemplateExpr.OpVar(p); - } - ,parseExpr: function(data) { - var l = new haxe_ds_List(); - var expr = data; - while(haxe_Template.expr_splitter.match(data)) { - var p = haxe_Template.expr_splitter.matchedPos(); - var k = p.pos + p.len; - if(p.pos != 0) { - l.add({ p : HxOverrides.substr(data,0,p.pos), s : true}); - } - var p1 = haxe_Template.expr_splitter.matched(0); - l.add({ p : p1, s : p1.indexOf("\"") >= 0}); - data = haxe_Template.expr_splitter.matchedRight(); - } - if(data.length != 0) { - var _g_offset = 0; - var _g_s = data; - while(_g_offset < _g_s.length) { - var _g_key = _g_offset; - var _g_value = _g_s.charCodeAt(_g_offset++); - var i = _g_key; - var c = _g_value; - if(c != 32) { - l.add({ p : HxOverrides.substr(data,i,null), s : true}); - break; - } - } - } - var e; - try { - e = this.makeExpr(l); - if(!l.isEmpty()) { - throw haxe_Exception.thrown(l.first().p); - } - } catch( _g ) { - var _g1 = haxe_Exception.caught(_g).unwrap(); - if(typeof(_g1) == "string") { - var s = _g1; - throw haxe_Exception.thrown("Unexpected '" + s + "' in " + expr); - } else { - throw _g; - } - } - return function() { - try { - return e(); - } catch( _g ) { - var exc = haxe_Exception.caught(_g).unwrap(); - throw haxe_Exception.thrown("Error : " + Std.string(exc) + " in " + expr); - } - }; - } - ,makeConst: function(v) { - haxe_Template.expr_trim.match(v); - v = haxe_Template.expr_trim.matched(1); - if(HxOverrides.cca(v,0) == 34) { - var str = HxOverrides.substr(v,1,v.length - 2); - return function() { - return str; - }; - } - if(haxe_Template.expr_int.match(v)) { - var i = Std.parseInt(v); - return function() { - return i; - }; - } - if(haxe_Template.expr_float.match(v)) { - var f = parseFloat(v); - return function() { - return f; - }; - } - var me = this; - return function() { - return me.resolve(v); - }; - } - ,makePath: function(e,l) { - var p = l.first(); - if(p == null || p.p != ".") { - return e; - } - l.pop(); - var field = l.pop(); - if(field == null || !field.s) { - throw haxe_Exception.thrown(field.p); - } - var f = field.p; - haxe_Template.expr_trim.match(f); - f = haxe_Template.expr_trim.matched(1); - return this.makePath(function() { - return Reflect.field(e(),f); - },l); - } - ,makeExpr: function(l) { - return this.makePath(this.makeExpr2(l),l); - } - ,skipSpaces: function(l) { - var p = l.first(); - while(p != null) { - var _g_offset = 0; - var _g_s = p.p; - while(_g_offset < _g_s.length) { - var c = _g_s.charCodeAt(_g_offset++); - if(c != 32) { - return; - } - } - l.pop(); - p = l.first(); - } - } - ,makeExpr2: function(l) { - this.skipSpaces(l); - var p = l.pop(); - this.skipSpaces(l); - if(p == null) { - throw haxe_Exception.thrown(""); - } - if(p.s) { - return this.makeConst(p.p); - } - switch(p.p) { - case "!": - var e = this.makeExpr(l); - return function() { - var v = e(); - if(v != null) { - return v == false; - } else { - return true; - } - }; - case "(": - this.skipSpaces(l); - var e1 = this.makeExpr(l); - this.skipSpaces(l); - var p1 = l.pop(); - if(p1 == null || p1.s) { - throw haxe_Exception.thrown(p1); - } - if(p1.p == ")") { - return e1; - } - this.skipSpaces(l); - var e2 = this.makeExpr(l); - this.skipSpaces(l); - var p2 = l.pop(); - this.skipSpaces(l); - if(p2 == null || p2.p != ")") { - throw haxe_Exception.thrown(p2); - } - switch(p1.p) { - case "!=": - return function() { - return e1() != e2(); - }; - case "&&": - return function() { - return e1() && e2(); - }; - case "*": - return function() { - return e1() * e2(); - }; - case "+": - return function() { - return e1() + e2(); - }; - case "-": - return function() { - return e1() - e2(); - }; - case "/": - return function() { - return e1() / e2(); - }; - case "<": - return function() { - return e1() < e2(); - }; - case "<=": - return function() { - return e1() <= e2(); - }; - case "==": - return function() { - return e1() == e2(); - }; - case ">": - return function() { - return e1() > e2(); - }; - case ">=": - return function() { - return e1() >= e2(); - }; - case "||": - return function() { - return e1() || e2(); - }; - default: - throw haxe_Exception.thrown("Unknown operation " + p1.p); - } - break; - case "-": - var e3 = this.makeExpr(l); - return function() { - return -e3(); - }; - } - throw haxe_Exception.thrown(p.p); - } - ,run: function(e) { - switch(e._hx_index) { - case 0: - var v = e.v; - var _this = this.buf; - var x = Std.string(this.resolve(v)); - _this.b += Std.string(x); - break; - case 1: - var e1 = e.expr; - var _this = this.buf; - var x = Std.string(e1()); - _this.b += Std.string(x); - break; - case 2: - var e1 = e.expr; - var eif = e.eif; - var eelse = e.eelse; - var v = e1(); - if(v == null || v == false) { - if(eelse != null) { - this.run(eelse); - } - } else { - this.run(eif); - } - break; - case 3: - var str = e.str; - this.buf.b += str == null ? "null" : "" + str; - break; - case 4: - var l = e.l; - var _g_head = l.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var e1 = val; - this.run(e1); - } - break; - case 5: - var e1 = e.expr; - var loop = e.loop; - var v = e1(); - try { - var x = $getIterator(v); - if(x.hasNext == null) { - throw haxe_Exception.thrown(null); - } - v = x; - } catch( _g ) { - try { - if(v.hasNext == null) { - throw haxe_Exception.thrown(null); - } - } catch( _g1 ) { - throw haxe_Exception.thrown("Cannot iter on " + Std.string(v)); - } - } - this.stack.push(this.context); - var v1 = v; - var ctx = v1; - while(ctx.hasNext()) { - var ctx1 = ctx.next(); - this.context = ctx1; - this.run(loop); - } - this.context = this.stack.pop(); - break; - case 6: - var m = e.name; - var params = e.params; - var v = Reflect.field(this.macros,m); - var pl = []; - var old = this.buf; - pl.push($bind(this,this.resolve)); - var _g_head = params.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var p = val; - if(p._hx_index == 0) { - var v1 = p.v; - pl.push(this.resolve(v1)); - } else { - this.buf = new StringBuf(); - this.run(p); - pl.push(this.buf.b); - } - } - this.buf = old; - try { - var _this = this.buf; - var x = Std.string(v.apply(this.macros,pl)); - _this.b += Std.string(x); - } catch( _g ) { - var e = haxe_Exception.caught(_g).unwrap(); - var plstr; - try { - plstr = pl.join(","); - } catch( _g1 ) { - plstr = "???"; - } - var msg = "Macro call " + m + "(" + plstr + ") failed (" + Std.string(e) + ")"; - throw haxe_Exception.thrown(msg); - } - break; - } - } -}; -var haxe_ValueException = function(value,previous,native) { - haxe_Exception.call(this,String(value),previous,native); - this.value = value; -}; -haxe_ValueException.__name__ = true; -haxe_ValueException.__super__ = haxe_Exception; -haxe_ValueException.prototype = $extend(haxe_Exception.prototype,{ - unwrap: function() { - return this.value; - } -}); -var haxe_ds_List = function() { - this.length = 0; -}; -haxe_ds_List.__name__ = true; -haxe_ds_List.prototype = { - add: function(item) { - var x = new haxe_ds__$List_ListNode(item,null); - if(this.h == null) { - this.h = x; - } else { - this.q.next = x; - } - this.q = x; - this.length++; - } - ,push: function(item) { - var x = new haxe_ds__$List_ListNode(item,this.h); - this.h = x; - if(this.q == null) { - this.q = x; - } - this.length++; - } - ,first: function() { - if(this.h == null) { - return null; - } else { - return this.h.item; - } - } - ,pop: function() { - if(this.h == null) { - return null; - } - var x = this.h.item; - this.h = this.h.next; - if(this.h == null) { - this.q = null; - } - this.length--; - return x; - } - ,isEmpty: function() { - return this.h == null; - } - ,toString: function() { - var s_b = ""; - var first = true; - var l = this.h; - s_b += "{"; - while(l != null) { - if(first) { - first = false; - } else { - s_b += ", "; - } - s_b += Std.string(Std.string(l.item)); - l = l.next; - } - s_b += "}"; - return s_b; - } -}; -var haxe_ds__$List_ListNode = function(item,next) { - this.item = item; - this.next = next; -}; -haxe_ds__$List_ListNode.__name__ = true; -var js_Boot = function() { }; -js_Boot.__name__ = true; -js_Boot.__string_rec = function(o,s) { - if(o == null) { - return "null"; - } - if(s.length >= 5) { - return "<...>"; - } - var t = typeof(o); - if(t == "function" && (o.__name__ || o.__ename__)) { - t = "object"; - } - switch(t) { - case "function": - return ""; - case "object": - if(o.__enum__) { - var e = $hxEnums[o.__enum__]; - var con = e.__constructs__[o._hx_index]; - var n = con._hx_name; - if(con.__params__) { - s = s + "\t"; - return n + "(" + ((function($this) { - var $r; - var _g = []; - { - var _g1 = 0; - var _g2 = con.__params__; - while(true) { - if(!(_g1 < _g2.length)) { - break; - } - var p = _g2[_g1]; - _g1 = _g1 + 1; - _g.push(js_Boot.__string_rec(o[p],s)); - } - } - $r = _g; - return $r; - }(this))).join(",") + ")"; - } else { - return n; - } - } - if(((o) instanceof Array)) { - var str = "["; - s += "\t"; - var _g = 0; - var _g1 = o.length; - while(_g < _g1) { - var i = _g++; - str += (i > 0 ? "," : "") + js_Boot.__string_rec(o[i],s); - } - str += "]"; - return str; - } - var tostr; - try { - tostr = o.toString; - } catch( _g ) { - return "???"; - } - if(tostr != null && tostr != Object.toString && typeof(tostr) == "function") { - var s2 = o.toString(); - if(s2 != "[object Object]") { - return s2; - } - } - var str = "{\n"; - s += "\t"; - var hasp = o.hasOwnProperty != null; - var k = null; - for( k in o ) { - if(hasp && !o.hasOwnProperty(k)) { - continue; - } - if(k == "prototype" || k == "__class__" || k == "__super__" || k == "__interfaces__" || k == "__properties__") { - continue; - } - if(str.length != 2) { - str += ", \n"; - } - str += s + k + " : " + js_Boot.__string_rec(o[k],s); - } - s = s.substring(1); - str += "\n" + s + "}"; - return str; - case "string": - return o; - default: - return String(o); - } -}; -var xrfragment_Filter = $hx_exports["xrfragment"]["Filter"] = function(str) { - this.q = { }; - this.str = ""; - if(str != null) { - this.parse(str); - } -}; -xrfragment_Filter.__name__ = true; -xrfragment_Filter.prototype = { - toObject: function() { - return Reflect.copy(this.q); - } - ,get: function() { - return Reflect.copy(this.q); - } - ,parse: function(str) { - var token = str.split(" "); - var q = { }; - var process = function(str,prefix) { - if(prefix == null) { - prefix = ""; - } - str = StringTools.trim(str); - var k = str.split("=")[0]; - var v = str.split("=")[1]; - var filter = { }; - if(q[prefix + k]) { - filter = q[prefix + k]; - } - if(xrfragment_XRF.isProp.match(str)) { - var oper = ""; - if(str.indexOf(">") != -1) { - oper = ">"; - } - if(str.indexOf("<") != -1) { - oper = "<"; - } - if(xrfragment_XRF.isExclude.match(k)) { - k = HxOverrides.substr(k,1,null); - } - v = HxOverrides.substr(v,oper.length,null); - if(oper.length == 0) { - oper = "="; - } - var rule = { }; - if(xrfragment_XRF.isNumber.match(v)) { - rule[oper] = parseFloat(v); - } else { - rule[oper] = v; - } - q["expr"] = rule; - } - var value = xrfragment_XRF.isDeep.match(str) ? k.split("*").length - 1 : 0; - q["deep"] = value; - var value = xrfragment_XRF.isExclude.match(str) ? false : true; - q["show"] = value; - var value = k.replace(xrfragment_XRF.operators.r,""); - q["key"] = value; - q["value"] = v; - }; - var _g = 0; - var _g1 = token.length; - while(_g < _g1) { - var i = _g++; - process(token[i]); - } - return this.q = q; - } - ,test: function(obj) { - var qualify = false; - var _g = 0; - var _g1 = Reflect.fields(obj); - while(_g < _g1.length) { - var k = _g1[_g]; - ++_g; - var v = Std.string(Reflect.field(obj,k)); - if(this.testProperty(k,v)) { - qualify = true; - } - } - var _g = 0; - var _g1 = Reflect.fields(obj); - while(_g < _g1.length) { - var k = _g1[_g]; - ++_g; - var v = Std.string(Reflect.field(obj,k)); - if(this.testProperty(k,v,true)) { - qualify = false; - } - } - return qualify; - } - ,testProperty: function(property,value,exclude) { - var conds = 0; - var fails = 0; - var qualify = 0; - var testprop = function(expr) { - conds += 1; - fails += expr ? 0 : 1; - return expr; - }; - if(this.q[value] != null) { - var v = this.q[value]; - if(v[property] != null) { - return v[property]; - } - } - if(Reflect.field(this.q,"expr")) { - var f = Reflect.field(this.q,"expr"); - if(!Reflect.field(this.q,"show")) { - if(Reflect.field(f,"!=") != null && testprop((value == null ? "null" : "" + value) == Std.string(Reflect.field(f,"!="))) && exclude) { - ++qualify; - } - } else { - if(Reflect.field(f,"*") != null && testprop(parseFloat(value) != null)) { - ++qualify; - } - if(Reflect.field(f,">") != null && testprop(parseFloat(value) >= parseFloat(Reflect.field(f,">")))) { - ++qualify; - } - if(Reflect.field(f,"<") != null && testprop(parseFloat(value) <= parseFloat(Reflect.field(f,"<")))) { - ++qualify; - } - if(Reflect.field(f,"=") != null && (testprop(value == Reflect.field(f,"=")) || testprop(parseFloat(value) == parseFloat(Reflect.field(f,"="))))) { - ++qualify; - } - } - } - return qualify > 0; - } -}; -var xrfragment_Parser = $hx_exports["xrfragment"]["Parser"] = function() { }; -xrfragment_Parser.__name__ = true; -xrfragment_Parser.parse = function(key,value,store,index) { - var Frag_h = Object.create(null); - Frag_h["#"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_PREDEFINED_VIEW | xrfragment_XRF.PV_EXECUTE; - Frag_h["src"] = xrfragment_XRF.T_URL; - Frag_h["href"] = xrfragment_XRF.T_URL | xrfragment_XRF.T_PREDEFINED_VIEW; - Frag_h["tag"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["pos"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_VECTOR3 | xrfragment_XRF.T_STRING | xrfragment_XRF.METADATA | xrfragment_XRF.NAVIGATOR; - Frag_h["rot"] = xrfragment_XRF.QUERY_OPERATOR | xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_VECTOR3 | xrfragment_XRF.METADATA | xrfragment_XRF.NAVIGATOR; - Frag_h["t"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_FLOAT | xrfragment_XRF.T_VECTOR2 | xrfragment_XRF.NAVIGATOR | xrfragment_XRF.METADATA; - Frag_h["s"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_MEDIAFRAG; - Frag_h["loop"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_PREDEFINED_VIEW; - Frag_h["uv"] = xrfragment_XRF.T_VECTOR2 | xrfragment_XRF.T_MEDIAFRAG; - Frag_h["namespace"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["SPDX"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["unit"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["description"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - var keyStripped = key.replace(xrfragment_XRF.operators.r,""); - var isPVDynamic = key.length > 0 && !Object.prototype.hasOwnProperty.call(Frag_h,key); - if(isPVDynamic) { - var v = new xrfragment_XRF(key,xrfragment_XRF.PV_EXECUTE | xrfragment_XRF.NAVIGATOR,index); - v.validate(value); - v.flags = xrfragment_XRF.set(xrfragment_XRF.T_DYNAMICKEY,v.flags); - if(!Object.prototype.hasOwnProperty.call(Frag_h,key)) { - v.flags = xrfragment_XRF.set(xrfragment_XRF.CUSTOMFRAG,v.flags); - } - if(value.length == 0) { - v.flags = xrfragment_XRF.set(xrfragment_XRF.T_DYNAMICKEYVALUE,v.flags); - } - store[keyStripped] = v; - return true; - } - var v = new xrfragment_XRF(key,Frag_h[key],index); - if(Object.prototype.hasOwnProperty.call(Frag_h,key)) { - if(!v.validate(value)) { - console.log("src/xrfragment/Parser.hx:67:","⚠ fragment '" + key + "' has incompatible value (" + value + ")"); - return false; - } - store[keyStripped] = v; - if(xrfragment_Parser.debug) { - console.log("src/xrfragment/Parser.hx:71:","✔ " + key + ": " + v.string); - } - } else { - if(typeof(value) == "string") { - v.guessType(v,value); - } - v.flags = xrfragment_XRF.set(xrfragment_XRF.CUSTOMFRAG,v.flags); - store[keyStripped] = v; - } - return true; -}; -xrfragment_Parser.getMetaData = function() { - var meta = { title : ["title","og:title","dc.title"], description : ["aria-description","og:description","dc.description"], author : ["author","dc.creator"], publisher : ["publisher","dc.publisher"], website : ["og:site_name","og:url","dc.publisher"], license : ["SPDX","dc.rights"]}; - return meta; -}; -var xrfragment_URI = $hx_exports["xrfragment"]["URI"] = function() { - this.XRF = { }; - this.hash = { }; - this.fragment = ""; -}; -xrfragment_URI.__name__ = true; -xrfragment_URI.parseFragment = function(url,filter) { - var store = { }; - if(url == null || url.indexOf("#") == -1) { - return store; - } - var fragment = url.split("#"); - var splitArray = fragment[1].split("&"); - var _g = 0; - var _g1 = splitArray.length; - while(_g < _g1) { - var i = _g++; - var splitByEqual = splitArray[i].split("="); - var regexPlus = new EReg("\\+","g"); - var key = splitByEqual[0]; - var value = ""; - if(splitByEqual.length > 1) { - if(xrfragment_XRF.isVector.match(splitByEqual[1])) { - value = splitByEqual[1]; - } else { - var s = regexPlus.split(splitByEqual[1]).join(" "); - value = decodeURIComponent(s.split("+").join(" ")); - } - } - var ok = xrfragment_Parser.parse(key,value,store,i); - } - if(filter != null && filter != 0) { - var _g = 0; - var _g1 = Reflect.fields(store); - while(_g < _g1.length) { - var key = _g1[_g]; - ++_g; - var xrf = store[key]; - if(!xrf.is(filter)) { - Reflect.deleteField(store,key); - } - } - } - return store; -}; -xrfragment_URI.template = function(uri,vars) { - var parts = uri.split("#"); - if(parts.length == 1) { - return uri; - } - var frag = parts[1]; - frag = StringTools.replace(frag,"{","::"); - frag = StringTools.replace(frag,"}","::"); - frag = new haxe_Template(frag).execute(vars); - frag = StringTools.replace(frag,"null",""); - parts[1] = frag; - return parts.join("#"); -}; -xrfragment_URI.parse = function(stringUrl,flags) { - var r = new EReg("^(?:(?![^:@]+:[^:@/]*@)([^:/?#.]+):)?(?://)?((?:(([^:@]*)(?::([^:@]*))?)?@)?([^:/?#]*)(?::(\\d*))?)(((/(?:[^?#](?![^?#/]*\\.[^?#/.]+(?:[?#]|$)))*/?)?([^?#/]*))(?:\\?([^#]*))?(?:#(.*))?)",""); - if(stringUrl.indexOf("://") == -1 && stringUrl.charAt(0) != "/") { - stringUrl = "/" + stringUrl; - } - r.match(stringUrl); - var url = new xrfragment_URI(); - var _g = 0; - var _g1 = xrfragment_URI._parts.length; - while(_g < _g1) { - var i = _g++; - url[xrfragment_URI._parts[i]] = r.matched(i); - } - if(xrfragment_URI.isRelative(url) == true) { - if(url.directory == null && url.host != null) { - url.file = url.host; - } - url.host = ""; - } - url.hash = { }; - if(url.fragment != null && url.fragment.length > 0) { - url.XRF = xrfragment_URI.parseFragment("#" + url.fragment,flags); - var key; - var _g = 0; - var _g1 = Reflect.fields(url.XRF); - while(_g < _g1.length) { - var key = _g1[_g]; - ++_g; - var v = url.XRF[key]; - url.hash[key] = v["string"]; - } - } - xrfragment_URI.computeVars(url); - return url; -}; -xrfragment_URI.computeVars = function(url) { - var r_r = new RegExp("//","g".split("u").join("")); - if(url.directory != null && url.directory.indexOf("//") != -1) { - url.directory = url.directory.replace(r_r,"/"); - } - if(url.path != null && url.path.indexOf("//") != -1) { - url.path = url.path.replace(r_r,"/"); - } - if(url.file != null && url.file.indexOf("//") != -1) { - url.file = url.file.replace(r_r,"/"); - } - url.URN = url.scheme + "://" + url.host; - if(url.port != null) { - url.URN += ":" + url.port; - } - url.URN += url.directory; - if(url.file != null) { - var parts = url.file.split("."); - if(parts.length > 1) { - url.fileExt = parts.pop(); - } - } -}; -xrfragment_URI.toString = function(url) { - var result = ""; - if(url.scheme != null) { - result += url.scheme + "://"; - } - if(url.user != null) { - result += url.user + ":"; - } - if(url.password != null) { - result += url.password + "@"; - } - if(url.host != null) { - result += url.host; - } - if(url.port != null) { - result += ":" + url.port; - } - if(url.directory != null) { - result += url.directory; - } - if(url.file != null) { - result += url.file; - } - if(url.query != null) { - result += "?" + url.query; - } - if(url.fragment != null) { - result += "#" + url.fragment; - } - return result; -}; -xrfragment_URI.appendURI = function(url,appendedURI) { - if(xrfragment_URI.isRelative(url) == true) { - return xrfragment_URI.appendToRelativeURI(url,appendedURI); - } else { - return xrfragment_URI.appendToAbsoluteURI(url,appendedURI); - } -}; -xrfragment_URI.isRelative = function(url) { - return url.scheme == null; -}; -xrfragment_URI.appendToRelativeURI = function(url,appendedURI) { - if(url.directory == null || url.host == null) { - return xrfragment_URI.cloneURI(appendedURI); - } - var resultURI = new xrfragment_URI(); - resultURI.host = url.host; - resultURI.directory = url.directory; - if(appendedURI.host != null) { - resultURI.directory += appendedURI.host; - } - if(appendedURI.directory != null) { - var directory = appendedURI.directory; - if(appendedURI.host == null) { - resultURI.directory += HxOverrides.substr(directory,1,null); - } else { - resultURI.directory += directory; - } - } - if(appendedURI.file != null) { - resultURI.file = appendedURI.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(appendedURI.query != null) { - resultURI.query = appendedURI.query; - } - if(appendedURI.fragment != null) { - resultURI.fragment = appendedURI.fragment; - } - return resultURI; -}; -xrfragment_URI.appendToAbsoluteURI = function(url,appendedURI) { - var resultURI = new xrfragment_URI(); - if(url.scheme != null) { - resultURI.scheme = url.scheme; - } - if(url.host != null) { - resultURI.host = url.host; - } - var directory = ""; - if(url.directory != null) { - directory = url.directory; - } - if(appendedURI.host != null) { - appendedURI.directory += appendedURI.host; - } - if(appendedURI.directory != null) { - directory += appendedURI.directory; - } - resultURI.directory = directory; - if(appendedURI.file != null) { - resultURI.file = appendedURI.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(appendedURI.query != null) { - resultURI.query = appendedURI.query; - } - if(appendedURI.fragment != null) { - resultURI.fragment = appendedURI.fragment; - } - return resultURI; -}; -xrfragment_URI.toAbsolute = function(url,newUrl) { - var newURI = xrfragment_URI.parse(newUrl,0); - var resultURI = new xrfragment_URI(); - resultURI.port = url.port; - resultURI.source = newUrl; - if(newURI.scheme != null) { - resultURI.scheme = newURI.scheme; - } else { - resultURI.scheme = url.scheme; - } - if(newURI.host != null && newURI.host.length > 0) { - resultURI.host = newURI.host; - resultURI.port = null; - resultURI.fragment = null; - resultURI.hash = { }; - resultURI.XRF = { }; - if(newURI.port != null) { - resultURI.port = newURI.port; - } - } else { - resultURI.host = url.host; - } - var directory = ""; - if(url.directory != null) { - directory = url.directory; - } - if(newURI.directory != null) { - if(newUrl.charAt(0) != "/" && newUrl.indexOf("://") == -1) { - var stripRelative_r = new RegExp("\\./.*","".split("u").join("")); - directory = directory.replace(stripRelative_r,""); - directory += newURI.directory; - } else { - directory = newURI.directory; - } - } - resultURI.directory = directory; - if(newURI.file != null) { - resultURI.file = newURI.file; - } else { - resultURI.file = url.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(newURI.query != null) { - resultURI.query = newURI.query; - } - if(newURI.fragment != null) { - resultURI.fragment = newURI.fragment; - } - resultURI.hash = newURI.hash; - resultURI.XRF = newURI.XRF; - xrfragment_URI.computeVars(resultURI); - return resultURI; -}; -xrfragment_URI.cloneURI = function(url) { - var clonedURI = new xrfragment_URI(); - clonedURI.url = url.url; - clonedURI.source = url.source; - clonedURI.scheme = url.scheme; - clonedURI.authority = url.authority; - clonedURI.userInfo = url.userInfo; - clonedURI.password = url.password; - clonedURI.host = url.host; - clonedURI.port = url.port; - clonedURI.relative = url.relative; - clonedURI.path = url.path; - clonedURI.directory = url.directory; - clonedURI.file = url.file; - clonedURI.query = url.query; - clonedURI.fragment = url.fragment; - return clonedURI; -}; -var xrfragment_XRF = $hx_exports["xrfragment"]["XRF"] = function(_fragment,_flags,_index) { - this.floats = []; - this.shift = []; - this.fragment = _fragment; - this.flags = _flags; - this.index = _index; -}; -xrfragment_XRF.__name__ = true; -xrfragment_XRF.set = function(flag,flags) { - return flags | flag; -}; -xrfragment_XRF.unset = function(flag,flags) { - return flags & ~flag; -}; -xrfragment_XRF.prototype = { - is: function(flag) { - var v = this.flags; - if(!(typeof(v) == "number" && ((v | 0) === v))) { - this.flags = 0; - } - return (this.flags & flag) != 0; - } - ,validate: function(value) { - this.guessType(this,value); - var ok = true; - if(value.length == 0 && !this.is(xrfragment_XRF.T_PREDEFINED_VIEW)) { - ok = false; - } - if(!this.is(xrfragment_XRF.T_FLOAT) && this.is(xrfragment_XRF.T_VECTOR2) && !(typeof(this.x) == "number" && typeof(this.y) == "number")) { - ok = false; - } - if(!(this.is(xrfragment_XRF.T_VECTOR2) || this.is(xrfragment_XRF.T_STRING)) && this.is(xrfragment_XRF.T_VECTOR3) && !(typeof(this.x) == "number" && typeof(this.y) == "number" && typeof(this.z) == "number")) { - ok = false; - } - return ok; - } - ,guessType: function(v,str) { - v.string = str; - if(xrfragment_XRF.isReset.match(v.fragment)) { - v.reset = true; - } - if(v.fragment == "loop") { - v.loop = true; - } - if(typeof(str) != "string") { - return; - } - if(str.length > 0) { - if(xrfragment_XRF.isXRFScheme.match(str)) { - v.xrfScheme = true; - str = str.replace(xrfragment_XRF.isXRFScheme.r,""); - v.string = str; - } - if(str.split(",").length > 1) { - var xyzn = str.split(","); - if(xyzn.length > 0) { - v.x = parseFloat(xyzn[0]); - } - if(xyzn.length > 1) { - v.y = parseFloat(xyzn[1]); - } - if(xyzn.length > 2) { - v.z = parseFloat(xyzn[2]); - } - var _g = 0; - var _g1 = xyzn.length; - while(_g < _g1) { - var i = _g++; - v.shift.push(xrfragment_XRF.isShift.match(xyzn[i])); - v.floats.push(parseFloat(xyzn[i].replace(xrfragment_XRF.isShift.r,""))); - } - } - if(xrfragment_XRF.isColor.match(str)) { - v.color = str; - } - if(xrfragment_XRF.isFloat.match(str)) { - v.x = parseFloat(str); - v.float = v.x; - } - if(xrfragment_XRF.isInt.match(str)) { - v.int = Std.parseInt(str); - v.x = v.int; - v.floats.push(v.x); - } - v.filter = new xrfragment_Filter(v.fragment + "=" + v.string); - } else { - v.filter = new xrfragment_Filter(v.fragment); - } - } -}; -function $getIterator(o) { if( o instanceof Array ) return new haxe_iterators_ArrayIterator(o); else return o.iterator(); } -function $bind(o,m) { if( m == null ) return null; if( m.__id__ == null ) m.__id__ = $global.$haxeUID++; var f; if( o.hx__closures__ == null ) o.hx__closures__ = {}; else f = o.hx__closures__[m.__id__]; if( f == null ) { f = m.bind(o); o.hx__closures__[m.__id__] = f; } return f; } -$global.$haxeUID |= 0; -if(typeof(performance) != "undefined" ? typeof(performance.now) == "function" : false) { - HxOverrides.now = performance.now.bind(performance); -} -if( String.fromCodePoint == null ) String.fromCodePoint = function(c) { return c < 0x10000 ? String.fromCharCode(c) : String.fromCharCode((c>>10)+0xD7C0)+String.fromCharCode((c&0x3FF)+0xDC00); } -String.__name__ = true; -Array.__name__ = true; -js_Boot.__toStr = ({ }).toString; -haxe_Template.splitter = new EReg("(::[A-Za-z0-9_ ()&|!+=/><*.\"-]+::|\\$\\$([A-Za-z0-9_-]+)\\()",""); -haxe_Template.expr_splitter = new EReg("(\\(|\\)|[ \r\n\t]*\"[^\"]*\"[ \r\n\t]*|[!+=/><*.&|-]+)",""); -haxe_Template.expr_trim = new EReg("^[ ]*([^ ]+)[ ]*$",""); -haxe_Template.expr_int = new EReg("^[0-9]+$",""); -haxe_Template.expr_float = new EReg("^([+-]?)(?=\\d|,\\d)\\d*(,\\d*)?([Ee]([+-]?\\d+))?$",""); -haxe_Template.globals = { }; -haxe_Template.hxKeepArrayIterator = new haxe_iterators_ArrayIterator([]); -xrfragment_Parser.error = ""; -xrfragment_Parser.debug = false; -xrfragment_URI.__meta__ = { statics : { template : { keep : null}}}; -xrfragment_URI._parts = ["source","scheme","authority","userInfo","user","password","host","port","relative","path","directory","file","query","fragment"]; -xrfragment_XRF.IMMUTABLE = 1; -xrfragment_XRF.PROP_BIND = 2; -xrfragment_XRF.QUERY_OPERATOR = 4; -xrfragment_XRF.PROMPT = 8; -xrfragment_XRF.CUSTOMFRAG = 16; -xrfragment_XRF.NAVIGATOR = 32; -xrfragment_XRF.METADATA = 64; -xrfragment_XRF.PV_OVERRIDE = 128; -xrfragment_XRF.PV_EXECUTE = 256; -xrfragment_XRF.T_COLOR = 8192; -xrfragment_XRF.T_INT = 16384; -xrfragment_XRF.T_FLOAT = 32768; -xrfragment_XRF.T_VECTOR2 = 65536; -xrfragment_XRF.T_VECTOR3 = 131072; -xrfragment_XRF.T_URL = 262144; -xrfragment_XRF.T_PREDEFINED_VIEW = 524288; -xrfragment_XRF.T_STRING = 1048576; -xrfragment_XRF.T_MEDIAFRAG = 2097152; -xrfragment_XRF.T_DYNAMICKEY = 4194304; -xrfragment_XRF.T_DYNAMICKEYVALUE = 8388608; -xrfragment_XRF.isColor = new EReg("^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$",""); -xrfragment_XRF.isInt = new EReg("^[-0-9]+$",""); -xrfragment_XRF.isFloat = new EReg("^[-0-9]+\\.[0-9]+$",""); -xrfragment_XRF.isVector = new EReg("([,]+|\\w)",""); -xrfragment_XRF.isUrl = new EReg("(://)?\\..*",""); -xrfragment_XRF.isUrlOrPretypedView = new EReg("(^#|://)?\\..*",""); -xrfragment_XRF.isString = new EReg(".*",""); -xrfragment_XRF.operators = new EReg("(^[-]|^[!]|[\\*]$)","g"); -xrfragment_XRF.isProp = new EReg("^.*=[><=]?",""); -xrfragment_XRF.isExclude = new EReg("^-",""); -xrfragment_XRF.isDeep = new EReg("\\*",""); -xrfragment_XRF.isNumber = new EReg("^[0-9\\.]+$",""); -xrfragment_XRF.isMediaFrag = new EReg("^([0-9\\.,\\*+-]+)$",""); -xrfragment_XRF.isReset = new EReg("^!",""); -xrfragment_XRF.isShift = new EReg("^(\\+|--)",""); -xrfragment_XRF.isXRFScheme = new EReg("^xrf://",""); -})(typeof window != "undefined" ? window : typeof global != "undefined" ? global : typeof self != "undefined" ? self : this); -var xrfragment = $hx_exports["xrfragment"]; -export default xrfragment; -// Generated by Haxe 4.3.3 -var $hx_exports = typeof exports != "undefined" ? exports : typeof window != "undefined" ? window : typeof self != "undefined" ? self : this; -(function ($global) { "use strict"; -$hx_exports["xrfragment"] = $hx_exports["xrfragment"] || {}; -var $estr = function() { return js_Boot.__string_rec(this,''); },$hxEnums = $hxEnums || {},$_; -function $extend(from, fields) { - var proto = Object.create(from); - for (var name in fields) proto[name] = fields[name]; - if( fields.toString !== Object.prototype.toString ) proto.toString = fields.toString; - return proto; -} -var EReg = function(r,opt) { - this.r = new RegExp(r,opt.split("u").join("")); -}; -EReg.__name__ = true; -EReg.prototype = { - match: function(s) { - if(this.r.global) { - this.r.lastIndex = 0; - } - this.r.m = this.r.exec(s); - this.r.s = s; - return this.r.m != null; - } - ,matched: function(n) { - if(this.r.m != null && n >= 0 && n < this.r.m.length) { - return this.r.m[n]; - } else { - throw haxe_Exception.thrown("EReg::matched"); - } - } - ,matchedRight: function() { - if(this.r.m == null) { - throw haxe_Exception.thrown("No string matched"); - } - var sz = this.r.m.index + this.r.m[0].length; - return HxOverrides.substr(this.r.s,sz,this.r.s.length - sz); - } - ,matchedPos: function() { - if(this.r.m == null) { - throw haxe_Exception.thrown("No string matched"); - } - return { pos : this.r.m.index, len : this.r.m[0].length}; - } - ,split: function(s) { - var d = "#__delim__#"; - return s.replace(this.r,d).split(d); - } -}; -var HxOverrides = function() { }; -HxOverrides.__name__ = true; -HxOverrides.cca = function(s,index) { - var x = s.charCodeAt(index); - if(x != x) { - return undefined; - } - return x; -}; -HxOverrides.substr = function(s,pos,len) { - if(len == null) { - len = s.length; - } else if(len < 0) { - if(pos == 0) { - len = s.length + len; - } else { - return ""; - } - } - return s.substr(pos,len); -}; -HxOverrides.now = function() { - return Date.now(); -}; -Math.__name__ = true; -var Reflect = function() { }; -Reflect.__name__ = true; -Reflect.field = function(o,field) { - try { - return o[field]; - } catch( _g ) { - return null; - } -}; -Reflect.getProperty = function(o,field) { - var tmp; - if(o == null) { - return null; - } else { - var tmp1; - if(o.__properties__) { - tmp = o.__properties__["get_" + field]; - tmp1 = tmp; - } else { - tmp1 = false; - } - if(tmp1) { - return o[tmp](); - } else { - return o[field]; - } - } -}; -Reflect.fields = function(o) { - var a = []; - if(o != null) { - var hasOwnProperty = Object.prototype.hasOwnProperty; - for( var f in o ) { - if(f != "__id__" && f != "hx__closures__" && hasOwnProperty.call(o,f)) { - a.push(f); - } - } - } - return a; -}; -Reflect.isObject = function(v) { - if(v == null) { - return false; - } - var t = typeof(v); - if(!(t == "string" || t == "object" && v.__enum__ == null)) { - if(t == "function") { - return (v.__name__ || v.__ename__) != null; - } else { - return false; - } - } else { - return true; - } -}; -Reflect.deleteField = function(o,field) { - if(!Object.prototype.hasOwnProperty.call(o,field)) { - return false; - } - delete(o[field]); - return true; -}; -Reflect.copy = function(o) { - if(o == null) { - return null; - } - var o2 = { }; - var _g = 0; - var _g1 = Reflect.fields(o); - while(_g < _g1.length) { - var f = _g1[_g]; - ++_g; - o2[f] = Reflect.field(o,f); - } - return o2; -}; -var Std = function() { }; -Std.__name__ = true; -Std.string = function(s) { - return js_Boot.__string_rec(s,""); -}; -Std.parseInt = function(x) { - var v = parseInt(x); - if(isNaN(v)) { - return null; - } - return v; -}; -var StringBuf = function() { - this.b = ""; -}; -StringBuf.__name__ = true; -var StringTools = function() { }; -StringTools.__name__ = true; -StringTools.isSpace = function(s,pos) { - var c = HxOverrides.cca(s,pos); - if(!(c > 8 && c < 14)) { - return c == 32; - } else { - return true; - } -}; -StringTools.ltrim = function(s) { - var l = s.length; - var r = 0; - while(r < l && StringTools.isSpace(s,r)) ++r; - if(r > 0) { - return HxOverrides.substr(s,r,l - r); - } else { - return s; - } -}; -StringTools.rtrim = function(s) { - var l = s.length; - var r = 0; - while(r < l && StringTools.isSpace(s,l - r - 1)) ++r; - if(r > 0) { - return HxOverrides.substr(s,0,l - r); - } else { - return s; - } -}; -StringTools.trim = function(s) { - return StringTools.ltrim(StringTools.rtrim(s)); -}; -StringTools.replace = function(s,sub,by) { - return s.split(sub).join(by); -}; -var haxe_Exception = function(message,previous,native) { - Error.call(this,message); - this.message = message; - this.__previousException = previous; - this.__nativeException = native != null ? native : this; -}; -haxe_Exception.__name__ = true; -haxe_Exception.caught = function(value) { - if(((value) instanceof haxe_Exception)) { - return value; - } else if(((value) instanceof Error)) { - return new haxe_Exception(value.message,null,value); - } else { - return new haxe_ValueException(value,null,value); - } -}; -haxe_Exception.thrown = function(value) { - if(((value) instanceof haxe_Exception)) { - return value.get_native(); - } else if(((value) instanceof Error)) { - return value; - } else { - var e = new haxe_ValueException(value); - return e; - } -}; -haxe_Exception.__super__ = Error; -haxe_Exception.prototype = $extend(Error.prototype,{ - unwrap: function() { - return this.__nativeException; - } - ,get_native: function() { - return this.__nativeException; - } - ,__properties__: {get_native:"get_native"} -}); -var haxe__$Template_TemplateExpr = $hxEnums["haxe._Template.TemplateExpr"] = { __ename__:true,__constructs__:null - ,OpVar: ($_=function(v) { return {_hx_index:0,v:v,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpVar",$_.__params__ = ["v"],$_) - ,OpExpr: ($_=function(expr) { return {_hx_index:1,expr:expr,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpExpr",$_.__params__ = ["expr"],$_) - ,OpIf: ($_=function(expr,eif,eelse) { return {_hx_index:2,expr:expr,eif:eif,eelse:eelse,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpIf",$_.__params__ = ["expr","eif","eelse"],$_) - ,OpStr: ($_=function(str) { return {_hx_index:3,str:str,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpStr",$_.__params__ = ["str"],$_) - ,OpBlock: ($_=function(l) { return {_hx_index:4,l:l,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpBlock",$_.__params__ = ["l"],$_) - ,OpForeach: ($_=function(expr,loop) { return {_hx_index:5,expr:expr,loop:loop,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpForeach",$_.__params__ = ["expr","loop"],$_) - ,OpMacro: ($_=function(name,params) { return {_hx_index:6,name:name,params:params,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpMacro",$_.__params__ = ["name","params"],$_) -}; -haxe__$Template_TemplateExpr.__constructs__ = [haxe__$Template_TemplateExpr.OpVar,haxe__$Template_TemplateExpr.OpExpr,haxe__$Template_TemplateExpr.OpIf,haxe__$Template_TemplateExpr.OpStr,haxe__$Template_TemplateExpr.OpBlock,haxe__$Template_TemplateExpr.OpForeach,haxe__$Template_TemplateExpr.OpMacro]; -var haxe_iterators_ArrayIterator = function(array) { - this.current = 0; - this.array = array; -}; -haxe_iterators_ArrayIterator.__name__ = true; -haxe_iterators_ArrayIterator.prototype = { - hasNext: function() { - return this.current < this.array.length; - } - ,next: function() { - return this.array[this.current++]; - } -}; -var haxe_Template = function(str) { - var tokens = this.parseTokens(str); - this.expr = this.parseBlock(tokens); - if(!tokens.isEmpty()) { - throw haxe_Exception.thrown("Unexpected '" + Std.string(tokens.first().s) + "'"); - } -}; -haxe_Template.__name__ = true; -haxe_Template.prototype = { - execute: function(context,macros) { - this.macros = macros == null ? { } : macros; - this.context = context; - this.stack = new haxe_ds_List(); - this.buf = new StringBuf(); - this.run(this.expr); - return this.buf.b; - } - ,resolve: function(v) { - if(v == "__current__") { - return this.context; - } - if(Reflect.isObject(this.context)) { - var value = Reflect.getProperty(this.context,v); - if(value != null || Object.prototype.hasOwnProperty.call(this.context,v)) { - return value; - } - } - var _g_head = this.stack.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var ctx = val; - var value = Reflect.getProperty(ctx,v); - if(value != null || Object.prototype.hasOwnProperty.call(ctx,v)) { - return value; - } - } - return Reflect.field(haxe_Template.globals,v); - } - ,parseTokens: function(data) { - var tokens = new haxe_ds_List(); - while(haxe_Template.splitter.match(data)) { - var p = haxe_Template.splitter.matchedPos(); - if(p.pos > 0) { - tokens.add({ p : HxOverrides.substr(data,0,p.pos), s : true, l : null}); - } - if(HxOverrides.cca(data,p.pos) == 58) { - tokens.add({ p : HxOverrides.substr(data,p.pos + 2,p.len - 4), s : false, l : null}); - data = haxe_Template.splitter.matchedRight(); - continue; - } - var parp = p.pos + p.len; - var npar = 1; - var params = []; - var part = ""; - while(true) { - var c = HxOverrides.cca(data,parp); - ++parp; - if(c == 40) { - ++npar; - } else if(c == 41) { - --npar; - if(npar <= 0) { - break; - } - } else if(c == null) { - throw haxe_Exception.thrown("Unclosed macro parenthesis"); - } - if(c == 44 && npar == 1) { - params.push(part); - part = ""; - } else { - part += String.fromCodePoint(c); - } - } - params.push(part); - tokens.add({ p : haxe_Template.splitter.matched(2), s : false, l : params}); - data = HxOverrides.substr(data,parp,data.length - parp); - } - if(data.length > 0) { - tokens.add({ p : data, s : true, l : null}); - } - return tokens; - } - ,parseBlock: function(tokens) { - var l = new haxe_ds_List(); - while(true) { - var t = tokens.first(); - if(t == null) { - break; - } - if(!t.s && (t.p == "end" || t.p == "else" || HxOverrides.substr(t.p,0,7) == "elseif ")) { - break; - } - l.add(this.parse(tokens)); - } - if(l.length == 1) { - return l.first(); - } - return haxe__$Template_TemplateExpr.OpBlock(l); - } - ,parse: function(tokens) { - var t = tokens.pop(); - var p = t.p; - if(t.s) { - return haxe__$Template_TemplateExpr.OpStr(p); - } - if(t.l != null) { - var pe = new haxe_ds_List(); - var _g = 0; - var _g1 = t.l; - while(_g < _g1.length) { - var p1 = _g1[_g]; - ++_g; - pe.add(this.parseBlock(this.parseTokens(p1))); - } - return haxe__$Template_TemplateExpr.OpMacro(p,pe); - } - var kwdEnd = function(kwd) { - var pos = -1; - var length = kwd.length; - if(HxOverrides.substr(p,0,length) == kwd) { - pos = length; - var _g_offset = 0; - var _g_s = HxOverrides.substr(p,length,null); - while(_g_offset < _g_s.length) { - var c = _g_s.charCodeAt(_g_offset++); - if(c == 32) { - ++pos; - } else { - break; - } - } - } - return pos; - }; - var pos = kwdEnd("if"); - if(pos > 0) { - p = HxOverrides.substr(p,pos,p.length - pos); - var e = this.parseExpr(p); - var eif = this.parseBlock(tokens); - var t = tokens.first(); - var eelse; - if(t == null) { - throw haxe_Exception.thrown("Unclosed 'if'"); - } - if(t.p == "end") { - tokens.pop(); - eelse = null; - } else if(t.p == "else") { - tokens.pop(); - eelse = this.parseBlock(tokens); - t = tokens.pop(); - if(t == null || t.p != "end") { - throw haxe_Exception.thrown("Unclosed 'else'"); - } - } else { - t.p = HxOverrides.substr(t.p,4,t.p.length - 4); - eelse = this.parse(tokens); - } - return haxe__$Template_TemplateExpr.OpIf(e,eif,eelse); - } - var pos = kwdEnd("foreach"); - if(pos >= 0) { - p = HxOverrides.substr(p,pos,p.length - pos); - var e = this.parseExpr(p); - var efor = this.parseBlock(tokens); - var t = tokens.pop(); - if(t == null || t.p != "end") { - throw haxe_Exception.thrown("Unclosed 'foreach'"); - } - return haxe__$Template_TemplateExpr.OpForeach(e,efor); - } - if(haxe_Template.expr_splitter.match(p)) { - return haxe__$Template_TemplateExpr.OpExpr(this.parseExpr(p)); - } - return haxe__$Template_TemplateExpr.OpVar(p); - } - ,parseExpr: function(data) { - var l = new haxe_ds_List(); - var expr = data; - while(haxe_Template.expr_splitter.match(data)) { - var p = haxe_Template.expr_splitter.matchedPos(); - var k = p.pos + p.len; - if(p.pos != 0) { - l.add({ p : HxOverrides.substr(data,0,p.pos), s : true}); - } - var p1 = haxe_Template.expr_splitter.matched(0); - l.add({ p : p1, s : p1.indexOf("\"") >= 0}); - data = haxe_Template.expr_splitter.matchedRight(); - } - if(data.length != 0) { - var _g_offset = 0; - var _g_s = data; - while(_g_offset < _g_s.length) { - var _g_key = _g_offset; - var _g_value = _g_s.charCodeAt(_g_offset++); - var i = _g_key; - var c = _g_value; - if(c != 32) { - l.add({ p : HxOverrides.substr(data,i,null), s : true}); - break; - } - } - } - var e; - try { - e = this.makeExpr(l); - if(!l.isEmpty()) { - throw haxe_Exception.thrown(l.first().p); - } - } catch( _g ) { - var _g1 = haxe_Exception.caught(_g).unwrap(); - if(typeof(_g1) == "string") { - var s = _g1; - throw haxe_Exception.thrown("Unexpected '" + s + "' in " + expr); - } else { - throw _g; - } - } - return function() { - try { - return e(); - } catch( _g ) { - var exc = haxe_Exception.caught(_g).unwrap(); - throw haxe_Exception.thrown("Error : " + Std.string(exc) + " in " + expr); - } - }; - } - ,makeConst: function(v) { - haxe_Template.expr_trim.match(v); - v = haxe_Template.expr_trim.matched(1); - if(HxOverrides.cca(v,0) == 34) { - var str = HxOverrides.substr(v,1,v.length - 2); - return function() { - return str; - }; - } - if(haxe_Template.expr_int.match(v)) { - var i = Std.parseInt(v); - return function() { - return i; - }; - } - if(haxe_Template.expr_float.match(v)) { - var f = parseFloat(v); - return function() { - return f; - }; - } - var me = this; - return function() { - return me.resolve(v); - }; - } - ,makePath: function(e,l) { - var p = l.first(); - if(p == null || p.p != ".") { - return e; - } - l.pop(); - var field = l.pop(); - if(field == null || !field.s) { - throw haxe_Exception.thrown(field.p); - } - var f = field.p; - haxe_Template.expr_trim.match(f); - f = haxe_Template.expr_trim.matched(1); - return this.makePath(function() { - return Reflect.field(e(),f); - },l); - } - ,makeExpr: function(l) { - return this.makePath(this.makeExpr2(l),l); - } - ,skipSpaces: function(l) { - var p = l.first(); - while(p != null) { - var _g_offset = 0; - var _g_s = p.p; - while(_g_offset < _g_s.length) { - var c = _g_s.charCodeAt(_g_offset++); - if(c != 32) { - return; - } - } - l.pop(); - p = l.first(); - } - } - ,makeExpr2: function(l) { - this.skipSpaces(l); - var p = l.pop(); - this.skipSpaces(l); - if(p == null) { - throw haxe_Exception.thrown(""); - } - if(p.s) { - return this.makeConst(p.p); - } - switch(p.p) { - case "!": - var e = this.makeExpr(l); - return function() { - var v = e(); - if(v != null) { - return v == false; - } else { - return true; - } - }; - case "(": - this.skipSpaces(l); - var e1 = this.makeExpr(l); - this.skipSpaces(l); - var p1 = l.pop(); - if(p1 == null || p1.s) { - throw haxe_Exception.thrown(p1); - } - if(p1.p == ")") { - return e1; - } - this.skipSpaces(l); - var e2 = this.makeExpr(l); - this.skipSpaces(l); - var p2 = l.pop(); - this.skipSpaces(l); - if(p2 == null || p2.p != ")") { - throw haxe_Exception.thrown(p2); - } - switch(p1.p) { - case "!=": - return function() { - return e1() != e2(); - }; - case "&&": - return function() { - return e1() && e2(); - }; - case "*": - return function() { - return e1() * e2(); - }; - case "+": - return function() { - return e1() + e2(); - }; - case "-": - return function() { - return e1() - e2(); - }; - case "/": - return function() { - return e1() / e2(); - }; - case "<": - return function() { - return e1() < e2(); - }; - case "<=": - return function() { - return e1() <= e2(); - }; - case "==": - return function() { - return e1() == e2(); - }; - case ">": - return function() { - return e1() > e2(); - }; - case ">=": - return function() { - return e1() >= e2(); - }; - case "||": - return function() { - return e1() || e2(); - }; - default: - throw haxe_Exception.thrown("Unknown operation " + p1.p); - } - break; - case "-": - var e3 = this.makeExpr(l); - return function() { - return -e3(); - }; - } - throw haxe_Exception.thrown(p.p); - } - ,run: function(e) { - switch(e._hx_index) { - case 0: - var v = e.v; - var _this = this.buf; - var x = Std.string(this.resolve(v)); - _this.b += Std.string(x); - break; - case 1: - var e1 = e.expr; - var _this = this.buf; - var x = Std.string(e1()); - _this.b += Std.string(x); - break; - case 2: - var e1 = e.expr; - var eif = e.eif; - var eelse = e.eelse; - var v = e1(); - if(v == null || v == false) { - if(eelse != null) { - this.run(eelse); - } - } else { - this.run(eif); - } - break; - case 3: - var str = e.str; - this.buf.b += str == null ? "null" : "" + str; - break; - case 4: - var l = e.l; - var _g_head = l.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var e1 = val; - this.run(e1); - } - break; - case 5: - var e1 = e.expr; - var loop = e.loop; - var v = e1(); - try { - var x = $getIterator(v); - if(x.hasNext == null) { - throw haxe_Exception.thrown(null); - } - v = x; - } catch( _g ) { - try { - if(v.hasNext == null) { - throw haxe_Exception.thrown(null); - } - } catch( _g1 ) { - throw haxe_Exception.thrown("Cannot iter on " + Std.string(v)); - } - } - this.stack.push(this.context); - var v1 = v; - var ctx = v1; - while(ctx.hasNext()) { - var ctx1 = ctx.next(); - this.context = ctx1; - this.run(loop); - } - this.context = this.stack.pop(); - break; - case 6: - var m = e.name; - var params = e.params; - var v = Reflect.field(this.macros,m); - var pl = []; - var old = this.buf; - pl.push($bind(this,this.resolve)); - var _g_head = params.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var p = val; - if(p._hx_index == 0) { - var v1 = p.v; - pl.push(this.resolve(v1)); - } else { - this.buf = new StringBuf(); - this.run(p); - pl.push(this.buf.b); - } - } - this.buf = old; - try { - var _this = this.buf; - var x = Std.string(v.apply(this.macros,pl)); - _this.b += Std.string(x); - } catch( _g ) { - var e = haxe_Exception.caught(_g).unwrap(); - var plstr; - try { - plstr = pl.join(","); - } catch( _g1 ) { - plstr = "???"; - } - var msg = "Macro call " + m + "(" + plstr + ") failed (" + Std.string(e) + ")"; - throw haxe_Exception.thrown(msg); - } - break; - } - } -}; -var haxe_ValueException = function(value,previous,native) { - haxe_Exception.call(this,String(value),previous,native); - this.value = value; -}; -haxe_ValueException.__name__ = true; -haxe_ValueException.__super__ = haxe_Exception; -haxe_ValueException.prototype = $extend(haxe_Exception.prototype,{ - unwrap: function() { - return this.value; - } -}); -var haxe_ds_List = function() { - this.length = 0; -}; -haxe_ds_List.__name__ = true; -haxe_ds_List.prototype = { - add: function(item) { - var x = new haxe_ds__$List_ListNode(item,null); - if(this.h == null) { - this.h = x; - } else { - this.q.next = x; - } - this.q = x; - this.length++; - } - ,push: function(item) { - var x = new haxe_ds__$List_ListNode(item,this.h); - this.h = x; - if(this.q == null) { - this.q = x; - } - this.length++; - } - ,first: function() { - if(this.h == null) { - return null; - } else { - return this.h.item; - } - } - ,pop: function() { - if(this.h == null) { - return null; - } - var x = this.h.item; - this.h = this.h.next; - if(this.h == null) { - this.q = null; - } - this.length--; - return x; - } - ,isEmpty: function() { - return this.h == null; - } - ,toString: function() { - var s_b = ""; - var first = true; - var l = this.h; - s_b += "{"; - while(l != null) { - if(first) { - first = false; - } else { - s_b += ", "; - } - s_b += Std.string(Std.string(l.item)); - l = l.next; - } - s_b += "}"; - return s_b; - } -}; -var haxe_ds__$List_ListNode = function(item,next) { - this.item = item; - this.next = next; -}; -haxe_ds__$List_ListNode.__name__ = true; -var js_Boot = function() { }; -js_Boot.__name__ = true; -js_Boot.__string_rec = function(o,s) { - if(o == null) { - return "null"; - } - if(s.length >= 5) { - return "<...>"; - } - var t = typeof(o); - if(t == "function" && (o.__name__ || o.__ename__)) { - t = "object"; - } - switch(t) { - case "function": - return ""; - case "object": - if(o.__enum__) { - var e = $hxEnums[o.__enum__]; - var con = e.__constructs__[o._hx_index]; - var n = con._hx_name; - if(con.__params__) { - s = s + "\t"; - return n + "(" + ((function($this) { - var $r; - var _g = []; - { - var _g1 = 0; - var _g2 = con.__params__; - while(true) { - if(!(_g1 < _g2.length)) { - break; - } - var p = _g2[_g1]; - _g1 = _g1 + 1; - _g.push(js_Boot.__string_rec(o[p],s)); - } - } - $r = _g; - return $r; - }(this))).join(",") + ")"; - } else { - return n; - } - } - if(((o) instanceof Array)) { - var str = "["; - s += "\t"; - var _g = 0; - var _g1 = o.length; - while(_g < _g1) { - var i = _g++; - str += (i > 0 ? "," : "") + js_Boot.__string_rec(o[i],s); - } - str += "]"; - return str; - } - var tostr; - try { - tostr = o.toString; - } catch( _g ) { - return "???"; - } - if(tostr != null && tostr != Object.toString && typeof(tostr) == "function") { - var s2 = o.toString(); - if(s2 != "[object Object]") { - return s2; - } - } - var str = "{\n"; - s += "\t"; - var hasp = o.hasOwnProperty != null; - var k = null; - for( k in o ) { - if(hasp && !o.hasOwnProperty(k)) { - continue; - } - if(k == "prototype" || k == "__class__" || k == "__super__" || k == "__interfaces__" || k == "__properties__") { - continue; - } - if(str.length != 2) { - str += ", \n"; - } - str += s + k + " : " + js_Boot.__string_rec(o[k],s); - } - s = s.substring(1); - str += "\n" + s + "}"; - return str; - case "string": - return o; - default: - return String(o); - } -}; -var xrfragment_Filter = $hx_exports["xrfragment"]["Filter"] = function(str) { - this.q = { }; - this.str = ""; - if(str != null) { - this.parse(str); - } -}; -xrfragment_Filter.__name__ = true; -xrfragment_Filter.prototype = { - toObject: function() { - return Reflect.copy(this.q); - } - ,get: function() { - return Reflect.copy(this.q); - } - ,parse: function(str) { - var token = str.split(" "); - var q = { }; - var process = function(str,prefix) { - if(prefix == null) { - prefix = ""; - } - str = StringTools.trim(str); - var k = str.split("=")[0]; - var v = str.split("=")[1]; - var filter = { }; - if(q[prefix + k]) { - filter = q[prefix + k]; - } - if(xrfragment_XRF.isProp.match(str)) { - var oper = ""; - if(str.indexOf(">") != -1) { - oper = ">"; - } - if(str.indexOf("<") != -1) { - oper = "<"; - } - if(xrfragment_XRF.isExclude.match(k)) { - k = HxOverrides.substr(k,1,null); - } - v = HxOverrides.substr(v,oper.length,null); - if(oper.length == 0) { - oper = "="; - } - var rule = { }; - if(xrfragment_XRF.isNumber.match(v)) { - rule[oper] = parseFloat(v); - } else { - rule[oper] = v; - } - q["expr"] = rule; - } - var value = xrfragment_XRF.isDeep.match(str) ? k.split("*").length - 1 : 0; - q["deep"] = value; - var value = xrfragment_XRF.isExclude.match(str) ? false : true; - q["show"] = value; - var value = k.replace(xrfragment_XRF.operators.r,""); - q["key"] = value; - q["value"] = v; - }; - var _g = 0; - var _g1 = token.length; - while(_g < _g1) { - var i = _g++; - process(token[i]); - } - return this.q = q; - } - ,test: function(obj) { - var qualify = false; - var _g = 0; - var _g1 = Reflect.fields(obj); - while(_g < _g1.length) { - var k = _g1[_g]; - ++_g; - var v = Std.string(Reflect.field(obj,k)); - if(this.testProperty(k,v)) { - qualify = true; - } - } - var _g = 0; - var _g1 = Reflect.fields(obj); - while(_g < _g1.length) { - var k = _g1[_g]; - ++_g; - var v = Std.string(Reflect.field(obj,k)); - if(this.testProperty(k,v,true)) { - qualify = false; - } - } - return qualify; - } - ,testProperty: function(property,value,exclude) { - var conds = 0; - var fails = 0; - var qualify = 0; - var testprop = function(expr) { - conds += 1; - fails += expr ? 0 : 1; - return expr; - }; - if(this.q[value] != null) { - var v = this.q[value]; - if(v[property] != null) { - return v[property]; - } - } - if(Reflect.field(this.q,"expr")) { - var f = Reflect.field(this.q,"expr"); - if(!Reflect.field(this.q,"show")) { - if(Reflect.field(f,"!=") != null && testprop((value == null ? "null" : "" + value) == Std.string(Reflect.field(f,"!="))) && exclude) { - ++qualify; - } - } else { - if(Reflect.field(f,"*") != null && testprop(parseFloat(value) != null)) { - ++qualify; - } - if(Reflect.field(f,">") != null && testprop(parseFloat(value) >= parseFloat(Reflect.field(f,">")))) { - ++qualify; - } - if(Reflect.field(f,"<") != null && testprop(parseFloat(value) <= parseFloat(Reflect.field(f,"<")))) { - ++qualify; - } - if(Reflect.field(f,"=") != null && (testprop(value == Reflect.field(f,"=")) || testprop(parseFloat(value) == parseFloat(Reflect.field(f,"="))))) { - ++qualify; - } - } - } - return qualify > 0; - } -}; -var xrfragment_Parser = $hx_exports["xrfragment"]["Parser"] = function() { }; -xrfragment_Parser.__name__ = true; -xrfragment_Parser.parse = function(key,value,store,index) { - var Frag_h = Object.create(null); - Frag_h["#"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_PREDEFINED_VIEW | xrfragment_XRF.PV_EXECUTE; - Frag_h["src"] = xrfragment_XRF.T_URL; - Frag_h["href"] = xrfragment_XRF.T_URL | xrfragment_XRF.T_PREDEFINED_VIEW; - Frag_h["tag"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["pos"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_VECTOR3 | xrfragment_XRF.T_STRING | xrfragment_XRF.METADATA | xrfragment_XRF.NAVIGATOR; - Frag_h["rot"] = xrfragment_XRF.QUERY_OPERATOR | xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_VECTOR3 | xrfragment_XRF.METADATA | xrfragment_XRF.NAVIGATOR; - Frag_h["t"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_FLOAT | xrfragment_XRF.T_VECTOR2 | xrfragment_XRF.NAVIGATOR | xrfragment_XRF.METADATA; - Frag_h["s"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_MEDIAFRAG; - Frag_h["loop"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_PREDEFINED_VIEW; - Frag_h["uv"] = xrfragment_XRF.T_VECTOR2 | xrfragment_XRF.T_MEDIAFRAG; - Frag_h["namespace"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["SPDX"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["unit"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["description"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - var keyStripped = key.replace(xrfragment_XRF.operators.r,""); - var isPVDynamic = key.length > 0 && !Object.prototype.hasOwnProperty.call(Frag_h,key); - if(isPVDynamic) { - var v = new xrfragment_XRF(key,xrfragment_XRF.PV_EXECUTE | xrfragment_XRF.NAVIGATOR,index); - v.validate(value); - v.flags = xrfragment_XRF.set(xrfragment_XRF.T_DYNAMICKEY,v.flags); - if(!Object.prototype.hasOwnProperty.call(Frag_h,key)) { - v.flags = xrfragment_XRF.set(xrfragment_XRF.CUSTOMFRAG,v.flags); - } - if(value.length == 0) { - v.flags = xrfragment_XRF.set(xrfragment_XRF.T_DYNAMICKEYVALUE,v.flags); - } - store[keyStripped] = v; - return true; - } - var v = new xrfragment_XRF(key,Frag_h[key],index); - if(Object.prototype.hasOwnProperty.call(Frag_h,key)) { - if(!v.validate(value)) { - console.log("src/xrfragment/Parser.hx:67:","⚠ fragment '" + key + "' has incompatible value (" + value + ")"); - return false; - } - store[keyStripped] = v; - if(xrfragment_Parser.debug) { - console.log("src/xrfragment/Parser.hx:71:","✔ " + key + ": " + v.string); - } - } else { - if(typeof(value) == "string") { - v.guessType(v,value); - } - v.flags = xrfragment_XRF.set(xrfragment_XRF.CUSTOMFRAG,v.flags); - store[keyStripped] = v; - } - return true; -}; -xrfragment_Parser.getMetaData = function() { - var meta = { title : ["title","og:title","dc.title"], description : ["aria-description","og:description","dc.description"], author : ["author","dc.creator"], publisher : ["publisher","dc.publisher"], website : ["og:site_name","og:url","dc.publisher"], license : ["SPDX","dc.rights"]}; - return meta; -}; -var xrfragment_URI = $hx_exports["xrfragment"]["URI"] = function() { - this.XRF = { }; - this.hash = { }; - this.fragment = ""; -}; -xrfragment_URI.__name__ = true; -xrfragment_URI.parseFragment = function(url,filter) { - var store = { }; - if(url == null || url.indexOf("#") == -1) { - return store; - } - var fragment = url.split("#"); - var splitArray = fragment[1].split("&"); - var _g = 0; - var _g1 = splitArray.length; - while(_g < _g1) { - var i = _g++; - var splitByEqual = splitArray[i].split("="); - var regexPlus = new EReg("\\+","g"); - var key = splitByEqual[0]; - var value = ""; - if(splitByEqual.length > 1) { - if(xrfragment_XRF.isVector.match(splitByEqual[1])) { - value = splitByEqual[1]; - } else { - var s = regexPlus.split(splitByEqual[1]).join(" "); - value = decodeURIComponent(s.split("+").join(" ")); - } - } - var ok = xrfragment_Parser.parse(key,value,store,i); - } - if(filter != null && filter != 0) { - var _g = 0; - var _g1 = Reflect.fields(store); - while(_g < _g1.length) { - var key = _g1[_g]; - ++_g; - var xrf = store[key]; - if(!xrf.is(filter)) { - Reflect.deleteField(store,key); - } - } - } - return store; -}; -xrfragment_URI.template = function(uri,vars) { - var parts = uri.split("#"); - if(parts.length == 1) { - return uri; - } - var frag = parts[1]; - frag = StringTools.replace(frag,"{","::"); - frag = StringTools.replace(frag,"}","::"); - frag = new haxe_Template(frag).execute(vars); - frag = StringTools.replace(frag,"null",""); - parts[1] = frag; - return parts.join("#"); -}; -xrfragment_URI.parse = function(stringUrl,flags) { - var r = new EReg("^(?:(?![^:@]+:[^:@/]*@)([^:/?#.]+):)?(?://)?((?:(([^:@]*)(?::([^:@]*))?)?@)?([^:/?#]*)(?::(\\d*))?)(((/(?:[^?#](?![^?#/]*\\.[^?#/.]+(?:[?#]|$)))*/?)?([^?#/]*))(?:\\?([^#]*))?(?:#(.*))?)",""); - if(stringUrl.indexOf("://") == -1 && stringUrl.charAt(0) != "/") { - stringUrl = "/" + stringUrl; - } - r.match(stringUrl); - var url = new xrfragment_URI(); - var _g = 0; - var _g1 = xrfragment_URI._parts.length; - while(_g < _g1) { - var i = _g++; - url[xrfragment_URI._parts[i]] = r.matched(i); - } - if(xrfragment_URI.isRelative(url) == true) { - if(url.directory == null && url.host != null) { - url.file = url.host; - } - url.host = ""; - } - url.hash = { }; - if(url.fragment != null && url.fragment.length > 0) { - url.XRF = xrfragment_URI.parseFragment("#" + url.fragment,flags); - var key; - var _g = 0; - var _g1 = Reflect.fields(url.XRF); - while(_g < _g1.length) { - var key = _g1[_g]; - ++_g; - var v = url.XRF[key]; - url.hash[key] = v["string"]; - } - } - xrfragment_URI.computeVars(url); - return url; -}; -xrfragment_URI.computeVars = function(url) { - var r_r = new RegExp("//","g".split("u").join("")); - if(url.directory != null && url.directory.indexOf("//") != -1) { - url.directory = url.directory.replace(r_r,"/"); - } - if(url.path != null && url.path.indexOf("//") != -1) { - url.path = url.path.replace(r_r,"/"); - } - if(url.file != null && url.file.indexOf("//") != -1) { - url.file = url.file.replace(r_r,"/"); - } - url.URN = url.scheme + "://" + url.host; - if(url.port != null) { - url.URN += ":" + url.port; - } - url.URN += url.directory; - if(url.file != null) { - var parts = url.file.split("."); - if(parts.length > 1) { - url.fileExt = parts.pop(); - } - } -}; -xrfragment_URI.toString = function(url) { - var result = ""; - if(url.scheme != null) { - result += url.scheme + "://"; - } - if(url.user != null) { - result += url.user + ":"; - } - if(url.password != null) { - result += url.password + "@"; - } - if(url.host != null) { - result += url.host; - } - if(url.port != null) { - result += ":" + url.port; - } - if(url.directory != null) { - result += url.directory; - } - if(url.file != null) { - result += url.file; - } - if(url.query != null) { - result += "?" + url.query; - } - if(url.fragment != null) { - result += "#" + url.fragment; - } - return result; -}; -xrfragment_URI.appendURI = function(url,appendedURI) { - if(xrfragment_URI.isRelative(url) == true) { - return xrfragment_URI.appendToRelativeURI(url,appendedURI); - } else { - return xrfragment_URI.appendToAbsoluteURI(url,appendedURI); - } -}; -xrfragment_URI.isRelative = function(url) { - return url.scheme == null; -}; -xrfragment_URI.appendToRelativeURI = function(url,appendedURI) { - if(url.directory == null || url.host == null) { - return xrfragment_URI.cloneURI(appendedURI); - } - var resultURI = new xrfragment_URI(); - resultURI.host = url.host; - resultURI.directory = url.directory; - if(appendedURI.host != null) { - resultURI.directory += appendedURI.host; - } - if(appendedURI.directory != null) { - var directory = appendedURI.directory; - if(appendedURI.host == null) { - resultURI.directory += HxOverrides.substr(directory,1,null); - } else { - resultURI.directory += directory; - } - } - if(appendedURI.file != null) { - resultURI.file = appendedURI.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(appendedURI.query != null) { - resultURI.query = appendedURI.query; - } - if(appendedURI.fragment != null) { - resultURI.fragment = appendedURI.fragment; - } - return resultURI; -}; -xrfragment_URI.appendToAbsoluteURI = function(url,appendedURI) { - var resultURI = new xrfragment_URI(); - if(url.scheme != null) { - resultURI.scheme = url.scheme; - } - if(url.host != null) { - resultURI.host = url.host; - } - var directory = ""; - if(url.directory != null) { - directory = url.directory; - } - if(appendedURI.host != null) { - appendedURI.directory += appendedURI.host; - } - if(appendedURI.directory != null) { - directory += appendedURI.directory; - } - resultURI.directory = directory; - if(appendedURI.file != null) { - resultURI.file = appendedURI.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(appendedURI.query != null) { - resultURI.query = appendedURI.query; - } - if(appendedURI.fragment != null) { - resultURI.fragment = appendedURI.fragment; - } - return resultURI; -}; -xrfragment_URI.toAbsolute = function(url,newUrl) { - var newURI = xrfragment_URI.parse(newUrl,0); - var resultURI = new xrfragment_URI(); - resultURI.port = url.port; - resultURI.source = newUrl; - if(newURI.scheme != null) { - resultURI.scheme = newURI.scheme; - } else { - resultURI.scheme = url.scheme; - } - if(newURI.host != null && newURI.host.length > 0) { - resultURI.host = newURI.host; - resultURI.port = null; - resultURI.fragment = null; - resultURI.hash = { }; - resultURI.XRF = { }; - if(newURI.port != null) { - resultURI.port = newURI.port; - } - } else { - resultURI.host = url.host; - } - var directory = ""; - if(url.directory != null) { - directory = url.directory; - } - if(newURI.directory != null) { - if(newUrl.charAt(0) != "/" && newUrl.indexOf("://") == -1) { - var stripRelative_r = new RegExp("\\./.*","".split("u").join("")); - directory = directory.replace(stripRelative_r,""); - directory += newURI.directory; - } else { - directory = newURI.directory; - } - } - resultURI.directory = directory; - if(newURI.file != null) { - resultURI.file = newURI.file; - } else { - resultURI.file = url.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(newURI.query != null) { - resultURI.query = newURI.query; - } - if(newURI.fragment != null) { - resultURI.fragment = newURI.fragment; - } - resultURI.hash = newURI.hash; - resultURI.XRF = newURI.XRF; - xrfragment_URI.computeVars(resultURI); - return resultURI; -}; -xrfragment_URI.cloneURI = function(url) { - var clonedURI = new xrfragment_URI(); - clonedURI.url = url.url; - clonedURI.source = url.source; - clonedURI.scheme = url.scheme; - clonedURI.authority = url.authority; - clonedURI.userInfo = url.userInfo; - clonedURI.password = url.password; - clonedURI.host = url.host; - clonedURI.port = url.port; - clonedURI.relative = url.relative; - clonedURI.path = url.path; - clonedURI.directory = url.directory; - clonedURI.file = url.file; - clonedURI.query = url.query; - clonedURI.fragment = url.fragment; - return clonedURI; -}; -var xrfragment_XRF = $hx_exports["xrfragment"]["XRF"] = function(_fragment,_flags,_index) { - this.floats = []; - this.shift = []; - this.fragment = _fragment; - this.flags = _flags; - this.index = _index; -}; -xrfragment_XRF.__name__ = true; -xrfragment_XRF.set = function(flag,flags) { - return flags | flag; -}; -xrfragment_XRF.unset = function(flag,flags) { - return flags & ~flag; -}; -xrfragment_XRF.prototype = { - is: function(flag) { - var v = this.flags; - if(!(typeof(v) == "number" && ((v | 0) === v))) { - this.flags = 0; - } - return (this.flags & flag) != 0; - } - ,validate: function(value) { - this.guessType(this,value); - var ok = true; - if(value.length == 0 && !this.is(xrfragment_XRF.T_PREDEFINED_VIEW)) { - ok = false; - } - if(!this.is(xrfragment_XRF.T_FLOAT) && this.is(xrfragment_XRF.T_VECTOR2) && !(typeof(this.x) == "number" && typeof(this.y) == "number")) { - ok = false; - } - if(!(this.is(xrfragment_XRF.T_VECTOR2) || this.is(xrfragment_XRF.T_STRING)) && this.is(xrfragment_XRF.T_VECTOR3) && !(typeof(this.x) == "number" && typeof(this.y) == "number" && typeof(this.z) == "number")) { - ok = false; - } - return ok; - } - ,guessType: function(v,str) { - v.string = str; - if(xrfragment_XRF.isReset.match(v.fragment)) { - v.reset = true; - } - if(v.fragment == "loop") { - v.loop = true; - } - if(typeof(str) != "string") { - return; - } - if(str.length > 0) { - if(xrfragment_XRF.isXRFScheme.match(str)) { - v.xrfScheme = true; - str = str.replace(xrfragment_XRF.isXRFScheme.r,""); - v.string = str; - } - if(str.split(",").length > 1) { - var xyzn = str.split(","); - if(xyzn.length > 0) { - v.x = parseFloat(xyzn[0]); - } - if(xyzn.length > 1) { - v.y = parseFloat(xyzn[1]); - } - if(xyzn.length > 2) { - v.z = parseFloat(xyzn[2]); - } - var _g = 0; - var _g1 = xyzn.length; - while(_g < _g1) { - var i = _g++; - v.shift.push(xrfragment_XRF.isShift.match(xyzn[i])); - v.floats.push(parseFloat(xyzn[i].replace(xrfragment_XRF.isShift.r,""))); - } - } - if(xrfragment_XRF.isColor.match(str)) { - v.color = str; - } - if(xrfragment_XRF.isFloat.match(str)) { - v.x = parseFloat(str); - v.float = v.x; - } - if(xrfragment_XRF.isInt.match(str)) { - v.int = Std.parseInt(str); - v.x = v.int; - v.floats.push(v.x); - } - v.filter = new xrfragment_Filter(v.fragment + "=" + v.string); - } else { - v.filter = new xrfragment_Filter(v.fragment); - } - } -}; -function $getIterator(o) { if( o instanceof Array ) return new haxe_iterators_ArrayIterator(o); else return o.iterator(); } -function $bind(o,m) { if( m == null ) return null; if( m.__id__ == null ) m.__id__ = $global.$haxeUID++; var f; if( o.hx__closures__ == null ) o.hx__closures__ = {}; else f = o.hx__closures__[m.__id__]; if( f == null ) { f = m.bind(o); o.hx__closures__[m.__id__] = f; } return f; } -$global.$haxeUID |= 0; -if(typeof(performance) != "undefined" ? typeof(performance.now) == "function" : false) { - HxOverrides.now = performance.now.bind(performance); -} -if( String.fromCodePoint == null ) String.fromCodePoint = function(c) { return c < 0x10000 ? String.fromCharCode(c) : String.fromCharCode((c>>10)+0xD7C0)+String.fromCharCode((c&0x3FF)+0xDC00); } -String.__name__ = true; -Array.__name__ = true; -js_Boot.__toStr = ({ }).toString; -haxe_Template.splitter = new EReg("(::[A-Za-z0-9_ ()&|!+=/><*.\"-]+::|\\$\\$([A-Za-z0-9_-]+)\\()",""); -haxe_Template.expr_splitter = new EReg("(\\(|\\)|[ \r\n\t]*\"[^\"]*\"[ \r\n\t]*|[!+=/><*.&|-]+)",""); -haxe_Template.expr_trim = new EReg("^[ ]*([^ ]+)[ ]*$",""); -haxe_Template.expr_int = new EReg("^[0-9]+$",""); -haxe_Template.expr_float = new EReg("^([+-]?)(?=\\d|,\\d)\\d*(,\\d*)?([Ee]([+-]?\\d+))?$",""); -haxe_Template.globals = { }; -haxe_Template.hxKeepArrayIterator = new haxe_iterators_ArrayIterator([]); -xrfragment_Parser.error = ""; -xrfragment_Parser.debug = false; -xrfragment_URI.__meta__ = { statics : { template : { keep : null}}}; -xrfragment_URI._parts = ["source","scheme","authority","userInfo","user","password","host","port","relative","path","directory","file","query","fragment"]; -xrfragment_XRF.IMMUTABLE = 1; -xrfragment_XRF.PROP_BIND = 2; -xrfragment_XRF.QUERY_OPERATOR = 4; -xrfragment_XRF.PROMPT = 8; -xrfragment_XRF.CUSTOMFRAG = 16; -xrfragment_XRF.NAVIGATOR = 32; -xrfragment_XRF.METADATA = 64; -xrfragment_XRF.PV_OVERRIDE = 128; -xrfragment_XRF.PV_EXECUTE = 256; -xrfragment_XRF.T_COLOR = 8192; -xrfragment_XRF.T_INT = 16384; -xrfragment_XRF.T_FLOAT = 32768; -xrfragment_XRF.T_VECTOR2 = 65536; -xrfragment_XRF.T_VECTOR3 = 131072; -xrfragment_XRF.T_URL = 262144; -xrfragment_XRF.T_PREDEFINED_VIEW = 524288; -xrfragment_XRF.T_STRING = 1048576; -xrfragment_XRF.T_MEDIAFRAG = 2097152; -xrfragment_XRF.T_DYNAMICKEY = 4194304; -xrfragment_XRF.T_DYNAMICKEYVALUE = 8388608; -xrfragment_XRF.isColor = new EReg("^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$",""); -xrfragment_XRF.isInt = new EReg("^[-0-9]+$",""); -xrfragment_XRF.isFloat = new EReg("^[-0-9]+\\.[0-9]+$",""); -xrfragment_XRF.isVector = new EReg("([,]+|\\w)",""); -xrfragment_XRF.isUrl = new EReg("(://)?\\..*",""); -xrfragment_XRF.isUrlOrPretypedView = new EReg("(^#|://)?\\..*",""); -xrfragment_XRF.isString = new EReg(".*",""); -xrfragment_XRF.operators = new EReg("(^[-]|^[!]|[\\*]$)","g"); -xrfragment_XRF.isProp = new EReg("^.*=[><=]?",""); -xrfragment_XRF.isExclude = new EReg("^-",""); -xrfragment_XRF.isDeep = new EReg("\\*",""); -xrfragment_XRF.isNumber = new EReg("^[0-9\\.]+$",""); -xrfragment_XRF.isMediaFrag = new EReg("^([0-9\\.,\\*+-]+)$",""); -xrfragment_XRF.isReset = new EReg("^!",""); -xrfragment_XRF.isShift = new EReg("^(\\+|--)",""); -xrfragment_XRF.isXRFScheme = new EReg("^xrf://",""); -})(typeof window != "undefined" ? window : typeof global != "undefined" ? global : typeof self != "undefined" ? self : this); -var xrfragment = $hx_exports["xrfragment"]; -export default xrfragment; -// Generated by Haxe 4.3.3 -var $hx_exports = typeof exports != "undefined" ? exports : typeof window != "undefined" ? window : typeof self != "undefined" ? self : this; -(function ($global) { "use strict"; -$hx_exports["xrfragment"] = $hx_exports["xrfragment"] || {}; -var $estr = function() { return js_Boot.__string_rec(this,''); },$hxEnums = $hxEnums || {},$_; -function $extend(from, fields) { - var proto = Object.create(from); - for (var name in fields) proto[name] = fields[name]; - if( fields.toString !== Object.prototype.toString ) proto.toString = fields.toString; - return proto; -} -var EReg = function(r,opt) { - this.r = new RegExp(r,opt.split("u").join("")); -}; -EReg.__name__ = true; -EReg.prototype = { - match: function(s) { - if(this.r.global) { - this.r.lastIndex = 0; - } - this.r.m = this.r.exec(s); - this.r.s = s; - return this.r.m != null; - } - ,matched: function(n) { - if(this.r.m != null && n >= 0 && n < this.r.m.length) { - return this.r.m[n]; - } else { - throw haxe_Exception.thrown("EReg::matched"); - } - } - ,matchedRight: function() { - if(this.r.m == null) { - throw haxe_Exception.thrown("No string matched"); - } - var sz = this.r.m.index + this.r.m[0].length; - return HxOverrides.substr(this.r.s,sz,this.r.s.length - sz); - } - ,matchedPos: function() { - if(this.r.m == null) { - throw haxe_Exception.thrown("No string matched"); - } - return { pos : this.r.m.index, len : this.r.m[0].length}; - } - ,split: function(s) { - var d = "#__delim__#"; - return s.replace(this.r,d).split(d); - } -}; -var HxOverrides = function() { }; -HxOverrides.__name__ = true; -HxOverrides.cca = function(s,index) { - var x = s.charCodeAt(index); - if(x != x) { - return undefined; - } - return x; -}; -HxOverrides.substr = function(s,pos,len) { - if(len == null) { - len = s.length; - } else if(len < 0) { - if(pos == 0) { - len = s.length + len; - } else { - return ""; - } - } - return s.substr(pos,len); -}; -HxOverrides.now = function() { - return Date.now(); -}; -Math.__name__ = true; -var Reflect = function() { }; -Reflect.__name__ = true; -Reflect.field = function(o,field) { - try { - return o[field]; - } catch( _g ) { - return null; - } -}; -Reflect.getProperty = function(o,field) { - var tmp; - if(o == null) { - return null; - } else { - var tmp1; - if(o.__properties__) { - tmp = o.__properties__["get_" + field]; - tmp1 = tmp; - } else { - tmp1 = false; - } - if(tmp1) { - return o[tmp](); - } else { - return o[field]; - } - } -}; -Reflect.fields = function(o) { - var a = []; - if(o != null) { - var hasOwnProperty = Object.prototype.hasOwnProperty; - for( var f in o ) { - if(f != "__id__" && f != "hx__closures__" && hasOwnProperty.call(o,f)) { - a.push(f); - } - } - } - return a; -}; -Reflect.isObject = function(v) { - if(v == null) { - return false; - } - var t = typeof(v); - if(!(t == "string" || t == "object" && v.__enum__ == null)) { - if(t == "function") { - return (v.__name__ || v.__ename__) != null; - } else { - return false; - } - } else { - return true; - } -}; -Reflect.deleteField = function(o,field) { - if(!Object.prototype.hasOwnProperty.call(o,field)) { - return false; - } - delete(o[field]); - return true; -}; -Reflect.copy = function(o) { - if(o == null) { - return null; - } - var o2 = { }; - var _g = 0; - var _g1 = Reflect.fields(o); - while(_g < _g1.length) { - var f = _g1[_g]; - ++_g; - o2[f] = Reflect.field(o,f); - } - return o2; -}; -var Std = function() { }; -Std.__name__ = true; -Std.string = function(s) { - return js_Boot.__string_rec(s,""); -}; -Std.parseInt = function(x) { - var v = parseInt(x); - if(isNaN(v)) { - return null; - } - return v; -}; -var StringBuf = function() { - this.b = ""; -}; -StringBuf.__name__ = true; -var StringTools = function() { }; -StringTools.__name__ = true; -StringTools.isSpace = function(s,pos) { - var c = HxOverrides.cca(s,pos); - if(!(c > 8 && c < 14)) { - return c == 32; - } else { - return true; - } -}; -StringTools.ltrim = function(s) { - var l = s.length; - var r = 0; - while(r < l && StringTools.isSpace(s,r)) ++r; - if(r > 0) { - return HxOverrides.substr(s,r,l - r); - } else { - return s; - } -}; -StringTools.rtrim = function(s) { - var l = s.length; - var r = 0; - while(r < l && StringTools.isSpace(s,l - r - 1)) ++r; - if(r > 0) { - return HxOverrides.substr(s,0,l - r); - } else { - return s; - } -}; -StringTools.trim = function(s) { - return StringTools.ltrim(StringTools.rtrim(s)); -}; -StringTools.replace = function(s,sub,by) { - return s.split(sub).join(by); -}; -var haxe_Exception = function(message,previous,native) { - Error.call(this,message); - this.message = message; - this.__previousException = previous; - this.__nativeException = native != null ? native : this; -}; -haxe_Exception.__name__ = true; -haxe_Exception.caught = function(value) { - if(((value) instanceof haxe_Exception)) { - return value; - } else if(((value) instanceof Error)) { - return new haxe_Exception(value.message,null,value); - } else { - return new haxe_ValueException(value,null,value); - } -}; -haxe_Exception.thrown = function(value) { - if(((value) instanceof haxe_Exception)) { - return value.get_native(); - } else if(((value) instanceof Error)) { - return value; - } else { - var e = new haxe_ValueException(value); - return e; - } -}; -haxe_Exception.__super__ = Error; -haxe_Exception.prototype = $extend(Error.prototype,{ - unwrap: function() { - return this.__nativeException; - } - ,get_native: function() { - return this.__nativeException; - } - ,__properties__: {get_native:"get_native"} -}); -var haxe__$Template_TemplateExpr = $hxEnums["haxe._Template.TemplateExpr"] = { __ename__:true,__constructs__:null - ,OpVar: ($_=function(v) { return {_hx_index:0,v:v,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpVar",$_.__params__ = ["v"],$_) - ,OpExpr: ($_=function(expr) { return {_hx_index:1,expr:expr,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpExpr",$_.__params__ = ["expr"],$_) - ,OpIf: ($_=function(expr,eif,eelse) { return {_hx_index:2,expr:expr,eif:eif,eelse:eelse,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpIf",$_.__params__ = ["expr","eif","eelse"],$_) - ,OpStr: ($_=function(str) { return {_hx_index:3,str:str,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpStr",$_.__params__ = ["str"],$_) - ,OpBlock: ($_=function(l) { return {_hx_index:4,l:l,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpBlock",$_.__params__ = ["l"],$_) - ,OpForeach: ($_=function(expr,loop) { return {_hx_index:5,expr:expr,loop:loop,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpForeach",$_.__params__ = ["expr","loop"],$_) - ,OpMacro: ($_=function(name,params) { return {_hx_index:6,name:name,params:params,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpMacro",$_.__params__ = ["name","params"],$_) -}; -haxe__$Template_TemplateExpr.__constructs__ = [haxe__$Template_TemplateExpr.OpVar,haxe__$Template_TemplateExpr.OpExpr,haxe__$Template_TemplateExpr.OpIf,haxe__$Template_TemplateExpr.OpStr,haxe__$Template_TemplateExpr.OpBlock,haxe__$Template_TemplateExpr.OpForeach,haxe__$Template_TemplateExpr.OpMacro]; -var haxe_iterators_ArrayIterator = function(array) { - this.current = 0; - this.array = array; -}; -haxe_iterators_ArrayIterator.__name__ = true; -haxe_iterators_ArrayIterator.prototype = { - hasNext: function() { - return this.current < this.array.length; - } - ,next: function() { - return this.array[this.current++]; - } -}; -var haxe_Template = function(str) { - var tokens = this.parseTokens(str); - this.expr = this.parseBlock(tokens); - if(!tokens.isEmpty()) { - throw haxe_Exception.thrown("Unexpected '" + Std.string(tokens.first().s) + "'"); - } -}; -haxe_Template.__name__ = true; -haxe_Template.prototype = { - execute: function(context,macros) { - this.macros = macros == null ? { } : macros; - this.context = context; - this.stack = new haxe_ds_List(); - this.buf = new StringBuf(); - this.run(this.expr); - return this.buf.b; - } - ,resolve: function(v) { - if(v == "__current__") { - return this.context; - } - if(Reflect.isObject(this.context)) { - var value = Reflect.getProperty(this.context,v); - if(value != null || Object.prototype.hasOwnProperty.call(this.context,v)) { - return value; - } - } - var _g_head = this.stack.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var ctx = val; - var value = Reflect.getProperty(ctx,v); - if(value != null || Object.prototype.hasOwnProperty.call(ctx,v)) { - return value; - } - } - return Reflect.field(haxe_Template.globals,v); - } - ,parseTokens: function(data) { - var tokens = new haxe_ds_List(); - while(haxe_Template.splitter.match(data)) { - var p = haxe_Template.splitter.matchedPos(); - if(p.pos > 0) { - tokens.add({ p : HxOverrides.substr(data,0,p.pos), s : true, l : null}); - } - if(HxOverrides.cca(data,p.pos) == 58) { - tokens.add({ p : HxOverrides.substr(data,p.pos + 2,p.len - 4), s : false, l : null}); - data = haxe_Template.splitter.matchedRight(); - continue; - } - var parp = p.pos + p.len; - var npar = 1; - var params = []; - var part = ""; - while(true) { - var c = HxOverrides.cca(data,parp); - ++parp; - if(c == 40) { - ++npar; - } else if(c == 41) { - --npar; - if(npar <= 0) { - break; - } - } else if(c == null) { - throw haxe_Exception.thrown("Unclosed macro parenthesis"); - } - if(c == 44 && npar == 1) { - params.push(part); - part = ""; - } else { - part += String.fromCodePoint(c); - } - } - params.push(part); - tokens.add({ p : haxe_Template.splitter.matched(2), s : false, l : params}); - data = HxOverrides.substr(data,parp,data.length - parp); - } - if(data.length > 0) { - tokens.add({ p : data, s : true, l : null}); - } - return tokens; - } - ,parseBlock: function(tokens) { - var l = new haxe_ds_List(); - while(true) { - var t = tokens.first(); - if(t == null) { - break; - } - if(!t.s && (t.p == "end" || t.p == "else" || HxOverrides.substr(t.p,0,7) == "elseif ")) { - break; - } - l.add(this.parse(tokens)); - } - if(l.length == 1) { - return l.first(); - } - return haxe__$Template_TemplateExpr.OpBlock(l); - } - ,parse: function(tokens) { - var t = tokens.pop(); - var p = t.p; - if(t.s) { - return haxe__$Template_TemplateExpr.OpStr(p); - } - if(t.l != null) { - var pe = new haxe_ds_List(); - var _g = 0; - var _g1 = t.l; - while(_g < _g1.length) { - var p1 = _g1[_g]; - ++_g; - pe.add(this.parseBlock(this.parseTokens(p1))); - } - return haxe__$Template_TemplateExpr.OpMacro(p,pe); - } - var kwdEnd = function(kwd) { - var pos = -1; - var length = kwd.length; - if(HxOverrides.substr(p,0,length) == kwd) { - pos = length; - var _g_offset = 0; - var _g_s = HxOverrides.substr(p,length,null); - while(_g_offset < _g_s.length) { - var c = _g_s.charCodeAt(_g_offset++); - if(c == 32) { - ++pos; - } else { - break; - } - } - } - return pos; - }; - var pos = kwdEnd("if"); - if(pos > 0) { - p = HxOverrides.substr(p,pos,p.length - pos); - var e = this.parseExpr(p); - var eif = this.parseBlock(tokens); - var t = tokens.first(); - var eelse; - if(t == null) { - throw haxe_Exception.thrown("Unclosed 'if'"); - } - if(t.p == "end") { - tokens.pop(); - eelse = null; - } else if(t.p == "else") { - tokens.pop(); - eelse = this.parseBlock(tokens); - t = tokens.pop(); - if(t == null || t.p != "end") { - throw haxe_Exception.thrown("Unclosed 'else'"); - } - } else { - t.p = HxOverrides.substr(t.p,4,t.p.length - 4); - eelse = this.parse(tokens); - } - return haxe__$Template_TemplateExpr.OpIf(e,eif,eelse); - } - var pos = kwdEnd("foreach"); - if(pos >= 0) { - p = HxOverrides.substr(p,pos,p.length - pos); - var e = this.parseExpr(p); - var efor = this.parseBlock(tokens); - var t = tokens.pop(); - if(t == null || t.p != "end") { - throw haxe_Exception.thrown("Unclosed 'foreach'"); - } - return haxe__$Template_TemplateExpr.OpForeach(e,efor); - } - if(haxe_Template.expr_splitter.match(p)) { - return haxe__$Template_TemplateExpr.OpExpr(this.parseExpr(p)); - } - return haxe__$Template_TemplateExpr.OpVar(p); - } - ,parseExpr: function(data) { - var l = new haxe_ds_List(); - var expr = data; - while(haxe_Template.expr_splitter.match(data)) { - var p = haxe_Template.expr_splitter.matchedPos(); - var k = p.pos + p.len; - if(p.pos != 0) { - l.add({ p : HxOverrides.substr(data,0,p.pos), s : true}); - } - var p1 = haxe_Template.expr_splitter.matched(0); - l.add({ p : p1, s : p1.indexOf("\"") >= 0}); - data = haxe_Template.expr_splitter.matchedRight(); - } - if(data.length != 0) { - var _g_offset = 0; - var _g_s = data; - while(_g_offset < _g_s.length) { - var _g_key = _g_offset; - var _g_value = _g_s.charCodeAt(_g_offset++); - var i = _g_key; - var c = _g_value; - if(c != 32) { - l.add({ p : HxOverrides.substr(data,i,null), s : true}); - break; - } - } - } - var e; - try { - e = this.makeExpr(l); - if(!l.isEmpty()) { - throw haxe_Exception.thrown(l.first().p); - } - } catch( _g ) { - var _g1 = haxe_Exception.caught(_g).unwrap(); - if(typeof(_g1) == "string") { - var s = _g1; - throw haxe_Exception.thrown("Unexpected '" + s + "' in " + expr); - } else { - throw _g; - } - } - return function() { - try { - return e(); - } catch( _g ) { - var exc = haxe_Exception.caught(_g).unwrap(); - throw haxe_Exception.thrown("Error : " + Std.string(exc) + " in " + expr); - } - }; - } - ,makeConst: function(v) { - haxe_Template.expr_trim.match(v); - v = haxe_Template.expr_trim.matched(1); - if(HxOverrides.cca(v,0) == 34) { - var str = HxOverrides.substr(v,1,v.length - 2); - return function() { - return str; - }; - } - if(haxe_Template.expr_int.match(v)) { - var i = Std.parseInt(v); - return function() { - return i; - }; - } - if(haxe_Template.expr_float.match(v)) { - var f = parseFloat(v); - return function() { - return f; - }; - } - var me = this; - return function() { - return me.resolve(v); - }; - } - ,makePath: function(e,l) { - var p = l.first(); - if(p == null || p.p != ".") { - return e; - } - l.pop(); - var field = l.pop(); - if(field == null || !field.s) { - throw haxe_Exception.thrown(field.p); - } - var f = field.p; - haxe_Template.expr_trim.match(f); - f = haxe_Template.expr_trim.matched(1); - return this.makePath(function() { - return Reflect.field(e(),f); - },l); - } - ,makeExpr: function(l) { - return this.makePath(this.makeExpr2(l),l); - } - ,skipSpaces: function(l) { - var p = l.first(); - while(p != null) { - var _g_offset = 0; - var _g_s = p.p; - while(_g_offset < _g_s.length) { - var c = _g_s.charCodeAt(_g_offset++); - if(c != 32) { - return; - } - } - l.pop(); - p = l.first(); - } - } - ,makeExpr2: function(l) { - this.skipSpaces(l); - var p = l.pop(); - this.skipSpaces(l); - if(p == null) { - throw haxe_Exception.thrown(""); - } - if(p.s) { - return this.makeConst(p.p); - } - switch(p.p) { - case "!": - var e = this.makeExpr(l); - return function() { - var v = e(); - if(v != null) { - return v == false; - } else { - return true; - } - }; - case "(": - this.skipSpaces(l); - var e1 = this.makeExpr(l); - this.skipSpaces(l); - var p1 = l.pop(); - if(p1 == null || p1.s) { - throw haxe_Exception.thrown(p1); - } - if(p1.p == ")") { - return e1; - } - this.skipSpaces(l); - var e2 = this.makeExpr(l); - this.skipSpaces(l); - var p2 = l.pop(); - this.skipSpaces(l); - if(p2 == null || p2.p != ")") { - throw haxe_Exception.thrown(p2); - } - switch(p1.p) { - case "!=": - return function() { - return e1() != e2(); - }; - case "&&": - return function() { - return e1() && e2(); - }; - case "*": - return function() { - return e1() * e2(); - }; - case "+": - return function() { - return e1() + e2(); - }; - case "-": - return function() { - return e1() - e2(); - }; - case "/": - return function() { - return e1() / e2(); - }; - case "<": - return function() { - return e1() < e2(); - }; - case "<=": - return function() { - return e1() <= e2(); - }; - case "==": - return function() { - return e1() == e2(); - }; - case ">": - return function() { - return e1() > e2(); - }; - case ">=": - return function() { - return e1() >= e2(); - }; - case "||": - return function() { - return e1() || e2(); - }; - default: - throw haxe_Exception.thrown("Unknown operation " + p1.p); - } - break; - case "-": - var e3 = this.makeExpr(l); - return function() { - return -e3(); - }; - } - throw haxe_Exception.thrown(p.p); - } - ,run: function(e) { - switch(e._hx_index) { - case 0: - var v = e.v; - var _this = this.buf; - var x = Std.string(this.resolve(v)); - _this.b += Std.string(x); - break; - case 1: - var e1 = e.expr; - var _this = this.buf; - var x = Std.string(e1()); - _this.b += Std.string(x); - break; - case 2: - var e1 = e.expr; - var eif = e.eif; - var eelse = e.eelse; - var v = e1(); - if(v == null || v == false) { - if(eelse != null) { - this.run(eelse); - } - } else { - this.run(eif); - } - break; - case 3: - var str = e.str; - this.buf.b += str == null ? "null" : "" + str; - break; - case 4: - var l = e.l; - var _g_head = l.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var e1 = val; - this.run(e1); - } - break; - case 5: - var e1 = e.expr; - var loop = e.loop; - var v = e1(); - try { - var x = $getIterator(v); - if(x.hasNext == null) { - throw haxe_Exception.thrown(null); - } - v = x; - } catch( _g ) { - try { - if(v.hasNext == null) { - throw haxe_Exception.thrown(null); - } - } catch( _g1 ) { - throw haxe_Exception.thrown("Cannot iter on " + Std.string(v)); - } - } - this.stack.push(this.context); - var v1 = v; - var ctx = v1; - while(ctx.hasNext()) { - var ctx1 = ctx.next(); - this.context = ctx1; - this.run(loop); - } - this.context = this.stack.pop(); - break; - case 6: - var m = e.name; - var params = e.params; - var v = Reflect.field(this.macros,m); - var pl = []; - var old = this.buf; - pl.push($bind(this,this.resolve)); - var _g_head = params.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var p = val; - if(p._hx_index == 0) { - var v1 = p.v; - pl.push(this.resolve(v1)); - } else { - this.buf = new StringBuf(); - this.run(p); - pl.push(this.buf.b); - } - } - this.buf = old; - try { - var _this = this.buf; - var x = Std.string(v.apply(this.macros,pl)); - _this.b += Std.string(x); - } catch( _g ) { - var e = haxe_Exception.caught(_g).unwrap(); - var plstr; - try { - plstr = pl.join(","); - } catch( _g1 ) { - plstr = "???"; - } - var msg = "Macro call " + m + "(" + plstr + ") failed (" + Std.string(e) + ")"; - throw haxe_Exception.thrown(msg); - } - break; - } - } -}; -var haxe_ValueException = function(value,previous,native) { - haxe_Exception.call(this,String(value),previous,native); - this.value = value; -}; -haxe_ValueException.__name__ = true; -haxe_ValueException.__super__ = haxe_Exception; -haxe_ValueException.prototype = $extend(haxe_Exception.prototype,{ - unwrap: function() { - return this.value; - } -}); -var haxe_ds_List = function() { - this.length = 0; -}; -haxe_ds_List.__name__ = true; -haxe_ds_List.prototype = { - add: function(item) { - var x = new haxe_ds__$List_ListNode(item,null); - if(this.h == null) { - this.h = x; - } else { - this.q.next = x; - } - this.q = x; - this.length++; - } - ,push: function(item) { - var x = new haxe_ds__$List_ListNode(item,this.h); - this.h = x; - if(this.q == null) { - this.q = x; - } - this.length++; - } - ,first: function() { - if(this.h == null) { - return null; - } else { - return this.h.item; - } - } - ,pop: function() { - if(this.h == null) { - return null; - } - var x = this.h.item; - this.h = this.h.next; - if(this.h == null) { - this.q = null; - } - this.length--; - return x; - } - ,isEmpty: function() { - return this.h == null; - } - ,toString: function() { - var s_b = ""; - var first = true; - var l = this.h; - s_b += "{"; - while(l != null) { - if(first) { - first = false; - } else { - s_b += ", "; - } - s_b += Std.string(Std.string(l.item)); - l = l.next; - } - s_b += "}"; - return s_b; - } -}; -var haxe_ds__$List_ListNode = function(item,next) { - this.item = item; - this.next = next; -}; -haxe_ds__$List_ListNode.__name__ = true; -var js_Boot = function() { }; -js_Boot.__name__ = true; -js_Boot.__string_rec = function(o,s) { - if(o == null) { - return "null"; - } - if(s.length >= 5) { - return "<...>"; - } - var t = typeof(o); - if(t == "function" && (o.__name__ || o.__ename__)) { - t = "object"; - } - switch(t) { - case "function": - return ""; - case "object": - if(o.__enum__) { - var e = $hxEnums[o.__enum__]; - var con = e.__constructs__[o._hx_index]; - var n = con._hx_name; - if(con.__params__) { - s = s + "\t"; - return n + "(" + ((function($this) { - var $r; - var _g = []; - { - var _g1 = 0; - var _g2 = con.__params__; - while(true) { - if(!(_g1 < _g2.length)) { - break; - } - var p = _g2[_g1]; - _g1 = _g1 + 1; - _g.push(js_Boot.__string_rec(o[p],s)); - } - } - $r = _g; - return $r; - }(this))).join(",") + ")"; - } else { - return n; - } - } - if(((o) instanceof Array)) { - var str = "["; - s += "\t"; - var _g = 0; - var _g1 = o.length; - while(_g < _g1) { - var i = _g++; - str += (i > 0 ? "," : "") + js_Boot.__string_rec(o[i],s); - } - str += "]"; - return str; - } - var tostr; - try { - tostr = o.toString; - } catch( _g ) { - return "???"; - } - if(tostr != null && tostr != Object.toString && typeof(tostr) == "function") { - var s2 = o.toString(); - if(s2 != "[object Object]") { - return s2; - } - } - var str = "{\n"; - s += "\t"; - var hasp = o.hasOwnProperty != null; - var k = null; - for( k in o ) { - if(hasp && !o.hasOwnProperty(k)) { - continue; - } - if(k == "prototype" || k == "__class__" || k == "__super__" || k == "__interfaces__" || k == "__properties__") { - continue; - } - if(str.length != 2) { - str += ", \n"; - } - str += s + k + " : " + js_Boot.__string_rec(o[k],s); - } - s = s.substring(1); - str += "\n" + s + "}"; - return str; - case "string": - return o; - default: - return String(o); - } -}; -var xrfragment_Filter = $hx_exports["xrfragment"]["Filter"] = function(str) { - this.q = { }; - this.str = ""; - if(str != null) { - this.parse(str); - } -}; -xrfragment_Filter.__name__ = true; -xrfragment_Filter.prototype = { - toObject: function() { - return Reflect.copy(this.q); - } - ,get: function() { - return Reflect.copy(this.q); - } - ,parse: function(str) { - var token = str.split(" "); - var q = { }; - var process = function(str,prefix) { - if(prefix == null) { - prefix = ""; - } - str = StringTools.trim(str); - var k = str.split("=")[0]; - var v = str.split("=")[1]; - var filter = { }; - if(q[prefix + k]) { - filter = q[prefix + k]; - } - if(xrfragment_XRF.isProp.match(str)) { - var oper = ""; - if(str.indexOf(">") != -1) { - oper = ">"; - } - if(str.indexOf("<") != -1) { - oper = "<"; - } - if(xrfragment_XRF.isExclude.match(k)) { - k = HxOverrides.substr(k,1,null); - } - v = HxOverrides.substr(v,oper.length,null); - if(oper.length == 0) { - oper = "="; - } - var rule = { }; - if(xrfragment_XRF.isNumber.match(v)) { - rule[oper] = parseFloat(v); - } else { - rule[oper] = v; - } - q["expr"] = rule; - } - var value = xrfragment_XRF.isDeep.match(str) ? k.split("*").length - 1 : 0; - q["deep"] = value; - var value = xrfragment_XRF.isExclude.match(str) ? false : true; - q["show"] = value; - var value = k.replace(xrfragment_XRF.operators.r,""); - q["key"] = value; - q["value"] = v; - }; - var _g = 0; - var _g1 = token.length; - while(_g < _g1) { - var i = _g++; - process(token[i]); - } - return this.q = q; - } - ,test: function(obj) { - var qualify = false; - var _g = 0; - var _g1 = Reflect.fields(obj); - while(_g < _g1.length) { - var k = _g1[_g]; - ++_g; - var v = Std.string(Reflect.field(obj,k)); - if(this.testProperty(k,v)) { - qualify = true; - } - } - var _g = 0; - var _g1 = Reflect.fields(obj); - while(_g < _g1.length) { - var k = _g1[_g]; - ++_g; - var v = Std.string(Reflect.field(obj,k)); - if(this.testProperty(k,v,true)) { - qualify = false; - } - } - return qualify; - } - ,testProperty: function(property,value,exclude) { - var conds = 0; - var fails = 0; - var qualify = 0; - var testprop = function(expr) { - conds += 1; - fails += expr ? 0 : 1; - return expr; - }; - if(this.q[value] != null) { - var v = this.q[value]; - if(v[property] != null) { - return v[property]; - } - } - if(Reflect.field(this.q,"expr")) { - var f = Reflect.field(this.q,"expr"); - if(!Reflect.field(this.q,"show")) { - if(Reflect.field(f,"!=") != null && testprop((value == null ? "null" : "" + value) == Std.string(Reflect.field(f,"!="))) && exclude) { - ++qualify; - } - } else { - if(Reflect.field(f,"*") != null && testprop(parseFloat(value) != null)) { - ++qualify; - } - if(Reflect.field(f,">") != null && testprop(parseFloat(value) >= parseFloat(Reflect.field(f,">")))) { - ++qualify; - } - if(Reflect.field(f,"<") != null && testprop(parseFloat(value) <= parseFloat(Reflect.field(f,"<")))) { - ++qualify; - } - if(Reflect.field(f,"=") != null && (testprop(value == Reflect.field(f,"=")) || testprop(parseFloat(value) == parseFloat(Reflect.field(f,"="))))) { - ++qualify; - } - } - } - return qualify > 0; - } -}; -var xrfragment_Parser = $hx_exports["xrfragment"]["Parser"] = function() { }; -xrfragment_Parser.__name__ = true; -xrfragment_Parser.parse = function(key,value,store,index) { - var Frag_h = Object.create(null); - Frag_h["#"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_PREDEFINED_VIEW | xrfragment_XRF.PV_EXECUTE; - Frag_h["src"] = xrfragment_XRF.T_URL; - Frag_h["href"] = xrfragment_XRF.T_URL | xrfragment_XRF.T_PREDEFINED_VIEW; - Frag_h["tag"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["pos"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_VECTOR3 | xrfragment_XRF.T_STRING | xrfragment_XRF.METADATA | xrfragment_XRF.NAVIGATOR; - Frag_h["rot"] = xrfragment_XRF.QUERY_OPERATOR | xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_VECTOR3 | xrfragment_XRF.METADATA | xrfragment_XRF.NAVIGATOR; - Frag_h["t"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_FLOAT | xrfragment_XRF.T_VECTOR2 | xrfragment_XRF.NAVIGATOR | xrfragment_XRF.METADATA; - Frag_h["s"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_MEDIAFRAG; - Frag_h["loop"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_PREDEFINED_VIEW; - Frag_h["uv"] = xrfragment_XRF.T_VECTOR2 | xrfragment_XRF.T_MEDIAFRAG; - Frag_h["namespace"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["SPDX"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["unit"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["description"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - var keyStripped = key.replace(xrfragment_XRF.operators.r,""); - var isPVDynamic = key.length > 0 && !Object.prototype.hasOwnProperty.call(Frag_h,key); - if(isPVDynamic) { - var v = new xrfragment_XRF(key,xrfragment_XRF.PV_EXECUTE | xrfragment_XRF.NAVIGATOR,index); - v.validate(value); - v.flags = xrfragment_XRF.set(xrfragment_XRF.T_DYNAMICKEY,v.flags); - if(!Object.prototype.hasOwnProperty.call(Frag_h,key)) { - v.flags = xrfragment_XRF.set(xrfragment_XRF.CUSTOMFRAG,v.flags); - } - if(value.length == 0) { - v.flags = xrfragment_XRF.set(xrfragment_XRF.T_DYNAMICKEYVALUE,v.flags); - } - store[keyStripped] = v; - return true; - } - var v = new xrfragment_XRF(key,Frag_h[key],index); - if(Object.prototype.hasOwnProperty.call(Frag_h,key)) { - if(!v.validate(value)) { - console.log("src/xrfragment/Parser.hx:67:","⚠ fragment '" + key + "' has incompatible value (" + value + ")"); - return false; - } - store[keyStripped] = v; - if(xrfragment_Parser.debug) { - console.log("src/xrfragment/Parser.hx:71:","✔ " + key + ": " + v.string); - } - } else { - if(typeof(value) == "string") { - v.guessType(v,value); - } - v.flags = xrfragment_XRF.set(xrfragment_XRF.CUSTOMFRAG,v.flags); - store[keyStripped] = v; - } - return true; -}; -xrfragment_Parser.getMetaData = function() { - var meta = { title : ["title","og:title","dc.title"], description : ["aria-description","og:description","dc.description"], author : ["author","dc.creator"], publisher : ["publisher","dc.publisher"], website : ["og:site_name","og:url","dc.publisher"], license : ["SPDX","dc.rights"]}; - return meta; -}; -var xrfragment_URI = $hx_exports["xrfragment"]["URI"] = function() { - this.XRF = { }; - this.hash = { }; - this.fragment = ""; -}; -xrfragment_URI.__name__ = true; -xrfragment_URI.parseFragment = function(url,filter) { - var store = { }; - if(url == null || url.indexOf("#") == -1) { - return store; - } - var fragment = url.split("#"); - var splitArray = fragment[1].split("&"); - var _g = 0; - var _g1 = splitArray.length; - while(_g < _g1) { - var i = _g++; - var splitByEqual = splitArray[i].split("="); - var regexPlus = new EReg("\\+","g"); - var key = splitByEqual[0]; - var value = ""; - if(splitByEqual.length > 1) { - if(xrfragment_XRF.isVector.match(splitByEqual[1])) { - value = splitByEqual[1]; - } else { - var s = regexPlus.split(splitByEqual[1]).join(" "); - value = decodeURIComponent(s.split("+").join(" ")); - } - } - var ok = xrfragment_Parser.parse(key,value,store,i); - } - if(filter != null && filter != 0) { - var _g = 0; - var _g1 = Reflect.fields(store); - while(_g < _g1.length) { - var key = _g1[_g]; - ++_g; - var xrf = store[key]; - if(!xrf.is(filter)) { - Reflect.deleteField(store,key); - } - } - } - return store; -}; -xrfragment_URI.template = function(uri,vars) { - var parts = uri.split("#"); - if(parts.length == 1) { - return uri; - } - var frag = parts[1]; - frag = StringTools.replace(frag,"{","::"); - frag = StringTools.replace(frag,"}","::"); - frag = new haxe_Template(frag).execute(vars); - frag = StringTools.replace(frag,"null",""); - parts[1] = frag; - return parts.join("#"); -}; -xrfragment_URI.parse = function(stringUrl,flags) { - var r = new EReg("^(?:(?![^:@]+:[^:@/]*@)([^:/?#.]+):)?(?://)?((?:(([^:@]*)(?::([^:@]*))?)?@)?([^:/?#]*)(?::(\\d*))?)(((/(?:[^?#](?![^?#/]*\\.[^?#/.]+(?:[?#]|$)))*/?)?([^?#/]*))(?:\\?([^#]*))?(?:#(.*))?)",""); - if(stringUrl.indexOf("://") == -1 && stringUrl.charAt(0) != "/") { - stringUrl = "/" + stringUrl; - } - r.match(stringUrl); - var url = new xrfragment_URI(); - var _g = 0; - var _g1 = xrfragment_URI._parts.length; - while(_g < _g1) { - var i = _g++; - url[xrfragment_URI._parts[i]] = r.matched(i); - } - if(xrfragment_URI.isRelative(url) == true) { - if(url.directory == null && url.host != null) { - url.file = url.host; - } - url.host = ""; - } - url.hash = { }; - if(url.fragment != null && url.fragment.length > 0) { - url.XRF = xrfragment_URI.parseFragment("#" + url.fragment,flags); - var key; - var _g = 0; - var _g1 = Reflect.fields(url.XRF); - while(_g < _g1.length) { - var key = _g1[_g]; - ++_g; - var v = url.XRF[key]; - url.hash[key] = v["string"]; - } - } - xrfragment_URI.computeVars(url); - return url; -}; -xrfragment_URI.computeVars = function(url) { - var r_r = new RegExp("//","g".split("u").join("")); - if(url.directory != null && url.directory.indexOf("//") != -1) { - url.directory = url.directory.replace(r_r,"/"); - } - if(url.path != null && url.path.indexOf("//") != -1) { - url.path = url.path.replace(r_r,"/"); - } - if(url.file != null && url.file.indexOf("//") != -1) { - url.file = url.file.replace(r_r,"/"); - } - url.URN = url.scheme + "://" + url.host; - if(url.port != null) { - url.URN += ":" + url.port; - } - url.URN += url.directory; - if(url.file != null) { - var parts = url.file.split("."); - if(parts.length > 1) { - url.fileExt = parts.pop(); - } - } -}; -xrfragment_URI.toString = function(url) { - var result = ""; - if(url.scheme != null) { - result += url.scheme + "://"; - } - if(url.user != null) { - result += url.user + ":"; - } - if(url.password != null) { - result += url.password + "@"; - } - if(url.host != null) { - result += url.host; - } - if(url.port != null) { - result += ":" + url.port; - } - if(url.directory != null) { - result += url.directory; - } - if(url.file != null) { - result += url.file; - } - if(url.query != null) { - result += "?" + url.query; - } - if(url.fragment != null) { - result += "#" + url.fragment; - } - return result; -}; -xrfragment_URI.appendURI = function(url,appendedURI) { - if(xrfragment_URI.isRelative(url) == true) { - return xrfragment_URI.appendToRelativeURI(url,appendedURI); - } else { - return xrfragment_URI.appendToAbsoluteURI(url,appendedURI); - } -}; -xrfragment_URI.isRelative = function(url) { - return url.scheme == null; -}; -xrfragment_URI.appendToRelativeURI = function(url,appendedURI) { - if(url.directory == null || url.host == null) { - return xrfragment_URI.cloneURI(appendedURI); - } - var resultURI = new xrfragment_URI(); - resultURI.host = url.host; - resultURI.directory = url.directory; - if(appendedURI.host != null) { - resultURI.directory += appendedURI.host; - } - if(appendedURI.directory != null) { - var directory = appendedURI.directory; - if(appendedURI.host == null) { - resultURI.directory += HxOverrides.substr(directory,1,null); - } else { - resultURI.directory += directory; - } - } - if(appendedURI.file != null) { - resultURI.file = appendedURI.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(appendedURI.query != null) { - resultURI.query = appendedURI.query; - } - if(appendedURI.fragment != null) { - resultURI.fragment = appendedURI.fragment; - } - return resultURI; -}; -xrfragment_URI.appendToAbsoluteURI = function(url,appendedURI) { - var resultURI = new xrfragment_URI(); - if(url.scheme != null) { - resultURI.scheme = url.scheme; - } - if(url.host != null) { - resultURI.host = url.host; - } - var directory = ""; - if(url.directory != null) { - directory = url.directory; - } - if(appendedURI.host != null) { - appendedURI.directory += appendedURI.host; - } - if(appendedURI.directory != null) { - directory += appendedURI.directory; - } - resultURI.directory = directory; - if(appendedURI.file != null) { - resultURI.file = appendedURI.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(appendedURI.query != null) { - resultURI.query = appendedURI.query; - } - if(appendedURI.fragment != null) { - resultURI.fragment = appendedURI.fragment; - } - return resultURI; -}; -xrfragment_URI.toAbsolute = function(url,newUrl) { - var newURI = xrfragment_URI.parse(newUrl,0); - var resultURI = new xrfragment_URI(); - resultURI.port = url.port; - resultURI.source = newUrl; - if(newURI.scheme != null) { - resultURI.scheme = newURI.scheme; - } else { - resultURI.scheme = url.scheme; - } - if(newURI.host != null && newURI.host.length > 0) { - resultURI.host = newURI.host; - resultURI.port = null; - resultURI.fragment = null; - resultURI.hash = { }; - resultURI.XRF = { }; - if(newURI.port != null) { - resultURI.port = newURI.port; - } - } else { - resultURI.host = url.host; - } - var directory = ""; - if(url.directory != null) { - directory = url.directory; - } - if(newURI.directory != null) { - if(newUrl.charAt(0) != "/" && newUrl.indexOf("://") == -1) { - var stripRelative_r = new RegExp("\\./.*","".split("u").join("")); - directory = directory.replace(stripRelative_r,""); - directory += newURI.directory; - } else { - directory = newURI.directory; - } - } - resultURI.directory = directory; - if(newURI.file != null) { - resultURI.file = newURI.file; - } else { - resultURI.file = url.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(newURI.query != null) { - resultURI.query = newURI.query; - } - if(newURI.fragment != null) { - resultURI.fragment = newURI.fragment; - } - resultURI.hash = newURI.hash; - resultURI.XRF = newURI.XRF; - xrfragment_URI.computeVars(resultURI); - return resultURI; -}; -xrfragment_URI.cloneURI = function(url) { - var clonedURI = new xrfragment_URI(); - clonedURI.url = url.url; - clonedURI.source = url.source; - clonedURI.scheme = url.scheme; - clonedURI.authority = url.authority; - clonedURI.userInfo = url.userInfo; - clonedURI.password = url.password; - clonedURI.host = url.host; - clonedURI.port = url.port; - clonedURI.relative = url.relative; - clonedURI.path = url.path; - clonedURI.directory = url.directory; - clonedURI.file = url.file; - clonedURI.query = url.query; - clonedURI.fragment = url.fragment; - return clonedURI; -}; -var xrfragment_XRF = $hx_exports["xrfragment"]["XRF"] = function(_fragment,_flags,_index) { - this.floats = []; - this.shift = []; - this.fragment = _fragment; - this.flags = _flags; - this.index = _index; -}; -xrfragment_XRF.__name__ = true; -xrfragment_XRF.set = function(flag,flags) { - return flags | flag; -}; -xrfragment_XRF.unset = function(flag,flags) { - return flags & ~flag; -}; -xrfragment_XRF.prototype = { - is: function(flag) { - var v = this.flags; - if(!(typeof(v) == "number" && ((v | 0) === v))) { - this.flags = 0; - } - return (this.flags & flag) != 0; - } - ,validate: function(value) { - this.guessType(this,value); - var ok = true; - if(value.length == 0 && !this.is(xrfragment_XRF.T_PREDEFINED_VIEW)) { - ok = false; - } - if(!this.is(xrfragment_XRF.T_FLOAT) && this.is(xrfragment_XRF.T_VECTOR2) && !(typeof(this.x) == "number" && typeof(this.y) == "number")) { - ok = false; - } - if(!(this.is(xrfragment_XRF.T_VECTOR2) || this.is(xrfragment_XRF.T_STRING)) && this.is(xrfragment_XRF.T_VECTOR3) && !(typeof(this.x) == "number" && typeof(this.y) == "number" && typeof(this.z) == "number")) { - ok = false; - } - return ok; - } - ,guessType: function(v,str) { - v.string = str; - if(xrfragment_XRF.isReset.match(v.fragment)) { - v.reset = true; - } - if(v.fragment == "loop") { - v.loop = true; - } - if(typeof(str) != "string") { - return; - } - if(str.length > 0) { - if(xrfragment_XRF.isXRFScheme.match(str)) { - v.xrfScheme = true; - str = str.replace(xrfragment_XRF.isXRFScheme.r,""); - v.string = str; - } - if(str.split(",").length > 1) { - var xyzn = str.split(","); - if(xyzn.length > 0) { - v.x = parseFloat(xyzn[0]); - } - if(xyzn.length > 1) { - v.y = parseFloat(xyzn[1]); - } - if(xyzn.length > 2) { - v.z = parseFloat(xyzn[2]); - } - var _g = 0; - var _g1 = xyzn.length; - while(_g < _g1) { - var i = _g++; - v.shift.push(xrfragment_XRF.isShift.match(xyzn[i])); - v.floats.push(parseFloat(xyzn[i].replace(xrfragment_XRF.isShift.r,""))); - } - } - if(xrfragment_XRF.isColor.match(str)) { - v.color = str; - } - if(xrfragment_XRF.isFloat.match(str)) { - v.x = parseFloat(str); - v.float = v.x; - } - if(xrfragment_XRF.isInt.match(str)) { - v.int = Std.parseInt(str); - v.x = v.int; - v.floats.push(v.x); - } - v.filter = new xrfragment_Filter(v.fragment + "=" + v.string); - } else { - v.filter = new xrfragment_Filter(v.fragment); - } - } -}; -function $getIterator(o) { if( o instanceof Array ) return new haxe_iterators_ArrayIterator(o); else return o.iterator(); } -function $bind(o,m) { if( m == null ) return null; if( m.__id__ == null ) m.__id__ = $global.$haxeUID++; var f; if( o.hx__closures__ == null ) o.hx__closures__ = {}; else f = o.hx__closures__[m.__id__]; if( f == null ) { f = m.bind(o); o.hx__closures__[m.__id__] = f; } return f; } -$global.$haxeUID |= 0; -if(typeof(performance) != "undefined" ? typeof(performance.now) == "function" : false) { - HxOverrides.now = performance.now.bind(performance); -} -if( String.fromCodePoint == null ) String.fromCodePoint = function(c) { return c < 0x10000 ? String.fromCharCode(c) : String.fromCharCode((c>>10)+0xD7C0)+String.fromCharCode((c&0x3FF)+0xDC00); } -String.__name__ = true; -Array.__name__ = true; -js_Boot.__toStr = ({ }).toString; -haxe_Template.splitter = new EReg("(::[A-Za-z0-9_ ()&|!+=/><*.\"-]+::|\\$\\$([A-Za-z0-9_-]+)\\()",""); -haxe_Template.expr_splitter = new EReg("(\\(|\\)|[ \r\n\t]*\"[^\"]*\"[ \r\n\t]*|[!+=/><*.&|-]+)",""); -haxe_Template.expr_trim = new EReg("^[ ]*([^ ]+)[ ]*$",""); -haxe_Template.expr_int = new EReg("^[0-9]+$",""); -haxe_Template.expr_float = new EReg("^([+-]?)(?=\\d|,\\d)\\d*(,\\d*)?([Ee]([+-]?\\d+))?$",""); -haxe_Template.globals = { }; -haxe_Template.hxKeepArrayIterator = new haxe_iterators_ArrayIterator([]); -xrfragment_Parser.error = ""; -xrfragment_Parser.debug = false; -xrfragment_URI.__meta__ = { statics : { template : { keep : null}}}; -xrfragment_URI._parts = ["source","scheme","authority","userInfo","user","password","host","port","relative","path","directory","file","query","fragment"]; -xrfragment_XRF.IMMUTABLE = 1; -xrfragment_XRF.PROP_BIND = 2; -xrfragment_XRF.QUERY_OPERATOR = 4; -xrfragment_XRF.PROMPT = 8; -xrfragment_XRF.CUSTOMFRAG = 16; -xrfragment_XRF.NAVIGATOR = 32; -xrfragment_XRF.METADATA = 64; -xrfragment_XRF.PV_OVERRIDE = 128; -xrfragment_XRF.PV_EXECUTE = 256; -xrfragment_XRF.T_COLOR = 8192; -xrfragment_XRF.T_INT = 16384; -xrfragment_XRF.T_FLOAT = 32768; -xrfragment_XRF.T_VECTOR2 = 65536; -xrfragment_XRF.T_VECTOR3 = 131072; -xrfragment_XRF.T_URL = 262144; -xrfragment_XRF.T_PREDEFINED_VIEW = 524288; -xrfragment_XRF.T_STRING = 1048576; -xrfragment_XRF.T_MEDIAFRAG = 2097152; -xrfragment_XRF.T_DYNAMICKEY = 4194304; -xrfragment_XRF.T_DYNAMICKEYVALUE = 8388608; -xrfragment_XRF.isColor = new EReg("^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$",""); -xrfragment_XRF.isInt = new EReg("^[-0-9]+$",""); -xrfragment_XRF.isFloat = new EReg("^[-0-9]+\\.[0-9]+$",""); -xrfragment_XRF.isVector = new EReg("([,]+|\\w)",""); -xrfragment_XRF.isUrl = new EReg("(://)?\\..*",""); -xrfragment_XRF.isUrlOrPretypedView = new EReg("(^#|://)?\\..*",""); -xrfragment_XRF.isString = new EReg(".*",""); -xrfragment_XRF.operators = new EReg("(^[-]|^[!]|[\\*]$)","g"); -xrfragment_XRF.isProp = new EReg("^.*=[><=]?",""); -xrfragment_XRF.isExclude = new EReg("^-",""); -xrfragment_XRF.isDeep = new EReg("\\*",""); -xrfragment_XRF.isNumber = new EReg("^[0-9\\.]+$",""); -xrfragment_XRF.isMediaFrag = new EReg("^([0-9\\.,\\*+-]+)$",""); -xrfragment_XRF.isReset = new EReg("^!",""); -xrfragment_XRF.isShift = new EReg("^(\\+|--)",""); -xrfragment_XRF.isXRFScheme = new EReg("^xrf://",""); -})(typeof window != "undefined" ? window : typeof global != "undefined" ? global : typeof self != "undefined" ? self : this); -var xrfragment = $hx_exports["xrfragment"]; -export default xrfragment; -// Generated by Haxe 4.3.3 -var $hx_exports = typeof exports != "undefined" ? exports : typeof window != "undefined" ? window : typeof self != "undefined" ? self : this; -(function ($global) { "use strict"; -$hx_exports["xrfragment"] = $hx_exports["xrfragment"] || {}; -var $estr = function() { return js_Boot.__string_rec(this,''); },$hxEnums = $hxEnums || {},$_; -function $extend(from, fields) { - var proto = Object.create(from); - for (var name in fields) proto[name] = fields[name]; - if( fields.toString !== Object.prototype.toString ) proto.toString = fields.toString; - return proto; -} -var EReg = function(r,opt) { - this.r = new RegExp(r,opt.split("u").join("")); -}; -EReg.__name__ = true; -EReg.prototype = { - match: function(s) { - if(this.r.global) { - this.r.lastIndex = 0; - } - this.r.m = this.r.exec(s); - this.r.s = s; - return this.r.m != null; - } - ,matched: function(n) { - if(this.r.m != null && n >= 0 && n < this.r.m.length) { - return this.r.m[n]; - } else { - throw haxe_Exception.thrown("EReg::matched"); - } - } - ,matchedRight: function() { - if(this.r.m == null) { - throw haxe_Exception.thrown("No string matched"); - } - var sz = this.r.m.index + this.r.m[0].length; - return HxOverrides.substr(this.r.s,sz,this.r.s.length - sz); - } - ,matchedPos: function() { - if(this.r.m == null) { - throw haxe_Exception.thrown("No string matched"); - } - return { pos : this.r.m.index, len : this.r.m[0].length}; - } - ,split: function(s) { - var d = "#__delim__#"; - return s.replace(this.r,d).split(d); - } -}; -var HxOverrides = function() { }; -HxOverrides.__name__ = true; -HxOverrides.cca = function(s,index) { - var x = s.charCodeAt(index); - if(x != x) { - return undefined; - } - return x; -}; -HxOverrides.substr = function(s,pos,len) { - if(len == null) { - len = s.length; - } else if(len < 0) { - if(pos == 0) { - len = s.length + len; - } else { - return ""; - } - } - return s.substr(pos,len); -}; -HxOverrides.now = function() { - return Date.now(); -}; -Math.__name__ = true; -var Reflect = function() { }; -Reflect.__name__ = true; -Reflect.field = function(o,field) { - try { - return o[field]; - } catch( _g ) { - return null; - } -}; -Reflect.getProperty = function(o,field) { - var tmp; - if(o == null) { - return null; - } else { - var tmp1; - if(o.__properties__) { - tmp = o.__properties__["get_" + field]; - tmp1 = tmp; - } else { - tmp1 = false; - } - if(tmp1) { - return o[tmp](); - } else { - return o[field]; - } - } -}; -Reflect.fields = function(o) { - var a = []; - if(o != null) { - var hasOwnProperty = Object.prototype.hasOwnProperty; - for( var f in o ) { - if(f != "__id__" && f != "hx__closures__" && hasOwnProperty.call(o,f)) { - a.push(f); - } - } - } - return a; -}; -Reflect.isObject = function(v) { - if(v == null) { - return false; - } - var t = typeof(v); - if(!(t == "string" || t == "object" && v.__enum__ == null)) { - if(t == "function") { - return (v.__name__ || v.__ename__) != null; - } else { - return false; - } - } else { - return true; - } -}; -Reflect.deleteField = function(o,field) { - if(!Object.prototype.hasOwnProperty.call(o,field)) { - return false; - } - delete(o[field]); - return true; -}; -Reflect.copy = function(o) { - if(o == null) { - return null; - } - var o2 = { }; - var _g = 0; - var _g1 = Reflect.fields(o); - while(_g < _g1.length) { - var f = _g1[_g]; - ++_g; - o2[f] = Reflect.field(o,f); - } - return o2; -}; -var Std = function() { }; -Std.__name__ = true; -Std.string = function(s) { - return js_Boot.__string_rec(s,""); -}; -Std.parseInt = function(x) { - var v = parseInt(x); - if(isNaN(v)) { - return null; - } - return v; -}; -var StringBuf = function() { - this.b = ""; -}; -StringBuf.__name__ = true; -var StringTools = function() { }; -StringTools.__name__ = true; -StringTools.isSpace = function(s,pos) { - var c = HxOverrides.cca(s,pos); - if(!(c > 8 && c < 14)) { - return c == 32; - } else { - return true; - } -}; -StringTools.ltrim = function(s) { - var l = s.length; - var r = 0; - while(r < l && StringTools.isSpace(s,r)) ++r; - if(r > 0) { - return HxOverrides.substr(s,r,l - r); - } else { - return s; - } -}; -StringTools.rtrim = function(s) { - var l = s.length; - var r = 0; - while(r < l && StringTools.isSpace(s,l - r - 1)) ++r; - if(r > 0) { - return HxOverrides.substr(s,0,l - r); - } else { - return s; - } -}; -StringTools.trim = function(s) { - return StringTools.ltrim(StringTools.rtrim(s)); -}; -StringTools.replace = function(s,sub,by) { - return s.split(sub).join(by); -}; -var haxe_Exception = function(message,previous,native) { - Error.call(this,message); - this.message = message; - this.__previousException = previous; - this.__nativeException = native != null ? native : this; -}; -haxe_Exception.__name__ = true; -haxe_Exception.caught = function(value) { - if(((value) instanceof haxe_Exception)) { - return value; - } else if(((value) instanceof Error)) { - return new haxe_Exception(value.message,null,value); - } else { - return new haxe_ValueException(value,null,value); - } -}; -haxe_Exception.thrown = function(value) { - if(((value) instanceof haxe_Exception)) { - return value.get_native(); - } else if(((value) instanceof Error)) { - return value; - } else { - var e = new haxe_ValueException(value); - return e; - } -}; -haxe_Exception.__super__ = Error; -haxe_Exception.prototype = $extend(Error.prototype,{ - unwrap: function() { - return this.__nativeException; - } - ,get_native: function() { - return this.__nativeException; - } - ,__properties__: {get_native:"get_native"} -}); -var haxe__$Template_TemplateExpr = $hxEnums["haxe._Template.TemplateExpr"] = { __ename__:true,__constructs__:null - ,OpVar: ($_=function(v) { return {_hx_index:0,v:v,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpVar",$_.__params__ = ["v"],$_) - ,OpExpr: ($_=function(expr) { return {_hx_index:1,expr:expr,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpExpr",$_.__params__ = ["expr"],$_) - ,OpIf: ($_=function(expr,eif,eelse) { return {_hx_index:2,expr:expr,eif:eif,eelse:eelse,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpIf",$_.__params__ = ["expr","eif","eelse"],$_) - ,OpStr: ($_=function(str) { return {_hx_index:3,str:str,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpStr",$_.__params__ = ["str"],$_) - ,OpBlock: ($_=function(l) { return {_hx_index:4,l:l,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpBlock",$_.__params__ = ["l"],$_) - ,OpForeach: ($_=function(expr,loop) { return {_hx_index:5,expr:expr,loop:loop,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpForeach",$_.__params__ = ["expr","loop"],$_) - ,OpMacro: ($_=function(name,params) { return {_hx_index:6,name:name,params:params,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpMacro",$_.__params__ = ["name","params"],$_) -}; -haxe__$Template_TemplateExpr.__constructs__ = [haxe__$Template_TemplateExpr.OpVar,haxe__$Template_TemplateExpr.OpExpr,haxe__$Template_TemplateExpr.OpIf,haxe__$Template_TemplateExpr.OpStr,haxe__$Template_TemplateExpr.OpBlock,haxe__$Template_TemplateExpr.OpForeach,haxe__$Template_TemplateExpr.OpMacro]; -var haxe_iterators_ArrayIterator = function(array) { - this.current = 0; - this.array = array; -}; -haxe_iterators_ArrayIterator.__name__ = true; -haxe_iterators_ArrayIterator.prototype = { - hasNext: function() { - return this.current < this.array.length; - } - ,next: function() { - return this.array[this.current++]; - } -}; -var haxe_Template = function(str) { - var tokens = this.parseTokens(str); - this.expr = this.parseBlock(tokens); - if(!tokens.isEmpty()) { - throw haxe_Exception.thrown("Unexpected '" + Std.string(tokens.first().s) + "'"); - } -}; -haxe_Template.__name__ = true; -haxe_Template.prototype = { - execute: function(context,macros) { - this.macros = macros == null ? { } : macros; - this.context = context; - this.stack = new haxe_ds_List(); - this.buf = new StringBuf(); - this.run(this.expr); - return this.buf.b; - } - ,resolve: function(v) { - if(v == "__current__") { - return this.context; - } - if(Reflect.isObject(this.context)) { - var value = Reflect.getProperty(this.context,v); - if(value != null || Object.prototype.hasOwnProperty.call(this.context,v)) { - return value; - } - } - var _g_head = this.stack.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var ctx = val; - var value = Reflect.getProperty(ctx,v); - if(value != null || Object.prototype.hasOwnProperty.call(ctx,v)) { - return value; - } - } - return Reflect.field(haxe_Template.globals,v); - } - ,parseTokens: function(data) { - var tokens = new haxe_ds_List(); - while(haxe_Template.splitter.match(data)) { - var p = haxe_Template.splitter.matchedPos(); - if(p.pos > 0) { - tokens.add({ p : HxOverrides.substr(data,0,p.pos), s : true, l : null}); - } - if(HxOverrides.cca(data,p.pos) == 58) { - tokens.add({ p : HxOverrides.substr(data,p.pos + 2,p.len - 4), s : false, l : null}); - data = haxe_Template.splitter.matchedRight(); - continue; - } - var parp = p.pos + p.len; - var npar = 1; - var params = []; - var part = ""; - while(true) { - var c = HxOverrides.cca(data,parp); - ++parp; - if(c == 40) { - ++npar; - } else if(c == 41) { - --npar; - if(npar <= 0) { - break; - } - } else if(c == null) { - throw haxe_Exception.thrown("Unclosed macro parenthesis"); - } - if(c == 44 && npar == 1) { - params.push(part); - part = ""; - } else { - part += String.fromCodePoint(c); - } - } - params.push(part); - tokens.add({ p : haxe_Template.splitter.matched(2), s : false, l : params}); - data = HxOverrides.substr(data,parp,data.length - parp); - } - if(data.length > 0) { - tokens.add({ p : data, s : true, l : null}); - } - return tokens; - } - ,parseBlock: function(tokens) { - var l = new haxe_ds_List(); - while(true) { - var t = tokens.first(); - if(t == null) { - break; - } - if(!t.s && (t.p == "end" || t.p == "else" || HxOverrides.substr(t.p,0,7) == "elseif ")) { - break; - } - l.add(this.parse(tokens)); - } - if(l.length == 1) { - return l.first(); - } - return haxe__$Template_TemplateExpr.OpBlock(l); - } - ,parse: function(tokens) { - var t = tokens.pop(); - var p = t.p; - if(t.s) { - return haxe__$Template_TemplateExpr.OpStr(p); - } - if(t.l != null) { - var pe = new haxe_ds_List(); - var _g = 0; - var _g1 = t.l; - while(_g < _g1.length) { - var p1 = _g1[_g]; - ++_g; - pe.add(this.parseBlock(this.parseTokens(p1))); - } - return haxe__$Template_TemplateExpr.OpMacro(p,pe); - } - var kwdEnd = function(kwd) { - var pos = -1; - var length = kwd.length; - if(HxOverrides.substr(p,0,length) == kwd) { - pos = length; - var _g_offset = 0; - var _g_s = HxOverrides.substr(p,length,null); - while(_g_offset < _g_s.length) { - var c = _g_s.charCodeAt(_g_offset++); - if(c == 32) { - ++pos; - } else { - break; - } - } - } - return pos; - }; - var pos = kwdEnd("if"); - if(pos > 0) { - p = HxOverrides.substr(p,pos,p.length - pos); - var e = this.parseExpr(p); - var eif = this.parseBlock(tokens); - var t = tokens.first(); - var eelse; - if(t == null) { - throw haxe_Exception.thrown("Unclosed 'if'"); - } - if(t.p == "end") { - tokens.pop(); - eelse = null; - } else if(t.p == "else") { - tokens.pop(); - eelse = this.parseBlock(tokens); - t = tokens.pop(); - if(t == null || t.p != "end") { - throw haxe_Exception.thrown("Unclosed 'else'"); - } - } else { - t.p = HxOverrides.substr(t.p,4,t.p.length - 4); - eelse = this.parse(tokens); - } - return haxe__$Template_TemplateExpr.OpIf(e,eif,eelse); - } - var pos = kwdEnd("foreach"); - if(pos >= 0) { - p = HxOverrides.substr(p,pos,p.length - pos); - var e = this.parseExpr(p); - var efor = this.parseBlock(tokens); - var t = tokens.pop(); - if(t == null || t.p != "end") { - throw haxe_Exception.thrown("Unclosed 'foreach'"); - } - return haxe__$Template_TemplateExpr.OpForeach(e,efor); - } - if(haxe_Template.expr_splitter.match(p)) { - return haxe__$Template_TemplateExpr.OpExpr(this.parseExpr(p)); - } - return haxe__$Template_TemplateExpr.OpVar(p); - } - ,parseExpr: function(data) { - var l = new haxe_ds_List(); - var expr = data; - while(haxe_Template.expr_splitter.match(data)) { - var p = haxe_Template.expr_splitter.matchedPos(); - var k = p.pos + p.len; - if(p.pos != 0) { - l.add({ p : HxOverrides.substr(data,0,p.pos), s : true}); - } - var p1 = haxe_Template.expr_splitter.matched(0); - l.add({ p : p1, s : p1.indexOf("\"") >= 0}); - data = haxe_Template.expr_splitter.matchedRight(); - } - if(data.length != 0) { - var _g_offset = 0; - var _g_s = data; - while(_g_offset < _g_s.length) { - var _g_key = _g_offset; - var _g_value = _g_s.charCodeAt(_g_offset++); - var i = _g_key; - var c = _g_value; - if(c != 32) { - l.add({ p : HxOverrides.substr(data,i,null), s : true}); - break; - } - } - } - var e; - try { - e = this.makeExpr(l); - if(!l.isEmpty()) { - throw haxe_Exception.thrown(l.first().p); - } - } catch( _g ) { - var _g1 = haxe_Exception.caught(_g).unwrap(); - if(typeof(_g1) == "string") { - var s = _g1; - throw haxe_Exception.thrown("Unexpected '" + s + "' in " + expr); - } else { - throw _g; - } - } - return function() { - try { - return e(); - } catch( _g ) { - var exc = haxe_Exception.caught(_g).unwrap(); - throw haxe_Exception.thrown("Error : " + Std.string(exc) + " in " + expr); - } - }; - } - ,makeConst: function(v) { - haxe_Template.expr_trim.match(v); - v = haxe_Template.expr_trim.matched(1); - if(HxOverrides.cca(v,0) == 34) { - var str = HxOverrides.substr(v,1,v.length - 2); - return function() { - return str; - }; - } - if(haxe_Template.expr_int.match(v)) { - var i = Std.parseInt(v); - return function() { - return i; - }; - } - if(haxe_Template.expr_float.match(v)) { - var f = parseFloat(v); - return function() { - return f; - }; - } - var me = this; - return function() { - return me.resolve(v); - }; - } - ,makePath: function(e,l) { - var p = l.first(); - if(p == null || p.p != ".") { - return e; - } - l.pop(); - var field = l.pop(); - if(field == null || !field.s) { - throw haxe_Exception.thrown(field.p); - } - var f = field.p; - haxe_Template.expr_trim.match(f); - f = haxe_Template.expr_trim.matched(1); - return this.makePath(function() { - return Reflect.field(e(),f); - },l); - } - ,makeExpr: function(l) { - return this.makePath(this.makeExpr2(l),l); - } - ,skipSpaces: function(l) { - var p = l.first(); - while(p != null) { - var _g_offset = 0; - var _g_s = p.p; - while(_g_offset < _g_s.length) { - var c = _g_s.charCodeAt(_g_offset++); - if(c != 32) { - return; - } - } - l.pop(); - p = l.first(); - } - } - ,makeExpr2: function(l) { - this.skipSpaces(l); - var p = l.pop(); - this.skipSpaces(l); - if(p == null) { - throw haxe_Exception.thrown(""); - } - if(p.s) { - return this.makeConst(p.p); - } - switch(p.p) { - case "!": - var e = this.makeExpr(l); - return function() { - var v = e(); - if(v != null) { - return v == false; - } else { - return true; - } - }; - case "(": - this.skipSpaces(l); - var e1 = this.makeExpr(l); - this.skipSpaces(l); - var p1 = l.pop(); - if(p1 == null || p1.s) { - throw haxe_Exception.thrown(p1); - } - if(p1.p == ")") { - return e1; - } - this.skipSpaces(l); - var e2 = this.makeExpr(l); - this.skipSpaces(l); - var p2 = l.pop(); - this.skipSpaces(l); - if(p2 == null || p2.p != ")") { - throw haxe_Exception.thrown(p2); - } - switch(p1.p) { - case "!=": - return function() { - return e1() != e2(); - }; - case "&&": - return function() { - return e1() && e2(); - }; - case "*": - return function() { - return e1() * e2(); - }; - case "+": - return function() { - return e1() + e2(); - }; - case "-": - return function() { - return e1() - e2(); - }; - case "/": - return function() { - return e1() / e2(); - }; - case "<": - return function() { - return e1() < e2(); - }; - case "<=": - return function() { - return e1() <= e2(); - }; - case "==": - return function() { - return e1() == e2(); - }; - case ">": - return function() { - return e1() > e2(); - }; - case ">=": - return function() { - return e1() >= e2(); - }; - case "||": - return function() { - return e1() || e2(); - }; - default: - throw haxe_Exception.thrown("Unknown operation " + p1.p); - } - break; - case "-": - var e3 = this.makeExpr(l); - return function() { - return -e3(); - }; - } - throw haxe_Exception.thrown(p.p); - } - ,run: function(e) { - switch(e._hx_index) { - case 0: - var v = e.v; - var _this = this.buf; - var x = Std.string(this.resolve(v)); - _this.b += Std.string(x); - break; - case 1: - var e1 = e.expr; - var _this = this.buf; - var x = Std.string(e1()); - _this.b += Std.string(x); - break; - case 2: - var e1 = e.expr; - var eif = e.eif; - var eelse = e.eelse; - var v = e1(); - if(v == null || v == false) { - if(eelse != null) { - this.run(eelse); - } - } else { - this.run(eif); - } - break; - case 3: - var str = e.str; - this.buf.b += str == null ? "null" : "" + str; - break; - case 4: - var l = e.l; - var _g_head = l.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var e1 = val; - this.run(e1); - } - break; - case 5: - var e1 = e.expr; - var loop = e.loop; - var v = e1(); - try { - var x = $getIterator(v); - if(x.hasNext == null) { - throw haxe_Exception.thrown(null); - } - v = x; - } catch( _g ) { - try { - if(v.hasNext == null) { - throw haxe_Exception.thrown(null); - } - } catch( _g1 ) { - throw haxe_Exception.thrown("Cannot iter on " + Std.string(v)); - } - } - this.stack.push(this.context); - var v1 = v; - var ctx = v1; - while(ctx.hasNext()) { - var ctx1 = ctx.next(); - this.context = ctx1; - this.run(loop); - } - this.context = this.stack.pop(); - break; - case 6: - var m = e.name; - var params = e.params; - var v = Reflect.field(this.macros,m); - var pl = []; - var old = this.buf; - pl.push($bind(this,this.resolve)); - var _g_head = params.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var p = val; - if(p._hx_index == 0) { - var v1 = p.v; - pl.push(this.resolve(v1)); - } else { - this.buf = new StringBuf(); - this.run(p); - pl.push(this.buf.b); - } - } - this.buf = old; - try { - var _this = this.buf; - var x = Std.string(v.apply(this.macros,pl)); - _this.b += Std.string(x); - } catch( _g ) { - var e = haxe_Exception.caught(_g).unwrap(); - var plstr; - try { - plstr = pl.join(","); - } catch( _g1 ) { - plstr = "???"; - } - var msg = "Macro call " + m + "(" + plstr + ") failed (" + Std.string(e) + ")"; - throw haxe_Exception.thrown(msg); - } - break; - } - } -}; -var haxe_ValueException = function(value,previous,native) { - haxe_Exception.call(this,String(value),previous,native); - this.value = value; -}; -haxe_ValueException.__name__ = true; -haxe_ValueException.__super__ = haxe_Exception; -haxe_ValueException.prototype = $extend(haxe_Exception.prototype,{ - unwrap: function() { - return this.value; - } -}); -var haxe_ds_List = function() { - this.length = 0; -}; -haxe_ds_List.__name__ = true; -haxe_ds_List.prototype = { - add: function(item) { - var x = new haxe_ds__$List_ListNode(item,null); - if(this.h == null) { - this.h = x; - } else { - this.q.next = x; - } - this.q = x; - this.length++; - } - ,push: function(item) { - var x = new haxe_ds__$List_ListNode(item,this.h); - this.h = x; - if(this.q == null) { - this.q = x; - } - this.length++; - } - ,first: function() { - if(this.h == null) { - return null; - } else { - return this.h.item; - } - } - ,pop: function() { - if(this.h == null) { - return null; - } - var x = this.h.item; - this.h = this.h.next; - if(this.h == null) { - this.q = null; - } - this.length--; - return x; - } - ,isEmpty: function() { - return this.h == null; - } - ,toString: function() { - var s_b = ""; - var first = true; - var l = this.h; - s_b += "{"; - while(l != null) { - if(first) { - first = false; - } else { - s_b += ", "; - } - s_b += Std.string(Std.string(l.item)); - l = l.next; - } - s_b += "}"; - return s_b; - } -}; -var haxe_ds__$List_ListNode = function(item,next) { - this.item = item; - this.next = next; -}; -haxe_ds__$List_ListNode.__name__ = true; -var js_Boot = function() { }; -js_Boot.__name__ = true; -js_Boot.__string_rec = function(o,s) { - if(o == null) { - return "null"; - } - if(s.length >= 5) { - return "<...>"; - } - var t = typeof(o); - if(t == "function" && (o.__name__ || o.__ename__)) { - t = "object"; - } - switch(t) { - case "function": - return ""; - case "object": - if(o.__enum__) { - var e = $hxEnums[o.__enum__]; - var con = e.__constructs__[o._hx_index]; - var n = con._hx_name; - if(con.__params__) { - s = s + "\t"; - return n + "(" + ((function($this) { - var $r; - var _g = []; - { - var _g1 = 0; - var _g2 = con.__params__; - while(true) { - if(!(_g1 < _g2.length)) { - break; - } - var p = _g2[_g1]; - _g1 = _g1 + 1; - _g.push(js_Boot.__string_rec(o[p],s)); - } - } - $r = _g; - return $r; - }(this))).join(",") + ")"; - } else { - return n; - } - } - if(((o) instanceof Array)) { - var str = "["; - s += "\t"; - var _g = 0; - var _g1 = o.length; - while(_g < _g1) { - var i = _g++; - str += (i > 0 ? "," : "") + js_Boot.__string_rec(o[i],s); - } - str += "]"; - return str; - } - var tostr; - try { - tostr = o.toString; - } catch( _g ) { - return "???"; - } - if(tostr != null && tostr != Object.toString && typeof(tostr) == "function") { - var s2 = o.toString(); - if(s2 != "[object Object]") { - return s2; - } - } - var str = "{\n"; - s += "\t"; - var hasp = o.hasOwnProperty != null; - var k = null; - for( k in o ) { - if(hasp && !o.hasOwnProperty(k)) { - continue; - } - if(k == "prototype" || k == "__class__" || k == "__super__" || k == "__interfaces__" || k == "__properties__") { - continue; - } - if(str.length != 2) { - str += ", \n"; - } - str += s + k + " : " + js_Boot.__string_rec(o[k],s); - } - s = s.substring(1); - str += "\n" + s + "}"; - return str; - case "string": - return o; - default: - return String(o); - } -}; -var xrfragment_Filter = $hx_exports["xrfragment"]["Filter"] = function(str) { - this.q = { }; - this.str = ""; - if(str != null) { - this.parse(str); - } -}; -xrfragment_Filter.__name__ = true; -xrfragment_Filter.prototype = { - toObject: function() { - return Reflect.copy(this.q); - } - ,get: function() { - return Reflect.copy(this.q); - } - ,parse: function(str) { - var token = str.split(" "); - var q = { }; - var process = function(str,prefix) { - if(prefix == null) { - prefix = ""; - } - str = StringTools.trim(str); - var k = str.split("=")[0]; - var v = str.split("=")[1]; - var filter = { }; - if(q[prefix + k]) { - filter = q[prefix + k]; - } - if(xrfragment_XRF.isProp.match(str)) { - var oper = ""; - if(str.indexOf(">") != -1) { - oper = ">"; - } - if(str.indexOf("<") != -1) { - oper = "<"; - } - if(xrfragment_XRF.isExclude.match(k)) { - k = HxOverrides.substr(k,1,null); - } - v = HxOverrides.substr(v,oper.length,null); - if(oper.length == 0) { - oper = "="; - } - var rule = { }; - if(xrfragment_XRF.isNumber.match(v)) { - rule[oper] = parseFloat(v); - } else { - rule[oper] = v; - } - q["expr"] = rule; - } - var value = xrfragment_XRF.isDeep.match(str) ? k.split("*").length - 1 : 0; - q["deep"] = value; - var value = xrfragment_XRF.isExclude.match(str) ? false : true; - q["show"] = value; - var value = k.replace(xrfragment_XRF.operators.r,""); - q["key"] = value; - q["value"] = v; - }; - var _g = 0; - var _g1 = token.length; - while(_g < _g1) { - var i = _g++; - process(token[i]); - } - return this.q = q; - } - ,test: function(obj) { - var qualify = false; - var _g = 0; - var _g1 = Reflect.fields(obj); - while(_g < _g1.length) { - var k = _g1[_g]; - ++_g; - var v = Std.string(Reflect.field(obj,k)); - if(this.testProperty(k,v)) { - qualify = true; - } - } - var _g = 0; - var _g1 = Reflect.fields(obj); - while(_g < _g1.length) { - var k = _g1[_g]; - ++_g; - var v = Std.string(Reflect.field(obj,k)); - if(this.testProperty(k,v,true)) { - qualify = false; - } - } - return qualify; - } - ,testProperty: function(property,value,exclude) { - var conds = 0; - var fails = 0; - var qualify = 0; - var testprop = function(expr) { - conds += 1; - fails += expr ? 0 : 1; - return expr; - }; - if(this.q[value] != null) { - var v = this.q[value]; - if(v[property] != null) { - return v[property]; - } - } - if(Reflect.field(this.q,"expr")) { - var f = Reflect.field(this.q,"expr"); - if(!Reflect.field(this.q,"show")) { - if(Reflect.field(f,"!=") != null && testprop((value == null ? "null" : "" + value) == Std.string(Reflect.field(f,"!="))) && exclude) { - ++qualify; - } - } else { - if(Reflect.field(f,"*") != null && testprop(parseFloat(value) != null)) { - ++qualify; - } - if(Reflect.field(f,">") != null && testprop(parseFloat(value) >= parseFloat(Reflect.field(f,">")))) { - ++qualify; - } - if(Reflect.field(f,"<") != null && testprop(parseFloat(value) <= parseFloat(Reflect.field(f,"<")))) { - ++qualify; - } - if(Reflect.field(f,"=") != null && (testprop(value == Reflect.field(f,"=")) || testprop(parseFloat(value) == parseFloat(Reflect.field(f,"="))))) { - ++qualify; - } - } - } - return qualify > 0; - } -}; -var xrfragment_Parser = $hx_exports["xrfragment"]["Parser"] = function() { }; -xrfragment_Parser.__name__ = true; -xrfragment_Parser.parse = function(key,value,store,index) { - var Frag_h = Object.create(null); - Frag_h["#"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_PREDEFINED_VIEW | xrfragment_XRF.PV_EXECUTE; - Frag_h["src"] = xrfragment_XRF.T_URL; - Frag_h["href"] = xrfragment_XRF.T_URL | xrfragment_XRF.T_PREDEFINED_VIEW; - Frag_h["tag"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["pos"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_VECTOR3 | xrfragment_XRF.T_STRING | xrfragment_XRF.METADATA | xrfragment_XRF.NAVIGATOR; - Frag_h["rot"] = xrfragment_XRF.QUERY_OPERATOR | xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_VECTOR3 | xrfragment_XRF.METADATA | xrfragment_XRF.NAVIGATOR; - Frag_h["t"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_FLOAT | xrfragment_XRF.T_VECTOR2 | xrfragment_XRF.NAVIGATOR | xrfragment_XRF.METADATA; - Frag_h["s"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_MEDIAFRAG; - Frag_h["loop"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_PREDEFINED_VIEW; - Frag_h["uv"] = xrfragment_XRF.T_VECTOR2 | xrfragment_XRF.T_MEDIAFRAG; - Frag_h["namespace"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["SPDX"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["unit"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["description"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - var keyStripped = key.replace(xrfragment_XRF.operators.r,""); - var isPVDynamic = key.length > 0 && !Object.prototype.hasOwnProperty.call(Frag_h,key); - if(isPVDynamic) { - var v = new xrfragment_XRF(key,xrfragment_XRF.PV_EXECUTE | xrfragment_XRF.NAVIGATOR,index); - v.validate(value); - v.flags = xrfragment_XRF.set(xrfragment_XRF.T_DYNAMICKEY,v.flags); - if(!Object.prototype.hasOwnProperty.call(Frag_h,key)) { - v.flags = xrfragment_XRF.set(xrfragment_XRF.CUSTOMFRAG,v.flags); - } - if(value.length == 0) { - v.flags = xrfragment_XRF.set(xrfragment_XRF.T_DYNAMICKEYVALUE,v.flags); - } - store[keyStripped] = v; - return true; - } - var v = new xrfragment_XRF(key,Frag_h[key],index); - if(Object.prototype.hasOwnProperty.call(Frag_h,key)) { - if(!v.validate(value)) { - console.log("src/xrfragment/Parser.hx:67:","⚠ fragment '" + key + "' has incompatible value (" + value + ")"); - return false; - } - store[keyStripped] = v; - if(xrfragment_Parser.debug) { - console.log("src/xrfragment/Parser.hx:71:","✔ " + key + ": " + v.string); - } - } else { - if(typeof(value) == "string") { - v.guessType(v,value); - } - v.flags = xrfragment_XRF.set(xrfragment_XRF.CUSTOMFRAG,v.flags); - store[keyStripped] = v; - } - return true; -}; -xrfragment_Parser.getMetaData = function() { - var meta = { title : ["title","og:title","dc.title"], description : ["aria-description","og:description","dc.description"], author : ["author","dc.creator"], publisher : ["publisher","dc.publisher"], website : ["og:site_name","og:url","dc.publisher"], license : ["SPDX","dc.rights"]}; - return meta; -}; -var xrfragment_URI = $hx_exports["xrfragment"]["URI"] = function() { - this.XRF = { }; - this.hash = { }; - this.fragment = ""; -}; -xrfragment_URI.__name__ = true; -xrfragment_URI.parseFragment = function(url,filter) { - var store = { }; - if(url == null || url.indexOf("#") == -1) { - return store; - } - var fragment = url.split("#"); - var splitArray = fragment[1].split("&"); - var _g = 0; - var _g1 = splitArray.length; - while(_g < _g1) { - var i = _g++; - var splitByEqual = splitArray[i].split("="); - var regexPlus = new EReg("\\+","g"); - var key = splitByEqual[0]; - var value = ""; - if(splitByEqual.length > 1) { - if(xrfragment_XRF.isVector.match(splitByEqual[1])) { - value = splitByEqual[1]; - } else { - var s = regexPlus.split(splitByEqual[1]).join(" "); - value = decodeURIComponent(s.split("+").join(" ")); - } - } - var ok = xrfragment_Parser.parse(key,value,store,i); - } - if(filter != null && filter != 0) { - var _g = 0; - var _g1 = Reflect.fields(store); - while(_g < _g1.length) { - var key = _g1[_g]; - ++_g; - var xrf = store[key]; - if(!xrf.is(filter)) { - Reflect.deleteField(store,key); - } - } - } - return store; -}; -xrfragment_URI.template = function(uri,vars) { - var parts = uri.split("#"); - if(parts.length == 1) { - return uri; - } - var frag = parts[1]; - frag = StringTools.replace(frag,"{","::"); - frag = StringTools.replace(frag,"}","::"); - frag = new haxe_Template(frag).execute(vars); - frag = StringTools.replace(frag,"null",""); - parts[1] = frag; - return parts.join("#"); -}; -xrfragment_URI.parse = function(stringUrl,flags) { - var r = new EReg("^(?:(?![^:@]+:[^:@/]*@)([^:/?#.]+):)?(?://)?((?:(([^:@]*)(?::([^:@]*))?)?@)?([^:/?#]*)(?::(\\d*))?)(((/(?:[^?#](?![^?#/]*\\.[^?#/.]+(?:[?#]|$)))*/?)?([^?#/]*))(?:\\?([^#]*))?(?:#(.*))?)",""); - if(stringUrl.indexOf("://") == -1 && stringUrl.charAt(0) != "/") { - stringUrl = "/" + stringUrl; - } - r.match(stringUrl); - var url = new xrfragment_URI(); - var _g = 0; - var _g1 = xrfragment_URI._parts.length; - while(_g < _g1) { - var i = _g++; - url[xrfragment_URI._parts[i]] = r.matched(i); - } - if(xrfragment_URI.isRelative(url) == true) { - if(url.directory == null && url.host != null) { - url.file = url.host; - } - url.host = ""; - } - url.hash = { }; - if(url.fragment != null && url.fragment.length > 0) { - url.XRF = xrfragment_URI.parseFragment("#" + url.fragment,flags); - var key; - var _g = 0; - var _g1 = Reflect.fields(url.XRF); - while(_g < _g1.length) { - var key = _g1[_g]; - ++_g; - var v = url.XRF[key]; - url.hash[key] = v["string"]; - } - } - xrfragment_URI.computeVars(url); - return url; -}; -xrfragment_URI.computeVars = function(url) { - var r_r = new RegExp("//","g".split("u").join("")); - if(url.directory != null && url.directory.indexOf("//") != -1) { - url.directory = url.directory.replace(r_r,"/"); - } - if(url.path != null && url.path.indexOf("//") != -1) { - url.path = url.path.replace(r_r,"/"); - } - if(url.file != null && url.file.indexOf("//") != -1) { - url.file = url.file.replace(r_r,"/"); - } - url.URN = url.scheme + "://" + url.host; - if(url.port != null) { - url.URN += ":" + url.port; - } - url.URN += url.directory; - if(url.file != null) { - var parts = url.file.split("."); - if(parts.length > 1) { - url.fileExt = parts.pop(); - } - } -}; -xrfragment_URI.toString = function(url) { - var result = ""; - if(url.scheme != null) { - result += url.scheme + "://"; - } - if(url.user != null) { - result += url.user + ":"; - } - if(url.password != null) { - result += url.password + "@"; - } - if(url.host != null) { - result += url.host; - } - if(url.port != null) { - result += ":" + url.port; - } - if(url.directory != null) { - result += url.directory; - } - if(url.file != null) { - result += url.file; - } - if(url.query != null) { - result += "?" + url.query; - } - if(url.fragment != null) { - result += "#" + url.fragment; - } - return result; -}; -xrfragment_URI.appendURI = function(url,appendedURI) { - if(xrfragment_URI.isRelative(url) == true) { - return xrfragment_URI.appendToRelativeURI(url,appendedURI); - } else { - return xrfragment_URI.appendToAbsoluteURI(url,appendedURI); - } -}; -xrfragment_URI.isRelative = function(url) { - return url.scheme == null; -}; -xrfragment_URI.appendToRelativeURI = function(url,appendedURI) { - if(url.directory == null || url.host == null) { - return xrfragment_URI.cloneURI(appendedURI); - } - var resultURI = new xrfragment_URI(); - resultURI.host = url.host; - resultURI.directory = url.directory; - if(appendedURI.host != null) { - resultURI.directory += appendedURI.host; - } - if(appendedURI.directory != null) { - var directory = appendedURI.directory; - if(appendedURI.host == null) { - resultURI.directory += HxOverrides.substr(directory,1,null); - } else { - resultURI.directory += directory; - } - } - if(appendedURI.file != null) { - resultURI.file = appendedURI.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(appendedURI.query != null) { - resultURI.query = appendedURI.query; - } - if(appendedURI.fragment != null) { - resultURI.fragment = appendedURI.fragment; - } - return resultURI; -}; -xrfragment_URI.appendToAbsoluteURI = function(url,appendedURI) { - var resultURI = new xrfragment_URI(); - if(url.scheme != null) { - resultURI.scheme = url.scheme; - } - if(url.host != null) { - resultURI.host = url.host; - } - var directory = ""; - if(url.directory != null) { - directory = url.directory; - } - if(appendedURI.host != null) { - appendedURI.directory += appendedURI.host; - } - if(appendedURI.directory != null) { - directory += appendedURI.directory; - } - resultURI.directory = directory; - if(appendedURI.file != null) { - resultURI.file = appendedURI.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(appendedURI.query != null) { - resultURI.query = appendedURI.query; - } - if(appendedURI.fragment != null) { - resultURI.fragment = appendedURI.fragment; - } - return resultURI; -}; -xrfragment_URI.toAbsolute = function(url,newUrl) { - var newURI = xrfragment_URI.parse(newUrl,0); - var resultURI = new xrfragment_URI(); - resultURI.port = url.port; - resultURI.source = newUrl; - if(newURI.scheme != null) { - resultURI.scheme = newURI.scheme; - } else { - resultURI.scheme = url.scheme; - } - if(newURI.host != null && newURI.host.length > 0) { - resultURI.host = newURI.host; - resultURI.port = null; - resultURI.fragment = null; - resultURI.hash = { }; - resultURI.XRF = { }; - if(newURI.port != null) { - resultURI.port = newURI.port; - } - } else { - resultURI.host = url.host; - } - var directory = ""; - if(url.directory != null) { - directory = url.directory; - } - if(newURI.directory != null) { - if(newUrl.charAt(0) != "/" && newUrl.indexOf("://") == -1) { - var stripRelative_r = new RegExp("\\./.*","".split("u").join("")); - directory = directory.replace(stripRelative_r,""); - directory += newURI.directory; - } else { - directory = newURI.directory; - } - } - resultURI.directory = directory; - if(newURI.file != null) { - resultURI.file = newURI.file; - } else { - resultURI.file = url.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(newURI.query != null) { - resultURI.query = newURI.query; - } - if(newURI.fragment != null) { - resultURI.fragment = newURI.fragment; - } - resultURI.hash = newURI.hash; - resultURI.XRF = newURI.XRF; - xrfragment_URI.computeVars(resultURI); - return resultURI; -}; -xrfragment_URI.cloneURI = function(url) { - var clonedURI = new xrfragment_URI(); - clonedURI.url = url.url; - clonedURI.source = url.source; - clonedURI.scheme = url.scheme; - clonedURI.authority = url.authority; - clonedURI.userInfo = url.userInfo; - clonedURI.password = url.password; - clonedURI.host = url.host; - clonedURI.port = url.port; - clonedURI.relative = url.relative; - clonedURI.path = url.path; - clonedURI.directory = url.directory; - clonedURI.file = url.file; - clonedURI.query = url.query; - clonedURI.fragment = url.fragment; - return clonedURI; -}; -var xrfragment_XRF = $hx_exports["xrfragment"]["XRF"] = function(_fragment,_flags,_index) { - this.floats = []; - this.shift = []; - this.fragment = _fragment; - this.flags = _flags; - this.index = _index; -}; -xrfragment_XRF.__name__ = true; -xrfragment_XRF.set = function(flag,flags) { - return flags | flag; -}; -xrfragment_XRF.unset = function(flag,flags) { - return flags & ~flag; -}; -xrfragment_XRF.prototype = { - is: function(flag) { - var v = this.flags; - if(!(typeof(v) == "number" && ((v | 0) === v))) { - this.flags = 0; - } - return (this.flags & flag) != 0; - } - ,validate: function(value) { - this.guessType(this,value); - var ok = true; - if(value.length == 0 && !this.is(xrfragment_XRF.T_PREDEFINED_VIEW)) { - ok = false; - } - if(!this.is(xrfragment_XRF.T_FLOAT) && this.is(xrfragment_XRF.T_VECTOR2) && !(typeof(this.x) == "number" && typeof(this.y) == "number")) { - ok = false; - } - if(!(this.is(xrfragment_XRF.T_VECTOR2) || this.is(xrfragment_XRF.T_STRING)) && this.is(xrfragment_XRF.T_VECTOR3) && !(typeof(this.x) == "number" && typeof(this.y) == "number" && typeof(this.z) == "number")) { - ok = false; - } - return ok; - } - ,guessType: function(v,str) { - v.string = str; - if(xrfragment_XRF.isReset.match(v.fragment)) { - v.reset = true; - } - if(v.fragment == "loop") { - v.loop = true; - } - if(typeof(str) != "string") { - return; - } - if(str.length > 0) { - if(xrfragment_XRF.isXRFScheme.match(str)) { - v.xrfScheme = true; - str = str.replace(xrfragment_XRF.isXRFScheme.r,""); - v.string = str; - } - if(str.split(",").length > 1) { - var xyzn = str.split(","); - if(xyzn.length > 0) { - v.x = parseFloat(xyzn[0]); - } - if(xyzn.length > 1) { - v.y = parseFloat(xyzn[1]); - } - if(xyzn.length > 2) { - v.z = parseFloat(xyzn[2]); - } - var _g = 0; - var _g1 = xyzn.length; - while(_g < _g1) { - var i = _g++; - v.shift.push(xrfragment_XRF.isShift.match(xyzn[i])); - v.floats.push(parseFloat(xyzn[i].replace(xrfragment_XRF.isShift.r,""))); - } - } - if(xrfragment_XRF.isColor.match(str)) { - v.color = str; - } - if(xrfragment_XRF.isFloat.match(str)) { - v.x = parseFloat(str); - v.float = v.x; - } - if(xrfragment_XRF.isInt.match(str)) { - v.int = Std.parseInt(str); - v.x = v.int; - v.floats.push(v.x); - } - v.filter = new xrfragment_Filter(v.fragment + "=" + v.string); - } else { - v.filter = new xrfragment_Filter(v.fragment); - } - } -}; -function $getIterator(o) { if( o instanceof Array ) return new haxe_iterators_ArrayIterator(o); else return o.iterator(); } -function $bind(o,m) { if( m == null ) return null; if( m.__id__ == null ) m.__id__ = $global.$haxeUID++; var f; if( o.hx__closures__ == null ) o.hx__closures__ = {}; else f = o.hx__closures__[m.__id__]; if( f == null ) { f = m.bind(o); o.hx__closures__[m.__id__] = f; } return f; } -$global.$haxeUID |= 0; -if(typeof(performance) != "undefined" ? typeof(performance.now) == "function" : false) { - HxOverrides.now = performance.now.bind(performance); -} -if( String.fromCodePoint == null ) String.fromCodePoint = function(c) { return c < 0x10000 ? String.fromCharCode(c) : String.fromCharCode((c>>10)+0xD7C0)+String.fromCharCode((c&0x3FF)+0xDC00); } -String.__name__ = true; -Array.__name__ = true; -js_Boot.__toStr = ({ }).toString; -haxe_Template.splitter = new EReg("(::[A-Za-z0-9_ ()&|!+=/><*.\"-]+::|\\$\\$([A-Za-z0-9_-]+)\\()",""); -haxe_Template.expr_splitter = new EReg("(\\(|\\)|[ \r\n\t]*\"[^\"]*\"[ \r\n\t]*|[!+=/><*.&|-]+)",""); -haxe_Template.expr_trim = new EReg("^[ ]*([^ ]+)[ ]*$",""); -haxe_Template.expr_int = new EReg("^[0-9]+$",""); -haxe_Template.expr_float = new EReg("^([+-]?)(?=\\d|,\\d)\\d*(,\\d*)?([Ee]([+-]?\\d+))?$",""); -haxe_Template.globals = { }; -haxe_Template.hxKeepArrayIterator = new haxe_iterators_ArrayIterator([]); -xrfragment_Parser.error = ""; -xrfragment_Parser.debug = false; -xrfragment_URI.__meta__ = { statics : { template : { keep : null}}}; -xrfragment_URI._parts = ["source","scheme","authority","userInfo","user","password","host","port","relative","path","directory","file","query","fragment"]; -xrfragment_XRF.IMMUTABLE = 1; -xrfragment_XRF.PROP_BIND = 2; -xrfragment_XRF.QUERY_OPERATOR = 4; -xrfragment_XRF.PROMPT = 8; -xrfragment_XRF.CUSTOMFRAG = 16; -xrfragment_XRF.NAVIGATOR = 32; -xrfragment_XRF.METADATA = 64; -xrfragment_XRF.PV_OVERRIDE = 128; -xrfragment_XRF.PV_EXECUTE = 256; -xrfragment_XRF.T_COLOR = 8192; -xrfragment_XRF.T_INT = 16384; -xrfragment_XRF.T_FLOAT = 32768; -xrfragment_XRF.T_VECTOR2 = 65536; -xrfragment_XRF.T_VECTOR3 = 131072; -xrfragment_XRF.T_URL = 262144; -xrfragment_XRF.T_PREDEFINED_VIEW = 524288; -xrfragment_XRF.T_STRING = 1048576; -xrfragment_XRF.T_MEDIAFRAG = 2097152; -xrfragment_XRF.T_DYNAMICKEY = 4194304; -xrfragment_XRF.T_DYNAMICKEYVALUE = 8388608; -xrfragment_XRF.isColor = new EReg("^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$",""); -xrfragment_XRF.isInt = new EReg("^[-0-9]+$",""); -xrfragment_XRF.isFloat = new EReg("^[-0-9]+\\.[0-9]+$",""); -xrfragment_XRF.isVector = new EReg("([,]+|\\w)",""); -xrfragment_XRF.isUrl = new EReg("(://)?\\..*",""); -xrfragment_XRF.isUrlOrPretypedView = new EReg("(^#|://)?\\..*",""); -xrfragment_XRF.isString = new EReg(".*",""); -xrfragment_XRF.operators = new EReg("(^[-]|^[!]|[\\*]$)","g"); -xrfragment_XRF.isProp = new EReg("^.*=[><=]?",""); -xrfragment_XRF.isExclude = new EReg("^-",""); -xrfragment_XRF.isDeep = new EReg("\\*",""); -xrfragment_XRF.isNumber = new EReg("^[0-9\\.]+$",""); -xrfragment_XRF.isMediaFrag = new EReg("^([0-9\\.,\\*+-]+)$",""); -xrfragment_XRF.isReset = new EReg("^!",""); -xrfragment_XRF.isShift = new EReg("^(\\+|--)",""); -xrfragment_XRF.isXRFScheme = new EReg("^xrf://",""); -})(typeof window != "undefined" ? window : typeof global != "undefined" ? global : typeof self != "undefined" ? self : this); -var xrfragment = $hx_exports["xrfragment"]; -export default xrfragment; -// Generated by Haxe 4.3.3 -var $hx_exports = typeof exports != "undefined" ? exports : typeof window != "undefined" ? window : typeof self != "undefined" ? self : this; -(function ($global) { "use strict"; -$hx_exports["xrfragment"] = $hx_exports["xrfragment"] || {}; -var $estr = function() { return js_Boot.__string_rec(this,''); },$hxEnums = $hxEnums || {},$_; -function $extend(from, fields) { - var proto = Object.create(from); - for (var name in fields) proto[name] = fields[name]; - if( fields.toString !== Object.prototype.toString ) proto.toString = fields.toString; - return proto; -} -var EReg = function(r,opt) { - this.r = new RegExp(r,opt.split("u").join("")); -}; -EReg.__name__ = true; -EReg.prototype = { - match: function(s) { - if(this.r.global) { - this.r.lastIndex = 0; - } - this.r.m = this.r.exec(s); - this.r.s = s; - return this.r.m != null; - } - ,matched: function(n) { - if(this.r.m != null && n >= 0 && n < this.r.m.length) { - return this.r.m[n]; - } else { - throw haxe_Exception.thrown("EReg::matched"); - } - } - ,matchedRight: function() { - if(this.r.m == null) { - throw haxe_Exception.thrown("No string matched"); - } - var sz = this.r.m.index + this.r.m[0].length; - return HxOverrides.substr(this.r.s,sz,this.r.s.length - sz); - } - ,matchedPos: function() { - if(this.r.m == null) { - throw haxe_Exception.thrown("No string matched"); - } - return { pos : this.r.m.index, len : this.r.m[0].length}; - } - ,split: function(s) { - var d = "#__delim__#"; - return s.replace(this.r,d).split(d); - } -}; -var HxOverrides = function() { }; -HxOverrides.__name__ = true; -HxOverrides.cca = function(s,index) { - var x = s.charCodeAt(index); - if(x != x) { - return undefined; - } - return x; -}; -HxOverrides.substr = function(s,pos,len) { - if(len == null) { - len = s.length; - } else if(len < 0) { - if(pos == 0) { - len = s.length + len; - } else { - return ""; - } - } - return s.substr(pos,len); -}; -HxOverrides.now = function() { - return Date.now(); -}; -Math.__name__ = true; -var Reflect = function() { }; -Reflect.__name__ = true; -Reflect.field = function(o,field) { - try { - return o[field]; - } catch( _g ) { - return null; - } -}; -Reflect.getProperty = function(o,field) { - var tmp; - if(o == null) { - return null; - } else { - var tmp1; - if(o.__properties__) { - tmp = o.__properties__["get_" + field]; - tmp1 = tmp; - } else { - tmp1 = false; - } - if(tmp1) { - return o[tmp](); - } else { - return o[field]; - } - } -}; -Reflect.fields = function(o) { - var a = []; - if(o != null) { - var hasOwnProperty = Object.prototype.hasOwnProperty; - for( var f in o ) { - if(f != "__id__" && f != "hx__closures__" && hasOwnProperty.call(o,f)) { - a.push(f); - } - } - } - return a; -}; -Reflect.isObject = function(v) { - if(v == null) { - return false; - } - var t = typeof(v); - if(!(t == "string" || t == "object" && v.__enum__ == null)) { - if(t == "function") { - return (v.__name__ || v.__ename__) != null; - } else { - return false; - } - } else { - return true; - } -}; -Reflect.deleteField = function(o,field) { - if(!Object.prototype.hasOwnProperty.call(o,field)) { - return false; - } - delete(o[field]); - return true; -}; -Reflect.copy = function(o) { - if(o == null) { - return null; - } - var o2 = { }; - var _g = 0; - var _g1 = Reflect.fields(o); - while(_g < _g1.length) { - var f = _g1[_g]; - ++_g; - o2[f] = Reflect.field(o,f); - } - return o2; -}; -var Std = function() { }; -Std.__name__ = true; -Std.string = function(s) { - return js_Boot.__string_rec(s,""); -}; -Std.parseInt = function(x) { - var v = parseInt(x); - if(isNaN(v)) { - return null; - } - return v; -}; -var StringBuf = function() { - this.b = ""; -}; -StringBuf.__name__ = true; -var StringTools = function() { }; -StringTools.__name__ = true; -StringTools.isSpace = function(s,pos) { - var c = HxOverrides.cca(s,pos); - if(!(c > 8 && c < 14)) { - return c == 32; - } else { - return true; - } -}; -StringTools.ltrim = function(s) { - var l = s.length; - var r = 0; - while(r < l && StringTools.isSpace(s,r)) ++r; - if(r > 0) { - return HxOverrides.substr(s,r,l - r); - } else { - return s; - } -}; -StringTools.rtrim = function(s) { - var l = s.length; - var r = 0; - while(r < l && StringTools.isSpace(s,l - r - 1)) ++r; - if(r > 0) { - return HxOverrides.substr(s,0,l - r); - } else { - return s; - } -}; -StringTools.trim = function(s) { - return StringTools.ltrim(StringTools.rtrim(s)); -}; -StringTools.replace = function(s,sub,by) { - return s.split(sub).join(by); -}; -var haxe_Exception = function(message,previous,native) { - Error.call(this,message); - this.message = message; - this.__previousException = previous; - this.__nativeException = native != null ? native : this; -}; -haxe_Exception.__name__ = true; -haxe_Exception.caught = function(value) { - if(((value) instanceof haxe_Exception)) { - return value; - } else if(((value) instanceof Error)) { - return new haxe_Exception(value.message,null,value); - } else { - return new haxe_ValueException(value,null,value); - } -}; -haxe_Exception.thrown = function(value) { - if(((value) instanceof haxe_Exception)) { - return value.get_native(); - } else if(((value) instanceof Error)) { - return value; - } else { - var e = new haxe_ValueException(value); - return e; - } -}; -haxe_Exception.__super__ = Error; -haxe_Exception.prototype = $extend(Error.prototype,{ - unwrap: function() { - return this.__nativeException; - } - ,get_native: function() { - return this.__nativeException; - } - ,__properties__: {get_native:"get_native"} -}); -var haxe__$Template_TemplateExpr = $hxEnums["haxe._Template.TemplateExpr"] = { __ename__:true,__constructs__:null - ,OpVar: ($_=function(v) { return {_hx_index:0,v:v,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpVar",$_.__params__ = ["v"],$_) - ,OpExpr: ($_=function(expr) { return {_hx_index:1,expr:expr,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpExpr",$_.__params__ = ["expr"],$_) - ,OpIf: ($_=function(expr,eif,eelse) { return {_hx_index:2,expr:expr,eif:eif,eelse:eelse,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpIf",$_.__params__ = ["expr","eif","eelse"],$_) - ,OpStr: ($_=function(str) { return {_hx_index:3,str:str,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpStr",$_.__params__ = ["str"],$_) - ,OpBlock: ($_=function(l) { return {_hx_index:4,l:l,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpBlock",$_.__params__ = ["l"],$_) - ,OpForeach: ($_=function(expr,loop) { return {_hx_index:5,expr:expr,loop:loop,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpForeach",$_.__params__ = ["expr","loop"],$_) - ,OpMacro: ($_=function(name,params) { return {_hx_index:6,name:name,params:params,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpMacro",$_.__params__ = ["name","params"],$_) -}; -haxe__$Template_TemplateExpr.__constructs__ = [haxe__$Template_TemplateExpr.OpVar,haxe__$Template_TemplateExpr.OpExpr,haxe__$Template_TemplateExpr.OpIf,haxe__$Template_TemplateExpr.OpStr,haxe__$Template_TemplateExpr.OpBlock,haxe__$Template_TemplateExpr.OpForeach,haxe__$Template_TemplateExpr.OpMacro]; -var haxe_iterators_ArrayIterator = function(array) { - this.current = 0; - this.array = array; -}; -haxe_iterators_ArrayIterator.__name__ = true; -haxe_iterators_ArrayIterator.prototype = { - hasNext: function() { - return this.current < this.array.length; - } - ,next: function() { - return this.array[this.current++]; - } -}; -var haxe_Template = function(str) { - var tokens = this.parseTokens(str); - this.expr = this.parseBlock(tokens); - if(!tokens.isEmpty()) { - throw haxe_Exception.thrown("Unexpected '" + Std.string(tokens.first().s) + "'"); - } -}; -haxe_Template.__name__ = true; -haxe_Template.prototype = { - execute: function(context,macros) { - this.macros = macros == null ? { } : macros; - this.context = context; - this.stack = new haxe_ds_List(); - this.buf = new StringBuf(); - this.run(this.expr); - return this.buf.b; - } - ,resolve: function(v) { - if(v == "__current__") { - return this.context; - } - if(Reflect.isObject(this.context)) { - var value = Reflect.getProperty(this.context,v); - if(value != null || Object.prototype.hasOwnProperty.call(this.context,v)) { - return value; - } - } - var _g_head = this.stack.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var ctx = val; - var value = Reflect.getProperty(ctx,v); - if(value != null || Object.prototype.hasOwnProperty.call(ctx,v)) { - return value; - } - } - return Reflect.field(haxe_Template.globals,v); - } - ,parseTokens: function(data) { - var tokens = new haxe_ds_List(); - while(haxe_Template.splitter.match(data)) { - var p = haxe_Template.splitter.matchedPos(); - if(p.pos > 0) { - tokens.add({ p : HxOverrides.substr(data,0,p.pos), s : true, l : null}); - } - if(HxOverrides.cca(data,p.pos) == 58) { - tokens.add({ p : HxOverrides.substr(data,p.pos + 2,p.len - 4), s : false, l : null}); - data = haxe_Template.splitter.matchedRight(); - continue; - } - var parp = p.pos + p.len; - var npar = 1; - var params = []; - var part = ""; - while(true) { - var c = HxOverrides.cca(data,parp); - ++parp; - if(c == 40) { - ++npar; - } else if(c == 41) { - --npar; - if(npar <= 0) { - break; - } - } else if(c == null) { - throw haxe_Exception.thrown("Unclosed macro parenthesis"); - } - if(c == 44 && npar == 1) { - params.push(part); - part = ""; - } else { - part += String.fromCodePoint(c); - } - } - params.push(part); - tokens.add({ p : haxe_Template.splitter.matched(2), s : false, l : params}); - data = HxOverrides.substr(data,parp,data.length - parp); - } - if(data.length > 0) { - tokens.add({ p : data, s : true, l : null}); - } - return tokens; - } - ,parseBlock: function(tokens) { - var l = new haxe_ds_List(); - while(true) { - var t = tokens.first(); - if(t == null) { - break; - } - if(!t.s && (t.p == "end" || t.p == "else" || HxOverrides.substr(t.p,0,7) == "elseif ")) { - break; - } - l.add(this.parse(tokens)); - } - if(l.length == 1) { - return l.first(); - } - return haxe__$Template_TemplateExpr.OpBlock(l); - } - ,parse: function(tokens) { - var t = tokens.pop(); - var p = t.p; - if(t.s) { - return haxe__$Template_TemplateExpr.OpStr(p); - } - if(t.l != null) { - var pe = new haxe_ds_List(); - var _g = 0; - var _g1 = t.l; - while(_g < _g1.length) { - var p1 = _g1[_g]; - ++_g; - pe.add(this.parseBlock(this.parseTokens(p1))); - } - return haxe__$Template_TemplateExpr.OpMacro(p,pe); - } - var kwdEnd = function(kwd) { - var pos = -1; - var length = kwd.length; - if(HxOverrides.substr(p,0,length) == kwd) { - pos = length; - var _g_offset = 0; - var _g_s = HxOverrides.substr(p,length,null); - while(_g_offset < _g_s.length) { - var c = _g_s.charCodeAt(_g_offset++); - if(c == 32) { - ++pos; - } else { - break; - } - } - } - return pos; - }; - var pos = kwdEnd("if"); - if(pos > 0) { - p = HxOverrides.substr(p,pos,p.length - pos); - var e = this.parseExpr(p); - var eif = this.parseBlock(tokens); - var t = tokens.first(); - var eelse; - if(t == null) { - throw haxe_Exception.thrown("Unclosed 'if'"); - } - if(t.p == "end") { - tokens.pop(); - eelse = null; - } else if(t.p == "else") { - tokens.pop(); - eelse = this.parseBlock(tokens); - t = tokens.pop(); - if(t == null || t.p != "end") { - throw haxe_Exception.thrown("Unclosed 'else'"); - } - } else { - t.p = HxOverrides.substr(t.p,4,t.p.length - 4); - eelse = this.parse(tokens); - } - return haxe__$Template_TemplateExpr.OpIf(e,eif,eelse); - } - var pos = kwdEnd("foreach"); - if(pos >= 0) { - p = HxOverrides.substr(p,pos,p.length - pos); - var e = this.parseExpr(p); - var efor = this.parseBlock(tokens); - var t = tokens.pop(); - if(t == null || t.p != "end") { - throw haxe_Exception.thrown("Unclosed 'foreach'"); - } - return haxe__$Template_TemplateExpr.OpForeach(e,efor); - } - if(haxe_Template.expr_splitter.match(p)) { - return haxe__$Template_TemplateExpr.OpExpr(this.parseExpr(p)); - } - return haxe__$Template_TemplateExpr.OpVar(p); - } - ,parseExpr: function(data) { - var l = new haxe_ds_List(); - var expr = data; - while(haxe_Template.expr_splitter.match(data)) { - var p = haxe_Template.expr_splitter.matchedPos(); - var k = p.pos + p.len; - if(p.pos != 0) { - l.add({ p : HxOverrides.substr(data,0,p.pos), s : true}); - } - var p1 = haxe_Template.expr_splitter.matched(0); - l.add({ p : p1, s : p1.indexOf("\"") >= 0}); - data = haxe_Template.expr_splitter.matchedRight(); - } - if(data.length != 0) { - var _g_offset = 0; - var _g_s = data; - while(_g_offset < _g_s.length) { - var _g_key = _g_offset; - var _g_value = _g_s.charCodeAt(_g_offset++); - var i = _g_key; - var c = _g_value; - if(c != 32) { - l.add({ p : HxOverrides.substr(data,i,null), s : true}); - break; - } - } - } - var e; - try { - e = this.makeExpr(l); - if(!l.isEmpty()) { - throw haxe_Exception.thrown(l.first().p); - } - } catch( _g ) { - var _g1 = haxe_Exception.caught(_g).unwrap(); - if(typeof(_g1) == "string") { - var s = _g1; - throw haxe_Exception.thrown("Unexpected '" + s + "' in " + expr); - } else { - throw _g; - } - } - return function() { - try { - return e(); - } catch( _g ) { - var exc = haxe_Exception.caught(_g).unwrap(); - throw haxe_Exception.thrown("Error : " + Std.string(exc) + " in " + expr); - } - }; - } - ,makeConst: function(v) { - haxe_Template.expr_trim.match(v); - v = haxe_Template.expr_trim.matched(1); - if(HxOverrides.cca(v,0) == 34) { - var str = HxOverrides.substr(v,1,v.length - 2); - return function() { - return str; - }; - } - if(haxe_Template.expr_int.match(v)) { - var i = Std.parseInt(v); - return function() { - return i; - }; - } - if(haxe_Template.expr_float.match(v)) { - var f = parseFloat(v); - return function() { - return f; - }; - } - var me = this; - return function() { - return me.resolve(v); - }; - } - ,makePath: function(e,l) { - var p = l.first(); - if(p == null || p.p != ".") { - return e; - } - l.pop(); - var field = l.pop(); - if(field == null || !field.s) { - throw haxe_Exception.thrown(field.p); - } - var f = field.p; - haxe_Template.expr_trim.match(f); - f = haxe_Template.expr_trim.matched(1); - return this.makePath(function() { - return Reflect.field(e(),f); - },l); - } - ,makeExpr: function(l) { - return this.makePath(this.makeExpr2(l),l); - } - ,skipSpaces: function(l) { - var p = l.first(); - while(p != null) { - var _g_offset = 0; - var _g_s = p.p; - while(_g_offset < _g_s.length) { - var c = _g_s.charCodeAt(_g_offset++); - if(c != 32) { - return; - } - } - l.pop(); - p = l.first(); - } - } - ,makeExpr2: function(l) { - this.skipSpaces(l); - var p = l.pop(); - this.skipSpaces(l); - if(p == null) { - throw haxe_Exception.thrown(""); - } - if(p.s) { - return this.makeConst(p.p); - } - switch(p.p) { - case "!": - var e = this.makeExpr(l); - return function() { - var v = e(); - if(v != null) { - return v == false; - } else { - return true; - } - }; - case "(": - this.skipSpaces(l); - var e1 = this.makeExpr(l); - this.skipSpaces(l); - var p1 = l.pop(); - if(p1 == null || p1.s) { - throw haxe_Exception.thrown(p1); - } - if(p1.p == ")") { - return e1; - } - this.skipSpaces(l); - var e2 = this.makeExpr(l); - this.skipSpaces(l); - var p2 = l.pop(); - this.skipSpaces(l); - if(p2 == null || p2.p != ")") { - throw haxe_Exception.thrown(p2); - } - switch(p1.p) { - case "!=": - return function() { - return e1() != e2(); - }; - case "&&": - return function() { - return e1() && e2(); - }; - case "*": - return function() { - return e1() * e2(); - }; - case "+": - return function() { - return e1() + e2(); - }; - case "-": - return function() { - return e1() - e2(); - }; - case "/": - return function() { - return e1() / e2(); - }; - case "<": - return function() { - return e1() < e2(); - }; - case "<=": - return function() { - return e1() <= e2(); - }; - case "==": - return function() { - return e1() == e2(); - }; - case ">": - return function() { - return e1() > e2(); - }; - case ">=": - return function() { - return e1() >= e2(); - }; - case "||": - return function() { - return e1() || e2(); - }; - default: - throw haxe_Exception.thrown("Unknown operation " + p1.p); - } - break; - case "-": - var e3 = this.makeExpr(l); - return function() { - return -e3(); - }; - } - throw haxe_Exception.thrown(p.p); - } - ,run: function(e) { - switch(e._hx_index) { - case 0: - var v = e.v; - var _this = this.buf; - var x = Std.string(this.resolve(v)); - _this.b += Std.string(x); - break; - case 1: - var e1 = e.expr; - var _this = this.buf; - var x = Std.string(e1()); - _this.b += Std.string(x); - break; - case 2: - var e1 = e.expr; - var eif = e.eif; - var eelse = e.eelse; - var v = e1(); - if(v == null || v == false) { - if(eelse != null) { - this.run(eelse); - } - } else { - this.run(eif); - } - break; - case 3: - var str = e.str; - this.buf.b += str == null ? "null" : "" + str; - break; - case 4: - var l = e.l; - var _g_head = l.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var e1 = val; - this.run(e1); - } - break; - case 5: - var e1 = e.expr; - var loop = e.loop; - var v = e1(); - try { - var x = $getIterator(v); - if(x.hasNext == null) { - throw haxe_Exception.thrown(null); - } - v = x; - } catch( _g ) { - try { - if(v.hasNext == null) { - throw haxe_Exception.thrown(null); - } - } catch( _g1 ) { - throw haxe_Exception.thrown("Cannot iter on " + Std.string(v)); - } - } - this.stack.push(this.context); - var v1 = v; - var ctx = v1; - while(ctx.hasNext()) { - var ctx1 = ctx.next(); - this.context = ctx1; - this.run(loop); - } - this.context = this.stack.pop(); - break; - case 6: - var m = e.name; - var params = e.params; - var v = Reflect.field(this.macros,m); - var pl = []; - var old = this.buf; - pl.push($bind(this,this.resolve)); - var _g_head = params.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var p = val; - if(p._hx_index == 0) { - var v1 = p.v; - pl.push(this.resolve(v1)); - } else { - this.buf = new StringBuf(); - this.run(p); - pl.push(this.buf.b); - } - } - this.buf = old; - try { - var _this = this.buf; - var x = Std.string(v.apply(this.macros,pl)); - _this.b += Std.string(x); - } catch( _g ) { - var e = haxe_Exception.caught(_g).unwrap(); - var plstr; - try { - plstr = pl.join(","); - } catch( _g1 ) { - plstr = "???"; - } - var msg = "Macro call " + m + "(" + plstr + ") failed (" + Std.string(e) + ")"; - throw haxe_Exception.thrown(msg); - } - break; - } - } -}; -var haxe_ValueException = function(value,previous,native) { - haxe_Exception.call(this,String(value),previous,native); - this.value = value; -}; -haxe_ValueException.__name__ = true; -haxe_ValueException.__super__ = haxe_Exception; -haxe_ValueException.prototype = $extend(haxe_Exception.prototype,{ - unwrap: function() { - return this.value; - } -}); -var haxe_ds_List = function() { - this.length = 0; -}; -haxe_ds_List.__name__ = true; -haxe_ds_List.prototype = { - add: function(item) { - var x = new haxe_ds__$List_ListNode(item,null); - if(this.h == null) { - this.h = x; - } else { - this.q.next = x; - } - this.q = x; - this.length++; - } - ,push: function(item) { - var x = new haxe_ds__$List_ListNode(item,this.h); - this.h = x; - if(this.q == null) { - this.q = x; - } - this.length++; - } - ,first: function() { - if(this.h == null) { - return null; - } else { - return this.h.item; - } - } - ,pop: function() { - if(this.h == null) { - return null; - } - var x = this.h.item; - this.h = this.h.next; - if(this.h == null) { - this.q = null; - } - this.length--; - return x; - } - ,isEmpty: function() { - return this.h == null; - } - ,toString: function() { - var s_b = ""; - var first = true; - var l = this.h; - s_b += "{"; - while(l != null) { - if(first) { - first = false; - } else { - s_b += ", "; - } - s_b += Std.string(Std.string(l.item)); - l = l.next; - } - s_b += "}"; - return s_b; - } -}; -var haxe_ds__$List_ListNode = function(item,next) { - this.item = item; - this.next = next; -}; -haxe_ds__$List_ListNode.__name__ = true; -var js_Boot = function() { }; -js_Boot.__name__ = true; -js_Boot.__string_rec = function(o,s) { - if(o == null) { - return "null"; - } - if(s.length >= 5) { - return "<...>"; - } - var t = typeof(o); - if(t == "function" && (o.__name__ || o.__ename__)) { - t = "object"; - } - switch(t) { - case "function": - return ""; - case "object": - if(o.__enum__) { - var e = $hxEnums[o.__enum__]; - var con = e.__constructs__[o._hx_index]; - var n = con._hx_name; - if(con.__params__) { - s = s + "\t"; - return n + "(" + ((function($this) { - var $r; - var _g = []; - { - var _g1 = 0; - var _g2 = con.__params__; - while(true) { - if(!(_g1 < _g2.length)) { - break; - } - var p = _g2[_g1]; - _g1 = _g1 + 1; - _g.push(js_Boot.__string_rec(o[p],s)); - } - } - $r = _g; - return $r; - }(this))).join(",") + ")"; - } else { - return n; - } - } - if(((o) instanceof Array)) { - var str = "["; - s += "\t"; - var _g = 0; - var _g1 = o.length; - while(_g < _g1) { - var i = _g++; - str += (i > 0 ? "," : "") + js_Boot.__string_rec(o[i],s); - } - str += "]"; - return str; - } - var tostr; - try { - tostr = o.toString; - } catch( _g ) { - return "???"; - } - if(tostr != null && tostr != Object.toString && typeof(tostr) == "function") { - var s2 = o.toString(); - if(s2 != "[object Object]") { - return s2; - } - } - var str = "{\n"; - s += "\t"; - var hasp = o.hasOwnProperty != null; - var k = null; - for( k in o ) { - if(hasp && !o.hasOwnProperty(k)) { - continue; - } - if(k == "prototype" || k == "__class__" || k == "__super__" || k == "__interfaces__" || k == "__properties__") { - continue; - } - if(str.length != 2) { - str += ", \n"; - } - str += s + k + " : " + js_Boot.__string_rec(o[k],s); - } - s = s.substring(1); - str += "\n" + s + "}"; - return str; - case "string": - return o; - default: - return String(o); - } -}; -var xrfragment_Filter = $hx_exports["xrfragment"]["Filter"] = function(str) { - this.q = { }; - this.str = ""; - if(str != null) { - this.parse(str); - } -}; -xrfragment_Filter.__name__ = true; -xrfragment_Filter.prototype = { - toObject: function() { - return Reflect.copy(this.q); - } - ,get: function() { - return Reflect.copy(this.q); - } - ,parse: function(str) { - var token = str.split(" "); - var q = { }; - var process = function(str,prefix) { - if(prefix == null) { - prefix = ""; - } - str = StringTools.trim(str); - var k = str.split("=")[0]; - var v = str.split("=")[1]; - var filter = { }; - if(q[prefix + k]) { - filter = q[prefix + k]; - } - if(xrfragment_XRF.isProp.match(str)) { - var oper = ""; - if(str.indexOf(">") != -1) { - oper = ">"; - } - if(str.indexOf("<") != -1) { - oper = "<"; - } - if(xrfragment_XRF.isExclude.match(k)) { - k = HxOverrides.substr(k,1,null); - } - v = HxOverrides.substr(v,oper.length,null); - if(oper.length == 0) { - oper = "="; - } - var rule = { }; - if(xrfragment_XRF.isNumber.match(v)) { - rule[oper] = parseFloat(v); - } else { - rule[oper] = v; - } - q["expr"] = rule; - } - var value = xrfragment_XRF.isDeep.match(str) ? k.split("*").length - 1 : 0; - q["deep"] = value; - var value = xrfragment_XRF.isExclude.match(str) ? false : true; - q["show"] = value; - var value = k.replace(xrfragment_XRF.operators.r,""); - q["key"] = value; - q["value"] = v; - }; - var _g = 0; - var _g1 = token.length; - while(_g < _g1) { - var i = _g++; - process(token[i]); - } - return this.q = q; - } - ,test: function(obj) { - var qualify = false; - var _g = 0; - var _g1 = Reflect.fields(obj); - while(_g < _g1.length) { - var k = _g1[_g]; - ++_g; - var v = Std.string(Reflect.field(obj,k)); - if(this.testProperty(k,v)) { - qualify = true; - } - } - var _g = 0; - var _g1 = Reflect.fields(obj); - while(_g < _g1.length) { - var k = _g1[_g]; - ++_g; - var v = Std.string(Reflect.field(obj,k)); - if(this.testProperty(k,v,true)) { - qualify = false; - } - } - return qualify; - } - ,testProperty: function(property,value,exclude) { - var conds = 0; - var fails = 0; - var qualify = 0; - var testprop = function(expr) { - conds += 1; - fails += expr ? 0 : 1; - return expr; - }; - if(this.q[value] != null) { - var v = this.q[value]; - if(v[property] != null) { - return v[property]; - } - } - if(Reflect.field(this.q,"expr")) { - var f = Reflect.field(this.q,"expr"); - if(!Reflect.field(this.q,"show")) { - if(Reflect.field(f,"!=") != null && testprop((value == null ? "null" : "" + value) == Std.string(Reflect.field(f,"!="))) && exclude) { - ++qualify; - } - } else { - if(Reflect.field(f,"*") != null && testprop(parseFloat(value) != null)) { - ++qualify; - } - if(Reflect.field(f,">") != null && testprop(parseFloat(value) >= parseFloat(Reflect.field(f,">")))) { - ++qualify; - } - if(Reflect.field(f,"<") != null && testprop(parseFloat(value) <= parseFloat(Reflect.field(f,"<")))) { - ++qualify; - } - if(Reflect.field(f,"=") != null && (testprop(value == Reflect.field(f,"=")) || testprop(parseFloat(value) == parseFloat(Reflect.field(f,"="))))) { - ++qualify; - } - } - } - return qualify > 0; - } -}; -var xrfragment_Parser = $hx_exports["xrfragment"]["Parser"] = function() { }; -xrfragment_Parser.__name__ = true; -xrfragment_Parser.parse = function(key,value,store,index) { - var Frag_h = Object.create(null); - Frag_h["#"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_PREDEFINED_VIEW | xrfragment_XRF.PV_EXECUTE; - Frag_h["src"] = xrfragment_XRF.T_URL; - Frag_h["href"] = xrfragment_XRF.T_URL | xrfragment_XRF.T_PREDEFINED_VIEW; - Frag_h["tag"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["pos"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_VECTOR3 | xrfragment_XRF.T_STRING | xrfragment_XRF.METADATA | xrfragment_XRF.NAVIGATOR; - Frag_h["rot"] = xrfragment_XRF.QUERY_OPERATOR | xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_VECTOR3 | xrfragment_XRF.METADATA | xrfragment_XRF.NAVIGATOR; - Frag_h["t"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_FLOAT | xrfragment_XRF.T_VECTOR2 | xrfragment_XRF.NAVIGATOR | xrfragment_XRF.METADATA; - Frag_h["s"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_MEDIAFRAG; - Frag_h["loop"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_PREDEFINED_VIEW; - Frag_h["uv"] = xrfragment_XRF.T_VECTOR2 | xrfragment_XRF.T_MEDIAFRAG; - Frag_h["namespace"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["SPDX"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["unit"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["description"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - var keyStripped = key.replace(xrfragment_XRF.operators.r,""); - var isPVDynamic = key.length > 0 && !Object.prototype.hasOwnProperty.call(Frag_h,key); - if(isPVDynamic) { - var v = new xrfragment_XRF(key,xrfragment_XRF.PV_EXECUTE | xrfragment_XRF.NAVIGATOR,index); - v.validate(value); - v.flags = xrfragment_XRF.set(xrfragment_XRF.T_DYNAMICKEY,v.flags); - if(!Object.prototype.hasOwnProperty.call(Frag_h,key)) { - v.flags = xrfragment_XRF.set(xrfragment_XRF.CUSTOMFRAG,v.flags); - } - if(value.length == 0) { - v.flags = xrfragment_XRF.set(xrfragment_XRF.T_DYNAMICKEYVALUE,v.flags); - } - store[keyStripped] = v; - return true; - } - var v = new xrfragment_XRF(key,Frag_h[key],index); - if(Object.prototype.hasOwnProperty.call(Frag_h,key)) { - if(!v.validate(value)) { - console.log("src/xrfragment/Parser.hx:67:","⚠ fragment '" + key + "' has incompatible value (" + value + ")"); - return false; - } - store[keyStripped] = v; - if(xrfragment_Parser.debug) { - console.log("src/xrfragment/Parser.hx:71:","✔ " + key + ": " + v.string); - } - } else { - if(typeof(value) == "string") { - v.guessType(v,value); - } - v.flags = xrfragment_XRF.set(xrfragment_XRF.CUSTOMFRAG,v.flags); - store[keyStripped] = v; - } - return true; -}; -xrfragment_Parser.getMetaData = function() { - var meta = { title : ["title","og:title","dc.title"], description : ["aria-description","og:description","dc.description"], author : ["author","dc.creator"], publisher : ["publisher","dc.publisher"], website : ["og:site_name","og:url","dc.publisher"], license : ["SPDX","dc.rights"]}; - return meta; -}; -var xrfragment_URI = $hx_exports["xrfragment"]["URI"] = function() { - this.XRF = { }; - this.hash = { }; - this.fragment = ""; -}; -xrfragment_URI.__name__ = true; -xrfragment_URI.parseFragment = function(url,filter) { - var store = { }; - if(url == null || url.indexOf("#") == -1) { - return store; - } - var fragment = url.split("#"); - var splitArray = fragment[1].split("&"); - var _g = 0; - var _g1 = splitArray.length; - while(_g < _g1) { - var i = _g++; - var splitByEqual = splitArray[i].split("="); - var regexPlus = new EReg("\\+","g"); - var key = splitByEqual[0]; - var value = ""; - if(splitByEqual.length > 1) { - if(xrfragment_XRF.isVector.match(splitByEqual[1])) { - value = splitByEqual[1]; - } else { - var s = regexPlus.split(splitByEqual[1]).join(" "); - value = decodeURIComponent(s.split("+").join(" ")); - } - } - var ok = xrfragment_Parser.parse(key,value,store,i); - } - if(filter != null && filter != 0) { - var _g = 0; - var _g1 = Reflect.fields(store); - while(_g < _g1.length) { - var key = _g1[_g]; - ++_g; - var xrf = store[key]; - if(!xrf.is(filter)) { - Reflect.deleteField(store,key); - } - } - } - return store; -}; -xrfragment_URI.template = function(uri,vars) { - var parts = uri.split("#"); - if(parts.length == 1) { - return uri; - } - var frag = parts[1]; - frag = StringTools.replace(frag,"{","::"); - frag = StringTools.replace(frag,"}","::"); - frag = new haxe_Template(frag).execute(vars); - frag = StringTools.replace(frag,"null",""); - parts[1] = frag; - return parts.join("#"); -}; -xrfragment_URI.parse = function(stringUrl,flags) { - var r = new EReg("^(?:(?![^:@]+:[^:@/]*@)([^:/?#.]+):)?(?://)?((?:(([^:@]*)(?::([^:@]*))?)?@)?([^:/?#]*)(?::(\\d*))?)(((/(?:[^?#](?![^?#/]*\\.[^?#/.]+(?:[?#]|$)))*/?)?([^?#/]*))(?:\\?([^#]*))?(?:#(.*))?)",""); - if(stringUrl.indexOf("://") == -1 && stringUrl.charAt(0) != "/") { - stringUrl = "/" + stringUrl; - } - r.match(stringUrl); - var url = new xrfragment_URI(); - var _g = 0; - var _g1 = xrfragment_URI._parts.length; - while(_g < _g1) { - var i = _g++; - url[xrfragment_URI._parts[i]] = r.matched(i); - } - if(xrfragment_URI.isRelative(url) == true) { - if(url.directory == null && url.host != null) { - url.file = url.host; - } - url.host = ""; - } - url.hash = { }; - if(url.fragment != null && url.fragment.length > 0) { - url.XRF = xrfragment_URI.parseFragment("#" + url.fragment,flags); - var key; - var _g = 0; - var _g1 = Reflect.fields(url.XRF); - while(_g < _g1.length) { - var key = _g1[_g]; - ++_g; - var v = url.XRF[key]; - url.hash[key] = v["string"]; - } - } - xrfragment_URI.computeVars(url); - return url; -}; -xrfragment_URI.computeVars = function(url) { - var r_r = new RegExp("//","g".split("u").join("")); - if(url.directory != null && url.directory.indexOf("//") != -1) { - url.directory = url.directory.replace(r_r,"/"); - } - if(url.path != null && url.path.indexOf("//") != -1) { - url.path = url.path.replace(r_r,"/"); - } - if(url.file != null && url.file.indexOf("//") != -1) { - url.file = url.file.replace(r_r,"/"); - } - url.URN = url.scheme + "://" + url.host; - if(url.port != null) { - url.URN += ":" + url.port; - } - url.URN += url.directory; - if(url.file != null) { - var parts = url.file.split("."); - if(parts.length > 1) { - url.fileExt = parts.pop(); - } - } -}; -xrfragment_URI.toString = function(url) { - var result = ""; - if(url.scheme != null) { - result += url.scheme + "://"; - } - if(url.user != null) { - result += url.user + ":"; - } - if(url.password != null) { - result += url.password + "@"; - } - if(url.host != null) { - result += url.host; - } - if(url.port != null) { - result += ":" + url.port; - } - if(url.directory != null) { - result += url.directory; - } - if(url.file != null) { - result += url.file; - } - if(url.query != null) { - result += "?" + url.query; - } - if(url.fragment != null) { - result += "#" + url.fragment; - } - return result; -}; -xrfragment_URI.appendURI = function(url,appendedURI) { - if(xrfragment_URI.isRelative(url) == true) { - return xrfragment_URI.appendToRelativeURI(url,appendedURI); - } else { - return xrfragment_URI.appendToAbsoluteURI(url,appendedURI); - } -}; -xrfragment_URI.isRelative = function(url) { - return url.scheme == null; -}; -xrfragment_URI.appendToRelativeURI = function(url,appendedURI) { - if(url.directory == null || url.host == null) { - return xrfragment_URI.cloneURI(appendedURI); - } - var resultURI = new xrfragment_URI(); - resultURI.host = url.host; - resultURI.directory = url.directory; - if(appendedURI.host != null) { - resultURI.directory += appendedURI.host; - } - if(appendedURI.directory != null) { - var directory = appendedURI.directory; - if(appendedURI.host == null) { - resultURI.directory += HxOverrides.substr(directory,1,null); - } else { - resultURI.directory += directory; - } - } - if(appendedURI.file != null) { - resultURI.file = appendedURI.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(appendedURI.query != null) { - resultURI.query = appendedURI.query; - } - if(appendedURI.fragment != null) { - resultURI.fragment = appendedURI.fragment; - } - return resultURI; -}; -xrfragment_URI.appendToAbsoluteURI = function(url,appendedURI) { - var resultURI = new xrfragment_URI(); - if(url.scheme != null) { - resultURI.scheme = url.scheme; - } - if(url.host != null) { - resultURI.host = url.host; - } - var directory = ""; - if(url.directory != null) { - directory = url.directory; - } - if(appendedURI.host != null) { - appendedURI.directory += appendedURI.host; - } - if(appendedURI.directory != null) { - directory += appendedURI.directory; - } - resultURI.directory = directory; - if(appendedURI.file != null) { - resultURI.file = appendedURI.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(appendedURI.query != null) { - resultURI.query = appendedURI.query; - } - if(appendedURI.fragment != null) { - resultURI.fragment = appendedURI.fragment; - } - return resultURI; -}; -xrfragment_URI.toAbsolute = function(url,newUrl) { - var newURI = xrfragment_URI.parse(newUrl,0); - var resultURI = new xrfragment_URI(); - resultURI.port = url.port; - resultURI.source = newUrl; - if(newURI.scheme != null) { - resultURI.scheme = newURI.scheme; - } else { - resultURI.scheme = url.scheme; - } - if(newURI.host != null && newURI.host.length > 0) { - resultURI.host = newURI.host; - resultURI.port = null; - resultURI.fragment = null; - resultURI.hash = { }; - resultURI.XRF = { }; - if(newURI.port != null) { - resultURI.port = newURI.port; - } - } else { - resultURI.host = url.host; - } - var directory = ""; - if(url.directory != null) { - directory = url.directory; - } - if(newURI.directory != null) { - if(newUrl.charAt(0) != "/" && newUrl.indexOf("://") == -1) { - var stripRelative_r = new RegExp("\\./.*","".split("u").join("")); - directory = directory.replace(stripRelative_r,""); - directory += newURI.directory; - } else { - directory = newURI.directory; - } - } - resultURI.directory = directory; - if(newURI.file != null) { - resultURI.file = newURI.file; - } else { - resultURI.file = url.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(newURI.query != null) { - resultURI.query = newURI.query; - } - if(newURI.fragment != null) { - resultURI.fragment = newURI.fragment; - } - resultURI.hash = newURI.hash; - resultURI.XRF = newURI.XRF; - xrfragment_URI.computeVars(resultURI); - return resultURI; -}; -xrfragment_URI.cloneURI = function(url) { - var clonedURI = new xrfragment_URI(); - clonedURI.url = url.url; - clonedURI.source = url.source; - clonedURI.scheme = url.scheme; - clonedURI.authority = url.authority; - clonedURI.userInfo = url.userInfo; - clonedURI.password = url.password; - clonedURI.host = url.host; - clonedURI.port = url.port; - clonedURI.relative = url.relative; - clonedURI.path = url.path; - clonedURI.directory = url.directory; - clonedURI.file = url.file; - clonedURI.query = url.query; - clonedURI.fragment = url.fragment; - return clonedURI; -}; -var xrfragment_XRF = $hx_exports["xrfragment"]["XRF"] = function(_fragment,_flags,_index) { - this.floats = []; - this.shift = []; - this.fragment = _fragment; - this.flags = _flags; - this.index = _index; -}; -xrfragment_XRF.__name__ = true; -xrfragment_XRF.set = function(flag,flags) { - return flags | flag; -}; -xrfragment_XRF.unset = function(flag,flags) { - return flags & ~flag; -}; -xrfragment_XRF.prototype = { - is: function(flag) { - var v = this.flags; - if(!(typeof(v) == "number" && ((v | 0) === v))) { - this.flags = 0; - } - return (this.flags & flag) != 0; - } - ,validate: function(value) { - this.guessType(this,value); - var ok = true; - if(value.length == 0 && !this.is(xrfragment_XRF.T_PREDEFINED_VIEW)) { - ok = false; - } - if(!this.is(xrfragment_XRF.T_FLOAT) && this.is(xrfragment_XRF.T_VECTOR2) && !(typeof(this.x) == "number" && typeof(this.y) == "number")) { - ok = false; - } - if(!(this.is(xrfragment_XRF.T_VECTOR2) || this.is(xrfragment_XRF.T_STRING)) && this.is(xrfragment_XRF.T_VECTOR3) && !(typeof(this.x) == "number" && typeof(this.y) == "number" && typeof(this.z) == "number")) { - ok = false; - } - return ok; - } - ,guessType: function(v,str) { - v.string = str; - if(xrfragment_XRF.isReset.match(v.fragment)) { - v.reset = true; - } - if(v.fragment == "loop") { - v.loop = true; - } - if(typeof(str) != "string") { - return; - } - if(str.length > 0) { - if(xrfragment_XRF.isXRFScheme.match(str)) { - v.xrfScheme = true; - str = str.replace(xrfragment_XRF.isXRFScheme.r,""); - v.string = str; - } - if(str.split(",").length > 1) { - var xyzn = str.split(","); - if(xyzn.length > 0) { - v.x = parseFloat(xyzn[0]); - } - if(xyzn.length > 1) { - v.y = parseFloat(xyzn[1]); - } - if(xyzn.length > 2) { - v.z = parseFloat(xyzn[2]); - } - var _g = 0; - var _g1 = xyzn.length; - while(_g < _g1) { - var i = _g++; - v.shift.push(xrfragment_XRF.isShift.match(xyzn[i])); - v.floats.push(parseFloat(xyzn[i].replace(xrfragment_XRF.isShift.r,""))); - } - } - if(xrfragment_XRF.isColor.match(str)) { - v.color = str; - } - if(xrfragment_XRF.isFloat.match(str)) { - v.x = parseFloat(str); - v.float = v.x; - } - if(xrfragment_XRF.isInt.match(str)) { - v.int = Std.parseInt(str); - v.x = v.int; - v.floats.push(v.x); - } - v.filter = new xrfragment_Filter(v.fragment + "=" + v.string); - } else { - v.filter = new xrfragment_Filter(v.fragment); - } - } -}; -function $getIterator(o) { if( o instanceof Array ) return new haxe_iterators_ArrayIterator(o); else return o.iterator(); } -function $bind(o,m) { if( m == null ) return null; if( m.__id__ == null ) m.__id__ = $global.$haxeUID++; var f; if( o.hx__closures__ == null ) o.hx__closures__ = {}; else f = o.hx__closures__[m.__id__]; if( f == null ) { f = m.bind(o); o.hx__closures__[m.__id__] = f; } return f; } -$global.$haxeUID |= 0; -if(typeof(performance) != "undefined" ? typeof(performance.now) == "function" : false) { - HxOverrides.now = performance.now.bind(performance); -} -if( String.fromCodePoint == null ) String.fromCodePoint = function(c) { return c < 0x10000 ? String.fromCharCode(c) : String.fromCharCode((c>>10)+0xD7C0)+String.fromCharCode((c&0x3FF)+0xDC00); } -String.__name__ = true; -Array.__name__ = true; -js_Boot.__toStr = ({ }).toString; -haxe_Template.splitter = new EReg("(::[A-Za-z0-9_ ()&|!+=/><*.\"-]+::|\\$\\$([A-Za-z0-9_-]+)\\()",""); -haxe_Template.expr_splitter = new EReg("(\\(|\\)|[ \r\n\t]*\"[^\"]*\"[ \r\n\t]*|[!+=/><*.&|-]+)",""); -haxe_Template.expr_trim = new EReg("^[ ]*([^ ]+)[ ]*$",""); -haxe_Template.expr_int = new EReg("^[0-9]+$",""); -haxe_Template.expr_float = new EReg("^([+-]?)(?=\\d|,\\d)\\d*(,\\d*)?([Ee]([+-]?\\d+))?$",""); -haxe_Template.globals = { }; -haxe_Template.hxKeepArrayIterator = new haxe_iterators_ArrayIterator([]); -xrfragment_Parser.error = ""; -xrfragment_Parser.debug = false; -xrfragment_URI.__meta__ = { statics : { template : { keep : null}}}; -xrfragment_URI._parts = ["source","scheme","authority","userInfo","user","password","host","port","relative","path","directory","file","query","fragment"]; -xrfragment_XRF.IMMUTABLE = 1; -xrfragment_XRF.PROP_BIND = 2; -xrfragment_XRF.QUERY_OPERATOR = 4; -xrfragment_XRF.PROMPT = 8; -xrfragment_XRF.CUSTOMFRAG = 16; -xrfragment_XRF.NAVIGATOR = 32; -xrfragment_XRF.METADATA = 64; -xrfragment_XRF.PV_OVERRIDE = 128; -xrfragment_XRF.PV_EXECUTE = 256; -xrfragment_XRF.T_COLOR = 8192; -xrfragment_XRF.T_INT = 16384; -xrfragment_XRF.T_FLOAT = 32768; -xrfragment_XRF.T_VECTOR2 = 65536; -xrfragment_XRF.T_VECTOR3 = 131072; -xrfragment_XRF.T_URL = 262144; -xrfragment_XRF.T_PREDEFINED_VIEW = 524288; -xrfragment_XRF.T_STRING = 1048576; -xrfragment_XRF.T_MEDIAFRAG = 2097152; -xrfragment_XRF.T_DYNAMICKEY = 4194304; -xrfragment_XRF.T_DYNAMICKEYVALUE = 8388608; -xrfragment_XRF.isColor = new EReg("^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$",""); -xrfragment_XRF.isInt = new EReg("^[-0-9]+$",""); -xrfragment_XRF.isFloat = new EReg("^[-0-9]+\\.[0-9]+$",""); -xrfragment_XRF.isVector = new EReg("([,]+|\\w)",""); -xrfragment_XRF.isUrl = new EReg("(://)?\\..*",""); -xrfragment_XRF.isUrlOrPretypedView = new EReg("(^#|://)?\\..*",""); -xrfragment_XRF.isString = new EReg(".*",""); -xrfragment_XRF.operators = new EReg("(^[-]|^[!]|[\\*]$)","g"); -xrfragment_XRF.isProp = new EReg("^.*=[><=]?",""); -xrfragment_XRF.isExclude = new EReg("^-",""); -xrfragment_XRF.isDeep = new EReg("\\*",""); -xrfragment_XRF.isNumber = new EReg("^[0-9\\.]+$",""); -xrfragment_XRF.isMediaFrag = new EReg("^([0-9\\.,\\*+-]+)$",""); -xrfragment_XRF.isReset = new EReg("^!",""); -xrfragment_XRF.isShift = new EReg("^(\\+|--)",""); -xrfragment_XRF.isXRFScheme = new EReg("^xrf://",""); -})(typeof window != "undefined" ? window : typeof global != "undefined" ? global : typeof self != "undefined" ? self : this); -var xrfragment = $hx_exports["xrfragment"]; -export default xrfragment; -// Generated by Haxe 4.3.3 -var $hx_exports = typeof exports != "undefined" ? exports : typeof window != "undefined" ? window : typeof self != "undefined" ? self : this; -(function ($global) { "use strict"; -$hx_exports["xrfragment"] = $hx_exports["xrfragment"] || {}; -var $estr = function() { return js_Boot.__string_rec(this,''); },$hxEnums = $hxEnums || {},$_; -function $extend(from, fields) { - var proto = Object.create(from); - for (var name in fields) proto[name] = fields[name]; - if( fields.toString !== Object.prototype.toString ) proto.toString = fields.toString; - return proto; -} -var EReg = function(r,opt) { - this.r = new RegExp(r,opt.split("u").join("")); -}; -EReg.__name__ = true; -EReg.prototype = { - match: function(s) { - if(this.r.global) { - this.r.lastIndex = 0; - } - this.r.m = this.r.exec(s); - this.r.s = s; - return this.r.m != null; - } - ,matched: function(n) { - if(this.r.m != null && n >= 0 && n < this.r.m.length) { - return this.r.m[n]; - } else { - throw haxe_Exception.thrown("EReg::matched"); - } - } - ,matchedRight: function() { - if(this.r.m == null) { - throw haxe_Exception.thrown("No string matched"); - } - var sz = this.r.m.index + this.r.m[0].length; - return HxOverrides.substr(this.r.s,sz,this.r.s.length - sz); - } - ,matchedPos: function() { - if(this.r.m == null) { - throw haxe_Exception.thrown("No string matched"); - } - return { pos : this.r.m.index, len : this.r.m[0].length}; - } - ,split: function(s) { - var d = "#__delim__#"; - return s.replace(this.r,d).split(d); - } -}; -var HxOverrides = function() { }; -HxOverrides.__name__ = true; -HxOverrides.cca = function(s,index) { - var x = s.charCodeAt(index); - if(x != x) { - return undefined; - } - return x; -}; -HxOverrides.substr = function(s,pos,len) { - if(len == null) { - len = s.length; - } else if(len < 0) { - if(pos == 0) { - len = s.length + len; - } else { - return ""; - } - } - return s.substr(pos,len); -}; -HxOverrides.now = function() { - return Date.now(); -}; -Math.__name__ = true; -var Reflect = function() { }; -Reflect.__name__ = true; -Reflect.field = function(o,field) { - try { - return o[field]; - } catch( _g ) { - return null; - } -}; -Reflect.getProperty = function(o,field) { - var tmp; - if(o == null) { - return null; - } else { - var tmp1; - if(o.__properties__) { - tmp = o.__properties__["get_" + field]; - tmp1 = tmp; - } else { - tmp1 = false; - } - if(tmp1) { - return o[tmp](); - } else { - return o[field]; - } - } -}; -Reflect.fields = function(o) { - var a = []; - if(o != null) { - var hasOwnProperty = Object.prototype.hasOwnProperty; - for( var f in o ) { - if(f != "__id__" && f != "hx__closures__" && hasOwnProperty.call(o,f)) { - a.push(f); - } - } - } - return a; -}; -Reflect.isObject = function(v) { - if(v == null) { - return false; - } - var t = typeof(v); - if(!(t == "string" || t == "object" && v.__enum__ == null)) { - if(t == "function") { - return (v.__name__ || v.__ename__) != null; - } else { - return false; - } - } else { - return true; - } -}; -Reflect.deleteField = function(o,field) { - if(!Object.prototype.hasOwnProperty.call(o,field)) { - return false; - } - delete(o[field]); - return true; -}; -Reflect.copy = function(o) { - if(o == null) { - return null; - } - var o2 = { }; - var _g = 0; - var _g1 = Reflect.fields(o); - while(_g < _g1.length) { - var f = _g1[_g]; - ++_g; - o2[f] = Reflect.field(o,f); - } - return o2; -}; -var Std = function() { }; -Std.__name__ = true; -Std.string = function(s) { - return js_Boot.__string_rec(s,""); -}; -Std.parseInt = function(x) { - var v = parseInt(x); - if(isNaN(v)) { - return null; - } - return v; -}; -var StringBuf = function() { - this.b = ""; -}; -StringBuf.__name__ = true; -var StringTools = function() { }; -StringTools.__name__ = true; -StringTools.isSpace = function(s,pos) { - var c = HxOverrides.cca(s,pos); - if(!(c > 8 && c < 14)) { - return c == 32; - } else { - return true; - } -}; -StringTools.ltrim = function(s) { - var l = s.length; - var r = 0; - while(r < l && StringTools.isSpace(s,r)) ++r; - if(r > 0) { - return HxOverrides.substr(s,r,l - r); - } else { - return s; - } -}; -StringTools.rtrim = function(s) { - var l = s.length; - var r = 0; - while(r < l && StringTools.isSpace(s,l - r - 1)) ++r; - if(r > 0) { - return HxOverrides.substr(s,0,l - r); - } else { - return s; - } -}; -StringTools.trim = function(s) { - return StringTools.ltrim(StringTools.rtrim(s)); -}; -StringTools.replace = function(s,sub,by) { - return s.split(sub).join(by); -}; -var haxe_Exception = function(message,previous,native) { - Error.call(this,message); - this.message = message; - this.__previousException = previous; - this.__nativeException = native != null ? native : this; -}; -haxe_Exception.__name__ = true; -haxe_Exception.caught = function(value) { - if(((value) instanceof haxe_Exception)) { - return value; - } else if(((value) instanceof Error)) { - return new haxe_Exception(value.message,null,value); - } else { - return new haxe_ValueException(value,null,value); - } -}; -haxe_Exception.thrown = function(value) { - if(((value) instanceof haxe_Exception)) { - return value.get_native(); - } else if(((value) instanceof Error)) { - return value; - } else { - var e = new haxe_ValueException(value); - return e; - } -}; -haxe_Exception.__super__ = Error; -haxe_Exception.prototype = $extend(Error.prototype,{ - unwrap: function() { - return this.__nativeException; - } - ,get_native: function() { - return this.__nativeException; - } - ,__properties__: {get_native:"get_native"} -}); -var haxe__$Template_TemplateExpr = $hxEnums["haxe._Template.TemplateExpr"] = { __ename__:true,__constructs__:null - ,OpVar: ($_=function(v) { return {_hx_index:0,v:v,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpVar",$_.__params__ = ["v"],$_) - ,OpExpr: ($_=function(expr) { return {_hx_index:1,expr:expr,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpExpr",$_.__params__ = ["expr"],$_) - ,OpIf: ($_=function(expr,eif,eelse) { return {_hx_index:2,expr:expr,eif:eif,eelse:eelse,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpIf",$_.__params__ = ["expr","eif","eelse"],$_) - ,OpStr: ($_=function(str) { return {_hx_index:3,str:str,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpStr",$_.__params__ = ["str"],$_) - ,OpBlock: ($_=function(l) { return {_hx_index:4,l:l,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpBlock",$_.__params__ = ["l"],$_) - ,OpForeach: ($_=function(expr,loop) { return {_hx_index:5,expr:expr,loop:loop,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpForeach",$_.__params__ = ["expr","loop"],$_) - ,OpMacro: ($_=function(name,params) { return {_hx_index:6,name:name,params:params,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpMacro",$_.__params__ = ["name","params"],$_) -}; -haxe__$Template_TemplateExpr.__constructs__ = [haxe__$Template_TemplateExpr.OpVar,haxe__$Template_TemplateExpr.OpExpr,haxe__$Template_TemplateExpr.OpIf,haxe__$Template_TemplateExpr.OpStr,haxe__$Template_TemplateExpr.OpBlock,haxe__$Template_TemplateExpr.OpForeach,haxe__$Template_TemplateExpr.OpMacro]; -var haxe_iterators_ArrayIterator = function(array) { - this.current = 0; - this.array = array; -}; -haxe_iterators_ArrayIterator.__name__ = true; -haxe_iterators_ArrayIterator.prototype = { - hasNext: function() { - return this.current < this.array.length; - } - ,next: function() { - return this.array[this.current++]; - } -}; -var haxe_Template = function(str) { - var tokens = this.parseTokens(str); - this.expr = this.parseBlock(tokens); - if(!tokens.isEmpty()) { - throw haxe_Exception.thrown("Unexpected '" + Std.string(tokens.first().s) + "'"); - } -}; -haxe_Template.__name__ = true; -haxe_Template.prototype = { - execute: function(context,macros) { - this.macros = macros == null ? { } : macros; - this.context = context; - this.stack = new haxe_ds_List(); - this.buf = new StringBuf(); - this.run(this.expr); - return this.buf.b; - } - ,resolve: function(v) { - if(v == "__current__") { - return this.context; - } - if(Reflect.isObject(this.context)) { - var value = Reflect.getProperty(this.context,v); - if(value != null || Object.prototype.hasOwnProperty.call(this.context,v)) { - return value; - } - } - var _g_head = this.stack.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var ctx = val; - var value = Reflect.getProperty(ctx,v); - if(value != null || Object.prototype.hasOwnProperty.call(ctx,v)) { - return value; - } - } - return Reflect.field(haxe_Template.globals,v); - } - ,parseTokens: function(data) { - var tokens = new haxe_ds_List(); - while(haxe_Template.splitter.match(data)) { - var p = haxe_Template.splitter.matchedPos(); - if(p.pos > 0) { - tokens.add({ p : HxOverrides.substr(data,0,p.pos), s : true, l : null}); - } - if(HxOverrides.cca(data,p.pos) == 58) { - tokens.add({ p : HxOverrides.substr(data,p.pos + 2,p.len - 4), s : false, l : null}); - data = haxe_Template.splitter.matchedRight(); - continue; - } - var parp = p.pos + p.len; - var npar = 1; - var params = []; - var part = ""; - while(true) { - var c = HxOverrides.cca(data,parp); - ++parp; - if(c == 40) { - ++npar; - } else if(c == 41) { - --npar; - if(npar <= 0) { - break; - } - } else if(c == null) { - throw haxe_Exception.thrown("Unclosed macro parenthesis"); - } - if(c == 44 && npar == 1) { - params.push(part); - part = ""; - } else { - part += String.fromCodePoint(c); - } - } - params.push(part); - tokens.add({ p : haxe_Template.splitter.matched(2), s : false, l : params}); - data = HxOverrides.substr(data,parp,data.length - parp); - } - if(data.length > 0) { - tokens.add({ p : data, s : true, l : null}); - } - return tokens; - } - ,parseBlock: function(tokens) { - var l = new haxe_ds_List(); - while(true) { - var t = tokens.first(); - if(t == null) { - break; - } - if(!t.s && (t.p == "end" || t.p == "else" || HxOverrides.substr(t.p,0,7) == "elseif ")) { - break; - } - l.add(this.parse(tokens)); - } - if(l.length == 1) { - return l.first(); - } - return haxe__$Template_TemplateExpr.OpBlock(l); - } - ,parse: function(tokens) { - var t = tokens.pop(); - var p = t.p; - if(t.s) { - return haxe__$Template_TemplateExpr.OpStr(p); - } - if(t.l != null) { - var pe = new haxe_ds_List(); - var _g = 0; - var _g1 = t.l; - while(_g < _g1.length) { - var p1 = _g1[_g]; - ++_g; - pe.add(this.parseBlock(this.parseTokens(p1))); - } - return haxe__$Template_TemplateExpr.OpMacro(p,pe); - } - var kwdEnd = function(kwd) { - var pos = -1; - var length = kwd.length; - if(HxOverrides.substr(p,0,length) == kwd) { - pos = length; - var _g_offset = 0; - var _g_s = HxOverrides.substr(p,length,null); - while(_g_offset < _g_s.length) { - var c = _g_s.charCodeAt(_g_offset++); - if(c == 32) { - ++pos; - } else { - break; - } - } - } - return pos; - }; - var pos = kwdEnd("if"); - if(pos > 0) { - p = HxOverrides.substr(p,pos,p.length - pos); - var e = this.parseExpr(p); - var eif = this.parseBlock(tokens); - var t = tokens.first(); - var eelse; - if(t == null) { - throw haxe_Exception.thrown("Unclosed 'if'"); - } - if(t.p == "end") { - tokens.pop(); - eelse = null; - } else if(t.p == "else") { - tokens.pop(); - eelse = this.parseBlock(tokens); - t = tokens.pop(); - if(t == null || t.p != "end") { - throw haxe_Exception.thrown("Unclosed 'else'"); - } - } else { - t.p = HxOverrides.substr(t.p,4,t.p.length - 4); - eelse = this.parse(tokens); - } - return haxe__$Template_TemplateExpr.OpIf(e,eif,eelse); - } - var pos = kwdEnd("foreach"); - if(pos >= 0) { - p = HxOverrides.substr(p,pos,p.length - pos); - var e = this.parseExpr(p); - var efor = this.parseBlock(tokens); - var t = tokens.pop(); - if(t == null || t.p != "end") { - throw haxe_Exception.thrown("Unclosed 'foreach'"); - } - return haxe__$Template_TemplateExpr.OpForeach(e,efor); - } - if(haxe_Template.expr_splitter.match(p)) { - return haxe__$Template_TemplateExpr.OpExpr(this.parseExpr(p)); - } - return haxe__$Template_TemplateExpr.OpVar(p); - } - ,parseExpr: function(data) { - var l = new haxe_ds_List(); - var expr = data; - while(haxe_Template.expr_splitter.match(data)) { - var p = haxe_Template.expr_splitter.matchedPos(); - var k = p.pos + p.len; - if(p.pos != 0) { - l.add({ p : HxOverrides.substr(data,0,p.pos), s : true}); - } - var p1 = haxe_Template.expr_splitter.matched(0); - l.add({ p : p1, s : p1.indexOf("\"") >= 0}); - data = haxe_Template.expr_splitter.matchedRight(); - } - if(data.length != 0) { - var _g_offset = 0; - var _g_s = data; - while(_g_offset < _g_s.length) { - var _g_key = _g_offset; - var _g_value = _g_s.charCodeAt(_g_offset++); - var i = _g_key; - var c = _g_value; - if(c != 32) { - l.add({ p : HxOverrides.substr(data,i,null), s : true}); - break; - } - } - } - var e; - try { - e = this.makeExpr(l); - if(!l.isEmpty()) { - throw haxe_Exception.thrown(l.first().p); - } - } catch( _g ) { - var _g1 = haxe_Exception.caught(_g).unwrap(); - if(typeof(_g1) == "string") { - var s = _g1; - throw haxe_Exception.thrown("Unexpected '" + s + "' in " + expr); - } else { - throw _g; - } - } - return function() { - try { - return e(); - } catch( _g ) { - var exc = haxe_Exception.caught(_g).unwrap(); - throw haxe_Exception.thrown("Error : " + Std.string(exc) + " in " + expr); - } - }; - } - ,makeConst: function(v) { - haxe_Template.expr_trim.match(v); - v = haxe_Template.expr_trim.matched(1); - if(HxOverrides.cca(v,0) == 34) { - var str = HxOverrides.substr(v,1,v.length - 2); - return function() { - return str; - }; - } - if(haxe_Template.expr_int.match(v)) { - var i = Std.parseInt(v); - return function() { - return i; - }; - } - if(haxe_Template.expr_float.match(v)) { - var f = parseFloat(v); - return function() { - return f; - }; - } - var me = this; - return function() { - return me.resolve(v); - }; - } - ,makePath: function(e,l) { - var p = l.first(); - if(p == null || p.p != ".") { - return e; - } - l.pop(); - var field = l.pop(); - if(field == null || !field.s) { - throw haxe_Exception.thrown(field.p); - } - var f = field.p; - haxe_Template.expr_trim.match(f); - f = haxe_Template.expr_trim.matched(1); - return this.makePath(function() { - return Reflect.field(e(),f); - },l); - } - ,makeExpr: function(l) { - return this.makePath(this.makeExpr2(l),l); - } - ,skipSpaces: function(l) { - var p = l.first(); - while(p != null) { - var _g_offset = 0; - var _g_s = p.p; - while(_g_offset < _g_s.length) { - var c = _g_s.charCodeAt(_g_offset++); - if(c != 32) { - return; - } - } - l.pop(); - p = l.first(); - } - } - ,makeExpr2: function(l) { - this.skipSpaces(l); - var p = l.pop(); - this.skipSpaces(l); - if(p == null) { - throw haxe_Exception.thrown(""); - } - if(p.s) { - return this.makeConst(p.p); - } - switch(p.p) { - case "!": - var e = this.makeExpr(l); - return function() { - var v = e(); - if(v != null) { - return v == false; - } else { - return true; - } - }; - case "(": - this.skipSpaces(l); - var e1 = this.makeExpr(l); - this.skipSpaces(l); - var p1 = l.pop(); - if(p1 == null || p1.s) { - throw haxe_Exception.thrown(p1); - } - if(p1.p == ")") { - return e1; - } - this.skipSpaces(l); - var e2 = this.makeExpr(l); - this.skipSpaces(l); - var p2 = l.pop(); - this.skipSpaces(l); - if(p2 == null || p2.p != ")") { - throw haxe_Exception.thrown(p2); - } - switch(p1.p) { - case "!=": - return function() { - return e1() != e2(); - }; - case "&&": - return function() { - return e1() && e2(); - }; - case "*": - return function() { - return e1() * e2(); - }; - case "+": - return function() { - return e1() + e2(); - }; - case "-": - return function() { - return e1() - e2(); - }; - case "/": - return function() { - return e1() / e2(); - }; - case "<": - return function() { - return e1() < e2(); - }; - case "<=": - return function() { - return e1() <= e2(); - }; - case "==": - return function() { - return e1() == e2(); - }; - case ">": - return function() { - return e1() > e2(); - }; - case ">=": - return function() { - return e1() >= e2(); - }; - case "||": - return function() { - return e1() || e2(); - }; - default: - throw haxe_Exception.thrown("Unknown operation " + p1.p); - } - break; - case "-": - var e3 = this.makeExpr(l); - return function() { - return -e3(); - }; - } - throw haxe_Exception.thrown(p.p); - } - ,run: function(e) { - switch(e._hx_index) { - case 0: - var v = e.v; - var _this = this.buf; - var x = Std.string(this.resolve(v)); - _this.b += Std.string(x); - break; - case 1: - var e1 = e.expr; - var _this = this.buf; - var x = Std.string(e1()); - _this.b += Std.string(x); - break; - case 2: - var e1 = e.expr; - var eif = e.eif; - var eelse = e.eelse; - var v = e1(); - if(v == null || v == false) { - if(eelse != null) { - this.run(eelse); - } - } else { - this.run(eif); - } - break; - case 3: - var str = e.str; - this.buf.b += str == null ? "null" : "" + str; - break; - case 4: - var l = e.l; - var _g_head = l.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var e1 = val; - this.run(e1); - } - break; - case 5: - var e1 = e.expr; - var loop = e.loop; - var v = e1(); - try { - var x = $getIterator(v); - if(x.hasNext == null) { - throw haxe_Exception.thrown(null); - } - v = x; - } catch( _g ) { - try { - if(v.hasNext == null) { - throw haxe_Exception.thrown(null); - } - } catch( _g1 ) { - throw haxe_Exception.thrown("Cannot iter on " + Std.string(v)); - } - } - this.stack.push(this.context); - var v1 = v; - var ctx = v1; - while(ctx.hasNext()) { - var ctx1 = ctx.next(); - this.context = ctx1; - this.run(loop); - } - this.context = this.stack.pop(); - break; - case 6: - var m = e.name; - var params = e.params; - var v = Reflect.field(this.macros,m); - var pl = []; - var old = this.buf; - pl.push($bind(this,this.resolve)); - var _g_head = params.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var p = val; - if(p._hx_index == 0) { - var v1 = p.v; - pl.push(this.resolve(v1)); - } else { - this.buf = new StringBuf(); - this.run(p); - pl.push(this.buf.b); - } - } - this.buf = old; - try { - var _this = this.buf; - var x = Std.string(v.apply(this.macros,pl)); - _this.b += Std.string(x); - } catch( _g ) { - var e = haxe_Exception.caught(_g).unwrap(); - var plstr; - try { - plstr = pl.join(","); - } catch( _g1 ) { - plstr = "???"; - } - var msg = "Macro call " + m + "(" + plstr + ") failed (" + Std.string(e) + ")"; - throw haxe_Exception.thrown(msg); - } - break; - } - } -}; -var haxe_ValueException = function(value,previous,native) { - haxe_Exception.call(this,String(value),previous,native); - this.value = value; -}; -haxe_ValueException.__name__ = true; -haxe_ValueException.__super__ = haxe_Exception; -haxe_ValueException.prototype = $extend(haxe_Exception.prototype,{ - unwrap: function() { - return this.value; - } -}); -var haxe_ds_List = function() { - this.length = 0; -}; -haxe_ds_List.__name__ = true; -haxe_ds_List.prototype = { - add: function(item) { - var x = new haxe_ds__$List_ListNode(item,null); - if(this.h == null) { - this.h = x; - } else { - this.q.next = x; - } - this.q = x; - this.length++; - } - ,push: function(item) { - var x = new haxe_ds__$List_ListNode(item,this.h); - this.h = x; - if(this.q == null) { - this.q = x; - } - this.length++; - } - ,first: function() { - if(this.h == null) { - return null; - } else { - return this.h.item; - } - } - ,pop: function() { - if(this.h == null) { - return null; - } - var x = this.h.item; - this.h = this.h.next; - if(this.h == null) { - this.q = null; - } - this.length--; - return x; - } - ,isEmpty: function() { - return this.h == null; - } - ,toString: function() { - var s_b = ""; - var first = true; - var l = this.h; - s_b += "{"; - while(l != null) { - if(first) { - first = false; - } else { - s_b += ", "; - } - s_b += Std.string(Std.string(l.item)); - l = l.next; - } - s_b += "}"; - return s_b; - } -}; -var haxe_ds__$List_ListNode = function(item,next) { - this.item = item; - this.next = next; -}; -haxe_ds__$List_ListNode.__name__ = true; -var js_Boot = function() { }; -js_Boot.__name__ = true; -js_Boot.__string_rec = function(o,s) { - if(o == null) { - return "null"; - } - if(s.length >= 5) { - return "<...>"; - } - var t = typeof(o); - if(t == "function" && (o.__name__ || o.__ename__)) { - t = "object"; - } - switch(t) { - case "function": - return ""; - case "object": - if(o.__enum__) { - var e = $hxEnums[o.__enum__]; - var con = e.__constructs__[o._hx_index]; - var n = con._hx_name; - if(con.__params__) { - s = s + "\t"; - return n + "(" + ((function($this) { - var $r; - var _g = []; - { - var _g1 = 0; - var _g2 = con.__params__; - while(true) { - if(!(_g1 < _g2.length)) { - break; - } - var p = _g2[_g1]; - _g1 = _g1 + 1; - _g.push(js_Boot.__string_rec(o[p],s)); - } - } - $r = _g; - return $r; - }(this))).join(",") + ")"; - } else { - return n; - } - } - if(((o) instanceof Array)) { - var str = "["; - s += "\t"; - var _g = 0; - var _g1 = o.length; - while(_g < _g1) { - var i = _g++; - str += (i > 0 ? "," : "") + js_Boot.__string_rec(o[i],s); - } - str += "]"; - return str; - } - var tostr; - try { - tostr = o.toString; - } catch( _g ) { - return "???"; - } - if(tostr != null && tostr != Object.toString && typeof(tostr) == "function") { - var s2 = o.toString(); - if(s2 != "[object Object]") { - return s2; - } - } - var str = "{\n"; - s += "\t"; - var hasp = o.hasOwnProperty != null; - var k = null; - for( k in o ) { - if(hasp && !o.hasOwnProperty(k)) { - continue; - } - if(k == "prototype" || k == "__class__" || k == "__super__" || k == "__interfaces__" || k == "__properties__") { - continue; - } - if(str.length != 2) { - str += ", \n"; - } - str += s + k + " : " + js_Boot.__string_rec(o[k],s); - } - s = s.substring(1); - str += "\n" + s + "}"; - return str; - case "string": - return o; - default: - return String(o); - } -}; -var xrfragment_Filter = $hx_exports["xrfragment"]["Filter"] = function(str) { - this.q = { }; - this.str = ""; - if(str != null) { - this.parse(str); - } -}; -xrfragment_Filter.__name__ = true; -xrfragment_Filter.prototype = { - toObject: function() { - return Reflect.copy(this.q); - } - ,get: function() { - return Reflect.copy(this.q); - } - ,parse: function(str) { - var token = str.split(" "); - var q = { }; - var process = function(str,prefix) { - if(prefix == null) { - prefix = ""; - } - str = StringTools.trim(str); - var k = str.split("=")[0]; - var v = str.split("=")[1]; - var filter = { }; - if(q[prefix + k]) { - filter = q[prefix + k]; - } - if(xrfragment_XRF.isProp.match(str)) { - var oper = ""; - if(str.indexOf(">") != -1) { - oper = ">"; - } - if(str.indexOf("<") != -1) { - oper = "<"; - } - if(xrfragment_XRF.isExclude.match(k)) { - k = HxOverrides.substr(k,1,null); - } - v = HxOverrides.substr(v,oper.length,null); - if(oper.length == 0) { - oper = "="; - } - var rule = { }; - if(xrfragment_XRF.isNumber.match(v)) { - rule[oper] = parseFloat(v); - } else { - rule[oper] = v; - } - q["expr"] = rule; - } - var value = xrfragment_XRF.isDeep.match(str) ? k.split("*").length - 1 : 0; - q["deep"] = value; - var value = xrfragment_XRF.isExclude.match(str) ? false : true; - q["show"] = value; - var value = k.replace(xrfragment_XRF.operators.r,""); - q["key"] = value; - q["value"] = v; - }; - var _g = 0; - var _g1 = token.length; - while(_g < _g1) { - var i = _g++; - process(token[i]); - } - return this.q = q; - } - ,test: function(obj) { - var qualify = false; - var _g = 0; - var _g1 = Reflect.fields(obj); - while(_g < _g1.length) { - var k = _g1[_g]; - ++_g; - var v = Std.string(Reflect.field(obj,k)); - if(this.testProperty(k,v)) { - qualify = true; - } - } - var _g = 0; - var _g1 = Reflect.fields(obj); - while(_g < _g1.length) { - var k = _g1[_g]; - ++_g; - var v = Std.string(Reflect.field(obj,k)); - if(this.testProperty(k,v,true)) { - qualify = false; - } - } - return qualify; - } - ,testProperty: function(property,value,exclude) { - var conds = 0; - var fails = 0; - var qualify = 0; - var testprop = function(expr) { - conds += 1; - fails += expr ? 0 : 1; - return expr; - }; - if(this.q[value] != null) { - var v = this.q[value]; - if(v[property] != null) { - return v[property]; - } - } - if(Reflect.field(this.q,"expr")) { - var f = Reflect.field(this.q,"expr"); - if(!Reflect.field(this.q,"show")) { - if(Reflect.field(f,"!=") != null && testprop((value == null ? "null" : "" + value) == Std.string(Reflect.field(f,"!="))) && exclude) { - ++qualify; - } - } else { - if(Reflect.field(f,"*") != null && testprop(parseFloat(value) != null)) { - ++qualify; - } - if(Reflect.field(f,">") != null && testprop(parseFloat(value) >= parseFloat(Reflect.field(f,">")))) { - ++qualify; - } - if(Reflect.field(f,"<") != null && testprop(parseFloat(value) <= parseFloat(Reflect.field(f,"<")))) { - ++qualify; - } - if(Reflect.field(f,"=") != null && (testprop(value == Reflect.field(f,"=")) || testprop(parseFloat(value) == parseFloat(Reflect.field(f,"="))))) { - ++qualify; - } - } - } - return qualify > 0; - } -}; -var xrfragment_Parser = $hx_exports["xrfragment"]["Parser"] = function() { }; -xrfragment_Parser.__name__ = true; -xrfragment_Parser.parse = function(key,value,store,index) { - var Frag_h = Object.create(null); - Frag_h["#"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_PREDEFINED_VIEW | xrfragment_XRF.PV_EXECUTE; - Frag_h["src"] = xrfragment_XRF.T_URL; - Frag_h["href"] = xrfragment_XRF.T_URL | xrfragment_XRF.T_PREDEFINED_VIEW; - Frag_h["tag"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["pos"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_VECTOR3 | xrfragment_XRF.T_STRING | xrfragment_XRF.METADATA | xrfragment_XRF.NAVIGATOR; - Frag_h["rot"] = xrfragment_XRF.QUERY_OPERATOR | xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_VECTOR3 | xrfragment_XRF.METADATA | xrfragment_XRF.NAVIGATOR; - Frag_h["t"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_FLOAT | xrfragment_XRF.T_VECTOR2 | xrfragment_XRF.NAVIGATOR | xrfragment_XRF.METADATA; - Frag_h["s"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_MEDIAFRAG; - Frag_h["loop"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_PREDEFINED_VIEW; - Frag_h["uv"] = xrfragment_XRF.T_VECTOR2 | xrfragment_XRF.T_MEDIAFRAG; - Frag_h["namespace"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["SPDX"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["unit"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["description"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - var keyStripped = key.replace(xrfragment_XRF.operators.r,""); - var isPVDynamic = key.length > 0 && !Object.prototype.hasOwnProperty.call(Frag_h,key); - if(isPVDynamic) { - var v = new xrfragment_XRF(key,xrfragment_XRF.PV_EXECUTE | xrfragment_XRF.NAVIGATOR,index); - v.validate(value); - v.flags = xrfragment_XRF.set(xrfragment_XRF.T_DYNAMICKEY,v.flags); - if(!Object.prototype.hasOwnProperty.call(Frag_h,key)) { - v.flags = xrfragment_XRF.set(xrfragment_XRF.CUSTOMFRAG,v.flags); - } - if(value.length == 0) { - v.flags = xrfragment_XRF.set(xrfragment_XRF.T_DYNAMICKEYVALUE,v.flags); - } - store[keyStripped] = v; - return true; - } - var v = new xrfragment_XRF(key,Frag_h[key],index); - if(Object.prototype.hasOwnProperty.call(Frag_h,key)) { - if(!v.validate(value)) { - console.log("src/xrfragment/Parser.hx:67:","⚠ fragment '" + key + "' has incompatible value (" + value + ")"); - return false; - } - store[keyStripped] = v; - if(xrfragment_Parser.debug) { - console.log("src/xrfragment/Parser.hx:71:","✔ " + key + ": " + v.string); - } - } else { - if(typeof(value) == "string") { - v.guessType(v,value); - } - v.flags = xrfragment_XRF.set(xrfragment_XRF.CUSTOMFRAG,v.flags); - store[keyStripped] = v; - } - return true; -}; -xrfragment_Parser.getMetaData = function() { - var meta = { title : ["title","og:title","dc.title"], description : ["aria-description","og:description","dc.description"], author : ["author","dc.creator"], publisher : ["publisher","dc.publisher"], website : ["og:site_name","og:url","dc.publisher"], license : ["SPDX","dc.rights"]}; - return meta; -}; -var xrfragment_URI = $hx_exports["xrfragment"]["URI"] = function() { - this.XRF = { }; - this.hash = { }; - this.fragment = ""; -}; -xrfragment_URI.__name__ = true; -xrfragment_URI.parseFragment = function(url,filter) { - var store = { }; - if(url == null || url.indexOf("#") == -1) { - return store; - } - var fragment = url.split("#"); - var splitArray = fragment[1].split("&"); - var _g = 0; - var _g1 = splitArray.length; - while(_g < _g1) { - var i = _g++; - var splitByEqual = splitArray[i].split("="); - var regexPlus = new EReg("\\+","g"); - var key = splitByEqual[0]; - var value = ""; - if(splitByEqual.length > 1) { - if(xrfragment_XRF.isVector.match(splitByEqual[1])) { - value = splitByEqual[1]; - } else { - var s = regexPlus.split(splitByEqual[1]).join(" "); - value = decodeURIComponent(s.split("+").join(" ")); - } - } - var ok = xrfragment_Parser.parse(key,value,store,i); - } - if(filter != null && filter != 0) { - var _g = 0; - var _g1 = Reflect.fields(store); - while(_g < _g1.length) { - var key = _g1[_g]; - ++_g; - var xrf = store[key]; - if(!xrf.is(filter)) { - Reflect.deleteField(store,key); - } - } - } - return store; -}; -xrfragment_URI.template = function(uri,vars) { - var parts = uri.split("#"); - if(parts.length == 1) { - return uri; - } - var frag = parts[1]; - frag = StringTools.replace(frag,"{","::"); - frag = StringTools.replace(frag,"}","::"); - frag = new haxe_Template(frag).execute(vars); - frag = StringTools.replace(frag,"null",""); - parts[1] = frag; - return parts.join("#"); -}; -xrfragment_URI.parse = function(stringUrl,flags) { - var r = new EReg("^(?:(?![^:@]+:[^:@/]*@)([^:/?#.]+):)?(?://)?((?:(([^:@]*)(?::([^:@]*))?)?@)?([^:/?#]*)(?::(\\d*))?)(((/(?:[^?#](?![^?#/]*\\.[^?#/.]+(?:[?#]|$)))*/?)?([^?#/]*))(?:\\?([^#]*))?(?:#(.*))?)",""); - if(stringUrl.indexOf("://") == -1 && stringUrl.charAt(0) != "/") { - stringUrl = "/" + stringUrl; - } - r.match(stringUrl); - var url = new xrfragment_URI(); - var _g = 0; - var _g1 = xrfragment_URI._parts.length; - while(_g < _g1) { - var i = _g++; - url[xrfragment_URI._parts[i]] = r.matched(i); - } - if(xrfragment_URI.isRelative(url) == true) { - if(url.directory == null && url.host != null) { - url.file = url.host; - } - url.host = ""; - } - url.hash = { }; - if(url.fragment != null && url.fragment.length > 0) { - url.XRF = xrfragment_URI.parseFragment("#" + url.fragment,flags); - var key; - var _g = 0; - var _g1 = Reflect.fields(url.XRF); - while(_g < _g1.length) { - var key = _g1[_g]; - ++_g; - var v = url.XRF[key]; - url.hash[key] = v["string"]; - } - } - xrfragment_URI.computeVars(url); - return url; -}; -xrfragment_URI.computeVars = function(url) { - var r_r = new RegExp("//","g".split("u").join("")); - if(url.directory != null && url.directory.indexOf("//") != -1) { - url.directory = url.directory.replace(r_r,"/"); - } - if(url.path != null && url.path.indexOf("//") != -1) { - url.path = url.path.replace(r_r,"/"); - } - if(url.file != null && url.file.indexOf("//") != -1) { - url.file = url.file.replace(r_r,"/"); - } - url.URN = url.scheme + "://" + url.host; - if(url.port != null) { - url.URN += ":" + url.port; - } - url.URN += url.directory; - if(url.file != null) { - var parts = url.file.split("."); - if(parts.length > 1) { - url.fileExt = parts.pop(); - } - } -}; -xrfragment_URI.toString = function(url) { - var result = ""; - if(url.scheme != null) { - result += url.scheme + "://"; - } - if(url.user != null) { - result += url.user + ":"; - } - if(url.password != null) { - result += url.password + "@"; - } - if(url.host != null) { - result += url.host; - } - if(url.port != null) { - result += ":" + url.port; - } - if(url.directory != null) { - result += url.directory; - } - if(url.file != null) { - result += url.file; - } - if(url.query != null) { - result += "?" + url.query; - } - if(url.fragment != null) { - result += "#" + url.fragment; - } - return result; -}; -xrfragment_URI.appendURI = function(url,appendedURI) { - if(xrfragment_URI.isRelative(url) == true) { - return xrfragment_URI.appendToRelativeURI(url,appendedURI); - } else { - return xrfragment_URI.appendToAbsoluteURI(url,appendedURI); - } -}; -xrfragment_URI.isRelative = function(url) { - return url.scheme == null; -}; -xrfragment_URI.appendToRelativeURI = function(url,appendedURI) { - if(url.directory == null || url.host == null) { - return xrfragment_URI.cloneURI(appendedURI); - } - var resultURI = new xrfragment_URI(); - resultURI.host = url.host; - resultURI.directory = url.directory; - if(appendedURI.host != null) { - resultURI.directory += appendedURI.host; - } - if(appendedURI.directory != null) { - var directory = appendedURI.directory; - if(appendedURI.host == null) { - resultURI.directory += HxOverrides.substr(directory,1,null); - } else { - resultURI.directory += directory; - } - } - if(appendedURI.file != null) { - resultURI.file = appendedURI.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(appendedURI.query != null) { - resultURI.query = appendedURI.query; - } - if(appendedURI.fragment != null) { - resultURI.fragment = appendedURI.fragment; - } - return resultURI; -}; -xrfragment_URI.appendToAbsoluteURI = function(url,appendedURI) { - var resultURI = new xrfragment_URI(); - if(url.scheme != null) { - resultURI.scheme = url.scheme; - } - if(url.host != null) { - resultURI.host = url.host; - } - var directory = ""; - if(url.directory != null) { - directory = url.directory; - } - if(appendedURI.host != null) { - appendedURI.directory += appendedURI.host; - } - if(appendedURI.directory != null) { - directory += appendedURI.directory; - } - resultURI.directory = directory; - if(appendedURI.file != null) { - resultURI.file = appendedURI.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(appendedURI.query != null) { - resultURI.query = appendedURI.query; - } - if(appendedURI.fragment != null) { - resultURI.fragment = appendedURI.fragment; - } - return resultURI; -}; -xrfragment_URI.toAbsolute = function(url,newUrl) { - var newURI = xrfragment_URI.parse(newUrl,0); - var resultURI = new xrfragment_URI(); - resultURI.port = url.port; - resultURI.source = newUrl; - if(newURI.scheme != null) { - resultURI.scheme = newURI.scheme; - } else { - resultURI.scheme = url.scheme; - } - if(newURI.host != null && newURI.host.length > 0) { - resultURI.host = newURI.host; - resultURI.port = null; - resultURI.fragment = null; - resultURI.hash = { }; - resultURI.XRF = { }; - if(newURI.port != null) { - resultURI.port = newURI.port; - } - } else { - resultURI.host = url.host; - } - var directory = ""; - if(url.directory != null) { - directory = url.directory; - } - if(newURI.directory != null) { - if(newUrl.charAt(0) != "/" && newUrl.indexOf("://") == -1) { - var stripRelative_r = new RegExp("\\./.*","".split("u").join("")); - directory = directory.replace(stripRelative_r,""); - directory += newURI.directory; - } else { - directory = newURI.directory; - } - } - resultURI.directory = directory; - if(newURI.file != null) { - resultURI.file = newURI.file; - } else { - resultURI.file = url.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(newURI.query != null) { - resultURI.query = newURI.query; - } - if(newURI.fragment != null) { - resultURI.fragment = newURI.fragment; - } - resultURI.hash = newURI.hash; - resultURI.XRF = newURI.XRF; - xrfragment_URI.computeVars(resultURI); - return resultURI; -}; -xrfragment_URI.cloneURI = function(url) { - var clonedURI = new xrfragment_URI(); - clonedURI.url = url.url; - clonedURI.source = url.source; - clonedURI.scheme = url.scheme; - clonedURI.authority = url.authority; - clonedURI.userInfo = url.userInfo; - clonedURI.password = url.password; - clonedURI.host = url.host; - clonedURI.port = url.port; - clonedURI.relative = url.relative; - clonedURI.path = url.path; - clonedURI.directory = url.directory; - clonedURI.file = url.file; - clonedURI.query = url.query; - clonedURI.fragment = url.fragment; - return clonedURI; -}; -var xrfragment_XRF = $hx_exports["xrfragment"]["XRF"] = function(_fragment,_flags,_index) { - this.floats = []; - this.shift = []; - this.fragment = _fragment; - this.flags = _flags; - this.index = _index; -}; -xrfragment_XRF.__name__ = true; -xrfragment_XRF.set = function(flag,flags) { - return flags | flag; -}; -xrfragment_XRF.unset = function(flag,flags) { - return flags & ~flag; -}; -xrfragment_XRF.prototype = { - is: function(flag) { - var v = this.flags; - if(!(typeof(v) == "number" && ((v | 0) === v))) { - this.flags = 0; - } - return (this.flags & flag) != 0; - } - ,validate: function(value) { - this.guessType(this,value); - var ok = true; - if(value.length == 0 && !this.is(xrfragment_XRF.T_PREDEFINED_VIEW)) { - ok = false; - } - if(!this.is(xrfragment_XRF.T_FLOAT) && this.is(xrfragment_XRF.T_VECTOR2) && !(typeof(this.x) == "number" && typeof(this.y) == "number")) { - ok = false; - } - if(!(this.is(xrfragment_XRF.T_VECTOR2) || this.is(xrfragment_XRF.T_STRING)) && this.is(xrfragment_XRF.T_VECTOR3) && !(typeof(this.x) == "number" && typeof(this.y) == "number" && typeof(this.z) == "number")) { - ok = false; - } - return ok; - } - ,guessType: function(v,str) { - v.string = str; - if(xrfragment_XRF.isReset.match(v.fragment)) { - v.reset = true; - } - if(v.fragment == "loop") { - v.loop = true; - } - if(typeof(str) != "string") { - return; - } - if(str.length > 0) { - if(xrfragment_XRF.isXRFScheme.match(str)) { - v.xrfScheme = true; - str = str.replace(xrfragment_XRF.isXRFScheme.r,""); - v.string = str; - } - if(str.split(",").length > 1) { - var xyzn = str.split(","); - if(xyzn.length > 0) { - v.x = parseFloat(xyzn[0]); - } - if(xyzn.length > 1) { - v.y = parseFloat(xyzn[1]); - } - if(xyzn.length > 2) { - v.z = parseFloat(xyzn[2]); - } - var _g = 0; - var _g1 = xyzn.length; - while(_g < _g1) { - var i = _g++; - v.shift.push(xrfragment_XRF.isShift.match(xyzn[i])); - v.floats.push(parseFloat(xyzn[i].replace(xrfragment_XRF.isShift.r,""))); - } - } - if(xrfragment_XRF.isColor.match(str)) { - v.color = str; - } - if(xrfragment_XRF.isFloat.match(str)) { - v.x = parseFloat(str); - v.float = v.x; - } - if(xrfragment_XRF.isInt.match(str)) { - v.int = Std.parseInt(str); - v.x = v.int; - v.floats.push(v.x); - } - v.filter = new xrfragment_Filter(v.fragment + "=" + v.string); - } else { - v.filter = new xrfragment_Filter(v.fragment); - } - } -}; -function $getIterator(o) { if( o instanceof Array ) return new haxe_iterators_ArrayIterator(o); else return o.iterator(); } -function $bind(o,m) { if( m == null ) return null; if( m.__id__ == null ) m.__id__ = $global.$haxeUID++; var f; if( o.hx__closures__ == null ) o.hx__closures__ = {}; else f = o.hx__closures__[m.__id__]; if( f == null ) { f = m.bind(o); o.hx__closures__[m.__id__] = f; } return f; } -$global.$haxeUID |= 0; -if(typeof(performance) != "undefined" ? typeof(performance.now) == "function" : false) { - HxOverrides.now = performance.now.bind(performance); -} -if( String.fromCodePoint == null ) String.fromCodePoint = function(c) { return c < 0x10000 ? String.fromCharCode(c) : String.fromCharCode((c>>10)+0xD7C0)+String.fromCharCode((c&0x3FF)+0xDC00); } -String.__name__ = true; -Array.__name__ = true; -js_Boot.__toStr = ({ }).toString; -haxe_Template.splitter = new EReg("(::[A-Za-z0-9_ ()&|!+=/><*.\"-]+::|\\$\\$([A-Za-z0-9_-]+)\\()",""); -haxe_Template.expr_splitter = new EReg("(\\(|\\)|[ \r\n\t]*\"[^\"]*\"[ \r\n\t]*|[!+=/><*.&|-]+)",""); -haxe_Template.expr_trim = new EReg("^[ ]*([^ ]+)[ ]*$",""); -haxe_Template.expr_int = new EReg("^[0-9]+$",""); -haxe_Template.expr_float = new EReg("^([+-]?)(?=\\d|,\\d)\\d*(,\\d*)?([Ee]([+-]?\\d+))?$",""); -haxe_Template.globals = { }; -haxe_Template.hxKeepArrayIterator = new haxe_iterators_ArrayIterator([]); -xrfragment_Parser.error = ""; -xrfragment_Parser.debug = false; -xrfragment_URI.__meta__ = { statics : { template : { keep : null}}}; -xrfragment_URI._parts = ["source","scheme","authority","userInfo","user","password","host","port","relative","path","directory","file","query","fragment"]; -xrfragment_XRF.IMMUTABLE = 1; -xrfragment_XRF.PROP_BIND = 2; -xrfragment_XRF.QUERY_OPERATOR = 4; -xrfragment_XRF.PROMPT = 8; -xrfragment_XRF.CUSTOMFRAG = 16; -xrfragment_XRF.NAVIGATOR = 32; -xrfragment_XRF.METADATA = 64; -xrfragment_XRF.PV_OVERRIDE = 128; -xrfragment_XRF.PV_EXECUTE = 256; -xrfragment_XRF.T_COLOR = 8192; -xrfragment_XRF.T_INT = 16384; -xrfragment_XRF.T_FLOAT = 32768; -xrfragment_XRF.T_VECTOR2 = 65536; -xrfragment_XRF.T_VECTOR3 = 131072; -xrfragment_XRF.T_URL = 262144; -xrfragment_XRF.T_PREDEFINED_VIEW = 524288; -xrfragment_XRF.T_STRING = 1048576; -xrfragment_XRF.T_MEDIAFRAG = 2097152; -xrfragment_XRF.T_DYNAMICKEY = 4194304; -xrfragment_XRF.T_DYNAMICKEYVALUE = 8388608; -xrfragment_XRF.isColor = new EReg("^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$",""); -xrfragment_XRF.isInt = new EReg("^[-0-9]+$",""); -xrfragment_XRF.isFloat = new EReg("^[-0-9]+\\.[0-9]+$",""); -xrfragment_XRF.isVector = new EReg("([,]+|\\w)",""); -xrfragment_XRF.isUrl = new EReg("(://)?\\..*",""); -xrfragment_XRF.isUrlOrPretypedView = new EReg("(^#|://)?\\..*",""); -xrfragment_XRF.isString = new EReg(".*",""); -xrfragment_XRF.operators = new EReg("(^[-]|^[!]|[\\*]$)","g"); -xrfragment_XRF.isProp = new EReg("^.*=[><=]?",""); -xrfragment_XRF.isExclude = new EReg("^-",""); -xrfragment_XRF.isDeep = new EReg("\\*",""); -xrfragment_XRF.isNumber = new EReg("^[0-9\\.]+$",""); -xrfragment_XRF.isMediaFrag = new EReg("^([0-9\\.,\\*+-]+)$",""); -xrfragment_XRF.isReset = new EReg("^!",""); -xrfragment_XRF.isShift = new EReg("^(\\+|--)",""); -xrfragment_XRF.isXRFScheme = new EReg("^xrf://",""); -})(typeof window != "undefined" ? window : typeof global != "undefined" ? global : typeof self != "undefined" ? self : this); -var xrfragment = $hx_exports["xrfragment"]; -export default xrfragment; -// Generated by Haxe 4.3.3 -var $hx_exports = typeof exports != "undefined" ? exports : typeof window != "undefined" ? window : typeof self != "undefined" ? self : this; -(function ($global) { "use strict"; -$hx_exports["xrfragment"] = $hx_exports["xrfragment"] || {}; -var $estr = function() { return js_Boot.__string_rec(this,''); },$hxEnums = $hxEnums || {},$_; -function $extend(from, fields) { - var proto = Object.create(from); - for (var name in fields) proto[name] = fields[name]; - if( fields.toString !== Object.prototype.toString ) proto.toString = fields.toString; - return proto; -} -var EReg = function(r,opt) { - this.r = new RegExp(r,opt.split("u").join("")); -}; -EReg.__name__ = true; -EReg.prototype = { - match: function(s) { - if(this.r.global) { - this.r.lastIndex = 0; - } - this.r.m = this.r.exec(s); - this.r.s = s; - return this.r.m != null; - } - ,matched: function(n) { - if(this.r.m != null && n >= 0 && n < this.r.m.length) { - return this.r.m[n]; - } else { - throw haxe_Exception.thrown("EReg::matched"); - } - } - ,matchedRight: function() { - if(this.r.m == null) { - throw haxe_Exception.thrown("No string matched"); - } - var sz = this.r.m.index + this.r.m[0].length; - return HxOverrides.substr(this.r.s,sz,this.r.s.length - sz); - } - ,matchedPos: function() { - if(this.r.m == null) { - throw haxe_Exception.thrown("No string matched"); - } - return { pos : this.r.m.index, len : this.r.m[0].length}; - } - ,split: function(s) { - var d = "#__delim__#"; - return s.replace(this.r,d).split(d); - } -}; -var HxOverrides = function() { }; -HxOverrides.__name__ = true; -HxOverrides.cca = function(s,index) { - var x = s.charCodeAt(index); - if(x != x) { - return undefined; - } - return x; -}; -HxOverrides.substr = function(s,pos,len) { - if(len == null) { - len = s.length; - } else if(len < 0) { - if(pos == 0) { - len = s.length + len; - } else { - return ""; - } - } - return s.substr(pos,len); -}; -HxOverrides.now = function() { - return Date.now(); -}; -Math.__name__ = true; -var Reflect = function() { }; -Reflect.__name__ = true; -Reflect.field = function(o,field) { - try { - return o[field]; - } catch( _g ) { - return null; - } -}; -Reflect.getProperty = function(o,field) { - var tmp; - if(o == null) { - return null; - } else { - var tmp1; - if(o.__properties__) { - tmp = o.__properties__["get_" + field]; - tmp1 = tmp; - } else { - tmp1 = false; - } - if(tmp1) { - return o[tmp](); - } else { - return o[field]; - } - } -}; -Reflect.fields = function(o) { - var a = []; - if(o != null) { - var hasOwnProperty = Object.prototype.hasOwnProperty; - for( var f in o ) { - if(f != "__id__" && f != "hx__closures__" && hasOwnProperty.call(o,f)) { - a.push(f); - } - } - } - return a; -}; -Reflect.isObject = function(v) { - if(v == null) { - return false; - } - var t = typeof(v); - if(!(t == "string" || t == "object" && v.__enum__ == null)) { - if(t == "function") { - return (v.__name__ || v.__ename__) != null; - } else { - return false; - } - } else { - return true; - } -}; -Reflect.deleteField = function(o,field) { - if(!Object.prototype.hasOwnProperty.call(o,field)) { - return false; - } - delete(o[field]); - return true; -}; -Reflect.copy = function(o) { - if(o == null) { - return null; - } - var o2 = { }; - var _g = 0; - var _g1 = Reflect.fields(o); - while(_g < _g1.length) { - var f = _g1[_g]; - ++_g; - o2[f] = Reflect.field(o,f); - } - return o2; -}; -var Std = function() { }; -Std.__name__ = true; -Std.string = function(s) { - return js_Boot.__string_rec(s,""); -}; -Std.parseInt = function(x) { - var v = parseInt(x); - if(isNaN(v)) { - return null; - } - return v; -}; -var StringBuf = function() { - this.b = ""; -}; -StringBuf.__name__ = true; -var StringTools = function() { }; -StringTools.__name__ = true; -StringTools.isSpace = function(s,pos) { - var c = HxOverrides.cca(s,pos); - if(!(c > 8 && c < 14)) { - return c == 32; - } else { - return true; - } -}; -StringTools.ltrim = function(s) { - var l = s.length; - var r = 0; - while(r < l && StringTools.isSpace(s,r)) ++r; - if(r > 0) { - return HxOverrides.substr(s,r,l - r); - } else { - return s; - } -}; -StringTools.rtrim = function(s) { - var l = s.length; - var r = 0; - while(r < l && StringTools.isSpace(s,l - r - 1)) ++r; - if(r > 0) { - return HxOverrides.substr(s,0,l - r); - } else { - return s; - } -}; -StringTools.trim = function(s) { - return StringTools.ltrim(StringTools.rtrim(s)); -}; -StringTools.replace = function(s,sub,by) { - return s.split(sub).join(by); -}; -var haxe_Exception = function(message,previous,native) { - Error.call(this,message); - this.message = message; - this.__previousException = previous; - this.__nativeException = native != null ? native : this; -}; -haxe_Exception.__name__ = true; -haxe_Exception.caught = function(value) { - if(((value) instanceof haxe_Exception)) { - return value; - } else if(((value) instanceof Error)) { - return new haxe_Exception(value.message,null,value); - } else { - return new haxe_ValueException(value,null,value); - } -}; -haxe_Exception.thrown = function(value) { - if(((value) instanceof haxe_Exception)) { - return value.get_native(); - } else if(((value) instanceof Error)) { - return value; - } else { - var e = new haxe_ValueException(value); - return e; - } -}; -haxe_Exception.__super__ = Error; -haxe_Exception.prototype = $extend(Error.prototype,{ - unwrap: function() { - return this.__nativeException; - } - ,get_native: function() { - return this.__nativeException; - } - ,__properties__: {get_native:"get_native"} -}); -var haxe__$Template_TemplateExpr = $hxEnums["haxe._Template.TemplateExpr"] = { __ename__:true,__constructs__:null - ,OpVar: ($_=function(v) { return {_hx_index:0,v:v,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpVar",$_.__params__ = ["v"],$_) - ,OpExpr: ($_=function(expr) { return {_hx_index:1,expr:expr,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpExpr",$_.__params__ = ["expr"],$_) - ,OpIf: ($_=function(expr,eif,eelse) { return {_hx_index:2,expr:expr,eif:eif,eelse:eelse,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpIf",$_.__params__ = ["expr","eif","eelse"],$_) - ,OpStr: ($_=function(str) { return {_hx_index:3,str:str,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpStr",$_.__params__ = ["str"],$_) - ,OpBlock: ($_=function(l) { return {_hx_index:4,l:l,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpBlock",$_.__params__ = ["l"],$_) - ,OpForeach: ($_=function(expr,loop) { return {_hx_index:5,expr:expr,loop:loop,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpForeach",$_.__params__ = ["expr","loop"],$_) - ,OpMacro: ($_=function(name,params) { return {_hx_index:6,name:name,params:params,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpMacro",$_.__params__ = ["name","params"],$_) -}; -haxe__$Template_TemplateExpr.__constructs__ = [haxe__$Template_TemplateExpr.OpVar,haxe__$Template_TemplateExpr.OpExpr,haxe__$Template_TemplateExpr.OpIf,haxe__$Template_TemplateExpr.OpStr,haxe__$Template_TemplateExpr.OpBlock,haxe__$Template_TemplateExpr.OpForeach,haxe__$Template_TemplateExpr.OpMacro]; -var haxe_iterators_ArrayIterator = function(array) { - this.current = 0; - this.array = array; -}; -haxe_iterators_ArrayIterator.__name__ = true; -haxe_iterators_ArrayIterator.prototype = { - hasNext: function() { - return this.current < this.array.length; - } - ,next: function() { - return this.array[this.current++]; - } -}; -var haxe_Template = function(str) { - var tokens = this.parseTokens(str); - this.expr = this.parseBlock(tokens); - if(!tokens.isEmpty()) { - throw haxe_Exception.thrown("Unexpected '" + Std.string(tokens.first().s) + "'"); - } -}; -haxe_Template.__name__ = true; -haxe_Template.prototype = { - execute: function(context,macros) { - this.macros = macros == null ? { } : macros; - this.context = context; - this.stack = new haxe_ds_List(); - this.buf = new StringBuf(); - this.run(this.expr); - return this.buf.b; - } - ,resolve: function(v) { - if(v == "__current__") { - return this.context; - } - if(Reflect.isObject(this.context)) { - var value = Reflect.getProperty(this.context,v); - if(value != null || Object.prototype.hasOwnProperty.call(this.context,v)) { - return value; - } - } - var _g_head = this.stack.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var ctx = val; - var value = Reflect.getProperty(ctx,v); - if(value != null || Object.prototype.hasOwnProperty.call(ctx,v)) { - return value; - } - } - return Reflect.field(haxe_Template.globals,v); - } - ,parseTokens: function(data) { - var tokens = new haxe_ds_List(); - while(haxe_Template.splitter.match(data)) { - var p = haxe_Template.splitter.matchedPos(); - if(p.pos > 0) { - tokens.add({ p : HxOverrides.substr(data,0,p.pos), s : true, l : null}); - } - if(HxOverrides.cca(data,p.pos) == 58) { - tokens.add({ p : HxOverrides.substr(data,p.pos + 2,p.len - 4), s : false, l : null}); - data = haxe_Template.splitter.matchedRight(); - continue; - } - var parp = p.pos + p.len; - var npar = 1; - var params = []; - var part = ""; - while(true) { - var c = HxOverrides.cca(data,parp); - ++parp; - if(c == 40) { - ++npar; - } else if(c == 41) { - --npar; - if(npar <= 0) { - break; - } - } else if(c == null) { - throw haxe_Exception.thrown("Unclosed macro parenthesis"); - } - if(c == 44 && npar == 1) { - params.push(part); - part = ""; - } else { - part += String.fromCodePoint(c); - } - } - params.push(part); - tokens.add({ p : haxe_Template.splitter.matched(2), s : false, l : params}); - data = HxOverrides.substr(data,parp,data.length - parp); - } - if(data.length > 0) { - tokens.add({ p : data, s : true, l : null}); - } - return tokens; - } - ,parseBlock: function(tokens) { - var l = new haxe_ds_List(); - while(true) { - var t = tokens.first(); - if(t == null) { - break; - } - if(!t.s && (t.p == "end" || t.p == "else" || HxOverrides.substr(t.p,0,7) == "elseif ")) { - break; - } - l.add(this.parse(tokens)); - } - if(l.length == 1) { - return l.first(); - } - return haxe__$Template_TemplateExpr.OpBlock(l); - } - ,parse: function(tokens) { - var t = tokens.pop(); - var p = t.p; - if(t.s) { - return haxe__$Template_TemplateExpr.OpStr(p); - } - if(t.l != null) { - var pe = new haxe_ds_List(); - var _g = 0; - var _g1 = t.l; - while(_g < _g1.length) { - var p1 = _g1[_g]; - ++_g; - pe.add(this.parseBlock(this.parseTokens(p1))); - } - return haxe__$Template_TemplateExpr.OpMacro(p,pe); - } - var kwdEnd = function(kwd) { - var pos = -1; - var length = kwd.length; - if(HxOverrides.substr(p,0,length) == kwd) { - pos = length; - var _g_offset = 0; - var _g_s = HxOverrides.substr(p,length,null); - while(_g_offset < _g_s.length) { - var c = _g_s.charCodeAt(_g_offset++); - if(c == 32) { - ++pos; - } else { - break; - } - } - } - return pos; - }; - var pos = kwdEnd("if"); - if(pos > 0) { - p = HxOverrides.substr(p,pos,p.length - pos); - var e = this.parseExpr(p); - var eif = this.parseBlock(tokens); - var t = tokens.first(); - var eelse; - if(t == null) { - throw haxe_Exception.thrown("Unclosed 'if'"); - } - if(t.p == "end") { - tokens.pop(); - eelse = null; - } else if(t.p == "else") { - tokens.pop(); - eelse = this.parseBlock(tokens); - t = tokens.pop(); - if(t == null || t.p != "end") { - throw haxe_Exception.thrown("Unclosed 'else'"); - } - } else { - t.p = HxOverrides.substr(t.p,4,t.p.length - 4); - eelse = this.parse(tokens); - } - return haxe__$Template_TemplateExpr.OpIf(e,eif,eelse); - } - var pos = kwdEnd("foreach"); - if(pos >= 0) { - p = HxOverrides.substr(p,pos,p.length - pos); - var e = this.parseExpr(p); - var efor = this.parseBlock(tokens); - var t = tokens.pop(); - if(t == null || t.p != "end") { - throw haxe_Exception.thrown("Unclosed 'foreach'"); - } - return haxe__$Template_TemplateExpr.OpForeach(e,efor); - } - if(haxe_Template.expr_splitter.match(p)) { - return haxe__$Template_TemplateExpr.OpExpr(this.parseExpr(p)); - } - return haxe__$Template_TemplateExpr.OpVar(p); - } - ,parseExpr: function(data) { - var l = new haxe_ds_List(); - var expr = data; - while(haxe_Template.expr_splitter.match(data)) { - var p = haxe_Template.expr_splitter.matchedPos(); - var k = p.pos + p.len; - if(p.pos != 0) { - l.add({ p : HxOverrides.substr(data,0,p.pos), s : true}); - } - var p1 = haxe_Template.expr_splitter.matched(0); - l.add({ p : p1, s : p1.indexOf("\"") >= 0}); - data = haxe_Template.expr_splitter.matchedRight(); - } - if(data.length != 0) { - var _g_offset = 0; - var _g_s = data; - while(_g_offset < _g_s.length) { - var _g_key = _g_offset; - var _g_value = _g_s.charCodeAt(_g_offset++); - var i = _g_key; - var c = _g_value; - if(c != 32) { - l.add({ p : HxOverrides.substr(data,i,null), s : true}); - break; - } - } - } - var e; - try { - e = this.makeExpr(l); - if(!l.isEmpty()) { - throw haxe_Exception.thrown(l.first().p); - } - } catch( _g ) { - var _g1 = haxe_Exception.caught(_g).unwrap(); - if(typeof(_g1) == "string") { - var s = _g1; - throw haxe_Exception.thrown("Unexpected '" + s + "' in " + expr); - } else { - throw _g; - } - } - return function() { - try { - return e(); - } catch( _g ) { - var exc = haxe_Exception.caught(_g).unwrap(); - throw haxe_Exception.thrown("Error : " + Std.string(exc) + " in " + expr); - } - }; - } - ,makeConst: function(v) { - haxe_Template.expr_trim.match(v); - v = haxe_Template.expr_trim.matched(1); - if(HxOverrides.cca(v,0) == 34) { - var str = HxOverrides.substr(v,1,v.length - 2); - return function() { - return str; - }; - } - if(haxe_Template.expr_int.match(v)) { - var i = Std.parseInt(v); - return function() { - return i; - }; - } - if(haxe_Template.expr_float.match(v)) { - var f = parseFloat(v); - return function() { - return f; - }; - } - var me = this; - return function() { - return me.resolve(v); - }; - } - ,makePath: function(e,l) { - var p = l.first(); - if(p == null || p.p != ".") { - return e; - } - l.pop(); - var field = l.pop(); - if(field == null || !field.s) { - throw haxe_Exception.thrown(field.p); - } - var f = field.p; - haxe_Template.expr_trim.match(f); - f = haxe_Template.expr_trim.matched(1); - return this.makePath(function() { - return Reflect.field(e(),f); - },l); - } - ,makeExpr: function(l) { - return this.makePath(this.makeExpr2(l),l); - } - ,skipSpaces: function(l) { - var p = l.first(); - while(p != null) { - var _g_offset = 0; - var _g_s = p.p; - while(_g_offset < _g_s.length) { - var c = _g_s.charCodeAt(_g_offset++); - if(c != 32) { - return; - } - } - l.pop(); - p = l.first(); - } - } - ,makeExpr2: function(l) { - this.skipSpaces(l); - var p = l.pop(); - this.skipSpaces(l); - if(p == null) { - throw haxe_Exception.thrown(""); - } - if(p.s) { - return this.makeConst(p.p); - } - switch(p.p) { - case "!": - var e = this.makeExpr(l); - return function() { - var v = e(); - if(v != null) { - return v == false; - } else { - return true; - } - }; - case "(": - this.skipSpaces(l); - var e1 = this.makeExpr(l); - this.skipSpaces(l); - var p1 = l.pop(); - if(p1 == null || p1.s) { - throw haxe_Exception.thrown(p1); - } - if(p1.p == ")") { - return e1; - } - this.skipSpaces(l); - var e2 = this.makeExpr(l); - this.skipSpaces(l); - var p2 = l.pop(); - this.skipSpaces(l); - if(p2 == null || p2.p != ")") { - throw haxe_Exception.thrown(p2); - } - switch(p1.p) { - case "!=": - return function() { - return e1() != e2(); - }; - case "&&": - return function() { - return e1() && e2(); - }; - case "*": - return function() { - return e1() * e2(); - }; - case "+": - return function() { - return e1() + e2(); - }; - case "-": - return function() { - return e1() - e2(); - }; - case "/": - return function() { - return e1() / e2(); - }; - case "<": - return function() { - return e1() < e2(); - }; - case "<=": - return function() { - return e1() <= e2(); - }; - case "==": - return function() { - return e1() == e2(); - }; - case ">": - return function() { - return e1() > e2(); - }; - case ">=": - return function() { - return e1() >= e2(); - }; - case "||": - return function() { - return e1() || e2(); - }; - default: - throw haxe_Exception.thrown("Unknown operation " + p1.p); - } - break; - case "-": - var e3 = this.makeExpr(l); - return function() { - return -e3(); - }; - } - throw haxe_Exception.thrown(p.p); - } - ,run: function(e) { - switch(e._hx_index) { - case 0: - var v = e.v; - var _this = this.buf; - var x = Std.string(this.resolve(v)); - _this.b += Std.string(x); - break; - case 1: - var e1 = e.expr; - var _this = this.buf; - var x = Std.string(e1()); - _this.b += Std.string(x); - break; - case 2: - var e1 = e.expr; - var eif = e.eif; - var eelse = e.eelse; - var v = e1(); - if(v == null || v == false) { - if(eelse != null) { - this.run(eelse); - } - } else { - this.run(eif); - } - break; - case 3: - var str = e.str; - this.buf.b += str == null ? "null" : "" + str; - break; - case 4: - var l = e.l; - var _g_head = l.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var e1 = val; - this.run(e1); - } - break; - case 5: - var e1 = e.expr; - var loop = e.loop; - var v = e1(); - try { - var x = $getIterator(v); - if(x.hasNext == null) { - throw haxe_Exception.thrown(null); - } - v = x; - } catch( _g ) { - try { - if(v.hasNext == null) { - throw haxe_Exception.thrown(null); - } - } catch( _g1 ) { - throw haxe_Exception.thrown("Cannot iter on " + Std.string(v)); - } - } - this.stack.push(this.context); - var v1 = v; - var ctx = v1; - while(ctx.hasNext()) { - var ctx1 = ctx.next(); - this.context = ctx1; - this.run(loop); - } - this.context = this.stack.pop(); - break; - case 6: - var m = e.name; - var params = e.params; - var v = Reflect.field(this.macros,m); - var pl = []; - var old = this.buf; - pl.push($bind(this,this.resolve)); - var _g_head = params.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var p = val; - if(p._hx_index == 0) { - var v1 = p.v; - pl.push(this.resolve(v1)); - } else { - this.buf = new StringBuf(); - this.run(p); - pl.push(this.buf.b); - } - } - this.buf = old; - try { - var _this = this.buf; - var x = Std.string(v.apply(this.macros,pl)); - _this.b += Std.string(x); - } catch( _g ) { - var e = haxe_Exception.caught(_g).unwrap(); - var plstr; - try { - plstr = pl.join(","); - } catch( _g1 ) { - plstr = "???"; - } - var msg = "Macro call " + m + "(" + plstr + ") failed (" + Std.string(e) + ")"; - throw haxe_Exception.thrown(msg); - } - break; - } - } -}; -var haxe_ValueException = function(value,previous,native) { - haxe_Exception.call(this,String(value),previous,native); - this.value = value; -}; -haxe_ValueException.__name__ = true; -haxe_ValueException.__super__ = haxe_Exception; -haxe_ValueException.prototype = $extend(haxe_Exception.prototype,{ - unwrap: function() { - return this.value; - } -}); -var haxe_ds_List = function() { - this.length = 0; -}; -haxe_ds_List.__name__ = true; -haxe_ds_List.prototype = { - add: function(item) { - var x = new haxe_ds__$List_ListNode(item,null); - if(this.h == null) { - this.h = x; - } else { - this.q.next = x; - } - this.q = x; - this.length++; - } - ,push: function(item) { - var x = new haxe_ds__$List_ListNode(item,this.h); - this.h = x; - if(this.q == null) { - this.q = x; - } - this.length++; - } - ,first: function() { - if(this.h == null) { - return null; - } else { - return this.h.item; - } - } - ,pop: function() { - if(this.h == null) { - return null; - } - var x = this.h.item; - this.h = this.h.next; - if(this.h == null) { - this.q = null; - } - this.length--; - return x; - } - ,isEmpty: function() { - return this.h == null; - } - ,toString: function() { - var s_b = ""; - var first = true; - var l = this.h; - s_b += "{"; - while(l != null) { - if(first) { - first = false; - } else { - s_b += ", "; - } - s_b += Std.string(Std.string(l.item)); - l = l.next; - } - s_b += "}"; - return s_b; - } -}; -var haxe_ds__$List_ListNode = function(item,next) { - this.item = item; - this.next = next; -}; -haxe_ds__$List_ListNode.__name__ = true; -var js_Boot = function() { }; -js_Boot.__name__ = true; -js_Boot.__string_rec = function(o,s) { - if(o == null) { - return "null"; - } - if(s.length >= 5) { - return "<...>"; - } - var t = typeof(o); - if(t == "function" && (o.__name__ || o.__ename__)) { - t = "object"; - } - switch(t) { - case "function": - return ""; - case "object": - if(o.__enum__) { - var e = $hxEnums[o.__enum__]; - var con = e.__constructs__[o._hx_index]; - var n = con._hx_name; - if(con.__params__) { - s = s + "\t"; - return n + "(" + ((function($this) { - var $r; - var _g = []; - { - var _g1 = 0; - var _g2 = con.__params__; - while(true) { - if(!(_g1 < _g2.length)) { - break; - } - var p = _g2[_g1]; - _g1 = _g1 + 1; - _g.push(js_Boot.__string_rec(o[p],s)); - } - } - $r = _g; - return $r; - }(this))).join(",") + ")"; - } else { - return n; - } - } - if(((o) instanceof Array)) { - var str = "["; - s += "\t"; - var _g = 0; - var _g1 = o.length; - while(_g < _g1) { - var i = _g++; - str += (i > 0 ? "," : "") + js_Boot.__string_rec(o[i],s); - } - str += "]"; - return str; - } - var tostr; - try { - tostr = o.toString; - } catch( _g ) { - return "???"; - } - if(tostr != null && tostr != Object.toString && typeof(tostr) == "function") { - var s2 = o.toString(); - if(s2 != "[object Object]") { - return s2; - } - } - var str = "{\n"; - s += "\t"; - var hasp = o.hasOwnProperty != null; - var k = null; - for( k in o ) { - if(hasp && !o.hasOwnProperty(k)) { - continue; - } - if(k == "prototype" || k == "__class__" || k == "__super__" || k == "__interfaces__" || k == "__properties__") { - continue; - } - if(str.length != 2) { - str += ", \n"; - } - str += s + k + " : " + js_Boot.__string_rec(o[k],s); - } - s = s.substring(1); - str += "\n" + s + "}"; - return str; - case "string": - return o; - default: - return String(o); - } -}; -var xrfragment_Filter = $hx_exports["xrfragment"]["Filter"] = function(str) { - this.q = { }; - this.str = ""; - if(str != null) { - this.parse(str); - } -}; -xrfragment_Filter.__name__ = true; -xrfragment_Filter.prototype = { - toObject: function() { - return Reflect.copy(this.q); - } - ,get: function() { - return Reflect.copy(this.q); - } - ,parse: function(str) { - var token = str.split(" "); - var q = { }; - var process = function(str,prefix) { - if(prefix == null) { - prefix = ""; - } - str = StringTools.trim(str); - var k = str.split("=")[0]; - var v = str.split("=")[1]; - var filter = { }; - if(q[prefix + k]) { - filter = q[prefix + k]; - } - if(xrfragment_XRF.isProp.match(str)) { - var oper = ""; - if(str.indexOf(">") != -1) { - oper = ">"; - } - if(str.indexOf("<") != -1) { - oper = "<"; - } - if(xrfragment_XRF.isExclude.match(k)) { - k = HxOverrides.substr(k,1,null); - } - v = HxOverrides.substr(v,oper.length,null); - if(oper.length == 0) { - oper = "="; - } - var rule = { }; - if(xrfragment_XRF.isNumber.match(v)) { - rule[oper] = parseFloat(v); - } else { - rule[oper] = v; - } - q["expr"] = rule; - } - var value = xrfragment_XRF.isDeep.match(str) ? k.split("*").length - 1 : 0; - q["deep"] = value; - var value = xrfragment_XRF.isExclude.match(str) ? false : true; - q["show"] = value; - var value = k.replace(xrfragment_XRF.operators.r,""); - q["key"] = value; - q["value"] = v; - }; - var _g = 0; - var _g1 = token.length; - while(_g < _g1) { - var i = _g++; - process(token[i]); - } - return this.q = q; - } - ,test: function(obj) { - var qualify = false; - var _g = 0; - var _g1 = Reflect.fields(obj); - while(_g < _g1.length) { - var k = _g1[_g]; - ++_g; - var v = Std.string(Reflect.field(obj,k)); - if(this.testProperty(k,v)) { - qualify = true; - } - } - var _g = 0; - var _g1 = Reflect.fields(obj); - while(_g < _g1.length) { - var k = _g1[_g]; - ++_g; - var v = Std.string(Reflect.field(obj,k)); - if(this.testProperty(k,v,true)) { - qualify = false; - } - } - return qualify; - } - ,testProperty: function(property,value,exclude) { - var conds = 0; - var fails = 0; - var qualify = 0; - var testprop = function(expr) { - conds += 1; - fails += expr ? 0 : 1; - return expr; - }; - if(this.q[value] != null) { - var v = this.q[value]; - if(v[property] != null) { - return v[property]; - } - } - if(Reflect.field(this.q,"expr")) { - var f = Reflect.field(this.q,"expr"); - if(!Reflect.field(this.q,"show")) { - if(Reflect.field(f,"!=") != null && testprop((value == null ? "null" : "" + value) == Std.string(Reflect.field(f,"!="))) && exclude) { - ++qualify; - } - } else { - if(Reflect.field(f,"*") != null && testprop(parseFloat(value) != null)) { - ++qualify; - } - if(Reflect.field(f,">") != null && testprop(parseFloat(value) >= parseFloat(Reflect.field(f,">")))) { - ++qualify; - } - if(Reflect.field(f,"<") != null && testprop(parseFloat(value) <= parseFloat(Reflect.field(f,"<")))) { - ++qualify; - } - if(Reflect.field(f,"=") != null && (testprop(value == Reflect.field(f,"=")) || testprop(parseFloat(value) == parseFloat(Reflect.field(f,"="))))) { - ++qualify; - } - } - } - return qualify > 0; - } -}; -var xrfragment_Parser = $hx_exports["xrfragment"]["Parser"] = function() { }; -xrfragment_Parser.__name__ = true; -xrfragment_Parser.parse = function(key,value,store,index) { - var Frag_h = Object.create(null); - Frag_h["#"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_PREDEFINED_VIEW | xrfragment_XRF.PV_EXECUTE; - Frag_h["src"] = xrfragment_XRF.T_URL; - Frag_h["href"] = xrfragment_XRF.T_URL | xrfragment_XRF.T_PREDEFINED_VIEW; - Frag_h["tag"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["pos"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_VECTOR3 | xrfragment_XRF.T_STRING | xrfragment_XRF.METADATA | xrfragment_XRF.NAVIGATOR; - Frag_h["rot"] = xrfragment_XRF.QUERY_OPERATOR | xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_VECTOR3 | xrfragment_XRF.METADATA | xrfragment_XRF.NAVIGATOR; - Frag_h["t"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_FLOAT | xrfragment_XRF.T_VECTOR2 | xrfragment_XRF.NAVIGATOR | xrfragment_XRF.METADATA; - Frag_h["s"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_MEDIAFRAG; - Frag_h["loop"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_PREDEFINED_VIEW; - Frag_h["uv"] = xrfragment_XRF.T_VECTOR2 | xrfragment_XRF.T_MEDIAFRAG; - Frag_h["namespace"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["SPDX"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["unit"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["description"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - var keyStripped = key.replace(xrfragment_XRF.operators.r,""); - var isPVDynamic = key.length > 0 && !Object.prototype.hasOwnProperty.call(Frag_h,key); - if(isPVDynamic) { - var v = new xrfragment_XRF(key,xrfragment_XRF.PV_EXECUTE | xrfragment_XRF.NAVIGATOR,index); - v.validate(value); - v.flags = xrfragment_XRF.set(xrfragment_XRF.T_DYNAMICKEY,v.flags); - if(!Object.prototype.hasOwnProperty.call(Frag_h,key)) { - v.flags = xrfragment_XRF.set(xrfragment_XRF.CUSTOMFRAG,v.flags); - } - if(value.length == 0) { - v.flags = xrfragment_XRF.set(xrfragment_XRF.T_DYNAMICKEYVALUE,v.flags); - } - store[keyStripped] = v; - return true; - } - var v = new xrfragment_XRF(key,Frag_h[key],index); - if(Object.prototype.hasOwnProperty.call(Frag_h,key)) { - if(!v.validate(value)) { - console.log("src/xrfragment/Parser.hx:67:","⚠ fragment '" + key + "' has incompatible value (" + value + ")"); - return false; - } - store[keyStripped] = v; - if(xrfragment_Parser.debug) { - console.log("src/xrfragment/Parser.hx:71:","✔ " + key + ": " + v.string); - } - } else { - if(typeof(value) == "string") { - v.guessType(v,value); - } - v.flags = xrfragment_XRF.set(xrfragment_XRF.CUSTOMFRAG,v.flags); - store[keyStripped] = v; - } - return true; -}; -xrfragment_Parser.getMetaData = function() { - var meta = { title : ["title","og:title","dc.title"], description : ["aria-description","og:description","dc.description"], author : ["author","dc.creator"], publisher : ["publisher","dc.publisher"], website : ["og:site_name","og:url","dc.publisher"], license : ["SPDX","dc.rights"]}; - return meta; -}; -var xrfragment_URI = $hx_exports["xrfragment"]["URI"] = function() { - this.XRF = { }; - this.hash = { }; - this.fragment = ""; -}; -xrfragment_URI.__name__ = true; -xrfragment_URI.parseFragment = function(url,filter) { - var store = { }; - if(url == null || url.indexOf("#") == -1) { - return store; - } - var fragment = url.split("#"); - var splitArray = fragment[1].split("&"); - var _g = 0; - var _g1 = splitArray.length; - while(_g < _g1) { - var i = _g++; - var splitByEqual = splitArray[i].split("="); - var regexPlus = new EReg("\\+","g"); - var key = splitByEqual[0]; - var value = ""; - if(splitByEqual.length > 1) { - if(xrfragment_XRF.isVector.match(splitByEqual[1])) { - value = splitByEqual[1]; - } else { - var s = regexPlus.split(splitByEqual[1]).join(" "); - value = decodeURIComponent(s.split("+").join(" ")); - } - } - var ok = xrfragment_Parser.parse(key,value,store,i); - } - if(filter != null && filter != 0) { - var _g = 0; - var _g1 = Reflect.fields(store); - while(_g < _g1.length) { - var key = _g1[_g]; - ++_g; - var xrf = store[key]; - if(!xrf.is(filter)) { - Reflect.deleteField(store,key); - } - } - } - return store; -}; -xrfragment_URI.template = function(uri,vars) { - var parts = uri.split("#"); - if(parts.length == 1) { - return uri; - } - var frag = parts[1]; - frag = StringTools.replace(frag,"{","::"); - frag = StringTools.replace(frag,"}","::"); - frag = new haxe_Template(frag).execute(vars); - frag = StringTools.replace(frag,"null",""); - parts[1] = frag; - return parts.join("#"); -}; -xrfragment_URI.parse = function(stringUrl,flags) { - var r = new EReg("^(?:(?![^:@]+:[^:@/]*@)([^:/?#.]+):)?(?://)?((?:(([^:@]*)(?::([^:@]*))?)?@)?([^:/?#]*)(?::(\\d*))?)(((/(?:[^?#](?![^?#/]*\\.[^?#/.]+(?:[?#]|$)))*/?)?([^?#/]*))(?:\\?([^#]*))?(?:#(.*))?)",""); - if(stringUrl.indexOf("://") == -1 && stringUrl.charAt(0) != "/") { - stringUrl = "/" + stringUrl; - } - r.match(stringUrl); - var url = new xrfragment_URI(); - var _g = 0; - var _g1 = xrfragment_URI._parts.length; - while(_g < _g1) { - var i = _g++; - url[xrfragment_URI._parts[i]] = r.matched(i); - } - if(xrfragment_URI.isRelative(url) == true) { - if(url.directory == null && url.host != null) { - url.file = url.host; - } - url.host = ""; - } - url.hash = { }; - if(url.fragment != null && url.fragment.length > 0) { - url.XRF = xrfragment_URI.parseFragment("#" + url.fragment,flags); - var key; - var _g = 0; - var _g1 = Reflect.fields(url.XRF); - while(_g < _g1.length) { - var key = _g1[_g]; - ++_g; - var v = url.XRF[key]; - url.hash[key] = v["string"]; - } - } - xrfragment_URI.computeVars(url); - return url; -}; -xrfragment_URI.computeVars = function(url) { - var r_r = new RegExp("//","g".split("u").join("")); - if(url.directory != null && url.directory.indexOf("//") != -1) { - url.directory = url.directory.replace(r_r,"/"); - } - if(url.path != null && url.path.indexOf("//") != -1) { - url.path = url.path.replace(r_r,"/"); - } - if(url.file != null && url.file.indexOf("//") != -1) { - url.file = url.file.replace(r_r,"/"); - } - url.URN = url.scheme + "://" + url.host; - if(url.port != null) { - url.URN += ":" + url.port; - } - url.URN += url.directory; - if(url.file != null) { - var parts = url.file.split("."); - if(parts.length > 1) { - url.fileExt = parts.pop(); - } - } -}; -xrfragment_URI.toString = function(url) { - var result = ""; - if(url.scheme != null) { - result += url.scheme + "://"; - } - if(url.user != null) { - result += url.user + ":"; - } - if(url.password != null) { - result += url.password + "@"; - } - if(url.host != null) { - result += url.host; - } - if(url.port != null) { - result += ":" + url.port; - } - if(url.directory != null) { - result += url.directory; - } - if(url.file != null) { - result += url.file; - } - if(url.query != null) { - result += "?" + url.query; - } - if(url.fragment != null) { - result += "#" + url.fragment; - } - return result; -}; -xrfragment_URI.appendURI = function(url,appendedURI) { - if(xrfragment_URI.isRelative(url) == true) { - return xrfragment_URI.appendToRelativeURI(url,appendedURI); - } else { - return xrfragment_URI.appendToAbsoluteURI(url,appendedURI); - } -}; -xrfragment_URI.isRelative = function(url) { - return url.scheme == null; -}; -xrfragment_URI.appendToRelativeURI = function(url,appendedURI) { - if(url.directory == null || url.host == null) { - return xrfragment_URI.cloneURI(appendedURI); - } - var resultURI = new xrfragment_URI(); - resultURI.host = url.host; - resultURI.directory = url.directory; - if(appendedURI.host != null) { - resultURI.directory += appendedURI.host; - } - if(appendedURI.directory != null) { - var directory = appendedURI.directory; - if(appendedURI.host == null) { - resultURI.directory += HxOverrides.substr(directory,1,null); - } else { - resultURI.directory += directory; - } - } - if(appendedURI.file != null) { - resultURI.file = appendedURI.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(appendedURI.query != null) { - resultURI.query = appendedURI.query; - } - if(appendedURI.fragment != null) { - resultURI.fragment = appendedURI.fragment; - } - return resultURI; -}; -xrfragment_URI.appendToAbsoluteURI = function(url,appendedURI) { - var resultURI = new xrfragment_URI(); - if(url.scheme != null) { - resultURI.scheme = url.scheme; - } - if(url.host != null) { - resultURI.host = url.host; - } - var directory = ""; - if(url.directory != null) { - directory = url.directory; - } - if(appendedURI.host != null) { - appendedURI.directory += appendedURI.host; - } - if(appendedURI.directory != null) { - directory += appendedURI.directory; - } - resultURI.directory = directory; - if(appendedURI.file != null) { - resultURI.file = appendedURI.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(appendedURI.query != null) { - resultURI.query = appendedURI.query; - } - if(appendedURI.fragment != null) { - resultURI.fragment = appendedURI.fragment; - } - return resultURI; -}; -xrfragment_URI.toAbsolute = function(url,newUrl) { - var newURI = xrfragment_URI.parse(newUrl,0); - var resultURI = new xrfragment_URI(); - resultURI.port = url.port; - resultURI.source = newUrl; - if(newURI.scheme != null) { - resultURI.scheme = newURI.scheme; - } else { - resultURI.scheme = url.scheme; - } - if(newURI.host != null && newURI.host.length > 0) { - resultURI.host = newURI.host; - resultURI.port = null; - resultURI.fragment = null; - resultURI.hash = { }; - resultURI.XRF = { }; - if(newURI.port != null) { - resultURI.port = newURI.port; - } - } else { - resultURI.host = url.host; - } - var directory = ""; - if(url.directory != null) { - directory = url.directory; - } - if(newURI.directory != null) { - if(newUrl.charAt(0) != "/" && newUrl.indexOf("://") == -1) { - var stripRelative_r = new RegExp("\\./.*","".split("u").join("")); - directory = directory.replace(stripRelative_r,""); - directory += newURI.directory; - } else { - directory = newURI.directory; - } - } - resultURI.directory = directory; - if(newURI.file != null) { - resultURI.file = newURI.file; - } else { - resultURI.file = url.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(newURI.query != null) { - resultURI.query = newURI.query; - } - if(newURI.fragment != null) { - resultURI.fragment = newURI.fragment; - } - resultURI.hash = newURI.hash; - resultURI.XRF = newURI.XRF; - xrfragment_URI.computeVars(resultURI); - return resultURI; -}; -xrfragment_URI.cloneURI = function(url) { - var clonedURI = new xrfragment_URI(); - clonedURI.url = url.url; - clonedURI.source = url.source; - clonedURI.scheme = url.scheme; - clonedURI.authority = url.authority; - clonedURI.userInfo = url.userInfo; - clonedURI.password = url.password; - clonedURI.host = url.host; - clonedURI.port = url.port; - clonedURI.relative = url.relative; - clonedURI.path = url.path; - clonedURI.directory = url.directory; - clonedURI.file = url.file; - clonedURI.query = url.query; - clonedURI.fragment = url.fragment; - return clonedURI; -}; -var xrfragment_XRF = $hx_exports["xrfragment"]["XRF"] = function(_fragment,_flags,_index) { - this.floats = []; - this.shift = []; - this.fragment = _fragment; - this.flags = _flags; - this.index = _index; -}; -xrfragment_XRF.__name__ = true; -xrfragment_XRF.set = function(flag,flags) { - return flags | flag; -}; -xrfragment_XRF.unset = function(flag,flags) { - return flags & ~flag; -}; -xrfragment_XRF.prototype = { - is: function(flag) { - var v = this.flags; - if(!(typeof(v) == "number" && ((v | 0) === v))) { - this.flags = 0; - } - return (this.flags & flag) != 0; - } - ,validate: function(value) { - this.guessType(this,value); - var ok = true; - if(value.length == 0 && !this.is(xrfragment_XRF.T_PREDEFINED_VIEW)) { - ok = false; - } - if(!this.is(xrfragment_XRF.T_FLOAT) && this.is(xrfragment_XRF.T_VECTOR2) && !(typeof(this.x) == "number" && typeof(this.y) == "number")) { - ok = false; - } - if(!(this.is(xrfragment_XRF.T_VECTOR2) || this.is(xrfragment_XRF.T_STRING)) && this.is(xrfragment_XRF.T_VECTOR3) && !(typeof(this.x) == "number" && typeof(this.y) == "number" && typeof(this.z) == "number")) { - ok = false; - } - return ok; - } - ,guessType: function(v,str) { - v.string = str; - if(xrfragment_XRF.isReset.match(v.fragment)) { - v.reset = true; - } - if(v.fragment == "loop") { - v.loop = true; - } - if(typeof(str) != "string") { - return; - } - if(str.length > 0) { - if(xrfragment_XRF.isXRFScheme.match(str)) { - v.xrfScheme = true; - str = str.replace(xrfragment_XRF.isXRFScheme.r,""); - v.string = str; - } - if(str.split(",").length > 1) { - var xyzn = str.split(","); - if(xyzn.length > 0) { - v.x = parseFloat(xyzn[0]); - } - if(xyzn.length > 1) { - v.y = parseFloat(xyzn[1]); - } - if(xyzn.length > 2) { - v.z = parseFloat(xyzn[2]); - } - var _g = 0; - var _g1 = xyzn.length; - while(_g < _g1) { - var i = _g++; - v.shift.push(xrfragment_XRF.isShift.match(xyzn[i])); - v.floats.push(parseFloat(xyzn[i].replace(xrfragment_XRF.isShift.r,""))); - } - } - if(xrfragment_XRF.isColor.match(str)) { - v.color = str; - } - if(xrfragment_XRF.isFloat.match(str)) { - v.x = parseFloat(str); - v.float = v.x; - } - if(xrfragment_XRF.isInt.match(str)) { - v.int = Std.parseInt(str); - v.x = v.int; - v.floats.push(v.x); - } - v.filter = new xrfragment_Filter(v.fragment + "=" + v.string); - } else { - v.filter = new xrfragment_Filter(v.fragment); - } - } -}; -function $getIterator(o) { if( o instanceof Array ) return new haxe_iterators_ArrayIterator(o); else return o.iterator(); } -function $bind(o,m) { if( m == null ) return null; if( m.__id__ == null ) m.__id__ = $global.$haxeUID++; var f; if( o.hx__closures__ == null ) o.hx__closures__ = {}; else f = o.hx__closures__[m.__id__]; if( f == null ) { f = m.bind(o); o.hx__closures__[m.__id__] = f; } return f; } -$global.$haxeUID |= 0; -if(typeof(performance) != "undefined" ? typeof(performance.now) == "function" : false) { - HxOverrides.now = performance.now.bind(performance); -} -if( String.fromCodePoint == null ) String.fromCodePoint = function(c) { return c < 0x10000 ? String.fromCharCode(c) : String.fromCharCode((c>>10)+0xD7C0)+String.fromCharCode((c&0x3FF)+0xDC00); } -String.__name__ = true; -Array.__name__ = true; -js_Boot.__toStr = ({ }).toString; -haxe_Template.splitter = new EReg("(::[A-Za-z0-9_ ()&|!+=/><*.\"-]+::|\\$\\$([A-Za-z0-9_-]+)\\()",""); -haxe_Template.expr_splitter = new EReg("(\\(|\\)|[ \r\n\t]*\"[^\"]*\"[ \r\n\t]*|[!+=/><*.&|-]+)",""); -haxe_Template.expr_trim = new EReg("^[ ]*([^ ]+)[ ]*$",""); -haxe_Template.expr_int = new EReg("^[0-9]+$",""); -haxe_Template.expr_float = new EReg("^([+-]?)(?=\\d|,\\d)\\d*(,\\d*)?([Ee]([+-]?\\d+))?$",""); -haxe_Template.globals = { }; -haxe_Template.hxKeepArrayIterator = new haxe_iterators_ArrayIterator([]); -xrfragment_Parser.error = ""; -xrfragment_Parser.debug = false; -xrfragment_URI.__meta__ = { statics : { template : { keep : null}}}; -xrfragment_URI._parts = ["source","scheme","authority","userInfo","user","password","host","port","relative","path","directory","file","query","fragment"]; -xrfragment_XRF.IMMUTABLE = 1; -xrfragment_XRF.PROP_BIND = 2; -xrfragment_XRF.QUERY_OPERATOR = 4; -xrfragment_XRF.PROMPT = 8; -xrfragment_XRF.CUSTOMFRAG = 16; -xrfragment_XRF.NAVIGATOR = 32; -xrfragment_XRF.METADATA = 64; -xrfragment_XRF.PV_OVERRIDE = 128; -xrfragment_XRF.PV_EXECUTE = 256; -xrfragment_XRF.T_COLOR = 8192; -xrfragment_XRF.T_INT = 16384; -xrfragment_XRF.T_FLOAT = 32768; -xrfragment_XRF.T_VECTOR2 = 65536; -xrfragment_XRF.T_VECTOR3 = 131072; -xrfragment_XRF.T_URL = 262144; -xrfragment_XRF.T_PREDEFINED_VIEW = 524288; -xrfragment_XRF.T_STRING = 1048576; -xrfragment_XRF.T_MEDIAFRAG = 2097152; -xrfragment_XRF.T_DYNAMICKEY = 4194304; -xrfragment_XRF.T_DYNAMICKEYVALUE = 8388608; -xrfragment_XRF.isColor = new EReg("^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$",""); -xrfragment_XRF.isInt = new EReg("^[-0-9]+$",""); -xrfragment_XRF.isFloat = new EReg("^[-0-9]+\\.[0-9]+$",""); -xrfragment_XRF.isVector = new EReg("([,]+|\\w)",""); -xrfragment_XRF.isUrl = new EReg("(://)?\\..*",""); -xrfragment_XRF.isUrlOrPretypedView = new EReg("(^#|://)?\\..*",""); -xrfragment_XRF.isString = new EReg(".*",""); -xrfragment_XRF.operators = new EReg("(^[-]|^[!]|[\\*]$)","g"); -xrfragment_XRF.isProp = new EReg("^.*=[><=]?",""); -xrfragment_XRF.isExclude = new EReg("^-",""); -xrfragment_XRF.isDeep = new EReg("\\*",""); -xrfragment_XRF.isNumber = new EReg("^[0-9\\.]+$",""); -xrfragment_XRF.isMediaFrag = new EReg("^([0-9\\.,\\*+-]+)$",""); -xrfragment_XRF.isReset = new EReg("^!",""); -xrfragment_XRF.isShift = new EReg("^(\\+|--)",""); -xrfragment_XRF.isXRFScheme = new EReg("^xrf://",""); -})(typeof window != "undefined" ? window : typeof global != "undefined" ? global : typeof self != "undefined" ? self : this); -var xrfragment = $hx_exports["xrfragment"]; -export default xrfragment; -// Generated by Haxe 4.3.3 -var $hx_exports = typeof exports != "undefined" ? exports : typeof window != "undefined" ? window : typeof self != "undefined" ? self : this; -(function ($global) { "use strict"; -$hx_exports["xrfragment"] = $hx_exports["xrfragment"] || {}; -var $estr = function() { return js_Boot.__string_rec(this,''); },$hxEnums = $hxEnums || {},$_; -function $extend(from, fields) { - var proto = Object.create(from); - for (var name in fields) proto[name] = fields[name]; - if( fields.toString !== Object.prototype.toString ) proto.toString = fields.toString; - return proto; -} -var EReg = function(r,opt) { - this.r = new RegExp(r,opt.split("u").join("")); -}; -EReg.__name__ = true; -EReg.prototype = { - match: function(s) { - if(this.r.global) { - this.r.lastIndex = 0; - } - this.r.m = this.r.exec(s); - this.r.s = s; - return this.r.m != null; - } - ,matched: function(n) { - if(this.r.m != null && n >= 0 && n < this.r.m.length) { - return this.r.m[n]; - } else { - throw haxe_Exception.thrown("EReg::matched"); - } - } - ,matchedRight: function() { - if(this.r.m == null) { - throw haxe_Exception.thrown("No string matched"); - } - var sz = this.r.m.index + this.r.m[0].length; - return HxOverrides.substr(this.r.s,sz,this.r.s.length - sz); - } - ,matchedPos: function() { - if(this.r.m == null) { - throw haxe_Exception.thrown("No string matched"); - } - return { pos : this.r.m.index, len : this.r.m[0].length}; - } - ,split: function(s) { - var d = "#__delim__#"; - return s.replace(this.r,d).split(d); - } -}; -var HxOverrides = function() { }; -HxOverrides.__name__ = true; -HxOverrides.cca = function(s,index) { - var x = s.charCodeAt(index); - if(x != x) { - return undefined; - } - return x; -}; -HxOverrides.substr = function(s,pos,len) { - if(len == null) { - len = s.length; - } else if(len < 0) { - if(pos == 0) { - len = s.length + len; - } else { - return ""; - } - } - return s.substr(pos,len); -}; -HxOverrides.now = function() { - return Date.now(); -}; -Math.__name__ = true; -var Reflect = function() { }; -Reflect.__name__ = true; -Reflect.field = function(o,field) { - try { - return o[field]; - } catch( _g ) { - return null; - } -}; -Reflect.getProperty = function(o,field) { - var tmp; - if(o == null) { - return null; - } else { - var tmp1; - if(o.__properties__) { - tmp = o.__properties__["get_" + field]; - tmp1 = tmp; - } else { - tmp1 = false; - } - if(tmp1) { - return o[tmp](); - } else { - return o[field]; - } - } -}; -Reflect.fields = function(o) { - var a = []; - if(o != null) { - var hasOwnProperty = Object.prototype.hasOwnProperty; - for( var f in o ) { - if(f != "__id__" && f != "hx__closures__" && hasOwnProperty.call(o,f)) { - a.push(f); - } - } - } - return a; -}; -Reflect.isObject = function(v) { - if(v == null) { - return false; - } - var t = typeof(v); - if(!(t == "string" || t == "object" && v.__enum__ == null)) { - if(t == "function") { - return (v.__name__ || v.__ename__) != null; - } else { - return false; - } - } else { - return true; - } -}; -Reflect.deleteField = function(o,field) { - if(!Object.prototype.hasOwnProperty.call(o,field)) { - return false; - } - delete(o[field]); - return true; -}; -Reflect.copy = function(o) { - if(o == null) { - return null; - } - var o2 = { }; - var _g = 0; - var _g1 = Reflect.fields(o); - while(_g < _g1.length) { - var f = _g1[_g]; - ++_g; - o2[f] = Reflect.field(o,f); - } - return o2; -}; -var Std = function() { }; -Std.__name__ = true; -Std.string = function(s) { - return js_Boot.__string_rec(s,""); -}; -Std.parseInt = function(x) { - var v = parseInt(x); - if(isNaN(v)) { - return null; - } - return v; -}; -var StringBuf = function() { - this.b = ""; -}; -StringBuf.__name__ = true; -var StringTools = function() { }; -StringTools.__name__ = true; -StringTools.isSpace = function(s,pos) { - var c = HxOverrides.cca(s,pos); - if(!(c > 8 && c < 14)) { - return c == 32; - } else { - return true; - } -}; -StringTools.ltrim = function(s) { - var l = s.length; - var r = 0; - while(r < l && StringTools.isSpace(s,r)) ++r; - if(r > 0) { - return HxOverrides.substr(s,r,l - r); - } else { - return s; - } -}; -StringTools.rtrim = function(s) { - var l = s.length; - var r = 0; - while(r < l && StringTools.isSpace(s,l - r - 1)) ++r; - if(r > 0) { - return HxOverrides.substr(s,0,l - r); - } else { - return s; - } -}; -StringTools.trim = function(s) { - return StringTools.ltrim(StringTools.rtrim(s)); -}; -StringTools.replace = function(s,sub,by) { - return s.split(sub).join(by); -}; -var haxe_Exception = function(message,previous,native) { - Error.call(this,message); - this.message = message; - this.__previousException = previous; - this.__nativeException = native != null ? native : this; -}; -haxe_Exception.__name__ = true; -haxe_Exception.caught = function(value) { - if(((value) instanceof haxe_Exception)) { - return value; - } else if(((value) instanceof Error)) { - return new haxe_Exception(value.message,null,value); - } else { - return new haxe_ValueException(value,null,value); - } -}; -haxe_Exception.thrown = function(value) { - if(((value) instanceof haxe_Exception)) { - return value.get_native(); - } else if(((value) instanceof Error)) { - return value; - } else { - var e = new haxe_ValueException(value); - return e; - } -}; -haxe_Exception.__super__ = Error; -haxe_Exception.prototype = $extend(Error.prototype,{ - unwrap: function() { - return this.__nativeException; - } - ,get_native: function() { - return this.__nativeException; - } - ,__properties__: {get_native:"get_native"} -}); -var haxe__$Template_TemplateExpr = $hxEnums["haxe._Template.TemplateExpr"] = { __ename__:true,__constructs__:null - ,OpVar: ($_=function(v) { return {_hx_index:0,v:v,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpVar",$_.__params__ = ["v"],$_) - ,OpExpr: ($_=function(expr) { return {_hx_index:1,expr:expr,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpExpr",$_.__params__ = ["expr"],$_) - ,OpIf: ($_=function(expr,eif,eelse) { return {_hx_index:2,expr:expr,eif:eif,eelse:eelse,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpIf",$_.__params__ = ["expr","eif","eelse"],$_) - ,OpStr: ($_=function(str) { return {_hx_index:3,str:str,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpStr",$_.__params__ = ["str"],$_) - ,OpBlock: ($_=function(l) { return {_hx_index:4,l:l,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpBlock",$_.__params__ = ["l"],$_) - ,OpForeach: ($_=function(expr,loop) { return {_hx_index:5,expr:expr,loop:loop,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpForeach",$_.__params__ = ["expr","loop"],$_) - ,OpMacro: ($_=function(name,params) { return {_hx_index:6,name:name,params:params,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpMacro",$_.__params__ = ["name","params"],$_) -}; -haxe__$Template_TemplateExpr.__constructs__ = [haxe__$Template_TemplateExpr.OpVar,haxe__$Template_TemplateExpr.OpExpr,haxe__$Template_TemplateExpr.OpIf,haxe__$Template_TemplateExpr.OpStr,haxe__$Template_TemplateExpr.OpBlock,haxe__$Template_TemplateExpr.OpForeach,haxe__$Template_TemplateExpr.OpMacro]; -var haxe_iterators_ArrayIterator = function(array) { - this.current = 0; - this.array = array; -}; -haxe_iterators_ArrayIterator.__name__ = true; -haxe_iterators_ArrayIterator.prototype = { - hasNext: function() { - return this.current < this.array.length; - } - ,next: function() { - return this.array[this.current++]; - } -}; -var haxe_Template = function(str) { - var tokens = this.parseTokens(str); - this.expr = this.parseBlock(tokens); - if(!tokens.isEmpty()) { - throw haxe_Exception.thrown("Unexpected '" + Std.string(tokens.first().s) + "'"); - } -}; -haxe_Template.__name__ = true; -haxe_Template.prototype = { - execute: function(context,macros) { - this.macros = macros == null ? { } : macros; - this.context = context; - this.stack = new haxe_ds_List(); - this.buf = new StringBuf(); - this.run(this.expr); - return this.buf.b; - } - ,resolve: function(v) { - if(v == "__current__") { - return this.context; - } - if(Reflect.isObject(this.context)) { - var value = Reflect.getProperty(this.context,v); - if(value != null || Object.prototype.hasOwnProperty.call(this.context,v)) { - return value; - } - } - var _g_head = this.stack.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var ctx = val; - var value = Reflect.getProperty(ctx,v); - if(value != null || Object.prototype.hasOwnProperty.call(ctx,v)) { - return value; - } - } - return Reflect.field(haxe_Template.globals,v); - } - ,parseTokens: function(data) { - var tokens = new haxe_ds_List(); - while(haxe_Template.splitter.match(data)) { - var p = haxe_Template.splitter.matchedPos(); - if(p.pos > 0) { - tokens.add({ p : HxOverrides.substr(data,0,p.pos), s : true, l : null}); - } - if(HxOverrides.cca(data,p.pos) == 58) { - tokens.add({ p : HxOverrides.substr(data,p.pos + 2,p.len - 4), s : false, l : null}); - data = haxe_Template.splitter.matchedRight(); - continue; - } - var parp = p.pos + p.len; - var npar = 1; - var params = []; - var part = ""; - while(true) { - var c = HxOverrides.cca(data,parp); - ++parp; - if(c == 40) { - ++npar; - } else if(c == 41) { - --npar; - if(npar <= 0) { - break; - } - } else if(c == null) { - throw haxe_Exception.thrown("Unclosed macro parenthesis"); - } - if(c == 44 && npar == 1) { - params.push(part); - part = ""; - } else { - part += String.fromCodePoint(c); - } - } - params.push(part); - tokens.add({ p : haxe_Template.splitter.matched(2), s : false, l : params}); - data = HxOverrides.substr(data,parp,data.length - parp); - } - if(data.length > 0) { - tokens.add({ p : data, s : true, l : null}); - } - return tokens; - } - ,parseBlock: function(tokens) { - var l = new haxe_ds_List(); - while(true) { - var t = tokens.first(); - if(t == null) { - break; - } - if(!t.s && (t.p == "end" || t.p == "else" || HxOverrides.substr(t.p,0,7) == "elseif ")) { - break; - } - l.add(this.parse(tokens)); - } - if(l.length == 1) { - return l.first(); - } - return haxe__$Template_TemplateExpr.OpBlock(l); - } - ,parse: function(tokens) { - var t = tokens.pop(); - var p = t.p; - if(t.s) { - return haxe__$Template_TemplateExpr.OpStr(p); - } - if(t.l != null) { - var pe = new haxe_ds_List(); - var _g = 0; - var _g1 = t.l; - while(_g < _g1.length) { - var p1 = _g1[_g]; - ++_g; - pe.add(this.parseBlock(this.parseTokens(p1))); - } - return haxe__$Template_TemplateExpr.OpMacro(p,pe); - } - var kwdEnd = function(kwd) { - var pos = -1; - var length = kwd.length; - if(HxOverrides.substr(p,0,length) == kwd) { - pos = length; - var _g_offset = 0; - var _g_s = HxOverrides.substr(p,length,null); - while(_g_offset < _g_s.length) { - var c = _g_s.charCodeAt(_g_offset++); - if(c == 32) { - ++pos; - } else { - break; - } - } - } - return pos; - }; - var pos = kwdEnd("if"); - if(pos > 0) { - p = HxOverrides.substr(p,pos,p.length - pos); - var e = this.parseExpr(p); - var eif = this.parseBlock(tokens); - var t = tokens.first(); - var eelse; - if(t == null) { - throw haxe_Exception.thrown("Unclosed 'if'"); - } - if(t.p == "end") { - tokens.pop(); - eelse = null; - } else if(t.p == "else") { - tokens.pop(); - eelse = this.parseBlock(tokens); - t = tokens.pop(); - if(t == null || t.p != "end") { - throw haxe_Exception.thrown("Unclosed 'else'"); - } - } else { - t.p = HxOverrides.substr(t.p,4,t.p.length - 4); - eelse = this.parse(tokens); - } - return haxe__$Template_TemplateExpr.OpIf(e,eif,eelse); - } - var pos = kwdEnd("foreach"); - if(pos >= 0) { - p = HxOverrides.substr(p,pos,p.length - pos); - var e = this.parseExpr(p); - var efor = this.parseBlock(tokens); - var t = tokens.pop(); - if(t == null || t.p != "end") { - throw haxe_Exception.thrown("Unclosed 'foreach'"); - } - return haxe__$Template_TemplateExpr.OpForeach(e,efor); - } - if(haxe_Template.expr_splitter.match(p)) { - return haxe__$Template_TemplateExpr.OpExpr(this.parseExpr(p)); - } - return haxe__$Template_TemplateExpr.OpVar(p); - } - ,parseExpr: function(data) { - var l = new haxe_ds_List(); - var expr = data; - while(haxe_Template.expr_splitter.match(data)) { - var p = haxe_Template.expr_splitter.matchedPos(); - var k = p.pos + p.len; - if(p.pos != 0) { - l.add({ p : HxOverrides.substr(data,0,p.pos), s : true}); - } - var p1 = haxe_Template.expr_splitter.matched(0); - l.add({ p : p1, s : p1.indexOf("\"") >= 0}); - data = haxe_Template.expr_splitter.matchedRight(); - } - if(data.length != 0) { - var _g_offset = 0; - var _g_s = data; - while(_g_offset < _g_s.length) { - var _g_key = _g_offset; - var _g_value = _g_s.charCodeAt(_g_offset++); - var i = _g_key; - var c = _g_value; - if(c != 32) { - l.add({ p : HxOverrides.substr(data,i,null), s : true}); - break; - } - } - } - var e; - try { - e = this.makeExpr(l); - if(!l.isEmpty()) { - throw haxe_Exception.thrown(l.first().p); - } - } catch( _g ) { - var _g1 = haxe_Exception.caught(_g).unwrap(); - if(typeof(_g1) == "string") { - var s = _g1; - throw haxe_Exception.thrown("Unexpected '" + s + "' in " + expr); - } else { - throw _g; - } - } - return function() { - try { - return e(); - } catch( _g ) { - var exc = haxe_Exception.caught(_g).unwrap(); - throw haxe_Exception.thrown("Error : " + Std.string(exc) + " in " + expr); - } - }; - } - ,makeConst: function(v) { - haxe_Template.expr_trim.match(v); - v = haxe_Template.expr_trim.matched(1); - if(HxOverrides.cca(v,0) == 34) { - var str = HxOverrides.substr(v,1,v.length - 2); - return function() { - return str; - }; - } - if(haxe_Template.expr_int.match(v)) { - var i = Std.parseInt(v); - return function() { - return i; - }; - } - if(haxe_Template.expr_float.match(v)) { - var f = parseFloat(v); - return function() { - return f; - }; - } - var me = this; - return function() { - return me.resolve(v); - }; - } - ,makePath: function(e,l) { - var p = l.first(); - if(p == null || p.p != ".") { - return e; - } - l.pop(); - var field = l.pop(); - if(field == null || !field.s) { - throw haxe_Exception.thrown(field.p); - } - var f = field.p; - haxe_Template.expr_trim.match(f); - f = haxe_Template.expr_trim.matched(1); - return this.makePath(function() { - return Reflect.field(e(),f); - },l); - } - ,makeExpr: function(l) { - return this.makePath(this.makeExpr2(l),l); - } - ,skipSpaces: function(l) { - var p = l.first(); - while(p != null) { - var _g_offset = 0; - var _g_s = p.p; - while(_g_offset < _g_s.length) { - var c = _g_s.charCodeAt(_g_offset++); - if(c != 32) { - return; - } - } - l.pop(); - p = l.first(); - } - } - ,makeExpr2: function(l) { - this.skipSpaces(l); - var p = l.pop(); - this.skipSpaces(l); - if(p == null) { - throw haxe_Exception.thrown(""); - } - if(p.s) { - return this.makeConst(p.p); - } - switch(p.p) { - case "!": - var e = this.makeExpr(l); - return function() { - var v = e(); - if(v != null) { - return v == false; - } else { - return true; - } - }; - case "(": - this.skipSpaces(l); - var e1 = this.makeExpr(l); - this.skipSpaces(l); - var p1 = l.pop(); - if(p1 == null || p1.s) { - throw haxe_Exception.thrown(p1); - } - if(p1.p == ")") { - return e1; - } - this.skipSpaces(l); - var e2 = this.makeExpr(l); - this.skipSpaces(l); - var p2 = l.pop(); - this.skipSpaces(l); - if(p2 == null || p2.p != ")") { - throw haxe_Exception.thrown(p2); - } - switch(p1.p) { - case "!=": - return function() { - return e1() != e2(); - }; - case "&&": - return function() { - return e1() && e2(); - }; - case "*": - return function() { - return e1() * e2(); - }; - case "+": - return function() { - return e1() + e2(); - }; - case "-": - return function() { - return e1() - e2(); - }; - case "/": - return function() { - return e1() / e2(); - }; - case "<": - return function() { - return e1() < e2(); - }; - case "<=": - return function() { - return e1() <= e2(); - }; - case "==": - return function() { - return e1() == e2(); - }; - case ">": - return function() { - return e1() > e2(); - }; - case ">=": - return function() { - return e1() >= e2(); - }; - case "||": - return function() { - return e1() || e2(); - }; - default: - throw haxe_Exception.thrown("Unknown operation " + p1.p); - } - break; - case "-": - var e3 = this.makeExpr(l); - return function() { - return -e3(); - }; - } - throw haxe_Exception.thrown(p.p); - } - ,run: function(e) { - switch(e._hx_index) { - case 0: - var v = e.v; - var _this = this.buf; - var x = Std.string(this.resolve(v)); - _this.b += Std.string(x); - break; - case 1: - var e1 = e.expr; - var _this = this.buf; - var x = Std.string(e1()); - _this.b += Std.string(x); - break; - case 2: - var e1 = e.expr; - var eif = e.eif; - var eelse = e.eelse; - var v = e1(); - if(v == null || v == false) { - if(eelse != null) { - this.run(eelse); - } - } else { - this.run(eif); - } - break; - case 3: - var str = e.str; - this.buf.b += str == null ? "null" : "" + str; - break; - case 4: - var l = e.l; - var _g_head = l.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var e1 = val; - this.run(e1); - } - break; - case 5: - var e1 = e.expr; - var loop = e.loop; - var v = e1(); - try { - var x = $getIterator(v); - if(x.hasNext == null) { - throw haxe_Exception.thrown(null); - } - v = x; - } catch( _g ) { - try { - if(v.hasNext == null) { - throw haxe_Exception.thrown(null); - } - } catch( _g1 ) { - throw haxe_Exception.thrown("Cannot iter on " + Std.string(v)); - } - } - this.stack.push(this.context); - var v1 = v; - var ctx = v1; - while(ctx.hasNext()) { - var ctx1 = ctx.next(); - this.context = ctx1; - this.run(loop); - } - this.context = this.stack.pop(); - break; - case 6: - var m = e.name; - var params = e.params; - var v = Reflect.field(this.macros,m); - var pl = []; - var old = this.buf; - pl.push($bind(this,this.resolve)); - var _g_head = params.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var p = val; - if(p._hx_index == 0) { - var v1 = p.v; - pl.push(this.resolve(v1)); - } else { - this.buf = new StringBuf(); - this.run(p); - pl.push(this.buf.b); - } - } - this.buf = old; - try { - var _this = this.buf; - var x = Std.string(v.apply(this.macros,pl)); - _this.b += Std.string(x); - } catch( _g ) { - var e = haxe_Exception.caught(_g).unwrap(); - var plstr; - try { - plstr = pl.join(","); - } catch( _g1 ) { - plstr = "???"; - } - var msg = "Macro call " + m + "(" + plstr + ") failed (" + Std.string(e) + ")"; - throw haxe_Exception.thrown(msg); - } - break; - } - } -}; -var haxe_ValueException = function(value,previous,native) { - haxe_Exception.call(this,String(value),previous,native); - this.value = value; -}; -haxe_ValueException.__name__ = true; -haxe_ValueException.__super__ = haxe_Exception; -haxe_ValueException.prototype = $extend(haxe_Exception.prototype,{ - unwrap: function() { - return this.value; - } -}); -var haxe_ds_List = function() { - this.length = 0; -}; -haxe_ds_List.__name__ = true; -haxe_ds_List.prototype = { - add: function(item) { - var x = new haxe_ds__$List_ListNode(item,null); - if(this.h == null) { - this.h = x; - } else { - this.q.next = x; - } - this.q = x; - this.length++; - } - ,push: function(item) { - var x = new haxe_ds__$List_ListNode(item,this.h); - this.h = x; - if(this.q == null) { - this.q = x; - } - this.length++; - } - ,first: function() { - if(this.h == null) { - return null; - } else { - return this.h.item; - } - } - ,pop: function() { - if(this.h == null) { - return null; - } - var x = this.h.item; - this.h = this.h.next; - if(this.h == null) { - this.q = null; - } - this.length--; - return x; - } - ,isEmpty: function() { - return this.h == null; - } - ,toString: function() { - var s_b = ""; - var first = true; - var l = this.h; - s_b += "{"; - while(l != null) { - if(first) { - first = false; - } else { - s_b += ", "; - } - s_b += Std.string(Std.string(l.item)); - l = l.next; - } - s_b += "}"; - return s_b; - } -}; -var haxe_ds__$List_ListNode = function(item,next) { - this.item = item; - this.next = next; -}; -haxe_ds__$List_ListNode.__name__ = true; -var js_Boot = function() { }; -js_Boot.__name__ = true; -js_Boot.__string_rec = function(o,s) { - if(o == null) { - return "null"; - } - if(s.length >= 5) { - return "<...>"; - } - var t = typeof(o); - if(t == "function" && (o.__name__ || o.__ename__)) { - t = "object"; - } - switch(t) { - case "function": - return ""; - case "object": - if(o.__enum__) { - var e = $hxEnums[o.__enum__]; - var con = e.__constructs__[o._hx_index]; - var n = con._hx_name; - if(con.__params__) { - s = s + "\t"; - return n + "(" + ((function($this) { - var $r; - var _g = []; - { - var _g1 = 0; - var _g2 = con.__params__; - while(true) { - if(!(_g1 < _g2.length)) { - break; - } - var p = _g2[_g1]; - _g1 = _g1 + 1; - _g.push(js_Boot.__string_rec(o[p],s)); - } - } - $r = _g; - return $r; - }(this))).join(",") + ")"; - } else { - return n; - } - } - if(((o) instanceof Array)) { - var str = "["; - s += "\t"; - var _g = 0; - var _g1 = o.length; - while(_g < _g1) { - var i = _g++; - str += (i > 0 ? "," : "") + js_Boot.__string_rec(o[i],s); - } - str += "]"; - return str; - } - var tostr; - try { - tostr = o.toString; - } catch( _g ) { - return "???"; - } - if(tostr != null && tostr != Object.toString && typeof(tostr) == "function") { - var s2 = o.toString(); - if(s2 != "[object Object]") { - return s2; - } - } - var str = "{\n"; - s += "\t"; - var hasp = o.hasOwnProperty != null; - var k = null; - for( k in o ) { - if(hasp && !o.hasOwnProperty(k)) { - continue; - } - if(k == "prototype" || k == "__class__" || k == "__super__" || k == "__interfaces__" || k == "__properties__") { - continue; - } - if(str.length != 2) { - str += ", \n"; - } - str += s + k + " : " + js_Boot.__string_rec(o[k],s); - } - s = s.substring(1); - str += "\n" + s + "}"; - return str; - case "string": - return o; - default: - return String(o); - } -}; -var xrfragment_Filter = $hx_exports["xrfragment"]["Filter"] = function(str) { - this.q = { }; - this.str = ""; - if(str != null) { - this.parse(str); - } -}; -xrfragment_Filter.__name__ = true; -xrfragment_Filter.prototype = { - toObject: function() { - return Reflect.copy(this.q); - } - ,get: function() { - return Reflect.copy(this.q); - } - ,parse: function(str) { - var token = str.split(" "); - var q = { }; - var process = function(str,prefix) { - if(prefix == null) { - prefix = ""; - } - str = StringTools.trim(str); - var k = str.split("=")[0]; - var v = str.split("=")[1]; - var filter = { }; - if(q[prefix + k]) { - filter = q[prefix + k]; - } - if(xrfragment_XRF.isProp.match(str)) { - var oper = ""; - if(str.indexOf(">") != -1) { - oper = ">"; - } - if(str.indexOf("<") != -1) { - oper = "<"; - } - if(xrfragment_XRF.isExclude.match(k)) { - k = HxOverrides.substr(k,1,null); - } - v = HxOverrides.substr(v,oper.length,null); - if(oper.length == 0) { - oper = "="; - } - var rule = { }; - if(xrfragment_XRF.isNumber.match(v)) { - rule[oper] = parseFloat(v); - } else { - rule[oper] = v; - } - q["expr"] = rule; - } - var value = xrfragment_XRF.isDeep.match(str) ? k.split("*").length - 1 : 0; - q["deep"] = value; - var value = xrfragment_XRF.isExclude.match(str) ? false : true; - q["show"] = value; - var value = k.replace(xrfragment_XRF.operators.r,""); - q["key"] = value; - q["value"] = v; - }; - var _g = 0; - var _g1 = token.length; - while(_g < _g1) { - var i = _g++; - process(token[i]); - } - return this.q = q; - } - ,test: function(obj) { - var qualify = false; - var _g = 0; - var _g1 = Reflect.fields(obj); - while(_g < _g1.length) { - var k = _g1[_g]; - ++_g; - var v = Std.string(Reflect.field(obj,k)); - if(this.testProperty(k,v)) { - qualify = true; - } - } - var _g = 0; - var _g1 = Reflect.fields(obj); - while(_g < _g1.length) { - var k = _g1[_g]; - ++_g; - var v = Std.string(Reflect.field(obj,k)); - if(this.testProperty(k,v,true)) { - qualify = false; - } - } - return qualify; - } - ,testProperty: function(property,value,exclude) { - var conds = 0; - var fails = 0; - var qualify = 0; - var testprop = function(expr) { - conds += 1; - fails += expr ? 0 : 1; - return expr; - }; - if(this.q[value] != null) { - var v = this.q[value]; - if(v[property] != null) { - return v[property]; - } - } - if(Reflect.field(this.q,"expr")) { - var f = Reflect.field(this.q,"expr"); - if(!Reflect.field(this.q,"show")) { - if(Reflect.field(f,"!=") != null && testprop((value == null ? "null" : "" + value) == Std.string(Reflect.field(f,"!="))) && exclude) { - ++qualify; - } - } else { - if(Reflect.field(f,"*") != null && testprop(parseFloat(value) != null)) { - ++qualify; - } - if(Reflect.field(f,">") != null && testprop(parseFloat(value) >= parseFloat(Reflect.field(f,">")))) { - ++qualify; - } - if(Reflect.field(f,"<") != null && testprop(parseFloat(value) <= parseFloat(Reflect.field(f,"<")))) { - ++qualify; - } - if(Reflect.field(f,"=") != null && (testprop(value == Reflect.field(f,"=")) || testprop(parseFloat(value) == parseFloat(Reflect.field(f,"="))))) { - ++qualify; - } - } - } - return qualify > 0; - } -}; -var xrfragment_Parser = $hx_exports["xrfragment"]["Parser"] = function() { }; -xrfragment_Parser.__name__ = true; -xrfragment_Parser.parse = function(key,value,store,index) { - var Frag_h = Object.create(null); - Frag_h["#"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_PREDEFINED_VIEW | xrfragment_XRF.PV_EXECUTE; - Frag_h["src"] = xrfragment_XRF.T_URL; - Frag_h["href"] = xrfragment_XRF.T_URL | xrfragment_XRF.T_PREDEFINED_VIEW; - Frag_h["tag"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["pos"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_VECTOR3 | xrfragment_XRF.T_STRING | xrfragment_XRF.METADATA | xrfragment_XRF.NAVIGATOR; - Frag_h["rot"] = xrfragment_XRF.QUERY_OPERATOR | xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_VECTOR3 | xrfragment_XRF.METADATA | xrfragment_XRF.NAVIGATOR; - Frag_h["t"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_FLOAT | xrfragment_XRF.T_VECTOR2 | xrfragment_XRF.NAVIGATOR | xrfragment_XRF.METADATA; - Frag_h["s"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_MEDIAFRAG; - Frag_h["loop"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_PREDEFINED_VIEW; - Frag_h["uv"] = xrfragment_XRF.T_VECTOR2 | xrfragment_XRF.T_MEDIAFRAG; - Frag_h["namespace"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["SPDX"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["unit"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["description"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - var keyStripped = key.replace(xrfragment_XRF.operators.r,""); - var isPVDynamic = key.length > 0 && !Object.prototype.hasOwnProperty.call(Frag_h,key); - if(isPVDynamic) { - var v = new xrfragment_XRF(key,xrfragment_XRF.PV_EXECUTE | xrfragment_XRF.NAVIGATOR,index); - v.validate(value); - v.flags = xrfragment_XRF.set(xrfragment_XRF.T_DYNAMICKEY,v.flags); - if(!Object.prototype.hasOwnProperty.call(Frag_h,key)) { - v.flags = xrfragment_XRF.set(xrfragment_XRF.CUSTOMFRAG,v.flags); - } - if(value.length == 0) { - v.flags = xrfragment_XRF.set(xrfragment_XRF.T_DYNAMICKEYVALUE,v.flags); - } - store[keyStripped] = v; - return true; - } - var v = new xrfragment_XRF(key,Frag_h[key],index); - if(Object.prototype.hasOwnProperty.call(Frag_h,key)) { - if(!v.validate(value)) { - console.log("src/xrfragment/Parser.hx:67:","⚠ fragment '" + key + "' has incompatible value (" + value + ")"); - return false; - } - store[keyStripped] = v; - if(xrfragment_Parser.debug) { - console.log("src/xrfragment/Parser.hx:71:","✔ " + key + ": " + v.string); - } - } else { - if(typeof(value) == "string") { - v.guessType(v,value); - } - v.flags = xrfragment_XRF.set(xrfragment_XRF.CUSTOMFRAG,v.flags); - store[keyStripped] = v; - } - return true; -}; -xrfragment_Parser.getMetaData = function() { - var meta = { title : ["title","og:title","dc.title"], description : ["aria-description","og:description","dc.description"], author : ["author","dc.creator"], publisher : ["publisher","dc.publisher"], website : ["og:site_name","og:url","dc.publisher"], license : ["SPDX","dc.rights"]}; - return meta; -}; -var xrfragment_URI = $hx_exports["xrfragment"]["URI"] = function() { - this.XRF = { }; - this.hash = { }; - this.fragment = ""; -}; -xrfragment_URI.__name__ = true; -xrfragment_URI.parseFragment = function(url,filter) { - var store = { }; - if(url == null || url.indexOf("#") == -1) { - return store; - } - var fragment = url.split("#"); - var splitArray = fragment[1].split("&"); - var _g = 0; - var _g1 = splitArray.length; - while(_g < _g1) { - var i = _g++; - var splitByEqual = splitArray[i].split("="); - var regexPlus = new EReg("\\+","g"); - var key = splitByEqual[0]; - var value = ""; - if(splitByEqual.length > 1) { - if(xrfragment_XRF.isVector.match(splitByEqual[1])) { - value = splitByEqual[1]; - } else { - var s = regexPlus.split(splitByEqual[1]).join(" "); - value = decodeURIComponent(s.split("+").join(" ")); - } - } - var ok = xrfragment_Parser.parse(key,value,store,i); - } - if(filter != null && filter != 0) { - var _g = 0; - var _g1 = Reflect.fields(store); - while(_g < _g1.length) { - var key = _g1[_g]; - ++_g; - var xrf = store[key]; - if(!xrf.is(filter)) { - Reflect.deleteField(store,key); - } - } - } - return store; -}; -xrfragment_URI.template = function(uri,vars) { - var parts = uri.split("#"); - if(parts.length == 1) { - return uri; - } - var frag = parts[1]; - frag = StringTools.replace(frag,"{","::"); - frag = StringTools.replace(frag,"}","::"); - frag = new haxe_Template(frag).execute(vars); - frag = StringTools.replace(frag,"null",""); - parts[1] = frag; - return parts.join("#"); -}; -xrfragment_URI.parse = function(stringUrl,flags) { - var r = new EReg("^(?:(?![^:@]+:[^:@/]*@)([^:/?#.]+):)?(?://)?((?:(([^:@]*)(?::([^:@]*))?)?@)?([^:/?#]*)(?::(\\d*))?)(((/(?:[^?#](?![^?#/]*\\.[^?#/.]+(?:[?#]|$)))*/?)?([^?#/]*))(?:\\?([^#]*))?(?:#(.*))?)",""); - if(stringUrl.indexOf("://") == -1 && stringUrl.charAt(0) != "/") { - stringUrl = "/" + stringUrl; - } - r.match(stringUrl); - var url = new xrfragment_URI(); - var _g = 0; - var _g1 = xrfragment_URI._parts.length; - while(_g < _g1) { - var i = _g++; - url[xrfragment_URI._parts[i]] = r.matched(i); - } - if(xrfragment_URI.isRelative(url) == true) { - if(url.directory == null && url.host != null) { - url.file = url.host; - } - url.host = ""; - } - url.hash = { }; - if(url.fragment != null && url.fragment.length > 0) { - url.XRF = xrfragment_URI.parseFragment("#" + url.fragment,flags); - var key; - var _g = 0; - var _g1 = Reflect.fields(url.XRF); - while(_g < _g1.length) { - var key = _g1[_g]; - ++_g; - var v = url.XRF[key]; - url.hash[key] = v["string"]; - } - } - xrfragment_URI.computeVars(url); - return url; -}; -xrfragment_URI.computeVars = function(url) { - var r_r = new RegExp("//","g".split("u").join("")); - if(url.directory != null && url.directory.indexOf("//") != -1) { - url.directory = url.directory.replace(r_r,"/"); - } - if(url.path != null && url.path.indexOf("//") != -1) { - url.path = url.path.replace(r_r,"/"); - } - if(url.file != null && url.file.indexOf("//") != -1) { - url.file = url.file.replace(r_r,"/"); - } - url.URN = url.scheme + "://" + url.host; - if(url.port != null) { - url.URN += ":" + url.port; - } - url.URN += url.directory; - if(url.file != null) { - var parts = url.file.split("."); - if(parts.length > 1) { - url.fileExt = parts.pop(); - } - } -}; -xrfragment_URI.toString = function(url) { - var result = ""; - if(url.scheme != null) { - result += url.scheme + "://"; - } - if(url.user != null) { - result += url.user + ":"; - } - if(url.password != null) { - result += url.password + "@"; - } - if(url.host != null) { - result += url.host; - } - if(url.port != null) { - result += ":" + url.port; - } - if(url.directory != null) { - result += url.directory; - } - if(url.file != null) { - result += url.file; - } - if(url.query != null) { - result += "?" + url.query; - } - if(url.fragment != null) { - result += "#" + url.fragment; - } - return result; -}; -xrfragment_URI.appendURI = function(url,appendedURI) { - if(xrfragment_URI.isRelative(url) == true) { - return xrfragment_URI.appendToRelativeURI(url,appendedURI); - } else { - return xrfragment_URI.appendToAbsoluteURI(url,appendedURI); - } -}; -xrfragment_URI.isRelative = function(url) { - return url.scheme == null; -}; -xrfragment_URI.appendToRelativeURI = function(url,appendedURI) { - if(url.directory == null || url.host == null) { - return xrfragment_URI.cloneURI(appendedURI); - } - var resultURI = new xrfragment_URI(); - resultURI.host = url.host; - resultURI.directory = url.directory; - if(appendedURI.host != null) { - resultURI.directory += appendedURI.host; - } - if(appendedURI.directory != null) { - var directory = appendedURI.directory; - if(appendedURI.host == null) { - resultURI.directory += HxOverrides.substr(directory,1,null); - } else { - resultURI.directory += directory; - } - } - if(appendedURI.file != null) { - resultURI.file = appendedURI.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(appendedURI.query != null) { - resultURI.query = appendedURI.query; - } - if(appendedURI.fragment != null) { - resultURI.fragment = appendedURI.fragment; - } - return resultURI; -}; -xrfragment_URI.appendToAbsoluteURI = function(url,appendedURI) { - var resultURI = new xrfragment_URI(); - if(url.scheme != null) { - resultURI.scheme = url.scheme; - } - if(url.host != null) { - resultURI.host = url.host; - } - var directory = ""; - if(url.directory != null) { - directory = url.directory; - } - if(appendedURI.host != null) { - appendedURI.directory += appendedURI.host; - } - if(appendedURI.directory != null) { - directory += appendedURI.directory; - } - resultURI.directory = directory; - if(appendedURI.file != null) { - resultURI.file = appendedURI.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(appendedURI.query != null) { - resultURI.query = appendedURI.query; - } - if(appendedURI.fragment != null) { - resultURI.fragment = appendedURI.fragment; - } - return resultURI; -}; -xrfragment_URI.toAbsolute = function(url,newUrl) { - var newURI = xrfragment_URI.parse(newUrl,0); - var resultURI = new xrfragment_URI(); - resultURI.port = url.port; - resultURI.source = newUrl; - if(newURI.scheme != null) { - resultURI.scheme = newURI.scheme; - } else { - resultURI.scheme = url.scheme; - } - if(newURI.host != null && newURI.host.length > 0) { - resultURI.host = newURI.host; - resultURI.port = null; - resultURI.fragment = null; - resultURI.hash = { }; - resultURI.XRF = { }; - if(newURI.port != null) { - resultURI.port = newURI.port; - } - } else { - resultURI.host = url.host; - } - var directory = ""; - if(url.directory != null) { - directory = url.directory; - } - if(newURI.directory != null) { - if(newUrl.charAt(0) != "/" && newUrl.indexOf("://") == -1) { - var stripRelative_r = new RegExp("\\./.*","".split("u").join("")); - directory = directory.replace(stripRelative_r,""); - directory += newURI.directory; - } else { - directory = newURI.directory; - } - } - resultURI.directory = directory; - if(newURI.file != null) { - resultURI.file = newURI.file; - } else { - resultURI.file = url.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(newURI.query != null) { - resultURI.query = newURI.query; - } - if(newURI.fragment != null) { - resultURI.fragment = newURI.fragment; - } - resultURI.hash = newURI.hash; - resultURI.XRF = newURI.XRF; - xrfragment_URI.computeVars(resultURI); - return resultURI; -}; -xrfragment_URI.cloneURI = function(url) { - var clonedURI = new xrfragment_URI(); - clonedURI.url = url.url; - clonedURI.source = url.source; - clonedURI.scheme = url.scheme; - clonedURI.authority = url.authority; - clonedURI.userInfo = url.userInfo; - clonedURI.password = url.password; - clonedURI.host = url.host; - clonedURI.port = url.port; - clonedURI.relative = url.relative; - clonedURI.path = url.path; - clonedURI.directory = url.directory; - clonedURI.file = url.file; - clonedURI.query = url.query; - clonedURI.fragment = url.fragment; - return clonedURI; -}; -var xrfragment_XRF = $hx_exports["xrfragment"]["XRF"] = function(_fragment,_flags,_index) { - this.floats = []; - this.shift = []; - this.fragment = _fragment; - this.flags = _flags; - this.index = _index; -}; -xrfragment_XRF.__name__ = true; -xrfragment_XRF.set = function(flag,flags) { - return flags | flag; -}; -xrfragment_XRF.unset = function(flag,flags) { - return flags & ~flag; -}; -xrfragment_XRF.prototype = { - is: function(flag) { - var v = this.flags; - if(!(typeof(v) == "number" && ((v | 0) === v))) { - this.flags = 0; - } - return (this.flags & flag) != 0; - } - ,validate: function(value) { - this.guessType(this,value); - var ok = true; - if(value.length == 0 && !this.is(xrfragment_XRF.T_PREDEFINED_VIEW)) { - ok = false; - } - if(!this.is(xrfragment_XRF.T_FLOAT) && this.is(xrfragment_XRF.T_VECTOR2) && !(typeof(this.x) == "number" && typeof(this.y) == "number")) { - ok = false; - } - if(!(this.is(xrfragment_XRF.T_VECTOR2) || this.is(xrfragment_XRF.T_STRING)) && this.is(xrfragment_XRF.T_VECTOR3) && !(typeof(this.x) == "number" && typeof(this.y) == "number" && typeof(this.z) == "number")) { - ok = false; - } - return ok; - } - ,guessType: function(v,str) { - v.string = str; - if(xrfragment_XRF.isReset.match(v.fragment)) { - v.reset = true; - } - if(v.fragment == "loop") { - v.loop = true; - } - if(typeof(str) != "string") { - return; - } - if(str.length > 0) { - if(xrfragment_XRF.isXRFScheme.match(str)) { - v.xrfScheme = true; - str = str.replace(xrfragment_XRF.isXRFScheme.r,""); - v.string = str; - } - if(str.split(",").length > 1) { - var xyzn = str.split(","); - if(xyzn.length > 0) { - v.x = parseFloat(xyzn[0]); - } - if(xyzn.length > 1) { - v.y = parseFloat(xyzn[1]); - } - if(xyzn.length > 2) { - v.z = parseFloat(xyzn[2]); - } - var _g = 0; - var _g1 = xyzn.length; - while(_g < _g1) { - var i = _g++; - v.shift.push(xrfragment_XRF.isShift.match(xyzn[i])); - v.floats.push(parseFloat(xyzn[i].replace(xrfragment_XRF.isShift.r,""))); - } - } - if(xrfragment_XRF.isColor.match(str)) { - v.color = str; - } - if(xrfragment_XRF.isFloat.match(str)) { - v.x = parseFloat(str); - v.float = v.x; - } - if(xrfragment_XRF.isInt.match(str)) { - v.int = Std.parseInt(str); - v.x = v.int; - v.floats.push(v.x); - } - v.filter = new xrfragment_Filter(v.fragment + "=" + v.string); - } else { - v.filter = new xrfragment_Filter(v.fragment); - } - } -}; -function $getIterator(o) { if( o instanceof Array ) return new haxe_iterators_ArrayIterator(o); else return o.iterator(); } -function $bind(o,m) { if( m == null ) return null; if( m.__id__ == null ) m.__id__ = $global.$haxeUID++; var f; if( o.hx__closures__ == null ) o.hx__closures__ = {}; else f = o.hx__closures__[m.__id__]; if( f == null ) { f = m.bind(o); o.hx__closures__[m.__id__] = f; } return f; } -$global.$haxeUID |= 0; -if(typeof(performance) != "undefined" ? typeof(performance.now) == "function" : false) { - HxOverrides.now = performance.now.bind(performance); -} -if( String.fromCodePoint == null ) String.fromCodePoint = function(c) { return c < 0x10000 ? String.fromCharCode(c) : String.fromCharCode((c>>10)+0xD7C0)+String.fromCharCode((c&0x3FF)+0xDC00); } -String.__name__ = true; -Array.__name__ = true; -js_Boot.__toStr = ({ }).toString; -haxe_Template.splitter = new EReg("(::[A-Za-z0-9_ ()&|!+=/><*.\"-]+::|\\$\\$([A-Za-z0-9_-]+)\\()",""); -haxe_Template.expr_splitter = new EReg("(\\(|\\)|[ \r\n\t]*\"[^\"]*\"[ \r\n\t]*|[!+=/><*.&|-]+)",""); -haxe_Template.expr_trim = new EReg("^[ ]*([^ ]+)[ ]*$",""); -haxe_Template.expr_int = new EReg("^[0-9]+$",""); -haxe_Template.expr_float = new EReg("^([+-]?)(?=\\d|,\\d)\\d*(,\\d*)?([Ee]([+-]?\\d+))?$",""); -haxe_Template.globals = { }; -haxe_Template.hxKeepArrayIterator = new haxe_iterators_ArrayIterator([]); -xrfragment_Parser.error = ""; -xrfragment_Parser.debug = false; -xrfragment_URI.__meta__ = { statics : { template : { keep : null}}}; -xrfragment_URI._parts = ["source","scheme","authority","userInfo","user","password","host","port","relative","path","directory","file","query","fragment"]; -xrfragment_XRF.IMMUTABLE = 1; -xrfragment_XRF.PROP_BIND = 2; -xrfragment_XRF.QUERY_OPERATOR = 4; -xrfragment_XRF.PROMPT = 8; -xrfragment_XRF.CUSTOMFRAG = 16; -xrfragment_XRF.NAVIGATOR = 32; -xrfragment_XRF.METADATA = 64; -xrfragment_XRF.PV_OVERRIDE = 128; -xrfragment_XRF.PV_EXECUTE = 256; -xrfragment_XRF.T_COLOR = 8192; -xrfragment_XRF.T_INT = 16384; -xrfragment_XRF.T_FLOAT = 32768; -xrfragment_XRF.T_VECTOR2 = 65536; -xrfragment_XRF.T_VECTOR3 = 131072; -xrfragment_XRF.T_URL = 262144; -xrfragment_XRF.T_PREDEFINED_VIEW = 524288; -xrfragment_XRF.T_STRING = 1048576; -xrfragment_XRF.T_MEDIAFRAG = 2097152; -xrfragment_XRF.T_DYNAMICKEY = 4194304; -xrfragment_XRF.T_DYNAMICKEYVALUE = 8388608; -xrfragment_XRF.isColor = new EReg("^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$",""); -xrfragment_XRF.isInt = new EReg("^[-0-9]+$",""); -xrfragment_XRF.isFloat = new EReg("^[-0-9]+\\.[0-9]+$",""); -xrfragment_XRF.isVector = new EReg("([,]+|\\w)",""); -xrfragment_XRF.isUrl = new EReg("(://)?\\..*",""); -xrfragment_XRF.isUrlOrPretypedView = new EReg("(^#|://)?\\..*",""); -xrfragment_XRF.isString = new EReg(".*",""); -xrfragment_XRF.operators = new EReg("(^[-]|^[!]|[\\*]$)","g"); -xrfragment_XRF.isProp = new EReg("^.*=[><=]?",""); -xrfragment_XRF.isExclude = new EReg("^-",""); -xrfragment_XRF.isDeep = new EReg("\\*",""); -xrfragment_XRF.isNumber = new EReg("^[0-9\\.]+$",""); -xrfragment_XRF.isMediaFrag = new EReg("^([0-9\\.,\\*+-]+)$",""); -xrfragment_XRF.isReset = new EReg("^!",""); -xrfragment_XRF.isShift = new EReg("^(\\+|--)",""); -xrfragment_XRF.isXRFScheme = new EReg("^xrf://",""); -})(typeof window != "undefined" ? window : typeof global != "undefined" ? global : typeof self != "undefined" ? self : this); -var xrfragment = $hx_exports["xrfragment"]; -export default xrfragment; -// Generated by Haxe 4.3.3 -var $hx_exports = typeof exports != "undefined" ? exports : typeof window != "undefined" ? window : typeof self != "undefined" ? self : this; -(function ($global) { "use strict"; -$hx_exports["xrfragment"] = $hx_exports["xrfragment"] || {}; -var $estr = function() { return js_Boot.__string_rec(this,''); },$hxEnums = $hxEnums || {},$_; -function $extend(from, fields) { - var proto = Object.create(from); - for (var name in fields) proto[name] = fields[name]; - if( fields.toString !== Object.prototype.toString ) proto.toString = fields.toString; - return proto; -} -var EReg = function(r,opt) { - this.r = new RegExp(r,opt.split("u").join("")); -}; -EReg.__name__ = true; -EReg.prototype = { - match: function(s) { - if(this.r.global) { - this.r.lastIndex = 0; - } - this.r.m = this.r.exec(s); - this.r.s = s; - return this.r.m != null; - } - ,matched: function(n) { - if(this.r.m != null && n >= 0 && n < this.r.m.length) { - return this.r.m[n]; - } else { - throw haxe_Exception.thrown("EReg::matched"); - } - } - ,matchedRight: function() { - if(this.r.m == null) { - throw haxe_Exception.thrown("No string matched"); - } - var sz = this.r.m.index + this.r.m[0].length; - return HxOverrides.substr(this.r.s,sz,this.r.s.length - sz); - } - ,matchedPos: function() { - if(this.r.m == null) { - throw haxe_Exception.thrown("No string matched"); - } - return { pos : this.r.m.index, len : this.r.m[0].length}; - } - ,split: function(s) { - var d = "#__delim__#"; - return s.replace(this.r,d).split(d); - } -}; -var HxOverrides = function() { }; -HxOverrides.__name__ = true; -HxOverrides.cca = function(s,index) { - var x = s.charCodeAt(index); - if(x != x) { - return undefined; - } - return x; -}; -HxOverrides.substr = function(s,pos,len) { - if(len == null) { - len = s.length; - } else if(len < 0) { - if(pos == 0) { - len = s.length + len; - } else { - return ""; - } - } - return s.substr(pos,len); -}; -HxOverrides.now = function() { - return Date.now(); -}; -Math.__name__ = true; -var Reflect = function() { }; -Reflect.__name__ = true; -Reflect.field = function(o,field) { - try { - return o[field]; - } catch( _g ) { - return null; - } -}; -Reflect.getProperty = function(o,field) { - var tmp; - if(o == null) { - return null; - } else { - var tmp1; - if(o.__properties__) { - tmp = o.__properties__["get_" + field]; - tmp1 = tmp; - } else { - tmp1 = false; - } - if(tmp1) { - return o[tmp](); - } else { - return o[field]; - } - } -}; -Reflect.fields = function(o) { - var a = []; - if(o != null) { - var hasOwnProperty = Object.prototype.hasOwnProperty; - for( var f in o ) { - if(f != "__id__" && f != "hx__closures__" && hasOwnProperty.call(o,f)) { - a.push(f); - } - } - } - return a; -}; -Reflect.isObject = function(v) { - if(v == null) { - return false; - } - var t = typeof(v); - if(!(t == "string" || t == "object" && v.__enum__ == null)) { - if(t == "function") { - return (v.__name__ || v.__ename__) != null; - } else { - return false; - } - } else { - return true; - } -}; -Reflect.deleteField = function(o,field) { - if(!Object.prototype.hasOwnProperty.call(o,field)) { - return false; - } - delete(o[field]); - return true; -}; -Reflect.copy = function(o) { - if(o == null) { - return null; - } - var o2 = { }; - var _g = 0; - var _g1 = Reflect.fields(o); - while(_g < _g1.length) { - var f = _g1[_g]; - ++_g; - o2[f] = Reflect.field(o,f); - } - return o2; -}; -var Std = function() { }; -Std.__name__ = true; -Std.string = function(s) { - return js_Boot.__string_rec(s,""); -}; -Std.parseInt = function(x) { - var v = parseInt(x); - if(isNaN(v)) { - return null; - } - return v; -}; -var StringBuf = function() { - this.b = ""; -}; -StringBuf.__name__ = true; -var StringTools = function() { }; -StringTools.__name__ = true; -StringTools.isSpace = function(s,pos) { - var c = HxOverrides.cca(s,pos); - if(!(c > 8 && c < 14)) { - return c == 32; - } else { - return true; - } -}; -StringTools.ltrim = function(s) { - var l = s.length; - var r = 0; - while(r < l && StringTools.isSpace(s,r)) ++r; - if(r > 0) { - return HxOverrides.substr(s,r,l - r); - } else { - return s; - } -}; -StringTools.rtrim = function(s) { - var l = s.length; - var r = 0; - while(r < l && StringTools.isSpace(s,l - r - 1)) ++r; - if(r > 0) { - return HxOverrides.substr(s,0,l - r); - } else { - return s; - } -}; -StringTools.trim = function(s) { - return StringTools.ltrim(StringTools.rtrim(s)); -}; -StringTools.replace = function(s,sub,by) { - return s.split(sub).join(by); -}; -var haxe_Exception = function(message,previous,native) { - Error.call(this,message); - this.message = message; - this.__previousException = previous; - this.__nativeException = native != null ? native : this; -}; -haxe_Exception.__name__ = true; -haxe_Exception.caught = function(value) { - if(((value) instanceof haxe_Exception)) { - return value; - } else if(((value) instanceof Error)) { - return new haxe_Exception(value.message,null,value); - } else { - return new haxe_ValueException(value,null,value); - } -}; -haxe_Exception.thrown = function(value) { - if(((value) instanceof haxe_Exception)) { - return value.get_native(); - } else if(((value) instanceof Error)) { - return value; - } else { - var e = new haxe_ValueException(value); - return e; - } -}; -haxe_Exception.__super__ = Error; -haxe_Exception.prototype = $extend(Error.prototype,{ - unwrap: function() { - return this.__nativeException; - } - ,get_native: function() { - return this.__nativeException; - } - ,__properties__: {get_native:"get_native"} -}); -var haxe__$Template_TemplateExpr = $hxEnums["haxe._Template.TemplateExpr"] = { __ename__:true,__constructs__:null - ,OpVar: ($_=function(v) { return {_hx_index:0,v:v,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpVar",$_.__params__ = ["v"],$_) - ,OpExpr: ($_=function(expr) { return {_hx_index:1,expr:expr,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpExpr",$_.__params__ = ["expr"],$_) - ,OpIf: ($_=function(expr,eif,eelse) { return {_hx_index:2,expr:expr,eif:eif,eelse:eelse,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpIf",$_.__params__ = ["expr","eif","eelse"],$_) - ,OpStr: ($_=function(str) { return {_hx_index:3,str:str,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpStr",$_.__params__ = ["str"],$_) - ,OpBlock: ($_=function(l) { return {_hx_index:4,l:l,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpBlock",$_.__params__ = ["l"],$_) - ,OpForeach: ($_=function(expr,loop) { return {_hx_index:5,expr:expr,loop:loop,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpForeach",$_.__params__ = ["expr","loop"],$_) - ,OpMacro: ($_=function(name,params) { return {_hx_index:6,name:name,params:params,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpMacro",$_.__params__ = ["name","params"],$_) -}; -haxe__$Template_TemplateExpr.__constructs__ = [haxe__$Template_TemplateExpr.OpVar,haxe__$Template_TemplateExpr.OpExpr,haxe__$Template_TemplateExpr.OpIf,haxe__$Template_TemplateExpr.OpStr,haxe__$Template_TemplateExpr.OpBlock,haxe__$Template_TemplateExpr.OpForeach,haxe__$Template_TemplateExpr.OpMacro]; -var haxe_iterators_ArrayIterator = function(array) { - this.current = 0; - this.array = array; -}; -haxe_iterators_ArrayIterator.__name__ = true; -haxe_iterators_ArrayIterator.prototype = { - hasNext: function() { - return this.current < this.array.length; - } - ,next: function() { - return this.array[this.current++]; - } -}; -var haxe_Template = function(str) { - var tokens = this.parseTokens(str); - this.expr = this.parseBlock(tokens); - if(!tokens.isEmpty()) { - throw haxe_Exception.thrown("Unexpected '" + Std.string(tokens.first().s) + "'"); - } -}; -haxe_Template.__name__ = true; -haxe_Template.prototype = { - execute: function(context,macros) { - this.macros = macros == null ? { } : macros; - this.context = context; - this.stack = new haxe_ds_List(); - this.buf = new StringBuf(); - this.run(this.expr); - return this.buf.b; - } - ,resolve: function(v) { - if(v == "__current__") { - return this.context; - } - if(Reflect.isObject(this.context)) { - var value = Reflect.getProperty(this.context,v); - if(value != null || Object.prototype.hasOwnProperty.call(this.context,v)) { - return value; - } - } - var _g_head = this.stack.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var ctx = val; - var value = Reflect.getProperty(ctx,v); - if(value != null || Object.prototype.hasOwnProperty.call(ctx,v)) { - return value; - } - } - return Reflect.field(haxe_Template.globals,v); - } - ,parseTokens: function(data) { - var tokens = new haxe_ds_List(); - while(haxe_Template.splitter.match(data)) { - var p = haxe_Template.splitter.matchedPos(); - if(p.pos > 0) { - tokens.add({ p : HxOverrides.substr(data,0,p.pos), s : true, l : null}); - } - if(HxOverrides.cca(data,p.pos) == 58) { - tokens.add({ p : HxOverrides.substr(data,p.pos + 2,p.len - 4), s : false, l : null}); - data = haxe_Template.splitter.matchedRight(); - continue; - } - var parp = p.pos + p.len; - var npar = 1; - var params = []; - var part = ""; - while(true) { - var c = HxOverrides.cca(data,parp); - ++parp; - if(c == 40) { - ++npar; - } else if(c == 41) { - --npar; - if(npar <= 0) { - break; - } - } else if(c == null) { - throw haxe_Exception.thrown("Unclosed macro parenthesis"); - } - if(c == 44 && npar == 1) { - params.push(part); - part = ""; - } else { - part += String.fromCodePoint(c); - } - } - params.push(part); - tokens.add({ p : haxe_Template.splitter.matched(2), s : false, l : params}); - data = HxOverrides.substr(data,parp,data.length - parp); - } - if(data.length > 0) { - tokens.add({ p : data, s : true, l : null}); - } - return tokens; - } - ,parseBlock: function(tokens) { - var l = new haxe_ds_List(); - while(true) { - var t = tokens.first(); - if(t == null) { - break; - } - if(!t.s && (t.p == "end" || t.p == "else" || HxOverrides.substr(t.p,0,7) == "elseif ")) { - break; - } - l.add(this.parse(tokens)); - } - if(l.length == 1) { - return l.first(); - } - return haxe__$Template_TemplateExpr.OpBlock(l); - } - ,parse: function(tokens) { - var t = tokens.pop(); - var p = t.p; - if(t.s) { - return haxe__$Template_TemplateExpr.OpStr(p); - } - if(t.l != null) { - var pe = new haxe_ds_List(); - var _g = 0; - var _g1 = t.l; - while(_g < _g1.length) { - var p1 = _g1[_g]; - ++_g; - pe.add(this.parseBlock(this.parseTokens(p1))); - } - return haxe__$Template_TemplateExpr.OpMacro(p,pe); - } - var kwdEnd = function(kwd) { - var pos = -1; - var length = kwd.length; - if(HxOverrides.substr(p,0,length) == kwd) { - pos = length; - var _g_offset = 0; - var _g_s = HxOverrides.substr(p,length,null); - while(_g_offset < _g_s.length) { - var c = _g_s.charCodeAt(_g_offset++); - if(c == 32) { - ++pos; - } else { - break; - } - } - } - return pos; - }; - var pos = kwdEnd("if"); - if(pos > 0) { - p = HxOverrides.substr(p,pos,p.length - pos); - var e = this.parseExpr(p); - var eif = this.parseBlock(tokens); - var t = tokens.first(); - var eelse; - if(t == null) { - throw haxe_Exception.thrown("Unclosed 'if'"); - } - if(t.p == "end") { - tokens.pop(); - eelse = null; - } else if(t.p == "else") { - tokens.pop(); - eelse = this.parseBlock(tokens); - t = tokens.pop(); - if(t == null || t.p != "end") { - throw haxe_Exception.thrown("Unclosed 'else'"); - } - } else { - t.p = HxOverrides.substr(t.p,4,t.p.length - 4); - eelse = this.parse(tokens); - } - return haxe__$Template_TemplateExpr.OpIf(e,eif,eelse); - } - var pos = kwdEnd("foreach"); - if(pos >= 0) { - p = HxOverrides.substr(p,pos,p.length - pos); - var e = this.parseExpr(p); - var efor = this.parseBlock(tokens); - var t = tokens.pop(); - if(t == null || t.p != "end") { - throw haxe_Exception.thrown("Unclosed 'foreach'"); - } - return haxe__$Template_TemplateExpr.OpForeach(e,efor); - } - if(haxe_Template.expr_splitter.match(p)) { - return haxe__$Template_TemplateExpr.OpExpr(this.parseExpr(p)); - } - return haxe__$Template_TemplateExpr.OpVar(p); - } - ,parseExpr: function(data) { - var l = new haxe_ds_List(); - var expr = data; - while(haxe_Template.expr_splitter.match(data)) { - var p = haxe_Template.expr_splitter.matchedPos(); - var k = p.pos + p.len; - if(p.pos != 0) { - l.add({ p : HxOverrides.substr(data,0,p.pos), s : true}); - } - var p1 = haxe_Template.expr_splitter.matched(0); - l.add({ p : p1, s : p1.indexOf("\"") >= 0}); - data = haxe_Template.expr_splitter.matchedRight(); - } - if(data.length != 0) { - var _g_offset = 0; - var _g_s = data; - while(_g_offset < _g_s.length) { - var _g_key = _g_offset; - var _g_value = _g_s.charCodeAt(_g_offset++); - var i = _g_key; - var c = _g_value; - if(c != 32) { - l.add({ p : HxOverrides.substr(data,i,null), s : true}); - break; - } - } - } - var e; - try { - e = this.makeExpr(l); - if(!l.isEmpty()) { - throw haxe_Exception.thrown(l.first().p); - } - } catch( _g ) { - var _g1 = haxe_Exception.caught(_g).unwrap(); - if(typeof(_g1) == "string") { - var s = _g1; - throw haxe_Exception.thrown("Unexpected '" + s + "' in " + expr); - } else { - throw _g; - } - } - return function() { - try { - return e(); - } catch( _g ) { - var exc = haxe_Exception.caught(_g).unwrap(); - throw haxe_Exception.thrown("Error : " + Std.string(exc) + " in " + expr); - } - }; - } - ,makeConst: function(v) { - haxe_Template.expr_trim.match(v); - v = haxe_Template.expr_trim.matched(1); - if(HxOverrides.cca(v,0) == 34) { - var str = HxOverrides.substr(v,1,v.length - 2); - return function() { - return str; - }; - } - if(haxe_Template.expr_int.match(v)) { - var i = Std.parseInt(v); - return function() { - return i; - }; - } - if(haxe_Template.expr_float.match(v)) { - var f = parseFloat(v); - return function() { - return f; - }; - } - var me = this; - return function() { - return me.resolve(v); - }; - } - ,makePath: function(e,l) { - var p = l.first(); - if(p == null || p.p != ".") { - return e; - } - l.pop(); - var field = l.pop(); - if(field == null || !field.s) { - throw haxe_Exception.thrown(field.p); - } - var f = field.p; - haxe_Template.expr_trim.match(f); - f = haxe_Template.expr_trim.matched(1); - return this.makePath(function() { - return Reflect.field(e(),f); - },l); - } - ,makeExpr: function(l) { - return this.makePath(this.makeExpr2(l),l); - } - ,skipSpaces: function(l) { - var p = l.first(); - while(p != null) { - var _g_offset = 0; - var _g_s = p.p; - while(_g_offset < _g_s.length) { - var c = _g_s.charCodeAt(_g_offset++); - if(c != 32) { - return; - } - } - l.pop(); - p = l.first(); - } - } - ,makeExpr2: function(l) { - this.skipSpaces(l); - var p = l.pop(); - this.skipSpaces(l); - if(p == null) { - throw haxe_Exception.thrown(""); - } - if(p.s) { - return this.makeConst(p.p); - } - switch(p.p) { - case "!": - var e = this.makeExpr(l); - return function() { - var v = e(); - if(v != null) { - return v == false; - } else { - return true; - } - }; - case "(": - this.skipSpaces(l); - var e1 = this.makeExpr(l); - this.skipSpaces(l); - var p1 = l.pop(); - if(p1 == null || p1.s) { - throw haxe_Exception.thrown(p1); - } - if(p1.p == ")") { - return e1; - } - this.skipSpaces(l); - var e2 = this.makeExpr(l); - this.skipSpaces(l); - var p2 = l.pop(); - this.skipSpaces(l); - if(p2 == null || p2.p != ")") { - throw haxe_Exception.thrown(p2); - } - switch(p1.p) { - case "!=": - return function() { - return e1() != e2(); - }; - case "&&": - return function() { - return e1() && e2(); - }; - case "*": - return function() { - return e1() * e2(); - }; - case "+": - return function() { - return e1() + e2(); - }; - case "-": - return function() { - return e1() - e2(); - }; - case "/": - return function() { - return e1() / e2(); - }; - case "<": - return function() { - return e1() < e2(); - }; - case "<=": - return function() { - return e1() <= e2(); - }; - case "==": - return function() { - return e1() == e2(); - }; - case ">": - return function() { - return e1() > e2(); - }; - case ">=": - return function() { - return e1() >= e2(); - }; - case "||": - return function() { - return e1() || e2(); - }; - default: - throw haxe_Exception.thrown("Unknown operation " + p1.p); - } - break; - case "-": - var e3 = this.makeExpr(l); - return function() { - return -e3(); - }; - } - throw haxe_Exception.thrown(p.p); - } - ,run: function(e) { - switch(e._hx_index) { - case 0: - var v = e.v; - var _this = this.buf; - var x = Std.string(this.resolve(v)); - _this.b += Std.string(x); - break; - case 1: - var e1 = e.expr; - var _this = this.buf; - var x = Std.string(e1()); - _this.b += Std.string(x); - break; - case 2: - var e1 = e.expr; - var eif = e.eif; - var eelse = e.eelse; - var v = e1(); - if(v == null || v == false) { - if(eelse != null) { - this.run(eelse); - } - } else { - this.run(eif); - } - break; - case 3: - var str = e.str; - this.buf.b += str == null ? "null" : "" + str; - break; - case 4: - var l = e.l; - var _g_head = l.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var e1 = val; - this.run(e1); - } - break; - case 5: - var e1 = e.expr; - var loop = e.loop; - var v = e1(); - try { - var x = $getIterator(v); - if(x.hasNext == null) { - throw haxe_Exception.thrown(null); - } - v = x; - } catch( _g ) { - try { - if(v.hasNext == null) { - throw haxe_Exception.thrown(null); - } - } catch( _g1 ) { - throw haxe_Exception.thrown("Cannot iter on " + Std.string(v)); - } - } - this.stack.push(this.context); - var v1 = v; - var ctx = v1; - while(ctx.hasNext()) { - var ctx1 = ctx.next(); - this.context = ctx1; - this.run(loop); - } - this.context = this.stack.pop(); - break; - case 6: - var m = e.name; - var params = e.params; - var v = Reflect.field(this.macros,m); - var pl = []; - var old = this.buf; - pl.push($bind(this,this.resolve)); - var _g_head = params.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var p = val; - if(p._hx_index == 0) { - var v1 = p.v; - pl.push(this.resolve(v1)); - } else { - this.buf = new StringBuf(); - this.run(p); - pl.push(this.buf.b); - } - } - this.buf = old; - try { - var _this = this.buf; - var x = Std.string(v.apply(this.macros,pl)); - _this.b += Std.string(x); - } catch( _g ) { - var e = haxe_Exception.caught(_g).unwrap(); - var plstr; - try { - plstr = pl.join(","); - } catch( _g1 ) { - plstr = "???"; - } - var msg = "Macro call " + m + "(" + plstr + ") failed (" + Std.string(e) + ")"; - throw haxe_Exception.thrown(msg); - } - break; - } - } -}; -var haxe_ValueException = function(value,previous,native) { - haxe_Exception.call(this,String(value),previous,native); - this.value = value; -}; -haxe_ValueException.__name__ = true; -haxe_ValueException.__super__ = haxe_Exception; -haxe_ValueException.prototype = $extend(haxe_Exception.prototype,{ - unwrap: function() { - return this.value; - } -}); -var haxe_ds_List = function() { - this.length = 0; -}; -haxe_ds_List.__name__ = true; -haxe_ds_List.prototype = { - add: function(item) { - var x = new haxe_ds__$List_ListNode(item,null); - if(this.h == null) { - this.h = x; - } else { - this.q.next = x; - } - this.q = x; - this.length++; - } - ,push: function(item) { - var x = new haxe_ds__$List_ListNode(item,this.h); - this.h = x; - if(this.q == null) { - this.q = x; - } - this.length++; - } - ,first: function() { - if(this.h == null) { - return null; - } else { - return this.h.item; - } - } - ,pop: function() { - if(this.h == null) { - return null; - } - var x = this.h.item; - this.h = this.h.next; - if(this.h == null) { - this.q = null; - } - this.length--; - return x; - } - ,isEmpty: function() { - return this.h == null; - } - ,toString: function() { - var s_b = ""; - var first = true; - var l = this.h; - s_b += "{"; - while(l != null) { - if(first) { - first = false; - } else { - s_b += ", "; - } - s_b += Std.string(Std.string(l.item)); - l = l.next; - } - s_b += "}"; - return s_b; - } -}; -var haxe_ds__$List_ListNode = function(item,next) { - this.item = item; - this.next = next; -}; -haxe_ds__$List_ListNode.__name__ = true; -var js_Boot = function() { }; -js_Boot.__name__ = true; -js_Boot.__string_rec = function(o,s) { - if(o == null) { - return "null"; - } - if(s.length >= 5) { - return "<...>"; - } - var t = typeof(o); - if(t == "function" && (o.__name__ || o.__ename__)) { - t = "object"; - } - switch(t) { - case "function": - return ""; - case "object": - if(o.__enum__) { - var e = $hxEnums[o.__enum__]; - var con = e.__constructs__[o._hx_index]; - var n = con._hx_name; - if(con.__params__) { - s = s + "\t"; - return n + "(" + ((function($this) { - var $r; - var _g = []; - { - var _g1 = 0; - var _g2 = con.__params__; - while(true) { - if(!(_g1 < _g2.length)) { - break; - } - var p = _g2[_g1]; - _g1 = _g1 + 1; - _g.push(js_Boot.__string_rec(o[p],s)); - } - } - $r = _g; - return $r; - }(this))).join(",") + ")"; - } else { - return n; - } - } - if(((o) instanceof Array)) { - var str = "["; - s += "\t"; - var _g = 0; - var _g1 = o.length; - while(_g < _g1) { - var i = _g++; - str += (i > 0 ? "," : "") + js_Boot.__string_rec(o[i],s); - } - str += "]"; - return str; - } - var tostr; - try { - tostr = o.toString; - } catch( _g ) { - return "???"; - } - if(tostr != null && tostr != Object.toString && typeof(tostr) == "function") { - var s2 = o.toString(); - if(s2 != "[object Object]") { - return s2; - } - } - var str = "{\n"; - s += "\t"; - var hasp = o.hasOwnProperty != null; - var k = null; - for( k in o ) { - if(hasp && !o.hasOwnProperty(k)) { - continue; - } - if(k == "prototype" || k == "__class__" || k == "__super__" || k == "__interfaces__" || k == "__properties__") { - continue; - } - if(str.length != 2) { - str += ", \n"; - } - str += s + k + " : " + js_Boot.__string_rec(o[k],s); - } - s = s.substring(1); - str += "\n" + s + "}"; - return str; - case "string": - return o; - default: - return String(o); - } -}; -var xrfragment_Filter = $hx_exports["xrfragment"]["Filter"] = function(str) { - this.q = { }; - this.str = ""; - if(str != null) { - this.parse(str); - } -}; -xrfragment_Filter.__name__ = true; -xrfragment_Filter.prototype = { - toObject: function() { - return Reflect.copy(this.q); - } - ,get: function() { - return Reflect.copy(this.q); - } - ,parse: function(str) { - var token = str.split(" "); - var q = { }; - var process = function(str,prefix) { - if(prefix == null) { - prefix = ""; - } - str = StringTools.trim(str); - var k = str.split("=")[0]; - var v = str.split("=")[1]; - var filter = { }; - if(q[prefix + k]) { - filter = q[prefix + k]; - } - if(xrfragment_XRF.isProp.match(str)) { - var oper = ""; - if(str.indexOf(">") != -1) { - oper = ">"; - } - if(str.indexOf("<") != -1) { - oper = "<"; - } - if(xrfragment_XRF.isExclude.match(k)) { - k = HxOverrides.substr(k,1,null); - } - v = HxOverrides.substr(v,oper.length,null); - if(oper.length == 0) { - oper = "="; - } - var rule = { }; - if(xrfragment_XRF.isNumber.match(v)) { - rule[oper] = parseFloat(v); - } else { - rule[oper] = v; - } - q["expr"] = rule; - } - var value = xrfragment_XRF.isDeep.match(str) ? k.split("*").length - 1 : 0; - q["deep"] = value; - var value = xrfragment_XRF.isExclude.match(str) ? false : true; - q["show"] = value; - var value = k.replace(xrfragment_XRF.operators.r,""); - q["key"] = value; - q["value"] = v; - }; - var _g = 0; - var _g1 = token.length; - while(_g < _g1) { - var i = _g++; - process(token[i]); - } - return this.q = q; - } - ,test: function(obj) { - var qualify = false; - var _g = 0; - var _g1 = Reflect.fields(obj); - while(_g < _g1.length) { - var k = _g1[_g]; - ++_g; - var v = Std.string(Reflect.field(obj,k)); - if(this.testProperty(k,v)) { - qualify = true; - } - } - var _g = 0; - var _g1 = Reflect.fields(obj); - while(_g < _g1.length) { - var k = _g1[_g]; - ++_g; - var v = Std.string(Reflect.field(obj,k)); - if(this.testProperty(k,v,true)) { - qualify = false; - } - } - return qualify; - } - ,testProperty: function(property,value,exclude) { - var conds = 0; - var fails = 0; - var qualify = 0; - var testprop = function(expr) { - conds += 1; - fails += expr ? 0 : 1; - return expr; - }; - if(this.q[value] != null) { - var v = this.q[value]; - if(v[property] != null) { - return v[property]; - } - } - if(Reflect.field(this.q,"expr")) { - var f = Reflect.field(this.q,"expr"); - if(!Reflect.field(this.q,"show")) { - if(Reflect.field(f,"!=") != null && testprop((value == null ? "null" : "" + value) == Std.string(Reflect.field(f,"!="))) && exclude) { - ++qualify; - } - } else { - if(Reflect.field(f,"*") != null && testprop(parseFloat(value) != null)) { - ++qualify; - } - if(Reflect.field(f,">") != null && testprop(parseFloat(value) >= parseFloat(Reflect.field(f,">")))) { - ++qualify; - } - if(Reflect.field(f,"<") != null && testprop(parseFloat(value) <= parseFloat(Reflect.field(f,"<")))) { - ++qualify; - } - if(Reflect.field(f,"=") != null && (testprop(value == Reflect.field(f,"=")) || testprop(parseFloat(value) == parseFloat(Reflect.field(f,"="))))) { - ++qualify; - } - } - } - return qualify > 0; - } -}; -var xrfragment_Parser = $hx_exports["xrfragment"]["Parser"] = function() { }; -xrfragment_Parser.__name__ = true; -xrfragment_Parser.parse = function(key,value,store,index) { - var Frag_h = Object.create(null); - Frag_h["#"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_PREDEFINED_VIEW | xrfragment_XRF.PV_EXECUTE; - Frag_h["src"] = xrfragment_XRF.T_URL; - Frag_h["href"] = xrfragment_XRF.T_URL | xrfragment_XRF.T_PREDEFINED_VIEW; - Frag_h["tag"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["pos"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_VECTOR3 | xrfragment_XRF.T_STRING | xrfragment_XRF.METADATA | xrfragment_XRF.NAVIGATOR; - Frag_h["rot"] = xrfragment_XRF.QUERY_OPERATOR | xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_VECTOR3 | xrfragment_XRF.METADATA | xrfragment_XRF.NAVIGATOR; - Frag_h["t"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_FLOAT | xrfragment_XRF.T_VECTOR2 | xrfragment_XRF.NAVIGATOR | xrfragment_XRF.METADATA; - Frag_h["s"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_MEDIAFRAG; - Frag_h["loop"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_PREDEFINED_VIEW; - Frag_h["uv"] = xrfragment_XRF.T_VECTOR2 | xrfragment_XRF.T_MEDIAFRAG; - Frag_h["namespace"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["SPDX"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["unit"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["description"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - var keyStripped = key.replace(xrfragment_XRF.operators.r,""); - var isPVDynamic = key.length > 0 && !Object.prototype.hasOwnProperty.call(Frag_h,key); - if(isPVDynamic) { - var v = new xrfragment_XRF(key,xrfragment_XRF.PV_EXECUTE | xrfragment_XRF.NAVIGATOR,index); - v.validate(value); - v.flags = xrfragment_XRF.set(xrfragment_XRF.T_DYNAMICKEY,v.flags); - if(!Object.prototype.hasOwnProperty.call(Frag_h,key)) { - v.flags = xrfragment_XRF.set(xrfragment_XRF.CUSTOMFRAG,v.flags); - } - if(value.length == 0) { - v.flags = xrfragment_XRF.set(xrfragment_XRF.T_DYNAMICKEYVALUE,v.flags); - } - store[keyStripped] = v; - return true; - } - var v = new xrfragment_XRF(key,Frag_h[key],index); - if(Object.prototype.hasOwnProperty.call(Frag_h,key)) { - if(!v.validate(value)) { - console.log("src/xrfragment/Parser.hx:67:","⚠ fragment '" + key + "' has incompatible value (" + value + ")"); - return false; - } - store[keyStripped] = v; - if(xrfragment_Parser.debug) { - console.log("src/xrfragment/Parser.hx:71:","✔ " + key + ": " + v.string); - } - } else { - if(typeof(value) == "string") { - v.guessType(v,value); - } - v.flags = xrfragment_XRF.set(xrfragment_XRF.CUSTOMFRAG,v.flags); - store[keyStripped] = v; - } - return true; -}; -xrfragment_Parser.getMetaData = function() { - var meta = { title : ["title","og:title","dc.title"], description : ["aria-description","og:description","dc.description"], author : ["author","dc.creator"], publisher : ["publisher","dc.publisher"], website : ["og:site_name","og:url","dc.publisher"], license : ["SPDX","dc.rights"]}; - return meta; -}; -var xrfragment_URI = $hx_exports["xrfragment"]["URI"] = function() { - this.XRF = { }; - this.hash = { }; - this.fragment = ""; -}; -xrfragment_URI.__name__ = true; -xrfragment_URI.parseFragment = function(url,filter) { - var store = { }; - if(url == null || url.indexOf("#") == -1) { - return store; - } - var fragment = url.split("#"); - var splitArray = fragment[1].split("&"); - var _g = 0; - var _g1 = splitArray.length; - while(_g < _g1) { - var i = _g++; - var splitByEqual = splitArray[i].split("="); - var regexPlus = new EReg("\\+","g"); - var key = splitByEqual[0]; - var value = ""; - if(splitByEqual.length > 1) { - if(xrfragment_XRF.isVector.match(splitByEqual[1])) { - value = splitByEqual[1]; - } else { - var s = regexPlus.split(splitByEqual[1]).join(" "); - value = decodeURIComponent(s.split("+").join(" ")); - } - } - var ok = xrfragment_Parser.parse(key,value,store,i); - } - if(filter != null && filter != 0) { - var _g = 0; - var _g1 = Reflect.fields(store); - while(_g < _g1.length) { - var key = _g1[_g]; - ++_g; - var xrf = store[key]; - if(!xrf.is(filter)) { - Reflect.deleteField(store,key); - } - } - } - return store; -}; -xrfragment_URI.template = function(uri,vars) { - var parts = uri.split("#"); - if(parts.length == 1) { - return uri; - } - var frag = parts[1]; - frag = StringTools.replace(frag,"{","::"); - frag = StringTools.replace(frag,"}","::"); - frag = new haxe_Template(frag).execute(vars); - frag = StringTools.replace(frag,"null",""); - parts[1] = frag; - return parts.join("#"); -}; -xrfragment_URI.parse = function(stringUrl,flags) { - var r = new EReg("^(?:(?![^:@]+:[^:@/]*@)([^:/?#.]+):)?(?://)?((?:(([^:@]*)(?::([^:@]*))?)?@)?([^:/?#]*)(?::(\\d*))?)(((/(?:[^?#](?![^?#/]*\\.[^?#/.]+(?:[?#]|$)))*/?)?([^?#/]*))(?:\\?([^#]*))?(?:#(.*))?)",""); - if(stringUrl.indexOf("://") == -1 && stringUrl.charAt(0) != "/") { - stringUrl = "/" + stringUrl; - } - r.match(stringUrl); - var url = new xrfragment_URI(); - var _g = 0; - var _g1 = xrfragment_URI._parts.length; - while(_g < _g1) { - var i = _g++; - url[xrfragment_URI._parts[i]] = r.matched(i); - } - if(xrfragment_URI.isRelative(url) == true) { - if(url.directory == null && url.host != null) { - url.file = url.host; - } - url.host = ""; - } - url.hash = { }; - if(url.fragment != null && url.fragment.length > 0) { - url.XRF = xrfragment_URI.parseFragment("#" + url.fragment,flags); - var key; - var _g = 0; - var _g1 = Reflect.fields(url.XRF); - while(_g < _g1.length) { - var key = _g1[_g]; - ++_g; - var v = url.XRF[key]; - url.hash[key] = v["string"]; - } - } - xrfragment_URI.computeVars(url); - return url; -}; -xrfragment_URI.computeVars = function(url) { - var r_r = new RegExp("//","g".split("u").join("")); - if(url.directory != null && url.directory.indexOf("//") != -1) { - url.directory = url.directory.replace(r_r,"/"); - } - if(url.path != null && url.path.indexOf("//") != -1) { - url.path = url.path.replace(r_r,"/"); - } - if(url.file != null && url.file.indexOf("//") != -1) { - url.file = url.file.replace(r_r,"/"); - } - url.URN = url.scheme + "://" + url.host; - if(url.port != null) { - url.URN += ":" + url.port; - } - url.URN += url.directory; - if(url.file != null) { - var parts = url.file.split("."); - if(parts.length > 1) { - url.fileExt = parts.pop(); - } - } -}; -xrfragment_URI.toString = function(url) { - var result = ""; - if(url.scheme != null) { - result += url.scheme + "://"; - } - if(url.user != null) { - result += url.user + ":"; - } - if(url.password != null) { - result += url.password + "@"; - } - if(url.host != null) { - result += url.host; - } - if(url.port != null) { - result += ":" + url.port; - } - if(url.directory != null) { - result += url.directory; - } - if(url.file != null) { - result += url.file; - } - if(url.query != null) { - result += "?" + url.query; - } - if(url.fragment != null) { - result += "#" + url.fragment; - } - return result; -}; -xrfragment_URI.appendURI = function(url,appendedURI) { - if(xrfragment_URI.isRelative(url) == true) { - return xrfragment_URI.appendToRelativeURI(url,appendedURI); - } else { - return xrfragment_URI.appendToAbsoluteURI(url,appendedURI); - } -}; -xrfragment_URI.isRelative = function(url) { - return url.scheme == null; -}; -xrfragment_URI.appendToRelativeURI = function(url,appendedURI) { - if(url.directory == null || url.host == null) { - return xrfragment_URI.cloneURI(appendedURI); - } - var resultURI = new xrfragment_URI(); - resultURI.host = url.host; - resultURI.directory = url.directory; - if(appendedURI.host != null) { - resultURI.directory += appendedURI.host; - } - if(appendedURI.directory != null) { - var directory = appendedURI.directory; - if(appendedURI.host == null) { - resultURI.directory += HxOverrides.substr(directory,1,null); - } else { - resultURI.directory += directory; - } - } - if(appendedURI.file != null) { - resultURI.file = appendedURI.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(appendedURI.query != null) { - resultURI.query = appendedURI.query; - } - if(appendedURI.fragment != null) { - resultURI.fragment = appendedURI.fragment; - } - return resultURI; -}; -xrfragment_URI.appendToAbsoluteURI = function(url,appendedURI) { - var resultURI = new xrfragment_URI(); - if(url.scheme != null) { - resultURI.scheme = url.scheme; - } - if(url.host != null) { - resultURI.host = url.host; - } - var directory = ""; - if(url.directory != null) { - directory = url.directory; - } - if(appendedURI.host != null) { - appendedURI.directory += appendedURI.host; - } - if(appendedURI.directory != null) { - directory += appendedURI.directory; - } - resultURI.directory = directory; - if(appendedURI.file != null) { - resultURI.file = appendedURI.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(appendedURI.query != null) { - resultURI.query = appendedURI.query; - } - if(appendedURI.fragment != null) { - resultURI.fragment = appendedURI.fragment; - } - return resultURI; -}; -xrfragment_URI.toAbsolute = function(url,newUrl) { - var newURI = xrfragment_URI.parse(newUrl,0); - var resultURI = new xrfragment_URI(); - resultURI.port = url.port; - resultURI.source = newUrl; - if(newURI.scheme != null) { - resultURI.scheme = newURI.scheme; - } else { - resultURI.scheme = url.scheme; - } - if(newURI.host != null && newURI.host.length > 0) { - resultURI.host = newURI.host; - resultURI.port = null; - resultURI.fragment = null; - resultURI.hash = { }; - resultURI.XRF = { }; - if(newURI.port != null) { - resultURI.port = newURI.port; - } - } else { - resultURI.host = url.host; - } - var directory = ""; - if(url.directory != null) { - directory = url.directory; - } - if(newURI.directory != null) { - if(newUrl.charAt(0) != "/" && newUrl.indexOf("://") == -1) { - var stripRelative_r = new RegExp("\\./.*","".split("u").join("")); - directory = directory.replace(stripRelative_r,""); - directory += newURI.directory; - } else { - directory = newURI.directory; - } - } - resultURI.directory = directory; - if(newURI.file != null) { - resultURI.file = newURI.file; - } else { - resultURI.file = url.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(newURI.query != null) { - resultURI.query = newURI.query; - } - if(newURI.fragment != null) { - resultURI.fragment = newURI.fragment; - } - resultURI.hash = newURI.hash; - resultURI.XRF = newURI.XRF; - xrfragment_URI.computeVars(resultURI); - return resultURI; -}; -xrfragment_URI.cloneURI = function(url) { - var clonedURI = new xrfragment_URI(); - clonedURI.url = url.url; - clonedURI.source = url.source; - clonedURI.scheme = url.scheme; - clonedURI.authority = url.authority; - clonedURI.userInfo = url.userInfo; - clonedURI.password = url.password; - clonedURI.host = url.host; - clonedURI.port = url.port; - clonedURI.relative = url.relative; - clonedURI.path = url.path; - clonedURI.directory = url.directory; - clonedURI.file = url.file; - clonedURI.query = url.query; - clonedURI.fragment = url.fragment; - return clonedURI; -}; -var xrfragment_XRF = $hx_exports["xrfragment"]["XRF"] = function(_fragment,_flags,_index) { - this.floats = []; - this.shift = []; - this.fragment = _fragment; - this.flags = _flags; - this.index = _index; -}; -xrfragment_XRF.__name__ = true; -xrfragment_XRF.set = function(flag,flags) { - return flags | flag; -}; -xrfragment_XRF.unset = function(flag,flags) { - return flags & ~flag; -}; -xrfragment_XRF.prototype = { - is: function(flag) { - var v = this.flags; - if(!(typeof(v) == "number" && ((v | 0) === v))) { - this.flags = 0; - } - return (this.flags & flag) != 0; - } - ,validate: function(value) { - this.guessType(this,value); - var ok = true; - if(value.length == 0 && !this.is(xrfragment_XRF.T_PREDEFINED_VIEW)) { - ok = false; - } - if(!this.is(xrfragment_XRF.T_FLOAT) && this.is(xrfragment_XRF.T_VECTOR2) && !(typeof(this.x) == "number" && typeof(this.y) == "number")) { - ok = false; - } - if(!(this.is(xrfragment_XRF.T_VECTOR2) || this.is(xrfragment_XRF.T_STRING)) && this.is(xrfragment_XRF.T_VECTOR3) && !(typeof(this.x) == "number" && typeof(this.y) == "number" && typeof(this.z) == "number")) { - ok = false; - } - return ok; - } - ,guessType: function(v,str) { - v.string = str; - if(xrfragment_XRF.isReset.match(v.fragment)) { - v.reset = true; - } - if(v.fragment == "loop") { - v.loop = true; - } - if(typeof(str) != "string") { - return; - } - if(str.length > 0) { - if(xrfragment_XRF.isXRFScheme.match(str)) { - v.xrfScheme = true; - str = str.replace(xrfragment_XRF.isXRFScheme.r,""); - v.string = str; - } - if(str.split(",").length > 1) { - var xyzn = str.split(","); - if(xyzn.length > 0) { - v.x = parseFloat(xyzn[0]); - } - if(xyzn.length > 1) { - v.y = parseFloat(xyzn[1]); - } - if(xyzn.length > 2) { - v.z = parseFloat(xyzn[2]); - } - var _g = 0; - var _g1 = xyzn.length; - while(_g < _g1) { - var i = _g++; - v.shift.push(xrfragment_XRF.isShift.match(xyzn[i])); - v.floats.push(parseFloat(xyzn[i].replace(xrfragment_XRF.isShift.r,""))); - } - } - if(xrfragment_XRF.isColor.match(str)) { - v.color = str; - } - if(xrfragment_XRF.isFloat.match(str)) { - v.x = parseFloat(str); - v.float = v.x; - } - if(xrfragment_XRF.isInt.match(str)) { - v.int = Std.parseInt(str); - v.x = v.int; - v.floats.push(v.x); - } - v.filter = new xrfragment_Filter(v.fragment + "=" + v.string); - } else { - v.filter = new xrfragment_Filter(v.fragment); - } - } -}; -function $getIterator(o) { if( o instanceof Array ) return new haxe_iterators_ArrayIterator(o); else return o.iterator(); } -function $bind(o,m) { if( m == null ) return null; if( m.__id__ == null ) m.__id__ = $global.$haxeUID++; var f; if( o.hx__closures__ == null ) o.hx__closures__ = {}; else f = o.hx__closures__[m.__id__]; if( f == null ) { f = m.bind(o); o.hx__closures__[m.__id__] = f; } return f; } -$global.$haxeUID |= 0; -if(typeof(performance) != "undefined" ? typeof(performance.now) == "function" : false) { - HxOverrides.now = performance.now.bind(performance); -} -if( String.fromCodePoint == null ) String.fromCodePoint = function(c) { return c < 0x10000 ? String.fromCharCode(c) : String.fromCharCode((c>>10)+0xD7C0)+String.fromCharCode((c&0x3FF)+0xDC00); } -String.__name__ = true; -Array.__name__ = true; -js_Boot.__toStr = ({ }).toString; -haxe_Template.splitter = new EReg("(::[A-Za-z0-9_ ()&|!+=/><*.\"-]+::|\\$\\$([A-Za-z0-9_-]+)\\()",""); -haxe_Template.expr_splitter = new EReg("(\\(|\\)|[ \r\n\t]*\"[^\"]*\"[ \r\n\t]*|[!+=/><*.&|-]+)",""); -haxe_Template.expr_trim = new EReg("^[ ]*([^ ]+)[ ]*$",""); -haxe_Template.expr_int = new EReg("^[0-9]+$",""); -haxe_Template.expr_float = new EReg("^([+-]?)(?=\\d|,\\d)\\d*(,\\d*)?([Ee]([+-]?\\d+))?$",""); -haxe_Template.globals = { }; -haxe_Template.hxKeepArrayIterator = new haxe_iterators_ArrayIterator([]); -xrfragment_Parser.error = ""; -xrfragment_Parser.debug = false; -xrfragment_URI.__meta__ = { statics : { template : { keep : null}}}; -xrfragment_URI._parts = ["source","scheme","authority","userInfo","user","password","host","port","relative","path","directory","file","query","fragment"]; -xrfragment_XRF.IMMUTABLE = 1; -xrfragment_XRF.PROP_BIND = 2; -xrfragment_XRF.QUERY_OPERATOR = 4; -xrfragment_XRF.PROMPT = 8; -xrfragment_XRF.CUSTOMFRAG = 16; -xrfragment_XRF.NAVIGATOR = 32; -xrfragment_XRF.METADATA = 64; -xrfragment_XRF.PV_OVERRIDE = 128; -xrfragment_XRF.PV_EXECUTE = 256; -xrfragment_XRF.T_COLOR = 8192; -xrfragment_XRF.T_INT = 16384; -xrfragment_XRF.T_FLOAT = 32768; -xrfragment_XRF.T_VECTOR2 = 65536; -xrfragment_XRF.T_VECTOR3 = 131072; -xrfragment_XRF.T_URL = 262144; -xrfragment_XRF.T_PREDEFINED_VIEW = 524288; -xrfragment_XRF.T_STRING = 1048576; -xrfragment_XRF.T_MEDIAFRAG = 2097152; -xrfragment_XRF.T_DYNAMICKEY = 4194304; -xrfragment_XRF.T_DYNAMICKEYVALUE = 8388608; -xrfragment_XRF.isColor = new EReg("^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$",""); -xrfragment_XRF.isInt = new EReg("^[-0-9]+$",""); -xrfragment_XRF.isFloat = new EReg("^[-0-9]+\\.[0-9]+$",""); -xrfragment_XRF.isVector = new EReg("([,]+|\\w)",""); -xrfragment_XRF.isUrl = new EReg("(://)?\\..*",""); -xrfragment_XRF.isUrlOrPretypedView = new EReg("(^#|://)?\\..*",""); -xrfragment_XRF.isString = new EReg(".*",""); -xrfragment_XRF.operators = new EReg("(^[-]|^[!]|[\\*]$)","g"); -xrfragment_XRF.isProp = new EReg("^.*=[><=]?",""); -xrfragment_XRF.isExclude = new EReg("^-",""); -xrfragment_XRF.isDeep = new EReg("\\*",""); -xrfragment_XRF.isNumber = new EReg("^[0-9\\.]+$",""); -xrfragment_XRF.isMediaFrag = new EReg("^([0-9\\.,\\*+-]+)$",""); -xrfragment_XRF.isReset = new EReg("^!",""); -xrfragment_XRF.isShift = new EReg("^(\\+|--)",""); -xrfragment_XRF.isXRFScheme = new EReg("^xrf://",""); -})(typeof window != "undefined" ? window : typeof global != "undefined" ? global : typeof self != "undefined" ? self : this); -var xrfragment = $hx_exports["xrfragment"]; -export default xrfragment; -// Generated by Haxe 4.3.3 -var $hx_exports = typeof exports != "undefined" ? exports : typeof window != "undefined" ? window : typeof self != "undefined" ? self : this; -(function ($global) { "use strict"; -$hx_exports["xrfragment"] = $hx_exports["xrfragment"] || {}; -var $estr = function() { return js_Boot.__string_rec(this,''); },$hxEnums = $hxEnums || {},$_; -function $extend(from, fields) { - var proto = Object.create(from); - for (var name in fields) proto[name] = fields[name]; - if( fields.toString !== Object.prototype.toString ) proto.toString = fields.toString; - return proto; -} -var EReg = function(r,opt) { - this.r = new RegExp(r,opt.split("u").join("")); -}; -EReg.__name__ = true; -EReg.prototype = { - match: function(s) { - if(this.r.global) { - this.r.lastIndex = 0; - } - this.r.m = this.r.exec(s); - this.r.s = s; - return this.r.m != null; - } - ,matched: function(n) { - if(this.r.m != null && n >= 0 && n < this.r.m.length) { - return this.r.m[n]; - } else { - throw haxe_Exception.thrown("EReg::matched"); - } - } - ,matchedRight: function() { - if(this.r.m == null) { - throw haxe_Exception.thrown("No string matched"); - } - var sz = this.r.m.index + this.r.m[0].length; - return HxOverrides.substr(this.r.s,sz,this.r.s.length - sz); - } - ,matchedPos: function() { - if(this.r.m == null) { - throw haxe_Exception.thrown("No string matched"); - } - return { pos : this.r.m.index, len : this.r.m[0].length}; - } - ,split: function(s) { - var d = "#__delim__#"; - return s.replace(this.r,d).split(d); - } -}; -var HxOverrides = function() { }; -HxOverrides.__name__ = true; -HxOverrides.cca = function(s,index) { - var x = s.charCodeAt(index); - if(x != x) { - return undefined; - } - return x; -}; -HxOverrides.substr = function(s,pos,len) { - if(len == null) { - len = s.length; - } else if(len < 0) { - if(pos == 0) { - len = s.length + len; - } else { - return ""; - } - } - return s.substr(pos,len); -}; -HxOverrides.now = function() { - return Date.now(); -}; -Math.__name__ = true; -var Reflect = function() { }; -Reflect.__name__ = true; -Reflect.field = function(o,field) { - try { - return o[field]; - } catch( _g ) { - return null; - } -}; -Reflect.getProperty = function(o,field) { - var tmp; - if(o == null) { - return null; - } else { - var tmp1; - if(o.__properties__) { - tmp = o.__properties__["get_" + field]; - tmp1 = tmp; - } else { - tmp1 = false; - } - if(tmp1) { - return o[tmp](); - } else { - return o[field]; - } - } -}; -Reflect.fields = function(o) { - var a = []; - if(o != null) { - var hasOwnProperty = Object.prototype.hasOwnProperty; - for( var f in o ) { - if(f != "__id__" && f != "hx__closures__" && hasOwnProperty.call(o,f)) { - a.push(f); - } - } - } - return a; -}; -Reflect.isObject = function(v) { - if(v == null) { - return false; - } - var t = typeof(v); - if(!(t == "string" || t == "object" && v.__enum__ == null)) { - if(t == "function") { - return (v.__name__ || v.__ename__) != null; - } else { - return false; - } - } else { - return true; - } -}; -Reflect.deleteField = function(o,field) { - if(!Object.prototype.hasOwnProperty.call(o,field)) { - return false; - } - delete(o[field]); - return true; -}; -Reflect.copy = function(o) { - if(o == null) { - return null; - } - var o2 = { }; - var _g = 0; - var _g1 = Reflect.fields(o); - while(_g < _g1.length) { - var f = _g1[_g]; - ++_g; - o2[f] = Reflect.field(o,f); - } - return o2; -}; -var Std = function() { }; -Std.__name__ = true; -Std.string = function(s) { - return js_Boot.__string_rec(s,""); -}; -Std.parseInt = function(x) { - var v = parseInt(x); - if(isNaN(v)) { - return null; - } - return v; -}; -var StringBuf = function() { - this.b = ""; -}; -StringBuf.__name__ = true; -var StringTools = function() { }; -StringTools.__name__ = true; -StringTools.isSpace = function(s,pos) { - var c = HxOverrides.cca(s,pos); - if(!(c > 8 && c < 14)) { - return c == 32; - } else { - return true; - } -}; -StringTools.ltrim = function(s) { - var l = s.length; - var r = 0; - while(r < l && StringTools.isSpace(s,r)) ++r; - if(r > 0) { - return HxOverrides.substr(s,r,l - r); - } else { - return s; - } -}; -StringTools.rtrim = function(s) { - var l = s.length; - var r = 0; - while(r < l && StringTools.isSpace(s,l - r - 1)) ++r; - if(r > 0) { - return HxOverrides.substr(s,0,l - r); - } else { - return s; - } -}; -StringTools.trim = function(s) { - return StringTools.ltrim(StringTools.rtrim(s)); -}; -StringTools.replace = function(s,sub,by) { - return s.split(sub).join(by); -}; -var haxe_Exception = function(message,previous,native) { - Error.call(this,message); - this.message = message; - this.__previousException = previous; - this.__nativeException = native != null ? native : this; -}; -haxe_Exception.__name__ = true; -haxe_Exception.caught = function(value) { - if(((value) instanceof haxe_Exception)) { - return value; - } else if(((value) instanceof Error)) { - return new haxe_Exception(value.message,null,value); - } else { - return new haxe_ValueException(value,null,value); - } -}; -haxe_Exception.thrown = function(value) { - if(((value) instanceof haxe_Exception)) { - return value.get_native(); - } else if(((value) instanceof Error)) { - return value; - } else { - var e = new haxe_ValueException(value); - return e; - } -}; -haxe_Exception.__super__ = Error; -haxe_Exception.prototype = $extend(Error.prototype,{ - unwrap: function() { - return this.__nativeException; - } - ,get_native: function() { - return this.__nativeException; - } - ,__properties__: {get_native:"get_native"} -}); -var haxe__$Template_TemplateExpr = $hxEnums["haxe._Template.TemplateExpr"] = { __ename__:true,__constructs__:null - ,OpVar: ($_=function(v) { return {_hx_index:0,v:v,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpVar",$_.__params__ = ["v"],$_) - ,OpExpr: ($_=function(expr) { return {_hx_index:1,expr:expr,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpExpr",$_.__params__ = ["expr"],$_) - ,OpIf: ($_=function(expr,eif,eelse) { return {_hx_index:2,expr:expr,eif:eif,eelse:eelse,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpIf",$_.__params__ = ["expr","eif","eelse"],$_) - ,OpStr: ($_=function(str) { return {_hx_index:3,str:str,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpStr",$_.__params__ = ["str"],$_) - ,OpBlock: ($_=function(l) { return {_hx_index:4,l:l,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpBlock",$_.__params__ = ["l"],$_) - ,OpForeach: ($_=function(expr,loop) { return {_hx_index:5,expr:expr,loop:loop,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpForeach",$_.__params__ = ["expr","loop"],$_) - ,OpMacro: ($_=function(name,params) { return {_hx_index:6,name:name,params:params,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpMacro",$_.__params__ = ["name","params"],$_) -}; -haxe__$Template_TemplateExpr.__constructs__ = [haxe__$Template_TemplateExpr.OpVar,haxe__$Template_TemplateExpr.OpExpr,haxe__$Template_TemplateExpr.OpIf,haxe__$Template_TemplateExpr.OpStr,haxe__$Template_TemplateExpr.OpBlock,haxe__$Template_TemplateExpr.OpForeach,haxe__$Template_TemplateExpr.OpMacro]; -var haxe_iterators_ArrayIterator = function(array) { - this.current = 0; - this.array = array; -}; -haxe_iterators_ArrayIterator.__name__ = true; -haxe_iterators_ArrayIterator.prototype = { - hasNext: function() { - return this.current < this.array.length; - } - ,next: function() { - return this.array[this.current++]; - } -}; -var haxe_Template = function(str) { - var tokens = this.parseTokens(str); - this.expr = this.parseBlock(tokens); - if(!tokens.isEmpty()) { - throw haxe_Exception.thrown("Unexpected '" + Std.string(tokens.first().s) + "'"); - } -}; -haxe_Template.__name__ = true; -haxe_Template.prototype = { - execute: function(context,macros) { - this.macros = macros == null ? { } : macros; - this.context = context; - this.stack = new haxe_ds_List(); - this.buf = new StringBuf(); - this.run(this.expr); - return this.buf.b; - } - ,resolve: function(v) { - if(v == "__current__") { - return this.context; - } - if(Reflect.isObject(this.context)) { - var value = Reflect.getProperty(this.context,v); - if(value != null || Object.prototype.hasOwnProperty.call(this.context,v)) { - return value; - } - } - var _g_head = this.stack.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var ctx = val; - var value = Reflect.getProperty(ctx,v); - if(value != null || Object.prototype.hasOwnProperty.call(ctx,v)) { - return value; - } - } - return Reflect.field(haxe_Template.globals,v); - } - ,parseTokens: function(data) { - var tokens = new haxe_ds_List(); - while(haxe_Template.splitter.match(data)) { - var p = haxe_Template.splitter.matchedPos(); - if(p.pos > 0) { - tokens.add({ p : HxOverrides.substr(data,0,p.pos), s : true, l : null}); - } - if(HxOverrides.cca(data,p.pos) == 58) { - tokens.add({ p : HxOverrides.substr(data,p.pos + 2,p.len - 4), s : false, l : null}); - data = haxe_Template.splitter.matchedRight(); - continue; - } - var parp = p.pos + p.len; - var npar = 1; - var params = []; - var part = ""; - while(true) { - var c = HxOverrides.cca(data,parp); - ++parp; - if(c == 40) { - ++npar; - } else if(c == 41) { - --npar; - if(npar <= 0) { - break; - } - } else if(c == null) { - throw haxe_Exception.thrown("Unclosed macro parenthesis"); - } - if(c == 44 && npar == 1) { - params.push(part); - part = ""; - } else { - part += String.fromCodePoint(c); - } - } - params.push(part); - tokens.add({ p : haxe_Template.splitter.matched(2), s : false, l : params}); - data = HxOverrides.substr(data,parp,data.length - parp); - } - if(data.length > 0) { - tokens.add({ p : data, s : true, l : null}); - } - return tokens; - } - ,parseBlock: function(tokens) { - var l = new haxe_ds_List(); - while(true) { - var t = tokens.first(); - if(t == null) { - break; - } - if(!t.s && (t.p == "end" || t.p == "else" || HxOverrides.substr(t.p,0,7) == "elseif ")) { - break; - } - l.add(this.parse(tokens)); - } - if(l.length == 1) { - return l.first(); - } - return haxe__$Template_TemplateExpr.OpBlock(l); - } - ,parse: function(tokens) { - var t = tokens.pop(); - var p = t.p; - if(t.s) { - return haxe__$Template_TemplateExpr.OpStr(p); - } - if(t.l != null) { - var pe = new haxe_ds_List(); - var _g = 0; - var _g1 = t.l; - while(_g < _g1.length) { - var p1 = _g1[_g]; - ++_g; - pe.add(this.parseBlock(this.parseTokens(p1))); - } - return haxe__$Template_TemplateExpr.OpMacro(p,pe); - } - var kwdEnd = function(kwd) { - var pos = -1; - var length = kwd.length; - if(HxOverrides.substr(p,0,length) == kwd) { - pos = length; - var _g_offset = 0; - var _g_s = HxOverrides.substr(p,length,null); - while(_g_offset < _g_s.length) { - var c = _g_s.charCodeAt(_g_offset++); - if(c == 32) { - ++pos; - } else { - break; - } - } - } - return pos; - }; - var pos = kwdEnd("if"); - if(pos > 0) { - p = HxOverrides.substr(p,pos,p.length - pos); - var e = this.parseExpr(p); - var eif = this.parseBlock(tokens); - var t = tokens.first(); - var eelse; - if(t == null) { - throw haxe_Exception.thrown("Unclosed 'if'"); - } - if(t.p == "end") { - tokens.pop(); - eelse = null; - } else if(t.p == "else") { - tokens.pop(); - eelse = this.parseBlock(tokens); - t = tokens.pop(); - if(t == null || t.p != "end") { - throw haxe_Exception.thrown("Unclosed 'else'"); - } - } else { - t.p = HxOverrides.substr(t.p,4,t.p.length - 4); - eelse = this.parse(tokens); - } - return haxe__$Template_TemplateExpr.OpIf(e,eif,eelse); - } - var pos = kwdEnd("foreach"); - if(pos >= 0) { - p = HxOverrides.substr(p,pos,p.length - pos); - var e = this.parseExpr(p); - var efor = this.parseBlock(tokens); - var t = tokens.pop(); - if(t == null || t.p != "end") { - throw haxe_Exception.thrown("Unclosed 'foreach'"); - } - return haxe__$Template_TemplateExpr.OpForeach(e,efor); - } - if(haxe_Template.expr_splitter.match(p)) { - return haxe__$Template_TemplateExpr.OpExpr(this.parseExpr(p)); - } - return haxe__$Template_TemplateExpr.OpVar(p); - } - ,parseExpr: function(data) { - var l = new haxe_ds_List(); - var expr = data; - while(haxe_Template.expr_splitter.match(data)) { - var p = haxe_Template.expr_splitter.matchedPos(); - var k = p.pos + p.len; - if(p.pos != 0) { - l.add({ p : HxOverrides.substr(data,0,p.pos), s : true}); - } - var p1 = haxe_Template.expr_splitter.matched(0); - l.add({ p : p1, s : p1.indexOf("\"") >= 0}); - data = haxe_Template.expr_splitter.matchedRight(); - } - if(data.length != 0) { - var _g_offset = 0; - var _g_s = data; - while(_g_offset < _g_s.length) { - var _g_key = _g_offset; - var _g_value = _g_s.charCodeAt(_g_offset++); - var i = _g_key; - var c = _g_value; - if(c != 32) { - l.add({ p : HxOverrides.substr(data,i,null), s : true}); - break; - } - } - } - var e; - try { - e = this.makeExpr(l); - if(!l.isEmpty()) { - throw haxe_Exception.thrown(l.first().p); - } - } catch( _g ) { - var _g1 = haxe_Exception.caught(_g).unwrap(); - if(typeof(_g1) == "string") { - var s = _g1; - throw haxe_Exception.thrown("Unexpected '" + s + "' in " + expr); - } else { - throw _g; - } - } - return function() { - try { - return e(); - } catch( _g ) { - var exc = haxe_Exception.caught(_g).unwrap(); - throw haxe_Exception.thrown("Error : " + Std.string(exc) + " in " + expr); - } - }; - } - ,makeConst: function(v) { - haxe_Template.expr_trim.match(v); - v = haxe_Template.expr_trim.matched(1); - if(HxOverrides.cca(v,0) == 34) { - var str = HxOverrides.substr(v,1,v.length - 2); - return function() { - return str; - }; - } - if(haxe_Template.expr_int.match(v)) { - var i = Std.parseInt(v); - return function() { - return i; - }; - } - if(haxe_Template.expr_float.match(v)) { - var f = parseFloat(v); - return function() { - return f; - }; - } - var me = this; - return function() { - return me.resolve(v); - }; - } - ,makePath: function(e,l) { - var p = l.first(); - if(p == null || p.p != ".") { - return e; - } - l.pop(); - var field = l.pop(); - if(field == null || !field.s) { - throw haxe_Exception.thrown(field.p); - } - var f = field.p; - haxe_Template.expr_trim.match(f); - f = haxe_Template.expr_trim.matched(1); - return this.makePath(function() { - return Reflect.field(e(),f); - },l); - } - ,makeExpr: function(l) { - return this.makePath(this.makeExpr2(l),l); - } - ,skipSpaces: function(l) { - var p = l.first(); - while(p != null) { - var _g_offset = 0; - var _g_s = p.p; - while(_g_offset < _g_s.length) { - var c = _g_s.charCodeAt(_g_offset++); - if(c != 32) { - return; - } - } - l.pop(); - p = l.first(); - } - } - ,makeExpr2: function(l) { - this.skipSpaces(l); - var p = l.pop(); - this.skipSpaces(l); - if(p == null) { - throw haxe_Exception.thrown(""); - } - if(p.s) { - return this.makeConst(p.p); - } - switch(p.p) { - case "!": - var e = this.makeExpr(l); - return function() { - var v = e(); - if(v != null) { - return v == false; - } else { - return true; - } - }; - case "(": - this.skipSpaces(l); - var e1 = this.makeExpr(l); - this.skipSpaces(l); - var p1 = l.pop(); - if(p1 == null || p1.s) { - throw haxe_Exception.thrown(p1); - } - if(p1.p == ")") { - return e1; - } - this.skipSpaces(l); - var e2 = this.makeExpr(l); - this.skipSpaces(l); - var p2 = l.pop(); - this.skipSpaces(l); - if(p2 == null || p2.p != ")") { - throw haxe_Exception.thrown(p2); - } - switch(p1.p) { - case "!=": - return function() { - return e1() != e2(); - }; - case "&&": - return function() { - return e1() && e2(); - }; - case "*": - return function() { - return e1() * e2(); - }; - case "+": - return function() { - return e1() + e2(); - }; - case "-": - return function() { - return e1() - e2(); - }; - case "/": - return function() { - return e1() / e2(); - }; - case "<": - return function() { - return e1() < e2(); - }; - case "<=": - return function() { - return e1() <= e2(); - }; - case "==": - return function() { - return e1() == e2(); - }; - case ">": - return function() { - return e1() > e2(); - }; - case ">=": - return function() { - return e1() >= e2(); - }; - case "||": - return function() { - return e1() || e2(); - }; - default: - throw haxe_Exception.thrown("Unknown operation " + p1.p); - } - break; - case "-": - var e3 = this.makeExpr(l); - return function() { - return -e3(); - }; - } - throw haxe_Exception.thrown(p.p); - } - ,run: function(e) { - switch(e._hx_index) { - case 0: - var v = e.v; - var _this = this.buf; - var x = Std.string(this.resolve(v)); - _this.b += Std.string(x); - break; - case 1: - var e1 = e.expr; - var _this = this.buf; - var x = Std.string(e1()); - _this.b += Std.string(x); - break; - case 2: - var e1 = e.expr; - var eif = e.eif; - var eelse = e.eelse; - var v = e1(); - if(v == null || v == false) { - if(eelse != null) { - this.run(eelse); - } - } else { - this.run(eif); - } - break; - case 3: - var str = e.str; - this.buf.b += str == null ? "null" : "" + str; - break; - case 4: - var l = e.l; - var _g_head = l.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var e1 = val; - this.run(e1); - } - break; - case 5: - var e1 = e.expr; - var loop = e.loop; - var v = e1(); - try { - var x = $getIterator(v); - if(x.hasNext == null) { - throw haxe_Exception.thrown(null); - } - v = x; - } catch( _g ) { - try { - if(v.hasNext == null) { - throw haxe_Exception.thrown(null); - } - } catch( _g1 ) { - throw haxe_Exception.thrown("Cannot iter on " + Std.string(v)); - } - } - this.stack.push(this.context); - var v1 = v; - var ctx = v1; - while(ctx.hasNext()) { - var ctx1 = ctx.next(); - this.context = ctx1; - this.run(loop); - } - this.context = this.stack.pop(); - break; - case 6: - var m = e.name; - var params = e.params; - var v = Reflect.field(this.macros,m); - var pl = []; - var old = this.buf; - pl.push($bind(this,this.resolve)); - var _g_head = params.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var p = val; - if(p._hx_index == 0) { - var v1 = p.v; - pl.push(this.resolve(v1)); - } else { - this.buf = new StringBuf(); - this.run(p); - pl.push(this.buf.b); - } - } - this.buf = old; - try { - var _this = this.buf; - var x = Std.string(v.apply(this.macros,pl)); - _this.b += Std.string(x); - } catch( _g ) { - var e = haxe_Exception.caught(_g).unwrap(); - var plstr; - try { - plstr = pl.join(","); - } catch( _g1 ) { - plstr = "???"; - } - var msg = "Macro call " + m + "(" + plstr + ") failed (" + Std.string(e) + ")"; - throw haxe_Exception.thrown(msg); - } - break; - } - } -}; -var haxe_ValueException = function(value,previous,native) { - haxe_Exception.call(this,String(value),previous,native); - this.value = value; -}; -haxe_ValueException.__name__ = true; -haxe_ValueException.__super__ = haxe_Exception; -haxe_ValueException.prototype = $extend(haxe_Exception.prototype,{ - unwrap: function() { - return this.value; - } -}); -var haxe_ds_List = function() { - this.length = 0; -}; -haxe_ds_List.__name__ = true; -haxe_ds_List.prototype = { - add: function(item) { - var x = new haxe_ds__$List_ListNode(item,null); - if(this.h == null) { - this.h = x; - } else { - this.q.next = x; - } - this.q = x; - this.length++; - } - ,push: function(item) { - var x = new haxe_ds__$List_ListNode(item,this.h); - this.h = x; - if(this.q == null) { - this.q = x; - } - this.length++; - } - ,first: function() { - if(this.h == null) { - return null; - } else { - return this.h.item; - } - } - ,pop: function() { - if(this.h == null) { - return null; - } - var x = this.h.item; - this.h = this.h.next; - if(this.h == null) { - this.q = null; - } - this.length--; - return x; - } - ,isEmpty: function() { - return this.h == null; - } - ,toString: function() { - var s_b = ""; - var first = true; - var l = this.h; - s_b += "{"; - while(l != null) { - if(first) { - first = false; - } else { - s_b += ", "; - } - s_b += Std.string(Std.string(l.item)); - l = l.next; - } - s_b += "}"; - return s_b; - } -}; -var haxe_ds__$List_ListNode = function(item,next) { - this.item = item; - this.next = next; -}; -haxe_ds__$List_ListNode.__name__ = true; -var js_Boot = function() { }; -js_Boot.__name__ = true; -js_Boot.__string_rec = function(o,s) { - if(o == null) { - return "null"; - } - if(s.length >= 5) { - return "<...>"; - } - var t = typeof(o); - if(t == "function" && (o.__name__ || o.__ename__)) { - t = "object"; - } - switch(t) { - case "function": - return ""; - case "object": - if(o.__enum__) { - var e = $hxEnums[o.__enum__]; - var con = e.__constructs__[o._hx_index]; - var n = con._hx_name; - if(con.__params__) { - s = s + "\t"; - return n + "(" + ((function($this) { - var $r; - var _g = []; - { - var _g1 = 0; - var _g2 = con.__params__; - while(true) { - if(!(_g1 < _g2.length)) { - break; - } - var p = _g2[_g1]; - _g1 = _g1 + 1; - _g.push(js_Boot.__string_rec(o[p],s)); - } - } - $r = _g; - return $r; - }(this))).join(",") + ")"; - } else { - return n; - } - } - if(((o) instanceof Array)) { - var str = "["; - s += "\t"; - var _g = 0; - var _g1 = o.length; - while(_g < _g1) { - var i = _g++; - str += (i > 0 ? "," : "") + js_Boot.__string_rec(o[i],s); - } - str += "]"; - return str; - } - var tostr; - try { - tostr = o.toString; - } catch( _g ) { - return "???"; - } - if(tostr != null && tostr != Object.toString && typeof(tostr) == "function") { - var s2 = o.toString(); - if(s2 != "[object Object]") { - return s2; - } - } - var str = "{\n"; - s += "\t"; - var hasp = o.hasOwnProperty != null; - var k = null; - for( k in o ) { - if(hasp && !o.hasOwnProperty(k)) { - continue; - } - if(k == "prototype" || k == "__class__" || k == "__super__" || k == "__interfaces__" || k == "__properties__") { - continue; - } - if(str.length != 2) { - str += ", \n"; - } - str += s + k + " : " + js_Boot.__string_rec(o[k],s); - } - s = s.substring(1); - str += "\n" + s + "}"; - return str; - case "string": - return o; - default: - return String(o); - } -}; -var xrfragment_Filter = $hx_exports["xrfragment"]["Filter"] = function(str) { - this.q = { }; - this.str = ""; - if(str != null) { - this.parse(str); - } -}; -xrfragment_Filter.__name__ = true; -xrfragment_Filter.prototype = { - toObject: function() { - return Reflect.copy(this.q); - } - ,get: function() { - return Reflect.copy(this.q); - } - ,parse: function(str) { - var token = str.split(" "); - var q = { }; - var process = function(str,prefix) { - if(prefix == null) { - prefix = ""; - } - str = StringTools.trim(str); - var k = str.split("=")[0]; - var v = str.split("=")[1]; - var filter = { }; - if(q[prefix + k]) { - filter = q[prefix + k]; - } - if(xrfragment_XRF.isProp.match(str)) { - var oper = ""; - if(str.indexOf(">") != -1) { - oper = ">"; - } - if(str.indexOf("<") != -1) { - oper = "<"; - } - if(xrfragment_XRF.isExclude.match(k)) { - k = HxOverrides.substr(k,1,null); - } - v = HxOverrides.substr(v,oper.length,null); - if(oper.length == 0) { - oper = "="; - } - var rule = { }; - if(xrfragment_XRF.isNumber.match(v)) { - rule[oper] = parseFloat(v); - } else { - rule[oper] = v; - } - q["expr"] = rule; - } - var value = xrfragment_XRF.isDeep.match(str) ? k.split("*").length - 1 : 0; - q["deep"] = value; - var value = xrfragment_XRF.isExclude.match(str) ? false : true; - q["show"] = value; - var value = k.replace(xrfragment_XRF.operators.r,""); - q["key"] = value; - q["value"] = v; - }; - var _g = 0; - var _g1 = token.length; - while(_g < _g1) { - var i = _g++; - process(token[i]); - } - return this.q = q; - } - ,test: function(obj) { - var qualify = false; - var _g = 0; - var _g1 = Reflect.fields(obj); - while(_g < _g1.length) { - var k = _g1[_g]; - ++_g; - var v = Std.string(Reflect.field(obj,k)); - if(this.testProperty(k,v)) { - qualify = true; - } - } - var _g = 0; - var _g1 = Reflect.fields(obj); - while(_g < _g1.length) { - var k = _g1[_g]; - ++_g; - var v = Std.string(Reflect.field(obj,k)); - if(this.testProperty(k,v,true)) { - qualify = false; - } - } - return qualify; - } - ,testProperty: function(property,value,exclude) { - var conds = 0; - var fails = 0; - var qualify = 0; - var testprop = function(expr) { - conds += 1; - fails += expr ? 0 : 1; - return expr; - }; - if(this.q[value] != null) { - var v = this.q[value]; - if(v[property] != null) { - return v[property]; - } - } - if(Reflect.field(this.q,"expr")) { - var f = Reflect.field(this.q,"expr"); - if(!Reflect.field(this.q,"show")) { - if(Reflect.field(f,"!=") != null && testprop((value == null ? "null" : "" + value) == Std.string(Reflect.field(f,"!="))) && exclude) { - ++qualify; - } - } else { - if(Reflect.field(f,"*") != null && testprop(parseFloat(value) != null)) { - ++qualify; - } - if(Reflect.field(f,">") != null && testprop(parseFloat(value) >= parseFloat(Reflect.field(f,">")))) { - ++qualify; - } - if(Reflect.field(f,"<") != null && testprop(parseFloat(value) <= parseFloat(Reflect.field(f,"<")))) { - ++qualify; - } - if(Reflect.field(f,"=") != null && (testprop(value == Reflect.field(f,"=")) || testprop(parseFloat(value) == parseFloat(Reflect.field(f,"="))))) { - ++qualify; - } - } - } - return qualify > 0; - } -}; -var xrfragment_Parser = $hx_exports["xrfragment"]["Parser"] = function() { }; -xrfragment_Parser.__name__ = true; -xrfragment_Parser.parse = function(key,value,store,index) { - var Frag_h = Object.create(null); - Frag_h["#"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_PREDEFINED_VIEW | xrfragment_XRF.PV_EXECUTE; - Frag_h["src"] = xrfragment_XRF.T_URL; - Frag_h["href"] = xrfragment_XRF.T_URL | xrfragment_XRF.T_PREDEFINED_VIEW; - Frag_h["tag"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["pos"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_VECTOR3 | xrfragment_XRF.T_STRING | xrfragment_XRF.METADATA | xrfragment_XRF.NAVIGATOR; - Frag_h["rot"] = xrfragment_XRF.QUERY_OPERATOR | xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_VECTOR3 | xrfragment_XRF.METADATA | xrfragment_XRF.NAVIGATOR; - Frag_h["t"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_FLOAT | xrfragment_XRF.T_VECTOR2 | xrfragment_XRF.NAVIGATOR | xrfragment_XRF.METADATA; - Frag_h["s"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_MEDIAFRAG; - Frag_h["loop"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_PREDEFINED_VIEW; - Frag_h["uv"] = xrfragment_XRF.T_VECTOR2 | xrfragment_XRF.T_MEDIAFRAG; - Frag_h["namespace"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["SPDX"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["unit"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["description"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - var keyStripped = key.replace(xrfragment_XRF.operators.r,""); - var isPVDynamic = key.length > 0 && !Object.prototype.hasOwnProperty.call(Frag_h,key); - if(isPVDynamic) { - var v = new xrfragment_XRF(key,xrfragment_XRF.PV_EXECUTE | xrfragment_XRF.NAVIGATOR,index); - v.validate(value); - v.flags = xrfragment_XRF.set(xrfragment_XRF.T_DYNAMICKEY,v.flags); - if(!Object.prototype.hasOwnProperty.call(Frag_h,key)) { - v.flags = xrfragment_XRF.set(xrfragment_XRF.CUSTOMFRAG,v.flags); - } - if(value.length == 0) { - v.flags = xrfragment_XRF.set(xrfragment_XRF.T_DYNAMICKEYVALUE,v.flags); - } - store[keyStripped] = v; - return true; - } - var v = new xrfragment_XRF(key,Frag_h[key],index); - if(Object.prototype.hasOwnProperty.call(Frag_h,key)) { - if(!v.validate(value)) { - console.log("src/xrfragment/Parser.hx:67:","⚠ fragment '" + key + "' has incompatible value (" + value + ")"); - return false; - } - store[keyStripped] = v; - if(xrfragment_Parser.debug) { - console.log("src/xrfragment/Parser.hx:71:","✔ " + key + ": " + v.string); - } - } else { - if(typeof(value) == "string") { - v.guessType(v,value); - } - v.flags = xrfragment_XRF.set(xrfragment_XRF.CUSTOMFRAG,v.flags); - store[keyStripped] = v; - } - return true; -}; -xrfragment_Parser.getMetaData = function() { - var meta = { title : ["title","og:title","dc.title"], description : ["aria-description","og:description","dc.description"], author : ["author","dc.creator"], publisher : ["publisher","dc.publisher"], website : ["og:site_name","og:url","dc.publisher"], license : ["SPDX","dc.rights"]}; - return meta; -}; -var xrfragment_URI = $hx_exports["xrfragment"]["URI"] = function() { - this.XRF = { }; - this.hash = { }; - this.fragment = ""; -}; -xrfragment_URI.__name__ = true; -xrfragment_URI.parseFragment = function(url,filter) { - var store = { }; - if(url == null || url.indexOf("#") == -1) { - return store; - } - var fragment = url.split("#"); - var splitArray = fragment[1].split("&"); - var _g = 0; - var _g1 = splitArray.length; - while(_g < _g1) { - var i = _g++; - var splitByEqual = splitArray[i].split("="); - var regexPlus = new EReg("\\+","g"); - var key = splitByEqual[0]; - var value = ""; - if(splitByEqual.length > 1) { - if(xrfragment_XRF.isVector.match(splitByEqual[1])) { - value = splitByEqual[1]; - } else { - var s = regexPlus.split(splitByEqual[1]).join(" "); - value = decodeURIComponent(s.split("+").join(" ")); - } - } - var ok = xrfragment_Parser.parse(key,value,store,i); - } - if(filter != null && filter != 0) { - var _g = 0; - var _g1 = Reflect.fields(store); - while(_g < _g1.length) { - var key = _g1[_g]; - ++_g; - var xrf = store[key]; - if(!xrf.is(filter)) { - Reflect.deleteField(store,key); - } - } - } - return store; -}; -xrfragment_URI.template = function(uri,vars) { - var parts = uri.split("#"); - if(parts.length == 1) { - return uri; - } - var frag = parts[1]; - frag = StringTools.replace(frag,"{","::"); - frag = StringTools.replace(frag,"}","::"); - frag = new haxe_Template(frag).execute(vars); - frag = StringTools.replace(frag,"null",""); - parts[1] = frag; - return parts.join("#"); -}; -xrfragment_URI.parse = function(stringUrl,flags) { - var r = new EReg("^(?:(?![^:@]+:[^:@/]*@)([^:/?#.]+):)?(?://)?((?:(([^:@]*)(?::([^:@]*))?)?@)?([^:/?#]*)(?::(\\d*))?)(((/(?:[^?#](?![^?#/]*\\.[^?#/.]+(?:[?#]|$)))*/?)?([^?#/]*))(?:\\?([^#]*))?(?:#(.*))?)",""); - if(stringUrl.indexOf("://") == -1 && stringUrl.charAt(0) != "/") { - stringUrl = "/" + stringUrl; - } - r.match(stringUrl); - var url = new xrfragment_URI(); - var _g = 0; - var _g1 = xrfragment_URI._parts.length; - while(_g < _g1) { - var i = _g++; - url[xrfragment_URI._parts[i]] = r.matched(i); - } - if(xrfragment_URI.isRelative(url) == true) { - if(url.directory == null && url.host != null) { - url.file = url.host; - } - url.host = ""; - } - url.hash = { }; - if(url.fragment != null && url.fragment.length > 0) { - url.XRF = xrfragment_URI.parseFragment("#" + url.fragment,flags); - var key; - var _g = 0; - var _g1 = Reflect.fields(url.XRF); - while(_g < _g1.length) { - var key = _g1[_g]; - ++_g; - var v = url.XRF[key]; - url.hash[key] = v["string"]; - } - } - xrfragment_URI.computeVars(url); - return url; -}; -xrfragment_URI.computeVars = function(url) { - var r_r = new RegExp("//","g".split("u").join("")); - if(url.directory != null && url.directory.indexOf("//") != -1) { - url.directory = url.directory.replace(r_r,"/"); - } - if(url.path != null && url.path.indexOf("//") != -1) { - url.path = url.path.replace(r_r,"/"); - } - if(url.file != null && url.file.indexOf("//") != -1) { - url.file = url.file.replace(r_r,"/"); - } - url.URN = url.scheme + "://" + url.host; - if(url.port != null) { - url.URN += ":" + url.port; - } - url.URN += url.directory; - if(url.file != null) { - var parts = url.file.split("."); - if(parts.length > 1) { - url.fileExt = parts.pop(); - } - } -}; -xrfragment_URI.toString = function(url) { - var result = ""; - if(url.scheme != null) { - result += url.scheme + "://"; - } - if(url.user != null) { - result += url.user + ":"; - } - if(url.password != null) { - result += url.password + "@"; - } - if(url.host != null) { - result += url.host; - } - if(url.port != null) { - result += ":" + url.port; - } - if(url.directory != null) { - result += url.directory; - } - if(url.file != null) { - result += url.file; - } - if(url.query != null) { - result += "?" + url.query; - } - if(url.fragment != null) { - result += "#" + url.fragment; - } - return result; -}; -xrfragment_URI.appendURI = function(url,appendedURI) { - if(xrfragment_URI.isRelative(url) == true) { - return xrfragment_URI.appendToRelativeURI(url,appendedURI); - } else { - return xrfragment_URI.appendToAbsoluteURI(url,appendedURI); - } -}; -xrfragment_URI.isRelative = function(url) { - return url.scheme == null; -}; -xrfragment_URI.appendToRelativeURI = function(url,appendedURI) { - if(url.directory == null || url.host == null) { - return xrfragment_URI.cloneURI(appendedURI); - } - var resultURI = new xrfragment_URI(); - resultURI.host = url.host; - resultURI.directory = url.directory; - if(appendedURI.host != null) { - resultURI.directory += appendedURI.host; - } - if(appendedURI.directory != null) { - var directory = appendedURI.directory; - if(appendedURI.host == null) { - resultURI.directory += HxOverrides.substr(directory,1,null); - } else { - resultURI.directory += directory; - } - } - if(appendedURI.file != null) { - resultURI.file = appendedURI.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(appendedURI.query != null) { - resultURI.query = appendedURI.query; - } - if(appendedURI.fragment != null) { - resultURI.fragment = appendedURI.fragment; - } - return resultURI; -}; -xrfragment_URI.appendToAbsoluteURI = function(url,appendedURI) { - var resultURI = new xrfragment_URI(); - if(url.scheme != null) { - resultURI.scheme = url.scheme; - } - if(url.host != null) { - resultURI.host = url.host; - } - var directory = ""; - if(url.directory != null) { - directory = url.directory; - } - if(appendedURI.host != null) { - appendedURI.directory += appendedURI.host; - } - if(appendedURI.directory != null) { - directory += appendedURI.directory; - } - resultURI.directory = directory; - if(appendedURI.file != null) { - resultURI.file = appendedURI.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(appendedURI.query != null) { - resultURI.query = appendedURI.query; - } - if(appendedURI.fragment != null) { - resultURI.fragment = appendedURI.fragment; - } - return resultURI; -}; -xrfragment_URI.toAbsolute = function(url,newUrl) { - var newURI = xrfragment_URI.parse(newUrl,0); - var resultURI = new xrfragment_URI(); - resultURI.port = url.port; - resultURI.source = newUrl; - if(newURI.scheme != null) { - resultURI.scheme = newURI.scheme; - } else { - resultURI.scheme = url.scheme; - } - if(newURI.host != null && newURI.host.length > 0) { - resultURI.host = newURI.host; - resultURI.port = null; - resultURI.fragment = null; - resultURI.hash = { }; - resultURI.XRF = { }; - if(newURI.port != null) { - resultURI.port = newURI.port; - } - } else { - resultURI.host = url.host; - } - var directory = ""; - if(url.directory != null) { - directory = url.directory; - } - if(newURI.directory != null) { - if(newUrl.charAt(0) != "/" && newUrl.indexOf("://") == -1) { - var stripRelative_r = new RegExp("\\./.*","".split("u").join("")); - directory = directory.replace(stripRelative_r,""); - directory += newURI.directory; - } else { - directory = newURI.directory; - } - } - resultURI.directory = directory; - if(newURI.file != null) { - resultURI.file = newURI.file; - } else { - resultURI.file = url.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(newURI.query != null) { - resultURI.query = newURI.query; - } - if(newURI.fragment != null) { - resultURI.fragment = newURI.fragment; - } - resultURI.hash = newURI.hash; - resultURI.XRF = newURI.XRF; - xrfragment_URI.computeVars(resultURI); - return resultURI; -}; -xrfragment_URI.cloneURI = function(url) { - var clonedURI = new xrfragment_URI(); - clonedURI.url = url.url; - clonedURI.source = url.source; - clonedURI.scheme = url.scheme; - clonedURI.authority = url.authority; - clonedURI.userInfo = url.userInfo; - clonedURI.password = url.password; - clonedURI.host = url.host; - clonedURI.port = url.port; - clonedURI.relative = url.relative; - clonedURI.path = url.path; - clonedURI.directory = url.directory; - clonedURI.file = url.file; - clonedURI.query = url.query; - clonedURI.fragment = url.fragment; - return clonedURI; -}; -var xrfragment_XRF = $hx_exports["xrfragment"]["XRF"] = function(_fragment,_flags,_index) { - this.floats = []; - this.shift = []; - this.fragment = _fragment; - this.flags = _flags; - this.index = _index; -}; -xrfragment_XRF.__name__ = true; -xrfragment_XRF.set = function(flag,flags) { - return flags | flag; -}; -xrfragment_XRF.unset = function(flag,flags) { - return flags & ~flag; -}; -xrfragment_XRF.prototype = { - is: function(flag) { - var v = this.flags; - if(!(typeof(v) == "number" && ((v | 0) === v))) { - this.flags = 0; - } - return (this.flags & flag) != 0; - } - ,validate: function(value) { - this.guessType(this,value); - var ok = true; - if(value.length == 0 && !this.is(xrfragment_XRF.T_PREDEFINED_VIEW)) { - ok = false; - } - if(!this.is(xrfragment_XRF.T_FLOAT) && this.is(xrfragment_XRF.T_VECTOR2) && !(typeof(this.x) == "number" && typeof(this.y) == "number")) { - ok = false; - } - if(!(this.is(xrfragment_XRF.T_VECTOR2) || this.is(xrfragment_XRF.T_STRING)) && this.is(xrfragment_XRF.T_VECTOR3) && !(typeof(this.x) == "number" && typeof(this.y) == "number" && typeof(this.z) == "number")) { - ok = false; - } - return ok; - } - ,guessType: function(v,str) { - v.string = str; - if(xrfragment_XRF.isReset.match(v.fragment)) { - v.reset = true; - } - if(v.fragment == "loop") { - v.loop = true; - } - if(typeof(str) != "string") { - return; - } - if(str.length > 0) { - if(xrfragment_XRF.isXRFScheme.match(str)) { - v.xrfScheme = true; - str = str.replace(xrfragment_XRF.isXRFScheme.r,""); - v.string = str; - } - if(str.split(",").length > 1) { - var xyzn = str.split(","); - if(xyzn.length > 0) { - v.x = parseFloat(xyzn[0]); - } - if(xyzn.length > 1) { - v.y = parseFloat(xyzn[1]); - } - if(xyzn.length > 2) { - v.z = parseFloat(xyzn[2]); - } - var _g = 0; - var _g1 = xyzn.length; - while(_g < _g1) { - var i = _g++; - v.shift.push(xrfragment_XRF.isShift.match(xyzn[i])); - v.floats.push(parseFloat(xyzn[i].replace(xrfragment_XRF.isShift.r,""))); - } - } - if(xrfragment_XRF.isColor.match(str)) { - v.color = str; - } - if(xrfragment_XRF.isFloat.match(str)) { - v.x = parseFloat(str); - v.float = v.x; - } - if(xrfragment_XRF.isInt.match(str)) { - v.int = Std.parseInt(str); - v.x = v.int; - v.floats.push(v.x); - } - v.filter = new xrfragment_Filter(v.fragment + "=" + v.string); - } else { - v.filter = new xrfragment_Filter(v.fragment); - } - } -}; -function $getIterator(o) { if( o instanceof Array ) return new haxe_iterators_ArrayIterator(o); else return o.iterator(); } -function $bind(o,m) { if( m == null ) return null; if( m.__id__ == null ) m.__id__ = $global.$haxeUID++; var f; if( o.hx__closures__ == null ) o.hx__closures__ = {}; else f = o.hx__closures__[m.__id__]; if( f == null ) { f = m.bind(o); o.hx__closures__[m.__id__] = f; } return f; } -$global.$haxeUID |= 0; -if(typeof(performance) != "undefined" ? typeof(performance.now) == "function" : false) { - HxOverrides.now = performance.now.bind(performance); -} -if( String.fromCodePoint == null ) String.fromCodePoint = function(c) { return c < 0x10000 ? String.fromCharCode(c) : String.fromCharCode((c>>10)+0xD7C0)+String.fromCharCode((c&0x3FF)+0xDC00); } -String.__name__ = true; -Array.__name__ = true; -js_Boot.__toStr = ({ }).toString; -haxe_Template.splitter = new EReg("(::[A-Za-z0-9_ ()&|!+=/><*.\"-]+::|\\$\\$([A-Za-z0-9_-]+)\\()",""); -haxe_Template.expr_splitter = new EReg("(\\(|\\)|[ \r\n\t]*\"[^\"]*\"[ \r\n\t]*|[!+=/><*.&|-]+)",""); -haxe_Template.expr_trim = new EReg("^[ ]*([^ ]+)[ ]*$",""); -haxe_Template.expr_int = new EReg("^[0-9]+$",""); -haxe_Template.expr_float = new EReg("^([+-]?)(?=\\d|,\\d)\\d*(,\\d*)?([Ee]([+-]?\\d+))?$",""); -haxe_Template.globals = { }; -haxe_Template.hxKeepArrayIterator = new haxe_iterators_ArrayIterator([]); -xrfragment_Parser.error = ""; -xrfragment_Parser.debug = false; -xrfragment_URI.__meta__ = { statics : { template : { keep : null}}}; -xrfragment_URI._parts = ["source","scheme","authority","userInfo","user","password","host","port","relative","path","directory","file","query","fragment"]; -xrfragment_XRF.IMMUTABLE = 1; -xrfragment_XRF.PROP_BIND = 2; -xrfragment_XRF.QUERY_OPERATOR = 4; -xrfragment_XRF.PROMPT = 8; -xrfragment_XRF.CUSTOMFRAG = 16; -xrfragment_XRF.NAVIGATOR = 32; -xrfragment_XRF.METADATA = 64; -xrfragment_XRF.PV_OVERRIDE = 128; -xrfragment_XRF.PV_EXECUTE = 256; -xrfragment_XRF.T_COLOR = 8192; -xrfragment_XRF.T_INT = 16384; -xrfragment_XRF.T_FLOAT = 32768; -xrfragment_XRF.T_VECTOR2 = 65536; -xrfragment_XRF.T_VECTOR3 = 131072; -xrfragment_XRF.T_URL = 262144; -xrfragment_XRF.T_PREDEFINED_VIEW = 524288; -xrfragment_XRF.T_STRING = 1048576; -xrfragment_XRF.T_MEDIAFRAG = 2097152; -xrfragment_XRF.T_DYNAMICKEY = 4194304; -xrfragment_XRF.T_DYNAMICKEYVALUE = 8388608; -xrfragment_XRF.isColor = new EReg("^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$",""); -xrfragment_XRF.isInt = new EReg("^[-0-9]+$",""); -xrfragment_XRF.isFloat = new EReg("^[-0-9]+\\.[0-9]+$",""); -xrfragment_XRF.isVector = new EReg("([,]+|\\w)",""); -xrfragment_XRF.isUrl = new EReg("(://)?\\..*",""); -xrfragment_XRF.isUrlOrPretypedView = new EReg("(^#|://)?\\..*",""); -xrfragment_XRF.isString = new EReg(".*",""); -xrfragment_XRF.operators = new EReg("(^[-]|^[!]|[\\*]$)","g"); -xrfragment_XRF.isProp = new EReg("^.*=[><=]?",""); -xrfragment_XRF.isExclude = new EReg("^-",""); -xrfragment_XRF.isDeep = new EReg("\\*",""); -xrfragment_XRF.isNumber = new EReg("^[0-9\\.]+$",""); -xrfragment_XRF.isMediaFrag = new EReg("^([0-9\\.,\\*+-]+)$",""); -xrfragment_XRF.isReset = new EReg("^!",""); -xrfragment_XRF.isShift = new EReg("^(\\+|--)",""); -xrfragment_XRF.isXRFScheme = new EReg("^xrf://",""); -})(typeof window != "undefined" ? window : typeof global != "undefined" ? global : typeof self != "undefined" ? self : this); -var xrfragment = $hx_exports["xrfragment"]; -export default xrfragment; -// Generated by Haxe 4.3.3 -var $hx_exports = typeof exports != "undefined" ? exports : typeof window != "undefined" ? window : typeof self != "undefined" ? self : this; -(function ($global) { "use strict"; -$hx_exports["xrfragment"] = $hx_exports["xrfragment"] || {}; -var $estr = function() { return js_Boot.__string_rec(this,''); },$hxEnums = $hxEnums || {},$_; -function $extend(from, fields) { - var proto = Object.create(from); - for (var name in fields) proto[name] = fields[name]; - if( fields.toString !== Object.prototype.toString ) proto.toString = fields.toString; - return proto; -} -var EReg = function(r,opt) { - this.r = new RegExp(r,opt.split("u").join("")); -}; -EReg.__name__ = true; -EReg.prototype = { - match: function(s) { - if(this.r.global) { - this.r.lastIndex = 0; - } - this.r.m = this.r.exec(s); - this.r.s = s; - return this.r.m != null; - } - ,matched: function(n) { - if(this.r.m != null && n >= 0 && n < this.r.m.length) { - return this.r.m[n]; - } else { - throw haxe_Exception.thrown("EReg::matched"); - } - } - ,matchedRight: function() { - if(this.r.m == null) { - throw haxe_Exception.thrown("No string matched"); - } - var sz = this.r.m.index + this.r.m[0].length; - return HxOverrides.substr(this.r.s,sz,this.r.s.length - sz); - } - ,matchedPos: function() { - if(this.r.m == null) { - throw haxe_Exception.thrown("No string matched"); - } - return { pos : this.r.m.index, len : this.r.m[0].length}; - } - ,split: function(s) { - var d = "#__delim__#"; - return s.replace(this.r,d).split(d); - } -}; -var HxOverrides = function() { }; -HxOverrides.__name__ = true; -HxOverrides.cca = function(s,index) { - var x = s.charCodeAt(index); - if(x != x) { - return undefined; - } - return x; -}; -HxOverrides.substr = function(s,pos,len) { - if(len == null) { - len = s.length; - } else if(len < 0) { - if(pos == 0) { - len = s.length + len; - } else { - return ""; - } - } - return s.substr(pos,len); -}; -HxOverrides.now = function() { - return Date.now(); -}; -Math.__name__ = true; -var Reflect = function() { }; -Reflect.__name__ = true; -Reflect.field = function(o,field) { - try { - return o[field]; - } catch( _g ) { - return null; - } -}; -Reflect.getProperty = function(o,field) { - var tmp; - if(o == null) { - return null; - } else { - var tmp1; - if(o.__properties__) { - tmp = o.__properties__["get_" + field]; - tmp1 = tmp; - } else { - tmp1 = false; - } - if(tmp1) { - return o[tmp](); - } else { - return o[field]; - } - } -}; -Reflect.fields = function(o) { - var a = []; - if(o != null) { - var hasOwnProperty = Object.prototype.hasOwnProperty; - for( var f in o ) { - if(f != "__id__" && f != "hx__closures__" && hasOwnProperty.call(o,f)) { - a.push(f); - } - } - } - return a; -}; -Reflect.isObject = function(v) { - if(v == null) { - return false; - } - var t = typeof(v); - if(!(t == "string" || t == "object" && v.__enum__ == null)) { - if(t == "function") { - return (v.__name__ || v.__ename__) != null; - } else { - return false; - } - } else { - return true; - } -}; -Reflect.deleteField = function(o,field) { - if(!Object.prototype.hasOwnProperty.call(o,field)) { - return false; - } - delete(o[field]); - return true; -}; -Reflect.copy = function(o) { - if(o == null) { - return null; - } - var o2 = { }; - var _g = 0; - var _g1 = Reflect.fields(o); - while(_g < _g1.length) { - var f = _g1[_g]; - ++_g; - o2[f] = Reflect.field(o,f); - } - return o2; -}; -var Std = function() { }; -Std.__name__ = true; -Std.string = function(s) { - return js_Boot.__string_rec(s,""); -}; -Std.parseInt = function(x) { - var v = parseInt(x); - if(isNaN(v)) { - return null; - } - return v; -}; -var StringBuf = function() { - this.b = ""; -}; -StringBuf.__name__ = true; -var StringTools = function() { }; -StringTools.__name__ = true; -StringTools.isSpace = function(s,pos) { - var c = HxOverrides.cca(s,pos); - if(!(c > 8 && c < 14)) { - return c == 32; - } else { - return true; - } -}; -StringTools.ltrim = function(s) { - var l = s.length; - var r = 0; - while(r < l && StringTools.isSpace(s,r)) ++r; - if(r > 0) { - return HxOverrides.substr(s,r,l - r); - } else { - return s; - } -}; -StringTools.rtrim = function(s) { - var l = s.length; - var r = 0; - while(r < l && StringTools.isSpace(s,l - r - 1)) ++r; - if(r > 0) { - return HxOverrides.substr(s,0,l - r); - } else { - return s; - } -}; -StringTools.trim = function(s) { - return StringTools.ltrim(StringTools.rtrim(s)); -}; -StringTools.replace = function(s,sub,by) { - return s.split(sub).join(by); -}; -var haxe_Exception = function(message,previous,native) { - Error.call(this,message); - this.message = message; - this.__previousException = previous; - this.__nativeException = native != null ? native : this; -}; -haxe_Exception.__name__ = true; -haxe_Exception.caught = function(value) { - if(((value) instanceof haxe_Exception)) { - return value; - } else if(((value) instanceof Error)) { - return new haxe_Exception(value.message,null,value); - } else { - return new haxe_ValueException(value,null,value); - } -}; -haxe_Exception.thrown = function(value) { - if(((value) instanceof haxe_Exception)) { - return value.get_native(); - } else if(((value) instanceof Error)) { - return value; - } else { - var e = new haxe_ValueException(value); - return e; - } -}; -haxe_Exception.__super__ = Error; -haxe_Exception.prototype = $extend(Error.prototype,{ - unwrap: function() { - return this.__nativeException; - } - ,get_native: function() { - return this.__nativeException; - } - ,__properties__: {get_native:"get_native"} -}); -var haxe__$Template_TemplateExpr = $hxEnums["haxe._Template.TemplateExpr"] = { __ename__:true,__constructs__:null - ,OpVar: ($_=function(v) { return {_hx_index:0,v:v,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpVar",$_.__params__ = ["v"],$_) - ,OpExpr: ($_=function(expr) { return {_hx_index:1,expr:expr,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpExpr",$_.__params__ = ["expr"],$_) - ,OpIf: ($_=function(expr,eif,eelse) { return {_hx_index:2,expr:expr,eif:eif,eelse:eelse,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpIf",$_.__params__ = ["expr","eif","eelse"],$_) - ,OpStr: ($_=function(str) { return {_hx_index:3,str:str,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpStr",$_.__params__ = ["str"],$_) - ,OpBlock: ($_=function(l) { return {_hx_index:4,l:l,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpBlock",$_.__params__ = ["l"],$_) - ,OpForeach: ($_=function(expr,loop) { return {_hx_index:5,expr:expr,loop:loop,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpForeach",$_.__params__ = ["expr","loop"],$_) - ,OpMacro: ($_=function(name,params) { return {_hx_index:6,name:name,params:params,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpMacro",$_.__params__ = ["name","params"],$_) -}; -haxe__$Template_TemplateExpr.__constructs__ = [haxe__$Template_TemplateExpr.OpVar,haxe__$Template_TemplateExpr.OpExpr,haxe__$Template_TemplateExpr.OpIf,haxe__$Template_TemplateExpr.OpStr,haxe__$Template_TemplateExpr.OpBlock,haxe__$Template_TemplateExpr.OpForeach,haxe__$Template_TemplateExpr.OpMacro]; -var haxe_iterators_ArrayIterator = function(array) { - this.current = 0; - this.array = array; -}; -haxe_iterators_ArrayIterator.__name__ = true; -haxe_iterators_ArrayIterator.prototype = { - hasNext: function() { - return this.current < this.array.length; - } - ,next: function() { - return this.array[this.current++]; - } -}; -var haxe_Template = function(str) { - var tokens = this.parseTokens(str); - this.expr = this.parseBlock(tokens); - if(!tokens.isEmpty()) { - throw haxe_Exception.thrown("Unexpected '" + Std.string(tokens.first().s) + "'"); - } -}; -haxe_Template.__name__ = true; -haxe_Template.prototype = { - execute: function(context,macros) { - this.macros = macros == null ? { } : macros; - this.context = context; - this.stack = new haxe_ds_List(); - this.buf = new StringBuf(); - this.run(this.expr); - return this.buf.b; - } - ,resolve: function(v) { - if(v == "__current__") { - return this.context; - } - if(Reflect.isObject(this.context)) { - var value = Reflect.getProperty(this.context,v); - if(value != null || Object.prototype.hasOwnProperty.call(this.context,v)) { - return value; - } - } - var _g_head = this.stack.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var ctx = val; - var value = Reflect.getProperty(ctx,v); - if(value != null || Object.prototype.hasOwnProperty.call(ctx,v)) { - return value; - } - } - return Reflect.field(haxe_Template.globals,v); - } - ,parseTokens: function(data) { - var tokens = new haxe_ds_List(); - while(haxe_Template.splitter.match(data)) { - var p = haxe_Template.splitter.matchedPos(); - if(p.pos > 0) { - tokens.add({ p : HxOverrides.substr(data,0,p.pos), s : true, l : null}); - } - if(HxOverrides.cca(data,p.pos) == 58) { - tokens.add({ p : HxOverrides.substr(data,p.pos + 2,p.len - 4), s : false, l : null}); - data = haxe_Template.splitter.matchedRight(); - continue; - } - var parp = p.pos + p.len; - var npar = 1; - var params = []; - var part = ""; - while(true) { - var c = HxOverrides.cca(data,parp); - ++parp; - if(c == 40) { - ++npar; - } else if(c == 41) { - --npar; - if(npar <= 0) { - break; - } - } else if(c == null) { - throw haxe_Exception.thrown("Unclosed macro parenthesis"); - } - if(c == 44 && npar == 1) { - params.push(part); - part = ""; - } else { - part += String.fromCodePoint(c); - } - } - params.push(part); - tokens.add({ p : haxe_Template.splitter.matched(2), s : false, l : params}); - data = HxOverrides.substr(data,parp,data.length - parp); - } - if(data.length > 0) { - tokens.add({ p : data, s : true, l : null}); - } - return tokens; - } - ,parseBlock: function(tokens) { - var l = new haxe_ds_List(); - while(true) { - var t = tokens.first(); - if(t == null) { - break; - } - if(!t.s && (t.p == "end" || t.p == "else" || HxOverrides.substr(t.p,0,7) == "elseif ")) { - break; - } - l.add(this.parse(tokens)); - } - if(l.length == 1) { - return l.first(); - } - return haxe__$Template_TemplateExpr.OpBlock(l); - } - ,parse: function(tokens) { - var t = tokens.pop(); - var p = t.p; - if(t.s) { - return haxe__$Template_TemplateExpr.OpStr(p); - } - if(t.l != null) { - var pe = new haxe_ds_List(); - var _g = 0; - var _g1 = t.l; - while(_g < _g1.length) { - var p1 = _g1[_g]; - ++_g; - pe.add(this.parseBlock(this.parseTokens(p1))); - } - return haxe__$Template_TemplateExpr.OpMacro(p,pe); - } - var kwdEnd = function(kwd) { - var pos = -1; - var length = kwd.length; - if(HxOverrides.substr(p,0,length) == kwd) { - pos = length; - var _g_offset = 0; - var _g_s = HxOverrides.substr(p,length,null); - while(_g_offset < _g_s.length) { - var c = _g_s.charCodeAt(_g_offset++); - if(c == 32) { - ++pos; - } else { - break; - } - } - } - return pos; - }; - var pos = kwdEnd("if"); - if(pos > 0) { - p = HxOverrides.substr(p,pos,p.length - pos); - var e = this.parseExpr(p); - var eif = this.parseBlock(tokens); - var t = tokens.first(); - var eelse; - if(t == null) { - throw haxe_Exception.thrown("Unclosed 'if'"); - } - if(t.p == "end") { - tokens.pop(); - eelse = null; - } else if(t.p == "else") { - tokens.pop(); - eelse = this.parseBlock(tokens); - t = tokens.pop(); - if(t == null || t.p != "end") { - throw haxe_Exception.thrown("Unclosed 'else'"); - } - } else { - t.p = HxOverrides.substr(t.p,4,t.p.length - 4); - eelse = this.parse(tokens); - } - return haxe__$Template_TemplateExpr.OpIf(e,eif,eelse); - } - var pos = kwdEnd("foreach"); - if(pos >= 0) { - p = HxOverrides.substr(p,pos,p.length - pos); - var e = this.parseExpr(p); - var efor = this.parseBlock(tokens); - var t = tokens.pop(); - if(t == null || t.p != "end") { - throw haxe_Exception.thrown("Unclosed 'foreach'"); - } - return haxe__$Template_TemplateExpr.OpForeach(e,efor); - } - if(haxe_Template.expr_splitter.match(p)) { - return haxe__$Template_TemplateExpr.OpExpr(this.parseExpr(p)); - } - return haxe__$Template_TemplateExpr.OpVar(p); - } - ,parseExpr: function(data) { - var l = new haxe_ds_List(); - var expr = data; - while(haxe_Template.expr_splitter.match(data)) { - var p = haxe_Template.expr_splitter.matchedPos(); - var k = p.pos + p.len; - if(p.pos != 0) { - l.add({ p : HxOverrides.substr(data,0,p.pos), s : true}); - } - var p1 = haxe_Template.expr_splitter.matched(0); - l.add({ p : p1, s : p1.indexOf("\"") >= 0}); - data = haxe_Template.expr_splitter.matchedRight(); - } - if(data.length != 0) { - var _g_offset = 0; - var _g_s = data; - while(_g_offset < _g_s.length) { - var _g_key = _g_offset; - var _g_value = _g_s.charCodeAt(_g_offset++); - var i = _g_key; - var c = _g_value; - if(c != 32) { - l.add({ p : HxOverrides.substr(data,i,null), s : true}); - break; - } - } - } - var e; - try { - e = this.makeExpr(l); - if(!l.isEmpty()) { - throw haxe_Exception.thrown(l.first().p); - } - } catch( _g ) { - var _g1 = haxe_Exception.caught(_g).unwrap(); - if(typeof(_g1) == "string") { - var s = _g1; - throw haxe_Exception.thrown("Unexpected '" + s + "' in " + expr); - } else { - throw _g; - } - } - return function() { - try { - return e(); - } catch( _g ) { - var exc = haxe_Exception.caught(_g).unwrap(); - throw haxe_Exception.thrown("Error : " + Std.string(exc) + " in " + expr); - } - }; - } - ,makeConst: function(v) { - haxe_Template.expr_trim.match(v); - v = haxe_Template.expr_trim.matched(1); - if(HxOverrides.cca(v,0) == 34) { - var str = HxOverrides.substr(v,1,v.length - 2); - return function() { - return str; - }; - } - if(haxe_Template.expr_int.match(v)) { - var i = Std.parseInt(v); - return function() { - return i; - }; - } - if(haxe_Template.expr_float.match(v)) { - var f = parseFloat(v); - return function() { - return f; - }; - } - var me = this; - return function() { - return me.resolve(v); - }; - } - ,makePath: function(e,l) { - var p = l.first(); - if(p == null || p.p != ".") { - return e; - } - l.pop(); - var field = l.pop(); - if(field == null || !field.s) { - throw haxe_Exception.thrown(field.p); - } - var f = field.p; - haxe_Template.expr_trim.match(f); - f = haxe_Template.expr_trim.matched(1); - return this.makePath(function() { - return Reflect.field(e(),f); - },l); - } - ,makeExpr: function(l) { - return this.makePath(this.makeExpr2(l),l); - } - ,skipSpaces: function(l) { - var p = l.first(); - while(p != null) { - var _g_offset = 0; - var _g_s = p.p; - while(_g_offset < _g_s.length) { - var c = _g_s.charCodeAt(_g_offset++); - if(c != 32) { - return; - } - } - l.pop(); - p = l.first(); - } - } - ,makeExpr2: function(l) { - this.skipSpaces(l); - var p = l.pop(); - this.skipSpaces(l); - if(p == null) { - throw haxe_Exception.thrown(""); - } - if(p.s) { - return this.makeConst(p.p); - } - switch(p.p) { - case "!": - var e = this.makeExpr(l); - return function() { - var v = e(); - if(v != null) { - return v == false; - } else { - return true; - } - }; - case "(": - this.skipSpaces(l); - var e1 = this.makeExpr(l); - this.skipSpaces(l); - var p1 = l.pop(); - if(p1 == null || p1.s) { - throw haxe_Exception.thrown(p1); - } - if(p1.p == ")") { - return e1; - } - this.skipSpaces(l); - var e2 = this.makeExpr(l); - this.skipSpaces(l); - var p2 = l.pop(); - this.skipSpaces(l); - if(p2 == null || p2.p != ")") { - throw haxe_Exception.thrown(p2); - } - switch(p1.p) { - case "!=": - return function() { - return e1() != e2(); - }; - case "&&": - return function() { - return e1() && e2(); - }; - case "*": - return function() { - return e1() * e2(); - }; - case "+": - return function() { - return e1() + e2(); - }; - case "-": - return function() { - return e1() - e2(); - }; - case "/": - return function() { - return e1() / e2(); - }; - case "<": - return function() { - return e1() < e2(); - }; - case "<=": - return function() { - return e1() <= e2(); - }; - case "==": - return function() { - return e1() == e2(); - }; - case ">": - return function() { - return e1() > e2(); - }; - case ">=": - return function() { - return e1() >= e2(); - }; - case "||": - return function() { - return e1() || e2(); - }; - default: - throw haxe_Exception.thrown("Unknown operation " + p1.p); - } - break; - case "-": - var e3 = this.makeExpr(l); - return function() { - return -e3(); - }; - } - throw haxe_Exception.thrown(p.p); - } - ,run: function(e) { - switch(e._hx_index) { - case 0: - var v = e.v; - var _this = this.buf; - var x = Std.string(this.resolve(v)); - _this.b += Std.string(x); - break; - case 1: - var e1 = e.expr; - var _this = this.buf; - var x = Std.string(e1()); - _this.b += Std.string(x); - break; - case 2: - var e1 = e.expr; - var eif = e.eif; - var eelse = e.eelse; - var v = e1(); - if(v == null || v == false) { - if(eelse != null) { - this.run(eelse); - } - } else { - this.run(eif); - } - break; - case 3: - var str = e.str; - this.buf.b += str == null ? "null" : "" + str; - break; - case 4: - var l = e.l; - var _g_head = l.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var e1 = val; - this.run(e1); - } - break; - case 5: - var e1 = e.expr; - var loop = e.loop; - var v = e1(); - try { - var x = $getIterator(v); - if(x.hasNext == null) { - throw haxe_Exception.thrown(null); - } - v = x; - } catch( _g ) { - try { - if(v.hasNext == null) { - throw haxe_Exception.thrown(null); - } - } catch( _g1 ) { - throw haxe_Exception.thrown("Cannot iter on " + Std.string(v)); - } - } - this.stack.push(this.context); - var v1 = v; - var ctx = v1; - while(ctx.hasNext()) { - var ctx1 = ctx.next(); - this.context = ctx1; - this.run(loop); - } - this.context = this.stack.pop(); - break; - case 6: - var m = e.name; - var params = e.params; - var v = Reflect.field(this.macros,m); - var pl = []; - var old = this.buf; - pl.push($bind(this,this.resolve)); - var _g_head = params.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var p = val; - if(p._hx_index == 0) { - var v1 = p.v; - pl.push(this.resolve(v1)); - } else { - this.buf = new StringBuf(); - this.run(p); - pl.push(this.buf.b); - } - } - this.buf = old; - try { - var _this = this.buf; - var x = Std.string(v.apply(this.macros,pl)); - _this.b += Std.string(x); - } catch( _g ) { - var e = haxe_Exception.caught(_g).unwrap(); - var plstr; - try { - plstr = pl.join(","); - } catch( _g1 ) { - plstr = "???"; - } - var msg = "Macro call " + m + "(" + plstr + ") failed (" + Std.string(e) + ")"; - throw haxe_Exception.thrown(msg); - } - break; - } - } -}; -var haxe_ValueException = function(value,previous,native) { - haxe_Exception.call(this,String(value),previous,native); - this.value = value; -}; -haxe_ValueException.__name__ = true; -haxe_ValueException.__super__ = haxe_Exception; -haxe_ValueException.prototype = $extend(haxe_Exception.prototype,{ - unwrap: function() { - return this.value; - } -}); -var haxe_ds_List = function() { - this.length = 0; -}; -haxe_ds_List.__name__ = true; -haxe_ds_List.prototype = { - add: function(item) { - var x = new haxe_ds__$List_ListNode(item,null); - if(this.h == null) { - this.h = x; - } else { - this.q.next = x; - } - this.q = x; - this.length++; - } - ,push: function(item) { - var x = new haxe_ds__$List_ListNode(item,this.h); - this.h = x; - if(this.q == null) { - this.q = x; - } - this.length++; - } - ,first: function() { - if(this.h == null) { - return null; - } else { - return this.h.item; - } - } - ,pop: function() { - if(this.h == null) { - return null; - } - var x = this.h.item; - this.h = this.h.next; - if(this.h == null) { - this.q = null; - } - this.length--; - return x; - } - ,isEmpty: function() { - return this.h == null; - } - ,toString: function() { - var s_b = ""; - var first = true; - var l = this.h; - s_b += "{"; - while(l != null) { - if(first) { - first = false; - } else { - s_b += ", "; - } - s_b += Std.string(Std.string(l.item)); - l = l.next; - } - s_b += "}"; - return s_b; - } -}; -var haxe_ds__$List_ListNode = function(item,next) { - this.item = item; - this.next = next; -}; -haxe_ds__$List_ListNode.__name__ = true; -var js_Boot = function() { }; -js_Boot.__name__ = true; -js_Boot.__string_rec = function(o,s) { - if(o == null) { - return "null"; - } - if(s.length >= 5) { - return "<...>"; - } - var t = typeof(o); - if(t == "function" && (o.__name__ || o.__ename__)) { - t = "object"; - } - switch(t) { - case "function": - return ""; - case "object": - if(o.__enum__) { - var e = $hxEnums[o.__enum__]; - var con = e.__constructs__[o._hx_index]; - var n = con._hx_name; - if(con.__params__) { - s = s + "\t"; - return n + "(" + ((function($this) { - var $r; - var _g = []; - { - var _g1 = 0; - var _g2 = con.__params__; - while(true) { - if(!(_g1 < _g2.length)) { - break; - } - var p = _g2[_g1]; - _g1 = _g1 + 1; - _g.push(js_Boot.__string_rec(o[p],s)); - } - } - $r = _g; - return $r; - }(this))).join(",") + ")"; - } else { - return n; - } - } - if(((o) instanceof Array)) { - var str = "["; - s += "\t"; - var _g = 0; - var _g1 = o.length; - while(_g < _g1) { - var i = _g++; - str += (i > 0 ? "," : "") + js_Boot.__string_rec(o[i],s); - } - str += "]"; - return str; - } - var tostr; - try { - tostr = o.toString; - } catch( _g ) { - return "???"; - } - if(tostr != null && tostr != Object.toString && typeof(tostr) == "function") { - var s2 = o.toString(); - if(s2 != "[object Object]") { - return s2; - } - } - var str = "{\n"; - s += "\t"; - var hasp = o.hasOwnProperty != null; - var k = null; - for( k in o ) { - if(hasp && !o.hasOwnProperty(k)) { - continue; - } - if(k == "prototype" || k == "__class__" || k == "__super__" || k == "__interfaces__" || k == "__properties__") { - continue; - } - if(str.length != 2) { - str += ", \n"; - } - str += s + k + " : " + js_Boot.__string_rec(o[k],s); - } - s = s.substring(1); - str += "\n" + s + "}"; - return str; - case "string": - return o; - default: - return String(o); - } -}; -var xrfragment_Filter = $hx_exports["xrfragment"]["Filter"] = function(str) { - this.q = { }; - this.str = ""; - if(str != null) { - this.parse(str); - } -}; -xrfragment_Filter.__name__ = true; -xrfragment_Filter.prototype = { - toObject: function() { - return Reflect.copy(this.q); - } - ,get: function() { - return Reflect.copy(this.q); - } - ,parse: function(str) { - var token = str.split(" "); - var q = { }; - var process = function(str,prefix) { - if(prefix == null) { - prefix = ""; - } - str = StringTools.trim(str); - var k = str.split("=")[0]; - var v = str.split("=")[1]; - var filter = { }; - if(q[prefix + k]) { - filter = q[prefix + k]; - } - if(xrfragment_XRF.isProp.match(str)) { - var oper = ""; - if(str.indexOf(">") != -1) { - oper = ">"; - } - if(str.indexOf("<") != -1) { - oper = "<"; - } - if(xrfragment_XRF.isExclude.match(k)) { - k = HxOverrides.substr(k,1,null); - } - v = HxOverrides.substr(v,oper.length,null); - if(oper.length == 0) { - oper = "="; - } - var rule = { }; - if(xrfragment_XRF.isNumber.match(v)) { - rule[oper] = parseFloat(v); - } else { - rule[oper] = v; - } - q["expr"] = rule; - } - var value = xrfragment_XRF.isDeep.match(str) ? k.split("*").length - 1 : 0; - q["deep"] = value; - var value = xrfragment_XRF.isExclude.match(str) ? false : true; - q["show"] = value; - var value = k.replace(xrfragment_XRF.operators.r,""); - q["key"] = value; - q["value"] = v; - }; - var _g = 0; - var _g1 = token.length; - while(_g < _g1) { - var i = _g++; - process(token[i]); - } - return this.q = q; - } - ,test: function(obj) { - var qualify = false; - var _g = 0; - var _g1 = Reflect.fields(obj); - while(_g < _g1.length) { - var k = _g1[_g]; - ++_g; - var v = Std.string(Reflect.field(obj,k)); - if(this.testProperty(k,v)) { - qualify = true; - } - } - var _g = 0; - var _g1 = Reflect.fields(obj); - while(_g < _g1.length) { - var k = _g1[_g]; - ++_g; - var v = Std.string(Reflect.field(obj,k)); - if(this.testProperty(k,v,true)) { - qualify = false; - } - } - return qualify; - } - ,testProperty: function(property,value,exclude) { - var conds = 0; - var fails = 0; - var qualify = 0; - var testprop = function(expr) { - conds += 1; - fails += expr ? 0 : 1; - return expr; - }; - if(this.q[value] != null) { - var v = this.q[value]; - if(v[property] != null) { - return v[property]; - } - } - if(Reflect.field(this.q,"expr")) { - var f = Reflect.field(this.q,"expr"); - if(!Reflect.field(this.q,"show")) { - if(Reflect.field(f,"!=") != null && testprop((value == null ? "null" : "" + value) == Std.string(Reflect.field(f,"!="))) && exclude) { - ++qualify; - } - } else { - if(Reflect.field(f,"*") != null && testprop(parseFloat(value) != null)) { - ++qualify; - } - if(Reflect.field(f,">") != null && testprop(parseFloat(value) >= parseFloat(Reflect.field(f,">")))) { - ++qualify; - } - if(Reflect.field(f,"<") != null && testprop(parseFloat(value) <= parseFloat(Reflect.field(f,"<")))) { - ++qualify; - } - if(Reflect.field(f,"=") != null && (testprop(value == Reflect.field(f,"=")) || testprop(parseFloat(value) == parseFloat(Reflect.field(f,"="))))) { - ++qualify; - } - } - } - return qualify > 0; - } -}; -var xrfragment_Parser = $hx_exports["xrfragment"]["Parser"] = function() { }; -xrfragment_Parser.__name__ = true; -xrfragment_Parser.parse = function(key,value,store,index) { - var Frag_h = Object.create(null); - Frag_h["#"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_PREDEFINED_VIEW | xrfragment_XRF.PV_EXECUTE; - Frag_h["src"] = xrfragment_XRF.T_URL; - Frag_h["href"] = xrfragment_XRF.T_URL | xrfragment_XRF.T_PREDEFINED_VIEW; - Frag_h["tag"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["pos"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_VECTOR3 | xrfragment_XRF.T_STRING | xrfragment_XRF.METADATA | xrfragment_XRF.NAVIGATOR; - Frag_h["rot"] = xrfragment_XRF.QUERY_OPERATOR | xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_VECTOR3 | xrfragment_XRF.METADATA | xrfragment_XRF.NAVIGATOR; - Frag_h["t"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_FLOAT | xrfragment_XRF.T_VECTOR2 | xrfragment_XRF.NAVIGATOR | xrfragment_XRF.METADATA; - Frag_h["s"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_MEDIAFRAG; - Frag_h["loop"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_PREDEFINED_VIEW; - Frag_h["uv"] = xrfragment_XRF.T_VECTOR2 | xrfragment_XRF.T_MEDIAFRAG; - Frag_h["namespace"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["SPDX"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["unit"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["description"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - var keyStripped = key.replace(xrfragment_XRF.operators.r,""); - var isPVDynamic = key.length > 0 && !Object.prototype.hasOwnProperty.call(Frag_h,key); - if(isPVDynamic) { - var v = new xrfragment_XRF(key,xrfragment_XRF.PV_EXECUTE | xrfragment_XRF.NAVIGATOR,index); - v.validate(value); - v.flags = xrfragment_XRF.set(xrfragment_XRF.T_DYNAMICKEY,v.flags); - if(!Object.prototype.hasOwnProperty.call(Frag_h,key)) { - v.flags = xrfragment_XRF.set(xrfragment_XRF.CUSTOMFRAG,v.flags); - } - if(value.length == 0) { - v.flags = xrfragment_XRF.set(xrfragment_XRF.T_DYNAMICKEYVALUE,v.flags); - } - store[keyStripped] = v; - return true; - } - var v = new xrfragment_XRF(key,Frag_h[key],index); - if(Object.prototype.hasOwnProperty.call(Frag_h,key)) { - if(!v.validate(value)) { - console.log("src/xrfragment/Parser.hx:67:","⚠ fragment '" + key + "' has incompatible value (" + value + ")"); - return false; - } - store[keyStripped] = v; - if(xrfragment_Parser.debug) { - console.log("src/xrfragment/Parser.hx:71:","✔ " + key + ": " + v.string); - } - } else { - if(typeof(value) == "string") { - v.guessType(v,value); - } - v.flags = xrfragment_XRF.set(xrfragment_XRF.CUSTOMFRAG,v.flags); - store[keyStripped] = v; - } - return true; -}; -xrfragment_Parser.getMetaData = function() { - var meta = { title : ["title","og:title","dc.title"], description : ["aria-description","og:description","dc.description"], author : ["author","dc.creator"], publisher : ["publisher","dc.publisher"], website : ["og:site_name","og:url","dc.publisher"], license : ["SPDX","dc.rights"]}; - return meta; -}; -var xrfragment_URI = $hx_exports["xrfragment"]["URI"] = function() { - this.XRF = { }; - this.hash = { }; - this.fragment = ""; -}; -xrfragment_URI.__name__ = true; -xrfragment_URI.parseFragment = function(url,filter) { - var store = { }; - if(url == null || url.indexOf("#") == -1) { - return store; - } - var fragment = url.split("#"); - var splitArray = fragment[1].split("&"); - var _g = 0; - var _g1 = splitArray.length; - while(_g < _g1) { - var i = _g++; - var splitByEqual = splitArray[i].split("="); - var regexPlus = new EReg("\\+","g"); - var key = splitByEqual[0]; - var value = ""; - if(splitByEqual.length > 1) { - if(xrfragment_XRF.isVector.match(splitByEqual[1])) { - value = splitByEqual[1]; - } else { - var s = regexPlus.split(splitByEqual[1]).join(" "); - value = decodeURIComponent(s.split("+").join(" ")); - } - } - var ok = xrfragment_Parser.parse(key,value,store,i); - } - if(filter != null && filter != 0) { - var _g = 0; - var _g1 = Reflect.fields(store); - while(_g < _g1.length) { - var key = _g1[_g]; - ++_g; - var xrf = store[key]; - if(!xrf.is(filter)) { - Reflect.deleteField(store,key); - } - } - } - return store; -}; -xrfragment_URI.template = function(uri,vars) { - var parts = uri.split("#"); - if(parts.length == 1) { - return uri; - } - var frag = parts[1]; - frag = StringTools.replace(frag,"{","::"); - frag = StringTools.replace(frag,"}","::"); - frag = new haxe_Template(frag).execute(vars); - frag = StringTools.replace(frag,"null",""); - parts[1] = frag; - return parts.join("#"); -}; -xrfragment_URI.parse = function(stringUrl,flags) { - var r = new EReg("^(?:(?![^:@]+:[^:@/]*@)([^:/?#.]+):)?(?://)?((?:(([^:@]*)(?::([^:@]*))?)?@)?([^:/?#]*)(?::(\\d*))?)(((/(?:[^?#](?![^?#/]*\\.[^?#/.]+(?:[?#]|$)))*/?)?([^?#/]*))(?:\\?([^#]*))?(?:#(.*))?)",""); - if(stringUrl.indexOf("://") == -1 && stringUrl.charAt(0) != "/") { - stringUrl = "/" + stringUrl; - } - r.match(stringUrl); - var url = new xrfragment_URI(); - var _g = 0; - var _g1 = xrfragment_URI._parts.length; - while(_g < _g1) { - var i = _g++; - url[xrfragment_URI._parts[i]] = r.matched(i); - } - if(xrfragment_URI.isRelative(url) == true) { - if(url.directory == null && url.host != null) { - url.file = url.host; - } - url.host = ""; - } - url.hash = { }; - if(url.fragment != null && url.fragment.length > 0) { - url.XRF = xrfragment_URI.parseFragment("#" + url.fragment,flags); - var key; - var _g = 0; - var _g1 = Reflect.fields(url.XRF); - while(_g < _g1.length) { - var key = _g1[_g]; - ++_g; - var v = url.XRF[key]; - url.hash[key] = v["string"]; - } - } - xrfragment_URI.computeVars(url); - return url; -}; -xrfragment_URI.computeVars = function(url) { - var r_r = new RegExp("//","g".split("u").join("")); - if(url.directory != null && url.directory.indexOf("//") != -1) { - url.directory = url.directory.replace(r_r,"/"); - } - if(url.path != null && url.path.indexOf("//") != -1) { - url.path = url.path.replace(r_r,"/"); - } - if(url.file != null && url.file.indexOf("//") != -1) { - url.file = url.file.replace(r_r,"/"); - } - url.URN = url.scheme + "://" + url.host; - if(url.port != null) { - url.URN += ":" + url.port; - } - url.URN += url.directory; - if(url.file != null) { - var parts = url.file.split("."); - if(parts.length > 1) { - url.fileExt = parts.pop(); - } - } -}; -xrfragment_URI.toString = function(url) { - var result = ""; - if(url.scheme != null) { - result += url.scheme + "://"; - } - if(url.user != null) { - result += url.user + ":"; - } - if(url.password != null) { - result += url.password + "@"; - } - if(url.host != null) { - result += url.host; - } - if(url.port != null) { - result += ":" + url.port; - } - if(url.directory != null) { - result += url.directory; - } - if(url.file != null) { - result += url.file; - } - if(url.query != null) { - result += "?" + url.query; - } - if(url.fragment != null) { - result += "#" + url.fragment; - } - return result; -}; -xrfragment_URI.appendURI = function(url,appendedURI) { - if(xrfragment_URI.isRelative(url) == true) { - return xrfragment_URI.appendToRelativeURI(url,appendedURI); - } else { - return xrfragment_URI.appendToAbsoluteURI(url,appendedURI); - } -}; -xrfragment_URI.isRelative = function(url) { - return url.scheme == null; -}; -xrfragment_URI.appendToRelativeURI = function(url,appendedURI) { - if(url.directory == null || url.host == null) { - return xrfragment_URI.cloneURI(appendedURI); - } - var resultURI = new xrfragment_URI(); - resultURI.host = url.host; - resultURI.directory = url.directory; - if(appendedURI.host != null) { - resultURI.directory += appendedURI.host; - } - if(appendedURI.directory != null) { - var directory = appendedURI.directory; - if(appendedURI.host == null) { - resultURI.directory += HxOverrides.substr(directory,1,null); - } else { - resultURI.directory += directory; - } - } - if(appendedURI.file != null) { - resultURI.file = appendedURI.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(appendedURI.query != null) { - resultURI.query = appendedURI.query; - } - if(appendedURI.fragment != null) { - resultURI.fragment = appendedURI.fragment; - } - return resultURI; -}; -xrfragment_URI.appendToAbsoluteURI = function(url,appendedURI) { - var resultURI = new xrfragment_URI(); - if(url.scheme != null) { - resultURI.scheme = url.scheme; - } - if(url.host != null) { - resultURI.host = url.host; - } - var directory = ""; - if(url.directory != null) { - directory = url.directory; - } - if(appendedURI.host != null) { - appendedURI.directory += appendedURI.host; - } - if(appendedURI.directory != null) { - directory += appendedURI.directory; - } - resultURI.directory = directory; - if(appendedURI.file != null) { - resultURI.file = appendedURI.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(appendedURI.query != null) { - resultURI.query = appendedURI.query; - } - if(appendedURI.fragment != null) { - resultURI.fragment = appendedURI.fragment; - } - return resultURI; -}; -xrfragment_URI.toAbsolute = function(url,newUrl) { - var newURI = xrfragment_URI.parse(newUrl,0); - var resultURI = new xrfragment_URI(); - resultURI.port = url.port; - resultURI.source = newUrl; - if(newURI.scheme != null) { - resultURI.scheme = newURI.scheme; - } else { - resultURI.scheme = url.scheme; - } - if(newURI.host != null && newURI.host.length > 0) { - resultURI.host = newURI.host; - resultURI.port = null; - resultURI.fragment = null; - resultURI.hash = { }; - resultURI.XRF = { }; - if(newURI.port != null) { - resultURI.port = newURI.port; - } - } else { - resultURI.host = url.host; - } - var directory = ""; - if(url.directory != null) { - directory = url.directory; - } - if(newURI.directory != null) { - if(newUrl.charAt(0) != "/" && newUrl.indexOf("://") == -1) { - var stripRelative_r = new RegExp("\\./.*","".split("u").join("")); - directory = directory.replace(stripRelative_r,""); - directory += newURI.directory; - } else { - directory = newURI.directory; - } - } - resultURI.directory = directory; - if(newURI.file != null) { - resultURI.file = newURI.file; - } else { - resultURI.file = url.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(newURI.query != null) { - resultURI.query = newURI.query; - } - if(newURI.fragment != null) { - resultURI.fragment = newURI.fragment; - } - resultURI.hash = newURI.hash; - resultURI.XRF = newURI.XRF; - xrfragment_URI.computeVars(resultURI); - return resultURI; -}; -xrfragment_URI.cloneURI = function(url) { - var clonedURI = new xrfragment_URI(); - clonedURI.url = url.url; - clonedURI.source = url.source; - clonedURI.scheme = url.scheme; - clonedURI.authority = url.authority; - clonedURI.userInfo = url.userInfo; - clonedURI.password = url.password; - clonedURI.host = url.host; - clonedURI.port = url.port; - clonedURI.relative = url.relative; - clonedURI.path = url.path; - clonedURI.directory = url.directory; - clonedURI.file = url.file; - clonedURI.query = url.query; - clonedURI.fragment = url.fragment; - return clonedURI; -}; -var xrfragment_XRF = $hx_exports["xrfragment"]["XRF"] = function(_fragment,_flags,_index) { - this.floats = []; - this.shift = []; - this.fragment = _fragment; - this.flags = _flags; - this.index = _index; -}; -xrfragment_XRF.__name__ = true; -xrfragment_XRF.set = function(flag,flags) { - return flags | flag; -}; -xrfragment_XRF.unset = function(flag,flags) { - return flags & ~flag; -}; -xrfragment_XRF.prototype = { - is: function(flag) { - var v = this.flags; - if(!(typeof(v) == "number" && ((v | 0) === v))) { - this.flags = 0; - } - return (this.flags & flag) != 0; - } - ,validate: function(value) { - this.guessType(this,value); - var ok = true; - if(value.length == 0 && !this.is(xrfragment_XRF.T_PREDEFINED_VIEW)) { - ok = false; - } - if(!this.is(xrfragment_XRF.T_FLOAT) && this.is(xrfragment_XRF.T_VECTOR2) && !(typeof(this.x) == "number" && typeof(this.y) == "number")) { - ok = false; - } - if(!(this.is(xrfragment_XRF.T_VECTOR2) || this.is(xrfragment_XRF.T_STRING)) && this.is(xrfragment_XRF.T_VECTOR3) && !(typeof(this.x) == "number" && typeof(this.y) == "number" && typeof(this.z) == "number")) { - ok = false; - } - return ok; - } - ,guessType: function(v,str) { - v.string = str; - if(xrfragment_XRF.isReset.match(v.fragment)) { - v.reset = true; - } - if(v.fragment == "loop") { - v.loop = true; - } - if(typeof(str) != "string") { - return; - } - if(str.length > 0) { - if(xrfragment_XRF.isXRFScheme.match(str)) { - v.xrfScheme = true; - str = str.replace(xrfragment_XRF.isXRFScheme.r,""); - v.string = str; - } - if(str.split(",").length > 1) { - var xyzn = str.split(","); - if(xyzn.length > 0) { - v.x = parseFloat(xyzn[0]); - } - if(xyzn.length > 1) { - v.y = parseFloat(xyzn[1]); - } - if(xyzn.length > 2) { - v.z = parseFloat(xyzn[2]); - } - var _g = 0; - var _g1 = xyzn.length; - while(_g < _g1) { - var i = _g++; - v.shift.push(xrfragment_XRF.isShift.match(xyzn[i])); - v.floats.push(parseFloat(xyzn[i].replace(xrfragment_XRF.isShift.r,""))); - } - } - if(xrfragment_XRF.isColor.match(str)) { - v.color = str; - } - if(xrfragment_XRF.isFloat.match(str)) { - v.x = parseFloat(str); - v.float = v.x; - } - if(xrfragment_XRF.isInt.match(str)) { - v.int = Std.parseInt(str); - v.x = v.int; - v.floats.push(v.x); - } - v.filter = new xrfragment_Filter(v.fragment + "=" + v.string); - } else { - v.filter = new xrfragment_Filter(v.fragment); - } - } -}; -function $getIterator(o) { if( o instanceof Array ) return new haxe_iterators_ArrayIterator(o); else return o.iterator(); } -function $bind(o,m) { if( m == null ) return null; if( m.__id__ == null ) m.__id__ = $global.$haxeUID++; var f; if( o.hx__closures__ == null ) o.hx__closures__ = {}; else f = o.hx__closures__[m.__id__]; if( f == null ) { f = m.bind(o); o.hx__closures__[m.__id__] = f; } return f; } -$global.$haxeUID |= 0; -if(typeof(performance) != "undefined" ? typeof(performance.now) == "function" : false) { - HxOverrides.now = performance.now.bind(performance); -} -if( String.fromCodePoint == null ) String.fromCodePoint = function(c) { return c < 0x10000 ? String.fromCharCode(c) : String.fromCharCode((c>>10)+0xD7C0)+String.fromCharCode((c&0x3FF)+0xDC00); } -String.__name__ = true; -Array.__name__ = true; -js_Boot.__toStr = ({ }).toString; -haxe_Template.splitter = new EReg("(::[A-Za-z0-9_ ()&|!+=/><*.\"-]+::|\\$\\$([A-Za-z0-9_-]+)\\()",""); -haxe_Template.expr_splitter = new EReg("(\\(|\\)|[ \r\n\t]*\"[^\"]*\"[ \r\n\t]*|[!+=/><*.&|-]+)",""); -haxe_Template.expr_trim = new EReg("^[ ]*([^ ]+)[ ]*$",""); -haxe_Template.expr_int = new EReg("^[0-9]+$",""); -haxe_Template.expr_float = new EReg("^([+-]?)(?=\\d|,\\d)\\d*(,\\d*)?([Ee]([+-]?\\d+))?$",""); -haxe_Template.globals = { }; -haxe_Template.hxKeepArrayIterator = new haxe_iterators_ArrayIterator([]); -xrfragment_Parser.error = ""; -xrfragment_Parser.debug = false; -xrfragment_URI.__meta__ = { statics : { template : { keep : null}}}; -xrfragment_URI._parts = ["source","scheme","authority","userInfo","user","password","host","port","relative","path","directory","file","query","fragment"]; -xrfragment_XRF.IMMUTABLE = 1; -xrfragment_XRF.PROP_BIND = 2; -xrfragment_XRF.QUERY_OPERATOR = 4; -xrfragment_XRF.PROMPT = 8; -xrfragment_XRF.CUSTOMFRAG = 16; -xrfragment_XRF.NAVIGATOR = 32; -xrfragment_XRF.METADATA = 64; -xrfragment_XRF.PV_OVERRIDE = 128; -xrfragment_XRF.PV_EXECUTE = 256; -xrfragment_XRF.T_COLOR = 8192; -xrfragment_XRF.T_INT = 16384; -xrfragment_XRF.T_FLOAT = 32768; -xrfragment_XRF.T_VECTOR2 = 65536; -xrfragment_XRF.T_VECTOR3 = 131072; -xrfragment_XRF.T_URL = 262144; -xrfragment_XRF.T_PREDEFINED_VIEW = 524288; -xrfragment_XRF.T_STRING = 1048576; -xrfragment_XRF.T_MEDIAFRAG = 2097152; -xrfragment_XRF.T_DYNAMICKEY = 4194304; -xrfragment_XRF.T_DYNAMICKEYVALUE = 8388608; -xrfragment_XRF.isColor = new EReg("^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$",""); -xrfragment_XRF.isInt = new EReg("^[-0-9]+$",""); -xrfragment_XRF.isFloat = new EReg("^[-0-9]+\\.[0-9]+$",""); -xrfragment_XRF.isVector = new EReg("([,]+|\\w)",""); -xrfragment_XRF.isUrl = new EReg("(://)?\\..*",""); -xrfragment_XRF.isUrlOrPretypedView = new EReg("(^#|://)?\\..*",""); -xrfragment_XRF.isString = new EReg(".*",""); -xrfragment_XRF.operators = new EReg("(^[-]|^[!]|[\\*]$)","g"); -xrfragment_XRF.isProp = new EReg("^.*=[><=]?",""); -xrfragment_XRF.isExclude = new EReg("^-",""); -xrfragment_XRF.isDeep = new EReg("\\*",""); -xrfragment_XRF.isNumber = new EReg("^[0-9\\.]+$",""); -xrfragment_XRF.isMediaFrag = new EReg("^([0-9\\.,\\*+-]+)$",""); -xrfragment_XRF.isReset = new EReg("^!",""); -xrfragment_XRF.isShift = new EReg("^(\\+|--)",""); -xrfragment_XRF.isXRFScheme = new EReg("^xrf://",""); -})(typeof window != "undefined" ? window : typeof global != "undefined" ? global : typeof self != "undefined" ? self : this); -var xrfragment = $hx_exports["xrfragment"]; -export default xrfragment; -// Generated by Haxe 4.3.3 -var $hx_exports = typeof exports != "undefined" ? exports : typeof window != "undefined" ? window : typeof self != "undefined" ? self : this; -(function ($global) { "use strict"; -$hx_exports["xrfragment"] = $hx_exports["xrfragment"] || {}; -var $estr = function() { return js_Boot.__string_rec(this,''); },$hxEnums = $hxEnums || {},$_; -function $extend(from, fields) { - var proto = Object.create(from); - for (var name in fields) proto[name] = fields[name]; - if( fields.toString !== Object.prototype.toString ) proto.toString = fields.toString; - return proto; -} -var EReg = function(r,opt) { - this.r = new RegExp(r,opt.split("u").join("")); -}; -EReg.__name__ = true; -EReg.prototype = { - match: function(s) { - if(this.r.global) { - this.r.lastIndex = 0; - } - this.r.m = this.r.exec(s); - this.r.s = s; - return this.r.m != null; - } - ,matched: function(n) { - if(this.r.m != null && n >= 0 && n < this.r.m.length) { - return this.r.m[n]; - } else { - throw haxe_Exception.thrown("EReg::matched"); - } - } - ,matchedRight: function() { - if(this.r.m == null) { - throw haxe_Exception.thrown("No string matched"); - } - var sz = this.r.m.index + this.r.m[0].length; - return HxOverrides.substr(this.r.s,sz,this.r.s.length - sz); - } - ,matchedPos: function() { - if(this.r.m == null) { - throw haxe_Exception.thrown("No string matched"); - } - return { pos : this.r.m.index, len : this.r.m[0].length}; - } - ,split: function(s) { - var d = "#__delim__#"; - return s.replace(this.r,d).split(d); - } -}; -var HxOverrides = function() { }; -HxOverrides.__name__ = true; -HxOverrides.cca = function(s,index) { - var x = s.charCodeAt(index); - if(x != x) { - return undefined; - } - return x; -}; -HxOverrides.substr = function(s,pos,len) { - if(len == null) { - len = s.length; - } else if(len < 0) { - if(pos == 0) { - len = s.length + len; - } else { - return ""; - } - } - return s.substr(pos,len); -}; -HxOverrides.now = function() { - return Date.now(); -}; -Math.__name__ = true; -var Reflect = function() { }; -Reflect.__name__ = true; -Reflect.field = function(o,field) { - try { - return o[field]; - } catch( _g ) { - return null; - } -}; -Reflect.getProperty = function(o,field) { - var tmp; - if(o == null) { - return null; - } else { - var tmp1; - if(o.__properties__) { - tmp = o.__properties__["get_" + field]; - tmp1 = tmp; - } else { - tmp1 = false; - } - if(tmp1) { - return o[tmp](); - } else { - return o[field]; - } - } -}; -Reflect.fields = function(o) { - var a = []; - if(o != null) { - var hasOwnProperty = Object.prototype.hasOwnProperty; - for( var f in o ) { - if(f != "__id__" && f != "hx__closures__" && hasOwnProperty.call(o,f)) { - a.push(f); - } - } - } - return a; -}; -Reflect.isObject = function(v) { - if(v == null) { - return false; - } - var t = typeof(v); - if(!(t == "string" || t == "object" && v.__enum__ == null)) { - if(t == "function") { - return (v.__name__ || v.__ename__) != null; - } else { - return false; - } - } else { - return true; - } -}; -Reflect.deleteField = function(o,field) { - if(!Object.prototype.hasOwnProperty.call(o,field)) { - return false; - } - delete(o[field]); - return true; -}; -Reflect.copy = function(o) { - if(o == null) { - return null; - } - var o2 = { }; - var _g = 0; - var _g1 = Reflect.fields(o); - while(_g < _g1.length) { - var f = _g1[_g]; - ++_g; - o2[f] = Reflect.field(o,f); - } - return o2; -}; -var Std = function() { }; -Std.__name__ = true; -Std.string = function(s) { - return js_Boot.__string_rec(s,""); -}; -Std.parseInt = function(x) { - var v = parseInt(x); - if(isNaN(v)) { - return null; - } - return v; -}; -var StringBuf = function() { - this.b = ""; -}; -StringBuf.__name__ = true; -var StringTools = function() { }; -StringTools.__name__ = true; -StringTools.isSpace = function(s,pos) { - var c = HxOverrides.cca(s,pos); - if(!(c > 8 && c < 14)) { - return c == 32; - } else { - return true; - } -}; -StringTools.ltrim = function(s) { - var l = s.length; - var r = 0; - while(r < l && StringTools.isSpace(s,r)) ++r; - if(r > 0) { - return HxOverrides.substr(s,r,l - r); - } else { - return s; - } -}; -StringTools.rtrim = function(s) { - var l = s.length; - var r = 0; - while(r < l && StringTools.isSpace(s,l - r - 1)) ++r; - if(r > 0) { - return HxOverrides.substr(s,0,l - r); - } else { - return s; - } -}; -StringTools.trim = function(s) { - return StringTools.ltrim(StringTools.rtrim(s)); -}; -StringTools.replace = function(s,sub,by) { - return s.split(sub).join(by); -}; -var haxe_Exception = function(message,previous,native) { - Error.call(this,message); - this.message = message; - this.__previousException = previous; - this.__nativeException = native != null ? native : this; -}; -haxe_Exception.__name__ = true; -haxe_Exception.caught = function(value) { - if(((value) instanceof haxe_Exception)) { - return value; - } else if(((value) instanceof Error)) { - return new haxe_Exception(value.message,null,value); - } else { - return new haxe_ValueException(value,null,value); - } -}; -haxe_Exception.thrown = function(value) { - if(((value) instanceof haxe_Exception)) { - return value.get_native(); - } else if(((value) instanceof Error)) { - return value; - } else { - var e = new haxe_ValueException(value); - return e; - } -}; -haxe_Exception.__super__ = Error; -haxe_Exception.prototype = $extend(Error.prototype,{ - unwrap: function() { - return this.__nativeException; - } - ,get_native: function() { - return this.__nativeException; - } - ,__properties__: {get_native:"get_native"} -}); -var haxe__$Template_TemplateExpr = $hxEnums["haxe._Template.TemplateExpr"] = { __ename__:true,__constructs__:null - ,OpVar: ($_=function(v) { return {_hx_index:0,v:v,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpVar",$_.__params__ = ["v"],$_) - ,OpExpr: ($_=function(expr) { return {_hx_index:1,expr:expr,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpExpr",$_.__params__ = ["expr"],$_) - ,OpIf: ($_=function(expr,eif,eelse) { return {_hx_index:2,expr:expr,eif:eif,eelse:eelse,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpIf",$_.__params__ = ["expr","eif","eelse"],$_) - ,OpStr: ($_=function(str) { return {_hx_index:3,str:str,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpStr",$_.__params__ = ["str"],$_) - ,OpBlock: ($_=function(l) { return {_hx_index:4,l:l,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpBlock",$_.__params__ = ["l"],$_) - ,OpForeach: ($_=function(expr,loop) { return {_hx_index:5,expr:expr,loop:loop,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpForeach",$_.__params__ = ["expr","loop"],$_) - ,OpMacro: ($_=function(name,params) { return {_hx_index:6,name:name,params:params,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpMacro",$_.__params__ = ["name","params"],$_) -}; -haxe__$Template_TemplateExpr.__constructs__ = [haxe__$Template_TemplateExpr.OpVar,haxe__$Template_TemplateExpr.OpExpr,haxe__$Template_TemplateExpr.OpIf,haxe__$Template_TemplateExpr.OpStr,haxe__$Template_TemplateExpr.OpBlock,haxe__$Template_TemplateExpr.OpForeach,haxe__$Template_TemplateExpr.OpMacro]; -var haxe_iterators_ArrayIterator = function(array) { - this.current = 0; - this.array = array; -}; -haxe_iterators_ArrayIterator.__name__ = true; -haxe_iterators_ArrayIterator.prototype = { - hasNext: function() { - return this.current < this.array.length; - } - ,next: function() { - return this.array[this.current++]; - } -}; -var haxe_Template = function(str) { - var tokens = this.parseTokens(str); - this.expr = this.parseBlock(tokens); - if(!tokens.isEmpty()) { - throw haxe_Exception.thrown("Unexpected '" + Std.string(tokens.first().s) + "'"); - } -}; -haxe_Template.__name__ = true; -haxe_Template.prototype = { - execute: function(context,macros) { - this.macros = macros == null ? { } : macros; - this.context = context; - this.stack = new haxe_ds_List(); - this.buf = new StringBuf(); - this.run(this.expr); - return this.buf.b; - } - ,resolve: function(v) { - if(v == "__current__") { - return this.context; - } - if(Reflect.isObject(this.context)) { - var value = Reflect.getProperty(this.context,v); - if(value != null || Object.prototype.hasOwnProperty.call(this.context,v)) { - return value; - } - } - var _g_head = this.stack.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var ctx = val; - var value = Reflect.getProperty(ctx,v); - if(value != null || Object.prototype.hasOwnProperty.call(ctx,v)) { - return value; - } - } - return Reflect.field(haxe_Template.globals,v); - } - ,parseTokens: function(data) { - var tokens = new haxe_ds_List(); - while(haxe_Template.splitter.match(data)) { - var p = haxe_Template.splitter.matchedPos(); - if(p.pos > 0) { - tokens.add({ p : HxOverrides.substr(data,0,p.pos), s : true, l : null}); - } - if(HxOverrides.cca(data,p.pos) == 58) { - tokens.add({ p : HxOverrides.substr(data,p.pos + 2,p.len - 4), s : false, l : null}); - data = haxe_Template.splitter.matchedRight(); - continue; - } - var parp = p.pos + p.len; - var npar = 1; - var params = []; - var part = ""; - while(true) { - var c = HxOverrides.cca(data,parp); - ++parp; - if(c == 40) { - ++npar; - } else if(c == 41) { - --npar; - if(npar <= 0) { - break; - } - } else if(c == null) { - throw haxe_Exception.thrown("Unclosed macro parenthesis"); - } - if(c == 44 && npar == 1) { - params.push(part); - part = ""; - } else { - part += String.fromCodePoint(c); - } - } - params.push(part); - tokens.add({ p : haxe_Template.splitter.matched(2), s : false, l : params}); - data = HxOverrides.substr(data,parp,data.length - parp); - } - if(data.length > 0) { - tokens.add({ p : data, s : true, l : null}); - } - return tokens; - } - ,parseBlock: function(tokens) { - var l = new haxe_ds_List(); - while(true) { - var t = tokens.first(); - if(t == null) { - break; - } - if(!t.s && (t.p == "end" || t.p == "else" || HxOverrides.substr(t.p,0,7) == "elseif ")) { - break; - } - l.add(this.parse(tokens)); - } - if(l.length == 1) { - return l.first(); - } - return haxe__$Template_TemplateExpr.OpBlock(l); - } - ,parse: function(tokens) { - var t = tokens.pop(); - var p = t.p; - if(t.s) { - return haxe__$Template_TemplateExpr.OpStr(p); - } - if(t.l != null) { - var pe = new haxe_ds_List(); - var _g = 0; - var _g1 = t.l; - while(_g < _g1.length) { - var p1 = _g1[_g]; - ++_g; - pe.add(this.parseBlock(this.parseTokens(p1))); - } - return haxe__$Template_TemplateExpr.OpMacro(p,pe); - } - var kwdEnd = function(kwd) { - var pos = -1; - var length = kwd.length; - if(HxOverrides.substr(p,0,length) == kwd) { - pos = length; - var _g_offset = 0; - var _g_s = HxOverrides.substr(p,length,null); - while(_g_offset < _g_s.length) { - var c = _g_s.charCodeAt(_g_offset++); - if(c == 32) { - ++pos; - } else { - break; - } - } - } - return pos; - }; - var pos = kwdEnd("if"); - if(pos > 0) { - p = HxOverrides.substr(p,pos,p.length - pos); - var e = this.parseExpr(p); - var eif = this.parseBlock(tokens); - var t = tokens.first(); - var eelse; - if(t == null) { - throw haxe_Exception.thrown("Unclosed 'if'"); - } - if(t.p == "end") { - tokens.pop(); - eelse = null; - } else if(t.p == "else") { - tokens.pop(); - eelse = this.parseBlock(tokens); - t = tokens.pop(); - if(t == null || t.p != "end") { - throw haxe_Exception.thrown("Unclosed 'else'"); - } - } else { - t.p = HxOverrides.substr(t.p,4,t.p.length - 4); - eelse = this.parse(tokens); - } - return haxe__$Template_TemplateExpr.OpIf(e,eif,eelse); - } - var pos = kwdEnd("foreach"); - if(pos >= 0) { - p = HxOverrides.substr(p,pos,p.length - pos); - var e = this.parseExpr(p); - var efor = this.parseBlock(tokens); - var t = tokens.pop(); - if(t == null || t.p != "end") { - throw haxe_Exception.thrown("Unclosed 'foreach'"); - } - return haxe__$Template_TemplateExpr.OpForeach(e,efor); - } - if(haxe_Template.expr_splitter.match(p)) { - return haxe__$Template_TemplateExpr.OpExpr(this.parseExpr(p)); - } - return haxe__$Template_TemplateExpr.OpVar(p); - } - ,parseExpr: function(data) { - var l = new haxe_ds_List(); - var expr = data; - while(haxe_Template.expr_splitter.match(data)) { - var p = haxe_Template.expr_splitter.matchedPos(); - var k = p.pos + p.len; - if(p.pos != 0) { - l.add({ p : HxOverrides.substr(data,0,p.pos), s : true}); - } - var p1 = haxe_Template.expr_splitter.matched(0); - l.add({ p : p1, s : p1.indexOf("\"") >= 0}); - data = haxe_Template.expr_splitter.matchedRight(); - } - if(data.length != 0) { - var _g_offset = 0; - var _g_s = data; - while(_g_offset < _g_s.length) { - var _g_key = _g_offset; - var _g_value = _g_s.charCodeAt(_g_offset++); - var i = _g_key; - var c = _g_value; - if(c != 32) { - l.add({ p : HxOverrides.substr(data,i,null), s : true}); - break; - } - } - } - var e; - try { - e = this.makeExpr(l); - if(!l.isEmpty()) { - throw haxe_Exception.thrown(l.first().p); - } - } catch( _g ) { - var _g1 = haxe_Exception.caught(_g).unwrap(); - if(typeof(_g1) == "string") { - var s = _g1; - throw haxe_Exception.thrown("Unexpected '" + s + "' in " + expr); - } else { - throw _g; - } - } - return function() { - try { - return e(); - } catch( _g ) { - var exc = haxe_Exception.caught(_g).unwrap(); - throw haxe_Exception.thrown("Error : " + Std.string(exc) + " in " + expr); - } - }; - } - ,makeConst: function(v) { - haxe_Template.expr_trim.match(v); - v = haxe_Template.expr_trim.matched(1); - if(HxOverrides.cca(v,0) == 34) { - var str = HxOverrides.substr(v,1,v.length - 2); - return function() { - return str; - }; - } - if(haxe_Template.expr_int.match(v)) { - var i = Std.parseInt(v); - return function() { - return i; - }; - } - if(haxe_Template.expr_float.match(v)) { - var f = parseFloat(v); - return function() { - return f; - }; - } - var me = this; - return function() { - return me.resolve(v); - }; - } - ,makePath: function(e,l) { - var p = l.first(); - if(p == null || p.p != ".") { - return e; - } - l.pop(); - var field = l.pop(); - if(field == null || !field.s) { - throw haxe_Exception.thrown(field.p); - } - var f = field.p; - haxe_Template.expr_trim.match(f); - f = haxe_Template.expr_trim.matched(1); - return this.makePath(function() { - return Reflect.field(e(),f); - },l); - } - ,makeExpr: function(l) { - return this.makePath(this.makeExpr2(l),l); - } - ,skipSpaces: function(l) { - var p = l.first(); - while(p != null) { - var _g_offset = 0; - var _g_s = p.p; - while(_g_offset < _g_s.length) { - var c = _g_s.charCodeAt(_g_offset++); - if(c != 32) { - return; - } - } - l.pop(); - p = l.first(); - } - } - ,makeExpr2: function(l) { - this.skipSpaces(l); - var p = l.pop(); - this.skipSpaces(l); - if(p == null) { - throw haxe_Exception.thrown(""); - } - if(p.s) { - return this.makeConst(p.p); - } - switch(p.p) { - case "!": - var e = this.makeExpr(l); - return function() { - var v = e(); - if(v != null) { - return v == false; - } else { - return true; - } - }; - case "(": - this.skipSpaces(l); - var e1 = this.makeExpr(l); - this.skipSpaces(l); - var p1 = l.pop(); - if(p1 == null || p1.s) { - throw haxe_Exception.thrown(p1); - } - if(p1.p == ")") { - return e1; - } - this.skipSpaces(l); - var e2 = this.makeExpr(l); - this.skipSpaces(l); - var p2 = l.pop(); - this.skipSpaces(l); - if(p2 == null || p2.p != ")") { - throw haxe_Exception.thrown(p2); - } - switch(p1.p) { - case "!=": - return function() { - return e1() != e2(); - }; - case "&&": - return function() { - return e1() && e2(); - }; - case "*": - return function() { - return e1() * e2(); - }; - case "+": - return function() { - return e1() + e2(); - }; - case "-": - return function() { - return e1() - e2(); - }; - case "/": - return function() { - return e1() / e2(); - }; - case "<": - return function() { - return e1() < e2(); - }; - case "<=": - return function() { - return e1() <= e2(); - }; - case "==": - return function() { - return e1() == e2(); - }; - case ">": - return function() { - return e1() > e2(); - }; - case ">=": - return function() { - return e1() >= e2(); - }; - case "||": - return function() { - return e1() || e2(); - }; - default: - throw haxe_Exception.thrown("Unknown operation " + p1.p); - } - break; - case "-": - var e3 = this.makeExpr(l); - return function() { - return -e3(); - }; - } - throw haxe_Exception.thrown(p.p); - } - ,run: function(e) { - switch(e._hx_index) { - case 0: - var v = e.v; - var _this = this.buf; - var x = Std.string(this.resolve(v)); - _this.b += Std.string(x); - break; - case 1: - var e1 = e.expr; - var _this = this.buf; - var x = Std.string(e1()); - _this.b += Std.string(x); - break; - case 2: - var e1 = e.expr; - var eif = e.eif; - var eelse = e.eelse; - var v = e1(); - if(v == null || v == false) { - if(eelse != null) { - this.run(eelse); - } - } else { - this.run(eif); - } - break; - case 3: - var str = e.str; - this.buf.b += str == null ? "null" : "" + str; - break; - case 4: - var l = e.l; - var _g_head = l.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var e1 = val; - this.run(e1); - } - break; - case 5: - var e1 = e.expr; - var loop = e.loop; - var v = e1(); - try { - var x = $getIterator(v); - if(x.hasNext == null) { - throw haxe_Exception.thrown(null); - } - v = x; - } catch( _g ) { - try { - if(v.hasNext == null) { - throw haxe_Exception.thrown(null); - } - } catch( _g1 ) { - throw haxe_Exception.thrown("Cannot iter on " + Std.string(v)); - } - } - this.stack.push(this.context); - var v1 = v; - var ctx = v1; - while(ctx.hasNext()) { - var ctx1 = ctx.next(); - this.context = ctx1; - this.run(loop); - } - this.context = this.stack.pop(); - break; - case 6: - var m = e.name; - var params = e.params; - var v = Reflect.field(this.macros,m); - var pl = []; - var old = this.buf; - pl.push($bind(this,this.resolve)); - var _g_head = params.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var p = val; - if(p._hx_index == 0) { - var v1 = p.v; - pl.push(this.resolve(v1)); - } else { - this.buf = new StringBuf(); - this.run(p); - pl.push(this.buf.b); - } - } - this.buf = old; - try { - var _this = this.buf; - var x = Std.string(v.apply(this.macros,pl)); - _this.b += Std.string(x); - } catch( _g ) { - var e = haxe_Exception.caught(_g).unwrap(); - var plstr; - try { - plstr = pl.join(","); - } catch( _g1 ) { - plstr = "???"; - } - var msg = "Macro call " + m + "(" + plstr + ") failed (" + Std.string(e) + ")"; - throw haxe_Exception.thrown(msg); - } - break; - } - } -}; -var haxe_ValueException = function(value,previous,native) { - haxe_Exception.call(this,String(value),previous,native); - this.value = value; -}; -haxe_ValueException.__name__ = true; -haxe_ValueException.__super__ = haxe_Exception; -haxe_ValueException.prototype = $extend(haxe_Exception.prototype,{ - unwrap: function() { - return this.value; - } -}); -var haxe_ds_List = function() { - this.length = 0; -}; -haxe_ds_List.__name__ = true; -haxe_ds_List.prototype = { - add: function(item) { - var x = new haxe_ds__$List_ListNode(item,null); - if(this.h == null) { - this.h = x; - } else { - this.q.next = x; - } - this.q = x; - this.length++; - } - ,push: function(item) { - var x = new haxe_ds__$List_ListNode(item,this.h); - this.h = x; - if(this.q == null) { - this.q = x; - } - this.length++; - } - ,first: function() { - if(this.h == null) { - return null; - } else { - return this.h.item; - } - } - ,pop: function() { - if(this.h == null) { - return null; - } - var x = this.h.item; - this.h = this.h.next; - if(this.h == null) { - this.q = null; - } - this.length--; - return x; - } - ,isEmpty: function() { - return this.h == null; - } - ,toString: function() { - var s_b = ""; - var first = true; - var l = this.h; - s_b += "{"; - while(l != null) { - if(first) { - first = false; - } else { - s_b += ", "; - } - s_b += Std.string(Std.string(l.item)); - l = l.next; - } - s_b += "}"; - return s_b; - } -}; -var haxe_ds__$List_ListNode = function(item,next) { - this.item = item; - this.next = next; -}; -haxe_ds__$List_ListNode.__name__ = true; -var js_Boot = function() { }; -js_Boot.__name__ = true; -js_Boot.__string_rec = function(o,s) { - if(o == null) { - return "null"; - } - if(s.length >= 5) { - return "<...>"; - } - var t = typeof(o); - if(t == "function" && (o.__name__ || o.__ename__)) { - t = "object"; - } - switch(t) { - case "function": - return ""; - case "object": - if(o.__enum__) { - var e = $hxEnums[o.__enum__]; - var con = e.__constructs__[o._hx_index]; - var n = con._hx_name; - if(con.__params__) { - s = s + "\t"; - return n + "(" + ((function($this) { - var $r; - var _g = []; - { - var _g1 = 0; - var _g2 = con.__params__; - while(true) { - if(!(_g1 < _g2.length)) { - break; - } - var p = _g2[_g1]; - _g1 = _g1 + 1; - _g.push(js_Boot.__string_rec(o[p],s)); - } - } - $r = _g; - return $r; - }(this))).join(",") + ")"; - } else { - return n; - } - } - if(((o) instanceof Array)) { - var str = "["; - s += "\t"; - var _g = 0; - var _g1 = o.length; - while(_g < _g1) { - var i = _g++; - str += (i > 0 ? "," : "") + js_Boot.__string_rec(o[i],s); - } - str += "]"; - return str; - } - var tostr; - try { - tostr = o.toString; - } catch( _g ) { - return "???"; - } - if(tostr != null && tostr != Object.toString && typeof(tostr) == "function") { - var s2 = o.toString(); - if(s2 != "[object Object]") { - return s2; - } - } - var str = "{\n"; - s += "\t"; - var hasp = o.hasOwnProperty != null; - var k = null; - for( k in o ) { - if(hasp && !o.hasOwnProperty(k)) { - continue; - } - if(k == "prototype" || k == "__class__" || k == "__super__" || k == "__interfaces__" || k == "__properties__") { - continue; - } - if(str.length != 2) { - str += ", \n"; - } - str += s + k + " : " + js_Boot.__string_rec(o[k],s); - } - s = s.substring(1); - str += "\n" + s + "}"; - return str; - case "string": - return o; - default: - return String(o); - } -}; -var xrfragment_Filter = $hx_exports["xrfragment"]["Filter"] = function(str) { - this.q = { }; - this.str = ""; - if(str != null) { - this.parse(str); - } -}; -xrfragment_Filter.__name__ = true; -xrfragment_Filter.prototype = { - toObject: function() { - return Reflect.copy(this.q); - } - ,get: function() { - return Reflect.copy(this.q); - } - ,parse: function(str) { - var token = str.split(" "); - var q = { }; - var process = function(str,prefix) { - if(prefix == null) { - prefix = ""; - } - str = StringTools.trim(str); - var k = str.split("=")[0]; - var v = str.split("=")[1]; - var filter = { }; - if(q[prefix + k]) { - filter = q[prefix + k]; - } - if(xrfragment_XRF.isProp.match(str)) { - var oper = ""; - if(str.indexOf(">") != -1) { - oper = ">"; - } - if(str.indexOf("<") != -1) { - oper = "<"; - } - if(xrfragment_XRF.isExclude.match(k)) { - k = HxOverrides.substr(k,1,null); - } - v = HxOverrides.substr(v,oper.length,null); - if(oper.length == 0) { - oper = "="; - } - var rule = { }; - if(xrfragment_XRF.isNumber.match(v)) { - rule[oper] = parseFloat(v); - } else { - rule[oper] = v; - } - q["expr"] = rule; - } - var value = xrfragment_XRF.isDeep.match(str) ? k.split("*").length - 1 : 0; - q["deep"] = value; - var value = xrfragment_XRF.isExclude.match(str) ? false : true; - q["show"] = value; - var value = k.replace(xrfragment_XRF.operators.r,""); - q["key"] = value; - q["value"] = v; - }; - var _g = 0; - var _g1 = token.length; - while(_g < _g1) { - var i = _g++; - process(token[i]); - } - return this.q = q; - } - ,test: function(obj) { - var qualify = false; - var _g = 0; - var _g1 = Reflect.fields(obj); - while(_g < _g1.length) { - var k = _g1[_g]; - ++_g; - var v = Std.string(Reflect.field(obj,k)); - if(this.testProperty(k,v)) { - qualify = true; - } - } - var _g = 0; - var _g1 = Reflect.fields(obj); - while(_g < _g1.length) { - var k = _g1[_g]; - ++_g; - var v = Std.string(Reflect.field(obj,k)); - if(this.testProperty(k,v,true)) { - qualify = false; - } - } - return qualify; - } - ,testProperty: function(property,value,exclude) { - var conds = 0; - var fails = 0; - var qualify = 0; - var testprop = function(expr) { - conds += 1; - fails += expr ? 0 : 1; - return expr; - }; - if(this.q[value] != null) { - var v = this.q[value]; - if(v[property] != null) { - return v[property]; - } - } - if(Reflect.field(this.q,"expr")) { - var f = Reflect.field(this.q,"expr"); - if(!Reflect.field(this.q,"show")) { - if(Reflect.field(f,"!=") != null && testprop((value == null ? "null" : "" + value) == Std.string(Reflect.field(f,"!="))) && exclude) { - ++qualify; - } - } else { - if(Reflect.field(f,"*") != null && testprop(parseFloat(value) != null)) { - ++qualify; - } - if(Reflect.field(f,">") != null && testprop(parseFloat(value) >= parseFloat(Reflect.field(f,">")))) { - ++qualify; - } - if(Reflect.field(f,"<") != null && testprop(parseFloat(value) <= parseFloat(Reflect.field(f,"<")))) { - ++qualify; - } - if(Reflect.field(f,"=") != null && (testprop(value == Reflect.field(f,"=")) || testprop(parseFloat(value) == parseFloat(Reflect.field(f,"="))))) { - ++qualify; - } - } - } - return qualify > 0; - } -}; -var xrfragment_Parser = $hx_exports["xrfragment"]["Parser"] = function() { }; -xrfragment_Parser.__name__ = true; -xrfragment_Parser.parse = function(key,value,store,index) { - var Frag_h = Object.create(null); - Frag_h["#"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_PREDEFINED_VIEW | xrfragment_XRF.PV_EXECUTE; - Frag_h["src"] = xrfragment_XRF.T_URL; - Frag_h["href"] = xrfragment_XRF.T_URL | xrfragment_XRF.T_PREDEFINED_VIEW; - Frag_h["tag"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["pos"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_VECTOR3 | xrfragment_XRF.T_STRING | xrfragment_XRF.METADATA | xrfragment_XRF.NAVIGATOR; - Frag_h["rot"] = xrfragment_XRF.QUERY_OPERATOR | xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_VECTOR3 | xrfragment_XRF.METADATA | xrfragment_XRF.NAVIGATOR; - Frag_h["t"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_FLOAT | xrfragment_XRF.T_VECTOR2 | xrfragment_XRF.NAVIGATOR | xrfragment_XRF.METADATA; - Frag_h["s"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_MEDIAFRAG; - Frag_h["loop"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_PREDEFINED_VIEW; - Frag_h["uv"] = xrfragment_XRF.T_VECTOR2 | xrfragment_XRF.T_MEDIAFRAG; - Frag_h["namespace"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["SPDX"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["unit"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["description"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - var keyStripped = key.replace(xrfragment_XRF.operators.r,""); - var isPVDynamic = key.length > 0 && !Object.prototype.hasOwnProperty.call(Frag_h,key); - if(isPVDynamic) { - var v = new xrfragment_XRF(key,xrfragment_XRF.PV_EXECUTE | xrfragment_XRF.NAVIGATOR,index); - v.validate(value); - v.flags = xrfragment_XRF.set(xrfragment_XRF.T_DYNAMICKEY,v.flags); - if(!Object.prototype.hasOwnProperty.call(Frag_h,key)) { - v.flags = xrfragment_XRF.set(xrfragment_XRF.CUSTOMFRAG,v.flags); - } - if(value.length == 0) { - v.flags = xrfragment_XRF.set(xrfragment_XRF.T_DYNAMICKEYVALUE,v.flags); - } - store[keyStripped] = v; - return true; - } - var v = new xrfragment_XRF(key,Frag_h[key],index); - if(Object.prototype.hasOwnProperty.call(Frag_h,key)) { - if(!v.validate(value)) { - console.log("src/xrfragment/Parser.hx:67:","⚠ fragment '" + key + "' has incompatible value (" + value + ")"); - return false; - } - store[keyStripped] = v; - if(xrfragment_Parser.debug) { - console.log("src/xrfragment/Parser.hx:71:","✔ " + key + ": " + v.string); - } - } else { - if(typeof(value) == "string") { - v.guessType(v,value); - } - v.flags = xrfragment_XRF.set(xrfragment_XRF.CUSTOMFRAG,v.flags); - store[keyStripped] = v; - } - return true; -}; -xrfragment_Parser.getMetaData = function() { - var meta = { title : ["title","og:title","dc.title"], description : ["aria-description","og:description","dc.description"], author : ["author","dc.creator"], publisher : ["publisher","dc.publisher"], website : ["og:site_name","og:url","dc.publisher"], license : ["SPDX","dc.rights"]}; - return meta; -}; -var xrfragment_URI = $hx_exports["xrfragment"]["URI"] = function() { - this.XRF = { }; - this.hash = { }; - this.fragment = ""; -}; -xrfragment_URI.__name__ = true; -xrfragment_URI.parseFragment = function(url,filter) { - var store = { }; - if(url == null || url.indexOf("#") == -1) { - return store; - } - var fragment = url.split("#"); - var splitArray = fragment[1].split("&"); - var _g = 0; - var _g1 = splitArray.length; - while(_g < _g1) { - var i = _g++; - var splitByEqual = splitArray[i].split("="); - var regexPlus = new EReg("\\+","g"); - var key = splitByEqual[0]; - var value = ""; - if(splitByEqual.length > 1) { - if(xrfragment_XRF.isVector.match(splitByEqual[1])) { - value = splitByEqual[1]; - } else { - var s = regexPlus.split(splitByEqual[1]).join(" "); - value = decodeURIComponent(s.split("+").join(" ")); - } - } - var ok = xrfragment_Parser.parse(key,value,store,i); - } - if(filter != null && filter != 0) { - var _g = 0; - var _g1 = Reflect.fields(store); - while(_g < _g1.length) { - var key = _g1[_g]; - ++_g; - var xrf = store[key]; - if(!xrf.is(filter)) { - Reflect.deleteField(store,key); - } - } - } - return store; -}; -xrfragment_URI.template = function(uri,vars) { - var parts = uri.split("#"); - if(parts.length == 1) { - return uri; - } - var frag = parts[1]; - frag = StringTools.replace(frag,"{","::"); - frag = StringTools.replace(frag,"}","::"); - frag = new haxe_Template(frag).execute(vars); - frag = StringTools.replace(frag,"null",""); - parts[1] = frag; - return parts.join("#"); -}; -xrfragment_URI.parse = function(stringUrl,flags) { - var r = new EReg("^(?:(?![^:@]+:[^:@/]*@)([^:/?#.]+):)?(?://)?((?:(([^:@]*)(?::([^:@]*))?)?@)?([^:/?#]*)(?::(\\d*))?)(((/(?:[^?#](?![^?#/]*\\.[^?#/.]+(?:[?#]|$)))*/?)?([^?#/]*))(?:\\?([^#]*))?(?:#(.*))?)",""); - if(stringUrl.indexOf("://") == -1 && stringUrl.charAt(0) != "/") { - stringUrl = "/" + stringUrl; - } - r.match(stringUrl); - var url = new xrfragment_URI(); - var _g = 0; - var _g1 = xrfragment_URI._parts.length; - while(_g < _g1) { - var i = _g++; - url[xrfragment_URI._parts[i]] = r.matched(i); - } - if(xrfragment_URI.isRelative(url) == true) { - if(url.directory == null && url.host != null) { - url.file = url.host; - } - url.host = ""; - } - url.hash = { }; - if(url.fragment != null && url.fragment.length > 0) { - url.XRF = xrfragment_URI.parseFragment("#" + url.fragment,flags); - var key; - var _g = 0; - var _g1 = Reflect.fields(url.XRF); - while(_g < _g1.length) { - var key = _g1[_g]; - ++_g; - var v = url.XRF[key]; - url.hash[key] = v["string"]; - } - } - xrfragment_URI.computeVars(url); - return url; -}; -xrfragment_URI.computeVars = function(url) { - var r_r = new RegExp("//","g".split("u").join("")); - if(url.directory != null && url.directory.indexOf("//") != -1) { - url.directory = url.directory.replace(r_r,"/"); - } - if(url.path != null && url.path.indexOf("//") != -1) { - url.path = url.path.replace(r_r,"/"); - } - if(url.file != null && url.file.indexOf("//") != -1) { - url.file = url.file.replace(r_r,"/"); - } - url.URN = url.scheme + "://" + url.host; - if(url.port != null) { - url.URN += ":" + url.port; - } - url.URN += url.directory; - if(url.file != null) { - var parts = url.file.split("."); - if(parts.length > 1) { - url.fileExt = parts.pop(); - } - } -}; -xrfragment_URI.toString = function(url) { - var result = ""; - if(url.scheme != null) { - result += url.scheme + "://"; - } - if(url.user != null) { - result += url.user + ":"; - } - if(url.password != null) { - result += url.password + "@"; - } - if(url.host != null) { - result += url.host; - } - if(url.port != null) { - result += ":" + url.port; - } - if(url.directory != null) { - result += url.directory; - } - if(url.file != null) { - result += url.file; - } - if(url.query != null) { - result += "?" + url.query; - } - if(url.fragment != null) { - result += "#" + url.fragment; - } - return result; -}; -xrfragment_URI.appendURI = function(url,appendedURI) { - if(xrfragment_URI.isRelative(url) == true) { - return xrfragment_URI.appendToRelativeURI(url,appendedURI); - } else { - return xrfragment_URI.appendToAbsoluteURI(url,appendedURI); - } -}; -xrfragment_URI.isRelative = function(url) { - return url.scheme == null; -}; -xrfragment_URI.appendToRelativeURI = function(url,appendedURI) { - if(url.directory == null || url.host == null) { - return xrfragment_URI.cloneURI(appendedURI); - } - var resultURI = new xrfragment_URI(); - resultURI.host = url.host; - resultURI.directory = url.directory; - if(appendedURI.host != null) { - resultURI.directory += appendedURI.host; - } - if(appendedURI.directory != null) { - var directory = appendedURI.directory; - if(appendedURI.host == null) { - resultURI.directory += HxOverrides.substr(directory,1,null); - } else { - resultURI.directory += directory; - } - } - if(appendedURI.file != null) { - resultURI.file = appendedURI.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(appendedURI.query != null) { - resultURI.query = appendedURI.query; - } - if(appendedURI.fragment != null) { - resultURI.fragment = appendedURI.fragment; - } - return resultURI; -}; -xrfragment_URI.appendToAbsoluteURI = function(url,appendedURI) { - var resultURI = new xrfragment_URI(); - if(url.scheme != null) { - resultURI.scheme = url.scheme; - } - if(url.host != null) { - resultURI.host = url.host; - } - var directory = ""; - if(url.directory != null) { - directory = url.directory; - } - if(appendedURI.host != null) { - appendedURI.directory += appendedURI.host; - } - if(appendedURI.directory != null) { - directory += appendedURI.directory; - } - resultURI.directory = directory; - if(appendedURI.file != null) { - resultURI.file = appendedURI.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(appendedURI.query != null) { - resultURI.query = appendedURI.query; - } - if(appendedURI.fragment != null) { - resultURI.fragment = appendedURI.fragment; - } - return resultURI; -}; -xrfragment_URI.toAbsolute = function(url,newUrl) { - var newURI = xrfragment_URI.parse(newUrl,0); - var resultURI = new xrfragment_URI(); - resultURI.port = url.port; - resultURI.source = newUrl; - if(newURI.scheme != null) { - resultURI.scheme = newURI.scheme; - } else { - resultURI.scheme = url.scheme; - } - if(newURI.host != null && newURI.host.length > 0) { - resultURI.host = newURI.host; - resultURI.port = null; - resultURI.fragment = null; - resultURI.hash = { }; - resultURI.XRF = { }; - if(newURI.port != null) { - resultURI.port = newURI.port; - } - } else { - resultURI.host = url.host; - } - var directory = ""; - if(url.directory != null) { - directory = url.directory; - } - if(newURI.directory != null) { - if(newUrl.charAt(0) != "/" && newUrl.indexOf("://") == -1) { - var stripRelative_r = new RegExp("\\./.*","".split("u").join("")); - directory = directory.replace(stripRelative_r,""); - directory += newURI.directory; - } else { - directory = newURI.directory; - } - } - resultURI.directory = directory; - if(newURI.file != null) { - resultURI.file = newURI.file; - } else { - resultURI.file = url.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(newURI.query != null) { - resultURI.query = newURI.query; - } - if(newURI.fragment != null) { - resultURI.fragment = newURI.fragment; - } - resultURI.hash = newURI.hash; - resultURI.XRF = newURI.XRF; - xrfragment_URI.computeVars(resultURI); - return resultURI; -}; -xrfragment_URI.cloneURI = function(url) { - var clonedURI = new xrfragment_URI(); - clonedURI.url = url.url; - clonedURI.source = url.source; - clonedURI.scheme = url.scheme; - clonedURI.authority = url.authority; - clonedURI.userInfo = url.userInfo; - clonedURI.password = url.password; - clonedURI.host = url.host; - clonedURI.port = url.port; - clonedURI.relative = url.relative; - clonedURI.path = url.path; - clonedURI.directory = url.directory; - clonedURI.file = url.file; - clonedURI.query = url.query; - clonedURI.fragment = url.fragment; - return clonedURI; -}; -var xrfragment_XRF = $hx_exports["xrfragment"]["XRF"] = function(_fragment,_flags,_index) { - this.floats = []; - this.shift = []; - this.fragment = _fragment; - this.flags = _flags; - this.index = _index; -}; -xrfragment_XRF.__name__ = true; -xrfragment_XRF.set = function(flag,flags) { - return flags | flag; -}; -xrfragment_XRF.unset = function(flag,flags) { - return flags & ~flag; -}; -xrfragment_XRF.prototype = { - is: function(flag) { - var v = this.flags; - if(!(typeof(v) == "number" && ((v | 0) === v))) { - this.flags = 0; - } - return (this.flags & flag) != 0; - } - ,validate: function(value) { - this.guessType(this,value); - var ok = true; - if(value.length == 0 && !this.is(xrfragment_XRF.T_PREDEFINED_VIEW)) { - ok = false; - } - if(!this.is(xrfragment_XRF.T_FLOAT) && this.is(xrfragment_XRF.T_VECTOR2) && !(typeof(this.x) == "number" && typeof(this.y) == "number")) { - ok = false; - } - if(!(this.is(xrfragment_XRF.T_VECTOR2) || this.is(xrfragment_XRF.T_STRING)) && this.is(xrfragment_XRF.T_VECTOR3) && !(typeof(this.x) == "number" && typeof(this.y) == "number" && typeof(this.z) == "number")) { - ok = false; - } - return ok; - } - ,guessType: function(v,str) { - v.string = str; - if(xrfragment_XRF.isReset.match(v.fragment)) { - v.reset = true; - } - if(v.fragment == "loop") { - v.loop = true; - } - if(typeof(str) != "string") { - return; - } - if(str.length > 0) { - if(xrfragment_XRF.isXRFScheme.match(str)) { - v.xrfScheme = true; - str = str.replace(xrfragment_XRF.isXRFScheme.r,""); - v.string = str; - } - if(str.split(",").length > 1) { - var xyzn = str.split(","); - if(xyzn.length > 0) { - v.x = parseFloat(xyzn[0]); - } - if(xyzn.length > 1) { - v.y = parseFloat(xyzn[1]); - } - if(xyzn.length > 2) { - v.z = parseFloat(xyzn[2]); - } - var _g = 0; - var _g1 = xyzn.length; - while(_g < _g1) { - var i = _g++; - v.shift.push(xrfragment_XRF.isShift.match(xyzn[i])); - v.floats.push(parseFloat(xyzn[i].replace(xrfragment_XRF.isShift.r,""))); - } - } - if(xrfragment_XRF.isColor.match(str)) { - v.color = str; - } - if(xrfragment_XRF.isFloat.match(str)) { - v.x = parseFloat(str); - v.float = v.x; - } - if(xrfragment_XRF.isInt.match(str)) { - v.int = Std.parseInt(str); - v.x = v.int; - v.floats.push(v.x); - } - v.filter = new xrfragment_Filter(v.fragment + "=" + v.string); - } else { - v.filter = new xrfragment_Filter(v.fragment); - } - } -}; -function $getIterator(o) { if( o instanceof Array ) return new haxe_iterators_ArrayIterator(o); else return o.iterator(); } -function $bind(o,m) { if( m == null ) return null; if( m.__id__ == null ) m.__id__ = $global.$haxeUID++; var f; if( o.hx__closures__ == null ) o.hx__closures__ = {}; else f = o.hx__closures__[m.__id__]; if( f == null ) { f = m.bind(o); o.hx__closures__[m.__id__] = f; } return f; } -$global.$haxeUID |= 0; -if(typeof(performance) != "undefined" ? typeof(performance.now) == "function" : false) { - HxOverrides.now = performance.now.bind(performance); -} -if( String.fromCodePoint == null ) String.fromCodePoint = function(c) { return c < 0x10000 ? String.fromCharCode(c) : String.fromCharCode((c>>10)+0xD7C0)+String.fromCharCode((c&0x3FF)+0xDC00); } -String.__name__ = true; -Array.__name__ = true; -js_Boot.__toStr = ({ }).toString; -haxe_Template.splitter = new EReg("(::[A-Za-z0-9_ ()&|!+=/><*.\"-]+::|\\$\\$([A-Za-z0-9_-]+)\\()",""); -haxe_Template.expr_splitter = new EReg("(\\(|\\)|[ \r\n\t]*\"[^\"]*\"[ \r\n\t]*|[!+=/><*.&|-]+)",""); -haxe_Template.expr_trim = new EReg("^[ ]*([^ ]+)[ ]*$",""); -haxe_Template.expr_int = new EReg("^[0-9]+$",""); -haxe_Template.expr_float = new EReg("^([+-]?)(?=\\d|,\\d)\\d*(,\\d*)?([Ee]([+-]?\\d+))?$",""); -haxe_Template.globals = { }; -haxe_Template.hxKeepArrayIterator = new haxe_iterators_ArrayIterator([]); -xrfragment_Parser.error = ""; -xrfragment_Parser.debug = false; -xrfragment_URI.__meta__ = { statics : { template : { keep : null}}}; -xrfragment_URI._parts = ["source","scheme","authority","userInfo","user","password","host","port","relative","path","directory","file","query","fragment"]; -xrfragment_XRF.IMMUTABLE = 1; -xrfragment_XRF.PROP_BIND = 2; -xrfragment_XRF.QUERY_OPERATOR = 4; -xrfragment_XRF.PROMPT = 8; -xrfragment_XRF.CUSTOMFRAG = 16; -xrfragment_XRF.NAVIGATOR = 32; -xrfragment_XRF.METADATA = 64; -xrfragment_XRF.PV_OVERRIDE = 128; -xrfragment_XRF.PV_EXECUTE = 256; -xrfragment_XRF.T_COLOR = 8192; -xrfragment_XRF.T_INT = 16384; -xrfragment_XRF.T_FLOAT = 32768; -xrfragment_XRF.T_VECTOR2 = 65536; -xrfragment_XRF.T_VECTOR3 = 131072; -xrfragment_XRF.T_URL = 262144; -xrfragment_XRF.T_PREDEFINED_VIEW = 524288; -xrfragment_XRF.T_STRING = 1048576; -xrfragment_XRF.T_MEDIAFRAG = 2097152; -xrfragment_XRF.T_DYNAMICKEY = 4194304; -xrfragment_XRF.T_DYNAMICKEYVALUE = 8388608; -xrfragment_XRF.isColor = new EReg("^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$",""); -xrfragment_XRF.isInt = new EReg("^[-0-9]+$",""); -xrfragment_XRF.isFloat = new EReg("^[-0-9]+\\.[0-9]+$",""); -xrfragment_XRF.isVector = new EReg("([,]+|\\w)",""); -xrfragment_XRF.isUrl = new EReg("(://)?\\..*",""); -xrfragment_XRF.isUrlOrPretypedView = new EReg("(^#|://)?\\..*",""); -xrfragment_XRF.isString = new EReg(".*",""); -xrfragment_XRF.operators = new EReg("(^[-]|^[!]|[\\*]$)","g"); -xrfragment_XRF.isProp = new EReg("^.*=[><=]?",""); -xrfragment_XRF.isExclude = new EReg("^-",""); -xrfragment_XRF.isDeep = new EReg("\\*",""); -xrfragment_XRF.isNumber = new EReg("^[0-9\\.]+$",""); -xrfragment_XRF.isMediaFrag = new EReg("^([0-9\\.,\\*+-]+)$",""); -xrfragment_XRF.isReset = new EReg("^!",""); -xrfragment_XRF.isShift = new EReg("^(\\+|--)",""); -xrfragment_XRF.isXRFScheme = new EReg("^xrf://",""); -})(typeof window != "undefined" ? window : typeof global != "undefined" ? global : typeof self != "undefined" ? self : this); -var xrfragment = $hx_exports["xrfragment"]; -export default xrfragment; -// Generated by Haxe 4.3.3 -var $hx_exports = typeof exports != "undefined" ? exports : typeof window != "undefined" ? window : typeof self != "undefined" ? self : this; -(function ($global) { "use strict"; -$hx_exports["xrfragment"] = $hx_exports["xrfragment"] || {}; -var $estr = function() { return js_Boot.__string_rec(this,''); },$hxEnums = $hxEnums || {},$_; -function $extend(from, fields) { - var proto = Object.create(from); - for (var name in fields) proto[name] = fields[name]; - if( fields.toString !== Object.prototype.toString ) proto.toString = fields.toString; - return proto; -} -var EReg = function(r,opt) { - this.r = new RegExp(r,opt.split("u").join("")); -}; -EReg.__name__ = true; -EReg.prototype = { - match: function(s) { - if(this.r.global) { - this.r.lastIndex = 0; - } - this.r.m = this.r.exec(s); - this.r.s = s; - return this.r.m != null; - } - ,matched: function(n) { - if(this.r.m != null && n >= 0 && n < this.r.m.length) { - return this.r.m[n]; - } else { - throw haxe_Exception.thrown("EReg::matched"); - } - } - ,matchedRight: function() { - if(this.r.m == null) { - throw haxe_Exception.thrown("No string matched"); - } - var sz = this.r.m.index + this.r.m[0].length; - return HxOverrides.substr(this.r.s,sz,this.r.s.length - sz); - } - ,matchedPos: function() { - if(this.r.m == null) { - throw haxe_Exception.thrown("No string matched"); - } - return { pos : this.r.m.index, len : this.r.m[0].length}; - } - ,split: function(s) { - var d = "#__delim__#"; - return s.replace(this.r,d).split(d); - } -}; -var HxOverrides = function() { }; -HxOverrides.__name__ = true; -HxOverrides.cca = function(s,index) { - var x = s.charCodeAt(index); - if(x != x) { - return undefined; - } - return x; -}; -HxOverrides.substr = function(s,pos,len) { - if(len == null) { - len = s.length; - } else if(len < 0) { - if(pos == 0) { - len = s.length + len; - } else { - return ""; - } - } - return s.substr(pos,len); -}; -HxOverrides.now = function() { - return Date.now(); -}; -Math.__name__ = true; -var Reflect = function() { }; -Reflect.__name__ = true; -Reflect.field = function(o,field) { - try { - return o[field]; - } catch( _g ) { - return null; - } -}; -Reflect.getProperty = function(o,field) { - var tmp; - if(o == null) { - return null; - } else { - var tmp1; - if(o.__properties__) { - tmp = o.__properties__["get_" + field]; - tmp1 = tmp; - } else { - tmp1 = false; - } - if(tmp1) { - return o[tmp](); - } else { - return o[field]; - } - } -}; -Reflect.fields = function(o) { - var a = []; - if(o != null) { - var hasOwnProperty = Object.prototype.hasOwnProperty; - for( var f in o ) { - if(f != "__id__" && f != "hx__closures__" && hasOwnProperty.call(o,f)) { - a.push(f); - } - } - } - return a; -}; -Reflect.isObject = function(v) { - if(v == null) { - return false; - } - var t = typeof(v); - if(!(t == "string" || t == "object" && v.__enum__ == null)) { - if(t == "function") { - return (v.__name__ || v.__ename__) != null; - } else { - return false; - } - } else { - return true; - } -}; -Reflect.deleteField = function(o,field) { - if(!Object.prototype.hasOwnProperty.call(o,field)) { - return false; - } - delete(o[field]); - return true; -}; -Reflect.copy = function(o) { - if(o == null) { - return null; - } - var o2 = { }; - var _g = 0; - var _g1 = Reflect.fields(o); - while(_g < _g1.length) { - var f = _g1[_g]; - ++_g; - o2[f] = Reflect.field(o,f); - } - return o2; -}; -var Std = function() { }; -Std.__name__ = true; -Std.string = function(s) { - return js_Boot.__string_rec(s,""); -}; -Std.parseInt = function(x) { - var v = parseInt(x); - if(isNaN(v)) { - return null; - } - return v; -}; -var StringBuf = function() { - this.b = ""; -}; -StringBuf.__name__ = true; -var StringTools = function() { }; -StringTools.__name__ = true; -StringTools.isSpace = function(s,pos) { - var c = HxOverrides.cca(s,pos); - if(!(c > 8 && c < 14)) { - return c == 32; - } else { - return true; - } -}; -StringTools.ltrim = function(s) { - var l = s.length; - var r = 0; - while(r < l && StringTools.isSpace(s,r)) ++r; - if(r > 0) { - return HxOverrides.substr(s,r,l - r); - } else { - return s; - } -}; -StringTools.rtrim = function(s) { - var l = s.length; - var r = 0; - while(r < l && StringTools.isSpace(s,l - r - 1)) ++r; - if(r > 0) { - return HxOverrides.substr(s,0,l - r); - } else { - return s; - } -}; -StringTools.trim = function(s) { - return StringTools.ltrim(StringTools.rtrim(s)); -}; -StringTools.replace = function(s,sub,by) { - return s.split(sub).join(by); -}; -var haxe_Exception = function(message,previous,native) { - Error.call(this,message); - this.message = message; - this.__previousException = previous; - this.__nativeException = native != null ? native : this; -}; -haxe_Exception.__name__ = true; -haxe_Exception.caught = function(value) { - if(((value) instanceof haxe_Exception)) { - return value; - } else if(((value) instanceof Error)) { - return new haxe_Exception(value.message,null,value); - } else { - return new haxe_ValueException(value,null,value); - } -}; -haxe_Exception.thrown = function(value) { - if(((value) instanceof haxe_Exception)) { - return value.get_native(); - } else if(((value) instanceof Error)) { - return value; - } else { - var e = new haxe_ValueException(value); - return e; - } -}; -haxe_Exception.__super__ = Error; -haxe_Exception.prototype = $extend(Error.prototype,{ - unwrap: function() { - return this.__nativeException; - } - ,get_native: function() { - return this.__nativeException; - } - ,__properties__: {get_native:"get_native"} -}); -var haxe__$Template_TemplateExpr = $hxEnums["haxe._Template.TemplateExpr"] = { __ename__:true,__constructs__:null - ,OpVar: ($_=function(v) { return {_hx_index:0,v:v,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpVar",$_.__params__ = ["v"],$_) - ,OpExpr: ($_=function(expr) { return {_hx_index:1,expr:expr,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpExpr",$_.__params__ = ["expr"],$_) - ,OpIf: ($_=function(expr,eif,eelse) { return {_hx_index:2,expr:expr,eif:eif,eelse:eelse,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpIf",$_.__params__ = ["expr","eif","eelse"],$_) - ,OpStr: ($_=function(str) { return {_hx_index:3,str:str,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpStr",$_.__params__ = ["str"],$_) - ,OpBlock: ($_=function(l) { return {_hx_index:4,l:l,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpBlock",$_.__params__ = ["l"],$_) - ,OpForeach: ($_=function(expr,loop) { return {_hx_index:5,expr:expr,loop:loop,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpForeach",$_.__params__ = ["expr","loop"],$_) - ,OpMacro: ($_=function(name,params) { return {_hx_index:6,name:name,params:params,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpMacro",$_.__params__ = ["name","params"],$_) -}; -haxe__$Template_TemplateExpr.__constructs__ = [haxe__$Template_TemplateExpr.OpVar,haxe__$Template_TemplateExpr.OpExpr,haxe__$Template_TemplateExpr.OpIf,haxe__$Template_TemplateExpr.OpStr,haxe__$Template_TemplateExpr.OpBlock,haxe__$Template_TemplateExpr.OpForeach,haxe__$Template_TemplateExpr.OpMacro]; -var haxe_iterators_ArrayIterator = function(array) { - this.current = 0; - this.array = array; -}; -haxe_iterators_ArrayIterator.__name__ = true; -haxe_iterators_ArrayIterator.prototype = { - hasNext: function() { - return this.current < this.array.length; - } - ,next: function() { - return this.array[this.current++]; - } -}; -var haxe_Template = function(str) { - var tokens = this.parseTokens(str); - this.expr = this.parseBlock(tokens); - if(!tokens.isEmpty()) { - throw haxe_Exception.thrown("Unexpected '" + Std.string(tokens.first().s) + "'"); - } -}; -haxe_Template.__name__ = true; -haxe_Template.prototype = { - execute: function(context,macros) { - this.macros = macros == null ? { } : macros; - this.context = context; - this.stack = new haxe_ds_List(); - this.buf = new StringBuf(); - this.run(this.expr); - return this.buf.b; - } - ,resolve: function(v) { - if(v == "__current__") { - return this.context; - } - if(Reflect.isObject(this.context)) { - var value = Reflect.getProperty(this.context,v); - if(value != null || Object.prototype.hasOwnProperty.call(this.context,v)) { - return value; - } - } - var _g_head = this.stack.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var ctx = val; - var value = Reflect.getProperty(ctx,v); - if(value != null || Object.prototype.hasOwnProperty.call(ctx,v)) { - return value; - } - } - return Reflect.field(haxe_Template.globals,v); - } - ,parseTokens: function(data) { - var tokens = new haxe_ds_List(); - while(haxe_Template.splitter.match(data)) { - var p = haxe_Template.splitter.matchedPos(); - if(p.pos > 0) { - tokens.add({ p : HxOverrides.substr(data,0,p.pos), s : true, l : null}); - } - if(HxOverrides.cca(data,p.pos) == 58) { - tokens.add({ p : HxOverrides.substr(data,p.pos + 2,p.len - 4), s : false, l : null}); - data = haxe_Template.splitter.matchedRight(); - continue; - } - var parp = p.pos + p.len; - var npar = 1; - var params = []; - var part = ""; - while(true) { - var c = HxOverrides.cca(data,parp); - ++parp; - if(c == 40) { - ++npar; - } else if(c == 41) { - --npar; - if(npar <= 0) { - break; - } - } else if(c == null) { - throw haxe_Exception.thrown("Unclosed macro parenthesis"); - } - if(c == 44 && npar == 1) { - params.push(part); - part = ""; - } else { - part += String.fromCodePoint(c); - } - } - params.push(part); - tokens.add({ p : haxe_Template.splitter.matched(2), s : false, l : params}); - data = HxOverrides.substr(data,parp,data.length - parp); - } - if(data.length > 0) { - tokens.add({ p : data, s : true, l : null}); - } - return tokens; - } - ,parseBlock: function(tokens) { - var l = new haxe_ds_List(); - while(true) { - var t = tokens.first(); - if(t == null) { - break; - } - if(!t.s && (t.p == "end" || t.p == "else" || HxOverrides.substr(t.p,0,7) == "elseif ")) { - break; - } - l.add(this.parse(tokens)); - } - if(l.length == 1) { - return l.first(); - } - return haxe__$Template_TemplateExpr.OpBlock(l); - } - ,parse: function(tokens) { - var t = tokens.pop(); - var p = t.p; - if(t.s) { - return haxe__$Template_TemplateExpr.OpStr(p); - } - if(t.l != null) { - var pe = new haxe_ds_List(); - var _g = 0; - var _g1 = t.l; - while(_g < _g1.length) { - var p1 = _g1[_g]; - ++_g; - pe.add(this.parseBlock(this.parseTokens(p1))); - } - return haxe__$Template_TemplateExpr.OpMacro(p,pe); - } - var kwdEnd = function(kwd) { - var pos = -1; - var length = kwd.length; - if(HxOverrides.substr(p,0,length) == kwd) { - pos = length; - var _g_offset = 0; - var _g_s = HxOverrides.substr(p,length,null); - while(_g_offset < _g_s.length) { - var c = _g_s.charCodeAt(_g_offset++); - if(c == 32) { - ++pos; - } else { - break; - } - } - } - return pos; - }; - var pos = kwdEnd("if"); - if(pos > 0) { - p = HxOverrides.substr(p,pos,p.length - pos); - var e = this.parseExpr(p); - var eif = this.parseBlock(tokens); - var t = tokens.first(); - var eelse; - if(t == null) { - throw haxe_Exception.thrown("Unclosed 'if'"); - } - if(t.p == "end") { - tokens.pop(); - eelse = null; - } else if(t.p == "else") { - tokens.pop(); - eelse = this.parseBlock(tokens); - t = tokens.pop(); - if(t == null || t.p != "end") { - throw haxe_Exception.thrown("Unclosed 'else'"); - } - } else { - t.p = HxOverrides.substr(t.p,4,t.p.length - 4); - eelse = this.parse(tokens); - } - return haxe__$Template_TemplateExpr.OpIf(e,eif,eelse); - } - var pos = kwdEnd("foreach"); - if(pos >= 0) { - p = HxOverrides.substr(p,pos,p.length - pos); - var e = this.parseExpr(p); - var efor = this.parseBlock(tokens); - var t = tokens.pop(); - if(t == null || t.p != "end") { - throw haxe_Exception.thrown("Unclosed 'foreach'"); - } - return haxe__$Template_TemplateExpr.OpForeach(e,efor); - } - if(haxe_Template.expr_splitter.match(p)) { - return haxe__$Template_TemplateExpr.OpExpr(this.parseExpr(p)); - } - return haxe__$Template_TemplateExpr.OpVar(p); - } - ,parseExpr: function(data) { - var l = new haxe_ds_List(); - var expr = data; - while(haxe_Template.expr_splitter.match(data)) { - var p = haxe_Template.expr_splitter.matchedPos(); - var k = p.pos + p.len; - if(p.pos != 0) { - l.add({ p : HxOverrides.substr(data,0,p.pos), s : true}); - } - var p1 = haxe_Template.expr_splitter.matched(0); - l.add({ p : p1, s : p1.indexOf("\"") >= 0}); - data = haxe_Template.expr_splitter.matchedRight(); - } - if(data.length != 0) { - var _g_offset = 0; - var _g_s = data; - while(_g_offset < _g_s.length) { - var _g_key = _g_offset; - var _g_value = _g_s.charCodeAt(_g_offset++); - var i = _g_key; - var c = _g_value; - if(c != 32) { - l.add({ p : HxOverrides.substr(data,i,null), s : true}); - break; - } - } - } - var e; - try { - e = this.makeExpr(l); - if(!l.isEmpty()) { - throw haxe_Exception.thrown(l.first().p); - } - } catch( _g ) { - var _g1 = haxe_Exception.caught(_g).unwrap(); - if(typeof(_g1) == "string") { - var s = _g1; - throw haxe_Exception.thrown("Unexpected '" + s + "' in " + expr); - } else { - throw _g; - } - } - return function() { - try { - return e(); - } catch( _g ) { - var exc = haxe_Exception.caught(_g).unwrap(); - throw haxe_Exception.thrown("Error : " + Std.string(exc) + " in " + expr); - } - }; - } - ,makeConst: function(v) { - haxe_Template.expr_trim.match(v); - v = haxe_Template.expr_trim.matched(1); - if(HxOverrides.cca(v,0) == 34) { - var str = HxOverrides.substr(v,1,v.length - 2); - return function() { - return str; - }; - } - if(haxe_Template.expr_int.match(v)) { - var i = Std.parseInt(v); - return function() { - return i; - }; - } - if(haxe_Template.expr_float.match(v)) { - var f = parseFloat(v); - return function() { - return f; - }; - } - var me = this; - return function() { - return me.resolve(v); - }; - } - ,makePath: function(e,l) { - var p = l.first(); - if(p == null || p.p != ".") { - return e; - } - l.pop(); - var field = l.pop(); - if(field == null || !field.s) { - throw haxe_Exception.thrown(field.p); - } - var f = field.p; - haxe_Template.expr_trim.match(f); - f = haxe_Template.expr_trim.matched(1); - return this.makePath(function() { - return Reflect.field(e(),f); - },l); - } - ,makeExpr: function(l) { - return this.makePath(this.makeExpr2(l),l); - } - ,skipSpaces: function(l) { - var p = l.first(); - while(p != null) { - var _g_offset = 0; - var _g_s = p.p; - while(_g_offset < _g_s.length) { - var c = _g_s.charCodeAt(_g_offset++); - if(c != 32) { - return; - } - } - l.pop(); - p = l.first(); - } - } - ,makeExpr2: function(l) { - this.skipSpaces(l); - var p = l.pop(); - this.skipSpaces(l); - if(p == null) { - throw haxe_Exception.thrown(""); - } - if(p.s) { - return this.makeConst(p.p); - } - switch(p.p) { - case "!": - var e = this.makeExpr(l); - return function() { - var v = e(); - if(v != null) { - return v == false; - } else { - return true; - } - }; - case "(": - this.skipSpaces(l); - var e1 = this.makeExpr(l); - this.skipSpaces(l); - var p1 = l.pop(); - if(p1 == null || p1.s) { - throw haxe_Exception.thrown(p1); - } - if(p1.p == ")") { - return e1; - } - this.skipSpaces(l); - var e2 = this.makeExpr(l); - this.skipSpaces(l); - var p2 = l.pop(); - this.skipSpaces(l); - if(p2 == null || p2.p != ")") { - throw haxe_Exception.thrown(p2); - } - switch(p1.p) { - case "!=": - return function() { - return e1() != e2(); - }; - case "&&": - return function() { - return e1() && e2(); - }; - case "*": - return function() { - return e1() * e2(); - }; - case "+": - return function() { - return e1() + e2(); - }; - case "-": - return function() { - return e1() - e2(); - }; - case "/": - return function() { - return e1() / e2(); - }; - case "<": - return function() { - return e1() < e2(); - }; - case "<=": - return function() { - return e1() <= e2(); - }; - case "==": - return function() { - return e1() == e2(); - }; - case ">": - return function() { - return e1() > e2(); - }; - case ">=": - return function() { - return e1() >= e2(); - }; - case "||": - return function() { - return e1() || e2(); - }; - default: - throw haxe_Exception.thrown("Unknown operation " + p1.p); - } - break; - case "-": - var e3 = this.makeExpr(l); - return function() { - return -e3(); - }; - } - throw haxe_Exception.thrown(p.p); - } - ,run: function(e) { - switch(e._hx_index) { - case 0: - var v = e.v; - var _this = this.buf; - var x = Std.string(this.resolve(v)); - _this.b += Std.string(x); - break; - case 1: - var e1 = e.expr; - var _this = this.buf; - var x = Std.string(e1()); - _this.b += Std.string(x); - break; - case 2: - var e1 = e.expr; - var eif = e.eif; - var eelse = e.eelse; - var v = e1(); - if(v == null || v == false) { - if(eelse != null) { - this.run(eelse); - } - } else { - this.run(eif); - } - break; - case 3: - var str = e.str; - this.buf.b += str == null ? "null" : "" + str; - break; - case 4: - var l = e.l; - var _g_head = l.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var e1 = val; - this.run(e1); - } - break; - case 5: - var e1 = e.expr; - var loop = e.loop; - var v = e1(); - try { - var x = $getIterator(v); - if(x.hasNext == null) { - throw haxe_Exception.thrown(null); - } - v = x; - } catch( _g ) { - try { - if(v.hasNext == null) { - throw haxe_Exception.thrown(null); - } - } catch( _g1 ) { - throw haxe_Exception.thrown("Cannot iter on " + Std.string(v)); - } - } - this.stack.push(this.context); - var v1 = v; - var ctx = v1; - while(ctx.hasNext()) { - var ctx1 = ctx.next(); - this.context = ctx1; - this.run(loop); - } - this.context = this.stack.pop(); - break; - case 6: - var m = e.name; - var params = e.params; - var v = Reflect.field(this.macros,m); - var pl = []; - var old = this.buf; - pl.push($bind(this,this.resolve)); - var _g_head = params.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var p = val; - if(p._hx_index == 0) { - var v1 = p.v; - pl.push(this.resolve(v1)); - } else { - this.buf = new StringBuf(); - this.run(p); - pl.push(this.buf.b); - } - } - this.buf = old; - try { - var _this = this.buf; - var x = Std.string(v.apply(this.macros,pl)); - _this.b += Std.string(x); - } catch( _g ) { - var e = haxe_Exception.caught(_g).unwrap(); - var plstr; - try { - plstr = pl.join(","); - } catch( _g1 ) { - plstr = "???"; - } - var msg = "Macro call " + m + "(" + plstr + ") failed (" + Std.string(e) + ")"; - throw haxe_Exception.thrown(msg); - } - break; - } - } -}; -var haxe_ValueException = function(value,previous,native) { - haxe_Exception.call(this,String(value),previous,native); - this.value = value; -}; -haxe_ValueException.__name__ = true; -haxe_ValueException.__super__ = haxe_Exception; -haxe_ValueException.prototype = $extend(haxe_Exception.prototype,{ - unwrap: function() { - return this.value; - } -}); -var haxe_ds_List = function() { - this.length = 0; -}; -haxe_ds_List.__name__ = true; -haxe_ds_List.prototype = { - add: function(item) { - var x = new haxe_ds__$List_ListNode(item,null); - if(this.h == null) { - this.h = x; - } else { - this.q.next = x; - } - this.q = x; - this.length++; - } - ,push: function(item) { - var x = new haxe_ds__$List_ListNode(item,this.h); - this.h = x; - if(this.q == null) { - this.q = x; - } - this.length++; - } - ,first: function() { - if(this.h == null) { - return null; - } else { - return this.h.item; - } - } - ,pop: function() { - if(this.h == null) { - return null; - } - var x = this.h.item; - this.h = this.h.next; - if(this.h == null) { - this.q = null; - } - this.length--; - return x; - } - ,isEmpty: function() { - return this.h == null; - } - ,toString: function() { - var s_b = ""; - var first = true; - var l = this.h; - s_b += "{"; - while(l != null) { - if(first) { - first = false; - } else { - s_b += ", "; - } - s_b += Std.string(Std.string(l.item)); - l = l.next; - } - s_b += "}"; - return s_b; - } -}; -var haxe_ds__$List_ListNode = function(item,next) { - this.item = item; - this.next = next; -}; -haxe_ds__$List_ListNode.__name__ = true; -var js_Boot = function() { }; -js_Boot.__name__ = true; -js_Boot.__string_rec = function(o,s) { - if(o == null) { - return "null"; - } - if(s.length >= 5) { - return "<...>"; - } - var t = typeof(o); - if(t == "function" && (o.__name__ || o.__ename__)) { - t = "object"; - } - switch(t) { - case "function": - return ""; - case "object": - if(o.__enum__) { - var e = $hxEnums[o.__enum__]; - var con = e.__constructs__[o._hx_index]; - var n = con._hx_name; - if(con.__params__) { - s = s + "\t"; - return n + "(" + ((function($this) { - var $r; - var _g = []; - { - var _g1 = 0; - var _g2 = con.__params__; - while(true) { - if(!(_g1 < _g2.length)) { - break; - } - var p = _g2[_g1]; - _g1 = _g1 + 1; - _g.push(js_Boot.__string_rec(o[p],s)); - } - } - $r = _g; - return $r; - }(this))).join(",") + ")"; - } else { - return n; - } - } - if(((o) instanceof Array)) { - var str = "["; - s += "\t"; - var _g = 0; - var _g1 = o.length; - while(_g < _g1) { - var i = _g++; - str += (i > 0 ? "," : "") + js_Boot.__string_rec(o[i],s); - } - str += "]"; - return str; - } - var tostr; - try { - tostr = o.toString; - } catch( _g ) { - return "???"; - } - if(tostr != null && tostr != Object.toString && typeof(tostr) == "function") { - var s2 = o.toString(); - if(s2 != "[object Object]") { - return s2; - } - } - var str = "{\n"; - s += "\t"; - var hasp = o.hasOwnProperty != null; - var k = null; - for( k in o ) { - if(hasp && !o.hasOwnProperty(k)) { - continue; - } - if(k == "prototype" || k == "__class__" || k == "__super__" || k == "__interfaces__" || k == "__properties__") { - continue; - } - if(str.length != 2) { - str += ", \n"; - } - str += s + k + " : " + js_Boot.__string_rec(o[k],s); - } - s = s.substring(1); - str += "\n" + s + "}"; - return str; - case "string": - return o; - default: - return String(o); - } -}; -var xrfragment_Filter = $hx_exports["xrfragment"]["Filter"] = function(str) { - this.q = { }; - this.str = ""; - if(str != null) { - this.parse(str); - } -}; -xrfragment_Filter.__name__ = true; -xrfragment_Filter.prototype = { - toObject: function() { - return Reflect.copy(this.q); - } - ,get: function() { - return Reflect.copy(this.q); - } - ,parse: function(str) { - var token = str.split(" "); - var q = { }; - var process = function(str,prefix) { - if(prefix == null) { - prefix = ""; - } - str = StringTools.trim(str); - var k = str.split("=")[0]; - var v = str.split("=")[1]; - var filter = { }; - if(q[prefix + k]) { - filter = q[prefix + k]; - } - if(xrfragment_XRF.isProp.match(str)) { - var oper = ""; - if(str.indexOf(">") != -1) { - oper = ">"; - } - if(str.indexOf("<") != -1) { - oper = "<"; - } - if(xrfragment_XRF.isExclude.match(k)) { - k = HxOverrides.substr(k,1,null); - } - v = HxOverrides.substr(v,oper.length,null); - if(oper.length == 0) { - oper = "="; - } - var rule = { }; - if(xrfragment_XRF.isNumber.match(v)) { - rule[oper] = parseFloat(v); - } else { - rule[oper] = v; - } - q["expr"] = rule; - } - var value = xrfragment_XRF.isDeep.match(str) ? k.split("*").length - 1 : 0; - q["deep"] = value; - var value = xrfragment_XRF.isExclude.match(str) ? false : true; - q["show"] = value; - var value = k.replace(xrfragment_XRF.operators.r,""); - q["key"] = value; - q["value"] = v; - }; - var _g = 0; - var _g1 = token.length; - while(_g < _g1) { - var i = _g++; - process(token[i]); - } - return this.q = q; - } - ,test: function(obj) { - var qualify = false; - var _g = 0; - var _g1 = Reflect.fields(obj); - while(_g < _g1.length) { - var k = _g1[_g]; - ++_g; - var v = Std.string(Reflect.field(obj,k)); - if(this.testProperty(k,v)) { - qualify = true; - } - } - var _g = 0; - var _g1 = Reflect.fields(obj); - while(_g < _g1.length) { - var k = _g1[_g]; - ++_g; - var v = Std.string(Reflect.field(obj,k)); - if(this.testProperty(k,v,true)) { - qualify = false; - } - } - return qualify; - } - ,testProperty: function(property,value,exclude) { - var conds = 0; - var fails = 0; - var qualify = 0; - var testprop = function(expr) { - conds += 1; - fails += expr ? 0 : 1; - return expr; - }; - if(this.q[value] != null) { - var v = this.q[value]; - if(v[property] != null) { - return v[property]; - } - } - if(Reflect.field(this.q,"expr")) { - var f = Reflect.field(this.q,"expr"); - if(!Reflect.field(this.q,"show")) { - if(Reflect.field(f,"!=") != null && testprop((value == null ? "null" : "" + value) == Std.string(Reflect.field(f,"!="))) && exclude) { - ++qualify; - } - } else { - if(Reflect.field(f,"*") != null && testprop(parseFloat(value) != null)) { - ++qualify; - } - if(Reflect.field(f,">") != null && testprop(parseFloat(value) >= parseFloat(Reflect.field(f,">")))) { - ++qualify; - } - if(Reflect.field(f,"<") != null && testprop(parseFloat(value) <= parseFloat(Reflect.field(f,"<")))) { - ++qualify; - } - if(Reflect.field(f,"=") != null && (testprop(value == Reflect.field(f,"=")) || testprop(parseFloat(value) == parseFloat(Reflect.field(f,"="))))) { - ++qualify; - } - } - } - return qualify > 0; - } -}; -var xrfragment_Parser = $hx_exports["xrfragment"]["Parser"] = function() { }; -xrfragment_Parser.__name__ = true; -xrfragment_Parser.parse = function(key,value,store,index) { - var Frag_h = Object.create(null); - Frag_h["#"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_PREDEFINED_VIEW | xrfragment_XRF.PV_EXECUTE; - Frag_h["src"] = xrfragment_XRF.T_URL; - Frag_h["href"] = xrfragment_XRF.T_URL | xrfragment_XRF.T_PREDEFINED_VIEW; - Frag_h["tag"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["pos"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_VECTOR3 | xrfragment_XRF.T_STRING | xrfragment_XRF.METADATA | xrfragment_XRF.NAVIGATOR; - Frag_h["rot"] = xrfragment_XRF.QUERY_OPERATOR | xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_VECTOR3 | xrfragment_XRF.METADATA | xrfragment_XRF.NAVIGATOR; - Frag_h["t"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_FLOAT | xrfragment_XRF.T_VECTOR2 | xrfragment_XRF.NAVIGATOR | xrfragment_XRF.METADATA; - Frag_h["s"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_MEDIAFRAG; - Frag_h["loop"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_PREDEFINED_VIEW; - Frag_h["uv"] = xrfragment_XRF.T_VECTOR2 | xrfragment_XRF.T_MEDIAFRAG; - Frag_h["namespace"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["SPDX"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["unit"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["description"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - var keyStripped = key.replace(xrfragment_XRF.operators.r,""); - var isPVDynamic = key.length > 0 && !Object.prototype.hasOwnProperty.call(Frag_h,key); - if(isPVDynamic) { - var v = new xrfragment_XRF(key,xrfragment_XRF.PV_EXECUTE | xrfragment_XRF.NAVIGATOR,index); - v.validate(value); - v.flags = xrfragment_XRF.set(xrfragment_XRF.T_DYNAMICKEY,v.flags); - if(!Object.prototype.hasOwnProperty.call(Frag_h,key)) { - v.flags = xrfragment_XRF.set(xrfragment_XRF.CUSTOMFRAG,v.flags); - } - if(value.length == 0) { - v.flags = xrfragment_XRF.set(xrfragment_XRF.T_DYNAMICKEYVALUE,v.flags); - } - store[keyStripped] = v; - return true; - } - var v = new xrfragment_XRF(key,Frag_h[key],index); - if(Object.prototype.hasOwnProperty.call(Frag_h,key)) { - if(!v.validate(value)) { - console.log("src/xrfragment/Parser.hx:67:","⚠ fragment '" + key + "' has incompatible value (" + value + ")"); - return false; - } - store[keyStripped] = v; - if(xrfragment_Parser.debug) { - console.log("src/xrfragment/Parser.hx:71:","✔ " + key + ": " + v.string); - } - } else { - if(typeof(value) == "string") { - v.guessType(v,value); - } - v.flags = xrfragment_XRF.set(xrfragment_XRF.CUSTOMFRAG,v.flags); - store[keyStripped] = v; - } - return true; -}; -xrfragment_Parser.getMetaData = function() { - var meta = { title : ["title","og:title","dc.title"], description : ["aria-description","og:description","dc.description"], author : ["author","dc.creator"], publisher : ["publisher","dc.publisher"], website : ["og:site_name","og:url","dc.publisher"], license : ["SPDX","dc.rights"]}; - return meta; -}; -var xrfragment_URI = $hx_exports["xrfragment"]["URI"] = function() { - this.XRF = { }; - this.hash = { }; - this.fragment = ""; -}; -xrfragment_URI.__name__ = true; -xrfragment_URI.parseFragment = function(url,filter) { - var store = { }; - if(url == null || url.indexOf("#") == -1) { - return store; - } - var fragment = url.split("#"); - var splitArray = fragment[1].split("&"); - var _g = 0; - var _g1 = splitArray.length; - while(_g < _g1) { - var i = _g++; - var splitByEqual = splitArray[i].split("="); - var regexPlus = new EReg("\\+","g"); - var key = splitByEqual[0]; - var value = ""; - if(splitByEqual.length > 1) { - if(xrfragment_XRF.isVector.match(splitByEqual[1])) { - value = splitByEqual[1]; - } else { - var s = regexPlus.split(splitByEqual[1]).join(" "); - value = decodeURIComponent(s.split("+").join(" ")); - } - } - var ok = xrfragment_Parser.parse(key,value,store,i); - } - if(filter != null && filter != 0) { - var _g = 0; - var _g1 = Reflect.fields(store); - while(_g < _g1.length) { - var key = _g1[_g]; - ++_g; - var xrf = store[key]; - if(!xrf.is(filter)) { - Reflect.deleteField(store,key); - } - } - } - return store; -}; -xrfragment_URI.template = function(uri,vars) { - var parts = uri.split("#"); - if(parts.length == 1) { - return uri; - } - var frag = parts[1]; - frag = StringTools.replace(frag,"{","::"); - frag = StringTools.replace(frag,"}","::"); - frag = new haxe_Template(frag).execute(vars); - frag = StringTools.replace(frag,"null",""); - parts[1] = frag; - return parts.join("#"); -}; -xrfragment_URI.parse = function(stringUrl,flags) { - var r = new EReg("^(?:(?![^:@]+:[^:@/]*@)([^:/?#.]+):)?(?://)?((?:(([^:@]*)(?::([^:@]*))?)?@)?([^:/?#]*)(?::(\\d*))?)(((/(?:[^?#](?![^?#/]*\\.[^?#/.]+(?:[?#]|$)))*/?)?([^?#/]*))(?:\\?([^#]*))?(?:#(.*))?)",""); - if(stringUrl.indexOf("://") == -1 && stringUrl.charAt(0) != "/") { - stringUrl = "/" + stringUrl; - } - r.match(stringUrl); - var url = new xrfragment_URI(); - var _g = 0; - var _g1 = xrfragment_URI._parts.length; - while(_g < _g1) { - var i = _g++; - url[xrfragment_URI._parts[i]] = r.matched(i); - } - if(xrfragment_URI.isRelative(url) == true) { - if(url.directory == null && url.host != null) { - url.file = url.host; - } - url.host = ""; - } - url.hash = { }; - if(url.fragment != null && url.fragment.length > 0) { - url.XRF = xrfragment_URI.parseFragment("#" + url.fragment,flags); - var key; - var _g = 0; - var _g1 = Reflect.fields(url.XRF); - while(_g < _g1.length) { - var key = _g1[_g]; - ++_g; - var v = url.XRF[key]; - url.hash[key] = v["string"]; - } - } - xrfragment_URI.computeVars(url); - return url; -}; -xrfragment_URI.computeVars = function(url) { - var r_r = new RegExp("//","g".split("u").join("")); - if(url.directory != null && url.directory.indexOf("//") != -1) { - url.directory = url.directory.replace(r_r,"/"); - } - if(url.path != null && url.path.indexOf("//") != -1) { - url.path = url.path.replace(r_r,"/"); - } - if(url.file != null && url.file.indexOf("//") != -1) { - url.file = url.file.replace(r_r,"/"); - } - url.URN = url.scheme + "://" + url.host; - if(url.port != null) { - url.URN += ":" + url.port; - } - url.URN += url.directory; - if(url.file != null) { - var parts = url.file.split("."); - if(parts.length > 1) { - url.fileExt = parts.pop(); - } - } -}; -xrfragment_URI.toString = function(url) { - var result = ""; - if(url.scheme != null) { - result += url.scheme + "://"; - } - if(url.user != null) { - result += url.user + ":"; - } - if(url.password != null) { - result += url.password + "@"; - } - if(url.host != null) { - result += url.host; - } - if(url.port != null) { - result += ":" + url.port; - } - if(url.directory != null) { - result += url.directory; - } - if(url.file != null) { - result += url.file; - } - if(url.query != null) { - result += "?" + url.query; - } - if(url.fragment != null) { - result += "#" + url.fragment; - } - return result; -}; -xrfragment_URI.appendURI = function(url,appendedURI) { - if(xrfragment_URI.isRelative(url) == true) { - return xrfragment_URI.appendToRelativeURI(url,appendedURI); - } else { - return xrfragment_URI.appendToAbsoluteURI(url,appendedURI); - } -}; -xrfragment_URI.isRelative = function(url) { - return url.scheme == null; -}; -xrfragment_URI.appendToRelativeURI = function(url,appendedURI) { - if(url.directory == null || url.host == null) { - return xrfragment_URI.cloneURI(appendedURI); - } - var resultURI = new xrfragment_URI(); - resultURI.host = url.host; - resultURI.directory = url.directory; - if(appendedURI.host != null) { - resultURI.directory += appendedURI.host; - } - if(appendedURI.directory != null) { - var directory = appendedURI.directory; - if(appendedURI.host == null) { - resultURI.directory += HxOverrides.substr(directory,1,null); - } else { - resultURI.directory += directory; - } - } - if(appendedURI.file != null) { - resultURI.file = appendedURI.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(appendedURI.query != null) { - resultURI.query = appendedURI.query; - } - if(appendedURI.fragment != null) { - resultURI.fragment = appendedURI.fragment; - } - return resultURI; -}; -xrfragment_URI.appendToAbsoluteURI = function(url,appendedURI) { - var resultURI = new xrfragment_URI(); - if(url.scheme != null) { - resultURI.scheme = url.scheme; - } - if(url.host != null) { - resultURI.host = url.host; - } - var directory = ""; - if(url.directory != null) { - directory = url.directory; - } - if(appendedURI.host != null) { - appendedURI.directory += appendedURI.host; - } - if(appendedURI.directory != null) { - directory += appendedURI.directory; - } - resultURI.directory = directory; - if(appendedURI.file != null) { - resultURI.file = appendedURI.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(appendedURI.query != null) { - resultURI.query = appendedURI.query; - } - if(appendedURI.fragment != null) { - resultURI.fragment = appendedURI.fragment; - } - return resultURI; -}; -xrfragment_URI.toAbsolute = function(url,newUrl) { - var newURI = xrfragment_URI.parse(newUrl,0); - var resultURI = new xrfragment_URI(); - resultURI.port = url.port; - resultURI.source = newUrl; - if(newURI.scheme != null) { - resultURI.scheme = newURI.scheme; - } else { - resultURI.scheme = url.scheme; - } - if(newURI.host != null && newURI.host.length > 0) { - resultURI.host = newURI.host; - resultURI.port = null; - resultURI.fragment = null; - resultURI.hash = { }; - resultURI.XRF = { }; - if(newURI.port != null) { - resultURI.port = newURI.port; - } - } else { - resultURI.host = url.host; - } - var directory = ""; - if(url.directory != null) { - directory = url.directory; - } - if(newURI.directory != null) { - if(newUrl.charAt(0) != "/" && newUrl.indexOf("://") == -1) { - var stripRelative_r = new RegExp("\\./.*","".split("u").join("")); - directory = directory.replace(stripRelative_r,""); - directory += newURI.directory; - } else { - directory = newURI.directory; - } - } - resultURI.directory = directory; - if(newURI.file != null) { - resultURI.file = newURI.file; - } else { - resultURI.file = url.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(newURI.query != null) { - resultURI.query = newURI.query; - } - if(newURI.fragment != null) { - resultURI.fragment = newURI.fragment; - } - resultURI.hash = newURI.hash; - resultURI.XRF = newURI.XRF; - xrfragment_URI.computeVars(resultURI); - return resultURI; -}; -xrfragment_URI.cloneURI = function(url) { - var clonedURI = new xrfragment_URI(); - clonedURI.url = url.url; - clonedURI.source = url.source; - clonedURI.scheme = url.scheme; - clonedURI.authority = url.authority; - clonedURI.userInfo = url.userInfo; - clonedURI.password = url.password; - clonedURI.host = url.host; - clonedURI.port = url.port; - clonedURI.relative = url.relative; - clonedURI.path = url.path; - clonedURI.directory = url.directory; - clonedURI.file = url.file; - clonedURI.query = url.query; - clonedURI.fragment = url.fragment; - return clonedURI; -}; -var xrfragment_XRF = $hx_exports["xrfragment"]["XRF"] = function(_fragment,_flags,_index) { - this.floats = []; - this.shift = []; - this.fragment = _fragment; - this.flags = _flags; - this.index = _index; -}; -xrfragment_XRF.__name__ = true; -xrfragment_XRF.set = function(flag,flags) { - return flags | flag; -}; -xrfragment_XRF.unset = function(flag,flags) { - return flags & ~flag; -}; -xrfragment_XRF.prototype = { - is: function(flag) { - var v = this.flags; - if(!(typeof(v) == "number" && ((v | 0) === v))) { - this.flags = 0; - } - return (this.flags & flag) != 0; - } - ,validate: function(value) { - this.guessType(this,value); - var ok = true; - if(value.length == 0 && !this.is(xrfragment_XRF.T_PREDEFINED_VIEW)) { - ok = false; - } - if(!this.is(xrfragment_XRF.T_FLOAT) && this.is(xrfragment_XRF.T_VECTOR2) && !(typeof(this.x) == "number" && typeof(this.y) == "number")) { - ok = false; - } - if(!(this.is(xrfragment_XRF.T_VECTOR2) || this.is(xrfragment_XRF.T_STRING)) && this.is(xrfragment_XRF.T_VECTOR3) && !(typeof(this.x) == "number" && typeof(this.y) == "number" && typeof(this.z) == "number")) { - ok = false; - } - return ok; - } - ,guessType: function(v,str) { - v.string = str; - if(xrfragment_XRF.isReset.match(v.fragment)) { - v.reset = true; - } - if(v.fragment == "loop") { - v.loop = true; - } - if(typeof(str) != "string") { - return; - } - if(str.length > 0) { - if(xrfragment_XRF.isXRFScheme.match(str)) { - v.xrfScheme = true; - str = str.replace(xrfragment_XRF.isXRFScheme.r,""); - v.string = str; - } - if(str.split(",").length > 1) { - var xyzn = str.split(","); - if(xyzn.length > 0) { - v.x = parseFloat(xyzn[0]); - } - if(xyzn.length > 1) { - v.y = parseFloat(xyzn[1]); - } - if(xyzn.length > 2) { - v.z = parseFloat(xyzn[2]); - } - var _g = 0; - var _g1 = xyzn.length; - while(_g < _g1) { - var i = _g++; - v.shift.push(xrfragment_XRF.isShift.match(xyzn[i])); - v.floats.push(parseFloat(xyzn[i].replace(xrfragment_XRF.isShift.r,""))); - } - } - if(xrfragment_XRF.isColor.match(str)) { - v.color = str; - } - if(xrfragment_XRF.isFloat.match(str)) { - v.x = parseFloat(str); - v.float = v.x; - } - if(xrfragment_XRF.isInt.match(str)) { - v.int = Std.parseInt(str); - v.x = v.int; - v.floats.push(v.x); - } - v.filter = new xrfragment_Filter(v.fragment + "=" + v.string); - } else { - v.filter = new xrfragment_Filter(v.fragment); - } - } -}; -function $getIterator(o) { if( o instanceof Array ) return new haxe_iterators_ArrayIterator(o); else return o.iterator(); } -function $bind(o,m) { if( m == null ) return null; if( m.__id__ == null ) m.__id__ = $global.$haxeUID++; var f; if( o.hx__closures__ == null ) o.hx__closures__ = {}; else f = o.hx__closures__[m.__id__]; if( f == null ) { f = m.bind(o); o.hx__closures__[m.__id__] = f; } return f; } -$global.$haxeUID |= 0; -if(typeof(performance) != "undefined" ? typeof(performance.now) == "function" : false) { - HxOverrides.now = performance.now.bind(performance); -} -if( String.fromCodePoint == null ) String.fromCodePoint = function(c) { return c < 0x10000 ? String.fromCharCode(c) : String.fromCharCode((c>>10)+0xD7C0)+String.fromCharCode((c&0x3FF)+0xDC00); } -String.__name__ = true; -Array.__name__ = true; -js_Boot.__toStr = ({ }).toString; -haxe_Template.splitter = new EReg("(::[A-Za-z0-9_ ()&|!+=/><*.\"-]+::|\\$\\$([A-Za-z0-9_-]+)\\()",""); -haxe_Template.expr_splitter = new EReg("(\\(|\\)|[ \r\n\t]*\"[^\"]*\"[ \r\n\t]*|[!+=/><*.&|-]+)",""); -haxe_Template.expr_trim = new EReg("^[ ]*([^ ]+)[ ]*$",""); -haxe_Template.expr_int = new EReg("^[0-9]+$",""); -haxe_Template.expr_float = new EReg("^([+-]?)(?=\\d|,\\d)\\d*(,\\d*)?([Ee]([+-]?\\d+))?$",""); -haxe_Template.globals = { }; -haxe_Template.hxKeepArrayIterator = new haxe_iterators_ArrayIterator([]); -xrfragment_Parser.error = ""; -xrfragment_Parser.debug = false; -xrfragment_URI.__meta__ = { statics : { template : { keep : null}}}; -xrfragment_URI._parts = ["source","scheme","authority","userInfo","user","password","host","port","relative","path","directory","file","query","fragment"]; -xrfragment_XRF.IMMUTABLE = 1; -xrfragment_XRF.PROP_BIND = 2; -xrfragment_XRF.QUERY_OPERATOR = 4; -xrfragment_XRF.PROMPT = 8; -xrfragment_XRF.CUSTOMFRAG = 16; -xrfragment_XRF.NAVIGATOR = 32; -xrfragment_XRF.METADATA = 64; -xrfragment_XRF.PV_OVERRIDE = 128; -xrfragment_XRF.PV_EXECUTE = 256; -xrfragment_XRF.T_COLOR = 8192; -xrfragment_XRF.T_INT = 16384; -xrfragment_XRF.T_FLOAT = 32768; -xrfragment_XRF.T_VECTOR2 = 65536; -xrfragment_XRF.T_VECTOR3 = 131072; -xrfragment_XRF.T_URL = 262144; -xrfragment_XRF.T_PREDEFINED_VIEW = 524288; -xrfragment_XRF.T_STRING = 1048576; -xrfragment_XRF.T_MEDIAFRAG = 2097152; -xrfragment_XRF.T_DYNAMICKEY = 4194304; -xrfragment_XRF.T_DYNAMICKEYVALUE = 8388608; -xrfragment_XRF.isColor = new EReg("^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$",""); -xrfragment_XRF.isInt = new EReg("^[-0-9]+$",""); -xrfragment_XRF.isFloat = new EReg("^[-0-9]+\\.[0-9]+$",""); -xrfragment_XRF.isVector = new EReg("([,]+|\\w)",""); -xrfragment_XRF.isUrl = new EReg("(://)?\\..*",""); -xrfragment_XRF.isUrlOrPretypedView = new EReg("(^#|://)?\\..*",""); -xrfragment_XRF.isString = new EReg(".*",""); -xrfragment_XRF.operators = new EReg("(^[-]|^[!]|[\\*]$)","g"); -xrfragment_XRF.isProp = new EReg("^.*=[><=]?",""); -xrfragment_XRF.isExclude = new EReg("^-",""); -xrfragment_XRF.isDeep = new EReg("\\*",""); -xrfragment_XRF.isNumber = new EReg("^[0-9\\.]+$",""); -xrfragment_XRF.isMediaFrag = new EReg("^([0-9\\.,\\*+-]+)$",""); -xrfragment_XRF.isReset = new EReg("^!",""); -xrfragment_XRF.isShift = new EReg("^(\\+|--)",""); -xrfragment_XRF.isXRFScheme = new EReg("^xrf://",""); -})(typeof window != "undefined" ? window : typeof global != "undefined" ? global : typeof self != "undefined" ? self : this); -var xrfragment = $hx_exports["xrfragment"]; -export default xrfragment; -// Generated by Haxe 4.3.3 -var $hx_exports = typeof exports != "undefined" ? exports : typeof window != "undefined" ? window : typeof self != "undefined" ? self : this; -(function ($global) { "use strict"; -$hx_exports["xrfragment"] = $hx_exports["xrfragment"] || {}; -var $estr = function() { return js_Boot.__string_rec(this,''); },$hxEnums = $hxEnums || {},$_; -function $extend(from, fields) { - var proto = Object.create(from); - for (var name in fields) proto[name] = fields[name]; - if( fields.toString !== Object.prototype.toString ) proto.toString = fields.toString; - return proto; -} -var EReg = function(r,opt) { - this.r = new RegExp(r,opt.split("u").join("")); -}; -EReg.__name__ = true; -EReg.prototype = { - match: function(s) { - if(this.r.global) { - this.r.lastIndex = 0; - } - this.r.m = this.r.exec(s); - this.r.s = s; - return this.r.m != null; - } - ,matched: function(n) { - if(this.r.m != null && n >= 0 && n < this.r.m.length) { - return this.r.m[n]; - } else { - throw haxe_Exception.thrown("EReg::matched"); - } - } - ,matchedRight: function() { - if(this.r.m == null) { - throw haxe_Exception.thrown("No string matched"); - } - var sz = this.r.m.index + this.r.m[0].length; - return HxOverrides.substr(this.r.s,sz,this.r.s.length - sz); - } - ,matchedPos: function() { - if(this.r.m == null) { - throw haxe_Exception.thrown("No string matched"); - } - return { pos : this.r.m.index, len : this.r.m[0].length}; - } - ,split: function(s) { - var d = "#__delim__#"; - return s.replace(this.r,d).split(d); - } -}; -var HxOverrides = function() { }; -HxOverrides.__name__ = true; -HxOverrides.cca = function(s,index) { - var x = s.charCodeAt(index); - if(x != x) { - return undefined; - } - return x; -}; -HxOverrides.substr = function(s,pos,len) { - if(len == null) { - len = s.length; - } else if(len < 0) { - if(pos == 0) { - len = s.length + len; - } else { - return ""; - } - } - return s.substr(pos,len); -}; -HxOverrides.now = function() { - return Date.now(); -}; -Math.__name__ = true; -var Reflect = function() { }; -Reflect.__name__ = true; -Reflect.field = function(o,field) { - try { - return o[field]; - } catch( _g ) { - return null; - } -}; -Reflect.getProperty = function(o,field) { - var tmp; - if(o == null) { - return null; - } else { - var tmp1; - if(o.__properties__) { - tmp = o.__properties__["get_" + field]; - tmp1 = tmp; - } else { - tmp1 = false; - } - if(tmp1) { - return o[tmp](); - } else { - return o[field]; - } - } -}; -Reflect.fields = function(o) { - var a = []; - if(o != null) { - var hasOwnProperty = Object.prototype.hasOwnProperty; - for( var f in o ) { - if(f != "__id__" && f != "hx__closures__" && hasOwnProperty.call(o,f)) { - a.push(f); - } - } - } - return a; -}; -Reflect.isObject = function(v) { - if(v == null) { - return false; - } - var t = typeof(v); - if(!(t == "string" || t == "object" && v.__enum__ == null)) { - if(t == "function") { - return (v.__name__ || v.__ename__) != null; - } else { - return false; - } - } else { - return true; - } -}; -Reflect.deleteField = function(o,field) { - if(!Object.prototype.hasOwnProperty.call(o,field)) { - return false; - } - delete(o[field]); - return true; -}; -Reflect.copy = function(o) { - if(o == null) { - return null; - } - var o2 = { }; - var _g = 0; - var _g1 = Reflect.fields(o); - while(_g < _g1.length) { - var f = _g1[_g]; - ++_g; - o2[f] = Reflect.field(o,f); - } - return o2; -}; -var Std = function() { }; -Std.__name__ = true; -Std.string = function(s) { - return js_Boot.__string_rec(s,""); -}; -Std.parseInt = function(x) { - var v = parseInt(x); - if(isNaN(v)) { - return null; - } - return v; -}; -var StringBuf = function() { - this.b = ""; -}; -StringBuf.__name__ = true; -var StringTools = function() { }; -StringTools.__name__ = true; -StringTools.isSpace = function(s,pos) { - var c = HxOverrides.cca(s,pos); - if(!(c > 8 && c < 14)) { - return c == 32; - } else { - return true; - } -}; -StringTools.ltrim = function(s) { - var l = s.length; - var r = 0; - while(r < l && StringTools.isSpace(s,r)) ++r; - if(r > 0) { - return HxOverrides.substr(s,r,l - r); - } else { - return s; - } -}; -StringTools.rtrim = function(s) { - var l = s.length; - var r = 0; - while(r < l && StringTools.isSpace(s,l - r - 1)) ++r; - if(r > 0) { - return HxOverrides.substr(s,0,l - r); - } else { - return s; - } -}; -StringTools.trim = function(s) { - return StringTools.ltrim(StringTools.rtrim(s)); -}; -StringTools.replace = function(s,sub,by) { - return s.split(sub).join(by); -}; -var haxe_Exception = function(message,previous,native) { - Error.call(this,message); - this.message = message; - this.__previousException = previous; - this.__nativeException = native != null ? native : this; -}; -haxe_Exception.__name__ = true; -haxe_Exception.caught = function(value) { - if(((value) instanceof haxe_Exception)) { - return value; - } else if(((value) instanceof Error)) { - return new haxe_Exception(value.message,null,value); - } else { - return new haxe_ValueException(value,null,value); - } -}; -haxe_Exception.thrown = function(value) { - if(((value) instanceof haxe_Exception)) { - return value.get_native(); - } else if(((value) instanceof Error)) { - return value; - } else { - var e = new haxe_ValueException(value); - return e; - } -}; -haxe_Exception.__super__ = Error; -haxe_Exception.prototype = $extend(Error.prototype,{ - unwrap: function() { - return this.__nativeException; - } - ,get_native: function() { - return this.__nativeException; - } - ,__properties__: {get_native:"get_native"} -}); -var haxe__$Template_TemplateExpr = $hxEnums["haxe._Template.TemplateExpr"] = { __ename__:true,__constructs__:null - ,OpVar: ($_=function(v) { return {_hx_index:0,v:v,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpVar",$_.__params__ = ["v"],$_) - ,OpExpr: ($_=function(expr) { return {_hx_index:1,expr:expr,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpExpr",$_.__params__ = ["expr"],$_) - ,OpIf: ($_=function(expr,eif,eelse) { return {_hx_index:2,expr:expr,eif:eif,eelse:eelse,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpIf",$_.__params__ = ["expr","eif","eelse"],$_) - ,OpStr: ($_=function(str) { return {_hx_index:3,str:str,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpStr",$_.__params__ = ["str"],$_) - ,OpBlock: ($_=function(l) { return {_hx_index:4,l:l,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpBlock",$_.__params__ = ["l"],$_) - ,OpForeach: ($_=function(expr,loop) { return {_hx_index:5,expr:expr,loop:loop,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpForeach",$_.__params__ = ["expr","loop"],$_) - ,OpMacro: ($_=function(name,params) { return {_hx_index:6,name:name,params:params,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpMacro",$_.__params__ = ["name","params"],$_) -}; -haxe__$Template_TemplateExpr.__constructs__ = [haxe__$Template_TemplateExpr.OpVar,haxe__$Template_TemplateExpr.OpExpr,haxe__$Template_TemplateExpr.OpIf,haxe__$Template_TemplateExpr.OpStr,haxe__$Template_TemplateExpr.OpBlock,haxe__$Template_TemplateExpr.OpForeach,haxe__$Template_TemplateExpr.OpMacro]; -var haxe_iterators_ArrayIterator = function(array) { - this.current = 0; - this.array = array; -}; -haxe_iterators_ArrayIterator.__name__ = true; -haxe_iterators_ArrayIterator.prototype = { - hasNext: function() { - return this.current < this.array.length; - } - ,next: function() { - return this.array[this.current++]; - } -}; -var haxe_Template = function(str) { - var tokens = this.parseTokens(str); - this.expr = this.parseBlock(tokens); - if(!tokens.isEmpty()) { - throw haxe_Exception.thrown("Unexpected '" + Std.string(tokens.first().s) + "'"); - } -}; -haxe_Template.__name__ = true; -haxe_Template.prototype = { - execute: function(context,macros) { - this.macros = macros == null ? { } : macros; - this.context = context; - this.stack = new haxe_ds_List(); - this.buf = new StringBuf(); - this.run(this.expr); - return this.buf.b; - } - ,resolve: function(v) { - if(v == "__current__") { - return this.context; - } - if(Reflect.isObject(this.context)) { - var value = Reflect.getProperty(this.context,v); - if(value != null || Object.prototype.hasOwnProperty.call(this.context,v)) { - return value; - } - } - var _g_head = this.stack.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var ctx = val; - var value = Reflect.getProperty(ctx,v); - if(value != null || Object.prototype.hasOwnProperty.call(ctx,v)) { - return value; - } - } - return Reflect.field(haxe_Template.globals,v); - } - ,parseTokens: function(data) { - var tokens = new haxe_ds_List(); - while(haxe_Template.splitter.match(data)) { - var p = haxe_Template.splitter.matchedPos(); - if(p.pos > 0) { - tokens.add({ p : HxOverrides.substr(data,0,p.pos), s : true, l : null}); - } - if(HxOverrides.cca(data,p.pos) == 58) { - tokens.add({ p : HxOverrides.substr(data,p.pos + 2,p.len - 4), s : false, l : null}); - data = haxe_Template.splitter.matchedRight(); - continue; - } - var parp = p.pos + p.len; - var npar = 1; - var params = []; - var part = ""; - while(true) { - var c = HxOverrides.cca(data,parp); - ++parp; - if(c == 40) { - ++npar; - } else if(c == 41) { - --npar; - if(npar <= 0) { - break; - } - } else if(c == null) { - throw haxe_Exception.thrown("Unclosed macro parenthesis"); - } - if(c == 44 && npar == 1) { - params.push(part); - part = ""; - } else { - part += String.fromCodePoint(c); - } - } - params.push(part); - tokens.add({ p : haxe_Template.splitter.matched(2), s : false, l : params}); - data = HxOverrides.substr(data,parp,data.length - parp); - } - if(data.length > 0) { - tokens.add({ p : data, s : true, l : null}); - } - return tokens; - } - ,parseBlock: function(tokens) { - var l = new haxe_ds_List(); - while(true) { - var t = tokens.first(); - if(t == null) { - break; - } - if(!t.s && (t.p == "end" || t.p == "else" || HxOverrides.substr(t.p,0,7) == "elseif ")) { - break; - } - l.add(this.parse(tokens)); - } - if(l.length == 1) { - return l.first(); - } - return haxe__$Template_TemplateExpr.OpBlock(l); - } - ,parse: function(tokens) { - var t = tokens.pop(); - var p = t.p; - if(t.s) { - return haxe__$Template_TemplateExpr.OpStr(p); - } - if(t.l != null) { - var pe = new haxe_ds_List(); - var _g = 0; - var _g1 = t.l; - while(_g < _g1.length) { - var p1 = _g1[_g]; - ++_g; - pe.add(this.parseBlock(this.parseTokens(p1))); - } - return haxe__$Template_TemplateExpr.OpMacro(p,pe); - } - var kwdEnd = function(kwd) { - var pos = -1; - var length = kwd.length; - if(HxOverrides.substr(p,0,length) == kwd) { - pos = length; - var _g_offset = 0; - var _g_s = HxOverrides.substr(p,length,null); - while(_g_offset < _g_s.length) { - var c = _g_s.charCodeAt(_g_offset++); - if(c == 32) { - ++pos; - } else { - break; - } - } - } - return pos; - }; - var pos = kwdEnd("if"); - if(pos > 0) { - p = HxOverrides.substr(p,pos,p.length - pos); - var e = this.parseExpr(p); - var eif = this.parseBlock(tokens); - var t = tokens.first(); - var eelse; - if(t == null) { - throw haxe_Exception.thrown("Unclosed 'if'"); - } - if(t.p == "end") { - tokens.pop(); - eelse = null; - } else if(t.p == "else") { - tokens.pop(); - eelse = this.parseBlock(tokens); - t = tokens.pop(); - if(t == null || t.p != "end") { - throw haxe_Exception.thrown("Unclosed 'else'"); - } - } else { - t.p = HxOverrides.substr(t.p,4,t.p.length - 4); - eelse = this.parse(tokens); - } - return haxe__$Template_TemplateExpr.OpIf(e,eif,eelse); - } - var pos = kwdEnd("foreach"); - if(pos >= 0) { - p = HxOverrides.substr(p,pos,p.length - pos); - var e = this.parseExpr(p); - var efor = this.parseBlock(tokens); - var t = tokens.pop(); - if(t == null || t.p != "end") { - throw haxe_Exception.thrown("Unclosed 'foreach'"); - } - return haxe__$Template_TemplateExpr.OpForeach(e,efor); - } - if(haxe_Template.expr_splitter.match(p)) { - return haxe__$Template_TemplateExpr.OpExpr(this.parseExpr(p)); - } - return haxe__$Template_TemplateExpr.OpVar(p); - } - ,parseExpr: function(data) { - var l = new haxe_ds_List(); - var expr = data; - while(haxe_Template.expr_splitter.match(data)) { - var p = haxe_Template.expr_splitter.matchedPos(); - var k = p.pos + p.len; - if(p.pos != 0) { - l.add({ p : HxOverrides.substr(data,0,p.pos), s : true}); - } - var p1 = haxe_Template.expr_splitter.matched(0); - l.add({ p : p1, s : p1.indexOf("\"") >= 0}); - data = haxe_Template.expr_splitter.matchedRight(); - } - if(data.length != 0) { - var _g_offset = 0; - var _g_s = data; - while(_g_offset < _g_s.length) { - var _g_key = _g_offset; - var _g_value = _g_s.charCodeAt(_g_offset++); - var i = _g_key; - var c = _g_value; - if(c != 32) { - l.add({ p : HxOverrides.substr(data,i,null), s : true}); - break; - } - } - } - var e; - try { - e = this.makeExpr(l); - if(!l.isEmpty()) { - throw haxe_Exception.thrown(l.first().p); - } - } catch( _g ) { - var _g1 = haxe_Exception.caught(_g).unwrap(); - if(typeof(_g1) == "string") { - var s = _g1; - throw haxe_Exception.thrown("Unexpected '" + s + "' in " + expr); - } else { - throw _g; - } - } - return function() { - try { - return e(); - } catch( _g ) { - var exc = haxe_Exception.caught(_g).unwrap(); - throw haxe_Exception.thrown("Error : " + Std.string(exc) + " in " + expr); - } - }; - } - ,makeConst: function(v) { - haxe_Template.expr_trim.match(v); - v = haxe_Template.expr_trim.matched(1); - if(HxOverrides.cca(v,0) == 34) { - var str = HxOverrides.substr(v,1,v.length - 2); - return function() { - return str; - }; - } - if(haxe_Template.expr_int.match(v)) { - var i = Std.parseInt(v); - return function() { - return i; - }; - } - if(haxe_Template.expr_float.match(v)) { - var f = parseFloat(v); - return function() { - return f; - }; - } - var me = this; - return function() { - return me.resolve(v); - }; - } - ,makePath: function(e,l) { - var p = l.first(); - if(p == null || p.p != ".") { - return e; - } - l.pop(); - var field = l.pop(); - if(field == null || !field.s) { - throw haxe_Exception.thrown(field.p); - } - var f = field.p; - haxe_Template.expr_trim.match(f); - f = haxe_Template.expr_trim.matched(1); - return this.makePath(function() { - return Reflect.field(e(),f); - },l); - } - ,makeExpr: function(l) { - return this.makePath(this.makeExpr2(l),l); - } - ,skipSpaces: function(l) { - var p = l.first(); - while(p != null) { - var _g_offset = 0; - var _g_s = p.p; - while(_g_offset < _g_s.length) { - var c = _g_s.charCodeAt(_g_offset++); - if(c != 32) { - return; - } - } - l.pop(); - p = l.first(); - } - } - ,makeExpr2: function(l) { - this.skipSpaces(l); - var p = l.pop(); - this.skipSpaces(l); - if(p == null) { - throw haxe_Exception.thrown(""); - } - if(p.s) { - return this.makeConst(p.p); - } - switch(p.p) { - case "!": - var e = this.makeExpr(l); - return function() { - var v = e(); - if(v != null) { - return v == false; - } else { - return true; - } - }; - case "(": - this.skipSpaces(l); - var e1 = this.makeExpr(l); - this.skipSpaces(l); - var p1 = l.pop(); - if(p1 == null || p1.s) { - throw haxe_Exception.thrown(p1); - } - if(p1.p == ")") { - return e1; - } - this.skipSpaces(l); - var e2 = this.makeExpr(l); - this.skipSpaces(l); - var p2 = l.pop(); - this.skipSpaces(l); - if(p2 == null || p2.p != ")") { - throw haxe_Exception.thrown(p2); - } - switch(p1.p) { - case "!=": - return function() { - return e1() != e2(); - }; - case "&&": - return function() { - return e1() && e2(); - }; - case "*": - return function() { - return e1() * e2(); - }; - case "+": - return function() { - return e1() + e2(); - }; - case "-": - return function() { - return e1() - e2(); - }; - case "/": - return function() { - return e1() / e2(); - }; - case "<": - return function() { - return e1() < e2(); - }; - case "<=": - return function() { - return e1() <= e2(); - }; - case "==": - return function() { - return e1() == e2(); - }; - case ">": - return function() { - return e1() > e2(); - }; - case ">=": - return function() { - return e1() >= e2(); - }; - case "||": - return function() { - return e1() || e2(); - }; - default: - throw haxe_Exception.thrown("Unknown operation " + p1.p); - } - break; - case "-": - var e3 = this.makeExpr(l); - return function() { - return -e3(); - }; - } - throw haxe_Exception.thrown(p.p); - } - ,run: function(e) { - switch(e._hx_index) { - case 0: - var v = e.v; - var _this = this.buf; - var x = Std.string(this.resolve(v)); - _this.b += Std.string(x); - break; - case 1: - var e1 = e.expr; - var _this = this.buf; - var x = Std.string(e1()); - _this.b += Std.string(x); - break; - case 2: - var e1 = e.expr; - var eif = e.eif; - var eelse = e.eelse; - var v = e1(); - if(v == null || v == false) { - if(eelse != null) { - this.run(eelse); - } - } else { - this.run(eif); - } - break; - case 3: - var str = e.str; - this.buf.b += str == null ? "null" : "" + str; - break; - case 4: - var l = e.l; - var _g_head = l.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var e1 = val; - this.run(e1); - } - break; - case 5: - var e1 = e.expr; - var loop = e.loop; - var v = e1(); - try { - var x = $getIterator(v); - if(x.hasNext == null) { - throw haxe_Exception.thrown(null); - } - v = x; - } catch( _g ) { - try { - if(v.hasNext == null) { - throw haxe_Exception.thrown(null); - } - } catch( _g1 ) { - throw haxe_Exception.thrown("Cannot iter on " + Std.string(v)); - } - } - this.stack.push(this.context); - var v1 = v; - var ctx = v1; - while(ctx.hasNext()) { - var ctx1 = ctx.next(); - this.context = ctx1; - this.run(loop); - } - this.context = this.stack.pop(); - break; - case 6: - var m = e.name; - var params = e.params; - var v = Reflect.field(this.macros,m); - var pl = []; - var old = this.buf; - pl.push($bind(this,this.resolve)); - var _g_head = params.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var p = val; - if(p._hx_index == 0) { - var v1 = p.v; - pl.push(this.resolve(v1)); - } else { - this.buf = new StringBuf(); - this.run(p); - pl.push(this.buf.b); - } - } - this.buf = old; - try { - var _this = this.buf; - var x = Std.string(v.apply(this.macros,pl)); - _this.b += Std.string(x); - } catch( _g ) { - var e = haxe_Exception.caught(_g).unwrap(); - var plstr; - try { - plstr = pl.join(","); - } catch( _g1 ) { - plstr = "???"; - } - var msg = "Macro call " + m + "(" + plstr + ") failed (" + Std.string(e) + ")"; - throw haxe_Exception.thrown(msg); - } - break; - } - } -}; -var haxe_ValueException = function(value,previous,native) { - haxe_Exception.call(this,String(value),previous,native); - this.value = value; -}; -haxe_ValueException.__name__ = true; -haxe_ValueException.__super__ = haxe_Exception; -haxe_ValueException.prototype = $extend(haxe_Exception.prototype,{ - unwrap: function() { - return this.value; - } -}); -var haxe_ds_List = function() { - this.length = 0; -}; -haxe_ds_List.__name__ = true; -haxe_ds_List.prototype = { - add: function(item) { - var x = new haxe_ds__$List_ListNode(item,null); - if(this.h == null) { - this.h = x; - } else { - this.q.next = x; - } - this.q = x; - this.length++; - } - ,push: function(item) { - var x = new haxe_ds__$List_ListNode(item,this.h); - this.h = x; - if(this.q == null) { - this.q = x; - } - this.length++; - } - ,first: function() { - if(this.h == null) { - return null; - } else { - return this.h.item; - } - } - ,pop: function() { - if(this.h == null) { - return null; - } - var x = this.h.item; - this.h = this.h.next; - if(this.h == null) { - this.q = null; - } - this.length--; - return x; - } - ,isEmpty: function() { - return this.h == null; - } - ,toString: function() { - var s_b = ""; - var first = true; - var l = this.h; - s_b += "{"; - while(l != null) { - if(first) { - first = false; - } else { - s_b += ", "; - } - s_b += Std.string(Std.string(l.item)); - l = l.next; - } - s_b += "}"; - return s_b; - } -}; -var haxe_ds__$List_ListNode = function(item,next) { - this.item = item; - this.next = next; -}; -haxe_ds__$List_ListNode.__name__ = true; -var js_Boot = function() { }; -js_Boot.__name__ = true; -js_Boot.__string_rec = function(o,s) { - if(o == null) { - return "null"; - } - if(s.length >= 5) { - return "<...>"; - } - var t = typeof(o); - if(t == "function" && (o.__name__ || o.__ename__)) { - t = "object"; - } - switch(t) { - case "function": - return ""; - case "object": - if(o.__enum__) { - var e = $hxEnums[o.__enum__]; - var con = e.__constructs__[o._hx_index]; - var n = con._hx_name; - if(con.__params__) { - s = s + "\t"; - return n + "(" + ((function($this) { - var $r; - var _g = []; - { - var _g1 = 0; - var _g2 = con.__params__; - while(true) { - if(!(_g1 < _g2.length)) { - break; - } - var p = _g2[_g1]; - _g1 = _g1 + 1; - _g.push(js_Boot.__string_rec(o[p],s)); - } - } - $r = _g; - return $r; - }(this))).join(",") + ")"; - } else { - return n; - } - } - if(((o) instanceof Array)) { - var str = "["; - s += "\t"; - var _g = 0; - var _g1 = o.length; - while(_g < _g1) { - var i = _g++; - str += (i > 0 ? "," : "") + js_Boot.__string_rec(o[i],s); - } - str += "]"; - return str; - } - var tostr; - try { - tostr = o.toString; - } catch( _g ) { - return "???"; - } - if(tostr != null && tostr != Object.toString && typeof(tostr) == "function") { - var s2 = o.toString(); - if(s2 != "[object Object]") { - return s2; - } - } - var str = "{\n"; - s += "\t"; - var hasp = o.hasOwnProperty != null; - var k = null; - for( k in o ) { - if(hasp && !o.hasOwnProperty(k)) { - continue; - } - if(k == "prototype" || k == "__class__" || k == "__super__" || k == "__interfaces__" || k == "__properties__") { - continue; - } - if(str.length != 2) { - str += ", \n"; - } - str += s + k + " : " + js_Boot.__string_rec(o[k],s); - } - s = s.substring(1); - str += "\n" + s + "}"; - return str; - case "string": - return o; - default: - return String(o); - } -}; -var xrfragment_Filter = $hx_exports["xrfragment"]["Filter"] = function(str) { - this.q = { }; - this.str = ""; - if(str != null) { - this.parse(str); - } -}; -xrfragment_Filter.__name__ = true; -xrfragment_Filter.prototype = { - toObject: function() { - return Reflect.copy(this.q); - } - ,get: function() { - return Reflect.copy(this.q); - } - ,parse: function(str) { - var token = str.split(" "); - var q = { }; - var process = function(str,prefix) { - if(prefix == null) { - prefix = ""; - } - str = StringTools.trim(str); - var k = str.split("=")[0]; - var v = str.split("=")[1]; - var filter = { }; - if(q[prefix + k]) { - filter = q[prefix + k]; - } - if(xrfragment_XRF.isProp.match(str)) { - var oper = ""; - if(str.indexOf(">") != -1) { - oper = ">"; - } - if(str.indexOf("<") != -1) { - oper = "<"; - } - if(xrfragment_XRF.isExclude.match(k)) { - k = HxOverrides.substr(k,1,null); - } - v = HxOverrides.substr(v,oper.length,null); - if(oper.length == 0) { - oper = "="; - } - var rule = { }; - if(xrfragment_XRF.isNumber.match(v)) { - rule[oper] = parseFloat(v); - } else { - rule[oper] = v; - } - q["expr"] = rule; - } - var value = xrfragment_XRF.isDeep.match(str) ? k.split("*").length - 1 : 0; - q["deep"] = value; - var value = xrfragment_XRF.isExclude.match(str) ? false : true; - q["show"] = value; - var value = k.replace(xrfragment_XRF.operators.r,""); - q["key"] = value; - q["value"] = v; - }; - var _g = 0; - var _g1 = token.length; - while(_g < _g1) { - var i = _g++; - process(token[i]); - } - return this.q = q; - } - ,test: function(obj) { - var qualify = false; - var _g = 0; - var _g1 = Reflect.fields(obj); - while(_g < _g1.length) { - var k = _g1[_g]; - ++_g; - var v = Std.string(Reflect.field(obj,k)); - if(this.testProperty(k,v)) { - qualify = true; - } - } - var _g = 0; - var _g1 = Reflect.fields(obj); - while(_g < _g1.length) { - var k = _g1[_g]; - ++_g; - var v = Std.string(Reflect.field(obj,k)); - if(this.testProperty(k,v,true)) { - qualify = false; - } - } - return qualify; - } - ,testProperty: function(property,value,exclude) { - var conds = 0; - var fails = 0; - var qualify = 0; - var testprop = function(expr) { - conds += 1; - fails += expr ? 0 : 1; - return expr; - }; - if(this.q[value] != null) { - var v = this.q[value]; - if(v[property] != null) { - return v[property]; - } - } - if(Reflect.field(this.q,"expr")) { - var f = Reflect.field(this.q,"expr"); - if(!Reflect.field(this.q,"show")) { - if(Reflect.field(f,"!=") != null && testprop((value == null ? "null" : "" + value) == Std.string(Reflect.field(f,"!="))) && exclude) { - ++qualify; - } - } else { - if(Reflect.field(f,"*") != null && testprop(parseFloat(value) != null)) { - ++qualify; - } - if(Reflect.field(f,">") != null && testprop(parseFloat(value) >= parseFloat(Reflect.field(f,">")))) { - ++qualify; - } - if(Reflect.field(f,"<") != null && testprop(parseFloat(value) <= parseFloat(Reflect.field(f,"<")))) { - ++qualify; - } - if(Reflect.field(f,"=") != null && (testprop(value == Reflect.field(f,"=")) || testprop(parseFloat(value) == parseFloat(Reflect.field(f,"="))))) { - ++qualify; - } - } - } - return qualify > 0; - } -}; -var xrfragment_Parser = $hx_exports["xrfragment"]["Parser"] = function() { }; -xrfragment_Parser.__name__ = true; -xrfragment_Parser.parse = function(key,value,store,index) { - var Frag_h = Object.create(null); - Frag_h["#"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_PREDEFINED_VIEW | xrfragment_XRF.PV_EXECUTE; - Frag_h["src"] = xrfragment_XRF.T_URL; - Frag_h["href"] = xrfragment_XRF.T_URL | xrfragment_XRF.T_PREDEFINED_VIEW; - Frag_h["tag"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["pos"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_VECTOR3 | xrfragment_XRF.T_STRING | xrfragment_XRF.METADATA | xrfragment_XRF.NAVIGATOR; - Frag_h["rot"] = xrfragment_XRF.QUERY_OPERATOR | xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_VECTOR3 | xrfragment_XRF.METADATA | xrfragment_XRF.NAVIGATOR; - Frag_h["t"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_FLOAT | xrfragment_XRF.T_VECTOR2 | xrfragment_XRF.NAVIGATOR | xrfragment_XRF.METADATA; - Frag_h["s"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_MEDIAFRAG; - Frag_h["loop"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_PREDEFINED_VIEW; - Frag_h["uv"] = xrfragment_XRF.T_VECTOR2 | xrfragment_XRF.T_MEDIAFRAG; - Frag_h["namespace"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["SPDX"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["unit"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["description"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - var keyStripped = key.replace(xrfragment_XRF.operators.r,""); - var isPVDynamic = key.length > 0 && !Object.prototype.hasOwnProperty.call(Frag_h,key); - if(isPVDynamic) { - var v = new xrfragment_XRF(key,xrfragment_XRF.PV_EXECUTE | xrfragment_XRF.NAVIGATOR,index); - v.validate(value); - v.flags = xrfragment_XRF.set(xrfragment_XRF.T_DYNAMICKEY,v.flags); - if(!Object.prototype.hasOwnProperty.call(Frag_h,key)) { - v.flags = xrfragment_XRF.set(xrfragment_XRF.CUSTOMFRAG,v.flags); - } - if(value.length == 0) { - v.flags = xrfragment_XRF.set(xrfragment_XRF.T_DYNAMICKEYVALUE,v.flags); - } - store[keyStripped] = v; - return true; - } - var v = new xrfragment_XRF(key,Frag_h[key],index); - if(Object.prototype.hasOwnProperty.call(Frag_h,key)) { - if(!v.validate(value)) { - console.log("src/xrfragment/Parser.hx:67:","⚠ fragment '" + key + "' has incompatible value (" + value + ")"); - return false; - } - store[keyStripped] = v; - if(xrfragment_Parser.debug) { - console.log("src/xrfragment/Parser.hx:71:","✔ " + key + ": " + v.string); - } - } else { - if(typeof(value) == "string") { - v.guessType(v,value); - } - v.flags = xrfragment_XRF.set(xrfragment_XRF.CUSTOMFRAG,v.flags); - store[keyStripped] = v; - } - return true; -}; -xrfragment_Parser.getMetaData = function() { - var meta = { title : ["title","og:title","dc.title"], description : ["aria-description","og:description","dc.description"], author : ["author","dc.creator"], publisher : ["publisher","dc.publisher"], website : ["og:site_name","og:url","dc.publisher"], license : ["SPDX","dc.rights"]}; - return meta; -}; -var xrfragment_URI = $hx_exports["xrfragment"]["URI"] = function() { - this.XRF = { }; - this.hash = { }; - this.fragment = ""; -}; -xrfragment_URI.__name__ = true; -xrfragment_URI.parseFragment = function(url,filter) { - var store = { }; - if(url == null || url.indexOf("#") == -1) { - return store; - } - var fragment = url.split("#"); - var splitArray = fragment[1].split("&"); - var _g = 0; - var _g1 = splitArray.length; - while(_g < _g1) { - var i = _g++; - var splitByEqual = splitArray[i].split("="); - var regexPlus = new EReg("\\+","g"); - var key = splitByEqual[0]; - var value = ""; - if(splitByEqual.length > 1) { - if(xrfragment_XRF.isVector.match(splitByEqual[1])) { - value = splitByEqual[1]; - } else { - var s = regexPlus.split(splitByEqual[1]).join(" "); - value = decodeURIComponent(s.split("+").join(" ")); - } - } - var ok = xrfragment_Parser.parse(key,value,store,i); - } - if(filter != null && filter != 0) { - var _g = 0; - var _g1 = Reflect.fields(store); - while(_g < _g1.length) { - var key = _g1[_g]; - ++_g; - var xrf = store[key]; - if(!xrf.is(filter)) { - Reflect.deleteField(store,key); - } - } - } - return store; -}; -xrfragment_URI.template = function(uri,vars) { - var parts = uri.split("#"); - if(parts.length == 1) { - return uri; - } - var frag = parts[1]; - frag = StringTools.replace(frag,"{","::"); - frag = StringTools.replace(frag,"}","::"); - frag = new haxe_Template(frag).execute(vars); - frag = StringTools.replace(frag,"null",""); - parts[1] = frag; - return parts.join("#"); -}; -xrfragment_URI.parse = function(stringUrl,flags) { - var r = new EReg("^(?:(?![^:@]+:[^:@/]*@)([^:/?#.]+):)?(?://)?((?:(([^:@]*)(?::([^:@]*))?)?@)?([^:/?#]*)(?::(\\d*))?)(((/(?:[^?#](?![^?#/]*\\.[^?#/.]+(?:[?#]|$)))*/?)?([^?#/]*))(?:\\?([^#]*))?(?:#(.*))?)",""); - if(stringUrl.indexOf("://") == -1 && stringUrl.charAt(0) != "/") { - stringUrl = "/" + stringUrl; - } - r.match(stringUrl); - var url = new xrfragment_URI(); - var _g = 0; - var _g1 = xrfragment_URI._parts.length; - while(_g < _g1) { - var i = _g++; - url[xrfragment_URI._parts[i]] = r.matched(i); - } - if(xrfragment_URI.isRelative(url) == true) { - if(url.directory == null && url.host != null) { - url.file = url.host; - } - url.host = ""; - } - url.hash = { }; - if(url.fragment != null && url.fragment.length > 0) { - url.XRF = xrfragment_URI.parseFragment("#" + url.fragment,flags); - var key; - var _g = 0; - var _g1 = Reflect.fields(url.XRF); - while(_g < _g1.length) { - var key = _g1[_g]; - ++_g; - var v = url.XRF[key]; - url.hash[key] = v["string"]; - } - } - xrfragment_URI.computeVars(url); - return url; -}; -xrfragment_URI.computeVars = function(url) { - var r_r = new RegExp("//","g".split("u").join("")); - if(url.directory != null && url.directory.indexOf("//") != -1) { - url.directory = url.directory.replace(r_r,"/"); - } - if(url.path != null && url.path.indexOf("//") != -1) { - url.path = url.path.replace(r_r,"/"); - } - if(url.file != null && url.file.indexOf("//") != -1) { - url.file = url.file.replace(r_r,"/"); - } - url.URN = url.scheme + "://" + url.host; - if(url.port != null) { - url.URN += ":" + url.port; - } - url.URN += url.directory; - if(url.file != null) { - var parts = url.file.split("."); - if(parts.length > 1) { - url.fileExt = parts.pop(); - } - } -}; -xrfragment_URI.toString = function(url) { - var result = ""; - if(url.scheme != null) { - result += url.scheme + "://"; - } - if(url.user != null) { - result += url.user + ":"; - } - if(url.password != null) { - result += url.password + "@"; - } - if(url.host != null) { - result += url.host; - } - if(url.port != null) { - result += ":" + url.port; - } - if(url.directory != null) { - result += url.directory; - } - if(url.file != null) { - result += url.file; - } - if(url.query != null) { - result += "?" + url.query; - } - if(url.fragment != null) { - result += "#" + url.fragment; - } - return result; -}; -xrfragment_URI.appendURI = function(url,appendedURI) { - if(xrfragment_URI.isRelative(url) == true) { - return xrfragment_URI.appendToRelativeURI(url,appendedURI); - } else { - return xrfragment_URI.appendToAbsoluteURI(url,appendedURI); - } -}; -xrfragment_URI.isRelative = function(url) { - return url.scheme == null; -}; -xrfragment_URI.appendToRelativeURI = function(url,appendedURI) { - if(url.directory == null || url.host == null) { - return xrfragment_URI.cloneURI(appendedURI); - } - var resultURI = new xrfragment_URI(); - resultURI.host = url.host; - resultURI.directory = url.directory; - if(appendedURI.host != null) { - resultURI.directory += appendedURI.host; - } - if(appendedURI.directory != null) { - var directory = appendedURI.directory; - if(appendedURI.host == null) { - resultURI.directory += HxOverrides.substr(directory,1,null); - } else { - resultURI.directory += directory; - } - } - if(appendedURI.file != null) { - resultURI.file = appendedURI.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(appendedURI.query != null) { - resultURI.query = appendedURI.query; - } - if(appendedURI.fragment != null) { - resultURI.fragment = appendedURI.fragment; - } - return resultURI; -}; -xrfragment_URI.appendToAbsoluteURI = function(url,appendedURI) { - var resultURI = new xrfragment_URI(); - if(url.scheme != null) { - resultURI.scheme = url.scheme; - } - if(url.host != null) { - resultURI.host = url.host; - } - var directory = ""; - if(url.directory != null) { - directory = url.directory; - } - if(appendedURI.host != null) { - appendedURI.directory += appendedURI.host; - } - if(appendedURI.directory != null) { - directory += appendedURI.directory; - } - resultURI.directory = directory; - if(appendedURI.file != null) { - resultURI.file = appendedURI.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(appendedURI.query != null) { - resultURI.query = appendedURI.query; - } - if(appendedURI.fragment != null) { - resultURI.fragment = appendedURI.fragment; - } - return resultURI; -}; -xrfragment_URI.toAbsolute = function(url,newUrl) { - var newURI = xrfragment_URI.parse(newUrl,0); - var resultURI = new xrfragment_URI(); - resultURI.port = url.port; - resultURI.source = newUrl; - if(newURI.scheme != null) { - resultURI.scheme = newURI.scheme; - } else { - resultURI.scheme = url.scheme; - } - if(newURI.host != null && newURI.host.length > 0) { - resultURI.host = newURI.host; - resultURI.port = null; - resultURI.fragment = null; - resultURI.hash = { }; - resultURI.XRF = { }; - if(newURI.port != null) { - resultURI.port = newURI.port; - } - } else { - resultURI.host = url.host; - } - var directory = ""; - if(url.directory != null) { - directory = url.directory; - } - if(newURI.directory != null) { - if(newUrl.charAt(0) != "/" && newUrl.indexOf("://") == -1) { - var stripRelative_r = new RegExp("\\./.*","".split("u").join("")); - directory = directory.replace(stripRelative_r,""); - directory += newURI.directory; - } else { - directory = newURI.directory; - } - } - resultURI.directory = directory; - if(newURI.file != null) { - resultURI.file = newURI.file; - } else { - resultURI.file = url.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(newURI.query != null) { - resultURI.query = newURI.query; - } - if(newURI.fragment != null) { - resultURI.fragment = newURI.fragment; - } - resultURI.hash = newURI.hash; - resultURI.XRF = newURI.XRF; - xrfragment_URI.computeVars(resultURI); - return resultURI; -}; -xrfragment_URI.cloneURI = function(url) { - var clonedURI = new xrfragment_URI(); - clonedURI.url = url.url; - clonedURI.source = url.source; - clonedURI.scheme = url.scheme; - clonedURI.authority = url.authority; - clonedURI.userInfo = url.userInfo; - clonedURI.password = url.password; - clonedURI.host = url.host; - clonedURI.port = url.port; - clonedURI.relative = url.relative; - clonedURI.path = url.path; - clonedURI.directory = url.directory; - clonedURI.file = url.file; - clonedURI.query = url.query; - clonedURI.fragment = url.fragment; - return clonedURI; -}; -var xrfragment_XRF = $hx_exports["xrfragment"]["XRF"] = function(_fragment,_flags,_index) { - this.floats = []; - this.shift = []; - this.fragment = _fragment; - this.flags = _flags; - this.index = _index; -}; -xrfragment_XRF.__name__ = true; -xrfragment_XRF.set = function(flag,flags) { - return flags | flag; -}; -xrfragment_XRF.unset = function(flag,flags) { - return flags & ~flag; -}; -xrfragment_XRF.prototype = { - is: function(flag) { - var v = this.flags; - if(!(typeof(v) == "number" && ((v | 0) === v))) { - this.flags = 0; - } - return (this.flags & flag) != 0; - } - ,validate: function(value) { - this.guessType(this,value); - var ok = true; - if(value.length == 0 && !this.is(xrfragment_XRF.T_PREDEFINED_VIEW)) { - ok = false; - } - if(!this.is(xrfragment_XRF.T_FLOAT) && this.is(xrfragment_XRF.T_VECTOR2) && !(typeof(this.x) == "number" && typeof(this.y) == "number")) { - ok = false; - } - if(!(this.is(xrfragment_XRF.T_VECTOR2) || this.is(xrfragment_XRF.T_STRING)) && this.is(xrfragment_XRF.T_VECTOR3) && !(typeof(this.x) == "number" && typeof(this.y) == "number" && typeof(this.z) == "number")) { - ok = false; - } - return ok; - } - ,guessType: function(v,str) { - v.string = str; - if(xrfragment_XRF.isReset.match(v.fragment)) { - v.reset = true; - } - if(v.fragment == "loop") { - v.loop = true; - } - if(typeof(str) != "string") { - return; - } - if(str.length > 0) { - if(xrfragment_XRF.isXRFScheme.match(str)) { - v.xrfScheme = true; - str = str.replace(xrfragment_XRF.isXRFScheme.r,""); - v.string = str; - } - if(str.split(",").length > 1) { - var xyzn = str.split(","); - if(xyzn.length > 0) { - v.x = parseFloat(xyzn[0]); - } - if(xyzn.length > 1) { - v.y = parseFloat(xyzn[1]); - } - if(xyzn.length > 2) { - v.z = parseFloat(xyzn[2]); - } - var _g = 0; - var _g1 = xyzn.length; - while(_g < _g1) { - var i = _g++; - v.shift.push(xrfragment_XRF.isShift.match(xyzn[i])); - v.floats.push(parseFloat(xyzn[i].replace(xrfragment_XRF.isShift.r,""))); - } - } - if(xrfragment_XRF.isColor.match(str)) { - v.color = str; - } - if(xrfragment_XRF.isFloat.match(str)) { - v.x = parseFloat(str); - v.float = v.x; - } - if(xrfragment_XRF.isInt.match(str)) { - v.int = Std.parseInt(str); - v.x = v.int; - v.floats.push(v.x); - } - v.filter = new xrfragment_Filter(v.fragment + "=" + v.string); - } else { - v.filter = new xrfragment_Filter(v.fragment); - } - } -}; -function $getIterator(o) { if( o instanceof Array ) return new haxe_iterators_ArrayIterator(o); else return o.iterator(); } -function $bind(o,m) { if( m == null ) return null; if( m.__id__ == null ) m.__id__ = $global.$haxeUID++; var f; if( o.hx__closures__ == null ) o.hx__closures__ = {}; else f = o.hx__closures__[m.__id__]; if( f == null ) { f = m.bind(o); o.hx__closures__[m.__id__] = f; } return f; } -$global.$haxeUID |= 0; -if(typeof(performance) != "undefined" ? typeof(performance.now) == "function" : false) { - HxOverrides.now = performance.now.bind(performance); -} -if( String.fromCodePoint == null ) String.fromCodePoint = function(c) { return c < 0x10000 ? String.fromCharCode(c) : String.fromCharCode((c>>10)+0xD7C0)+String.fromCharCode((c&0x3FF)+0xDC00); } -String.__name__ = true; -Array.__name__ = true; -js_Boot.__toStr = ({ }).toString; -haxe_Template.splitter = new EReg("(::[A-Za-z0-9_ ()&|!+=/><*.\"-]+::|\\$\\$([A-Za-z0-9_-]+)\\()",""); -haxe_Template.expr_splitter = new EReg("(\\(|\\)|[ \r\n\t]*\"[^\"]*\"[ \r\n\t]*|[!+=/><*.&|-]+)",""); -haxe_Template.expr_trim = new EReg("^[ ]*([^ ]+)[ ]*$",""); -haxe_Template.expr_int = new EReg("^[0-9]+$",""); -haxe_Template.expr_float = new EReg("^([+-]?)(?=\\d|,\\d)\\d*(,\\d*)?([Ee]([+-]?\\d+))?$",""); -haxe_Template.globals = { }; -haxe_Template.hxKeepArrayIterator = new haxe_iterators_ArrayIterator([]); -xrfragment_Parser.error = ""; -xrfragment_Parser.debug = false; -xrfragment_URI.__meta__ = { statics : { template : { keep : null}}}; -xrfragment_URI._parts = ["source","scheme","authority","userInfo","user","password","host","port","relative","path","directory","file","query","fragment"]; -xrfragment_XRF.IMMUTABLE = 1; -xrfragment_XRF.PROP_BIND = 2; -xrfragment_XRF.QUERY_OPERATOR = 4; -xrfragment_XRF.PROMPT = 8; -xrfragment_XRF.CUSTOMFRAG = 16; -xrfragment_XRF.NAVIGATOR = 32; -xrfragment_XRF.METADATA = 64; -xrfragment_XRF.PV_OVERRIDE = 128; -xrfragment_XRF.PV_EXECUTE = 256; -xrfragment_XRF.T_COLOR = 8192; -xrfragment_XRF.T_INT = 16384; -xrfragment_XRF.T_FLOAT = 32768; -xrfragment_XRF.T_VECTOR2 = 65536; -xrfragment_XRF.T_VECTOR3 = 131072; -xrfragment_XRF.T_URL = 262144; -xrfragment_XRF.T_PREDEFINED_VIEW = 524288; -xrfragment_XRF.T_STRING = 1048576; -xrfragment_XRF.T_MEDIAFRAG = 2097152; -xrfragment_XRF.T_DYNAMICKEY = 4194304; -xrfragment_XRF.T_DYNAMICKEYVALUE = 8388608; -xrfragment_XRF.isColor = new EReg("^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$",""); -xrfragment_XRF.isInt = new EReg("^[-0-9]+$",""); -xrfragment_XRF.isFloat = new EReg("^[-0-9]+\\.[0-9]+$",""); -xrfragment_XRF.isVector = new EReg("([,]+|\\w)",""); -xrfragment_XRF.isUrl = new EReg("(://)?\\..*",""); -xrfragment_XRF.isUrlOrPretypedView = new EReg("(^#|://)?\\..*",""); -xrfragment_XRF.isString = new EReg(".*",""); -xrfragment_XRF.operators = new EReg("(^[-]|^[!]|[\\*]$)","g"); -xrfragment_XRF.isProp = new EReg("^.*=[><=]?",""); -xrfragment_XRF.isExclude = new EReg("^-",""); -xrfragment_XRF.isDeep = new EReg("\\*",""); -xrfragment_XRF.isNumber = new EReg("^[0-9\\.]+$",""); -xrfragment_XRF.isMediaFrag = new EReg("^([0-9\\.,\\*+-]+)$",""); -xrfragment_XRF.isReset = new EReg("^!",""); -xrfragment_XRF.isShift = new EReg("^(\\+|--)",""); -xrfragment_XRF.isXRFScheme = new EReg("^xrf://",""); -})(typeof window != "undefined" ? window : typeof global != "undefined" ? global : typeof self != "undefined" ? self : this); -var xrfragment = $hx_exports["xrfragment"]; -export default xrfragment; -// Generated by Haxe 4.3.3 -var $hx_exports = typeof exports != "undefined" ? exports : typeof window != "undefined" ? window : typeof self != "undefined" ? self : this; -(function ($global) { "use strict"; -$hx_exports["xrfragment"] = $hx_exports["xrfragment"] || {}; -var $estr = function() { return js_Boot.__string_rec(this,''); },$hxEnums = $hxEnums || {},$_; -function $extend(from, fields) { - var proto = Object.create(from); - for (var name in fields) proto[name] = fields[name]; - if( fields.toString !== Object.prototype.toString ) proto.toString = fields.toString; - return proto; -} -var EReg = function(r,opt) { - this.r = new RegExp(r,opt.split("u").join("")); -}; -EReg.__name__ = true; -EReg.prototype = { - match: function(s) { - if(this.r.global) { - this.r.lastIndex = 0; - } - this.r.m = this.r.exec(s); - this.r.s = s; - return this.r.m != null; - } - ,matched: function(n) { - if(this.r.m != null && n >= 0 && n < this.r.m.length) { - return this.r.m[n]; - } else { - throw haxe_Exception.thrown("EReg::matched"); - } - } - ,matchedRight: function() { - if(this.r.m == null) { - throw haxe_Exception.thrown("No string matched"); - } - var sz = this.r.m.index + this.r.m[0].length; - return HxOverrides.substr(this.r.s,sz,this.r.s.length - sz); - } - ,matchedPos: function() { - if(this.r.m == null) { - throw haxe_Exception.thrown("No string matched"); - } - return { pos : this.r.m.index, len : this.r.m[0].length}; - } - ,split: function(s) { - var d = "#__delim__#"; - return s.replace(this.r,d).split(d); - } -}; -var HxOverrides = function() { }; -HxOverrides.__name__ = true; -HxOverrides.cca = function(s,index) { - var x = s.charCodeAt(index); - if(x != x) { - return undefined; - } - return x; -}; -HxOverrides.substr = function(s,pos,len) { - if(len == null) { - len = s.length; - } else if(len < 0) { - if(pos == 0) { - len = s.length + len; - } else { - return ""; - } - } - return s.substr(pos,len); -}; -HxOverrides.now = function() { - return Date.now(); -}; -Math.__name__ = true; -var Reflect = function() { }; -Reflect.__name__ = true; -Reflect.field = function(o,field) { - try { - return o[field]; - } catch( _g ) { - return null; - } -}; -Reflect.getProperty = function(o,field) { - var tmp; - if(o == null) { - return null; - } else { - var tmp1; - if(o.__properties__) { - tmp = o.__properties__["get_" + field]; - tmp1 = tmp; - } else { - tmp1 = false; - } - if(tmp1) { - return o[tmp](); - } else { - return o[field]; - } - } -}; -Reflect.fields = function(o) { - var a = []; - if(o != null) { - var hasOwnProperty = Object.prototype.hasOwnProperty; - for( var f in o ) { - if(f != "__id__" && f != "hx__closures__" && hasOwnProperty.call(o,f)) { - a.push(f); - } - } - } - return a; -}; -Reflect.isObject = function(v) { - if(v == null) { - return false; - } - var t = typeof(v); - if(!(t == "string" || t == "object" && v.__enum__ == null)) { - if(t == "function") { - return (v.__name__ || v.__ename__) != null; - } else { - return false; - } - } else { - return true; - } -}; -Reflect.deleteField = function(o,field) { - if(!Object.prototype.hasOwnProperty.call(o,field)) { - return false; - } - delete(o[field]); - return true; -}; -Reflect.copy = function(o) { - if(o == null) { - return null; - } - var o2 = { }; - var _g = 0; - var _g1 = Reflect.fields(o); - while(_g < _g1.length) { - var f = _g1[_g]; - ++_g; - o2[f] = Reflect.field(o,f); - } - return o2; -}; -var Std = function() { }; -Std.__name__ = true; -Std.string = function(s) { - return js_Boot.__string_rec(s,""); -}; -Std.parseInt = function(x) { - var v = parseInt(x); - if(isNaN(v)) { - return null; - } - return v; -}; -var StringBuf = function() { - this.b = ""; -}; -StringBuf.__name__ = true; -var StringTools = function() { }; -StringTools.__name__ = true; -StringTools.isSpace = function(s,pos) { - var c = HxOverrides.cca(s,pos); - if(!(c > 8 && c < 14)) { - return c == 32; - } else { - return true; - } -}; -StringTools.ltrim = function(s) { - var l = s.length; - var r = 0; - while(r < l && StringTools.isSpace(s,r)) ++r; - if(r > 0) { - return HxOverrides.substr(s,r,l - r); - } else { - return s; - } -}; -StringTools.rtrim = function(s) { - var l = s.length; - var r = 0; - while(r < l && StringTools.isSpace(s,l - r - 1)) ++r; - if(r > 0) { - return HxOverrides.substr(s,0,l - r); - } else { - return s; - } -}; -StringTools.trim = function(s) { - return StringTools.ltrim(StringTools.rtrim(s)); -}; -StringTools.replace = function(s,sub,by) { - return s.split(sub).join(by); -}; -var haxe_Exception = function(message,previous,native) { - Error.call(this,message); - this.message = message; - this.__previousException = previous; - this.__nativeException = native != null ? native : this; -}; -haxe_Exception.__name__ = true; -haxe_Exception.caught = function(value) { - if(((value) instanceof haxe_Exception)) { - return value; - } else if(((value) instanceof Error)) { - return new haxe_Exception(value.message,null,value); - } else { - return new haxe_ValueException(value,null,value); - } -}; -haxe_Exception.thrown = function(value) { - if(((value) instanceof haxe_Exception)) { - return value.get_native(); - } else if(((value) instanceof Error)) { - return value; - } else { - var e = new haxe_ValueException(value); - return e; - } -}; -haxe_Exception.__super__ = Error; -haxe_Exception.prototype = $extend(Error.prototype,{ - unwrap: function() { - return this.__nativeException; - } - ,get_native: function() { - return this.__nativeException; - } - ,__properties__: {get_native:"get_native"} -}); -var haxe__$Template_TemplateExpr = $hxEnums["haxe._Template.TemplateExpr"] = { __ename__:true,__constructs__:null - ,OpVar: ($_=function(v) { return {_hx_index:0,v:v,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpVar",$_.__params__ = ["v"],$_) - ,OpExpr: ($_=function(expr) { return {_hx_index:1,expr:expr,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpExpr",$_.__params__ = ["expr"],$_) - ,OpIf: ($_=function(expr,eif,eelse) { return {_hx_index:2,expr:expr,eif:eif,eelse:eelse,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpIf",$_.__params__ = ["expr","eif","eelse"],$_) - ,OpStr: ($_=function(str) { return {_hx_index:3,str:str,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpStr",$_.__params__ = ["str"],$_) - ,OpBlock: ($_=function(l) { return {_hx_index:4,l:l,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpBlock",$_.__params__ = ["l"],$_) - ,OpForeach: ($_=function(expr,loop) { return {_hx_index:5,expr:expr,loop:loop,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpForeach",$_.__params__ = ["expr","loop"],$_) - ,OpMacro: ($_=function(name,params) { return {_hx_index:6,name:name,params:params,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpMacro",$_.__params__ = ["name","params"],$_) -}; -haxe__$Template_TemplateExpr.__constructs__ = [haxe__$Template_TemplateExpr.OpVar,haxe__$Template_TemplateExpr.OpExpr,haxe__$Template_TemplateExpr.OpIf,haxe__$Template_TemplateExpr.OpStr,haxe__$Template_TemplateExpr.OpBlock,haxe__$Template_TemplateExpr.OpForeach,haxe__$Template_TemplateExpr.OpMacro]; -var haxe_iterators_ArrayIterator = function(array) { - this.current = 0; - this.array = array; -}; -haxe_iterators_ArrayIterator.__name__ = true; -haxe_iterators_ArrayIterator.prototype = { - hasNext: function() { - return this.current < this.array.length; - } - ,next: function() { - return this.array[this.current++]; - } -}; -var haxe_Template = function(str) { - var tokens = this.parseTokens(str); - this.expr = this.parseBlock(tokens); - if(!tokens.isEmpty()) { - throw haxe_Exception.thrown("Unexpected '" + Std.string(tokens.first().s) + "'"); - } -}; -haxe_Template.__name__ = true; -haxe_Template.prototype = { - execute: function(context,macros) { - this.macros = macros == null ? { } : macros; - this.context = context; - this.stack = new haxe_ds_List(); - this.buf = new StringBuf(); - this.run(this.expr); - return this.buf.b; - } - ,resolve: function(v) { - if(v == "__current__") { - return this.context; - } - if(Reflect.isObject(this.context)) { - var value = Reflect.getProperty(this.context,v); - if(value != null || Object.prototype.hasOwnProperty.call(this.context,v)) { - return value; - } - } - var _g_head = this.stack.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var ctx = val; - var value = Reflect.getProperty(ctx,v); - if(value != null || Object.prototype.hasOwnProperty.call(ctx,v)) { - return value; - } - } - return Reflect.field(haxe_Template.globals,v); - } - ,parseTokens: function(data) { - var tokens = new haxe_ds_List(); - while(haxe_Template.splitter.match(data)) { - var p = haxe_Template.splitter.matchedPos(); - if(p.pos > 0) { - tokens.add({ p : HxOverrides.substr(data,0,p.pos), s : true, l : null}); - } - if(HxOverrides.cca(data,p.pos) == 58) { - tokens.add({ p : HxOverrides.substr(data,p.pos + 2,p.len - 4), s : false, l : null}); - data = haxe_Template.splitter.matchedRight(); - continue; - } - var parp = p.pos + p.len; - var npar = 1; - var params = []; - var part = ""; - while(true) { - var c = HxOverrides.cca(data,parp); - ++parp; - if(c == 40) { - ++npar; - } else if(c == 41) { - --npar; - if(npar <= 0) { - break; - } - } else if(c == null) { - throw haxe_Exception.thrown("Unclosed macro parenthesis"); - } - if(c == 44 && npar == 1) { - params.push(part); - part = ""; - } else { - part += String.fromCodePoint(c); - } - } - params.push(part); - tokens.add({ p : haxe_Template.splitter.matched(2), s : false, l : params}); - data = HxOverrides.substr(data,parp,data.length - parp); - } - if(data.length > 0) { - tokens.add({ p : data, s : true, l : null}); - } - return tokens; - } - ,parseBlock: function(tokens) { - var l = new haxe_ds_List(); - while(true) { - var t = tokens.first(); - if(t == null) { - break; - } - if(!t.s && (t.p == "end" || t.p == "else" || HxOverrides.substr(t.p,0,7) == "elseif ")) { - break; - } - l.add(this.parse(tokens)); - } - if(l.length == 1) { - return l.first(); - } - return haxe__$Template_TemplateExpr.OpBlock(l); - } - ,parse: function(tokens) { - var t = tokens.pop(); - var p = t.p; - if(t.s) { - return haxe__$Template_TemplateExpr.OpStr(p); - } - if(t.l != null) { - var pe = new haxe_ds_List(); - var _g = 0; - var _g1 = t.l; - while(_g < _g1.length) { - var p1 = _g1[_g]; - ++_g; - pe.add(this.parseBlock(this.parseTokens(p1))); - } - return haxe__$Template_TemplateExpr.OpMacro(p,pe); - } - var kwdEnd = function(kwd) { - var pos = -1; - var length = kwd.length; - if(HxOverrides.substr(p,0,length) == kwd) { - pos = length; - var _g_offset = 0; - var _g_s = HxOverrides.substr(p,length,null); - while(_g_offset < _g_s.length) { - var c = _g_s.charCodeAt(_g_offset++); - if(c == 32) { - ++pos; - } else { - break; - } - } - } - return pos; - }; - var pos = kwdEnd("if"); - if(pos > 0) { - p = HxOverrides.substr(p,pos,p.length - pos); - var e = this.parseExpr(p); - var eif = this.parseBlock(tokens); - var t = tokens.first(); - var eelse; - if(t == null) { - throw haxe_Exception.thrown("Unclosed 'if'"); - } - if(t.p == "end") { - tokens.pop(); - eelse = null; - } else if(t.p == "else") { - tokens.pop(); - eelse = this.parseBlock(tokens); - t = tokens.pop(); - if(t == null || t.p != "end") { - throw haxe_Exception.thrown("Unclosed 'else'"); - } - } else { - t.p = HxOverrides.substr(t.p,4,t.p.length - 4); - eelse = this.parse(tokens); - } - return haxe__$Template_TemplateExpr.OpIf(e,eif,eelse); - } - var pos = kwdEnd("foreach"); - if(pos >= 0) { - p = HxOverrides.substr(p,pos,p.length - pos); - var e = this.parseExpr(p); - var efor = this.parseBlock(tokens); - var t = tokens.pop(); - if(t == null || t.p != "end") { - throw haxe_Exception.thrown("Unclosed 'foreach'"); - } - return haxe__$Template_TemplateExpr.OpForeach(e,efor); - } - if(haxe_Template.expr_splitter.match(p)) { - return haxe__$Template_TemplateExpr.OpExpr(this.parseExpr(p)); - } - return haxe__$Template_TemplateExpr.OpVar(p); - } - ,parseExpr: function(data) { - var l = new haxe_ds_List(); - var expr = data; - while(haxe_Template.expr_splitter.match(data)) { - var p = haxe_Template.expr_splitter.matchedPos(); - var k = p.pos + p.len; - if(p.pos != 0) { - l.add({ p : HxOverrides.substr(data,0,p.pos), s : true}); - } - var p1 = haxe_Template.expr_splitter.matched(0); - l.add({ p : p1, s : p1.indexOf("\"") >= 0}); - data = haxe_Template.expr_splitter.matchedRight(); - } - if(data.length != 0) { - var _g_offset = 0; - var _g_s = data; - while(_g_offset < _g_s.length) { - var _g_key = _g_offset; - var _g_value = _g_s.charCodeAt(_g_offset++); - var i = _g_key; - var c = _g_value; - if(c != 32) { - l.add({ p : HxOverrides.substr(data,i,null), s : true}); - break; - } - } - } - var e; - try { - e = this.makeExpr(l); - if(!l.isEmpty()) { - throw haxe_Exception.thrown(l.first().p); - } - } catch( _g ) { - var _g1 = haxe_Exception.caught(_g).unwrap(); - if(typeof(_g1) == "string") { - var s = _g1; - throw haxe_Exception.thrown("Unexpected '" + s + "' in " + expr); - } else { - throw _g; - } - } - return function() { - try { - return e(); - } catch( _g ) { - var exc = haxe_Exception.caught(_g).unwrap(); - throw haxe_Exception.thrown("Error : " + Std.string(exc) + " in " + expr); - } - }; - } - ,makeConst: function(v) { - haxe_Template.expr_trim.match(v); - v = haxe_Template.expr_trim.matched(1); - if(HxOverrides.cca(v,0) == 34) { - var str = HxOverrides.substr(v,1,v.length - 2); - return function() { - return str; - }; - } - if(haxe_Template.expr_int.match(v)) { - var i = Std.parseInt(v); - return function() { - return i; - }; - } - if(haxe_Template.expr_float.match(v)) { - var f = parseFloat(v); - return function() { - return f; - }; - } - var me = this; - return function() { - return me.resolve(v); - }; - } - ,makePath: function(e,l) { - var p = l.first(); - if(p == null || p.p != ".") { - return e; - } - l.pop(); - var field = l.pop(); - if(field == null || !field.s) { - throw haxe_Exception.thrown(field.p); - } - var f = field.p; - haxe_Template.expr_trim.match(f); - f = haxe_Template.expr_trim.matched(1); - return this.makePath(function() { - return Reflect.field(e(),f); - },l); - } - ,makeExpr: function(l) { - return this.makePath(this.makeExpr2(l),l); - } - ,skipSpaces: function(l) { - var p = l.first(); - while(p != null) { - var _g_offset = 0; - var _g_s = p.p; - while(_g_offset < _g_s.length) { - var c = _g_s.charCodeAt(_g_offset++); - if(c != 32) { - return; - } - } - l.pop(); - p = l.first(); - } - } - ,makeExpr2: function(l) { - this.skipSpaces(l); - var p = l.pop(); - this.skipSpaces(l); - if(p == null) { - throw haxe_Exception.thrown(""); - } - if(p.s) { - return this.makeConst(p.p); - } - switch(p.p) { - case "!": - var e = this.makeExpr(l); - return function() { - var v = e(); - if(v != null) { - return v == false; - } else { - return true; - } - }; - case "(": - this.skipSpaces(l); - var e1 = this.makeExpr(l); - this.skipSpaces(l); - var p1 = l.pop(); - if(p1 == null || p1.s) { - throw haxe_Exception.thrown(p1); - } - if(p1.p == ")") { - return e1; - } - this.skipSpaces(l); - var e2 = this.makeExpr(l); - this.skipSpaces(l); - var p2 = l.pop(); - this.skipSpaces(l); - if(p2 == null || p2.p != ")") { - throw haxe_Exception.thrown(p2); - } - switch(p1.p) { - case "!=": - return function() { - return e1() != e2(); - }; - case "&&": - return function() { - return e1() && e2(); - }; - case "*": - return function() { - return e1() * e2(); - }; - case "+": - return function() { - return e1() + e2(); - }; - case "-": - return function() { - return e1() - e2(); - }; - case "/": - return function() { - return e1() / e2(); - }; - case "<": - return function() { - return e1() < e2(); - }; - case "<=": - return function() { - return e1() <= e2(); - }; - case "==": - return function() { - return e1() == e2(); - }; - case ">": - return function() { - return e1() > e2(); - }; - case ">=": - return function() { - return e1() >= e2(); - }; - case "||": - return function() { - return e1() || e2(); - }; - default: - throw haxe_Exception.thrown("Unknown operation " + p1.p); - } - break; - case "-": - var e3 = this.makeExpr(l); - return function() { - return -e3(); - }; - } - throw haxe_Exception.thrown(p.p); - } - ,run: function(e) { - switch(e._hx_index) { - case 0: - var v = e.v; - var _this = this.buf; - var x = Std.string(this.resolve(v)); - _this.b += Std.string(x); - break; - case 1: - var e1 = e.expr; - var _this = this.buf; - var x = Std.string(e1()); - _this.b += Std.string(x); - break; - case 2: - var e1 = e.expr; - var eif = e.eif; - var eelse = e.eelse; - var v = e1(); - if(v == null || v == false) { - if(eelse != null) { - this.run(eelse); - } - } else { - this.run(eif); - } - break; - case 3: - var str = e.str; - this.buf.b += str == null ? "null" : "" + str; - break; - case 4: - var l = e.l; - var _g_head = l.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var e1 = val; - this.run(e1); - } - break; - case 5: - var e1 = e.expr; - var loop = e.loop; - var v = e1(); - try { - var x = $getIterator(v); - if(x.hasNext == null) { - throw haxe_Exception.thrown(null); - } - v = x; - } catch( _g ) { - try { - if(v.hasNext == null) { - throw haxe_Exception.thrown(null); - } - } catch( _g1 ) { - throw haxe_Exception.thrown("Cannot iter on " + Std.string(v)); - } - } - this.stack.push(this.context); - var v1 = v; - var ctx = v1; - while(ctx.hasNext()) { - var ctx1 = ctx.next(); - this.context = ctx1; - this.run(loop); - } - this.context = this.stack.pop(); - break; - case 6: - var m = e.name; - var params = e.params; - var v = Reflect.field(this.macros,m); - var pl = []; - var old = this.buf; - pl.push($bind(this,this.resolve)); - var _g_head = params.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var p = val; - if(p._hx_index == 0) { - var v1 = p.v; - pl.push(this.resolve(v1)); - } else { - this.buf = new StringBuf(); - this.run(p); - pl.push(this.buf.b); - } - } - this.buf = old; - try { - var _this = this.buf; - var x = Std.string(v.apply(this.macros,pl)); - _this.b += Std.string(x); - } catch( _g ) { - var e = haxe_Exception.caught(_g).unwrap(); - var plstr; - try { - plstr = pl.join(","); - } catch( _g1 ) { - plstr = "???"; - } - var msg = "Macro call " + m + "(" + plstr + ") failed (" + Std.string(e) + ")"; - throw haxe_Exception.thrown(msg); - } - break; - } - } -}; -var haxe_ValueException = function(value,previous,native) { - haxe_Exception.call(this,String(value),previous,native); - this.value = value; -}; -haxe_ValueException.__name__ = true; -haxe_ValueException.__super__ = haxe_Exception; -haxe_ValueException.prototype = $extend(haxe_Exception.prototype,{ - unwrap: function() { - return this.value; - } -}); -var haxe_ds_List = function() { - this.length = 0; -}; -haxe_ds_List.__name__ = true; -haxe_ds_List.prototype = { - add: function(item) { - var x = new haxe_ds__$List_ListNode(item,null); - if(this.h == null) { - this.h = x; - } else { - this.q.next = x; - } - this.q = x; - this.length++; - } - ,push: function(item) { - var x = new haxe_ds__$List_ListNode(item,this.h); - this.h = x; - if(this.q == null) { - this.q = x; - } - this.length++; - } - ,first: function() { - if(this.h == null) { - return null; - } else { - return this.h.item; - } - } - ,pop: function() { - if(this.h == null) { - return null; - } - var x = this.h.item; - this.h = this.h.next; - if(this.h == null) { - this.q = null; - } - this.length--; - return x; - } - ,isEmpty: function() { - return this.h == null; - } - ,toString: function() { - var s_b = ""; - var first = true; - var l = this.h; - s_b += "{"; - while(l != null) { - if(first) { - first = false; - } else { - s_b += ", "; - } - s_b += Std.string(Std.string(l.item)); - l = l.next; - } - s_b += "}"; - return s_b; - } -}; -var haxe_ds__$List_ListNode = function(item,next) { - this.item = item; - this.next = next; -}; -haxe_ds__$List_ListNode.__name__ = true; -var js_Boot = function() { }; -js_Boot.__name__ = true; -js_Boot.__string_rec = function(o,s) { - if(o == null) { - return "null"; - } - if(s.length >= 5) { - return "<...>"; - } - var t = typeof(o); - if(t == "function" && (o.__name__ || o.__ename__)) { - t = "object"; - } - switch(t) { - case "function": - return ""; - case "object": - if(o.__enum__) { - var e = $hxEnums[o.__enum__]; - var con = e.__constructs__[o._hx_index]; - var n = con._hx_name; - if(con.__params__) { - s = s + "\t"; - return n + "(" + ((function($this) { - var $r; - var _g = []; - { - var _g1 = 0; - var _g2 = con.__params__; - while(true) { - if(!(_g1 < _g2.length)) { - break; - } - var p = _g2[_g1]; - _g1 = _g1 + 1; - _g.push(js_Boot.__string_rec(o[p],s)); - } - } - $r = _g; - return $r; - }(this))).join(",") + ")"; - } else { - return n; - } - } - if(((o) instanceof Array)) { - var str = "["; - s += "\t"; - var _g = 0; - var _g1 = o.length; - while(_g < _g1) { - var i = _g++; - str += (i > 0 ? "," : "") + js_Boot.__string_rec(o[i],s); - } - str += "]"; - return str; - } - var tostr; - try { - tostr = o.toString; - } catch( _g ) { - return "???"; - } - if(tostr != null && tostr != Object.toString && typeof(tostr) == "function") { - var s2 = o.toString(); - if(s2 != "[object Object]") { - return s2; - } - } - var str = "{\n"; - s += "\t"; - var hasp = o.hasOwnProperty != null; - var k = null; - for( k in o ) { - if(hasp && !o.hasOwnProperty(k)) { - continue; - } - if(k == "prototype" || k == "__class__" || k == "__super__" || k == "__interfaces__" || k == "__properties__") { - continue; - } - if(str.length != 2) { - str += ", \n"; - } - str += s + k + " : " + js_Boot.__string_rec(o[k],s); - } - s = s.substring(1); - str += "\n" + s + "}"; - return str; - case "string": - return o; - default: - return String(o); - } -}; -var xrfragment_Filter = $hx_exports["xrfragment"]["Filter"] = function(str) { - this.q = { }; - this.str = ""; - if(str != null) { - this.parse(str); - } -}; -xrfragment_Filter.__name__ = true; -xrfragment_Filter.prototype = { - toObject: function() { - return Reflect.copy(this.q); - } - ,get: function() { - return Reflect.copy(this.q); - } - ,parse: function(str) { - var token = str.split(" "); - var q = { }; - var process = function(str,prefix) { - if(prefix == null) { - prefix = ""; - } - str = StringTools.trim(str); - var k = str.split("=")[0]; - var v = str.split("=")[1]; - var filter = { }; - if(q[prefix + k]) { - filter = q[prefix + k]; - } - if(xrfragment_XRF.isProp.match(str)) { - var oper = ""; - if(str.indexOf(">") != -1) { - oper = ">"; - } - if(str.indexOf("<") != -1) { - oper = "<"; - } - if(xrfragment_XRF.isExclude.match(k)) { - k = HxOverrides.substr(k,1,null); - } - v = HxOverrides.substr(v,oper.length,null); - if(oper.length == 0) { - oper = "="; - } - var rule = { }; - if(xrfragment_XRF.isNumber.match(v)) { - rule[oper] = parseFloat(v); - } else { - rule[oper] = v; - } - q["expr"] = rule; - } - var value = xrfragment_XRF.isDeep.match(str) ? k.split("*").length - 1 : 0; - q["deep"] = value; - var value = xrfragment_XRF.isExclude.match(str) ? false : true; - q["show"] = value; - var value = k.replace(xrfragment_XRF.operators.r,""); - q["key"] = value; - q["value"] = v; - }; - var _g = 0; - var _g1 = token.length; - while(_g < _g1) { - var i = _g++; - process(token[i]); - } - return this.q = q; - } - ,test: function(obj) { - var qualify = false; - var _g = 0; - var _g1 = Reflect.fields(obj); - while(_g < _g1.length) { - var k = _g1[_g]; - ++_g; - var v = Std.string(Reflect.field(obj,k)); - if(this.testProperty(k,v)) { - qualify = true; - } - } - var _g = 0; - var _g1 = Reflect.fields(obj); - while(_g < _g1.length) { - var k = _g1[_g]; - ++_g; - var v = Std.string(Reflect.field(obj,k)); - if(this.testProperty(k,v,true)) { - qualify = false; - } - } - return qualify; - } - ,testProperty: function(property,value,exclude) { - var conds = 0; - var fails = 0; - var qualify = 0; - var testprop = function(expr) { - conds += 1; - fails += expr ? 0 : 1; - return expr; - }; - if(this.q[value] != null) { - var v = this.q[value]; - if(v[property] != null) { - return v[property]; - } - } - if(Reflect.field(this.q,"expr")) { - var f = Reflect.field(this.q,"expr"); - if(!Reflect.field(this.q,"show")) { - if(Reflect.field(f,"!=") != null && testprop((value == null ? "null" : "" + value) == Std.string(Reflect.field(f,"!="))) && exclude) { - ++qualify; - } - } else { - if(Reflect.field(f,"*") != null && testprop(parseFloat(value) != null)) { - ++qualify; - } - if(Reflect.field(f,">") != null && testprop(parseFloat(value) >= parseFloat(Reflect.field(f,">")))) { - ++qualify; - } - if(Reflect.field(f,"<") != null && testprop(parseFloat(value) <= parseFloat(Reflect.field(f,"<")))) { - ++qualify; - } - if(Reflect.field(f,"=") != null && (testprop(value == Reflect.field(f,"=")) || testprop(parseFloat(value) == parseFloat(Reflect.field(f,"="))))) { - ++qualify; - } - } - } - return qualify > 0; - } -}; -var xrfragment_Parser = $hx_exports["xrfragment"]["Parser"] = function() { }; -xrfragment_Parser.__name__ = true; -xrfragment_Parser.parse = function(key,value,store,index) { - var Frag_h = Object.create(null); - Frag_h["#"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_PREDEFINED_VIEW | xrfragment_XRF.PV_EXECUTE; - Frag_h["src"] = xrfragment_XRF.T_URL; - Frag_h["href"] = xrfragment_XRF.T_URL | xrfragment_XRF.T_PREDEFINED_VIEW; - Frag_h["tag"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["pos"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_VECTOR3 | xrfragment_XRF.T_STRING | xrfragment_XRF.METADATA | xrfragment_XRF.NAVIGATOR; - Frag_h["rot"] = xrfragment_XRF.QUERY_OPERATOR | xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_VECTOR3 | xrfragment_XRF.METADATA | xrfragment_XRF.NAVIGATOR; - Frag_h["t"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_FLOAT | xrfragment_XRF.T_VECTOR2 | xrfragment_XRF.NAVIGATOR | xrfragment_XRF.METADATA; - Frag_h["s"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_MEDIAFRAG; - Frag_h["loop"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_PREDEFINED_VIEW; - Frag_h["uv"] = xrfragment_XRF.T_VECTOR2 | xrfragment_XRF.T_MEDIAFRAG; - Frag_h["namespace"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["SPDX"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["unit"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["description"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - var keyStripped = key.replace(xrfragment_XRF.operators.r,""); - var isPVDynamic = key.length > 0 && !Object.prototype.hasOwnProperty.call(Frag_h,key); - if(isPVDynamic) { - var v = new xrfragment_XRF(key,xrfragment_XRF.PV_EXECUTE | xrfragment_XRF.NAVIGATOR,index); - v.validate(value); - v.flags = xrfragment_XRF.set(xrfragment_XRF.T_DYNAMICKEY,v.flags); - if(!Object.prototype.hasOwnProperty.call(Frag_h,key)) { - v.flags = xrfragment_XRF.set(xrfragment_XRF.CUSTOMFRAG,v.flags); - } - if(value.length == 0) { - v.flags = xrfragment_XRF.set(xrfragment_XRF.T_DYNAMICKEYVALUE,v.flags); - } - store[keyStripped] = v; - return true; - } - var v = new xrfragment_XRF(key,Frag_h[key],index); - if(Object.prototype.hasOwnProperty.call(Frag_h,key)) { - if(!v.validate(value)) { - console.log("src/xrfragment/Parser.hx:67:","⚠ fragment '" + key + "' has incompatible value (" + value + ")"); - return false; - } - store[keyStripped] = v; - if(xrfragment_Parser.debug) { - console.log("src/xrfragment/Parser.hx:71:","✔ " + key + ": " + v.string); - } - } else { - if(typeof(value) == "string") { - v.guessType(v,value); - } - v.flags = xrfragment_XRF.set(xrfragment_XRF.CUSTOMFRAG,v.flags); - store[keyStripped] = v; - } - return true; -}; -xrfragment_Parser.getMetaData = function() { - var meta = { title : ["title","og:title","dc.title"], description : ["aria-description","og:description","dc.description"], author : ["author","dc.creator"], publisher : ["publisher","dc.publisher"], website : ["og:site_name","og:url","dc.publisher"], license : ["SPDX","dc.rights"]}; - return meta; -}; -var xrfragment_URI = $hx_exports["xrfragment"]["URI"] = function() { - this.XRF = { }; - this.hash = { }; - this.fragment = ""; -}; -xrfragment_URI.__name__ = true; -xrfragment_URI.parseFragment = function(url,filter) { - var store = { }; - if(url == null || url.indexOf("#") == -1) { - return store; - } - var fragment = url.split("#"); - var splitArray = fragment[1].split("&"); - var _g = 0; - var _g1 = splitArray.length; - while(_g < _g1) { - var i = _g++; - var splitByEqual = splitArray[i].split("="); - var regexPlus = new EReg("\\+","g"); - var key = splitByEqual[0]; - var value = ""; - if(splitByEqual.length > 1) { - if(xrfragment_XRF.isVector.match(splitByEqual[1])) { - value = splitByEqual[1]; - } else { - var s = regexPlus.split(splitByEqual[1]).join(" "); - value = decodeURIComponent(s.split("+").join(" ")); - } - } - var ok = xrfragment_Parser.parse(key,value,store,i); - } - if(filter != null && filter != 0) { - var _g = 0; - var _g1 = Reflect.fields(store); - while(_g < _g1.length) { - var key = _g1[_g]; - ++_g; - var xrf = store[key]; - if(!xrf.is(filter)) { - Reflect.deleteField(store,key); - } - } - } - return store; -}; -xrfragment_URI.template = function(uri,vars) { - var parts = uri.split("#"); - if(parts.length == 1) { - return uri; - } - var frag = parts[1]; - frag = StringTools.replace(frag,"{","::"); - frag = StringTools.replace(frag,"}","::"); - frag = new haxe_Template(frag).execute(vars); - frag = StringTools.replace(frag,"null",""); - parts[1] = frag; - return parts.join("#"); -}; -xrfragment_URI.parse = function(stringUrl,flags) { - var r = new EReg("^(?:(?![^:@]+:[^:@/]*@)([^:/?#.]+):)?(?://)?((?:(([^:@]*)(?::([^:@]*))?)?@)?([^:/?#]*)(?::(\\d*))?)(((/(?:[^?#](?![^?#/]*\\.[^?#/.]+(?:[?#]|$)))*/?)?([^?#/]*))(?:\\?([^#]*))?(?:#(.*))?)",""); - if(stringUrl.indexOf("://") == -1 && stringUrl.charAt(0) != "/") { - stringUrl = "/" + stringUrl; - } - r.match(stringUrl); - var url = new xrfragment_URI(); - var _g = 0; - var _g1 = xrfragment_URI._parts.length; - while(_g < _g1) { - var i = _g++; - url[xrfragment_URI._parts[i]] = r.matched(i); - } - if(xrfragment_URI.isRelative(url) == true) { - if(url.directory == null && url.host != null) { - url.file = url.host; - } - url.host = ""; - } - url.hash = { }; - if(url.fragment != null && url.fragment.length > 0) { - url.XRF = xrfragment_URI.parseFragment("#" + url.fragment,flags); - var key; - var _g = 0; - var _g1 = Reflect.fields(url.XRF); - while(_g < _g1.length) { - var key = _g1[_g]; - ++_g; - var v = url.XRF[key]; - url.hash[key] = v["string"]; - } - } - xrfragment_URI.computeVars(url); - return url; -}; -xrfragment_URI.computeVars = function(url) { - var r_r = new RegExp("//","g".split("u").join("")); - if(url.directory != null && url.directory.indexOf("//") != -1) { - url.directory = url.directory.replace(r_r,"/"); - } - if(url.path != null && url.path.indexOf("//") != -1) { - url.path = url.path.replace(r_r,"/"); - } - if(url.file != null && url.file.indexOf("//") != -1) { - url.file = url.file.replace(r_r,"/"); - } - url.URN = url.scheme + "://" + url.host; - if(url.port != null) { - url.URN += ":" + url.port; - } - url.URN += url.directory; - if(url.file != null) { - var parts = url.file.split("."); - if(parts.length > 1) { - url.fileExt = parts.pop(); - } - } -}; -xrfragment_URI.toString = function(url) { - var result = ""; - if(url.scheme != null) { - result += url.scheme + "://"; - } - if(url.user != null) { - result += url.user + ":"; - } - if(url.password != null) { - result += url.password + "@"; - } - if(url.host != null) { - result += url.host; - } - if(url.port != null) { - result += ":" + url.port; - } - if(url.directory != null) { - result += url.directory; - } - if(url.file != null) { - result += url.file; - } - if(url.query != null) { - result += "?" + url.query; - } - if(url.fragment != null) { - result += "#" + url.fragment; - } - return result; -}; -xrfragment_URI.appendURI = function(url,appendedURI) { - if(xrfragment_URI.isRelative(url) == true) { - return xrfragment_URI.appendToRelativeURI(url,appendedURI); - } else { - return xrfragment_URI.appendToAbsoluteURI(url,appendedURI); - } -}; -xrfragment_URI.isRelative = function(url) { - return url.scheme == null; -}; -xrfragment_URI.appendToRelativeURI = function(url,appendedURI) { - if(url.directory == null || url.host == null) { - return xrfragment_URI.cloneURI(appendedURI); - } - var resultURI = new xrfragment_URI(); - resultURI.host = url.host; - resultURI.directory = url.directory; - if(appendedURI.host != null) { - resultURI.directory += appendedURI.host; - } - if(appendedURI.directory != null) { - var directory = appendedURI.directory; - if(appendedURI.host == null) { - resultURI.directory += HxOverrides.substr(directory,1,null); - } else { - resultURI.directory += directory; - } - } - if(appendedURI.file != null) { - resultURI.file = appendedURI.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(appendedURI.query != null) { - resultURI.query = appendedURI.query; - } - if(appendedURI.fragment != null) { - resultURI.fragment = appendedURI.fragment; - } - return resultURI; -}; -xrfragment_URI.appendToAbsoluteURI = function(url,appendedURI) { - var resultURI = new xrfragment_URI(); - if(url.scheme != null) { - resultURI.scheme = url.scheme; - } - if(url.host != null) { - resultURI.host = url.host; - } - var directory = ""; - if(url.directory != null) { - directory = url.directory; - } - if(appendedURI.host != null) { - appendedURI.directory += appendedURI.host; - } - if(appendedURI.directory != null) { - directory += appendedURI.directory; - } - resultURI.directory = directory; - if(appendedURI.file != null) { - resultURI.file = appendedURI.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(appendedURI.query != null) { - resultURI.query = appendedURI.query; - } - if(appendedURI.fragment != null) { - resultURI.fragment = appendedURI.fragment; - } - return resultURI; -}; -xrfragment_URI.toAbsolute = function(url,newUrl) { - var newURI = xrfragment_URI.parse(newUrl,0); - var resultURI = new xrfragment_URI(); - resultURI.port = url.port; - resultURI.source = newUrl; - if(newURI.scheme != null) { - resultURI.scheme = newURI.scheme; - } else { - resultURI.scheme = url.scheme; - } - if(newURI.host != null && newURI.host.length > 0) { - resultURI.host = newURI.host; - resultURI.port = null; - resultURI.fragment = null; - resultURI.hash = { }; - resultURI.XRF = { }; - if(newURI.port != null) { - resultURI.port = newURI.port; - } - } else { - resultURI.host = url.host; - } - var directory = ""; - if(url.directory != null) { - directory = url.directory; - } - if(newURI.directory != null) { - if(newUrl.charAt(0) != "/" && newUrl.indexOf("://") == -1) { - var stripRelative_r = new RegExp("\\./.*","".split("u").join("")); - directory = directory.replace(stripRelative_r,""); - directory += newURI.directory; - } else { - directory = newURI.directory; - } - } - resultURI.directory = directory; - if(newURI.file != null) { - resultURI.file = newURI.file; - } else { - resultURI.file = url.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(newURI.query != null) { - resultURI.query = newURI.query; - } - if(newURI.fragment != null) { - resultURI.fragment = newURI.fragment; - } - resultURI.hash = newURI.hash; - resultURI.XRF = newURI.XRF; - xrfragment_URI.computeVars(resultURI); - return resultURI; -}; -xrfragment_URI.cloneURI = function(url) { - var clonedURI = new xrfragment_URI(); - clonedURI.url = url.url; - clonedURI.source = url.source; - clonedURI.scheme = url.scheme; - clonedURI.authority = url.authority; - clonedURI.userInfo = url.userInfo; - clonedURI.password = url.password; - clonedURI.host = url.host; - clonedURI.port = url.port; - clonedURI.relative = url.relative; - clonedURI.path = url.path; - clonedURI.directory = url.directory; - clonedURI.file = url.file; - clonedURI.query = url.query; - clonedURI.fragment = url.fragment; - return clonedURI; -}; -var xrfragment_XRF = $hx_exports["xrfragment"]["XRF"] = function(_fragment,_flags,_index) { - this.floats = []; - this.shift = []; - this.fragment = _fragment; - this.flags = _flags; - this.index = _index; -}; -xrfragment_XRF.__name__ = true; -xrfragment_XRF.set = function(flag,flags) { - return flags | flag; -}; -xrfragment_XRF.unset = function(flag,flags) { - return flags & ~flag; -}; -xrfragment_XRF.prototype = { - is: function(flag) { - var v = this.flags; - if(!(typeof(v) == "number" && ((v | 0) === v))) { - this.flags = 0; - } - return (this.flags & flag) != 0; - } - ,validate: function(value) { - this.guessType(this,value); - var ok = true; - if(value.length == 0 && !this.is(xrfragment_XRF.T_PREDEFINED_VIEW)) { - ok = false; - } - if(!this.is(xrfragment_XRF.T_FLOAT) && this.is(xrfragment_XRF.T_VECTOR2) && !(typeof(this.x) == "number" && typeof(this.y) == "number")) { - ok = false; - } - if(!(this.is(xrfragment_XRF.T_VECTOR2) || this.is(xrfragment_XRF.T_STRING)) && this.is(xrfragment_XRF.T_VECTOR3) && !(typeof(this.x) == "number" && typeof(this.y) == "number" && typeof(this.z) == "number")) { - ok = false; - } - return ok; - } - ,guessType: function(v,str) { - v.string = str; - if(xrfragment_XRF.isReset.match(v.fragment)) { - v.reset = true; - } - if(v.fragment == "loop") { - v.loop = true; - } - if(typeof(str) != "string") { - return; - } - if(str.length > 0) { - if(xrfragment_XRF.isXRFScheme.match(str)) { - v.xrfScheme = true; - str = str.replace(xrfragment_XRF.isXRFScheme.r,""); - v.string = str; - } - if(str.split(",").length > 1) { - var xyzn = str.split(","); - if(xyzn.length > 0) { - v.x = parseFloat(xyzn[0]); - } - if(xyzn.length > 1) { - v.y = parseFloat(xyzn[1]); - } - if(xyzn.length > 2) { - v.z = parseFloat(xyzn[2]); - } - var _g = 0; - var _g1 = xyzn.length; - while(_g < _g1) { - var i = _g++; - v.shift.push(xrfragment_XRF.isShift.match(xyzn[i])); - v.floats.push(parseFloat(xyzn[i].replace(xrfragment_XRF.isShift.r,""))); - } - } - if(xrfragment_XRF.isColor.match(str)) { - v.color = str; - } - if(xrfragment_XRF.isFloat.match(str)) { - v.x = parseFloat(str); - v.float = v.x; - } - if(xrfragment_XRF.isInt.match(str)) { - v.int = Std.parseInt(str); - v.x = v.int; - v.floats.push(v.x); - } - v.filter = new xrfragment_Filter(v.fragment + "=" + v.string); - } else { - v.filter = new xrfragment_Filter(v.fragment); - } - } -}; -function $getIterator(o) { if( o instanceof Array ) return new haxe_iterators_ArrayIterator(o); else return o.iterator(); } -function $bind(o,m) { if( m == null ) return null; if( m.__id__ == null ) m.__id__ = $global.$haxeUID++; var f; if( o.hx__closures__ == null ) o.hx__closures__ = {}; else f = o.hx__closures__[m.__id__]; if( f == null ) { f = m.bind(o); o.hx__closures__[m.__id__] = f; } return f; } -$global.$haxeUID |= 0; -if(typeof(performance) != "undefined" ? typeof(performance.now) == "function" : false) { - HxOverrides.now = performance.now.bind(performance); -} -if( String.fromCodePoint == null ) String.fromCodePoint = function(c) { return c < 0x10000 ? String.fromCharCode(c) : String.fromCharCode((c>>10)+0xD7C0)+String.fromCharCode((c&0x3FF)+0xDC00); } -String.__name__ = true; -Array.__name__ = true; -js_Boot.__toStr = ({ }).toString; -haxe_Template.splitter = new EReg("(::[A-Za-z0-9_ ()&|!+=/><*.\"-]+::|\\$\\$([A-Za-z0-9_-]+)\\()",""); -haxe_Template.expr_splitter = new EReg("(\\(|\\)|[ \r\n\t]*\"[^\"]*\"[ \r\n\t]*|[!+=/><*.&|-]+)",""); -haxe_Template.expr_trim = new EReg("^[ ]*([^ ]+)[ ]*$",""); -haxe_Template.expr_int = new EReg("^[0-9]+$",""); -haxe_Template.expr_float = new EReg("^([+-]?)(?=\\d|,\\d)\\d*(,\\d*)?([Ee]([+-]?\\d+))?$",""); -haxe_Template.globals = { }; -haxe_Template.hxKeepArrayIterator = new haxe_iterators_ArrayIterator([]); -xrfragment_Parser.error = ""; -xrfragment_Parser.debug = false; -xrfragment_URI.__meta__ = { statics : { template : { keep : null}}}; -xrfragment_URI._parts = ["source","scheme","authority","userInfo","user","password","host","port","relative","path","directory","file","query","fragment"]; -xrfragment_XRF.IMMUTABLE = 1; -xrfragment_XRF.PROP_BIND = 2; -xrfragment_XRF.QUERY_OPERATOR = 4; -xrfragment_XRF.PROMPT = 8; -xrfragment_XRF.CUSTOMFRAG = 16; -xrfragment_XRF.NAVIGATOR = 32; -xrfragment_XRF.METADATA = 64; -xrfragment_XRF.PV_OVERRIDE = 128; -xrfragment_XRF.PV_EXECUTE = 256; -xrfragment_XRF.T_COLOR = 8192; -xrfragment_XRF.T_INT = 16384; -xrfragment_XRF.T_FLOAT = 32768; -xrfragment_XRF.T_VECTOR2 = 65536; -xrfragment_XRF.T_VECTOR3 = 131072; -xrfragment_XRF.T_URL = 262144; -xrfragment_XRF.T_PREDEFINED_VIEW = 524288; -xrfragment_XRF.T_STRING = 1048576; -xrfragment_XRF.T_MEDIAFRAG = 2097152; -xrfragment_XRF.T_DYNAMICKEY = 4194304; -xrfragment_XRF.T_DYNAMICKEYVALUE = 8388608; -xrfragment_XRF.isColor = new EReg("^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$",""); -xrfragment_XRF.isInt = new EReg("^[-0-9]+$",""); -xrfragment_XRF.isFloat = new EReg("^[-0-9]+\\.[0-9]+$",""); -xrfragment_XRF.isVector = new EReg("([,]+|\\w)",""); -xrfragment_XRF.isUrl = new EReg("(://)?\\..*",""); -xrfragment_XRF.isUrlOrPretypedView = new EReg("(^#|://)?\\..*",""); -xrfragment_XRF.isString = new EReg(".*",""); -xrfragment_XRF.operators = new EReg("(^[-]|^[!]|[\\*]$)","g"); -xrfragment_XRF.isProp = new EReg("^.*=[><=]?",""); -xrfragment_XRF.isExclude = new EReg("^-",""); -xrfragment_XRF.isDeep = new EReg("\\*",""); -xrfragment_XRF.isNumber = new EReg("^[0-9\\.]+$",""); -xrfragment_XRF.isMediaFrag = new EReg("^([0-9\\.,\\*+-]+)$",""); -xrfragment_XRF.isReset = new EReg("^!",""); -xrfragment_XRF.isShift = new EReg("^(\\+|--)",""); -xrfragment_XRF.isXRFScheme = new EReg("^xrf://",""); -})(typeof window != "undefined" ? window : typeof global != "undefined" ? global : typeof self != "undefined" ? self : this); -var xrfragment = $hx_exports["xrfragment"]; -export default xrfragment; -// Generated by Haxe 4.3.3 -var $hx_exports = typeof exports != "undefined" ? exports : typeof window != "undefined" ? window : typeof self != "undefined" ? self : this; -(function ($global) { "use strict"; -$hx_exports["xrfragment"] = $hx_exports["xrfragment"] || {}; -var $estr = function() { return js_Boot.__string_rec(this,''); },$hxEnums = $hxEnums || {},$_; -function $extend(from, fields) { - var proto = Object.create(from); - for (var name in fields) proto[name] = fields[name]; - if( fields.toString !== Object.prototype.toString ) proto.toString = fields.toString; - return proto; -} -var EReg = function(r,opt) { - this.r = new RegExp(r,opt.split("u").join("")); -}; -EReg.__name__ = true; -EReg.prototype = { - match: function(s) { - if(this.r.global) { - this.r.lastIndex = 0; - } - this.r.m = this.r.exec(s); - this.r.s = s; - return this.r.m != null; - } - ,matched: function(n) { - if(this.r.m != null && n >= 0 && n < this.r.m.length) { - return this.r.m[n]; - } else { - throw haxe_Exception.thrown("EReg::matched"); - } - } - ,matchedRight: function() { - if(this.r.m == null) { - throw haxe_Exception.thrown("No string matched"); - } - var sz = this.r.m.index + this.r.m[0].length; - return HxOverrides.substr(this.r.s,sz,this.r.s.length - sz); - } - ,matchedPos: function() { - if(this.r.m == null) { - throw haxe_Exception.thrown("No string matched"); - } - return { pos : this.r.m.index, len : this.r.m[0].length}; - } - ,split: function(s) { - var d = "#__delim__#"; - return s.replace(this.r,d).split(d); - } -}; -var HxOverrides = function() { }; -HxOverrides.__name__ = true; -HxOverrides.cca = function(s,index) { - var x = s.charCodeAt(index); - if(x != x) { - return undefined; - } - return x; -}; -HxOverrides.substr = function(s,pos,len) { - if(len == null) { - len = s.length; - } else if(len < 0) { - if(pos == 0) { - len = s.length + len; - } else { - return ""; - } - } - return s.substr(pos,len); -}; -HxOverrides.now = function() { - return Date.now(); -}; -Math.__name__ = true; -var Reflect = function() { }; -Reflect.__name__ = true; -Reflect.field = function(o,field) { - try { - return o[field]; - } catch( _g ) { - return null; - } -}; -Reflect.getProperty = function(o,field) { - var tmp; - if(o == null) { - return null; - } else { - var tmp1; - if(o.__properties__) { - tmp = o.__properties__["get_" + field]; - tmp1 = tmp; - } else { - tmp1 = false; - } - if(tmp1) { - return o[tmp](); - } else { - return o[field]; - } - } -}; -Reflect.fields = function(o) { - var a = []; - if(o != null) { - var hasOwnProperty = Object.prototype.hasOwnProperty; - for( var f in o ) { - if(f != "__id__" && f != "hx__closures__" && hasOwnProperty.call(o,f)) { - a.push(f); - } - } - } - return a; -}; -Reflect.isObject = function(v) { - if(v == null) { - return false; - } - var t = typeof(v); - if(!(t == "string" || t == "object" && v.__enum__ == null)) { - if(t == "function") { - return (v.__name__ || v.__ename__) != null; - } else { - return false; - } - } else { - return true; - } -}; -Reflect.deleteField = function(o,field) { - if(!Object.prototype.hasOwnProperty.call(o,field)) { - return false; - } - delete(o[field]); - return true; -}; -Reflect.copy = function(o) { - if(o == null) { - return null; - } - var o2 = { }; - var _g = 0; - var _g1 = Reflect.fields(o); - while(_g < _g1.length) { - var f = _g1[_g]; - ++_g; - o2[f] = Reflect.field(o,f); - } - return o2; -}; -var Std = function() { }; -Std.__name__ = true; -Std.string = function(s) { - return js_Boot.__string_rec(s,""); -}; -Std.parseInt = function(x) { - var v = parseInt(x); - if(isNaN(v)) { - return null; - } - return v; -}; -var StringBuf = function() { - this.b = ""; -}; -StringBuf.__name__ = true; -var StringTools = function() { }; -StringTools.__name__ = true; -StringTools.isSpace = function(s,pos) { - var c = HxOverrides.cca(s,pos); - if(!(c > 8 && c < 14)) { - return c == 32; - } else { - return true; - } -}; -StringTools.ltrim = function(s) { - var l = s.length; - var r = 0; - while(r < l && StringTools.isSpace(s,r)) ++r; - if(r > 0) { - return HxOverrides.substr(s,r,l - r); - } else { - return s; - } -}; -StringTools.rtrim = function(s) { - var l = s.length; - var r = 0; - while(r < l && StringTools.isSpace(s,l - r - 1)) ++r; - if(r > 0) { - return HxOverrides.substr(s,0,l - r); - } else { - return s; - } -}; -StringTools.trim = function(s) { - return StringTools.ltrim(StringTools.rtrim(s)); -}; -StringTools.replace = function(s,sub,by) { - return s.split(sub).join(by); -}; -var haxe_Exception = function(message,previous,native) { - Error.call(this,message); - this.message = message; - this.__previousException = previous; - this.__nativeException = native != null ? native : this; -}; -haxe_Exception.__name__ = true; -haxe_Exception.caught = function(value) { - if(((value) instanceof haxe_Exception)) { - return value; - } else if(((value) instanceof Error)) { - return new haxe_Exception(value.message,null,value); - } else { - return new haxe_ValueException(value,null,value); - } -}; -haxe_Exception.thrown = function(value) { - if(((value) instanceof haxe_Exception)) { - return value.get_native(); - } else if(((value) instanceof Error)) { - return value; - } else { - var e = new haxe_ValueException(value); - return e; - } -}; -haxe_Exception.__super__ = Error; -haxe_Exception.prototype = $extend(Error.prototype,{ - unwrap: function() { - return this.__nativeException; - } - ,get_native: function() { - return this.__nativeException; - } - ,__properties__: {get_native:"get_native"} -}); -var haxe__$Template_TemplateExpr = $hxEnums["haxe._Template.TemplateExpr"] = { __ename__:true,__constructs__:null - ,OpVar: ($_=function(v) { return {_hx_index:0,v:v,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpVar",$_.__params__ = ["v"],$_) - ,OpExpr: ($_=function(expr) { return {_hx_index:1,expr:expr,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpExpr",$_.__params__ = ["expr"],$_) - ,OpIf: ($_=function(expr,eif,eelse) { return {_hx_index:2,expr:expr,eif:eif,eelse:eelse,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpIf",$_.__params__ = ["expr","eif","eelse"],$_) - ,OpStr: ($_=function(str) { return {_hx_index:3,str:str,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpStr",$_.__params__ = ["str"],$_) - ,OpBlock: ($_=function(l) { return {_hx_index:4,l:l,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpBlock",$_.__params__ = ["l"],$_) - ,OpForeach: ($_=function(expr,loop) { return {_hx_index:5,expr:expr,loop:loop,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpForeach",$_.__params__ = ["expr","loop"],$_) - ,OpMacro: ($_=function(name,params) { return {_hx_index:6,name:name,params:params,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpMacro",$_.__params__ = ["name","params"],$_) -}; -haxe__$Template_TemplateExpr.__constructs__ = [haxe__$Template_TemplateExpr.OpVar,haxe__$Template_TemplateExpr.OpExpr,haxe__$Template_TemplateExpr.OpIf,haxe__$Template_TemplateExpr.OpStr,haxe__$Template_TemplateExpr.OpBlock,haxe__$Template_TemplateExpr.OpForeach,haxe__$Template_TemplateExpr.OpMacro]; -var haxe_iterators_ArrayIterator = function(array) { - this.current = 0; - this.array = array; -}; -haxe_iterators_ArrayIterator.__name__ = true; -haxe_iterators_ArrayIterator.prototype = { - hasNext: function() { - return this.current < this.array.length; - } - ,next: function() { - return this.array[this.current++]; - } -}; -var haxe_Template = function(str) { - var tokens = this.parseTokens(str); - this.expr = this.parseBlock(tokens); - if(!tokens.isEmpty()) { - throw haxe_Exception.thrown("Unexpected '" + Std.string(tokens.first().s) + "'"); - } -}; -haxe_Template.__name__ = true; -haxe_Template.prototype = { - execute: function(context,macros) { - this.macros = macros == null ? { } : macros; - this.context = context; - this.stack = new haxe_ds_List(); - this.buf = new StringBuf(); - this.run(this.expr); - return this.buf.b; - } - ,resolve: function(v) { - if(v == "__current__") { - return this.context; - } - if(Reflect.isObject(this.context)) { - var value = Reflect.getProperty(this.context,v); - if(value != null || Object.prototype.hasOwnProperty.call(this.context,v)) { - return value; - } - } - var _g_head = this.stack.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var ctx = val; - var value = Reflect.getProperty(ctx,v); - if(value != null || Object.prototype.hasOwnProperty.call(ctx,v)) { - return value; - } - } - return Reflect.field(haxe_Template.globals,v); - } - ,parseTokens: function(data) { - var tokens = new haxe_ds_List(); - while(haxe_Template.splitter.match(data)) { - var p = haxe_Template.splitter.matchedPos(); - if(p.pos > 0) { - tokens.add({ p : HxOverrides.substr(data,0,p.pos), s : true, l : null}); - } - if(HxOverrides.cca(data,p.pos) == 58) { - tokens.add({ p : HxOverrides.substr(data,p.pos + 2,p.len - 4), s : false, l : null}); - data = haxe_Template.splitter.matchedRight(); - continue; - } - var parp = p.pos + p.len; - var npar = 1; - var params = []; - var part = ""; - while(true) { - var c = HxOverrides.cca(data,parp); - ++parp; - if(c == 40) { - ++npar; - } else if(c == 41) { - --npar; - if(npar <= 0) { - break; - } - } else if(c == null) { - throw haxe_Exception.thrown("Unclosed macro parenthesis"); - } - if(c == 44 && npar == 1) { - params.push(part); - part = ""; - } else { - part += String.fromCodePoint(c); - } - } - params.push(part); - tokens.add({ p : haxe_Template.splitter.matched(2), s : false, l : params}); - data = HxOverrides.substr(data,parp,data.length - parp); - } - if(data.length > 0) { - tokens.add({ p : data, s : true, l : null}); - } - return tokens; - } - ,parseBlock: function(tokens) { - var l = new haxe_ds_List(); - while(true) { - var t = tokens.first(); - if(t == null) { - break; - } - if(!t.s && (t.p == "end" || t.p == "else" || HxOverrides.substr(t.p,0,7) == "elseif ")) { - break; - } - l.add(this.parse(tokens)); - } - if(l.length == 1) { - return l.first(); - } - return haxe__$Template_TemplateExpr.OpBlock(l); - } - ,parse: function(tokens) { - var t = tokens.pop(); - var p = t.p; - if(t.s) { - return haxe__$Template_TemplateExpr.OpStr(p); - } - if(t.l != null) { - var pe = new haxe_ds_List(); - var _g = 0; - var _g1 = t.l; - while(_g < _g1.length) { - var p1 = _g1[_g]; - ++_g; - pe.add(this.parseBlock(this.parseTokens(p1))); - } - return haxe__$Template_TemplateExpr.OpMacro(p,pe); - } - var kwdEnd = function(kwd) { - var pos = -1; - var length = kwd.length; - if(HxOverrides.substr(p,0,length) == kwd) { - pos = length; - var _g_offset = 0; - var _g_s = HxOverrides.substr(p,length,null); - while(_g_offset < _g_s.length) { - var c = _g_s.charCodeAt(_g_offset++); - if(c == 32) { - ++pos; - } else { - break; - } - } - } - return pos; - }; - var pos = kwdEnd("if"); - if(pos > 0) { - p = HxOverrides.substr(p,pos,p.length - pos); - var e = this.parseExpr(p); - var eif = this.parseBlock(tokens); - var t = tokens.first(); - var eelse; - if(t == null) { - throw haxe_Exception.thrown("Unclosed 'if'"); - } - if(t.p == "end") { - tokens.pop(); - eelse = null; - } else if(t.p == "else") { - tokens.pop(); - eelse = this.parseBlock(tokens); - t = tokens.pop(); - if(t == null || t.p != "end") { - throw haxe_Exception.thrown("Unclosed 'else'"); - } - } else { - t.p = HxOverrides.substr(t.p,4,t.p.length - 4); - eelse = this.parse(tokens); - } - return haxe__$Template_TemplateExpr.OpIf(e,eif,eelse); - } - var pos = kwdEnd("foreach"); - if(pos >= 0) { - p = HxOverrides.substr(p,pos,p.length - pos); - var e = this.parseExpr(p); - var efor = this.parseBlock(tokens); - var t = tokens.pop(); - if(t == null || t.p != "end") { - throw haxe_Exception.thrown("Unclosed 'foreach'"); - } - return haxe__$Template_TemplateExpr.OpForeach(e,efor); - } - if(haxe_Template.expr_splitter.match(p)) { - return haxe__$Template_TemplateExpr.OpExpr(this.parseExpr(p)); - } - return haxe__$Template_TemplateExpr.OpVar(p); - } - ,parseExpr: function(data) { - var l = new haxe_ds_List(); - var expr = data; - while(haxe_Template.expr_splitter.match(data)) { - var p = haxe_Template.expr_splitter.matchedPos(); - var k = p.pos + p.len; - if(p.pos != 0) { - l.add({ p : HxOverrides.substr(data,0,p.pos), s : true}); - } - var p1 = haxe_Template.expr_splitter.matched(0); - l.add({ p : p1, s : p1.indexOf("\"") >= 0}); - data = haxe_Template.expr_splitter.matchedRight(); - } - if(data.length != 0) { - var _g_offset = 0; - var _g_s = data; - while(_g_offset < _g_s.length) { - var _g_key = _g_offset; - var _g_value = _g_s.charCodeAt(_g_offset++); - var i = _g_key; - var c = _g_value; - if(c != 32) { - l.add({ p : HxOverrides.substr(data,i,null), s : true}); - break; - } - } - } - var e; - try { - e = this.makeExpr(l); - if(!l.isEmpty()) { - throw haxe_Exception.thrown(l.first().p); - } - } catch( _g ) { - var _g1 = haxe_Exception.caught(_g).unwrap(); - if(typeof(_g1) == "string") { - var s = _g1; - throw haxe_Exception.thrown("Unexpected '" + s + "' in " + expr); - } else { - throw _g; - } - } - return function() { - try { - return e(); - } catch( _g ) { - var exc = haxe_Exception.caught(_g).unwrap(); - throw haxe_Exception.thrown("Error : " + Std.string(exc) + " in " + expr); - } - }; - } - ,makeConst: function(v) { - haxe_Template.expr_trim.match(v); - v = haxe_Template.expr_trim.matched(1); - if(HxOverrides.cca(v,0) == 34) { - var str = HxOverrides.substr(v,1,v.length - 2); - return function() { - return str; - }; - } - if(haxe_Template.expr_int.match(v)) { - var i = Std.parseInt(v); - return function() { - return i; - }; - } - if(haxe_Template.expr_float.match(v)) { - var f = parseFloat(v); - return function() { - return f; - }; - } - var me = this; - return function() { - return me.resolve(v); - }; - } - ,makePath: function(e,l) { - var p = l.first(); - if(p == null || p.p != ".") { - return e; - } - l.pop(); - var field = l.pop(); - if(field == null || !field.s) { - throw haxe_Exception.thrown(field.p); - } - var f = field.p; - haxe_Template.expr_trim.match(f); - f = haxe_Template.expr_trim.matched(1); - return this.makePath(function() { - return Reflect.field(e(),f); - },l); - } - ,makeExpr: function(l) { - return this.makePath(this.makeExpr2(l),l); - } - ,skipSpaces: function(l) { - var p = l.first(); - while(p != null) { - var _g_offset = 0; - var _g_s = p.p; - while(_g_offset < _g_s.length) { - var c = _g_s.charCodeAt(_g_offset++); - if(c != 32) { - return; - } - } - l.pop(); - p = l.first(); - } - } - ,makeExpr2: function(l) { - this.skipSpaces(l); - var p = l.pop(); - this.skipSpaces(l); - if(p == null) { - throw haxe_Exception.thrown(""); - } - if(p.s) { - return this.makeConst(p.p); - } - switch(p.p) { - case "!": - var e = this.makeExpr(l); - return function() { - var v = e(); - if(v != null) { - return v == false; - } else { - return true; - } - }; - case "(": - this.skipSpaces(l); - var e1 = this.makeExpr(l); - this.skipSpaces(l); - var p1 = l.pop(); - if(p1 == null || p1.s) { - throw haxe_Exception.thrown(p1); - } - if(p1.p == ")") { - return e1; - } - this.skipSpaces(l); - var e2 = this.makeExpr(l); - this.skipSpaces(l); - var p2 = l.pop(); - this.skipSpaces(l); - if(p2 == null || p2.p != ")") { - throw haxe_Exception.thrown(p2); - } - switch(p1.p) { - case "!=": - return function() { - return e1() != e2(); - }; - case "&&": - return function() { - return e1() && e2(); - }; - case "*": - return function() { - return e1() * e2(); - }; - case "+": - return function() { - return e1() + e2(); - }; - case "-": - return function() { - return e1() - e2(); - }; - case "/": - return function() { - return e1() / e2(); - }; - case "<": - return function() { - return e1() < e2(); - }; - case "<=": - return function() { - return e1() <= e2(); - }; - case "==": - return function() { - return e1() == e2(); - }; - case ">": - return function() { - return e1() > e2(); - }; - case ">=": - return function() { - return e1() >= e2(); - }; - case "||": - return function() { - return e1() || e2(); - }; - default: - throw haxe_Exception.thrown("Unknown operation " + p1.p); - } - break; - case "-": - var e3 = this.makeExpr(l); - return function() { - return -e3(); - }; - } - throw haxe_Exception.thrown(p.p); - } - ,run: function(e) { - switch(e._hx_index) { - case 0: - var v = e.v; - var _this = this.buf; - var x = Std.string(this.resolve(v)); - _this.b += Std.string(x); - break; - case 1: - var e1 = e.expr; - var _this = this.buf; - var x = Std.string(e1()); - _this.b += Std.string(x); - break; - case 2: - var e1 = e.expr; - var eif = e.eif; - var eelse = e.eelse; - var v = e1(); - if(v == null || v == false) { - if(eelse != null) { - this.run(eelse); - } - } else { - this.run(eif); - } - break; - case 3: - var str = e.str; - this.buf.b += str == null ? "null" : "" + str; - break; - case 4: - var l = e.l; - var _g_head = l.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var e1 = val; - this.run(e1); - } - break; - case 5: - var e1 = e.expr; - var loop = e.loop; - var v = e1(); - try { - var x = $getIterator(v); - if(x.hasNext == null) { - throw haxe_Exception.thrown(null); - } - v = x; - } catch( _g ) { - try { - if(v.hasNext == null) { - throw haxe_Exception.thrown(null); - } - } catch( _g1 ) { - throw haxe_Exception.thrown("Cannot iter on " + Std.string(v)); - } - } - this.stack.push(this.context); - var v1 = v; - var ctx = v1; - while(ctx.hasNext()) { - var ctx1 = ctx.next(); - this.context = ctx1; - this.run(loop); - } - this.context = this.stack.pop(); - break; - case 6: - var m = e.name; - var params = e.params; - var v = Reflect.field(this.macros,m); - var pl = []; - var old = this.buf; - pl.push($bind(this,this.resolve)); - var _g_head = params.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var p = val; - if(p._hx_index == 0) { - var v1 = p.v; - pl.push(this.resolve(v1)); - } else { - this.buf = new StringBuf(); - this.run(p); - pl.push(this.buf.b); - } - } - this.buf = old; - try { - var _this = this.buf; - var x = Std.string(v.apply(this.macros,pl)); - _this.b += Std.string(x); - } catch( _g ) { - var e = haxe_Exception.caught(_g).unwrap(); - var plstr; - try { - plstr = pl.join(","); - } catch( _g1 ) { - plstr = "???"; - } - var msg = "Macro call " + m + "(" + plstr + ") failed (" + Std.string(e) + ")"; - throw haxe_Exception.thrown(msg); - } - break; - } - } -}; -var haxe_ValueException = function(value,previous,native) { - haxe_Exception.call(this,String(value),previous,native); - this.value = value; -}; -haxe_ValueException.__name__ = true; -haxe_ValueException.__super__ = haxe_Exception; -haxe_ValueException.prototype = $extend(haxe_Exception.prototype,{ - unwrap: function() { - return this.value; - } -}); -var haxe_ds_List = function() { - this.length = 0; -}; -haxe_ds_List.__name__ = true; -haxe_ds_List.prototype = { - add: function(item) { - var x = new haxe_ds__$List_ListNode(item,null); - if(this.h == null) { - this.h = x; - } else { - this.q.next = x; - } - this.q = x; - this.length++; - } - ,push: function(item) { - var x = new haxe_ds__$List_ListNode(item,this.h); - this.h = x; - if(this.q == null) { - this.q = x; - } - this.length++; - } - ,first: function() { - if(this.h == null) { - return null; - } else { - return this.h.item; - } - } - ,pop: function() { - if(this.h == null) { - return null; - } - var x = this.h.item; - this.h = this.h.next; - if(this.h == null) { - this.q = null; - } - this.length--; - return x; - } - ,isEmpty: function() { - return this.h == null; - } - ,toString: function() { - var s_b = ""; - var first = true; - var l = this.h; - s_b += "{"; - while(l != null) { - if(first) { - first = false; - } else { - s_b += ", "; - } - s_b += Std.string(Std.string(l.item)); - l = l.next; - } - s_b += "}"; - return s_b; - } -}; -var haxe_ds__$List_ListNode = function(item,next) { - this.item = item; - this.next = next; -}; -haxe_ds__$List_ListNode.__name__ = true; -var js_Boot = function() { }; -js_Boot.__name__ = true; -js_Boot.__string_rec = function(o,s) { - if(o == null) { - return "null"; - } - if(s.length >= 5) { - return "<...>"; - } - var t = typeof(o); - if(t == "function" && (o.__name__ || o.__ename__)) { - t = "object"; - } - switch(t) { - case "function": - return ""; - case "object": - if(o.__enum__) { - var e = $hxEnums[o.__enum__]; - var con = e.__constructs__[o._hx_index]; - var n = con._hx_name; - if(con.__params__) { - s = s + "\t"; - return n + "(" + ((function($this) { - var $r; - var _g = []; - { - var _g1 = 0; - var _g2 = con.__params__; - while(true) { - if(!(_g1 < _g2.length)) { - break; - } - var p = _g2[_g1]; - _g1 = _g1 + 1; - _g.push(js_Boot.__string_rec(o[p],s)); - } - } - $r = _g; - return $r; - }(this))).join(",") + ")"; - } else { - return n; - } - } - if(((o) instanceof Array)) { - var str = "["; - s += "\t"; - var _g = 0; - var _g1 = o.length; - while(_g < _g1) { - var i = _g++; - str += (i > 0 ? "," : "") + js_Boot.__string_rec(o[i],s); - } - str += "]"; - return str; - } - var tostr; - try { - tostr = o.toString; - } catch( _g ) { - return "???"; - } - if(tostr != null && tostr != Object.toString && typeof(tostr) == "function") { - var s2 = o.toString(); - if(s2 != "[object Object]") { - return s2; - } - } - var str = "{\n"; - s += "\t"; - var hasp = o.hasOwnProperty != null; - var k = null; - for( k in o ) { - if(hasp && !o.hasOwnProperty(k)) { - continue; - } - if(k == "prototype" || k == "__class__" || k == "__super__" || k == "__interfaces__" || k == "__properties__") { - continue; - } - if(str.length != 2) { - str += ", \n"; - } - str += s + k + " : " + js_Boot.__string_rec(o[k],s); - } - s = s.substring(1); - str += "\n" + s + "}"; - return str; - case "string": - return o; - default: - return String(o); - } -}; -var xrfragment_Filter = $hx_exports["xrfragment"]["Filter"] = function(str) { - this.q = { }; - this.str = ""; - if(str != null) { - this.parse(str); - } -}; -xrfragment_Filter.__name__ = true; -xrfragment_Filter.prototype = { - toObject: function() { - return Reflect.copy(this.q); - } - ,get: function() { - return Reflect.copy(this.q); - } - ,parse: function(str) { - var token = str.split(" "); - var q = { }; - var process = function(str,prefix) { - if(prefix == null) { - prefix = ""; - } - str = StringTools.trim(str); - var k = str.split("=")[0]; - var v = str.split("=")[1]; - var filter = { }; - if(q[prefix + k]) { - filter = q[prefix + k]; - } - if(xrfragment_XRF.isProp.match(str)) { - var oper = ""; - if(str.indexOf(">") != -1) { - oper = ">"; - } - if(str.indexOf("<") != -1) { - oper = "<"; - } - if(xrfragment_XRF.isExclude.match(k)) { - k = HxOverrides.substr(k,1,null); - } - v = HxOverrides.substr(v,oper.length,null); - if(oper.length == 0) { - oper = "="; - } - var rule = { }; - if(xrfragment_XRF.isNumber.match(v)) { - rule[oper] = parseFloat(v); - } else { - rule[oper] = v; - } - q["expr"] = rule; - } - var value = xrfragment_XRF.isDeep.match(str) ? k.split("*").length - 1 : 0; - q["deep"] = value; - var value = xrfragment_XRF.isExclude.match(str) ? false : true; - q["show"] = value; - var value = k.replace(xrfragment_XRF.operators.r,""); - q["key"] = value; - q["value"] = v; - }; - var _g = 0; - var _g1 = token.length; - while(_g < _g1) { - var i = _g++; - process(token[i]); - } - return this.q = q; - } - ,test: function(obj) { - var qualify = false; - var _g = 0; - var _g1 = Reflect.fields(obj); - while(_g < _g1.length) { - var k = _g1[_g]; - ++_g; - var v = Std.string(Reflect.field(obj,k)); - if(this.testProperty(k,v)) { - qualify = true; - } - } - var _g = 0; - var _g1 = Reflect.fields(obj); - while(_g < _g1.length) { - var k = _g1[_g]; - ++_g; - var v = Std.string(Reflect.field(obj,k)); - if(this.testProperty(k,v,true)) { - qualify = false; - } - } - return qualify; - } - ,testProperty: function(property,value,exclude) { - var conds = 0; - var fails = 0; - var qualify = 0; - var testprop = function(expr) { - conds += 1; - fails += expr ? 0 : 1; - return expr; - }; - if(this.q[value] != null) { - var v = this.q[value]; - if(v[property] != null) { - return v[property]; - } - } - if(Reflect.field(this.q,"expr")) { - var f = Reflect.field(this.q,"expr"); - if(!Reflect.field(this.q,"show")) { - if(Reflect.field(f,"!=") != null && testprop((value == null ? "null" : "" + value) == Std.string(Reflect.field(f,"!="))) && exclude) { - ++qualify; - } - } else { - if(Reflect.field(f,"*") != null && testprop(parseFloat(value) != null)) { - ++qualify; - } - if(Reflect.field(f,">") != null && testprop(parseFloat(value) >= parseFloat(Reflect.field(f,">")))) { - ++qualify; - } - if(Reflect.field(f,"<") != null && testprop(parseFloat(value) <= parseFloat(Reflect.field(f,"<")))) { - ++qualify; - } - if(Reflect.field(f,"=") != null && (testprop(value == Reflect.field(f,"=")) || testprop(parseFloat(value) == parseFloat(Reflect.field(f,"="))))) { - ++qualify; - } - } - } - return qualify > 0; - } -}; -var xrfragment_Parser = $hx_exports["xrfragment"]["Parser"] = function() { }; -xrfragment_Parser.__name__ = true; -xrfragment_Parser.parse = function(key,value,store,index) { - var Frag_h = Object.create(null); - Frag_h["#"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_PREDEFINED_VIEW | xrfragment_XRF.PV_EXECUTE; - Frag_h["src"] = xrfragment_XRF.T_URL; - Frag_h["href"] = xrfragment_XRF.T_URL | xrfragment_XRF.T_PREDEFINED_VIEW; - Frag_h["tag"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["pos"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_VECTOR3 | xrfragment_XRF.T_STRING | xrfragment_XRF.METADATA | xrfragment_XRF.NAVIGATOR; - Frag_h["rot"] = xrfragment_XRF.QUERY_OPERATOR | xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_VECTOR3 | xrfragment_XRF.METADATA | xrfragment_XRF.NAVIGATOR; - Frag_h["t"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_FLOAT | xrfragment_XRF.T_VECTOR2 | xrfragment_XRF.NAVIGATOR | xrfragment_XRF.METADATA; - Frag_h["s"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_MEDIAFRAG; - Frag_h["loop"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_PREDEFINED_VIEW; - Frag_h["uv"] = xrfragment_XRF.T_VECTOR2 | xrfragment_XRF.T_MEDIAFRAG; - Frag_h["namespace"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["SPDX"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["unit"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["description"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - var keyStripped = key.replace(xrfragment_XRF.operators.r,""); - var isPVDynamic = key.length > 0 && !Object.prototype.hasOwnProperty.call(Frag_h,key); - if(isPVDynamic) { - var v = new xrfragment_XRF(key,xrfragment_XRF.PV_EXECUTE | xrfragment_XRF.NAVIGATOR,index); - v.validate(value); - v.flags = xrfragment_XRF.set(xrfragment_XRF.T_DYNAMICKEY,v.flags); - if(!Object.prototype.hasOwnProperty.call(Frag_h,key)) { - v.flags = xrfragment_XRF.set(xrfragment_XRF.CUSTOMFRAG,v.flags); - } - if(value.length == 0) { - v.flags = xrfragment_XRF.set(xrfragment_XRF.T_DYNAMICKEYVALUE,v.flags); - } - store[keyStripped] = v; - return true; - } - var v = new xrfragment_XRF(key,Frag_h[key],index); - if(Object.prototype.hasOwnProperty.call(Frag_h,key)) { - if(!v.validate(value)) { - console.log("src/xrfragment/Parser.hx:67:","⚠ fragment '" + key + "' has incompatible value (" + value + ")"); - return false; - } - store[keyStripped] = v; - if(xrfragment_Parser.debug) { - console.log("src/xrfragment/Parser.hx:71:","✔ " + key + ": " + v.string); - } - } else { - if(typeof(value) == "string") { - v.guessType(v,value); - } - v.flags = xrfragment_XRF.set(xrfragment_XRF.CUSTOMFRAG,v.flags); - store[keyStripped] = v; - } - return true; -}; -xrfragment_Parser.getMetaData = function() { - var meta = { title : ["title","og:title","dc.title"], description : ["aria-description","og:description","dc.description"], author : ["author","dc.creator"], publisher : ["publisher","dc.publisher"], website : ["og:site_name","og:url","dc.publisher"], license : ["SPDX","dc.rights"]}; - return meta; -}; -var xrfragment_URI = $hx_exports["xrfragment"]["URI"] = function() { - this.XRF = { }; - this.hash = { }; - this.fragment = ""; -}; -xrfragment_URI.__name__ = true; -xrfragment_URI.parseFragment = function(url,filter) { - var store = { }; - if(url == null || url.indexOf("#") == -1) { - return store; - } - var fragment = url.split("#"); - var splitArray = fragment[1].split("&"); - var _g = 0; - var _g1 = splitArray.length; - while(_g < _g1) { - var i = _g++; - var splitByEqual = splitArray[i].split("="); - var regexPlus = new EReg("\\+","g"); - var key = splitByEqual[0]; - var value = ""; - if(splitByEqual.length > 1) { - if(xrfragment_XRF.isVector.match(splitByEqual[1])) { - value = splitByEqual[1]; - } else { - var s = regexPlus.split(splitByEqual[1]).join(" "); - value = decodeURIComponent(s.split("+").join(" ")); - } - } - var ok = xrfragment_Parser.parse(key,value,store,i); - } - if(filter != null && filter != 0) { - var _g = 0; - var _g1 = Reflect.fields(store); - while(_g < _g1.length) { - var key = _g1[_g]; - ++_g; - var xrf = store[key]; - if(!xrf.is(filter)) { - Reflect.deleteField(store,key); - } - } - } - return store; -}; -xrfragment_URI.template = function(uri,vars) { - var parts = uri.split("#"); - if(parts.length == 1) { - return uri; - } - var frag = parts[1]; - frag = StringTools.replace(frag,"{","::"); - frag = StringTools.replace(frag,"}","::"); - frag = new haxe_Template(frag).execute(vars); - frag = StringTools.replace(frag,"null",""); - parts[1] = frag; - return parts.join("#"); -}; -xrfragment_URI.parse = function(stringUrl,flags) { - var r = new EReg("^(?:(?![^:@]+:[^:@/]*@)([^:/?#.]+):)?(?://)?((?:(([^:@]*)(?::([^:@]*))?)?@)?([^:/?#]*)(?::(\\d*))?)(((/(?:[^?#](?![^?#/]*\\.[^?#/.]+(?:[?#]|$)))*/?)?([^?#/]*))(?:\\?([^#]*))?(?:#(.*))?)",""); - if(stringUrl.indexOf("://") == -1 && stringUrl.charAt(0) != "/") { - stringUrl = "/" + stringUrl; - } - r.match(stringUrl); - var url = new xrfragment_URI(); - var _g = 0; - var _g1 = xrfragment_URI._parts.length; - while(_g < _g1) { - var i = _g++; - url[xrfragment_URI._parts[i]] = r.matched(i); - } - if(xrfragment_URI.isRelative(url) == true) { - if(url.directory == null && url.host != null) { - url.file = url.host; - } - url.host = ""; - } - url.hash = { }; - if(url.fragment != null && url.fragment.length > 0) { - url.XRF = xrfragment_URI.parseFragment("#" + url.fragment,flags); - var key; - var _g = 0; - var _g1 = Reflect.fields(url.XRF); - while(_g < _g1.length) { - var key = _g1[_g]; - ++_g; - var v = url.XRF[key]; - url.hash[key] = v["string"]; - } - } - xrfragment_URI.computeVars(url); - return url; -}; -xrfragment_URI.computeVars = function(url) { - var r_r = new RegExp("//","g".split("u").join("")); - if(url.directory != null && url.directory.indexOf("//") != -1) { - url.directory = url.directory.replace(r_r,"/"); - } - if(url.path != null && url.path.indexOf("//") != -1) { - url.path = url.path.replace(r_r,"/"); - } - if(url.file != null && url.file.indexOf("//") != -1) { - url.file = url.file.replace(r_r,"/"); - } - url.URN = url.scheme + "://" + url.host; - if(url.port != null) { - url.URN += ":" + url.port; - } - url.URN += url.directory; - if(url.file != null) { - var parts = url.file.split("."); - if(parts.length > 1) { - url.fileExt = parts.pop(); - } - } -}; -xrfragment_URI.toString = function(url) { - var result = ""; - if(url.scheme != null) { - result += url.scheme + "://"; - } - if(url.user != null) { - result += url.user + ":"; - } - if(url.password != null) { - result += url.password + "@"; - } - if(url.host != null) { - result += url.host; - } - if(url.port != null) { - result += ":" + url.port; - } - if(url.directory != null) { - result += url.directory; - } - if(url.file != null) { - result += url.file; - } - if(url.query != null) { - result += "?" + url.query; - } - if(url.fragment != null) { - result += "#" + url.fragment; - } - return result; -}; -xrfragment_URI.appendURI = function(url,appendedURI) { - if(xrfragment_URI.isRelative(url) == true) { - return xrfragment_URI.appendToRelativeURI(url,appendedURI); - } else { - return xrfragment_URI.appendToAbsoluteURI(url,appendedURI); - } -}; -xrfragment_URI.isRelative = function(url) { - return url.scheme == null; -}; -xrfragment_URI.appendToRelativeURI = function(url,appendedURI) { - if(url.directory == null || url.host == null) { - return xrfragment_URI.cloneURI(appendedURI); - } - var resultURI = new xrfragment_URI(); - resultURI.host = url.host; - resultURI.directory = url.directory; - if(appendedURI.host != null) { - resultURI.directory += appendedURI.host; - } - if(appendedURI.directory != null) { - var directory = appendedURI.directory; - if(appendedURI.host == null) { - resultURI.directory += HxOverrides.substr(directory,1,null); - } else { - resultURI.directory += directory; - } - } - if(appendedURI.file != null) { - resultURI.file = appendedURI.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(appendedURI.query != null) { - resultURI.query = appendedURI.query; - } - if(appendedURI.fragment != null) { - resultURI.fragment = appendedURI.fragment; - } - return resultURI; -}; -xrfragment_URI.appendToAbsoluteURI = function(url,appendedURI) { - var resultURI = new xrfragment_URI(); - if(url.scheme != null) { - resultURI.scheme = url.scheme; - } - if(url.host != null) { - resultURI.host = url.host; - } - var directory = ""; - if(url.directory != null) { - directory = url.directory; - } - if(appendedURI.host != null) { - appendedURI.directory += appendedURI.host; - } - if(appendedURI.directory != null) { - directory += appendedURI.directory; - } - resultURI.directory = directory; - if(appendedURI.file != null) { - resultURI.file = appendedURI.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(appendedURI.query != null) { - resultURI.query = appendedURI.query; - } - if(appendedURI.fragment != null) { - resultURI.fragment = appendedURI.fragment; - } - return resultURI; -}; -xrfragment_URI.toAbsolute = function(url,newUrl) { - var newURI = xrfragment_URI.parse(newUrl,0); - var resultURI = new xrfragment_URI(); - resultURI.port = url.port; - resultURI.source = newUrl; - if(newURI.scheme != null) { - resultURI.scheme = newURI.scheme; - } else { - resultURI.scheme = url.scheme; - } - if(newURI.host != null && newURI.host.length > 0) { - resultURI.host = newURI.host; - resultURI.port = null; - resultURI.fragment = null; - resultURI.hash = { }; - resultURI.XRF = { }; - if(newURI.port != null) { - resultURI.port = newURI.port; - } - } else { - resultURI.host = url.host; - } - var directory = ""; - if(url.directory != null) { - directory = url.directory; - } - if(newURI.directory != null) { - if(newUrl.charAt(0) != "/" && newUrl.indexOf("://") == -1) { - var stripRelative_r = new RegExp("\\./.*","".split("u").join("")); - directory = directory.replace(stripRelative_r,""); - directory += newURI.directory; - } else { - directory = newURI.directory; - } - } - resultURI.directory = directory; - if(newURI.file != null) { - resultURI.file = newURI.file; - } else { - resultURI.file = url.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(newURI.query != null) { - resultURI.query = newURI.query; - } - if(newURI.fragment != null) { - resultURI.fragment = newURI.fragment; - } - resultURI.hash = newURI.hash; - resultURI.XRF = newURI.XRF; - xrfragment_URI.computeVars(resultURI); - return resultURI; -}; -xrfragment_URI.cloneURI = function(url) { - var clonedURI = new xrfragment_URI(); - clonedURI.url = url.url; - clonedURI.source = url.source; - clonedURI.scheme = url.scheme; - clonedURI.authority = url.authority; - clonedURI.userInfo = url.userInfo; - clonedURI.password = url.password; - clonedURI.host = url.host; - clonedURI.port = url.port; - clonedURI.relative = url.relative; - clonedURI.path = url.path; - clonedURI.directory = url.directory; - clonedURI.file = url.file; - clonedURI.query = url.query; - clonedURI.fragment = url.fragment; - return clonedURI; -}; -var xrfragment_XRF = $hx_exports["xrfragment"]["XRF"] = function(_fragment,_flags,_index) { - this.floats = []; - this.shift = []; - this.fragment = _fragment; - this.flags = _flags; - this.index = _index; -}; -xrfragment_XRF.__name__ = true; -xrfragment_XRF.set = function(flag,flags) { - return flags | flag; -}; -xrfragment_XRF.unset = function(flag,flags) { - return flags & ~flag; -}; -xrfragment_XRF.prototype = { - is: function(flag) { - var v = this.flags; - if(!(typeof(v) == "number" && ((v | 0) === v))) { - this.flags = 0; - } - return (this.flags & flag) != 0; - } - ,validate: function(value) { - this.guessType(this,value); - var ok = true; - if(value.length == 0 && !this.is(xrfragment_XRF.T_PREDEFINED_VIEW)) { - ok = false; - } - if(!this.is(xrfragment_XRF.T_FLOAT) && this.is(xrfragment_XRF.T_VECTOR2) && !(typeof(this.x) == "number" && typeof(this.y) == "number")) { - ok = false; - } - if(!(this.is(xrfragment_XRF.T_VECTOR2) || this.is(xrfragment_XRF.T_STRING)) && this.is(xrfragment_XRF.T_VECTOR3) && !(typeof(this.x) == "number" && typeof(this.y) == "number" && typeof(this.z) == "number")) { - ok = false; - } - return ok; - } - ,guessType: function(v,str) { - v.string = str; - if(xrfragment_XRF.isReset.match(v.fragment)) { - v.reset = true; - } - if(v.fragment == "loop") { - v.loop = true; - } - if(typeof(str) != "string") { - return; - } - if(str.length > 0) { - if(xrfragment_XRF.isXRFScheme.match(str)) { - v.xrfScheme = true; - str = str.replace(xrfragment_XRF.isXRFScheme.r,""); - v.string = str; - } - if(str.split(",").length > 1) { - var xyzn = str.split(","); - if(xyzn.length > 0) { - v.x = parseFloat(xyzn[0]); - } - if(xyzn.length > 1) { - v.y = parseFloat(xyzn[1]); - } - if(xyzn.length > 2) { - v.z = parseFloat(xyzn[2]); - } - var _g = 0; - var _g1 = xyzn.length; - while(_g < _g1) { - var i = _g++; - v.shift.push(xrfragment_XRF.isShift.match(xyzn[i])); - v.floats.push(parseFloat(xyzn[i].replace(xrfragment_XRF.isShift.r,""))); - } - } - if(xrfragment_XRF.isColor.match(str)) { - v.color = str; - } - if(xrfragment_XRF.isFloat.match(str)) { - v.x = parseFloat(str); - v.float = v.x; - } - if(xrfragment_XRF.isInt.match(str)) { - v.int = Std.parseInt(str); - v.x = v.int; - v.floats.push(v.x); - } - v.filter = new xrfragment_Filter(v.fragment + "=" + v.string); - } else { - v.filter = new xrfragment_Filter(v.fragment); - } - } -}; -function $getIterator(o) { if( o instanceof Array ) return new haxe_iterators_ArrayIterator(o); else return o.iterator(); } -function $bind(o,m) { if( m == null ) return null; if( m.__id__ == null ) m.__id__ = $global.$haxeUID++; var f; if( o.hx__closures__ == null ) o.hx__closures__ = {}; else f = o.hx__closures__[m.__id__]; if( f == null ) { f = m.bind(o); o.hx__closures__[m.__id__] = f; } return f; } -$global.$haxeUID |= 0; -if(typeof(performance) != "undefined" ? typeof(performance.now) == "function" : false) { - HxOverrides.now = performance.now.bind(performance); -} -if( String.fromCodePoint == null ) String.fromCodePoint = function(c) { return c < 0x10000 ? String.fromCharCode(c) : String.fromCharCode((c>>10)+0xD7C0)+String.fromCharCode((c&0x3FF)+0xDC00); } -String.__name__ = true; -Array.__name__ = true; -js_Boot.__toStr = ({ }).toString; -haxe_Template.splitter = new EReg("(::[A-Za-z0-9_ ()&|!+=/><*.\"-]+::|\\$\\$([A-Za-z0-9_-]+)\\()",""); -haxe_Template.expr_splitter = new EReg("(\\(|\\)|[ \r\n\t]*\"[^\"]*\"[ \r\n\t]*|[!+=/><*.&|-]+)",""); -haxe_Template.expr_trim = new EReg("^[ ]*([^ ]+)[ ]*$",""); -haxe_Template.expr_int = new EReg("^[0-9]+$",""); -haxe_Template.expr_float = new EReg("^([+-]?)(?=\\d|,\\d)\\d*(,\\d*)?([Ee]([+-]?\\d+))?$",""); -haxe_Template.globals = { }; -haxe_Template.hxKeepArrayIterator = new haxe_iterators_ArrayIterator([]); -xrfragment_Parser.error = ""; -xrfragment_Parser.debug = false; -xrfragment_URI.__meta__ = { statics : { template : { keep : null}}}; -xrfragment_URI._parts = ["source","scheme","authority","userInfo","user","password","host","port","relative","path","directory","file","query","fragment"]; -xrfragment_XRF.IMMUTABLE = 1; -xrfragment_XRF.PROP_BIND = 2; -xrfragment_XRF.QUERY_OPERATOR = 4; -xrfragment_XRF.PROMPT = 8; -xrfragment_XRF.CUSTOMFRAG = 16; -xrfragment_XRF.NAVIGATOR = 32; -xrfragment_XRF.METADATA = 64; -xrfragment_XRF.PV_OVERRIDE = 128; -xrfragment_XRF.PV_EXECUTE = 256; -xrfragment_XRF.T_COLOR = 8192; -xrfragment_XRF.T_INT = 16384; -xrfragment_XRF.T_FLOAT = 32768; -xrfragment_XRF.T_VECTOR2 = 65536; -xrfragment_XRF.T_VECTOR3 = 131072; -xrfragment_XRF.T_URL = 262144; -xrfragment_XRF.T_PREDEFINED_VIEW = 524288; -xrfragment_XRF.T_STRING = 1048576; -xrfragment_XRF.T_MEDIAFRAG = 2097152; -xrfragment_XRF.T_DYNAMICKEY = 4194304; -xrfragment_XRF.T_DYNAMICKEYVALUE = 8388608; -xrfragment_XRF.isColor = new EReg("^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$",""); -xrfragment_XRF.isInt = new EReg("^[-0-9]+$",""); -xrfragment_XRF.isFloat = new EReg("^[-0-9]+\\.[0-9]+$",""); -xrfragment_XRF.isVector = new EReg("([,]+|\\w)",""); -xrfragment_XRF.isUrl = new EReg("(://)?\\..*",""); -xrfragment_XRF.isUrlOrPretypedView = new EReg("(^#|://)?\\..*",""); -xrfragment_XRF.isString = new EReg(".*",""); -xrfragment_XRF.operators = new EReg("(^[-]|^[!]|[\\*]$)","g"); -xrfragment_XRF.isProp = new EReg("^.*=[><=]?",""); -xrfragment_XRF.isExclude = new EReg("^-",""); -xrfragment_XRF.isDeep = new EReg("\\*",""); -xrfragment_XRF.isNumber = new EReg("^[0-9\\.]+$",""); -xrfragment_XRF.isMediaFrag = new EReg("^([0-9\\.,\\*+-]+)$",""); -xrfragment_XRF.isReset = new EReg("^!",""); -xrfragment_XRF.isShift = new EReg("^(\\+|--)",""); -xrfragment_XRF.isXRFScheme = new EReg("^xrf://",""); -})(typeof window != "undefined" ? window : typeof global != "undefined" ? global : typeof self != "undefined" ? self : this); -var xrfragment = $hx_exports["xrfragment"]; -export default xrfragment; -// Generated by Haxe 4.3.3 -var $hx_exports = typeof exports != "undefined" ? exports : typeof window != "undefined" ? window : typeof self != "undefined" ? self : this; -(function ($global) { "use strict"; -$hx_exports["xrfragment"] = $hx_exports["xrfragment"] || {}; -var $estr = function() { return js_Boot.__string_rec(this,''); },$hxEnums = $hxEnums || {},$_; -function $extend(from, fields) { - var proto = Object.create(from); - for (var name in fields) proto[name] = fields[name]; - if( fields.toString !== Object.prototype.toString ) proto.toString = fields.toString; - return proto; -} -var EReg = function(r,opt) { - this.r = new RegExp(r,opt.split("u").join("")); -}; -EReg.__name__ = true; -EReg.prototype = { - match: function(s) { - if(this.r.global) { - this.r.lastIndex = 0; - } - this.r.m = this.r.exec(s); - this.r.s = s; - return this.r.m != null; - } - ,matched: function(n) { - if(this.r.m != null && n >= 0 && n < this.r.m.length) { - return this.r.m[n]; - } else { - throw haxe_Exception.thrown("EReg::matched"); - } - } - ,matchedRight: function() { - if(this.r.m == null) { - throw haxe_Exception.thrown("No string matched"); - } - var sz = this.r.m.index + this.r.m[0].length; - return HxOverrides.substr(this.r.s,sz,this.r.s.length - sz); - } - ,matchedPos: function() { - if(this.r.m == null) { - throw haxe_Exception.thrown("No string matched"); - } - return { pos : this.r.m.index, len : this.r.m[0].length}; - } - ,split: function(s) { - var d = "#__delim__#"; - return s.replace(this.r,d).split(d); - } -}; -var HxOverrides = function() { }; -HxOverrides.__name__ = true; -HxOverrides.cca = function(s,index) { - var x = s.charCodeAt(index); - if(x != x) { - return undefined; - } - return x; -}; -HxOverrides.substr = function(s,pos,len) { - if(len == null) { - len = s.length; - } else if(len < 0) { - if(pos == 0) { - len = s.length + len; - } else { - return ""; - } - } - return s.substr(pos,len); -}; -HxOverrides.now = function() { - return Date.now(); -}; -Math.__name__ = true; -var Reflect = function() { }; -Reflect.__name__ = true; -Reflect.field = function(o,field) { - try { - return o[field]; - } catch( _g ) { - return null; - } -}; -Reflect.getProperty = function(o,field) { - var tmp; - if(o == null) { - return null; - } else { - var tmp1; - if(o.__properties__) { - tmp = o.__properties__["get_" + field]; - tmp1 = tmp; - } else { - tmp1 = false; - } - if(tmp1) { - return o[tmp](); - } else { - return o[field]; - } - } -}; -Reflect.fields = function(o) { - var a = []; - if(o != null) { - var hasOwnProperty = Object.prototype.hasOwnProperty; - for( var f in o ) { - if(f != "__id__" && f != "hx__closures__" && hasOwnProperty.call(o,f)) { - a.push(f); - } - } - } - return a; -}; -Reflect.isObject = function(v) { - if(v == null) { - return false; - } - var t = typeof(v); - if(!(t == "string" || t == "object" && v.__enum__ == null)) { - if(t == "function") { - return (v.__name__ || v.__ename__) != null; - } else { - return false; - } - } else { - return true; - } -}; -Reflect.deleteField = function(o,field) { - if(!Object.prototype.hasOwnProperty.call(o,field)) { - return false; - } - delete(o[field]); - return true; -}; -Reflect.copy = function(o) { - if(o == null) { - return null; - } - var o2 = { }; - var _g = 0; - var _g1 = Reflect.fields(o); - while(_g < _g1.length) { - var f = _g1[_g]; - ++_g; - o2[f] = Reflect.field(o,f); - } - return o2; -}; -var Std = function() { }; -Std.__name__ = true; -Std.string = function(s) { - return js_Boot.__string_rec(s,""); -}; -Std.parseInt = function(x) { - var v = parseInt(x); - if(isNaN(v)) { - return null; - } - return v; -}; -var StringBuf = function() { - this.b = ""; -}; -StringBuf.__name__ = true; -var StringTools = function() { }; -StringTools.__name__ = true; -StringTools.isSpace = function(s,pos) { - var c = HxOverrides.cca(s,pos); - if(!(c > 8 && c < 14)) { - return c == 32; - } else { - return true; - } -}; -StringTools.ltrim = function(s) { - var l = s.length; - var r = 0; - while(r < l && StringTools.isSpace(s,r)) ++r; - if(r > 0) { - return HxOverrides.substr(s,r,l - r); - } else { - return s; - } -}; -StringTools.rtrim = function(s) { - var l = s.length; - var r = 0; - while(r < l && StringTools.isSpace(s,l - r - 1)) ++r; - if(r > 0) { - return HxOverrides.substr(s,0,l - r); - } else { - return s; - } -}; -StringTools.trim = function(s) { - return StringTools.ltrim(StringTools.rtrim(s)); -}; -StringTools.replace = function(s,sub,by) { - return s.split(sub).join(by); -}; -var haxe_Exception = function(message,previous,native) { - Error.call(this,message); - this.message = message; - this.__previousException = previous; - this.__nativeException = native != null ? native : this; -}; -haxe_Exception.__name__ = true; -haxe_Exception.caught = function(value) { - if(((value) instanceof haxe_Exception)) { - return value; - } else if(((value) instanceof Error)) { - return new haxe_Exception(value.message,null,value); - } else { - return new haxe_ValueException(value,null,value); - } -}; -haxe_Exception.thrown = function(value) { - if(((value) instanceof haxe_Exception)) { - return value.get_native(); - } else if(((value) instanceof Error)) { - return value; - } else { - var e = new haxe_ValueException(value); - return e; - } -}; -haxe_Exception.__super__ = Error; -haxe_Exception.prototype = $extend(Error.prototype,{ - unwrap: function() { - return this.__nativeException; - } - ,get_native: function() { - return this.__nativeException; - } - ,__properties__: {get_native:"get_native"} -}); -var haxe__$Template_TemplateExpr = $hxEnums["haxe._Template.TemplateExpr"] = { __ename__:true,__constructs__:null - ,OpVar: ($_=function(v) { return {_hx_index:0,v:v,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpVar",$_.__params__ = ["v"],$_) - ,OpExpr: ($_=function(expr) { return {_hx_index:1,expr:expr,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpExpr",$_.__params__ = ["expr"],$_) - ,OpIf: ($_=function(expr,eif,eelse) { return {_hx_index:2,expr:expr,eif:eif,eelse:eelse,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpIf",$_.__params__ = ["expr","eif","eelse"],$_) - ,OpStr: ($_=function(str) { return {_hx_index:3,str:str,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpStr",$_.__params__ = ["str"],$_) - ,OpBlock: ($_=function(l) { return {_hx_index:4,l:l,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpBlock",$_.__params__ = ["l"],$_) - ,OpForeach: ($_=function(expr,loop) { return {_hx_index:5,expr:expr,loop:loop,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpForeach",$_.__params__ = ["expr","loop"],$_) - ,OpMacro: ($_=function(name,params) { return {_hx_index:6,name:name,params:params,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpMacro",$_.__params__ = ["name","params"],$_) -}; -haxe__$Template_TemplateExpr.__constructs__ = [haxe__$Template_TemplateExpr.OpVar,haxe__$Template_TemplateExpr.OpExpr,haxe__$Template_TemplateExpr.OpIf,haxe__$Template_TemplateExpr.OpStr,haxe__$Template_TemplateExpr.OpBlock,haxe__$Template_TemplateExpr.OpForeach,haxe__$Template_TemplateExpr.OpMacro]; -var haxe_iterators_ArrayIterator = function(array) { - this.current = 0; - this.array = array; -}; -haxe_iterators_ArrayIterator.__name__ = true; -haxe_iterators_ArrayIterator.prototype = { - hasNext: function() { - return this.current < this.array.length; - } - ,next: function() { - return this.array[this.current++]; - } -}; -var haxe_Template = function(str) { - var tokens = this.parseTokens(str); - this.expr = this.parseBlock(tokens); - if(!tokens.isEmpty()) { - throw haxe_Exception.thrown("Unexpected '" + Std.string(tokens.first().s) + "'"); - } -}; -haxe_Template.__name__ = true; -haxe_Template.prototype = { - execute: function(context,macros) { - this.macros = macros == null ? { } : macros; - this.context = context; - this.stack = new haxe_ds_List(); - this.buf = new StringBuf(); - this.run(this.expr); - return this.buf.b; - } - ,resolve: function(v) { - if(v == "__current__") { - return this.context; - } - if(Reflect.isObject(this.context)) { - var value = Reflect.getProperty(this.context,v); - if(value != null || Object.prototype.hasOwnProperty.call(this.context,v)) { - return value; - } - } - var _g_head = this.stack.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var ctx = val; - var value = Reflect.getProperty(ctx,v); - if(value != null || Object.prototype.hasOwnProperty.call(ctx,v)) { - return value; - } - } - return Reflect.field(haxe_Template.globals,v); - } - ,parseTokens: function(data) { - var tokens = new haxe_ds_List(); - while(haxe_Template.splitter.match(data)) { - var p = haxe_Template.splitter.matchedPos(); - if(p.pos > 0) { - tokens.add({ p : HxOverrides.substr(data,0,p.pos), s : true, l : null}); - } - if(HxOverrides.cca(data,p.pos) == 58) { - tokens.add({ p : HxOverrides.substr(data,p.pos + 2,p.len - 4), s : false, l : null}); - data = haxe_Template.splitter.matchedRight(); - continue; - } - var parp = p.pos + p.len; - var npar = 1; - var params = []; - var part = ""; - while(true) { - var c = HxOverrides.cca(data,parp); - ++parp; - if(c == 40) { - ++npar; - } else if(c == 41) { - --npar; - if(npar <= 0) { - break; - } - } else if(c == null) { - throw haxe_Exception.thrown("Unclosed macro parenthesis"); - } - if(c == 44 && npar == 1) { - params.push(part); - part = ""; - } else { - part += String.fromCodePoint(c); - } - } - params.push(part); - tokens.add({ p : haxe_Template.splitter.matched(2), s : false, l : params}); - data = HxOverrides.substr(data,parp,data.length - parp); - } - if(data.length > 0) { - tokens.add({ p : data, s : true, l : null}); - } - return tokens; - } - ,parseBlock: function(tokens) { - var l = new haxe_ds_List(); - while(true) { - var t = tokens.first(); - if(t == null) { - break; - } - if(!t.s && (t.p == "end" || t.p == "else" || HxOverrides.substr(t.p,0,7) == "elseif ")) { - break; - } - l.add(this.parse(tokens)); - } - if(l.length == 1) { - return l.first(); - } - return haxe__$Template_TemplateExpr.OpBlock(l); - } - ,parse: function(tokens) { - var t = tokens.pop(); - var p = t.p; - if(t.s) { - return haxe__$Template_TemplateExpr.OpStr(p); - } - if(t.l != null) { - var pe = new haxe_ds_List(); - var _g = 0; - var _g1 = t.l; - while(_g < _g1.length) { - var p1 = _g1[_g]; - ++_g; - pe.add(this.parseBlock(this.parseTokens(p1))); - } - return haxe__$Template_TemplateExpr.OpMacro(p,pe); - } - var kwdEnd = function(kwd) { - var pos = -1; - var length = kwd.length; - if(HxOverrides.substr(p,0,length) == kwd) { - pos = length; - var _g_offset = 0; - var _g_s = HxOverrides.substr(p,length,null); - while(_g_offset < _g_s.length) { - var c = _g_s.charCodeAt(_g_offset++); - if(c == 32) { - ++pos; - } else { - break; - } - } - } - return pos; - }; - var pos = kwdEnd("if"); - if(pos > 0) { - p = HxOverrides.substr(p,pos,p.length - pos); - var e = this.parseExpr(p); - var eif = this.parseBlock(tokens); - var t = tokens.first(); - var eelse; - if(t == null) { - throw haxe_Exception.thrown("Unclosed 'if'"); - } - if(t.p == "end") { - tokens.pop(); - eelse = null; - } else if(t.p == "else") { - tokens.pop(); - eelse = this.parseBlock(tokens); - t = tokens.pop(); - if(t == null || t.p != "end") { - throw haxe_Exception.thrown("Unclosed 'else'"); - } - } else { - t.p = HxOverrides.substr(t.p,4,t.p.length - 4); - eelse = this.parse(tokens); - } - return haxe__$Template_TemplateExpr.OpIf(e,eif,eelse); - } - var pos = kwdEnd("foreach"); - if(pos >= 0) { - p = HxOverrides.substr(p,pos,p.length - pos); - var e = this.parseExpr(p); - var efor = this.parseBlock(tokens); - var t = tokens.pop(); - if(t == null || t.p != "end") { - throw haxe_Exception.thrown("Unclosed 'foreach'"); - } - return haxe__$Template_TemplateExpr.OpForeach(e,efor); - } - if(haxe_Template.expr_splitter.match(p)) { - return haxe__$Template_TemplateExpr.OpExpr(this.parseExpr(p)); - } - return haxe__$Template_TemplateExpr.OpVar(p); - } - ,parseExpr: function(data) { - var l = new haxe_ds_List(); - var expr = data; - while(haxe_Template.expr_splitter.match(data)) { - var p = haxe_Template.expr_splitter.matchedPos(); - var k = p.pos + p.len; - if(p.pos != 0) { - l.add({ p : HxOverrides.substr(data,0,p.pos), s : true}); - } - var p1 = haxe_Template.expr_splitter.matched(0); - l.add({ p : p1, s : p1.indexOf("\"") >= 0}); - data = haxe_Template.expr_splitter.matchedRight(); - } - if(data.length != 0) { - var _g_offset = 0; - var _g_s = data; - while(_g_offset < _g_s.length) { - var _g_key = _g_offset; - var _g_value = _g_s.charCodeAt(_g_offset++); - var i = _g_key; - var c = _g_value; - if(c != 32) { - l.add({ p : HxOverrides.substr(data,i,null), s : true}); - break; - } - } - } - var e; - try { - e = this.makeExpr(l); - if(!l.isEmpty()) { - throw haxe_Exception.thrown(l.first().p); - } - } catch( _g ) { - var _g1 = haxe_Exception.caught(_g).unwrap(); - if(typeof(_g1) == "string") { - var s = _g1; - throw haxe_Exception.thrown("Unexpected '" + s + "' in " + expr); - } else { - throw _g; - } - } - return function() { - try { - return e(); - } catch( _g ) { - var exc = haxe_Exception.caught(_g).unwrap(); - throw haxe_Exception.thrown("Error : " + Std.string(exc) + " in " + expr); - } - }; - } - ,makeConst: function(v) { - haxe_Template.expr_trim.match(v); - v = haxe_Template.expr_trim.matched(1); - if(HxOverrides.cca(v,0) == 34) { - var str = HxOverrides.substr(v,1,v.length - 2); - return function() { - return str; - }; - } - if(haxe_Template.expr_int.match(v)) { - var i = Std.parseInt(v); - return function() { - return i; - }; - } - if(haxe_Template.expr_float.match(v)) { - var f = parseFloat(v); - return function() { - return f; - }; - } - var me = this; - return function() { - return me.resolve(v); - }; - } - ,makePath: function(e,l) { - var p = l.first(); - if(p == null || p.p != ".") { - return e; - } - l.pop(); - var field = l.pop(); - if(field == null || !field.s) { - throw haxe_Exception.thrown(field.p); - } - var f = field.p; - haxe_Template.expr_trim.match(f); - f = haxe_Template.expr_trim.matched(1); - return this.makePath(function() { - return Reflect.field(e(),f); - },l); - } - ,makeExpr: function(l) { - return this.makePath(this.makeExpr2(l),l); - } - ,skipSpaces: function(l) { - var p = l.first(); - while(p != null) { - var _g_offset = 0; - var _g_s = p.p; - while(_g_offset < _g_s.length) { - var c = _g_s.charCodeAt(_g_offset++); - if(c != 32) { - return; - } - } - l.pop(); - p = l.first(); - } - } - ,makeExpr2: function(l) { - this.skipSpaces(l); - var p = l.pop(); - this.skipSpaces(l); - if(p == null) { - throw haxe_Exception.thrown(""); - } - if(p.s) { - return this.makeConst(p.p); - } - switch(p.p) { - case "!": - var e = this.makeExpr(l); - return function() { - var v = e(); - if(v != null) { - return v == false; - } else { - return true; - } - }; - case "(": - this.skipSpaces(l); - var e1 = this.makeExpr(l); - this.skipSpaces(l); - var p1 = l.pop(); - if(p1 == null || p1.s) { - throw haxe_Exception.thrown(p1); - } - if(p1.p == ")") { - return e1; - } - this.skipSpaces(l); - var e2 = this.makeExpr(l); - this.skipSpaces(l); - var p2 = l.pop(); - this.skipSpaces(l); - if(p2 == null || p2.p != ")") { - throw haxe_Exception.thrown(p2); - } - switch(p1.p) { - case "!=": - return function() { - return e1() != e2(); - }; - case "&&": - return function() { - return e1() && e2(); - }; - case "*": - return function() { - return e1() * e2(); - }; - case "+": - return function() { - return e1() + e2(); - }; - case "-": - return function() { - return e1() - e2(); - }; - case "/": - return function() { - return e1() / e2(); - }; - case "<": - return function() { - return e1() < e2(); - }; - case "<=": - return function() { - return e1() <= e2(); - }; - case "==": - return function() { - return e1() == e2(); - }; - case ">": - return function() { - return e1() > e2(); - }; - case ">=": - return function() { - return e1() >= e2(); - }; - case "||": - return function() { - return e1() || e2(); - }; - default: - throw haxe_Exception.thrown("Unknown operation " + p1.p); - } - break; - case "-": - var e3 = this.makeExpr(l); - return function() { - return -e3(); - }; - } - throw haxe_Exception.thrown(p.p); - } - ,run: function(e) { - switch(e._hx_index) { - case 0: - var v = e.v; - var _this = this.buf; - var x = Std.string(this.resolve(v)); - _this.b += Std.string(x); - break; - case 1: - var e1 = e.expr; - var _this = this.buf; - var x = Std.string(e1()); - _this.b += Std.string(x); - break; - case 2: - var e1 = e.expr; - var eif = e.eif; - var eelse = e.eelse; - var v = e1(); - if(v == null || v == false) { - if(eelse != null) { - this.run(eelse); - } - } else { - this.run(eif); - } - break; - case 3: - var str = e.str; - this.buf.b += str == null ? "null" : "" + str; - break; - case 4: - var l = e.l; - var _g_head = l.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var e1 = val; - this.run(e1); - } - break; - case 5: - var e1 = e.expr; - var loop = e.loop; - var v = e1(); - try { - var x = $getIterator(v); - if(x.hasNext == null) { - throw haxe_Exception.thrown(null); - } - v = x; - } catch( _g ) { - try { - if(v.hasNext == null) { - throw haxe_Exception.thrown(null); - } - } catch( _g1 ) { - throw haxe_Exception.thrown("Cannot iter on " + Std.string(v)); - } - } - this.stack.push(this.context); - var v1 = v; - var ctx = v1; - while(ctx.hasNext()) { - var ctx1 = ctx.next(); - this.context = ctx1; - this.run(loop); - } - this.context = this.stack.pop(); - break; - case 6: - var m = e.name; - var params = e.params; - var v = Reflect.field(this.macros,m); - var pl = []; - var old = this.buf; - pl.push($bind(this,this.resolve)); - var _g_head = params.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var p = val; - if(p._hx_index == 0) { - var v1 = p.v; - pl.push(this.resolve(v1)); - } else { - this.buf = new StringBuf(); - this.run(p); - pl.push(this.buf.b); - } - } - this.buf = old; - try { - var _this = this.buf; - var x = Std.string(v.apply(this.macros,pl)); - _this.b += Std.string(x); - } catch( _g ) { - var e = haxe_Exception.caught(_g).unwrap(); - var plstr; - try { - plstr = pl.join(","); - } catch( _g1 ) { - plstr = "???"; - } - var msg = "Macro call " + m + "(" + plstr + ") failed (" + Std.string(e) + ")"; - throw haxe_Exception.thrown(msg); - } - break; - } - } -}; -var haxe_ValueException = function(value,previous,native) { - haxe_Exception.call(this,String(value),previous,native); - this.value = value; -}; -haxe_ValueException.__name__ = true; -haxe_ValueException.__super__ = haxe_Exception; -haxe_ValueException.prototype = $extend(haxe_Exception.prototype,{ - unwrap: function() { - return this.value; - } -}); -var haxe_ds_List = function() { - this.length = 0; -}; -haxe_ds_List.__name__ = true; -haxe_ds_List.prototype = { - add: function(item) { - var x = new haxe_ds__$List_ListNode(item,null); - if(this.h == null) { - this.h = x; - } else { - this.q.next = x; - } - this.q = x; - this.length++; - } - ,push: function(item) { - var x = new haxe_ds__$List_ListNode(item,this.h); - this.h = x; - if(this.q == null) { - this.q = x; - } - this.length++; - } - ,first: function() { - if(this.h == null) { - return null; - } else { - return this.h.item; - } - } - ,pop: function() { - if(this.h == null) { - return null; - } - var x = this.h.item; - this.h = this.h.next; - if(this.h == null) { - this.q = null; - } - this.length--; - return x; - } - ,isEmpty: function() { - return this.h == null; - } - ,toString: function() { - var s_b = ""; - var first = true; - var l = this.h; - s_b += "{"; - while(l != null) { - if(first) { - first = false; - } else { - s_b += ", "; - } - s_b += Std.string(Std.string(l.item)); - l = l.next; - } - s_b += "}"; - return s_b; - } -}; -var haxe_ds__$List_ListNode = function(item,next) { - this.item = item; - this.next = next; -}; -haxe_ds__$List_ListNode.__name__ = true; -var js_Boot = function() { }; -js_Boot.__name__ = true; -js_Boot.__string_rec = function(o,s) { - if(o == null) { - return "null"; - } - if(s.length >= 5) { - return "<...>"; - } - var t = typeof(o); - if(t == "function" && (o.__name__ || o.__ename__)) { - t = "object"; - } - switch(t) { - case "function": - return ""; - case "object": - if(o.__enum__) { - var e = $hxEnums[o.__enum__]; - var con = e.__constructs__[o._hx_index]; - var n = con._hx_name; - if(con.__params__) { - s = s + "\t"; - return n + "(" + ((function($this) { - var $r; - var _g = []; - { - var _g1 = 0; - var _g2 = con.__params__; - while(true) { - if(!(_g1 < _g2.length)) { - break; - } - var p = _g2[_g1]; - _g1 = _g1 + 1; - _g.push(js_Boot.__string_rec(o[p],s)); - } - } - $r = _g; - return $r; - }(this))).join(",") + ")"; - } else { - return n; - } - } - if(((o) instanceof Array)) { - var str = "["; - s += "\t"; - var _g = 0; - var _g1 = o.length; - while(_g < _g1) { - var i = _g++; - str += (i > 0 ? "," : "") + js_Boot.__string_rec(o[i],s); - } - str += "]"; - return str; - } - var tostr; - try { - tostr = o.toString; - } catch( _g ) { - return "???"; - } - if(tostr != null && tostr != Object.toString && typeof(tostr) == "function") { - var s2 = o.toString(); - if(s2 != "[object Object]") { - return s2; - } - } - var str = "{\n"; - s += "\t"; - var hasp = o.hasOwnProperty != null; - var k = null; - for( k in o ) { - if(hasp && !o.hasOwnProperty(k)) { - continue; - } - if(k == "prototype" || k == "__class__" || k == "__super__" || k == "__interfaces__" || k == "__properties__") { - continue; - } - if(str.length != 2) { - str += ", \n"; - } - str += s + k + " : " + js_Boot.__string_rec(o[k],s); - } - s = s.substring(1); - str += "\n" + s + "}"; - return str; - case "string": - return o; - default: - return String(o); - } -}; -var xrfragment_Filter = $hx_exports["xrfragment"]["Filter"] = function(str) { - this.q = { }; - this.str = ""; - if(str != null) { - this.parse(str); - } -}; -xrfragment_Filter.__name__ = true; -xrfragment_Filter.prototype = { - toObject: function() { - return Reflect.copy(this.q); - } - ,get: function() { - return Reflect.copy(this.q); - } - ,parse: function(str) { - var token = str.split(" "); - var q = { }; - var process = function(str,prefix) { - if(prefix == null) { - prefix = ""; - } - str = StringTools.trim(str); - var k = str.split("=")[0]; - var v = str.split("=")[1]; - var filter = { }; - if(q[prefix + k]) { - filter = q[prefix + k]; - } - if(xrfragment_XRF.isProp.match(str)) { - var oper = ""; - if(str.indexOf(">") != -1) { - oper = ">"; - } - if(str.indexOf("<") != -1) { - oper = "<"; - } - if(xrfragment_XRF.isExclude.match(k)) { - k = HxOverrides.substr(k,1,null); - } - v = HxOverrides.substr(v,oper.length,null); - if(oper.length == 0) { - oper = "="; - } - var rule = { }; - if(xrfragment_XRF.isNumber.match(v)) { - rule[oper] = parseFloat(v); - } else { - rule[oper] = v; - } - q["expr"] = rule; - } - var value = xrfragment_XRF.isDeep.match(str) ? k.split("*").length - 1 : 0; - q["deep"] = value; - var value = xrfragment_XRF.isExclude.match(str) ? false : true; - q["show"] = value; - var value = k.replace(xrfragment_XRF.operators.r,""); - q["key"] = value; - q["value"] = v; - }; - var _g = 0; - var _g1 = token.length; - while(_g < _g1) { - var i = _g++; - process(token[i]); - } - return this.q = q; - } - ,test: function(obj) { - var qualify = false; - var _g = 0; - var _g1 = Reflect.fields(obj); - while(_g < _g1.length) { - var k = _g1[_g]; - ++_g; - var v = Std.string(Reflect.field(obj,k)); - if(this.testProperty(k,v)) { - qualify = true; - } - } - var _g = 0; - var _g1 = Reflect.fields(obj); - while(_g < _g1.length) { - var k = _g1[_g]; - ++_g; - var v = Std.string(Reflect.field(obj,k)); - if(this.testProperty(k,v,true)) { - qualify = false; - } - } - return qualify; - } - ,testProperty: function(property,value,exclude) { - var conds = 0; - var fails = 0; - var qualify = 0; - var testprop = function(expr) { - conds += 1; - fails += expr ? 0 : 1; - return expr; - }; - if(this.q[value] != null) { - var v = this.q[value]; - if(v[property] != null) { - return v[property]; - } - } - if(Reflect.field(this.q,"expr")) { - var f = Reflect.field(this.q,"expr"); - if(!Reflect.field(this.q,"show")) { - if(Reflect.field(f,"!=") != null && testprop((value == null ? "null" : "" + value) == Std.string(Reflect.field(f,"!="))) && exclude) { - ++qualify; - } - } else { - if(Reflect.field(f,"*") != null && testprop(parseFloat(value) != null)) { - ++qualify; - } - if(Reflect.field(f,">") != null && testprop(parseFloat(value) >= parseFloat(Reflect.field(f,">")))) { - ++qualify; - } - if(Reflect.field(f,"<") != null && testprop(parseFloat(value) <= parseFloat(Reflect.field(f,"<")))) { - ++qualify; - } - if(Reflect.field(f,"=") != null && (testprop(value == Reflect.field(f,"=")) || testprop(parseFloat(value) == parseFloat(Reflect.field(f,"="))))) { - ++qualify; - } - } - } - return qualify > 0; - } -}; -var xrfragment_Parser = $hx_exports["xrfragment"]["Parser"] = function() { }; -xrfragment_Parser.__name__ = true; -xrfragment_Parser.parse = function(key,value,store,index) { - var Frag_h = Object.create(null); - Frag_h["#"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_PREDEFINED_VIEW | xrfragment_XRF.PV_EXECUTE; - Frag_h["src"] = xrfragment_XRF.T_URL; - Frag_h["href"] = xrfragment_XRF.T_URL | xrfragment_XRF.T_PREDEFINED_VIEW; - Frag_h["tag"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["pos"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_VECTOR3 | xrfragment_XRF.T_STRING | xrfragment_XRF.METADATA | xrfragment_XRF.NAVIGATOR; - Frag_h["rot"] = xrfragment_XRF.QUERY_OPERATOR | xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_VECTOR3 | xrfragment_XRF.METADATA | xrfragment_XRF.NAVIGATOR; - Frag_h["t"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_FLOAT | xrfragment_XRF.T_VECTOR2 | xrfragment_XRF.NAVIGATOR | xrfragment_XRF.METADATA; - Frag_h["s"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_MEDIAFRAG; - Frag_h["loop"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_PREDEFINED_VIEW; - Frag_h["uv"] = xrfragment_XRF.T_VECTOR2 | xrfragment_XRF.T_MEDIAFRAG; - Frag_h["namespace"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["SPDX"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["unit"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["description"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - var keyStripped = key.replace(xrfragment_XRF.operators.r,""); - var isPVDynamic = key.length > 0 && !Object.prototype.hasOwnProperty.call(Frag_h,key); - if(isPVDynamic) { - var v = new xrfragment_XRF(key,xrfragment_XRF.PV_EXECUTE | xrfragment_XRF.NAVIGATOR,index); - v.validate(value); - v.flags = xrfragment_XRF.set(xrfragment_XRF.T_DYNAMICKEY,v.flags); - if(!Object.prototype.hasOwnProperty.call(Frag_h,key)) { - v.flags = xrfragment_XRF.set(xrfragment_XRF.CUSTOMFRAG,v.flags); - } - if(value.length == 0) { - v.flags = xrfragment_XRF.set(xrfragment_XRF.T_DYNAMICKEYVALUE,v.flags); - } - store[keyStripped] = v; - return true; - } - var v = new xrfragment_XRF(key,Frag_h[key],index); - if(Object.prototype.hasOwnProperty.call(Frag_h,key)) { - if(!v.validate(value)) { - console.log("src/xrfragment/Parser.hx:67:","⚠ fragment '" + key + "' has incompatible value (" + value + ")"); - return false; - } - store[keyStripped] = v; - if(xrfragment_Parser.debug) { - console.log("src/xrfragment/Parser.hx:71:","✔ " + key + ": " + v.string); - } - } else { - if(typeof(value) == "string") { - v.guessType(v,value); - } - v.flags = xrfragment_XRF.set(xrfragment_XRF.CUSTOMFRAG,v.flags); - store[keyStripped] = v; - } - return true; -}; -xrfragment_Parser.getMetaData = function() { - var meta = { title : ["title","og:title","dc.title"], description : ["aria-description","og:description","dc.description"], author : ["author","dc.creator"], publisher : ["publisher","dc.publisher"], website : ["og:site_name","og:url","dc.publisher"], license : ["SPDX","dc.rights"]}; - return meta; -}; -var xrfragment_URI = $hx_exports["xrfragment"]["URI"] = function() { - this.XRF = { }; - this.hash = { }; - this.fragment = ""; -}; -xrfragment_URI.__name__ = true; -xrfragment_URI.parseFragment = function(url,filter) { - var store = { }; - if(url == null || url.indexOf("#") == -1) { - return store; - } - var fragment = url.split("#"); - var splitArray = fragment[1].split("&"); - var _g = 0; - var _g1 = splitArray.length; - while(_g < _g1) { - var i = _g++; - var splitByEqual = splitArray[i].split("="); - var regexPlus = new EReg("\\+","g"); - var key = splitByEqual[0]; - var value = ""; - if(splitByEqual.length > 1) { - if(xrfragment_XRF.isVector.match(splitByEqual[1])) { - value = splitByEqual[1]; - } else { - var s = regexPlus.split(splitByEqual[1]).join(" "); - value = decodeURIComponent(s.split("+").join(" ")); - } - } - var ok = xrfragment_Parser.parse(key,value,store,i); - } - if(filter != null && filter != 0) { - var _g = 0; - var _g1 = Reflect.fields(store); - while(_g < _g1.length) { - var key = _g1[_g]; - ++_g; - var xrf = store[key]; - if(!xrf.is(filter)) { - Reflect.deleteField(store,key); - } - } - } - return store; -}; -xrfragment_URI.template = function(uri,vars) { - var parts = uri.split("#"); - if(parts.length == 1) { - return uri; - } - var frag = parts[1]; - frag = StringTools.replace(frag,"{","::"); - frag = StringTools.replace(frag,"}","::"); - frag = new haxe_Template(frag).execute(vars); - frag = StringTools.replace(frag,"null",""); - parts[1] = frag; - return parts.join("#"); -}; -xrfragment_URI.parse = function(stringUrl,flags) { - var r = new EReg("^(?:(?![^:@]+:[^:@/]*@)([^:/?#.]+):)?(?://)?((?:(([^:@]*)(?::([^:@]*))?)?@)?([^:/?#]*)(?::(\\d*))?)(((/(?:[^?#](?![^?#/]*\\.[^?#/.]+(?:[?#]|$)))*/?)?([^?#/]*))(?:\\?([^#]*))?(?:#(.*))?)",""); - if(stringUrl.indexOf("://") == -1 && stringUrl.charAt(0) != "/") { - stringUrl = "/" + stringUrl; - } - r.match(stringUrl); - var url = new xrfragment_URI(); - var _g = 0; - var _g1 = xrfragment_URI._parts.length; - while(_g < _g1) { - var i = _g++; - url[xrfragment_URI._parts[i]] = r.matched(i); - } - if(xrfragment_URI.isRelative(url) == true) { - if(url.directory == null && url.host != null) { - url.file = url.host; - } - url.host = ""; - } - url.hash = { }; - if(url.fragment != null && url.fragment.length > 0) { - url.XRF = xrfragment_URI.parseFragment("#" + url.fragment,flags); - var key; - var _g = 0; - var _g1 = Reflect.fields(url.XRF); - while(_g < _g1.length) { - var key = _g1[_g]; - ++_g; - var v = url.XRF[key]; - url.hash[key] = v["string"]; - } - } - xrfragment_URI.computeVars(url); - return url; -}; -xrfragment_URI.computeVars = function(url) { - var r_r = new RegExp("//","g".split("u").join("")); - if(url.directory != null && url.directory.indexOf("//") != -1) { - url.directory = url.directory.replace(r_r,"/"); - } - if(url.path != null && url.path.indexOf("//") != -1) { - url.path = url.path.replace(r_r,"/"); - } - if(url.file != null && url.file.indexOf("//") != -1) { - url.file = url.file.replace(r_r,"/"); - } - url.URN = url.scheme + "://" + url.host; - if(url.port != null) { - url.URN += ":" + url.port; - } - url.URN += url.directory; - if(url.file != null) { - var parts = url.file.split("."); - if(parts.length > 1) { - url.fileExt = parts.pop(); - } - } -}; -xrfragment_URI.toString = function(url) { - var result = ""; - if(url.scheme != null) { - result += url.scheme + "://"; - } - if(url.user != null) { - result += url.user + ":"; - } - if(url.password != null) { - result += url.password + "@"; - } - if(url.host != null) { - result += url.host; - } - if(url.port != null) { - result += ":" + url.port; - } - if(url.directory != null) { - result += url.directory; - } - if(url.file != null) { - result += url.file; - } - if(url.query != null) { - result += "?" + url.query; - } - if(url.fragment != null) { - result += "#" + url.fragment; - } - return result; -}; -xrfragment_URI.appendURI = function(url,appendedURI) { - if(xrfragment_URI.isRelative(url) == true) { - return xrfragment_URI.appendToRelativeURI(url,appendedURI); - } else { - return xrfragment_URI.appendToAbsoluteURI(url,appendedURI); - } -}; -xrfragment_URI.isRelative = function(url) { - return url.scheme == null; -}; -xrfragment_URI.appendToRelativeURI = function(url,appendedURI) { - if(url.directory == null || url.host == null) { - return xrfragment_URI.cloneURI(appendedURI); - } - var resultURI = new xrfragment_URI(); - resultURI.host = url.host; - resultURI.directory = url.directory; - if(appendedURI.host != null) { - resultURI.directory += appendedURI.host; - } - if(appendedURI.directory != null) { - var directory = appendedURI.directory; - if(appendedURI.host == null) { - resultURI.directory += HxOverrides.substr(directory,1,null); - } else { - resultURI.directory += directory; - } - } - if(appendedURI.file != null) { - resultURI.file = appendedURI.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(appendedURI.query != null) { - resultURI.query = appendedURI.query; - } - if(appendedURI.fragment != null) { - resultURI.fragment = appendedURI.fragment; - } - return resultURI; -}; -xrfragment_URI.appendToAbsoluteURI = function(url,appendedURI) { - var resultURI = new xrfragment_URI(); - if(url.scheme != null) { - resultURI.scheme = url.scheme; - } - if(url.host != null) { - resultURI.host = url.host; - } - var directory = ""; - if(url.directory != null) { - directory = url.directory; - } - if(appendedURI.host != null) { - appendedURI.directory += appendedURI.host; - } - if(appendedURI.directory != null) { - directory += appendedURI.directory; - } - resultURI.directory = directory; - if(appendedURI.file != null) { - resultURI.file = appendedURI.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(appendedURI.query != null) { - resultURI.query = appendedURI.query; - } - if(appendedURI.fragment != null) { - resultURI.fragment = appendedURI.fragment; - } - return resultURI; -}; -xrfragment_URI.toAbsolute = function(url,newUrl) { - var newURI = xrfragment_URI.parse(newUrl,0); - var resultURI = new xrfragment_URI(); - resultURI.port = url.port; - resultURI.source = newUrl; - if(newURI.scheme != null) { - resultURI.scheme = newURI.scheme; - } else { - resultURI.scheme = url.scheme; - } - if(newURI.host != null && newURI.host.length > 0) { - resultURI.host = newURI.host; - resultURI.port = null; - resultURI.fragment = null; - resultURI.hash = { }; - resultURI.XRF = { }; - if(newURI.port != null) { - resultURI.port = newURI.port; - } - } else { - resultURI.host = url.host; - } - var directory = ""; - if(url.directory != null) { - directory = url.directory; - } - if(newURI.directory != null) { - if(newUrl.charAt(0) != "/" && newUrl.indexOf("://") == -1) { - var stripRelative_r = new RegExp("\\./.*","".split("u").join("")); - directory = directory.replace(stripRelative_r,""); - directory += newURI.directory; - } else { - directory = newURI.directory; - } - } - resultURI.directory = directory; - if(newURI.file != null) { - resultURI.file = newURI.file; - } else { - resultURI.file = url.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(newURI.query != null) { - resultURI.query = newURI.query; - } - if(newURI.fragment != null) { - resultURI.fragment = newURI.fragment; - } - resultURI.hash = newURI.hash; - resultURI.XRF = newURI.XRF; - xrfragment_URI.computeVars(resultURI); - return resultURI; -}; -xrfragment_URI.cloneURI = function(url) { - var clonedURI = new xrfragment_URI(); - clonedURI.url = url.url; - clonedURI.source = url.source; - clonedURI.scheme = url.scheme; - clonedURI.authority = url.authority; - clonedURI.userInfo = url.userInfo; - clonedURI.password = url.password; - clonedURI.host = url.host; - clonedURI.port = url.port; - clonedURI.relative = url.relative; - clonedURI.path = url.path; - clonedURI.directory = url.directory; - clonedURI.file = url.file; - clonedURI.query = url.query; - clonedURI.fragment = url.fragment; - return clonedURI; -}; -var xrfragment_XRF = $hx_exports["xrfragment"]["XRF"] = function(_fragment,_flags,_index) { - this.floats = []; - this.shift = []; - this.fragment = _fragment; - this.flags = _flags; - this.index = _index; -}; -xrfragment_XRF.__name__ = true; -xrfragment_XRF.set = function(flag,flags) { - return flags | flag; -}; -xrfragment_XRF.unset = function(flag,flags) { - return flags & ~flag; -}; -xrfragment_XRF.prototype = { - is: function(flag) { - var v = this.flags; - if(!(typeof(v) == "number" && ((v | 0) === v))) { - this.flags = 0; - } - return (this.flags & flag) != 0; - } - ,validate: function(value) { - this.guessType(this,value); - var ok = true; - if(value.length == 0 && !this.is(xrfragment_XRF.T_PREDEFINED_VIEW)) { - ok = false; - } - if(!this.is(xrfragment_XRF.T_FLOAT) && this.is(xrfragment_XRF.T_VECTOR2) && !(typeof(this.x) == "number" && typeof(this.y) == "number")) { - ok = false; - } - if(!(this.is(xrfragment_XRF.T_VECTOR2) || this.is(xrfragment_XRF.T_STRING)) && this.is(xrfragment_XRF.T_VECTOR3) && !(typeof(this.x) == "number" && typeof(this.y) == "number" && typeof(this.z) == "number")) { - ok = false; - } - return ok; - } - ,guessType: function(v,str) { - v.string = str; - if(xrfragment_XRF.isReset.match(v.fragment)) { - v.reset = true; - } - if(v.fragment == "loop") { - v.loop = true; - } - if(typeof(str) != "string") { - return; - } - if(str.length > 0) { - if(xrfragment_XRF.isXRFScheme.match(str)) { - v.xrfScheme = true; - str = str.replace(xrfragment_XRF.isXRFScheme.r,""); - v.string = str; - } - if(str.split(",").length > 1) { - var xyzn = str.split(","); - if(xyzn.length > 0) { - v.x = parseFloat(xyzn[0]); - } - if(xyzn.length > 1) { - v.y = parseFloat(xyzn[1]); - } - if(xyzn.length > 2) { - v.z = parseFloat(xyzn[2]); - } - var _g = 0; - var _g1 = xyzn.length; - while(_g < _g1) { - var i = _g++; - v.shift.push(xrfragment_XRF.isShift.match(xyzn[i])); - v.floats.push(parseFloat(xyzn[i].replace(xrfragment_XRF.isShift.r,""))); - } - } - if(xrfragment_XRF.isColor.match(str)) { - v.color = str; - } - if(xrfragment_XRF.isFloat.match(str)) { - v.x = parseFloat(str); - v.float = v.x; - } - if(xrfragment_XRF.isInt.match(str)) { - v.int = Std.parseInt(str); - v.x = v.int; - v.floats.push(v.x); - } - v.filter = new xrfragment_Filter(v.fragment + "=" + v.string); - } else { - v.filter = new xrfragment_Filter(v.fragment); - } - } -}; -function $getIterator(o) { if( o instanceof Array ) return new haxe_iterators_ArrayIterator(o); else return o.iterator(); } -function $bind(o,m) { if( m == null ) return null; if( m.__id__ == null ) m.__id__ = $global.$haxeUID++; var f; if( o.hx__closures__ == null ) o.hx__closures__ = {}; else f = o.hx__closures__[m.__id__]; if( f == null ) { f = m.bind(o); o.hx__closures__[m.__id__] = f; } return f; } -$global.$haxeUID |= 0; -if(typeof(performance) != "undefined" ? typeof(performance.now) == "function" : false) { - HxOverrides.now = performance.now.bind(performance); -} -if( String.fromCodePoint == null ) String.fromCodePoint = function(c) { return c < 0x10000 ? String.fromCharCode(c) : String.fromCharCode((c>>10)+0xD7C0)+String.fromCharCode((c&0x3FF)+0xDC00); } -String.__name__ = true; -Array.__name__ = true; -js_Boot.__toStr = ({ }).toString; -haxe_Template.splitter = new EReg("(::[A-Za-z0-9_ ()&|!+=/><*.\"-]+::|\\$\\$([A-Za-z0-9_-]+)\\()",""); -haxe_Template.expr_splitter = new EReg("(\\(|\\)|[ \r\n\t]*\"[^\"]*\"[ \r\n\t]*|[!+=/><*.&|-]+)",""); -haxe_Template.expr_trim = new EReg("^[ ]*([^ ]+)[ ]*$",""); -haxe_Template.expr_int = new EReg("^[0-9]+$",""); -haxe_Template.expr_float = new EReg("^([+-]?)(?=\\d|,\\d)\\d*(,\\d*)?([Ee]([+-]?\\d+))?$",""); -haxe_Template.globals = { }; -haxe_Template.hxKeepArrayIterator = new haxe_iterators_ArrayIterator([]); -xrfragment_Parser.error = ""; -xrfragment_Parser.debug = false; -xrfragment_URI.__meta__ = { statics : { template : { keep : null}}}; -xrfragment_URI._parts = ["source","scheme","authority","userInfo","user","password","host","port","relative","path","directory","file","query","fragment"]; -xrfragment_XRF.IMMUTABLE = 1; -xrfragment_XRF.PROP_BIND = 2; -xrfragment_XRF.QUERY_OPERATOR = 4; -xrfragment_XRF.PROMPT = 8; -xrfragment_XRF.CUSTOMFRAG = 16; -xrfragment_XRF.NAVIGATOR = 32; -xrfragment_XRF.METADATA = 64; -xrfragment_XRF.PV_OVERRIDE = 128; -xrfragment_XRF.PV_EXECUTE = 256; -xrfragment_XRF.T_COLOR = 8192; -xrfragment_XRF.T_INT = 16384; -xrfragment_XRF.T_FLOAT = 32768; -xrfragment_XRF.T_VECTOR2 = 65536; -xrfragment_XRF.T_VECTOR3 = 131072; -xrfragment_XRF.T_URL = 262144; -xrfragment_XRF.T_PREDEFINED_VIEW = 524288; -xrfragment_XRF.T_STRING = 1048576; -xrfragment_XRF.T_MEDIAFRAG = 2097152; -xrfragment_XRF.T_DYNAMICKEY = 4194304; -xrfragment_XRF.T_DYNAMICKEYVALUE = 8388608; -xrfragment_XRF.isColor = new EReg("^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$",""); -xrfragment_XRF.isInt = new EReg("^[-0-9]+$",""); -xrfragment_XRF.isFloat = new EReg("^[-0-9]+\\.[0-9]+$",""); -xrfragment_XRF.isVector = new EReg("([,]+|\\w)",""); -xrfragment_XRF.isUrl = new EReg("(://)?\\..*",""); -xrfragment_XRF.isUrlOrPretypedView = new EReg("(^#|://)?\\..*",""); -xrfragment_XRF.isString = new EReg(".*",""); -xrfragment_XRF.operators = new EReg("(^[-]|^[!]|[\\*]$)","g"); -xrfragment_XRF.isProp = new EReg("^.*=[><=]?",""); -xrfragment_XRF.isExclude = new EReg("^-",""); -xrfragment_XRF.isDeep = new EReg("\\*",""); -xrfragment_XRF.isNumber = new EReg("^[0-9\\.]+$",""); -xrfragment_XRF.isMediaFrag = new EReg("^([0-9\\.,\\*+-]+)$",""); -xrfragment_XRF.isReset = new EReg("^!",""); -xrfragment_XRF.isShift = new EReg("^(\\+|--)",""); -xrfragment_XRF.isXRFScheme = new EReg("^xrf://",""); -})(typeof window != "undefined" ? window : typeof global != "undefined" ? global : typeof self != "undefined" ? self : this); -var xrfragment = $hx_exports["xrfragment"]; -export default xrfragment; -// Generated by Haxe 4.3.3 -var $hx_exports = typeof exports != "undefined" ? exports : typeof window != "undefined" ? window : typeof self != "undefined" ? self : this; -(function ($global) { "use strict"; -$hx_exports["xrfragment"] = $hx_exports["xrfragment"] || {}; -var $estr = function() { return js_Boot.__string_rec(this,''); },$hxEnums = $hxEnums || {},$_; -function $extend(from, fields) { - var proto = Object.create(from); - for (var name in fields) proto[name] = fields[name]; - if( fields.toString !== Object.prototype.toString ) proto.toString = fields.toString; - return proto; -} -var EReg = function(r,opt) { - this.r = new RegExp(r,opt.split("u").join("")); -}; -EReg.__name__ = true; -EReg.prototype = { - match: function(s) { - if(this.r.global) { - this.r.lastIndex = 0; - } - this.r.m = this.r.exec(s); - this.r.s = s; - return this.r.m != null; - } - ,matched: function(n) { - if(this.r.m != null && n >= 0 && n < this.r.m.length) { - return this.r.m[n]; - } else { - throw haxe_Exception.thrown("EReg::matched"); - } - } - ,matchedRight: function() { - if(this.r.m == null) { - throw haxe_Exception.thrown("No string matched"); - } - var sz = this.r.m.index + this.r.m[0].length; - return HxOverrides.substr(this.r.s,sz,this.r.s.length - sz); - } - ,matchedPos: function() { - if(this.r.m == null) { - throw haxe_Exception.thrown("No string matched"); - } - return { pos : this.r.m.index, len : this.r.m[0].length}; - } - ,split: function(s) { - var d = "#__delim__#"; - return s.replace(this.r,d).split(d); - } -}; -var HxOverrides = function() { }; -HxOverrides.__name__ = true; -HxOverrides.cca = function(s,index) { - var x = s.charCodeAt(index); - if(x != x) { - return undefined; - } - return x; -}; -HxOverrides.substr = function(s,pos,len) { - if(len == null) { - len = s.length; - } else if(len < 0) { - if(pos == 0) { - len = s.length + len; - } else { - return ""; - } - } - return s.substr(pos,len); -}; -HxOverrides.now = function() { - return Date.now(); -}; -Math.__name__ = true; -var Reflect = function() { }; -Reflect.__name__ = true; -Reflect.field = function(o,field) { - try { - return o[field]; - } catch( _g ) { - return null; - } -}; -Reflect.getProperty = function(o,field) { - var tmp; - if(o == null) { - return null; - } else { - var tmp1; - if(o.__properties__) { - tmp = o.__properties__["get_" + field]; - tmp1 = tmp; - } else { - tmp1 = false; - } - if(tmp1) { - return o[tmp](); - } else { - return o[field]; - } - } -}; -Reflect.fields = function(o) { - var a = []; - if(o != null) { - var hasOwnProperty = Object.prototype.hasOwnProperty; - for( var f in o ) { - if(f != "__id__" && f != "hx__closures__" && hasOwnProperty.call(o,f)) { - a.push(f); - } - } - } - return a; -}; -Reflect.isObject = function(v) { - if(v == null) { - return false; - } - var t = typeof(v); - if(!(t == "string" || t == "object" && v.__enum__ == null)) { - if(t == "function") { - return (v.__name__ || v.__ename__) != null; - } else { - return false; - } - } else { - return true; - } -}; -Reflect.deleteField = function(o,field) { - if(!Object.prototype.hasOwnProperty.call(o,field)) { - return false; - } - delete(o[field]); - return true; -}; -Reflect.copy = function(o) { - if(o == null) { - return null; - } - var o2 = { }; - var _g = 0; - var _g1 = Reflect.fields(o); - while(_g < _g1.length) { - var f = _g1[_g]; - ++_g; - o2[f] = Reflect.field(o,f); - } - return o2; -}; -var Std = function() { }; -Std.__name__ = true; -Std.string = function(s) { - return js_Boot.__string_rec(s,""); -}; -Std.parseInt = function(x) { - var v = parseInt(x); - if(isNaN(v)) { - return null; - } - return v; -}; -var StringBuf = function() { - this.b = ""; -}; -StringBuf.__name__ = true; -var StringTools = function() { }; -StringTools.__name__ = true; -StringTools.isSpace = function(s,pos) { - var c = HxOverrides.cca(s,pos); - if(!(c > 8 && c < 14)) { - return c == 32; - } else { - return true; - } -}; -StringTools.ltrim = function(s) { - var l = s.length; - var r = 0; - while(r < l && StringTools.isSpace(s,r)) ++r; - if(r > 0) { - return HxOverrides.substr(s,r,l - r); - } else { - return s; - } -}; -StringTools.rtrim = function(s) { - var l = s.length; - var r = 0; - while(r < l && StringTools.isSpace(s,l - r - 1)) ++r; - if(r > 0) { - return HxOverrides.substr(s,0,l - r); - } else { - return s; - } -}; -StringTools.trim = function(s) { - return StringTools.ltrim(StringTools.rtrim(s)); -}; -StringTools.replace = function(s,sub,by) { - return s.split(sub).join(by); -}; -var haxe_Exception = function(message,previous,native) { - Error.call(this,message); - this.message = message; - this.__previousException = previous; - this.__nativeException = native != null ? native : this; -}; -haxe_Exception.__name__ = true; -haxe_Exception.caught = function(value) { - if(((value) instanceof haxe_Exception)) { - return value; - } else if(((value) instanceof Error)) { - return new haxe_Exception(value.message,null,value); - } else { - return new haxe_ValueException(value,null,value); - } -}; -haxe_Exception.thrown = function(value) { - if(((value) instanceof haxe_Exception)) { - return value.get_native(); - } else if(((value) instanceof Error)) { - return value; - } else { - var e = new haxe_ValueException(value); - return e; - } -}; -haxe_Exception.__super__ = Error; -haxe_Exception.prototype = $extend(Error.prototype,{ - unwrap: function() { - return this.__nativeException; - } - ,get_native: function() { - return this.__nativeException; - } - ,__properties__: {get_native:"get_native"} -}); -var haxe__$Template_TemplateExpr = $hxEnums["haxe._Template.TemplateExpr"] = { __ename__:true,__constructs__:null - ,OpVar: ($_=function(v) { return {_hx_index:0,v:v,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpVar",$_.__params__ = ["v"],$_) - ,OpExpr: ($_=function(expr) { return {_hx_index:1,expr:expr,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpExpr",$_.__params__ = ["expr"],$_) - ,OpIf: ($_=function(expr,eif,eelse) { return {_hx_index:2,expr:expr,eif:eif,eelse:eelse,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpIf",$_.__params__ = ["expr","eif","eelse"],$_) - ,OpStr: ($_=function(str) { return {_hx_index:3,str:str,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpStr",$_.__params__ = ["str"],$_) - ,OpBlock: ($_=function(l) { return {_hx_index:4,l:l,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpBlock",$_.__params__ = ["l"],$_) - ,OpForeach: ($_=function(expr,loop) { return {_hx_index:5,expr:expr,loop:loop,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpForeach",$_.__params__ = ["expr","loop"],$_) - ,OpMacro: ($_=function(name,params) { return {_hx_index:6,name:name,params:params,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpMacro",$_.__params__ = ["name","params"],$_) -}; -haxe__$Template_TemplateExpr.__constructs__ = [haxe__$Template_TemplateExpr.OpVar,haxe__$Template_TemplateExpr.OpExpr,haxe__$Template_TemplateExpr.OpIf,haxe__$Template_TemplateExpr.OpStr,haxe__$Template_TemplateExpr.OpBlock,haxe__$Template_TemplateExpr.OpForeach,haxe__$Template_TemplateExpr.OpMacro]; -var haxe_iterators_ArrayIterator = function(array) { - this.current = 0; - this.array = array; -}; -haxe_iterators_ArrayIterator.__name__ = true; -haxe_iterators_ArrayIterator.prototype = { - hasNext: function() { - return this.current < this.array.length; - } - ,next: function() { - return this.array[this.current++]; - } -}; -var haxe_Template = function(str) { - var tokens = this.parseTokens(str); - this.expr = this.parseBlock(tokens); - if(!tokens.isEmpty()) { - throw haxe_Exception.thrown("Unexpected '" + Std.string(tokens.first().s) + "'"); - } -}; -haxe_Template.__name__ = true; -haxe_Template.prototype = { - execute: function(context,macros) { - this.macros = macros == null ? { } : macros; - this.context = context; - this.stack = new haxe_ds_List(); - this.buf = new StringBuf(); - this.run(this.expr); - return this.buf.b; - } - ,resolve: function(v) { - if(v == "__current__") { - return this.context; - } - if(Reflect.isObject(this.context)) { - var value = Reflect.getProperty(this.context,v); - if(value != null || Object.prototype.hasOwnProperty.call(this.context,v)) { - return value; - } - } - var _g_head = this.stack.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var ctx = val; - var value = Reflect.getProperty(ctx,v); - if(value != null || Object.prototype.hasOwnProperty.call(ctx,v)) { - return value; - } - } - return Reflect.field(haxe_Template.globals,v); - } - ,parseTokens: function(data) { - var tokens = new haxe_ds_List(); - while(haxe_Template.splitter.match(data)) { - var p = haxe_Template.splitter.matchedPos(); - if(p.pos > 0) { - tokens.add({ p : HxOverrides.substr(data,0,p.pos), s : true, l : null}); - } - if(HxOverrides.cca(data,p.pos) == 58) { - tokens.add({ p : HxOverrides.substr(data,p.pos + 2,p.len - 4), s : false, l : null}); - data = haxe_Template.splitter.matchedRight(); - continue; - } - var parp = p.pos + p.len; - var npar = 1; - var params = []; - var part = ""; - while(true) { - var c = HxOverrides.cca(data,parp); - ++parp; - if(c == 40) { - ++npar; - } else if(c == 41) { - --npar; - if(npar <= 0) { - break; - } - } else if(c == null) { - throw haxe_Exception.thrown("Unclosed macro parenthesis"); - } - if(c == 44 && npar == 1) { - params.push(part); - part = ""; - } else { - part += String.fromCodePoint(c); - } - } - params.push(part); - tokens.add({ p : haxe_Template.splitter.matched(2), s : false, l : params}); - data = HxOverrides.substr(data,parp,data.length - parp); - } - if(data.length > 0) { - tokens.add({ p : data, s : true, l : null}); - } - return tokens; - } - ,parseBlock: function(tokens) { - var l = new haxe_ds_List(); - while(true) { - var t = tokens.first(); - if(t == null) { - break; - } - if(!t.s && (t.p == "end" || t.p == "else" || HxOverrides.substr(t.p,0,7) == "elseif ")) { - break; - } - l.add(this.parse(tokens)); - } - if(l.length == 1) { - return l.first(); - } - return haxe__$Template_TemplateExpr.OpBlock(l); - } - ,parse: function(tokens) { - var t = tokens.pop(); - var p = t.p; - if(t.s) { - return haxe__$Template_TemplateExpr.OpStr(p); - } - if(t.l != null) { - var pe = new haxe_ds_List(); - var _g = 0; - var _g1 = t.l; - while(_g < _g1.length) { - var p1 = _g1[_g]; - ++_g; - pe.add(this.parseBlock(this.parseTokens(p1))); - } - return haxe__$Template_TemplateExpr.OpMacro(p,pe); - } - var kwdEnd = function(kwd) { - var pos = -1; - var length = kwd.length; - if(HxOverrides.substr(p,0,length) == kwd) { - pos = length; - var _g_offset = 0; - var _g_s = HxOverrides.substr(p,length,null); - while(_g_offset < _g_s.length) { - var c = _g_s.charCodeAt(_g_offset++); - if(c == 32) { - ++pos; - } else { - break; - } - } - } - return pos; - }; - var pos = kwdEnd("if"); - if(pos > 0) { - p = HxOverrides.substr(p,pos,p.length - pos); - var e = this.parseExpr(p); - var eif = this.parseBlock(tokens); - var t = tokens.first(); - var eelse; - if(t == null) { - throw haxe_Exception.thrown("Unclosed 'if'"); - } - if(t.p == "end") { - tokens.pop(); - eelse = null; - } else if(t.p == "else") { - tokens.pop(); - eelse = this.parseBlock(tokens); - t = tokens.pop(); - if(t == null || t.p != "end") { - throw haxe_Exception.thrown("Unclosed 'else'"); - } - } else { - t.p = HxOverrides.substr(t.p,4,t.p.length - 4); - eelse = this.parse(tokens); - } - return haxe__$Template_TemplateExpr.OpIf(e,eif,eelse); - } - var pos = kwdEnd("foreach"); - if(pos >= 0) { - p = HxOverrides.substr(p,pos,p.length - pos); - var e = this.parseExpr(p); - var efor = this.parseBlock(tokens); - var t = tokens.pop(); - if(t == null || t.p != "end") { - throw haxe_Exception.thrown("Unclosed 'foreach'"); - } - return haxe__$Template_TemplateExpr.OpForeach(e,efor); - } - if(haxe_Template.expr_splitter.match(p)) { - return haxe__$Template_TemplateExpr.OpExpr(this.parseExpr(p)); - } - return haxe__$Template_TemplateExpr.OpVar(p); - } - ,parseExpr: function(data) { - var l = new haxe_ds_List(); - var expr = data; - while(haxe_Template.expr_splitter.match(data)) { - var p = haxe_Template.expr_splitter.matchedPos(); - var k = p.pos + p.len; - if(p.pos != 0) { - l.add({ p : HxOverrides.substr(data,0,p.pos), s : true}); - } - var p1 = haxe_Template.expr_splitter.matched(0); - l.add({ p : p1, s : p1.indexOf("\"") >= 0}); - data = haxe_Template.expr_splitter.matchedRight(); - } - if(data.length != 0) { - var _g_offset = 0; - var _g_s = data; - while(_g_offset < _g_s.length) { - var _g_key = _g_offset; - var _g_value = _g_s.charCodeAt(_g_offset++); - var i = _g_key; - var c = _g_value; - if(c != 32) { - l.add({ p : HxOverrides.substr(data,i,null), s : true}); - break; - } - } - } - var e; - try { - e = this.makeExpr(l); - if(!l.isEmpty()) { - throw haxe_Exception.thrown(l.first().p); - } - } catch( _g ) { - var _g1 = haxe_Exception.caught(_g).unwrap(); - if(typeof(_g1) == "string") { - var s = _g1; - throw haxe_Exception.thrown("Unexpected '" + s + "' in " + expr); - } else { - throw _g; - } - } - return function() { - try { - return e(); - } catch( _g ) { - var exc = haxe_Exception.caught(_g).unwrap(); - throw haxe_Exception.thrown("Error : " + Std.string(exc) + " in " + expr); - } - }; - } - ,makeConst: function(v) { - haxe_Template.expr_trim.match(v); - v = haxe_Template.expr_trim.matched(1); - if(HxOverrides.cca(v,0) == 34) { - var str = HxOverrides.substr(v,1,v.length - 2); - return function() { - return str; - }; - } - if(haxe_Template.expr_int.match(v)) { - var i = Std.parseInt(v); - return function() { - return i; - }; - } - if(haxe_Template.expr_float.match(v)) { - var f = parseFloat(v); - return function() { - return f; - }; - } - var me = this; - return function() { - return me.resolve(v); - }; - } - ,makePath: function(e,l) { - var p = l.first(); - if(p == null || p.p != ".") { - return e; - } - l.pop(); - var field = l.pop(); - if(field == null || !field.s) { - throw haxe_Exception.thrown(field.p); - } - var f = field.p; - haxe_Template.expr_trim.match(f); - f = haxe_Template.expr_trim.matched(1); - return this.makePath(function() { - return Reflect.field(e(),f); - },l); - } - ,makeExpr: function(l) { - return this.makePath(this.makeExpr2(l),l); - } - ,skipSpaces: function(l) { - var p = l.first(); - while(p != null) { - var _g_offset = 0; - var _g_s = p.p; - while(_g_offset < _g_s.length) { - var c = _g_s.charCodeAt(_g_offset++); - if(c != 32) { - return; - } - } - l.pop(); - p = l.first(); - } - } - ,makeExpr2: function(l) { - this.skipSpaces(l); - var p = l.pop(); - this.skipSpaces(l); - if(p == null) { - throw haxe_Exception.thrown(""); - } - if(p.s) { - return this.makeConst(p.p); - } - switch(p.p) { - case "!": - var e = this.makeExpr(l); - return function() { - var v = e(); - if(v != null) { - return v == false; - } else { - return true; - } - }; - case "(": - this.skipSpaces(l); - var e1 = this.makeExpr(l); - this.skipSpaces(l); - var p1 = l.pop(); - if(p1 == null || p1.s) { - throw haxe_Exception.thrown(p1); - } - if(p1.p == ")") { - return e1; - } - this.skipSpaces(l); - var e2 = this.makeExpr(l); - this.skipSpaces(l); - var p2 = l.pop(); - this.skipSpaces(l); - if(p2 == null || p2.p != ")") { - throw haxe_Exception.thrown(p2); - } - switch(p1.p) { - case "!=": - return function() { - return e1() != e2(); - }; - case "&&": - return function() { - return e1() && e2(); - }; - case "*": - return function() { - return e1() * e2(); - }; - case "+": - return function() { - return e1() + e2(); - }; - case "-": - return function() { - return e1() - e2(); - }; - case "/": - return function() { - return e1() / e2(); - }; - case "<": - return function() { - return e1() < e2(); - }; - case "<=": - return function() { - return e1() <= e2(); - }; - case "==": - return function() { - return e1() == e2(); - }; - case ">": - return function() { - return e1() > e2(); - }; - case ">=": - return function() { - return e1() >= e2(); - }; - case "||": - return function() { - return e1() || e2(); - }; - default: - throw haxe_Exception.thrown("Unknown operation " + p1.p); - } - break; - case "-": - var e3 = this.makeExpr(l); - return function() { - return -e3(); - }; - } - throw haxe_Exception.thrown(p.p); - } - ,run: function(e) { - switch(e._hx_index) { - case 0: - var v = e.v; - var _this = this.buf; - var x = Std.string(this.resolve(v)); - _this.b += Std.string(x); - break; - case 1: - var e1 = e.expr; - var _this = this.buf; - var x = Std.string(e1()); - _this.b += Std.string(x); - break; - case 2: - var e1 = e.expr; - var eif = e.eif; - var eelse = e.eelse; - var v = e1(); - if(v == null || v == false) { - if(eelse != null) { - this.run(eelse); - } - } else { - this.run(eif); - } - break; - case 3: - var str = e.str; - this.buf.b += str == null ? "null" : "" + str; - break; - case 4: - var l = e.l; - var _g_head = l.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var e1 = val; - this.run(e1); - } - break; - case 5: - var e1 = e.expr; - var loop = e.loop; - var v = e1(); - try { - var x = $getIterator(v); - if(x.hasNext == null) { - throw haxe_Exception.thrown(null); - } - v = x; - } catch( _g ) { - try { - if(v.hasNext == null) { - throw haxe_Exception.thrown(null); - } - } catch( _g1 ) { - throw haxe_Exception.thrown("Cannot iter on " + Std.string(v)); - } - } - this.stack.push(this.context); - var v1 = v; - var ctx = v1; - while(ctx.hasNext()) { - var ctx1 = ctx.next(); - this.context = ctx1; - this.run(loop); - } - this.context = this.stack.pop(); - break; - case 6: - var m = e.name; - var params = e.params; - var v = Reflect.field(this.macros,m); - var pl = []; - var old = this.buf; - pl.push($bind(this,this.resolve)); - var _g_head = params.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var p = val; - if(p._hx_index == 0) { - var v1 = p.v; - pl.push(this.resolve(v1)); - } else { - this.buf = new StringBuf(); - this.run(p); - pl.push(this.buf.b); - } - } - this.buf = old; - try { - var _this = this.buf; - var x = Std.string(v.apply(this.macros,pl)); - _this.b += Std.string(x); - } catch( _g ) { - var e = haxe_Exception.caught(_g).unwrap(); - var plstr; - try { - plstr = pl.join(","); - } catch( _g1 ) { - plstr = "???"; - } - var msg = "Macro call " + m + "(" + plstr + ") failed (" + Std.string(e) + ")"; - throw haxe_Exception.thrown(msg); - } - break; - } - } -}; -var haxe_ValueException = function(value,previous,native) { - haxe_Exception.call(this,String(value),previous,native); - this.value = value; -}; -haxe_ValueException.__name__ = true; -haxe_ValueException.__super__ = haxe_Exception; -haxe_ValueException.prototype = $extend(haxe_Exception.prototype,{ - unwrap: function() { - return this.value; - } -}); -var haxe_ds_List = function() { - this.length = 0; -}; -haxe_ds_List.__name__ = true; -haxe_ds_List.prototype = { - add: function(item) { - var x = new haxe_ds__$List_ListNode(item,null); - if(this.h == null) { - this.h = x; - } else { - this.q.next = x; - } - this.q = x; - this.length++; - } - ,push: function(item) { - var x = new haxe_ds__$List_ListNode(item,this.h); - this.h = x; - if(this.q == null) { - this.q = x; - } - this.length++; - } - ,first: function() { - if(this.h == null) { - return null; - } else { - return this.h.item; - } - } - ,pop: function() { - if(this.h == null) { - return null; - } - var x = this.h.item; - this.h = this.h.next; - if(this.h == null) { - this.q = null; - } - this.length--; - return x; - } - ,isEmpty: function() { - return this.h == null; - } - ,toString: function() { - var s_b = ""; - var first = true; - var l = this.h; - s_b += "{"; - while(l != null) { - if(first) { - first = false; - } else { - s_b += ", "; - } - s_b += Std.string(Std.string(l.item)); - l = l.next; - } - s_b += "}"; - return s_b; - } -}; -var haxe_ds__$List_ListNode = function(item,next) { - this.item = item; - this.next = next; -}; -haxe_ds__$List_ListNode.__name__ = true; -var js_Boot = function() { }; -js_Boot.__name__ = true; -js_Boot.__string_rec = function(o,s) { - if(o == null) { - return "null"; - } - if(s.length >= 5) { - return "<...>"; - } - var t = typeof(o); - if(t == "function" && (o.__name__ || o.__ename__)) { - t = "object"; - } - switch(t) { - case "function": - return ""; - case "object": - if(o.__enum__) { - var e = $hxEnums[o.__enum__]; - var con = e.__constructs__[o._hx_index]; - var n = con._hx_name; - if(con.__params__) { - s = s + "\t"; - return n + "(" + ((function($this) { - var $r; - var _g = []; - { - var _g1 = 0; - var _g2 = con.__params__; - while(true) { - if(!(_g1 < _g2.length)) { - break; - } - var p = _g2[_g1]; - _g1 = _g1 + 1; - _g.push(js_Boot.__string_rec(o[p],s)); - } - } - $r = _g; - return $r; - }(this))).join(",") + ")"; - } else { - return n; - } - } - if(((o) instanceof Array)) { - var str = "["; - s += "\t"; - var _g = 0; - var _g1 = o.length; - while(_g < _g1) { - var i = _g++; - str += (i > 0 ? "," : "") + js_Boot.__string_rec(o[i],s); - } - str += "]"; - return str; - } - var tostr; - try { - tostr = o.toString; - } catch( _g ) { - return "???"; - } - if(tostr != null && tostr != Object.toString && typeof(tostr) == "function") { - var s2 = o.toString(); - if(s2 != "[object Object]") { - return s2; - } - } - var str = "{\n"; - s += "\t"; - var hasp = o.hasOwnProperty != null; - var k = null; - for( k in o ) { - if(hasp && !o.hasOwnProperty(k)) { - continue; - } - if(k == "prototype" || k == "__class__" || k == "__super__" || k == "__interfaces__" || k == "__properties__") { - continue; - } - if(str.length != 2) { - str += ", \n"; - } - str += s + k + " : " + js_Boot.__string_rec(o[k],s); - } - s = s.substring(1); - str += "\n" + s + "}"; - return str; - case "string": - return o; - default: - return String(o); - } -}; -var xrfragment_Filter = $hx_exports["xrfragment"]["Filter"] = function(str) { - this.q = { }; - this.str = ""; - if(str != null) { - this.parse(str); - } -}; -xrfragment_Filter.__name__ = true; -xrfragment_Filter.prototype = { - toObject: function() { - return Reflect.copy(this.q); - } - ,get: function() { - return Reflect.copy(this.q); - } - ,parse: function(str) { - var token = str.split(" "); - var q = { }; - var process = function(str,prefix) { - if(prefix == null) { - prefix = ""; - } - str = StringTools.trim(str); - var k = str.split("=")[0]; - var v = str.split("=")[1]; - var filter = { }; - if(q[prefix + k]) { - filter = q[prefix + k]; - } - if(xrfragment_XRF.isProp.match(str)) { - var oper = ""; - if(str.indexOf(">") != -1) { - oper = ">"; - } - if(str.indexOf("<") != -1) { - oper = "<"; - } - if(xrfragment_XRF.isExclude.match(k)) { - k = HxOverrides.substr(k,1,null); - } - v = HxOverrides.substr(v,oper.length,null); - if(oper.length == 0) { - oper = "="; - } - var rule = { }; - if(xrfragment_XRF.isNumber.match(v)) { - rule[oper] = parseFloat(v); - } else { - rule[oper] = v; - } - q["expr"] = rule; - } - var value = xrfragment_XRF.isDeep.match(str) ? k.split("*").length - 1 : 0; - q["deep"] = value; - var value = xrfragment_XRF.isExclude.match(str) ? false : true; - q["show"] = value; - var value = k.replace(xrfragment_XRF.operators.r,""); - q["key"] = value; - q["value"] = v; - }; - var _g = 0; - var _g1 = token.length; - while(_g < _g1) { - var i = _g++; - process(token[i]); - } - return this.q = q; - } - ,test: function(obj) { - var qualify = false; - var _g = 0; - var _g1 = Reflect.fields(obj); - while(_g < _g1.length) { - var k = _g1[_g]; - ++_g; - var v = Std.string(Reflect.field(obj,k)); - if(this.testProperty(k,v)) { - qualify = true; - } - } - var _g = 0; - var _g1 = Reflect.fields(obj); - while(_g < _g1.length) { - var k = _g1[_g]; - ++_g; - var v = Std.string(Reflect.field(obj,k)); - if(this.testProperty(k,v,true)) { - qualify = false; - } - } - return qualify; - } - ,testProperty: function(property,value,exclude) { - var conds = 0; - var fails = 0; - var qualify = 0; - var testprop = function(expr) { - conds += 1; - fails += expr ? 0 : 1; - return expr; - }; - if(this.q[value] != null) { - var v = this.q[value]; - if(v[property] != null) { - return v[property]; - } - } - if(Reflect.field(this.q,"expr")) { - var f = Reflect.field(this.q,"expr"); - if(!Reflect.field(this.q,"show")) { - if(Reflect.field(f,"!=") != null && testprop((value == null ? "null" : "" + value) == Std.string(Reflect.field(f,"!="))) && exclude) { - ++qualify; - } - } else { - if(Reflect.field(f,"*") != null && testprop(parseFloat(value) != null)) { - ++qualify; - } - if(Reflect.field(f,">") != null && testprop(parseFloat(value) >= parseFloat(Reflect.field(f,">")))) { - ++qualify; - } - if(Reflect.field(f,"<") != null && testprop(parseFloat(value) <= parseFloat(Reflect.field(f,"<")))) { - ++qualify; - } - if(Reflect.field(f,"=") != null && (testprop(value == Reflect.field(f,"=")) || testprop(parseFloat(value) == parseFloat(Reflect.field(f,"="))))) { - ++qualify; - } - } - } - return qualify > 0; - } -}; -var xrfragment_Parser = $hx_exports["xrfragment"]["Parser"] = function() { }; -xrfragment_Parser.__name__ = true; -xrfragment_Parser.parse = function(key,value,store,index) { - var Frag_h = Object.create(null); - Frag_h["#"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_PREDEFINED_VIEW | xrfragment_XRF.PV_EXECUTE; - Frag_h["src"] = xrfragment_XRF.T_URL; - Frag_h["href"] = xrfragment_XRF.T_URL | xrfragment_XRF.T_PREDEFINED_VIEW; - Frag_h["tag"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["pos"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_VECTOR3 | xrfragment_XRF.T_STRING | xrfragment_XRF.METADATA | xrfragment_XRF.NAVIGATOR; - Frag_h["rot"] = xrfragment_XRF.QUERY_OPERATOR | xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_VECTOR3 | xrfragment_XRF.METADATA | xrfragment_XRF.NAVIGATOR; - Frag_h["t"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_FLOAT | xrfragment_XRF.T_VECTOR2 | xrfragment_XRF.NAVIGATOR | xrfragment_XRF.METADATA; - Frag_h["s"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_MEDIAFRAG; - Frag_h["loop"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_PREDEFINED_VIEW; - Frag_h["uv"] = xrfragment_XRF.T_VECTOR2 | xrfragment_XRF.T_MEDIAFRAG; - Frag_h["namespace"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["SPDX"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["unit"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["description"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - var keyStripped = key.replace(xrfragment_XRF.operators.r,""); - var isPVDynamic = key.length > 0 && !Object.prototype.hasOwnProperty.call(Frag_h,key); - if(isPVDynamic) { - var v = new xrfragment_XRF(key,xrfragment_XRF.PV_EXECUTE | xrfragment_XRF.NAVIGATOR,index); - v.validate(value); - v.flags = xrfragment_XRF.set(xrfragment_XRF.T_DYNAMICKEY,v.flags); - if(!Object.prototype.hasOwnProperty.call(Frag_h,key)) { - v.flags = xrfragment_XRF.set(xrfragment_XRF.CUSTOMFRAG,v.flags); - } - if(value.length == 0) { - v.flags = xrfragment_XRF.set(xrfragment_XRF.T_DYNAMICKEYVALUE,v.flags); - } - store[keyStripped] = v; - return true; - } - var v = new xrfragment_XRF(key,Frag_h[key],index); - if(Object.prototype.hasOwnProperty.call(Frag_h,key)) { - if(!v.validate(value)) { - console.log("src/xrfragment/Parser.hx:67:","⚠ fragment '" + key + "' has incompatible value (" + value + ")"); - return false; - } - store[keyStripped] = v; - if(xrfragment_Parser.debug) { - console.log("src/xrfragment/Parser.hx:71:","✔ " + key + ": " + v.string); - } - } else { - if(typeof(value) == "string") { - v.guessType(v,value); - } - v.flags = xrfragment_XRF.set(xrfragment_XRF.CUSTOMFRAG,v.flags); - store[keyStripped] = v; - } - return true; -}; -xrfragment_Parser.getMetaData = function() { - var meta = { title : ["title","og:title","dc.title"], description : ["aria-description","og:description","dc.description"], author : ["author","dc.creator"], publisher : ["publisher","dc.publisher"], website : ["og:site_name","og:url","dc.publisher"], license : ["SPDX","dc.rights"]}; - return meta; -}; -var xrfragment_URI = $hx_exports["xrfragment"]["URI"] = function() { - this.XRF = { }; - this.hash = { }; - this.fragment = ""; -}; -xrfragment_URI.__name__ = true; -xrfragment_URI.parseFragment = function(url,filter) { - var store = { }; - if(url == null || url.indexOf("#") == -1) { - return store; - } - var fragment = url.split("#"); - var splitArray = fragment[1].split("&"); - var _g = 0; - var _g1 = splitArray.length; - while(_g < _g1) { - var i = _g++; - var splitByEqual = splitArray[i].split("="); - var regexPlus = new EReg("\\+","g"); - var key = splitByEqual[0]; - var value = ""; - if(splitByEqual.length > 1) { - if(xrfragment_XRF.isVector.match(splitByEqual[1])) { - value = splitByEqual[1]; - } else { - var s = regexPlus.split(splitByEqual[1]).join(" "); - value = decodeURIComponent(s.split("+").join(" ")); - } - } - var ok = xrfragment_Parser.parse(key,value,store,i); - } - if(filter != null && filter != 0) { - var _g = 0; - var _g1 = Reflect.fields(store); - while(_g < _g1.length) { - var key = _g1[_g]; - ++_g; - var xrf = store[key]; - if(!xrf.is(filter)) { - Reflect.deleteField(store,key); - } - } - } - return store; -}; -xrfragment_URI.template = function(uri,vars) { - var parts = uri.split("#"); - if(parts.length == 1) { - return uri; - } - var frag = parts[1]; - frag = StringTools.replace(frag,"{","::"); - frag = StringTools.replace(frag,"}","::"); - frag = new haxe_Template(frag).execute(vars); - frag = StringTools.replace(frag,"null",""); - parts[1] = frag; - return parts.join("#"); -}; -xrfragment_URI.parse = function(stringUrl,flags) { - var r = new EReg("^(?:(?![^:@]+:[^:@/]*@)([^:/?#.]+):)?(?://)?((?:(([^:@]*)(?::([^:@]*))?)?@)?([^:/?#]*)(?::(\\d*))?)(((/(?:[^?#](?![^?#/]*\\.[^?#/.]+(?:[?#]|$)))*/?)?([^?#/]*))(?:\\?([^#]*))?(?:#(.*))?)",""); - if(stringUrl.indexOf("://") == -1 && stringUrl.charAt(0) != "/") { - stringUrl = "/" + stringUrl; - } - r.match(stringUrl); - var url = new xrfragment_URI(); - var _g = 0; - var _g1 = xrfragment_URI._parts.length; - while(_g < _g1) { - var i = _g++; - url[xrfragment_URI._parts[i]] = r.matched(i); - } - if(xrfragment_URI.isRelative(url) == true) { - if(url.directory == null && url.host != null) { - url.file = url.host; - } - url.host = ""; - } - url.hash = { }; - if(url.fragment != null && url.fragment.length > 0) { - url.XRF = xrfragment_URI.parseFragment("#" + url.fragment,flags); - var key; - var _g = 0; - var _g1 = Reflect.fields(url.XRF); - while(_g < _g1.length) { - var key = _g1[_g]; - ++_g; - var v = url.XRF[key]; - url.hash[key] = v["string"]; - } - } - xrfragment_URI.computeVars(url); - return url; -}; -xrfragment_URI.computeVars = function(url) { - var r_r = new RegExp("//","g".split("u").join("")); - if(url.directory != null && url.directory.indexOf("//") != -1) { - url.directory = url.directory.replace(r_r,"/"); - } - if(url.path != null && url.path.indexOf("//") != -1) { - url.path = url.path.replace(r_r,"/"); - } - if(url.file != null && url.file.indexOf("//") != -1) { - url.file = url.file.replace(r_r,"/"); - } - url.URN = url.scheme + "://" + url.host; - if(url.port != null) { - url.URN += ":" + url.port; - } - url.URN += url.directory; - if(url.file != null) { - var parts = url.file.split("."); - if(parts.length > 1) { - url.fileExt = parts.pop(); - } - } -}; -xrfragment_URI.toString = function(url) { - var result = ""; - if(url.scheme != null) { - result += url.scheme + "://"; - } - if(url.user != null) { - result += url.user + ":"; - } - if(url.password != null) { - result += url.password + "@"; - } - if(url.host != null) { - result += url.host; - } - if(url.port != null) { - result += ":" + url.port; - } - if(url.directory != null) { - result += url.directory; - } - if(url.file != null) { - result += url.file; - } - if(url.query != null) { - result += "?" + url.query; - } - if(url.fragment != null) { - result += "#" + url.fragment; - } - return result; -}; -xrfragment_URI.appendURI = function(url,appendedURI) { - if(xrfragment_URI.isRelative(url) == true) { - return xrfragment_URI.appendToRelativeURI(url,appendedURI); - } else { - return xrfragment_URI.appendToAbsoluteURI(url,appendedURI); - } -}; -xrfragment_URI.isRelative = function(url) { - return url.scheme == null; -}; -xrfragment_URI.appendToRelativeURI = function(url,appendedURI) { - if(url.directory == null || url.host == null) { - return xrfragment_URI.cloneURI(appendedURI); - } - var resultURI = new xrfragment_URI(); - resultURI.host = url.host; - resultURI.directory = url.directory; - if(appendedURI.host != null) { - resultURI.directory += appendedURI.host; - } - if(appendedURI.directory != null) { - var directory = appendedURI.directory; - if(appendedURI.host == null) { - resultURI.directory += HxOverrides.substr(directory,1,null); - } else { - resultURI.directory += directory; - } - } - if(appendedURI.file != null) { - resultURI.file = appendedURI.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(appendedURI.query != null) { - resultURI.query = appendedURI.query; - } - if(appendedURI.fragment != null) { - resultURI.fragment = appendedURI.fragment; - } - return resultURI; -}; -xrfragment_URI.appendToAbsoluteURI = function(url,appendedURI) { - var resultURI = new xrfragment_URI(); - if(url.scheme != null) { - resultURI.scheme = url.scheme; - } - if(url.host != null) { - resultURI.host = url.host; - } - var directory = ""; - if(url.directory != null) { - directory = url.directory; - } - if(appendedURI.host != null) { - appendedURI.directory += appendedURI.host; - } - if(appendedURI.directory != null) { - directory += appendedURI.directory; - } - resultURI.directory = directory; - if(appendedURI.file != null) { - resultURI.file = appendedURI.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(appendedURI.query != null) { - resultURI.query = appendedURI.query; - } - if(appendedURI.fragment != null) { - resultURI.fragment = appendedURI.fragment; - } - return resultURI; -}; -xrfragment_URI.toAbsolute = function(url,newUrl) { - var newURI = xrfragment_URI.parse(newUrl,0); - var resultURI = new xrfragment_URI(); - resultURI.port = url.port; - resultURI.source = newUrl; - if(newURI.scheme != null) { - resultURI.scheme = newURI.scheme; - } else { - resultURI.scheme = url.scheme; - } - if(newURI.host != null && newURI.host.length > 0) { - resultURI.host = newURI.host; - resultURI.port = null; - resultURI.fragment = null; - resultURI.hash = { }; - resultURI.XRF = { }; - if(newURI.port != null) { - resultURI.port = newURI.port; - } - } else { - resultURI.host = url.host; - } - var directory = ""; - if(url.directory != null) { - directory = url.directory; - } - if(newURI.directory != null) { - if(newUrl.charAt(0) != "/" && newUrl.indexOf("://") == -1) { - var stripRelative_r = new RegExp("\\./.*","".split("u").join("")); - directory = directory.replace(stripRelative_r,""); - directory += newURI.directory; - } else { - directory = newURI.directory; - } - } - resultURI.directory = directory; - if(newURI.file != null) { - resultURI.file = newURI.file; - } else { - resultURI.file = url.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(newURI.query != null) { - resultURI.query = newURI.query; - } - if(newURI.fragment != null) { - resultURI.fragment = newURI.fragment; - } - resultURI.hash = newURI.hash; - resultURI.XRF = newURI.XRF; - xrfragment_URI.computeVars(resultURI); - return resultURI; -}; -xrfragment_URI.cloneURI = function(url) { - var clonedURI = new xrfragment_URI(); - clonedURI.url = url.url; - clonedURI.source = url.source; - clonedURI.scheme = url.scheme; - clonedURI.authority = url.authority; - clonedURI.userInfo = url.userInfo; - clonedURI.password = url.password; - clonedURI.host = url.host; - clonedURI.port = url.port; - clonedURI.relative = url.relative; - clonedURI.path = url.path; - clonedURI.directory = url.directory; - clonedURI.file = url.file; - clonedURI.query = url.query; - clonedURI.fragment = url.fragment; - return clonedURI; -}; -var xrfragment_XRF = $hx_exports["xrfragment"]["XRF"] = function(_fragment,_flags,_index) { - this.floats = []; - this.shift = []; - this.fragment = _fragment; - this.flags = _flags; - this.index = _index; -}; -xrfragment_XRF.__name__ = true; -xrfragment_XRF.set = function(flag,flags) { - return flags | flag; -}; -xrfragment_XRF.unset = function(flag,flags) { - return flags & ~flag; -}; -xrfragment_XRF.prototype = { - is: function(flag) { - var v = this.flags; - if(!(typeof(v) == "number" && ((v | 0) === v))) { - this.flags = 0; - } - return (this.flags & flag) != 0; - } - ,validate: function(value) { - this.guessType(this,value); - var ok = true; - if(value.length == 0 && !this.is(xrfragment_XRF.T_PREDEFINED_VIEW)) { - ok = false; - } - if(!this.is(xrfragment_XRF.T_FLOAT) && this.is(xrfragment_XRF.T_VECTOR2) && !(typeof(this.x) == "number" && typeof(this.y) == "number")) { - ok = false; - } - if(!(this.is(xrfragment_XRF.T_VECTOR2) || this.is(xrfragment_XRF.T_STRING)) && this.is(xrfragment_XRF.T_VECTOR3) && !(typeof(this.x) == "number" && typeof(this.y) == "number" && typeof(this.z) == "number")) { - ok = false; - } - return ok; - } - ,guessType: function(v,str) { - v.string = str; - if(xrfragment_XRF.isReset.match(v.fragment)) { - v.reset = true; - } - if(v.fragment == "loop") { - v.loop = true; - } - if(typeof(str) != "string") { - return; - } - if(str.length > 0) { - if(xrfragment_XRF.isXRFScheme.match(str)) { - v.xrfScheme = true; - str = str.replace(xrfragment_XRF.isXRFScheme.r,""); - v.string = str; - } - if(str.split(",").length > 1) { - var xyzn = str.split(","); - if(xyzn.length > 0) { - v.x = parseFloat(xyzn[0]); - } - if(xyzn.length > 1) { - v.y = parseFloat(xyzn[1]); - } - if(xyzn.length > 2) { - v.z = parseFloat(xyzn[2]); - } - var _g = 0; - var _g1 = xyzn.length; - while(_g < _g1) { - var i = _g++; - v.shift.push(xrfragment_XRF.isShift.match(xyzn[i])); - v.floats.push(parseFloat(xyzn[i].replace(xrfragment_XRF.isShift.r,""))); - } - } - if(xrfragment_XRF.isColor.match(str)) { - v.color = str; - } - if(xrfragment_XRF.isFloat.match(str)) { - v.x = parseFloat(str); - v.float = v.x; - } - if(xrfragment_XRF.isInt.match(str)) { - v.int = Std.parseInt(str); - v.x = v.int; - v.floats.push(v.x); - } - v.filter = new xrfragment_Filter(v.fragment + "=" + v.string); - } else { - v.filter = new xrfragment_Filter(v.fragment); - } - } -}; -function $getIterator(o) { if( o instanceof Array ) return new haxe_iterators_ArrayIterator(o); else return o.iterator(); } -function $bind(o,m) { if( m == null ) return null; if( m.__id__ == null ) m.__id__ = $global.$haxeUID++; var f; if( o.hx__closures__ == null ) o.hx__closures__ = {}; else f = o.hx__closures__[m.__id__]; if( f == null ) { f = m.bind(o); o.hx__closures__[m.__id__] = f; } return f; } -$global.$haxeUID |= 0; -if(typeof(performance) != "undefined" ? typeof(performance.now) == "function" : false) { - HxOverrides.now = performance.now.bind(performance); -} -if( String.fromCodePoint == null ) String.fromCodePoint = function(c) { return c < 0x10000 ? String.fromCharCode(c) : String.fromCharCode((c>>10)+0xD7C0)+String.fromCharCode((c&0x3FF)+0xDC00); } -String.__name__ = true; -Array.__name__ = true; -js_Boot.__toStr = ({ }).toString; -haxe_Template.splitter = new EReg("(::[A-Za-z0-9_ ()&|!+=/><*.\"-]+::|\\$\\$([A-Za-z0-9_-]+)\\()",""); -haxe_Template.expr_splitter = new EReg("(\\(|\\)|[ \r\n\t]*\"[^\"]*\"[ \r\n\t]*|[!+=/><*.&|-]+)",""); -haxe_Template.expr_trim = new EReg("^[ ]*([^ ]+)[ ]*$",""); -haxe_Template.expr_int = new EReg("^[0-9]+$",""); -haxe_Template.expr_float = new EReg("^([+-]?)(?=\\d|,\\d)\\d*(,\\d*)?([Ee]([+-]?\\d+))?$",""); -haxe_Template.globals = { }; -haxe_Template.hxKeepArrayIterator = new haxe_iterators_ArrayIterator([]); -xrfragment_Parser.error = ""; -xrfragment_Parser.debug = false; -xrfragment_URI.__meta__ = { statics : { template : { keep : null}}}; -xrfragment_URI._parts = ["source","scheme","authority","userInfo","user","password","host","port","relative","path","directory","file","query","fragment"]; -xrfragment_XRF.IMMUTABLE = 1; -xrfragment_XRF.PROP_BIND = 2; -xrfragment_XRF.QUERY_OPERATOR = 4; -xrfragment_XRF.PROMPT = 8; -xrfragment_XRF.CUSTOMFRAG = 16; -xrfragment_XRF.NAVIGATOR = 32; -xrfragment_XRF.METADATA = 64; -xrfragment_XRF.PV_OVERRIDE = 128; -xrfragment_XRF.PV_EXECUTE = 256; -xrfragment_XRF.T_COLOR = 8192; -xrfragment_XRF.T_INT = 16384; -xrfragment_XRF.T_FLOAT = 32768; -xrfragment_XRF.T_VECTOR2 = 65536; -xrfragment_XRF.T_VECTOR3 = 131072; -xrfragment_XRF.T_URL = 262144; -xrfragment_XRF.T_PREDEFINED_VIEW = 524288; -xrfragment_XRF.T_STRING = 1048576; -xrfragment_XRF.T_MEDIAFRAG = 2097152; -xrfragment_XRF.T_DYNAMICKEY = 4194304; -xrfragment_XRF.T_DYNAMICKEYVALUE = 8388608; -xrfragment_XRF.isColor = new EReg("^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$",""); -xrfragment_XRF.isInt = new EReg("^[-0-9]+$",""); -xrfragment_XRF.isFloat = new EReg("^[-0-9]+\\.[0-9]+$",""); -xrfragment_XRF.isVector = new EReg("([,]+|\\w)",""); -xrfragment_XRF.isUrl = new EReg("(://)?\\..*",""); -xrfragment_XRF.isUrlOrPretypedView = new EReg("(^#|://)?\\..*",""); -xrfragment_XRF.isString = new EReg(".*",""); -xrfragment_XRF.operators = new EReg("(^[-]|^[!]|[\\*]$)","g"); -xrfragment_XRF.isProp = new EReg("^.*=[><=]?",""); -xrfragment_XRF.isExclude = new EReg("^-",""); -xrfragment_XRF.isDeep = new EReg("\\*",""); -xrfragment_XRF.isNumber = new EReg("^[0-9\\.]+$",""); -xrfragment_XRF.isMediaFrag = new EReg("^([0-9\\.,\\*+-]+)$",""); -xrfragment_XRF.isReset = new EReg("^!",""); -xrfragment_XRF.isShift = new EReg("^(\\+|--)",""); -xrfragment_XRF.isXRFScheme = new EReg("^xrf://",""); -})(typeof window != "undefined" ? window : typeof global != "undefined" ? global : typeof self != "undefined" ? self : this); -var xrfragment = $hx_exports["xrfragment"]; -export default xrfragment; -// Generated by Haxe 4.3.3 -var $hx_exports = typeof exports != "undefined" ? exports : typeof window != "undefined" ? window : typeof self != "undefined" ? self : this; -(function ($global) { "use strict"; -$hx_exports["xrfragment"] = $hx_exports["xrfragment"] || {}; -var $estr = function() { return js_Boot.__string_rec(this,''); },$hxEnums = $hxEnums || {},$_; -function $extend(from, fields) { - var proto = Object.create(from); - for (var name in fields) proto[name] = fields[name]; - if( fields.toString !== Object.prototype.toString ) proto.toString = fields.toString; - return proto; -} -var EReg = function(r,opt) { - this.r = new RegExp(r,opt.split("u").join("")); -}; -EReg.__name__ = true; -EReg.prototype = { - match: function(s) { - if(this.r.global) { - this.r.lastIndex = 0; - } - this.r.m = this.r.exec(s); - this.r.s = s; - return this.r.m != null; - } - ,matched: function(n) { - if(this.r.m != null && n >= 0 && n < this.r.m.length) { - return this.r.m[n]; - } else { - throw haxe_Exception.thrown("EReg::matched"); - } - } - ,matchedRight: function() { - if(this.r.m == null) { - throw haxe_Exception.thrown("No string matched"); - } - var sz = this.r.m.index + this.r.m[0].length; - return HxOverrides.substr(this.r.s,sz,this.r.s.length - sz); - } - ,matchedPos: function() { - if(this.r.m == null) { - throw haxe_Exception.thrown("No string matched"); - } - return { pos : this.r.m.index, len : this.r.m[0].length}; - } - ,split: function(s) { - var d = "#__delim__#"; - return s.replace(this.r,d).split(d); - } -}; -var HxOverrides = function() { }; -HxOverrides.__name__ = true; -HxOverrides.cca = function(s,index) { - var x = s.charCodeAt(index); - if(x != x) { - return undefined; - } - return x; -}; -HxOverrides.substr = function(s,pos,len) { - if(len == null) { - len = s.length; - } else if(len < 0) { - if(pos == 0) { - len = s.length + len; - } else { - return ""; - } - } - return s.substr(pos,len); -}; -HxOverrides.now = function() { - return Date.now(); -}; -Math.__name__ = true; -var Reflect = function() { }; -Reflect.__name__ = true; -Reflect.field = function(o,field) { - try { - return o[field]; - } catch( _g ) { - return null; - } -}; -Reflect.getProperty = function(o,field) { - var tmp; - if(o == null) { - return null; - } else { - var tmp1; - if(o.__properties__) { - tmp = o.__properties__["get_" + field]; - tmp1 = tmp; - } else { - tmp1 = false; - } - if(tmp1) { - return o[tmp](); - } else { - return o[field]; - } - } -}; -Reflect.fields = function(o) { - var a = []; - if(o != null) { - var hasOwnProperty = Object.prototype.hasOwnProperty; - for( var f in o ) { - if(f != "__id__" && f != "hx__closures__" && hasOwnProperty.call(o,f)) { - a.push(f); - } - } - } - return a; -}; -Reflect.isObject = function(v) { - if(v == null) { - return false; - } - var t = typeof(v); - if(!(t == "string" || t == "object" && v.__enum__ == null)) { - if(t == "function") { - return (v.__name__ || v.__ename__) != null; - } else { - return false; - } - } else { - return true; - } -}; -Reflect.deleteField = function(o,field) { - if(!Object.prototype.hasOwnProperty.call(o,field)) { - return false; - } - delete(o[field]); - return true; -}; -Reflect.copy = function(o) { - if(o == null) { - return null; - } - var o2 = { }; - var _g = 0; - var _g1 = Reflect.fields(o); - while(_g < _g1.length) { - var f = _g1[_g]; - ++_g; - o2[f] = Reflect.field(o,f); - } - return o2; -}; -var Std = function() { }; -Std.__name__ = true; -Std.string = function(s) { - return js_Boot.__string_rec(s,""); -}; -Std.parseInt = function(x) { - var v = parseInt(x); - if(isNaN(v)) { - return null; - } - return v; -}; -var StringBuf = function() { - this.b = ""; -}; -StringBuf.__name__ = true; -var StringTools = function() { }; -StringTools.__name__ = true; -StringTools.isSpace = function(s,pos) { - var c = HxOverrides.cca(s,pos); - if(!(c > 8 && c < 14)) { - return c == 32; - } else { - return true; - } -}; -StringTools.ltrim = function(s) { - var l = s.length; - var r = 0; - while(r < l && StringTools.isSpace(s,r)) ++r; - if(r > 0) { - return HxOverrides.substr(s,r,l - r); - } else { - return s; - } -}; -StringTools.rtrim = function(s) { - var l = s.length; - var r = 0; - while(r < l && StringTools.isSpace(s,l - r - 1)) ++r; - if(r > 0) { - return HxOverrides.substr(s,0,l - r); - } else { - return s; - } -}; -StringTools.trim = function(s) { - return StringTools.ltrim(StringTools.rtrim(s)); -}; -StringTools.replace = function(s,sub,by) { - return s.split(sub).join(by); -}; -var haxe_Exception = function(message,previous,native) { - Error.call(this,message); - this.message = message; - this.__previousException = previous; - this.__nativeException = native != null ? native : this; -}; -haxe_Exception.__name__ = true; -haxe_Exception.caught = function(value) { - if(((value) instanceof haxe_Exception)) { - return value; - } else if(((value) instanceof Error)) { - return new haxe_Exception(value.message,null,value); - } else { - return new haxe_ValueException(value,null,value); - } -}; -haxe_Exception.thrown = function(value) { - if(((value) instanceof haxe_Exception)) { - return value.get_native(); - } else if(((value) instanceof Error)) { - return value; - } else { - var e = new haxe_ValueException(value); - return e; - } -}; -haxe_Exception.__super__ = Error; -haxe_Exception.prototype = $extend(Error.prototype,{ - unwrap: function() { - return this.__nativeException; - } - ,get_native: function() { - return this.__nativeException; - } - ,__properties__: {get_native:"get_native"} -}); -var haxe__$Template_TemplateExpr = $hxEnums["haxe._Template.TemplateExpr"] = { __ename__:true,__constructs__:null - ,OpVar: ($_=function(v) { return {_hx_index:0,v:v,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpVar",$_.__params__ = ["v"],$_) - ,OpExpr: ($_=function(expr) { return {_hx_index:1,expr:expr,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpExpr",$_.__params__ = ["expr"],$_) - ,OpIf: ($_=function(expr,eif,eelse) { return {_hx_index:2,expr:expr,eif:eif,eelse:eelse,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpIf",$_.__params__ = ["expr","eif","eelse"],$_) - ,OpStr: ($_=function(str) { return {_hx_index:3,str:str,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpStr",$_.__params__ = ["str"],$_) - ,OpBlock: ($_=function(l) { return {_hx_index:4,l:l,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpBlock",$_.__params__ = ["l"],$_) - ,OpForeach: ($_=function(expr,loop) { return {_hx_index:5,expr:expr,loop:loop,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpForeach",$_.__params__ = ["expr","loop"],$_) - ,OpMacro: ($_=function(name,params) { return {_hx_index:6,name:name,params:params,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpMacro",$_.__params__ = ["name","params"],$_) -}; -haxe__$Template_TemplateExpr.__constructs__ = [haxe__$Template_TemplateExpr.OpVar,haxe__$Template_TemplateExpr.OpExpr,haxe__$Template_TemplateExpr.OpIf,haxe__$Template_TemplateExpr.OpStr,haxe__$Template_TemplateExpr.OpBlock,haxe__$Template_TemplateExpr.OpForeach,haxe__$Template_TemplateExpr.OpMacro]; -var haxe_iterators_ArrayIterator = function(array) { - this.current = 0; - this.array = array; -}; -haxe_iterators_ArrayIterator.__name__ = true; -haxe_iterators_ArrayIterator.prototype = { - hasNext: function() { - return this.current < this.array.length; - } - ,next: function() { - return this.array[this.current++]; - } -}; -var haxe_Template = function(str) { - var tokens = this.parseTokens(str); - this.expr = this.parseBlock(tokens); - if(!tokens.isEmpty()) { - throw haxe_Exception.thrown("Unexpected '" + Std.string(tokens.first().s) + "'"); - } -}; -haxe_Template.__name__ = true; -haxe_Template.prototype = { - execute: function(context,macros) { - this.macros = macros == null ? { } : macros; - this.context = context; - this.stack = new haxe_ds_List(); - this.buf = new StringBuf(); - this.run(this.expr); - return this.buf.b; - } - ,resolve: function(v) { - if(v == "__current__") { - return this.context; - } - if(Reflect.isObject(this.context)) { - var value = Reflect.getProperty(this.context,v); - if(value != null || Object.prototype.hasOwnProperty.call(this.context,v)) { - return value; - } - } - var _g_head = this.stack.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var ctx = val; - var value = Reflect.getProperty(ctx,v); - if(value != null || Object.prototype.hasOwnProperty.call(ctx,v)) { - return value; - } - } - return Reflect.field(haxe_Template.globals,v); - } - ,parseTokens: function(data) { - var tokens = new haxe_ds_List(); - while(haxe_Template.splitter.match(data)) { - var p = haxe_Template.splitter.matchedPos(); - if(p.pos > 0) { - tokens.add({ p : HxOverrides.substr(data,0,p.pos), s : true, l : null}); - } - if(HxOverrides.cca(data,p.pos) == 58) { - tokens.add({ p : HxOverrides.substr(data,p.pos + 2,p.len - 4), s : false, l : null}); - data = haxe_Template.splitter.matchedRight(); - continue; - } - var parp = p.pos + p.len; - var npar = 1; - var params = []; - var part = ""; - while(true) { - var c = HxOverrides.cca(data,parp); - ++parp; - if(c == 40) { - ++npar; - } else if(c == 41) { - --npar; - if(npar <= 0) { - break; - } - } else if(c == null) { - throw haxe_Exception.thrown("Unclosed macro parenthesis"); - } - if(c == 44 && npar == 1) { - params.push(part); - part = ""; - } else { - part += String.fromCodePoint(c); - } - } - params.push(part); - tokens.add({ p : haxe_Template.splitter.matched(2), s : false, l : params}); - data = HxOverrides.substr(data,parp,data.length - parp); - } - if(data.length > 0) { - tokens.add({ p : data, s : true, l : null}); - } - return tokens; - } - ,parseBlock: function(tokens) { - var l = new haxe_ds_List(); - while(true) { - var t = tokens.first(); - if(t == null) { - break; - } - if(!t.s && (t.p == "end" || t.p == "else" || HxOverrides.substr(t.p,0,7) == "elseif ")) { - break; - } - l.add(this.parse(tokens)); - } - if(l.length == 1) { - return l.first(); - } - return haxe__$Template_TemplateExpr.OpBlock(l); - } - ,parse: function(tokens) { - var t = tokens.pop(); - var p = t.p; - if(t.s) { - return haxe__$Template_TemplateExpr.OpStr(p); - } - if(t.l != null) { - var pe = new haxe_ds_List(); - var _g = 0; - var _g1 = t.l; - while(_g < _g1.length) { - var p1 = _g1[_g]; - ++_g; - pe.add(this.parseBlock(this.parseTokens(p1))); - } - return haxe__$Template_TemplateExpr.OpMacro(p,pe); - } - var kwdEnd = function(kwd) { - var pos = -1; - var length = kwd.length; - if(HxOverrides.substr(p,0,length) == kwd) { - pos = length; - var _g_offset = 0; - var _g_s = HxOverrides.substr(p,length,null); - while(_g_offset < _g_s.length) { - var c = _g_s.charCodeAt(_g_offset++); - if(c == 32) { - ++pos; - } else { - break; - } - } - } - return pos; - }; - var pos = kwdEnd("if"); - if(pos > 0) { - p = HxOverrides.substr(p,pos,p.length - pos); - var e = this.parseExpr(p); - var eif = this.parseBlock(tokens); - var t = tokens.first(); - var eelse; - if(t == null) { - throw haxe_Exception.thrown("Unclosed 'if'"); - } - if(t.p == "end") { - tokens.pop(); - eelse = null; - } else if(t.p == "else") { - tokens.pop(); - eelse = this.parseBlock(tokens); - t = tokens.pop(); - if(t == null || t.p != "end") { - throw haxe_Exception.thrown("Unclosed 'else'"); - } - } else { - t.p = HxOverrides.substr(t.p,4,t.p.length - 4); - eelse = this.parse(tokens); - } - return haxe__$Template_TemplateExpr.OpIf(e,eif,eelse); - } - var pos = kwdEnd("foreach"); - if(pos >= 0) { - p = HxOverrides.substr(p,pos,p.length - pos); - var e = this.parseExpr(p); - var efor = this.parseBlock(tokens); - var t = tokens.pop(); - if(t == null || t.p != "end") { - throw haxe_Exception.thrown("Unclosed 'foreach'"); - } - return haxe__$Template_TemplateExpr.OpForeach(e,efor); - } - if(haxe_Template.expr_splitter.match(p)) { - return haxe__$Template_TemplateExpr.OpExpr(this.parseExpr(p)); - } - return haxe__$Template_TemplateExpr.OpVar(p); - } - ,parseExpr: function(data) { - var l = new haxe_ds_List(); - var expr = data; - while(haxe_Template.expr_splitter.match(data)) { - var p = haxe_Template.expr_splitter.matchedPos(); - var k = p.pos + p.len; - if(p.pos != 0) { - l.add({ p : HxOverrides.substr(data,0,p.pos), s : true}); - } - var p1 = haxe_Template.expr_splitter.matched(0); - l.add({ p : p1, s : p1.indexOf("\"") >= 0}); - data = haxe_Template.expr_splitter.matchedRight(); - } - if(data.length != 0) { - var _g_offset = 0; - var _g_s = data; - while(_g_offset < _g_s.length) { - var _g_key = _g_offset; - var _g_value = _g_s.charCodeAt(_g_offset++); - var i = _g_key; - var c = _g_value; - if(c != 32) { - l.add({ p : HxOverrides.substr(data,i,null), s : true}); - break; - } - } - } - var e; - try { - e = this.makeExpr(l); - if(!l.isEmpty()) { - throw haxe_Exception.thrown(l.first().p); - } - } catch( _g ) { - var _g1 = haxe_Exception.caught(_g).unwrap(); - if(typeof(_g1) == "string") { - var s = _g1; - throw haxe_Exception.thrown("Unexpected '" + s + "' in " + expr); - } else { - throw _g; - } - } - return function() { - try { - return e(); - } catch( _g ) { - var exc = haxe_Exception.caught(_g).unwrap(); - throw haxe_Exception.thrown("Error : " + Std.string(exc) + " in " + expr); - } - }; - } - ,makeConst: function(v) { - haxe_Template.expr_trim.match(v); - v = haxe_Template.expr_trim.matched(1); - if(HxOverrides.cca(v,0) == 34) { - var str = HxOverrides.substr(v,1,v.length - 2); - return function() { - return str; - }; - } - if(haxe_Template.expr_int.match(v)) { - var i = Std.parseInt(v); - return function() { - return i; - }; - } - if(haxe_Template.expr_float.match(v)) { - var f = parseFloat(v); - return function() { - return f; - }; - } - var me = this; - return function() { - return me.resolve(v); - }; - } - ,makePath: function(e,l) { - var p = l.first(); - if(p == null || p.p != ".") { - return e; - } - l.pop(); - var field = l.pop(); - if(field == null || !field.s) { - throw haxe_Exception.thrown(field.p); - } - var f = field.p; - haxe_Template.expr_trim.match(f); - f = haxe_Template.expr_trim.matched(1); - return this.makePath(function() { - return Reflect.field(e(),f); - },l); - } - ,makeExpr: function(l) { - return this.makePath(this.makeExpr2(l),l); - } - ,skipSpaces: function(l) { - var p = l.first(); - while(p != null) { - var _g_offset = 0; - var _g_s = p.p; - while(_g_offset < _g_s.length) { - var c = _g_s.charCodeAt(_g_offset++); - if(c != 32) { - return; - } - } - l.pop(); - p = l.first(); - } - } - ,makeExpr2: function(l) { - this.skipSpaces(l); - var p = l.pop(); - this.skipSpaces(l); - if(p == null) { - throw haxe_Exception.thrown(""); - } - if(p.s) { - return this.makeConst(p.p); - } - switch(p.p) { - case "!": - var e = this.makeExpr(l); - return function() { - var v = e(); - if(v != null) { - return v == false; - } else { - return true; - } - }; - case "(": - this.skipSpaces(l); - var e1 = this.makeExpr(l); - this.skipSpaces(l); - var p1 = l.pop(); - if(p1 == null || p1.s) { - throw haxe_Exception.thrown(p1); - } - if(p1.p == ")") { - return e1; - } - this.skipSpaces(l); - var e2 = this.makeExpr(l); - this.skipSpaces(l); - var p2 = l.pop(); - this.skipSpaces(l); - if(p2 == null || p2.p != ")") { - throw haxe_Exception.thrown(p2); - } - switch(p1.p) { - case "!=": - return function() { - return e1() != e2(); - }; - case "&&": - return function() { - return e1() && e2(); - }; - case "*": - return function() { - return e1() * e2(); - }; - case "+": - return function() { - return e1() + e2(); - }; - case "-": - return function() { - return e1() - e2(); - }; - case "/": - return function() { - return e1() / e2(); - }; - case "<": - return function() { - return e1() < e2(); - }; - case "<=": - return function() { - return e1() <= e2(); - }; - case "==": - return function() { - return e1() == e2(); - }; - case ">": - return function() { - return e1() > e2(); - }; - case ">=": - return function() { - return e1() >= e2(); - }; - case "||": - return function() { - return e1() || e2(); - }; - default: - throw haxe_Exception.thrown("Unknown operation " + p1.p); - } - break; - case "-": - var e3 = this.makeExpr(l); - return function() { - return -e3(); - }; - } - throw haxe_Exception.thrown(p.p); - } - ,run: function(e) { - switch(e._hx_index) { - case 0: - var v = e.v; - var _this = this.buf; - var x = Std.string(this.resolve(v)); - _this.b += Std.string(x); - break; - case 1: - var e1 = e.expr; - var _this = this.buf; - var x = Std.string(e1()); - _this.b += Std.string(x); - break; - case 2: - var e1 = e.expr; - var eif = e.eif; - var eelse = e.eelse; - var v = e1(); - if(v == null || v == false) { - if(eelse != null) { - this.run(eelse); - } - } else { - this.run(eif); - } - break; - case 3: - var str = e.str; - this.buf.b += str == null ? "null" : "" + str; - break; - case 4: - var l = e.l; - var _g_head = l.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var e1 = val; - this.run(e1); - } - break; - case 5: - var e1 = e.expr; - var loop = e.loop; - var v = e1(); - try { - var x = $getIterator(v); - if(x.hasNext == null) { - throw haxe_Exception.thrown(null); - } - v = x; - } catch( _g ) { - try { - if(v.hasNext == null) { - throw haxe_Exception.thrown(null); - } - } catch( _g1 ) { - throw haxe_Exception.thrown("Cannot iter on " + Std.string(v)); - } - } - this.stack.push(this.context); - var v1 = v; - var ctx = v1; - while(ctx.hasNext()) { - var ctx1 = ctx.next(); - this.context = ctx1; - this.run(loop); - } - this.context = this.stack.pop(); - break; - case 6: - var m = e.name; - var params = e.params; - var v = Reflect.field(this.macros,m); - var pl = []; - var old = this.buf; - pl.push($bind(this,this.resolve)); - var _g_head = params.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var p = val; - if(p._hx_index == 0) { - var v1 = p.v; - pl.push(this.resolve(v1)); - } else { - this.buf = new StringBuf(); - this.run(p); - pl.push(this.buf.b); - } - } - this.buf = old; - try { - var _this = this.buf; - var x = Std.string(v.apply(this.macros,pl)); - _this.b += Std.string(x); - } catch( _g ) { - var e = haxe_Exception.caught(_g).unwrap(); - var plstr; - try { - plstr = pl.join(","); - } catch( _g1 ) { - plstr = "???"; - } - var msg = "Macro call " + m + "(" + plstr + ") failed (" + Std.string(e) + ")"; - throw haxe_Exception.thrown(msg); - } - break; - } - } -}; -var haxe_ValueException = function(value,previous,native) { - haxe_Exception.call(this,String(value),previous,native); - this.value = value; -}; -haxe_ValueException.__name__ = true; -haxe_ValueException.__super__ = haxe_Exception; -haxe_ValueException.prototype = $extend(haxe_Exception.prototype,{ - unwrap: function() { - return this.value; - } -}); -var haxe_ds_List = function() { - this.length = 0; -}; -haxe_ds_List.__name__ = true; -haxe_ds_List.prototype = { - add: function(item) { - var x = new haxe_ds__$List_ListNode(item,null); - if(this.h == null) { - this.h = x; - } else { - this.q.next = x; - } - this.q = x; - this.length++; - } - ,push: function(item) { - var x = new haxe_ds__$List_ListNode(item,this.h); - this.h = x; - if(this.q == null) { - this.q = x; - } - this.length++; - } - ,first: function() { - if(this.h == null) { - return null; - } else { - return this.h.item; - } - } - ,pop: function() { - if(this.h == null) { - return null; - } - var x = this.h.item; - this.h = this.h.next; - if(this.h == null) { - this.q = null; - } - this.length--; - return x; - } - ,isEmpty: function() { - return this.h == null; - } - ,toString: function() { - var s_b = ""; - var first = true; - var l = this.h; - s_b += "{"; - while(l != null) { - if(first) { - first = false; - } else { - s_b += ", "; - } - s_b += Std.string(Std.string(l.item)); - l = l.next; - } - s_b += "}"; - return s_b; - } -}; -var haxe_ds__$List_ListNode = function(item,next) { - this.item = item; - this.next = next; -}; -haxe_ds__$List_ListNode.__name__ = true; -var js_Boot = function() { }; -js_Boot.__name__ = true; -js_Boot.__string_rec = function(o,s) { - if(o == null) { - return "null"; - } - if(s.length >= 5) { - return "<...>"; - } - var t = typeof(o); - if(t == "function" && (o.__name__ || o.__ename__)) { - t = "object"; - } - switch(t) { - case "function": - return ""; - case "object": - if(o.__enum__) { - var e = $hxEnums[o.__enum__]; - var con = e.__constructs__[o._hx_index]; - var n = con._hx_name; - if(con.__params__) { - s = s + "\t"; - return n + "(" + ((function($this) { - var $r; - var _g = []; - { - var _g1 = 0; - var _g2 = con.__params__; - while(true) { - if(!(_g1 < _g2.length)) { - break; - } - var p = _g2[_g1]; - _g1 = _g1 + 1; - _g.push(js_Boot.__string_rec(o[p],s)); - } - } - $r = _g; - return $r; - }(this))).join(",") + ")"; - } else { - return n; - } - } - if(((o) instanceof Array)) { - var str = "["; - s += "\t"; - var _g = 0; - var _g1 = o.length; - while(_g < _g1) { - var i = _g++; - str += (i > 0 ? "," : "") + js_Boot.__string_rec(o[i],s); - } - str += "]"; - return str; - } - var tostr; - try { - tostr = o.toString; - } catch( _g ) { - return "???"; - } - if(tostr != null && tostr != Object.toString && typeof(tostr) == "function") { - var s2 = o.toString(); - if(s2 != "[object Object]") { - return s2; - } - } - var str = "{\n"; - s += "\t"; - var hasp = o.hasOwnProperty != null; - var k = null; - for( k in o ) { - if(hasp && !o.hasOwnProperty(k)) { - continue; - } - if(k == "prototype" || k == "__class__" || k == "__super__" || k == "__interfaces__" || k == "__properties__") { - continue; - } - if(str.length != 2) { - str += ", \n"; - } - str += s + k + " : " + js_Boot.__string_rec(o[k],s); - } - s = s.substring(1); - str += "\n" + s + "}"; - return str; - case "string": - return o; - default: - return String(o); - } -}; -var xrfragment_Filter = $hx_exports["xrfragment"]["Filter"] = function(str) { - this.q = { }; - this.str = ""; - if(str != null) { - this.parse(str); - } -}; -xrfragment_Filter.__name__ = true; -xrfragment_Filter.prototype = { - toObject: function() { - return Reflect.copy(this.q); - } - ,get: function() { - return Reflect.copy(this.q); - } - ,parse: function(str) { - var token = str.split(" "); - var q = { }; - var process = function(str,prefix) { - if(prefix == null) { - prefix = ""; - } - str = StringTools.trim(str); - var k = str.split("=")[0]; - var v = str.split("=")[1]; - var filter = { }; - if(q[prefix + k]) { - filter = q[prefix + k]; - } - if(xrfragment_XRF.isProp.match(str)) { - var oper = ""; - if(str.indexOf(">") != -1) { - oper = ">"; - } - if(str.indexOf("<") != -1) { - oper = "<"; - } - if(xrfragment_XRF.isExclude.match(k)) { - k = HxOverrides.substr(k,1,null); - } - v = HxOverrides.substr(v,oper.length,null); - if(oper.length == 0) { - oper = "="; - } - var rule = { }; - if(xrfragment_XRF.isNumber.match(v)) { - rule[oper] = parseFloat(v); - } else { - rule[oper] = v; - } - q["expr"] = rule; - } - var value = xrfragment_XRF.isDeep.match(str) ? k.split("*").length - 1 : 0; - q["deep"] = value; - var value = xrfragment_XRF.isExclude.match(str) ? false : true; - q["show"] = value; - var value = k.replace(xrfragment_XRF.operators.r,""); - q["key"] = value; - q["value"] = v; - }; - var _g = 0; - var _g1 = token.length; - while(_g < _g1) { - var i = _g++; - process(token[i]); - } - return this.q = q; - } - ,test: function(obj) { - var qualify = false; - var _g = 0; - var _g1 = Reflect.fields(obj); - while(_g < _g1.length) { - var k = _g1[_g]; - ++_g; - var v = Std.string(Reflect.field(obj,k)); - if(this.testProperty(k,v)) { - qualify = true; - } - } - var _g = 0; - var _g1 = Reflect.fields(obj); - while(_g < _g1.length) { - var k = _g1[_g]; - ++_g; - var v = Std.string(Reflect.field(obj,k)); - if(this.testProperty(k,v,true)) { - qualify = false; - } - } - return qualify; - } - ,testProperty: function(property,value,exclude) { - var conds = 0; - var fails = 0; - var qualify = 0; - var testprop = function(expr) { - conds += 1; - fails += expr ? 0 : 1; - return expr; - }; - if(this.q[value] != null) { - var v = this.q[value]; - if(v[property] != null) { - return v[property]; - } - } - if(Reflect.field(this.q,"expr")) { - var f = Reflect.field(this.q,"expr"); - if(!Reflect.field(this.q,"show")) { - if(Reflect.field(f,"!=") != null && testprop((value == null ? "null" : "" + value) == Std.string(Reflect.field(f,"!="))) && exclude) { - ++qualify; - } - } else { - if(Reflect.field(f,"*") != null && testprop(parseFloat(value) != null)) { - ++qualify; - } - if(Reflect.field(f,">") != null && testprop(parseFloat(value) >= parseFloat(Reflect.field(f,">")))) { - ++qualify; - } - if(Reflect.field(f,"<") != null && testprop(parseFloat(value) <= parseFloat(Reflect.field(f,"<")))) { - ++qualify; - } - if(Reflect.field(f,"=") != null && (testprop(value == Reflect.field(f,"=")) || testprop(parseFloat(value) == parseFloat(Reflect.field(f,"="))))) { - ++qualify; - } - } - } - return qualify > 0; - } -}; -var xrfragment_Parser = $hx_exports["xrfragment"]["Parser"] = function() { }; -xrfragment_Parser.__name__ = true; -xrfragment_Parser.parse = function(key,value,store,index) { - var Frag_h = Object.create(null); - Frag_h["#"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_PREDEFINED_VIEW | xrfragment_XRF.PV_EXECUTE; - Frag_h["src"] = xrfragment_XRF.T_URL; - Frag_h["href"] = xrfragment_XRF.T_URL | xrfragment_XRF.T_PREDEFINED_VIEW; - Frag_h["tag"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["pos"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_VECTOR3 | xrfragment_XRF.T_STRING | xrfragment_XRF.METADATA | xrfragment_XRF.NAVIGATOR; - Frag_h["rot"] = xrfragment_XRF.QUERY_OPERATOR | xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_VECTOR3 | xrfragment_XRF.METADATA | xrfragment_XRF.NAVIGATOR; - Frag_h["t"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_FLOAT | xrfragment_XRF.T_VECTOR2 | xrfragment_XRF.NAVIGATOR | xrfragment_XRF.METADATA; - Frag_h["s"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_MEDIAFRAG; - Frag_h["loop"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_PREDEFINED_VIEW; - Frag_h["uv"] = xrfragment_XRF.T_VECTOR2 | xrfragment_XRF.T_MEDIAFRAG; - Frag_h["namespace"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["SPDX"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["unit"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["description"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - var keyStripped = key.replace(xrfragment_XRF.operators.r,""); - var isPVDynamic = key.length > 0 && !Object.prototype.hasOwnProperty.call(Frag_h,key); - if(isPVDynamic) { - var v = new xrfragment_XRF(key,xrfragment_XRF.PV_EXECUTE | xrfragment_XRF.NAVIGATOR,index); - v.validate(value); - v.flags = xrfragment_XRF.set(xrfragment_XRF.T_DYNAMICKEY,v.flags); - if(!Object.prototype.hasOwnProperty.call(Frag_h,key)) { - v.flags = xrfragment_XRF.set(xrfragment_XRF.CUSTOMFRAG,v.flags); - } - if(value.length == 0) { - v.flags = xrfragment_XRF.set(xrfragment_XRF.T_DYNAMICKEYVALUE,v.flags); - } - store[keyStripped] = v; - return true; - } - var v = new xrfragment_XRF(key,Frag_h[key],index); - if(Object.prototype.hasOwnProperty.call(Frag_h,key)) { - if(!v.validate(value)) { - console.log("src/xrfragment/Parser.hx:67:","⚠ fragment '" + key + "' has incompatible value (" + value + ")"); - return false; - } - store[keyStripped] = v; - if(xrfragment_Parser.debug) { - console.log("src/xrfragment/Parser.hx:71:","✔ " + key + ": " + v.string); - } - } else { - if(typeof(value) == "string") { - v.guessType(v,value); - } - v.flags = xrfragment_XRF.set(xrfragment_XRF.CUSTOMFRAG,v.flags); - store[keyStripped] = v; - } - return true; -}; -xrfragment_Parser.getMetaData = function() { - var meta = { title : ["title","og:title","dc.title"], description : ["aria-description","og:description","dc.description"], author : ["author","dc.creator"], publisher : ["publisher","dc.publisher"], website : ["og:site_name","og:url","dc.publisher"], license : ["SPDX","dc.rights"]}; - return meta; -}; -var xrfragment_URI = $hx_exports["xrfragment"]["URI"] = function() { - this.XRF = { }; - this.hash = { }; - this.fragment = ""; -}; -xrfragment_URI.__name__ = true; -xrfragment_URI.parseFragment = function(url,filter) { - var store = { }; - if(url == null || url.indexOf("#") == -1) { - return store; - } - var fragment = url.split("#"); - var splitArray = fragment[1].split("&"); - var _g = 0; - var _g1 = splitArray.length; - while(_g < _g1) { - var i = _g++; - var splitByEqual = splitArray[i].split("="); - var regexPlus = new EReg("\\+","g"); - var key = splitByEqual[0]; - var value = ""; - if(splitByEqual.length > 1) { - if(xrfragment_XRF.isVector.match(splitByEqual[1])) { - value = splitByEqual[1]; - } else { - var s = regexPlus.split(splitByEqual[1]).join(" "); - value = decodeURIComponent(s.split("+").join(" ")); - } - } - var ok = xrfragment_Parser.parse(key,value,store,i); - } - if(filter != null && filter != 0) { - var _g = 0; - var _g1 = Reflect.fields(store); - while(_g < _g1.length) { - var key = _g1[_g]; - ++_g; - var xrf = store[key]; - if(!xrf.is(filter)) { - Reflect.deleteField(store,key); - } - } - } - return store; -}; -xrfragment_URI.template = function(uri,vars) { - var parts = uri.split("#"); - if(parts.length == 1) { - return uri; - } - var frag = parts[1]; - frag = StringTools.replace(frag,"{","::"); - frag = StringTools.replace(frag,"}","::"); - frag = new haxe_Template(frag).execute(vars); - frag = StringTools.replace(frag,"null",""); - parts[1] = frag; - return parts.join("#"); -}; -xrfragment_URI.parse = function(stringUrl,flags) { - var r = new EReg("^(?:(?![^:@]+:[^:@/]*@)([^:/?#.]+):)?(?://)?((?:(([^:@]*)(?::([^:@]*))?)?@)?([^:/?#]*)(?::(\\d*))?)(((/(?:[^?#](?![^?#/]*\\.[^?#/.]+(?:[?#]|$)))*/?)?([^?#/]*))(?:\\?([^#]*))?(?:#(.*))?)",""); - if(stringUrl.indexOf("://") == -1 && stringUrl.charAt(0) != "/") { - stringUrl = "/" + stringUrl; - } - r.match(stringUrl); - var url = new xrfragment_URI(); - var _g = 0; - var _g1 = xrfragment_URI._parts.length; - while(_g < _g1) { - var i = _g++; - url[xrfragment_URI._parts[i]] = r.matched(i); - } - if(xrfragment_URI.isRelative(url) == true) { - if(url.directory == null && url.host != null) { - url.file = url.host; - } - url.host = ""; - } - url.hash = { }; - if(url.fragment != null && url.fragment.length > 0) { - url.XRF = xrfragment_URI.parseFragment("#" + url.fragment,flags); - var key; - var _g = 0; - var _g1 = Reflect.fields(url.XRF); - while(_g < _g1.length) { - var key = _g1[_g]; - ++_g; - var v = url.XRF[key]; - url.hash[key] = v["string"]; - } - } - xrfragment_URI.computeVars(url); - return url; -}; -xrfragment_URI.computeVars = function(url) { - var r_r = new RegExp("//","g".split("u").join("")); - if(url.directory != null && url.directory.indexOf("//") != -1) { - url.directory = url.directory.replace(r_r,"/"); - } - if(url.path != null && url.path.indexOf("//") != -1) { - url.path = url.path.replace(r_r,"/"); - } - if(url.file != null && url.file.indexOf("//") != -1) { - url.file = url.file.replace(r_r,"/"); - } - url.URN = url.scheme + "://" + url.host; - if(url.port != null) { - url.URN += ":" + url.port; - } - url.URN += url.directory; - if(url.file != null) { - var parts = url.file.split("."); - if(parts.length > 1) { - url.fileExt = parts.pop(); - } - } -}; -xrfragment_URI.toString = function(url) { - var result = ""; - if(url.scheme != null) { - result += url.scheme + "://"; - } - if(url.user != null) { - result += url.user + ":"; - } - if(url.password != null) { - result += url.password + "@"; - } - if(url.host != null) { - result += url.host; - } - if(url.port != null) { - result += ":" + url.port; - } - if(url.directory != null) { - result += url.directory; - } - if(url.file != null) { - result += url.file; - } - if(url.query != null) { - result += "?" + url.query; - } - if(url.fragment != null) { - result += "#" + url.fragment; - } - return result; -}; -xrfragment_URI.appendURI = function(url,appendedURI) { - if(xrfragment_URI.isRelative(url) == true) { - return xrfragment_URI.appendToRelativeURI(url,appendedURI); - } else { - return xrfragment_URI.appendToAbsoluteURI(url,appendedURI); - } -}; -xrfragment_URI.isRelative = function(url) { - return url.scheme == null; -}; -xrfragment_URI.appendToRelativeURI = function(url,appendedURI) { - if(url.directory == null || url.host == null) { - return xrfragment_URI.cloneURI(appendedURI); - } - var resultURI = new xrfragment_URI(); - resultURI.host = url.host; - resultURI.directory = url.directory; - if(appendedURI.host != null) { - resultURI.directory += appendedURI.host; - } - if(appendedURI.directory != null) { - var directory = appendedURI.directory; - if(appendedURI.host == null) { - resultURI.directory += HxOverrides.substr(directory,1,null); - } else { - resultURI.directory += directory; - } - } - if(appendedURI.file != null) { - resultURI.file = appendedURI.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(appendedURI.query != null) { - resultURI.query = appendedURI.query; - } - if(appendedURI.fragment != null) { - resultURI.fragment = appendedURI.fragment; - } - return resultURI; -}; -xrfragment_URI.appendToAbsoluteURI = function(url,appendedURI) { - var resultURI = new xrfragment_URI(); - if(url.scheme != null) { - resultURI.scheme = url.scheme; - } - if(url.host != null) { - resultURI.host = url.host; - } - var directory = ""; - if(url.directory != null) { - directory = url.directory; - } - if(appendedURI.host != null) { - appendedURI.directory += appendedURI.host; - } - if(appendedURI.directory != null) { - directory += appendedURI.directory; - } - resultURI.directory = directory; - if(appendedURI.file != null) { - resultURI.file = appendedURI.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(appendedURI.query != null) { - resultURI.query = appendedURI.query; - } - if(appendedURI.fragment != null) { - resultURI.fragment = appendedURI.fragment; - } - return resultURI; -}; -xrfragment_URI.toAbsolute = function(url,newUrl) { - var newURI = xrfragment_URI.parse(newUrl,0); - var resultURI = new xrfragment_URI(); - resultURI.port = url.port; - resultURI.source = newUrl; - if(newURI.scheme != null) { - resultURI.scheme = newURI.scheme; - } else { - resultURI.scheme = url.scheme; - } - if(newURI.host != null && newURI.host.length > 0) { - resultURI.host = newURI.host; - resultURI.port = null; - resultURI.fragment = null; - resultURI.hash = { }; - resultURI.XRF = { }; - if(newURI.port != null) { - resultURI.port = newURI.port; - } - } else { - resultURI.host = url.host; - } - var directory = ""; - if(url.directory != null) { - directory = url.directory; - } - if(newURI.directory != null) { - if(newUrl.charAt(0) != "/" && newUrl.indexOf("://") == -1) { - var stripRelative_r = new RegExp("\\./.*","".split("u").join("")); - directory = directory.replace(stripRelative_r,""); - directory += newURI.directory; - } else { - directory = newURI.directory; - } - } - resultURI.directory = directory; - if(newURI.file != null) { - resultURI.file = newURI.file; - } else { - resultURI.file = url.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(newURI.query != null) { - resultURI.query = newURI.query; - } - if(newURI.fragment != null) { - resultURI.fragment = newURI.fragment; - } - resultURI.hash = newURI.hash; - resultURI.XRF = newURI.XRF; - xrfragment_URI.computeVars(resultURI); - return resultURI; -}; -xrfragment_URI.cloneURI = function(url) { - var clonedURI = new xrfragment_URI(); - clonedURI.url = url.url; - clonedURI.source = url.source; - clonedURI.scheme = url.scheme; - clonedURI.authority = url.authority; - clonedURI.userInfo = url.userInfo; - clonedURI.password = url.password; - clonedURI.host = url.host; - clonedURI.port = url.port; - clonedURI.relative = url.relative; - clonedURI.path = url.path; - clonedURI.directory = url.directory; - clonedURI.file = url.file; - clonedURI.query = url.query; - clonedURI.fragment = url.fragment; - return clonedURI; -}; -var xrfragment_XRF = $hx_exports["xrfragment"]["XRF"] = function(_fragment,_flags,_index) { - this.floats = []; - this.shift = []; - this.fragment = _fragment; - this.flags = _flags; - this.index = _index; -}; -xrfragment_XRF.__name__ = true; -xrfragment_XRF.set = function(flag,flags) { - return flags | flag; -}; -xrfragment_XRF.unset = function(flag,flags) { - return flags & ~flag; -}; -xrfragment_XRF.prototype = { - is: function(flag) { - var v = this.flags; - if(!(typeof(v) == "number" && ((v | 0) === v))) { - this.flags = 0; - } - return (this.flags & flag) != 0; - } - ,validate: function(value) { - this.guessType(this,value); - var ok = true; - if(value.length == 0 && !this.is(xrfragment_XRF.T_PREDEFINED_VIEW)) { - ok = false; - } - if(!this.is(xrfragment_XRF.T_FLOAT) && this.is(xrfragment_XRF.T_VECTOR2) && !(typeof(this.x) == "number" && typeof(this.y) == "number")) { - ok = false; - } - if(!(this.is(xrfragment_XRF.T_VECTOR2) || this.is(xrfragment_XRF.T_STRING)) && this.is(xrfragment_XRF.T_VECTOR3) && !(typeof(this.x) == "number" && typeof(this.y) == "number" && typeof(this.z) == "number")) { - ok = false; - } - return ok; - } - ,guessType: function(v,str) { - v.string = str; - if(xrfragment_XRF.isReset.match(v.fragment)) { - v.reset = true; - } - if(v.fragment == "loop") { - v.loop = true; - } - if(typeof(str) != "string") { - return; - } - if(str.length > 0) { - if(xrfragment_XRF.isXRFScheme.match(str)) { - v.xrfScheme = true; - str = str.replace(xrfragment_XRF.isXRFScheme.r,""); - v.string = str; - } - if(str.split(",").length > 1) { - var xyzn = str.split(","); - if(xyzn.length > 0) { - v.x = parseFloat(xyzn[0]); - } - if(xyzn.length > 1) { - v.y = parseFloat(xyzn[1]); - } - if(xyzn.length > 2) { - v.z = parseFloat(xyzn[2]); - } - var _g = 0; - var _g1 = xyzn.length; - while(_g < _g1) { - var i = _g++; - v.shift.push(xrfragment_XRF.isShift.match(xyzn[i])); - v.floats.push(parseFloat(xyzn[i].replace(xrfragment_XRF.isShift.r,""))); - } - } - if(xrfragment_XRF.isColor.match(str)) { - v.color = str; - } - if(xrfragment_XRF.isFloat.match(str)) { - v.x = parseFloat(str); - v.float = v.x; - } - if(xrfragment_XRF.isInt.match(str)) { - v.int = Std.parseInt(str); - v.x = v.int; - v.floats.push(v.x); - } - v.filter = new xrfragment_Filter(v.fragment + "=" + v.string); - } else { - v.filter = new xrfragment_Filter(v.fragment); - } - } -}; -function $getIterator(o) { if( o instanceof Array ) return new haxe_iterators_ArrayIterator(o); else return o.iterator(); } -function $bind(o,m) { if( m == null ) return null; if( m.__id__ == null ) m.__id__ = $global.$haxeUID++; var f; if( o.hx__closures__ == null ) o.hx__closures__ = {}; else f = o.hx__closures__[m.__id__]; if( f == null ) { f = m.bind(o); o.hx__closures__[m.__id__] = f; } return f; } -$global.$haxeUID |= 0; -if(typeof(performance) != "undefined" ? typeof(performance.now) == "function" : false) { - HxOverrides.now = performance.now.bind(performance); -} -if( String.fromCodePoint == null ) String.fromCodePoint = function(c) { return c < 0x10000 ? String.fromCharCode(c) : String.fromCharCode((c>>10)+0xD7C0)+String.fromCharCode((c&0x3FF)+0xDC00); } -String.__name__ = true; -Array.__name__ = true; -js_Boot.__toStr = ({ }).toString; -haxe_Template.splitter = new EReg("(::[A-Za-z0-9_ ()&|!+=/><*.\"-]+::|\\$\\$([A-Za-z0-9_-]+)\\()",""); -haxe_Template.expr_splitter = new EReg("(\\(|\\)|[ \r\n\t]*\"[^\"]*\"[ \r\n\t]*|[!+=/><*.&|-]+)",""); -haxe_Template.expr_trim = new EReg("^[ ]*([^ ]+)[ ]*$",""); -haxe_Template.expr_int = new EReg("^[0-9]+$",""); -haxe_Template.expr_float = new EReg("^([+-]?)(?=\\d|,\\d)\\d*(,\\d*)?([Ee]([+-]?\\d+))?$",""); -haxe_Template.globals = { }; -haxe_Template.hxKeepArrayIterator = new haxe_iterators_ArrayIterator([]); -xrfragment_Parser.error = ""; -xrfragment_Parser.debug = false; -xrfragment_URI.__meta__ = { statics : { template : { keep : null}}}; -xrfragment_URI._parts = ["source","scheme","authority","userInfo","user","password","host","port","relative","path","directory","file","query","fragment"]; -xrfragment_XRF.IMMUTABLE = 1; -xrfragment_XRF.PROP_BIND = 2; -xrfragment_XRF.QUERY_OPERATOR = 4; -xrfragment_XRF.PROMPT = 8; -xrfragment_XRF.CUSTOMFRAG = 16; -xrfragment_XRF.NAVIGATOR = 32; -xrfragment_XRF.METADATA = 64; -xrfragment_XRF.PV_OVERRIDE = 128; -xrfragment_XRF.PV_EXECUTE = 256; -xrfragment_XRF.T_COLOR = 8192; -xrfragment_XRF.T_INT = 16384; -xrfragment_XRF.T_FLOAT = 32768; -xrfragment_XRF.T_VECTOR2 = 65536; -xrfragment_XRF.T_VECTOR3 = 131072; -xrfragment_XRF.T_URL = 262144; -xrfragment_XRF.T_PREDEFINED_VIEW = 524288; -xrfragment_XRF.T_STRING = 1048576; -xrfragment_XRF.T_MEDIAFRAG = 2097152; -xrfragment_XRF.T_DYNAMICKEY = 4194304; -xrfragment_XRF.T_DYNAMICKEYVALUE = 8388608; -xrfragment_XRF.isColor = new EReg("^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$",""); -xrfragment_XRF.isInt = new EReg("^[-0-9]+$",""); -xrfragment_XRF.isFloat = new EReg("^[-0-9]+\\.[0-9]+$",""); -xrfragment_XRF.isVector = new EReg("([,]+|\\w)",""); -xrfragment_XRF.isUrl = new EReg("(://)?\\..*",""); -xrfragment_XRF.isUrlOrPretypedView = new EReg("(^#|://)?\\..*",""); -xrfragment_XRF.isString = new EReg(".*",""); -xrfragment_XRF.operators = new EReg("(^[-]|^[!]|[\\*]$)","g"); -xrfragment_XRF.isProp = new EReg("^.*=[><=]?",""); -xrfragment_XRF.isExclude = new EReg("^-",""); -xrfragment_XRF.isDeep = new EReg("\\*",""); -xrfragment_XRF.isNumber = new EReg("^[0-9\\.]+$",""); -xrfragment_XRF.isMediaFrag = new EReg("^([0-9\\.,\\*+-]+)$",""); -xrfragment_XRF.isReset = new EReg("^!",""); -xrfragment_XRF.isShift = new EReg("^(\\+|--)",""); -xrfragment_XRF.isXRFScheme = new EReg("^xrf://",""); -})(typeof window != "undefined" ? window : typeof global != "undefined" ? global : typeof self != "undefined" ? self : this); -var xrfragment = $hx_exports["xrfragment"]; -export default xrfragment; -// Generated by Haxe 4.3.3 -var $hx_exports = typeof exports != "undefined" ? exports : typeof window != "undefined" ? window : typeof self != "undefined" ? self : this; -(function ($global) { "use strict"; -$hx_exports["xrfragment"] = $hx_exports["xrfragment"] || {}; -var $estr = function() { return js_Boot.__string_rec(this,''); },$hxEnums = $hxEnums || {},$_; -function $extend(from, fields) { - var proto = Object.create(from); - for (var name in fields) proto[name] = fields[name]; - if( fields.toString !== Object.prototype.toString ) proto.toString = fields.toString; - return proto; -} -var EReg = function(r,opt) { - this.r = new RegExp(r,opt.split("u").join("")); -}; -EReg.__name__ = true; -EReg.prototype = { - match: function(s) { - if(this.r.global) { - this.r.lastIndex = 0; - } - this.r.m = this.r.exec(s); - this.r.s = s; - return this.r.m != null; - } - ,matched: function(n) { - if(this.r.m != null && n >= 0 && n < this.r.m.length) { - return this.r.m[n]; - } else { - throw haxe_Exception.thrown("EReg::matched"); - } - } - ,matchedRight: function() { - if(this.r.m == null) { - throw haxe_Exception.thrown("No string matched"); - } - var sz = this.r.m.index + this.r.m[0].length; - return HxOverrides.substr(this.r.s,sz,this.r.s.length - sz); - } - ,matchedPos: function() { - if(this.r.m == null) { - throw haxe_Exception.thrown("No string matched"); - } - return { pos : this.r.m.index, len : this.r.m[0].length}; - } - ,split: function(s) { - var d = "#__delim__#"; - return s.replace(this.r,d).split(d); - } -}; -var HxOverrides = function() { }; -HxOverrides.__name__ = true; -HxOverrides.cca = function(s,index) { - var x = s.charCodeAt(index); - if(x != x) { - return undefined; - } - return x; -}; -HxOverrides.substr = function(s,pos,len) { - if(len == null) { - len = s.length; - } else if(len < 0) { - if(pos == 0) { - len = s.length + len; - } else { - return ""; - } - } - return s.substr(pos,len); -}; -HxOverrides.now = function() { - return Date.now(); -}; -Math.__name__ = true; -var Reflect = function() { }; -Reflect.__name__ = true; -Reflect.field = function(o,field) { - try { - return o[field]; - } catch( _g ) { - return null; - } -}; -Reflect.getProperty = function(o,field) { - var tmp; - if(o == null) { - return null; - } else { - var tmp1; - if(o.__properties__) { - tmp = o.__properties__["get_" + field]; - tmp1 = tmp; - } else { - tmp1 = false; - } - if(tmp1) { - return o[tmp](); - } else { - return o[field]; - } - } -}; -Reflect.fields = function(o) { - var a = []; - if(o != null) { - var hasOwnProperty = Object.prototype.hasOwnProperty; - for( var f in o ) { - if(f != "__id__" && f != "hx__closures__" && hasOwnProperty.call(o,f)) { - a.push(f); - } - } - } - return a; -}; -Reflect.isObject = function(v) { - if(v == null) { - return false; - } - var t = typeof(v); - if(!(t == "string" || t == "object" && v.__enum__ == null)) { - if(t == "function") { - return (v.__name__ || v.__ename__) != null; - } else { - return false; - } - } else { - return true; - } -}; -Reflect.deleteField = function(o,field) { - if(!Object.prototype.hasOwnProperty.call(o,field)) { - return false; - } - delete(o[field]); - return true; -}; -Reflect.copy = function(o) { - if(o == null) { - return null; - } - var o2 = { }; - var _g = 0; - var _g1 = Reflect.fields(o); - while(_g < _g1.length) { - var f = _g1[_g]; - ++_g; - o2[f] = Reflect.field(o,f); - } - return o2; -}; -var Std = function() { }; -Std.__name__ = true; -Std.string = function(s) { - return js_Boot.__string_rec(s,""); -}; -Std.parseInt = function(x) { - var v = parseInt(x); - if(isNaN(v)) { - return null; - } - return v; -}; -var StringBuf = function() { - this.b = ""; -}; -StringBuf.__name__ = true; -var StringTools = function() { }; -StringTools.__name__ = true; -StringTools.isSpace = function(s,pos) { - var c = HxOverrides.cca(s,pos); - if(!(c > 8 && c < 14)) { - return c == 32; - } else { - return true; - } -}; -StringTools.ltrim = function(s) { - var l = s.length; - var r = 0; - while(r < l && StringTools.isSpace(s,r)) ++r; - if(r > 0) { - return HxOverrides.substr(s,r,l - r); - } else { - return s; - } -}; -StringTools.rtrim = function(s) { - var l = s.length; - var r = 0; - while(r < l && StringTools.isSpace(s,l - r - 1)) ++r; - if(r > 0) { - return HxOverrides.substr(s,0,l - r); - } else { - return s; - } -}; -StringTools.trim = function(s) { - return StringTools.ltrim(StringTools.rtrim(s)); -}; -StringTools.replace = function(s,sub,by) { - return s.split(sub).join(by); -}; -var haxe_Exception = function(message,previous,native) { - Error.call(this,message); - this.message = message; - this.__previousException = previous; - this.__nativeException = native != null ? native : this; -}; -haxe_Exception.__name__ = true; -haxe_Exception.caught = function(value) { - if(((value) instanceof haxe_Exception)) { - return value; - } else if(((value) instanceof Error)) { - return new haxe_Exception(value.message,null,value); - } else { - return new haxe_ValueException(value,null,value); - } -}; -haxe_Exception.thrown = function(value) { - if(((value) instanceof haxe_Exception)) { - return value.get_native(); - } else if(((value) instanceof Error)) { - return value; - } else { - var e = new haxe_ValueException(value); - return e; - } -}; -haxe_Exception.__super__ = Error; -haxe_Exception.prototype = $extend(Error.prototype,{ - unwrap: function() { - return this.__nativeException; - } - ,get_native: function() { - return this.__nativeException; - } - ,__properties__: {get_native:"get_native"} -}); -var haxe__$Template_TemplateExpr = $hxEnums["haxe._Template.TemplateExpr"] = { __ename__:true,__constructs__:null - ,OpVar: ($_=function(v) { return {_hx_index:0,v:v,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpVar",$_.__params__ = ["v"],$_) - ,OpExpr: ($_=function(expr) { return {_hx_index:1,expr:expr,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpExpr",$_.__params__ = ["expr"],$_) - ,OpIf: ($_=function(expr,eif,eelse) { return {_hx_index:2,expr:expr,eif:eif,eelse:eelse,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpIf",$_.__params__ = ["expr","eif","eelse"],$_) - ,OpStr: ($_=function(str) { return {_hx_index:3,str:str,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpStr",$_.__params__ = ["str"],$_) - ,OpBlock: ($_=function(l) { return {_hx_index:4,l:l,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpBlock",$_.__params__ = ["l"],$_) - ,OpForeach: ($_=function(expr,loop) { return {_hx_index:5,expr:expr,loop:loop,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpForeach",$_.__params__ = ["expr","loop"],$_) - ,OpMacro: ($_=function(name,params) { return {_hx_index:6,name:name,params:params,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpMacro",$_.__params__ = ["name","params"],$_) -}; -haxe__$Template_TemplateExpr.__constructs__ = [haxe__$Template_TemplateExpr.OpVar,haxe__$Template_TemplateExpr.OpExpr,haxe__$Template_TemplateExpr.OpIf,haxe__$Template_TemplateExpr.OpStr,haxe__$Template_TemplateExpr.OpBlock,haxe__$Template_TemplateExpr.OpForeach,haxe__$Template_TemplateExpr.OpMacro]; -var haxe_iterators_ArrayIterator = function(array) { - this.current = 0; - this.array = array; -}; -haxe_iterators_ArrayIterator.__name__ = true; -haxe_iterators_ArrayIterator.prototype = { - hasNext: function() { - return this.current < this.array.length; - } - ,next: function() { - return this.array[this.current++]; - } -}; -var haxe_Template = function(str) { - var tokens = this.parseTokens(str); - this.expr = this.parseBlock(tokens); - if(!tokens.isEmpty()) { - throw haxe_Exception.thrown("Unexpected '" + Std.string(tokens.first().s) + "'"); - } -}; -haxe_Template.__name__ = true; -haxe_Template.prototype = { - execute: function(context,macros) { - this.macros = macros == null ? { } : macros; - this.context = context; - this.stack = new haxe_ds_List(); - this.buf = new StringBuf(); - this.run(this.expr); - return this.buf.b; - } - ,resolve: function(v) { - if(v == "__current__") { - return this.context; - } - if(Reflect.isObject(this.context)) { - var value = Reflect.getProperty(this.context,v); - if(value != null || Object.prototype.hasOwnProperty.call(this.context,v)) { - return value; - } - } - var _g_head = this.stack.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var ctx = val; - var value = Reflect.getProperty(ctx,v); - if(value != null || Object.prototype.hasOwnProperty.call(ctx,v)) { - return value; - } - } - return Reflect.field(haxe_Template.globals,v); - } - ,parseTokens: function(data) { - var tokens = new haxe_ds_List(); - while(haxe_Template.splitter.match(data)) { - var p = haxe_Template.splitter.matchedPos(); - if(p.pos > 0) { - tokens.add({ p : HxOverrides.substr(data,0,p.pos), s : true, l : null}); - } - if(HxOverrides.cca(data,p.pos) == 58) { - tokens.add({ p : HxOverrides.substr(data,p.pos + 2,p.len - 4), s : false, l : null}); - data = haxe_Template.splitter.matchedRight(); - continue; - } - var parp = p.pos + p.len; - var npar = 1; - var params = []; - var part = ""; - while(true) { - var c = HxOverrides.cca(data,parp); - ++parp; - if(c == 40) { - ++npar; - } else if(c == 41) { - --npar; - if(npar <= 0) { - break; - } - } else if(c == null) { - throw haxe_Exception.thrown("Unclosed macro parenthesis"); - } - if(c == 44 && npar == 1) { - params.push(part); - part = ""; - } else { - part += String.fromCodePoint(c); - } - } - params.push(part); - tokens.add({ p : haxe_Template.splitter.matched(2), s : false, l : params}); - data = HxOverrides.substr(data,parp,data.length - parp); - } - if(data.length > 0) { - tokens.add({ p : data, s : true, l : null}); - } - return tokens; - } - ,parseBlock: function(tokens) { - var l = new haxe_ds_List(); - while(true) { - var t = tokens.first(); - if(t == null) { - break; - } - if(!t.s && (t.p == "end" || t.p == "else" || HxOverrides.substr(t.p,0,7) == "elseif ")) { - break; - } - l.add(this.parse(tokens)); - } - if(l.length == 1) { - return l.first(); - } - return haxe__$Template_TemplateExpr.OpBlock(l); - } - ,parse: function(tokens) { - var t = tokens.pop(); - var p = t.p; - if(t.s) { - return haxe__$Template_TemplateExpr.OpStr(p); - } - if(t.l != null) { - var pe = new haxe_ds_List(); - var _g = 0; - var _g1 = t.l; - while(_g < _g1.length) { - var p1 = _g1[_g]; - ++_g; - pe.add(this.parseBlock(this.parseTokens(p1))); - } - return haxe__$Template_TemplateExpr.OpMacro(p,pe); - } - var kwdEnd = function(kwd) { - var pos = -1; - var length = kwd.length; - if(HxOverrides.substr(p,0,length) == kwd) { - pos = length; - var _g_offset = 0; - var _g_s = HxOverrides.substr(p,length,null); - while(_g_offset < _g_s.length) { - var c = _g_s.charCodeAt(_g_offset++); - if(c == 32) { - ++pos; - } else { - break; - } - } - } - return pos; - }; - var pos = kwdEnd("if"); - if(pos > 0) { - p = HxOverrides.substr(p,pos,p.length - pos); - var e = this.parseExpr(p); - var eif = this.parseBlock(tokens); - var t = tokens.first(); - var eelse; - if(t == null) { - throw haxe_Exception.thrown("Unclosed 'if'"); - } - if(t.p == "end") { - tokens.pop(); - eelse = null; - } else if(t.p == "else") { - tokens.pop(); - eelse = this.parseBlock(tokens); - t = tokens.pop(); - if(t == null || t.p != "end") { - throw haxe_Exception.thrown("Unclosed 'else'"); - } - } else { - t.p = HxOverrides.substr(t.p,4,t.p.length - 4); - eelse = this.parse(tokens); - } - return haxe__$Template_TemplateExpr.OpIf(e,eif,eelse); - } - var pos = kwdEnd("foreach"); - if(pos >= 0) { - p = HxOverrides.substr(p,pos,p.length - pos); - var e = this.parseExpr(p); - var efor = this.parseBlock(tokens); - var t = tokens.pop(); - if(t == null || t.p != "end") { - throw haxe_Exception.thrown("Unclosed 'foreach'"); - } - return haxe__$Template_TemplateExpr.OpForeach(e,efor); - } - if(haxe_Template.expr_splitter.match(p)) { - return haxe__$Template_TemplateExpr.OpExpr(this.parseExpr(p)); - } - return haxe__$Template_TemplateExpr.OpVar(p); - } - ,parseExpr: function(data) { - var l = new haxe_ds_List(); - var expr = data; - while(haxe_Template.expr_splitter.match(data)) { - var p = haxe_Template.expr_splitter.matchedPos(); - var k = p.pos + p.len; - if(p.pos != 0) { - l.add({ p : HxOverrides.substr(data,0,p.pos), s : true}); - } - var p1 = haxe_Template.expr_splitter.matched(0); - l.add({ p : p1, s : p1.indexOf("\"") >= 0}); - data = haxe_Template.expr_splitter.matchedRight(); - } - if(data.length != 0) { - var _g_offset = 0; - var _g_s = data; - while(_g_offset < _g_s.length) { - var _g_key = _g_offset; - var _g_value = _g_s.charCodeAt(_g_offset++); - var i = _g_key; - var c = _g_value; - if(c != 32) { - l.add({ p : HxOverrides.substr(data,i,null), s : true}); - break; - } - } - } - var e; - try { - e = this.makeExpr(l); - if(!l.isEmpty()) { - throw haxe_Exception.thrown(l.first().p); - } - } catch( _g ) { - var _g1 = haxe_Exception.caught(_g).unwrap(); - if(typeof(_g1) == "string") { - var s = _g1; - throw haxe_Exception.thrown("Unexpected '" + s + "' in " + expr); - } else { - throw _g; - } - } - return function() { - try { - return e(); - } catch( _g ) { - var exc = haxe_Exception.caught(_g).unwrap(); - throw haxe_Exception.thrown("Error : " + Std.string(exc) + " in " + expr); - } - }; - } - ,makeConst: function(v) { - haxe_Template.expr_trim.match(v); - v = haxe_Template.expr_trim.matched(1); - if(HxOverrides.cca(v,0) == 34) { - var str = HxOverrides.substr(v,1,v.length - 2); - return function() { - return str; - }; - } - if(haxe_Template.expr_int.match(v)) { - var i = Std.parseInt(v); - return function() { - return i; - }; - } - if(haxe_Template.expr_float.match(v)) { - var f = parseFloat(v); - return function() { - return f; - }; - } - var me = this; - return function() { - return me.resolve(v); - }; - } - ,makePath: function(e,l) { - var p = l.first(); - if(p == null || p.p != ".") { - return e; - } - l.pop(); - var field = l.pop(); - if(field == null || !field.s) { - throw haxe_Exception.thrown(field.p); - } - var f = field.p; - haxe_Template.expr_trim.match(f); - f = haxe_Template.expr_trim.matched(1); - return this.makePath(function() { - return Reflect.field(e(),f); - },l); - } - ,makeExpr: function(l) { - return this.makePath(this.makeExpr2(l),l); - } - ,skipSpaces: function(l) { - var p = l.first(); - while(p != null) { - var _g_offset = 0; - var _g_s = p.p; - while(_g_offset < _g_s.length) { - var c = _g_s.charCodeAt(_g_offset++); - if(c != 32) { - return; - } - } - l.pop(); - p = l.first(); - } - } - ,makeExpr2: function(l) { - this.skipSpaces(l); - var p = l.pop(); - this.skipSpaces(l); - if(p == null) { - throw haxe_Exception.thrown(""); - } - if(p.s) { - return this.makeConst(p.p); - } - switch(p.p) { - case "!": - var e = this.makeExpr(l); - return function() { - var v = e(); - if(v != null) { - return v == false; - } else { - return true; - } - }; - case "(": - this.skipSpaces(l); - var e1 = this.makeExpr(l); - this.skipSpaces(l); - var p1 = l.pop(); - if(p1 == null || p1.s) { - throw haxe_Exception.thrown(p1); - } - if(p1.p == ")") { - return e1; - } - this.skipSpaces(l); - var e2 = this.makeExpr(l); - this.skipSpaces(l); - var p2 = l.pop(); - this.skipSpaces(l); - if(p2 == null || p2.p != ")") { - throw haxe_Exception.thrown(p2); - } - switch(p1.p) { - case "!=": - return function() { - return e1() != e2(); - }; - case "&&": - return function() { - return e1() && e2(); - }; - case "*": - return function() { - return e1() * e2(); - }; - case "+": - return function() { - return e1() + e2(); - }; - case "-": - return function() { - return e1() - e2(); - }; - case "/": - return function() { - return e1() / e2(); - }; - case "<": - return function() { - return e1() < e2(); - }; - case "<=": - return function() { - return e1() <= e2(); - }; - case "==": - return function() { - return e1() == e2(); - }; - case ">": - return function() { - return e1() > e2(); - }; - case ">=": - return function() { - return e1() >= e2(); - }; - case "||": - return function() { - return e1() || e2(); - }; - default: - throw haxe_Exception.thrown("Unknown operation " + p1.p); - } - break; - case "-": - var e3 = this.makeExpr(l); - return function() { - return -e3(); - }; - } - throw haxe_Exception.thrown(p.p); - } - ,run: function(e) { - switch(e._hx_index) { - case 0: - var v = e.v; - var _this = this.buf; - var x = Std.string(this.resolve(v)); - _this.b += Std.string(x); - break; - case 1: - var e1 = e.expr; - var _this = this.buf; - var x = Std.string(e1()); - _this.b += Std.string(x); - break; - case 2: - var e1 = e.expr; - var eif = e.eif; - var eelse = e.eelse; - var v = e1(); - if(v == null || v == false) { - if(eelse != null) { - this.run(eelse); - } - } else { - this.run(eif); - } - break; - case 3: - var str = e.str; - this.buf.b += str == null ? "null" : "" + str; - break; - case 4: - var l = e.l; - var _g_head = l.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var e1 = val; - this.run(e1); - } - break; - case 5: - var e1 = e.expr; - var loop = e.loop; - var v = e1(); - try { - var x = $getIterator(v); - if(x.hasNext == null) { - throw haxe_Exception.thrown(null); - } - v = x; - } catch( _g ) { - try { - if(v.hasNext == null) { - throw haxe_Exception.thrown(null); - } - } catch( _g1 ) { - throw haxe_Exception.thrown("Cannot iter on " + Std.string(v)); - } - } - this.stack.push(this.context); - var v1 = v; - var ctx = v1; - while(ctx.hasNext()) { - var ctx1 = ctx.next(); - this.context = ctx1; - this.run(loop); - } - this.context = this.stack.pop(); - break; - case 6: - var m = e.name; - var params = e.params; - var v = Reflect.field(this.macros,m); - var pl = []; - var old = this.buf; - pl.push($bind(this,this.resolve)); - var _g_head = params.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var p = val; - if(p._hx_index == 0) { - var v1 = p.v; - pl.push(this.resolve(v1)); - } else { - this.buf = new StringBuf(); - this.run(p); - pl.push(this.buf.b); - } - } - this.buf = old; - try { - var _this = this.buf; - var x = Std.string(v.apply(this.macros,pl)); - _this.b += Std.string(x); - } catch( _g ) { - var e = haxe_Exception.caught(_g).unwrap(); - var plstr; - try { - plstr = pl.join(","); - } catch( _g1 ) { - plstr = "???"; - } - var msg = "Macro call " + m + "(" + plstr + ") failed (" + Std.string(e) + ")"; - throw haxe_Exception.thrown(msg); - } - break; - } - } -}; -var haxe_ValueException = function(value,previous,native) { - haxe_Exception.call(this,String(value),previous,native); - this.value = value; -}; -haxe_ValueException.__name__ = true; -haxe_ValueException.__super__ = haxe_Exception; -haxe_ValueException.prototype = $extend(haxe_Exception.prototype,{ - unwrap: function() { - return this.value; - } -}); -var haxe_ds_List = function() { - this.length = 0; -}; -haxe_ds_List.__name__ = true; -haxe_ds_List.prototype = { - add: function(item) { - var x = new haxe_ds__$List_ListNode(item,null); - if(this.h == null) { - this.h = x; - } else { - this.q.next = x; - } - this.q = x; - this.length++; - } - ,push: function(item) { - var x = new haxe_ds__$List_ListNode(item,this.h); - this.h = x; - if(this.q == null) { - this.q = x; - } - this.length++; - } - ,first: function() { - if(this.h == null) { - return null; - } else { - return this.h.item; - } - } - ,pop: function() { - if(this.h == null) { - return null; - } - var x = this.h.item; - this.h = this.h.next; - if(this.h == null) { - this.q = null; - } - this.length--; - return x; - } - ,isEmpty: function() { - return this.h == null; - } - ,toString: function() { - var s_b = ""; - var first = true; - var l = this.h; - s_b += "{"; - while(l != null) { - if(first) { - first = false; - } else { - s_b += ", "; - } - s_b += Std.string(Std.string(l.item)); - l = l.next; - } - s_b += "}"; - return s_b; - } -}; -var haxe_ds__$List_ListNode = function(item,next) { - this.item = item; - this.next = next; -}; -haxe_ds__$List_ListNode.__name__ = true; -var js_Boot = function() { }; -js_Boot.__name__ = true; -js_Boot.__string_rec = function(o,s) { - if(o == null) { - return "null"; - } - if(s.length >= 5) { - return "<...>"; - } - var t = typeof(o); - if(t == "function" && (o.__name__ || o.__ename__)) { - t = "object"; - } - switch(t) { - case "function": - return ""; - case "object": - if(o.__enum__) { - var e = $hxEnums[o.__enum__]; - var con = e.__constructs__[o._hx_index]; - var n = con._hx_name; - if(con.__params__) { - s = s + "\t"; - return n + "(" + ((function($this) { - var $r; - var _g = []; - { - var _g1 = 0; - var _g2 = con.__params__; - while(true) { - if(!(_g1 < _g2.length)) { - break; - } - var p = _g2[_g1]; - _g1 = _g1 + 1; - _g.push(js_Boot.__string_rec(o[p],s)); - } - } - $r = _g; - return $r; - }(this))).join(",") + ")"; - } else { - return n; - } - } - if(((o) instanceof Array)) { - var str = "["; - s += "\t"; - var _g = 0; - var _g1 = o.length; - while(_g < _g1) { - var i = _g++; - str += (i > 0 ? "," : "") + js_Boot.__string_rec(o[i],s); - } - str += "]"; - return str; - } - var tostr; - try { - tostr = o.toString; - } catch( _g ) { - return "???"; - } - if(tostr != null && tostr != Object.toString && typeof(tostr) == "function") { - var s2 = o.toString(); - if(s2 != "[object Object]") { - return s2; - } - } - var str = "{\n"; - s += "\t"; - var hasp = o.hasOwnProperty != null; - var k = null; - for( k in o ) { - if(hasp && !o.hasOwnProperty(k)) { - continue; - } - if(k == "prototype" || k == "__class__" || k == "__super__" || k == "__interfaces__" || k == "__properties__") { - continue; - } - if(str.length != 2) { - str += ", \n"; - } - str += s + k + " : " + js_Boot.__string_rec(o[k],s); - } - s = s.substring(1); - str += "\n" + s + "}"; - return str; - case "string": - return o; - default: - return String(o); - } -}; -var xrfragment_Filter = $hx_exports["xrfragment"]["Filter"] = function(str) { - this.q = { }; - this.str = ""; - if(str != null) { - this.parse(str); - } -}; -xrfragment_Filter.__name__ = true; -xrfragment_Filter.prototype = { - toObject: function() { - return Reflect.copy(this.q); - } - ,get: function() { - return Reflect.copy(this.q); - } - ,parse: function(str) { - var token = str.split(" "); - var q = { }; - var process = function(str,prefix) { - if(prefix == null) { - prefix = ""; - } - str = StringTools.trim(str); - var k = str.split("=")[0]; - var v = str.split("=")[1]; - var filter = { }; - if(q[prefix + k]) { - filter = q[prefix + k]; - } - if(xrfragment_XRF.isProp.match(str)) { - var oper = ""; - if(str.indexOf(">") != -1) { - oper = ">"; - } - if(str.indexOf("<") != -1) { - oper = "<"; - } - if(xrfragment_XRF.isExclude.match(k)) { - k = HxOverrides.substr(k,1,null); - } - v = HxOverrides.substr(v,oper.length,null); - if(oper.length == 0) { - oper = "="; - } - var rule = { }; - if(xrfragment_XRF.isNumber.match(v)) { - rule[oper] = parseFloat(v); - } else { - rule[oper] = v; - } - q["expr"] = rule; - } - var value = xrfragment_XRF.isDeep.match(str) ? k.split("*").length - 1 : 0; - q["deep"] = value; - var value = xrfragment_XRF.isExclude.match(str) ? false : true; - q["show"] = value; - var value = k.replace(xrfragment_XRF.operators.r,""); - q["key"] = value; - q["value"] = v; - }; - var _g = 0; - var _g1 = token.length; - while(_g < _g1) { - var i = _g++; - process(token[i]); - } - return this.q = q; - } - ,test: function(obj) { - var qualify = false; - var _g = 0; - var _g1 = Reflect.fields(obj); - while(_g < _g1.length) { - var k = _g1[_g]; - ++_g; - var v = Std.string(Reflect.field(obj,k)); - if(this.testProperty(k,v)) { - qualify = true; - } - } - var _g = 0; - var _g1 = Reflect.fields(obj); - while(_g < _g1.length) { - var k = _g1[_g]; - ++_g; - var v = Std.string(Reflect.field(obj,k)); - if(this.testProperty(k,v,true)) { - qualify = false; - } - } - return qualify; - } - ,testProperty: function(property,value,exclude) { - var conds = 0; - var fails = 0; - var qualify = 0; - var testprop = function(expr) { - conds += 1; - fails += expr ? 0 : 1; - return expr; - }; - if(this.q[value] != null) { - var v = this.q[value]; - if(v[property] != null) { - return v[property]; - } - } - if(Reflect.field(this.q,"expr")) { - var f = Reflect.field(this.q,"expr"); - if(!Reflect.field(this.q,"show")) { - if(Reflect.field(f,"!=") != null && testprop((value == null ? "null" : "" + value) == Std.string(Reflect.field(f,"!="))) && exclude) { - ++qualify; - } - } else { - if(Reflect.field(f,"*") != null && testprop(parseFloat(value) != null)) { - ++qualify; - } - if(Reflect.field(f,">") != null && testprop(parseFloat(value) >= parseFloat(Reflect.field(f,">")))) { - ++qualify; - } - if(Reflect.field(f,"<") != null && testprop(parseFloat(value) <= parseFloat(Reflect.field(f,"<")))) { - ++qualify; - } - if(Reflect.field(f,"=") != null && (testprop(value == Reflect.field(f,"=")) || testprop(parseFloat(value) == parseFloat(Reflect.field(f,"="))))) { - ++qualify; - } - } - } - return qualify > 0; - } -}; -var xrfragment_Parser = $hx_exports["xrfragment"]["Parser"] = function() { }; -xrfragment_Parser.__name__ = true; -xrfragment_Parser.parse = function(key,value,store,index) { - var Frag_h = Object.create(null); - Frag_h["#"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_PREDEFINED_VIEW | xrfragment_XRF.PV_EXECUTE; - Frag_h["src"] = xrfragment_XRF.T_URL; - Frag_h["href"] = xrfragment_XRF.T_URL | xrfragment_XRF.T_PREDEFINED_VIEW; - Frag_h["tag"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["pos"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_VECTOR3 | xrfragment_XRF.T_STRING | xrfragment_XRF.METADATA | xrfragment_XRF.NAVIGATOR; - Frag_h["rot"] = xrfragment_XRF.QUERY_OPERATOR | xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_VECTOR3 | xrfragment_XRF.METADATA | xrfragment_XRF.NAVIGATOR; - Frag_h["t"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_FLOAT | xrfragment_XRF.T_VECTOR2 | xrfragment_XRF.NAVIGATOR | xrfragment_XRF.METADATA; - Frag_h["s"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_MEDIAFRAG; - Frag_h["loop"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_PREDEFINED_VIEW; - Frag_h["uv"] = xrfragment_XRF.T_VECTOR2 | xrfragment_XRF.T_MEDIAFRAG; - Frag_h["namespace"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["SPDX"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["unit"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["description"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - var keyStripped = key.replace(xrfragment_XRF.operators.r,""); - var isPVDynamic = key.length > 0 && !Object.prototype.hasOwnProperty.call(Frag_h,key); - if(isPVDynamic) { - var v = new xrfragment_XRF(key,xrfragment_XRF.PV_EXECUTE | xrfragment_XRF.NAVIGATOR,index); - v.validate(value); - v.flags = xrfragment_XRF.set(xrfragment_XRF.T_DYNAMICKEY,v.flags); - if(!Object.prototype.hasOwnProperty.call(Frag_h,key)) { - v.flags = xrfragment_XRF.set(xrfragment_XRF.CUSTOMFRAG,v.flags); - } - if(value.length == 0) { - v.flags = xrfragment_XRF.set(xrfragment_XRF.T_DYNAMICKEYVALUE,v.flags); - } - store[keyStripped] = v; - return true; - } - var v = new xrfragment_XRF(key,Frag_h[key],index); - if(Object.prototype.hasOwnProperty.call(Frag_h,key)) { - if(!v.validate(value)) { - console.log("src/xrfragment/Parser.hx:67:","⚠ fragment '" + key + "' has incompatible value (" + value + ")"); - return false; - } - store[keyStripped] = v; - if(xrfragment_Parser.debug) { - console.log("src/xrfragment/Parser.hx:71:","✔ " + key + ": " + v.string); - } - } else { - if(typeof(value) == "string") { - v.guessType(v,value); - } - v.flags = xrfragment_XRF.set(xrfragment_XRF.CUSTOMFRAG,v.flags); - store[keyStripped] = v; - } - return true; -}; -xrfragment_Parser.getMetaData = function() { - var meta = { title : ["title","og:title","dc.title"], description : ["aria-description","og:description","dc.description"], author : ["author","dc.creator"], publisher : ["publisher","dc.publisher"], website : ["og:site_name","og:url","dc.publisher"], license : ["SPDX","dc.rights"]}; - return meta; -}; -var xrfragment_URI = $hx_exports["xrfragment"]["URI"] = function() { - this.XRF = { }; - this.hash = { }; - this.fragment = ""; -}; -xrfragment_URI.__name__ = true; -xrfragment_URI.parseFragment = function(url,filter) { - var store = { }; - if(url == null || url.indexOf("#") == -1) { - return store; - } - var fragment = url.split("#"); - var splitArray = fragment[1].split("&"); - var _g = 0; - var _g1 = splitArray.length; - while(_g < _g1) { - var i = _g++; - var splitByEqual = splitArray[i].split("="); - var regexPlus = new EReg("\\+","g"); - var key = splitByEqual[0]; - var value = ""; - if(splitByEqual.length > 1) { - if(xrfragment_XRF.isVector.match(splitByEqual[1])) { - value = splitByEqual[1]; - } else { - var s = regexPlus.split(splitByEqual[1]).join(" "); - value = decodeURIComponent(s.split("+").join(" ")); - } - } - var ok = xrfragment_Parser.parse(key,value,store,i); - } - if(filter != null && filter != 0) { - var _g = 0; - var _g1 = Reflect.fields(store); - while(_g < _g1.length) { - var key = _g1[_g]; - ++_g; - var xrf = store[key]; - if(!xrf.is(filter)) { - Reflect.deleteField(store,key); - } - } - } - return store; -}; -xrfragment_URI.template = function(uri,vars) { - var parts = uri.split("#"); - if(parts.length == 1) { - return uri; - } - var frag = parts[1]; - frag = StringTools.replace(frag,"{","::"); - frag = StringTools.replace(frag,"}","::"); - frag = new haxe_Template(frag).execute(vars); - frag = StringTools.replace(frag,"null",""); - parts[1] = frag; - return parts.join("#"); -}; -xrfragment_URI.parse = function(stringUrl,flags) { - var r = new EReg("^(?:(?![^:@]+:[^:@/]*@)([^:/?#.]+):)?(?://)?((?:(([^:@]*)(?::([^:@]*))?)?@)?([^:/?#]*)(?::(\\d*))?)(((/(?:[^?#](?![^?#/]*\\.[^?#/.]+(?:[?#]|$)))*/?)?([^?#/]*))(?:\\?([^#]*))?(?:#(.*))?)",""); - if(stringUrl.indexOf("://") == -1 && stringUrl.charAt(0) != "/") { - stringUrl = "/" + stringUrl; - } - r.match(stringUrl); - var url = new xrfragment_URI(); - var _g = 0; - var _g1 = xrfragment_URI._parts.length; - while(_g < _g1) { - var i = _g++; - url[xrfragment_URI._parts[i]] = r.matched(i); - } - if(xrfragment_URI.isRelative(url) == true) { - if(url.directory == null && url.host != null) { - url.file = url.host; - } - url.host = ""; - } - url.hash = { }; - if(url.fragment != null && url.fragment.length > 0) { - url.XRF = xrfragment_URI.parseFragment("#" + url.fragment,flags); - var key; - var _g = 0; - var _g1 = Reflect.fields(url.XRF); - while(_g < _g1.length) { - var key = _g1[_g]; - ++_g; - var v = url.XRF[key]; - url.hash[key] = v["string"]; - } - } - xrfragment_URI.computeVars(url); - return url; -}; -xrfragment_URI.computeVars = function(url) { - var r_r = new RegExp("//","g".split("u").join("")); - if(url.directory != null && url.directory.indexOf("//") != -1) { - url.directory = url.directory.replace(r_r,"/"); - } - if(url.path != null && url.path.indexOf("//") != -1) { - url.path = url.path.replace(r_r,"/"); - } - if(url.file != null && url.file.indexOf("//") != -1) { - url.file = url.file.replace(r_r,"/"); - } - url.URN = url.scheme + "://" + url.host; - if(url.port != null) { - url.URN += ":" + url.port; - } - url.URN += url.directory; - if(url.file != null) { - var parts = url.file.split("."); - if(parts.length > 1) { - url.fileExt = parts.pop(); - } - } -}; -xrfragment_URI.toString = function(url) { - var result = ""; - if(url.scheme != null) { - result += url.scheme + "://"; - } - if(url.user != null) { - result += url.user + ":"; - } - if(url.password != null) { - result += url.password + "@"; - } - if(url.host != null) { - result += url.host; - } - if(url.port != null) { - result += ":" + url.port; - } - if(url.directory != null) { - result += url.directory; - } - if(url.file != null) { - result += url.file; - } - if(url.query != null) { - result += "?" + url.query; - } - if(url.fragment != null) { - result += "#" + url.fragment; - } - return result; -}; -xrfragment_URI.appendURI = function(url,appendedURI) { - if(xrfragment_URI.isRelative(url) == true) { - return xrfragment_URI.appendToRelativeURI(url,appendedURI); - } else { - return xrfragment_URI.appendToAbsoluteURI(url,appendedURI); - } -}; -xrfragment_URI.isRelative = function(url) { - return url.scheme == null; -}; -xrfragment_URI.appendToRelativeURI = function(url,appendedURI) { - if(url.directory == null || url.host == null) { - return xrfragment_URI.cloneURI(appendedURI); - } - var resultURI = new xrfragment_URI(); - resultURI.host = url.host; - resultURI.directory = url.directory; - if(appendedURI.host != null) { - resultURI.directory += appendedURI.host; - } - if(appendedURI.directory != null) { - var directory = appendedURI.directory; - if(appendedURI.host == null) { - resultURI.directory += HxOverrides.substr(directory,1,null); - } else { - resultURI.directory += directory; - } - } - if(appendedURI.file != null) { - resultURI.file = appendedURI.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(appendedURI.query != null) { - resultURI.query = appendedURI.query; - } - if(appendedURI.fragment != null) { - resultURI.fragment = appendedURI.fragment; - } - return resultURI; -}; -xrfragment_URI.appendToAbsoluteURI = function(url,appendedURI) { - var resultURI = new xrfragment_URI(); - if(url.scheme != null) { - resultURI.scheme = url.scheme; - } - if(url.host != null) { - resultURI.host = url.host; - } - var directory = ""; - if(url.directory != null) { - directory = url.directory; - } - if(appendedURI.host != null) { - appendedURI.directory += appendedURI.host; - } - if(appendedURI.directory != null) { - directory += appendedURI.directory; - } - resultURI.directory = directory; - if(appendedURI.file != null) { - resultURI.file = appendedURI.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(appendedURI.query != null) { - resultURI.query = appendedURI.query; - } - if(appendedURI.fragment != null) { - resultURI.fragment = appendedURI.fragment; - } - return resultURI; -}; -xrfragment_URI.toAbsolute = function(url,newUrl) { - var newURI = xrfragment_URI.parse(newUrl,0); - var resultURI = new xrfragment_URI(); - resultURI.port = url.port; - resultURI.source = newUrl; - if(newURI.scheme != null) { - resultURI.scheme = newURI.scheme; - } else { - resultURI.scheme = url.scheme; - } - if(newURI.host != null && newURI.host.length > 0) { - resultURI.host = newURI.host; - resultURI.port = null; - resultURI.fragment = null; - resultURI.hash = { }; - resultURI.XRF = { }; - if(newURI.port != null) { - resultURI.port = newURI.port; - } - } else { - resultURI.host = url.host; - } - var directory = ""; - if(url.directory != null) { - directory = url.directory; - } - if(newURI.directory != null) { - if(newUrl.charAt(0) != "/" && newUrl.indexOf("://") == -1) { - var stripRelative_r = new RegExp("\\./.*","".split("u").join("")); - directory = directory.replace(stripRelative_r,""); - directory += newURI.directory; - } else { - directory = newURI.directory; - } - } - resultURI.directory = directory; - if(newURI.file != null) { - resultURI.file = newURI.file; - } else { - resultURI.file = url.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(newURI.query != null) { - resultURI.query = newURI.query; - } - if(newURI.fragment != null) { - resultURI.fragment = newURI.fragment; - } - resultURI.hash = newURI.hash; - resultURI.XRF = newURI.XRF; - xrfragment_URI.computeVars(resultURI); - return resultURI; -}; -xrfragment_URI.cloneURI = function(url) { - var clonedURI = new xrfragment_URI(); - clonedURI.url = url.url; - clonedURI.source = url.source; - clonedURI.scheme = url.scheme; - clonedURI.authority = url.authority; - clonedURI.userInfo = url.userInfo; - clonedURI.password = url.password; - clonedURI.host = url.host; - clonedURI.port = url.port; - clonedURI.relative = url.relative; - clonedURI.path = url.path; - clonedURI.directory = url.directory; - clonedURI.file = url.file; - clonedURI.query = url.query; - clonedURI.fragment = url.fragment; - return clonedURI; -}; -var xrfragment_XRF = $hx_exports["xrfragment"]["XRF"] = function(_fragment,_flags,_index) { - this.floats = []; - this.shift = []; - this.fragment = _fragment; - this.flags = _flags; - this.index = _index; -}; -xrfragment_XRF.__name__ = true; -xrfragment_XRF.set = function(flag,flags) { - return flags | flag; -}; -xrfragment_XRF.unset = function(flag,flags) { - return flags & ~flag; -}; -xrfragment_XRF.prototype = { - is: function(flag) { - var v = this.flags; - if(!(typeof(v) == "number" && ((v | 0) === v))) { - this.flags = 0; - } - return (this.flags & flag) != 0; - } - ,validate: function(value) { - this.guessType(this,value); - var ok = true; - if(value.length == 0 && !this.is(xrfragment_XRF.T_PREDEFINED_VIEW)) { - ok = false; - } - if(!this.is(xrfragment_XRF.T_FLOAT) && this.is(xrfragment_XRF.T_VECTOR2) && !(typeof(this.x) == "number" && typeof(this.y) == "number")) { - ok = false; - } - if(!(this.is(xrfragment_XRF.T_VECTOR2) || this.is(xrfragment_XRF.T_STRING)) && this.is(xrfragment_XRF.T_VECTOR3) && !(typeof(this.x) == "number" && typeof(this.y) == "number" && typeof(this.z) == "number")) { - ok = false; - } - return ok; - } - ,guessType: function(v,str) { - v.string = str; - if(xrfragment_XRF.isReset.match(v.fragment)) { - v.reset = true; - } - if(v.fragment == "loop") { - v.loop = true; - } - if(typeof(str) != "string") { - return; - } - if(str.length > 0) { - if(xrfragment_XRF.isXRFScheme.match(str)) { - v.xrfScheme = true; - str = str.replace(xrfragment_XRF.isXRFScheme.r,""); - v.string = str; - } - if(str.split(",").length > 1) { - var xyzn = str.split(","); - if(xyzn.length > 0) { - v.x = parseFloat(xyzn[0]); - } - if(xyzn.length > 1) { - v.y = parseFloat(xyzn[1]); - } - if(xyzn.length > 2) { - v.z = parseFloat(xyzn[2]); - } - var _g = 0; - var _g1 = xyzn.length; - while(_g < _g1) { - var i = _g++; - v.shift.push(xrfragment_XRF.isShift.match(xyzn[i])); - v.floats.push(parseFloat(xyzn[i].replace(xrfragment_XRF.isShift.r,""))); - } - } - if(xrfragment_XRF.isColor.match(str)) { - v.color = str; - } - if(xrfragment_XRF.isFloat.match(str)) { - v.x = parseFloat(str); - v.float = v.x; - } - if(xrfragment_XRF.isInt.match(str)) { - v.int = Std.parseInt(str); - v.x = v.int; - v.floats.push(v.x); - } - v.filter = new xrfragment_Filter(v.fragment + "=" + v.string); - } else { - v.filter = new xrfragment_Filter(v.fragment); - } - } -}; -function $getIterator(o) { if( o instanceof Array ) return new haxe_iterators_ArrayIterator(o); else return o.iterator(); } -function $bind(o,m) { if( m == null ) return null; if( m.__id__ == null ) m.__id__ = $global.$haxeUID++; var f; if( o.hx__closures__ == null ) o.hx__closures__ = {}; else f = o.hx__closures__[m.__id__]; if( f == null ) { f = m.bind(o); o.hx__closures__[m.__id__] = f; } return f; } -$global.$haxeUID |= 0; -if(typeof(performance) != "undefined" ? typeof(performance.now) == "function" : false) { - HxOverrides.now = performance.now.bind(performance); -} -if( String.fromCodePoint == null ) String.fromCodePoint = function(c) { return c < 0x10000 ? String.fromCharCode(c) : String.fromCharCode((c>>10)+0xD7C0)+String.fromCharCode((c&0x3FF)+0xDC00); } -String.__name__ = true; -Array.__name__ = true; -js_Boot.__toStr = ({ }).toString; -haxe_Template.splitter = new EReg("(::[A-Za-z0-9_ ()&|!+=/><*.\"-]+::|\\$\\$([A-Za-z0-9_-]+)\\()",""); -haxe_Template.expr_splitter = new EReg("(\\(|\\)|[ \r\n\t]*\"[^\"]*\"[ \r\n\t]*|[!+=/><*.&|-]+)",""); -haxe_Template.expr_trim = new EReg("^[ ]*([^ ]+)[ ]*$",""); -haxe_Template.expr_int = new EReg("^[0-9]+$",""); -haxe_Template.expr_float = new EReg("^([+-]?)(?=\\d|,\\d)\\d*(,\\d*)?([Ee]([+-]?\\d+))?$",""); -haxe_Template.globals = { }; -haxe_Template.hxKeepArrayIterator = new haxe_iterators_ArrayIterator([]); -xrfragment_Parser.error = ""; -xrfragment_Parser.debug = false; -xrfragment_URI.__meta__ = { statics : { template : { keep : null}}}; -xrfragment_URI._parts = ["source","scheme","authority","userInfo","user","password","host","port","relative","path","directory","file","query","fragment"]; -xrfragment_XRF.IMMUTABLE = 1; -xrfragment_XRF.PROP_BIND = 2; -xrfragment_XRF.QUERY_OPERATOR = 4; -xrfragment_XRF.PROMPT = 8; -xrfragment_XRF.CUSTOMFRAG = 16; -xrfragment_XRF.NAVIGATOR = 32; -xrfragment_XRF.METADATA = 64; -xrfragment_XRF.PV_OVERRIDE = 128; -xrfragment_XRF.PV_EXECUTE = 256; -xrfragment_XRF.T_COLOR = 8192; -xrfragment_XRF.T_INT = 16384; -xrfragment_XRF.T_FLOAT = 32768; -xrfragment_XRF.T_VECTOR2 = 65536; -xrfragment_XRF.T_VECTOR3 = 131072; -xrfragment_XRF.T_URL = 262144; -xrfragment_XRF.T_PREDEFINED_VIEW = 524288; -xrfragment_XRF.T_STRING = 1048576; -xrfragment_XRF.T_MEDIAFRAG = 2097152; -xrfragment_XRF.T_DYNAMICKEY = 4194304; -xrfragment_XRF.T_DYNAMICKEYVALUE = 8388608; -xrfragment_XRF.isColor = new EReg("^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$",""); -xrfragment_XRF.isInt = new EReg("^[-0-9]+$",""); -xrfragment_XRF.isFloat = new EReg("^[-0-9]+\\.[0-9]+$",""); -xrfragment_XRF.isVector = new EReg("([,]+|\\w)",""); -xrfragment_XRF.isUrl = new EReg("(://)?\\..*",""); -xrfragment_XRF.isUrlOrPretypedView = new EReg("(^#|://)?\\..*",""); -xrfragment_XRF.isString = new EReg(".*",""); -xrfragment_XRF.operators = new EReg("(^[-]|^[!]|[\\*]$)","g"); -xrfragment_XRF.isProp = new EReg("^.*=[><=]?",""); -xrfragment_XRF.isExclude = new EReg("^-",""); -xrfragment_XRF.isDeep = new EReg("\\*",""); -xrfragment_XRF.isNumber = new EReg("^[0-9\\.]+$",""); -xrfragment_XRF.isMediaFrag = new EReg("^([0-9\\.,\\*+-]+)$",""); -xrfragment_XRF.isReset = new EReg("^!",""); -xrfragment_XRF.isShift = new EReg("^(\\+|--)",""); -xrfragment_XRF.isXRFScheme = new EReg("^xrf://",""); -})(typeof window != "undefined" ? window : typeof global != "undefined" ? global : typeof self != "undefined" ? self : this); -var xrfragment = $hx_exports["xrfragment"]; -export default xrfragment; -// Generated by Haxe 4.3.3 -var $hx_exports = typeof exports != "undefined" ? exports : typeof window != "undefined" ? window : typeof self != "undefined" ? self : this; -(function ($global) { "use strict"; -$hx_exports["xrfragment"] = $hx_exports["xrfragment"] || {}; -var $estr = function() { return js_Boot.__string_rec(this,''); },$hxEnums = $hxEnums || {},$_; -function $extend(from, fields) { - var proto = Object.create(from); - for (var name in fields) proto[name] = fields[name]; - if( fields.toString !== Object.prototype.toString ) proto.toString = fields.toString; - return proto; -} -var EReg = function(r,opt) { - this.r = new RegExp(r,opt.split("u").join("")); -}; -EReg.__name__ = true; -EReg.prototype = { - match: function(s) { - if(this.r.global) { - this.r.lastIndex = 0; - } - this.r.m = this.r.exec(s); - this.r.s = s; - return this.r.m != null; - } - ,matched: function(n) { - if(this.r.m != null && n >= 0 && n < this.r.m.length) { - return this.r.m[n]; - } else { - throw haxe_Exception.thrown("EReg::matched"); - } - } - ,matchedRight: function() { - if(this.r.m == null) { - throw haxe_Exception.thrown("No string matched"); - } - var sz = this.r.m.index + this.r.m[0].length; - return HxOverrides.substr(this.r.s,sz,this.r.s.length - sz); - } - ,matchedPos: function() { - if(this.r.m == null) { - throw haxe_Exception.thrown("No string matched"); - } - return { pos : this.r.m.index, len : this.r.m[0].length}; - } - ,split: function(s) { - var d = "#__delim__#"; - return s.replace(this.r,d).split(d); - } -}; -var HxOverrides = function() { }; -HxOverrides.__name__ = true; -HxOverrides.cca = function(s,index) { - var x = s.charCodeAt(index); - if(x != x) { - return undefined; - } - return x; -}; -HxOverrides.substr = function(s,pos,len) { - if(len == null) { - len = s.length; - } else if(len < 0) { - if(pos == 0) { - len = s.length + len; - } else { - return ""; - } - } - return s.substr(pos,len); -}; -HxOverrides.now = function() { - return Date.now(); -}; -Math.__name__ = true; -var Reflect = function() { }; -Reflect.__name__ = true; -Reflect.field = function(o,field) { - try { - return o[field]; - } catch( _g ) { - return null; - } -}; -Reflect.getProperty = function(o,field) { - var tmp; - if(o == null) { - return null; - } else { - var tmp1; - if(o.__properties__) { - tmp = o.__properties__["get_" + field]; - tmp1 = tmp; - } else { - tmp1 = false; - } - if(tmp1) { - return o[tmp](); - } else { - return o[field]; - } - } -}; -Reflect.fields = function(o) { - var a = []; - if(o != null) { - var hasOwnProperty = Object.prototype.hasOwnProperty; - for( var f in o ) { - if(f != "__id__" && f != "hx__closures__" && hasOwnProperty.call(o,f)) { - a.push(f); - } - } - } - return a; -}; -Reflect.isObject = function(v) { - if(v == null) { - return false; - } - var t = typeof(v); - if(!(t == "string" || t == "object" && v.__enum__ == null)) { - if(t == "function") { - return (v.__name__ || v.__ename__) != null; - } else { - return false; - } - } else { - return true; - } -}; -Reflect.deleteField = function(o,field) { - if(!Object.prototype.hasOwnProperty.call(o,field)) { - return false; - } - delete(o[field]); - return true; -}; -Reflect.copy = function(o) { - if(o == null) { - return null; - } - var o2 = { }; - var _g = 0; - var _g1 = Reflect.fields(o); - while(_g < _g1.length) { - var f = _g1[_g]; - ++_g; - o2[f] = Reflect.field(o,f); - } - return o2; -}; -var Std = function() { }; -Std.__name__ = true; -Std.string = function(s) { - return js_Boot.__string_rec(s,""); -}; -Std.parseInt = function(x) { - var v = parseInt(x); - if(isNaN(v)) { - return null; - } - return v; -}; -var StringBuf = function() { - this.b = ""; -}; -StringBuf.__name__ = true; -var StringTools = function() { }; -StringTools.__name__ = true; -StringTools.isSpace = function(s,pos) { - var c = HxOverrides.cca(s,pos); - if(!(c > 8 && c < 14)) { - return c == 32; - } else { - return true; - } -}; -StringTools.ltrim = function(s) { - var l = s.length; - var r = 0; - while(r < l && StringTools.isSpace(s,r)) ++r; - if(r > 0) { - return HxOverrides.substr(s,r,l - r); - } else { - return s; - } -}; -StringTools.rtrim = function(s) { - var l = s.length; - var r = 0; - while(r < l && StringTools.isSpace(s,l - r - 1)) ++r; - if(r > 0) { - return HxOverrides.substr(s,0,l - r); - } else { - return s; - } -}; -StringTools.trim = function(s) { - return StringTools.ltrim(StringTools.rtrim(s)); -}; -StringTools.replace = function(s,sub,by) { - return s.split(sub).join(by); -}; -var haxe_Exception = function(message,previous,native) { - Error.call(this,message); - this.message = message; - this.__previousException = previous; - this.__nativeException = native != null ? native : this; -}; -haxe_Exception.__name__ = true; -haxe_Exception.caught = function(value) { - if(((value) instanceof haxe_Exception)) { - return value; - } else if(((value) instanceof Error)) { - return new haxe_Exception(value.message,null,value); - } else { - return new haxe_ValueException(value,null,value); - } -}; -haxe_Exception.thrown = function(value) { - if(((value) instanceof haxe_Exception)) { - return value.get_native(); - } else if(((value) instanceof Error)) { - return value; - } else { - var e = new haxe_ValueException(value); - return e; - } -}; -haxe_Exception.__super__ = Error; -haxe_Exception.prototype = $extend(Error.prototype,{ - unwrap: function() { - return this.__nativeException; - } - ,get_native: function() { - return this.__nativeException; - } - ,__properties__: {get_native:"get_native"} -}); -var haxe__$Template_TemplateExpr = $hxEnums["haxe._Template.TemplateExpr"] = { __ename__:true,__constructs__:null - ,OpVar: ($_=function(v) { return {_hx_index:0,v:v,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpVar",$_.__params__ = ["v"],$_) - ,OpExpr: ($_=function(expr) { return {_hx_index:1,expr:expr,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpExpr",$_.__params__ = ["expr"],$_) - ,OpIf: ($_=function(expr,eif,eelse) { return {_hx_index:2,expr:expr,eif:eif,eelse:eelse,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpIf",$_.__params__ = ["expr","eif","eelse"],$_) - ,OpStr: ($_=function(str) { return {_hx_index:3,str:str,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpStr",$_.__params__ = ["str"],$_) - ,OpBlock: ($_=function(l) { return {_hx_index:4,l:l,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpBlock",$_.__params__ = ["l"],$_) - ,OpForeach: ($_=function(expr,loop) { return {_hx_index:5,expr:expr,loop:loop,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpForeach",$_.__params__ = ["expr","loop"],$_) - ,OpMacro: ($_=function(name,params) { return {_hx_index:6,name:name,params:params,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpMacro",$_.__params__ = ["name","params"],$_) -}; -haxe__$Template_TemplateExpr.__constructs__ = [haxe__$Template_TemplateExpr.OpVar,haxe__$Template_TemplateExpr.OpExpr,haxe__$Template_TemplateExpr.OpIf,haxe__$Template_TemplateExpr.OpStr,haxe__$Template_TemplateExpr.OpBlock,haxe__$Template_TemplateExpr.OpForeach,haxe__$Template_TemplateExpr.OpMacro]; -var haxe_iterators_ArrayIterator = function(array) { - this.current = 0; - this.array = array; -}; -haxe_iterators_ArrayIterator.__name__ = true; -haxe_iterators_ArrayIterator.prototype = { - hasNext: function() { - return this.current < this.array.length; - } - ,next: function() { - return this.array[this.current++]; - } -}; -var haxe_Template = function(str) { - var tokens = this.parseTokens(str); - this.expr = this.parseBlock(tokens); - if(!tokens.isEmpty()) { - throw haxe_Exception.thrown("Unexpected '" + Std.string(tokens.first().s) + "'"); - } -}; -haxe_Template.__name__ = true; -haxe_Template.prototype = { - execute: function(context,macros) { - this.macros = macros == null ? { } : macros; - this.context = context; - this.stack = new haxe_ds_List(); - this.buf = new StringBuf(); - this.run(this.expr); - return this.buf.b; - } - ,resolve: function(v) { - if(v == "__current__") { - return this.context; - } - if(Reflect.isObject(this.context)) { - var value = Reflect.getProperty(this.context,v); - if(value != null || Object.prototype.hasOwnProperty.call(this.context,v)) { - return value; - } - } - var _g_head = this.stack.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var ctx = val; - var value = Reflect.getProperty(ctx,v); - if(value != null || Object.prototype.hasOwnProperty.call(ctx,v)) { - return value; - } - } - return Reflect.field(haxe_Template.globals,v); - } - ,parseTokens: function(data) { - var tokens = new haxe_ds_List(); - while(haxe_Template.splitter.match(data)) { - var p = haxe_Template.splitter.matchedPos(); - if(p.pos > 0) { - tokens.add({ p : HxOverrides.substr(data,0,p.pos), s : true, l : null}); - } - if(HxOverrides.cca(data,p.pos) == 58) { - tokens.add({ p : HxOverrides.substr(data,p.pos + 2,p.len - 4), s : false, l : null}); - data = haxe_Template.splitter.matchedRight(); - continue; - } - var parp = p.pos + p.len; - var npar = 1; - var params = []; - var part = ""; - while(true) { - var c = HxOverrides.cca(data,parp); - ++parp; - if(c == 40) { - ++npar; - } else if(c == 41) { - --npar; - if(npar <= 0) { - break; - } - } else if(c == null) { - throw haxe_Exception.thrown("Unclosed macro parenthesis"); - } - if(c == 44 && npar == 1) { - params.push(part); - part = ""; - } else { - part += String.fromCodePoint(c); - } - } - params.push(part); - tokens.add({ p : haxe_Template.splitter.matched(2), s : false, l : params}); - data = HxOverrides.substr(data,parp,data.length - parp); - } - if(data.length > 0) { - tokens.add({ p : data, s : true, l : null}); - } - return tokens; - } - ,parseBlock: function(tokens) { - var l = new haxe_ds_List(); - while(true) { - var t = tokens.first(); - if(t == null) { - break; - } - if(!t.s && (t.p == "end" || t.p == "else" || HxOverrides.substr(t.p,0,7) == "elseif ")) { - break; - } - l.add(this.parse(tokens)); - } - if(l.length == 1) { - return l.first(); - } - return haxe__$Template_TemplateExpr.OpBlock(l); - } - ,parse: function(tokens) { - var t = tokens.pop(); - var p = t.p; - if(t.s) { - return haxe__$Template_TemplateExpr.OpStr(p); - } - if(t.l != null) { - var pe = new haxe_ds_List(); - var _g = 0; - var _g1 = t.l; - while(_g < _g1.length) { - var p1 = _g1[_g]; - ++_g; - pe.add(this.parseBlock(this.parseTokens(p1))); - } - return haxe__$Template_TemplateExpr.OpMacro(p,pe); - } - var kwdEnd = function(kwd) { - var pos = -1; - var length = kwd.length; - if(HxOverrides.substr(p,0,length) == kwd) { - pos = length; - var _g_offset = 0; - var _g_s = HxOverrides.substr(p,length,null); - while(_g_offset < _g_s.length) { - var c = _g_s.charCodeAt(_g_offset++); - if(c == 32) { - ++pos; - } else { - break; - } - } - } - return pos; - }; - var pos = kwdEnd("if"); - if(pos > 0) { - p = HxOverrides.substr(p,pos,p.length - pos); - var e = this.parseExpr(p); - var eif = this.parseBlock(tokens); - var t = tokens.first(); - var eelse; - if(t == null) { - throw haxe_Exception.thrown("Unclosed 'if'"); - } - if(t.p == "end") { - tokens.pop(); - eelse = null; - } else if(t.p == "else") { - tokens.pop(); - eelse = this.parseBlock(tokens); - t = tokens.pop(); - if(t == null || t.p != "end") { - throw haxe_Exception.thrown("Unclosed 'else'"); - } - } else { - t.p = HxOverrides.substr(t.p,4,t.p.length - 4); - eelse = this.parse(tokens); - } - return haxe__$Template_TemplateExpr.OpIf(e,eif,eelse); - } - var pos = kwdEnd("foreach"); - if(pos >= 0) { - p = HxOverrides.substr(p,pos,p.length - pos); - var e = this.parseExpr(p); - var efor = this.parseBlock(tokens); - var t = tokens.pop(); - if(t == null || t.p != "end") { - throw haxe_Exception.thrown("Unclosed 'foreach'"); - } - return haxe__$Template_TemplateExpr.OpForeach(e,efor); - } - if(haxe_Template.expr_splitter.match(p)) { - return haxe__$Template_TemplateExpr.OpExpr(this.parseExpr(p)); - } - return haxe__$Template_TemplateExpr.OpVar(p); - } - ,parseExpr: function(data) { - var l = new haxe_ds_List(); - var expr = data; - while(haxe_Template.expr_splitter.match(data)) { - var p = haxe_Template.expr_splitter.matchedPos(); - var k = p.pos + p.len; - if(p.pos != 0) { - l.add({ p : HxOverrides.substr(data,0,p.pos), s : true}); - } - var p1 = haxe_Template.expr_splitter.matched(0); - l.add({ p : p1, s : p1.indexOf("\"") >= 0}); - data = haxe_Template.expr_splitter.matchedRight(); - } - if(data.length != 0) { - var _g_offset = 0; - var _g_s = data; - while(_g_offset < _g_s.length) { - var _g_key = _g_offset; - var _g_value = _g_s.charCodeAt(_g_offset++); - var i = _g_key; - var c = _g_value; - if(c != 32) { - l.add({ p : HxOverrides.substr(data,i,null), s : true}); - break; - } - } - } - var e; - try { - e = this.makeExpr(l); - if(!l.isEmpty()) { - throw haxe_Exception.thrown(l.first().p); - } - } catch( _g ) { - var _g1 = haxe_Exception.caught(_g).unwrap(); - if(typeof(_g1) == "string") { - var s = _g1; - throw haxe_Exception.thrown("Unexpected '" + s + "' in " + expr); - } else { - throw _g; - } - } - return function() { - try { - return e(); - } catch( _g ) { - var exc = haxe_Exception.caught(_g).unwrap(); - throw haxe_Exception.thrown("Error : " + Std.string(exc) + " in " + expr); - } - }; - } - ,makeConst: function(v) { - haxe_Template.expr_trim.match(v); - v = haxe_Template.expr_trim.matched(1); - if(HxOverrides.cca(v,0) == 34) { - var str = HxOverrides.substr(v,1,v.length - 2); - return function() { - return str; - }; - } - if(haxe_Template.expr_int.match(v)) { - var i = Std.parseInt(v); - return function() { - return i; - }; - } - if(haxe_Template.expr_float.match(v)) { - var f = parseFloat(v); - return function() { - return f; - }; - } - var me = this; - return function() { - return me.resolve(v); - }; - } - ,makePath: function(e,l) { - var p = l.first(); - if(p == null || p.p != ".") { - return e; - } - l.pop(); - var field = l.pop(); - if(field == null || !field.s) { - throw haxe_Exception.thrown(field.p); - } - var f = field.p; - haxe_Template.expr_trim.match(f); - f = haxe_Template.expr_trim.matched(1); - return this.makePath(function() { - return Reflect.field(e(),f); - },l); - } - ,makeExpr: function(l) { - return this.makePath(this.makeExpr2(l),l); - } - ,skipSpaces: function(l) { - var p = l.first(); - while(p != null) { - var _g_offset = 0; - var _g_s = p.p; - while(_g_offset < _g_s.length) { - var c = _g_s.charCodeAt(_g_offset++); - if(c != 32) { - return; - } - } - l.pop(); - p = l.first(); - } - } - ,makeExpr2: function(l) { - this.skipSpaces(l); - var p = l.pop(); - this.skipSpaces(l); - if(p == null) { - throw haxe_Exception.thrown(""); - } - if(p.s) { - return this.makeConst(p.p); - } - switch(p.p) { - case "!": - var e = this.makeExpr(l); - return function() { - var v = e(); - if(v != null) { - return v == false; - } else { - return true; - } - }; - case "(": - this.skipSpaces(l); - var e1 = this.makeExpr(l); - this.skipSpaces(l); - var p1 = l.pop(); - if(p1 == null || p1.s) { - throw haxe_Exception.thrown(p1); - } - if(p1.p == ")") { - return e1; - } - this.skipSpaces(l); - var e2 = this.makeExpr(l); - this.skipSpaces(l); - var p2 = l.pop(); - this.skipSpaces(l); - if(p2 == null || p2.p != ")") { - throw haxe_Exception.thrown(p2); - } - switch(p1.p) { - case "!=": - return function() { - return e1() != e2(); - }; - case "&&": - return function() { - return e1() && e2(); - }; - case "*": - return function() { - return e1() * e2(); - }; - case "+": - return function() { - return e1() + e2(); - }; - case "-": - return function() { - return e1() - e2(); - }; - case "/": - return function() { - return e1() / e2(); - }; - case "<": - return function() { - return e1() < e2(); - }; - case "<=": - return function() { - return e1() <= e2(); - }; - case "==": - return function() { - return e1() == e2(); - }; - case ">": - return function() { - return e1() > e2(); - }; - case ">=": - return function() { - return e1() >= e2(); - }; - case "||": - return function() { - return e1() || e2(); - }; - default: - throw haxe_Exception.thrown("Unknown operation " + p1.p); - } - break; - case "-": - var e3 = this.makeExpr(l); - return function() { - return -e3(); - }; - } - throw haxe_Exception.thrown(p.p); - } - ,run: function(e) { - switch(e._hx_index) { - case 0: - var v = e.v; - var _this = this.buf; - var x = Std.string(this.resolve(v)); - _this.b += Std.string(x); - break; - case 1: - var e1 = e.expr; - var _this = this.buf; - var x = Std.string(e1()); - _this.b += Std.string(x); - break; - case 2: - var e1 = e.expr; - var eif = e.eif; - var eelse = e.eelse; - var v = e1(); - if(v == null || v == false) { - if(eelse != null) { - this.run(eelse); - } - } else { - this.run(eif); - } - break; - case 3: - var str = e.str; - this.buf.b += str == null ? "null" : "" + str; - break; - case 4: - var l = e.l; - var _g_head = l.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var e1 = val; - this.run(e1); - } - break; - case 5: - var e1 = e.expr; - var loop = e.loop; - var v = e1(); - try { - var x = $getIterator(v); - if(x.hasNext == null) { - throw haxe_Exception.thrown(null); - } - v = x; - } catch( _g ) { - try { - if(v.hasNext == null) { - throw haxe_Exception.thrown(null); - } - } catch( _g1 ) { - throw haxe_Exception.thrown("Cannot iter on " + Std.string(v)); - } - } - this.stack.push(this.context); - var v1 = v; - var ctx = v1; - while(ctx.hasNext()) { - var ctx1 = ctx.next(); - this.context = ctx1; - this.run(loop); - } - this.context = this.stack.pop(); - break; - case 6: - var m = e.name; - var params = e.params; - var v = Reflect.field(this.macros,m); - var pl = []; - var old = this.buf; - pl.push($bind(this,this.resolve)); - var _g_head = params.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var p = val; - if(p._hx_index == 0) { - var v1 = p.v; - pl.push(this.resolve(v1)); - } else { - this.buf = new StringBuf(); - this.run(p); - pl.push(this.buf.b); - } - } - this.buf = old; - try { - var _this = this.buf; - var x = Std.string(v.apply(this.macros,pl)); - _this.b += Std.string(x); - } catch( _g ) { - var e = haxe_Exception.caught(_g).unwrap(); - var plstr; - try { - plstr = pl.join(","); - } catch( _g1 ) { - plstr = "???"; - } - var msg = "Macro call " + m + "(" + plstr + ") failed (" + Std.string(e) + ")"; - throw haxe_Exception.thrown(msg); - } - break; - } - } -}; -var haxe_ValueException = function(value,previous,native) { - haxe_Exception.call(this,String(value),previous,native); - this.value = value; -}; -haxe_ValueException.__name__ = true; -haxe_ValueException.__super__ = haxe_Exception; -haxe_ValueException.prototype = $extend(haxe_Exception.prototype,{ - unwrap: function() { - return this.value; - } -}); -var haxe_ds_List = function() { - this.length = 0; -}; -haxe_ds_List.__name__ = true; -haxe_ds_List.prototype = { - add: function(item) { - var x = new haxe_ds__$List_ListNode(item,null); - if(this.h == null) { - this.h = x; - } else { - this.q.next = x; - } - this.q = x; - this.length++; - } - ,push: function(item) { - var x = new haxe_ds__$List_ListNode(item,this.h); - this.h = x; - if(this.q == null) { - this.q = x; - } - this.length++; - } - ,first: function() { - if(this.h == null) { - return null; - } else { - return this.h.item; - } - } - ,pop: function() { - if(this.h == null) { - return null; - } - var x = this.h.item; - this.h = this.h.next; - if(this.h == null) { - this.q = null; - } - this.length--; - return x; - } - ,isEmpty: function() { - return this.h == null; - } - ,toString: function() { - var s_b = ""; - var first = true; - var l = this.h; - s_b += "{"; - while(l != null) { - if(first) { - first = false; - } else { - s_b += ", "; - } - s_b += Std.string(Std.string(l.item)); - l = l.next; - } - s_b += "}"; - return s_b; - } -}; -var haxe_ds__$List_ListNode = function(item,next) { - this.item = item; - this.next = next; -}; -haxe_ds__$List_ListNode.__name__ = true; -var js_Boot = function() { }; -js_Boot.__name__ = true; -js_Boot.__string_rec = function(o,s) { - if(o == null) { - return "null"; - } - if(s.length >= 5) { - return "<...>"; - } - var t = typeof(o); - if(t == "function" && (o.__name__ || o.__ename__)) { - t = "object"; - } - switch(t) { - case "function": - return ""; - case "object": - if(o.__enum__) { - var e = $hxEnums[o.__enum__]; - var con = e.__constructs__[o._hx_index]; - var n = con._hx_name; - if(con.__params__) { - s = s + "\t"; - return n + "(" + ((function($this) { - var $r; - var _g = []; - { - var _g1 = 0; - var _g2 = con.__params__; - while(true) { - if(!(_g1 < _g2.length)) { - break; - } - var p = _g2[_g1]; - _g1 = _g1 + 1; - _g.push(js_Boot.__string_rec(o[p],s)); - } - } - $r = _g; - return $r; - }(this))).join(",") + ")"; - } else { - return n; - } - } - if(((o) instanceof Array)) { - var str = "["; - s += "\t"; - var _g = 0; - var _g1 = o.length; - while(_g < _g1) { - var i = _g++; - str += (i > 0 ? "," : "") + js_Boot.__string_rec(o[i],s); - } - str += "]"; - return str; - } - var tostr; - try { - tostr = o.toString; - } catch( _g ) { - return "???"; - } - if(tostr != null && tostr != Object.toString && typeof(tostr) == "function") { - var s2 = o.toString(); - if(s2 != "[object Object]") { - return s2; - } - } - var str = "{\n"; - s += "\t"; - var hasp = o.hasOwnProperty != null; - var k = null; - for( k in o ) { - if(hasp && !o.hasOwnProperty(k)) { - continue; - } - if(k == "prototype" || k == "__class__" || k == "__super__" || k == "__interfaces__" || k == "__properties__") { - continue; - } - if(str.length != 2) { - str += ", \n"; - } - str += s + k + " : " + js_Boot.__string_rec(o[k],s); - } - s = s.substring(1); - str += "\n" + s + "}"; - return str; - case "string": - return o; - default: - return String(o); - } -}; -var xrfragment_Filter = $hx_exports["xrfragment"]["Filter"] = function(str) { - this.q = { }; - this.str = ""; - if(str != null) { - this.parse(str); - } -}; -xrfragment_Filter.__name__ = true; -xrfragment_Filter.prototype = { - toObject: function() { - return Reflect.copy(this.q); - } - ,get: function() { - return Reflect.copy(this.q); - } - ,parse: function(str) { - var token = str.split(" "); - var q = { }; - var process = function(str,prefix) { - if(prefix == null) { - prefix = ""; - } - str = StringTools.trim(str); - var k = str.split("=")[0]; - var v = str.split("=")[1]; - var filter = { }; - if(q[prefix + k]) { - filter = q[prefix + k]; - } - if(xrfragment_XRF.isProp.match(str)) { - var oper = ""; - if(str.indexOf(">") != -1) { - oper = ">"; - } - if(str.indexOf("<") != -1) { - oper = "<"; - } - if(xrfragment_XRF.isExclude.match(k)) { - k = HxOverrides.substr(k,1,null); - } - v = HxOverrides.substr(v,oper.length,null); - if(oper.length == 0) { - oper = "="; - } - var rule = { }; - if(xrfragment_XRF.isNumber.match(v)) { - rule[oper] = parseFloat(v); - } else { - rule[oper] = v; - } - q["expr"] = rule; - } - var value = xrfragment_XRF.isDeep.match(str) ? k.split("*").length - 1 : 0; - q["deep"] = value; - var value = xrfragment_XRF.isExclude.match(str) ? false : true; - q["show"] = value; - var value = k.replace(xrfragment_XRF.operators.r,""); - q["key"] = value; - q["value"] = v; - }; - var _g = 0; - var _g1 = token.length; - while(_g < _g1) { - var i = _g++; - process(token[i]); - } - return this.q = q; - } - ,test: function(obj) { - var qualify = false; - var _g = 0; - var _g1 = Reflect.fields(obj); - while(_g < _g1.length) { - var k = _g1[_g]; - ++_g; - var v = Std.string(Reflect.field(obj,k)); - if(this.testProperty(k,v)) { - qualify = true; - } - } - var _g = 0; - var _g1 = Reflect.fields(obj); - while(_g < _g1.length) { - var k = _g1[_g]; - ++_g; - var v = Std.string(Reflect.field(obj,k)); - if(this.testProperty(k,v,true)) { - qualify = false; - } - } - return qualify; - } - ,testProperty: function(property,value,exclude) { - var conds = 0; - var fails = 0; - var qualify = 0; - var testprop = function(expr) { - conds += 1; - fails += expr ? 0 : 1; - return expr; - }; - if(this.q[value] != null) { - var v = this.q[value]; - if(v[property] != null) { - return v[property]; - } - } - if(Reflect.field(this.q,"expr")) { - var f = Reflect.field(this.q,"expr"); - if(!Reflect.field(this.q,"show")) { - if(Reflect.field(f,"!=") != null && testprop((value == null ? "null" : "" + value) == Std.string(Reflect.field(f,"!="))) && exclude) { - ++qualify; - } - } else { - if(Reflect.field(f,"*") != null && testprop(parseFloat(value) != null)) { - ++qualify; - } - if(Reflect.field(f,">") != null && testprop(parseFloat(value) >= parseFloat(Reflect.field(f,">")))) { - ++qualify; - } - if(Reflect.field(f,"<") != null && testprop(parseFloat(value) <= parseFloat(Reflect.field(f,"<")))) { - ++qualify; - } - if(Reflect.field(f,"=") != null && (testprop(value == Reflect.field(f,"=")) || testprop(parseFloat(value) == parseFloat(Reflect.field(f,"="))))) { - ++qualify; - } - } - } - return qualify > 0; - } -}; -var xrfragment_Parser = $hx_exports["xrfragment"]["Parser"] = function() { }; -xrfragment_Parser.__name__ = true; -xrfragment_Parser.parse = function(key,value,store,index) { - var Frag_h = Object.create(null); - Frag_h["#"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_PREDEFINED_VIEW | xrfragment_XRF.PV_EXECUTE; - Frag_h["src"] = xrfragment_XRF.T_URL; - Frag_h["href"] = xrfragment_XRF.T_URL | xrfragment_XRF.T_PREDEFINED_VIEW; - Frag_h["tag"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["pos"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_VECTOR3 | xrfragment_XRF.T_STRING | xrfragment_XRF.METADATA | xrfragment_XRF.NAVIGATOR; - Frag_h["rot"] = xrfragment_XRF.QUERY_OPERATOR | xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_VECTOR3 | xrfragment_XRF.METADATA | xrfragment_XRF.NAVIGATOR; - Frag_h["t"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_FLOAT | xrfragment_XRF.T_VECTOR2 | xrfragment_XRF.NAVIGATOR | xrfragment_XRF.METADATA; - Frag_h["s"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_MEDIAFRAG; - Frag_h["loop"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_PREDEFINED_VIEW; - Frag_h["uv"] = xrfragment_XRF.T_VECTOR2 | xrfragment_XRF.T_MEDIAFRAG; - Frag_h["namespace"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["SPDX"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["unit"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["description"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - var keyStripped = key.replace(xrfragment_XRF.operators.r,""); - var isPVDynamic = key.length > 0 && !Object.prototype.hasOwnProperty.call(Frag_h,key); - if(isPVDynamic) { - var v = new xrfragment_XRF(key,xrfragment_XRF.PV_EXECUTE | xrfragment_XRF.NAVIGATOR,index); - v.validate(value); - v.flags = xrfragment_XRF.set(xrfragment_XRF.T_DYNAMICKEY,v.flags); - if(!Object.prototype.hasOwnProperty.call(Frag_h,key)) { - v.flags = xrfragment_XRF.set(xrfragment_XRF.CUSTOMFRAG,v.flags); - } - if(value.length == 0) { - v.flags = xrfragment_XRF.set(xrfragment_XRF.T_DYNAMICKEYVALUE,v.flags); - } - store[keyStripped] = v; - return true; - } - var v = new xrfragment_XRF(key,Frag_h[key],index); - if(Object.prototype.hasOwnProperty.call(Frag_h,key)) { - if(!v.validate(value)) { - console.log("src/xrfragment/Parser.hx:67:","⚠ fragment '" + key + "' has incompatible value (" + value + ")"); - return false; - } - store[keyStripped] = v; - if(xrfragment_Parser.debug) { - console.log("src/xrfragment/Parser.hx:71:","✔ " + key + ": " + v.string); - } - } else { - if(typeof(value) == "string") { - v.guessType(v,value); - } - v.flags = xrfragment_XRF.set(xrfragment_XRF.CUSTOMFRAG,v.flags); - store[keyStripped] = v; - } - return true; -}; -xrfragment_Parser.getMetaData = function() { - var meta = { title : ["title","og:title","dc.title"], description : ["aria-description","og:description","dc.description"], author : ["author","dc.creator"], publisher : ["publisher","dc.publisher"], website : ["og:site_name","og:url","dc.publisher"], license : ["SPDX","dc.rights"]}; - return meta; -}; -var xrfragment_URI = $hx_exports["xrfragment"]["URI"] = function() { - this.XRF = { }; - this.hash = { }; - this.fragment = ""; -}; -xrfragment_URI.__name__ = true; -xrfragment_URI.parseFragment = function(url,filter) { - var store = { }; - if(url == null || url.indexOf("#") == -1) { - return store; - } - var fragment = url.split("#"); - var splitArray = fragment[1].split("&"); - var _g = 0; - var _g1 = splitArray.length; - while(_g < _g1) { - var i = _g++; - var splitByEqual = splitArray[i].split("="); - var regexPlus = new EReg("\\+","g"); - var key = splitByEqual[0]; - var value = ""; - if(splitByEqual.length > 1) { - if(xrfragment_XRF.isVector.match(splitByEqual[1])) { - value = splitByEqual[1]; - } else { - var s = regexPlus.split(splitByEqual[1]).join(" "); - value = decodeURIComponent(s.split("+").join(" ")); - } - } - var ok = xrfragment_Parser.parse(key,value,store,i); - } - if(filter != null && filter != 0) { - var _g = 0; - var _g1 = Reflect.fields(store); - while(_g < _g1.length) { - var key = _g1[_g]; - ++_g; - var xrf = store[key]; - if(!xrf.is(filter)) { - Reflect.deleteField(store,key); - } - } - } - return store; -}; -xrfragment_URI.template = function(uri,vars) { - var parts = uri.split("#"); - if(parts.length == 1) { - return uri; - } - var frag = parts[1]; - frag = StringTools.replace(frag,"{","::"); - frag = StringTools.replace(frag,"}","::"); - frag = new haxe_Template(frag).execute(vars); - frag = StringTools.replace(frag,"null",""); - parts[1] = frag; - return parts.join("#"); -}; -xrfragment_URI.parse = function(stringUrl,flags) { - var r = new EReg("^(?:(?![^:@]+:[^:@/]*@)([^:/?#.]+):)?(?://)?((?:(([^:@]*)(?::([^:@]*))?)?@)?([^:/?#]*)(?::(\\d*))?)(((/(?:[^?#](?![^?#/]*\\.[^?#/.]+(?:[?#]|$)))*/?)?([^?#/]*))(?:\\?([^#]*))?(?:#(.*))?)",""); - if(stringUrl.indexOf("://") == -1 && stringUrl.charAt(0) != "/") { - stringUrl = "/" + stringUrl; - } - r.match(stringUrl); - var url = new xrfragment_URI(); - var _g = 0; - var _g1 = xrfragment_URI._parts.length; - while(_g < _g1) { - var i = _g++; - url[xrfragment_URI._parts[i]] = r.matched(i); - } - if(xrfragment_URI.isRelative(url) == true) { - if(url.directory == null && url.host != null) { - url.file = url.host; - } - url.host = ""; - } - url.hash = { }; - if(url.fragment != null && url.fragment.length > 0) { - url.XRF = xrfragment_URI.parseFragment("#" + url.fragment,flags); - var key; - var _g = 0; - var _g1 = Reflect.fields(url.XRF); - while(_g < _g1.length) { - var key = _g1[_g]; - ++_g; - var v = url.XRF[key]; - url.hash[key] = v["string"]; - } - } - xrfragment_URI.computeVars(url); - return url; -}; -xrfragment_URI.computeVars = function(url) { - var r_r = new RegExp("//","g".split("u").join("")); - if(url.directory != null && url.directory.indexOf("//") != -1) { - url.directory = url.directory.replace(r_r,"/"); - } - if(url.path != null && url.path.indexOf("//") != -1) { - url.path = url.path.replace(r_r,"/"); - } - if(url.file != null && url.file.indexOf("//") != -1) { - url.file = url.file.replace(r_r,"/"); - } - url.URN = url.scheme + "://" + url.host; - if(url.port != null) { - url.URN += ":" + url.port; - } - url.URN += url.directory; - if(url.file != null) { - var parts = url.file.split("."); - if(parts.length > 1) { - url.fileExt = parts.pop(); - } - } -}; -xrfragment_URI.toString = function(url) { - var result = ""; - if(url.scheme != null) { - result += url.scheme + "://"; - } - if(url.user != null) { - result += url.user + ":"; - } - if(url.password != null) { - result += url.password + "@"; - } - if(url.host != null) { - result += url.host; - } - if(url.port != null) { - result += ":" + url.port; - } - if(url.directory != null) { - result += url.directory; - } - if(url.file != null) { - result += url.file; - } - if(url.query != null) { - result += "?" + url.query; - } - if(url.fragment != null) { - result += "#" + url.fragment; - } - return result; -}; -xrfragment_URI.appendURI = function(url,appendedURI) { - if(xrfragment_URI.isRelative(url) == true) { - return xrfragment_URI.appendToRelativeURI(url,appendedURI); - } else { - return xrfragment_URI.appendToAbsoluteURI(url,appendedURI); - } -}; -xrfragment_URI.isRelative = function(url) { - return url.scheme == null; -}; -xrfragment_URI.appendToRelativeURI = function(url,appendedURI) { - if(url.directory == null || url.host == null) { - return xrfragment_URI.cloneURI(appendedURI); - } - var resultURI = new xrfragment_URI(); - resultURI.host = url.host; - resultURI.directory = url.directory; - if(appendedURI.host != null) { - resultURI.directory += appendedURI.host; - } - if(appendedURI.directory != null) { - var directory = appendedURI.directory; - if(appendedURI.host == null) { - resultURI.directory += HxOverrides.substr(directory,1,null); - } else { - resultURI.directory += directory; - } - } - if(appendedURI.file != null) { - resultURI.file = appendedURI.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(appendedURI.query != null) { - resultURI.query = appendedURI.query; - } - if(appendedURI.fragment != null) { - resultURI.fragment = appendedURI.fragment; - } - return resultURI; -}; -xrfragment_URI.appendToAbsoluteURI = function(url,appendedURI) { - var resultURI = new xrfragment_URI(); - if(url.scheme != null) { - resultURI.scheme = url.scheme; - } - if(url.host != null) { - resultURI.host = url.host; - } - var directory = ""; - if(url.directory != null) { - directory = url.directory; - } - if(appendedURI.host != null) { - appendedURI.directory += appendedURI.host; - } - if(appendedURI.directory != null) { - directory += appendedURI.directory; - } - resultURI.directory = directory; - if(appendedURI.file != null) { - resultURI.file = appendedURI.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(appendedURI.query != null) { - resultURI.query = appendedURI.query; - } - if(appendedURI.fragment != null) { - resultURI.fragment = appendedURI.fragment; - } - return resultURI; -}; -xrfragment_URI.toAbsolute = function(url,newUrl) { - var newURI = xrfragment_URI.parse(newUrl,0); - var resultURI = new xrfragment_URI(); - resultURI.port = url.port; - resultURI.source = newUrl; - if(newURI.scheme != null) { - resultURI.scheme = newURI.scheme; - } else { - resultURI.scheme = url.scheme; - } - if(newURI.host != null && newURI.host.length > 0) { - resultURI.host = newURI.host; - resultURI.port = null; - resultURI.fragment = null; - resultURI.hash = { }; - resultURI.XRF = { }; - if(newURI.port != null) { - resultURI.port = newURI.port; - } - } else { - resultURI.host = url.host; - } - var directory = ""; - if(url.directory != null) { - directory = url.directory; - } - if(newURI.directory != null) { - if(newUrl.charAt(0) != "/" && newUrl.indexOf("://") == -1) { - var stripRelative_r = new RegExp("\\./.*","".split("u").join("")); - directory = directory.replace(stripRelative_r,""); - directory += newURI.directory; - } else { - directory = newURI.directory; - } - } - resultURI.directory = directory; - if(newURI.file != null) { - resultURI.file = newURI.file; - } else { - resultURI.file = url.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(newURI.query != null) { - resultURI.query = newURI.query; - } - if(newURI.fragment != null) { - resultURI.fragment = newURI.fragment; - } - resultURI.hash = newURI.hash; - resultURI.XRF = newURI.XRF; - xrfragment_URI.computeVars(resultURI); - return resultURI; -}; -xrfragment_URI.cloneURI = function(url) { - var clonedURI = new xrfragment_URI(); - clonedURI.url = url.url; - clonedURI.source = url.source; - clonedURI.scheme = url.scheme; - clonedURI.authority = url.authority; - clonedURI.userInfo = url.userInfo; - clonedURI.password = url.password; - clonedURI.host = url.host; - clonedURI.port = url.port; - clonedURI.relative = url.relative; - clonedURI.path = url.path; - clonedURI.directory = url.directory; - clonedURI.file = url.file; - clonedURI.query = url.query; - clonedURI.fragment = url.fragment; - return clonedURI; -}; -var xrfragment_XRF = $hx_exports["xrfragment"]["XRF"] = function(_fragment,_flags,_index) { - this.floats = []; - this.shift = []; - this.fragment = _fragment; - this.flags = _flags; - this.index = _index; -}; -xrfragment_XRF.__name__ = true; -xrfragment_XRF.set = function(flag,flags) { - return flags | flag; -}; -xrfragment_XRF.unset = function(flag,flags) { - return flags & ~flag; -}; -xrfragment_XRF.prototype = { - is: function(flag) { - var v = this.flags; - if(!(typeof(v) == "number" && ((v | 0) === v))) { - this.flags = 0; - } - return (this.flags & flag) != 0; - } - ,validate: function(value) { - this.guessType(this,value); - var ok = true; - if(value.length == 0 && !this.is(xrfragment_XRF.T_PREDEFINED_VIEW)) { - ok = false; - } - if(!this.is(xrfragment_XRF.T_FLOAT) && this.is(xrfragment_XRF.T_VECTOR2) && !(typeof(this.x) == "number" && typeof(this.y) == "number")) { - ok = false; - } - if(!(this.is(xrfragment_XRF.T_VECTOR2) || this.is(xrfragment_XRF.T_STRING)) && this.is(xrfragment_XRF.T_VECTOR3) && !(typeof(this.x) == "number" && typeof(this.y) == "number" && typeof(this.z) == "number")) { - ok = false; - } - return ok; - } - ,guessType: function(v,str) { - v.string = str; - if(xrfragment_XRF.isReset.match(v.fragment)) { - v.reset = true; - } - if(v.fragment == "loop") { - v.loop = true; - } - if(typeof(str) != "string") { - return; - } - if(str.length > 0) { - if(xrfragment_XRF.isXRFScheme.match(str)) { - v.xrfScheme = true; - str = str.replace(xrfragment_XRF.isXRFScheme.r,""); - v.string = str; - } - if(str.split(",").length > 1) { - var xyzn = str.split(","); - if(xyzn.length > 0) { - v.x = parseFloat(xyzn[0]); - } - if(xyzn.length > 1) { - v.y = parseFloat(xyzn[1]); - } - if(xyzn.length > 2) { - v.z = parseFloat(xyzn[2]); - } - var _g = 0; - var _g1 = xyzn.length; - while(_g < _g1) { - var i = _g++; - v.shift.push(xrfragment_XRF.isShift.match(xyzn[i])); - v.floats.push(parseFloat(xyzn[i].replace(xrfragment_XRF.isShift.r,""))); - } - } - if(xrfragment_XRF.isColor.match(str)) { - v.color = str; - } - if(xrfragment_XRF.isFloat.match(str)) { - v.x = parseFloat(str); - v.float = v.x; - } - if(xrfragment_XRF.isInt.match(str)) { - v.int = Std.parseInt(str); - v.x = v.int; - v.floats.push(v.x); - } - v.filter = new xrfragment_Filter(v.fragment + "=" + v.string); - } else { - v.filter = new xrfragment_Filter(v.fragment); - } - } -}; -function $getIterator(o) { if( o instanceof Array ) return new haxe_iterators_ArrayIterator(o); else return o.iterator(); } -function $bind(o,m) { if( m == null ) return null; if( m.__id__ == null ) m.__id__ = $global.$haxeUID++; var f; if( o.hx__closures__ == null ) o.hx__closures__ = {}; else f = o.hx__closures__[m.__id__]; if( f == null ) { f = m.bind(o); o.hx__closures__[m.__id__] = f; } return f; } -$global.$haxeUID |= 0; -if(typeof(performance) != "undefined" ? typeof(performance.now) == "function" : false) { - HxOverrides.now = performance.now.bind(performance); -} -if( String.fromCodePoint == null ) String.fromCodePoint = function(c) { return c < 0x10000 ? String.fromCharCode(c) : String.fromCharCode((c>>10)+0xD7C0)+String.fromCharCode((c&0x3FF)+0xDC00); } -String.__name__ = true; -Array.__name__ = true; -js_Boot.__toStr = ({ }).toString; -haxe_Template.splitter = new EReg("(::[A-Za-z0-9_ ()&|!+=/><*.\"-]+::|\\$\\$([A-Za-z0-9_-]+)\\()",""); -haxe_Template.expr_splitter = new EReg("(\\(|\\)|[ \r\n\t]*\"[^\"]*\"[ \r\n\t]*|[!+=/><*.&|-]+)",""); -haxe_Template.expr_trim = new EReg("^[ ]*([^ ]+)[ ]*$",""); -haxe_Template.expr_int = new EReg("^[0-9]+$",""); -haxe_Template.expr_float = new EReg("^([+-]?)(?=\\d|,\\d)\\d*(,\\d*)?([Ee]([+-]?\\d+))?$",""); -haxe_Template.globals = { }; -haxe_Template.hxKeepArrayIterator = new haxe_iterators_ArrayIterator([]); -xrfragment_Parser.error = ""; -xrfragment_Parser.debug = false; -xrfragment_URI.__meta__ = { statics : { template : { keep : null}}}; -xrfragment_URI._parts = ["source","scheme","authority","userInfo","user","password","host","port","relative","path","directory","file","query","fragment"]; -xrfragment_XRF.IMMUTABLE = 1; -xrfragment_XRF.PROP_BIND = 2; -xrfragment_XRF.QUERY_OPERATOR = 4; -xrfragment_XRF.PROMPT = 8; -xrfragment_XRF.CUSTOMFRAG = 16; -xrfragment_XRF.NAVIGATOR = 32; -xrfragment_XRF.METADATA = 64; -xrfragment_XRF.PV_OVERRIDE = 128; -xrfragment_XRF.PV_EXECUTE = 256; -xrfragment_XRF.T_COLOR = 8192; -xrfragment_XRF.T_INT = 16384; -xrfragment_XRF.T_FLOAT = 32768; -xrfragment_XRF.T_VECTOR2 = 65536; -xrfragment_XRF.T_VECTOR3 = 131072; -xrfragment_XRF.T_URL = 262144; -xrfragment_XRF.T_PREDEFINED_VIEW = 524288; -xrfragment_XRF.T_STRING = 1048576; -xrfragment_XRF.T_MEDIAFRAG = 2097152; -xrfragment_XRF.T_DYNAMICKEY = 4194304; -xrfragment_XRF.T_DYNAMICKEYVALUE = 8388608; -xrfragment_XRF.isColor = new EReg("^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$",""); -xrfragment_XRF.isInt = new EReg("^[-0-9]+$",""); -xrfragment_XRF.isFloat = new EReg("^[-0-9]+\\.[0-9]+$",""); -xrfragment_XRF.isVector = new EReg("([,]+|\\w)",""); -xrfragment_XRF.isUrl = new EReg("(://)?\\..*",""); -xrfragment_XRF.isUrlOrPretypedView = new EReg("(^#|://)?\\..*",""); -xrfragment_XRF.isString = new EReg(".*",""); -xrfragment_XRF.operators = new EReg("(^[-]|^[!]|[\\*]$)","g"); -xrfragment_XRF.isProp = new EReg("^.*=[><=]?",""); -xrfragment_XRF.isExclude = new EReg("^-",""); -xrfragment_XRF.isDeep = new EReg("\\*",""); -xrfragment_XRF.isNumber = new EReg("^[0-9\\.]+$",""); -xrfragment_XRF.isMediaFrag = new EReg("^([0-9\\.,\\*+-]+)$",""); -xrfragment_XRF.isReset = new EReg("^!",""); -xrfragment_XRF.isShift = new EReg("^(\\+|--)",""); -xrfragment_XRF.isXRFScheme = new EReg("^xrf://",""); -})(typeof window != "undefined" ? window : typeof global != "undefined" ? global : typeof self != "undefined" ? self : this); -var xrfragment = $hx_exports["xrfragment"]; -export default xrfragment; -// Generated by Haxe 4.3.3 -var $hx_exports = typeof exports != "undefined" ? exports : typeof window != "undefined" ? window : typeof self != "undefined" ? self : this; -(function ($global) { "use strict"; -$hx_exports["xrfragment"] = $hx_exports["xrfragment"] || {}; -var $estr = function() { return js_Boot.__string_rec(this,''); },$hxEnums = $hxEnums || {},$_; -function $extend(from, fields) { - var proto = Object.create(from); - for (var name in fields) proto[name] = fields[name]; - if( fields.toString !== Object.prototype.toString ) proto.toString = fields.toString; - return proto; -} -var EReg = function(r,opt) { - this.r = new RegExp(r,opt.split("u").join("")); -}; -EReg.__name__ = true; -EReg.prototype = { - match: function(s) { - if(this.r.global) { - this.r.lastIndex = 0; - } - this.r.m = this.r.exec(s); - this.r.s = s; - return this.r.m != null; - } - ,matched: function(n) { - if(this.r.m != null && n >= 0 && n < this.r.m.length) { - return this.r.m[n]; - } else { - throw haxe_Exception.thrown("EReg::matched"); - } - } - ,matchedRight: function() { - if(this.r.m == null) { - throw haxe_Exception.thrown("No string matched"); - } - var sz = this.r.m.index + this.r.m[0].length; - return HxOverrides.substr(this.r.s,sz,this.r.s.length - sz); - } - ,matchedPos: function() { - if(this.r.m == null) { - throw haxe_Exception.thrown("No string matched"); - } - return { pos : this.r.m.index, len : this.r.m[0].length}; - } - ,split: function(s) { - var d = "#__delim__#"; - return s.replace(this.r,d).split(d); - } -}; -var HxOverrides = function() { }; -HxOverrides.__name__ = true; -HxOverrides.cca = function(s,index) { - var x = s.charCodeAt(index); - if(x != x) { - return undefined; - } - return x; -}; -HxOverrides.substr = function(s,pos,len) { - if(len == null) { - len = s.length; - } else if(len < 0) { - if(pos == 0) { - len = s.length + len; - } else { - return ""; - } - } - return s.substr(pos,len); -}; -HxOverrides.now = function() { - return Date.now(); -}; -Math.__name__ = true; -var Reflect = function() { }; -Reflect.__name__ = true; -Reflect.field = function(o,field) { - try { - return o[field]; - } catch( _g ) { - return null; - } -}; -Reflect.getProperty = function(o,field) { - var tmp; - if(o == null) { - return null; - } else { - var tmp1; - if(o.__properties__) { - tmp = o.__properties__["get_" + field]; - tmp1 = tmp; - } else { - tmp1 = false; - } - if(tmp1) { - return o[tmp](); - } else { - return o[field]; - } - } -}; -Reflect.fields = function(o) { - var a = []; - if(o != null) { - var hasOwnProperty = Object.prototype.hasOwnProperty; - for( var f in o ) { - if(f != "__id__" && f != "hx__closures__" && hasOwnProperty.call(o,f)) { - a.push(f); - } - } - } - return a; -}; -Reflect.isObject = function(v) { - if(v == null) { - return false; - } - var t = typeof(v); - if(!(t == "string" || t == "object" && v.__enum__ == null)) { - if(t == "function") { - return (v.__name__ || v.__ename__) != null; - } else { - return false; - } - } else { - return true; - } -}; -Reflect.deleteField = function(o,field) { - if(!Object.prototype.hasOwnProperty.call(o,field)) { - return false; - } - delete(o[field]); - return true; -}; -Reflect.copy = function(o) { - if(o == null) { - return null; - } - var o2 = { }; - var _g = 0; - var _g1 = Reflect.fields(o); - while(_g < _g1.length) { - var f = _g1[_g]; - ++_g; - o2[f] = Reflect.field(o,f); - } - return o2; -}; -var Std = function() { }; -Std.__name__ = true; -Std.string = function(s) { - return js_Boot.__string_rec(s,""); -}; -Std.parseInt = function(x) { - var v = parseInt(x); - if(isNaN(v)) { - return null; - } - return v; -}; -var StringBuf = function() { - this.b = ""; -}; -StringBuf.__name__ = true; -var StringTools = function() { }; -StringTools.__name__ = true; -StringTools.isSpace = function(s,pos) { - var c = HxOverrides.cca(s,pos); - if(!(c > 8 && c < 14)) { - return c == 32; - } else { - return true; - } -}; -StringTools.ltrim = function(s) { - var l = s.length; - var r = 0; - while(r < l && StringTools.isSpace(s,r)) ++r; - if(r > 0) { - return HxOverrides.substr(s,r,l - r); - } else { - return s; - } -}; -StringTools.rtrim = function(s) { - var l = s.length; - var r = 0; - while(r < l && StringTools.isSpace(s,l - r - 1)) ++r; - if(r > 0) { - return HxOverrides.substr(s,0,l - r); - } else { - return s; - } -}; -StringTools.trim = function(s) { - return StringTools.ltrim(StringTools.rtrim(s)); -}; -StringTools.replace = function(s,sub,by) { - return s.split(sub).join(by); -}; -var haxe_Exception = function(message,previous,native) { - Error.call(this,message); - this.message = message; - this.__previousException = previous; - this.__nativeException = native != null ? native : this; -}; -haxe_Exception.__name__ = true; -haxe_Exception.caught = function(value) { - if(((value) instanceof haxe_Exception)) { - return value; - } else if(((value) instanceof Error)) { - return new haxe_Exception(value.message,null,value); - } else { - return new haxe_ValueException(value,null,value); - } -}; -haxe_Exception.thrown = function(value) { - if(((value) instanceof haxe_Exception)) { - return value.get_native(); - } else if(((value) instanceof Error)) { - return value; - } else { - var e = new haxe_ValueException(value); - return e; - } -}; -haxe_Exception.__super__ = Error; -haxe_Exception.prototype = $extend(Error.prototype,{ - unwrap: function() { - return this.__nativeException; - } - ,get_native: function() { - return this.__nativeException; - } - ,__properties__: {get_native:"get_native"} -}); -var haxe__$Template_TemplateExpr = $hxEnums["haxe._Template.TemplateExpr"] = { __ename__:true,__constructs__:null - ,OpVar: ($_=function(v) { return {_hx_index:0,v:v,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpVar",$_.__params__ = ["v"],$_) - ,OpExpr: ($_=function(expr) { return {_hx_index:1,expr:expr,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpExpr",$_.__params__ = ["expr"],$_) - ,OpIf: ($_=function(expr,eif,eelse) { return {_hx_index:2,expr:expr,eif:eif,eelse:eelse,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpIf",$_.__params__ = ["expr","eif","eelse"],$_) - ,OpStr: ($_=function(str) { return {_hx_index:3,str:str,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpStr",$_.__params__ = ["str"],$_) - ,OpBlock: ($_=function(l) { return {_hx_index:4,l:l,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpBlock",$_.__params__ = ["l"],$_) - ,OpForeach: ($_=function(expr,loop) { return {_hx_index:5,expr:expr,loop:loop,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpForeach",$_.__params__ = ["expr","loop"],$_) - ,OpMacro: ($_=function(name,params) { return {_hx_index:6,name:name,params:params,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpMacro",$_.__params__ = ["name","params"],$_) -}; -haxe__$Template_TemplateExpr.__constructs__ = [haxe__$Template_TemplateExpr.OpVar,haxe__$Template_TemplateExpr.OpExpr,haxe__$Template_TemplateExpr.OpIf,haxe__$Template_TemplateExpr.OpStr,haxe__$Template_TemplateExpr.OpBlock,haxe__$Template_TemplateExpr.OpForeach,haxe__$Template_TemplateExpr.OpMacro]; -var haxe_iterators_ArrayIterator = function(array) { - this.current = 0; - this.array = array; -}; -haxe_iterators_ArrayIterator.__name__ = true; -haxe_iterators_ArrayIterator.prototype = { - hasNext: function() { - return this.current < this.array.length; - } - ,next: function() { - return this.array[this.current++]; - } -}; -var haxe_Template = function(str) { - var tokens = this.parseTokens(str); - this.expr = this.parseBlock(tokens); - if(!tokens.isEmpty()) { - throw haxe_Exception.thrown("Unexpected '" + Std.string(tokens.first().s) + "'"); - } -}; -haxe_Template.__name__ = true; -haxe_Template.prototype = { - execute: function(context,macros) { - this.macros = macros == null ? { } : macros; - this.context = context; - this.stack = new haxe_ds_List(); - this.buf = new StringBuf(); - this.run(this.expr); - return this.buf.b; - } - ,resolve: function(v) { - if(v == "__current__") { - return this.context; - } - if(Reflect.isObject(this.context)) { - var value = Reflect.getProperty(this.context,v); - if(value != null || Object.prototype.hasOwnProperty.call(this.context,v)) { - return value; - } - } - var _g_head = this.stack.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var ctx = val; - var value = Reflect.getProperty(ctx,v); - if(value != null || Object.prototype.hasOwnProperty.call(ctx,v)) { - return value; - } - } - return Reflect.field(haxe_Template.globals,v); - } - ,parseTokens: function(data) { - var tokens = new haxe_ds_List(); - while(haxe_Template.splitter.match(data)) { - var p = haxe_Template.splitter.matchedPos(); - if(p.pos > 0) { - tokens.add({ p : HxOverrides.substr(data,0,p.pos), s : true, l : null}); - } - if(HxOverrides.cca(data,p.pos) == 58) { - tokens.add({ p : HxOverrides.substr(data,p.pos + 2,p.len - 4), s : false, l : null}); - data = haxe_Template.splitter.matchedRight(); - continue; - } - var parp = p.pos + p.len; - var npar = 1; - var params = []; - var part = ""; - while(true) { - var c = HxOverrides.cca(data,parp); - ++parp; - if(c == 40) { - ++npar; - } else if(c == 41) { - --npar; - if(npar <= 0) { - break; - } - } else if(c == null) { - throw haxe_Exception.thrown("Unclosed macro parenthesis"); - } - if(c == 44 && npar == 1) { - params.push(part); - part = ""; - } else { - part += String.fromCodePoint(c); - } - } - params.push(part); - tokens.add({ p : haxe_Template.splitter.matched(2), s : false, l : params}); - data = HxOverrides.substr(data,parp,data.length - parp); - } - if(data.length > 0) { - tokens.add({ p : data, s : true, l : null}); - } - return tokens; - } - ,parseBlock: function(tokens) { - var l = new haxe_ds_List(); - while(true) { - var t = tokens.first(); - if(t == null) { - break; - } - if(!t.s && (t.p == "end" || t.p == "else" || HxOverrides.substr(t.p,0,7) == "elseif ")) { - break; - } - l.add(this.parse(tokens)); - } - if(l.length == 1) { - return l.first(); - } - return haxe__$Template_TemplateExpr.OpBlock(l); - } - ,parse: function(tokens) { - var t = tokens.pop(); - var p = t.p; - if(t.s) { - return haxe__$Template_TemplateExpr.OpStr(p); - } - if(t.l != null) { - var pe = new haxe_ds_List(); - var _g = 0; - var _g1 = t.l; - while(_g < _g1.length) { - var p1 = _g1[_g]; - ++_g; - pe.add(this.parseBlock(this.parseTokens(p1))); - } - return haxe__$Template_TemplateExpr.OpMacro(p,pe); - } - var kwdEnd = function(kwd) { - var pos = -1; - var length = kwd.length; - if(HxOverrides.substr(p,0,length) == kwd) { - pos = length; - var _g_offset = 0; - var _g_s = HxOverrides.substr(p,length,null); - while(_g_offset < _g_s.length) { - var c = _g_s.charCodeAt(_g_offset++); - if(c == 32) { - ++pos; - } else { - break; - } - } - } - return pos; - }; - var pos = kwdEnd("if"); - if(pos > 0) { - p = HxOverrides.substr(p,pos,p.length - pos); - var e = this.parseExpr(p); - var eif = this.parseBlock(tokens); - var t = tokens.first(); - var eelse; - if(t == null) { - throw haxe_Exception.thrown("Unclosed 'if'"); - } - if(t.p == "end") { - tokens.pop(); - eelse = null; - } else if(t.p == "else") { - tokens.pop(); - eelse = this.parseBlock(tokens); - t = tokens.pop(); - if(t == null || t.p != "end") { - throw haxe_Exception.thrown("Unclosed 'else'"); - } - } else { - t.p = HxOverrides.substr(t.p,4,t.p.length - 4); - eelse = this.parse(tokens); - } - return haxe__$Template_TemplateExpr.OpIf(e,eif,eelse); - } - var pos = kwdEnd("foreach"); - if(pos >= 0) { - p = HxOverrides.substr(p,pos,p.length - pos); - var e = this.parseExpr(p); - var efor = this.parseBlock(tokens); - var t = tokens.pop(); - if(t == null || t.p != "end") { - throw haxe_Exception.thrown("Unclosed 'foreach'"); - } - return haxe__$Template_TemplateExpr.OpForeach(e,efor); - } - if(haxe_Template.expr_splitter.match(p)) { - return haxe__$Template_TemplateExpr.OpExpr(this.parseExpr(p)); - } - return haxe__$Template_TemplateExpr.OpVar(p); - } - ,parseExpr: function(data) { - var l = new haxe_ds_List(); - var expr = data; - while(haxe_Template.expr_splitter.match(data)) { - var p = haxe_Template.expr_splitter.matchedPos(); - var k = p.pos + p.len; - if(p.pos != 0) { - l.add({ p : HxOverrides.substr(data,0,p.pos), s : true}); - } - var p1 = haxe_Template.expr_splitter.matched(0); - l.add({ p : p1, s : p1.indexOf("\"") >= 0}); - data = haxe_Template.expr_splitter.matchedRight(); - } - if(data.length != 0) { - var _g_offset = 0; - var _g_s = data; - while(_g_offset < _g_s.length) { - var _g_key = _g_offset; - var _g_value = _g_s.charCodeAt(_g_offset++); - var i = _g_key; - var c = _g_value; - if(c != 32) { - l.add({ p : HxOverrides.substr(data,i,null), s : true}); - break; - } - } - } - var e; - try { - e = this.makeExpr(l); - if(!l.isEmpty()) { - throw haxe_Exception.thrown(l.first().p); - } - } catch( _g ) { - var _g1 = haxe_Exception.caught(_g).unwrap(); - if(typeof(_g1) == "string") { - var s = _g1; - throw haxe_Exception.thrown("Unexpected '" + s + "' in " + expr); - } else { - throw _g; - } - } - return function() { - try { - return e(); - } catch( _g ) { - var exc = haxe_Exception.caught(_g).unwrap(); - throw haxe_Exception.thrown("Error : " + Std.string(exc) + " in " + expr); - } - }; - } - ,makeConst: function(v) { - haxe_Template.expr_trim.match(v); - v = haxe_Template.expr_trim.matched(1); - if(HxOverrides.cca(v,0) == 34) { - var str = HxOverrides.substr(v,1,v.length - 2); - return function() { - return str; - }; - } - if(haxe_Template.expr_int.match(v)) { - var i = Std.parseInt(v); - return function() { - return i; - }; - } - if(haxe_Template.expr_float.match(v)) { - var f = parseFloat(v); - return function() { - return f; - }; - } - var me = this; - return function() { - return me.resolve(v); - }; - } - ,makePath: function(e,l) { - var p = l.first(); - if(p == null || p.p != ".") { - return e; - } - l.pop(); - var field = l.pop(); - if(field == null || !field.s) { - throw haxe_Exception.thrown(field.p); - } - var f = field.p; - haxe_Template.expr_trim.match(f); - f = haxe_Template.expr_trim.matched(1); - return this.makePath(function() { - return Reflect.field(e(),f); - },l); - } - ,makeExpr: function(l) { - return this.makePath(this.makeExpr2(l),l); - } - ,skipSpaces: function(l) { - var p = l.first(); - while(p != null) { - var _g_offset = 0; - var _g_s = p.p; - while(_g_offset < _g_s.length) { - var c = _g_s.charCodeAt(_g_offset++); - if(c != 32) { - return; - } - } - l.pop(); - p = l.first(); - } - } - ,makeExpr2: function(l) { - this.skipSpaces(l); - var p = l.pop(); - this.skipSpaces(l); - if(p == null) { - throw haxe_Exception.thrown(""); - } - if(p.s) { - return this.makeConst(p.p); - } - switch(p.p) { - case "!": - var e = this.makeExpr(l); - return function() { - var v = e(); - if(v != null) { - return v == false; - } else { - return true; - } - }; - case "(": - this.skipSpaces(l); - var e1 = this.makeExpr(l); - this.skipSpaces(l); - var p1 = l.pop(); - if(p1 == null || p1.s) { - throw haxe_Exception.thrown(p1); - } - if(p1.p == ")") { - return e1; - } - this.skipSpaces(l); - var e2 = this.makeExpr(l); - this.skipSpaces(l); - var p2 = l.pop(); - this.skipSpaces(l); - if(p2 == null || p2.p != ")") { - throw haxe_Exception.thrown(p2); - } - switch(p1.p) { - case "!=": - return function() { - return e1() != e2(); - }; - case "&&": - return function() { - return e1() && e2(); - }; - case "*": - return function() { - return e1() * e2(); - }; - case "+": - return function() { - return e1() + e2(); - }; - case "-": - return function() { - return e1() - e2(); - }; - case "/": - return function() { - return e1() / e2(); - }; - case "<": - return function() { - return e1() < e2(); - }; - case "<=": - return function() { - return e1() <= e2(); - }; - case "==": - return function() { - return e1() == e2(); - }; - case ">": - return function() { - return e1() > e2(); - }; - case ">=": - return function() { - return e1() >= e2(); - }; - case "||": - return function() { - return e1() || e2(); - }; - default: - throw haxe_Exception.thrown("Unknown operation " + p1.p); - } - break; - case "-": - var e3 = this.makeExpr(l); - return function() { - return -e3(); - }; - } - throw haxe_Exception.thrown(p.p); - } - ,run: function(e) { - switch(e._hx_index) { - case 0: - var v = e.v; - var _this = this.buf; - var x = Std.string(this.resolve(v)); - _this.b += Std.string(x); - break; - case 1: - var e1 = e.expr; - var _this = this.buf; - var x = Std.string(e1()); - _this.b += Std.string(x); - break; - case 2: - var e1 = e.expr; - var eif = e.eif; - var eelse = e.eelse; - var v = e1(); - if(v == null || v == false) { - if(eelse != null) { - this.run(eelse); - } - } else { - this.run(eif); - } - break; - case 3: - var str = e.str; - this.buf.b += str == null ? "null" : "" + str; - break; - case 4: - var l = e.l; - var _g_head = l.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var e1 = val; - this.run(e1); - } - break; - case 5: - var e1 = e.expr; - var loop = e.loop; - var v = e1(); - try { - var x = $getIterator(v); - if(x.hasNext == null) { - throw haxe_Exception.thrown(null); - } - v = x; - } catch( _g ) { - try { - if(v.hasNext == null) { - throw haxe_Exception.thrown(null); - } - } catch( _g1 ) { - throw haxe_Exception.thrown("Cannot iter on " + Std.string(v)); - } - } - this.stack.push(this.context); - var v1 = v; - var ctx = v1; - while(ctx.hasNext()) { - var ctx1 = ctx.next(); - this.context = ctx1; - this.run(loop); - } - this.context = this.stack.pop(); - break; - case 6: - var m = e.name; - var params = e.params; - var v = Reflect.field(this.macros,m); - var pl = []; - var old = this.buf; - pl.push($bind(this,this.resolve)); - var _g_head = params.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var p = val; - if(p._hx_index == 0) { - var v1 = p.v; - pl.push(this.resolve(v1)); - } else { - this.buf = new StringBuf(); - this.run(p); - pl.push(this.buf.b); - } - } - this.buf = old; - try { - var _this = this.buf; - var x = Std.string(v.apply(this.macros,pl)); - _this.b += Std.string(x); - } catch( _g ) { - var e = haxe_Exception.caught(_g).unwrap(); - var plstr; - try { - plstr = pl.join(","); - } catch( _g1 ) { - plstr = "???"; - } - var msg = "Macro call " + m + "(" + plstr + ") failed (" + Std.string(e) + ")"; - throw haxe_Exception.thrown(msg); - } - break; - } - } -}; -var haxe_ValueException = function(value,previous,native) { - haxe_Exception.call(this,String(value),previous,native); - this.value = value; -}; -haxe_ValueException.__name__ = true; -haxe_ValueException.__super__ = haxe_Exception; -haxe_ValueException.prototype = $extend(haxe_Exception.prototype,{ - unwrap: function() { - return this.value; - } -}); -var haxe_ds_List = function() { - this.length = 0; -}; -haxe_ds_List.__name__ = true; -haxe_ds_List.prototype = { - add: function(item) { - var x = new haxe_ds__$List_ListNode(item,null); - if(this.h == null) { - this.h = x; - } else { - this.q.next = x; - } - this.q = x; - this.length++; - } - ,push: function(item) { - var x = new haxe_ds__$List_ListNode(item,this.h); - this.h = x; - if(this.q == null) { - this.q = x; - } - this.length++; - } - ,first: function() { - if(this.h == null) { - return null; - } else { - return this.h.item; - } - } - ,pop: function() { - if(this.h == null) { - return null; - } - var x = this.h.item; - this.h = this.h.next; - if(this.h == null) { - this.q = null; - } - this.length--; - return x; - } - ,isEmpty: function() { - return this.h == null; - } - ,toString: function() { - var s_b = ""; - var first = true; - var l = this.h; - s_b += "{"; - while(l != null) { - if(first) { - first = false; - } else { - s_b += ", "; - } - s_b += Std.string(Std.string(l.item)); - l = l.next; - } - s_b += "}"; - return s_b; - } -}; -var haxe_ds__$List_ListNode = function(item,next) { - this.item = item; - this.next = next; -}; -haxe_ds__$List_ListNode.__name__ = true; -var js_Boot = function() { }; -js_Boot.__name__ = true; -js_Boot.__string_rec = function(o,s) { - if(o == null) { - return "null"; - } - if(s.length >= 5) { - return "<...>"; - } - var t = typeof(o); - if(t == "function" && (o.__name__ || o.__ename__)) { - t = "object"; - } - switch(t) { - case "function": - return ""; - case "object": - if(o.__enum__) { - var e = $hxEnums[o.__enum__]; - var con = e.__constructs__[o._hx_index]; - var n = con._hx_name; - if(con.__params__) { - s = s + "\t"; - return n + "(" + ((function($this) { - var $r; - var _g = []; - { - var _g1 = 0; - var _g2 = con.__params__; - while(true) { - if(!(_g1 < _g2.length)) { - break; - } - var p = _g2[_g1]; - _g1 = _g1 + 1; - _g.push(js_Boot.__string_rec(o[p],s)); - } - } - $r = _g; - return $r; - }(this))).join(",") + ")"; - } else { - return n; - } - } - if(((o) instanceof Array)) { - var str = "["; - s += "\t"; - var _g = 0; - var _g1 = o.length; - while(_g < _g1) { - var i = _g++; - str += (i > 0 ? "," : "") + js_Boot.__string_rec(o[i],s); - } - str += "]"; - return str; - } - var tostr; - try { - tostr = o.toString; - } catch( _g ) { - return "???"; - } - if(tostr != null && tostr != Object.toString && typeof(tostr) == "function") { - var s2 = o.toString(); - if(s2 != "[object Object]") { - return s2; - } - } - var str = "{\n"; - s += "\t"; - var hasp = o.hasOwnProperty != null; - var k = null; - for( k in o ) { - if(hasp && !o.hasOwnProperty(k)) { - continue; - } - if(k == "prototype" || k == "__class__" || k == "__super__" || k == "__interfaces__" || k == "__properties__") { - continue; - } - if(str.length != 2) { - str += ", \n"; - } - str += s + k + " : " + js_Boot.__string_rec(o[k],s); - } - s = s.substring(1); - str += "\n" + s + "}"; - return str; - case "string": - return o; - default: - return String(o); - } -}; -var xrfragment_Filter = $hx_exports["xrfragment"]["Filter"] = function(str) { - this.q = { }; - this.str = ""; - if(str != null) { - this.parse(str); - } -}; -xrfragment_Filter.__name__ = true; -xrfragment_Filter.prototype = { - toObject: function() { - return Reflect.copy(this.q); - } - ,get: function() { - return Reflect.copy(this.q); - } - ,parse: function(str) { - var token = str.split(" "); - var q = { }; - var process = function(str,prefix) { - if(prefix == null) { - prefix = ""; - } - str = StringTools.trim(str); - var k = str.split("=")[0]; - var v = str.split("=")[1]; - var filter = { }; - if(q[prefix + k]) { - filter = q[prefix + k]; - } - if(xrfragment_XRF.isProp.match(str)) { - var oper = ""; - if(str.indexOf(">") != -1) { - oper = ">"; - } - if(str.indexOf("<") != -1) { - oper = "<"; - } - if(xrfragment_XRF.isExclude.match(k)) { - k = HxOverrides.substr(k,1,null); - } - v = HxOverrides.substr(v,oper.length,null); - if(oper.length == 0) { - oper = "="; - } - var rule = { }; - if(xrfragment_XRF.isNumber.match(v)) { - rule[oper] = parseFloat(v); - } else { - rule[oper] = v; - } - q["expr"] = rule; - } - var value = xrfragment_XRF.isDeep.match(str) ? k.split("*").length - 1 : 0; - q["deep"] = value; - var value = xrfragment_XRF.isExclude.match(str) ? false : true; - q["show"] = value; - var value = k.replace(xrfragment_XRF.operators.r,""); - q["key"] = value; - q["value"] = v; - }; - var _g = 0; - var _g1 = token.length; - while(_g < _g1) { - var i = _g++; - process(token[i]); - } - return this.q = q; - } - ,test: function(obj) { - var qualify = false; - var _g = 0; - var _g1 = Reflect.fields(obj); - while(_g < _g1.length) { - var k = _g1[_g]; - ++_g; - var v = Std.string(Reflect.field(obj,k)); - if(this.testProperty(k,v)) { - qualify = true; - } - } - var _g = 0; - var _g1 = Reflect.fields(obj); - while(_g < _g1.length) { - var k = _g1[_g]; - ++_g; - var v = Std.string(Reflect.field(obj,k)); - if(this.testProperty(k,v,true)) { - qualify = false; - } - } - return qualify; - } - ,testProperty: function(property,value,exclude) { - var conds = 0; - var fails = 0; - var qualify = 0; - var testprop = function(expr) { - conds += 1; - fails += expr ? 0 : 1; - return expr; - }; - if(this.q[value] != null) { - var v = this.q[value]; - if(v[property] != null) { - return v[property]; - } - } - if(Reflect.field(this.q,"expr")) { - var f = Reflect.field(this.q,"expr"); - if(!Reflect.field(this.q,"show")) { - if(Reflect.field(f,"!=") != null && testprop((value == null ? "null" : "" + value) == Std.string(Reflect.field(f,"!="))) && exclude) { - ++qualify; - } - } else { - if(Reflect.field(f,"*") != null && testprop(parseFloat(value) != null)) { - ++qualify; - } - if(Reflect.field(f,">") != null && testprop(parseFloat(value) >= parseFloat(Reflect.field(f,">")))) { - ++qualify; - } - if(Reflect.field(f,"<") != null && testprop(parseFloat(value) <= parseFloat(Reflect.field(f,"<")))) { - ++qualify; - } - if(Reflect.field(f,"=") != null && (testprop(value == Reflect.field(f,"=")) || testprop(parseFloat(value) == parseFloat(Reflect.field(f,"="))))) { - ++qualify; - } - } - } - return qualify > 0; - } -}; -var xrfragment_Parser = $hx_exports["xrfragment"]["Parser"] = function() { }; -xrfragment_Parser.__name__ = true; -xrfragment_Parser.parse = function(key,value,store,index) { - var Frag_h = Object.create(null); - Frag_h["#"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_PREDEFINED_VIEW | xrfragment_XRF.PV_EXECUTE; - Frag_h["src"] = xrfragment_XRF.T_URL; - Frag_h["href"] = xrfragment_XRF.T_URL | xrfragment_XRF.T_PREDEFINED_VIEW; - Frag_h["tag"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["pos"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_VECTOR3 | xrfragment_XRF.T_STRING | xrfragment_XRF.METADATA | xrfragment_XRF.NAVIGATOR; - Frag_h["rot"] = xrfragment_XRF.QUERY_OPERATOR | xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_VECTOR3 | xrfragment_XRF.METADATA | xrfragment_XRF.NAVIGATOR; - Frag_h["t"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_FLOAT | xrfragment_XRF.T_VECTOR2 | xrfragment_XRF.NAVIGATOR | xrfragment_XRF.METADATA; - Frag_h["s"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_MEDIAFRAG; - Frag_h["loop"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_PREDEFINED_VIEW; - Frag_h["uv"] = xrfragment_XRF.T_VECTOR2 | xrfragment_XRF.T_MEDIAFRAG; - Frag_h["namespace"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["SPDX"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["unit"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["description"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - var keyStripped = key.replace(xrfragment_XRF.operators.r,""); - var isPVDynamic = key.length > 0 && !Object.prototype.hasOwnProperty.call(Frag_h,key); - if(isPVDynamic) { - var v = new xrfragment_XRF(key,xrfragment_XRF.PV_EXECUTE | xrfragment_XRF.NAVIGATOR,index); - v.validate(value); - v.flags = xrfragment_XRF.set(xrfragment_XRF.T_DYNAMICKEY,v.flags); - if(!Object.prototype.hasOwnProperty.call(Frag_h,key)) { - v.flags = xrfragment_XRF.set(xrfragment_XRF.CUSTOMFRAG,v.flags); - } - if(value.length == 0) { - v.flags = xrfragment_XRF.set(xrfragment_XRF.T_DYNAMICKEYVALUE,v.flags); - } - store[keyStripped] = v; - return true; - } - var v = new xrfragment_XRF(key,Frag_h[key],index); - if(Object.prototype.hasOwnProperty.call(Frag_h,key)) { - if(!v.validate(value)) { - console.log("src/xrfragment/Parser.hx:67:","⚠ fragment '" + key + "' has incompatible value (" + value + ")"); - return false; - } - store[keyStripped] = v; - if(xrfragment_Parser.debug) { - console.log("src/xrfragment/Parser.hx:71:","✔ " + key + ": " + v.string); - } - } else { - if(typeof(value) == "string") { - v.guessType(v,value); - } - v.flags = xrfragment_XRF.set(xrfragment_XRF.CUSTOMFRAG,v.flags); - store[keyStripped] = v; - } - return true; -}; -xrfragment_Parser.getMetaData = function() { - var meta = { title : ["title","og:title","dc.title"], description : ["aria-description","og:description","dc.description"], author : ["author","dc.creator"], publisher : ["publisher","dc.publisher"], website : ["og:site_name","og:url","dc.publisher"], license : ["SPDX","dc.rights"]}; - return meta; -}; -var xrfragment_URI = $hx_exports["xrfragment"]["URI"] = function() { - this.XRF = { }; - this.hash = { }; - this.fragment = ""; -}; -xrfragment_URI.__name__ = true; -xrfragment_URI.parseFragment = function(url,filter) { - var store = { }; - if(url == null || url.indexOf("#") == -1) { - return store; - } - var fragment = url.split("#"); - var splitArray = fragment[1].split("&"); - var _g = 0; - var _g1 = splitArray.length; - while(_g < _g1) { - var i = _g++; - var splitByEqual = splitArray[i].split("="); - var regexPlus = new EReg("\\+","g"); - var key = splitByEqual[0]; - var value = ""; - if(splitByEqual.length > 1) { - if(xrfragment_XRF.isVector.match(splitByEqual[1])) { - value = splitByEqual[1]; - } else { - var s = regexPlus.split(splitByEqual[1]).join(" "); - value = decodeURIComponent(s.split("+").join(" ")); - } - } - var ok = xrfragment_Parser.parse(key,value,store,i); - } - if(filter != null && filter != 0) { - var _g = 0; - var _g1 = Reflect.fields(store); - while(_g < _g1.length) { - var key = _g1[_g]; - ++_g; - var xrf = store[key]; - if(!xrf.is(filter)) { - Reflect.deleteField(store,key); - } - } - } - return store; -}; -xrfragment_URI.template = function(uri,vars) { - var parts = uri.split("#"); - if(parts.length == 1) { - return uri; - } - var frag = parts[1]; - frag = StringTools.replace(frag,"{","::"); - frag = StringTools.replace(frag,"}","::"); - frag = new haxe_Template(frag).execute(vars); - frag = StringTools.replace(frag,"null",""); - parts[1] = frag; - return parts.join("#"); -}; -xrfragment_URI.parse = function(stringUrl,flags) { - var r = new EReg("^(?:(?![^:@]+:[^:@/]*@)([^:/?#.]+):)?(?://)?((?:(([^:@]*)(?::([^:@]*))?)?@)?([^:/?#]*)(?::(\\d*))?)(((/(?:[^?#](?![^?#/]*\\.[^?#/.]+(?:[?#]|$)))*/?)?([^?#/]*))(?:\\?([^#]*))?(?:#(.*))?)",""); - if(stringUrl.indexOf("://") == -1 && stringUrl.charAt(0) != "/") { - stringUrl = "/" + stringUrl; - } - r.match(stringUrl); - var url = new xrfragment_URI(); - var _g = 0; - var _g1 = xrfragment_URI._parts.length; - while(_g < _g1) { - var i = _g++; - url[xrfragment_URI._parts[i]] = r.matched(i); - } - if(xrfragment_URI.isRelative(url) == true) { - if(url.directory == null && url.host != null) { - url.file = url.host; - } - url.host = ""; - } - url.hash = { }; - if(url.fragment != null && url.fragment.length > 0) { - url.XRF = xrfragment_URI.parseFragment("#" + url.fragment,flags); - var key; - var _g = 0; - var _g1 = Reflect.fields(url.XRF); - while(_g < _g1.length) { - var key = _g1[_g]; - ++_g; - var v = url.XRF[key]; - url.hash[key] = v["string"]; - } - } - xrfragment_URI.computeVars(url); - return url; -}; -xrfragment_URI.computeVars = function(url) { - var r_r = new RegExp("//","g".split("u").join("")); - if(url.directory != null && url.directory.indexOf("//") != -1) { - url.directory = url.directory.replace(r_r,"/"); - } - if(url.path != null && url.path.indexOf("//") != -1) { - url.path = url.path.replace(r_r,"/"); - } - if(url.file != null && url.file.indexOf("//") != -1) { - url.file = url.file.replace(r_r,"/"); - } - url.URN = url.scheme + "://" + url.host; - if(url.port != null) { - url.URN += ":" + url.port; - } - url.URN += url.directory; - if(url.file != null) { - var parts = url.file.split("."); - if(parts.length > 1) { - url.fileExt = parts.pop(); - } - } -}; -xrfragment_URI.toString = function(url) { - var result = ""; - if(url.scheme != null) { - result += url.scheme + "://"; - } - if(url.user != null) { - result += url.user + ":"; - } - if(url.password != null) { - result += url.password + "@"; - } - if(url.host != null) { - result += url.host; - } - if(url.port != null) { - result += ":" + url.port; - } - if(url.directory != null) { - result += url.directory; - } - if(url.file != null) { - result += url.file; - } - if(url.query != null) { - result += "?" + url.query; - } - if(url.fragment != null) { - result += "#" + url.fragment; - } - return result; -}; -xrfragment_URI.appendURI = function(url,appendedURI) { - if(xrfragment_URI.isRelative(url) == true) { - return xrfragment_URI.appendToRelativeURI(url,appendedURI); - } else { - return xrfragment_URI.appendToAbsoluteURI(url,appendedURI); - } -}; -xrfragment_URI.isRelative = function(url) { - return url.scheme == null; -}; -xrfragment_URI.appendToRelativeURI = function(url,appendedURI) { - if(url.directory == null || url.host == null) { - return xrfragment_URI.cloneURI(appendedURI); - } - var resultURI = new xrfragment_URI(); - resultURI.host = url.host; - resultURI.directory = url.directory; - if(appendedURI.host != null) { - resultURI.directory += appendedURI.host; - } - if(appendedURI.directory != null) { - var directory = appendedURI.directory; - if(appendedURI.host == null) { - resultURI.directory += HxOverrides.substr(directory,1,null); - } else { - resultURI.directory += directory; - } - } - if(appendedURI.file != null) { - resultURI.file = appendedURI.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(appendedURI.query != null) { - resultURI.query = appendedURI.query; - } - if(appendedURI.fragment != null) { - resultURI.fragment = appendedURI.fragment; - } - return resultURI; -}; -xrfragment_URI.appendToAbsoluteURI = function(url,appendedURI) { - var resultURI = new xrfragment_URI(); - if(url.scheme != null) { - resultURI.scheme = url.scheme; - } - if(url.host != null) { - resultURI.host = url.host; - } - var directory = ""; - if(url.directory != null) { - directory = url.directory; - } - if(appendedURI.host != null) { - appendedURI.directory += appendedURI.host; - } - if(appendedURI.directory != null) { - directory += appendedURI.directory; - } - resultURI.directory = directory; - if(appendedURI.file != null) { - resultURI.file = appendedURI.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(appendedURI.query != null) { - resultURI.query = appendedURI.query; - } - if(appendedURI.fragment != null) { - resultURI.fragment = appendedURI.fragment; - } - return resultURI; -}; -xrfragment_URI.toAbsolute = function(url,newUrl) { - var newURI = xrfragment_URI.parse(newUrl,0); - var resultURI = new xrfragment_URI(); - resultURI.port = url.port; - resultURI.source = newUrl; - if(newURI.scheme != null) { - resultURI.scheme = newURI.scheme; - } else { - resultURI.scheme = url.scheme; - } - if(newURI.host != null && newURI.host.length > 0) { - resultURI.host = newURI.host; - resultURI.port = null; - resultURI.fragment = null; - resultURI.hash = { }; - resultURI.XRF = { }; - if(newURI.port != null) { - resultURI.port = newURI.port; - } - } else { - resultURI.host = url.host; - } - var directory = ""; - if(url.directory != null) { - directory = url.directory; - } - if(newURI.directory != null) { - if(newUrl.charAt(0) != "/" && newUrl.indexOf("://") == -1) { - var stripRelative_r = new RegExp("\\./.*","".split("u").join("")); - directory = directory.replace(stripRelative_r,""); - directory += newURI.directory; - } else { - directory = newURI.directory; - } - } - resultURI.directory = directory; - if(newURI.file != null) { - resultURI.file = newURI.file; - } else { - resultURI.file = url.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(newURI.query != null) { - resultURI.query = newURI.query; - } - if(newURI.fragment != null) { - resultURI.fragment = newURI.fragment; - } - resultURI.hash = newURI.hash; - resultURI.XRF = newURI.XRF; - xrfragment_URI.computeVars(resultURI); - return resultURI; -}; -xrfragment_URI.cloneURI = function(url) { - var clonedURI = new xrfragment_URI(); - clonedURI.url = url.url; - clonedURI.source = url.source; - clonedURI.scheme = url.scheme; - clonedURI.authority = url.authority; - clonedURI.userInfo = url.userInfo; - clonedURI.password = url.password; - clonedURI.host = url.host; - clonedURI.port = url.port; - clonedURI.relative = url.relative; - clonedURI.path = url.path; - clonedURI.directory = url.directory; - clonedURI.file = url.file; - clonedURI.query = url.query; - clonedURI.fragment = url.fragment; - return clonedURI; -}; -var xrfragment_XRF = $hx_exports["xrfragment"]["XRF"] = function(_fragment,_flags,_index) { - this.floats = []; - this.shift = []; - this.fragment = _fragment; - this.flags = _flags; - this.index = _index; -}; -xrfragment_XRF.__name__ = true; -xrfragment_XRF.set = function(flag,flags) { - return flags | flag; -}; -xrfragment_XRF.unset = function(flag,flags) { - return flags & ~flag; -}; -xrfragment_XRF.prototype = { - is: function(flag) { - var v = this.flags; - if(!(typeof(v) == "number" && ((v | 0) === v))) { - this.flags = 0; - } - return (this.flags & flag) != 0; - } - ,validate: function(value) { - this.guessType(this,value); - var ok = true; - if(value.length == 0 && !this.is(xrfragment_XRF.T_PREDEFINED_VIEW)) { - ok = false; - } - if(!this.is(xrfragment_XRF.T_FLOAT) && this.is(xrfragment_XRF.T_VECTOR2) && !(typeof(this.x) == "number" && typeof(this.y) == "number")) { - ok = false; - } - if(!(this.is(xrfragment_XRF.T_VECTOR2) || this.is(xrfragment_XRF.T_STRING)) && this.is(xrfragment_XRF.T_VECTOR3) && !(typeof(this.x) == "number" && typeof(this.y) == "number" && typeof(this.z) == "number")) { - ok = false; - } - return ok; - } - ,guessType: function(v,str) { - v.string = str; - if(xrfragment_XRF.isReset.match(v.fragment)) { - v.reset = true; - } - if(v.fragment == "loop") { - v.loop = true; - } - if(typeof(str) != "string") { - return; - } - if(str.length > 0) { - if(xrfragment_XRF.isXRFScheme.match(str)) { - v.xrfScheme = true; - str = str.replace(xrfragment_XRF.isXRFScheme.r,""); - v.string = str; - } - if(str.split(",").length > 1) { - var xyzn = str.split(","); - if(xyzn.length > 0) { - v.x = parseFloat(xyzn[0]); - } - if(xyzn.length > 1) { - v.y = parseFloat(xyzn[1]); - } - if(xyzn.length > 2) { - v.z = parseFloat(xyzn[2]); - } - var _g = 0; - var _g1 = xyzn.length; - while(_g < _g1) { - var i = _g++; - v.shift.push(xrfragment_XRF.isShift.match(xyzn[i])); - v.floats.push(parseFloat(xyzn[i].replace(xrfragment_XRF.isShift.r,""))); - } - } - if(xrfragment_XRF.isColor.match(str)) { - v.color = str; - } - if(xrfragment_XRF.isFloat.match(str)) { - v.x = parseFloat(str); - v.float = v.x; - } - if(xrfragment_XRF.isInt.match(str)) { - v.int = Std.parseInt(str); - v.x = v.int; - v.floats.push(v.x); - } - v.filter = new xrfragment_Filter(v.fragment + "=" + v.string); - } else { - v.filter = new xrfragment_Filter(v.fragment); - } - } -}; -function $getIterator(o) { if( o instanceof Array ) return new haxe_iterators_ArrayIterator(o); else return o.iterator(); } -function $bind(o,m) { if( m == null ) return null; if( m.__id__ == null ) m.__id__ = $global.$haxeUID++; var f; if( o.hx__closures__ == null ) o.hx__closures__ = {}; else f = o.hx__closures__[m.__id__]; if( f == null ) { f = m.bind(o); o.hx__closures__[m.__id__] = f; } return f; } -$global.$haxeUID |= 0; -if(typeof(performance) != "undefined" ? typeof(performance.now) == "function" : false) { - HxOverrides.now = performance.now.bind(performance); -} -if( String.fromCodePoint == null ) String.fromCodePoint = function(c) { return c < 0x10000 ? String.fromCharCode(c) : String.fromCharCode((c>>10)+0xD7C0)+String.fromCharCode((c&0x3FF)+0xDC00); } -String.__name__ = true; -Array.__name__ = true; -js_Boot.__toStr = ({ }).toString; -haxe_Template.splitter = new EReg("(::[A-Za-z0-9_ ()&|!+=/><*.\"-]+::|\\$\\$([A-Za-z0-9_-]+)\\()",""); -haxe_Template.expr_splitter = new EReg("(\\(|\\)|[ \r\n\t]*\"[^\"]*\"[ \r\n\t]*|[!+=/><*.&|-]+)",""); -haxe_Template.expr_trim = new EReg("^[ ]*([^ ]+)[ ]*$",""); -haxe_Template.expr_int = new EReg("^[0-9]+$",""); -haxe_Template.expr_float = new EReg("^([+-]?)(?=\\d|,\\d)\\d*(,\\d*)?([Ee]([+-]?\\d+))?$",""); -haxe_Template.globals = { }; -haxe_Template.hxKeepArrayIterator = new haxe_iterators_ArrayIterator([]); -xrfragment_Parser.error = ""; -xrfragment_Parser.debug = false; -xrfragment_URI.__meta__ = { statics : { template : { keep : null}}}; -xrfragment_URI._parts = ["source","scheme","authority","userInfo","user","password","host","port","relative","path","directory","file","query","fragment"]; -xrfragment_XRF.IMMUTABLE = 1; -xrfragment_XRF.PROP_BIND = 2; -xrfragment_XRF.QUERY_OPERATOR = 4; -xrfragment_XRF.PROMPT = 8; -xrfragment_XRF.CUSTOMFRAG = 16; -xrfragment_XRF.NAVIGATOR = 32; -xrfragment_XRF.METADATA = 64; -xrfragment_XRF.PV_OVERRIDE = 128; -xrfragment_XRF.PV_EXECUTE = 256; -xrfragment_XRF.T_COLOR = 8192; -xrfragment_XRF.T_INT = 16384; -xrfragment_XRF.T_FLOAT = 32768; -xrfragment_XRF.T_VECTOR2 = 65536; -xrfragment_XRF.T_VECTOR3 = 131072; -xrfragment_XRF.T_URL = 262144; -xrfragment_XRF.T_PREDEFINED_VIEW = 524288; -xrfragment_XRF.T_STRING = 1048576; -xrfragment_XRF.T_MEDIAFRAG = 2097152; -xrfragment_XRF.T_DYNAMICKEY = 4194304; -xrfragment_XRF.T_DYNAMICKEYVALUE = 8388608; -xrfragment_XRF.isColor = new EReg("^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$",""); -xrfragment_XRF.isInt = new EReg("^[-0-9]+$",""); -xrfragment_XRF.isFloat = new EReg("^[-0-9]+\\.[0-9]+$",""); -xrfragment_XRF.isVector = new EReg("([,]+|\\w)",""); -xrfragment_XRF.isUrl = new EReg("(://)?\\..*",""); -xrfragment_XRF.isUrlOrPretypedView = new EReg("(^#|://)?\\..*",""); -xrfragment_XRF.isString = new EReg(".*",""); -xrfragment_XRF.operators = new EReg("(^[-]|^[!]|[\\*]$)","g"); -xrfragment_XRF.isProp = new EReg("^.*=[><=]?",""); -xrfragment_XRF.isExclude = new EReg("^-",""); -xrfragment_XRF.isDeep = new EReg("\\*",""); -xrfragment_XRF.isNumber = new EReg("^[0-9\\.]+$",""); -xrfragment_XRF.isMediaFrag = new EReg("^([0-9\\.,\\*+-]+)$",""); -xrfragment_XRF.isReset = new EReg("^!",""); -xrfragment_XRF.isShift = new EReg("^(\\+|--)",""); -xrfragment_XRF.isXRFScheme = new EReg("^xrf://",""); -})(typeof window != "undefined" ? window : typeof global != "undefined" ? global : typeof self != "undefined" ? self : this); -var xrfragment = $hx_exports["xrfragment"]; -export default xrfragment; -// Generated by Haxe 4.3.3 -var $hx_exports = typeof exports != "undefined" ? exports : typeof window != "undefined" ? window : typeof self != "undefined" ? self : this; -(function ($global) { "use strict"; -$hx_exports["xrfragment"] = $hx_exports["xrfragment"] || {}; -var $estr = function() { return js_Boot.__string_rec(this,''); },$hxEnums = $hxEnums || {},$_; -function $extend(from, fields) { - var proto = Object.create(from); - for (var name in fields) proto[name] = fields[name]; - if( fields.toString !== Object.prototype.toString ) proto.toString = fields.toString; - return proto; -} -var EReg = function(r,opt) { - this.r = new RegExp(r,opt.split("u").join("")); -}; -EReg.__name__ = true; -EReg.prototype = { - match: function(s) { - if(this.r.global) { - this.r.lastIndex = 0; - } - this.r.m = this.r.exec(s); - this.r.s = s; - return this.r.m != null; - } - ,matched: function(n) { - if(this.r.m != null && n >= 0 && n < this.r.m.length) { - return this.r.m[n]; - } else { - throw haxe_Exception.thrown("EReg::matched"); - } - } - ,matchedRight: function() { - if(this.r.m == null) { - throw haxe_Exception.thrown("No string matched"); - } - var sz = this.r.m.index + this.r.m[0].length; - return HxOverrides.substr(this.r.s,sz,this.r.s.length - sz); - } - ,matchedPos: function() { - if(this.r.m == null) { - throw haxe_Exception.thrown("No string matched"); - } - return { pos : this.r.m.index, len : this.r.m[0].length}; - } - ,split: function(s) { - var d = "#__delim__#"; - return s.replace(this.r,d).split(d); - } -}; -var HxOverrides = function() { }; -HxOverrides.__name__ = true; -HxOverrides.cca = function(s,index) { - var x = s.charCodeAt(index); - if(x != x) { - return undefined; - } - return x; -}; -HxOverrides.substr = function(s,pos,len) { - if(len == null) { - len = s.length; - } else if(len < 0) { - if(pos == 0) { - len = s.length + len; - } else { - return ""; - } - } - return s.substr(pos,len); -}; -HxOverrides.now = function() { - return Date.now(); -}; -Math.__name__ = true; -var Reflect = function() { }; -Reflect.__name__ = true; -Reflect.field = function(o,field) { - try { - return o[field]; - } catch( _g ) { - return null; - } -}; -Reflect.getProperty = function(o,field) { - var tmp; - if(o == null) { - return null; - } else { - var tmp1; - if(o.__properties__) { - tmp = o.__properties__["get_" + field]; - tmp1 = tmp; - } else { - tmp1 = false; - } - if(tmp1) { - return o[tmp](); - } else { - return o[field]; - } - } -}; -Reflect.fields = function(o) { - var a = []; - if(o != null) { - var hasOwnProperty = Object.prototype.hasOwnProperty; - for( var f in o ) { - if(f != "__id__" && f != "hx__closures__" && hasOwnProperty.call(o,f)) { - a.push(f); - } - } - } - return a; -}; -Reflect.isObject = function(v) { - if(v == null) { - return false; - } - var t = typeof(v); - if(!(t == "string" || t == "object" && v.__enum__ == null)) { - if(t == "function") { - return (v.__name__ || v.__ename__) != null; - } else { - return false; - } - } else { - return true; - } -}; -Reflect.deleteField = function(o,field) { - if(!Object.prototype.hasOwnProperty.call(o,field)) { - return false; - } - delete(o[field]); - return true; -}; -Reflect.copy = function(o) { - if(o == null) { - return null; - } - var o2 = { }; - var _g = 0; - var _g1 = Reflect.fields(o); - while(_g < _g1.length) { - var f = _g1[_g]; - ++_g; - o2[f] = Reflect.field(o,f); - } - return o2; -}; -var Std = function() { }; -Std.__name__ = true; -Std.string = function(s) { - return js_Boot.__string_rec(s,""); -}; -Std.parseInt = function(x) { - var v = parseInt(x); - if(isNaN(v)) { - return null; - } - return v; -}; -var StringBuf = function() { - this.b = ""; -}; -StringBuf.__name__ = true; -var StringTools = function() { }; -StringTools.__name__ = true; -StringTools.isSpace = function(s,pos) { - var c = HxOverrides.cca(s,pos); - if(!(c > 8 && c < 14)) { - return c == 32; - } else { - return true; - } -}; -StringTools.ltrim = function(s) { - var l = s.length; - var r = 0; - while(r < l && StringTools.isSpace(s,r)) ++r; - if(r > 0) { - return HxOverrides.substr(s,r,l - r); - } else { - return s; - } -}; -StringTools.rtrim = function(s) { - var l = s.length; - var r = 0; - while(r < l && StringTools.isSpace(s,l - r - 1)) ++r; - if(r > 0) { - return HxOverrides.substr(s,0,l - r); - } else { - return s; - } -}; -StringTools.trim = function(s) { - return StringTools.ltrim(StringTools.rtrim(s)); -}; -StringTools.replace = function(s,sub,by) { - return s.split(sub).join(by); -}; -var haxe_Exception = function(message,previous,native) { - Error.call(this,message); - this.message = message; - this.__previousException = previous; - this.__nativeException = native != null ? native : this; -}; -haxe_Exception.__name__ = true; -haxe_Exception.caught = function(value) { - if(((value) instanceof haxe_Exception)) { - return value; - } else if(((value) instanceof Error)) { - return new haxe_Exception(value.message,null,value); - } else { - return new haxe_ValueException(value,null,value); - } -}; -haxe_Exception.thrown = function(value) { - if(((value) instanceof haxe_Exception)) { - return value.get_native(); - } else if(((value) instanceof Error)) { - return value; - } else { - var e = new haxe_ValueException(value); - return e; - } -}; -haxe_Exception.__super__ = Error; -haxe_Exception.prototype = $extend(Error.prototype,{ - unwrap: function() { - return this.__nativeException; - } - ,get_native: function() { - return this.__nativeException; - } - ,__properties__: {get_native:"get_native"} -}); -var haxe__$Template_TemplateExpr = $hxEnums["haxe._Template.TemplateExpr"] = { __ename__:true,__constructs__:null - ,OpVar: ($_=function(v) { return {_hx_index:0,v:v,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpVar",$_.__params__ = ["v"],$_) - ,OpExpr: ($_=function(expr) { return {_hx_index:1,expr:expr,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpExpr",$_.__params__ = ["expr"],$_) - ,OpIf: ($_=function(expr,eif,eelse) { return {_hx_index:2,expr:expr,eif:eif,eelse:eelse,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpIf",$_.__params__ = ["expr","eif","eelse"],$_) - ,OpStr: ($_=function(str) { return {_hx_index:3,str:str,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpStr",$_.__params__ = ["str"],$_) - ,OpBlock: ($_=function(l) { return {_hx_index:4,l:l,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpBlock",$_.__params__ = ["l"],$_) - ,OpForeach: ($_=function(expr,loop) { return {_hx_index:5,expr:expr,loop:loop,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpForeach",$_.__params__ = ["expr","loop"],$_) - ,OpMacro: ($_=function(name,params) { return {_hx_index:6,name:name,params:params,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpMacro",$_.__params__ = ["name","params"],$_) -}; -haxe__$Template_TemplateExpr.__constructs__ = [haxe__$Template_TemplateExpr.OpVar,haxe__$Template_TemplateExpr.OpExpr,haxe__$Template_TemplateExpr.OpIf,haxe__$Template_TemplateExpr.OpStr,haxe__$Template_TemplateExpr.OpBlock,haxe__$Template_TemplateExpr.OpForeach,haxe__$Template_TemplateExpr.OpMacro]; -var haxe_iterators_ArrayIterator = function(array) { - this.current = 0; - this.array = array; -}; -haxe_iterators_ArrayIterator.__name__ = true; -haxe_iterators_ArrayIterator.prototype = { - hasNext: function() { - return this.current < this.array.length; - } - ,next: function() { - return this.array[this.current++]; - } -}; -var haxe_Template = function(str) { - var tokens = this.parseTokens(str); - this.expr = this.parseBlock(tokens); - if(!tokens.isEmpty()) { - throw haxe_Exception.thrown("Unexpected '" + Std.string(tokens.first().s) + "'"); - } -}; -haxe_Template.__name__ = true; -haxe_Template.prototype = { - execute: function(context,macros) { - this.macros = macros == null ? { } : macros; - this.context = context; - this.stack = new haxe_ds_List(); - this.buf = new StringBuf(); - this.run(this.expr); - return this.buf.b; - } - ,resolve: function(v) { - if(v == "__current__") { - return this.context; - } - if(Reflect.isObject(this.context)) { - var value = Reflect.getProperty(this.context,v); - if(value != null || Object.prototype.hasOwnProperty.call(this.context,v)) { - return value; - } - } - var _g_head = this.stack.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var ctx = val; - var value = Reflect.getProperty(ctx,v); - if(value != null || Object.prototype.hasOwnProperty.call(ctx,v)) { - return value; - } - } - return Reflect.field(haxe_Template.globals,v); - } - ,parseTokens: function(data) { - var tokens = new haxe_ds_List(); - while(haxe_Template.splitter.match(data)) { - var p = haxe_Template.splitter.matchedPos(); - if(p.pos > 0) { - tokens.add({ p : HxOverrides.substr(data,0,p.pos), s : true, l : null}); - } - if(HxOverrides.cca(data,p.pos) == 58) { - tokens.add({ p : HxOverrides.substr(data,p.pos + 2,p.len - 4), s : false, l : null}); - data = haxe_Template.splitter.matchedRight(); - continue; - } - var parp = p.pos + p.len; - var npar = 1; - var params = []; - var part = ""; - while(true) { - var c = HxOverrides.cca(data,parp); - ++parp; - if(c == 40) { - ++npar; - } else if(c == 41) { - --npar; - if(npar <= 0) { - break; - } - } else if(c == null) { - throw haxe_Exception.thrown("Unclosed macro parenthesis"); - } - if(c == 44 && npar == 1) { - params.push(part); - part = ""; - } else { - part += String.fromCodePoint(c); - } - } - params.push(part); - tokens.add({ p : haxe_Template.splitter.matched(2), s : false, l : params}); - data = HxOverrides.substr(data,parp,data.length - parp); - } - if(data.length > 0) { - tokens.add({ p : data, s : true, l : null}); - } - return tokens; - } - ,parseBlock: function(tokens) { - var l = new haxe_ds_List(); - while(true) { - var t = tokens.first(); - if(t == null) { - break; - } - if(!t.s && (t.p == "end" || t.p == "else" || HxOverrides.substr(t.p,0,7) == "elseif ")) { - break; - } - l.add(this.parse(tokens)); - } - if(l.length == 1) { - return l.first(); - } - return haxe__$Template_TemplateExpr.OpBlock(l); - } - ,parse: function(tokens) { - var t = tokens.pop(); - var p = t.p; - if(t.s) { - return haxe__$Template_TemplateExpr.OpStr(p); - } - if(t.l != null) { - var pe = new haxe_ds_List(); - var _g = 0; - var _g1 = t.l; - while(_g < _g1.length) { - var p1 = _g1[_g]; - ++_g; - pe.add(this.parseBlock(this.parseTokens(p1))); - } - return haxe__$Template_TemplateExpr.OpMacro(p,pe); - } - var kwdEnd = function(kwd) { - var pos = -1; - var length = kwd.length; - if(HxOverrides.substr(p,0,length) == kwd) { - pos = length; - var _g_offset = 0; - var _g_s = HxOverrides.substr(p,length,null); - while(_g_offset < _g_s.length) { - var c = _g_s.charCodeAt(_g_offset++); - if(c == 32) { - ++pos; - } else { - break; - } - } - } - return pos; - }; - var pos = kwdEnd("if"); - if(pos > 0) { - p = HxOverrides.substr(p,pos,p.length - pos); - var e = this.parseExpr(p); - var eif = this.parseBlock(tokens); - var t = tokens.first(); - var eelse; - if(t == null) { - throw haxe_Exception.thrown("Unclosed 'if'"); - } - if(t.p == "end") { - tokens.pop(); - eelse = null; - } else if(t.p == "else") { - tokens.pop(); - eelse = this.parseBlock(tokens); - t = tokens.pop(); - if(t == null || t.p != "end") { - throw haxe_Exception.thrown("Unclosed 'else'"); - } - } else { - t.p = HxOverrides.substr(t.p,4,t.p.length - 4); - eelse = this.parse(tokens); - } - return haxe__$Template_TemplateExpr.OpIf(e,eif,eelse); - } - var pos = kwdEnd("foreach"); - if(pos >= 0) { - p = HxOverrides.substr(p,pos,p.length - pos); - var e = this.parseExpr(p); - var efor = this.parseBlock(tokens); - var t = tokens.pop(); - if(t == null || t.p != "end") { - throw haxe_Exception.thrown("Unclosed 'foreach'"); - } - return haxe__$Template_TemplateExpr.OpForeach(e,efor); - } - if(haxe_Template.expr_splitter.match(p)) { - return haxe__$Template_TemplateExpr.OpExpr(this.parseExpr(p)); - } - return haxe__$Template_TemplateExpr.OpVar(p); - } - ,parseExpr: function(data) { - var l = new haxe_ds_List(); - var expr = data; - while(haxe_Template.expr_splitter.match(data)) { - var p = haxe_Template.expr_splitter.matchedPos(); - var k = p.pos + p.len; - if(p.pos != 0) { - l.add({ p : HxOverrides.substr(data,0,p.pos), s : true}); - } - var p1 = haxe_Template.expr_splitter.matched(0); - l.add({ p : p1, s : p1.indexOf("\"") >= 0}); - data = haxe_Template.expr_splitter.matchedRight(); - } - if(data.length != 0) { - var _g_offset = 0; - var _g_s = data; - while(_g_offset < _g_s.length) { - var _g_key = _g_offset; - var _g_value = _g_s.charCodeAt(_g_offset++); - var i = _g_key; - var c = _g_value; - if(c != 32) { - l.add({ p : HxOverrides.substr(data,i,null), s : true}); - break; - } - } - } - var e; - try { - e = this.makeExpr(l); - if(!l.isEmpty()) { - throw haxe_Exception.thrown(l.first().p); - } - } catch( _g ) { - var _g1 = haxe_Exception.caught(_g).unwrap(); - if(typeof(_g1) == "string") { - var s = _g1; - throw haxe_Exception.thrown("Unexpected '" + s + "' in " + expr); - } else { - throw _g; - } - } - return function() { - try { - return e(); - } catch( _g ) { - var exc = haxe_Exception.caught(_g).unwrap(); - throw haxe_Exception.thrown("Error : " + Std.string(exc) + " in " + expr); - } - }; - } - ,makeConst: function(v) { - haxe_Template.expr_trim.match(v); - v = haxe_Template.expr_trim.matched(1); - if(HxOverrides.cca(v,0) == 34) { - var str = HxOverrides.substr(v,1,v.length - 2); - return function() { - return str; - }; - } - if(haxe_Template.expr_int.match(v)) { - var i = Std.parseInt(v); - return function() { - return i; - }; - } - if(haxe_Template.expr_float.match(v)) { - var f = parseFloat(v); - return function() { - return f; - }; - } - var me = this; - return function() { - return me.resolve(v); - }; - } - ,makePath: function(e,l) { - var p = l.first(); - if(p == null || p.p != ".") { - return e; - } - l.pop(); - var field = l.pop(); - if(field == null || !field.s) { - throw haxe_Exception.thrown(field.p); - } - var f = field.p; - haxe_Template.expr_trim.match(f); - f = haxe_Template.expr_trim.matched(1); - return this.makePath(function() { - return Reflect.field(e(),f); - },l); - } - ,makeExpr: function(l) { - return this.makePath(this.makeExpr2(l),l); - } - ,skipSpaces: function(l) { - var p = l.first(); - while(p != null) { - var _g_offset = 0; - var _g_s = p.p; - while(_g_offset < _g_s.length) { - var c = _g_s.charCodeAt(_g_offset++); - if(c != 32) { - return; - } - } - l.pop(); - p = l.first(); - } - } - ,makeExpr2: function(l) { - this.skipSpaces(l); - var p = l.pop(); - this.skipSpaces(l); - if(p == null) { - throw haxe_Exception.thrown(""); - } - if(p.s) { - return this.makeConst(p.p); - } - switch(p.p) { - case "!": - var e = this.makeExpr(l); - return function() { - var v = e(); - if(v != null) { - return v == false; - } else { - return true; - } - }; - case "(": - this.skipSpaces(l); - var e1 = this.makeExpr(l); - this.skipSpaces(l); - var p1 = l.pop(); - if(p1 == null || p1.s) { - throw haxe_Exception.thrown(p1); - } - if(p1.p == ")") { - return e1; - } - this.skipSpaces(l); - var e2 = this.makeExpr(l); - this.skipSpaces(l); - var p2 = l.pop(); - this.skipSpaces(l); - if(p2 == null || p2.p != ")") { - throw haxe_Exception.thrown(p2); - } - switch(p1.p) { - case "!=": - return function() { - return e1() != e2(); - }; - case "&&": - return function() { - return e1() && e2(); - }; - case "*": - return function() { - return e1() * e2(); - }; - case "+": - return function() { - return e1() + e2(); - }; - case "-": - return function() { - return e1() - e2(); - }; - case "/": - return function() { - return e1() / e2(); - }; - case "<": - return function() { - return e1() < e2(); - }; - case "<=": - return function() { - return e1() <= e2(); - }; - case "==": - return function() { - return e1() == e2(); - }; - case ">": - return function() { - return e1() > e2(); - }; - case ">=": - return function() { - return e1() >= e2(); - }; - case "||": - return function() { - return e1() || e2(); - }; - default: - throw haxe_Exception.thrown("Unknown operation " + p1.p); - } - break; - case "-": - var e3 = this.makeExpr(l); - return function() { - return -e3(); - }; - } - throw haxe_Exception.thrown(p.p); - } - ,run: function(e) { - switch(e._hx_index) { - case 0: - var v = e.v; - var _this = this.buf; - var x = Std.string(this.resolve(v)); - _this.b += Std.string(x); - break; - case 1: - var e1 = e.expr; - var _this = this.buf; - var x = Std.string(e1()); - _this.b += Std.string(x); - break; - case 2: - var e1 = e.expr; - var eif = e.eif; - var eelse = e.eelse; - var v = e1(); - if(v == null || v == false) { - if(eelse != null) { - this.run(eelse); - } - } else { - this.run(eif); - } - break; - case 3: - var str = e.str; - this.buf.b += str == null ? "null" : "" + str; - break; - case 4: - var l = e.l; - var _g_head = l.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var e1 = val; - this.run(e1); - } - break; - case 5: - var e1 = e.expr; - var loop = e.loop; - var v = e1(); - try { - var x = $getIterator(v); - if(x.hasNext == null) { - throw haxe_Exception.thrown(null); - } - v = x; - } catch( _g ) { - try { - if(v.hasNext == null) { - throw haxe_Exception.thrown(null); - } - } catch( _g1 ) { - throw haxe_Exception.thrown("Cannot iter on " + Std.string(v)); - } - } - this.stack.push(this.context); - var v1 = v; - var ctx = v1; - while(ctx.hasNext()) { - var ctx1 = ctx.next(); - this.context = ctx1; - this.run(loop); - } - this.context = this.stack.pop(); - break; - case 6: - var m = e.name; - var params = e.params; - var v = Reflect.field(this.macros,m); - var pl = []; - var old = this.buf; - pl.push($bind(this,this.resolve)); - var _g_head = params.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var p = val; - if(p._hx_index == 0) { - var v1 = p.v; - pl.push(this.resolve(v1)); - } else { - this.buf = new StringBuf(); - this.run(p); - pl.push(this.buf.b); - } - } - this.buf = old; - try { - var _this = this.buf; - var x = Std.string(v.apply(this.macros,pl)); - _this.b += Std.string(x); - } catch( _g ) { - var e = haxe_Exception.caught(_g).unwrap(); - var plstr; - try { - plstr = pl.join(","); - } catch( _g1 ) { - plstr = "???"; - } - var msg = "Macro call " + m + "(" + plstr + ") failed (" + Std.string(e) + ")"; - throw haxe_Exception.thrown(msg); - } - break; - } - } -}; -var haxe_ValueException = function(value,previous,native) { - haxe_Exception.call(this,String(value),previous,native); - this.value = value; -}; -haxe_ValueException.__name__ = true; -haxe_ValueException.__super__ = haxe_Exception; -haxe_ValueException.prototype = $extend(haxe_Exception.prototype,{ - unwrap: function() { - return this.value; - } -}); -var haxe_ds_List = function() { - this.length = 0; -}; -haxe_ds_List.__name__ = true; -haxe_ds_List.prototype = { - add: function(item) { - var x = new haxe_ds__$List_ListNode(item,null); - if(this.h == null) { - this.h = x; - } else { - this.q.next = x; - } - this.q = x; - this.length++; - } - ,push: function(item) { - var x = new haxe_ds__$List_ListNode(item,this.h); - this.h = x; - if(this.q == null) { - this.q = x; - } - this.length++; - } - ,first: function() { - if(this.h == null) { - return null; - } else { - return this.h.item; - } - } - ,pop: function() { - if(this.h == null) { - return null; - } - var x = this.h.item; - this.h = this.h.next; - if(this.h == null) { - this.q = null; - } - this.length--; - return x; - } - ,isEmpty: function() { - return this.h == null; - } - ,toString: function() { - var s_b = ""; - var first = true; - var l = this.h; - s_b += "{"; - while(l != null) { - if(first) { - first = false; - } else { - s_b += ", "; - } - s_b += Std.string(Std.string(l.item)); - l = l.next; - } - s_b += "}"; - return s_b; - } -}; -var haxe_ds__$List_ListNode = function(item,next) { - this.item = item; - this.next = next; -}; -haxe_ds__$List_ListNode.__name__ = true; -var js_Boot = function() { }; -js_Boot.__name__ = true; -js_Boot.__string_rec = function(o,s) { - if(o == null) { - return "null"; - } - if(s.length >= 5) { - return "<...>"; - } - var t = typeof(o); - if(t == "function" && (o.__name__ || o.__ename__)) { - t = "object"; - } - switch(t) { - case "function": - return ""; - case "object": - if(o.__enum__) { - var e = $hxEnums[o.__enum__]; - var con = e.__constructs__[o._hx_index]; - var n = con._hx_name; - if(con.__params__) { - s = s + "\t"; - return n + "(" + ((function($this) { - var $r; - var _g = []; - { - var _g1 = 0; - var _g2 = con.__params__; - while(true) { - if(!(_g1 < _g2.length)) { - break; - } - var p = _g2[_g1]; - _g1 = _g1 + 1; - _g.push(js_Boot.__string_rec(o[p],s)); - } - } - $r = _g; - return $r; - }(this))).join(",") + ")"; - } else { - return n; - } - } - if(((o) instanceof Array)) { - var str = "["; - s += "\t"; - var _g = 0; - var _g1 = o.length; - while(_g < _g1) { - var i = _g++; - str += (i > 0 ? "," : "") + js_Boot.__string_rec(o[i],s); - } - str += "]"; - return str; - } - var tostr; - try { - tostr = o.toString; - } catch( _g ) { - return "???"; - } - if(tostr != null && tostr != Object.toString && typeof(tostr) == "function") { - var s2 = o.toString(); - if(s2 != "[object Object]") { - return s2; - } - } - var str = "{\n"; - s += "\t"; - var hasp = o.hasOwnProperty != null; - var k = null; - for( k in o ) { - if(hasp && !o.hasOwnProperty(k)) { - continue; - } - if(k == "prototype" || k == "__class__" || k == "__super__" || k == "__interfaces__" || k == "__properties__") { - continue; - } - if(str.length != 2) { - str += ", \n"; - } - str += s + k + " : " + js_Boot.__string_rec(o[k],s); - } - s = s.substring(1); - str += "\n" + s + "}"; - return str; - case "string": - return o; - default: - return String(o); - } -}; -var xrfragment_Filter = $hx_exports["xrfragment"]["Filter"] = function(str) { - this.q = { }; - this.str = ""; - if(str != null) { - this.parse(str); - } -}; -xrfragment_Filter.__name__ = true; -xrfragment_Filter.prototype = { - toObject: function() { - return Reflect.copy(this.q); - } - ,get: function() { - return Reflect.copy(this.q); - } - ,parse: function(str) { - var token = str.split(" "); - var q = { }; - var process = function(str,prefix) { - if(prefix == null) { - prefix = ""; - } - str = StringTools.trim(str); - var k = str.split("=")[0]; - var v = str.split("=")[1]; - var filter = { }; - if(q[prefix + k]) { - filter = q[prefix + k]; - } - if(xrfragment_XRF.isProp.match(str)) { - var oper = ""; - if(str.indexOf(">") != -1) { - oper = ">"; - } - if(str.indexOf("<") != -1) { - oper = "<"; - } - if(xrfragment_XRF.isExclude.match(k)) { - k = HxOverrides.substr(k,1,null); - } - v = HxOverrides.substr(v,oper.length,null); - if(oper.length == 0) { - oper = "="; - } - var rule = { }; - if(xrfragment_XRF.isNumber.match(v)) { - rule[oper] = parseFloat(v); - } else { - rule[oper] = v; - } - q["expr"] = rule; - } - var value = xrfragment_XRF.isDeep.match(str) ? k.split("*").length - 1 : 0; - q["deep"] = value; - var value = xrfragment_XRF.isExclude.match(str) ? false : true; - q["show"] = value; - var value = k.replace(xrfragment_XRF.operators.r,""); - q["key"] = value; - q["value"] = v; - }; - var _g = 0; - var _g1 = token.length; - while(_g < _g1) { - var i = _g++; - process(token[i]); - } - return this.q = q; - } - ,test: function(obj) { - var qualify = false; - var _g = 0; - var _g1 = Reflect.fields(obj); - while(_g < _g1.length) { - var k = _g1[_g]; - ++_g; - var v = Std.string(Reflect.field(obj,k)); - if(this.testProperty(k,v)) { - qualify = true; - } - } - var _g = 0; - var _g1 = Reflect.fields(obj); - while(_g < _g1.length) { - var k = _g1[_g]; - ++_g; - var v = Std.string(Reflect.field(obj,k)); - if(this.testProperty(k,v,true)) { - qualify = false; - } - } - return qualify; - } - ,testProperty: function(property,value,exclude) { - var conds = 0; - var fails = 0; - var qualify = 0; - var testprop = function(expr) { - conds += 1; - fails += expr ? 0 : 1; - return expr; - }; - if(this.q[value] != null) { - var v = this.q[value]; - if(v[property] != null) { - return v[property]; - } - } - if(Reflect.field(this.q,"expr")) { - var f = Reflect.field(this.q,"expr"); - if(!Reflect.field(this.q,"show")) { - if(Reflect.field(f,"!=") != null && testprop((value == null ? "null" : "" + value) == Std.string(Reflect.field(f,"!="))) && exclude) { - ++qualify; - } - } else { - if(Reflect.field(f,"*") != null && testprop(parseFloat(value) != null)) { - ++qualify; - } - if(Reflect.field(f,">") != null && testprop(parseFloat(value) >= parseFloat(Reflect.field(f,">")))) { - ++qualify; - } - if(Reflect.field(f,"<") != null && testprop(parseFloat(value) <= parseFloat(Reflect.field(f,"<")))) { - ++qualify; - } - if(Reflect.field(f,"=") != null && (testprop(value == Reflect.field(f,"=")) || testprop(parseFloat(value) == parseFloat(Reflect.field(f,"="))))) { - ++qualify; - } - } - } - return qualify > 0; - } -}; -var xrfragment_Parser = $hx_exports["xrfragment"]["Parser"] = function() { }; -xrfragment_Parser.__name__ = true; -xrfragment_Parser.parse = function(key,value,store,index) { - var Frag_h = Object.create(null); - Frag_h["#"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_PREDEFINED_VIEW | xrfragment_XRF.PV_EXECUTE; - Frag_h["src"] = xrfragment_XRF.T_URL; - Frag_h["href"] = xrfragment_XRF.T_URL | xrfragment_XRF.T_PREDEFINED_VIEW; - Frag_h["tag"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["pos"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_VECTOR3 | xrfragment_XRF.T_STRING | xrfragment_XRF.METADATA | xrfragment_XRF.NAVIGATOR; - Frag_h["rot"] = xrfragment_XRF.QUERY_OPERATOR | xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_VECTOR3 | xrfragment_XRF.METADATA | xrfragment_XRF.NAVIGATOR; - Frag_h["t"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_FLOAT | xrfragment_XRF.T_VECTOR2 | xrfragment_XRF.NAVIGATOR | xrfragment_XRF.METADATA; - Frag_h["s"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_MEDIAFRAG; - Frag_h["loop"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_PREDEFINED_VIEW; - Frag_h["uv"] = xrfragment_XRF.T_VECTOR2 | xrfragment_XRF.T_MEDIAFRAG; - Frag_h["namespace"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["SPDX"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["unit"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["description"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - var keyStripped = key.replace(xrfragment_XRF.operators.r,""); - var isPVDynamic = key.length > 0 && !Object.prototype.hasOwnProperty.call(Frag_h,key); - if(isPVDynamic) { - var v = new xrfragment_XRF(key,xrfragment_XRF.PV_EXECUTE | xrfragment_XRF.NAVIGATOR,index); - v.validate(value); - v.flags = xrfragment_XRF.set(xrfragment_XRF.T_DYNAMICKEY,v.flags); - if(!Object.prototype.hasOwnProperty.call(Frag_h,key)) { - v.flags = xrfragment_XRF.set(xrfragment_XRF.CUSTOMFRAG,v.flags); - } - if(value.length == 0) { - v.flags = xrfragment_XRF.set(xrfragment_XRF.T_DYNAMICKEYVALUE,v.flags); - } - store[keyStripped] = v; - return true; - } - var v = new xrfragment_XRF(key,Frag_h[key],index); - if(Object.prototype.hasOwnProperty.call(Frag_h,key)) { - if(!v.validate(value)) { - console.log("src/xrfragment/Parser.hx:67:","⚠ fragment '" + key + "' has incompatible value (" + value + ")"); - return false; - } - store[keyStripped] = v; - if(xrfragment_Parser.debug) { - console.log("src/xrfragment/Parser.hx:71:","✔ " + key + ": " + v.string); - } - } else { - if(typeof(value) == "string") { - v.guessType(v,value); - } - v.flags = xrfragment_XRF.set(xrfragment_XRF.CUSTOMFRAG,v.flags); - store[keyStripped] = v; - } - return true; -}; -xrfragment_Parser.getMetaData = function() { - var meta = { title : ["title","og:title","dc.title"], description : ["aria-description","og:description","dc.description"], author : ["author","dc.creator"], publisher : ["publisher","dc.publisher"], website : ["og:site_name","og:url","dc.publisher"], license : ["SPDX","dc.rights"]}; - return meta; -}; -var xrfragment_URI = $hx_exports["xrfragment"]["URI"] = function() { - this.XRF = { }; - this.hash = { }; - this.fragment = ""; -}; -xrfragment_URI.__name__ = true; -xrfragment_URI.parseFragment = function(url,filter) { - var store = { }; - if(url == null || url.indexOf("#") == -1) { - return store; - } - var fragment = url.split("#"); - var splitArray = fragment[1].split("&"); - var _g = 0; - var _g1 = splitArray.length; - while(_g < _g1) { - var i = _g++; - var splitByEqual = splitArray[i].split("="); - var regexPlus = new EReg("\\+","g"); - var key = splitByEqual[0]; - var value = ""; - if(splitByEqual.length > 1) { - if(xrfragment_XRF.isVector.match(splitByEqual[1])) { - value = splitByEqual[1]; - } else { - var s = regexPlus.split(splitByEqual[1]).join(" "); - value = decodeURIComponent(s.split("+").join(" ")); - } - } - var ok = xrfragment_Parser.parse(key,value,store,i); - } - if(filter != null && filter != 0) { - var _g = 0; - var _g1 = Reflect.fields(store); - while(_g < _g1.length) { - var key = _g1[_g]; - ++_g; - var xrf = store[key]; - if(!xrf.is(filter)) { - Reflect.deleteField(store,key); - } - } - } - return store; -}; -xrfragment_URI.template = function(uri,vars) { - var parts = uri.split("#"); - if(parts.length == 1) { - return uri; - } - var frag = parts[1]; - frag = StringTools.replace(frag,"{","::"); - frag = StringTools.replace(frag,"}","::"); - frag = new haxe_Template(frag).execute(vars); - frag = StringTools.replace(frag,"null",""); - parts[1] = frag; - return parts.join("#"); -}; -xrfragment_URI.parse = function(stringUrl,flags) { - var r = new EReg("^(?:(?![^:@]+:[^:@/]*@)([^:/?#.]+):)?(?://)?((?:(([^:@]*)(?::([^:@]*))?)?@)?([^:/?#]*)(?::(\\d*))?)(((/(?:[^?#](?![^?#/]*\\.[^?#/.]+(?:[?#]|$)))*/?)?([^?#/]*))(?:\\?([^#]*))?(?:#(.*))?)",""); - if(stringUrl.indexOf("://") == -1 && stringUrl.charAt(0) != "/") { - stringUrl = "/" + stringUrl; - } - r.match(stringUrl); - var url = new xrfragment_URI(); - var _g = 0; - var _g1 = xrfragment_URI._parts.length; - while(_g < _g1) { - var i = _g++; - url[xrfragment_URI._parts[i]] = r.matched(i); - } - if(xrfragment_URI.isRelative(url) == true) { - if(url.directory == null && url.host != null) { - url.file = url.host; - } - url.host = ""; - } - url.hash = { }; - if(url.fragment != null && url.fragment.length > 0) { - url.XRF = xrfragment_URI.parseFragment("#" + url.fragment,flags); - var key; - var _g = 0; - var _g1 = Reflect.fields(url.XRF); - while(_g < _g1.length) { - var key = _g1[_g]; - ++_g; - var v = url.XRF[key]; - url.hash[key] = v["string"]; - } - } - xrfragment_URI.computeVars(url); - return url; -}; -xrfragment_URI.computeVars = function(url) { - var r_r = new RegExp("//","g".split("u").join("")); - if(url.directory != null && url.directory.indexOf("//") != -1) { - url.directory = url.directory.replace(r_r,"/"); - } - if(url.path != null && url.path.indexOf("//") != -1) { - url.path = url.path.replace(r_r,"/"); - } - if(url.file != null && url.file.indexOf("//") != -1) { - url.file = url.file.replace(r_r,"/"); - } - url.URN = url.scheme + "://" + url.host; - if(url.port != null) { - url.URN += ":" + url.port; - } - url.URN += url.directory; - if(url.file != null) { - var parts = url.file.split("."); - if(parts.length > 1) { - url.fileExt = parts.pop(); - } - } -}; -xrfragment_URI.toString = function(url) { - var result = ""; - if(url.scheme != null) { - result += url.scheme + "://"; - } - if(url.user != null) { - result += url.user + ":"; - } - if(url.password != null) { - result += url.password + "@"; - } - if(url.host != null) { - result += url.host; - } - if(url.port != null) { - result += ":" + url.port; - } - if(url.directory != null) { - result += url.directory; - } - if(url.file != null) { - result += url.file; - } - if(url.query != null) { - result += "?" + url.query; - } - if(url.fragment != null) { - result += "#" + url.fragment; - } - return result; -}; -xrfragment_URI.appendURI = function(url,appendedURI) { - if(xrfragment_URI.isRelative(url) == true) { - return xrfragment_URI.appendToRelativeURI(url,appendedURI); - } else { - return xrfragment_URI.appendToAbsoluteURI(url,appendedURI); - } -}; -xrfragment_URI.isRelative = function(url) { - return url.scheme == null; -}; -xrfragment_URI.appendToRelativeURI = function(url,appendedURI) { - if(url.directory == null || url.host == null) { - return xrfragment_URI.cloneURI(appendedURI); - } - var resultURI = new xrfragment_URI(); - resultURI.host = url.host; - resultURI.directory = url.directory; - if(appendedURI.host != null) { - resultURI.directory += appendedURI.host; - } - if(appendedURI.directory != null) { - var directory = appendedURI.directory; - if(appendedURI.host == null) { - resultURI.directory += HxOverrides.substr(directory,1,null); - } else { - resultURI.directory += directory; - } - } - if(appendedURI.file != null) { - resultURI.file = appendedURI.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(appendedURI.query != null) { - resultURI.query = appendedURI.query; - } - if(appendedURI.fragment != null) { - resultURI.fragment = appendedURI.fragment; - } - return resultURI; -}; -xrfragment_URI.appendToAbsoluteURI = function(url,appendedURI) { - var resultURI = new xrfragment_URI(); - if(url.scheme != null) { - resultURI.scheme = url.scheme; - } - if(url.host != null) { - resultURI.host = url.host; - } - var directory = ""; - if(url.directory != null) { - directory = url.directory; - } - if(appendedURI.host != null) { - appendedURI.directory += appendedURI.host; - } - if(appendedURI.directory != null) { - directory += appendedURI.directory; - } - resultURI.directory = directory; - if(appendedURI.file != null) { - resultURI.file = appendedURI.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(appendedURI.query != null) { - resultURI.query = appendedURI.query; - } - if(appendedURI.fragment != null) { - resultURI.fragment = appendedURI.fragment; - } - return resultURI; -}; -xrfragment_URI.toAbsolute = function(url,newUrl) { - var newURI = xrfragment_URI.parse(newUrl,0); - var resultURI = new xrfragment_URI(); - resultURI.port = url.port; - resultURI.source = newUrl; - if(newURI.scheme != null) { - resultURI.scheme = newURI.scheme; - } else { - resultURI.scheme = url.scheme; - } - if(newURI.host != null && newURI.host.length > 0) { - resultURI.host = newURI.host; - resultURI.port = null; - resultURI.fragment = null; - resultURI.hash = { }; - resultURI.XRF = { }; - if(newURI.port != null) { - resultURI.port = newURI.port; - } - } else { - resultURI.host = url.host; - } - var directory = ""; - if(url.directory != null) { - directory = url.directory; - } - if(newURI.directory != null) { - if(newUrl.charAt(0) != "/" && newUrl.indexOf("://") == -1) { - var stripRelative_r = new RegExp("\\./.*","".split("u").join("")); - directory = directory.replace(stripRelative_r,""); - directory += newURI.directory; - } else { - directory = newURI.directory; - } - } - resultURI.directory = directory; - if(newURI.file != null) { - resultURI.file = newURI.file; - } else { - resultURI.file = url.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(newURI.query != null) { - resultURI.query = newURI.query; - } - if(newURI.fragment != null) { - resultURI.fragment = newURI.fragment; - } - resultURI.hash = newURI.hash; - resultURI.XRF = newURI.XRF; - xrfragment_URI.computeVars(resultURI); - return resultURI; -}; -xrfragment_URI.cloneURI = function(url) { - var clonedURI = new xrfragment_URI(); - clonedURI.url = url.url; - clonedURI.source = url.source; - clonedURI.scheme = url.scheme; - clonedURI.authority = url.authority; - clonedURI.userInfo = url.userInfo; - clonedURI.password = url.password; - clonedURI.host = url.host; - clonedURI.port = url.port; - clonedURI.relative = url.relative; - clonedURI.path = url.path; - clonedURI.directory = url.directory; - clonedURI.file = url.file; - clonedURI.query = url.query; - clonedURI.fragment = url.fragment; - return clonedURI; -}; -var xrfragment_XRF = $hx_exports["xrfragment"]["XRF"] = function(_fragment,_flags,_index) { - this.floats = []; - this.shift = []; - this.fragment = _fragment; - this.flags = _flags; - this.index = _index; -}; -xrfragment_XRF.__name__ = true; -xrfragment_XRF.set = function(flag,flags) { - return flags | flag; -}; -xrfragment_XRF.unset = function(flag,flags) { - return flags & ~flag; -}; -xrfragment_XRF.prototype = { - is: function(flag) { - var v = this.flags; - if(!(typeof(v) == "number" && ((v | 0) === v))) { - this.flags = 0; - } - return (this.flags & flag) != 0; - } - ,validate: function(value) { - this.guessType(this,value); - var ok = true; - if(value.length == 0 && !this.is(xrfragment_XRF.T_PREDEFINED_VIEW)) { - ok = false; - } - if(!this.is(xrfragment_XRF.T_FLOAT) && this.is(xrfragment_XRF.T_VECTOR2) && !(typeof(this.x) == "number" && typeof(this.y) == "number")) { - ok = false; - } - if(!(this.is(xrfragment_XRF.T_VECTOR2) || this.is(xrfragment_XRF.T_STRING)) && this.is(xrfragment_XRF.T_VECTOR3) && !(typeof(this.x) == "number" && typeof(this.y) == "number" && typeof(this.z) == "number")) { - ok = false; - } - return ok; - } - ,guessType: function(v,str) { - v.string = str; - if(xrfragment_XRF.isReset.match(v.fragment)) { - v.reset = true; - } - if(v.fragment == "loop") { - v.loop = true; - } - if(typeof(str) != "string") { - return; - } - if(str.length > 0) { - if(xrfragment_XRF.isXRFScheme.match(str)) { - v.xrfScheme = true; - str = str.replace(xrfragment_XRF.isXRFScheme.r,""); - v.string = str; - } - if(str.split(",").length > 1) { - var xyzn = str.split(","); - if(xyzn.length > 0) { - v.x = parseFloat(xyzn[0]); - } - if(xyzn.length > 1) { - v.y = parseFloat(xyzn[1]); - } - if(xyzn.length > 2) { - v.z = parseFloat(xyzn[2]); - } - var _g = 0; - var _g1 = xyzn.length; - while(_g < _g1) { - var i = _g++; - v.shift.push(xrfragment_XRF.isShift.match(xyzn[i])); - v.floats.push(parseFloat(xyzn[i].replace(xrfragment_XRF.isShift.r,""))); - } - } - if(xrfragment_XRF.isColor.match(str)) { - v.color = str; - } - if(xrfragment_XRF.isFloat.match(str)) { - v.x = parseFloat(str); - v.float = v.x; - } - if(xrfragment_XRF.isInt.match(str)) { - v.int = Std.parseInt(str); - v.x = v.int; - v.floats.push(v.x); - } - v.filter = new xrfragment_Filter(v.fragment + "=" + v.string); - } else { - v.filter = new xrfragment_Filter(v.fragment); - } - } -}; -function $getIterator(o) { if( o instanceof Array ) return new haxe_iterators_ArrayIterator(o); else return o.iterator(); } -function $bind(o,m) { if( m == null ) return null; if( m.__id__ == null ) m.__id__ = $global.$haxeUID++; var f; if( o.hx__closures__ == null ) o.hx__closures__ = {}; else f = o.hx__closures__[m.__id__]; if( f == null ) { f = m.bind(o); o.hx__closures__[m.__id__] = f; } return f; } -$global.$haxeUID |= 0; -if(typeof(performance) != "undefined" ? typeof(performance.now) == "function" : false) { - HxOverrides.now = performance.now.bind(performance); -} -if( String.fromCodePoint == null ) String.fromCodePoint = function(c) { return c < 0x10000 ? String.fromCharCode(c) : String.fromCharCode((c>>10)+0xD7C0)+String.fromCharCode((c&0x3FF)+0xDC00); } -String.__name__ = true; -Array.__name__ = true; -js_Boot.__toStr = ({ }).toString; -haxe_Template.splitter = new EReg("(::[A-Za-z0-9_ ()&|!+=/><*.\"-]+::|\\$\\$([A-Za-z0-9_-]+)\\()",""); -haxe_Template.expr_splitter = new EReg("(\\(|\\)|[ \r\n\t]*\"[^\"]*\"[ \r\n\t]*|[!+=/><*.&|-]+)",""); -haxe_Template.expr_trim = new EReg("^[ ]*([^ ]+)[ ]*$",""); -haxe_Template.expr_int = new EReg("^[0-9]+$",""); -haxe_Template.expr_float = new EReg("^([+-]?)(?=\\d|,\\d)\\d*(,\\d*)?([Ee]([+-]?\\d+))?$",""); -haxe_Template.globals = { }; -haxe_Template.hxKeepArrayIterator = new haxe_iterators_ArrayIterator([]); -xrfragment_Parser.error = ""; -xrfragment_Parser.debug = false; -xrfragment_URI.__meta__ = { statics : { template : { keep : null}}}; -xrfragment_URI._parts = ["source","scheme","authority","userInfo","user","password","host","port","relative","path","directory","file","query","fragment"]; -xrfragment_XRF.IMMUTABLE = 1; -xrfragment_XRF.PROP_BIND = 2; -xrfragment_XRF.QUERY_OPERATOR = 4; -xrfragment_XRF.PROMPT = 8; -xrfragment_XRF.CUSTOMFRAG = 16; -xrfragment_XRF.NAVIGATOR = 32; -xrfragment_XRF.METADATA = 64; -xrfragment_XRF.PV_OVERRIDE = 128; -xrfragment_XRF.PV_EXECUTE = 256; -xrfragment_XRF.T_COLOR = 8192; -xrfragment_XRF.T_INT = 16384; -xrfragment_XRF.T_FLOAT = 32768; -xrfragment_XRF.T_VECTOR2 = 65536; -xrfragment_XRF.T_VECTOR3 = 131072; -xrfragment_XRF.T_URL = 262144; -xrfragment_XRF.T_PREDEFINED_VIEW = 524288; -xrfragment_XRF.T_STRING = 1048576; -xrfragment_XRF.T_MEDIAFRAG = 2097152; -xrfragment_XRF.T_DYNAMICKEY = 4194304; -xrfragment_XRF.T_DYNAMICKEYVALUE = 8388608; -xrfragment_XRF.isColor = new EReg("^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$",""); -xrfragment_XRF.isInt = new EReg("^[-0-9]+$",""); -xrfragment_XRF.isFloat = new EReg("^[-0-9]+\\.[0-9]+$",""); -xrfragment_XRF.isVector = new EReg("([,]+|\\w)",""); -xrfragment_XRF.isUrl = new EReg("(://)?\\..*",""); -xrfragment_XRF.isUrlOrPretypedView = new EReg("(^#|://)?\\..*",""); -xrfragment_XRF.isString = new EReg(".*",""); -xrfragment_XRF.operators = new EReg("(^[-]|^[!]|[\\*]$)","g"); -xrfragment_XRF.isProp = new EReg("^.*=[><=]?",""); -xrfragment_XRF.isExclude = new EReg("^-",""); -xrfragment_XRF.isDeep = new EReg("\\*",""); -xrfragment_XRF.isNumber = new EReg("^[0-9\\.]+$",""); -xrfragment_XRF.isMediaFrag = new EReg("^([0-9\\.,\\*+-]+)$",""); -xrfragment_XRF.isReset = new EReg("^!",""); -xrfragment_XRF.isShift = new EReg("^(\\+|--)",""); -xrfragment_XRF.isXRFScheme = new EReg("^xrf://",""); -})(typeof window != "undefined" ? window : typeof global != "undefined" ? global : typeof self != "undefined" ? self : this); -var xrfragment = $hx_exports["xrfragment"]; -export default xrfragment; -// Generated by Haxe 4.3.3 -var $hx_exports = typeof exports != "undefined" ? exports : typeof window != "undefined" ? window : typeof self != "undefined" ? self : this; -(function ($global) { "use strict"; -$hx_exports["xrfragment"] = $hx_exports["xrfragment"] || {}; -var $estr = function() { return js_Boot.__string_rec(this,''); },$hxEnums = $hxEnums || {},$_; -function $extend(from, fields) { - var proto = Object.create(from); - for (var name in fields) proto[name] = fields[name]; - if( fields.toString !== Object.prototype.toString ) proto.toString = fields.toString; - return proto; -} -var EReg = function(r,opt) { - this.r = new RegExp(r,opt.split("u").join("")); -}; -EReg.__name__ = true; -EReg.prototype = { - match: function(s) { - if(this.r.global) { - this.r.lastIndex = 0; - } - this.r.m = this.r.exec(s); - this.r.s = s; - return this.r.m != null; - } - ,matched: function(n) { - if(this.r.m != null && n >= 0 && n < this.r.m.length) { - return this.r.m[n]; - } else { - throw haxe_Exception.thrown("EReg::matched"); - } - } - ,matchedRight: function() { - if(this.r.m == null) { - throw haxe_Exception.thrown("No string matched"); - } - var sz = this.r.m.index + this.r.m[0].length; - return HxOverrides.substr(this.r.s,sz,this.r.s.length - sz); - } - ,matchedPos: function() { - if(this.r.m == null) { - throw haxe_Exception.thrown("No string matched"); - } - return { pos : this.r.m.index, len : this.r.m[0].length}; - } - ,split: function(s) { - var d = "#__delim__#"; - return s.replace(this.r,d).split(d); - } -}; -var HxOverrides = function() { }; -HxOverrides.__name__ = true; -HxOverrides.cca = function(s,index) { - var x = s.charCodeAt(index); - if(x != x) { - return undefined; - } - return x; -}; -HxOverrides.substr = function(s,pos,len) { - if(len == null) { - len = s.length; - } else if(len < 0) { - if(pos == 0) { - len = s.length + len; - } else { - return ""; - } - } - return s.substr(pos,len); -}; -HxOverrides.now = function() { - return Date.now(); -}; -Math.__name__ = true; -var Reflect = function() { }; -Reflect.__name__ = true; -Reflect.field = function(o,field) { - try { - return o[field]; - } catch( _g ) { - return null; - } -}; -Reflect.getProperty = function(o,field) { - var tmp; - if(o == null) { - return null; - } else { - var tmp1; - if(o.__properties__) { - tmp = o.__properties__["get_" + field]; - tmp1 = tmp; - } else { - tmp1 = false; - } - if(tmp1) { - return o[tmp](); - } else { - return o[field]; - } - } -}; -Reflect.fields = function(o) { - var a = []; - if(o != null) { - var hasOwnProperty = Object.prototype.hasOwnProperty; - for( var f in o ) { - if(f != "__id__" && f != "hx__closures__" && hasOwnProperty.call(o,f)) { - a.push(f); - } - } - } - return a; -}; -Reflect.isObject = function(v) { - if(v == null) { - return false; - } - var t = typeof(v); - if(!(t == "string" || t == "object" && v.__enum__ == null)) { - if(t == "function") { - return (v.__name__ || v.__ename__) != null; - } else { - return false; - } - } else { - return true; - } -}; -Reflect.deleteField = function(o,field) { - if(!Object.prototype.hasOwnProperty.call(o,field)) { - return false; - } - delete(o[field]); - return true; -}; -Reflect.copy = function(o) { - if(o == null) { - return null; - } - var o2 = { }; - var _g = 0; - var _g1 = Reflect.fields(o); - while(_g < _g1.length) { - var f = _g1[_g]; - ++_g; - o2[f] = Reflect.field(o,f); - } - return o2; -}; -var Std = function() { }; -Std.__name__ = true; -Std.string = function(s) { - return js_Boot.__string_rec(s,""); -}; -Std.parseInt = function(x) { - var v = parseInt(x); - if(isNaN(v)) { - return null; - } - return v; -}; -var StringBuf = function() { - this.b = ""; -}; -StringBuf.__name__ = true; -var StringTools = function() { }; -StringTools.__name__ = true; -StringTools.isSpace = function(s,pos) { - var c = HxOverrides.cca(s,pos); - if(!(c > 8 && c < 14)) { - return c == 32; - } else { - return true; - } -}; -StringTools.ltrim = function(s) { - var l = s.length; - var r = 0; - while(r < l && StringTools.isSpace(s,r)) ++r; - if(r > 0) { - return HxOverrides.substr(s,r,l - r); - } else { - return s; - } -}; -StringTools.rtrim = function(s) { - var l = s.length; - var r = 0; - while(r < l && StringTools.isSpace(s,l - r - 1)) ++r; - if(r > 0) { - return HxOverrides.substr(s,0,l - r); - } else { - return s; - } -}; -StringTools.trim = function(s) { - return StringTools.ltrim(StringTools.rtrim(s)); -}; -StringTools.replace = function(s,sub,by) { - return s.split(sub).join(by); -}; -var haxe_Exception = function(message,previous,native) { - Error.call(this,message); - this.message = message; - this.__previousException = previous; - this.__nativeException = native != null ? native : this; -}; -haxe_Exception.__name__ = true; -haxe_Exception.caught = function(value) { - if(((value) instanceof haxe_Exception)) { - return value; - } else if(((value) instanceof Error)) { - return new haxe_Exception(value.message,null,value); - } else { - return new haxe_ValueException(value,null,value); - } -}; -haxe_Exception.thrown = function(value) { - if(((value) instanceof haxe_Exception)) { - return value.get_native(); - } else if(((value) instanceof Error)) { - return value; - } else { - var e = new haxe_ValueException(value); - return e; - } -}; -haxe_Exception.__super__ = Error; -haxe_Exception.prototype = $extend(Error.prototype,{ - unwrap: function() { - return this.__nativeException; - } - ,get_native: function() { - return this.__nativeException; - } - ,__properties__: {get_native:"get_native"} -}); -var haxe__$Template_TemplateExpr = $hxEnums["haxe._Template.TemplateExpr"] = { __ename__:true,__constructs__:null - ,OpVar: ($_=function(v) { return {_hx_index:0,v:v,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpVar",$_.__params__ = ["v"],$_) - ,OpExpr: ($_=function(expr) { return {_hx_index:1,expr:expr,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpExpr",$_.__params__ = ["expr"],$_) - ,OpIf: ($_=function(expr,eif,eelse) { return {_hx_index:2,expr:expr,eif:eif,eelse:eelse,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpIf",$_.__params__ = ["expr","eif","eelse"],$_) - ,OpStr: ($_=function(str) { return {_hx_index:3,str:str,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpStr",$_.__params__ = ["str"],$_) - ,OpBlock: ($_=function(l) { return {_hx_index:4,l:l,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpBlock",$_.__params__ = ["l"],$_) - ,OpForeach: ($_=function(expr,loop) { return {_hx_index:5,expr:expr,loop:loop,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpForeach",$_.__params__ = ["expr","loop"],$_) - ,OpMacro: ($_=function(name,params) { return {_hx_index:6,name:name,params:params,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpMacro",$_.__params__ = ["name","params"],$_) -}; -haxe__$Template_TemplateExpr.__constructs__ = [haxe__$Template_TemplateExpr.OpVar,haxe__$Template_TemplateExpr.OpExpr,haxe__$Template_TemplateExpr.OpIf,haxe__$Template_TemplateExpr.OpStr,haxe__$Template_TemplateExpr.OpBlock,haxe__$Template_TemplateExpr.OpForeach,haxe__$Template_TemplateExpr.OpMacro]; -var haxe_iterators_ArrayIterator = function(array) { - this.current = 0; - this.array = array; -}; -haxe_iterators_ArrayIterator.__name__ = true; -haxe_iterators_ArrayIterator.prototype = { - hasNext: function() { - return this.current < this.array.length; - } - ,next: function() { - return this.array[this.current++]; - } -}; -var haxe_Template = function(str) { - var tokens = this.parseTokens(str); - this.expr = this.parseBlock(tokens); - if(!tokens.isEmpty()) { - throw haxe_Exception.thrown("Unexpected '" + Std.string(tokens.first().s) + "'"); - } -}; -haxe_Template.__name__ = true; -haxe_Template.prototype = { - execute: function(context,macros) { - this.macros = macros == null ? { } : macros; - this.context = context; - this.stack = new haxe_ds_List(); - this.buf = new StringBuf(); - this.run(this.expr); - return this.buf.b; - } - ,resolve: function(v) { - if(v == "__current__") { - return this.context; - } - if(Reflect.isObject(this.context)) { - var value = Reflect.getProperty(this.context,v); - if(value != null || Object.prototype.hasOwnProperty.call(this.context,v)) { - return value; - } - } - var _g_head = this.stack.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var ctx = val; - var value = Reflect.getProperty(ctx,v); - if(value != null || Object.prototype.hasOwnProperty.call(ctx,v)) { - return value; - } - } - return Reflect.field(haxe_Template.globals,v); - } - ,parseTokens: function(data) { - var tokens = new haxe_ds_List(); - while(haxe_Template.splitter.match(data)) { - var p = haxe_Template.splitter.matchedPos(); - if(p.pos > 0) { - tokens.add({ p : HxOverrides.substr(data,0,p.pos), s : true, l : null}); - } - if(HxOverrides.cca(data,p.pos) == 58) { - tokens.add({ p : HxOverrides.substr(data,p.pos + 2,p.len - 4), s : false, l : null}); - data = haxe_Template.splitter.matchedRight(); - continue; - } - var parp = p.pos + p.len; - var npar = 1; - var params = []; - var part = ""; - while(true) { - var c = HxOverrides.cca(data,parp); - ++parp; - if(c == 40) { - ++npar; - } else if(c == 41) { - --npar; - if(npar <= 0) { - break; - } - } else if(c == null) { - throw haxe_Exception.thrown("Unclosed macro parenthesis"); - } - if(c == 44 && npar == 1) { - params.push(part); - part = ""; - } else { - part += String.fromCodePoint(c); - } - } - params.push(part); - tokens.add({ p : haxe_Template.splitter.matched(2), s : false, l : params}); - data = HxOverrides.substr(data,parp,data.length - parp); - } - if(data.length > 0) { - tokens.add({ p : data, s : true, l : null}); - } - return tokens; - } - ,parseBlock: function(tokens) { - var l = new haxe_ds_List(); - while(true) { - var t = tokens.first(); - if(t == null) { - break; - } - if(!t.s && (t.p == "end" || t.p == "else" || HxOverrides.substr(t.p,0,7) == "elseif ")) { - break; - } - l.add(this.parse(tokens)); - } - if(l.length == 1) { - return l.first(); - } - return haxe__$Template_TemplateExpr.OpBlock(l); - } - ,parse: function(tokens) { - var t = tokens.pop(); - var p = t.p; - if(t.s) { - return haxe__$Template_TemplateExpr.OpStr(p); - } - if(t.l != null) { - var pe = new haxe_ds_List(); - var _g = 0; - var _g1 = t.l; - while(_g < _g1.length) { - var p1 = _g1[_g]; - ++_g; - pe.add(this.parseBlock(this.parseTokens(p1))); - } - return haxe__$Template_TemplateExpr.OpMacro(p,pe); - } - var kwdEnd = function(kwd) { - var pos = -1; - var length = kwd.length; - if(HxOverrides.substr(p,0,length) == kwd) { - pos = length; - var _g_offset = 0; - var _g_s = HxOverrides.substr(p,length,null); - while(_g_offset < _g_s.length) { - var c = _g_s.charCodeAt(_g_offset++); - if(c == 32) { - ++pos; - } else { - break; - } - } - } - return pos; - }; - var pos = kwdEnd("if"); - if(pos > 0) { - p = HxOverrides.substr(p,pos,p.length - pos); - var e = this.parseExpr(p); - var eif = this.parseBlock(tokens); - var t = tokens.first(); - var eelse; - if(t == null) { - throw haxe_Exception.thrown("Unclosed 'if'"); - } - if(t.p == "end") { - tokens.pop(); - eelse = null; - } else if(t.p == "else") { - tokens.pop(); - eelse = this.parseBlock(tokens); - t = tokens.pop(); - if(t == null || t.p != "end") { - throw haxe_Exception.thrown("Unclosed 'else'"); - } - } else { - t.p = HxOverrides.substr(t.p,4,t.p.length - 4); - eelse = this.parse(tokens); - } - return haxe__$Template_TemplateExpr.OpIf(e,eif,eelse); - } - var pos = kwdEnd("foreach"); - if(pos >= 0) { - p = HxOverrides.substr(p,pos,p.length - pos); - var e = this.parseExpr(p); - var efor = this.parseBlock(tokens); - var t = tokens.pop(); - if(t == null || t.p != "end") { - throw haxe_Exception.thrown("Unclosed 'foreach'"); - } - return haxe__$Template_TemplateExpr.OpForeach(e,efor); - } - if(haxe_Template.expr_splitter.match(p)) { - return haxe__$Template_TemplateExpr.OpExpr(this.parseExpr(p)); - } - return haxe__$Template_TemplateExpr.OpVar(p); - } - ,parseExpr: function(data) { - var l = new haxe_ds_List(); - var expr = data; - while(haxe_Template.expr_splitter.match(data)) { - var p = haxe_Template.expr_splitter.matchedPos(); - var k = p.pos + p.len; - if(p.pos != 0) { - l.add({ p : HxOverrides.substr(data,0,p.pos), s : true}); - } - var p1 = haxe_Template.expr_splitter.matched(0); - l.add({ p : p1, s : p1.indexOf("\"") >= 0}); - data = haxe_Template.expr_splitter.matchedRight(); - } - if(data.length != 0) { - var _g_offset = 0; - var _g_s = data; - while(_g_offset < _g_s.length) { - var _g_key = _g_offset; - var _g_value = _g_s.charCodeAt(_g_offset++); - var i = _g_key; - var c = _g_value; - if(c != 32) { - l.add({ p : HxOverrides.substr(data,i,null), s : true}); - break; - } - } - } - var e; - try { - e = this.makeExpr(l); - if(!l.isEmpty()) { - throw haxe_Exception.thrown(l.first().p); - } - } catch( _g ) { - var _g1 = haxe_Exception.caught(_g).unwrap(); - if(typeof(_g1) == "string") { - var s = _g1; - throw haxe_Exception.thrown("Unexpected '" + s + "' in " + expr); - } else { - throw _g; - } - } - return function() { - try { - return e(); - } catch( _g ) { - var exc = haxe_Exception.caught(_g).unwrap(); - throw haxe_Exception.thrown("Error : " + Std.string(exc) + " in " + expr); - } - }; - } - ,makeConst: function(v) { - haxe_Template.expr_trim.match(v); - v = haxe_Template.expr_trim.matched(1); - if(HxOverrides.cca(v,0) == 34) { - var str = HxOverrides.substr(v,1,v.length - 2); - return function() { - return str; - }; - } - if(haxe_Template.expr_int.match(v)) { - var i = Std.parseInt(v); - return function() { - return i; - }; - } - if(haxe_Template.expr_float.match(v)) { - var f = parseFloat(v); - return function() { - return f; - }; - } - var me = this; - return function() { - return me.resolve(v); - }; - } - ,makePath: function(e,l) { - var p = l.first(); - if(p == null || p.p != ".") { - return e; - } - l.pop(); - var field = l.pop(); - if(field == null || !field.s) { - throw haxe_Exception.thrown(field.p); - } - var f = field.p; - haxe_Template.expr_trim.match(f); - f = haxe_Template.expr_trim.matched(1); - return this.makePath(function() { - return Reflect.field(e(),f); - },l); - } - ,makeExpr: function(l) { - return this.makePath(this.makeExpr2(l),l); - } - ,skipSpaces: function(l) { - var p = l.first(); - while(p != null) { - var _g_offset = 0; - var _g_s = p.p; - while(_g_offset < _g_s.length) { - var c = _g_s.charCodeAt(_g_offset++); - if(c != 32) { - return; - } - } - l.pop(); - p = l.first(); - } - } - ,makeExpr2: function(l) { - this.skipSpaces(l); - var p = l.pop(); - this.skipSpaces(l); - if(p == null) { - throw haxe_Exception.thrown(""); - } - if(p.s) { - return this.makeConst(p.p); - } - switch(p.p) { - case "!": - var e = this.makeExpr(l); - return function() { - var v = e(); - if(v != null) { - return v == false; - } else { - return true; - } - }; - case "(": - this.skipSpaces(l); - var e1 = this.makeExpr(l); - this.skipSpaces(l); - var p1 = l.pop(); - if(p1 == null || p1.s) { - throw haxe_Exception.thrown(p1); - } - if(p1.p == ")") { - return e1; - } - this.skipSpaces(l); - var e2 = this.makeExpr(l); - this.skipSpaces(l); - var p2 = l.pop(); - this.skipSpaces(l); - if(p2 == null || p2.p != ")") { - throw haxe_Exception.thrown(p2); - } - switch(p1.p) { - case "!=": - return function() { - return e1() != e2(); - }; - case "&&": - return function() { - return e1() && e2(); - }; - case "*": - return function() { - return e1() * e2(); - }; - case "+": - return function() { - return e1() + e2(); - }; - case "-": - return function() { - return e1() - e2(); - }; - case "/": - return function() { - return e1() / e2(); - }; - case "<": - return function() { - return e1() < e2(); - }; - case "<=": - return function() { - return e1() <= e2(); - }; - case "==": - return function() { - return e1() == e2(); - }; - case ">": - return function() { - return e1() > e2(); - }; - case ">=": - return function() { - return e1() >= e2(); - }; - case "||": - return function() { - return e1() || e2(); - }; - default: - throw haxe_Exception.thrown("Unknown operation " + p1.p); - } - break; - case "-": - var e3 = this.makeExpr(l); - return function() { - return -e3(); - }; - } - throw haxe_Exception.thrown(p.p); - } - ,run: function(e) { - switch(e._hx_index) { - case 0: - var v = e.v; - var _this = this.buf; - var x = Std.string(this.resolve(v)); - _this.b += Std.string(x); - break; - case 1: - var e1 = e.expr; - var _this = this.buf; - var x = Std.string(e1()); - _this.b += Std.string(x); - break; - case 2: - var e1 = e.expr; - var eif = e.eif; - var eelse = e.eelse; - var v = e1(); - if(v == null || v == false) { - if(eelse != null) { - this.run(eelse); - } - } else { - this.run(eif); - } - break; - case 3: - var str = e.str; - this.buf.b += str == null ? "null" : "" + str; - break; - case 4: - var l = e.l; - var _g_head = l.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var e1 = val; - this.run(e1); - } - break; - case 5: - var e1 = e.expr; - var loop = e.loop; - var v = e1(); - try { - var x = $getIterator(v); - if(x.hasNext == null) { - throw haxe_Exception.thrown(null); - } - v = x; - } catch( _g ) { - try { - if(v.hasNext == null) { - throw haxe_Exception.thrown(null); - } - } catch( _g1 ) { - throw haxe_Exception.thrown("Cannot iter on " + Std.string(v)); - } - } - this.stack.push(this.context); - var v1 = v; - var ctx = v1; - while(ctx.hasNext()) { - var ctx1 = ctx.next(); - this.context = ctx1; - this.run(loop); - } - this.context = this.stack.pop(); - break; - case 6: - var m = e.name; - var params = e.params; - var v = Reflect.field(this.macros,m); - var pl = []; - var old = this.buf; - pl.push($bind(this,this.resolve)); - var _g_head = params.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var p = val; - if(p._hx_index == 0) { - var v1 = p.v; - pl.push(this.resolve(v1)); - } else { - this.buf = new StringBuf(); - this.run(p); - pl.push(this.buf.b); - } - } - this.buf = old; - try { - var _this = this.buf; - var x = Std.string(v.apply(this.macros,pl)); - _this.b += Std.string(x); - } catch( _g ) { - var e = haxe_Exception.caught(_g).unwrap(); - var plstr; - try { - plstr = pl.join(","); - } catch( _g1 ) { - plstr = "???"; - } - var msg = "Macro call " + m + "(" + plstr + ") failed (" + Std.string(e) + ")"; - throw haxe_Exception.thrown(msg); - } - break; - } - } -}; -var haxe_ValueException = function(value,previous,native) { - haxe_Exception.call(this,String(value),previous,native); - this.value = value; -}; -haxe_ValueException.__name__ = true; -haxe_ValueException.__super__ = haxe_Exception; -haxe_ValueException.prototype = $extend(haxe_Exception.prototype,{ - unwrap: function() { - return this.value; - } -}); -var haxe_ds_List = function() { - this.length = 0; -}; -haxe_ds_List.__name__ = true; -haxe_ds_List.prototype = { - add: function(item) { - var x = new haxe_ds__$List_ListNode(item,null); - if(this.h == null) { - this.h = x; - } else { - this.q.next = x; - } - this.q = x; - this.length++; - } - ,push: function(item) { - var x = new haxe_ds__$List_ListNode(item,this.h); - this.h = x; - if(this.q == null) { - this.q = x; - } - this.length++; - } - ,first: function() { - if(this.h == null) { - return null; - } else { - return this.h.item; - } - } - ,pop: function() { - if(this.h == null) { - return null; - } - var x = this.h.item; - this.h = this.h.next; - if(this.h == null) { - this.q = null; - } - this.length--; - return x; - } - ,isEmpty: function() { - return this.h == null; - } - ,toString: function() { - var s_b = ""; - var first = true; - var l = this.h; - s_b += "{"; - while(l != null) { - if(first) { - first = false; - } else { - s_b += ", "; - } - s_b += Std.string(Std.string(l.item)); - l = l.next; - } - s_b += "}"; - return s_b; - } -}; -var haxe_ds__$List_ListNode = function(item,next) { - this.item = item; - this.next = next; -}; -haxe_ds__$List_ListNode.__name__ = true; -var js_Boot = function() { }; -js_Boot.__name__ = true; -js_Boot.__string_rec = function(o,s) { - if(o == null) { - return "null"; - } - if(s.length >= 5) { - return "<...>"; - } - var t = typeof(o); - if(t == "function" && (o.__name__ || o.__ename__)) { - t = "object"; - } - switch(t) { - case "function": - return ""; - case "object": - if(o.__enum__) { - var e = $hxEnums[o.__enum__]; - var con = e.__constructs__[o._hx_index]; - var n = con._hx_name; - if(con.__params__) { - s = s + "\t"; - return n + "(" + ((function($this) { - var $r; - var _g = []; - { - var _g1 = 0; - var _g2 = con.__params__; - while(true) { - if(!(_g1 < _g2.length)) { - break; - } - var p = _g2[_g1]; - _g1 = _g1 + 1; - _g.push(js_Boot.__string_rec(o[p],s)); - } - } - $r = _g; - return $r; - }(this))).join(",") + ")"; - } else { - return n; - } - } - if(((o) instanceof Array)) { - var str = "["; - s += "\t"; - var _g = 0; - var _g1 = o.length; - while(_g < _g1) { - var i = _g++; - str += (i > 0 ? "," : "") + js_Boot.__string_rec(o[i],s); - } - str += "]"; - return str; - } - var tostr; - try { - tostr = o.toString; - } catch( _g ) { - return "???"; - } - if(tostr != null && tostr != Object.toString && typeof(tostr) == "function") { - var s2 = o.toString(); - if(s2 != "[object Object]") { - return s2; - } - } - var str = "{\n"; - s += "\t"; - var hasp = o.hasOwnProperty != null; - var k = null; - for( k in o ) { - if(hasp && !o.hasOwnProperty(k)) { - continue; - } - if(k == "prototype" || k == "__class__" || k == "__super__" || k == "__interfaces__" || k == "__properties__") { - continue; - } - if(str.length != 2) { - str += ", \n"; - } - str += s + k + " : " + js_Boot.__string_rec(o[k],s); - } - s = s.substring(1); - str += "\n" + s + "}"; - return str; - case "string": - return o; - default: - return String(o); - } -}; -var xrfragment_Filter = $hx_exports["xrfragment"]["Filter"] = function(str) { - this.q = { }; - this.str = ""; - if(str != null) { - this.parse(str); - } -}; -xrfragment_Filter.__name__ = true; -xrfragment_Filter.prototype = { - toObject: function() { - return Reflect.copy(this.q); - } - ,get: function() { - return Reflect.copy(this.q); - } - ,parse: function(str) { - var token = str.split(" "); - var q = { }; - var process = function(str,prefix) { - if(prefix == null) { - prefix = ""; - } - str = StringTools.trim(str); - var k = str.split("=")[0]; - var v = str.split("=")[1]; - var filter = { }; - if(q[prefix + k]) { - filter = q[prefix + k]; - } - if(xrfragment_XRF.isProp.match(str)) { - var oper = ""; - if(str.indexOf(">") != -1) { - oper = ">"; - } - if(str.indexOf("<") != -1) { - oper = "<"; - } - if(xrfragment_XRF.isExclude.match(k)) { - k = HxOverrides.substr(k,1,null); - } - v = HxOverrides.substr(v,oper.length,null); - if(oper.length == 0) { - oper = "="; - } - var rule = { }; - if(xrfragment_XRF.isNumber.match(v)) { - rule[oper] = parseFloat(v); - } else { - rule[oper] = v; - } - q["expr"] = rule; - } - var value = xrfragment_XRF.isDeep.match(str) ? k.split("*").length - 1 : 0; - q["deep"] = value; - var value = xrfragment_XRF.isExclude.match(str) ? false : true; - q["show"] = value; - var value = k.replace(xrfragment_XRF.operators.r,""); - q["key"] = value; - q["value"] = v; - }; - var _g = 0; - var _g1 = token.length; - while(_g < _g1) { - var i = _g++; - process(token[i]); - } - return this.q = q; - } - ,test: function(obj) { - var qualify = false; - var _g = 0; - var _g1 = Reflect.fields(obj); - while(_g < _g1.length) { - var k = _g1[_g]; - ++_g; - var v = Std.string(Reflect.field(obj,k)); - if(this.testProperty(k,v)) { - qualify = true; - } - } - var _g = 0; - var _g1 = Reflect.fields(obj); - while(_g < _g1.length) { - var k = _g1[_g]; - ++_g; - var v = Std.string(Reflect.field(obj,k)); - if(this.testProperty(k,v,true)) { - qualify = false; - } - } - return qualify; - } - ,testProperty: function(property,value,exclude) { - var conds = 0; - var fails = 0; - var qualify = 0; - var testprop = function(expr) { - conds += 1; - fails += expr ? 0 : 1; - return expr; - }; - if(this.q[value] != null) { - var v = this.q[value]; - if(v[property] != null) { - return v[property]; - } - } - if(Reflect.field(this.q,"expr")) { - var f = Reflect.field(this.q,"expr"); - if(!Reflect.field(this.q,"show")) { - if(Reflect.field(f,"!=") != null && testprop((value == null ? "null" : "" + value) == Std.string(Reflect.field(f,"!="))) && exclude) { - ++qualify; - } - } else { - if(Reflect.field(f,"*") != null && testprop(parseFloat(value) != null)) { - ++qualify; - } - if(Reflect.field(f,">") != null && testprop(parseFloat(value) >= parseFloat(Reflect.field(f,">")))) { - ++qualify; - } - if(Reflect.field(f,"<") != null && testprop(parseFloat(value) <= parseFloat(Reflect.field(f,"<")))) { - ++qualify; - } - if(Reflect.field(f,"=") != null && (testprop(value == Reflect.field(f,"=")) || testprop(parseFloat(value) == parseFloat(Reflect.field(f,"="))))) { - ++qualify; - } - } - } - return qualify > 0; - } -}; -var xrfragment_Parser = $hx_exports["xrfragment"]["Parser"] = function() { }; -xrfragment_Parser.__name__ = true; -xrfragment_Parser.parse = function(key,value,store,index) { - var Frag_h = Object.create(null); - Frag_h["#"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_PREDEFINED_VIEW | xrfragment_XRF.PV_EXECUTE; - Frag_h["src"] = xrfragment_XRF.T_URL; - Frag_h["href"] = xrfragment_XRF.T_URL | xrfragment_XRF.T_PREDEFINED_VIEW; - Frag_h["tag"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["pos"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_VECTOR3 | xrfragment_XRF.T_STRING | xrfragment_XRF.METADATA | xrfragment_XRF.NAVIGATOR; - Frag_h["rot"] = xrfragment_XRF.QUERY_OPERATOR | xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_VECTOR3 | xrfragment_XRF.METADATA | xrfragment_XRF.NAVIGATOR; - Frag_h["t"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_FLOAT | xrfragment_XRF.T_VECTOR2 | xrfragment_XRF.NAVIGATOR | xrfragment_XRF.METADATA; - Frag_h["s"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_MEDIAFRAG; - Frag_h["loop"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_PREDEFINED_VIEW; - Frag_h["uv"] = xrfragment_XRF.T_VECTOR2 | xrfragment_XRF.T_MEDIAFRAG; - Frag_h["namespace"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["SPDX"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["unit"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["description"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - var keyStripped = key.replace(xrfragment_XRF.operators.r,""); - var isPVDynamic = key.length > 0 && !Object.prototype.hasOwnProperty.call(Frag_h,key); - if(isPVDynamic) { - var v = new xrfragment_XRF(key,xrfragment_XRF.PV_EXECUTE | xrfragment_XRF.NAVIGATOR,index); - v.validate(value); - v.flags = xrfragment_XRF.set(xrfragment_XRF.T_DYNAMICKEY,v.flags); - if(!Object.prototype.hasOwnProperty.call(Frag_h,key)) { - v.flags = xrfragment_XRF.set(xrfragment_XRF.CUSTOMFRAG,v.flags); - } - if(value.length == 0) { - v.flags = xrfragment_XRF.set(xrfragment_XRF.T_DYNAMICKEYVALUE,v.flags); - } - store[keyStripped] = v; - return true; - } - var v = new xrfragment_XRF(key,Frag_h[key],index); - if(Object.prototype.hasOwnProperty.call(Frag_h,key)) { - if(!v.validate(value)) { - console.log("src/xrfragment/Parser.hx:67:","⚠ fragment '" + key + "' has incompatible value (" + value + ")"); - return false; - } - store[keyStripped] = v; - if(xrfragment_Parser.debug) { - console.log("src/xrfragment/Parser.hx:71:","✔ " + key + ": " + v.string); - } - } else { - if(typeof(value) == "string") { - v.guessType(v,value); - } - v.flags = xrfragment_XRF.set(xrfragment_XRF.CUSTOMFRAG,v.flags); - store[keyStripped] = v; - } - return true; -}; -xrfragment_Parser.getMetaData = function() { - var meta = { title : ["title","og:title","dc.title"], description : ["aria-description","og:description","dc.description"], author : ["author","dc.creator"], publisher : ["publisher","dc.publisher"], website : ["og:site_name","og:url","dc.publisher"], license : ["SPDX","dc.rights"]}; - return meta; -}; -var xrfragment_URI = $hx_exports["xrfragment"]["URI"] = function() { - this.XRF = { }; - this.hash = { }; - this.fragment = ""; -}; -xrfragment_URI.__name__ = true; -xrfragment_URI.parseFragment = function(url,filter) { - var store = { }; - if(url == null || url.indexOf("#") == -1) { - return store; - } - var fragment = url.split("#"); - var splitArray = fragment[1].split("&"); - var _g = 0; - var _g1 = splitArray.length; - while(_g < _g1) { - var i = _g++; - var splitByEqual = splitArray[i].split("="); - var regexPlus = new EReg("\\+","g"); - var key = splitByEqual[0]; - var value = ""; - if(splitByEqual.length > 1) { - if(xrfragment_XRF.isVector.match(splitByEqual[1])) { - value = splitByEqual[1]; - } else { - var s = regexPlus.split(splitByEqual[1]).join(" "); - value = decodeURIComponent(s.split("+").join(" ")); - } - } - var ok = xrfragment_Parser.parse(key,value,store,i); - } - if(filter != null && filter != 0) { - var _g = 0; - var _g1 = Reflect.fields(store); - while(_g < _g1.length) { - var key = _g1[_g]; - ++_g; - var xrf = store[key]; - if(!xrf.is(filter)) { - Reflect.deleteField(store,key); - } - } - } - return store; -}; -xrfragment_URI.template = function(uri,vars) { - var parts = uri.split("#"); - if(parts.length == 1) { - return uri; - } - var frag = parts[1]; - frag = StringTools.replace(frag,"{","::"); - frag = StringTools.replace(frag,"}","::"); - frag = new haxe_Template(frag).execute(vars); - frag = StringTools.replace(frag,"null",""); - parts[1] = frag; - return parts.join("#"); -}; -xrfragment_URI.parse = function(stringUrl,flags) { - var r = new EReg("^(?:(?![^:@]+:[^:@/]*@)([^:/?#.]+):)?(?://)?((?:(([^:@]*)(?::([^:@]*))?)?@)?([^:/?#]*)(?::(\\d*))?)(((/(?:[^?#](?![^?#/]*\\.[^?#/.]+(?:[?#]|$)))*/?)?([^?#/]*))(?:\\?([^#]*))?(?:#(.*))?)",""); - if(stringUrl.indexOf("://") == -1 && stringUrl.charAt(0) != "/") { - stringUrl = "/" + stringUrl; - } - r.match(stringUrl); - var url = new xrfragment_URI(); - var _g = 0; - var _g1 = xrfragment_URI._parts.length; - while(_g < _g1) { - var i = _g++; - url[xrfragment_URI._parts[i]] = r.matched(i); - } - if(xrfragment_URI.isRelative(url) == true) { - if(url.directory == null && url.host != null) { - url.file = url.host; - } - url.host = ""; - } - url.hash = { }; - if(url.fragment != null && url.fragment.length > 0) { - url.XRF = xrfragment_URI.parseFragment("#" + url.fragment,flags); - var key; - var _g = 0; - var _g1 = Reflect.fields(url.XRF); - while(_g < _g1.length) { - var key = _g1[_g]; - ++_g; - var v = url.XRF[key]; - url.hash[key] = v["string"]; - } - } - xrfragment_URI.computeVars(url); - return url; -}; -xrfragment_URI.computeVars = function(url) { - var r_r = new RegExp("//","g".split("u").join("")); - if(url.directory != null && url.directory.indexOf("//") != -1) { - url.directory = url.directory.replace(r_r,"/"); - } - if(url.path != null && url.path.indexOf("//") != -1) { - url.path = url.path.replace(r_r,"/"); - } - if(url.file != null && url.file.indexOf("//") != -1) { - url.file = url.file.replace(r_r,"/"); - } - url.URN = url.scheme + "://" + url.host; - if(url.port != null) { - url.URN += ":" + url.port; - } - url.URN += url.directory; - if(url.file != null) { - var parts = url.file.split("."); - if(parts.length > 1) { - url.fileExt = parts.pop(); - } - } -}; -xrfragment_URI.toString = function(url) { - var result = ""; - if(url.scheme != null) { - result += url.scheme + "://"; - } - if(url.user != null) { - result += url.user + ":"; - } - if(url.password != null) { - result += url.password + "@"; - } - if(url.host != null) { - result += url.host; - } - if(url.port != null) { - result += ":" + url.port; - } - if(url.directory != null) { - result += url.directory; - } - if(url.file != null) { - result += url.file; - } - if(url.query != null) { - result += "?" + url.query; - } - if(url.fragment != null) { - result += "#" + url.fragment; - } - return result; -}; -xrfragment_URI.appendURI = function(url,appendedURI) { - if(xrfragment_URI.isRelative(url) == true) { - return xrfragment_URI.appendToRelativeURI(url,appendedURI); - } else { - return xrfragment_URI.appendToAbsoluteURI(url,appendedURI); - } -}; -xrfragment_URI.isRelative = function(url) { - return url.scheme == null; -}; -xrfragment_URI.appendToRelativeURI = function(url,appendedURI) { - if(url.directory == null || url.host == null) { - return xrfragment_URI.cloneURI(appendedURI); - } - var resultURI = new xrfragment_URI(); - resultURI.host = url.host; - resultURI.directory = url.directory; - if(appendedURI.host != null) { - resultURI.directory += appendedURI.host; - } - if(appendedURI.directory != null) { - var directory = appendedURI.directory; - if(appendedURI.host == null) { - resultURI.directory += HxOverrides.substr(directory,1,null); - } else { - resultURI.directory += directory; - } - } - if(appendedURI.file != null) { - resultURI.file = appendedURI.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(appendedURI.query != null) { - resultURI.query = appendedURI.query; - } - if(appendedURI.fragment != null) { - resultURI.fragment = appendedURI.fragment; - } - return resultURI; -}; -xrfragment_URI.appendToAbsoluteURI = function(url,appendedURI) { - var resultURI = new xrfragment_URI(); - if(url.scheme != null) { - resultURI.scheme = url.scheme; - } - if(url.host != null) { - resultURI.host = url.host; - } - var directory = ""; - if(url.directory != null) { - directory = url.directory; - } - if(appendedURI.host != null) { - appendedURI.directory += appendedURI.host; - } - if(appendedURI.directory != null) { - directory += appendedURI.directory; - } - resultURI.directory = directory; - if(appendedURI.file != null) { - resultURI.file = appendedURI.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(appendedURI.query != null) { - resultURI.query = appendedURI.query; - } - if(appendedURI.fragment != null) { - resultURI.fragment = appendedURI.fragment; - } - return resultURI; -}; -xrfragment_URI.toAbsolute = function(url,newUrl) { - var newURI = xrfragment_URI.parse(newUrl,0); - var resultURI = new xrfragment_URI(); - resultURI.port = url.port; - resultURI.source = newUrl; - if(newURI.scheme != null) { - resultURI.scheme = newURI.scheme; - } else { - resultURI.scheme = url.scheme; - } - if(newURI.host != null && newURI.host.length > 0) { - resultURI.host = newURI.host; - resultURI.port = null; - resultURI.fragment = null; - resultURI.hash = { }; - resultURI.XRF = { }; - if(newURI.port != null) { - resultURI.port = newURI.port; - } - } else { - resultURI.host = url.host; - } - var directory = ""; - if(url.directory != null) { - directory = url.directory; - } - if(newURI.directory != null) { - if(newUrl.charAt(0) != "/" && newUrl.indexOf("://") == -1) { - var stripRelative_r = new RegExp("\\./.*","".split("u").join("")); - directory = directory.replace(stripRelative_r,""); - directory += newURI.directory; - } else { - directory = newURI.directory; - } - } - resultURI.directory = directory; - if(newURI.file != null) { - resultURI.file = newURI.file; - } else { - resultURI.file = url.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(newURI.query != null) { - resultURI.query = newURI.query; - } - if(newURI.fragment != null) { - resultURI.fragment = newURI.fragment; - } - resultURI.hash = newURI.hash; - resultURI.XRF = newURI.XRF; - xrfragment_URI.computeVars(resultURI); - return resultURI; -}; -xrfragment_URI.cloneURI = function(url) { - var clonedURI = new xrfragment_URI(); - clonedURI.url = url.url; - clonedURI.source = url.source; - clonedURI.scheme = url.scheme; - clonedURI.authority = url.authority; - clonedURI.userInfo = url.userInfo; - clonedURI.password = url.password; - clonedURI.host = url.host; - clonedURI.port = url.port; - clonedURI.relative = url.relative; - clonedURI.path = url.path; - clonedURI.directory = url.directory; - clonedURI.file = url.file; - clonedURI.query = url.query; - clonedURI.fragment = url.fragment; - return clonedURI; -}; -var xrfragment_XRF = $hx_exports["xrfragment"]["XRF"] = function(_fragment,_flags,_index) { - this.floats = []; - this.shift = []; - this.fragment = _fragment; - this.flags = _flags; - this.index = _index; -}; -xrfragment_XRF.__name__ = true; -xrfragment_XRF.set = function(flag,flags) { - return flags | flag; -}; -xrfragment_XRF.unset = function(flag,flags) { - return flags & ~flag; -}; -xrfragment_XRF.prototype = { - is: function(flag) { - var v = this.flags; - if(!(typeof(v) == "number" && ((v | 0) === v))) { - this.flags = 0; - } - return (this.flags & flag) != 0; - } - ,validate: function(value) { - this.guessType(this,value); - var ok = true; - if(value.length == 0 && !this.is(xrfragment_XRF.T_PREDEFINED_VIEW)) { - ok = false; - } - if(!this.is(xrfragment_XRF.T_FLOAT) && this.is(xrfragment_XRF.T_VECTOR2) && !(typeof(this.x) == "number" && typeof(this.y) == "number")) { - ok = false; - } - if(!(this.is(xrfragment_XRF.T_VECTOR2) || this.is(xrfragment_XRF.T_STRING)) && this.is(xrfragment_XRF.T_VECTOR3) && !(typeof(this.x) == "number" && typeof(this.y) == "number" && typeof(this.z) == "number")) { - ok = false; - } - return ok; - } - ,guessType: function(v,str) { - v.string = str; - if(xrfragment_XRF.isReset.match(v.fragment)) { - v.reset = true; - } - if(v.fragment == "loop") { - v.loop = true; - } - if(typeof(str) != "string") { - return; - } - if(str.length > 0) { - if(xrfragment_XRF.isXRFScheme.match(str)) { - v.xrfScheme = true; - str = str.replace(xrfragment_XRF.isXRFScheme.r,""); - v.string = str; - } - if(str.split(",").length > 1) { - var xyzn = str.split(","); - if(xyzn.length > 0) { - v.x = parseFloat(xyzn[0]); - } - if(xyzn.length > 1) { - v.y = parseFloat(xyzn[1]); - } - if(xyzn.length > 2) { - v.z = parseFloat(xyzn[2]); - } - var _g = 0; - var _g1 = xyzn.length; - while(_g < _g1) { - var i = _g++; - v.shift.push(xrfragment_XRF.isShift.match(xyzn[i])); - v.floats.push(parseFloat(xyzn[i].replace(xrfragment_XRF.isShift.r,""))); - } - } - if(xrfragment_XRF.isColor.match(str)) { - v.color = str; - } - if(xrfragment_XRF.isFloat.match(str)) { - v.x = parseFloat(str); - v.float = v.x; - } - if(xrfragment_XRF.isInt.match(str)) { - v.int = Std.parseInt(str); - v.x = v.int; - v.floats.push(v.x); - } - v.filter = new xrfragment_Filter(v.fragment + "=" + v.string); - } else { - v.filter = new xrfragment_Filter(v.fragment); - } - } -}; -function $getIterator(o) { if( o instanceof Array ) return new haxe_iterators_ArrayIterator(o); else return o.iterator(); } -function $bind(o,m) { if( m == null ) return null; if( m.__id__ == null ) m.__id__ = $global.$haxeUID++; var f; if( o.hx__closures__ == null ) o.hx__closures__ = {}; else f = o.hx__closures__[m.__id__]; if( f == null ) { f = m.bind(o); o.hx__closures__[m.__id__] = f; } return f; } -$global.$haxeUID |= 0; -if(typeof(performance) != "undefined" ? typeof(performance.now) == "function" : false) { - HxOverrides.now = performance.now.bind(performance); -} -if( String.fromCodePoint == null ) String.fromCodePoint = function(c) { return c < 0x10000 ? String.fromCharCode(c) : String.fromCharCode((c>>10)+0xD7C0)+String.fromCharCode((c&0x3FF)+0xDC00); } -String.__name__ = true; -Array.__name__ = true; -js_Boot.__toStr = ({ }).toString; -haxe_Template.splitter = new EReg("(::[A-Za-z0-9_ ()&|!+=/><*.\"-]+::|\\$\\$([A-Za-z0-9_-]+)\\()",""); -haxe_Template.expr_splitter = new EReg("(\\(|\\)|[ \r\n\t]*\"[^\"]*\"[ \r\n\t]*|[!+=/><*.&|-]+)",""); -haxe_Template.expr_trim = new EReg("^[ ]*([^ ]+)[ ]*$",""); -haxe_Template.expr_int = new EReg("^[0-9]+$",""); -haxe_Template.expr_float = new EReg("^([+-]?)(?=\\d|,\\d)\\d*(,\\d*)?([Ee]([+-]?\\d+))?$",""); -haxe_Template.globals = { }; -haxe_Template.hxKeepArrayIterator = new haxe_iterators_ArrayIterator([]); -xrfragment_Parser.error = ""; -xrfragment_Parser.debug = false; -xrfragment_URI.__meta__ = { statics : { template : { keep : null}}}; -xrfragment_URI._parts = ["source","scheme","authority","userInfo","user","password","host","port","relative","path","directory","file","query","fragment"]; -xrfragment_XRF.IMMUTABLE = 1; -xrfragment_XRF.PROP_BIND = 2; -xrfragment_XRF.QUERY_OPERATOR = 4; -xrfragment_XRF.PROMPT = 8; -xrfragment_XRF.CUSTOMFRAG = 16; -xrfragment_XRF.NAVIGATOR = 32; -xrfragment_XRF.METADATA = 64; -xrfragment_XRF.PV_OVERRIDE = 128; -xrfragment_XRF.PV_EXECUTE = 256; -xrfragment_XRF.T_COLOR = 8192; -xrfragment_XRF.T_INT = 16384; -xrfragment_XRF.T_FLOAT = 32768; -xrfragment_XRF.T_VECTOR2 = 65536; -xrfragment_XRF.T_VECTOR3 = 131072; -xrfragment_XRF.T_URL = 262144; -xrfragment_XRF.T_PREDEFINED_VIEW = 524288; -xrfragment_XRF.T_STRING = 1048576; -xrfragment_XRF.T_MEDIAFRAG = 2097152; -xrfragment_XRF.T_DYNAMICKEY = 4194304; -xrfragment_XRF.T_DYNAMICKEYVALUE = 8388608; -xrfragment_XRF.isColor = new EReg("^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$",""); -xrfragment_XRF.isInt = new EReg("^[-0-9]+$",""); -xrfragment_XRF.isFloat = new EReg("^[-0-9]+\\.[0-9]+$",""); -xrfragment_XRF.isVector = new EReg("([,]+|\\w)",""); -xrfragment_XRF.isUrl = new EReg("(://)?\\..*",""); -xrfragment_XRF.isUrlOrPretypedView = new EReg("(^#|://)?\\..*",""); -xrfragment_XRF.isString = new EReg(".*",""); -xrfragment_XRF.operators = new EReg("(^[-]|^[!]|[\\*]$)","g"); -xrfragment_XRF.isProp = new EReg("^.*=[><=]?",""); -xrfragment_XRF.isExclude = new EReg("^-",""); -xrfragment_XRF.isDeep = new EReg("\\*",""); -xrfragment_XRF.isNumber = new EReg("^[0-9\\.]+$",""); -xrfragment_XRF.isMediaFrag = new EReg("^([0-9\\.,\\*+-]+)$",""); -xrfragment_XRF.isReset = new EReg("^!",""); -xrfragment_XRF.isShift = new EReg("^(\\+|--)",""); -xrfragment_XRF.isXRFScheme = new EReg("^xrf://",""); -})(typeof window != "undefined" ? window : typeof global != "undefined" ? global : typeof self != "undefined" ? self : this); -var xrfragment = $hx_exports["xrfragment"]; -export default xrfragment; -// Generated by Haxe 4.3.3 -var $hx_exports = typeof exports != "undefined" ? exports : typeof window != "undefined" ? window : typeof self != "undefined" ? self : this; -(function ($global) { "use strict"; -$hx_exports["xrfragment"] = $hx_exports["xrfragment"] || {}; -var $estr = function() { return js_Boot.__string_rec(this,''); },$hxEnums = $hxEnums || {},$_; -function $extend(from, fields) { - var proto = Object.create(from); - for (var name in fields) proto[name] = fields[name]; - if( fields.toString !== Object.prototype.toString ) proto.toString = fields.toString; - return proto; -} -var EReg = function(r,opt) { - this.r = new RegExp(r,opt.split("u").join("")); -}; -EReg.__name__ = true; -EReg.prototype = { - match: function(s) { - if(this.r.global) { - this.r.lastIndex = 0; - } - this.r.m = this.r.exec(s); - this.r.s = s; - return this.r.m != null; - } - ,matched: function(n) { - if(this.r.m != null && n >= 0 && n < this.r.m.length) { - return this.r.m[n]; - } else { - throw haxe_Exception.thrown("EReg::matched"); - } - } - ,matchedRight: function() { - if(this.r.m == null) { - throw haxe_Exception.thrown("No string matched"); - } - var sz = this.r.m.index + this.r.m[0].length; - return HxOverrides.substr(this.r.s,sz,this.r.s.length - sz); - } - ,matchedPos: function() { - if(this.r.m == null) { - throw haxe_Exception.thrown("No string matched"); - } - return { pos : this.r.m.index, len : this.r.m[0].length}; - } - ,split: function(s) { - var d = "#__delim__#"; - return s.replace(this.r,d).split(d); - } -}; -var HxOverrides = function() { }; -HxOverrides.__name__ = true; -HxOverrides.cca = function(s,index) { - var x = s.charCodeAt(index); - if(x != x) { - return undefined; - } - return x; -}; -HxOverrides.substr = function(s,pos,len) { - if(len == null) { - len = s.length; - } else if(len < 0) { - if(pos == 0) { - len = s.length + len; - } else { - return ""; - } - } - return s.substr(pos,len); -}; -HxOverrides.now = function() { - return Date.now(); -}; -Math.__name__ = true; -var Reflect = function() { }; -Reflect.__name__ = true; -Reflect.field = function(o,field) { - try { - return o[field]; - } catch( _g ) { - return null; - } -}; -Reflect.getProperty = function(o,field) { - var tmp; - if(o == null) { - return null; - } else { - var tmp1; - if(o.__properties__) { - tmp = o.__properties__["get_" + field]; - tmp1 = tmp; - } else { - tmp1 = false; - } - if(tmp1) { - return o[tmp](); - } else { - return o[field]; - } - } -}; -Reflect.fields = function(o) { - var a = []; - if(o != null) { - var hasOwnProperty = Object.prototype.hasOwnProperty; - for( var f in o ) { - if(f != "__id__" && f != "hx__closures__" && hasOwnProperty.call(o,f)) { - a.push(f); - } - } - } - return a; -}; -Reflect.isObject = function(v) { - if(v == null) { - return false; - } - var t = typeof(v); - if(!(t == "string" || t == "object" && v.__enum__ == null)) { - if(t == "function") { - return (v.__name__ || v.__ename__) != null; - } else { - return false; - } - } else { - return true; - } -}; -Reflect.deleteField = function(o,field) { - if(!Object.prototype.hasOwnProperty.call(o,field)) { - return false; - } - delete(o[field]); - return true; -}; -Reflect.copy = function(o) { - if(o == null) { - return null; - } - var o2 = { }; - var _g = 0; - var _g1 = Reflect.fields(o); - while(_g < _g1.length) { - var f = _g1[_g]; - ++_g; - o2[f] = Reflect.field(o,f); - } - return o2; -}; -var Std = function() { }; -Std.__name__ = true; -Std.string = function(s) { - return js_Boot.__string_rec(s,""); -}; -Std.parseInt = function(x) { - var v = parseInt(x); - if(isNaN(v)) { - return null; - } - return v; -}; -var StringBuf = function() { - this.b = ""; -}; -StringBuf.__name__ = true; -var StringTools = function() { }; -StringTools.__name__ = true; -StringTools.isSpace = function(s,pos) { - var c = HxOverrides.cca(s,pos); - if(!(c > 8 && c < 14)) { - return c == 32; - } else { - return true; - } -}; -StringTools.ltrim = function(s) { - var l = s.length; - var r = 0; - while(r < l && StringTools.isSpace(s,r)) ++r; - if(r > 0) { - return HxOverrides.substr(s,r,l - r); - } else { - return s; - } -}; -StringTools.rtrim = function(s) { - var l = s.length; - var r = 0; - while(r < l && StringTools.isSpace(s,l - r - 1)) ++r; - if(r > 0) { - return HxOverrides.substr(s,0,l - r); - } else { - return s; - } -}; -StringTools.trim = function(s) { - return StringTools.ltrim(StringTools.rtrim(s)); -}; -StringTools.replace = function(s,sub,by) { - return s.split(sub).join(by); -}; -var haxe_Exception = function(message,previous,native) { - Error.call(this,message); - this.message = message; - this.__previousException = previous; - this.__nativeException = native != null ? native : this; -}; -haxe_Exception.__name__ = true; -haxe_Exception.caught = function(value) { - if(((value) instanceof haxe_Exception)) { - return value; - } else if(((value) instanceof Error)) { - return new haxe_Exception(value.message,null,value); - } else { - return new haxe_ValueException(value,null,value); - } -}; -haxe_Exception.thrown = function(value) { - if(((value) instanceof haxe_Exception)) { - return value.get_native(); - } else if(((value) instanceof Error)) { - return value; - } else { - var e = new haxe_ValueException(value); - return e; - } -}; -haxe_Exception.__super__ = Error; -haxe_Exception.prototype = $extend(Error.prototype,{ - unwrap: function() { - return this.__nativeException; - } - ,get_native: function() { - return this.__nativeException; - } - ,__properties__: {get_native:"get_native"} -}); -var haxe__$Template_TemplateExpr = $hxEnums["haxe._Template.TemplateExpr"] = { __ename__:true,__constructs__:null - ,OpVar: ($_=function(v) { return {_hx_index:0,v:v,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpVar",$_.__params__ = ["v"],$_) - ,OpExpr: ($_=function(expr) { return {_hx_index:1,expr:expr,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpExpr",$_.__params__ = ["expr"],$_) - ,OpIf: ($_=function(expr,eif,eelse) { return {_hx_index:2,expr:expr,eif:eif,eelse:eelse,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpIf",$_.__params__ = ["expr","eif","eelse"],$_) - ,OpStr: ($_=function(str) { return {_hx_index:3,str:str,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpStr",$_.__params__ = ["str"],$_) - ,OpBlock: ($_=function(l) { return {_hx_index:4,l:l,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpBlock",$_.__params__ = ["l"],$_) - ,OpForeach: ($_=function(expr,loop) { return {_hx_index:5,expr:expr,loop:loop,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpForeach",$_.__params__ = ["expr","loop"],$_) - ,OpMacro: ($_=function(name,params) { return {_hx_index:6,name:name,params:params,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpMacro",$_.__params__ = ["name","params"],$_) -}; -haxe__$Template_TemplateExpr.__constructs__ = [haxe__$Template_TemplateExpr.OpVar,haxe__$Template_TemplateExpr.OpExpr,haxe__$Template_TemplateExpr.OpIf,haxe__$Template_TemplateExpr.OpStr,haxe__$Template_TemplateExpr.OpBlock,haxe__$Template_TemplateExpr.OpForeach,haxe__$Template_TemplateExpr.OpMacro]; -var haxe_iterators_ArrayIterator = function(array) { - this.current = 0; - this.array = array; -}; -haxe_iterators_ArrayIterator.__name__ = true; -haxe_iterators_ArrayIterator.prototype = { - hasNext: function() { - return this.current < this.array.length; - } - ,next: function() { - return this.array[this.current++]; - } -}; -var haxe_Template = function(str) { - var tokens = this.parseTokens(str); - this.expr = this.parseBlock(tokens); - if(!tokens.isEmpty()) { - throw haxe_Exception.thrown("Unexpected '" + Std.string(tokens.first().s) + "'"); - } -}; -haxe_Template.__name__ = true; -haxe_Template.prototype = { - execute: function(context,macros) { - this.macros = macros == null ? { } : macros; - this.context = context; - this.stack = new haxe_ds_List(); - this.buf = new StringBuf(); - this.run(this.expr); - return this.buf.b; - } - ,resolve: function(v) { - if(v == "__current__") { - return this.context; - } - if(Reflect.isObject(this.context)) { - var value = Reflect.getProperty(this.context,v); - if(value != null || Object.prototype.hasOwnProperty.call(this.context,v)) { - return value; - } - } - var _g_head = this.stack.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var ctx = val; - var value = Reflect.getProperty(ctx,v); - if(value != null || Object.prototype.hasOwnProperty.call(ctx,v)) { - return value; - } - } - return Reflect.field(haxe_Template.globals,v); - } - ,parseTokens: function(data) { - var tokens = new haxe_ds_List(); - while(haxe_Template.splitter.match(data)) { - var p = haxe_Template.splitter.matchedPos(); - if(p.pos > 0) { - tokens.add({ p : HxOverrides.substr(data,0,p.pos), s : true, l : null}); - } - if(HxOverrides.cca(data,p.pos) == 58) { - tokens.add({ p : HxOverrides.substr(data,p.pos + 2,p.len - 4), s : false, l : null}); - data = haxe_Template.splitter.matchedRight(); - continue; - } - var parp = p.pos + p.len; - var npar = 1; - var params = []; - var part = ""; - while(true) { - var c = HxOverrides.cca(data,parp); - ++parp; - if(c == 40) { - ++npar; - } else if(c == 41) { - --npar; - if(npar <= 0) { - break; - } - } else if(c == null) { - throw haxe_Exception.thrown("Unclosed macro parenthesis"); - } - if(c == 44 && npar == 1) { - params.push(part); - part = ""; - } else { - part += String.fromCodePoint(c); - } - } - params.push(part); - tokens.add({ p : haxe_Template.splitter.matched(2), s : false, l : params}); - data = HxOverrides.substr(data,parp,data.length - parp); - } - if(data.length > 0) { - tokens.add({ p : data, s : true, l : null}); - } - return tokens; - } - ,parseBlock: function(tokens) { - var l = new haxe_ds_List(); - while(true) { - var t = tokens.first(); - if(t == null) { - break; - } - if(!t.s && (t.p == "end" || t.p == "else" || HxOverrides.substr(t.p,0,7) == "elseif ")) { - break; - } - l.add(this.parse(tokens)); - } - if(l.length == 1) { - return l.first(); - } - return haxe__$Template_TemplateExpr.OpBlock(l); - } - ,parse: function(tokens) { - var t = tokens.pop(); - var p = t.p; - if(t.s) { - return haxe__$Template_TemplateExpr.OpStr(p); - } - if(t.l != null) { - var pe = new haxe_ds_List(); - var _g = 0; - var _g1 = t.l; - while(_g < _g1.length) { - var p1 = _g1[_g]; - ++_g; - pe.add(this.parseBlock(this.parseTokens(p1))); - } - return haxe__$Template_TemplateExpr.OpMacro(p,pe); - } - var kwdEnd = function(kwd) { - var pos = -1; - var length = kwd.length; - if(HxOverrides.substr(p,0,length) == kwd) { - pos = length; - var _g_offset = 0; - var _g_s = HxOverrides.substr(p,length,null); - while(_g_offset < _g_s.length) { - var c = _g_s.charCodeAt(_g_offset++); - if(c == 32) { - ++pos; - } else { - break; - } - } - } - return pos; - }; - var pos = kwdEnd("if"); - if(pos > 0) { - p = HxOverrides.substr(p,pos,p.length - pos); - var e = this.parseExpr(p); - var eif = this.parseBlock(tokens); - var t = tokens.first(); - var eelse; - if(t == null) { - throw haxe_Exception.thrown("Unclosed 'if'"); - } - if(t.p == "end") { - tokens.pop(); - eelse = null; - } else if(t.p == "else") { - tokens.pop(); - eelse = this.parseBlock(tokens); - t = tokens.pop(); - if(t == null || t.p != "end") { - throw haxe_Exception.thrown("Unclosed 'else'"); - } - } else { - t.p = HxOverrides.substr(t.p,4,t.p.length - 4); - eelse = this.parse(tokens); - } - return haxe__$Template_TemplateExpr.OpIf(e,eif,eelse); - } - var pos = kwdEnd("foreach"); - if(pos >= 0) { - p = HxOverrides.substr(p,pos,p.length - pos); - var e = this.parseExpr(p); - var efor = this.parseBlock(tokens); - var t = tokens.pop(); - if(t == null || t.p != "end") { - throw haxe_Exception.thrown("Unclosed 'foreach'"); - } - return haxe__$Template_TemplateExpr.OpForeach(e,efor); - } - if(haxe_Template.expr_splitter.match(p)) { - return haxe__$Template_TemplateExpr.OpExpr(this.parseExpr(p)); - } - return haxe__$Template_TemplateExpr.OpVar(p); - } - ,parseExpr: function(data) { - var l = new haxe_ds_List(); - var expr = data; - while(haxe_Template.expr_splitter.match(data)) { - var p = haxe_Template.expr_splitter.matchedPos(); - var k = p.pos + p.len; - if(p.pos != 0) { - l.add({ p : HxOverrides.substr(data,0,p.pos), s : true}); - } - var p1 = haxe_Template.expr_splitter.matched(0); - l.add({ p : p1, s : p1.indexOf("\"") >= 0}); - data = haxe_Template.expr_splitter.matchedRight(); - } - if(data.length != 0) { - var _g_offset = 0; - var _g_s = data; - while(_g_offset < _g_s.length) { - var _g_key = _g_offset; - var _g_value = _g_s.charCodeAt(_g_offset++); - var i = _g_key; - var c = _g_value; - if(c != 32) { - l.add({ p : HxOverrides.substr(data,i,null), s : true}); - break; - } - } - } - var e; - try { - e = this.makeExpr(l); - if(!l.isEmpty()) { - throw haxe_Exception.thrown(l.first().p); - } - } catch( _g ) { - var _g1 = haxe_Exception.caught(_g).unwrap(); - if(typeof(_g1) == "string") { - var s = _g1; - throw haxe_Exception.thrown("Unexpected '" + s + "' in " + expr); - } else { - throw _g; - } - } - return function() { - try { - return e(); - } catch( _g ) { - var exc = haxe_Exception.caught(_g).unwrap(); - throw haxe_Exception.thrown("Error : " + Std.string(exc) + " in " + expr); - } - }; - } - ,makeConst: function(v) { - haxe_Template.expr_trim.match(v); - v = haxe_Template.expr_trim.matched(1); - if(HxOverrides.cca(v,0) == 34) { - var str = HxOverrides.substr(v,1,v.length - 2); - return function() { - return str; - }; - } - if(haxe_Template.expr_int.match(v)) { - var i = Std.parseInt(v); - return function() { - return i; - }; - } - if(haxe_Template.expr_float.match(v)) { - var f = parseFloat(v); - return function() { - return f; - }; - } - var me = this; - return function() { - return me.resolve(v); - }; - } - ,makePath: function(e,l) { - var p = l.first(); - if(p == null || p.p != ".") { - return e; - } - l.pop(); - var field = l.pop(); - if(field == null || !field.s) { - throw haxe_Exception.thrown(field.p); - } - var f = field.p; - haxe_Template.expr_trim.match(f); - f = haxe_Template.expr_trim.matched(1); - return this.makePath(function() { - return Reflect.field(e(),f); - },l); - } - ,makeExpr: function(l) { - return this.makePath(this.makeExpr2(l),l); - } - ,skipSpaces: function(l) { - var p = l.first(); - while(p != null) { - var _g_offset = 0; - var _g_s = p.p; - while(_g_offset < _g_s.length) { - var c = _g_s.charCodeAt(_g_offset++); - if(c != 32) { - return; - } - } - l.pop(); - p = l.first(); - } - } - ,makeExpr2: function(l) { - this.skipSpaces(l); - var p = l.pop(); - this.skipSpaces(l); - if(p == null) { - throw haxe_Exception.thrown(""); - } - if(p.s) { - return this.makeConst(p.p); - } - switch(p.p) { - case "!": - var e = this.makeExpr(l); - return function() { - var v = e(); - if(v != null) { - return v == false; - } else { - return true; - } - }; - case "(": - this.skipSpaces(l); - var e1 = this.makeExpr(l); - this.skipSpaces(l); - var p1 = l.pop(); - if(p1 == null || p1.s) { - throw haxe_Exception.thrown(p1); - } - if(p1.p == ")") { - return e1; - } - this.skipSpaces(l); - var e2 = this.makeExpr(l); - this.skipSpaces(l); - var p2 = l.pop(); - this.skipSpaces(l); - if(p2 == null || p2.p != ")") { - throw haxe_Exception.thrown(p2); - } - switch(p1.p) { - case "!=": - return function() { - return e1() != e2(); - }; - case "&&": - return function() { - return e1() && e2(); - }; - case "*": - return function() { - return e1() * e2(); - }; - case "+": - return function() { - return e1() + e2(); - }; - case "-": - return function() { - return e1() - e2(); - }; - case "/": - return function() { - return e1() / e2(); - }; - case "<": - return function() { - return e1() < e2(); - }; - case "<=": - return function() { - return e1() <= e2(); - }; - case "==": - return function() { - return e1() == e2(); - }; - case ">": - return function() { - return e1() > e2(); - }; - case ">=": - return function() { - return e1() >= e2(); - }; - case "||": - return function() { - return e1() || e2(); - }; - default: - throw haxe_Exception.thrown("Unknown operation " + p1.p); - } - break; - case "-": - var e3 = this.makeExpr(l); - return function() { - return -e3(); - }; - } - throw haxe_Exception.thrown(p.p); - } - ,run: function(e) { - switch(e._hx_index) { - case 0: - var v = e.v; - var _this = this.buf; - var x = Std.string(this.resolve(v)); - _this.b += Std.string(x); - break; - case 1: - var e1 = e.expr; - var _this = this.buf; - var x = Std.string(e1()); - _this.b += Std.string(x); - break; - case 2: - var e1 = e.expr; - var eif = e.eif; - var eelse = e.eelse; - var v = e1(); - if(v == null || v == false) { - if(eelse != null) { - this.run(eelse); - } - } else { - this.run(eif); - } - break; - case 3: - var str = e.str; - this.buf.b += str == null ? "null" : "" + str; - break; - case 4: - var l = e.l; - var _g_head = l.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var e1 = val; - this.run(e1); - } - break; - case 5: - var e1 = e.expr; - var loop = e.loop; - var v = e1(); - try { - var x = $getIterator(v); - if(x.hasNext == null) { - throw haxe_Exception.thrown(null); - } - v = x; - } catch( _g ) { - try { - if(v.hasNext == null) { - throw haxe_Exception.thrown(null); - } - } catch( _g1 ) { - throw haxe_Exception.thrown("Cannot iter on " + Std.string(v)); - } - } - this.stack.push(this.context); - var v1 = v; - var ctx = v1; - while(ctx.hasNext()) { - var ctx1 = ctx.next(); - this.context = ctx1; - this.run(loop); - } - this.context = this.stack.pop(); - break; - case 6: - var m = e.name; - var params = e.params; - var v = Reflect.field(this.macros,m); - var pl = []; - var old = this.buf; - pl.push($bind(this,this.resolve)); - var _g_head = params.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var p = val; - if(p._hx_index == 0) { - var v1 = p.v; - pl.push(this.resolve(v1)); - } else { - this.buf = new StringBuf(); - this.run(p); - pl.push(this.buf.b); - } - } - this.buf = old; - try { - var _this = this.buf; - var x = Std.string(v.apply(this.macros,pl)); - _this.b += Std.string(x); - } catch( _g ) { - var e = haxe_Exception.caught(_g).unwrap(); - var plstr; - try { - plstr = pl.join(","); - } catch( _g1 ) { - plstr = "???"; - } - var msg = "Macro call " + m + "(" + plstr + ") failed (" + Std.string(e) + ")"; - throw haxe_Exception.thrown(msg); - } - break; - } - } -}; -var haxe_ValueException = function(value,previous,native) { - haxe_Exception.call(this,String(value),previous,native); - this.value = value; -}; -haxe_ValueException.__name__ = true; -haxe_ValueException.__super__ = haxe_Exception; -haxe_ValueException.prototype = $extend(haxe_Exception.prototype,{ - unwrap: function() { - return this.value; - } -}); -var haxe_ds_List = function() { - this.length = 0; -}; -haxe_ds_List.__name__ = true; -haxe_ds_List.prototype = { - add: function(item) { - var x = new haxe_ds__$List_ListNode(item,null); - if(this.h == null) { - this.h = x; - } else { - this.q.next = x; - } - this.q = x; - this.length++; - } - ,push: function(item) { - var x = new haxe_ds__$List_ListNode(item,this.h); - this.h = x; - if(this.q == null) { - this.q = x; - } - this.length++; - } - ,first: function() { - if(this.h == null) { - return null; - } else { - return this.h.item; - } - } - ,pop: function() { - if(this.h == null) { - return null; - } - var x = this.h.item; - this.h = this.h.next; - if(this.h == null) { - this.q = null; - } - this.length--; - return x; - } - ,isEmpty: function() { - return this.h == null; - } - ,toString: function() { - var s_b = ""; - var first = true; - var l = this.h; - s_b += "{"; - while(l != null) { - if(first) { - first = false; - } else { - s_b += ", "; - } - s_b += Std.string(Std.string(l.item)); - l = l.next; - } - s_b += "}"; - return s_b; - } -}; -var haxe_ds__$List_ListNode = function(item,next) { - this.item = item; - this.next = next; -}; -haxe_ds__$List_ListNode.__name__ = true; -var js_Boot = function() { }; -js_Boot.__name__ = true; -js_Boot.__string_rec = function(o,s) { - if(o == null) { - return "null"; - } - if(s.length >= 5) { - return "<...>"; - } - var t = typeof(o); - if(t == "function" && (o.__name__ || o.__ename__)) { - t = "object"; - } - switch(t) { - case "function": - return ""; - case "object": - if(o.__enum__) { - var e = $hxEnums[o.__enum__]; - var con = e.__constructs__[o._hx_index]; - var n = con._hx_name; - if(con.__params__) { - s = s + "\t"; - return n + "(" + ((function($this) { - var $r; - var _g = []; - { - var _g1 = 0; - var _g2 = con.__params__; - while(true) { - if(!(_g1 < _g2.length)) { - break; - } - var p = _g2[_g1]; - _g1 = _g1 + 1; - _g.push(js_Boot.__string_rec(o[p],s)); - } - } - $r = _g; - return $r; - }(this))).join(",") + ")"; - } else { - return n; - } - } - if(((o) instanceof Array)) { - var str = "["; - s += "\t"; - var _g = 0; - var _g1 = o.length; - while(_g < _g1) { - var i = _g++; - str += (i > 0 ? "," : "") + js_Boot.__string_rec(o[i],s); - } - str += "]"; - return str; - } - var tostr; - try { - tostr = o.toString; - } catch( _g ) { - return "???"; - } - if(tostr != null && tostr != Object.toString && typeof(tostr) == "function") { - var s2 = o.toString(); - if(s2 != "[object Object]") { - return s2; - } - } - var str = "{\n"; - s += "\t"; - var hasp = o.hasOwnProperty != null; - var k = null; - for( k in o ) { - if(hasp && !o.hasOwnProperty(k)) { - continue; - } - if(k == "prototype" || k == "__class__" || k == "__super__" || k == "__interfaces__" || k == "__properties__") { - continue; - } - if(str.length != 2) { - str += ", \n"; - } - str += s + k + " : " + js_Boot.__string_rec(o[k],s); - } - s = s.substring(1); - str += "\n" + s + "}"; - return str; - case "string": - return o; - default: - return String(o); - } -}; -var xrfragment_Filter = $hx_exports["xrfragment"]["Filter"] = function(str) { - this.q = { }; - this.str = ""; - if(str != null) { - this.parse(str); - } -}; -xrfragment_Filter.__name__ = true; -xrfragment_Filter.prototype = { - toObject: function() { - return Reflect.copy(this.q); - } - ,get: function() { - return Reflect.copy(this.q); - } - ,parse: function(str) { - var token = str.split(" "); - var q = { }; - var process = function(str,prefix) { - if(prefix == null) { - prefix = ""; - } - str = StringTools.trim(str); - var k = str.split("=")[0]; - var v = str.split("=")[1]; - var filter = { }; - if(q[prefix + k]) { - filter = q[prefix + k]; - } - if(xrfragment_XRF.isProp.match(str)) { - var oper = ""; - if(str.indexOf(">") != -1) { - oper = ">"; - } - if(str.indexOf("<") != -1) { - oper = "<"; - } - if(xrfragment_XRF.isExclude.match(k)) { - k = HxOverrides.substr(k,1,null); - } - v = HxOverrides.substr(v,oper.length,null); - if(oper.length == 0) { - oper = "="; - } - var rule = { }; - if(xrfragment_XRF.isNumber.match(v)) { - rule[oper] = parseFloat(v); - } else { - rule[oper] = v; - } - q["expr"] = rule; - } - var value = xrfragment_XRF.isDeep.match(str) ? k.split("*").length - 1 : 0; - q["deep"] = value; - var value = xrfragment_XRF.isExclude.match(str) ? false : true; - q["show"] = value; - var value = k.replace(xrfragment_XRF.operators.r,""); - q["key"] = value; - q["value"] = v; - }; - var _g = 0; - var _g1 = token.length; - while(_g < _g1) { - var i = _g++; - process(token[i]); - } - return this.q = q; - } - ,test: function(obj) { - var qualify = false; - var _g = 0; - var _g1 = Reflect.fields(obj); - while(_g < _g1.length) { - var k = _g1[_g]; - ++_g; - var v = Std.string(Reflect.field(obj,k)); - if(this.testProperty(k,v)) { - qualify = true; - } - } - var _g = 0; - var _g1 = Reflect.fields(obj); - while(_g < _g1.length) { - var k = _g1[_g]; - ++_g; - var v = Std.string(Reflect.field(obj,k)); - if(this.testProperty(k,v,true)) { - qualify = false; - } - } - return qualify; - } - ,testProperty: function(property,value,exclude) { - var conds = 0; - var fails = 0; - var qualify = 0; - var testprop = function(expr) { - conds += 1; - fails += expr ? 0 : 1; - return expr; - }; - if(this.q[value] != null) { - var v = this.q[value]; - if(v[property] != null) { - return v[property]; - } - } - if(Reflect.field(this.q,"expr")) { - var f = Reflect.field(this.q,"expr"); - if(!Reflect.field(this.q,"show")) { - if(Reflect.field(f,"!=") != null && testprop((value == null ? "null" : "" + value) == Std.string(Reflect.field(f,"!="))) && exclude) { - ++qualify; - } - } else { - if(Reflect.field(f,"*") != null && testprop(parseFloat(value) != null)) { - ++qualify; - } - if(Reflect.field(f,">") != null && testprop(parseFloat(value) >= parseFloat(Reflect.field(f,">")))) { - ++qualify; - } - if(Reflect.field(f,"<") != null && testprop(parseFloat(value) <= parseFloat(Reflect.field(f,"<")))) { - ++qualify; - } - if(Reflect.field(f,"=") != null && (testprop(value == Reflect.field(f,"=")) || testprop(parseFloat(value) == parseFloat(Reflect.field(f,"="))))) { - ++qualify; - } - } - } - return qualify > 0; - } -}; -var xrfragment_Parser = $hx_exports["xrfragment"]["Parser"] = function() { }; -xrfragment_Parser.__name__ = true; -xrfragment_Parser.parse = function(key,value,store,index) { - var Frag_h = Object.create(null); - Frag_h["#"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_PREDEFINED_VIEW | xrfragment_XRF.PV_EXECUTE; - Frag_h["src"] = xrfragment_XRF.T_URL; - Frag_h["href"] = xrfragment_XRF.T_URL | xrfragment_XRF.T_PREDEFINED_VIEW; - Frag_h["tag"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["pos"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_VECTOR3 | xrfragment_XRF.T_STRING | xrfragment_XRF.METADATA | xrfragment_XRF.NAVIGATOR; - Frag_h["rot"] = xrfragment_XRF.QUERY_OPERATOR | xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_VECTOR3 | xrfragment_XRF.METADATA | xrfragment_XRF.NAVIGATOR; - Frag_h["t"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_FLOAT | xrfragment_XRF.T_VECTOR2 | xrfragment_XRF.NAVIGATOR | xrfragment_XRF.METADATA; - Frag_h["s"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_MEDIAFRAG; - Frag_h["loop"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_PREDEFINED_VIEW; - Frag_h["uv"] = xrfragment_XRF.T_VECTOR2 | xrfragment_XRF.T_MEDIAFRAG; - Frag_h["namespace"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["SPDX"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["unit"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["description"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - var keyStripped = key.replace(xrfragment_XRF.operators.r,""); - var isPVDynamic = key.length > 0 && !Object.prototype.hasOwnProperty.call(Frag_h,key); - if(isPVDynamic) { - var v = new xrfragment_XRF(key,xrfragment_XRF.PV_EXECUTE | xrfragment_XRF.NAVIGATOR,index); - v.validate(value); - v.flags = xrfragment_XRF.set(xrfragment_XRF.T_DYNAMICKEY,v.flags); - if(!Object.prototype.hasOwnProperty.call(Frag_h,key)) { - v.flags = xrfragment_XRF.set(xrfragment_XRF.CUSTOMFRAG,v.flags); - } - if(value.length == 0) { - v.flags = xrfragment_XRF.set(xrfragment_XRF.T_DYNAMICKEYVALUE,v.flags); - } - store[keyStripped] = v; - return true; - } - var v = new xrfragment_XRF(key,Frag_h[key],index); - if(Object.prototype.hasOwnProperty.call(Frag_h,key)) { - if(!v.validate(value)) { - console.log("src/xrfragment/Parser.hx:67:","⚠ fragment '" + key + "' has incompatible value (" + value + ")"); - return false; - } - store[keyStripped] = v; - if(xrfragment_Parser.debug) { - console.log("src/xrfragment/Parser.hx:71:","✔ " + key + ": " + v.string); - } - } else { - if(typeof(value) == "string") { - v.guessType(v,value); - } - v.flags = xrfragment_XRF.set(xrfragment_XRF.CUSTOMFRAG,v.flags); - store[keyStripped] = v; - } - return true; -}; -xrfragment_Parser.getMetaData = function() { - var meta = { title : ["title","og:title","dc.title"], description : ["aria-description","og:description","dc.description"], author : ["author","dc.creator"], publisher : ["publisher","dc.publisher"], website : ["og:site_name","og:url","dc.publisher"], license : ["SPDX","dc.rights"]}; - return meta; -}; -var xrfragment_URI = $hx_exports["xrfragment"]["URI"] = function() { - this.XRF = { }; - this.hash = { }; - this.fragment = ""; -}; -xrfragment_URI.__name__ = true; -xrfragment_URI.parseFragment = function(url,filter) { - var store = { }; - if(url == null || url.indexOf("#") == -1) { - return store; - } - var fragment = url.split("#"); - var splitArray = fragment[1].split("&"); - var _g = 0; - var _g1 = splitArray.length; - while(_g < _g1) { - var i = _g++; - var splitByEqual = splitArray[i].split("="); - var regexPlus = new EReg("\\+","g"); - var key = splitByEqual[0]; - var value = ""; - if(splitByEqual.length > 1) { - if(xrfragment_XRF.isVector.match(splitByEqual[1])) { - value = splitByEqual[1]; - } else { - var s = regexPlus.split(splitByEqual[1]).join(" "); - value = decodeURIComponent(s.split("+").join(" ")); - } - } - var ok = xrfragment_Parser.parse(key,value,store,i); - } - if(filter != null && filter != 0) { - var _g = 0; - var _g1 = Reflect.fields(store); - while(_g < _g1.length) { - var key = _g1[_g]; - ++_g; - var xrf = store[key]; - if(!xrf.is(filter)) { - Reflect.deleteField(store,key); - } - } - } - return store; -}; -xrfragment_URI.template = function(uri,vars) { - var parts = uri.split("#"); - if(parts.length == 1) { - return uri; - } - var frag = parts[1]; - frag = StringTools.replace(frag,"{","::"); - frag = StringTools.replace(frag,"}","::"); - frag = new haxe_Template(frag).execute(vars); - frag = StringTools.replace(frag,"null",""); - parts[1] = frag; - return parts.join("#"); -}; -xrfragment_URI.parse = function(stringUrl,flags) { - var r = new EReg("^(?:(?![^:@]+:[^:@/]*@)([^:/?#.]+):)?(?://)?((?:(([^:@]*)(?::([^:@]*))?)?@)?([^:/?#]*)(?::(\\d*))?)(((/(?:[^?#](?![^?#/]*\\.[^?#/.]+(?:[?#]|$)))*/?)?([^?#/]*))(?:\\?([^#]*))?(?:#(.*))?)",""); - if(stringUrl.indexOf("://") == -1 && stringUrl.charAt(0) != "/") { - stringUrl = "/" + stringUrl; - } - r.match(stringUrl); - var url = new xrfragment_URI(); - var _g = 0; - var _g1 = xrfragment_URI._parts.length; - while(_g < _g1) { - var i = _g++; - url[xrfragment_URI._parts[i]] = r.matched(i); - } - if(xrfragment_URI.isRelative(url) == true) { - if(url.directory == null && url.host != null) { - url.file = url.host; - } - url.host = ""; - } - url.hash = { }; - if(url.fragment != null && url.fragment.length > 0) { - url.XRF = xrfragment_URI.parseFragment("#" + url.fragment,flags); - var key; - var _g = 0; - var _g1 = Reflect.fields(url.XRF); - while(_g < _g1.length) { - var key = _g1[_g]; - ++_g; - var v = url.XRF[key]; - url.hash[key] = v["string"]; - } - } - xrfragment_URI.computeVars(url); - return url; -}; -xrfragment_URI.computeVars = function(url) { - var r_r = new RegExp("//","g".split("u").join("")); - if(url.directory != null && url.directory.indexOf("//") != -1) { - url.directory = url.directory.replace(r_r,"/"); - } - if(url.path != null && url.path.indexOf("//") != -1) { - url.path = url.path.replace(r_r,"/"); - } - if(url.file != null && url.file.indexOf("//") != -1) { - url.file = url.file.replace(r_r,"/"); - } - url.URN = url.scheme + "://" + url.host; - if(url.port != null) { - url.URN += ":" + url.port; - } - url.URN += url.directory; - if(url.file != null) { - var parts = url.file.split("."); - if(parts.length > 1) { - url.fileExt = parts.pop(); - } - } -}; -xrfragment_URI.toString = function(url) { - var result = ""; - if(url.scheme != null) { - result += url.scheme + "://"; - } - if(url.user != null) { - result += url.user + ":"; - } - if(url.password != null) { - result += url.password + "@"; - } - if(url.host != null) { - result += url.host; - } - if(url.port != null) { - result += ":" + url.port; - } - if(url.directory != null) { - result += url.directory; - } - if(url.file != null) { - result += url.file; - } - if(url.query != null) { - result += "?" + url.query; - } - if(url.fragment != null) { - result += "#" + url.fragment; - } - return result; -}; -xrfragment_URI.appendURI = function(url,appendedURI) { - if(xrfragment_URI.isRelative(url) == true) { - return xrfragment_URI.appendToRelativeURI(url,appendedURI); - } else { - return xrfragment_URI.appendToAbsoluteURI(url,appendedURI); - } -}; -xrfragment_URI.isRelative = function(url) { - return url.scheme == null; -}; -xrfragment_URI.appendToRelativeURI = function(url,appendedURI) { - if(url.directory == null || url.host == null) { - return xrfragment_URI.cloneURI(appendedURI); - } - var resultURI = new xrfragment_URI(); - resultURI.host = url.host; - resultURI.directory = url.directory; - if(appendedURI.host != null) { - resultURI.directory += appendedURI.host; - } - if(appendedURI.directory != null) { - var directory = appendedURI.directory; - if(appendedURI.host == null) { - resultURI.directory += HxOverrides.substr(directory,1,null); - } else { - resultURI.directory += directory; - } - } - if(appendedURI.file != null) { - resultURI.file = appendedURI.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(appendedURI.query != null) { - resultURI.query = appendedURI.query; - } - if(appendedURI.fragment != null) { - resultURI.fragment = appendedURI.fragment; - } - return resultURI; -}; -xrfragment_URI.appendToAbsoluteURI = function(url,appendedURI) { - var resultURI = new xrfragment_URI(); - if(url.scheme != null) { - resultURI.scheme = url.scheme; - } - if(url.host != null) { - resultURI.host = url.host; - } - var directory = ""; - if(url.directory != null) { - directory = url.directory; - } - if(appendedURI.host != null) { - appendedURI.directory += appendedURI.host; - } - if(appendedURI.directory != null) { - directory += appendedURI.directory; - } - resultURI.directory = directory; - if(appendedURI.file != null) { - resultURI.file = appendedURI.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(appendedURI.query != null) { - resultURI.query = appendedURI.query; - } - if(appendedURI.fragment != null) { - resultURI.fragment = appendedURI.fragment; - } - return resultURI; -}; -xrfragment_URI.toAbsolute = function(url,newUrl) { - var newURI = xrfragment_URI.parse(newUrl,0); - var resultURI = new xrfragment_URI(); - resultURI.port = url.port; - resultURI.source = newUrl; - if(newURI.scheme != null) { - resultURI.scheme = newURI.scheme; - } else { - resultURI.scheme = url.scheme; - } - if(newURI.host != null && newURI.host.length > 0) { - resultURI.host = newURI.host; - resultURI.port = null; - resultURI.fragment = null; - resultURI.hash = { }; - resultURI.XRF = { }; - if(newURI.port != null) { - resultURI.port = newURI.port; - } - } else { - resultURI.host = url.host; - } - var directory = ""; - if(url.directory != null) { - directory = url.directory; - } - if(newURI.directory != null) { - if(newUrl.charAt(0) != "/" && newUrl.indexOf("://") == -1) { - var stripRelative_r = new RegExp("\\./.*","".split("u").join("")); - directory = directory.replace(stripRelative_r,""); - directory += newURI.directory; - } else { - directory = newURI.directory; - } - } - resultURI.directory = directory; - if(newURI.file != null) { - resultURI.file = newURI.file; - } else { - resultURI.file = url.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(newURI.query != null) { - resultURI.query = newURI.query; - } - if(newURI.fragment != null) { - resultURI.fragment = newURI.fragment; - } - resultURI.hash = newURI.hash; - resultURI.XRF = newURI.XRF; - xrfragment_URI.computeVars(resultURI); - return resultURI; -}; -xrfragment_URI.cloneURI = function(url) { - var clonedURI = new xrfragment_URI(); - clonedURI.url = url.url; - clonedURI.source = url.source; - clonedURI.scheme = url.scheme; - clonedURI.authority = url.authority; - clonedURI.userInfo = url.userInfo; - clonedURI.password = url.password; - clonedURI.host = url.host; - clonedURI.port = url.port; - clonedURI.relative = url.relative; - clonedURI.path = url.path; - clonedURI.directory = url.directory; - clonedURI.file = url.file; - clonedURI.query = url.query; - clonedURI.fragment = url.fragment; - return clonedURI; -}; -var xrfragment_XRF = $hx_exports["xrfragment"]["XRF"] = function(_fragment,_flags,_index) { - this.floats = []; - this.shift = []; - this.fragment = _fragment; - this.flags = _flags; - this.index = _index; -}; -xrfragment_XRF.__name__ = true; -xrfragment_XRF.set = function(flag,flags) { - return flags | flag; -}; -xrfragment_XRF.unset = function(flag,flags) { - return flags & ~flag; -}; -xrfragment_XRF.prototype = { - is: function(flag) { - var v = this.flags; - if(!(typeof(v) == "number" && ((v | 0) === v))) { - this.flags = 0; - } - return (this.flags & flag) != 0; - } - ,validate: function(value) { - this.guessType(this,value); - var ok = true; - if(value.length == 0 && !this.is(xrfragment_XRF.T_PREDEFINED_VIEW)) { - ok = false; - } - if(!this.is(xrfragment_XRF.T_FLOAT) && this.is(xrfragment_XRF.T_VECTOR2) && !(typeof(this.x) == "number" && typeof(this.y) == "number")) { - ok = false; - } - if(!(this.is(xrfragment_XRF.T_VECTOR2) || this.is(xrfragment_XRF.T_STRING)) && this.is(xrfragment_XRF.T_VECTOR3) && !(typeof(this.x) == "number" && typeof(this.y) == "number" && typeof(this.z) == "number")) { - ok = false; - } - return ok; - } - ,guessType: function(v,str) { - v.string = str; - if(xrfragment_XRF.isReset.match(v.fragment)) { - v.reset = true; - } - if(v.fragment == "loop") { - v.loop = true; - } - if(typeof(str) != "string") { - return; - } - if(str.length > 0) { - if(xrfragment_XRF.isXRFScheme.match(str)) { - v.xrfScheme = true; - str = str.replace(xrfragment_XRF.isXRFScheme.r,""); - v.string = str; - } - if(str.split(",").length > 1) { - var xyzn = str.split(","); - if(xyzn.length > 0) { - v.x = parseFloat(xyzn[0]); - } - if(xyzn.length > 1) { - v.y = parseFloat(xyzn[1]); - } - if(xyzn.length > 2) { - v.z = parseFloat(xyzn[2]); - } - var _g = 0; - var _g1 = xyzn.length; - while(_g < _g1) { - var i = _g++; - v.shift.push(xrfragment_XRF.isShift.match(xyzn[i])); - v.floats.push(parseFloat(xyzn[i].replace(xrfragment_XRF.isShift.r,""))); - } - } - if(xrfragment_XRF.isColor.match(str)) { - v.color = str; - } - if(xrfragment_XRF.isFloat.match(str)) { - v.x = parseFloat(str); - v.float = v.x; - } - if(xrfragment_XRF.isInt.match(str)) { - v.int = Std.parseInt(str); - v.x = v.int; - v.floats.push(v.x); - } - v.filter = new xrfragment_Filter(v.fragment + "=" + v.string); - } else { - v.filter = new xrfragment_Filter(v.fragment); - } - } -}; -function $getIterator(o) { if( o instanceof Array ) return new haxe_iterators_ArrayIterator(o); else return o.iterator(); } -function $bind(o,m) { if( m == null ) return null; if( m.__id__ == null ) m.__id__ = $global.$haxeUID++; var f; if( o.hx__closures__ == null ) o.hx__closures__ = {}; else f = o.hx__closures__[m.__id__]; if( f == null ) { f = m.bind(o); o.hx__closures__[m.__id__] = f; } return f; } -$global.$haxeUID |= 0; -if(typeof(performance) != "undefined" ? typeof(performance.now) == "function" : false) { - HxOverrides.now = performance.now.bind(performance); -} -if( String.fromCodePoint == null ) String.fromCodePoint = function(c) { return c < 0x10000 ? String.fromCharCode(c) : String.fromCharCode((c>>10)+0xD7C0)+String.fromCharCode((c&0x3FF)+0xDC00); } -String.__name__ = true; -Array.__name__ = true; -js_Boot.__toStr = ({ }).toString; -haxe_Template.splitter = new EReg("(::[A-Za-z0-9_ ()&|!+=/><*.\"-]+::|\\$\\$([A-Za-z0-9_-]+)\\()",""); -haxe_Template.expr_splitter = new EReg("(\\(|\\)|[ \r\n\t]*\"[^\"]*\"[ \r\n\t]*|[!+=/><*.&|-]+)",""); -haxe_Template.expr_trim = new EReg("^[ ]*([^ ]+)[ ]*$",""); -haxe_Template.expr_int = new EReg("^[0-9]+$",""); -haxe_Template.expr_float = new EReg("^([+-]?)(?=\\d|,\\d)\\d*(,\\d*)?([Ee]([+-]?\\d+))?$",""); -haxe_Template.globals = { }; -haxe_Template.hxKeepArrayIterator = new haxe_iterators_ArrayIterator([]); -xrfragment_Parser.error = ""; -xrfragment_Parser.debug = false; -xrfragment_URI.__meta__ = { statics : { template : { keep : null}}}; -xrfragment_URI._parts = ["source","scheme","authority","userInfo","user","password","host","port","relative","path","directory","file","query","fragment"]; -xrfragment_XRF.IMMUTABLE = 1; -xrfragment_XRF.PROP_BIND = 2; -xrfragment_XRF.QUERY_OPERATOR = 4; -xrfragment_XRF.PROMPT = 8; -xrfragment_XRF.CUSTOMFRAG = 16; -xrfragment_XRF.NAVIGATOR = 32; -xrfragment_XRF.METADATA = 64; -xrfragment_XRF.PV_OVERRIDE = 128; -xrfragment_XRF.PV_EXECUTE = 256; -xrfragment_XRF.T_COLOR = 8192; -xrfragment_XRF.T_INT = 16384; -xrfragment_XRF.T_FLOAT = 32768; -xrfragment_XRF.T_VECTOR2 = 65536; -xrfragment_XRF.T_VECTOR3 = 131072; -xrfragment_XRF.T_URL = 262144; -xrfragment_XRF.T_PREDEFINED_VIEW = 524288; -xrfragment_XRF.T_STRING = 1048576; -xrfragment_XRF.T_MEDIAFRAG = 2097152; -xrfragment_XRF.T_DYNAMICKEY = 4194304; -xrfragment_XRF.T_DYNAMICKEYVALUE = 8388608; -xrfragment_XRF.isColor = new EReg("^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$",""); -xrfragment_XRF.isInt = new EReg("^[-0-9]+$",""); -xrfragment_XRF.isFloat = new EReg("^[-0-9]+\\.[0-9]+$",""); -xrfragment_XRF.isVector = new EReg("([,]+|\\w)",""); -xrfragment_XRF.isUrl = new EReg("(://)?\\..*",""); -xrfragment_XRF.isUrlOrPretypedView = new EReg("(^#|://)?\\..*",""); -xrfragment_XRF.isString = new EReg(".*",""); -xrfragment_XRF.operators = new EReg("(^[-]|^[!]|[\\*]$)","g"); -xrfragment_XRF.isProp = new EReg("^.*=[><=]?",""); -xrfragment_XRF.isExclude = new EReg("^-",""); -xrfragment_XRF.isDeep = new EReg("\\*",""); -xrfragment_XRF.isNumber = new EReg("^[0-9\\.]+$",""); -xrfragment_XRF.isMediaFrag = new EReg("^([0-9\\.,\\*+-]+)$",""); -xrfragment_XRF.isReset = new EReg("^!",""); -xrfragment_XRF.isShift = new EReg("^(\\+|--)",""); -xrfragment_XRF.isXRFScheme = new EReg("^xrf://",""); -})(typeof window != "undefined" ? window : typeof global != "undefined" ? global : typeof self != "undefined" ? self : this); -var xrfragment = $hx_exports["xrfragment"]; -export default xrfragment; -// Generated by Haxe 4.3.3 -var $hx_exports = typeof exports != "undefined" ? exports : typeof window != "undefined" ? window : typeof self != "undefined" ? self : this; -(function ($global) { "use strict"; -$hx_exports["xrfragment"] = $hx_exports["xrfragment"] || {}; -var $estr = function() { return js_Boot.__string_rec(this,''); },$hxEnums = $hxEnums || {},$_; -function $extend(from, fields) { - var proto = Object.create(from); - for (var name in fields) proto[name] = fields[name]; - if( fields.toString !== Object.prototype.toString ) proto.toString = fields.toString; - return proto; -} -var EReg = function(r,opt) { - this.r = new RegExp(r,opt.split("u").join("")); -}; -EReg.__name__ = true; -EReg.prototype = { - match: function(s) { - if(this.r.global) { - this.r.lastIndex = 0; - } - this.r.m = this.r.exec(s); - this.r.s = s; - return this.r.m != null; - } - ,matched: function(n) { - if(this.r.m != null && n >= 0 && n < this.r.m.length) { - return this.r.m[n]; - } else { - throw haxe_Exception.thrown("EReg::matched"); - } - } - ,matchedRight: function() { - if(this.r.m == null) { - throw haxe_Exception.thrown("No string matched"); - } - var sz = this.r.m.index + this.r.m[0].length; - return HxOverrides.substr(this.r.s,sz,this.r.s.length - sz); - } - ,matchedPos: function() { - if(this.r.m == null) { - throw haxe_Exception.thrown("No string matched"); - } - return { pos : this.r.m.index, len : this.r.m[0].length}; - } - ,split: function(s) { - var d = "#__delim__#"; - return s.replace(this.r,d).split(d); - } -}; -var HxOverrides = function() { }; -HxOverrides.__name__ = true; -HxOverrides.cca = function(s,index) { - var x = s.charCodeAt(index); - if(x != x) { - return undefined; - } - return x; -}; -HxOverrides.substr = function(s,pos,len) { - if(len == null) { - len = s.length; - } else if(len < 0) { - if(pos == 0) { - len = s.length + len; - } else { - return ""; - } - } - return s.substr(pos,len); -}; -HxOverrides.now = function() { - return Date.now(); -}; -Math.__name__ = true; -var Reflect = function() { }; -Reflect.__name__ = true; -Reflect.field = function(o,field) { - try { - return o[field]; - } catch( _g ) { - return null; - } -}; -Reflect.getProperty = function(o,field) { - var tmp; - if(o == null) { - return null; - } else { - var tmp1; - if(o.__properties__) { - tmp = o.__properties__["get_" + field]; - tmp1 = tmp; - } else { - tmp1 = false; - } - if(tmp1) { - return o[tmp](); - } else { - return o[field]; - } - } -}; -Reflect.fields = function(o) { - var a = []; - if(o != null) { - var hasOwnProperty = Object.prototype.hasOwnProperty; - for( var f in o ) { - if(f != "__id__" && f != "hx__closures__" && hasOwnProperty.call(o,f)) { - a.push(f); - } - } - } - return a; -}; -Reflect.isObject = function(v) { - if(v == null) { - return false; - } - var t = typeof(v); - if(!(t == "string" || t == "object" && v.__enum__ == null)) { - if(t == "function") { - return (v.__name__ || v.__ename__) != null; - } else { - return false; - } - } else { - return true; - } -}; -Reflect.deleteField = function(o,field) { - if(!Object.prototype.hasOwnProperty.call(o,field)) { - return false; - } - delete(o[field]); - return true; -}; -Reflect.copy = function(o) { - if(o == null) { - return null; - } - var o2 = { }; - var _g = 0; - var _g1 = Reflect.fields(o); - while(_g < _g1.length) { - var f = _g1[_g]; - ++_g; - o2[f] = Reflect.field(o,f); - } - return o2; -}; -var Std = function() { }; -Std.__name__ = true; -Std.string = function(s) { - return js_Boot.__string_rec(s,""); -}; -Std.parseInt = function(x) { - var v = parseInt(x); - if(isNaN(v)) { - return null; - } - return v; -}; -var StringBuf = function() { - this.b = ""; -}; -StringBuf.__name__ = true; -var StringTools = function() { }; -StringTools.__name__ = true; -StringTools.isSpace = function(s,pos) { - var c = HxOverrides.cca(s,pos); - if(!(c > 8 && c < 14)) { - return c == 32; - } else { - return true; - } -}; -StringTools.ltrim = function(s) { - var l = s.length; - var r = 0; - while(r < l && StringTools.isSpace(s,r)) ++r; - if(r > 0) { - return HxOverrides.substr(s,r,l - r); - } else { - return s; - } -}; -StringTools.rtrim = function(s) { - var l = s.length; - var r = 0; - while(r < l && StringTools.isSpace(s,l - r - 1)) ++r; - if(r > 0) { - return HxOverrides.substr(s,0,l - r); - } else { - return s; - } -}; -StringTools.trim = function(s) { - return StringTools.ltrim(StringTools.rtrim(s)); -}; -StringTools.replace = function(s,sub,by) { - return s.split(sub).join(by); -}; -var haxe_Exception = function(message,previous,native) { - Error.call(this,message); - this.message = message; - this.__previousException = previous; - this.__nativeException = native != null ? native : this; -}; -haxe_Exception.__name__ = true; -haxe_Exception.caught = function(value) { - if(((value) instanceof haxe_Exception)) { - return value; - } else if(((value) instanceof Error)) { - return new haxe_Exception(value.message,null,value); - } else { - return new haxe_ValueException(value,null,value); - } -}; -haxe_Exception.thrown = function(value) { - if(((value) instanceof haxe_Exception)) { - return value.get_native(); - } else if(((value) instanceof Error)) { - return value; - } else { - var e = new haxe_ValueException(value); - return e; - } -}; -haxe_Exception.__super__ = Error; -haxe_Exception.prototype = $extend(Error.prototype,{ - unwrap: function() { - return this.__nativeException; - } - ,get_native: function() { - return this.__nativeException; - } - ,__properties__: {get_native:"get_native"} -}); -var haxe__$Template_TemplateExpr = $hxEnums["haxe._Template.TemplateExpr"] = { __ename__:true,__constructs__:null - ,OpVar: ($_=function(v) { return {_hx_index:0,v:v,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpVar",$_.__params__ = ["v"],$_) - ,OpExpr: ($_=function(expr) { return {_hx_index:1,expr:expr,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpExpr",$_.__params__ = ["expr"],$_) - ,OpIf: ($_=function(expr,eif,eelse) { return {_hx_index:2,expr:expr,eif:eif,eelse:eelse,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpIf",$_.__params__ = ["expr","eif","eelse"],$_) - ,OpStr: ($_=function(str) { return {_hx_index:3,str:str,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpStr",$_.__params__ = ["str"],$_) - ,OpBlock: ($_=function(l) { return {_hx_index:4,l:l,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpBlock",$_.__params__ = ["l"],$_) - ,OpForeach: ($_=function(expr,loop) { return {_hx_index:5,expr:expr,loop:loop,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpForeach",$_.__params__ = ["expr","loop"],$_) - ,OpMacro: ($_=function(name,params) { return {_hx_index:6,name:name,params:params,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpMacro",$_.__params__ = ["name","params"],$_) -}; -haxe__$Template_TemplateExpr.__constructs__ = [haxe__$Template_TemplateExpr.OpVar,haxe__$Template_TemplateExpr.OpExpr,haxe__$Template_TemplateExpr.OpIf,haxe__$Template_TemplateExpr.OpStr,haxe__$Template_TemplateExpr.OpBlock,haxe__$Template_TemplateExpr.OpForeach,haxe__$Template_TemplateExpr.OpMacro]; -var haxe_iterators_ArrayIterator = function(array) { - this.current = 0; - this.array = array; -}; -haxe_iterators_ArrayIterator.__name__ = true; -haxe_iterators_ArrayIterator.prototype = { - hasNext: function() { - return this.current < this.array.length; - } - ,next: function() { - return this.array[this.current++]; - } -}; -var haxe_Template = function(str) { - var tokens = this.parseTokens(str); - this.expr = this.parseBlock(tokens); - if(!tokens.isEmpty()) { - throw haxe_Exception.thrown("Unexpected '" + Std.string(tokens.first().s) + "'"); - } -}; -haxe_Template.__name__ = true; -haxe_Template.prototype = { - execute: function(context,macros) { - this.macros = macros == null ? { } : macros; - this.context = context; - this.stack = new haxe_ds_List(); - this.buf = new StringBuf(); - this.run(this.expr); - return this.buf.b; - } - ,resolve: function(v) { - if(v == "__current__") { - return this.context; - } - if(Reflect.isObject(this.context)) { - var value = Reflect.getProperty(this.context,v); - if(value != null || Object.prototype.hasOwnProperty.call(this.context,v)) { - return value; - } - } - var _g_head = this.stack.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var ctx = val; - var value = Reflect.getProperty(ctx,v); - if(value != null || Object.prototype.hasOwnProperty.call(ctx,v)) { - return value; - } - } - return Reflect.field(haxe_Template.globals,v); - } - ,parseTokens: function(data) { - var tokens = new haxe_ds_List(); - while(haxe_Template.splitter.match(data)) { - var p = haxe_Template.splitter.matchedPos(); - if(p.pos > 0) { - tokens.add({ p : HxOverrides.substr(data,0,p.pos), s : true, l : null}); - } - if(HxOverrides.cca(data,p.pos) == 58) { - tokens.add({ p : HxOverrides.substr(data,p.pos + 2,p.len - 4), s : false, l : null}); - data = haxe_Template.splitter.matchedRight(); - continue; - } - var parp = p.pos + p.len; - var npar = 1; - var params = []; - var part = ""; - while(true) { - var c = HxOverrides.cca(data,parp); - ++parp; - if(c == 40) { - ++npar; - } else if(c == 41) { - --npar; - if(npar <= 0) { - break; - } - } else if(c == null) { - throw haxe_Exception.thrown("Unclosed macro parenthesis"); - } - if(c == 44 && npar == 1) { - params.push(part); - part = ""; - } else { - part += String.fromCodePoint(c); - } - } - params.push(part); - tokens.add({ p : haxe_Template.splitter.matched(2), s : false, l : params}); - data = HxOverrides.substr(data,parp,data.length - parp); - } - if(data.length > 0) { - tokens.add({ p : data, s : true, l : null}); - } - return tokens; - } - ,parseBlock: function(tokens) { - var l = new haxe_ds_List(); - while(true) { - var t = tokens.first(); - if(t == null) { - break; - } - if(!t.s && (t.p == "end" || t.p == "else" || HxOverrides.substr(t.p,0,7) == "elseif ")) { - break; - } - l.add(this.parse(tokens)); - } - if(l.length == 1) { - return l.first(); - } - return haxe__$Template_TemplateExpr.OpBlock(l); - } - ,parse: function(tokens) { - var t = tokens.pop(); - var p = t.p; - if(t.s) { - return haxe__$Template_TemplateExpr.OpStr(p); - } - if(t.l != null) { - var pe = new haxe_ds_List(); - var _g = 0; - var _g1 = t.l; - while(_g < _g1.length) { - var p1 = _g1[_g]; - ++_g; - pe.add(this.parseBlock(this.parseTokens(p1))); - } - return haxe__$Template_TemplateExpr.OpMacro(p,pe); - } - var kwdEnd = function(kwd) { - var pos = -1; - var length = kwd.length; - if(HxOverrides.substr(p,0,length) == kwd) { - pos = length; - var _g_offset = 0; - var _g_s = HxOverrides.substr(p,length,null); - while(_g_offset < _g_s.length) { - var c = _g_s.charCodeAt(_g_offset++); - if(c == 32) { - ++pos; - } else { - break; - } - } - } - return pos; - }; - var pos = kwdEnd("if"); - if(pos > 0) { - p = HxOverrides.substr(p,pos,p.length - pos); - var e = this.parseExpr(p); - var eif = this.parseBlock(tokens); - var t = tokens.first(); - var eelse; - if(t == null) { - throw haxe_Exception.thrown("Unclosed 'if'"); - } - if(t.p == "end") { - tokens.pop(); - eelse = null; - } else if(t.p == "else") { - tokens.pop(); - eelse = this.parseBlock(tokens); - t = tokens.pop(); - if(t == null || t.p != "end") { - throw haxe_Exception.thrown("Unclosed 'else'"); - } - } else { - t.p = HxOverrides.substr(t.p,4,t.p.length - 4); - eelse = this.parse(tokens); - } - return haxe__$Template_TemplateExpr.OpIf(e,eif,eelse); - } - var pos = kwdEnd("foreach"); - if(pos >= 0) { - p = HxOverrides.substr(p,pos,p.length - pos); - var e = this.parseExpr(p); - var efor = this.parseBlock(tokens); - var t = tokens.pop(); - if(t == null || t.p != "end") { - throw haxe_Exception.thrown("Unclosed 'foreach'"); - } - return haxe__$Template_TemplateExpr.OpForeach(e,efor); - } - if(haxe_Template.expr_splitter.match(p)) { - return haxe__$Template_TemplateExpr.OpExpr(this.parseExpr(p)); - } - return haxe__$Template_TemplateExpr.OpVar(p); - } - ,parseExpr: function(data) { - var l = new haxe_ds_List(); - var expr = data; - while(haxe_Template.expr_splitter.match(data)) { - var p = haxe_Template.expr_splitter.matchedPos(); - var k = p.pos + p.len; - if(p.pos != 0) { - l.add({ p : HxOverrides.substr(data,0,p.pos), s : true}); - } - var p1 = haxe_Template.expr_splitter.matched(0); - l.add({ p : p1, s : p1.indexOf("\"") >= 0}); - data = haxe_Template.expr_splitter.matchedRight(); - } - if(data.length != 0) { - var _g_offset = 0; - var _g_s = data; - while(_g_offset < _g_s.length) { - var _g_key = _g_offset; - var _g_value = _g_s.charCodeAt(_g_offset++); - var i = _g_key; - var c = _g_value; - if(c != 32) { - l.add({ p : HxOverrides.substr(data,i,null), s : true}); - break; - } - } - } - var e; - try { - e = this.makeExpr(l); - if(!l.isEmpty()) { - throw haxe_Exception.thrown(l.first().p); - } - } catch( _g ) { - var _g1 = haxe_Exception.caught(_g).unwrap(); - if(typeof(_g1) == "string") { - var s = _g1; - throw haxe_Exception.thrown("Unexpected '" + s + "' in " + expr); - } else { - throw _g; - } - } - return function() { - try { - return e(); - } catch( _g ) { - var exc = haxe_Exception.caught(_g).unwrap(); - throw haxe_Exception.thrown("Error : " + Std.string(exc) + " in " + expr); - } - }; - } - ,makeConst: function(v) { - haxe_Template.expr_trim.match(v); - v = haxe_Template.expr_trim.matched(1); - if(HxOverrides.cca(v,0) == 34) { - var str = HxOverrides.substr(v,1,v.length - 2); - return function() { - return str; - }; - } - if(haxe_Template.expr_int.match(v)) { - var i = Std.parseInt(v); - return function() { - return i; - }; - } - if(haxe_Template.expr_float.match(v)) { - var f = parseFloat(v); - return function() { - return f; - }; - } - var me = this; - return function() { - return me.resolve(v); - }; - } - ,makePath: function(e,l) { - var p = l.first(); - if(p == null || p.p != ".") { - return e; - } - l.pop(); - var field = l.pop(); - if(field == null || !field.s) { - throw haxe_Exception.thrown(field.p); - } - var f = field.p; - haxe_Template.expr_trim.match(f); - f = haxe_Template.expr_trim.matched(1); - return this.makePath(function() { - return Reflect.field(e(),f); - },l); - } - ,makeExpr: function(l) { - return this.makePath(this.makeExpr2(l),l); - } - ,skipSpaces: function(l) { - var p = l.first(); - while(p != null) { - var _g_offset = 0; - var _g_s = p.p; - while(_g_offset < _g_s.length) { - var c = _g_s.charCodeAt(_g_offset++); - if(c != 32) { - return; - } - } - l.pop(); - p = l.first(); - } - } - ,makeExpr2: function(l) { - this.skipSpaces(l); - var p = l.pop(); - this.skipSpaces(l); - if(p == null) { - throw haxe_Exception.thrown(""); - } - if(p.s) { - return this.makeConst(p.p); - } - switch(p.p) { - case "!": - var e = this.makeExpr(l); - return function() { - var v = e(); - if(v != null) { - return v == false; - } else { - return true; - } - }; - case "(": - this.skipSpaces(l); - var e1 = this.makeExpr(l); - this.skipSpaces(l); - var p1 = l.pop(); - if(p1 == null || p1.s) { - throw haxe_Exception.thrown(p1); - } - if(p1.p == ")") { - return e1; - } - this.skipSpaces(l); - var e2 = this.makeExpr(l); - this.skipSpaces(l); - var p2 = l.pop(); - this.skipSpaces(l); - if(p2 == null || p2.p != ")") { - throw haxe_Exception.thrown(p2); - } - switch(p1.p) { - case "!=": - return function() { - return e1() != e2(); - }; - case "&&": - return function() { - return e1() && e2(); - }; - case "*": - return function() { - return e1() * e2(); - }; - case "+": - return function() { - return e1() + e2(); - }; - case "-": - return function() { - return e1() - e2(); - }; - case "/": - return function() { - return e1() / e2(); - }; - case "<": - return function() { - return e1() < e2(); - }; - case "<=": - return function() { - return e1() <= e2(); - }; - case "==": - return function() { - return e1() == e2(); - }; - case ">": - return function() { - return e1() > e2(); - }; - case ">=": - return function() { - return e1() >= e2(); - }; - case "||": - return function() { - return e1() || e2(); - }; - default: - throw haxe_Exception.thrown("Unknown operation " + p1.p); - } - break; - case "-": - var e3 = this.makeExpr(l); - return function() { - return -e3(); - }; - } - throw haxe_Exception.thrown(p.p); - } - ,run: function(e) { - switch(e._hx_index) { - case 0: - var v = e.v; - var _this = this.buf; - var x = Std.string(this.resolve(v)); - _this.b += Std.string(x); - break; - case 1: - var e1 = e.expr; - var _this = this.buf; - var x = Std.string(e1()); - _this.b += Std.string(x); - break; - case 2: - var e1 = e.expr; - var eif = e.eif; - var eelse = e.eelse; - var v = e1(); - if(v == null || v == false) { - if(eelse != null) { - this.run(eelse); - } - } else { - this.run(eif); - } - break; - case 3: - var str = e.str; - this.buf.b += str == null ? "null" : "" + str; - break; - case 4: - var l = e.l; - var _g_head = l.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var e1 = val; - this.run(e1); - } - break; - case 5: - var e1 = e.expr; - var loop = e.loop; - var v = e1(); - try { - var x = $getIterator(v); - if(x.hasNext == null) { - throw haxe_Exception.thrown(null); - } - v = x; - } catch( _g ) { - try { - if(v.hasNext == null) { - throw haxe_Exception.thrown(null); - } - } catch( _g1 ) { - throw haxe_Exception.thrown("Cannot iter on " + Std.string(v)); - } - } - this.stack.push(this.context); - var v1 = v; - var ctx = v1; - while(ctx.hasNext()) { - var ctx1 = ctx.next(); - this.context = ctx1; - this.run(loop); - } - this.context = this.stack.pop(); - break; - case 6: - var m = e.name; - var params = e.params; - var v = Reflect.field(this.macros,m); - var pl = []; - var old = this.buf; - pl.push($bind(this,this.resolve)); - var _g_head = params.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var p = val; - if(p._hx_index == 0) { - var v1 = p.v; - pl.push(this.resolve(v1)); - } else { - this.buf = new StringBuf(); - this.run(p); - pl.push(this.buf.b); - } - } - this.buf = old; - try { - var _this = this.buf; - var x = Std.string(v.apply(this.macros,pl)); - _this.b += Std.string(x); - } catch( _g ) { - var e = haxe_Exception.caught(_g).unwrap(); - var plstr; - try { - plstr = pl.join(","); - } catch( _g1 ) { - plstr = "???"; - } - var msg = "Macro call " + m + "(" + plstr + ") failed (" + Std.string(e) + ")"; - throw haxe_Exception.thrown(msg); - } - break; - } - } -}; -var haxe_ValueException = function(value,previous,native) { - haxe_Exception.call(this,String(value),previous,native); - this.value = value; -}; -haxe_ValueException.__name__ = true; -haxe_ValueException.__super__ = haxe_Exception; -haxe_ValueException.prototype = $extend(haxe_Exception.prototype,{ - unwrap: function() { - return this.value; - } -}); -var haxe_ds_List = function() { - this.length = 0; -}; -haxe_ds_List.__name__ = true; -haxe_ds_List.prototype = { - add: function(item) { - var x = new haxe_ds__$List_ListNode(item,null); - if(this.h == null) { - this.h = x; - } else { - this.q.next = x; - } - this.q = x; - this.length++; - } - ,push: function(item) { - var x = new haxe_ds__$List_ListNode(item,this.h); - this.h = x; - if(this.q == null) { - this.q = x; - } - this.length++; - } - ,first: function() { - if(this.h == null) { - return null; - } else { - return this.h.item; - } - } - ,pop: function() { - if(this.h == null) { - return null; - } - var x = this.h.item; - this.h = this.h.next; - if(this.h == null) { - this.q = null; - } - this.length--; - return x; - } - ,isEmpty: function() { - return this.h == null; - } - ,toString: function() { - var s_b = ""; - var first = true; - var l = this.h; - s_b += "{"; - while(l != null) { - if(first) { - first = false; - } else { - s_b += ", "; - } - s_b += Std.string(Std.string(l.item)); - l = l.next; - } - s_b += "}"; - return s_b; - } -}; -var haxe_ds__$List_ListNode = function(item,next) { - this.item = item; - this.next = next; -}; -haxe_ds__$List_ListNode.__name__ = true; -var js_Boot = function() { }; -js_Boot.__name__ = true; -js_Boot.__string_rec = function(o,s) { - if(o == null) { - return "null"; - } - if(s.length >= 5) { - return "<...>"; - } - var t = typeof(o); - if(t == "function" && (o.__name__ || o.__ename__)) { - t = "object"; - } - switch(t) { - case "function": - return ""; - case "object": - if(o.__enum__) { - var e = $hxEnums[o.__enum__]; - var con = e.__constructs__[o._hx_index]; - var n = con._hx_name; - if(con.__params__) { - s = s + "\t"; - return n + "(" + ((function($this) { - var $r; - var _g = []; - { - var _g1 = 0; - var _g2 = con.__params__; - while(true) { - if(!(_g1 < _g2.length)) { - break; - } - var p = _g2[_g1]; - _g1 = _g1 + 1; - _g.push(js_Boot.__string_rec(o[p],s)); - } - } - $r = _g; - return $r; - }(this))).join(",") + ")"; - } else { - return n; - } - } - if(((o) instanceof Array)) { - var str = "["; - s += "\t"; - var _g = 0; - var _g1 = o.length; - while(_g < _g1) { - var i = _g++; - str += (i > 0 ? "," : "") + js_Boot.__string_rec(o[i],s); - } - str += "]"; - return str; - } - var tostr; - try { - tostr = o.toString; - } catch( _g ) { - return "???"; - } - if(tostr != null && tostr != Object.toString && typeof(tostr) == "function") { - var s2 = o.toString(); - if(s2 != "[object Object]") { - return s2; - } - } - var str = "{\n"; - s += "\t"; - var hasp = o.hasOwnProperty != null; - var k = null; - for( k in o ) { - if(hasp && !o.hasOwnProperty(k)) { - continue; - } - if(k == "prototype" || k == "__class__" || k == "__super__" || k == "__interfaces__" || k == "__properties__") { - continue; - } - if(str.length != 2) { - str += ", \n"; - } - str += s + k + " : " + js_Boot.__string_rec(o[k],s); - } - s = s.substring(1); - str += "\n" + s + "}"; - return str; - case "string": - return o; - default: - return String(o); - } -}; -var xrfragment_Filter = $hx_exports["xrfragment"]["Filter"] = function(str) { - this.q = { }; - this.str = ""; - if(str != null) { - this.parse(str); - } -}; -xrfragment_Filter.__name__ = true; -xrfragment_Filter.prototype = { - toObject: function() { - return Reflect.copy(this.q); - } - ,get: function() { - return Reflect.copy(this.q); - } - ,parse: function(str) { - var token = str.split(" "); - var q = { }; - var process = function(str,prefix) { - if(prefix == null) { - prefix = ""; - } - str = StringTools.trim(str); - var k = str.split("=")[0]; - var v = str.split("=")[1]; - var filter = { }; - if(q[prefix + k]) { - filter = q[prefix + k]; - } - if(xrfragment_XRF.isProp.match(str)) { - var oper = ""; - if(str.indexOf(">") != -1) { - oper = ">"; - } - if(str.indexOf("<") != -1) { - oper = "<"; - } - if(xrfragment_XRF.isExclude.match(k)) { - k = HxOverrides.substr(k,1,null); - } - v = HxOverrides.substr(v,oper.length,null); - if(oper.length == 0) { - oper = "="; - } - var rule = { }; - if(xrfragment_XRF.isNumber.match(v)) { - rule[oper] = parseFloat(v); - } else { - rule[oper] = v; - } - q["expr"] = rule; - } - var value = xrfragment_XRF.isDeep.match(str) ? k.split("*").length - 1 : 0; - q["deep"] = value; - var value = xrfragment_XRF.isExclude.match(str) ? false : true; - q["show"] = value; - var value = k.replace(xrfragment_XRF.operators.r,""); - q["key"] = value; - q["value"] = v; - }; - var _g = 0; - var _g1 = token.length; - while(_g < _g1) { - var i = _g++; - process(token[i]); - } - return this.q = q; - } - ,test: function(obj) { - var qualify = false; - var _g = 0; - var _g1 = Reflect.fields(obj); - while(_g < _g1.length) { - var k = _g1[_g]; - ++_g; - var v = Std.string(Reflect.field(obj,k)); - if(this.testProperty(k,v)) { - qualify = true; - } - } - var _g = 0; - var _g1 = Reflect.fields(obj); - while(_g < _g1.length) { - var k = _g1[_g]; - ++_g; - var v = Std.string(Reflect.field(obj,k)); - if(this.testProperty(k,v,true)) { - qualify = false; - } - } - return qualify; - } - ,testProperty: function(property,value,exclude) { - var conds = 0; - var fails = 0; - var qualify = 0; - var testprop = function(expr) { - conds += 1; - fails += expr ? 0 : 1; - return expr; - }; - if(this.q[value] != null) { - var v = this.q[value]; - if(v[property] != null) { - return v[property]; - } - } - if(Reflect.field(this.q,"expr")) { - var f = Reflect.field(this.q,"expr"); - if(!Reflect.field(this.q,"show")) { - if(Reflect.field(f,"!=") != null && testprop((value == null ? "null" : "" + value) == Std.string(Reflect.field(f,"!="))) && exclude) { - ++qualify; - } - } else { - if(Reflect.field(f,"*") != null && testprop(parseFloat(value) != null)) { - ++qualify; - } - if(Reflect.field(f,">") != null && testprop(parseFloat(value) >= parseFloat(Reflect.field(f,">")))) { - ++qualify; - } - if(Reflect.field(f,"<") != null && testprop(parseFloat(value) <= parseFloat(Reflect.field(f,"<")))) { - ++qualify; - } - if(Reflect.field(f,"=") != null && (testprop(value == Reflect.field(f,"=")) || testprop(parseFloat(value) == parseFloat(Reflect.field(f,"="))))) { - ++qualify; - } - } - } - return qualify > 0; - } -}; -var xrfragment_Parser = $hx_exports["xrfragment"]["Parser"] = function() { }; -xrfragment_Parser.__name__ = true; -xrfragment_Parser.parse = function(key,value,store,index) { - var Frag_h = Object.create(null); - Frag_h["#"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_PREDEFINED_VIEW | xrfragment_XRF.PV_EXECUTE; - Frag_h["src"] = xrfragment_XRF.T_URL; - Frag_h["href"] = xrfragment_XRF.T_URL | xrfragment_XRF.T_PREDEFINED_VIEW; - Frag_h["tag"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["pos"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_VECTOR3 | xrfragment_XRF.T_STRING | xrfragment_XRF.METADATA | xrfragment_XRF.NAVIGATOR; - Frag_h["rot"] = xrfragment_XRF.QUERY_OPERATOR | xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_VECTOR3 | xrfragment_XRF.METADATA | xrfragment_XRF.NAVIGATOR; - Frag_h["t"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_FLOAT | xrfragment_XRF.T_VECTOR2 | xrfragment_XRF.NAVIGATOR | xrfragment_XRF.METADATA; - Frag_h["s"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_MEDIAFRAG; - Frag_h["loop"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_PREDEFINED_VIEW; - Frag_h["uv"] = xrfragment_XRF.T_VECTOR2 | xrfragment_XRF.T_MEDIAFRAG; - Frag_h["namespace"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["SPDX"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["unit"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["description"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - var keyStripped = key.replace(xrfragment_XRF.operators.r,""); - var isPVDynamic = key.length > 0 && !Object.prototype.hasOwnProperty.call(Frag_h,key); - if(isPVDynamic) { - var v = new xrfragment_XRF(key,xrfragment_XRF.PV_EXECUTE | xrfragment_XRF.NAVIGATOR,index); - v.validate(value); - v.flags = xrfragment_XRF.set(xrfragment_XRF.T_DYNAMICKEY,v.flags); - if(!Object.prototype.hasOwnProperty.call(Frag_h,key)) { - v.flags = xrfragment_XRF.set(xrfragment_XRF.CUSTOMFRAG,v.flags); - } - if(value.length == 0) { - v.flags = xrfragment_XRF.set(xrfragment_XRF.T_DYNAMICKEYVALUE,v.flags); - } - store[keyStripped] = v; - return true; - } - var v = new xrfragment_XRF(key,Frag_h[key],index); - if(Object.prototype.hasOwnProperty.call(Frag_h,key)) { - if(!v.validate(value)) { - console.log("src/xrfragment/Parser.hx:67:","⚠ fragment '" + key + "' has incompatible value (" + value + ")"); - return false; - } - store[keyStripped] = v; - if(xrfragment_Parser.debug) { - console.log("src/xrfragment/Parser.hx:71:","✔ " + key + ": " + v.string); - } - } else { - if(typeof(value) == "string") { - v.guessType(v,value); - } - v.flags = xrfragment_XRF.set(xrfragment_XRF.CUSTOMFRAG,v.flags); - store[keyStripped] = v; - } - return true; -}; -xrfragment_Parser.getMetaData = function() { - var meta = { title : ["title","og:title","dc.title"], description : ["aria-description","og:description","dc.description"], author : ["author","dc.creator"], publisher : ["publisher","dc.publisher"], website : ["og:site_name","og:url","dc.publisher"], license : ["SPDX","dc.rights"]}; - return meta; -}; -var xrfragment_URI = $hx_exports["xrfragment"]["URI"] = function() { - this.XRF = { }; - this.hash = { }; - this.fragment = ""; -}; -xrfragment_URI.__name__ = true; -xrfragment_URI.parseFragment = function(url,filter) { - var store = { }; - if(url == null || url.indexOf("#") == -1) { - return store; - } - var fragment = url.split("#"); - var splitArray = fragment[1].split("&"); - var _g = 0; - var _g1 = splitArray.length; - while(_g < _g1) { - var i = _g++; - var splitByEqual = splitArray[i].split("="); - var regexPlus = new EReg("\\+","g"); - var key = splitByEqual[0]; - var value = ""; - if(splitByEqual.length > 1) { - if(xrfragment_XRF.isVector.match(splitByEqual[1])) { - value = splitByEqual[1]; - } else { - var s = regexPlus.split(splitByEqual[1]).join(" "); - value = decodeURIComponent(s.split("+").join(" ")); - } - } - var ok = xrfragment_Parser.parse(key,value,store,i); - } - if(filter != null && filter != 0) { - var _g = 0; - var _g1 = Reflect.fields(store); - while(_g < _g1.length) { - var key = _g1[_g]; - ++_g; - var xrf = store[key]; - if(!xrf.is(filter)) { - Reflect.deleteField(store,key); - } - } - } - return store; -}; -xrfragment_URI.template = function(uri,vars) { - var parts = uri.split("#"); - if(parts.length == 1) { - return uri; - } - var frag = parts[1]; - frag = StringTools.replace(frag,"{","::"); - frag = StringTools.replace(frag,"}","::"); - frag = new haxe_Template(frag).execute(vars); - frag = StringTools.replace(frag,"null",""); - parts[1] = frag; - return parts.join("#"); -}; -xrfragment_URI.parse = function(stringUrl,flags) { - var r = new EReg("^(?:(?![^:@]+:[^:@/]*@)([^:/?#.]+):)?(?://)?((?:(([^:@]*)(?::([^:@]*))?)?@)?([^:/?#]*)(?::(\\d*))?)(((/(?:[^?#](?![^?#/]*\\.[^?#/.]+(?:[?#]|$)))*/?)?([^?#/]*))(?:\\?([^#]*))?(?:#(.*))?)",""); - if(stringUrl.indexOf("://") == -1 && stringUrl.charAt(0) != "/") { - stringUrl = "/" + stringUrl; - } - r.match(stringUrl); - var url = new xrfragment_URI(); - var _g = 0; - var _g1 = xrfragment_URI._parts.length; - while(_g < _g1) { - var i = _g++; - url[xrfragment_URI._parts[i]] = r.matched(i); - } - if(xrfragment_URI.isRelative(url) == true) { - if(url.directory == null && url.host != null) { - url.file = url.host; - } - url.host = ""; - } - url.hash = { }; - if(url.fragment != null && url.fragment.length > 0) { - url.XRF = xrfragment_URI.parseFragment("#" + url.fragment,flags); - var key; - var _g = 0; - var _g1 = Reflect.fields(url.XRF); - while(_g < _g1.length) { - var key = _g1[_g]; - ++_g; - var v = url.XRF[key]; - url.hash[key] = v["string"]; - } - } - xrfragment_URI.computeVars(url); - return url; -}; -xrfragment_URI.computeVars = function(url) { - var r_r = new RegExp("//","g".split("u").join("")); - if(url.directory != null && url.directory.indexOf("//") != -1) { - url.directory = url.directory.replace(r_r,"/"); - } - if(url.path != null && url.path.indexOf("//") != -1) { - url.path = url.path.replace(r_r,"/"); - } - if(url.file != null && url.file.indexOf("//") != -1) { - url.file = url.file.replace(r_r,"/"); - } - url.URN = url.scheme + "://" + url.host; - if(url.port != null) { - url.URN += ":" + url.port; - } - url.URN += url.directory; - if(url.file != null) { - var parts = url.file.split("."); - if(parts.length > 1) { - url.fileExt = parts.pop(); - } - } -}; -xrfragment_URI.toString = function(url) { - var result = ""; - if(url.scheme != null) { - result += url.scheme + "://"; - } - if(url.user != null) { - result += url.user + ":"; - } - if(url.password != null) { - result += url.password + "@"; - } - if(url.host != null) { - result += url.host; - } - if(url.port != null) { - result += ":" + url.port; - } - if(url.directory != null) { - result += url.directory; - } - if(url.file != null) { - result += url.file; - } - if(url.query != null) { - result += "?" + url.query; - } - if(url.fragment != null) { - result += "#" + url.fragment; - } - return result; -}; -xrfragment_URI.appendURI = function(url,appendedURI) { - if(xrfragment_URI.isRelative(url) == true) { - return xrfragment_URI.appendToRelativeURI(url,appendedURI); - } else { - return xrfragment_URI.appendToAbsoluteURI(url,appendedURI); - } -}; -xrfragment_URI.isRelative = function(url) { - return url.scheme == null; -}; -xrfragment_URI.appendToRelativeURI = function(url,appendedURI) { - if(url.directory == null || url.host == null) { - return xrfragment_URI.cloneURI(appendedURI); - } - var resultURI = new xrfragment_URI(); - resultURI.host = url.host; - resultURI.directory = url.directory; - if(appendedURI.host != null) { - resultURI.directory += appendedURI.host; - } - if(appendedURI.directory != null) { - var directory = appendedURI.directory; - if(appendedURI.host == null) { - resultURI.directory += HxOverrides.substr(directory,1,null); - } else { - resultURI.directory += directory; - } - } - if(appendedURI.file != null) { - resultURI.file = appendedURI.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(appendedURI.query != null) { - resultURI.query = appendedURI.query; - } - if(appendedURI.fragment != null) { - resultURI.fragment = appendedURI.fragment; - } - return resultURI; -}; -xrfragment_URI.appendToAbsoluteURI = function(url,appendedURI) { - var resultURI = new xrfragment_URI(); - if(url.scheme != null) { - resultURI.scheme = url.scheme; - } - if(url.host != null) { - resultURI.host = url.host; - } - var directory = ""; - if(url.directory != null) { - directory = url.directory; - } - if(appendedURI.host != null) { - appendedURI.directory += appendedURI.host; - } - if(appendedURI.directory != null) { - directory += appendedURI.directory; - } - resultURI.directory = directory; - if(appendedURI.file != null) { - resultURI.file = appendedURI.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(appendedURI.query != null) { - resultURI.query = appendedURI.query; - } - if(appendedURI.fragment != null) { - resultURI.fragment = appendedURI.fragment; - } - return resultURI; -}; -xrfragment_URI.toAbsolute = function(url,newUrl) { - var newURI = xrfragment_URI.parse(newUrl,0); - var resultURI = new xrfragment_URI(); - resultURI.port = url.port; - resultURI.source = newUrl; - if(newURI.scheme != null) { - resultURI.scheme = newURI.scheme; - } else { - resultURI.scheme = url.scheme; - } - if(newURI.host != null && newURI.host.length > 0) { - resultURI.host = newURI.host; - resultURI.port = null; - resultURI.fragment = null; - resultURI.hash = { }; - resultURI.XRF = { }; - if(newURI.port != null) { - resultURI.port = newURI.port; - } - } else { - resultURI.host = url.host; - } - var directory = ""; - if(url.directory != null) { - directory = url.directory; - } - if(newURI.directory != null) { - if(newUrl.charAt(0) != "/" && newUrl.indexOf("://") == -1) { - var stripRelative_r = new RegExp("\\./.*","".split("u").join("")); - directory = directory.replace(stripRelative_r,""); - directory += newURI.directory; - } else { - directory = newURI.directory; - } - } - resultURI.directory = directory; - if(newURI.file != null) { - resultURI.file = newURI.file; - } else { - resultURI.file = url.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(newURI.query != null) { - resultURI.query = newURI.query; - } - if(newURI.fragment != null) { - resultURI.fragment = newURI.fragment; - } - resultURI.hash = newURI.hash; - resultURI.XRF = newURI.XRF; - xrfragment_URI.computeVars(resultURI); - return resultURI; -}; -xrfragment_URI.cloneURI = function(url) { - var clonedURI = new xrfragment_URI(); - clonedURI.url = url.url; - clonedURI.source = url.source; - clonedURI.scheme = url.scheme; - clonedURI.authority = url.authority; - clonedURI.userInfo = url.userInfo; - clonedURI.password = url.password; - clonedURI.host = url.host; - clonedURI.port = url.port; - clonedURI.relative = url.relative; - clonedURI.path = url.path; - clonedURI.directory = url.directory; - clonedURI.file = url.file; - clonedURI.query = url.query; - clonedURI.fragment = url.fragment; - return clonedURI; -}; -var xrfragment_XRF = $hx_exports["xrfragment"]["XRF"] = function(_fragment,_flags,_index) { - this.floats = []; - this.shift = []; - this.fragment = _fragment; - this.flags = _flags; - this.index = _index; -}; -xrfragment_XRF.__name__ = true; -xrfragment_XRF.set = function(flag,flags) { - return flags | flag; -}; -xrfragment_XRF.unset = function(flag,flags) { - return flags & ~flag; -}; -xrfragment_XRF.prototype = { - is: function(flag) { - var v = this.flags; - if(!(typeof(v) == "number" && ((v | 0) === v))) { - this.flags = 0; - } - return (this.flags & flag) != 0; - } - ,validate: function(value) { - this.guessType(this,value); - var ok = true; - if(value.length == 0 && !this.is(xrfragment_XRF.T_PREDEFINED_VIEW)) { - ok = false; - } - if(!this.is(xrfragment_XRF.T_FLOAT) && this.is(xrfragment_XRF.T_VECTOR2) && !(typeof(this.x) == "number" && typeof(this.y) == "number")) { - ok = false; - } - if(!(this.is(xrfragment_XRF.T_VECTOR2) || this.is(xrfragment_XRF.T_STRING)) && this.is(xrfragment_XRF.T_VECTOR3) && !(typeof(this.x) == "number" && typeof(this.y) == "number" && typeof(this.z) == "number")) { - ok = false; - } - return ok; - } - ,guessType: function(v,str) { - v.string = str; - if(xrfragment_XRF.isReset.match(v.fragment)) { - v.reset = true; - } - if(v.fragment == "loop") { - v.loop = true; - } - if(typeof(str) != "string") { - return; - } - if(str.length > 0) { - if(xrfragment_XRF.isXRFScheme.match(str)) { - v.xrfScheme = true; - str = str.replace(xrfragment_XRF.isXRFScheme.r,""); - v.string = str; - } - if(str.split(",").length > 1) { - var xyzn = str.split(","); - if(xyzn.length > 0) { - v.x = parseFloat(xyzn[0]); - } - if(xyzn.length > 1) { - v.y = parseFloat(xyzn[1]); - } - if(xyzn.length > 2) { - v.z = parseFloat(xyzn[2]); - } - var _g = 0; - var _g1 = xyzn.length; - while(_g < _g1) { - var i = _g++; - v.shift.push(xrfragment_XRF.isShift.match(xyzn[i])); - v.floats.push(parseFloat(xyzn[i].replace(xrfragment_XRF.isShift.r,""))); - } - } - if(xrfragment_XRF.isColor.match(str)) { - v.color = str; - } - if(xrfragment_XRF.isFloat.match(str)) { - v.x = parseFloat(str); - v.float = v.x; - } - if(xrfragment_XRF.isInt.match(str)) { - v.int = Std.parseInt(str); - v.x = v.int; - v.floats.push(v.x); - } - v.filter = new xrfragment_Filter(v.fragment + "=" + v.string); - } else { - v.filter = new xrfragment_Filter(v.fragment); - } - } -}; -function $getIterator(o) { if( o instanceof Array ) return new haxe_iterators_ArrayIterator(o); else return o.iterator(); } -function $bind(o,m) { if( m == null ) return null; if( m.__id__ == null ) m.__id__ = $global.$haxeUID++; var f; if( o.hx__closures__ == null ) o.hx__closures__ = {}; else f = o.hx__closures__[m.__id__]; if( f == null ) { f = m.bind(o); o.hx__closures__[m.__id__] = f; } return f; } -$global.$haxeUID |= 0; -if(typeof(performance) != "undefined" ? typeof(performance.now) == "function" : false) { - HxOverrides.now = performance.now.bind(performance); -} -if( String.fromCodePoint == null ) String.fromCodePoint = function(c) { return c < 0x10000 ? String.fromCharCode(c) : String.fromCharCode((c>>10)+0xD7C0)+String.fromCharCode((c&0x3FF)+0xDC00); } -String.__name__ = true; -Array.__name__ = true; -js_Boot.__toStr = ({ }).toString; -haxe_Template.splitter = new EReg("(::[A-Za-z0-9_ ()&|!+=/><*.\"-]+::|\\$\\$([A-Za-z0-9_-]+)\\()",""); -haxe_Template.expr_splitter = new EReg("(\\(|\\)|[ \r\n\t]*\"[^\"]*\"[ \r\n\t]*|[!+=/><*.&|-]+)",""); -haxe_Template.expr_trim = new EReg("^[ ]*([^ ]+)[ ]*$",""); -haxe_Template.expr_int = new EReg("^[0-9]+$",""); -haxe_Template.expr_float = new EReg("^([+-]?)(?=\\d|,\\d)\\d*(,\\d*)?([Ee]([+-]?\\d+))?$",""); -haxe_Template.globals = { }; -haxe_Template.hxKeepArrayIterator = new haxe_iterators_ArrayIterator([]); -xrfragment_Parser.error = ""; -xrfragment_Parser.debug = false; -xrfragment_URI.__meta__ = { statics : { template : { keep : null}}}; -xrfragment_URI._parts = ["source","scheme","authority","userInfo","user","password","host","port","relative","path","directory","file","query","fragment"]; -xrfragment_XRF.IMMUTABLE = 1; -xrfragment_XRF.PROP_BIND = 2; -xrfragment_XRF.QUERY_OPERATOR = 4; -xrfragment_XRF.PROMPT = 8; -xrfragment_XRF.CUSTOMFRAG = 16; -xrfragment_XRF.NAVIGATOR = 32; -xrfragment_XRF.METADATA = 64; -xrfragment_XRF.PV_OVERRIDE = 128; -xrfragment_XRF.PV_EXECUTE = 256; -xrfragment_XRF.T_COLOR = 8192; -xrfragment_XRF.T_INT = 16384; -xrfragment_XRF.T_FLOAT = 32768; -xrfragment_XRF.T_VECTOR2 = 65536; -xrfragment_XRF.T_VECTOR3 = 131072; -xrfragment_XRF.T_URL = 262144; -xrfragment_XRF.T_PREDEFINED_VIEW = 524288; -xrfragment_XRF.T_STRING = 1048576; -xrfragment_XRF.T_MEDIAFRAG = 2097152; -xrfragment_XRF.T_DYNAMICKEY = 4194304; -xrfragment_XRF.T_DYNAMICKEYVALUE = 8388608; -xrfragment_XRF.isColor = new EReg("^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$",""); -xrfragment_XRF.isInt = new EReg("^[-0-9]+$",""); -xrfragment_XRF.isFloat = new EReg("^[-0-9]+\\.[0-9]+$",""); -xrfragment_XRF.isVector = new EReg("([,]+|\\w)",""); -xrfragment_XRF.isUrl = new EReg("(://)?\\..*",""); -xrfragment_XRF.isUrlOrPretypedView = new EReg("(^#|://)?\\..*",""); -xrfragment_XRF.isString = new EReg(".*",""); -xrfragment_XRF.operators = new EReg("(^[-]|^[!]|[\\*]$)","g"); -xrfragment_XRF.isProp = new EReg("^.*=[><=]?",""); -xrfragment_XRF.isExclude = new EReg("^-",""); -xrfragment_XRF.isDeep = new EReg("\\*",""); -xrfragment_XRF.isNumber = new EReg("^[0-9\\.]+$",""); -xrfragment_XRF.isMediaFrag = new EReg("^([0-9\\.,\\*+-]+)$",""); -xrfragment_XRF.isReset = new EReg("^!",""); -xrfragment_XRF.isShift = new EReg("^(\\+|--)",""); -xrfragment_XRF.isXRFScheme = new EReg("^xrf://",""); -})(typeof window != "undefined" ? window : typeof global != "undefined" ? global : typeof self != "undefined" ? self : this); -var xrfragment = $hx_exports["xrfragment"]; -export default xrfragment; -// Generated by Haxe 4.3.3 -var $hx_exports = typeof exports != "undefined" ? exports : typeof window != "undefined" ? window : typeof self != "undefined" ? self : this; -(function ($global) { "use strict"; -$hx_exports["xrfragment"] = $hx_exports["xrfragment"] || {}; -var $estr = function() { return js_Boot.__string_rec(this,''); },$hxEnums = $hxEnums || {},$_; -function $extend(from, fields) { - var proto = Object.create(from); - for (var name in fields) proto[name] = fields[name]; - if( fields.toString !== Object.prototype.toString ) proto.toString = fields.toString; - return proto; -} -var EReg = function(r,opt) { - this.r = new RegExp(r,opt.split("u").join("")); -}; -EReg.__name__ = true; -EReg.prototype = { - match: function(s) { - if(this.r.global) { - this.r.lastIndex = 0; - } - this.r.m = this.r.exec(s); - this.r.s = s; - return this.r.m != null; - } - ,matched: function(n) { - if(this.r.m != null && n >= 0 && n < this.r.m.length) { - return this.r.m[n]; - } else { - throw haxe_Exception.thrown("EReg::matched"); - } - } - ,matchedRight: function() { - if(this.r.m == null) { - throw haxe_Exception.thrown("No string matched"); - } - var sz = this.r.m.index + this.r.m[0].length; - return HxOverrides.substr(this.r.s,sz,this.r.s.length - sz); - } - ,matchedPos: function() { - if(this.r.m == null) { - throw haxe_Exception.thrown("No string matched"); - } - return { pos : this.r.m.index, len : this.r.m[0].length}; - } - ,split: function(s) { - var d = "#__delim__#"; - return s.replace(this.r,d).split(d); - } -}; -var HxOverrides = function() { }; -HxOverrides.__name__ = true; -HxOverrides.cca = function(s,index) { - var x = s.charCodeAt(index); - if(x != x) { - return undefined; - } - return x; -}; -HxOverrides.substr = function(s,pos,len) { - if(len == null) { - len = s.length; - } else if(len < 0) { - if(pos == 0) { - len = s.length + len; - } else { - return ""; - } - } - return s.substr(pos,len); -}; -HxOverrides.now = function() { - return Date.now(); -}; -Math.__name__ = true; -var Reflect = function() { }; -Reflect.__name__ = true; -Reflect.field = function(o,field) { - try { - return o[field]; - } catch( _g ) { - return null; - } -}; -Reflect.getProperty = function(o,field) { - var tmp; - if(o == null) { - return null; - } else { - var tmp1; - if(o.__properties__) { - tmp = o.__properties__["get_" + field]; - tmp1 = tmp; - } else { - tmp1 = false; - } - if(tmp1) { - return o[tmp](); - } else { - return o[field]; - } - } -}; -Reflect.fields = function(o) { - var a = []; - if(o != null) { - var hasOwnProperty = Object.prototype.hasOwnProperty; - for( var f in o ) { - if(f != "__id__" && f != "hx__closures__" && hasOwnProperty.call(o,f)) { - a.push(f); - } - } - } - return a; -}; -Reflect.isObject = function(v) { - if(v == null) { - return false; - } - var t = typeof(v); - if(!(t == "string" || t == "object" && v.__enum__ == null)) { - if(t == "function") { - return (v.__name__ || v.__ename__) != null; - } else { - return false; - } - } else { - return true; - } -}; -Reflect.deleteField = function(o,field) { - if(!Object.prototype.hasOwnProperty.call(o,field)) { - return false; - } - delete(o[field]); - return true; -}; -Reflect.copy = function(o) { - if(o == null) { - return null; - } - var o2 = { }; - var _g = 0; - var _g1 = Reflect.fields(o); - while(_g < _g1.length) { - var f = _g1[_g]; - ++_g; - o2[f] = Reflect.field(o,f); - } - return o2; -}; -var Std = function() { }; -Std.__name__ = true; -Std.string = function(s) { - return js_Boot.__string_rec(s,""); -}; -Std.parseInt = function(x) { - var v = parseInt(x); - if(isNaN(v)) { - return null; - } - return v; -}; -var StringBuf = function() { - this.b = ""; -}; -StringBuf.__name__ = true; -var StringTools = function() { }; -StringTools.__name__ = true; -StringTools.isSpace = function(s,pos) { - var c = HxOverrides.cca(s,pos); - if(!(c > 8 && c < 14)) { - return c == 32; - } else { - return true; - } -}; -StringTools.ltrim = function(s) { - var l = s.length; - var r = 0; - while(r < l && StringTools.isSpace(s,r)) ++r; - if(r > 0) { - return HxOverrides.substr(s,r,l - r); - } else { - return s; - } -}; -StringTools.rtrim = function(s) { - var l = s.length; - var r = 0; - while(r < l && StringTools.isSpace(s,l - r - 1)) ++r; - if(r > 0) { - return HxOverrides.substr(s,0,l - r); - } else { - return s; - } -}; -StringTools.trim = function(s) { - return StringTools.ltrim(StringTools.rtrim(s)); -}; -StringTools.replace = function(s,sub,by) { - return s.split(sub).join(by); -}; -var haxe_Exception = function(message,previous,native) { - Error.call(this,message); - this.message = message; - this.__previousException = previous; - this.__nativeException = native != null ? native : this; -}; -haxe_Exception.__name__ = true; -haxe_Exception.caught = function(value) { - if(((value) instanceof haxe_Exception)) { - return value; - } else if(((value) instanceof Error)) { - return new haxe_Exception(value.message,null,value); - } else { - return new haxe_ValueException(value,null,value); - } -}; -haxe_Exception.thrown = function(value) { - if(((value) instanceof haxe_Exception)) { - return value.get_native(); - } else if(((value) instanceof Error)) { - return value; - } else { - var e = new haxe_ValueException(value); - return e; - } -}; -haxe_Exception.__super__ = Error; -haxe_Exception.prototype = $extend(Error.prototype,{ - unwrap: function() { - return this.__nativeException; - } - ,get_native: function() { - return this.__nativeException; - } - ,__properties__: {get_native:"get_native"} -}); -var haxe__$Template_TemplateExpr = $hxEnums["haxe._Template.TemplateExpr"] = { __ename__:true,__constructs__:null - ,OpVar: ($_=function(v) { return {_hx_index:0,v:v,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpVar",$_.__params__ = ["v"],$_) - ,OpExpr: ($_=function(expr) { return {_hx_index:1,expr:expr,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpExpr",$_.__params__ = ["expr"],$_) - ,OpIf: ($_=function(expr,eif,eelse) { return {_hx_index:2,expr:expr,eif:eif,eelse:eelse,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpIf",$_.__params__ = ["expr","eif","eelse"],$_) - ,OpStr: ($_=function(str) { return {_hx_index:3,str:str,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpStr",$_.__params__ = ["str"],$_) - ,OpBlock: ($_=function(l) { return {_hx_index:4,l:l,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpBlock",$_.__params__ = ["l"],$_) - ,OpForeach: ($_=function(expr,loop) { return {_hx_index:5,expr:expr,loop:loop,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpForeach",$_.__params__ = ["expr","loop"],$_) - ,OpMacro: ($_=function(name,params) { return {_hx_index:6,name:name,params:params,__enum__:"haxe._Template.TemplateExpr",toString:$estr}; },$_._hx_name="OpMacro",$_.__params__ = ["name","params"],$_) -}; -haxe__$Template_TemplateExpr.__constructs__ = [haxe__$Template_TemplateExpr.OpVar,haxe__$Template_TemplateExpr.OpExpr,haxe__$Template_TemplateExpr.OpIf,haxe__$Template_TemplateExpr.OpStr,haxe__$Template_TemplateExpr.OpBlock,haxe__$Template_TemplateExpr.OpForeach,haxe__$Template_TemplateExpr.OpMacro]; -var haxe_iterators_ArrayIterator = function(array) { - this.current = 0; - this.array = array; -}; -haxe_iterators_ArrayIterator.__name__ = true; -haxe_iterators_ArrayIterator.prototype = { - hasNext: function() { - return this.current < this.array.length; - } - ,next: function() { - return this.array[this.current++]; - } -}; -var haxe_Template = function(str) { - var tokens = this.parseTokens(str); - this.expr = this.parseBlock(tokens); - if(!tokens.isEmpty()) { - throw haxe_Exception.thrown("Unexpected '" + Std.string(tokens.first().s) + "'"); - } -}; -haxe_Template.__name__ = true; -haxe_Template.prototype = { - execute: function(context,macros) { - this.macros = macros == null ? { } : macros; - this.context = context; - this.stack = new haxe_ds_List(); - this.buf = new StringBuf(); - this.run(this.expr); - return this.buf.b; - } - ,resolve: function(v) { - if(v == "__current__") { - return this.context; - } - if(Reflect.isObject(this.context)) { - var value = Reflect.getProperty(this.context,v); - if(value != null || Object.prototype.hasOwnProperty.call(this.context,v)) { - return value; - } - } - var _g_head = this.stack.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var ctx = val; - var value = Reflect.getProperty(ctx,v); - if(value != null || Object.prototype.hasOwnProperty.call(ctx,v)) { - return value; - } - } - return Reflect.field(haxe_Template.globals,v); - } - ,parseTokens: function(data) { - var tokens = new haxe_ds_List(); - while(haxe_Template.splitter.match(data)) { - var p = haxe_Template.splitter.matchedPos(); - if(p.pos > 0) { - tokens.add({ p : HxOverrides.substr(data,0,p.pos), s : true, l : null}); - } - if(HxOverrides.cca(data,p.pos) == 58) { - tokens.add({ p : HxOverrides.substr(data,p.pos + 2,p.len - 4), s : false, l : null}); - data = haxe_Template.splitter.matchedRight(); - continue; - } - var parp = p.pos + p.len; - var npar = 1; - var params = []; - var part = ""; - while(true) { - var c = HxOverrides.cca(data,parp); - ++parp; - if(c == 40) { - ++npar; - } else if(c == 41) { - --npar; - if(npar <= 0) { - break; - } - } else if(c == null) { - throw haxe_Exception.thrown("Unclosed macro parenthesis"); - } - if(c == 44 && npar == 1) { - params.push(part); - part = ""; - } else { - part += String.fromCodePoint(c); - } - } - params.push(part); - tokens.add({ p : haxe_Template.splitter.matched(2), s : false, l : params}); - data = HxOverrides.substr(data,parp,data.length - parp); - } - if(data.length > 0) { - tokens.add({ p : data, s : true, l : null}); - } - return tokens; - } - ,parseBlock: function(tokens) { - var l = new haxe_ds_List(); - while(true) { - var t = tokens.first(); - if(t == null) { - break; - } - if(!t.s && (t.p == "end" || t.p == "else" || HxOverrides.substr(t.p,0,7) == "elseif ")) { - break; - } - l.add(this.parse(tokens)); - } - if(l.length == 1) { - return l.first(); - } - return haxe__$Template_TemplateExpr.OpBlock(l); - } - ,parse: function(tokens) { - var t = tokens.pop(); - var p = t.p; - if(t.s) { - return haxe__$Template_TemplateExpr.OpStr(p); - } - if(t.l != null) { - var pe = new haxe_ds_List(); - var _g = 0; - var _g1 = t.l; - while(_g < _g1.length) { - var p1 = _g1[_g]; - ++_g; - pe.add(this.parseBlock(this.parseTokens(p1))); - } - return haxe__$Template_TemplateExpr.OpMacro(p,pe); - } - var kwdEnd = function(kwd) { - var pos = -1; - var length = kwd.length; - if(HxOverrides.substr(p,0,length) == kwd) { - pos = length; - var _g_offset = 0; - var _g_s = HxOverrides.substr(p,length,null); - while(_g_offset < _g_s.length) { - var c = _g_s.charCodeAt(_g_offset++); - if(c == 32) { - ++pos; - } else { - break; - } - } - } - return pos; - }; - var pos = kwdEnd("if"); - if(pos > 0) { - p = HxOverrides.substr(p,pos,p.length - pos); - var e = this.parseExpr(p); - var eif = this.parseBlock(tokens); - var t = tokens.first(); - var eelse; - if(t == null) { - throw haxe_Exception.thrown("Unclosed 'if'"); - } - if(t.p == "end") { - tokens.pop(); - eelse = null; - } else if(t.p == "else") { - tokens.pop(); - eelse = this.parseBlock(tokens); - t = tokens.pop(); - if(t == null || t.p != "end") { - throw haxe_Exception.thrown("Unclosed 'else'"); - } - } else { - t.p = HxOverrides.substr(t.p,4,t.p.length - 4); - eelse = this.parse(tokens); - } - return haxe__$Template_TemplateExpr.OpIf(e,eif,eelse); - } - var pos = kwdEnd("foreach"); - if(pos >= 0) { - p = HxOverrides.substr(p,pos,p.length - pos); - var e = this.parseExpr(p); - var efor = this.parseBlock(tokens); - var t = tokens.pop(); - if(t == null || t.p != "end") { - throw haxe_Exception.thrown("Unclosed 'foreach'"); - } - return haxe__$Template_TemplateExpr.OpForeach(e,efor); - } - if(haxe_Template.expr_splitter.match(p)) { - return haxe__$Template_TemplateExpr.OpExpr(this.parseExpr(p)); - } - return haxe__$Template_TemplateExpr.OpVar(p); - } - ,parseExpr: function(data) { - var l = new haxe_ds_List(); - var expr = data; - while(haxe_Template.expr_splitter.match(data)) { - var p = haxe_Template.expr_splitter.matchedPos(); - var k = p.pos + p.len; - if(p.pos != 0) { - l.add({ p : HxOverrides.substr(data,0,p.pos), s : true}); - } - var p1 = haxe_Template.expr_splitter.matched(0); - l.add({ p : p1, s : p1.indexOf("\"") >= 0}); - data = haxe_Template.expr_splitter.matchedRight(); - } - if(data.length != 0) { - var _g_offset = 0; - var _g_s = data; - while(_g_offset < _g_s.length) { - var _g_key = _g_offset; - var _g_value = _g_s.charCodeAt(_g_offset++); - var i = _g_key; - var c = _g_value; - if(c != 32) { - l.add({ p : HxOverrides.substr(data,i,null), s : true}); - break; - } - } - } - var e; - try { - e = this.makeExpr(l); - if(!l.isEmpty()) { - throw haxe_Exception.thrown(l.first().p); - } - } catch( _g ) { - var _g1 = haxe_Exception.caught(_g).unwrap(); - if(typeof(_g1) == "string") { - var s = _g1; - throw haxe_Exception.thrown("Unexpected '" + s + "' in " + expr); - } else { - throw _g; - } - } - return function() { - try { - return e(); - } catch( _g ) { - var exc = haxe_Exception.caught(_g).unwrap(); - throw haxe_Exception.thrown("Error : " + Std.string(exc) + " in " + expr); - } - }; - } - ,makeConst: function(v) { - haxe_Template.expr_trim.match(v); - v = haxe_Template.expr_trim.matched(1); - if(HxOverrides.cca(v,0) == 34) { - var str = HxOverrides.substr(v,1,v.length - 2); - return function() { - return str; - }; - } - if(haxe_Template.expr_int.match(v)) { - var i = Std.parseInt(v); - return function() { - return i; - }; - } - if(haxe_Template.expr_float.match(v)) { - var f = parseFloat(v); - return function() { - return f; - }; - } - var me = this; - return function() { - return me.resolve(v); - }; - } - ,makePath: function(e,l) { - var p = l.first(); - if(p == null || p.p != ".") { - return e; - } - l.pop(); - var field = l.pop(); - if(field == null || !field.s) { - throw haxe_Exception.thrown(field.p); - } - var f = field.p; - haxe_Template.expr_trim.match(f); - f = haxe_Template.expr_trim.matched(1); - return this.makePath(function() { - return Reflect.field(e(),f); - },l); - } - ,makeExpr: function(l) { - return this.makePath(this.makeExpr2(l),l); - } - ,skipSpaces: function(l) { - var p = l.first(); - while(p != null) { - var _g_offset = 0; - var _g_s = p.p; - while(_g_offset < _g_s.length) { - var c = _g_s.charCodeAt(_g_offset++); - if(c != 32) { - return; - } - } - l.pop(); - p = l.first(); - } - } - ,makeExpr2: function(l) { - this.skipSpaces(l); - var p = l.pop(); - this.skipSpaces(l); - if(p == null) { - throw haxe_Exception.thrown(""); - } - if(p.s) { - return this.makeConst(p.p); - } - switch(p.p) { - case "!": - var e = this.makeExpr(l); - return function() { - var v = e(); - if(v != null) { - return v == false; - } else { - return true; - } - }; - case "(": - this.skipSpaces(l); - var e1 = this.makeExpr(l); - this.skipSpaces(l); - var p1 = l.pop(); - if(p1 == null || p1.s) { - throw haxe_Exception.thrown(p1); - } - if(p1.p == ")") { - return e1; - } - this.skipSpaces(l); - var e2 = this.makeExpr(l); - this.skipSpaces(l); - var p2 = l.pop(); - this.skipSpaces(l); - if(p2 == null || p2.p != ")") { - throw haxe_Exception.thrown(p2); - } - switch(p1.p) { - case "!=": - return function() { - return e1() != e2(); - }; - case "&&": - return function() { - return e1() && e2(); - }; - case "*": - return function() { - return e1() * e2(); - }; - case "+": - return function() { - return e1() + e2(); - }; - case "-": - return function() { - return e1() - e2(); - }; - case "/": - return function() { - return e1() / e2(); - }; - case "<": - return function() { - return e1() < e2(); - }; - case "<=": - return function() { - return e1() <= e2(); - }; - case "==": - return function() { - return e1() == e2(); - }; - case ">": - return function() { - return e1() > e2(); - }; - case ">=": - return function() { - return e1() >= e2(); - }; - case "||": - return function() { - return e1() || e2(); - }; - default: - throw haxe_Exception.thrown("Unknown operation " + p1.p); - } - break; - case "-": - var e3 = this.makeExpr(l); - return function() { - return -e3(); - }; - } - throw haxe_Exception.thrown(p.p); - } - ,run: function(e) { - switch(e._hx_index) { - case 0: - var v = e.v; - var _this = this.buf; - var x = Std.string(this.resolve(v)); - _this.b += Std.string(x); - break; - case 1: - var e1 = e.expr; - var _this = this.buf; - var x = Std.string(e1()); - _this.b += Std.string(x); - break; - case 2: - var e1 = e.expr; - var eif = e.eif; - var eelse = e.eelse; - var v = e1(); - if(v == null || v == false) { - if(eelse != null) { - this.run(eelse); - } - } else { - this.run(eif); - } - break; - case 3: - var str = e.str; - this.buf.b += str == null ? "null" : "" + str; - break; - case 4: - var l = e.l; - var _g_head = l.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var e1 = val; - this.run(e1); - } - break; - case 5: - var e1 = e.expr; - var loop = e.loop; - var v = e1(); - try { - var x = $getIterator(v); - if(x.hasNext == null) { - throw haxe_Exception.thrown(null); - } - v = x; - } catch( _g ) { - try { - if(v.hasNext == null) { - throw haxe_Exception.thrown(null); - } - } catch( _g1 ) { - throw haxe_Exception.thrown("Cannot iter on " + Std.string(v)); - } - } - this.stack.push(this.context); - var v1 = v; - var ctx = v1; - while(ctx.hasNext()) { - var ctx1 = ctx.next(); - this.context = ctx1; - this.run(loop); - } - this.context = this.stack.pop(); - break; - case 6: - var m = e.name; - var params = e.params; - var v = Reflect.field(this.macros,m); - var pl = []; - var old = this.buf; - pl.push($bind(this,this.resolve)); - var _g_head = params.h; - while(_g_head != null) { - var val = _g_head.item; - _g_head = _g_head.next; - var p = val; - if(p._hx_index == 0) { - var v1 = p.v; - pl.push(this.resolve(v1)); - } else { - this.buf = new StringBuf(); - this.run(p); - pl.push(this.buf.b); - } - } - this.buf = old; - try { - var _this = this.buf; - var x = Std.string(v.apply(this.macros,pl)); - _this.b += Std.string(x); - } catch( _g ) { - var e = haxe_Exception.caught(_g).unwrap(); - var plstr; - try { - plstr = pl.join(","); - } catch( _g1 ) { - plstr = "???"; - } - var msg = "Macro call " + m + "(" + plstr + ") failed (" + Std.string(e) + ")"; - throw haxe_Exception.thrown(msg); - } - break; - } - } -}; -var haxe_ValueException = function(value,previous,native) { - haxe_Exception.call(this,String(value),previous,native); - this.value = value; -}; -haxe_ValueException.__name__ = true; -haxe_ValueException.__super__ = haxe_Exception; -haxe_ValueException.prototype = $extend(haxe_Exception.prototype,{ - unwrap: function() { - return this.value; - } -}); -var haxe_ds_List = function() { - this.length = 0; -}; -haxe_ds_List.__name__ = true; -haxe_ds_List.prototype = { - add: function(item) { - var x = new haxe_ds__$List_ListNode(item,null); - if(this.h == null) { - this.h = x; - } else { - this.q.next = x; - } - this.q = x; - this.length++; - } - ,push: function(item) { - var x = new haxe_ds__$List_ListNode(item,this.h); - this.h = x; - if(this.q == null) { - this.q = x; - } - this.length++; - } - ,first: function() { - if(this.h == null) { - return null; - } else { - return this.h.item; - } - } - ,pop: function() { - if(this.h == null) { - return null; - } - var x = this.h.item; - this.h = this.h.next; - if(this.h == null) { - this.q = null; - } - this.length--; - return x; - } - ,isEmpty: function() { - return this.h == null; - } - ,toString: function() { - var s_b = ""; - var first = true; - var l = this.h; - s_b += "{"; - while(l != null) { - if(first) { - first = false; - } else { - s_b += ", "; - } - s_b += Std.string(Std.string(l.item)); - l = l.next; - } - s_b += "}"; - return s_b; - } -}; -var haxe_ds__$List_ListNode = function(item,next) { - this.item = item; - this.next = next; -}; -haxe_ds__$List_ListNode.__name__ = true; -var js_Boot = function() { }; -js_Boot.__name__ = true; -js_Boot.__string_rec = function(o,s) { - if(o == null) { - return "null"; - } - if(s.length >= 5) { - return "<...>"; - } - var t = typeof(o); - if(t == "function" && (o.__name__ || o.__ename__)) { - t = "object"; - } - switch(t) { - case "function": - return ""; - case "object": - if(o.__enum__) { - var e = $hxEnums[o.__enum__]; - var con = e.__constructs__[o._hx_index]; - var n = con._hx_name; - if(con.__params__) { - s = s + "\t"; - return n + "(" + ((function($this) { - var $r; - var _g = []; - { - var _g1 = 0; - var _g2 = con.__params__; - while(true) { - if(!(_g1 < _g2.length)) { - break; - } - var p = _g2[_g1]; - _g1 = _g1 + 1; - _g.push(js_Boot.__string_rec(o[p],s)); - } - } - $r = _g; - return $r; - }(this))).join(",") + ")"; - } else { - return n; - } - } - if(((o) instanceof Array)) { - var str = "["; - s += "\t"; - var _g = 0; - var _g1 = o.length; - while(_g < _g1) { - var i = _g++; - str += (i > 0 ? "," : "") + js_Boot.__string_rec(o[i],s); - } - str += "]"; - return str; - } - var tostr; - try { - tostr = o.toString; - } catch( _g ) { - return "???"; - } - if(tostr != null && tostr != Object.toString && typeof(tostr) == "function") { - var s2 = o.toString(); - if(s2 != "[object Object]") { - return s2; - } - } - var str = "{\n"; - s += "\t"; - var hasp = o.hasOwnProperty != null; - var k = null; - for( k in o ) { - if(hasp && !o.hasOwnProperty(k)) { - continue; - } - if(k == "prototype" || k == "__class__" || k == "__super__" || k == "__interfaces__" || k == "__properties__") { - continue; - } - if(str.length != 2) { - str += ", \n"; - } - str += s + k + " : " + js_Boot.__string_rec(o[k],s); - } - s = s.substring(1); - str += "\n" + s + "}"; - return str; - case "string": - return o; - default: - return String(o); - } -}; -var xrfragment_Filter = $hx_exports["xrfragment"]["Filter"] = function(str) { - this.q = { }; - this.str = ""; - if(str != null) { - this.parse(str); - } -}; -xrfragment_Filter.__name__ = true; -xrfragment_Filter.prototype = { - toObject: function() { - return Reflect.copy(this.q); - } - ,get: function() { - return Reflect.copy(this.q); - } - ,parse: function(str) { - var token = str.split(" "); - var q = { }; - var process = function(str,prefix) { - if(prefix == null) { - prefix = ""; - } - str = StringTools.trim(str); - var k = str.split("=")[0]; - var v = str.split("=")[1]; - var filter = { }; - if(q[prefix + k]) { - filter = q[prefix + k]; - } - if(xrfragment_XRF.isProp.match(str)) { - var oper = ""; - if(str.indexOf(">") != -1) { - oper = ">"; - } - if(str.indexOf("<") != -1) { - oper = "<"; - } - if(xrfragment_XRF.isExclude.match(k)) { - k = HxOverrides.substr(k,1,null); - } - v = HxOverrides.substr(v,oper.length,null); - if(oper.length == 0) { - oper = "="; - } - var rule = { }; - if(xrfragment_XRF.isNumber.match(v)) { - rule[oper] = parseFloat(v); - } else { - rule[oper] = v; - } - q["expr"] = rule; - } - var value = xrfragment_XRF.isDeep.match(str) ? k.split("*").length - 1 : 0; - q["deep"] = value; - var value = xrfragment_XRF.isExclude.match(str) ? false : true; - q["show"] = value; - var value = k.replace(xrfragment_XRF.operators.r,""); - q["key"] = value; - q["value"] = v; - }; - var _g = 0; - var _g1 = token.length; - while(_g < _g1) { - var i = _g++; - process(token[i]); - } - return this.q = q; - } - ,test: function(obj) { - var qualify = false; - var _g = 0; - var _g1 = Reflect.fields(obj); - while(_g < _g1.length) { - var k = _g1[_g]; - ++_g; - var v = Std.string(Reflect.field(obj,k)); - if(this.testProperty(k,v)) { - qualify = true; - } - } - var _g = 0; - var _g1 = Reflect.fields(obj); - while(_g < _g1.length) { - var k = _g1[_g]; - ++_g; - var v = Std.string(Reflect.field(obj,k)); - if(this.testProperty(k,v,true)) { - qualify = false; - } - } - return qualify; - } - ,testProperty: function(property,value,exclude) { - var conds = 0; - var fails = 0; - var qualify = 0; - var testprop = function(expr) { - conds += 1; - fails += expr ? 0 : 1; - return expr; - }; - if(this.q[value] != null) { - var v = this.q[value]; - if(v[property] != null) { - return v[property]; - } - } - if(Reflect.field(this.q,"expr")) { - var f = Reflect.field(this.q,"expr"); - if(!Reflect.field(this.q,"show")) { - if(Reflect.field(f,"!=") != null && testprop((value == null ? "null" : "" + value) == Std.string(Reflect.field(f,"!="))) && exclude) { - ++qualify; - } - } else { - if(Reflect.field(f,"*") != null && testprop(parseFloat(value) != null)) { - ++qualify; - } - if(Reflect.field(f,">") != null && testprop(parseFloat(value) >= parseFloat(Reflect.field(f,">")))) { - ++qualify; - } - if(Reflect.field(f,"<") != null && testprop(parseFloat(value) <= parseFloat(Reflect.field(f,"<")))) { - ++qualify; - } - if(Reflect.field(f,"=") != null && (testprop(value == Reflect.field(f,"=")) || testprop(parseFloat(value) == parseFloat(Reflect.field(f,"="))))) { - ++qualify; - } - } - } - return qualify > 0; - } -}; -var xrfragment_Parser = $hx_exports["xrfragment"]["Parser"] = function() { }; -xrfragment_Parser.__name__ = true; -xrfragment_Parser.parse = function(key,value,store,index) { - var Frag_h = Object.create(null); - Frag_h["#"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_PREDEFINED_VIEW | xrfragment_XRF.PV_EXECUTE; - Frag_h["src"] = xrfragment_XRF.T_URL; - Frag_h["href"] = xrfragment_XRF.T_URL | xrfragment_XRF.T_PREDEFINED_VIEW; - Frag_h["tag"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["pos"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_VECTOR3 | xrfragment_XRF.T_STRING | xrfragment_XRF.METADATA | xrfragment_XRF.NAVIGATOR; - Frag_h["rot"] = xrfragment_XRF.QUERY_OPERATOR | xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_VECTOR3 | xrfragment_XRF.METADATA | xrfragment_XRF.NAVIGATOR; - Frag_h["t"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_FLOAT | xrfragment_XRF.T_VECTOR2 | xrfragment_XRF.NAVIGATOR | xrfragment_XRF.METADATA; - Frag_h["s"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_MEDIAFRAG; - Frag_h["loop"] = xrfragment_XRF.PV_OVERRIDE | xrfragment_XRF.T_PREDEFINED_VIEW; - Frag_h["uv"] = xrfragment_XRF.T_VECTOR2 | xrfragment_XRF.T_MEDIAFRAG; - Frag_h["namespace"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["SPDX"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["unit"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - Frag_h["description"] = xrfragment_XRF.IMMUTABLE | xrfragment_XRF.T_STRING; - var keyStripped = key.replace(xrfragment_XRF.operators.r,""); - var isPVDynamic = key.length > 0 && !Object.prototype.hasOwnProperty.call(Frag_h,key); - if(isPVDynamic) { - var v = new xrfragment_XRF(key,xrfragment_XRF.PV_EXECUTE | xrfragment_XRF.NAVIGATOR,index); - v.validate(value); - v.flags = xrfragment_XRF.set(xrfragment_XRF.T_DYNAMICKEY,v.flags); - if(!Object.prototype.hasOwnProperty.call(Frag_h,key)) { - v.flags = xrfragment_XRF.set(xrfragment_XRF.CUSTOMFRAG,v.flags); - } - if(value.length == 0) { - v.flags = xrfragment_XRF.set(xrfragment_XRF.T_DYNAMICKEYVALUE,v.flags); - } - store[keyStripped] = v; - return true; - } - var v = new xrfragment_XRF(key,Frag_h[key],index); - if(Object.prototype.hasOwnProperty.call(Frag_h,key)) { - if(!v.validate(value)) { - console.log("src/xrfragment/Parser.hx:67:","⚠ fragment '" + key + "' has incompatible value (" + value + ")"); - return false; - } - store[keyStripped] = v; - if(xrfragment_Parser.debug) { - console.log("src/xrfragment/Parser.hx:71:","✔ " + key + ": " + v.string); - } - } else { - if(typeof(value) == "string") { - v.guessType(v,value); - } - v.flags = xrfragment_XRF.set(xrfragment_XRF.CUSTOMFRAG,v.flags); - store[keyStripped] = v; - } - return true; -}; -xrfragment_Parser.getMetaData = function() { - var meta = { title : ["title","og:title","dc.title"], description : ["aria-description","og:description","dc.description"], author : ["author","dc.creator"], publisher : ["publisher","dc.publisher"], website : ["og:site_name","og:url","dc.publisher"], license : ["SPDX","dc.rights"]}; - return meta; -}; -var xrfragment_URI = $hx_exports["xrfragment"]["URI"] = function() { - this.XRF = { }; - this.hash = { }; - this.fragment = ""; -}; -xrfragment_URI.__name__ = true; -xrfragment_URI.parseFragment = function(url,filter) { - var store = { }; - if(url == null || url.indexOf("#") == -1) { - return store; - } - var fragment = url.split("#"); - var splitArray = fragment[1].split("&"); - var _g = 0; - var _g1 = splitArray.length; - while(_g < _g1) { - var i = _g++; - var splitByEqual = splitArray[i].split("="); - var regexPlus = new EReg("\\+","g"); - var key = splitByEqual[0]; - var value = ""; - if(splitByEqual.length > 1) { - if(xrfragment_XRF.isVector.match(splitByEqual[1])) { - value = splitByEqual[1]; - } else { - var s = regexPlus.split(splitByEqual[1]).join(" "); - value = decodeURIComponent(s.split("+").join(" ")); - } - } - var ok = xrfragment_Parser.parse(key,value,store,i); - } - if(filter != null && filter != 0) { - var _g = 0; - var _g1 = Reflect.fields(store); - while(_g < _g1.length) { - var key = _g1[_g]; - ++_g; - var xrf = store[key]; - if(!xrf.is(filter)) { - Reflect.deleteField(store,key); - } - } - } - return store; -}; -xrfragment_URI.template = function(uri,vars) { - var parts = uri.split("#"); - if(parts.length == 1) { - return uri; - } - var frag = parts[1]; - frag = StringTools.replace(frag,"{","::"); - frag = StringTools.replace(frag,"}","::"); - frag = new haxe_Template(frag).execute(vars); - frag = StringTools.replace(frag,"null",""); - parts[1] = frag; - return parts.join("#"); -}; -xrfragment_URI.parse = function(stringUrl,flags) { - var r = new EReg("^(?:(?![^:@]+:[^:@/]*@)([^:/?#.]+):)?(?://)?((?:(([^:@]*)(?::([^:@]*))?)?@)?([^:/?#]*)(?::(\\d*))?)(((/(?:[^?#](?![^?#/]*\\.[^?#/.]+(?:[?#]|$)))*/?)?([^?#/]*))(?:\\?([^#]*))?(?:#(.*))?)",""); - if(stringUrl.indexOf("://") == -1 && stringUrl.charAt(0) != "/") { - stringUrl = "/" + stringUrl; - } - r.match(stringUrl); - var url = new xrfragment_URI(); - var _g = 0; - var _g1 = xrfragment_URI._parts.length; - while(_g < _g1) { - var i = _g++; - url[xrfragment_URI._parts[i]] = r.matched(i); - } - if(xrfragment_URI.isRelative(url) == true) { - if(url.directory == null && url.host != null) { - url.file = url.host; - } - url.host = ""; - } - url.hash = { }; - if(url.fragment != null && url.fragment.length > 0) { - url.XRF = xrfragment_URI.parseFragment("#" + url.fragment,flags); - var key; - var _g = 0; - var _g1 = Reflect.fields(url.XRF); - while(_g < _g1.length) { - var key = _g1[_g]; - ++_g; - var v = url.XRF[key]; - url.hash[key] = v["string"]; - } - } - xrfragment_URI.computeVars(url); - return url; -}; -xrfragment_URI.computeVars = function(url) { - var r_r = new RegExp("//","g".split("u").join("")); - if(url.directory != null && url.directory.indexOf("//") != -1) { - url.directory = url.directory.replace(r_r,"/"); - } - if(url.path != null && url.path.indexOf("//") != -1) { - url.path = url.path.replace(r_r,"/"); - } - if(url.file != null && url.file.indexOf("//") != -1) { - url.file = url.file.replace(r_r,"/"); - } - url.URN = url.scheme + "://" + url.host; - if(url.port != null) { - url.URN += ":" + url.port; - } - url.URN += url.directory; - if(url.file != null) { - var parts = url.file.split("."); - if(parts.length > 1) { - url.fileExt = parts.pop(); - } - } -}; -xrfragment_URI.toString = function(url) { - var result = ""; - if(url.scheme != null) { - result += url.scheme + "://"; - } - if(url.user != null) { - result += url.user + ":"; - } - if(url.password != null) { - result += url.password + "@"; - } - if(url.host != null) { - result += url.host; - } - if(url.port != null) { - result += ":" + url.port; - } - if(url.directory != null) { - result += url.directory; - } - if(url.file != null) { - result += url.file; - } - if(url.query != null) { - result += "?" + url.query; - } - if(url.fragment != null) { - result += "#" + url.fragment; - } - return result; -}; -xrfragment_URI.appendURI = function(url,appendedURI) { - if(xrfragment_URI.isRelative(url) == true) { - return xrfragment_URI.appendToRelativeURI(url,appendedURI); - } else { - return xrfragment_URI.appendToAbsoluteURI(url,appendedURI); - } -}; -xrfragment_URI.isRelative = function(url) { - return url.scheme == null; -}; -xrfragment_URI.appendToRelativeURI = function(url,appendedURI) { - if(url.directory == null || url.host == null) { - return xrfragment_URI.cloneURI(appendedURI); - } - var resultURI = new xrfragment_URI(); - resultURI.host = url.host; - resultURI.directory = url.directory; - if(appendedURI.host != null) { - resultURI.directory += appendedURI.host; - } - if(appendedURI.directory != null) { - var directory = appendedURI.directory; - if(appendedURI.host == null) { - resultURI.directory += HxOverrides.substr(directory,1,null); - } else { - resultURI.directory += directory; - } - } - if(appendedURI.file != null) { - resultURI.file = appendedURI.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(appendedURI.query != null) { - resultURI.query = appendedURI.query; - } - if(appendedURI.fragment != null) { - resultURI.fragment = appendedURI.fragment; - } - return resultURI; -}; -xrfragment_URI.appendToAbsoluteURI = function(url,appendedURI) { - var resultURI = new xrfragment_URI(); - if(url.scheme != null) { - resultURI.scheme = url.scheme; - } - if(url.host != null) { - resultURI.host = url.host; - } - var directory = ""; - if(url.directory != null) { - directory = url.directory; - } - if(appendedURI.host != null) { - appendedURI.directory += appendedURI.host; - } - if(appendedURI.directory != null) { - directory += appendedURI.directory; - } - resultURI.directory = directory; - if(appendedURI.file != null) { - resultURI.file = appendedURI.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(appendedURI.query != null) { - resultURI.query = appendedURI.query; - } - if(appendedURI.fragment != null) { - resultURI.fragment = appendedURI.fragment; - } - return resultURI; -}; -xrfragment_URI.toAbsolute = function(url,newUrl) { - var newURI = xrfragment_URI.parse(newUrl,0); - var resultURI = new xrfragment_URI(); - resultURI.port = url.port; - resultURI.source = newUrl; - if(newURI.scheme != null) { - resultURI.scheme = newURI.scheme; - } else { - resultURI.scheme = url.scheme; - } - if(newURI.host != null && newURI.host.length > 0) { - resultURI.host = newURI.host; - resultURI.port = null; - resultURI.fragment = null; - resultURI.hash = { }; - resultURI.XRF = { }; - if(newURI.port != null) { - resultURI.port = newURI.port; - } - } else { - resultURI.host = url.host; - } - var directory = ""; - if(url.directory != null) { - directory = url.directory; - } - if(newURI.directory != null) { - if(newUrl.charAt(0) != "/" && newUrl.indexOf("://") == -1) { - var stripRelative_r = new RegExp("\\./.*","".split("u").join("")); - directory = directory.replace(stripRelative_r,""); - directory += newURI.directory; - } else { - directory = newURI.directory; - } - } - resultURI.directory = directory; - if(newURI.file != null) { - resultURI.file = newURI.file; - } else { - resultURI.file = url.file; - } - resultURI.path = resultURI.directory + resultURI.file; - if(newURI.query != null) { - resultURI.query = newURI.query; - } - if(newURI.fragment != null) { - resultURI.fragment = newURI.fragment; - } - resultURI.hash = newURI.hash; - resultURI.XRF = newURI.XRF; - xrfragment_URI.computeVars(resultURI); - return resultURI; -}; -xrfragment_URI.cloneURI = function(url) { - var clonedURI = new xrfragment_URI(); - clonedURI.url = url.url; - clonedURI.source = url.source; - clonedURI.scheme = url.scheme; - clonedURI.authority = url.authority; - clonedURI.userInfo = url.userInfo; - clonedURI.password = url.password; - clonedURI.host = url.host; - clonedURI.port = url.port; - clonedURI.relative = url.relative; - clonedURI.path = url.path; - clonedURI.directory = url.directory; - clonedURI.file = url.file; - clonedURI.query = url.query; - clonedURI.fragment = url.fragment; - return clonedURI; -}; -var xrfragment_XRF = $hx_exports["xrfragment"]["XRF"] = function(_fragment,_flags,_index) { - this.floats = []; - this.shift = []; - this.fragment = _fragment; - this.flags = _flags; - this.index = _index; -}; -xrfragment_XRF.__name__ = true; -xrfragment_XRF.set = function(flag,flags) { - return flags | flag; -}; -xrfragment_XRF.unset = function(flag,flags) { - return flags & ~flag; -}; -xrfragment_XRF.prototype = { - is: function(flag) { - var v = this.flags; - if(!(typeof(v) == "number" && ((v | 0) === v))) { - this.flags = 0; - } - return (this.flags & flag) != 0; - } - ,validate: function(value) { - this.guessType(this,value); - var ok = true; - if(value.length == 0 && !this.is(xrfragment_XRF.T_PREDEFINED_VIEW)) { - ok = false; - } - if(!this.is(xrfragment_XRF.T_FLOAT) && this.is(xrfragment_XRF.T_VECTOR2) && !(typeof(this.x) == "number" && typeof(this.y) == "number")) { - ok = false; - } - if(!(this.is(xrfragment_XRF.T_VECTOR2) || this.is(xrfragment_XRF.T_STRING)) && this.is(xrfragment_XRF.T_VECTOR3) && !(typeof(this.x) == "number" && typeof(this.y) == "number" && typeof(this.z) == "number")) { - ok = false; - } - return ok; - } - ,guessType: function(v,str) { - v.string = str; - if(xrfragment_XRF.isReset.match(v.fragment)) { - v.reset = true; - } - if(v.fragment == "loop") { - v.loop = true; - } - if(typeof(str) != "string") { - return; - } - if(str.length > 0) { - if(xrfragment_XRF.isXRFScheme.match(str)) { - v.xrfScheme = true; - str = str.replace(xrfragment_XRF.isXRFScheme.r,""); - v.string = str; - } - if(str.split(",").length > 1) { - var xyzn = str.split(","); - if(xyzn.length > 0) { - v.x = parseFloat(xyzn[0]); - } - if(xyzn.length > 1) { - v.y = parseFloat(xyzn[1]); - } - if(xyzn.length > 2) { - v.z = parseFloat(xyzn[2]); - } - var _g = 0; - var _g1 = xyzn.length; - while(_g < _g1) { - var i = _g++; - v.shift.push(xrfragment_XRF.isShift.match(xyzn[i])); - v.floats.push(parseFloat(xyzn[i].replace(xrfragment_XRF.isShift.r,""))); - } - } - if(xrfragment_XRF.isColor.match(str)) { - v.color = str; - } - if(xrfragment_XRF.isFloat.match(str)) { - v.x = parseFloat(str); - v.float = v.x; - } - if(xrfragment_XRF.isInt.match(str)) { - v.int = Std.parseInt(str); - v.x = v.int; - v.floats.push(v.x); - } - v.filter = new xrfragment_Filter(v.fragment + "=" + v.string); - } else { - v.filter = new xrfragment_Filter(v.fragment); - } - } -}; -function $getIterator(o) { if( o instanceof Array ) return new haxe_iterators_ArrayIterator(o); else return o.iterator(); } -function $bind(o,m) { if( m == null ) return null; if( m.__id__ == null ) m.__id__ = $global.$haxeUID++; var f; if( o.hx__closures__ == null ) o.hx__closures__ = {}; else f = o.hx__closures__[m.__id__]; if( f == null ) { f = m.bind(o); o.hx__closures__[m.__id__] = f; } return f; } -$global.$haxeUID |= 0; -if(typeof(performance) != "undefined" ? typeof(performance.now) == "function" : false) { - HxOverrides.now = performance.now.bind(performance); -} -if( String.fromCodePoint == null ) String.fromCodePoint = function(c) { return c < 0x10000 ? String.fromCharCode(c) : String.fromCharCode((c>>10)+0xD7C0)+String.fromCharCode((c&0x3FF)+0xDC00); } -String.__name__ = true; -Array.__name__ = true; -js_Boot.__toStr = ({ }).toString; -haxe_Template.splitter = new EReg("(::[A-Za-z0-9_ ()&|!+=/><*.\"-]+::|\\$\\$([A-Za-z0-9_-]+)\\()",""); -haxe_Template.expr_splitter = new EReg("(\\(|\\)|[ \r\n\t]*\"[^\"]*\"[ \r\n\t]*|[!+=/><*.&|-]+)",""); -haxe_Template.expr_trim = new EReg("^[ ]*([^ ]+)[ ]*$",""); -haxe_Template.expr_int = new EReg("^[0-9]+$",""); -haxe_Template.expr_float = new EReg("^([+-]?)(?=\\d|,\\d)\\d*(,\\d*)?([Ee]([+-]?\\d+))?$",""); -haxe_Template.globals = { }; -haxe_Template.hxKeepArrayIterator = new haxe_iterators_ArrayIterator([]); -xrfragment_Parser.error = ""; -xrfragment_Parser.debug = false; -xrfragment_URI.__meta__ = { statics : { template : { keep : null}}}; -xrfragment_URI._parts = ["source","scheme","authority","userInfo","user","password","host","port","relative","path","directory","file","query","fragment"]; -xrfragment_XRF.IMMUTABLE = 1; -xrfragment_XRF.PROP_BIND = 2; -xrfragment_XRF.QUERY_OPERATOR = 4; -xrfragment_XRF.PROMPT = 8; -xrfragment_XRF.CUSTOMFRAG = 16; -xrfragment_XRF.NAVIGATOR = 32; -xrfragment_XRF.METADATA = 64; -xrfragment_XRF.PV_OVERRIDE = 128; -xrfragment_XRF.PV_EXECUTE = 256; -xrfragment_XRF.T_COLOR = 8192; -xrfragment_XRF.T_INT = 16384; -xrfragment_XRF.T_FLOAT = 32768; -xrfragment_XRF.T_VECTOR2 = 65536; -xrfragment_XRF.T_VECTOR3 = 131072; -xrfragment_XRF.T_URL = 262144; -xrfragment_XRF.T_PREDEFINED_VIEW = 524288; -xrfragment_XRF.T_STRING = 1048576; -xrfragment_XRF.T_MEDIAFRAG = 2097152; -xrfragment_XRF.T_DYNAMICKEY = 4194304; -xrfragment_XRF.T_DYNAMICKEYVALUE = 8388608; -xrfragment_XRF.isColor = new EReg("^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$",""); -xrfragment_XRF.isInt = new EReg("^[-0-9]+$",""); -xrfragment_XRF.isFloat = new EReg("^[-0-9]+\\.[0-9]+$",""); -xrfragment_XRF.isVector = new EReg("([,]+|\\w)",""); -xrfragment_XRF.isUrl = new EReg("(://)?\\..*",""); -xrfragment_XRF.isUrlOrPretypedView = new EReg("(^#|://)?\\..*",""); -xrfragment_XRF.isString = new EReg(".*",""); -xrfragment_XRF.operators = new EReg("(^[-]|^[!]|[\\*]$)","g"); -xrfragment_XRF.isProp = new EReg("^.*=[><=]?",""); -xrfragment_XRF.isExclude = new EReg("^-",""); -xrfragment_XRF.isDeep = new EReg("\\*",""); -xrfragment_XRF.isNumber = new EReg("^[0-9\\.]+$",""); -xrfragment_XRF.isMediaFrag = new EReg("^([0-9\\.,\\*+-]+)$",""); -xrfragment_XRF.isReset = new EReg("^!",""); -xrfragment_XRF.isShift = new EReg("^(\\+|--)",""); -xrfragment_XRF.isXRFScheme = new EReg("^xrf://",""); -})(typeof window != "undefined" ? window : typeof global != "undefined" ? global : typeof self != "undefined" ? self : this); -var xrfragment = $hx_exports["xrfragment"]; -export default xrfragment; // Generated by Haxe 4.3.3 var $hx_exports = typeof exports != "undefined" ? exports : typeof window != "undefined" ? window : typeof self != "undefined" ? self : this; (function ($global) { "use strict"; @@ -165756,7 +1221,7 @@ xrfragment_URI.template = function(uri,vars) { }; xrfragment_URI.parse = function(stringUrl,flags) { var r = new EReg("^(?:(?![^:@]+:[^:@/]*@)([^:/?#.]+):)?(?://)?((?:(([^:@]*)(?::([^:@]*))?)?@)?([^:/?#]*)(?::(\\d*))?)(((/(?:[^?#](?![^?#/]*\\.[^?#/.]+(?:[?#]|$)))*/?)?([^?#/]*))(?:\\?([^#]*))?(?:#(.*))?)",""); - if(stringUrl.indexOf("://") == -1 && stringUrl.charAt(0) != "/") { + if(stringUrl.indexOf("://") == -1 && stringUrl.charAt(0) != "/" && stringUrl.charAt(0) != "#") { stringUrl = "/" + stringUrl; } r.match(stringUrl); @@ -165940,7 +1405,7 @@ xrfragment_URI.toAbsolute = function(url,newUrl) { if(url.directory != null) { directory = url.directory; } - if(newURI.directory != null) { + if(newURI.directory != null && newURI.source.charAt(0) != "#" && newURI.directory.length > 0) { if(newUrl.charAt(0) != "/" && newUrl.indexOf("://") == -1) { var stripRelative_r = new RegExp("\\./.*","".split("u").join("")); directory = directory.replace(stripRelative_r,""); @@ -165950,7 +1415,7 @@ xrfragment_URI.toAbsolute = function(url,newUrl) { } } resultURI.directory = directory; - if(newURI.file != null) { + if(newURI.file != null && newURI.file.length > 0) { resultURI.file = newURI.file; } else { resultURI.file = url.file; @@ -167318,7 +2783,7 @@ xrfragment_URI.template = function(uri,vars) { }; xrfragment_URI.parse = function(stringUrl,flags) { var r = new EReg("^(?:(?![^:@]+:[^:@/]*@)([^:/?#.]+):)?(?://)?((?:(([^:@]*)(?::([^:@]*))?)?@)?([^:/?#]*)(?::(\\d*))?)(((/(?:[^?#](?![^?#/]*\\.[^?#/.]+(?:[?#]|$)))*/?)?([^?#/]*))(?:\\?([^#]*))?(?:#(.*))?)",""); - if(stringUrl.indexOf("://") == -1 && stringUrl.charAt(0) != "/") { + if(stringUrl.indexOf("://") == -1 && stringUrl.charAt(0) != "/" && stringUrl.charAt(0) != "#") { stringUrl = "/" + stringUrl; } r.match(stringUrl); @@ -167502,7 +2967,7 @@ xrfragment_URI.toAbsolute = function(url,newUrl) { if(url.directory != null) { directory = url.directory; } - if(newURI.directory != null) { + if(newURI.directory != null && newURI.source.charAt(0) != "#" && newURI.directory.length > 0) { if(newUrl.charAt(0) != "/" && newUrl.indexOf("://") == -1) { var stripRelative_r = new RegExp("\\./.*","".split("u").join("")); directory = directory.replace(stripRelative_r,""); @@ -167512,7 +2977,7 @@ xrfragment_URI.toAbsolute = function(url,newUrl) { } } resultURI.directory = directory; - if(newURI.file != null) { + if(newURI.file != null && newURI.file.length > 0) { resultURI.file = newURI.file; } else { resultURI.file = url.file; @@ -168880,7 +4345,7 @@ xrfragment_URI.template = function(uri,vars) { }; xrfragment_URI.parse = function(stringUrl,flags) { var r = new EReg("^(?:(?![^:@]+:[^:@/]*@)([^:/?#.]+):)?(?://)?((?:(([^:@]*)(?::([^:@]*))?)?@)?([^:/?#]*)(?::(\\d*))?)(((/(?:[^?#](?![^?#/]*\\.[^?#/.]+(?:[?#]|$)))*/?)?([^?#/]*))(?:\\?([^#]*))?(?:#(.*))?)",""); - if(stringUrl.indexOf("://") == -1 && stringUrl.charAt(0) != "/") { + if(stringUrl.indexOf("://") == -1 && stringUrl.charAt(0) != "/" && stringUrl.charAt(0) != "#") { stringUrl = "/" + stringUrl; } r.match(stringUrl); @@ -169064,7 +4529,7 @@ xrfragment_URI.toAbsolute = function(url,newUrl) { if(url.directory != null) { directory = url.directory; } - if(newURI.directory != null) { + if(newURI.directory != null && newURI.source.charAt(0) != "#" && newURI.directory.length > 0) { if(newUrl.charAt(0) != "/" && newUrl.indexOf("://") == -1) { var stripRelative_r = new RegExp("\\./.*","".split("u").join("")); directory = directory.replace(stripRelative_r,""); @@ -169074,7 +4539,7 @@ xrfragment_URI.toAbsolute = function(url,newUrl) { } } resultURI.directory = directory; - if(newURI.file != null) { + if(newURI.file != null && newURI.file.length > 0) { resultURI.file = newURI.file; } else { resultURI.file = url.file; @@ -170442,7 +5907,7 @@ xrfragment_URI.template = function(uri,vars) { }; xrfragment_URI.parse = function(stringUrl,flags) { var r = new EReg("^(?:(?![^:@]+:[^:@/]*@)([^:/?#.]+):)?(?://)?((?:(([^:@]*)(?::([^:@]*))?)?@)?([^:/?#]*)(?::(\\d*))?)(((/(?:[^?#](?![^?#/]*\\.[^?#/.]+(?:[?#]|$)))*/?)?([^?#/]*))(?:\\?([^#]*))?(?:#(.*))?)",""); - if(stringUrl.indexOf("://") == -1 && stringUrl.charAt(0) != "/") { + if(stringUrl.indexOf("://") == -1 && stringUrl.charAt(0) != "/" && stringUrl.charAt(0) != "#") { stringUrl = "/" + stringUrl; } r.match(stringUrl); @@ -170626,7 +6091,7 @@ xrfragment_URI.toAbsolute = function(url,newUrl) { if(url.directory != null) { directory = url.directory; } - if(newURI.directory != null) { + if(newURI.directory != null && newURI.source.charAt(0) != "#" && newURI.directory.length > 0) { if(newUrl.charAt(0) != "/" && newUrl.indexOf("://") == -1) { var stripRelative_r = new RegExp("\\./.*","".split("u").join("")); directory = directory.replace(stripRelative_r,""); @@ -170636,7 +6101,7 @@ xrfragment_URI.toAbsolute = function(url,newUrl) { } } resultURI.directory = directory; - if(newURI.file != null) { + if(newURI.file != null && newURI.file.length > 0) { resultURI.file = newURI.file; } else { resultURI.file = url.file; @@ -172004,7 +7469,7 @@ xrfragment_URI.template = function(uri,vars) { }; xrfragment_URI.parse = function(stringUrl,flags) { var r = new EReg("^(?:(?![^:@]+:[^:@/]*@)([^:/?#.]+):)?(?://)?((?:(([^:@]*)(?::([^:@]*))?)?@)?([^:/?#]*)(?::(\\d*))?)(((/(?:[^?#](?![^?#/]*\\.[^?#/.]+(?:[?#]|$)))*/?)?([^?#/]*))(?:\\?([^#]*))?(?:#(.*))?)",""); - if(stringUrl.indexOf("://") == -1 && stringUrl.charAt(0) != "/") { + if(stringUrl.indexOf("://") == -1 && stringUrl.charAt(0) != "/" && stringUrl.charAt(0) != "#") { stringUrl = "/" + stringUrl; } r.match(stringUrl); @@ -172188,7 +7653,7 @@ xrfragment_URI.toAbsolute = function(url,newUrl) { if(url.directory != null) { directory = url.directory; } - if(newURI.directory != null) { + if(newURI.directory != null && newURI.source.charAt(0) != "#" && newURI.directory.length > 0) { if(newUrl.charAt(0) != "/" && newUrl.indexOf("://") == -1) { var stripRelative_r = new RegExp("\\./.*","".split("u").join("")); directory = directory.replace(stripRelative_r,""); @@ -172198,7 +7663,7 @@ xrfragment_URI.toAbsolute = function(url,newUrl) { } } resultURI.directory = directory; - if(newURI.file != null) { + if(newURI.file != null && newURI.file.length > 0) { resultURI.file = newURI.file; } else { resultURI.file = url.file; @@ -173566,7 +9031,7 @@ xrfragment_URI.template = function(uri,vars) { }; xrfragment_URI.parse = function(stringUrl,flags) { var r = new EReg("^(?:(?![^:@]+:[^:@/]*@)([^:/?#.]+):)?(?://)?((?:(([^:@]*)(?::([^:@]*))?)?@)?([^:/?#]*)(?::(\\d*))?)(((/(?:[^?#](?![^?#/]*\\.[^?#/.]+(?:[?#]|$)))*/?)?([^?#/]*))(?:\\?([^#]*))?(?:#(.*))?)",""); - if(stringUrl.indexOf("://") == -1 && stringUrl.charAt(0) != "/") { + if(stringUrl.indexOf("://") == -1 && stringUrl.charAt(0) != "/" && stringUrl.charAt(0) != "#") { stringUrl = "/" + stringUrl; } r.match(stringUrl); @@ -173750,7 +9215,7 @@ xrfragment_URI.toAbsolute = function(url,newUrl) { if(url.directory != null) { directory = url.directory; } - if(newURI.directory != null) { + if(newURI.directory != null && newURI.source.charAt(0) != "#" && newURI.directory.length > 0) { if(newUrl.charAt(0) != "/" && newUrl.indexOf("://") == -1) { var stripRelative_r = new RegExp("\\./.*","".split("u").join("")); directory = directory.replace(stripRelative_r,""); @@ -173760,7 +9225,7 @@ xrfragment_URI.toAbsolute = function(url,newUrl) { } } resultURI.directory = directory; - if(newURI.file != null) { + if(newURI.file != null && newURI.file.length > 0) { resultURI.file = newURI.file; } else { resultURI.file = url.file; @@ -175128,7 +10593,7 @@ xrfragment_URI.template = function(uri,vars) { }; xrfragment_URI.parse = function(stringUrl,flags) { var r = new EReg("^(?:(?![^:@]+:[^:@/]*@)([^:/?#.]+):)?(?://)?((?:(([^:@]*)(?::([^:@]*))?)?@)?([^:/?#]*)(?::(\\d*))?)(((/(?:[^?#](?![^?#/]*\\.[^?#/.]+(?:[?#]|$)))*/?)?([^?#/]*))(?:\\?([^#]*))?(?:#(.*))?)",""); - if(stringUrl.indexOf("://") == -1 && stringUrl.charAt(0) != "/") { + if(stringUrl.indexOf("://") == -1 && stringUrl.charAt(0) != "/" && stringUrl.charAt(0) != "#") { stringUrl = "/" + stringUrl; } r.match(stringUrl); @@ -175312,7 +10777,7 @@ xrfragment_URI.toAbsolute = function(url,newUrl) { if(url.directory != null) { directory = url.directory; } - if(newURI.directory != null) { + if(newURI.directory != null && newURI.source.charAt(0) != "#" && newURI.directory.length > 0) { if(newUrl.charAt(0) != "/" && newUrl.indexOf("://") == -1) { var stripRelative_r = new RegExp("\\./.*","".split("u").join("")); directory = directory.replace(stripRelative_r,""); @@ -175322,7 +10787,7 @@ xrfragment_URI.toAbsolute = function(url,newUrl) { } } resultURI.directory = directory; - if(newURI.file != null) { + if(newURI.file != null && newURI.file.length > 0) { resultURI.file = newURI.file; } else { resultURI.file = url.file; @@ -176690,7 +12155,7 @@ xrfragment_URI.template = function(uri,vars) { }; xrfragment_URI.parse = function(stringUrl,flags) { var r = new EReg("^(?:(?![^:@]+:[^:@/]*@)([^:/?#.]+):)?(?://)?((?:(([^:@]*)(?::([^:@]*))?)?@)?([^:/?#]*)(?::(\\d*))?)(((/(?:[^?#](?![^?#/]*\\.[^?#/.]+(?:[?#]|$)))*/?)?([^?#/]*))(?:\\?([^#]*))?(?:#(.*))?)",""); - if(stringUrl.indexOf("://") == -1 && stringUrl.charAt(0) != "/") { + if(stringUrl.indexOf("://") == -1 && stringUrl.charAt(0) != "/" && stringUrl.charAt(0) != "#") { stringUrl = "/" + stringUrl; } r.match(stringUrl); @@ -176874,7 +12339,7 @@ xrfragment_URI.toAbsolute = function(url,newUrl) { if(url.directory != null) { directory = url.directory; } - if(newURI.directory != null) { + if(newURI.directory != null && newURI.source.charAt(0) != "#" && newURI.directory.length > 0) { if(newUrl.charAt(0) != "/" && newUrl.indexOf("://") == -1) { var stripRelative_r = new RegExp("\\./.*","".split("u").join("")); directory = directory.replace(stripRelative_r,""); @@ -176884,7 +12349,7 @@ xrfragment_URI.toAbsolute = function(url,newUrl) { } } resultURI.directory = directory; - if(newURI.file != null) { + if(newURI.file != null && newURI.file.length > 0) { resultURI.file = newURI.file; } else { resultURI.file = url.file; diff --git a/dist/xrfragment.py b/dist/xrfragment.py index 12c4992..cc2ff2b 100644 --- a/dist/xrfragment.py +++ b/dist/xrfragment.py @@ -2318,7 +2318,7 @@ class xrfragment_URI: def parse(stringUrl,flags): r = EReg("^(?:(?![^:@]+:[^:@/]*@)([^:/?#.]+):)?(?://)?((?:(([^:@]*)(?::([^:@]*))?)?@)?([^:/?#]*)(?::(\\d*))?)(((/(?:[^?#](?![^?#/]*\\.[^?#/.]+(?:[?#]|$)))*/?)?([^?#/]*))(?:\\?([^#]*))?(?:#(.*))?)","") startIndex = None - if ((((stringUrl.find("://") if ((startIndex is None)) else HxString.indexOfImpl(stringUrl,"://",startIndex))) == -1) and (((("" if ((0 >= len(stringUrl))) else stringUrl[0])) != "/"))): + if (((((stringUrl.find("://") if ((startIndex is None)) else HxString.indexOfImpl(stringUrl,"://",startIndex))) == -1) and (((("" if ((0 >= len(stringUrl))) else stringUrl[0])) != "/"))) and (((("" if ((0 >= len(stringUrl))) else stringUrl[0])) != "#"))): stringUrl = ("/" + ("null" if stringUrl is None else stringUrl)) r.matchObj = python_lib_Re.search(r.pattern,stringUrl) url = xrfragment_URI() @@ -2495,7 +2495,13 @@ class xrfragment_URI: directory = "" if (url.directory is not None): directory = url.directory + tmp = None if (newURI.directory is not None): + _this = newURI.source + tmp = ((("" if ((0 >= len(_this))) else _this[0])) != "#") + else: + tmp = False + if (tmp and ((len(newURI.directory) > 0))): tmp = None if ((("" if ((0 >= len(newUrl))) else newUrl[0])) != "/"): startIndex = None @@ -2509,7 +2515,7 @@ class xrfragment_URI: else: directory = newURI.directory resultURI.directory = directory - if (newURI.file is not None): + if ((newURI.file is not None) and ((len(newURI.file) > 0))): resultURI.file = newURI.file else: resultURI.file = url.file diff --git a/dist/xrfragment.three.js b/dist/xrfragment.three.js index e26ad77..7566b59 100644 --- a/dist/xrfragment.three.js +++ b/dist/xrfragment.three.js @@ -1,5 +1,5 @@ /* - * v0.5.1 generated at Fri Jul 12 05:21:08 PM UTC 2024 + * v0.5.1 generated at Mon Jul 15 02:49:04 PM UTC 2024 * https://xrfragment.org * SPDX-License-Identifier: MPL-2.0 */ @@ -1186,7 +1186,7 @@ xrfragment_URI.template = function(uri,vars) { }; xrfragment_URI.parse = function(stringUrl,flags) { var r = new EReg("^(?:(?![^:@]+:[^:@/]*@)([^:/?#.]+):)?(?://)?((?:(([^:@]*)(?::([^:@]*))?)?@)?([^:/?#]*)(?::(\\d*))?)(((/(?:[^?#](?![^?#/]*\\.[^?#/.]+(?:[?#]|$)))*/?)?([^?#/]*))(?:\\?([^#]*))?(?:#(.*))?)",""); - if(stringUrl.indexOf("://") == -1 && stringUrl.charAt(0) != "/") { + if(stringUrl.indexOf("://") == -1 && stringUrl.charAt(0) != "/" && stringUrl.charAt(0) != "#") { stringUrl = "/" + stringUrl; } r.match(stringUrl); @@ -1370,7 +1370,7 @@ xrfragment_URI.toAbsolute = function(url,newUrl) { if(url.directory != null) { directory = url.directory; } - if(newURI.directory != null) { + if(newURI.directory != null && newURI.source.charAt(0) != "#" && newURI.directory.length > 0) { if(newUrl.charAt(0) != "/" && newUrl.indexOf("://") == -1) { var stripRelative_r = new RegExp("\\./.*","".split("u").join("")); directory = directory.replace(stripRelative_r,""); @@ -1380,7 +1380,7 @@ xrfragment_URI.toAbsolute = function(url,newUrl) { } } resultURI.directory = directory; - if(newURI.file != null) { + if(newURI.file != null && newURI.file.length > 0) { resultURI.file = newURI.file; } else { resultURI.file = url.file; @@ -1937,6 +1937,7 @@ xrf.loadModel = function(model,url,noadd){ let {directory,file,fragment,fileExt} = URI; model.file = URI.file xrf.model = model + xrf.scene = model.scene if( !model.isXRF ) xrf.parseModel(model,url.replace(directory,"")) // this marks the model as an XRF model @@ -2042,6 +2043,9 @@ xrf.navigator.to = (url,flags,loader,data) => { URI.duplicatePos = URI.source == xrf.navigator.URI.source && URI.hasPos URI.hashChange = String(xrf.navigator.URI.fragment||"") != String(URI.fragment||"") let hashbus = xrf.hashbus + + //console.dir({URI1:xrf.navigator.URI,URI2:URI}) + xrf.navigator.URI = URI let {directory,file,fragment,fileExt} = URI; @@ -2498,18 +2502,20 @@ xrf.frag.src = function(v, opts){ if( mesh.isSRC ) return // only embed src once - // correct for relative urls - if( v.string.charAt(0) != '#' && xrf.URI.isRelative( xrf.URI.parse( v.string ) ) ){ - v.string = xrf.navigator.URI.URN + v.string - } - - let url = xrf.frag.src.expandURI( mesh, v.string ) - let srcFrag = opts.srcFrag = xrfragment.URI.parse(url).XRF - opts.isLocal = v.string[0] == '#' opts.isPortal = xrf.frag.src.renderAsPortal(mesh) opts.isSRC = mesh.isSRC = true + // correct for relative urls + let url = v.string + if( v.string.charAt(0) != '#' && xrf.URI.isRelative( xrf.URI.parse( v.string ) ) ){ + url = xrf.navigator.URI.URN + v.string + } + url = xrf.frag.src.expandURI( mesh, url ) + + let srcFrag = opts.srcFrag = xrfragment.URI.parse(url).XRF + + if(xrf.debug) console.log(`src.js: instancing ${opts.isLocal?'local':'remote'} object ${url}`) if( opts.isLocal ){ @@ -3222,7 +3228,7 @@ xrf.addEventListener('dynamicKey', (opts) => { xrf.addEventListener('navigateLoaded', (opts) => { // select active camera if any - let {id,match,v} = opts + let {id,match,v,THREE} = opts let envmap = {} let current = '' @@ -3239,7 +3245,7 @@ xrf.addEventListener('navigateLoaded', (opts) => { // Update the closest ancestor's material map if (node.isMesh && node.material && node.material.map) { closestAncestorMaterialMap = node.material.map.clone(); - closestAncestorMaterialMap.mapping = THREE.EquirectangularReflectionMapping; + closestAncestorMaterialMap.mapping = xrf.THREE.EquirectangularReflectionMapping; closestAncestorMaterialMap.needsUpdate = true } diff --git a/dist/xrfragment.three.module.js b/dist/xrfragment.three.module.js index 54b1d7c..8b70bf4 100644 --- a/dist/xrfragment.three.module.js +++ b/dist/xrfragment.three.module.js @@ -1,5 +1,5 @@ /* - * v0.5.1 generated at Fri Jul 12 05:21:08 PM UTC 2024 + * v0.5.1 generated at Mon Jul 15 02:49:04 PM UTC 2024 * https://xrfragment.org * SPDX-License-Identifier: MPL-2.0 */ @@ -1186,7 +1186,7 @@ xrfragment_URI.template = function(uri,vars) { }; xrfragment_URI.parse = function(stringUrl,flags) { var r = new EReg("^(?:(?![^:@]+:[^:@/]*@)([^:/?#.]+):)?(?://)?((?:(([^:@]*)(?::([^:@]*))?)?@)?([^:/?#]*)(?::(\\d*))?)(((/(?:[^?#](?![^?#/]*\\.[^?#/.]+(?:[?#]|$)))*/?)?([^?#/]*))(?:\\?([^#]*))?(?:#(.*))?)",""); - if(stringUrl.indexOf("://") == -1 && stringUrl.charAt(0) != "/") { + if(stringUrl.indexOf("://") == -1 && stringUrl.charAt(0) != "/" && stringUrl.charAt(0) != "#") { stringUrl = "/" + stringUrl; } r.match(stringUrl); @@ -1370,7 +1370,7 @@ xrfragment_URI.toAbsolute = function(url,newUrl) { if(url.directory != null) { directory = url.directory; } - if(newURI.directory != null) { + if(newURI.directory != null && newURI.source.charAt(0) != "#" && newURI.directory.length > 0) { if(newUrl.charAt(0) != "/" && newUrl.indexOf("://") == -1) { var stripRelative_r = new RegExp("\\./.*","".split("u").join("")); directory = directory.replace(stripRelative_r,""); @@ -1380,7 +1380,7 @@ xrfragment_URI.toAbsolute = function(url,newUrl) { } } resultURI.directory = directory; - if(newURI.file != null) { + if(newURI.file != null && newURI.file.length > 0) { resultURI.file = newURI.file; } else { resultURI.file = url.file; @@ -1937,6 +1937,7 @@ xrf.loadModel = function(model,url,noadd){ let {directory,file,fragment,fileExt} = URI; model.file = URI.file xrf.model = model + xrf.scene = model.scene if( !model.isXRF ) xrf.parseModel(model,url.replace(directory,"")) // this marks the model as an XRF model @@ -2042,6 +2043,9 @@ xrf.navigator.to = (url,flags,loader,data) => { URI.duplicatePos = URI.source == xrf.navigator.URI.source && URI.hasPos URI.hashChange = String(xrf.navigator.URI.fragment||"") != String(URI.fragment||"") let hashbus = xrf.hashbus + + //console.dir({URI1:xrf.navigator.URI,URI2:URI}) + xrf.navigator.URI = URI let {directory,file,fragment,fileExt} = URI; @@ -2498,18 +2502,20 @@ xrf.frag.src = function(v, opts){ if( mesh.isSRC ) return // only embed src once - // correct for relative urls - if( v.string.charAt(0) != '#' && xrf.URI.isRelative( xrf.URI.parse( v.string ) ) ){ - v.string = xrf.navigator.URI.URN + v.string - } - - let url = xrf.frag.src.expandURI( mesh, v.string ) - let srcFrag = opts.srcFrag = xrfragment.URI.parse(url).XRF - opts.isLocal = v.string[0] == '#' opts.isPortal = xrf.frag.src.renderAsPortal(mesh) opts.isSRC = mesh.isSRC = true + // correct for relative urls + let url = v.string + if( v.string.charAt(0) != '#' && xrf.URI.isRelative( xrf.URI.parse( v.string ) ) ){ + url = xrf.navigator.URI.URN + v.string + } + url = xrf.frag.src.expandURI( mesh, url ) + + let srcFrag = opts.srcFrag = xrfragment.URI.parse(url).XRF + + if(xrf.debug) console.log(`src.js: instancing ${opts.isLocal?'local':'remote'} object ${url}`) if( opts.isLocal ){ @@ -3222,7 +3228,7 @@ xrf.addEventListener('dynamicKey', (opts) => { xrf.addEventListener('navigateLoaded', (opts) => { // select active camera if any - let {id,match,v} = opts + let {id,match,v,THREE} = opts let envmap = {} let current = '' @@ -3239,7 +3245,7 @@ xrf.addEventListener('navigateLoaded', (opts) => { // Update the closest ancestor's material map if (node.isMesh && node.material && node.material.map) { closestAncestorMaterialMap = node.material.map.clone(); - closestAncestorMaterialMap.mapping = THREE.EquirectangularReflectionMapping; + closestAncestorMaterialMap.mapping = xrf.THREE.EquirectangularReflectionMapping; closestAncestorMaterialMap.needsUpdate = true } diff --git a/example/model-viewer/index.html b/example/model-viewer/index.html index 0367a45..db7bf1f 100644 --- a/example/model-viewer/index.html +++ b/example/model-viewer/index.html @@ -13,7 +13,6 @@ - +