xregexp-rails 1.5.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/app/assets/javascripts/xregexp-matchrecursive.js +151 -0
- data/app/assets/javascripts/xregexp-unicode-base.js +73 -0
- data/app/assets/javascripts/xregexp-unicode-blocks.js +187 -0
- data/app/assets/javascripts/xregexp-unicode-categories.js +102 -0
- data/app/assets/javascripts/xregexp-unicode-scripts.js +102 -0
- data/app/assets/javascripts/xregexp.js +664 -0
- data/lib/xregexp-rails.rb +9 -0
- data/lib/xregexp-rails/version.rb +12 -0
- metadata +75 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 03158c84d5dcf174e189bb3118fe869518a4152d
|
4
|
+
data.tar.gz: 3976d36f6b6d0f442863957fcdbc4d31ca81f6b9
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 78179f849fb86da314a80379297c5a21c6f8118d101b23698b5cb832f1702a0e2500af4d7159e6620192ac1aff18936510c3fd331edfbc2e17776a34533abf1f
|
7
|
+
data.tar.gz: 649c7c40a58db4c66f367a09ad77538a1bf7eff8464a3892262cb0da539979f780ef93f3f96c9af8e1dd8e823f9bfbd4fa8e3be43f99122632d8857a7ca03361
|
@@ -0,0 +1,151 @@
|
|
1
|
+
// XRegExp Match Recursive plugin 0.1.1
|
2
|
+
// (c) 2009-2010 Steven Levithan
|
3
|
+
// MIT License
|
4
|
+
// <http://xregexp.com>
|
5
|
+
|
6
|
+
var XRegExp;
|
7
|
+
|
8
|
+
if (!XRegExp) {
|
9
|
+
throw ReferenceError("XRegExp must be loaded before the Match Recursive plugin");
|
10
|
+
}
|
11
|
+
|
12
|
+
/* accepts a string to search, left and right delimiters as regex pattern strings, optional regex
|
13
|
+
flags (may include non-native s, x, and y flags), and an options object which allows setting an
|
14
|
+
escape character and changing the return format from an array of matches to a two-dimensional array
|
15
|
+
of string parts with extended position data. returns an array of matches (optionally with extended
|
16
|
+
data), allowing nested instances of left and right delimiters. use the g flag to return all
|
17
|
+
matches, otherwise only the first is returned. if delimiters are unbalanced within the subject
|
18
|
+
data, an error is thrown.
|
19
|
+
|
20
|
+
this function admittedly pushes the boundaries of what can be accomplished sensibly without a
|
21
|
+
"real" parser. however, by doing so it provides flexible and powerful recursive parsing
|
22
|
+
capabilities with minimal code weight.
|
23
|
+
|
24
|
+
warning: the `escapeChar` option is considered experimental and might be changed or removed in
|
25
|
+
future versions.
|
26
|
+
|
27
|
+
unsupported features:
|
28
|
+
- backreferences within delimiter patterns when using `escapeChar`.
|
29
|
+
- although providing delimiters as regex objects adds the minor feature of independent delimiter
|
30
|
+
flags, it introduces other limitations and is better not used. */
|
31
|
+
|
32
|
+
XRegExp.matchRecursive = function (str, left, right, flags, options) {
|
33
|
+
var options = options || {},
|
34
|
+
escapeChar = options.escapeChar,
|
35
|
+
vN = options.valueNames,
|
36
|
+
flags = flags || "",
|
37
|
+
global = flags.indexOf("g") > -1,
|
38
|
+
ignoreCase = flags.indexOf("i") > -1,
|
39
|
+
multiline = flags.indexOf("m") > -1,
|
40
|
+
sticky = flags.indexOf("y") > -1,
|
41
|
+
// sticky mode has its own handling in this function, which means you can use flag "y" even
|
42
|
+
// in browsers which don't support it natively
|
43
|
+
flags = flags.replace(/y/g, ""),
|
44
|
+
left = left instanceof RegExp ? (left.global ? left : XRegExp.copyAsGlobal(left)) : XRegExp(left, "g" + flags),
|
45
|
+
right = right instanceof RegExp ? (right.global ? right : XRegExp.copyAsGlobal(right)) : XRegExp(right, "g" + flags),
|
46
|
+
output = [],
|
47
|
+
openTokens = 0,
|
48
|
+
delimStart = 0,
|
49
|
+
delimEnd = 0,
|
50
|
+
lastOuterEnd = 0,
|
51
|
+
outerStart, innerStart, leftMatch, rightMatch, escaped, esc;
|
52
|
+
|
53
|
+
if (escapeChar) {
|
54
|
+
if (escapeChar.length > 1)
|
55
|
+
throw SyntaxError("can't supply more than one escape character");
|
56
|
+
if (multiline)
|
57
|
+
throw TypeError("can't supply escape character when using the multiline flag");
|
58
|
+
escaped = XRegExp.escape(escapeChar);
|
59
|
+
// Escape pattern modifiers:
|
60
|
+
// g - not needed here
|
61
|
+
// i - included
|
62
|
+
// m - **unsupported**, throws error
|
63
|
+
// s - handled by XRegExp when delimiters are provided as strings
|
64
|
+
// x - handled by XRegExp when delimiters are provided as strings
|
65
|
+
// y - not needed here; supported by other handling in this function
|
66
|
+
esc = RegExp(
|
67
|
+
"^(?:" + escaped + "[\\S\\s]|(?:(?!" + left.source + "|" + right.source + ")[^" + escaped + "])+)+",
|
68
|
+
ignoreCase ? "i" : ""
|
69
|
+
);
|
70
|
+
}
|
71
|
+
|
72
|
+
while (true) {
|
73
|
+
// advance the starting search position to the end of the last delimiter match. a couple
|
74
|
+
// special cases are also covered:
|
75
|
+
// - if using an escape character, advance to the next delimiter's starting position,
|
76
|
+
// skipping any escaped characters
|
77
|
+
// - first time through, reset lastIndex in case delimiters were provided as regexes
|
78
|
+
left.lastIndex = right.lastIndex = delimEnd +
|
79
|
+
(escapeChar ? (esc.exec(str.slice(delimEnd)) || [""])[0].length : 0);
|
80
|
+
|
81
|
+
leftMatch = left.exec(str);
|
82
|
+
rightMatch = right.exec(str);
|
83
|
+
|
84
|
+
// only keep the result which matched earlier in the string
|
85
|
+
if (leftMatch && rightMatch) {
|
86
|
+
if (leftMatch.index <= rightMatch.index)
|
87
|
+
rightMatch = null;
|
88
|
+
else leftMatch = null;
|
89
|
+
}
|
90
|
+
|
91
|
+
// paths*:
|
92
|
+
// leftMatch | rightMatch | openTokens | result
|
93
|
+
// 1 | 0 | 1 | ...
|
94
|
+
// 1 | 0 | 0 | ...
|
95
|
+
// 0 | 1 | 1 | ...
|
96
|
+
// 0 | 1 | 0 | throw
|
97
|
+
// 0 | 0 | 1 | throw
|
98
|
+
// 0 | 0 | 0 | break
|
99
|
+
// * - does not include the sticky mode special case
|
100
|
+
// - the loop ends after the first completed match if not in global mode
|
101
|
+
|
102
|
+
if (leftMatch || rightMatch) {
|
103
|
+
delimStart = (leftMatch || rightMatch).index;
|
104
|
+
delimEnd = (leftMatch ? left : right).lastIndex;
|
105
|
+
} else if (!openTokens) {
|
106
|
+
break;
|
107
|
+
}
|
108
|
+
|
109
|
+
if (sticky && !openTokens && delimStart > lastOuterEnd)
|
110
|
+
break;
|
111
|
+
|
112
|
+
if (leftMatch) {
|
113
|
+
if (!openTokens++) {
|
114
|
+
outerStart = delimStart;
|
115
|
+
innerStart = delimEnd;
|
116
|
+
}
|
117
|
+
} else if (rightMatch && openTokens) {
|
118
|
+
if (!--openTokens) {
|
119
|
+
if (vN) {
|
120
|
+
if (vN[0] && outerStart > lastOuterEnd)
|
121
|
+
output.push([vN[0], str.slice(lastOuterEnd, outerStart), lastOuterEnd, outerStart]);
|
122
|
+
if (vN[1]) output.push([vN[1], str.slice(outerStart, innerStart), outerStart, innerStart]);
|
123
|
+
if (vN[2]) output.push([vN[2], str.slice(innerStart, delimStart), innerStart, delimStart]);
|
124
|
+
if (vN[3]) output.push([vN[3], str.slice(delimStart, delimEnd), delimStart, delimEnd]);
|
125
|
+
} else {
|
126
|
+
output.push(str.slice(innerStart, delimStart));
|
127
|
+
}
|
128
|
+
lastOuterEnd = delimEnd;
|
129
|
+
if (!global)
|
130
|
+
break;
|
131
|
+
}
|
132
|
+
} else {
|
133
|
+
// reset lastIndex in case delimiters were provided as regexes
|
134
|
+
left.lastIndex = right.lastIndex = 0;
|
135
|
+
throw Error("subject data contains unbalanced delimiters");
|
136
|
+
}
|
137
|
+
|
138
|
+
// if the delimiter matched an empty string, advance delimEnd to avoid an infinite loop
|
139
|
+
if (delimStart === delimEnd)
|
140
|
+
delimEnd++;
|
141
|
+
}
|
142
|
+
|
143
|
+
if (global && !sticky && vN && vN[0] && str.length > lastOuterEnd)
|
144
|
+
output.push([vN[0], str.slice(lastOuterEnd), lastOuterEnd, str.length]);
|
145
|
+
|
146
|
+
// reset lastIndex in case delimiters were provided as regexes
|
147
|
+
left.lastIndex = right.lastIndex = 0;
|
148
|
+
|
149
|
+
return output;
|
150
|
+
};
|
151
|
+
|
@@ -0,0 +1,73 @@
|
|
1
|
+
/*
|
2
|
+
XRegExp Unicode plugin base 0.6
|
3
|
+
(c) 2008-2012 Steven Levithan
|
4
|
+
MIT License
|
5
|
+
<http://xregexp.com>
|
6
|
+
|
7
|
+
Uses the Unicode 6.1 character database:
|
8
|
+
<http://unicode.org/Public/6.1.0/ucd/>
|
9
|
+
|
10
|
+
The Unicode plugin base adds support for the \p{L} token only (Unicode category
|
11
|
+
Letter). Plugin packages are available that add support for the remaining
|
12
|
+
Unicode categories, as well as Unicode scripts and blocks.
|
13
|
+
|
14
|
+
All Unicode tokens can be inverted by using an uppercase P; e.g., \P{L} matches
|
15
|
+
any character not in Unicode's Letter category. Negated Unicode tokens are not
|
16
|
+
supported within character classes.
|
17
|
+
|
18
|
+
Letter case, spaces, hyphens, and underscores are ignored when comparing
|
19
|
+
Unicode token names.
|
20
|
+
*/
|
21
|
+
|
22
|
+
var XRegExp;
|
23
|
+
|
24
|
+
if (!XRegExp) {
|
25
|
+
throw ReferenceError("XRegExp must be loaded before the Unicode plugin");
|
26
|
+
}
|
27
|
+
|
28
|
+
(function () {
|
29
|
+
|
30
|
+
var unicode = {}; // protected storage for package tokens
|
31
|
+
|
32
|
+
XRegExp.addUnicodePackage = function (pack) {
|
33
|
+
var codePoint = /\w{4}/g,
|
34
|
+
clip = /[- _]+/g,
|
35
|
+
name, p;
|
36
|
+
for (p in pack) {
|
37
|
+
if (pack.hasOwnProperty(p)) {
|
38
|
+
name = p.replace(clip, "").toLowerCase();
|
39
|
+
// disallow overriding properties that have already been added
|
40
|
+
if (!unicode.hasOwnProperty(name)) {
|
41
|
+
unicode[name] = pack[p].replace(codePoint, "\\u$&");
|
42
|
+
}
|
43
|
+
}
|
44
|
+
}
|
45
|
+
};
|
46
|
+
|
47
|
+
XRegExp.addToken(
|
48
|
+
/\\([pP]){(\^?)([^}]*)}/,
|
49
|
+
function (match, scope) {
|
50
|
+
var negated = (match[1] === "P" || match[2]),
|
51
|
+
item = match[3].replace(/[- _]+/g, "").toLowerCase();
|
52
|
+
|
53
|
+
// \p{}, \P{}, and \p{^} are valid, but the double negative \P{^} isn't
|
54
|
+
if (match[1] === "P" && match[2])
|
55
|
+
throw SyntaxError("erroneous characters: " + match[0]);
|
56
|
+
if (negated && scope === XRegExp.INSIDE_CLASS)
|
57
|
+
throw SyntaxError("not supported in character classes: \\" + match[1] + "{" + match[2] + "...}");
|
58
|
+
if (!unicode.hasOwnProperty(item))
|
59
|
+
throw SyntaxError("invalid or unsupported Unicode item: " + match[0]);
|
60
|
+
|
61
|
+
return scope === XRegExp.OUTSIDE_CLASS ?
|
62
|
+
"[" + (negated ? "^" : "") + unicode[item] + "]" :
|
63
|
+
unicode[item];
|
64
|
+
},
|
65
|
+
XRegExp.INSIDE_CLASS | XRegExp.OUTSIDE_CLASS
|
66
|
+
);
|
67
|
+
|
68
|
+
XRegExp.addUnicodePackage({
|
69
|
+
L: "0041-005A0061-007A00AA00B500BA00C0-00D600D8-00F600F8-02C102C6-02D102E0-02E402EC02EE0370-037403760377037A-037D03860388-038A038C038E-03A103A3-03F503F7-0481048A-05270531-055605590561-058705D0-05EA05F0-05F20620-064A066E066F0671-06D306D506E506E606EE06EF06FA-06FC06FF07100712-072F074D-07A507B107CA-07EA07F407F507FA0800-0815081A082408280840-085808A008A2-08AC0904-0939093D09500958-09610971-09770979-097F0985-098C098F09900993-09A809AA-09B009B209B6-09B909BD09CE09DC09DD09DF-09E109F009F10A05-0A0A0A0F0A100A13-0A280A2A-0A300A320A330A350A360A380A390A59-0A5C0A5E0A72-0A740A85-0A8D0A8F-0A910A93-0AA80AAA-0AB00AB20AB30AB5-0AB90ABD0AD00AE00AE10B05-0B0C0B0F0B100B13-0B280B2A-0B300B320B330B35-0B390B3D0B5C0B5D0B5F-0B610B710B830B85-0B8A0B8E-0B900B92-0B950B990B9A0B9C0B9E0B9F0BA30BA40BA8-0BAA0BAE-0BB90BD00C05-0C0C0C0E-0C100C12-0C280C2A-0C330C35-0C390C3D0C580C590C600C610C85-0C8C0C8E-0C900C92-0CA80CAA-0CB30CB5-0CB90CBD0CDE0CE00CE10CF10CF20D05-0D0C0D0E-0D100D12-0D3A0D3D0D4E0D600D610D7A-0D7F0D85-0D960D9A-0DB10DB3-0DBB0DBD0DC0-0DC60E01-0E300E320E330E40-0E460E810E820E840E870E880E8A0E8D0E94-0E970E99-0E9F0EA1-0EA30EA50EA70EAA0EAB0EAD-0EB00EB20EB30EBD0EC0-0EC40EC60EDC-0EDF0F000F40-0F470F49-0F6C0F88-0F8C1000-102A103F1050-1055105A-105D106110651066106E-10701075-1081108E10A0-10C510C710CD10D0-10FA10FC-1248124A-124D1250-12561258125A-125D1260-1288128A-128D1290-12B012B2-12B512B8-12BE12C012C2-12C512C8-12D612D8-13101312-13151318-135A1380-138F13A0-13F41401-166C166F-167F1681-169A16A0-16EA1700-170C170E-17111720-17311740-17511760-176C176E-17701780-17B317D717DC1820-18771880-18A818AA18B0-18F51900-191C1950-196D1970-19741980-19AB19C1-19C71A00-1A161A20-1A541AA71B05-1B331B45-1B4B1B83-1BA01BAE1BAF1BBA-1BE51C00-1C231C4D-1C4F1C5A-1C7D1CE9-1CEC1CEE-1CF11CF51CF61D00-1DBF1E00-1F151F18-1F1D1F20-1F451F48-1F4D1F50-1F571F591F5B1F5D1F5F-1F7D1F80-1FB41FB6-1FBC1FBE1FC2-1FC41FC6-1FCC1FD0-1FD31FD6-1FDB1FE0-1FEC1FF2-1FF41FF6-1FFC2071207F2090-209C21022107210A-211321152119-211D212421262128212A-212D212F-2139213C-213F2145-2149214E218321842C00-2C2E2C30-2C5E2C60-2CE42CEB-2CEE2CF22CF32D00-2D252D272D2D2D30-2D672D6F2D80-2D962DA0-2DA62DA8-2DAE2DB0-2DB62DB8-2DBE2DC0-2DC62DC8-2DCE2DD0-2DD62DD8-2DDE2E2F300530063031-3035303B303C3041-3096309D-309F30A1-30FA30FC-30FF3105-312D3131-318E31A0-31BA31F0-31FF3400-4DB54E00-9FCCA000-A48CA4D0-A4FDA500-A60CA610-A61FA62AA62BA640-A66EA67F-A697A6A0-A6E5A717-A71FA722-A788A78B-A78EA790-A793A7A0-A7AAA7F8-A801A803-A805A807-A80AA80C-A822A840-A873A882-A8B3A8F2-A8F7A8FBA90A-A925A930-A946A960-A97CA984-A9B2A9CFAA00-AA28AA40-AA42AA44-AA4BAA60-AA76AA7AAA80-AAAFAAB1AAB5AAB6AAB9-AABDAAC0AAC2AADB-AADDAAE0-AAEAAAF2-AAF4AB01-AB06AB09-AB0EAB11-AB16AB20-AB26AB28-AB2EABC0-ABE2AC00-D7A3D7B0-D7C6D7CB-D7FBF900-FA6DFA70-FAD9FB00-FB06FB13-FB17FB1DFB1F-FB28FB2A-FB36FB38-FB3CFB3EFB40FB41FB43FB44FB46-FBB1FBD3-FD3DFD50-FD8FFD92-FDC7FDF0-FDFBFE70-FE74FE76-FEFCFF21-FF3AFF41-FF5AFF66-FFBEFFC2-FFC7FFCA-FFCFFFD2-FFD7FFDA-FFDC"
|
70
|
+
});
|
71
|
+
|
72
|
+
})();
|
73
|
+
|
@@ -0,0 +1,187 @@
|
|
1
|
+
/*
|
2
|
+
XRegExp Unicode plugin pack: Blocks 1.1
|
3
|
+
(c) 2010-2012 Steven Levithan
|
4
|
+
MIT License
|
5
|
+
<http://xregexp.com>
|
6
|
+
|
7
|
+
Uses the Unicode 6.1 character database:
|
8
|
+
<http://unicode.org/Public/6.1.0/ucd/Blocks.txt>
|
9
|
+
|
10
|
+
This package for the XRegExp Unicode plugin enables the 156 Unicode 6.1 blocks
|
11
|
+
in the Basic Multilingual Plane (U+0000-U+FFFF).
|
12
|
+
|
13
|
+
Unicode blocks use the prefix "In". Example usage:
|
14
|
+
|
15
|
+
\p{InMongolian}
|
16
|
+
\p{InLatin Extended-A}
|
17
|
+
|
18
|
+
Letter case, spaces, hyphens, and underscores are ignored in block names.
|
19
|
+
*/
|
20
|
+
|
21
|
+
var XRegExp;
|
22
|
+
|
23
|
+
if (!(XRegExp && XRegExp.addUnicodePackage)) {
|
24
|
+
throw ReferenceError("XRegExp's Unicode plugin must be loaded before adding blocks");
|
25
|
+
}
|
26
|
+
|
27
|
+
XRegExp.addUnicodePackage({
|
28
|
+
InBasic_Latin: "0000-007F",
|
29
|
+
InLatin_1_Supplement: "0080-00FF",
|
30
|
+
InLatin_Extended_A: "0100-017F",
|
31
|
+
InLatin_Extended_B: "0180-024F",
|
32
|
+
InIPA_Extensions: "0250-02AF",
|
33
|
+
InSpacing_Modifier_Letters: "02B0-02FF",
|
34
|
+
InCombining_Diacritical_Marks: "0300-036F",
|
35
|
+
InGreek_and_Coptic: "0370-03FF",
|
36
|
+
InCyrillic: "0400-04FF",
|
37
|
+
InCyrillic_Supplement: "0500-052F",
|
38
|
+
InArmenian: "0530-058F",
|
39
|
+
InHebrew: "0590-05FF",
|
40
|
+
InArabic: "0600-06FF",
|
41
|
+
InSyriac: "0700-074F",
|
42
|
+
InArabic_Supplement: "0750-077F",
|
43
|
+
InThaana: "0780-07BF",
|
44
|
+
InNKo: "07C0-07FF",
|
45
|
+
InSamaritan: "0800-083F",
|
46
|
+
InMandaic: "0840-085F",
|
47
|
+
InArabic_Extended_A: "08A0-08FF",
|
48
|
+
InDevanagari: "0900-097F",
|
49
|
+
InBengali: "0980-09FF",
|
50
|
+
InGurmukhi: "0A00-0A7F",
|
51
|
+
InGujarati: "0A80-0AFF",
|
52
|
+
InOriya: "0B00-0B7F",
|
53
|
+
InTamil: "0B80-0BFF",
|
54
|
+
InTelugu: "0C00-0C7F",
|
55
|
+
InKannada: "0C80-0CFF",
|
56
|
+
InMalayalam: "0D00-0D7F",
|
57
|
+
InSinhala: "0D80-0DFF",
|
58
|
+
InThai: "0E00-0E7F",
|
59
|
+
InLao: "0E80-0EFF",
|
60
|
+
InTibetan: "0F00-0FFF",
|
61
|
+
InMyanmar: "1000-109F",
|
62
|
+
InGeorgian: "10A0-10FF",
|
63
|
+
InHangul_Jamo: "1100-11FF",
|
64
|
+
InEthiopic: "1200-137F",
|
65
|
+
InEthiopic_Supplement: "1380-139F",
|
66
|
+
InCherokee: "13A0-13FF",
|
67
|
+
InUnified_Canadian_Aboriginal_Syllabics: "1400-167F",
|
68
|
+
InOgham: "1680-169F",
|
69
|
+
InRunic: "16A0-16FF",
|
70
|
+
InTagalog: "1700-171F",
|
71
|
+
InHanunoo: "1720-173F",
|
72
|
+
InBuhid: "1740-175F",
|
73
|
+
InTagbanwa: "1760-177F",
|
74
|
+
InKhmer: "1780-17FF",
|
75
|
+
InMongolian: "1800-18AF",
|
76
|
+
InUnified_Canadian_Aboriginal_Syllabics_Extended: "18B0-18FF",
|
77
|
+
InLimbu: "1900-194F",
|
78
|
+
InTai_Le: "1950-197F",
|
79
|
+
InNew_Tai_Lue: "1980-19DF",
|
80
|
+
InKhmer_Symbols: "19E0-19FF",
|
81
|
+
InBuginese: "1A00-1A1F",
|
82
|
+
InTai_Tham: "1A20-1AAF",
|
83
|
+
InBalinese: "1B00-1B7F",
|
84
|
+
InSundanese: "1B80-1BBF",
|
85
|
+
InBatak: "1BC0-1BFF",
|
86
|
+
InLepcha: "1C00-1C4F",
|
87
|
+
InOl_Chiki: "1C50-1C7F",
|
88
|
+
InSundanese_Supplement: "1CC0-1CCF",
|
89
|
+
InVedic_Extensions: "1CD0-1CFF",
|
90
|
+
InPhonetic_Extensions: "1D00-1D7F",
|
91
|
+
InPhonetic_Extensions_Supplement: "1D80-1DBF",
|
92
|
+
InCombining_Diacritical_Marks_Supplement: "1DC0-1DFF",
|
93
|
+
InLatin_Extended_Additional: "1E00-1EFF",
|
94
|
+
InGreek_Extended: "1F00-1FFF",
|
95
|
+
InGeneral_Punctuation: "2000-206F",
|
96
|
+
InSuperscripts_and_Subscripts: "2070-209F",
|
97
|
+
InCurrency_Symbols: "20A0-20CF",
|
98
|
+
InCombining_Diacritical_Marks_for_Symbols: "20D0-20FF",
|
99
|
+
InLetterlike_Symbols: "2100-214F",
|
100
|
+
InNumber_Forms: "2150-218F",
|
101
|
+
InArrows: "2190-21FF",
|
102
|
+
InMathematical_Operators: "2200-22FF",
|
103
|
+
InMiscellaneous_Technical: "2300-23FF",
|
104
|
+
InControl_Pictures: "2400-243F",
|
105
|
+
InOptical_Character_Recognition: "2440-245F",
|
106
|
+
InEnclosed_Alphanumerics: "2460-24FF",
|
107
|
+
InBox_Drawing: "2500-257F",
|
108
|
+
InBlock_Elements: "2580-259F",
|
109
|
+
InGeometric_Shapes: "25A0-25FF",
|
110
|
+
InMiscellaneous_Symbols: "2600-26FF",
|
111
|
+
InDingbats: "2700-27BF",
|
112
|
+
InMiscellaneous_Mathematical_Symbols_A: "27C0-27EF",
|
113
|
+
InSupplemental_Arrows_A: "27F0-27FF",
|
114
|
+
InBraille_Patterns: "2800-28FF",
|
115
|
+
InSupplemental_Arrows_B: "2900-297F",
|
116
|
+
InMiscellaneous_Mathematical_Symbols_B: "2980-29FF",
|
117
|
+
InSupplemental_Mathematical_Operators: "2A00-2AFF",
|
118
|
+
InMiscellaneous_Symbols_and_Arrows: "2B00-2BFF",
|
119
|
+
InGlagolitic: "2C00-2C5F",
|
120
|
+
InLatin_Extended_C: "2C60-2C7F",
|
121
|
+
InCoptic: "2C80-2CFF",
|
122
|
+
InGeorgian_Supplement: "2D00-2D2F",
|
123
|
+
InTifinagh: "2D30-2D7F",
|
124
|
+
InEthiopic_Extended: "2D80-2DDF",
|
125
|
+
InCyrillic_Extended_A: "2DE0-2DFF",
|
126
|
+
InSupplemental_Punctuation: "2E00-2E7F",
|
127
|
+
InCJK_Radicals_Supplement: "2E80-2EFF",
|
128
|
+
InKangxi_Radicals: "2F00-2FDF",
|
129
|
+
InIdeographic_Description_Characters: "2FF0-2FFF",
|
130
|
+
InCJK_Symbols_and_Punctuation: "3000-303F",
|
131
|
+
InHiragana: "3040-309F",
|
132
|
+
InKatakana: "30A0-30FF",
|
133
|
+
InBopomofo: "3100-312F",
|
134
|
+
InHangul_Compatibility_Jamo: "3130-318F",
|
135
|
+
InKanbun: "3190-319F",
|
136
|
+
InBopomofo_Extended: "31A0-31BF",
|
137
|
+
InCJK_Strokes: "31C0-31EF",
|
138
|
+
InKatakana_Phonetic_Extensions: "31F0-31FF",
|
139
|
+
InEnclosed_CJK_Letters_and_Months: "3200-32FF",
|
140
|
+
InCJK_Compatibility: "3300-33FF",
|
141
|
+
InCJK_Unified_Ideographs_Extension_A: "3400-4DBF",
|
142
|
+
InYijing_Hexagram_Symbols: "4DC0-4DFF",
|
143
|
+
InCJK_Unified_Ideographs: "4E00-9FFF",
|
144
|
+
InYi_Syllables: "A000-A48F",
|
145
|
+
InYi_Radicals: "A490-A4CF",
|
146
|
+
InLisu: "A4D0-A4FF",
|
147
|
+
InVai: "A500-A63F",
|
148
|
+
InCyrillic_Extended_B: "A640-A69F",
|
149
|
+
InBamum: "A6A0-A6FF",
|
150
|
+
InModifier_Tone_Letters: "A700-A71F",
|
151
|
+
InLatin_Extended_D: "A720-A7FF",
|
152
|
+
InSyloti_Nagri: "A800-A82F",
|
153
|
+
InCommon_Indic_Number_Forms: "A830-A83F",
|
154
|
+
InPhags_pa: "A840-A87F",
|
155
|
+
InSaurashtra: "A880-A8DF",
|
156
|
+
InDevanagari_Extended: "A8E0-A8FF",
|
157
|
+
InKayah_Li: "A900-A92F",
|
158
|
+
InRejang: "A930-A95F",
|
159
|
+
InHangul_Jamo_Extended_A: "A960-A97F",
|
160
|
+
InJavanese: "A980-A9DF",
|
161
|
+
InCham: "AA00-AA5F",
|
162
|
+
InMyanmar_Extended_A: "AA60-AA7F",
|
163
|
+
InTai_Viet: "AA80-AADF",
|
164
|
+
InMeetei_Mayek_Extensions: "AAE0-AAFF",
|
165
|
+
InEthiopic_Extended_A: "AB00-AB2F",
|
166
|
+
InMeetei_Mayek: "ABC0-ABFF",
|
167
|
+
InHangul_Syllables: "AC00-D7AF",
|
168
|
+
InHangul_Jamo_Extended_B: "D7B0-D7FF",
|
169
|
+
InHigh_Surrogates: "D800-DB7F",
|
170
|
+
InHigh_Private_Use_Surrogates: "DB80-DBFF",
|
171
|
+
InLow_Surrogates: "DC00-DFFF",
|
172
|
+
InPrivate_Use_Area: "E000-F8FF",
|
173
|
+
InCJK_Compatibility_Ideographs: "F900-FAFF",
|
174
|
+
InAlphabetic_Presentation_Forms: "FB00-FB4F",
|
175
|
+
InArabic_Presentation_Forms_A: "FB50-FDFF",
|
176
|
+
InVariation_Selectors: "FE00-FE0F",
|
177
|
+
InVertical_Forms: "FE10-FE1F",
|
178
|
+
InCombining_Half_Marks: "FE20-FE2F",
|
179
|
+
InCJK_Compatibility_Forms: "FE30-FE4F",
|
180
|
+
InSmall_Form_Variants: "FE50-FE6F",
|
181
|
+
InArabic_Presentation_Forms_B: "FE70-FEFF",
|
182
|
+
InHalfwidth_and_Fullwidth_Forms: "FF00-FFEF",
|
183
|
+
InSpecials: "FFF0-FFFF"
|
184
|
+
});
|
185
|
+
|
186
|
+
// Excludes 64 Unicode 6.1 blocks outside the BMP.
|
187
|
+
|
@@ -0,0 +1,102 @@
|
|
1
|
+
/*
|
2
|
+
XRegExp Unicode plugin pack: Categories 1.1
|
3
|
+
(c) 2010-2012 Steven Levithan
|
4
|
+
MIT License
|
5
|
+
<http://xregexp.com>
|
6
|
+
|
7
|
+
Uses the Unicode 6.1 character database:
|
8
|
+
<http://unicode.org/Public/6.1.0/ucd/UnicodeData.txt>
|
9
|
+
|
10
|
+
This package for the XRegExp Unicode plugin enables the following 37 Unicode
|
11
|
+
categories (aka properties):
|
12
|
+
|
13
|
+
L - Letter (the top-level Letter category is included in the Unicode plugin base script)
|
14
|
+
Ll - Lowercase letter
|
15
|
+
Lu - Uppercase letter
|
16
|
+
Lt - Titlecase letter
|
17
|
+
Lm - Modifier letter
|
18
|
+
Lo - Letter without case
|
19
|
+
M - Mark
|
20
|
+
Mn - Non-spacing mark
|
21
|
+
Mc - Spacing combining mark
|
22
|
+
Me - Enclosing mark
|
23
|
+
N - Number
|
24
|
+
Nd - Decimal digit
|
25
|
+
Nl - Letter number
|
26
|
+
No - Other number
|
27
|
+
P - Punctuation
|
28
|
+
Pd - Dash punctuation
|
29
|
+
Ps - Open punctuation
|
30
|
+
Pe - Close punctuation
|
31
|
+
Pi - Initial punctuation
|
32
|
+
Pf - Final punctuation
|
33
|
+
Pc - Connector punctuation
|
34
|
+
Po - Other punctuation
|
35
|
+
S - Symbol
|
36
|
+
Sm - Math symbol
|
37
|
+
Sc - Currency symbol
|
38
|
+
Sk - Modifier symbol
|
39
|
+
So - Other symbol
|
40
|
+
Z - Separator
|
41
|
+
Zs - Space separator
|
42
|
+
Zl - Line separator
|
43
|
+
Zp - Paragraph separator
|
44
|
+
C - Other
|
45
|
+
Cc - Control
|
46
|
+
Cf - Format
|
47
|
+
Co - Private use
|
48
|
+
Cs - Surrogate
|
49
|
+
Cn - Unassigned
|
50
|
+
|
51
|
+
Example usage:
|
52
|
+
|
53
|
+
\p{N}
|
54
|
+
\p{Cn}
|
55
|
+
*/
|
56
|
+
|
57
|
+
var XRegExp;
|
58
|
+
|
59
|
+
if (!(XRegExp && XRegExp.addUnicodePackage)) {
|
60
|
+
throw ReferenceError("XRegExp's Unicode plugin must be loaded before adding categories");
|
61
|
+
}
|
62
|
+
|
63
|
+
XRegExp.addUnicodePackage({
|
64
|
+
//L: "", // included in the Unicode plugin base script
|
65
|
+
Ll: "0061-007A00B500DF-00F600F8-00FF01010103010501070109010B010D010F01110113011501170119011B011D011F01210123012501270129012B012D012F01310133013501370138013A013C013E014001420144014601480149014B014D014F01510153015501570159015B015D015F01610163016501670169016B016D016F0171017301750177017A017C017E-0180018301850188018C018D019201950199-019B019E01A101A301A501A801AA01AB01AD01B001B401B601B901BA01BD-01BF01C601C901CC01CE01D001D201D401D601D801DA01DC01DD01DF01E101E301E501E701E901EB01ED01EF01F001F301F501F901FB01FD01FF02010203020502070209020B020D020F02110213021502170219021B021D021F02210223022502270229022B022D022F02310233-0239023C023F0240024202470249024B024D024F-02930295-02AF037103730377037B-037D039003AC-03CE03D003D103D5-03D703D903DB03DD03DF03E103E303E503E703E903EB03ED03EF-03F303F503F803FB03FC0430-045F04610463046504670469046B046D046F04710473047504770479047B047D047F0481048B048D048F04910493049504970499049B049D049F04A104A304A504A704A904AB04AD04AF04B104B304B504B704B904BB04BD04BF04C204C404C604C804CA04CC04CE04CF04D104D304D504D704D904DB04DD04DF04E104E304E504E704E904EB04ED04EF04F104F304F504F704F904FB04FD04FF05010503050505070509050B050D050F05110513051505170519051B051D051F05210523052505270561-05871D00-1D2B1D6B-1D771D79-1D9A1E011E031E051E071E091E0B1E0D1E0F1E111E131E151E171E191E1B1E1D1E1F1E211E231E251E271E291E2B1E2D1E2F1E311E331E351E371E391E3B1E3D1E3F1E411E431E451E471E491E4B1E4D1E4F1E511E531E551E571E591E5B1E5D1E5F1E611E631E651E671E691E6B1E6D1E6F1E711E731E751E771E791E7B1E7D1E7F1E811E831E851E871E891E8B1E8D1E8F1E911E931E95-1E9D1E9F1EA11EA31EA51EA71EA91EAB1EAD1EAF1EB11EB31EB51EB71EB91EBB1EBD1EBF1EC11EC31EC51EC71EC91ECB1ECD1ECF1ED11ED31ED51ED71ED91EDB1EDD1EDF1EE11EE31EE51EE71EE91EEB1EED1EEF1EF11EF31EF51EF71EF91EFB1EFD1EFF-1F071F10-1F151F20-1F271F30-1F371F40-1F451F50-1F571F60-1F671F70-1F7D1F80-1F871F90-1F971FA0-1FA71FB0-1FB41FB61FB71FBE1FC2-1FC41FC61FC71FD0-1FD31FD61FD71FE0-1FE71FF2-1FF41FF61FF7210A210E210F2113212F21342139213C213D2146-2149214E21842C30-2C5E2C612C652C662C682C6A2C6C2C712C732C742C76-2C7B2C812C832C852C872C892C8B2C8D2C8F2C912C932C952C972C992C9B2C9D2C9F2CA12CA32CA52CA72CA92CAB2CAD2CAF2CB12CB32CB52CB72CB92CBB2CBD2CBF2CC12CC32CC52CC72CC92CCB2CCD2CCF2CD12CD32CD52CD72CD92CDB2CDD2CDF2CE12CE32CE42CEC2CEE2CF32D00-2D252D272D2DA641A643A645A647A649A64BA64DA64FA651A653A655A657A659A65BA65DA65FA661A663A665A667A669A66BA66DA681A683A685A687A689A68BA68DA68FA691A693A695A697A723A725A727A729A72BA72DA72F-A731A733A735A737A739A73BA73DA73FA741A743A745A747A749A74BA74DA74FA751A753A755A757A759A75BA75DA75FA761A763A765A767A769A76BA76DA76FA771-A778A77AA77CA77FA781A783A785A787A78CA78EA791A793A7A1A7A3A7A5A7A7A7A9A7FAFB00-FB06FB13-FB17FF41-FF5A",
|
66
|
+
Lu: "0041-005A00C0-00D600D8-00DE01000102010401060108010A010C010E01100112011401160118011A011C011E01200122012401260128012A012C012E01300132013401360139013B013D013F0141014301450147014A014C014E01500152015401560158015A015C015E01600162016401660168016A016C016E017001720174017601780179017B017D018101820184018601870189-018B018E-0191019301940196-0198019C019D019F01A001A201A401A601A701A901AC01AE01AF01B1-01B301B501B701B801BC01C401C701CA01CD01CF01D101D301D501D701D901DB01DE01E001E201E401E601E801EA01EC01EE01F101F401F6-01F801FA01FC01FE02000202020402060208020A020C020E02100212021402160218021A021C021E02200222022402260228022A022C022E02300232023A023B023D023E02410243-02460248024A024C024E03700372037603860388-038A038C038E038F0391-03A103A3-03AB03CF03D2-03D403D803DA03DC03DE03E003E203E403E603E803EA03EC03EE03F403F703F903FA03FD-042F04600462046404660468046A046C046E04700472047404760478047A047C047E0480048A048C048E04900492049404960498049A049C049E04A004A204A404A604A804AA04AC04AE04B004B204B404B604B804BA04BC04BE04C004C104C304C504C704C904CB04CD04D004D204D404D604D804DA04DC04DE04E004E204E404E604E804EA04EC04EE04F004F204F404F604F804FA04FC04FE05000502050405060508050A050C050E05100512051405160518051A051C051E05200522052405260531-055610A0-10C510C710CD1E001E021E041E061E081E0A1E0C1E0E1E101E121E141E161E181E1A1E1C1E1E1E201E221E241E261E281E2A1E2C1E2E1E301E321E341E361E381E3A1E3C1E3E1E401E421E441E461E481E4A1E4C1E4E1E501E521E541E561E581E5A1E5C1E5E1E601E621E641E661E681E6A1E6C1E6E1E701E721E741E761E781E7A1E7C1E7E1E801E821E841E861E881E8A1E8C1E8E1E901E921E941E9E1EA01EA21EA41EA61EA81EAA1EAC1EAE1EB01EB21EB41EB61EB81EBA1EBC1EBE1EC01EC21EC41EC61EC81ECA1ECC1ECE1ED01ED21ED41ED61ED81EDA1EDC1EDE1EE01EE21EE41EE61EE81EEA1EEC1EEE1EF01EF21EF41EF61EF81EFA1EFC1EFE1F08-1F0F1F18-1F1D1F28-1F2F1F38-1F3F1F48-1F4D1F591F5B1F5D1F5F1F68-1F6F1FB8-1FBB1FC8-1FCB1FD8-1FDB1FE8-1FEC1FF8-1FFB21022107210B-210D2110-211221152119-211D212421262128212A-212D2130-2133213E213F214521832C00-2C2E2C602C62-2C642C672C692C6B2C6D-2C702C722C752C7E-2C802C822C842C862C882C8A2C8C2C8E2C902C922C942C962C982C9A2C9C2C9E2CA02CA22CA42CA62CA82CAA2CAC2CAE2CB02CB22CB42CB62CB82CBA2CBC2CBE2CC02CC22CC42CC62CC82CCA2CCC2CCE2CD02CD22CD42CD62CD82CDA2CDC2CDE2CE02CE22CEB2CED2CF2A640A642A644A646A648A64AA64CA64EA650A652A654A656A658A65AA65CA65EA660A662A664A666A668A66AA66CA680A682A684A686A688A68AA68CA68EA690A692A694A696A722A724A726A728A72AA72CA72EA732A734A736A738A73AA73CA73EA740A742A744A746A748A74AA74CA74EA750A752A754A756A758A75AA75CA75EA760A762A764A766A768A76AA76CA76EA779A77BA77DA77EA780A782A784A786A78BA78DA790A792A7A0A7A2A7A4A7A6A7A8A7AAFF21-FF3A",
|
67
|
+
Lt: "01C501C801CB01F21F88-1F8F1F98-1F9F1FA8-1FAF1FBC1FCC1FFC",
|
68
|
+
Lm: "02B0-02C102C6-02D102E0-02E402EC02EE0374037A0559064006E506E607F407F507FA081A0824082809710E460EC610FC17D718431AA71C78-1C7D1D2C-1D6A1D781D9B-1DBF2071207F2090-209C2C7C2C7D2D6F2E2F30053031-3035303B309D309E30FC-30FEA015A4F8-A4FDA60CA67FA717-A71FA770A788A7F8A7F9A9CFAA70AADDAAF3AAF4FF70FF9EFF9F",
|
69
|
+
Lo: "00AA00BA01BB01C0-01C3029405D0-05EA05F0-05F20620-063F0641-064A066E066F0671-06D306D506EE06EF06FA-06FC06FF07100712-072F074D-07A507B107CA-07EA0800-08150840-085808A008A2-08AC0904-0939093D09500958-09610972-09770979-097F0985-098C098F09900993-09A809AA-09B009B209B6-09B909BD09CE09DC09DD09DF-09E109F009F10A05-0A0A0A0F0A100A13-0A280A2A-0A300A320A330A350A360A380A390A59-0A5C0A5E0A72-0A740A85-0A8D0A8F-0A910A93-0AA80AAA-0AB00AB20AB30AB5-0AB90ABD0AD00AE00AE10B05-0B0C0B0F0B100B13-0B280B2A-0B300B320B330B35-0B390B3D0B5C0B5D0B5F-0B610B710B830B85-0B8A0B8E-0B900B92-0B950B990B9A0B9C0B9E0B9F0BA30BA40BA8-0BAA0BAE-0BB90BD00C05-0C0C0C0E-0C100C12-0C280C2A-0C330C35-0C390C3D0C580C590C600C610C85-0C8C0C8E-0C900C92-0CA80CAA-0CB30CB5-0CB90CBD0CDE0CE00CE10CF10CF20D05-0D0C0D0E-0D100D12-0D3A0D3D0D4E0D600D610D7A-0D7F0D85-0D960D9A-0DB10DB3-0DBB0DBD0DC0-0DC60E01-0E300E320E330E40-0E450E810E820E840E870E880E8A0E8D0E94-0E970E99-0E9F0EA1-0EA30EA50EA70EAA0EAB0EAD-0EB00EB20EB30EBD0EC0-0EC40EDC-0EDF0F000F40-0F470F49-0F6C0F88-0F8C1000-102A103F1050-1055105A-105D106110651066106E-10701075-1081108E10D0-10FA10FD-1248124A-124D1250-12561258125A-125D1260-1288128A-128D1290-12B012B2-12B512B8-12BE12C012C2-12C512C8-12D612D8-13101312-13151318-135A1380-138F13A0-13F41401-166C166F-167F1681-169A16A0-16EA1700-170C170E-17111720-17311740-17511760-176C176E-17701780-17B317DC1820-18421844-18771880-18A818AA18B0-18F51900-191C1950-196D1970-19741980-19AB19C1-19C71A00-1A161A20-1A541B05-1B331B45-1B4B1B83-1BA01BAE1BAF1BBA-1BE51C00-1C231C4D-1C4F1C5A-1C771CE9-1CEC1CEE-1CF11CF51CF62135-21382D30-2D672D80-2D962DA0-2DA62DA8-2DAE2DB0-2DB62DB8-2DBE2DC0-2DC62DC8-2DCE2DD0-2DD62DD8-2DDE3006303C3041-3096309F30A1-30FA30FF3105-312D3131-318E31A0-31BA31F0-31FF3400-4DB54E00-9FCCA000-A014A016-A48CA4D0-A4F7A500-A60BA610-A61FA62AA62BA66EA6A0-A6E5A7FB-A801A803-A805A807-A80AA80C-A822A840-A873A882-A8B3A8F2-A8F7A8FBA90A-A925A930-A946A960-A97CA984-A9B2AA00-AA28AA40-AA42AA44-AA4BAA60-AA6FAA71-AA76AA7AAA80-AAAFAAB1AAB5AAB6AAB9-AABDAAC0AAC2AADBAADCAAE0-AAEAAAF2AB01-AB06AB09-AB0EAB11-AB16AB20-AB26AB28-AB2EABC0-ABE2AC00-D7A3D7B0-D7C6D7CB-D7FBF900-FA6DFA70-FAD9FB1DFB1F-FB28FB2A-FB36FB38-FB3CFB3EFB40FB41FB43FB44FB46-FBB1FBD3-FD3DFD50-FD8FFD92-FDC7FDF0-FDFBFE70-FE74FE76-FEFCFF66-FF6FFF71-FF9DFFA0-FFBEFFC2-FFC7FFCA-FFCFFFD2-FFD7FFDA-FFDC",
|
70
|
+
M: "0300-036F0483-04890591-05BD05BF05C105C205C405C505C70610-061A064B-065F067006D6-06DC06DF-06E406E706E806EA-06ED07110730-074A07A6-07B007EB-07F30816-0819081B-08230825-08270829-082D0859-085B08E4-08FE0900-0903093A-093C093E-094F0951-0957096209630981-098309BC09BE-09C409C709C809CB-09CD09D709E209E30A01-0A030A3C0A3E-0A420A470A480A4B-0A4D0A510A700A710A750A81-0A830ABC0ABE-0AC50AC7-0AC90ACB-0ACD0AE20AE30B01-0B030B3C0B3E-0B440B470B480B4B-0B4D0B560B570B620B630B820BBE-0BC20BC6-0BC80BCA-0BCD0BD70C01-0C030C3E-0C440C46-0C480C4A-0C4D0C550C560C620C630C820C830CBC0CBE-0CC40CC6-0CC80CCA-0CCD0CD50CD60CE20CE30D020D030D3E-0D440D46-0D480D4A-0D4D0D570D620D630D820D830DCA0DCF-0DD40DD60DD8-0DDF0DF20DF30E310E34-0E3A0E47-0E4E0EB10EB4-0EB90EBB0EBC0EC8-0ECD0F180F190F350F370F390F3E0F3F0F71-0F840F860F870F8D-0F970F99-0FBC0FC6102B-103E1056-1059105E-10601062-10641067-106D1071-10741082-108D108F109A-109D135D-135F1712-17141732-1734175217531772177317B4-17D317DD180B-180D18A91920-192B1930-193B19B0-19C019C819C91A17-1A1B1A55-1A5E1A60-1A7C1A7F1B00-1B041B34-1B441B6B-1B731B80-1B821BA1-1BAD1BE6-1BF31C24-1C371CD0-1CD21CD4-1CE81CED1CF2-1CF41DC0-1DE61DFC-1DFF20D0-20F02CEF-2CF12D7F2DE0-2DFF302A-302F3099309AA66F-A672A674-A67DA69FA6F0A6F1A802A806A80BA823-A827A880A881A8B4-A8C4A8E0-A8F1A926-A92DA947-A953A980-A983A9B3-A9C0AA29-AA36AA43AA4CAA4DAA7BAAB0AAB2-AAB4AAB7AAB8AABEAABFAAC1AAEB-AAEFAAF5AAF6ABE3-ABEAABECABEDFB1EFE00-FE0FFE20-FE26",
|
71
|
+
Mn: "0300-036F0483-04870591-05BD05BF05C105C205C405C505C70610-061A064B-065F067006D6-06DC06DF-06E406E706E806EA-06ED07110730-074A07A6-07B007EB-07F30816-0819081B-08230825-08270829-082D0859-085B08E4-08FE0900-0902093A093C0941-0948094D0951-095709620963098109BC09C1-09C409CD09E209E30A010A020A3C0A410A420A470A480A4B-0A4D0A510A700A710A750A810A820ABC0AC1-0AC50AC70AC80ACD0AE20AE30B010B3C0B3F0B41-0B440B4D0B560B620B630B820BC00BCD0C3E-0C400C46-0C480C4A-0C4D0C550C560C620C630CBC0CBF0CC60CCC0CCD0CE20CE30D41-0D440D4D0D620D630DCA0DD2-0DD40DD60E310E34-0E3A0E47-0E4E0EB10EB4-0EB90EBB0EBC0EC8-0ECD0F180F190F350F370F390F71-0F7E0F80-0F840F860F870F8D-0F970F99-0FBC0FC6102D-10301032-10371039103A103D103E10581059105E-10601071-1074108210851086108D109D135D-135F1712-17141732-1734175217531772177317B417B517B7-17BD17C617C9-17D317DD180B-180D18A91920-19221927192819321939-193B1A171A181A561A58-1A5E1A601A621A65-1A6C1A73-1A7C1A7F1B00-1B031B341B36-1B3A1B3C1B421B6B-1B731B801B811BA2-1BA51BA81BA91BAB1BE61BE81BE91BED1BEF-1BF11C2C-1C331C361C371CD0-1CD21CD4-1CE01CE2-1CE81CED1CF41DC0-1DE61DFC-1DFF20D0-20DC20E120E5-20F02CEF-2CF12D7F2DE0-2DFF302A-302D3099309AA66FA674-A67DA69FA6F0A6F1A802A806A80BA825A826A8C4A8E0-A8F1A926-A92DA947-A951A980-A982A9B3A9B6-A9B9A9BCAA29-AA2EAA31AA32AA35AA36AA43AA4CAAB0AAB2-AAB4AAB7AAB8AABEAABFAAC1AAECAAEDAAF6ABE5ABE8ABEDFB1EFE00-FE0FFE20-FE26",
|
72
|
+
Mc: "0903093B093E-09400949-094C094E094F0982098309BE-09C009C709C809CB09CC09D70A030A3E-0A400A830ABE-0AC00AC90ACB0ACC0B020B030B3E0B400B470B480B4B0B4C0B570BBE0BBF0BC10BC20BC6-0BC80BCA-0BCC0BD70C01-0C030C41-0C440C820C830CBE0CC0-0CC40CC70CC80CCA0CCB0CD50CD60D020D030D3E-0D400D46-0D480D4A-0D4C0D570D820D830DCF-0DD10DD8-0DDF0DF20DF30F3E0F3F0F7F102B102C10311038103B103C105610571062-10641067-106D108310841087-108C108F109A-109C17B617BE-17C517C717C81923-19261929-192B193019311933-193819B0-19C019C819C91A19-1A1B1A551A571A611A631A641A6D-1A721B041B351B3B1B3D-1B411B431B441B821BA11BA61BA71BAA1BAC1BAD1BE71BEA-1BEC1BEE1BF21BF31C24-1C2B1C341C351CE11CF21CF3302E302FA823A824A827A880A881A8B4-A8C3A952A953A983A9B4A9B5A9BAA9BBA9BD-A9C0AA2FAA30AA33AA34AA4DAA7BAAEBAAEEAAEFAAF5ABE3ABE4ABE6ABE7ABE9ABEAABEC",
|
73
|
+
Me: "0488048920DD-20E020E2-20E4A670-A672",
|
74
|
+
N: "0030-003900B200B300B900BC-00BE0660-066906F0-06F907C0-07C90966-096F09E6-09EF09F4-09F90A66-0A6F0AE6-0AEF0B66-0B6F0B72-0B770BE6-0BF20C66-0C6F0C78-0C7E0CE6-0CEF0D66-0D750E50-0E590ED0-0ED90F20-0F331040-10491090-10991369-137C16EE-16F017E0-17E917F0-17F91810-18191946-194F19D0-19DA1A80-1A891A90-1A991B50-1B591BB0-1BB91C40-1C491C50-1C5920702074-20792080-20892150-21822185-21892460-249B24EA-24FF2776-27932CFD30073021-30293038-303A3192-31953220-32293248-324F3251-325F3280-328932B1-32BFA620-A629A6E6-A6EFA830-A835A8D0-A8D9A900-A909A9D0-A9D9AA50-AA59ABF0-ABF9FF10-FF19",
|
75
|
+
Nd: "0030-00390660-066906F0-06F907C0-07C90966-096F09E6-09EF0A66-0A6F0AE6-0AEF0B66-0B6F0BE6-0BEF0C66-0C6F0CE6-0CEF0D66-0D6F0E50-0E590ED0-0ED90F20-0F291040-10491090-109917E0-17E91810-18191946-194F19D0-19D91A80-1A891A90-1A991B50-1B591BB0-1BB91C40-1C491C50-1C59A620-A629A8D0-A8D9A900-A909A9D0-A9D9AA50-AA59ABF0-ABF9FF10-FF19",
|
76
|
+
Nl: "16EE-16F02160-21822185-218830073021-30293038-303AA6E6-A6EF",
|
77
|
+
No: "00B200B300B900BC-00BE09F4-09F90B72-0B770BF0-0BF20C78-0C7E0D70-0D750F2A-0F331369-137C17F0-17F919DA20702074-20792080-20892150-215F21892460-249B24EA-24FF2776-27932CFD3192-31953220-32293248-324F3251-325F3280-328932B1-32BFA830-A835",
|
78
|
+
P: "0021-00230025-002A002C-002F003A003B003F0040005B-005D005F007B007D00A100A700AB00B600B700BB00BF037E0387055A-055F0589058A05BE05C005C305C605F305F40609060A060C060D061B061E061F066A-066D06D40700-070D07F7-07F90830-083E085E0964096509700AF00DF40E4F0E5A0E5B0F04-0F120F140F3A-0F3D0F850FD0-0FD40FD90FDA104A-104F10FB1360-13681400166D166E169B169C16EB-16ED1735173617D4-17D617D8-17DA1800-180A194419451A1E1A1F1AA0-1AA61AA8-1AAD1B5A-1B601BFC-1BFF1C3B-1C3F1C7E1C7F1CC0-1CC71CD32010-20272030-20432045-20512053-205E207D207E208D208E2329232A2768-277527C527C627E6-27EF2983-299829D8-29DB29FC29FD2CF9-2CFC2CFE2CFF2D702E00-2E2E2E30-2E3B3001-30033008-30113014-301F3030303D30A030FBA4FEA4FFA60D-A60FA673A67EA6F2-A6F7A874-A877A8CEA8CFA8F8-A8FAA92EA92FA95FA9C1-A9CDA9DEA9DFAA5C-AA5FAADEAADFAAF0AAF1ABEBFD3EFD3FFE10-FE19FE30-FE52FE54-FE61FE63FE68FE6AFE6BFF01-FF03FF05-FF0AFF0C-FF0FFF1AFF1BFF1FFF20FF3B-FF3DFF3FFF5BFF5DFF5F-FF65",
|
79
|
+
Pd: "002D058A05BE140018062010-20152E172E1A2E3A2E3B301C303030A0FE31FE32FE58FE63FF0D",
|
80
|
+
Ps: "0028005B007B0F3A0F3C169B201A201E2045207D208D23292768276A276C276E27702772277427C527E627E827EA27EC27EE2983298529872989298B298D298F299129932995299729D829DA29FC2E222E242E262E283008300A300C300E3010301430163018301A301DFD3EFE17FE35FE37FE39FE3BFE3DFE3FFE41FE43FE47FE59FE5BFE5DFF08FF3BFF5BFF5FFF62",
|
81
|
+
Pe: "0029005D007D0F3B0F3D169C2046207E208E232A2769276B276D276F27712773277527C627E727E927EB27ED27EF298429862988298A298C298E2990299229942996299829D929DB29FD2E232E252E272E293009300B300D300F3011301530173019301B301E301FFD3FFE18FE36FE38FE3AFE3CFE3EFE40FE42FE44FE48FE5AFE5CFE5EFF09FF3DFF5DFF60FF63",
|
82
|
+
Pi: "00AB2018201B201C201F20392E022E042E092E0C2E1C2E20",
|
83
|
+
Pf: "00BB2019201D203A2E032E052E0A2E0D2E1D2E21",
|
84
|
+
Pc: "005F203F20402054FE33FE34FE4D-FE4FFF3F",
|
85
|
+
Po: "0021-00230025-0027002A002C002E002F003A003B003F0040005C00A100A700B600B700BF037E0387055A-055F058905C005C305C605F305F40609060A060C060D061B061E061F066A-066D06D40700-070D07F7-07F90830-083E085E0964096509700AF00DF40E4F0E5A0E5B0F04-0F120F140F850FD0-0FD40FD90FDA104A-104F10FB1360-1368166D166E16EB-16ED1735173617D4-17D617D8-17DA1800-18051807-180A194419451A1E1A1F1AA0-1AA61AA8-1AAD1B5A-1B601BFC-1BFF1C3B-1C3F1C7E1C7F1CC0-1CC71CD3201620172020-20272030-2038203B-203E2041-20432047-205120532055-205E2CF9-2CFC2CFE2CFF2D702E002E012E06-2E082E0B2E0E-2E162E182E192E1B2E1E2E1F2E2A-2E2E2E30-2E393001-3003303D30FBA4FEA4FFA60D-A60FA673A67EA6F2-A6F7A874-A877A8CEA8CFA8F8-A8FAA92EA92FA95FA9C1-A9CDA9DEA9DFAA5C-AA5FAADEAADFAAF0AAF1ABEBFE10-FE16FE19FE30FE45FE46FE49-FE4CFE50-FE52FE54-FE57FE5F-FE61FE68FE6AFE6BFF01-FF03FF05-FF07FF0AFF0CFF0EFF0FFF1AFF1BFF1FFF20FF3CFF61FF64FF65",
|
86
|
+
S: "0024002B003C-003E005E0060007C007E00A2-00A600A800A900AC00AE-00B100B400B800D700F702C2-02C502D2-02DF02E5-02EB02ED02EF-02FF03750384038503F60482058F0606-0608060B060E060F06DE06E906FD06FE07F609F209F309FA09FB0AF10B700BF3-0BFA0C7F0D790E3F0F01-0F030F130F15-0F170F1A-0F1F0F340F360F380FBE-0FC50FC7-0FCC0FCE0FCF0FD5-0FD8109E109F1390-139917DB194019DE-19FF1B61-1B6A1B74-1B7C1FBD1FBF-1FC11FCD-1FCF1FDD-1FDF1FED-1FEF1FFD1FFE20442052207A-207C208A-208C20A0-20B9210021012103-21062108210921142116-2118211E-2123212521272129212E213A213B2140-2144214A-214D214F2190-2328232B-23F32400-24262440-244A249C-24E92500-26FF2701-27672794-27C427C7-27E527F0-29822999-29D729DC-29FB29FE-2B4C2B50-2B592CE5-2CEA2E80-2E992E9B-2EF32F00-2FD52FF0-2FFB300430123013302030363037303E303F309B309C319031913196-319F31C0-31E33200-321E322A-324732503260-327F328A-32B032C0-32FE3300-33FF4DC0-4DFFA490-A4C6A700-A716A720A721A789A78AA828-A82BA836-A839AA77-AA79FB29FBB2-FBC1FDFCFDFDFE62FE64-FE66FE69FF04FF0BFF1C-FF1EFF3EFF40FF5CFF5EFFE0-FFE6FFE8-FFEEFFFCFFFD",
|
87
|
+
Sm: "002B003C-003E007C007E00AC00B100D700F703F60606-060820442052207A-207C208A-208C21182140-2144214B2190-2194219A219B21A021A321A621AE21CE21CF21D221D421F4-22FF2308-230B23202321237C239B-23B323DC-23E125B725C125F8-25FF266F27C0-27C427C7-27E527F0-27FF2900-29822999-29D729DC-29FB29FE-2AFF2B30-2B442B47-2B4CFB29FE62FE64-FE66FF0BFF1C-FF1EFF5CFF5EFFE2FFE9-FFEC",
|
88
|
+
Sc: "002400A2-00A5058F060B09F209F309FB0AF10BF90E3F17DB20A0-20B9A838FDFCFE69FF04FFE0FFE1FFE5FFE6",
|
89
|
+
Sk: "005E006000A800AF00B400B802C2-02C502D2-02DF02E5-02EB02ED02EF-02FF0375038403851FBD1FBF-1FC11FCD-1FCF1FDD-1FDF1FED-1FEF1FFD1FFE309B309CA700-A716A720A721A789A78AFBB2-FBC1FF3EFF40FFE3",
|
90
|
+
So: "00A600A900AE00B00482060E060F06DE06E906FD06FE07F609FA0B700BF3-0BF80BFA0C7F0D790F01-0F030F130F15-0F170F1A-0F1F0F340F360F380FBE-0FC50FC7-0FCC0FCE0FCF0FD5-0FD8109E109F1390-1399194019DE-19FF1B61-1B6A1B74-1B7C210021012103-210621082109211421162117211E-2123212521272129212E213A213B214A214C214D214F2195-2199219C-219F21A121A221A421A521A7-21AD21AF-21CD21D021D121D321D5-21F32300-2307230C-231F2322-2328232B-237B237D-239A23B4-23DB23E2-23F32400-24262440-244A249C-24E92500-25B625B8-25C025C2-25F72600-266E2670-26FF2701-27672794-27BF2800-28FF2B00-2B2F2B452B462B50-2B592CE5-2CEA2E80-2E992E9B-2EF32F00-2FD52FF0-2FFB300430123013302030363037303E303F319031913196-319F31C0-31E33200-321E322A-324732503260-327F328A-32B032C0-32FE3300-33FF4DC0-4DFFA490-A4C6A828-A82BA836A837A839AA77-AA79FDFDFFE4FFE8FFEDFFEEFFFCFFFD",
|
91
|
+
Z: "002000A01680180E2000-200A20282029202F205F3000",
|
92
|
+
Zs: "002000A01680180E2000-200A202F205F3000",
|
93
|
+
Zl: "2028",
|
94
|
+
Zp: "2029",
|
95
|
+
C: "0000-001F007F-009F00AD03780379037F-0383038B038D03A20528-05300557055805600588058B-058E059005C8-05CF05EB-05EF05F5-0605061C061D06DD070E070F074B074C07B2-07BF07FB-07FF082E082F083F085C085D085F-089F08A108AD-08E308FF097809800984098D098E0991099209A909B109B3-09B509BA09BB09C509C609C909CA09CF-09D609D8-09DB09DE09E409E509FC-0A000A040A0B-0A0E0A110A120A290A310A340A370A3A0A3B0A3D0A43-0A460A490A4A0A4E-0A500A52-0A580A5D0A5F-0A650A76-0A800A840A8E0A920AA90AB10AB40ABA0ABB0AC60ACA0ACE0ACF0AD1-0ADF0AE40AE50AF2-0B000B040B0D0B0E0B110B120B290B310B340B3A0B3B0B450B460B490B4A0B4E-0B550B58-0B5B0B5E0B640B650B78-0B810B840B8B-0B8D0B910B96-0B980B9B0B9D0BA0-0BA20BA5-0BA70BAB-0BAD0BBA-0BBD0BC3-0BC50BC90BCE0BCF0BD1-0BD60BD8-0BE50BFB-0C000C040C0D0C110C290C340C3A-0C3C0C450C490C4E-0C540C570C5A-0C5F0C640C650C70-0C770C800C810C840C8D0C910CA90CB40CBA0CBB0CC50CC90CCE-0CD40CD7-0CDD0CDF0CE40CE50CF00CF3-0D010D040D0D0D110D3B0D3C0D450D490D4F-0D560D58-0D5F0D640D650D76-0D780D800D810D840D97-0D990DB20DBC0DBE0DBF0DC7-0DC90DCB-0DCE0DD50DD70DE0-0DF10DF5-0E000E3B-0E3E0E5C-0E800E830E850E860E890E8B0E8C0E8E-0E930E980EA00EA40EA60EA80EA90EAC0EBA0EBE0EBF0EC50EC70ECE0ECF0EDA0EDB0EE0-0EFF0F480F6D-0F700F980FBD0FCD0FDB-0FFF10C610C8-10CC10CE10CF1249124E124F12571259125E125F1289128E128F12B112B612B712BF12C112C612C712D7131113161317135B135C137D-137F139A-139F13F5-13FF169D-169F16F1-16FF170D1715-171F1737-173F1754-175F176D17711774-177F17DE17DF17EA-17EF17FA-17FF180F181A-181F1878-187F18AB-18AF18F6-18FF191D-191F192C-192F193C-193F1941-1943196E196F1975-197F19AC-19AF19CA-19CF19DB-19DD1A1C1A1D1A5F1A7D1A7E1A8A-1A8F1A9A-1A9F1AAE-1AFF1B4C-1B4F1B7D-1B7F1BF4-1BFB1C38-1C3A1C4A-1C4C1C80-1CBF1CC8-1CCF1CF7-1CFF1DE7-1DFB1F161F171F1E1F1F1F461F471F4E1F4F1F581F5A1F5C1F5E1F7E1F7F1FB51FC51FD41FD51FDC1FF01FF11FF51FFF200B-200F202A-202E2060-206F20722073208F209D-209F20BA-20CF20F1-20FF218A-218F23F4-23FF2427-243F244B-245F27002B4D-2B4F2B5A-2BFF2C2F2C5F2CF4-2CF82D262D28-2D2C2D2E2D2F2D68-2D6E2D71-2D7E2D97-2D9F2DA72DAF2DB72DBF2DC72DCF2DD72DDF2E3C-2E7F2E9A2EF4-2EFF2FD6-2FEF2FFC-2FFF3040309730983100-3104312E-3130318F31BB-31BF31E4-31EF321F32FF4DB6-4DBF9FCD-9FFFA48D-A48FA4C7-A4CFA62C-A63FA698-A69EA6F8-A6FFA78FA794-A79FA7AB-A7F7A82C-A82FA83A-A83FA878-A87FA8C5-A8CDA8DA-A8DFA8FC-A8FFA954-A95EA97D-A97FA9CEA9DA-A9DDA9E0-A9FFAA37-AA3FAA4EAA4FAA5AAA5BAA7C-AA7FAAC3-AADAAAF7-AB00AB07AB08AB0FAB10AB17-AB1FAB27AB2F-ABBFABEEABEFABFA-ABFFD7A4-D7AFD7C7-D7CAD7FC-F8FFFA6EFA6FFADA-FAFFFB07-FB12FB18-FB1CFB37FB3DFB3FFB42FB45FBC2-FBD2FD40-FD4FFD90FD91FDC8-FDEFFDFEFDFFFE1A-FE1FFE27-FE2FFE53FE67FE6C-FE6FFE75FEFD-FF00FFBF-FFC1FFC8FFC9FFD0FFD1FFD8FFD9FFDD-FFDFFFE7FFEF-FFFBFFFEFFFF",
|
96
|
+
Cc: "0000-001F007F-009F",
|
97
|
+
Cf: "00AD0600-060406DD070F200B-200F202A-202E2060-2064206A-206FFEFFFFF9-FFFB",
|
98
|
+
Co: "E000-F8FF",
|
99
|
+
Cs: "D800-DFFF",
|
100
|
+
Cn: "03780379037F-0383038B038D03A20528-05300557055805600588058B-058E059005C8-05CF05EB-05EF05F5-05FF0605061C061D070E074B074C07B2-07BF07FB-07FF082E082F083F085C085D085F-089F08A108AD-08E308FF097809800984098D098E0991099209A909B109B3-09B509BA09BB09C509C609C909CA09CF-09D609D8-09DB09DE09E409E509FC-0A000A040A0B-0A0E0A110A120A290A310A340A370A3A0A3B0A3D0A43-0A460A490A4A0A4E-0A500A52-0A580A5D0A5F-0A650A76-0A800A840A8E0A920AA90AB10AB40ABA0ABB0AC60ACA0ACE0ACF0AD1-0ADF0AE40AE50AF2-0B000B040B0D0B0E0B110B120B290B310B340B3A0B3B0B450B460B490B4A0B4E-0B550B58-0B5B0B5E0B640B650B78-0B810B840B8B-0B8D0B910B96-0B980B9B0B9D0BA0-0BA20BA5-0BA70BAB-0BAD0BBA-0BBD0BC3-0BC50BC90BCE0BCF0BD1-0BD60BD8-0BE50BFB-0C000C040C0D0C110C290C340C3A-0C3C0C450C490C4E-0C540C570C5A-0C5F0C640C650C70-0C770C800C810C840C8D0C910CA90CB40CBA0CBB0CC50CC90CCE-0CD40CD7-0CDD0CDF0CE40CE50CF00CF3-0D010D040D0D0D110D3B0D3C0D450D490D4F-0D560D58-0D5F0D640D650D76-0D780D800D810D840D97-0D990DB20DBC0DBE0DBF0DC7-0DC90DCB-0DCE0DD50DD70DE0-0DF10DF5-0E000E3B-0E3E0E5C-0E800E830E850E860E890E8B0E8C0E8E-0E930E980EA00EA40EA60EA80EA90EAC0EBA0EBE0EBF0EC50EC70ECE0ECF0EDA0EDB0EE0-0EFF0F480F6D-0F700F980FBD0FCD0FDB-0FFF10C610C8-10CC10CE10CF1249124E124F12571259125E125F1289128E128F12B112B612B712BF12C112C612C712D7131113161317135B135C137D-137F139A-139F13F5-13FF169D-169F16F1-16FF170D1715-171F1737-173F1754-175F176D17711774-177F17DE17DF17EA-17EF17FA-17FF180F181A-181F1878-187F18AB-18AF18F6-18FF191D-191F192C-192F193C-193F1941-1943196E196F1975-197F19AC-19AF19CA-19CF19DB-19DD1A1C1A1D1A5F1A7D1A7E1A8A-1A8F1A9A-1A9F1AAE-1AFF1B4C-1B4F1B7D-1B7F1BF4-1BFB1C38-1C3A1C4A-1C4C1C80-1CBF1CC8-1CCF1CF7-1CFF1DE7-1DFB1F161F171F1E1F1F1F461F471F4E1F4F1F581F5A1F5C1F5E1F7E1F7F1FB51FC51FD41FD51FDC1FF01FF11FF51FFF2065-206920722073208F209D-209F20BA-20CF20F1-20FF218A-218F23F4-23FF2427-243F244B-245F27002B4D-2B4F2B5A-2BFF2C2F2C5F2CF4-2CF82D262D28-2D2C2D2E2D2F2D68-2D6E2D71-2D7E2D97-2D9F2DA72DAF2DB72DBF2DC72DCF2DD72DDF2E3C-2E7F2E9A2EF4-2EFF2FD6-2FEF2FFC-2FFF3040309730983100-3104312E-3130318F31BB-31BF31E4-31EF321F32FF4DB6-4DBF9FCD-9FFFA48D-A48FA4C7-A4CFA62C-A63FA698-A69EA6F8-A6FFA78FA794-A79FA7AB-A7F7A82C-A82FA83A-A83FA878-A87FA8C5-A8CDA8DA-A8DFA8FC-A8FFA954-A95EA97D-A97FA9CEA9DA-A9DDA9E0-A9FFAA37-AA3FAA4EAA4FAA5AAA5BAA7C-AA7FAAC3-AADAAAF7-AB00AB07AB08AB0FAB10AB17-AB1FAB27AB2F-ABBFABEEABEFABFA-ABFFD7A4-D7AFD7C7-D7CAD7FC-D7FFFA6EFA6FFADA-FAFFFB07-FB12FB18-FB1CFB37FB3DFB3FFB42FB45FBC2-FBD2FD40-FD4FFD90FD91FDC8-FDEFFDFEFDFFFE1A-FE1FFE27-FE2FFE53FE67FE6C-FE6FFE75FEFDFEFEFF00FFBF-FFC1FFC8FFC9FFD0FFD1FFD8FFD9FFDD-FFDFFFE7FFEF-FFF8FFFEFFFF"
|
101
|
+
});
|
102
|
+
|