Edit
Compile time: 06/12/2016 20:24:17 UTC
About / Support Options
Operations

Recipe

Auto Bake
Input
Output

#### Save recipe

Save your recipe to local storage or copy the following string to load later
Recipe name
Data link
Include recipe Include input

#### Load recipe

Load your recipe from local storage or paste it into the box below

#### Options

Please note that these options will persist between sessions.

Update the URL when the input or recipe changes
Highlight selected bytes in output and input (when possible)
Treat output as UTF-8 if possible
Word wrap the input and output
Operation error reporting (recommended)
Operation error timeout in ms (0 for never)
Auto Bake threshold in ms

#### Edit Favourites

- To add: drag the operation over the favourites category
- To reorder: drag up and down in the list below
- To remove: hit the red cross or drag out of the list below

#### CyberChef - The Cyber Swiss Army Knife

Compile time: 06/12/2016 20:24:17 UTC

© Crown Copyright 2016.

Licenced under the Apache Licence, Version 2.0.

> What sort of things can I do with CyberChef?

There are well over 100 operations in CyberChef allowing you to carry simple and complex tasks easily. Here are some examples:

- Decode a Base64-encoded string
- Convert a date and time to a different time zone
- Parse a Teredo IPv6 address
- Convert data from a hexdump, then decompress
- Display multiple timestamps as full dates
- Carry out different operations on data of different types

> Can I load input directly from files?

Yes! Just drag your file over the input box and drop it. The contents of the file will be converted into hexadecimal and the 'From Hex' operation will be added to the beginning of the recipe (if it's not already there). This is so that special characters like carriage returns aren't removed by your browser.

Please note that loading large files is likely to cause a crash. There's not a lot that can be done about this - browsers just aren't very good at handling and displaying large amounts of data.

> How do I run operation X over multiple inputs at once?

Maybe you have 10 timestamps that you want to parse or 16 encoded strings that all have the same key.

The 'Fork' operation (found in the 'Flow control' category) splits up the input line by line and runs all subsequent operations on each line separately. Each output is then displayed on a separate line. These delimiters can be changed, so if your inputs are separated by commas, you can change the split delimiter to a comma instead.

Click here for an example.

If you're a nerd like me, you might find statistics really fun! Here's some about the CyberChef code base:

    202	source files
    104401	lines
    	size

    136	JavaScript source files
    95311	lines
    3.4M	size

    78	third party JavaScript source files
    76377	lines
    2.7M	size

    58	first party JavaScript source files
    18934	lines
    729K	size

    3.1M	uncompressed JavaScript size
    2.0M	compressed JavaScript size

    15	categories
    155	operations

#### What

A simple, intuitive web app for analysing and decoding data without having to deal with complex tools or programming languages. CyberChef encourages both technical and non-technical people to explore data formats, encryption and compression.

#### Why

Digital data comes in all shapes, sizes and formats in the modern world – CyberChef helps to make sense of this data all on one easy-to-use platform.

#### How

The interface is designed with simplicity at its heart. Complex techniques are now as trivial as drag-and-drop. Simple functions can be combined to build up a "recipe", potentially resulting in complex analysis, which can be shared with other users and used with their input.

For those comfortable writing code, CyberChef is a quick and efficient way to prototype solutions to a problem which can then be scripted once proven to work.

#### Who

It is expected that CyberChef will be useful for cybersecurity and antivirus companies. It should also appeal to the academic world and any individuals or companies involved in the analysis of digital data, be that software developers, analysts, mathematicians or casual puzzle solvers.

#### Aim

It is hoped that by releasing CyberChef through GitHub, contributions can be added which can be rolled out into future versions of the tool.

There are around 150 useful operations in CyberChef for anyone working on anything vaguely Internet-related, whether you just want to convert a timestamp to a different format, decompress gzipped data, create a SHA3 hash, or parse an X.509 certificate to find out who issued it.

It’s the Cyber Swiss Army Knife.

####

About / Support Options
Operations

Recipe

Auto Bake
Input
Output

#### Save recipe

Save your recipe to local storage or copy the following string to load later
Recipe name
Data link
Include recipe Include input

#### Load recipe

Load your recipe from local storage or paste it into the box below

#### Options

Please note that these options will persist between sessions.

Update the URL when the input or recipe changes
Highlight selected bytes in output and input (when possible)
Treat output as UTF-8 if possible
Word wrap the input and output
Operation error reporting (recommended)
Operation error timeout in ms (0 for never)
Auto Bake threshold in ms

#### Edit Favourites

- To add: drag the operation over the favourites category
- To reorder: drag up and down in the list below
- To remove: hit the red cross or drag out of the list below

#### CyberChef - The Cyber Swiss Army Knife

Compile time: 08/12/2016 00:33:37 UTC

© Crown Copyright 2016.

Licenced under the Apache Licence, Version 2.0.

> What sort of things can I do with CyberChef?

There are well over 100 operations in CyberChef allowing you to carry simple and complex tasks easily. Here are some examples:

- Decode a Base64-encoded string
- Convert a date and time to a different time zone
- Parse a Teredo IPv6 address
- Convert data from a hexdump, then decompress
- Display multiple timestamps as full dates
- Carry out different operations on data of different types

> Can I load input directly from files?

Yes! Just drag your file over the input box and drop it. The contents of the file will be converted into hexadecimal and the 'From Hex' operation will be added to the beginning of the recipe (if it's not already there). This is so that special characters like carriage returns aren't removed by your browser.

Please note that loading large files is likely to cause a crash. There's not a lot that can be done about this - browsers just aren't very good at handling and displaying large amounts of data.

> How do I run operation X over multiple inputs at once?

Maybe you have 10 timestamps that you want to parse or 16 encoded strings that all have the same key.

The 'Fork' operation (found in the 'Flow control' category) splits up the input line by line and runs all subsequent operations on each line separately. Each output is then displayed on a separate line. These delimiters can be changed, so if your inputs are separated by commas, you can change the split delimiter to a comma instead.

Click here for an example.

If you're a nerd like me, you might find statistics really fun! Here's some about the CyberChef code base:

    202	source files
    104281	lines
    4.0M	size

    136	JavaScript source files
    95191	lines
    3.5M	size

    78	third party JavaScript source files
    76377	lines
    2.7M	size

    58	first party JavaScript source files
    18814	lines
    728K	size

    3.2M	uncompressed JavaScript size
    1.7M	compressed JavaScript size

    15	categories
    153	operations

#### What

A simple, intuitive web app for analysing and decoding data without having to deal with complex tools or programming languages. CyberChef encourages both technical and non-technical people to explore data formats, encryption and compression.

#### Why

Digital data comes in all shapes, sizes and formats in the modern world – CyberChef helps to make sense of this data all on one easy-to-use platform.

#### How

The interface is designed with simplicity at its heart. Complex techniques are now as trivial as drag-and-drop. Simple functions can be combined to build up a "recipe", potentially resulting in complex analysis, which can be shared with other users and used with their input.

For those comfortable writing code, CyberChef is a quick and efficient way to prototype solutions to a problem which can then be scripted once proven to work.

#### Who

It is expected that CyberChef will be useful for cybersecurity and antivirus companies. It should also appeal to the academic world and any individuals or companies involved in the analysis of digital data, be that software developers, analysts, mathematicians or casual puzzle solvers.

#### Aim

It is hoped that by releasing CyberChef through GitHub, contributions can be added which can be rolled out into future versions of the tool.

There are around 150 useful operations in CyberChef for anyone working on anything vaguely Internet-related, whether you just want to convert a timestamp to a different format, decompress gzipped data, create a SHA3 hash, or parse an X.509 certificate to find out who issued it.

It’s the Cyber Swiss Army Knife.

####

About / Support Options
Operations

Recipe

Auto Bake
Input
Output

#### Save recipe

Save your recipe to local storage or copy the following string to load later
Recipe name
Data link
Include recipe Include input

#### Load recipe

Load your recipe from local storage or paste it into the box below

#### Options

Please note that these options will persist between sessions.

Update the URL when the input or recipe changes
Highlight selected bytes in output and input (when possible)
Treat output as UTF-8 if possible
Word wrap the input and output
Operation error reporting (recommended)
Operation error timeout in ms (0 for never)
Auto Bake threshold in ms

#### Edit Favourites

- To add: drag the operation over the favourites category
- To reorder: drag up and down in the list below
- To remove: hit the red cross or drag out of the list below

#### CyberChef - The Cyber Swiss Army Knife

Compile time: 14/12/2016 16:37:29 UTC

© Crown Copyright 2016.

Licenced under the Apache Licence, Version 2.0.

> What sort of things can I do with CyberChef?

There are well over 100 operations in CyberChef allowing you to carry simple and complex tasks easily. Here are some examples:

- Decode a Base64-encoded string
- Convert a date and time to a different time zone
- Parse a Teredo IPv6 address
- Convert data from a hexdump, then decompress
- Display multiple timestamps as full dates
- Carry out different operations on data of different types

> Can I load input directly from files?

Yes! Just drag your file over the input box and drop it. The contents of the file will be converted into hexadecimal and the 'From Hex' operation will be added to the beginning of the recipe (if it's not already there). This is so that special characters like carriage returns aren't removed by your browser.

Please note that loading large files is likely to cause a crash. There's not a lot that can be done about this - browsers just aren't very good at handling and displaying large amounts of data.

> How do I run operation X over multiple inputs at once?

Maybe you have 10 timestamps that you want to parse or 16 encoded strings that all have the same key.

The 'Fork' operation (found in the 'Flow control' category) splits up the input line by line and runs all subsequent operations on each line separately. Each output is then displayed on a separate line. These delimiters can be changed, so if your inputs are separated by commas, you can change the split delimiter to a comma instead.

Click here for an example.

If you're a nerd like me, you might find statistics really fun! Here's some about the CyberChef code base:

    203	source files
    104410	lines
    4.0M	size

    136	JavaScript source files
    95314	lines
    3.5M	size

    78	third party JavaScript source files
    76377	lines
    2.7M	size

    58	first party JavaScript source files
    18937	lines
    728K	size

    3.2M	uncompressed JavaScript size
    	compressed JavaScript size

    15	categories
    155	operations

#### What

A simple, intuitive web app for analysing and decoding data without having to deal with complex tools or programming languages. CyberChef encourages both technical and non-technical people to explore data formats, encryption and compression.

#### Why

Digital data comes in all shapes, sizes and formats in the modern world – CyberChef helps to make sense of this data all on one easy-to-use platform.

#### How

The interface is designed with simplicity at its heart. Complex techniques are now as trivial as drag-and-drop. Simple functions can be combined to build up a "recipe", potentially resulting in complex analysis, which can be shared with other users and used with their input.

For those comfortable writing code, CyberChef is a quick and efficient way to prototype solutions to a problem which can then be scripted once proven to work.

#### Who

It is expected that CyberChef will be useful for cybersecurity and antivirus companies. It should also appeal to the academic world and any individuals or companies involved in the analysis of digital data, be that software developers, analysts, mathematicians or casual puzzle solvers.

#### Aim

It is hoped that by releasing CyberChef through GitHub, contributions can be added which can be rolled out into future versions of the tool.

There are around 150 useful operations in CyberChef for anyone working on anything vaguely Internet-related, whether you just want to convert a timestamp to a different format, decompress gzipped data, create a SHA3 hash, or parse an X.509 certificate to find out who issued it.

It’s the Cyber Swiss Army Knife.

####

About / Support Options
Operations

Recipe

Auto Bake
Input
Output

#### Save recipe

Save your recipe to local storage or copy the following string to load later
Recipe name
Data link
Include recipe Include input

#### Load recipe

Load your recipe from local storage or paste it into the box below

#### Options

Please note that these options will persist between sessions.

Update the URL when the input or recipe changes
Highlight selected bytes in output and input (when possible)
Treat output as UTF-8 if possible
Word wrap the input and output
Operation error reporting (recommended)
Operation error timeout in ms (0 for never)
Auto Bake threshold in ms

#### Edit Favourites

- To add: drag the operation over the favourites category
- To reorder: drag up and down in the list below
- To remove: hit the red cross or drag out of the list below

#### CyberChef - The Cyber Swiss Army Knife

Compile time: 31/01/2017 18:23:14 UTC

© Crown Copyright 2016.

Licenced under the Apache Licence, Version 2.0.

> What sort of things can I do with CyberChef?

There are well over 100 operations in CyberChef allowing you to carry simple and complex tasks easily. Here are some examples:

- Decode a Base64-encoded string
- Convert a date and time to a different time zone
- Parse a Teredo IPv6 address
- Convert data from a hexdump, then decompress
- Display multiple timestamps as full dates
- Carry out different operations on data of different types

> Can I load input directly from files?

Yes! Just drag your file over the input box and drop it. The contents of the file will be converted into hexadecimal and the 'From Hex' operation will be added to the beginning of the recipe (if it's not already there). This is so that special characters like carriage returns aren't removed by your browser.

Please note that loading large files is likely to cause a crash. There's not a lot that can be done about this - browsers just aren't very good at handling and displaying large amounts of data.

> How do I run operation X over multiple inputs at once?

Maybe you have 10 timestamps that you want to parse or 16 encoded strings that all have the same key.

The 'Fork' operation (found in the 'Flow control' category) splits up the input line by line and runs all subsequent operations on each line separately. Each output is then displayed on a separate line. These delimiters can be changed, so if your inputs are separated by commas, you can change the split delimiter to a comma instead.

Click here for an example.

If you're a nerd like me, you might find statistics really fun! Here's some about the CyberChef code base:

    211	source files
    114839	lines
    4.3M	size

    141	JavaScript source files
    105679	lines
    3.7M	size

    83	third party JavaScript source files
    86258	lines
    3.0M	size

    58	first party JavaScript source files
    19421	lines
    732K	size

    3.4M	uncompressed JavaScript size
    1.9M	compressed JavaScript size

    15	categories
    165	operations

#### What

A simple, intuitive web app for analysing and decoding data without having to deal with complex tools or programming languages. CyberChef encourages both technical and non-technical people to explore data formats, encryption and compression.

#### Why

Digital data comes in all shapes, sizes and formats in the modern world – CyberChef helps to make sense of this data all on one easy-to-use platform.

#### How

The interface is designed with simplicity at its heart. Complex techniques are now as trivial as drag-and-drop. Simple functions can be combined to build up a "recipe", potentially resulting in complex analysis, which can be shared with other users and used with their input.

For those comfortable writing code, CyberChef is a quick and efficient way to prototype solutions to a problem which can then be scripted once proven to work.

#### Who

It is expected that CyberChef will be useful for cybersecurity and antivirus companies. It should also appeal to the academic world and any individuals or companies involved in the analysis of digital data, be that software developers, analysts, mathematicians or casual puzzle solvers.

#### Aim

It is hoped that by releasing CyberChef through GitHub, contributions can be added which can be rolled out into future versions of the tool.

There are around 150 useful operations in CyberChef for anyone working on anything vaguely Internet-related, whether you just want to convert a timestamp to a different format, decompress gzipped data, create a SHA3 hash, or parse an X.509 certificate to find out who issued it.

It’s the Cyber Swiss Army Knife.

####

======= var c=b[0]/32,d=b[1],e=CryptoJS.enc.Hex.parse(b[2]||""),f=b[3],g=b[4],h=Utils.format[f].parse(a),i=CryptoJS.EvpKDF(h,e,{keySize:c,iterations:d});return i.toString(Utils.format[g])},run_rc4:function(a,b){var c=Utils.format[b[1]].parse(a),d=Utils.format[b[0].option].parse(b[0].string),e=CryptoJS.RC4.encrypt(c,d);return e.ciphertext.toString(Utils.format[b[2]])},RC4DROP_BYTES:768,run_rc4drop:function(a,b){var c=Utils.format[b[1]].parse(a),d=Utils.format[b[0].option].parse(b[0].string),e=b[3],f=CryptoJS.RC4Drop.encrypt(c,d,{drop:e});return f.ciphertext.toString(Utils.format[b[2]])},run_vigenere_enc:function(a,b){var c,d,e,f="abcdefghijklmnopqrstuvwxyz",g=b[0].toLowerCase(),h="",i=0;if(!g)return"No key entered";if(!/^[a-zA-Z]+$/.test(g))return"The key must consist only of letters";for(var j=0;j=0?(e=g[(j-i)%g.length],c=f.indexOf(e),d=f.indexOf(a[j]),h+=f[(c+d)%26]):f.indexOf(a[j].toLowerCase())>=0?(e=g[(j-i)%g.length].toLowerCase(),c=f.indexOf(e),d=f.indexOf(a[j].toLowerCase()),h+=f[(c+d)%26].toUpperCase()):(h+=a[j],i++);return h},run_vigenere_dec:function(a,b){var c,d,e,f="abcdefghijklmnopqrstuvwxyz",g=b[0].toLowerCase(),h="",i=0;if(!g)return"No key entered";if(!/^[a-zA-Z]+$/.test(g))return"The key must consist only of letters";for(var j=0;j=0?(e=g[(j-i)%g.length],c=f.indexOf(e),d=f.indexOf(a[j]),h+=f[(d-c+f.length)%26]):f.indexOf(a[j].toLowerCase())>=0?(e=g[(j-i)%g.length].toLowerCase(),c=f.indexOf(e),d=f.indexOf(a[j].toLowerCase()),h+=f[(d+f.length-c)%26].toUpperCase()):(h+=a[j],i++);return h}};CryptoJS.kdf.OpenSSL.execute=function(a,b,c,d){void 0!==d&&null!==d||(d=CryptoJS.lib.WordArray.random(8));var e=CryptoJS.algo.EvpKDF.create({keySize:b+c}).compute(a,d),f=CryptoJS.lib.WordArray.create(e.words.slice(b),4*c);return e.sigBytes=4*b,CryptoJS.lib.CipherParams.create({key:e,iv:f,salt:d})};var Code={LANGUAGES:["default-code","default-markup","bash","bsh","c","cc","coffee","cpp","cs","csh","cv","cxx","cyc","htm","html","in.tag","java","javascript","js","json","m","mxml","perl","pl","pm","py","python","rb","rc","rs","ruby","rust","sh","uq.val","xhtml","xml","xsl"],LINE_NUMS:!1,run_syntax_highlight:function(a,b){var c=b[0],d=b[1];return"`"+prettyPrintOne(Utils.escape_html(a),c,d)+"`"},BEAUTIFY_INDENT:"\\t",run_xml_beautify:function(a,b){var c=b[0];return vkbeautify.xml(a,c)},run_json_beautify:function(a,b){var c=b[0];return a?vkbeautify.json(a,c):""},run_css_beautify:function(a,b){var c=b[0];return vkbeautify.css(a,c)},run_sql_beautify:function(a,b){var c=b[0];return vkbeautify.sql(a,c)},PRESERVE_COMMENTS:!1,run_xml_minify:function(a,b){var c=b[0];return vkbeautify.xmlmin(a,c)},run_json_minify:function(a,b){return a?vkbeautify.jsonmin(a):""},run_css_minify:function(a,b){var c=b[0];return vkbeautify.cssmin(a,c)},run_sql_minify:function(a,b){return vkbeautify.sqlmin(a)},run_generic_beautify:function(a,b){function c(a,b,c){return g[c]=b[0],a.substring(0,b.index)+"###preserved_token"+c+"###"+a.substring(b.index+b[0].length)}for(var d,e=a,f=0,g=[],h=/'([^'\\]|\\.)*'/g;d=h.exec(e);)e=c(e,d,f++),h.lastIndex=d.index;for(var i=/"([^"\\]|\\.)*"/g;d=i.exec(e);)e=c(e,d,f++),i.lastIndex=d.index;for(var j=/\/\/[^\n\r]*/g;d=j.exec(e);)e=c(e,d,f++),j.lastIndex=d.index;for(var k=/\/\*[\s\S]*?\*\//gm;d=k.exec(e);)e=c(e,d,f++),k.lastIndex=d.index;for(var l=/(^|\n)#[^\n\r#]+/g;d=l.exec(e);)e=c(e,d,f++),l.lastIndex=d.index;for(var m=/\/.*?[^\\]\/[gim]{0,3}/gi;d=m.exec(e);)e=c(e,d,f++),m.lastIndex=d.index;e=e.replace(/;/g,";\n"),e=e.replace(/{/g,"{\n"),e=e.replace(/}/g,"\n}\n"),e=e.replace(/\r/g,""),e=e.replace(/^\s+/g,""),e=e.replace(/\n\s+/g,"\n"),e=e.replace(/\s*$/g,""),e=e.replace(/\n{/g,"{");for(var n=0,o=0;n=e.length)break;"}"==e[n+1]&&o--;var p=o>=0?Array(4*o+1).join(" "):"";e=e.substring(0,n+1)+p+e.substring(n+1),o>0&&(n+=4*o)}n++}e=e.replace(/\s*([!<>=+-\/*]?)=\s*/g," $1= "),e=e.replace(/\s*<([=]?)\s*/g," <$1 "),e=e.replace(/\s*>([=]?)\s*/g," >$1 "),e=e.replace(/([^+])\+([^+=])/g,"$1 + $2"),e=e.replace(/([^-])-([^-=])/g,"$1 - $2"),e=e.replace(/([^*])\*([^*=])/g,"$1 * $2"),e=e.replace(/([^\/])\/([^\/=])/g,"$1 / $2"),e=e.replace(/\s*,\s*/g,", "),e=e.replace(/\s*{/g," {"),e=e.replace(/}\n/g,"}\n\n"),e=e.replace(/(if|for|while|with|elif|elseif)\s*\(([^\n]*)\)\s*\n([^{])/gim,"$1 ($2)\n $3"),e=e.replace(/(if|for|while|with|elif|elseif)\s*\(([^\n]*)\)([^{])/gim,"$1 ($2) $3"),e=e.replace(/else\s*\n([^{])/gim,"else\n $1"),e=e.replace(/else\s+([^{])/gim,"else $1"),e=e.replace(/\s+;/g,";"),e=e.replace(/\{\s+\}/g,"{}"),e=e.replace(/\[\s+\]/g,"[]"),e=e.replace(/}\s*(else|catch|except|finally|elif|elseif|else if)/gi,"} $1");for(var q=/###preserved_token(\d+)###/g;d=q.exec(e);){var r=parseInt(d[1]);e=e.substring(0,d.index)+g[r]+e.substring(d.index+d[0].length),q.lastIndex=d.index}return e}},Compress={COMPRESSION_TYPE:["Dynamic Huffman Coding","Fixed Huffman Coding","None (Store)"],INFLATE_BUFFER_TYPE:["Adaptive","Block"],COMPRESSION_METHOD:["Deflate","None (Store)"],OS:["MSDOS","Unix","Macintosh"],RAW_COMPRESSION_TYPE_LOOKUP:{"Fixed Huffman Coding":Zlib.RawDeflate.CompressionType.FIXED,"Dynamic Huffman Coding":Zlib.RawDeflate.CompressionType.DYNAMIC,"None (Store)":Zlib.RawDeflate.CompressionType.NONE},run_raw_deflate:function(a,b){var c=new Zlib.RawDeflate(a,{compressionType:Compress.RAW_COMPRESSION_TYPE_LOOKUP[b[0]]});return Array.prototype.slice.call(c.compress())},INFLATE_INDEX:0,INFLATE_BUFFER_SIZE:0,INFLATE_RESIZE:!1,INFLATE_VERIFY:!1,RAW_BUFFER_TYPE_LOOKUP:{Adaptive:Zlib.RawInflate.BufferType.ADAPTIVE,Block:Zlib.RawInflate.BufferType.BLOCK},run_raw_inflate:function(a,b){a=Utils.str_to_byte_array(Utils.byte_array_to_utf8(a));var c=new Zlib.RawInflate(a,{index:b[0],bufferSize:b[1],bufferType:Compress.RAW_BUFFER_TYPE_LOOKUP[b[2]],resize:b[3],verify:b[4]}),d=Array.prototype.slice.call(c.decompress());if(d.length>158&&93==d[0]&&93==d[5]){for(var e=!1,f=0;f<155;f+=5)93!=d[f]&&(e=!0);if(!e)throw"Error: Unable to inflate data"}return d},ZLIB_COMPRESSION_TYPE_LOOKUP:{"Fixed Huffman Coding":Zlib.Deflate.CompressionType.FIXED,"Dynamic Huffman Coding":Zlib.Deflate.CompressionType.DYNAMIC,"None (Store)":Zlib.Deflate.CompressionType.NONE},run_zlib_deflate:function(a,b){var c=new Zlib.Deflate(a,{compressionType:Compress.ZLIB_COMPRESSION_TYPE_LOOKUP[b[0]]});return Array.prototype.slice.call(c.compress())},ZLIB_BUFFER_TYPE_LOOKUP:{Adaptive:Zlib.Inflate.BufferType.ADAPTIVE,Block:Zlib.Inflate.BufferType.BLOCK},run_zlib_inflate:function(a,b){a=Utils.str_to_byte_array(Utils.byte_array_to_utf8(a));var c=new Zlib.Inflate(a,{index:b[0],bufferSize:b[1],bufferType:Compress.ZLIB_BUFFER_TYPE_LOOKUP[b[2]],resize:b[3],verify:b[4]});return Array.prototype.slice.call(c.decompress())},GZIP_CHECKSUM:!1,run_gzip:function(a,b){var c=b[1],d=b[2],e={deflateOptions:{compressionType:Compress.ZLIB_COMPRESSION_TYPE_LOOKUP[b[0]]},flags:{fhcrc:b[3]}};c.length&&(e.flags.fname=!0,e.filename=c),d.length&&(e.flags.fcommenct=!0,e.comment=d);var f=new Zlib.Gzip(a,e);return Array.prototype.slice.call(f.compress())},run_gunzip:function(a,b){a=Utils.str_to_byte_array(Utils.byte_array_to_utf8(a));var c=new Zlib.Gunzip(a);return Array.prototype.slice.call(c.decompress())},PKZIP_FILENAME:"file.txt",ZIP_COMPRESSION_METHOD_LOOKUP:{Deflate:Zlib.Zip.CompressionMethod.DEFLATE,"None (Store)":Zlib.Zip.CompressionMethod.STORE},ZIP_OS_LOOKUP:{MSDOS:Zlib.Zip.OperatingSystem.MSDOS,Unix:Zlib.Zip.OperatingSystem.UNIX,Macintosh:Zlib.Zip.OperatingSystem.MACINTOSH},run_pkzip:function(a,b){var c=Utils.str_to_byte_array(b[2]),d={filename:Utils.str_to_byte_array(b[0]),comment:Utils.str_to_byte_array(b[1]),compressionMethod:Compress.ZIP_COMPRESSION_METHOD_LOOKUP[b[3]],os:Compress.ZIP_OS_LOOKUP[b[4]],deflateOption:{compressionType:Compress.ZLIB_COMPRESSION_TYPE_LOOKUP[b[5]]}},e=new Zlib.Zip;return c.length&&e.setPassword(c),e.addFile(a,d),Array.prototype.slice.call(e.compress())},PKUNZIP_VERIFY:!1,run_pkunzip:function(a,b){var c={password:Utils.str_to_byte_array(b[0]),verify:b[1]},d="",e=new Zlib.Unzip(a,c),f=e.getFilenames(),g="
"+f.length+" file(s) found
\n";g+="
",window.uzip=e;for(var h=0;h

#### "+f[h]+""+d.length.toLocaleString()+" bytes

"+Utils.escape_html(d)+"
";return g+""},run_bzip2_decompress:function(a,b){var c,d=new Uint8Array(a),e="";return c=bzip2.array(d),e=bzip2.simple(c)}},Convert={DISTANCE_UNITS:["[Metric]","Nanometres (nm)","Micrometres (\xb5m)","Millimetres (mm)","Centimetres (cm)","Metres (m)","Kilometers (km)","[/Metric]","[Imperial]","Thou (th)","Inches (in)","Feet (ft)","Yards (yd)","Chains (ch)","Furlongs (fur)","Miles (mi)","Leagues (lea)","[/Imperial]","[Maritime]","Fathoms (ftm)","Cables","Nautical miles","[/Maritime]","[Comparisons]","Cars (4m)","Buses (8.4m)","American football fields (91m)","Football pitches (105m)","[/Comparisons]","[Astronomical]","Earth-to-Moons","Earth's equators","Astronomical units (au)","Light-years (ly)","Parsecs (pc)","[/Astronomical]"],DISTANCE_FACTOR:{"Nanometres (nm)":1e-9,"Micrometres (\xb5m)":1e-6,"Millimetres (mm)":.001,"Centimetres (cm)":.01,"Metres (m)":1,"Kilometers (km)":1e3,"Thou (th)":254e-7,"Inches (in)":.0254,"Feet (ft)":.3048,"Yards (yd)":.9144,"Chains (ch)":20.1168,"Furlongs (fur)":201.168,"Miles (mi)":1609.344,"Leagues (lea)":4828.032,"Fathoms (ftm)":1.853184,Cables:185.3184,"Nautical miles":1853.184,"Cars (4m)":4,"Buses (8.4m)":8.4,"American football fields (91m)":91,"Football pitches (105m)":105,"Earth-to-Moons":38e7,"Earth's equators":40075016.686,"Astronomical units (au)":149597870700,"Light-years (ly)":9460730472580800,"Parsecs (pc)":30856776e9},run_distance:function(a,b){var c=b[0],d=b[1];return a*=Convert.DISTANCE_FACTOR[c],a/Convert.DISTANCE_FACTOR[d]},DATA_UNITS:["Bits (b)","Nibbles","Octets","Bytes (B)","[Binary bits (2^n)]","Kibibits (Kib)","Mebibits (Mib)","Gibibits (Gib)","Tebibits (Tib)","Pebibits (Pib)","Exbibits (Eib)","Zebibits (Zib)","Yobibits (Yib)","[/Binary bits (2^n)]","[Decimal bits (10^n)]","Decabits","Hectobits","Kilobits (kb)","Megabits (Mb)","Gigabits (Gb)","Terabits (Tb)","Petabits (Pb)","Exabits (Eb)","Zettabits (Zb)","Yottabits (Yb)","[/Decimal bits (10^n)]","[Binary bytes (8 x 2^n)]","Kibibytes (KiB)","Mebibytes (MiB)","Gibibytes (GiB)","Tebibytes (TiB)","Pebibytes (PiB)","Exbibytes (EiB)","Zebibytes (ZiB)","Yobibytes (YiB)","[/Binary bytes (8 x 2^n)]","[Decimal bytes (8 x 10^n)]","Kilobytes (KB)","Megabytes (MB)","Gigabytes (GB)","Terabytes (TB)","Petabytes (PB)","Exabytes (EB)","Zettabytes (ZB)","Yottabytes (YB)","[/Decimal bytes (8 x 10^n)]"],DATA_FACTOR:{"Bits (b)":1,Nibbles:4,Octets:8,"Bytes (B)":8,"Kibibits (Kib)":1024,"Mebibits (Mib)":1048576,"Gibibits (Gib)":1073741824,"Tebibits (Tib)":1099511627776,"Pebibits (Pib)":0x4000000000000,"Exbibits (Eib)":0x1000000000000000,"Zebibits (Zib)":0x400000000000000000,"Yobibits (Yib)":1.2089258196146292e24,Decabits:10,Hectobits:100,"Kilobits (Kb)":1e3,"Megabits (Mb)":1e6,"Gigabits (Gb)":1e9,"Terabits (Tb)":1e12,"Petabits (Pb)":1e15,"Exabits (Eb)":1e18,"Zettabits (Zb)":1e21,"Yottabits (Yb)":1e24,"Kibibytes (KiB)":8192,"Mebibytes (MiB)":8388608,"Gibibytes (GiB)":8589934592,"Tebibytes (TiB)":8796093022208,"Pebibytes (PiB)":9007199254740992,"Exbibytes (EiB)":0x8000000000000000,"Zebibytes (ZiB)":9.44473296573929e21,"Yobibytes (YiB)":9.671406556917033e24,"Kilobytes (KB)":8e3,"Megabytes (MB)":8e6,"Gigabytes (GB)":8e9,"Terabytes (TB)":8e12,"Petabytes (PB)":8e15,"Exabytes (EB)":8e18,"Zettabytes (ZB)":8e21,"Yottabytes (YB)":8e24},run_data_size:function(a,b){var c=b[0],d=b[1];return a*=Convert.DATA_FACTOR[c],a/Convert.DATA_FACTOR[d]},AREA_UNITS:["[Metric]","Square metre (sq m)","Square kilometre (sq km)","Centiare (ca)","Deciare (da)","Are (a)","Decare (daa)","Hectare (ha)","[/Metric]","[Imperial]","Square inch (sq in)","Square foot (sq ft)","Square yard (sq yd)","Square mile (sq mi)","Perch (sq per)","Rood (ro)","International acre (ac)","[/Imperial]","[US customary units]","US survey acre (ac)","US survey square mile (sq mi)","US survey township","[/US customary units]","[Nuclear physics]","Yoctobarn (yb)","Zeptobarn (zb)","Attobarn (ab)","Femtobarn (fb)","Picobarn (pb)","Nanobarn (nb)","Microbarn (\u03bcb)","Millibarn (mb)","Barn (b)","Kilobarn (kb)","Megabarn (Mb)","Outhouse","Shed","Planck area","[/Nuclear physics]","[Comparisons]","Washington D.C.","Isle of Wight","Wales","Texas","[/Comparisons]"],AREA_FACTOR:{"Square metre (sq m)":1,"Square kilometre (sq km)":1e6,"Centiare (ca)":1,"Deciare (da)":10,"Are (a)":100,"Decare (daa)":1e3,"Hectare (ha)":1e4,"Square inch (sq in)":64516e-8,"Square foot (sq ft)":.09290304,"Square yard (sq yd)":.83612736,"Square mile (sq mi)":2589988.110336,"Perch (sq per)":42.21,"Rood (ro)":1011,"International acre (ac)":4046.8564224,"US survey acre (ac)":4046.87261,"US survey square mile (sq mi)":2589998.470305239,"US survey township":93239944.9309886,"Yoctobarn (yb)":1e-52,"Zeptobarn (zb)":1e-49,"Attobarn (ab)":1e-46,"Femtobarn (fb)":1e-43,"Picobarn (pb)":1e-40,"Nanobarn (nb)":1e-37,"Microbarn (\u03bcb)":1e-34,"Millibarn (mb)":1e-31,"Barn (b)":1e-28,"Kilobarn (kb)":1e-25,"Megabarn (Mb)":1e-22,"Planck area":2.6e-70,Shed:1e-52,Outhouse:1e-34,"Washington D.C.":176119191.502848,"Isle of Wight":38e7,Wales:20779e6,Texas:696241e6},run_area:function(a,b){var c=b[0],d=b[1];return a*=Convert.AREA_FACTOR[c],a/Convert.AREA_FACTOR[d]},MASS_UNITS:["[Metric]","Yoctogram (yg)","Zeptogram (zg)","Attogram (ag)","Femtogram (fg)","Picogram (pg)","Nanogram (ng)","Microgram (\u03bcg)","Milligram (mg)","Centigram (cg)","Decigram (dg)","Gram (g)","Decagram (dag)","Hectogram (hg)","Kilogram (kg)","Megagram (Mg)","Tonne (t)","Gigagram (Gg)","Teragram (Tg)","Petagram (Pg)","Exagram (Eg)","Zettagram (Zg)","Yottagram (Yg)","[/Metric]","[Imperial Avoirdupois]","Grain (gr)","Dram (dr)","Ounce (oz)","Pound (lb)","Nail","Stone (st)","Quarter (gr)","Tod","US hundredweight (cwt)","Imperial hundredweight (cwt)","US ton (t)","Imperial ton (t)","[/Imperial Avoirdupois]","[Imperial Troy]","Grain (gr)","Pennyweight (dwt)","Troy dram (dr t)","Troy ounce (oz t)","Troy pound (lb t)","Mark","[/Imperial Troy]","[Archaic]","Wey","Wool wey","Suffolk wey","Wool sack","Coal sack","Load","Last","Flax or feather last","Gunpowder last","Picul","Rice last","[/Archaic]","[Comparisons]","Big Ben (14 tonnes)","Blue whale (180 tonnes)","International Space Station (417 tonnes)","Space Shuttle (2,041 tonnes)","RMS Titanic (52,000 tonnes)","Great Pyramid of Giza (6,000,000 tonnes)","Earth's oceans (1.4 yottagrams)","[/Comparisons]","[Astronomical]","A teaspoon of neutron star (5,500 million tonnes)","Lunar mass (ML)","Earth mass (M\u2295)","Jupiter mass (MJ)","Solar mass (M\u2609)","Sagittarius A* (7.5 x 10^36 kgs-ish)","Milky Way galaxy (1.2 x 10^42 kgs)","The observable universe (1.45 x 10^53 kgs)","[/Astronomical]"],MASS_FACTOR:{"Yoctogram (yg)":1e-24,"Zeptogram (zg)":1e-21,"Attogram (ag)":1e-18,"Femtogram (fg)":1e-15,"Picogram (pg)":1e-12,"Nanogram (ng)":1e-9,"Microgram (\u03bcg)":1e-6,"Milligram (mg)":.001,"Centigram (cg)":.01,"Decigram (dg)":.1,"Gram (g)":1,"Decagram (dag)":10,"Hectogram (hg)":100,"Kilogram (kg)":1e3,"Megagram (Mg)":1e6,"Tonne (t)":1e6,"Gigagram (Gg)":1e9,"Teragram (Tg)":1e12,"Petagram (Pg)":1e15,"Exagram (Eg)":1e18,"Zettagram (Zg)":1e21,"Yottagram (Yg)":1e24,"Grain (gr)":.06479891,"Dram (dr)":1.7718451953125,"Ounce (oz)":28.349523125,"Pound (lb)":453.59237,Nail:3175.14659,"Stone (st)":6350.29318,"Quarter (gr)":12700.58636,Tod:12700.58636,"US hundredweight (cwt)":45359.237,"Imperial hundredweight (cwt)":50802.34544,"US ton (t)":907184.74,"Imperial ton (t)":1016046.9088,"Pennyweight (dwt)":1.55517384,"Troy dram (dr t)":3.8879346,"Troy ounce (oz t)":31.1034768,"Troy pound (lb t)":373.2417216,Mark:248.8278144,Wey:76500,"Wool wey":101700,"Suffolk wey":161500,"Wool sack":153e3,"Coal sack":50802.34544,Load:918e3,Last:1836e3,"Flax or feather last":77e4,"Gunpowder last":109e4,Picul:60478.982,"Rice last":12e5,"Big Ben (14 tonnes)":14e6,"Blue whale (180 tonnes)":18e7,"International Space Station (417 tonnes)":417e6,"Space Shuttle (2,041 tonnes)":2041e6,"RMS Titanic (52,000 tonnes)":52e9,"Great Pyramid of Giza (6,000,000 tonnes)":6e12,"Earth's oceans (1.4 yottagrams)":1.4e24,"A teaspoon of neutron star (5,500 million tonnes)":55e14,"Lunar mass (ML)":7.342e25,"Earth mass (M\u2295)":5.97219e27,"Jupiter mass (MJ)":1.8981411476999997e30,"Solar mass (M\u2609)":1.98855e33,"Sagittarius A* (7.5 x 10^36 kgs-ish)":7.5e39,"Milky Way galaxy (1.2 x 10^42 kgs)":1.2e45,"The observable universe (1.45 x 10^53 kgs)":1.45e56},run_mass:function(a,b){var c=b[0],d=b[1];return a*=Convert.MASS_FACTOR[c],a/Convert.MASS_FACTOR[d]},SPEED_UNITS:["[Metric]","Metres per second (m/s)","Kilometres per hour (km/h)","[/Metric]","[Imperial]","Miles per hour (mph)","Knots (kn)","[/Imperial]","[Comparisons]","Human hair growth rate","Bamboo growth rate","World's fastest snail","Usain Bolt's top speed","Jet airliner cruising speed","Concorde","SR-71 Blackbird","Space Shuttle","International Space Station","[/Comparisons]","[Scientific]","Sound in standard atmosphere","Sound in water","Lunar escape velocity","Earth escape velocity","Earth's solar orbit","Solar system's Milky Way orbit","Milky Way relative to the cosmic microwave background","Solar escape velocity","Neutron star escape velocity (0.3c)","Light in a diamond (0.4136c)","Signal in an optical fibre (0.667c)","Light (c)","[/Scientific]"],SPEED_FACTOR:{"Metres per second (m/s)":1,"Kilometres per hour (km/h)":.2778,"Miles per hour (mph)":.44704,"Knots (kn)":.5144,"Human hair growth rate":4.8e-9,"Bamboo growth rate":14e-6,"World's fastest snail":.00275,"Usain Bolt's top speed":12.42,"Jet airliner cruising speed":250,Concorde:603,"SR-71 Blackbird":981,"Space Shuttle":1400,"International Space Station":7700,"Sound in standard atmosphere":340.3,"Sound in water":1500,"Lunar escape velocity":2375,"Earth escape velocity":11200,"Earth's solar orbit":29800,"Solar system's Milky Way orbit":2e5,"Milky Way relative to the cosmic microwave background":552e3,"Solar escape velocity":617700,"Neutron star escape velocity (0.3c)":1e8,"Light in a diamond (0.4136c)":124e6,"Signal in an optical fibre (0.667c)":2e8,"Light (c)":299792458},run_speed:function(a,b){var c=b[0],d=b[1];return a*=Convert.SPEED_FACTOR[c],a/Convert.SPEED_FACTOR[d]}},DateTime={UNITS:["Seconds (s)","Milliseconds (ms)","Microseconds (\u03bcs)","Nanoseconds (ns)"],run_from_unix_timestamp:function(a,b){var c,d=b[0];if(a=parseFloat(a),"Seconds (s)"==d)return c=moment.unix(a),c.tz("UTC").format("ddd D MMMM YYYY HH:mm:ss")+" UTC";if("Milliseconds (ms)"==d)return c=moment(a),c.tz("UTC").format("ddd D MMMM YYYY HH:mm:ss.SSS")+" UTC";if("Microseconds (\u03bcs)"==d)return c=moment(a/1e3),c.tz("UTC").format("ddd D MMMM YYYY HH:mm:ss.SSS")+" UTC";if("Nanoseconds (ns)"==d)return c=moment(a/1e6),c.tz("UTC").format("ddd D MMMM YYYY HH:mm:ss.SSS")+" UTC";throw"Unrecognised unit"},run_to_unix_timestamp:function(a,b){var c=b[0],d=moment(a);if("Seconds (s)"==c)return d.unix();if("Milliseconds (ms)"==c)return d.valueOf();if("Microseconds (\u03bcs)"==c)return 1e3*d.valueOf();if("Nanoseconds (ns)"==c)return 1e6*d.valueOf();throw"Unrecognised unit"},DATETIME_FORMATS:[{name:"Standard date and time",value:"DD/MM/YYYY HH:mm:ss"},{name:"American-style date and time",value:"MM/DD/YYYY HH:mm:ss"},{name:"International date and time",value:"YYYY-MM-DD HH:mm:ss"},{name:"Verbose date and time",value:"dddd Do MMMM YYYY HH:mm:ss Z z"},{name:"UNIX timestamp (seconds)",value:"X"},{name:"UNIX timestamp offset (milliseconds)",value:"x"},{name:"Automatic",value:""}],INPUT_FORMAT_STRING:"DD/MM/YYYY HH:mm:ss",OUTPUT_FORMAT_STRING:"dddd Do MMMM YYYY HH:mm:ss Z z",TIMEZONES:["UTC"].concat(moment.tz.names()),run_translate_format:function(a,b){var c,d=b[1],e=b[2],f=b[3],g=b[4];try{if(c=moment.tz(a,d,e),!c||"Invalid date"==c.format())throw Error}catch(a){return"Invalid format.\n\n"+DateTime.FORMAT_EXAMPLES}return c.tz(g).format(f)},run_parse:function(a,b){var c,d=b[1],e=b[2],f="";try{if(c=moment.tz(a,d,e),!c||"Invalid date"==c.format())throw Error}catch(a){return"Invalid format.\n\n"+DateTime.FORMAT_EXAMPLES}return f+="Date: "+c.format("dddd Do MMMM YYYY")+"\nTime: "+c.format("HH:mm:ss")+"\nPeriod: "+c.format("A")+"\nTimezone: "+c.format("z")+"\nUTC offset: "+c.format("ZZ")+"\n\nDaylight Saving Time: "+c.isDST()+"\nLeap year: "+c.isLeapYear()+"\nDays in this month: "+c.daysInMonth()+"\n\nDay of year: "+c.dayOfYear()+"\nWeek number: "+c.weekYear()+"\nQuarter: "+c.quarter()},FORMAT_EXAMPLES:"Format string tokens:\n\n

Category | Token | Output
--- | --- | ---
Month | M | 1 2 ... 11 12
| Mo | 1st 2nd ... 11th 12th
| MM | 01 02 ... 11 12
| MMM | Jan Feb ... Nov Dec
| MMMM | January February ... November December
Quarter | Q | 1 2 3 4
Day of Month | D | 1 2 ... 30 31
| Do | 1st 2nd ... 30th 31st
| DD | 01 02 ... 30 31
Day of Year | DDD | 1 2 ... 364 365
| DDDo | 1st 2nd ... 364th 365th
| DDDD | 001 002 ... 364 365
Day of Week | d | 0 1 ... 5 6
| do | 0th 1st ... 5th 6th
| dd | Su Mo ... Fr Sa
| ddd | Sun Mon ... Fri Sat
| dddd | Sunday Monday ... Friday Saturday
Day of Week (Locale) | e | 0 1 ... 5 6
Day of Week (ISO) | E | 1 2 ... 6 7
Week of Year | w | 1 2 ... 52 53
| wo | 1st 2nd ... 52nd 53rd
| ww | 01 02 ... 52 53
Week of Year (ISO) | W | 1 2 ... 52 53
| Wo | 1st 2nd ... 52nd 53rd
| WW | 01 02 ... 52 53
Year | YY | 70 71 ... 29 30
| YYYY | 1970 1971 ... 2029 2030
Week Year | gg | 70 71 ... 29 30
| gggg | 1970 1971 ... 2029 2030
Week Year (ISO) | GG | 70 71 ... 29 30
| GGGG | 1970 1971 ... 2029 2030
AM/PM | A | AM PM
| a | am pm
Hour | H | 0 1 ... 22 23
| HH | 00 01 ... 22 23
| h | 1 2 ... 11 12
| hh | 01 02 ... 11 12
Minute | m | 0 1 ... 58 59
| mm | 00 01 ... 58 59
Second | s | 0 1 ... 58 59
| ss | 00 01 ... 58 59
Fractional Second | S | 0 1 ... 8 9
| SS | 00 01 ... 98 99
| SSS | 000 001 ... 998 999
| SSSS ... SSSSSSSSS | 000[0..] 001[0..] ... 998[0..] 999[0..]
Timezone | z or zz | EST CST ... MST PST
| Z | -07:00 -06:00 ... +06:00 +07:00
| ZZ | -0700 -0600 ... +0600 +0700
Unix Timestamp | X | 1360013296
Unix Millisecond Timestamp | x | 1360013296123

"},Endian={DATA_FORMAT:["Hex","Raw"],WORD_LENGTH:4,PAD_INCOMPLETE_WORDS:!0,run_swap_endianness:function(a,b){var c=b[0],d=b[1],e=b[2],f=[],g=[],h=[],i=0,j=0;if(d<=0)return"Word length must be greater than 0";switch(c){case"Hex":f=Utils.from_hex(a);break;case"Raw":f=Utils.str_to_byte_array(a);break;default:f=a}for(i=0;i
\n- 0 represents no randomness (i.e. all the bytes in the data have the same value) whereas 8, the maximum, represents a completely random string.\n- Standard English text usually falls somewhere between 3.5 and 5.\n- Properly encrypted or compressed data of a reasonable length should have an entropy of over 7.5.\n\nThe following results show the entropy of chunks of the input data. Chunks with particularly high entropy could suggest encrypted or compressed sections.\n\n
>>>>>>> master ======= h.fillStyle="green";for(var u=0;u=b.length)for(var u=0;u<=b.length;u++)h.fillText(u,s,o+.3*l),s+=r+q;else for(var u=0;u<=e;u++){var w=Math.ceil(b.length/e*u);s=n/e*u+i,h.fillText(w,s,o+.3*l)}h.textAlign="right";var x;if(f>=t)for(var u=0;u<=t;u++)x=o-u/t*m+g/3,h.fillText(u,.8*i,x);else for(var u=0;u<=f;u++){var w=Math.ceil(t/f*u);x=o-w/t*m+g/3,h.fillText(w,.8*i,x)}if(c&&(h.textAlign="center",h.fillText(c,n/2+i,o+.8*l)),d){h.save();var y=.3*i,z=m/2+k;h.translate(y,z),h.rotate(-Math.PI/2),h.textAlign="center",h.fillText(d,0,0),h.restore()}},draw_scale_bar:function(a,b,c,d){var e=a.getContext("2d"),f=.01*a.width,g=.01*a.width,h=.1*a.height,i=.3*a.height,j=a.height-h-i,k=a.width-f-g,l=b/c;e.strokeRect(f,h,k,j);var m=e.createLinearGradient(f,0,k+f,0);m.addColorStop(0,"green"),m.addColorStop(.5,"gold"),m.addColorStop(1,"red"),e.fillStyle=m,e.fillRect(f,h,k*l,j);var n,o,p,q;e.fillStyle="black",e.textAlign="center",e.font="13px Arial";for(var r=0;r=.9*c?(e.textAlign="right",n=p):d[r].max<=.1*c?e.textAlign="left":n+=(p-n)/2,o=h+j+.8*i,e.fillText(d[r].label,n,o)}},Utils={chr:function(a){return String.fromCharCode(a)},ord:function(a){return a.charCodeAt(0)},pad_left:function(a,b,c){c=c||"0";var d=c.length-(b-a.length);return d=d<0?0:d,a.lengthb&&(a=a.slice(0,b-c.length)+c),a},hex:function(a,b){return a="string"==typeof a?Utils.ord(a):a,b=b||2,Utils.pad(a.toString(16),b)},bin:function(a,b){return a="string"==typeof a?Utils.ord(a):a,b=b||8,Utils.pad(a.toString(2),b)},printable:function(a,b){window&&window.app&&!window.app.options.treat_as_utf8&&(a=Utils.byte_array_to_chars(Utils.str_to_byte_array(a)));var c=/[\0-\x08\x0B-\x0C\x0E-\x1F\x7F-\x9F\xAD\u0378\u0379\u037F-\u0383\u038B\u038D\u03A2\u0528-\u0530\u0557\u0558\u0560\u0588\u058B-\u058E\u0590\u05C8-\u05CF\u05EB-\u05EF\u05F5-\u0605\u061C\u061D\u06DD\u070E\u070F\u074B\u074C\u07B2-\u07BF\u07FB-\u07FF\u082E\u082F\u083F\u085C\u085D\u085F-\u089F\u08A1\u08AD-\u08E3\u08FF\u0978\u0980\u0984\u098D\u098E\u0991\u0992\u09A9\u09B1\u09B3-\u09B5\u09BA\u09BB\u09C5\u09C6\u09C9\u09CA\u09CF-\u09D6\u09D8-\u09DB\u09DE\u09E4\u09E5\u09FC-\u0A00\u0A04\u0A0B-\u0A0E\u0A11\u0A12\u0A29\u0A31\u0A34\u0A37\u0A3A\u0A3B\u0A3D\u0A43-\u0A46\u0A49\u0A4A\u0A4E-\u0A50\u0A52-\u0A58\u0A5D\u0A5F-\u0A65\u0A76-\u0A80\u0A84\u0A8E\u0A92\u0AA9\u0AB1\u0AB4\u0ABA\u0ABB\u0AC6\u0ACA\u0ACE\u0ACF\u0AD1-\u0ADF\u0AE4\u0AE5\u0AF2-\u0B00\u0B04\u0B0D\u0B0E\u0B11\u0B12\u0B29\u0B31\u0B34\u0B3A\u0B3B\u0B45\u0B46\u0B49\u0B4A\u0B4E-\u0B55\u0B58-\u0B5B\u0B5E\u0B64\u0B65\u0B78-\u0B81\u0B84\u0B8B-\u0B8D\u0B91\u0B96-\u0B98\u0B9B\u0B9D\u0BA0-\u0BA2\u0BA5-\u0BA7\u0BAB-\u0BAD\u0BBA-\u0BBD\u0BC3-\u0BC5\u0BC9\u0BCE\u0BCF\u0BD1-\u0BD6\u0BD8-\u0BE5\u0BFB-\u0C00\u0C04\u0C0D\u0C11\u0C29\u0C34\u0C3A-\u0C3C\u0C45\u0C49\u0C4E-\u0C54\u0C57\u0C5A-\u0C5F\u0C64\u0C65\u0C70-\u0C77\u0C80\u0C81\u0C84\u0C8D\u0C91\u0CA9\u0CB4\u0CBA\u0CBB\u0CC5\u0CC9\u0CCE-\u0CD4\u0CD7-\u0CDD\u0CDF\u0CE4\u0CE5\u0CF0\u0CF3-\u0D01\u0D04\u0D0D\u0D11\u0D3B\u0D3C\u0D45\u0D49\u0D4F-\u0D56\u0D58-\u0D5F\u0D64\u0D65\u0D76-\u0D78\u0D80\u0D81\u0D84\u0D97-\u0D99\u0DB2\u0DBC\u0DBE\u0DBF\u0DC7-\u0DC9\u0DCB-\u0DCE\u0DD5\u0DD7\u0DE0-\u0DF1\u0DF5-\u0E00\u0E3B-\u0E3E\u0E5C-\u0E80\u0E83\u0E85\u0E86\u0E89\u0E8B\u0E8C\u0E8E-\u0E93\u0E98\u0EA0\u0EA4\u0EA6\u0EA8\u0EA9\u0EAC\u0EBA\u0EBE\u0EBF\u0EC5\u0EC7\u0ECE\u0ECF\u0EDA\u0EDB\u0EE0-\u0EFF\u0F48\u0F6D-\u0F70\u0F98\u0FBD\u0FCD\u0FDB-\u0FFF\u10C6\u10C8-\u10CC\u10CE\u10CF\u1249\u124E\u124F\u1257\u1259\u125E\u125F\u1289\u128E\u128F\u12B1\u12B6\u12B7\u12BF\u12C1\u12C6\u12C7\u12D7\u1311\u1316\u1317\u135B\u135C\u137D-\u137F\u139A-\u139F\u13F5-\u13FF\u169D-\u169F\u16F1-\u16FF\u170D\u1715-\u171F\u1737-\u173F\u1754-\u175F\u176D\u1771\u1774-\u177F\u17DE\u17DF\u17EA-\u17EF\u17FA-\u17FF\u180F\u181A-\u181F\u1878-\u187F\u18AB-\u18AF\u18F6-\u18FF\u191D-\u191F\u192C-\u192F\u193C-\u193F\u1941-\u1943\u196E\u196F\u1975-\u197F\u19AC-\u19AF\u19CA-\u19CF\u19DB-\u19DD\u1A1C\u1A1D\u1A5F\u1A7D\u1A7E\u1A8A-\u1A8F\u1A9A-\u1A9F\u1AAE-\u1AFF\u1B4C-\u1B4F\u1B7D-\u1B7F\u1BF4-\u1BFB\u1C38-\u1C3A\u1C4A-\u1C4C\u1C80-\u1CBF\u1CC8-\u1CCF\u1CF7-\u1CFF\u1DE7-\u1DFB\u1F16\u1F17\u1F1E\u1F1F\u1F46\u1F47\u1F4E\u1F4F\u1F58\u1F5A\u1F5C\u1F5E\u1F7E\u1F7F\u1FB5\u1FC5\u1FD4\u1FD5\u1FDC\u1FF0\u1FF1\u1FF5\u1FFF\u200B-\u200F\u202A-\u202E\u2060-\u206F\u2072\u2073\u208F\u209D-\u209F\u20BB-\u20CF\u20F1-\u20FF\u218A-\u218F\u23F4-\u23FF\u2427-\u243F\u244B-\u245F\u2700\u2B4D-\u2B4F\u2B5A-\u2BFF\u2C2F\u2C5F\u2CF4-\u2CF8\u2D26\u2D28-\u2D2C\u2D2E\u2D2F\u2D68-\u2D6E\u2D71-\u2D7E\u2D97-\u2D9F\u2DA7\u2DAF\u2DB7\u2DBF\u2DC7\u2DCF\u2DD7\u2DDF\u2E3C-\u2E7F\u2E9A\u2EF4-\u2EFF\u2FD6-\u2FEF\u2FFC-\u2FFF\u3040\u3097\u3098\u3100-\u3104\u312E-\u3130\u318F\u31BB-\u31BF\u31E4-\u31EF\u321F\u32FF\u4DB6-\u4DBF\u9FCD-\u9FFF\uA48D-\uA48F\uA4C7-\uA4CF\uA62C-\uA63F\uA698-\uA69E\uA6F8-\uA6FF\uA78F\uA794-\uA79F\uA7AB-\uA7F7\uA82C-\uA82F\uA83A-\uA83F\uA878-\uA87F\uA8C5-\uA8CD\uA8DA-\uA8DF\uA8FC-\uA8FF\uA954-\uA95E\uA97D-\uA97F\uA9CE\uA9DA-\uA9DD\uA9E0-\uA9FF\uAA37-\uAA3F\uAA4E\uAA4F\uAA5A\uAA5B\uAA7C-\uAA7F\uAAC3-\uAADA\uAAF7-\uAB00\uAB07\uAB08\uAB0F\uAB10\uAB17-\uAB1F\uAB27\uAB2F-\uABBF\uABEE\uABEF\uABFA-\uABFF\uD7A4-\uD7AF\uD7C7-\uD7CA\uD7FC-\uF8FF\uFA6E\uFA6F\uFADA-\uFAFF\uFB07-\uFB12\uFB18-\uFB1C\uFB37\uFB3D\uFB3F\uFB42\uFB45\uFBC2-\uFBD2\uFD40-\uFD4F\uFD90\uFD91\uFDC8-\uFDEF\uFDFE\uFDFF\uFE1A-\uFE1F\uFE27-\uFE2F\uFE53\uFE67\uFE6C-\uFE6F\uFE75\uFEFD-\uFF00\uFFBF-\uFFC1\uFFC8\uFFC9\uFFD0\uFFD1\uFFD8\uFFD9\uFFDD-\uFFDF\uFFE7\uFFEF-\uFFFB\uFFFE\uFFFF]/g,d=/[\x09-\x10\x0D\u2028\u2029]/g;return a=a.replace(c,"."),b||(a=a.replace(d,".")),a},parse_escaped_chars:function(a){return a.replace(/(\\)?\\([nrtbf]|x[\da-f]{2})/g,function(a,b,c){if("\\"===b)return"\\"+c;switch(c[0]){case"n":return"\n";case"r":return"\r";case"t":return"\t";case"b":return"\b";case"f":return"\f";case"x":return Utils.chr(parseInt(c.substr(1),16))}})},expand_alph_range:function(a){for(var b=[],c=0;c255)return Utils.str_to_utf8_byte_array(a);return c},str_to_utf8_byte_array:function(a){var b=CryptoJS.enc.Utf8.parse(a),c=Utils.word_array_to_byte_array(b);return a.length!==b.sigBytes&&(window.app.options.attempt_highlight=!1),c},str_to_charcode:function(a){for(var b=new Array(a.length),c=a.length;c--;)b[c]=a.charCodeAt(c);return b},byte_array_to_utf8:function(a){try{for(var b=[],c=0;c>>2]|=a[c]<<24-c%4*8;var d=new CryptoJS.lib.WordArray.init(b,a.length),e=CryptoJS.enc.Utf8.stringify(d);return e.length!==d.sigBytes&&(window.app.options.attempt_highlight=!1),e}catch(b){return Utils.byte_array_to_chars(a)}},byte_array_to_chars:function(a){if(!a)return"";for(var b="",c=0;c>>2]>>>24-d%4*8&255);return c},UNIC_WIN1251_MAP:{0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9,10:10,11:11,12:12,13:13,14:14,15:15,16:16,17:17,18:18,19:19,20:20,21:21,22:22,23:23,24:24,25:25,26:26,27:27,28:28,29:29,30:30,31:31,32:32,33:33,34:34,35:35,36:36,37:37,38:38,39:39,40:40,41:41,42:42,43:43,44:44,45:45,46:46,47:47,48:48,49:49,50:50,51:51,52:52,53:53,54:54,55:55,56:56,57:57,58:58,59:59,60:60,61:61,62:62,63:63,64:64,65:65,66:66,67:67,68:68,69:69,70:70,71:71,72:72,73:73,74:74,75:75,76:76,77:77,78:78,79:79,80:80,81:81,82:82,83:83,84:84,85:85,86:86,87:87,88:88,89:89,90:90,91:91,92:92,93:93,94:94,95:95,96:96,97:97,98:98,99:99,100:100,101:101,102:102,103:103,104:104,105:105,106:106,107:107,108:108,109:109,110:110,111:111,112:112,113:113,114:114,115:115,116:116,117:117,118:118,119:119,120:120,121:121,122:122,123:123,124:124,125:125,126:126,127:127,1027:129,8225:135,1046:198,8222:132,1047:199,1168:165,1048:200,1113:154,1049:201,1045:197,1050:202,1028:170,160:160,1040:192,1051:203,164:164,166:166,167:167,169:169,171:171,172:172,173:173,174:174,1053:205,176:176,177:177,1114:156,181:181,182:182,183:183,8221:148,187:187,1029:189,1056:208,1057:209,1058:210,8364:136,1112:188,1115:158,1059:211,1060:212,1030:178,1061:213,1062:214,1063:215,1116:157,1064:216,1065:217,1031:175,1066:218,1067:219,1068:220,1069:221,1070:222,1032:163,8226:149,1071:223,1072:224,8482:153,1073:225,8240:137,1118:162,1074:226,1110:179,8230:133,1075:227,1033:138,1076:228,1077:229,8211:150,1078:230,1119:159,1079:231,1042:194,1080:232,1034:140,1025:168,1081:233,1082:234,8212:151,1083:235,1169:180,1084:236,1052:204,1085:237,1035:142,1086:238,1087:239,1088:240,1089:241,1090:242,1036:141,1041:193,1091:243,1092:244,8224:134,1093:245,8470:185,1094:246,1054:206,1095:247,1096:248,8249:139,1097:249,1098:250,1044:196,1099:251,1111:191,1055:207,1100:252,1038:161,8220:147,1101:253,8250:155,1102:254,8216:145,1103:255,1043:195,1105:184,1039:143,1026:128,1106:144,8218:130,1107:131,8217:146,1108:186,1109:190},WIN1251_UNIC_MAP:{0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9,10:10,11:11,12:12,13:13,14:14,15:15,16:16,17:17,18:18,19:19,20:20,21:21,22:22,23:23,24:24,25:25,26:26,27:27,28:28,29:29,30:30,31:31,32:32,33:33,34:34,35:35,36:36,37:37,38:38,39:39,40:40,41:41,42:42,43:43,44:44,45:45,46:46,47:47,48:48,49:49,50:50,51:51,52:52,53:53,54:54,55:55,56:56,57:57,58:58,59:59,60:60,61:61,62:62,63:63,64:64,65:65,66:66,67:67,68:68,69:69,70:70,71:71,72:72,73:73,74:74,75:75,76:76,77:77,78:78,79:79,80:80,81:81,82:82,83:83,84:84,85:85,86:86,87:87,88:88,89:89,90:90,91:91,92:92,93:93,94:94,95:95,96:96,97:97,98:98,99:99,100:100,101:101,102:102,103:103,104:104,105:105,106:106,107:107,108:108,109:109,110:110,111:111,112:112,113:113,114:114,115:115,116:116,117:117,118:118,119:119,120:120,121:121,122:122,123:123,124:124,125:125,126:126,127:127,160:160,164:164,166:166,167:167,169:169,171:171,172:172,173:173,174:174,176:176,177:177,181:181,182:182,183:183,187:187,168:1025,128:1026,129:1027,170:1028,189:1029,178:1030,175:1031,163:1032,138:1033,140:1034,142:1035,141:1036,161:1038,143:1039,192:1040,193:1041,194:1042,195:1043,196:1044,197:1045,198:1046,199:1047,200:1048,201:1049,202:1050,203:1051,204:1052,205:1053,206:1054,207:1055,208:1056,209:1057,210:1058,211:1059,212:1060,213:1061,214:1062,215:1063,216:1064,217:1065,218:1066,219:1067,220:1068,221:1069,222:1070,223:1071,224:1072,225:1073,226:1074,227:1075,228:1076,229:1077,230:1078,231:1079,232:1080,233:1081,234:1082,235:1083,236:1084,237:1085,238:1086,239:1087,240:1088,241:1089,242:1090,243:1091,244:1092,245:1093,246:1094,247:1095,248:1096,249:1097,250:1098,251:1099,252:1100,253:1101,254:1102,255:1103,184:1105,144:1106,131:1107,186:1108,190:1109,179:1110,191:1111,188:1112,154:1113,156:1114,158:1115,157:1116,162:1118,159:1119,165:1168,180:1169,150:8211,151:8212,145:8216,146:8217,130:8218,147:8220,148:8221,132:8222,134:8224,135:8225,149:8226,133:8230,137:8240,139:8249,155:8250,136:8364,185:8470,153:8482},unicode_to_win1251:function(a){for(var b=[],c=0;c>2,g=(3&c)<<4|d>>4,h=(15&d)<<2|e>>6,i=63&e,isNaN(d)?h=i=64:isNaN(e)&&(i=64),j+=b.charAt(f)+b.charAt(g)+b.charAt(h)+b.charAt(i);return j},from_base64:function(a,b,c,d){if(c=c||"string",!a)return"string"===c?"":[];b=b?Utils.expand_alph_range(b).join(""):"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",void 0===d&&(d=!0);var e,f,g,h,i,j,k,l=[],m=0;if(d){var n=new RegExp("[^"+b.replace(/[\[\]\\\-^$]/g,"\\$&")+"]","g");a=a.replace(n,"")}for(;m>4,f=(15&i)<<4|j>>2,g=(3&j)<<6|k,l.push(e),64!==j&&l.push(f),64!==k&&l.push(g);return"string"===c?Utils.byte_array_to_utf8(l):l},to_hex:function(a,b,c){if(!a)return"";b="string"==typeof b?b:" ",c=c||2;for(var d="",e=0;e>>4).toString(16)),b.push((15&a[c]).toString(16));return b.join("")},from_hex:function(a,b,c){if(b=b||(a.indexOf(" ")>=0?"Space":"None"),c=c||2,"None"!==b){var d=Utils.regex_rep[b];a=a.replace(d,"")}for(var e=[],f=0;f]*>.*<\/(script|style)>/gim,"")),a.replace(/<[^>\n]+>/g,"")},escape_html:function(a){return a.replace(/>>3]|=parseInt(a.substr(d,2),16)<<24-d%8*4;return new CryptoJS.lib.WordArray.init(c,b/2)};var Base={DEFAULT_RADIX:36,run_to:function(a,b){if(!a)throw"Error: Input must be a number";var c=b[0]||Base.DEFAULT_RADIX;if(c<2||c>36)throw"Error: Radix argument must be between 2 and 36";return a.toString(c)},run_from:function(a,b){var c=b[0]||Base.DEFAULT_RADIX;if(c<2||c>36)throw"Error: Radix argument must be between 2 and 36";return parseInt(a.replace(/\s/g,""),c)}},Base64={ALPHABET:"A-Za-z0-9+/=",ALPHABET_OPTIONS:[{name:"Standard: A-Za-z0-9+/=",value:"A-Za-z0-9+/="},{name:"URL safe: A-Za-z0-9-_",value:"A-Za-z0-9-_"},{name:"Filename safe: A-Za-z0-9+-=",value:"A-Za-z0-9+\\-="},{name:"itoa64: ./0-9A-Za-z=",value:"./0-9A-Za-z="},{name:"XML: A-Za-z0-9_.",value:"A-Za-z0-9_."},{name:"y64: A-Za-z0-9._-",value:"A-Za-z0-9._-"},{name:"z64: 0-9a-zA-Z+/=",value:"0-9a-zA-Z+/="},{name:"Radix-64: 0-9A-Za-z+/=",value:"0-9A-Za-z+/="},{name:"Uuencoding: [space]-_",value:" -_"},{name:"Xxencoding: +-0-9A-Za-z",value:"+\\-0-9A-Za-z"},{name:"BinHex: !-,-0-689@A-NP-VX-Z[`a-fh-mp-r",value:"!-,-0-689@A-NP-VX-Z[`a-fh-mp-r"},{name:"ROT13: N-ZA-Mn-za-m0-9+/=",value:"N-ZA-Mn-za-m0-9+/="}],run_to:function(a,b){var c=b[0]||Base64.ALPHABET;return Utils.to_base64(a,c)},REMOVE_NON_ALPH_CHARS:!0,run_from:function(a,b){var c=b[0]||Base64.ALPHABET,d=b[1];return Utils.from_base64(a,c,"byte_array",d)},BASE32_ALPHABET:"A-Z2-7=",run_to_32:function(a,b){if(!a)return"";for(var c,d,e,f,g,h,i,j,k,l,m,n,o,p=b[0]?Utils.expand_alph_range(b[0]).join(""):"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",q="",r=0;r>3,i=(7&c)<<2|d>>6,j=d>>1&31,k=(1&d)<<4|e>>4,l=(15&e)<<1|f>>7,m=f>>2&63,n=(3&f)<<3|g>>5,o=31&g,isNaN(d)?j=k=l=m=n=o=32:isNaN(e)?l=m=n=o=32:isNaN(f)?m=n=o=32:isNaN(g)&&(o=32),q+=p.charAt(h)+p.charAt(i)+p.charAt(j)+p.charAt(k)+p.charAt(l)+p.charAt(m)+p.charAt(n)+p.charAt(o);return q},run_from_32:function(a,b){if(!a)return[];var c,d,e,f,g,h,i,j,k,l,m,n,o,p=b[0]?Utils.expand_alph_range(b[0]).join(""):"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",q=b[0],r=[],s=0;if(q){var t=new RegExp("[^"+p.replace(/[\]\\\-^]/g,"\\$&")+"]","g");a=a.replace(t,"")}for(;s>2,d=(3&i)<<6|j<<1|k>>4,e=(15&k)<<4|l>>1,f=(1&l)<<7|m<<2|n>>3,g=(7&n)<<5|o,r.push(c),(i&!0||32!==j)&&r.push(d),(k&!0||32!==l)&&r.push(e),(l&!0||32!==m)&&r.push(f),(n&!0||32!==o)&&r.push(g);return r},SHOW_IN_BINARY:!1,OFFSETS_SHOW_VARIABLE:!0,run_offsets:function(a,b){var c=b[0]||Base64.ALPHABET,d=b[1],e=Utils.to_base64(a,c),f=Utils.to_base64([0].concat(a),c),g=Utils.to_base64([0,0].concat(a),c),h=e.indexOf("="),i=f.indexOf("="),j=g.indexOf("="),k="
>>>>>>> master ======= function(a){"function"==typeof define&&define.amd?define(a):"undefined"!=typeof module&&"undefined"!=typeof module.exports?module.exports=a():"undefined"!=typeof Package?Sortable=a():window.Sortable=a()}(function(){function a(a,b){if(!a||!a.nodeType||1!==a.nodeType)throw"Sortable: `el` must be HTMLElement, and not "+{}.toString.call(a);this.el=a,this.options=b=s({},b),a[M]=this;var c={group:Math.random(),sort:!0,disabled:!1,store:null,handle:null,scroll:!0,scrollSensitivity:30,scrollSpeed:10,draggable:/[uo]l/i.test(a.nodeName)?"li":">*",ghostClass:"sortable-ghost",chosenClass:"sortable-chosen",ignore:"a, img",filter:null,animation:0,setData:function(a,b){a.setData("Text",b.textContent)},dropBubble:!1,dragoverBubble:!1,dataIdAttr:"data-id",delay:0,forceFallback:!1,fallbackClass:"sortable-fallback",fallbackOnBody:!1};for(var d in c)!(d in b)&&(b[d]=c[d]);W(b);for(var f in this)"_"===f.charAt(0)&&(this[f]=this[f].bind(this));this.nativeDraggable=!b.forceFallback&&Q,e(a,"mousedown",this._onTapStart),e(a,"touchstart",this._onTapStart),this.nativeDraggable&&(e(a,"dragover",this),e(a,"dragenter",this)),U.push(this._onDragOver),b.store&&this.sort(b.store.get(this))}function b(a){w&&w.state!==a&&(h(w,"display",a?"none":""),!a&&w.state&&x.insertBefore(w,t),w.state=a)}function c(a,b,c){if(a){c=c||O;do if(">*"===b&&a.parentNode===c||q(a,b))return a;while(a!==c&&(a=a.parentNode))}return null}function d(a){a.dataTransfer&&(a.dataTransfer.dropEffect="move"),a.preventDefault()}function e(a,b,c){a.addEventListener(b,c,!1)}function f(a,b,c){a.removeEventListener(b,c,!1)}function g(a,b,c){if(a)if(a.classList)a.classList[c?"add":"remove"](b);else{var d=(" "+a.className+" ").replace(L," ").replace(" "+b+" "," ");a.className=(d+(c?" "+b:"")).replace(L," ")}}function h(a,b,c){var d=a&&a.style;if(d){if(void 0===c)return O.defaultView&&O.defaultView.getComputedStyle?c=O.defaultView.getComputedStyle(a,""):a.currentStyle&&(c=a.currentStyle),void 0===b?c:c[b];b in d||(b="-webkit-"+b),d[b]=c+("string"==typeof c?"":"px")}}function i(a,b,c){if(a){var d=a.getElementsByTagName(b),e=0,f=d.length;if(c)for(;e5||b.clientX-(d.right+d.width)>5)&&c}function o(a){for(var b=a.tagName+a.className+a.src+a.href+a.textContent,c=b.length,d=0;c--;)d+=b.charCodeAt(c);return d.toString(36)}function p(a,b){var c=0;if(!a||!a.parentNode)return-1;for(;a&&(a=a.previousElementSibling);)"TEMPLATE"!==a.nodeName.toUpperCase()&&q(a,b)&&c++;return c}function q(a,b){if(a){b=b.split(".");var c=b.shift().toUpperCase(),d=new RegExp("\\s("+b.join("|")+")(?=\\s)","g");return!(""!==c&&a.nodeName.toUpperCase()!=c||b.length&&((" "+a.className+" ").match(d)||[]).length!=b.length)}return!1}function r(a,b){var c,d;return function(){void 0===c&&(c=arguments,d=this,setTimeout(function(){1===c.length?a.call(d,c[0]):a.apply(d,c),c=void 0},b))}}function s(a,b){if(a&&b)for(var c in b)b.hasOwnProperty(c)&&(a[c]=b[c]);return a}if("undefined"==typeof window||"undefined"==typeof window.document)return function(){throw new Error("Sortable.js requires a window with a document")};var t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,I,J,K={},L=/\s+/g,M="Sortable"+(new Date).getTime(),N=window,O=N.document,P=N.parseInt,Q=!!("draggable"in O.createElement("div")),R=function(a){return a=O.createElement("x"),a.style.cssText="pointer-events:auto","auto"===a.style.pointerEvents}(),S=!1,T=Math.abs,U=([].slice,[]),V=r(function(a,b,c){if(c&&b.scroll){var d,e,f,g,h=b.scrollSensitivity,i=b.scrollSpeed,j=a.clientX,k=a.clientY,l=window.innerWidth,m=window.innerHeight;if(A!==c&&(z=b.scroll,A=c,z===!0)){z=c;do if(z.offsetWidth-1){for(;d--;)U[d]({clientX:I.clientX,clientY:I.clientY,target:a,rootEl:b});break}a=b}while(b=b.parentNode);R||h(v,"display","")}},_onTouchMove:function(b){if(H){a.active||this._dragStarted(),this._appendGhost();var c=b.touches?b.touches[0]:b,d=c.clientX-H.clientX,e=c.clientY-H.clientY,f=b.touches?"translate3d("+d+"px,"+e+"px,0)":"translate("+d+"px,"+e+"px)";J=!0,I=c,h(v,"webkitTransform",f),h(v,"mozTransform",f),h(v,"msTransform",f),h(v,"transform",f),b.preventDefault()}},_appendGhost:function(){if(!v){var a,b=t.getBoundingClientRect(),c=h(t),d=this.options;v=t.cloneNode(!0),g(v,d.ghostClass,!1),g(v,d.fallbackClass,!0),h(v,"top",b.top-P(c.marginTop,10)),h(v,"left",b.left-P(c.marginLeft,10)),h(v,"width",b.width),h(v,"height",b.height),h(v,"opacity","0.8"),h(v,"position","fixed"),h(v,"zIndex","100000"),h(v,"pointerEvents","none"),d.fallbackOnBody&&O.body.appendChild(v)||x.appendChild(v),a=v.getBoundingClientRect(),h(v,"width",2*b.width-a.width),h(v,"height",2*b.height-a.height)}},_onDragStart:function(a,b){var c=a.dataTransfer,d=this.options;this._offUpEvents(),"clone"==G.pull&&(w=t.cloneNode(!0),h(w,"display","none"),x.insertBefore(w,t)),b?("touch"===b?(e(O,"touchmove",this._onTouchMove),e(O,"touchend",this._onDrop),e(O,"touchcancel",this._onDrop)):(e(O,"mousemove",this._onTouchMove),e(O,"mouseup",this._onDrop)),this._loopId=setInterval(this._emulateDragOver,50)):(c&&(c.effectAllowed="move",d.setData&&d.setData.call(this,c,t)),e(O,"drop",this),setTimeout(this._dragStarted,0))},_onDragOver:function(a){var d,e,f,g=this.el,i=this.options,j=i.group,l=j.put,o=G===j,p=i.sort;if(void 0!==a.preventDefault&&(a.preventDefault(),!i.dragoverBubble&&a.stopPropagation()),J=!0,G&&!i.disabled&&(o?p||(f=!x.contains(t)):G.pull&&l&&(G.name===j.name||l.indexOf&&~l.indexOf(G.name)))&&(void 0===a.rootEl||a.rootEl===this.el)){if(V(a,i,this.el),S)return;if(d=c(a.target,i.draggable,g),e=t.getBoundingClientRect(),f)return b(!0),void(w||y?x.insertBefore(t,w||y):p||x.appendChild(t));if(0===g.children.length||g.children[0]===v||g===a.target&&(d=n(g,a))){if(d){if(d.animated)return;r=d.getBoundingClientRect()}b(o),k(x,g,t,e,d,r)!==!1&&(t.contains(g)||(g.appendChild(t),u=g),this._animate(e,t),d&&this._animate(r,d))}else if(d&&!d.animated&&d!==t&&void 0!==d.parentNode[M]){B!==d&&(B=d,C=h(d),D=h(d.parentNode));var q,r=d.getBoundingClientRect(),s=r.right-r.left,z=r.bottom-r.top,A=/left|right|inline/.test(C.cssFloat+C.display)||"flex"==D.display&&0===D["flex-direction"].indexOf("row"),E=d.offsetWidth>t.offsetWidth,F=d.offsetHeight>t.offsetHeight,H=(A?(a.clientX-r.left)/s:(a.clientY-r.top)/z)>.5,I=d.nextElementSibling,K=k(x,g,t,e,d,r);if(K!==!1){if(S=!0,setTimeout(m,30),b(o),1===K||K===-1)q=1===K;else if(A){var L=t.offsetTop,N=d.offsetTop;q=L===N?d.previousElementSibling===t&&!E||H&&E:N>L}else q=I!==t&&!F||H&&F;t.contains(g)||(q&&!I?g.appendChild(t):d.parentNode.insertBefore(t,q?I:d)),u=t.parentNode,this._animate(e,t),this._animate(r,d)}}}},_animate:function(a,b){var c=this.options.animation;if(c){var d=b.getBoundingClientRect();h(b,"transition","none"),h(b,"transform","translate3d("+(a.left-d.left)+"px,"+(a.top-d.top)+"px,0)"),b.offsetWidth,h(b,"transition","all "+c+"ms"),h(b,"transform","translate3d(0,0,0)"),clearTimeout(b.animated),b.animated=setTimeout(function(){h(b,"transition",""),h(b,"transform",""),b.animated=!1},c)}},_offUpEvents:function(){var a=this.el.ownerDocument;f(O,"touchmove",this._onTouchMove),f(a,"mouseup",this._onDrop),f(a,"touchend",this._onDrop),f(a,"touchcancel",this._onDrop)},_onDrop:function(b){var c=this.el,d=this.options;clearInterval(this._loopId),clearInterval(K.pid),clearTimeout(this._dragStartTimer),f(O,"mousemove",this._onTouchMove),this.nativeDraggable&&(f(O,"drop",this),f(c,"dragstart",this._onDragStart)),this._offUpEvents(),b&&(J&&(b.preventDefault(),!d.dropBubble&&b.stopPropagation()),v&&v.parentNode.removeChild(v),t&&(this.nativeDraggable&&f(t,"dragend",this),l(t),g(t,this.options.ghostClass,!1),g(t,this.options.chosenClass,!1),x!==u?(F=p(t,d.draggable),F>=0&&(j(null,u,"sort",t,x,E,F),j(this,x,"sort",t,x,E,F),j(null,u,"add",t,x,E,F),j(this,x,"remove",t,x,E,F))):(w&&w.parentNode.removeChild(w),t.nextSibling!==y&&(F=p(t,d.draggable),F>=0&&(j(this,x,"update",t,x,E,F),j(this,x,"sort",t,x,E,F)))),a.active&&(null!==F&&F!==-1||(F=E),j(this,x,"end",t,x,E,F),this.save()))),this._nulling()},_nulling:function(){x=t=u=v=y=w=z=A=H=I=J=F=B=C=G=a.active=null},handleEvent:function(a){var b=a.type;"dragover"===b||"dragenter"===b?t&&(this._onDragOver(a),d(a)):"drop"!==b&&"dragend"!==b||this._onDrop(a)},toArray:function(){for(var a,b=[],d=this.el.children,e=0,f=d.length,g=this.options;e0&&f<=1?f:2-f,f/=2,g>1&&(g=1),{h:isNaN(e)?0:e,s:isNaN(g)?0:g,l:isNaN(f)?0:f,a:isNaN(d)?0:d}},toAlias:function(a,b,c,d){var e=this.toHex(a,b,c,d);for(var f in this.colors)if(this.colors[f]===e)return f;return!1},RGBtoHSB:function(a,b,c,d){a/=255,b/=255,c/=255;var e,f,g,h;return g=Math.max(a,b,c),h=g-Math.min(a,b,c),e=0===h?null:g===a?(b-c)/h:g===b?(c-a)/h+2:(a-b)/h+4,e=(e+360)%6*60/360,f=0===h?0:h/g,{h:this._sanitizeNumber(e),s:f,b:g,a:this._sanitizeNumber(d)}},HueToRGB:function(a,b,c){return c<0?c+=1:c>1&&(c-=1),6*c<1?a+(b-a)*c*6:2*c<1?b:3*c<2?a+(b-a)*(2/3-c)*6:a},HSLtoRGB:function(a,b,c,d){b<0&&(b=0);var e;e=c<=.5?c*(1+b):c+b-c*b;var f=2*c-e,g=a+1/3,h=a,i=a-1/3,j=Math.round(255*this.HueToRGB(f,e,g)),k=Math.round(255*this.HueToRGB(f,e,h)),l=Math.round(255*this.HueToRGB(f,e,i));return[j,k,l,this._sanitizeNumber(d)]},toString:function(a){a=a||"rgba";var b=!1;switch(a){case"rgb":return b=this.toRGB(),this.rgbaIsTransparent(b)?"transparent":"rgb("+b.r+","+b.g+","+b.b+")";case"rgba":return b=this.toRGB(),"rgba("+b.r+","+b.g+","+b.b+","+b.a+")";case"hsl":return b=this.toHSL(),"hsl("+Math.round(360*b.h)+","+Math.round(100*b.s)+"%,"+Math.round(100*b.l)+"%)";case"hsla":return b=this.toHSL(),"hsla("+Math.round(360*b.h)+","+Math.round(100*b.s)+"%,"+Math.round(100*b.l)+"%,"+b.a+")";case"hex":return this.toHex();case"alias":return this.toAlias()||this.toHex();default:return b}},stringParsers:[{re:/rgb\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*?\)/,format:"rgb",parse:function(a){return[a[1],a[2],a[3],1]}},{re:/rgb\(\s*(\d*(?:\.\d+)?)\%\s*,\s*(\d*(?:\.\d+)?)\%\s*,\s*(\d*(?:\.\d+)?)\%\s*?\)/,format:"rgb",parse:function(a){return[2.55*a[1],2.55*a[2],2.55*a[3],1]}},{re:/rgba\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*(?:,\s*(\d*(?:\.\d+)?)\s*)?\)/,format:"rgba",parse:function(a){return[a[1],a[2],a[3],a[4]]}},{re:/rgba\(\s*(\d*(?:\.\d+)?)\%\s*,\s*(\d*(?:\.\d+)?)\%\s*,\s*(\d*(?:\.\d+)?)\%\s*(?:,\s*(\d*(?:\.\d+)?)\s*)?\)/,format:"rgba",parse:function(a){return[2.55*a[1],2.55*a[2],2.55*a[3],a[4]]}},{re:/hsl\(\s*(\d*(?:\.\d+)?)\s*,\s*(\d*(?:\.\d+)?)\%\s*,\s*(\d*(?:\.\d+)?)\%\s*?\)/,format:"hsl",parse:function(a){return[a[1]/360,a[2]/100,a[3]/100,a[4]]}},{re:/hsla\(\s*(\d*(?:\.\d+)?)\s*,\s*(\d*(?:\.\d+)?)\%\s*,\s*(\d*(?:\.\d+)?)\%\s*(?:,\s*(\d*(?:\.\d+)?)\s*)?\)/,format:"hsla",parse:function(a){return[a[1]/360,a[2]/100,a[3]/100,a[4]]}},{re:/#?([a-fA-F0-9]{2})([a-fA-F0-9]{2})([a-fA-F0-9]{2})/,format:"hex",parse:function(a){return[parseInt(a[1],16),parseInt(a[2],16),parseInt(a[3],16),1]}},{re:/#?([a-fA-F0-9])([a-fA-F0-9])([a-fA-F0-9])/,format:"hex",parse:function(a){return[parseInt(a[1]+a[1],16),parseInt(a[2]+a[2],16),parseInt(a[3]+a[3],16),1]}}],colorNameToHex:function(a){return"undefined"!=typeof this.colors[a.toLowerCase()]&&this.colors[a.toLowerCase()]}};var c={horizontal:!1,inline:!1,color:!1,format:!1,input:"input",container:!1,component:".add-on, .input-group-addon",sliders:{saturation:{maxLeft:100,maxTop:100,callLeft:"setSaturation",callTop:"setBrightness"},hue:{maxLeft:0,maxTop:100,callLeft:!1,callTop:"setHue"},alpha:{maxLeft:0,maxTop:100,callLeft:!1,callTop:"setAlpha"}},slidersHorz:{saturation:{maxLeft:100,maxTop:100,callLeft:"setSaturation",callTop:"setBrightness"},hue:{maxLeft:100,maxTop:0,callLeft:"setHue",callTop:!1},alpha:{maxLeft:100,maxTop:0,callLeft:"setAlpha",callTop:!1}},template:'
',align:"right",customClass:null,colorSelectors:null},d=function(d,e){if(this.element=a(d).addClass("colorpicker-element"),this.options=a.extend(!0,{},c,this.element.data(),e),this.component=this.options.component,this.component=this.component!==!1&&this.element.find(this.component),this.component&&0===this.component.length&&(this.component=!1),this.container=this.options.container===!0?this.element:this.options.container,this.container=this.container!==!1&&a(this.container),this.input=this.element.is("input")?this.element:!!this.options.input&&this.element.find(this.options.input),this.input&&0===this.input.length&&(this.input=!1),this.color=new b(this.options.color!==!1?this.options.color:this.getValue(),this.options.colorSelectors),this.format=this.options.format!==!1?this.options.format:this.color.origFormat,this.options.color!==!1&&(this.updateInput(this.color),this.updateData(this.color)),this.picker=a(this.options.template),this.options.customClass&&this.picker.addClass(this.options.customClass),this.options.inline?this.picker.addClass("colorpicker-inline colorpicker-visible"):this.picker.addClass("colorpicker-hidden"),this.options.horizontal&&this.picker.addClass("colorpicker-horizontal"),"rgba"!==this.format&&"hsla"!==this.format&&this.options.format!==!1||this.picker.addClass("colorpicker-with-alpha"),"right"===this.options.align&&this.picker.addClass("colorpicker-right"),this.options.inline===!0&&this.picker.addClass("colorpicker-no-arrow"),this.options.colorSelectors){var f=this;a.each(this.options.colorSelectors,function(b,c){var d=a("").css("background-color",c).data("class",b);d.click(function(){f.setValue(a(this).css("background-color"))}),f.picker.find(".colorpicker-selectors").append(d)}),this.picker.find(".colorpicker-selectors").show()}this.picker.on("mousedown.colorpicker touchstart.colorpicker",a.proxy(this.mousedown,this)),this.picker.appendTo(this.container?this.container:a("body")),this.input!==!1&&(this.input.on({"keyup.colorpicker":a.proxy(this.keyup,this)}),this.input.on({"change.colorpicker":a.proxy(this.change,this)}),this.component===!1&&this.element.on({"focus.colorpicker":a.proxy(this.show,this)}),this.options.inline===!1&&this.element.on({"focusout.colorpicker":a.proxy(this.hide,this)})),this.component!==!1&&this.component.on({"click.colorpicker":a.proxy(this.show,this)}),this.input===!1&&this.component===!1&&this.element.on({"click.colorpicker":a.proxy(this.show,this)}),this.input!==!1&&this.component!==!1&&"color"===this.input.attr("type")&&this.input.on({"click.colorpicker":a.proxy(this.show,this),"focus.colorpicker":a.proxy(this.show,this)}),this.update(),a(a.proxy(function(){this.element.trigger("create")},this))};d.Color=b,d.prototype={constructor:d,destroy:function(){this.picker.remove(),this.element.removeData("colorpicker","color").off(".colorpicker"),this.input!==!1&&this.input.off(".colorpicker"),this.component!==!1&&this.component.off(".colorpicker"),this.element.removeClass("colorpicker-element"),this.element.trigger({type:"destroy"})},reposition:function(){if(this.options.inline!==!1||this.options.container)return!1;var a=this.container&&this.container[0]!==document.body?"position":"offset",b=this.component||this.element,c=b[a]();"right"===this.options.align&&(c.left-=this.picker.outerWidth()-b.outerWidth()),this.picker.css({top:c.top+b.outerHeight(),left:c.left})},show:function(b){return!this.isDisabled()&&(this.picker.addClass("colorpicker-visible").removeClass("colorpicker-hidden"),this.reposition(),a(window).on("resize.colorpicker",a.proxy(this.reposition,this)),!b||this.hasInput()&&"color"!==this.input.attr("type")||b.stopPropagation&&b.preventDefault&&(b.stopPropagation(),b.preventDefault()),!this.component&&this.input||this.options.inline!==!1||a(window.document).on({"mousedown.colorpicker":a.proxy(this.hide,this)}),void this.element.trigger({type:"showPicker",color:this.color}))},hide:function(){this.picker.addClass("colorpicker-hidden").removeClass("colorpicker-visible"),a(window).off("resize.colorpicker",this.reposition),a(document).off({"mousedown.colorpicker":this.hide}),this.update(),this.element.trigger({type:"hidePicker",color:this.color})},updateData:function(a){return a=a||this.color.toString(this.format),this.element.data("color",a),a},updateInput:function(a){if(a=a||this.color.toString(this.format),this.input!==!1){if(this.options.colorSelectors){var c=new b(a,this.options.colorSelectors),d=c.toAlias();"undefined"!=typeof this.options.colorSelectors[d]&&(a=d)}this.input.prop("value",a)}return a},updatePicker:function(a){void 0!==a&&(this.color=new b(a,this.options.colorSelectors));var c=this.options.horizontal===!1?this.options.sliders:this.options.slidersHorz,d=this.picker.find("i");if(0!==d.length)return this.options.horizontal===!1?(c=this.options.sliders,d.eq(1).css("top",c.hue.maxTop*(1-this.color.value.h)).end().eq(2).css("top",c.alpha.maxTop*(1-this.color.value.a))):(c=this.options.slidersHorz,d.eq(1).css("left",c.hue.maxLeft*(1-this.color.value.h)).end().eq(2).css("left",c.alpha.maxLeft*(1-this.color.value.a))),d.eq(0).css({top:c.saturation.maxTop-this.color.value.b*c.saturation.maxTop,left:this.color.value.s*c.saturation.maxLeft}),this.picker.find(".colorpicker-saturation").css("backgroundColor",this.color.toHex(this.color.value.h,1,1,1)),this.picker.find(".colorpicker-alpha").css("backgroundColor",this.color.toHex()),this.picker.find(".colorpicker-color, .colorpicker-color div").css("backgroundColor",this.color.toString(this.format)),a},updateComponent:function(a){if(a=a||this.color.toString(this.format),this.component!==!1){var b=this.component.find("i").eq(0);b.length>0?b.css({backgroundColor:a}):this.component.css({backgroundColor:a})}return a},update:function(a){var b;return this.getValue(!1)===!1&&a!==!0||(b=this.updateComponent(),this.updateInput(b),this.updateData(b),this.updatePicker()),b},setValue:function(a){this.color=new b(a,this.options.colorSelectors),this.update(!0),this.element.trigger({type:"changeColor",color:this.color,value:a})},getValue:function(a){a=void 0===a?"#000000":a;var b;return b=this.hasInput()?this.input.val():this.element.data("color"),void 0!==b&&""!==b&&null!==b||(b=a),b},hasInput:function(){return this.input!==!1},isDisabled:function(){return!!this.hasInput()&&this.input.prop("disabled")===!0},disable:function(){return!!this.hasInput()&&(this.input.prop("disabled",!0),this.element.trigger({type:"disable",color:this.color,value:this.getValue()}),!0)},enable:function(){return!!this.hasInput()&&(this.input.prop("disabled",!1),this.element.trigger({type:"enable",color:this.color,value:this.getValue()}),!0)},currentSlider:null,mousePointer:{left:0,top:0},mousedown:function(b){!b.pageX&&!b.pageY&&b.originalEvent&&b.originalEvent.touches&&(b.pageX=b.originalEvent.touches[0].pageX,b.pageY=b.originalEvent.touches[0].pageY),b.stopPropagation(),b.preventDefault();var c=a(b.target),d=c.closest("div"),e=this.options.horizontal?this.options.slidersHorz:this.options.sliders;if(!d.is(".colorpicker")){if(d.is(".colorpicker-saturation"))this.currentSlider=a.extend({},e.saturation);else if(d.is(".colorpicker-hue"))this.currentSlider=a.extend({},e.hue);else{if(!d.is(".colorpicker-alpha"))return!1;this.currentSlider=a.extend({},e.alpha)}var f=d.offset();this.currentSlider.guide=d.find("i")[0].style,this.currentSlider.left=b.pageX-f.left,this.currentSlider.top=b.pageY-f.top,this.mousePointer={left:b.pageX,top:b.pageY},a(document).on({"mousemove.colorpicker":a.proxy(this.mousemove,this),"touchmove.colorpicker":a.proxy(this.mousemove,this),"mouseup.colorpicker":a.proxy(this.mouseup,this),"touchend.colorpicker":a.proxy(this.mouseup,this)}).trigger("mousemove")}return!1},mousemove:function(a){!a.pageX&&!a.pageY&&a.originalEvent&&a.originalEvent.touches&&(a.pageX=a.originalEvent.touches[0].pageX,a.pageY=a.originalEvent.touches[0].pageY),a.stopPropagation(),a.preventDefault();var b=Math.max(0,Math.min(this.currentSlider.maxLeft,this.currentSlider.left+((a.pageX||this.mousePointer.left)-this.mousePointer.left))),c=Math.max(0,Math.min(this.currentSlider.maxTop,this.currentSlider.top+((a.pageY||this.mousePointer.top)-this.mousePointer.top)));return this.currentSlider.guide.left=b+"px",this.currentSlider.guide.top=c+"px",this.currentSlider.callLeft&&this.color[this.currentSlider.callLeft].call(this.color,b/this.currentSlider.maxLeft),this.currentSlider.callTop&&this.color[this.currentSlider.callTop].call(this.color,c/this.currentSlider.maxTop),"setAlpha"===this.currentSlider.callTop&&this.options.format===!1&&(1!==this.color.value.a?(this.format="rgba",this.color.origFormat="rgba"):(this.format="hex",this.color.origFormat="hex")),this.update(!0),this.element.trigger({type:"changeColor",color:this.color}),!1},mouseup:function(b){return b.stopPropagation(),b.preventDefault(),a(document).off({"mousemove.colorpicker":this.mousemove,"touchmove.colorpicker":this.mousemove,"mouseup.colorpicker":this.mouseup,"touchend.colorpicker":this.mouseup}),!1},change:function(a){this.keyup(a)},keyup:function(a){38===a.keyCode?(this.color.value.a<1&&(this.color.value.a=Math.round(100*(this.color.value.a+.01))/100),this.update(!0)):40===a.keyCode?(this.color.value.a>0&&(this.color.value.a=Math.round(100*(this.color.value.a-.01))/100),this.update(!0)):(this.color=new b(this.input.val(),this.options.colorSelectors),this.color.origFormat&&this.options.format===!1&&(this.format=this.color.origFormat),this.getValue(!1)!==!1&&(this.updateData(),this.updateComponent(),this.updatePicker())),this.element.trigger({type:"changeColor",color:this.color,value:this.input.val()})}},a.colorpicker=d,a.fn.colorpicker=function(b){var c=Array.prototype.slice.call(arguments,1),e=1===this.length,f=null,g=this.each(function(){var e=a(this),g=e.data("colorpicker"),h="object"==typeof b?b:{};g||(g=new d(this,h),e.data("colorpicker",g)),"string"==typeof b?a.isFunction(g[b])?f=g[b].apply(g,c):(c.length&&(g[b]=c[0]),f=g[b]):f=e});return e?f:g},a.fn.colorpicker.constructor=d}),/** @license ======================================================================== XPath.js - Pure JavaScript implementation of XPath 2.0 parser and evaluator Copyright (c) 2012 Sergey Ilinsky Dual licensed under the MIT and GPL licenses. */ function(){function a(a){this.code=a,this.message=Vc[a]}function b(b){var c=b.match(/\$?(?:(?![0-9-])(?:\w[\w.-]*|\*):)?(?![0-9-])(?:\w[\w.-]*|\*)|\(:|:\)|\/\/|\.\.|::|\d+(?:\.\d*)?(?:[eE][+-]?\d+)?|\.\d+(?:[eE][+-]?\d+)?|"[^"]*(?:""[^"]*)*"|'[^']*(?:''[^']*)*'|<<|>>|[!<>]=|(?![0-9-])[\w-]+:\*|\s+|./g);if(c){for(var d=0,e=0,f=c.length;e0)}function e(){this.dataTypes={},this.documents={},this.functions={},this.collations={},this.collections={}}function f(a,b,c){Xc[a]=c,Yc[a]=b}function g(a,b){Zc[a]=b}function h(c,d){var e=new b(c),f=l(e,d);if(!e.eof())throw new a("XPST0003");if(!f)throw new a("XPST0003");this.internalExpression=f}function i(){}function j(){}function k(){this.items=[]}function l(b,c){var d;if(!b.eof()&&(d=m(b,c))){var e=new k;for(e.items.push(d);","==b.peek();){if(b.next(),b.eof()||!(d=m(b,c)))throw new a("XPST0003");e.items.push(d)}return e}}function m(a,b){if(!a.eof())return s(a,b)||o(a,b)||u(a,b)||K(a,b)}function n(){this.bindings=[],this.returnExpr=null}function o(b,c){if("for"==b.peek()&&"$"==b.peek(1).substr(0,1)){b.next();var d,e=new n;do e.bindings.push(q(b,c));while(","==b.peek()&&b.next());if("return"!=b.peek())throw new a("XPST0003");if(b.next(),b.eof()||!(d=m(b,c)))throw new a("XPST0003");return e.returnExpr=d,e}}function p(a,b,c,d){this.prefix=a,this.localName=b,this.namespaceURI=c,this.inExpr=d}function q(b,c){var d=b.peek().substr(1).match(id);if(!d)throw new a("XPST0003");if("*"==d[1]||"*"==d[2])throw new a("XPST0003");if(b.next(),"in"!=b.peek())throw new a("XPST0003");b.next();var e;if(b.eof()||!(e=m(b,c)))throw new a("XPST0003");return new p(d[1]||null,d[2],d[1]?c.getURIForPrefix(d[1]):null,e)}function r(a,b,c){this.condExpr=a,this.thenExpr=b,this.elseExpr=c}function s(b,c){var d,e,f;if("if"==b.peek()&&"("==b.peek(1)){if(b.next(2),b.eof()||!(d=l(b,c)))throw new a("XPST0003");if(")"!=b.peek())throw new a("XPST0003");if(b.next(),"then"!=b.peek())throw new a("XPST0003");if(b.next(),b.eof()||!(e=m(b,c)))throw new a("XPST0003");if("else"!=b.peek())throw new a("XPST0003");if(b.next(),b.eof()||!(f=m(b,c)))throw new a("XPST0003");return new r(d,e,f)}}function t(a){this.quantifier=a,this.bindings=[],this.satisfiesExpr=null}function u(b,c){var d=b.peek();if(("some"==d||"every"==d)&&"$"==b.peek(1).substr(0,1)){b.next();var e,f=new t(d);do f.bindings.push(w(b,c));while(","==b.peek()&&b.next());if("satisfies"!=b.peek())throw new a("XPST0003");if(b.next(),b.eof()||!(e=m(b,c)))throw new a("XPST0003");return f.satisfiesExpr=e,f}}function v(a,b,c,d){this.prefix=a,this.localName=b,this.namespaceURI=c,this.inExpr=d}function w(b,c){var d=b.peek().substr(1).match(id);if(!d)throw new a("XPST0003");if("*"==d[1]||"*"==d[2])throw new a("XPST0003");if(b.next(),"in"!=b.peek())throw new a("XPST0003");b.next();var e;if(b.eof()||!(e=m(b,c)))throw new a("XPST0003");return new v(d[1]||null,d[2],d[1]?c.getURIForPrefix(d[1]):null,e)}function x(a,b,c){this.left=a,this.right=b,this.operator=c}function y(b,c){var d,e;if(!b.eof()&&(d=ya(b,c))){if(!(b.peek()in cd))return d;var f=b.peek();if(b.next(),b.eof()||!(e=ya(b,c)))throw new a("XPST0003");return new x(d,e,f)}}function z(a,b){var c=vc(a.left.evaluate(b),b);if(!c.length)return new Xa(!1);var d=vc(a.right.evaluate(b),b);if(!d.length)return new Xa(!1);for(var e,f,g=!1,h=0,i=c.length;hj)throw new a("XPST0017");if(i1)throw new a("XPTY0004")}else if("+"==d){if(e<1)throw new a("XPTY0004")}else if("*"!=d&&1!=e)throw new a("XPTY0004")}function va(a){this.left=a,this.items=[]}function wa(b,c){var d,e;if(!b.eof()&&(d=Ca(b,c))){if("intersect"!=(e=b.peek())&&"except"!=e)return d;for(var f=new va(d);"intersect"==(e=b.peek())||"except"==e;){if(b.next(),b.eof()||!(d=Ca(b,c)))throw new a("XPST0003");f.items.push([e,d])}return f}}function xa(a,b){this.left=a,this.right=b}function ya(b,c){var d,e;if(!b.eof()&&(d=D(b,c))){if("to"!=b.peek())return d;if(b.next(),b.eof()||!(e=D(b,c)))throw new a("XPST0003");return new xa(d,e)}}function za(a){this.left=a,this.items=[]}function Aa(b,c){var d,e;if(!b.eof()&&(d=wa(b,c))){if("|"!=(e=b.peek())&&"union"!=e)return d;for(var f=new za(d);"|"==(e=b.peek())||"union"==e;){if(b.next(),b.eof()||!(d=wa(b,c)))throw new a("XPST0003");f.items.push(d)}return f}}function Ba(a,b){this.expression=a,this.type=b}function Ca(b,c){var d,e;if(!b.eof()&&(d=Ea(b,c))){if("instance"!=b.peek()||"of"!=b.peek(1))return d;if(b.next(2),b.eof()||!(e=Oa(b,c)))throw new a("XPST0003");return new Ba(d,e)}}function Da(a,b){this.expression=a,this.type=b}function Ea(b,c){var d,e;if(!b.eof()&&(d=Ga(b,c))){if("treat"!=b.peek()||"as"!=b.peek(1))return d;if(b.next(2),b.eof()||!(e=Oa(b,c)))throw new a("XPST0003");return new Da(d,e)}}function Fa(a,b){this.expression=a,this.type=b}function Ga(b,c){var d,e;if(!b.eof()&&(d=Ia(b,c))){if("castable"!=b.peek()||"as"!=b.peek(1))return d;if(b.next(2),b.eof()||!(e=Qa(b,c)))throw new a("XPST0003");return new Fa(d,e)}}function Ha(a,b){this.expression=a,this.type=b}function Ia(b,c){var d,e;if(!b.eof()&&(d=H(b,c))){if("cast"!=b.peek()||"as"!=b.peek(1))return d;if(b.next(2),b.eof()||!(e=Qa(b,c)))throw new a("XPST0003");return new Ha(d,e)}}function Ja(a,b,c){this.prefix=a,this.localName=b,this.namespaceURI=c}function Ka(b,c){var d=b.peek().match(id);if(d){if("*"==d[1]||"*"==d[2])throw new a("XPST0003");return b.next(),new Ja(d[1]||null,d[2],d[1]?c.getURIForPrefix(d[1]):null)}}function La(a){this.test=a}function Ma(b,c){if(!b.eof()){var d;if("item"==b.peek()&&"("==b.peek(1)){if(b.next(2),")"!=b.peek())throw new a("XPST0003");return b.next(),new La}return(d=Z(b,c))?new La(d):(d=Ka(b,c))?new La(d):void 0}}function Na(a,b){this.itemType=a||null,this.occurence=b||null}function Oa(b,c){if(!b.eof()){if("empty-sequence"==b.peek()&&"("==b.peek(1)){if(b.next(2),")"!=b.peek())throw new a("XPST0003");return b.next(),new Na}var d,e;return!b.eof()&&(d=Ma(b,c))?(e=b.peek(),"?"==e||"*"==e||"+"==e?b.next():e=null,new Na(d,e)):void 0}}function Pa(a,b){this.itemType=a||null,this.occurence=b||null}function Qa(a,b){var c,d;if(!a.eof()&&(c=Ka(a,b)))return d=a.peek(),"?"==d?a.next():d=null,new Pa(c,d)}function Ra(){}function Sa(){}function Ta(){}function Ua(a){return a instanceof lb||a instanceof gb||a instanceof fb}function Va(a,b,c,d,e){this.scheme=a,this.authority=b,this.path=c,this.query=d,this.fragment=e}function Wa(a){this.value=a}function Xa(a){this.value=a}function Ya(a,b,c,d,e){this.year=a,this.month=b,this.day=c,this.timezone=d,this.negative=e}function Za(a,b){return 2==b&&(a%400==0||a%100!=0&&a%4==0)?29:pd[b-1]}function $a(a,b){if(!b){var c=Za(a.year,a.month);if(a.day>c)for(;a.day>c;)a.month+=1,a.month>12&&(a.year+=1,0==a.year&&(a.year=1),a.month=1),a.day-=c,c=Za(a.year,a.month);else if(a.day<1)for(;a.day<1;)a.month-=1,a.month<1&&(a.year-=1,0==a.year&&(a.year=-1),a.month=12),c=Za(a.year,a.month),a.day+=c}return a.month>12?(a.year+=~~(a.month/12),0==a.year&&(a.year=1),a.month=a.month%12):a.month<1&&(a.year+=~~(a.month/12)-1,0==a.year&&(a.year=-1),a.month=a.month%12+12),a}function _a(a,b,c,d,e,f,g,h){this.year=a,this.month=b,this.day=c,this.hours=d,this.minutes=e,this.seconds=f,this.timezone=g,this.negative=h}function ab(a,b){var c=Ac(a);return arguments.length<2&&(b=2),(c.length0?"+":"-")+ab(Gc.abs(~~(b/60)))+":"+ab(Gc.abs(b%60)):"Z"}function cb(a){return(a.negative?"-":"")+ab(a.year,4)+"-"+ab(a.month)+"-"+ab(a.day)}function db(a){var b=Ac(a.seconds).split(".");return ab(a.hours)+":"+ab(a.minutes)+":"+ab(b[0])+(b.length>1?"."+b[1]:"")}function eb(a){return $a(wb(a))}function fb(a){this.value=a}function gb(a){this.value=a}function hb(a,b,c,d,e,f,g){this.year=a,this.month=b,this.day=c,this.hours=d,this.minutes=e,this.seconds=f,this.negative=g}function ib(a){return(a.year?a.year+"Y":"")+(a.month?a.month+"M":"")}function jb(a){return(a.day?a.day+"D":"")+(a.hours||a.minutes||a.seconds?"T"+(a.hours?a.hours+"H":"")+(a.minutes?a.minutes+"M":"")+(a.seconds?a.seconds+"S":""):"")}function kb(a){return zb(Bb(a))}function lb(a){this.value=a}function mb(a,b){this.day=a,this.timezone=b}function nb(a,b){this.month=a,this.timezone=b}function ob(a,b,c){this.month=a,this.day=b,this.timezone=c}function pb(a,b){this.year=a,this.timezone=b}function qb(a,b,c){this.year=a,this.month=b,this.timezone=c}function rb(a){this.value=a}function sb(){}function tb(a,b,c){this.prefix=a,this.localName=b,this.namespaceURI=c}function ub(a){this.value=a}function vb(a,b,c,d){this.hours=a,this.minutes=b,this.seconds=c,this.timezone=d}function wb(a){return(a.seconds>=60||a.seconds<0)&&(a.minutes+=~~(a.seconds/60)-(a.seconds<0&&a.seconds%60?1:0),a.seconds=a.seconds%60+(a.seconds<0&&a.seconds%60?60:0)),(a.minutes>=60||a.minutes<0)&&(a.hours+=~~(a.minutes/60)-(a.minutes<0&&a.minutes%60?1:0),a.minutes=a.minutes%60+(a.minutes<0&&a.minutes%60?60:0)),(a.hours>=24||a.hours<0)&&(a instanceof _a&&(a.day+=~~(a.hours/24)-(a.hours<0&&a.hours%24?1:0)),a.hours=a.hours%24+(a.hours<0&&a.hours%24?24:0)),a}function xb(a){this.value=a}function yb(a,b,c){hb.call(this,a,b,0,0,0,0,c)}function zb(a){return a.month>=12&&(a.year+=~~(a.month/12),a.month%=12),a}function Ab(a,b,c,d,e){hb.call(this,0,0,a,b,c,d,e)}function Bb(a){return a.seconds>=60&&(a.minutes+=~~(a.seconds/60),a.seconds%=60),a.minutes>=60&&(a.hours+=~~(a.minutes/60),a.minutes%=60),a.hours>=24&&(a.day+=~~(a.hours/24),a.hours%=24),a}function Cb(a){this.value=a}function Db(a){this.value=a}function Eb(a){this.value=a}function Fb(a){this.value=a}function Gb(a){this.value=a}function Hb(a){this.value=a}function Ib(a){this.value=a}function Jb(a){this.value=a}function Kb(a){this.value=a}function Lb(a){this.value=a}function Mb(a){this.value=a}function Nb(a){this.value=a}function Ob(a){this.value=a}function Pb(a){this.value=a}function Qb(a){this.value=a}function Rb(a){this.value=a}function Sb(a){this.value=a}function Tb(a){this.value=a}function Ub(a){this.value=a}function Vb(a){this.value=a}function Wb(a){this.value=a}function Xb(a){this.value=a}function Yb(){}function Zb(){}function $b(){}function _b(){}function ac(){}function bc(){}function cc(){}function dc(){}function ec(a,b,c){var d=nc(a),e=nc(b);return new Xa("lt"==c?de:d==e)}function fc(a,b,c){return gc(_a.cast(a),_a.cast(b),c)}function gc(a,b,c){var d=new Ab(0,0,0,0),e=tc(a,d).toString(),f=tc(b,d).toString();return new Xa("lt"==c?ef:e==f)}function hc(a,b,c){var d;a instanceof Ya?d=new Ya(a.year,a.month,a.day,a.timezone,a.negative):a instanceof _a&&(d=new _a(a.year,a.month,a.day,a.hours,a.minutes,a.seconds,a.timezone,a.negative)),d.year=d.year+b.year*("-"==c?-1:1),d.month=d.month+b.month*("-"==c?-1:1),$a(d,!0);var e=Za(d.year,d.month);return d.day>e&&(d.day=e),d}function ic(a,b,c){var d;if(a instanceof Ya){var e=60*(60*b.hours+b.minutes)+b.seconds;d=new Ya(a.year,a.month,a.day,a.timezone,a.negative),d.day=d.day+b.day*("-"==c?-1:1)-1*(e&&"-"==c),$a(d)}else a instanceof _a&&(d=new _a(a.year,a.month,a.day,a.hours,a.minutes,a.seconds,a.timezone,a.negative),d.seconds=d.seconds+b.seconds*("-"==c?-1:1),d.minutes=d.minutes+b.minutes*("-"==c?-1:1),d.hours=d.hours+b.hours*("-"==c?-1:1),d.day=d.day+b.day*("-"==c?-1:1),eb(d));return d}function jc(a){return(60*(60*(24*a.day+a.hours)+a.minutes)+a.seconds)*(a.negative?-1:1)}function kc(a){var b=(a=Gc.round(a))<0,c=~~((a=Gc.abs(a))/86400),d=~~((a-=3600*c*24)/3600),e=~~((a-=3600*d)/60),f=a-=60*e;return new Ab(c,d,e,f,b)}function lc(a){return(12*a.year+a.month)*(a.negative?-1:1)}function mc(a){var b=(a=Gc.round(a))<0,c=~~((a=Gc.abs(a))/12),d=a-=12*c;return new yb(c,d,b)}function nc(a){return a.seconds+60*(a.minutes-(null!=a.timezone?a.timezone%60:0)+60*(a.hours-(null!=a.timezone?~~(a.timezone/60):0)))}function oc(a){var b=new Ec((a.negative?-1:1)*a.year,a.month,a.day,0,0,0,0);return a instanceof _a&&(b.setHours(a.hours),b.setMinutes(a.minutes),b.setSeconds(a.seconds)),null!=a.timezone&&b.setMinutes(b.getMinutes()-a.timezone),b.getTime()/1e3}function pc(a,b){if(Ic(a)||Gc.abs(a)==Lc||Ic(b)||Gc.abs(b)==Lc)return 0;var c=Ac(a).match(jd),d=Ac(b).match(jd),e=Gc.max(1,(c[2]||c[3]||"").length+(c[5]||0)*("+"==c[4]?-1:1),(d[2]||d[3]||"").length+(d[5]||0)*("+"==d[4]?-1:1));return e+(e%2?0:1)}function qc(a,b,c){return new(a instanceof Cb&&b instanceof Cb&&c==Gc.round(c)?Cb:fb)(c)}function rc(a,b){if(null==a)return null;var c=a[b]*(a.negative?-1:1);return"seconds"==b?new fb(c):new Cb(c)}function sc(a,b){if(null==a)return null;if("timezone"==b){var c=a.timezone;return null==c?null:new Ab(0,Gc.abs(~~(c/60)),Gc.abs(c%60),0,c<0)}var d=a[b];return a instanceof Ya||"hours"==b&&24==d&&(d=0),a instanceof vb||(d*=a.negative?-1:1),"seconds"==b?new fb(d):new Cb(d)}function tc(a,b){if(null==a)return null;var c;if(c=a instanceof Ya?new Ya(a.year,a.month,a.day,a.timezone,a.negative):a instanceof vb?new vb(a.hours,a.minutes,a.seconds,a.timezone,a.negative):new _a(a.year,a.month,a.day,a.hours,a.minutes,a.seconds,a.timezone,a.negative),null==b)c.timezone=null;else{var d=jc(b)/60;if(null!=a.timezone){var e=d-a.timezone;a instanceof Ya?e<0&&c.day--:(c.minutes+=e%60,c.hours+=~~(e/60)),eb(c)}c.timezone=d}return c}function uc(b,c){if(!b.length)return!1;var d=b[0];if(c.DOMAdapter.isNode(d))return!0;if(1==b.length){if(d instanceof Xa)return d.value.valueOf();if(d instanceof ub)return!!d.valueOf().length;if(Ua(d))return!(Ic(d.valueOf())||0==d.valueOf());throw new a("FORG0006")}throw new a("FORG0006")}function vc(a,b){for(var c,d,e=[],f=0,g=a.length;f=0,j=c.indexOf("x")>=0;if(i||j){c=c.replace(/[sx]/g,"");for(var k,l=[],m=/\s/,n=0,o=b.length,p=!1,q="";n0},b.prototype.eof=function(){return this.index>=this.length},c.prototype.isNode=function(a){return a&&!!a.nodeType},c.prototype.getProperty=function(a,b){return a[b]},c.prototype.isSameNode=function(a,b){return a==b},c.prototype.compareDocumentPosition=function(a,b){return a.compareDocumentPosition(b)},c.prototype.lookupNamespaceURI=function(a,b){return a.lookupNamespaceURI(b)},c.prototype.getElementById=function(a,b){return a.getElementById(b)},c.prototype.getElementsByTagNameNS=function(a,b,c){return a.getElementsByTagNameNS(b,c)},d.prototype.item=null,d.prototype.position=0,d.prototype.size=0,d.prototype.scope=null,d.prototype.stack=null,d.prototype.dateTime=null,d.prototype.timezone=null,d.prototype.staticContext=null,d.prototype.pushVariable=function(a,b){this.stack.hasOwnProperty(a)||(this.stack[a]=[]),this.stack[a].push(this.scope[a]),this.scope[a]=b},d.prototype.popVariable=function(a){this.stack.hasOwnProperty(a)&&(this.scope[a]=this.stack[a].pop(),this.stack[a].length||(delete this.stack[a],"undefined"==typeof this.scope[a]&&delete this.scope[a]))},e.prototype.baseURI=null,e.prototype.dataTypes=null,e.prototype.documents=null,e.prototype.functions=null,e.prototype.defaultFunctionNamespace=null,e.prototype.collations=null,e.prototype.defaultCollationName=Sc+"/collation/codepoint",e.prototype.collections=null,e.prototype.namespaceResolver=null,e.prototype.defaultElementNamespace=null;var Wc=/^(?:\{([^\}]+)\})?(.+)$/;e.prototype.setDataType=function(a,b){var c=a.match(Wc);c&&c[1]!=Rc&&(this.dataTypes[a]=b)},e.prototype.getDataType=function(a){var b=a.match(Wc);if(b)return b[1]==Rc?Zc[b[2]]:this.dataTypes[a]},e.prototype.setDocument=function(a,b){this.documents[a]=b},e.prototype.getDocument=function(a){return this.documents[a]},e.prototype.setFunction=function(a,b){var c=a.match(Wc);c&&c[1]!=Sc&&(this.functions[a]=b)},e.prototype.getFunction=function(a){var b=a.match(Wc);if(b)return b[1]==Sc?Xc[b[2]]:this.functions[a]},e.prototype.setCollation=function(a,b){this.collations[a]=b},e.prototype.getCollation=function(a){return this.collations[a]},e.prototype.setCollection=function(a,b){this.collections[a]=b},e.prototype.getCollection=function(a){return this.collections[a]},e.prototype.getURIForPrefix=function(b){var c,d=this.namespaceResolver,e=d&&d.lookupNamespaceURI?d.lookupNamespaceURI:d;if(e instanceof Fc&&(c=e.call(d,b)))return c;if("fn"==b)return Sc;if("xs"==b)return Rc;if("xml"==b)return Uc;if("xmlns"==b)return Tc;throw new a("XPST0081")},e.js2xs=function(a){return a="boolean"==typeof a?new Xa(a):"number"==typeof a?Ic(a)||!Jc(a)?new gb(a):ja(Ac(a)):new ub(Ac(a))},e.xs2js=function(a){return a=a instanceof Xa?a.valueOf():Ua(a)?a.valueOf():a.toString()};var Xc={},Yc={},Zc={},$c={};h.prototype.internalExpression=null,h.prototype.evaluate=function(a){return this.internalExpression.evaluate(a)},i.prototype.equals=function(a,b){throw"Not implemented"},i.prototype.compare=function(a,b){throw"Not implemented"},j.ANYSIMPLETYPE_DT=1,j.STRING_DT=2,j.BOOLEAN_DT=3,j.DECIMAL_DT=4,j.FLOAT_DT=5,j.DOUBLE_DT=6,j.DURATION_DT=7,j.DATETIME_DT=8,j.TIME_DT=9,j.DATE_DT=10,j.GYEARMONTH_DT=11,j.GYEAR_DT=12,j.GMONTHDAY_DT=13,j.GDAY_DT=14,j.GMONTH_DT=15,j.HEXBINARY_DT=16,j.BASE64BINARY_DT=17,j.ANYURI_DT=18,j.QNAME_DT=19,j.NOTATION_DT=20,j.NORMALIZEDSTRING_DT=21,j.TOKEN_DT=22,j.LANGUAGE_DT=23,j.NMTOKEN_DT=24,j.NAME_DT=25,j.NCNAME_DT=26,j.ID_DT=27,j.IDREF_DT=28,j.ENTITY_DT=29,j.INTEGER_DT=30,j.NONPOSITIVEINTEGER_DT=31,j.NEGATIVEINTEGER_DT=32,j.LONG_DT=33,j.INT_DT=34,j.SHORT_DT=35,j.BYTE_DT=36,j.NONNEGATIVEINTEGER_DT=37,j.UNSIGNEDLONG_DT=38,j.UNSIGNEDINT_DT=39,j.UNSIGNEDSHORT_DT=40,j.UNSIGNEDBYTE_DT=41,j.POSITIVEINTEGER_DT=42,j.LISTOFUNION_DT=43,j.LIST_DT=44,j.UNAVAILABLE_DT=45,j.DATETIMESTAMP_DT=46,j.DAYMONTHDURATION_DT=47,j.DAYTIMEDURATION_DT=48,j.PRECISIONDECIMAL_DT=49,j.ANYATOMICTYPE_DT=50,j.ANYTYPE_DT=51,j.XT_YEARMONTHDURATION_DT=-1,j.XT_UNTYPEDATOMIC_DT=-2,k.prototype.items=null,k.prototype.evaluate=function(a){for(var b=[],c=0,d=this.items.length;c":"gt","<":"lt",">=":"ge","<=":"le"},ad={};ad.eq=function(b,c,d){var e="";if(Ua(b))Ua(c)&&(e="numeric-equal");else if(b instanceof Xa)c instanceof Xa&&(e="boolean-equal");else if(b instanceof ub){if(c instanceof ub)return $c["numeric-equal"].call(d,Xc.compare.call(d,b,c),new Cb(0))}else b instanceof Ya?c instanceof Ya&&(e="date-equal"):b instanceof vb?c instanceof vb&&(e="time-equal"):b instanceof _a?c instanceof _a&&(e="dateTime-equal"):b instanceof hb?c instanceof hb&&(e="duration-equal"):b instanceof qb?c instanceof qb&&(e="gYearMonth-equal"):b instanceof pb?c instanceof pb&&(e="gYear-equal"):b instanceof ob?c instanceof ob&&(e="gMonthDay-equal"):b instanceof nb?c instanceof nb&&(e="gMonth-equal"):b instanceof mb?c instanceof mb&&(e="gDay-equal"):b instanceof tb?c instanceof tb&&(e="QName-equal"):b instanceof rb?c instanceof rb&&(e="hexBinary-equal"):b instanceof Wa&&c instanceof Wa&&(e="base64Binary-equal");if(e)return $c[e].call(d,b,c);throw new a("XPTY0004")},ad.ne=function(a,b,c){return new Xa(!ad.eq(a,b,c).valueOf())},ad.gt=function(b,c,d){var e="";if(Ua(b))Ua(c)&&(e="numeric-greater-than");else if(b instanceof Xa)c instanceof Xa&&(e="boolean-greater-than");else if(b instanceof ub){if(c instanceof ub)return $c["numeric-greater-than"].call(d,Xc.compare.call(d,b,c),new Cb(0))}else b instanceof Ya?c instanceof Ya&&(e="date-greater-than"):b instanceof vb?c instanceof vb&&(e="time-greater-than"):b instanceof _a?c instanceof _a&&(e="dateTime-greater-than"):b instanceof yb?c instanceof yb&&(e="yearMonthDuration-greater-than"):b instanceof Ab&&c instanceof Ab&&(e="dayTimeDuration-greater-than"); if(e)return $c[e].call(d,b,c);throw new a("XPTY0004")},ad.lt=function(b,c,d){var e="";if(Ua(b))Ua(c)&&(e="numeric-less-than");else if(b instanceof Xa)c instanceof Xa&&(e="boolean-less-than");else if(b instanceof ub){if(c instanceof ub)return $c["numeric-less-than"].call(d,Xc.compare.call(d,b,c),new Cb(0))}else b instanceof Ya?c instanceof Ya&&(e="date-less-than"):b instanceof vb?c instanceof vb&&(e="time-less-than"):b instanceof _a?c instanceof _a&&(e="dateTime-less-than"):b instanceof yb?c instanceof yb&&(e="yearMonthDuration-less-than"):b instanceof Ab&&c instanceof Ab&&(e="dayTimeDuration-less-than");if(e)return $c[e].call(d,b,c);throw new a("XPTY0004")},ad.ge=function(b,c,d){var e="";if(Ua(b))Ua(c)&&(e="numeric-less-than");else if(b instanceof Xa)c instanceof Xa&&(e="boolean-less-than");else if(b instanceof ub){if(c instanceof ub)return $c["numeric-greater-than"].call(d,Xc.compare.call(d,b,c),new Cb(-1))}else b instanceof Ya?c instanceof Ya&&(e="date-less-than"):b instanceof vb?c instanceof vb&&(e="time-less-than"):b instanceof _a?c instanceof _a&&(e="dateTime-less-than"):b instanceof yb?c instanceof yb&&(e="yearMonthDuration-less-than"):b instanceof Ab&&c instanceof Ab&&(e="dayTimeDuration-less-than");if(e)return new Xa(!$c[e].call(d,b,c).valueOf());throw new a("XPTY0004")},ad.le=function(b,c,d){var e="";if(Ua(b))Ua(c)&&(e="numeric-greater-than");else if(b instanceof Xa)c instanceof Xa&&(e="boolean-greater-than");else if(b instanceof ub){if(c instanceof ub)return $c["numeric-less-than"].call(d,Xc.compare.call(d,b,c),new Cb(1))}else b instanceof Ya?c instanceof Ya&&(e="date-greater-than"):b instanceof vb?c instanceof vb&&(e="time-greater-than"):b instanceof _a?c instanceof _a&&(e="dateTime-greater-than"):b instanceof yb?c instanceof yb&&(e="yearMonthDuration-greater-than"):b instanceof Ab&&c instanceof Ab&&(e="dayTimeDuration-greater-than");if(e)return new Xa(!$c[e].call(d,b,c).valueOf());throw new a("XPTY0004")};var bd={};bd.is=function(a,b,c){return $c["is-same-node"].call(c,a,b)},bd[">>"]=function(a,b,c){return $c["node-after"].call(c,a,b)},bd["<<"]=function(a,b,c){return $c["node-before"].call(c,a,b)};var cd={"=":z,"!=":z,"<":z,"<=":z,">":z,">=":z,eq:A,ne:A,lt:A,le:A,gt:A,ge:A,is:B,">>":B,"<<":B};C.prototype.left=null,C.prototype.items=null;var dd={};dd["+"]=function(b,c,d){var e="",f=!1;if(Ua(b)?Ua(c)&&(e="numeric-add"):b instanceof Ya?c instanceof yb?e="add-yearMonthDuration-to-date":c instanceof Ab&&(e="add-dayTimeDuration-to-date"):b instanceof yb?c instanceof Ya?(e="add-yearMonthDuration-to-date",f=!0):c instanceof _a?(e="add-yearMonthDuration-to-dateTime",f=!0):c instanceof yb&&(e="add-yearMonthDurations"):b instanceof Ab?c instanceof Ya?(e="add-dayTimeDuration-to-date",f=!0):c instanceof vb?(e="add-dayTimeDuration-to-time",f=!0):c instanceof _a?(e="add-dayTimeDuration-to-dateTime",f=!0):c instanceof Ab&&(e="add-dayTimeDurations"):b instanceof vb?c instanceof Ab&&(e="add-dayTimeDuration-to-time"):b instanceof _a&&(c instanceof yb?e="add-yearMonthDuration-to-dateTime":c instanceof Ab&&(e="add-dayTimeDuration-to-dateTime")),e)return $c[e].call(d,f?c:b,f?b:c);throw new a("XPTY0004")},dd["-"]=function(b,c,d){var e="";if(Ua(b)?Ua(c)&&(e="numeric-subtract"):b instanceof Ya?c instanceof Ya?e="subtract-dates":c instanceof yb?e="subtract-yearMonthDuration-from-date":c instanceof Ab&&(e="subtract-dayTimeDuration-from-date"):b instanceof vb?c instanceof vb?e="subtract-times":c instanceof Ab&&(e="subtract-dayTimeDuration-from-time"):b instanceof _a?c instanceof _a?e="subtract-dateTimes":c instanceof yb?e="subtract-yearMonthDuration-from-dateTime":c instanceof Ab&&(e="subtract-dayTimeDuration-from-dateTime"):b instanceof yb?c instanceof yb&&(e="subtract-yearMonthDurations"):b instanceof Ab&&c instanceof Ab&&(e="subtract-dayTimeDurations"),e)return $c[e].call(d,b,c);throw new a("XPTY0004")},C.prototype.evaluate=function(a){var b=vc(this.left.evaluate(a),a);if(!b.length)return[];ua(a,b,"?");var c=b[0];c instanceof xb&&(c=gb.cast(c));for(var d,e,f=0,g=this.items.length;f1)return[new Xa(!1)];if(!c.length)return[new Xa("?"==e)];try{d.cast(vc(c,b)[0])}catch(b){if("XPST0051"==b.code)throw b;if("XPST0017"==b.code)throw new a("XPST0080");return[new Xa(!1)]}return[new Xa(!0)]},Ha.prototype.expression=null,Ha.prototype.type=null,Ha.prototype.evaluate=function(a){var b=this.expression.evaluate(a);return ua(a,b,this.type.occurence),b.length?[this.type.itemType.cast(vc(b,a)[0],a)]:[]},Ja.prototype.prefix=null,Ja.prototype.localName=null,Ja.prototype.namespaceURI=null,Ja.prototype.test=function(b,c){var d=(this.namespaceURI?"{"+this.namespaceURI+"}":"")+this.localName,e=this.namespaceURI==Rc?Zc[this.localName]:c.staticContext.getDataType(d);if(e)return b instanceof e;throw new a("XPST0051")},Ja.prototype.cast=function(b,c){var d=(this.namespaceURI?"{"+this.namespaceURI+"}":"")+this.localName,e=this.namespaceURI==Rc?Zc[this.localName]:c.staticContext.getDataType(d);if(e)return e.cast(b);throw new a("XPST0051")},La.prototype.test=null,Na.prototype.itemType=null,Na.prototype.occurence=null,Pa.prototype.itemType=null,Pa.prototype.occurence=null,Ra.prototype.builtInKind=j.ANYTYPE_DT,Sa.prototype=new Ra,Sa.prototype.builtInKind=j.ANYSIMPLETYPE_DT,Sa.prototype.primitiveKind=null,Sa.PRIMITIVE_ANYURI="anyURI",Sa.PRIMITIVE_BASE64BINARY="base64Binary",Sa.PRIMITIVE_BOOLEAN="boolean",Sa.PRIMITIVE_DATE="date",Sa.PRIMITIVE_DATETIME="dateTime",Sa.PRIMITIVE_DECIMAL="decimal",Sa.PRIMITIVE_DOUBLE="double",Sa.PRIMITIVE_DURATION="duration",Sa.PRIMITIVE_FLOAT="float",Sa.PRIMITIVE_GDAY="gDay",Sa.PRIMITIVE_GMONTH="gMonth",Sa.PRIMITIVE_GMONTHDAY="gMonthDay",Sa.PRIMITIVE_GYEAR="gYear",Sa.PRIMITIVE_GYEARMONTH="gYearMonth",Sa.PRIMITIVE_HEXBINARY="hexBinary",Sa.PRIMITIVE_NOTATION="NOTATION",Sa.PRIMITIVE_QNAME="QName",Sa.PRIMITIVE_STRING="string",Sa.PRIMITIVE_TIME="time",Ta.prototype=new Sa,Ta.prototype.builtInKind=j.ANYATOMICTYPE_DT,Ta.cast=function(b){throw new a("XPST0017")},g("anyAtomicType",Ta),Va.prototype=new Ta,Va.prototype.builtInKind=j.ANYURI_DT,Va.prototype.primitiveKind=Sa.PRIMITIVE_ANYURI,Va.prototype.scheme=null,Va.prototype.authority=null,Va.prototype.path=null,Va.prototype.query=null,Va.prototype.fragment=null,Va.prototype.toString=function(){return(this.scheme?this.scheme+":":"")+(this.authority?"//"+this.authority:"")+(this.path?this.path:"")+(this.query?"?"+this.query:"")+(this.fragment?"#"+this.fragment:"")};var ld=/^(([^:\/?#]+):)?(\/\/([^\/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?/;Va.cast=function(b){if(b instanceof Va)return b;if(b instanceof ub||b instanceof xb){var c;if(c=Pc(b).match(ld))return new Va(c[2],c[4],c[5],c[7],c[9]);throw new a("FORG0001")}throw new a("XPTY0004")},g("anyURI",Va),Wa.prototype=new Ta,Wa.prototype.builtInKind=j.BASE64BINARY_DT,Wa.prototype.primitiveKind=Sa.PRIMITIVE_BASE64BINARY,Wa.prototype.value=null,Wa.prototype.valueOf=function(){return this.value},Wa.prototype.toString=function(){return this.value};var md=/^((([A-Za-z0-9+\/]\s*){4})*(([A-Za-z0-9+\/]\s*){3}[A-Za-z0-9+\/]|([A-Za-z0-9+\/]\s*){2}[AEIMQUYcgkosw048]\s*=|[A-Za-z0-9+\/]\s*[AQgw]\s*=\s*=))?$/;Wa.cast=function(b){if(b instanceof Wa)return b;if(b instanceof ub||b instanceof xb){var c=Pc(b).match(md);if(c)return new Wa(c[0]);throw new a("FORG0001")}if(b instanceof rb){for(var c=b.valueOf().match(/.{2}/g),d=[],e=0,f=c.length;e=-0x8000000000000000)return new Fb(c.value);throw new a("FORG0001")},g("long",Fb),Gb.prototype=new Fb,Gb.prototype.builtInKind=j.INT_DT,Gb.cast=function(b){var c;try{c=Cb.cast(b)}catch(a){throw a}if(c.value<=2147483647&&c.value>=-2147483648)return new Gb(c.value);throw new a("FORG0001")},g("int",Gb),Hb.prototype=new Gb,Hb.prototype.builtInKind=j.SHORT_DT,Hb.cast=function(b){var c;try{c=Cb.cast(b)}catch(a){throw a}if(c.value<=32767&&c.value>=-32768)return new Hb(c.value);throw new a("FORG0001")},g("short",Hb),Ib.prototype=new Hb,Ib.prototype.builtInKind=j.BYTE_DT,Ib.cast=function(b){var c;try{c=Cb.cast(b)}catch(a){throw a}if(c.value<=127&&c.value>=-128)return new Ib(c.value);throw new a("FORG0001")},g("byte",Ib),Jb.prototype=new Cb,Jb.prototype.builtInKind=j.NONNEGATIVEINTEGER_DT,Jb.cast=function(b){var c;try{c=Cb.cast(b)}catch(a){throw a}if(c.value>=0)return new Jb(c.value);throw new a("FORG0001")},g("nonNegativeInteger",Jb),Kb.prototype=new Jb,Kb.prototype.builtInKind=j.POSITIVEINTEGER_DT,Kb.cast=function(b){var c;try{c=Cb.cast(b)}catch(a){throw a}if(c.value>=1)return new Kb(c.value);throw new a("FORG0001")},g("positiveInteger",Kb),Lb.prototype=new Jb,Lb.prototype.builtInKind=j.UNSIGNEDLONG_DT,Lb.cast=function(b){var c;try{c=Cb.cast(b)}catch(a){throw a}if(c.value>=1&&c.value<=0x10000000000000000)return new Lb(c.value);throw new a("FORG0001")},g("unsignedLong",Lb),Mb.prototype=new Jb,Mb.prototype.builtInKind=j.UNSIGNEDINT_DT,Mb.cast=function(b){var c;try{c=Cb.cast(b)}catch(a){throw a}if(c.value>=1&&c.value<=4294967295)return new Mb(c.value);throw new a("FORG0001")},g("unsignedInt",Mb),Nb.prototype=new Mb,Nb.prototype.builtInKind=j.UNSIGNEDSHORT_DT,Nb.cast=function(b){var c;try{c=Cb.cast(b)}catch(a){throw a}if(c.value>=1&&c.value<=65535)return new Nb(c.value);throw new a("FORG0001")},g("unsignedShort",Nb),Ob.prototype=new Nb,Ob.prototype.builtInKind=j.UNSIGNEDBYTE_DT, Ob.cast=function(b){var c;try{c=Cb.cast(b)}catch(a){throw a}if(c.value>=1&&c.value<=255)return new Ob(c.value);throw new a("FORG0001")},g("unsignedByte",Ob),Pb.prototype=new ub,Pb.prototype.builtInKind=j.NORMALIZEDSTRING_DT,Pb.cast=function(a){return new Pb(Ac(a))},g("normalizedString",Pb),Qb.prototype=new Pb,Qb.prototype.builtInKind=j.TOKEN_DT,Qb.cast=function(a){return new Qb(Ac(a))},g("token",Qb),Rb.prototype=new Qb,Rb.prototype.builtInKind=j.NAME_DT,Rb.cast=function(a){return new Rb(Ac(a))},g("Name",Rb),Sb.prototype=new Rb,Sb.prototype.builtInKind=j.NCNAME_DT,Sb.cast=function(a){return new Sb(Ac(a))},g("NCName",Sb),Tb.prototype=new Sb,Tb.prototype.builtInKind=j.ENTITY_DT,Tb.cast=function(a){return new Tb(Ac(a))},g("ENTITY",Tb),Ub.prototype=new Sb,Ub.prototype.builtInKind=j.ID_DT,Ub.cast=function(a){return new Ub(Ac(a))},g("ID",Ub),Vb.prototype=new Sb,Vb.prototype.builtInKind=j.IDREF_DT,Vb.cast=function(a){return new Vb(Ac(a))},g("IDREF",Vb),Wb.prototype=new Qb,Wb.prototype.builtInKind=j.LANGUAGE_DT,Wb.cast=function(a){return new Wb(Ac(a))},g("language",Wb),Xb.prototype=new Qb,Xb.prototype.builtInKind=j.NMTOKEN_DT,Xb.cast=function(a){return new Xb(Ac(a))},g("NMTOKEN",Xb),Zb.prototype=new Yb,$b.prototype=new Zb,_b.prototype=new Zb,ac.prototype=new Zb,bc.prototype=new Zb,cc.prototype=new Zb,dc.prototype=new Zb,$c["hexBinary-equal"]=function(a,b){return new Xa(a.valueOf()==b.valueOf())},$c["base64Binary-equal"]=function(a,b){return new Xa(a.valueOf()==b.valueOf())},$c["boolean-equal"]=function(a,b){return new Xa(a.valueOf()==b.valueOf())},$c["boolean-less-than"]=function(a,b){return new Xa(a.valueOf()b.valueOf())},$c["yearMonthDuration-less-than"]=function(a,b){return new Xa(lc(a)lc(b))},$c["dayTimeDuration-less-than"]=function(a,b){return new Xa(jc(a)jc(b))},$c["duration-equal"]=function(a,b){return new Xa(a.negative==b.negative&&lc(a)==lc(b)&&jc(a)==jc(b))},$c["dateTime-equal"]=function(a,b){return gc(a,b,"eq")},$c["dateTime-less-than"]=function(a,b){return gc(a,b,"lt")},$c["dateTime-greater-than"]=function(a,b){return gc(a,b,"gt")},$c["date-equal"]=function(a,b){return fc(a,b,"eq")},$c["date-less-than"]=function(a,b){return fc(a,b,"lt")},$c["date-greater-than"]=function(a,b){return fc(a,b,"gt")},$c["time-equal"]=function(a,b){return ec(a,b,"eq")},$c["time-less-than"]=function(a,b){return ec(a,b,"lt")},$c["time-greater-than"]=function(a,b){return ec(a,b,"gt")},$c["gYearMonth-equal"]=function(a,b){return gc(new _a(a.year,a.month,Za(a.year,a.month),0,0,0,null==a.timezone?this.timezone:a.timezone),new _a(b.year,b.month,Za(b.year,b.month),0,0,0,null==b.timezone?this.timezone:b.timezone),"eq")},$c["gYear-equal"]=function(a,b){return gc(new _a(a.year,1,1,0,0,0,null==a.timezone?this.timezone:a.timezone),new _a(b.year,1,1,0,0,0,null==b.timezone?this.timezone:b.timezone),"eq")},$c["gMonthDay-equal"]=function(a,b){return gc(new _a(1972,a.month,a.day,0,0,0,null==a.timezone?this.timezone:a.timezone),new _a(1972,b.month,b.day,0,0,0,null==b.timezone?this.timezone:b.timezone),"eq")},$c["gMonth-equal"]=function(a,b){return gc(new _a(1972,a.month,Za(1972,b.month),0,0,0,null==a.timezone?this.timezone:a.timezone),new _a(1972,b.month,Za(1972,b.month),0,0,0,null==b.timezone?this.timezone:b.timezone),"eq")},$c["gDay-equal"]=function(a,b){return gc(new _a(1972,12,a.day,0,0,0,null==a.timezone?this.timezone:a.timezone),new _a(1972,12,b.day,0,0,0,null==b.timezone?this.timezone:b.timezone),"eq")},$c["add-yearMonthDurations"]=function(a,b){return mc(lc(a)+lc(b))},$c["subtract-yearMonthDurations"]=function(a,b){return mc(lc(a)-lc(b))},$c["multiply-yearMonthDuration"]=function(a,b){return mc(lc(a)*b)},$c["divide-yearMonthDuration"]=function(a,b){return mc(lc(a)/b)},$c["divide-yearMonthDuration-by-yearMonthDuration"]=function(a,b){return new fb(lc(a)/lc(b))},$c["add-dayTimeDurations"]=function(a,b){return kc(jc(a)+jc(b))},$c["subtract-dayTimeDurations"]=function(a,b){return kc(jc(a)-jc(b))},$c["multiply-dayTimeDuration"]=function(a,b){return kc(jc(a)*b)},$c["divide-dayTimeDuration"]=function(a,b){return kc(jc(a)/b)},$c["divide-dayTimeDuration-by-dayTimeDuration"]=function(a,b){return new fb(jc(a)/jc(b))},$c["subtract-dateTimes"]=function(a,b){return kc(oc(a)-oc(b))},$c["subtract-dates"]=function(a,b){return kc(oc(a)-oc(b))},$c["subtract-times"]=function(a,b){return kc(nc(a)-nc(b))},$c["add-yearMonthDuration-to-dateTime"]=function(a,b){return hc(a,b,"+")},$c["add-dayTimeDuration-to-dateTime"]=function(a,b){return ic(a,b,"+")},$c["subtract-yearMonthDuration-from-dateTime"]=function(a,b){return hc(a,b,"-")},$c["subtract-dayTimeDuration-from-dateTime"]=function(a,b){return ic(a,b,"-")},$c["add-yearMonthDuration-to-date"]=function(a,b){return hc(a,b,"+")},$c["add-dayTimeDuration-to-date"]=function(a,b){return ic(a,b,"+")},$c["subtract-yearMonthDuration-from-date"]=function(a,b){return hc(a,b,"-")},$c["subtract-dayTimeDuration-from-date"]=function(a,b){return ic(a,b,"-")},$c["add-dayTimeDuration-to-time"]=function(a,b){var c=new vb(a.hours,a.minutes,a.seconds,a.timezone);return c.hours+=b.hours,c.minutes+=b.minutes,c.seconds+=b.seconds,wb(c)},$c["subtract-dayTimeDuration-from-time"]=function(a,b){var c=new vb(a.hours,a.minutes,a.seconds,a.timezone);return c.hours-=b.hours,c.minutes-=b.minutes,c.seconds-=b.seconds,wb(c)},$c["is-same-node"]=function(a,b){return new Xa(this.DOMAdapter.isSameNode(a,b))},$c["node-before"]=function(a,b){return new Xa(!!(4&this.DOMAdapter.compareDocumentPosition(a,b)))},$c["node-after"]=function(a,b){return new Xa(!!(2&this.DOMAdapter.compareDocumentPosition(a,b)))},$c["numeric-add"]=function(a,b){var c=a.valueOf(),d=b.valueOf(),e=Gc.pow(10,pc(c,d));return qc(a,b,(c*e+d*e)/e)},$c["numeric-subtract"]=function(a,b){var c=a.valueOf(),d=b.valueOf(),e=Gc.pow(10,pc(c,d));return qc(a,b,(c*e-d*e)/e)},$c["numeric-multiply"]=function(a,b){var c=a.valueOf(),d=b.valueOf(),e=Gc.pow(10,pc(c,d));return qc(a,b,c*e*(d*e)/(e*e))},$c["numeric-divide"]=function(a,b){var c=a.valueOf(),d=b.valueOf(),e=Gc.pow(10,pc(c,d));return qc(a,b,a*e/(b*e))},$c["numeric-integer-divide"]=function(a,b){var c=a/b;return new Cb(Gc.floor(c)+(c<0))},$c["numeric-mod"]=function(a,b){var c=a.valueOf(),d=b.valueOf(),e=Gc.pow(10,pc(c,d));return qc(a,b,c*e%(d*e)/e)},$c["numeric-unary-plus"]=function(a){return a},$c["numeric-unary-minus"]=function(a){return a.value*=-1,a},$c["numeric-equal"]=function(a,b){return new Xa(a.valueOf()==b.valueOf())},$c["numeric-less-than"]=function(a,b){return new Xa(a.valueOf()b.valueOf())},$c["QName-equal"]=function(a,b){return new Xa(a.localName==b.localName&&a.namespaceURI==b.namespaceURI)},$c.concatenate=function(a,b){return a.concat(b)},$c.union=function(b,c){for(var d,e=[],f=0,g=b.length;fh?g.pop():(g.push(f[i]),h++):"."!=f[i]&&g.push(f[i]);".."!=f[--i]&&"."!=f[i]||g.push(""),d.path=g.join("/")}return d}),f("true",[],function(){return new Xa(!0)}),f("false",[],function(){return new Xa(!1)}),f("not",[[Yb,"*"]],function(a){return new Xa(!uc(a,this))}),f("position",[],function(){return new Cb(this.position)}),f("last",[],function(){return new Cb(this.size)}),f("current-dateTime",[],function(){return this.dateTime}),f("current-date",[],function(){return Ya.cast(this.dateTime)}),f("current-time",[],function(){return vb.cast(this.dateTime)}),f("implicit-timezone",[],function(){return this.timezone}),f("default-collation",[],function(){return new ub(this.staticContext.defaultCollationName)}),f("static-base-uri",[],function(){return Va.cast(new ub(this.staticContext.baseURI||""))}),f("years-from-duration",[[hb,"?"]],function(a){return rc(a,"year")}),f("months-from-duration",[[hb,"?"]],function(a){return rc(a,"month")}),f("days-from-duration",[[hb,"?"]],function(a){return rc(a,"day")}),f("hours-from-duration",[[hb,"?"]],function(a){return rc(a,"hours")}),f("minutes-from-duration",[[hb,"?"]],function(a){return rc(a,"minutes")}),f("seconds-from-duration",[[hb,"?"]],function(a){return rc(a,"seconds")}),f("year-from-dateTime",[[_a,"?"]],function(a){return sc(a,"year")}),f("month-from-dateTime",[[_a,"?"]],function(a){return sc(a,"month")}),f("day-from-dateTime",[[_a,"?"]],function(a){return sc(a,"day")}),f("hours-from-dateTime",[[_a,"?"]],function(a){return sc(a,"hours")}),f("minutes-from-dateTime",[[_a,"?"]],function(a){return sc(a,"minutes")}),f("seconds-from-dateTime",[[_a,"?"]],function(a){return sc(a,"seconds")}),f("timezone-from-dateTime",[[_a,"?"]],function(a){return sc(a,"timezone")}),f("year-from-date",[[Ya,"?"]],function(a){return sc(a,"year")}),f("month-from-date",[[Ya,"?"]],function(a){return sc(a,"month")}),f("day-from-date",[[Ya,"?"]],function(a){return sc(a,"day")}),f("timezone-from-date",[[Ya,"?"]],function(a){return sc(a,"timezone")}),f("hours-from-time",[[vb,"?"]],function(a){return sc(a,"hours")}),f("minutes-from-time",[[vb,"?"]],function(a){return sc(a,"minutes")}),f("seconds-from-time",[[vb,"?"]],function(a){return sc(a,"seconds")}),f("timezone-from-time",[[vb,"?"]],function(a){return sc(a,"timezone")}),f("adjust-dateTime-to-timezone",[[_a,"?"],[Ab,"?",!0]],function(a,b){return tc(a,arguments.length>1&&null!=b?arguments.length>1?b:this.timezone:null)});f("adjust-date-to-timezone",[[Ya,"?"],[Ab,"?",!0]],function(a,b){return tc(a,arguments.length>1&&null!=b?arguments.length>1?b:this.timezone:null)});f("adjust-time-to-timezone",[[vb,"?"],[Ab,"?",!0]],function(a,b){return tc(a,arguments.length>1&&null!=b?arguments.length>1?b:this.timezone:null)}),f("name",[[Zb,"?",!0]],function(b){if(arguments.length){if(null==b)return new ub("")}else{if(!this.DOMAdapter.isNode(this.item))throw new a("XPTY0004");b=this.item}var c=Xc["node-name"].call(this,b);return new ub(null==c?"":c.toString())}),f("local-name",[[Zb,"?",!0]],function(b){if(arguments.length){if(null==b)return new ub("")}else{if(!this.DOMAdapter.isNode(this.item))throw new a("XPTY0004");b=this.item}return new ub(this.DOMAdapter.getProperty(b,"localName")||"")}),f("namespace-uri",[[Zb,"?",!0]],function(b){if(arguments.length){if(null==b)return Va.cast(new ub(""))}else{if(!this.DOMAdapter.isNode(this.item))throw new a("XPTY0004");b=this.item}return Va.cast(new ub(this.DOMAdapter.getProperty(b,"namespaceURI")||""))}),f("number",[[Ta,"?",!0]],function(b){if(!arguments.length){if(!this.item)throw new a("XPDY0002");b=vc([this.item],this)[0]}var c=new gb(Kc);if(null!=b)try{c=gb.cast(b)}catch(a){}return c}),f("lang",[[ub,"?"],[Zb,"",!0]],function(b,c){if(arguments.length<2){if(!this.DOMAdapter.isNode(this.item))throw new a("XPTY0004");c=this.item}var d=this.DOMAdapter.getProperty;2==d(c,"nodeType")&&(c=d(c,"ownerElement"));for(var e;c;c=d(c,"parentNode"))if(e=d(c,"attributes"))for(var f=0,g=e.length;f1?b.valueOf():0;if(c<0){var d=new Cb(Gc.pow(10,-c)),e=Gc.round($c["numeric-divide"].call(this,a,d)),f=new Cb(e);return nDecimal=Gc.abs($c["numeric-subtract"].call(this,f,$c["numeric-divide"].call(this,a,d))),$c["numeric-multiply"].call(this,$c["numeric-add"].call(this,f,new fb(.5==nDecimal&&e%2?-1:0)),d)}var d=new Cb(Gc.pow(10,c)),e=Gc.round($c["numeric-multiply"].call(this,a,d)),f=new Cb(e);return nDecimal=Gc.abs($c["numeric-subtract"].call(this,f,$c["numeric-multiply"].call(this,a,d))),$c["numeric-divide"].call(this,$c["numeric-add"].call(this,f,new fb(.5==nDecimal&&e%2?-1:0)),d)}),f("resolve-QName",[[ub,"?"],[bc]],function(b,c){if(null==b)return null;var d=b.valueOf(),e=d.match(Bd);if(!e)throw new a("FOCA0002");var f=e[1]||null,g=e[2],h=this.DOMAdapter.lookupNamespaceURI(c,f);if(null!=f&&!h)throw new a("FONS0004");return new tb(f,g,h||null)}),f("QName",[[ub,"?"],[ub]],function(b,c){var d=c.valueOf(),e=d.match(Bd);if(!e)throw new a("FOCA0002");return new tb(e[1]||null,e[2]||null,null==b?"":b.valueOf())}),f("prefix-from-QName",[[tb,"?"]],function(a){return null!=a&&a.prefix?new Sb(a.prefix):null}),f("local-name-from-QName",[[tb,"?"]],function(a){return null==a?null:new Sb(a.localName)}),f("namespace-uri-from-QName",[[tb,"?"]],function(a){return null==a?null:Va.cast(new ub(a.namespaceURI||""))}),f("namespace-uri-for-prefix",[[ub,"?"],[bc]],function(a,b){var c=null==a?"":a.valueOf(),d=this.DOMAdapter.lookupNamespaceURI(b,c||null);return null==d?null:Va.cast(new ub(d))}),f("in-scope-prefixes",[[bc]],function(a){throw"Function 'in-scope-prefixes' not implemented"}),f("boolean",[[Yb,"*"]],function(a){return new Xa(uc(a,this))}),f("index-of",[[Ta,"*"],[Ta],[ub,"",!0]],function(a,b,c){if(!a.length||null==b)return[];var d=b;d instanceof xb&&(d=ub.cast(d));for(var e,f=[],g=0,h=a.length;g1)throw"Collation parameter in function 'distinct-values' is not implemented";if(!a.length)return null;for(var c,d=[],e=0,f=a.length;ed&&(e=d+1);for(var f=[],g=0;gc)return a;for(var e=[],f=0;f2?Gc.round(c):a.length-d+1;return a.slice(d-1,d-1+e)}),f("unordered",[[Yb,"*"]],function(a){return a}),f("zero-or-one",[[Yb,"*"]],function(b){if(b.length>1)throw new a("FORG0003");return b}),f("one-or-more",[[Yb,"*"]],function(b){if(!b.length)throw new a("FORG0004");return b}),f("exactly-one",[[Yb,"*"]],function(b){if(1!=b.length)throw new a("FORG0005");return b}),f("deep-equal",[[Yb,"*"],[Yb,"*"],[ub,"",!0]],function(a,b,c){throw"Function 'deep-equal' not implemented"}),f("count",[[Yb,"*"]],function(a){return new Cb(a.length)}),f("avg",[[Ta,"*"]],function(b){if(!b.length)return null;try{var c=b[0];c instanceof xb&&(c=gb.cast(c));for(var d,e=1,f=b.length;e1?c:new gb(0);try{var d=b[0];d instanceof xb&&(d=gb.cast(d));for(var e,f=1,g=b.length;f2&&(f=d.valueOf()),e=f==Sc+"/collation/codepoint"?Gd:this.staticContext.getCollation(f),!e)throw new a("FOCH0002");return new Cb(e.compare(b.valueOf(),c.valueOf()))}),f("codepoint-equal",[[ub,"?"],[ub,"?"]],function(a,b){return null==a||null==b?null:new Xa(a.valueOf()==b.valueOf())}),f("concat",null,function(){if(arguments.length<2)throw new a("XPST0017");for(var b,c=[],d=0,e=arguments.length;d2?e+Gc.round(c):d.length;return new ub(f>e?d.substring(e,f):"")}),f("string-length",[[ub,"?",!0]],function(b){if(!arguments.length){if(!this.item)throw new a("XPDY0002");b=ub.cast(vc([this.item],this)[0])}return new Cb(null==b?0:b.valueOf().length)}),f("normalize-space",[[ub,"?",!0]],function(b){if(!arguments.length){if(!this.item)throw new a("XPDY0002");b=ub.cast(vc([this.item],this)[0])}return new ub(null==b?"":Pc(b).replace(/\s\s+/g," "))}),f("normalize-unicode",[[ub,"?"],[ub,"",!0]],function(a,b){throw"Function 'normalize-unicode' not implemented"}),f("upper-case",[[ub,"?"]],function(a){return new ub(null==a?"":a.valueOf().toUpperCase())}),f("lower-case",[[ub,"?"]],function(a){return new ub(null==a?"":a.valueOf().toLowerCase())}),f("translate",[[ub,"?"],[ub],[ub]],function(a,b,c){if(null==a)return new ub("");for(var d,e=a.valueOf().split(""),f=b.valueOf().split(""),g=c.valueOf().split(""),h=g.length,i=[],j=0,k=e.length;j126)&&(c[d]=window.encodeURIComponent(c[d]));return new ub(c.join(""))}),f("contains",[[ub,"?"],[ub,"?"],[ub,"",!0]],function(a,b,c){if(arguments.length>2)throw"Collation parameter in function 'contains' is not implemented";return new Xa((null==a?"":a.valueOf()).indexOf(null==b?"":b.valueOf())>=0)}),f("starts-with",[[ub,"?"],[ub,"?"],[ub,"",!0]],function(a,b,c){if(arguments.length>2)throw"Collation parameter in function 'starts-with' is not implemented";return new Xa(0==(null==a?"":a.valueOf()).indexOf(null==b?"":b.valueOf()))}),f("ends-with",[[ub,"?"],[ub,"?"],[ub,"",!0]],function(a,b,c){if(arguments.length>2)throw"Collation parameter in function 'ends-with' is not implemented";var d=null==a?"":a.valueOf(),e=null==b?"":b.valueOf();return new Xa(d.indexOf(e)==d.length-e.length)}),f("substring-before",[[ub,"?"],[ub,"?"],[ub,"",!0]],function(a,b,c){if(arguments.length>2)throw"Collation parameter in function 'substring-before' is not implemented";var d,e=null==a?"":a.valueOf(),f=null==b?"":b.valueOf();return new ub((d=e.indexOf(f))>=0?e.substring(0,d):"")}),f("substring-after",[[ub,"?"],[ub,"?"],[ub,"",!0]],function(a,b,c){if(arguments.length>2)throw"Collation parameter in function 'substring-after' is not implemented";var d,e=null==a?"":a.valueOf(),f=null==b?"":b.valueOf();return new ub((d=e.indexOf(f))>=0?e.substring(d+f.length):"")}),f("matches",[[ub,"?"],[ub],[ub,"",!0]],function(a,b,c){var d=null==a?"":a.valueOf(),e=xc(b.valueOf(),arguments.length>2?c.valueOf():"");return new Xa(e.test(d))}),f("replace",[[ub,"?"],[ub],[ub],[ub,"",!0]],function(a,b,c,d){var e=null==a?"":a.valueOf(),f=xc(b.valueOf(),arguments.length>3?d.valueOf():"");return new Xa(e.replace(f,c.valueOf()))}),f("tokenize",[[ub,"?"],[ub],[ub,"",!0]],function(a,b,c){for(var d=null==a?"":a.valueOf(),e=xc(b.valueOf(),arguments.length>2?c.valueOf():""),f=[],g=0,h=d.split(e),i=h.length;gb?1:-1},yc.prototype=new c;var Hd=new e;yc.prototype.getProperty=function(a,b){if(b in a)return a[b];if("baseURI"==b){for(var c,d="",e=Hd.getFunction("{http://www.w3.org/2005/xpath-functions}resolve-uri"),f=Hd.getDataType("{http://www.w3.org/2001/XMLSchema}string"),g=a;g;g=g.parentNode)1==g.nodeType&&(c=g.getAttribute("xml:base"))&&(d=e(new f(c),new f(d)).toString());return d}if("textContent"==b){var h=[];return function(a){for(var b,c=0;b=a.childNodes[c];c++)3==b.nodeType||4==b.nodeType?h.push(b.data):1==b.nodeType&&b.firstChild&&arguments.callee(b)}(a),h.join("")}},yc.prototype.compareDocumentPosition=function(a,b){if("compareDocumentPosition"in a)return a.compareDocumentPosition(b);if(b==a)return 0;var c,d,e,f,g,h=null,i=null;if(2==a.nodeType&&(h=a,a=this.getProperty(h,"ownerElement")),2==b.nodeType&&(i=b,b=this.getProperty(i,"ownerElement")),h&&i&&a&&a==b)for(f=0,c=this.getProperty(a,"attributes"),g=c.length;fMath.round(a.width/50))&&(e=Math.round(a.width/50)),(!f||f>Math.round(a.width/50))&&(f=Math.round(a.height/50));var h=a.getContext("2d"),i=.08*a.width,j=.03*a.width,k=.08*a.height,l=.15*a.height,m=a.height-k-l,n=a.width-i-j,o=k+m,p=k;h.font=g+"px Arial",h.lineWidth="1.0",h.strokeStyle="#444",CanvasComponents.draw_line(h,i,o,n+i,o),CanvasComponents.draw_line(h,i,o,i,p);var q=.003*n,r=(n-q*b.length)/b.length,s=i+q,t=Math.max.apply(Math,b);h.fillStyle="green";for(var u=0;u=b.length)for(var u=0;u<=b.length;u++)h.fillText(u,s,o+.3*l),s+=r+q;else for(var u=0;u<=e;u++){var w=Math.ceil(b.length/e*u);s=n/e*u+i,h.fillText(w,s,o+.3*l)}h.textAlign="right";var x;if(f>=t)for(var u=0;u<=t;u++)x=o-u/t*m+g/3,h.fillText(u,.8*i,x);else for(var u=0;u<=f;u++){var w=Math.ceil(t/f*u);x=o-w/t*m+g/3,h.fillText(w,.8*i,x)}if(c&&(h.textAlign="center",h.fillText(c,n/2+i,o+.8*l)),d){h.save();var y=.3*i,z=m/2+k;h.translate(y,z),h.rotate(-Math.PI/2),h.textAlign="center",h.fillText(d,0,0),h.restore()}},draw_scale_bar:function(a,b,c,d){var e=a.getContext("2d"),f=.01*a.width,g=.01*a.width,h=.1*a.height,i=.3*a.height,j=a.height-h-i,k=a.width-f-g,l=b/c;e.strokeRect(f,h,k,j);var m=e.createLinearGradient(f,0,k+f,0);m.addColorStop(0,"green"),m.addColorStop(.5,"gold"),m.addColorStop(1,"red"),e.fillStyle=m,e.fillRect(f,h,k*l,j);var n,o,p,q;e.fillStyle="black",e.textAlign="center",e.font="13px Arial";for(var r=0;r=.9*c?(e.textAlign="right",n=p):d[r].max<=.1*c?e.textAlign="left":n+=(p-n)/2,o=h+j+.8*i,e.fillText(d[r].label,n,o)}},Utils={chr:function(a){return String.fromCharCode(a)},ord:function(a){return a.charCodeAt(0)},padLeft:function(a,b,c){c=c||"0";var d=c.length-(b-a.length);return d=d<0?0:d,a.lengthb&&(a=a.slice(0,b-c.length)+c),a},hex:function(a,b){return a="string"==typeof a?Utils.ord(a):a,b=b||2,Utils.pad(a.toString(16),b)},bin:function(a,b){return a="string"==typeof a?Utils.ord(a):a,b=b||8,Utils.pad(a.toString(2),b)},printable:function(a,b){window&&window.app&&!window.app.options.treatAsUtf8&&(a=Utils.byteArrayToChars(Utils.strToByteArray(a)));var c=/[\0-\x08\x0B-\x0C\x0E-\x1F\x7F-\x9F\xAD\u0378\u0379\u037F-\u0383\u038B\u038D\u03A2\u0528-\u0530\u0557\u0558\u0560\u0588\u058B-\u058E\u0590\u05C8-\u05CF\u05EB-\u05EF\u05F5-\u0605\u061C\u061D\u06DD\u070E\u070F\u074B\u074C\u07B2-\u07BF\u07FB-\u07FF\u082E\u082F\u083F\u085C\u085D\u085F-\u089F\u08A1\u08AD-\u08E3\u08FF\u0978\u0980\u0984\u098D\u098E\u0991\u0992\u09A9\u09B1\u09B3-\u09B5\u09BA\u09BB\u09C5\u09C6\u09C9\u09CA\u09CF-\u09D6\u09D8-\u09DB\u09DE\u09E4\u09E5\u09FC-\u0A00\u0A04\u0A0B-\u0A0E\u0A11\u0A12\u0A29\u0A31\u0A34\u0A37\u0A3A\u0A3B\u0A3D\u0A43-\u0A46\u0A49\u0A4A\u0A4E-\u0A50\u0A52-\u0A58\u0A5D\u0A5F-\u0A65\u0A76-\u0A80\u0A84\u0A8E\u0A92\u0AA9\u0AB1\u0AB4\u0ABA\u0ABB\u0AC6\u0ACA\u0ACE\u0ACF\u0AD1-\u0ADF\u0AE4\u0AE5\u0AF2-\u0B00\u0B04\u0B0D\u0B0E\u0B11\u0B12\u0B29\u0B31\u0B34\u0B3A\u0B3B\u0B45\u0B46\u0B49\u0B4A\u0B4E-\u0B55\u0B58-\u0B5B\u0B5E\u0B64\u0B65\u0B78-\u0B81\u0B84\u0B8B-\u0B8D\u0B91\u0B96-\u0B98\u0B9B\u0B9D\u0BA0-\u0BA2\u0BA5-\u0BA7\u0BAB-\u0BAD\u0BBA-\u0BBD\u0BC3-\u0BC5\u0BC9\u0BCE\u0BCF\u0BD1-\u0BD6\u0BD8-\u0BE5\u0BFB-\u0C00\u0C04\u0C0D\u0C11\u0C29\u0C34\u0C3A-\u0C3C\u0C45\u0C49\u0C4E-\u0C54\u0C57\u0C5A-\u0C5F\u0C64\u0C65\u0C70-\u0C77\u0C80\u0C81\u0C84\u0C8D\u0C91\u0CA9\u0CB4\u0CBA\u0CBB\u0CC5\u0CC9\u0CCE-\u0CD4\u0CD7-\u0CDD\u0CDF\u0CE4\u0CE5\u0CF0\u0CF3-\u0D01\u0D04\u0D0D\u0D11\u0D3B\u0D3C\u0D45\u0D49\u0D4F-\u0D56\u0D58-\u0D5F\u0D64\u0D65\u0D76-\u0D78\u0D80\u0D81\u0D84\u0D97-\u0D99\u0DB2\u0DBC\u0DBE\u0DBF\u0DC7-\u0DC9\u0DCB-\u0DCE\u0DD5\u0DD7\u0DE0-\u0DF1\u0DF5-\u0E00\u0E3B-\u0E3E\u0E5C-\u0E80\u0E83\u0E85\u0E86\u0E89\u0E8B\u0E8C\u0E8E-\u0E93\u0E98\u0EA0\u0EA4\u0EA6\u0EA8\u0EA9\u0EAC\u0EBA\u0EBE\u0EBF\u0EC5\u0EC7\u0ECE\u0ECF\u0EDA\u0EDB\u0EE0-\u0EFF\u0F48\u0F6D-\u0F70\u0F98\u0FBD\u0FCD\u0FDB-\u0FFF\u10C6\u10C8-\u10CC\u10CE\u10CF\u1249\u124E\u124F\u1257\u1259\u125E\u125F\u1289\u128E\u128F\u12B1\u12B6\u12B7\u12BF\u12C1\u12C6\u12C7\u12D7\u1311\u1316\u1317\u135B\u135C\u137D-\u137F\u139A-\u139F\u13F5-\u13FF\u169D-\u169F\u16F1-\u16FF\u170D\u1715-\u171F\u1737-\u173F\u1754-\u175F\u176D\u1771\u1774-\u177F\u17DE\u17DF\u17EA-\u17EF\u17FA-\u17FF\u180F\u181A-\u181F\u1878-\u187F\u18AB-\u18AF\u18F6-\u18FF\u191D-\u191F\u192C-\u192F\u193C-\u193F\u1941-\u1943\u196E\u196F\u1975-\u197F\u19AC-\u19AF\u19CA-\u19CF\u19DB-\u19DD\u1A1C\u1A1D\u1A5F\u1A7D\u1A7E\u1A8A-\u1A8F\u1A9A-\u1A9F\u1AAE-\u1AFF\u1B4C-\u1B4F\u1B7D-\u1B7F\u1BF4-\u1BFB\u1C38-\u1C3A\u1C4A-\u1C4C\u1C80-\u1CBF\u1CC8-\u1CCF\u1CF7-\u1CFF\u1DE7-\u1DFB\u1F16\u1F17\u1F1E\u1F1F\u1F46\u1F47\u1F4E\u1F4F\u1F58\u1F5A\u1F5C\u1F5E\u1F7E\u1F7F\u1FB5\u1FC5\u1FD4\u1FD5\u1FDC\u1FF0\u1FF1\u1FF5\u1FFF\u200B-\u200F\u202A-\u202E\u2060-\u206F\u2072\u2073\u208F\u209D-\u209F\u20BB-\u20CF\u20F1-\u20FF\u218A-\u218F\u23F4-\u23FF\u2427-\u243F\u244B-\u245F\u2700\u2B4D-\u2B4F\u2B5A-\u2BFF\u2C2F\u2C5F\u2CF4-\u2CF8\u2D26\u2D28-\u2D2C\u2D2E\u2D2F\u2D68-\u2D6E\u2D71-\u2D7E\u2D97-\u2D9F\u2DA7\u2DAF\u2DB7\u2DBF\u2DC7\u2DCF\u2DD7\u2DDF\u2E3C-\u2E7F\u2E9A\u2EF4-\u2EFF\u2FD6-\u2FEF\u2FFC-\u2FFF\u3040\u3097\u3098\u3100-\u3104\u312E-\u3130\u318F\u31BB-\u31BF\u31E4-\u31EF\u321F\u32FF\u4DB6-\u4DBF\u9FCD-\u9FFF\uA48D-\uA48F\uA4C7-\uA4CF\uA62C-\uA63F\uA698-\uA69E\uA6F8-\uA6FF\uA78F\uA794-\uA79F\uA7AB-\uA7F7\uA82C-\uA82F\uA83A-\uA83F\uA878-\uA87F\uA8C5-\uA8CD\uA8DA-\uA8DF\uA8FC-\uA8FF\uA954-\uA95E\uA97D-\uA97F\uA9CE\uA9DA-\uA9DD\uA9E0-\uA9FF\uAA37-\uAA3F\uAA4E\uAA4F\uAA5A\uAA5B\uAA7C-\uAA7F\uAAC3-\uAADA\uAAF7-\uAB00\uAB07\uAB08\uAB0F\uAB10\uAB17-\uAB1F\uAB27\uAB2F-\uABBF\uABEE\uABEF\uABFA-\uABFF\uD7A4-\uD7AF\uD7C7-\uD7CA\uD7FC-\uF8FF\uFA6E\uFA6F\uFADA-\uFAFF\uFB07-\uFB12\uFB18-\uFB1C\uFB37\uFB3D\uFB3F\uFB42\uFB45\uFBC2-\uFBD2\uFD40-\uFD4F\uFD90\uFD91\uFDC8-\uFDEF\uFDFE\uFDFF\uFE1A-\uFE1F\uFE27-\uFE2F\uFE53\uFE67\uFE6C-\uFE6F\uFE75\uFEFD-\uFF00\uFFBF-\uFFC1\uFFC8\uFFC9\uFFD0\uFFD1\uFFD8\uFFD9\uFFDD-\uFFDF\uFFE7\uFFEF-\uFFFB\uFFFE\uFFFF]/g,d=/[\x09-\x10\x0D\u2028\u2029]/g;return a=a.replace(c,"."),b||(a=a.replace(d,".")),a},parseEscapedChars:function(a){return a.replace(/(\\)?\\([nrtbf]|x[\da-f]{2})/g,function(a,b,c){if("\\"===b)return"\\"+c;switch(c[0]){case"n":return"\n";case"r":return"\r";case"t":return"\t";case"b":return"\b";case"f":return"\f";case"x":return Utils.chr(parseInt(c.substr(1),16))}})},expandAlphRange:function(a){for(var b=[],c=0;c255)return Utils.strToUtf8ByteArray(a);return c},strToUtf8ByteArray:function(a){var b=CryptoJS.enc.Utf8.parse(a),c=Utils.wordArrayToByteArray(b);return a.length!==b.sigBytes&&(window.app.options.attemptHighlight=!1),c},strToCharcode:function(a){for(var b=new Array(a.length),c=a.length;c--;)b[c]=a.charCodeAt(c);return b},byteArrayToUtf8:function(a){try{for(var b=[],c=0;c>>2]|=a[c]<<24-c%4*8;var d=new CryptoJS.lib.WordArray.init(b,a.length),e=CryptoJS.enc.Utf8.stringify(d);return e.length!==d.sigBytes&&(window.app.options.attemptHighlight=!1),e}catch(b){return Utils.byteArrayToChars(a)}},byteArrayToChars:function(a){if(!a)return"";for(var b="",c=0;c>>2]>>>24-d%4*8&255);return c},UNIC_WIN1251_MAP:{0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9,10:10,11:11,12:12,13:13,14:14,15:15,16:16,17:17,18:18,19:19,20:20,21:21,22:22,23:23,24:24,25:25,26:26,27:27,28:28,29:29,30:30,31:31,32:32,33:33,34:34,35:35,36:36,37:37,38:38,39:39,40:40,41:41,42:42,43:43,44:44,45:45,46:46,47:47,48:48,49:49,50:50,51:51,52:52,53:53,54:54,55:55,56:56,57:57,58:58,59:59,60:60,61:61,62:62,63:63,64:64,65:65,66:66,67:67,68:68,69:69,70:70,71:71,72:72,73:73,74:74,75:75,76:76,77:77,78:78,79:79,80:80,81:81,82:82,83:83,84:84,85:85,86:86,87:87,88:88,89:89,90:90,91:91,92:92,93:93,94:94,95:95,96:96,97:97,98:98,99:99,100:100,101:101,102:102,103:103,104:104,105:105,106:106,107:107,108:108,109:109,110:110,111:111,112:112,113:113,114:114,115:115,116:116,117:117,118:118,119:119,120:120,121:121,122:122,123:123,124:124,125:125,126:126,127:127,1027:129,8225:135,1046:198,8222:132,1047:199,1168:165,1048:200,1113:154,1049:201,1045:197,1050:202,1028:170,160:160,1040:192,1051:203,164:164,166:166,167:167,169:169,171:171,172:172,173:173,174:174,1053:205,176:176,177:177,1114:156,181:181,182:182,183:183,8221:148,187:187,1029:189,1056:208,1057:209,1058:210,8364:136,1112:188,1115:158,1059:211,1060:212,1030:178,1061:213,1062:214,1063:215,1116:157,1064:216,1065:217,1031:175,1066:218,1067:219,1068:220,1069:221,1070:222,1032:163,8226:149,1071:223,1072:224,8482:153,1073:225,8240:137,1118:162,1074:226,1110:179,8230:133,1075:227,1033:138,1076:228,1077:229,8211:150,1078:230,1119:159,1079:231,1042:194,1080:232,1034:140,1025:168,1081:233,1082:234,8212:151,1083:235,1169:180,1084:236,1052:204,1085:237,1035:142,1086:238,1087:239,1088:240,1089:241,1090:242,1036:141,1041:193,1091:243,1092:244,8224:134,1093:245,8470:185,1094:246,1054:206,1095:247,1096:248,8249:139,1097:249,1098:250,1044:196,1099:251,1111:191,1055:207,1100:252,1038:161,8220:147,1101:253,8250:155,1102:254,8216:145,1103:255,1043:195,1105:184,1039:143,1026:128,1106:144,8218:130,1107:131,8217:146,1108:186,1109:190},WIN1251_UNIC_MAP:{0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9,10:10,11:11,12:12,13:13,14:14,15:15,16:16,17:17,18:18,19:19,20:20,21:21,22:22,23:23,24:24,25:25,26:26,27:27,28:28,29:29,30:30,31:31,32:32,33:33,34:34,35:35,36:36,37:37,38:38,39:39,40:40,41:41,42:42,43:43,44:44,45:45,46:46,47:47,48:48,49:49,50:50,51:51,52:52,53:53,54:54,55:55,56:56,57:57,58:58,59:59,60:60,61:61,62:62,63:63,64:64,65:65,66:66,67:67,68:68,69:69,70:70,71:71,72:72,73:73,74:74,75:75,76:76,77:77,78:78,79:79,80:80,81:81,82:82,83:83,84:84,85:85,86:86,87:87,88:88,89:89,90:90,91:91,92:92,93:93,94:94,95:95,96:96,97:97,98:98,99:99,100:100,101:101,102:102,103:103,104:104,105:105,106:106,107:107,108:108,109:109,110:110,111:111,112:112,113:113,114:114,115:115,116:116,117:117,118:118,119:119,120:120,121:121,122:122,123:123,124:124,125:125,126:126,127:127,160:160,164:164,166:166,167:167,169:169,171:171,172:172,173:173,174:174,176:176,177:177,181:181,182:182,183:183,187:187,168:1025,128:1026,129:1027,170:1028,189:1029,178:1030,175:1031,163:1032,138:1033,140:1034,142:1035,141:1036,161:1038,143:1039,192:1040,193:1041,194:1042,195:1043,196:1044,197:1045,198:1046,199:1047,200:1048,201:1049,202:1050,203:1051,204:1052,205:1053,206:1054,207:1055,208:1056,209:1057,210:1058,211:1059,212:1060,213:1061,214:1062,215:1063,216:1064,217:1065,218:1066,219:1067,220:1068,221:1069,222:1070,223:1071,224:1072,225:1073,226:1074,227:1075,228:1076,229:1077,230:1078,231:1079,232:1080,233:1081,234:1082,235:1083,236:1084,237:1085,238:1086,239:1087,240:1088,241:1089,242:1090,243:1091,244:1092,245:1093,246:1094,247:1095,248:1096,249:1097,250:1098,251:1099,252:1100,253:1101,254:1102,255:1103,184:1105,144:1106,131:1107,186:1108,190:1109,179:1110,191:1111,188:1112,154:1113,156:1114,158:1115,157:1116,162:1118,159:1119,165:1168,180:1169,150:8211,151:8212,145:8216,146:8217,130:8218,147:8220,148:8221,132:8222,134:8224,135:8225,149:8226,133:8230,137:8240,139:8249,155:8250,136:8364,185:8470,153:8482},unicodeToWin1251:function(a){for(var b=[],c=0;c>2,g=(3&c)<<4|d>>4,h=(15&d)<<2|e>>6,i=63&e,isNaN(d)?h=i=64:isNaN(e)&&(i=64),j+=b.charAt(f)+b.charAt(g)+b.charAt(h)+b.charAt(i);return j},fromBase64:function(a,b,c,d){if(c=c||"string",!a)return"string"===c?"":[];b=b?Utils.expandAlphRange(b).join(""):"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",void 0===d&&(d=!0);var e,f,g,h,i,j,k,l=[],m=0;if(d){var n=new RegExp("[^"+b.replace(/[\[\]\\\-^$]/g,"\\$&")+"]","g");a=a.replace(n,"")}for(;m>4,f=(15&i)<<4|j>>2,g=(3&j)<<6|k,l.push(e),64!==j&&l.push(f),64!==k&&l.push(g);return"string"===c?Utils.byteArrayToUtf8(l):l},toHex:function(a,b,c){if(!a)return"";b="string"==typeof b?b:" ",c=c||2;for(var d="",e=0;e>>4).toString(16)),b.push((15&a[c]).toString(16));return b.join("")},fromHex:function(a,b,c){if(b=b||(a.indexOf(" ")>=0?"Space":"None"),c=c||2,"None"!==b){var d=Utils.regexRep[b];a=a.replace(d,"")}for(var e=[],f=0;f]*>.*<\/(script|style)>/gim,"")),a.replace(/<[^>\n]+>/g,"")},escapeHtml:function(a){return a.replace(/>>3]|=parseInt(a.substr(d,2),16)<<24-d%8*4;return new CryptoJS.lib.WordArray.init(c,b/2)};var Base={DEFAULT_RADIX:36,runTo:function(a,b){if(!a)throw"Error: Input must be a number";var c=b[0]||Base.DEFAULT_RADIX;if(c<2||c>36)throw"Error: Radix argument must be between 2 and 36";return a.toString(c)},runFrom:function(a,b){var c=b[0]||Base.DEFAULT_RADIX;if(c<2||c>36)throw"Error: Radix argument must be between 2 and 36";return parseInt(a.replace(/\s/g,""),c)}},Base64={ALPHABET:"A-Za-z0-9+/=",ALPHABET_OPTIONS:[{name:"Standard: A-Za-z0-9+/=",value:"A-Za-z0-9+/="},{name:"URL safe: A-Za-z0-9-_",value:"A-Za-z0-9-_"},{name:"Filename safe: A-Za-z0-9+-=",value:"A-Za-z0-9+\\-="},{name:"itoa64: ./0-9A-Za-z=",value:"./0-9A-Za-z="},{name:"XML: A-Za-z0-9_.",value:"A-Za-z0-9_."},{name:"y64: A-Za-z0-9._-",value:"A-Za-z0-9._-"},{name:"z64: 0-9a-zA-Z+/=",value:"0-9a-zA-Z+/="},{name:"Radix-64: 0-9A-Za-z+/=",value:"0-9A-Za-z+/="},{name:"Uuencoding: [space]-_",value:" -_"},{name:"Xxencoding: +-0-9A-Za-z",value:"+\\-0-9A-Za-z"},{name:"BinHex: !-,-0-689@A-NP-VX-Z[`a-fh-mp-r",value:"!-,-0-689@A-NP-VX-Z[`a-fh-mp-r"},{name:"ROT13: N-ZA-Mn-za-m0-9+/=",value:"N-ZA-Mn-za-m0-9+/="}],runTo:function(a,b){var c=b[0]||Base64.ALPHABET;return Utils.toBase64(a,c)},REMOVE_NON_ALPH_CHARS:!0,runFrom:function(a,b){var c=b[0]||Base64.ALPHABET,d=b[1];return Utils.fromBase64(a,c,"byteArray",d)},BASE32_ALPHABET:"A-Z2-7=",runTo32:function(a,b){if(!a)return"";for(var c,d,e,f,g,h,i,j,k,l,m,n,o,p=b[0]?Utils.expandAlphRange(b[0]).join(""):"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",q="",r=0;r>3,i=(7&c)<<2|d>>6,j=d>>1&31,k=(1&d)<<4|e>>4,l=(15&e)<<1|f>>7,m=f>>2&63,n=(3&f)<<3|g>>5,o=31&g,isNaN(d)?j=k=l=m=n=o=32:isNaN(e)?l=m=n=o=32:isNaN(f)?m=n=o=32:isNaN(g)&&(o=32),q+=p.charAt(h)+p.charAt(i)+p.charAt(j)+p.charAt(k)+p.charAt(l)+p.charAt(m)+p.charAt(n)+p.charAt(o);return q},runFrom32:function(a,b){if(!a)return[];var c,d,e,f,g,h,i,j,k,l,m,n,o,p=b[0]?Utils.expandAlphRange(b[0]).join(""):"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",q=b[0],r=[],s=0;if(q){var t=new RegExp("[^"+p.replace(/[\]\\\-^]/g,"\\$&")+"]","g");a=a.replace(t,"")}for(;s>2,d=(3&i)<<6|j<<1|k>>4,e=(15&k)<<4|l>>1,f=(1&l)<<7|m<<2|n>>3,g=(7&n)<<5|o,r.push(c),(i&!0||32!==j)&&r.push(d),(k&!0||32!==l)&&r.push(e),(l&!0||32!==m)&&r.push(f),(n&!0||32!==o)&&r.push(g);return r},SHOW_IN_BINARY:!1,OFFSETS_SHOW_VARIABLE:!0,runOffsets:function(a,b){var c=b[0]||Base64.ALPHABET,d=b[1],e=Utils.toBase64(a,c),f=Utils.toBase64([0].concat(a),c),g=Utils.toBase64([0,0].concat(a),c),h=e.indexOf("="),i=f.indexOf("="),j=g.indexOf("="),k="
>>>>>>> master