PageSourceSearch

https://www.seabrookwa.com/js/select2.min.js

js seabrookwa.com collected 2026-10-02 04:21:11 UTC 137,299 bytes, 3,462 lines download raw bytes

vendor: 4,683 bytes, lines 1-137
1/*! Select2 4.0.8 | https://github.com/select2/select2/blob/master/LICENSE.md */
2!function(n) {
3    "function" == typeof define && define.amd ? define(["jquery"], n) : "object" == typeof module && module.exports ? module.exports = function(e, t) {
4        return void 0 === t && (t = "undefined" != typeof window ? require("jquery") : require("jquery")(e)),
5        n(t),
6        t
7    }
8    : n(jQuery)
9}(function(u) {
10    var e = function() {
11        if (u && u.fn && u.fn.select2 && u.fn.select2.amd)
12            var e = u.fn.select2.amd;
13        var t, n, r, h, o, s, f, g, m, v, y, _, i, a, w;
14        function b(e, t) {
15            return i.call(e, t)
16        }
17        function l(e, t) {
18            var n, r, i, o, s, a, l, c, u, d, p, h = t && t.split("/"), f = y.map, g = f && f["*"] || {};
19            if (e) {
20                for (s = (e = e.split("/")).length - 1,
21                y.nodeIdCompat && w.test(e[s]) && (e[s] = e[s].replace(w, "")),
22                "." === e[0].charAt(0) && h && (e = h.slice(0, h.length - 1).concat(e)),
23                u = 0; u < e.length; u++)
24                    if ("." === (p = e[u]))
25                        e.splice(u, 1),
26                        u -= 1;
27                    else if (".." === p) {
28                        if (0 === u || 1 === u && ".." === e[2] || ".." === e[u - 1])
29                            continue;
30                        0 < u && (e.splice(u - 1, 2),
31                        u -= 2)
32                    }
33                e = e.join("/")
34            }
35            if ((h || g) && f) {
36                for (u = (n = e.split("/")).length; 0 < u; u -= 1) {
37                    if (r = n.slice(0, u).join("/"),
38                    h)
39                        for (d = h.length; 0 < d; d -= 1)
40                            if (i = (i = f[h.slice(0, d).join("/")]) && i[r]) {
41                                o = i,
42                                a = u;
43                                break
44                            }
45                    if (o)
46                        break;
47                    !l && g && g[r] && (l = g[r],
48                    c = u)
49                }
50                !o && l && (o = l,
51                a = c),
52                o && (n.splice(0, a, o),
53                e = n.join("/"))
54            }
55            return e
56        }
57        function A(t, n) {
58            return function() {
59                var e = a.call(arguments, 0);
60                return "string" != typeof e[0] && 1 === e.length && e.push(null),
61                s.apply(h, e.concat([t, n]))
62            }
63        }
64        function x(t) {
65            return function(e) {
66                m[t] = e
67            }
68        }
69        function D(e) {
70            if (b(v, e)) {
71                var t = v[e];
72                delete v[e],
73                _[e] = !0,
74                o.apply(h, t)
75            }
76            if (!b(m, e) && !b(_, e))
77                throw new Error("No " + e);
78            return m[e]
79        }
80        function c(e) {
81            var t, n = e ? e.indexOf("!") : -1;
82            return -1 < n && (t = e.substring(0, n),
83            e = e.substring(n + 1, e.length)),
84            [t, e]
85        }
86        function S(e) {
87            return e ? c(e) : []
88        }
89        return e && e.requirejs || (e ? n = e : e = {},
90        m = {},
91        v = {},
92        y = {},
93        _ = {},
94        i = Object.prototype.hasOwnProperty,
95        a = [].slice,
96        w = /\.js$/,
97        f = function(e, t) {
98            var n, r = c(e), i = r[0], o = t[1];
99            return e = r[1],
100            i && (n = D(i = l(i, o))),
101            i ? e = n && n.normalize ? n.normalize(e, function(t) {
102                return function(e) {
103                    return l(e, t)
104                }
105            }(o)) : l(e, o) : (i = (r = c(e = l(e, o)))[0],
106            e = r[1],
107            i && (n = D(i))),
108            {
109                f: i ? i + "!" + e : e,
110                n: e,
111                pr: i,
112                p: n
113            }
114        }
115        ,
116        g = {
117            require: function(e) {
118                return A(e)
119            },
120            exports: function(e) {
121                var t = m[e];
122                return void 0 !== t ? t : m[e] = {}
123            },
124            module: function(e) {
125                return {
126                    id: e,
127                    uri: "",
128                    exports: m[e],
129                    config: function(e) {
130                        return function() {
131                            return y && y.config && y.config[e] || {}
132                        }
133                    }(e)
134                }
135            }
136        },
137        o = function(e, t, n, r) {
vendor: 54,580 bytes, lines 138-1540
138            var i, o, s, a, l, c, u, d = [], p = typeof n;
139            if (c = S(r = r || e),
140            "undefined" == p || "function" == p) {
141                for (t = !t.length && n.length ? ["require", "exports", "module"] : t,
142                l = 0; l < t.length; l += 1)
143                    if ("require" === (o = (a = f(t[l], c)).f))
144                        d[l] = g.require(e);
145                    else if ("exports" === o)
146                        d[l] = g.exports(e),
147                        u = !0;
148                    else if ("module" === o)
149                        i = d[l] = g.module(e);
150                    else if (b(m, o) || b(v, o) || b(_, o))
151                        d[l] = D(o);
152                    else {
153                        if (!a.p)
154                            throw new Error(e + " missing " + o);
155                        a.p.load(a.n, A(r, !0), x(o), {}),
156                        d[l] = m[o]
157                    }
158                s = n ? n.apply(m[e], d) : void 0,
159                e && (i && i.exports !== h && i.exports !== m[e] ? m[e] = i.exports : s === h && u || (m[e] = s))
160            } else
161                e && (m[e] = n)
162        }
163        ,
164        t = n = s = function(e, t, n, r, i) {
165            if ("string" == typeof e)
166                return g[e] ? g[e](t) : D(f(e, S(t)).f);
167            if (!e.splice) {
168                if ((y = e).deps && s(y.deps, y.callback),
169                !t)
170                    return;
171                t.splice ? (e = t,
172                t = n,
173                n = null) : e = h
174            }
175            return t = t || function() {}
176            ,
177            "function" == typeof n && (n = r,
178            r = i),
179            r ? o(h, e, t, n) : setTimeout(function() {
180                o(h, e, t, n)
181            }, 4),
182            s
183        }
184        ,
185        s.config = function(e) {
186            return s(e)
187        }
188        ,
189        t._defined = m,
190        (r = function(e, t, n) {
191            if ("string" != typeof e)
192                throw new Error("See almond README: incorrect module build, no module name");
193            t.splice || (n = t,
194            t = []),
195            b(m, e) || b(v, e) || (v[e] = [e, t, n])
196        }
197        ).amd = {
198            jQuery: !0
199        },
200        e.requirejs = t,
201        e.require = n,
202        e.define = r),
203        e.define("almond", function() {}),
204        e.define("jquery", [], function() {
205            var e = u || $;
206            return null == e && console && console.error && console.error("Select2: An instance of jQuery or a jQuery-compatible library was not found. Make sure that you are including jQuery before Select2 on your web page."),
207            e
208        }),
209        e.define("select2/utils", ["jquery"], function(o) {
210            var i = {};
211            function u(e) {
212                var t = e.prototype
213                  , n = [];
214                for (var r in t) {
215                    "function" == typeof t[r] && "constructor" !== r && n.push(r)
216                }
217                return n
218            }
219            i.Extend = function(e, t) {
220                var n = {}.hasOwnProperty;
221                function r() {
222                    this.constructor = e
223                }
224                for (var i in t)
225                    n.call(t, i) && (e[i] = t[i]);
226                return r.prototype = t.prototype,
227                e.prototype = new r,
228                e.__super__ = t.prototype,
229                e
230            }
231            ,
232            i.Decorate = function(r, i) {
233                var e = u(i)
234                  , t = u(r);
235                function o() {
236                    var e = Array.prototype.unshift
237                      , t = i.prototype.constructor.length
238                      , n = r.prototype.constructor;
239                    0 < t && (e.call(arguments, r.prototype.constructor),
240                    n = i.prototype.constructor),
241                    n.apply(this, arguments)
242                }
243                i.displayName = r.displayName,
244                o.prototype = new function() {
245                    this.constructor = o
246                }
247                ;
248                for (var n = 0; n < t.length; n++) {
249                    var s = t[n];
250                    o.prototype[s] = r.prototype[s]
251                }
252                function a(e) {
253                    var t = function() {};
254                    e in o.prototype && (t = o.prototype[e]);
255                    var n = i.prototype[e];
256                    return function() {
257                        return Array.prototype.unshift.call(arguments, t),
258                        n.apply(this, arguments)
259                    }
260                }
261                for (var l = 0; l < e.length; l++) {
262                    var c = e[l];
263                    o.prototype[c] = a(c)
264                }
265                return o
266            }
267            ;
268            function e() {
269                this.listeners = {}
270            }
271            e.prototype.on = function(e, t) {
272                this.listeners = this.listeners || {},
273                e in this.listeners ? this.listeners[e].push(t) : this.listeners[e] = [t]
274            }
275            ,
276            e.prototype.trigger = function(e) {
277                var t = Array.prototype.slice
278                  , n = t.call(arguments, 1);
279                this.listeners = this.listeners || {},
280                null == n && (n = []),
281                0 === n.length && n.push({}),
282                (n[0]._type = e)in this.listeners && this.invoke(this.listeners[e], t.call(arguments, 1)),
283                "*"in this.listeners && this.invoke(this.listeners["*"], arguments)
284            }
285            ,
286            e.prototype.invoke = function(e, t) {
287                for (var n = 0, r = e.length; n < r; n++)
288                    e[n].apply(this, t)
289            }
290            ,
291            i.Observable = e,
292            i.generateChars = function(e) {
293                for (var t = "", n = 0; n < e; n++) {
294                    t += Math.floor(36 * Math.random()).toString(36)
295                }
296                return t
297            }
298            ,
299            i.bind = function(e, t) {
300                return function() {
301                    e.apply(t, arguments)
302                }
303            }
304            ,
305            i._convertData = function(e) {
306                for (var t in e) {
307                    var n = t.split("-")
308                      , r = e;
309                    if (1 !== n.length) {
310                        for (var i = 0; i < n.length; i++) {
311                            var o = n[i];
312                            (o = o.substring(0, 1).toLowerCase() + o.substring(1))in r || (r[o] = {}),
313                            i == n.length - 1 && (r[o] = e[t]),
314                            r = r[o]
315                        }
316                        delete e[t]
317                    }
318                }
319                return e
320            }
321            ,
322            i.hasScroll = function(e, t) {
323                var n = o(t)
324                  , r = t.style.overflowX
325                  , i = t.style.overflowY;
326                return (r !== i || "hidden" !== i && "visible" !== i) && ("scroll" === r || "scroll" === i || (n.innerHeight() < t.scrollHeight || n.innerWidth() < t.scrollWidth))
327            }
328            ,
329            i.escapeMarkup = function(e) {
330                var t = {
331                    "\\": "&#92;",
332                    "&": "&amp;",
333                    "<": "&lt;",
334                    ">": "&gt;",
335                    '"': "&quot;",
336                    "'": "&#39;",
337                    "/": "&#47;"
338                };
339                return "string" != typeof e ? e : String(e).replace(/[&<>"'\/\\]/g, function(e) {
340                    return t[e]
341                })
342            }
343            ,
344            i.appendMany = function(e, t) {
345                if ("1.7" === o.fn.jquery.substr(0, 3)) {
346                    var n = o();
347                    o.map(t, function(e) {
348                        n = n.add(e)
349                    }),
350                    t = n
351                }
352                e.append(t)
353            }
354            ,
355            i.__cache = {};
356            var n = 0;
357            return i.GetUniqueElementId = function(e) {
358                var t = e.getAttribute("data-select2-id");
359                return null == t && (e.id ? (t = e.id,
360                e.setAttribute("data-select2-id", t)) : (e.setAttribute("data-select2-id", ++n),
361                t = n.toString())),
362                t
363            }
364            ,
365            i.StoreData = function(e, t, n) {
366                var r = i.GetUniqueElementId(e);
367                i.__cache[r] || (i.__cache[r] = {}),
368                i.__cache[r][t] = n
369            }
370            ,
371            i.GetData = function(e, t) {
372                var n = i.GetUniqueElementId(e);
373                return t ? i.__cache[n] && null != i.__cache[n][t] ? i.__cache[n][t] : o(e).data(t) : i.__cache[n]
374            }
375            ,
376            i.RemoveData = function(e) {
377                var t = i.GetUniqueElementId(e);
378                null != i.__cache[t] && delete i.__cache[t]
379            }
380            ,
381            i
382        }),
383        e.define("select2/results", ["jquery", "./utils"], function(h, f) {
384            function r(e, t, n) {
385                this.$element = e,
386                this.data = n,
387                this.options = t,
388                r.__super__.constructor.call(this)
389            }
390            return f.Extend(r, f.Observable),
391            r.prototype.render = function() {
392                var e = h('<ul class="select2-results__options" role="tree"></ul>');
393                return this.options.get("multiple") && e.attr("aria-multiselectable", "true"),
394                this.$results = e
395            }
396            ,
397            r.prototype.clear = function() {
398                this.$results.empty()
399            }
400            ,
401            r.prototype.displayMessage = function(e) {
402                var t = this.options.get("escapeMarkup");
403                this.clear(),
404                this.hideLoading();
405                var n = h('<li role="treeitem" aria-live="assertive" class="select2-results__option"></li>')
406                  , r = this.options.get("translations").get(e.message);
407                n.append(t(r(e.args))),
408                n[0].className += " select2-results__message",
409                this.$results.append(n)
410            }
411            ,
412            r.prototype.hideMessages = function() {
413                this.$results.find(".select2-results__message").remove()
414            }
415            ,
416            r.prototype.append = function(e) {
417                this.hideLoading();
418                var t = [];
419                if (null != e.results && 0 !== e.results.length) {
420                    e.results = this.sort(e.results);
421                    for (var n = 0; n < e.results.length; n++) {
422                        var r = e.results[n]
423                          , i = this.option(r);
424                        t.push(i)
425                    }
426                    this.$results.append(t)
427                } else
428                    0 === this.$results.children().length && this.trigger("results:message", {
429                        message: "noResults"
430                    })
431            }
432            ,
433            r.prototype.position = function(e, t) {
434                t.find(".select2-results").append(e)
435            }
436            ,
437            r.prototype.sort = function(e) {
438                return this.options.get("sorter")(e)
439            }
440            ,
441            r.prototype.highlightFirstItem = function() {
442                var e = this.$results.find(".select2-results__option[aria-selected]")
443                  , t = e.filter("[aria-selected=true]");
444                0 < t.length ? t.first().trigger("mouseenter") : e.first().trigger("mouseenter"),
445                this.ensureHighlightVisible()
446            }
447            ,
448            r.prototype.setClasses = function() {
449                var t = this;
450                this.data.current(function(e) {
451                    var r = h.map(e, function(e) {
452                        return e.id.toString()
453                    });
454                    t.$results.find(".select2-results__option[aria-selected]").each(function() {
455                        var e = h(this)
456                          , t = f.GetData(this, "data")
457                          , n = "" + t.id;
458                        null != t.element && t.element.selected || null == t.element && -1 < h.inArray(n, r) ? e.attr("aria-selected", "true") : e.attr("aria-selected", "false")
459                    })
460                })
461            }
462            ,
463            r.prototype.showLoading = function(e) {
464                this.hideLoading();
465                var t = {
466                    disabled: !0,
467                    loading: !0,
468                    text: this.options.get("translations").get("searching")(e)
469                }
470                  , n = this.option(t);
471                n.className += " loading-results",
472                this.$results.prepend(n)
473            }
474            ,
475            r.prototype.hideLoading = function() {
476                this.$results.find(".loading-results").remove()
477            }
478            ,
479            r.prototype.option = function(e) {
480                var t = document.createElement("li");
481                t.className = "select2-results__option";
482                var n = {
483                    role: "treeitem",
484                    "aria-selected": "false"
485                }
486                  , r = window.Element.prototype.matches || window.Element.prototype.msMatchesSelector || window.Element.prototype.webkitMatchesSelector;
487                for (var i in (null != e.element && r.call(e.element, ":disabled") || null == e.element && e.disabled) && (delete n["aria-selected"],
488                n["aria-disabled"] = "true"),
489                null == e.id && delete n["aria-selected"],
490                null != e._resultId && (t.id = e._resultId),
491                e.title && (t.title = e.title),
492                e.children && (n.role = "group",
493                n["aria-label"] = e.text,
494                delete n["aria-selected"]),
495                n) {
496                    var o = n[i];
497                    t.setAttribute(i, o)
498                }
499                if (e.children) {
500                    var s = h(t)
501                      , a = document.createElement("strong");
502                    a.className = "select2-results__group";
503                    h(a);
504                    this.template(e, a);
505                    for (var l = [], c = 0; c < e.children.length; c++) {
506                        var u = e.children[c]
507                          , d = this.option(u);
508                        l.push(d)
509                    }
510                    var p = h("<ul></ul>", {
511                        class: "select2-results__options select2-results__options--nested"
512                    });
513                    p.append(l),
514                    s.append(a),
515                    s.append(p)
516                } else
517                    this.template(e, t);
518                return f.StoreData(t, "data", e),
519                t
520            }
521            ,
522            r.prototype.bind = function(t, e) {
523                var l = this
524                  , n = t.id + "-results";
525                this.$results.attr("id", n),
526                t.on("results:all", function(e) {
527                    l.clear(),
528                    l.append(e.data),
529                    t.isOpen() && (l.setClasses(),
530                    l.highlightFirstItem())
531                }),
532                t.on("results:append", function(e) {
533                    l.append(e.data),
534                    t.isOpen() && l.setClasses()
535                }),
536                t.on("query", function(e) {
537                    l.hideMessages(),
538                    l.showLoading(e)
539                }),
540                t.on("select", function() {
541                    t.isOpen() && (l.setClasses(),
542                    l.options.get("scrollAfterSelect") && l.highlightFirstItem())
543                }),
544                t.on("unselect", function() {
545                    t.isOpen() && (l.setClasses(),
546                    l.options.get("scrollAfterSelect") && l.highlightFirstItem())
547                }),
548                t.on("open", function() {
549                    l.$results.attr("aria-expanded", "true"),
550                    l.$results.attr("aria-hidden", "false"),
551                    l.setClasses(),
552                    l.ensureHighlightVisible()
553                }),
554                t.on("close", function() {
555                    l.$results.attr("aria-expanded", "false"),
556                    l.$results.attr("aria-hidden", "true"),
557                    l.$results.removeAttr("aria-activedescendant")
558                }),
559                t.on("results:toggle", function() {
560                    var e = l.getHighlightedResults();
561                    0 !== e.length && e.trigger("mouseup")
562                }),
563                t.on("results:select", function() {
564                    var e = l.getHighlightedResults();
565                    if (0 !== e.length) {
566                        var t = f.GetData(e[0], "data");
567                        "true" == e.attr("aria-selected") ? l.trigger("close", {}) : l.trigger("select", {
568                            data: t
569                        })
570                    }
571                }),
572                t.on("results:previous", function() {
573                    var e = l.getHighlightedResults()
574                      , t = l.$results.find("[aria-selected]")
575                      , n = t.index(e);
576                    if (!(n <= 0)) {
577                        var r = n - 1;
578                        0 === e.length && (r = 0);
579                        var i = t.eq(r);
580                        i.trigger("mouseenter");
581                        var o = l.$results.offset().top
582                          , s = i.offset().top
583                          , a = l.$results.scrollTop() + (s - o);
584                        0 === r ? l.$results.scrollTop(0) : s - o < 0 && l.$results.scrollTop(a)
585                    }
586                }),
587                t.on("results:next", function() {
588                    var e = l.getHighlightedResults()
589                      , t = l.$results.find("[aria-selected]")
590                      , n = t.index(e) + 1;
591                    if (!(n >= t.length)) {
592                        var r = t.eq(n);
593                        r.trigger("mouseenter");
594                        var i = l.$results.offset().top + l.$results.outerHeight(!1)
595                          , o = r.offset().top + r.outerHeight(!1)
596                          , s = l.$results.scrollTop() + o - i;
597                        0 === n ? l.$results.scrollTop(0) : i < o && l.$results.scrollTop(s)
598                    }
599                }),
600                t.on("results:focus", function(e) {
601                    e.element.addClass("select2-results__option--highlighted")
602                }),
603                t.on("results:message", function(e) {
604                    l.displayMessage(e)
605                }),
606                h.fn.mousewheel && this.$results.on("mousewheel", function(e) {
607                    var t = l.$results.scrollTop()
608                      , n = l.$results.get(0).scrollHeight - t + e.deltaY
609                      , r = 0 < e.deltaY && t - e.deltaY <= 0
610                      , i = e.deltaY < 0 && n <= l.$results.height();
611                    r ? (l.$results.scrollTop(0),
612                    e.preventDefault(),
613                    e.stopPropagation()) : i && (l.$results.scrollTop(l.$results.get(0).scrollHeight - l.$results.height()),
614                    e.preventDefault(),
615                    e.stopPropagation())
616                }),
617                this.$results.on("mouseup", ".select2-results__option[aria-selected]", function(e) {
618                    var t = h(this)
619                      , n = f.GetData(this, "data");
620                    "true" !== t.attr("aria-selected") ? l.trigger("select", {
621                        originalEvent: e,
622                        data: n
623                    }) : l.options.get("multiple") ? l.trigger("unselect", {
624                        originalEvent: e,
625                        data: n
626                    }) : l.trigger("close", {})
627                }),
628                this.$results.on("mouseenter", ".select2-results__option[aria-selected]", function(e) {
629                    var t = f.GetData(this, "data");
630                    l.getHighlightedResults().removeClass("select2-results__option--highlighted"),
631                    l.trigger("results:focus", {
632                        data: t,
633                        element: h(this)
634                    })
635                })
636            }
637            ,
638            r.prototype.getHighlightedResults = function() {
639                return this.$results.find(".select2-results__option--highlighted")
640            }
641            ,
642            r.prototype.destroy = function() {
643                this.$results.remove()
644            }
645            ,
646            r.prototype.ensureHighlightVisible = function() {
647                var e = this.getHighlightedResults();
648                if (0 !== e.length) {
649                    var t = this.$results.find("[aria-selected]").index(e)
650                      , n = this.$results.offset().top
651                      , r = e.offset().top
652                      , i = this.$results.scrollTop() + (r - n)
653                      , o = r - n;
654                    i -= 2 * e.outerHeight(!1),
655                    t <= 2 ? this.$results.scrollTop(0) : (o > this.$results.outerHeight() || o < 0) && this.$results.scrollTop(i)
656                }
657            }
658            ,
659            r.prototype.template = function(e, t) {
660                var n = this.options.get("templateResult")
661                  , r = this.options.get("escapeMarkup")
662                  , i = n(e, t);
663                null == i ? t.style.display = "none" : "string" == typeof i ? t.innerHTML = r(i) : h(t).append(i)
664            }
665            ,
666            r
667        }),
668        e.define("select2/keys", [], function() {
669            return {
670                BACKSPACE: 8,
671                TAB: 9,
672                ENTER: 13,
673                SHIFT: 16,
674                CTRL: 17,
675                ALT: 18,
676                ESC: 27,
677                SPACE: 32,
678                PAGE_UP: 33,
679                PAGE_DOWN: 34,
680                END: 35,
681                HOME: 36,
682                LEFT: 37,
683                UP: 38,
684                RIGHT: 39,
685                DOWN: 40,
686                DELETE: 46
687            }
688        }),
689        e.define("select2/selection/base", ["jquery", "../utils", "../keys"], function(n, r, i) {
690            function o(e, t) {
691                this.$element = e,
692                this.options = t,
693                o.__super__.constructor.call(this)
694            }
695            return r.Extend(o, r.Observable),
696            o.prototype.render = function() {
697                var e = n('<span class="select2-selection" role="combobox"  aria-haspopup="true" aria-expanded="false"></span>');
698                return this._tabindex = 0,
699                null != r.GetData(this.$element[0], "old-tabindex") ? this._tabindex = r.GetData(this.$element[0], "old-tabindex") : null != this.$element.attr("tabindex") && (this._tabindex = this.$element.attr("tabindex")),
700                e.attr("title", this.$element.attr("title")),
701                e.attr("tabindex", this._tabindex),
702                this.$selection = e
703            }
704            ,
705            o.prototype.bind = function(e, t) {
706                var n = this
707                  , r = (e.id,
708                e.id + "-results");
709                this.container = e,
710                this.$selection.on("focus", function(e) {
711                    n.trigger("focus", e)
712                }),
713                this.$selection.on("blur", function(e) {
714                    n._handleBlur(e)
715                }),
716                this.$selection.on("keydown", function(e) {
717                    n.trigger("keypress", e),
718                    e.which === i.SPACE && e.preventDefault()
719                }),
720                e.on("results:focus", function(e) {
721                    n.$selection.attr("aria-activedescendant", e.data._resultId)
722                }),
723                e.on("selection:update", function(e) {
724                    n.update(e.data)
725                }),
726                e.on("open", function() {
727                    n.$selection.attr("aria-expanded", "true"),
728                    n.$selection.attr("aria-owns", r),
729                    n._attachCloseHandler(e)
730                }),
731                e.on("close", function() {
732                    n.$selection.attr("aria-expanded", "false"),
733                    n.$selection.removeAttr("aria-activedescendant"),
734                    n.$selection.removeAttr("aria-owns"),
735                    n.$selection.trigger("focus"),
736                    n._detachCloseHandler(e)
737                }),
738                e.on("enable", function() {
739                    n.$selection.attr("tabindex", n._tabindex)
740                }),
741                e.on("disable", function() {
742                    n.$selection.attr("tabindex", "-1")
743                })
744            }
745            ,
746            o.prototype._handleBlur = function(e) {
747                var t = this;
748                window.setTimeout(function() {
749                    document.activeElement == t.$selection[0] || n.contains(t.$selection[0], document.activeElement) || t.trigger("blur", e)
750                }, 1)
751            }
752            ,
753            o.prototype._attachCloseHandler = function(e) {
754                n(document.body).on("mousedown.select2." + e.id, function(e) {
755                    var t = n(e.target).closest(".select2");
756                    n(".select2.select2-container--open").each(function() {
757                        n(this);
758                        this != t[0] && r.GetData(this, "element").select2("close")
759                    })
760                })
761            }
762            ,
763            o.prototype._detachCloseHandler = function(e) {
764                n(document.body).off("mousedown.select2." + e.id)
765            }
766            ,
767            o.prototype.position = function(e, t) {
768                t.find(".selection").append(e)
769            }
770            ,
771            o.prototype.destroy = function() {
772                this._detachCloseHandler(this.container)
773            }
774            ,
775            o.prototype.update = function(e) {
776                throw new Error("The `update` method must be defined in child classes.")
777            }
778            ,
779            o
780        }),
781        e.define("select2/selection/single", ["jquery", "./base", "../utils", "../keys"], function(e, t, n, r) {
782            function i() {
783                i.__super__.constructor.apply(this, arguments)
784            }
785            return n.Extend(i, t),
786            i.prototype.render = function() {
787                var e = i.__super__.render.call(this);
788                return e.addClass("select2-selection--single"),
789                e.html('<span class="select2-selection__rendered"></span><span class="select2-selection__arrow" role="presentation"><b role="presentation"></b></span>'),
790                e
791            }
792            ,
793            i.prototype.bind = function(t, e) {
794                var n = this;
795                i.__super__.bind.apply(this, arguments);
796                var r = t.id + "-container";
797                this.$selection.find(".select2-selection__rendered").attr("id", r).attr("role", "textbox").attr("aria-readonly", "true"),
798                this.$selection.attr("aria-labelledby", r),
799                this.$selection.on("mousedown", function(e) {
800                    1 === e.which && n.trigger("toggle", {
801                        originalEvent: e
802                    })
803                }),
804                this.$selection.on("focus", function(e) {}),
805                this.$selection.on("blur", function(e) {}),
806                t.on("focus", function(e) {
807                    t.isOpen() || n.$selection.trigger("focus")
808                })
809            }
810            ,
811            i.prototype.clear = function() {
812                var e = this.$selection.find(".select2-selection__rendered");
813                e.empty(),
814                e.removeAttr("title")
815            }
816            ,
817            i.prototype.display = function(e, t) {
818                var n = this.options.get("templateSelection");
819                return this.options.get("escapeMarkup")(n(e, t))
820            }
821            ,
822            i.prototype.selectionContainer = function() {
823                return e("<span></span>")
824            }
825            ,
826            i.prototype.update = function(e) {
827                if (0 !== e.length) {
828                    var t = e[0]
829                      , n = this.$selection.find(".select2-selection__rendered")
830                      , r = this.display(t, n);
831                    n.empty().append(r),
832                    n.attr("title", t.title || t.text)
833                } else
834                    this.clear()
835            }
836            ,
837            i
838        }),
839        e.define("select2/selection/multiple", ["jquery", "./base", "../utils"], function(i, e, a) {
840            function n(e, t) {
841                n.__super__.constructor.apply(this, arguments)
842            }
843            return a.Extend(n, e),
844            n.prototype.render = function() {
845                var e = n.__super__.render.call(this);
846                return e.addClass("select2-selection--multiple"),
847                e.html('<ul class="select2-selection__rendered"></ul>'),
848                e
849            }
850            ,
851            n.prototype.bind = function(e, t) {
852                var r = this;
853                n.__super__.bind.apply(this, arguments),
854                this.$selection.on("click", function(e) {
855                    r.trigger("toggle", {
856                        originalEvent: e
857                    })
858                }),
859                this.$selection.on("click", ".select2-selection__choice__remove", function(e) {
860                    if (!r.options.get("disabled")) {
861                        var t = i(this).parent()
862                          , n = a.GetData(t[0], "data");
863                        r.trigger("unselect", {
864                            originalEvent: e,
865                            data: n
866                        })
867                    }
868                })
869            }
870            ,
871            n.prototype.clear = function() {
872                var e = this.$selection.find(".select2-selection__rendered");
873                e.empty(),
874                e.removeAttr("title")
875            }
876            ,
877            n.prototype.display = function(e, t) {
878                var n = this.options.get("templateSelection");
879                return this.options.get("escapeMarkup")(n(e, t))
880            }
881            ,
882            n.prototype.selectionContainer = function() {
883                return i('<li class="select2-selection__choice"><span class="select2-selection__choice__remove" role="presentation">&times;</span></li>')
884            }
885            ,
886            n.prototype.update = function(e) {
887                if (this.clear(),
888                0 !== e.length) {
889                    for (var t = [], n = 0; n < e.length; n++) {
890                        var r = e[n]
891                          , i = this.selectionContainer()
892                          , o = this.display(r, i);
893                        i.append(o),
894                        i.attr("title", r.title || r.text),
895                        a.StoreData(i[0], "data", r),
896                        t.push(i)
897                    }
898                    var s = this.$selection.find(".select2-selection__rendered");
899                    a.appendMany(s, t)
900                }
901            }
902            ,
903            n
904        }),
905        e.define("select2/selection/placeholder", ["../utils"], function(e) {
906            function t(e, t, n) {
907                this.placeholder = this.normalizePlaceholder(n.get("placeholder")),
908                e.call(this, t, n)
909            }
910            return t.prototype.normalizePlaceholder = function(e, t) {
911                return "string" == typeof t && (t = {
912                    id: "",
913                    text: t
914                }),
915                t
916            }
917            ,
918            t.prototype.createPlaceholder = function(e, t) {
919                var n = this.selectionContainer();
920                return n.html(this.display(t)),
921                n.addClass("select2-selection__placeholder").removeClass("select2-selection__choice"),
922                n
923            }
924            ,
925            t.prototype.update = function(e, t) {
926                var n = 1 == t.length && t[0].id != this.placeholder.id;
927                if (1 < t.length || n)
928                    return e.call(this, t);
929                this.clear();
930                var r = this.createPlaceholder(this.placeholder);
931                this.$selection.find(".select2-selection__rendered").append(r)
932            }
933            ,
934            t
935        }),
936        e.define("select2/selection/allowClear", ["jquery", "../keys", "../utils"], function(i, r, a) {
937            function e() {}
938            return e.prototype.bind = function(e, t, n) {
939                var r = this;
940                e.call(this, t, n),
941                null == this.placeholder && this.options.get("debug") && window.console && console.error && console.error("Select2: The `allowClear` option should be used in combination with the `placeholder` option."),
942                this.$selection.on("mousedown", ".select2-selection__clear", function(e) {
943                    r._handleClear(e)
944                }),
945                t.on("keypress", function(e) {
946                    r._handleKeyboardClear(e, t)
947                })
948            }
949            ,
950            e.prototype._handleClear = function(e, t) {
951                if (!this.options.get("disabled")) {
952                    var n = this.$selection.find(".select2-selection__clear");
953                    if (0 !== n.length) {
954                        t.stopPropagation();
955                        var r = a.GetData(n[0], "data")
956                          , i = this.$element.val();
957                        this.$element.val(this.placeholder.id);
958                        var o = {
959                            data: r
960                        };
961                        if (this.trigger("clear", o),
962                        o.prevented)
963                            this.$element.val(i);
964                        else {
965                            for (var s = 0; s < r.length; s++)
966                                if (o = {
967                                    data: r[s]
968                                },
969                                this.trigger("unselect", o),
970                                o.prevented)
971                                    return void this.$element.val(i);
972                            this.$element.trigger("change"),
973                            this.trigger("toggle", {})
974                        }
975                    }
976                }
977            }
978            ,
979            e.prototype._handleKeyboardClear = function(e, t, n) {
980                n.isOpen() || t.which != r.DELETE && t.which != r.BACKSPACE || this._handleClear(t)
981            }
982            ,
983            e.prototype.update = function(e, t) {
984                if (e.call(this, t),
985                !(0 < this.$selection.find(".select2-selection__placeholder").length || 0 === t.length)) {
986                    var n = this.options.get("translations").get("removeAllItems")
987                      , r = i('<span class="select2-selection__clear" title="' + n() + '">&times;</span>');
988                    a.StoreData(r[0], "data", t),
989                    this.$selection.find(".select2-selection__rendered").prepend(r)
990                }
991            }
992            ,
993            e
994        }),
995        e.define("select2/selection/search", ["jquery", "../utils", "../keys"], function(r, s, a) {
996            function e(e, t, n) {
997                e.call(this, t, n)
998            }
999            return e.prototype.render = function(e) {
1000                var t = r('<li class="select2-search select2-search--inline"><input class="select2-search__field" type="search" tabindex="-1" autocomplete="off" autocorrect="off" autocapitalize="none" spellcheck="false" role="textbox" aria-autocomplete="list" /></li>');
1001                this.$searchContainer = t,
1002                this.$search = t.find("input");
1003                var n = e.call(this);
1004                return this._transferTabIndex(),
1005                n
1006            }
1007            ,
1008            e.prototype.bind = function(e, t, n) {
1009                var r = this;
1010                e.call(this, t, n),
1011                t.on("open", function() {
1012                    r.$search.trigger("focus")
1013                }),
1014                t.on("close", function() {
1015                    r.$search.val(""),
1016                    r.$search.removeAttr("aria-activedescendant"),
1017                    r.$search.trigger("focus")
1018                }),
1019                t.on("enable", function() {
1020                    r.$search.prop("disabled", !1),
1021                    r._transferTabIndex()
1022                }),
1023                t.on("disable", function() {
1024                    r.$search.prop("disabled", !0)
1025                }),
1026                t.on("focus", function(e) {
1027                    r.$search.trigger("focus")
1028                }),
1029                t.on("results:focus", function(e) {
1030                    r.$search.attr("aria-activedescendant", e.id)
1031                }),
1032                this.$selection.on("focusin", ".select2-search--inline", function(e) {
1033                    r.trigger("focus", e)
1034                }),
1035                this.$selection.on("focusout", ".select2-search--inline", function(e) {
1036                    r._handleBlur(e)
1037                }),
1038                this.$selection.on("keydown", ".select2-search--inline", function(e) {
1039                    if (e.stopPropagation(),
1040                    r.trigger("keypress", e),
1041                    r._keyUpPrevented = e.isDefaultPrevented(),
1042                    e.which === a.BACKSPACE && "" === r.$search.val()) {
1043                        var t = r.$searchContainer.prev(".select2-selection__choice");
1044                        if (0 < t.length) {
1045                            var n = s.GetData(t[0], "data");
1046                            r.searchRemoveChoice(n),
1047                            e.preventDefault()
1048                        }
1049                    }
1050                });
1051                var i = document.documentMode
1052                  , o = i && i <= 11;
1053                this.$selection.on("input.searchcheck", ".select2-search--inline", function(e) {
1054                    o ? r.$selection.off("input.search input.searchcheck") : r.$selection.off("keyup.search")
1055                }),
1056                this.$selection.on("keyup.search input.search", ".select2-search--inline", function(e) {
1057                    if (o && "input" === e.type)
1058                        r.$selection.off("input.search input.searchcheck");
1059                    else {
1060                        var t = e.which;
1061                        t != a.SHIFT && t != a.CTRL && t != a.ALT && t != a.TAB && r.handleSearch(e)
1062                    }
1063                })
1064            }
1065            ,
1066            e.prototype._transferTabIndex = function(e) {
1067                this.$search.attr("tabindex", this.$selection.attr("tabindex")),
1068                this.$selection.attr("tabindex", "-1")
1069            }
1070            ,
1071            e.prototype.createPlaceholder = function(e, t) {
1072                this.$search.attr("placeholder", t.text)
1073            }
1074            ,
1075            e.prototype.update = function(e, t) {
1076                var n = this.$search[0] == document.activeElement;
1077                this.$search.attr("placeholder", ""),
1078                e.call(this, t),
1079                this.$selection.find(".select2-selection__rendered").append(this.$searchContainer),
1080                this.resizeSearch(),
1081                n && this.$search.trigger("focus")
1082            }
1083            ,
1084            e.prototype.handleSearch = function() {
1085                if (this.resizeSearch(),
1086                !this._keyUpPrevented) {
1087                    var e = this.$search.val();
1088                    this.trigger("query", {
1089                        term: e
1090                    })
1091                }
1092                this._keyUpPrevented = !1
1093            }
1094            ,
1095            e.prototype.searchRemoveChoice = function(e, t) {
1096                this.trigger("unselect", {
1097                    data: t
1098                }),
1099                this.$search.val(t.text),
1100                this.handleSearch()
1101            }
1102            ,
1103            e.prototype.resizeSearch = function() {
1104                this.$search.css("width", "25px");
1105                var e = "";
1106                "" !== this.$search.attr("placeholder") ? e = this.$selection.find(".select2-selection__rendered").innerWidth() : e = .75 * (this.$search.val().length + 1) + "em";
1107                this.$search.css("width", e)
1108            }
1109            ,
1110            e
1111        }),
1112        e.define("select2/selection/eventRelay", ["jquery"], function(s) {
1113            function e() {}
1114            return e.prototype.bind = function(e, t, n) {
1115                var r = this
1116                  , i = ["open", "opening", "close", "closing", "select", "selecting", "unselect", "unselecting", "clear", "clearing"]
1117                  , o = ["opening", "closing", "selecting", "unselecting", "clearing"];
1118                e.call(this, t, n),
1119                t.on("*", function(e, t) {
1120                    if (-1 !== s.inArray(e, i)) {
1121                        t = t || {};
1122                        var n = s.Event("select2:" + e, {
1123                            params: t
1124                        });
1125                        r.$element.trigger(n),
1126                        -1 !== s.inArray(e, o) && (t.prevented = n.isDefaultPrevented())
1127                    }
1128                })
1129            }
1130            ,
1131            e
1132        }),
1133        e.define("select2/translation", ["jquery", "require"], function(t, n) {
1134            function r(e) {
1135                this.dict = e || {}
1136            }
1137            return r.prototype.all = function() {
1138                return this.dict
1139            }
1140            ,
1141            r.prototype.get = function(e) {
1142                return this.dict[e]
1143            }
1144            ,
1145            r.prototype.extend = function(e) {
1146                this.dict = t.extend({}, e.all(), this.dict)
1147            }
1148            ,
1149            r._cache = {},
1150            r.loadPath = function(e) {
1151                if (!(e in r._cache)) {
1152                    var t = n(e);
1153                    r._cache[e] = t
1154                }
1155                return new r(r._cache[e])
1156            }
1157            ,
1158            r
1159        }),
1160        e.define("select2/diacritics", [], function() {
1161            return {
1162                "â’¶": "A",
1163                "A": "A",
1164                "À": "A",
1165                "Á": "A",
1166                "Â": "A",
1167                "Ầ": "A",
1168                "Ấ": "A",
1169                "Ẫ": "A",
1170                "Ẩ": "A",
1171                "Ã": "A",
1172                "Ä€": "A",
1173                "Ä‚": "A",
1174                "Ằ": "A",
1175                "Ắ": "A",
1176                "Ẵ": "A",
1177                "Ẳ": "A",
1178                "Ȧ": "A",
1179                "Ç ": "A",
1180                "Ä": "A",
1181                "Çž": "A",
1182                "Ả": "A",
1183                "Ã…": "A",
1184                "Ǻ": "A",
1185                "Ǎ": "A",
1186                "È€": "A",
1187                "È‚": "A",
1188                "Ạ": "A",
1189                "Ậ": "A",
1190                "Ặ": "A",
1191                "Ḁ": "A",
1192                "Ä„": "A",
1193                "Ⱥ": "A",
1194                "Ɐ": "A",
1195                "Ꜳ": "AA",
1196                "Æ": "AE",
1197                "Ǽ": "AE",
1198                "Ç¢": "AE",
1199                "Ꜵ": "AO",
1200                "Ꜷ": "AU",
1201                "Ꜹ": "AV",
1202                "Ꜻ": "AV",
1203                "Ꜽ": "AY",
1204                "â’·": "B",
1205                "ï¼¢": "B",
1206                "Ḃ": "B",
1207                "Ḅ": "B",
1208                "Ḇ": "B",
1209                "Ƀ": "B",
1210                "Æ‚": "B",
1211                "Ɓ": "B",
1212                "â’¸": "C",
1213                "ï¼£": "C",
1214                "Ć": "C",
1215                "Ĉ": "C",
1216                "ÄŠ": "C",
1217                "Č": "C",
1218                "Ç": "C",
1219                "Ḉ": "C",
1220                "Ƈ": "C",
1221                "È»": "C",
1222                "Ꜿ": "C",
1223                "â’¹": "D",
1224                "D": "D",
1225                "Ḋ": "D",
1226                "ÄŽ": "D",
1227                "Ḍ": "D",
1228                "Ḑ": "D",
1229                "Ḓ": "D",
1230                "Ḏ": "D",
1231                "Đ": "D",
1232                "Æ‹": "D",
1233                "ÆŠ": "D",
1234                "Ɖ": "D",
1235                "Ꝺ": "D",
1236                "DZ": "DZ",
1237                "Ç„": "DZ",
1238                "Dz": "Dz",
1239                "Ç…": "Dz",
1240                "â’º": "E",
1241                "ï¼¥": "E",
1242                "È": "E",
1243                "É": "E",
1244                "Ê": "E",
1245                "Ề": "E",
1246                "Ế": "E",
1247                "Ễ": "E",
1248                "Ể": "E",
1249                "Ẽ": "E",
1250                "Ä’": "E",
1251                "Ḕ": "E",
1252                "Ḗ": "E",
1253                "Ä”": "E",
1254                "Ä–": "E",
1255                "Ë": "E",
1256                "Ẻ": "E",
1257                "Äš": "E",
1258                "È„": "E",
1259                "Ȇ": "E",
1260                "Ẹ": "E",
1261                "Ệ": "E",
1262                "Ȩ": "E",
1263                "Ḝ": "E",
1264                "Ę": "E",
1265                "Ḙ": "E",
1266                "Ḛ": "E",
1267                "Ɛ": "E",
1268                "ÆŽ": "E",
1269                "â’»": "F",
1270                "F": "F",
1271                "Ḟ": "F",
1272                "Æ‘": "F",
1273                "Ꝼ": "F",
1274                "â’¼": "G",
1275                "ï¼§": "G",
1276                "Ç´": "G",
1277                "Ĝ": "G",
1278                "Ḡ": "G",
1279                "Äž": "G",
1280                "Ä ": "G",
1281                "Ǧ": "G",
1282                "Ä¢": "G",
1283                "Ǥ": "G",
1284                "Æ“": "G",
1285                "êž ": "G",
1286                "Ᵹ": "G",
1287                "Ꝿ": "G",
1288                "â’½": "H",
1289                "H": "H",
1290                "Ĥ": "H",
1291                "Ḣ": "H",
1292                "Ḧ": "H",
1293                "Èž": "H",
1294                "Ḥ": "H",
1295                "Ḩ": "H",
1296                "Ḫ": "H",
1297                "Ħ": "H",
1298                "â±§": "H",
1299                "â±µ": "H",
1300                "Ɥ": "H",
1301                "â’¾": "I",
1302                "I": "I",
1303                "Ì": "I",
1304                "Í": "I",
1305                "ÃŽ": "I",
1306                "Ĩ": "I",
1307                "Ī": "I",
1308                "Ĭ": "I",
1309                "İ": "I",
1310                "Ï": "I",
1311                "Ḯ": "I",
1312                "Ỉ": "I",
1313                "Ǐ": "I",
1314                "Ȉ": "I",
1315                "ÈŠ": "I",
1316                "Ị": "I",
1317                "Ä®": "I",
1318                "Ḭ": "I",
1319                "Æ—": "I",
1320                "â’¿": "J",
1321                "J": "J",
1322                "Ä´": "J",
1323                "Ɉ": "J",
1324                "â“€": "K",
1325                "K": "K",
1326                "Ḱ": "K",
1327                "Ǩ": "K",
1328                "Ḳ": "K",
1329                "Ķ": "K",
1330                "Ḵ": "K",
1331                "Ƙ": "K",
1332                "Ⱪ": "K",
1333                "Ꝁ": "K",
1334                "Ꝃ": "K",
1335                "Ꝅ": "K",
1336                "Ꞣ": "K",
1337                "Ⓛ": "L",
1338                "L": "L",
1339                "Ä¿": "L",
1340                "Ĺ": "L",
1341                "Ľ": "L",
1342                "Ḷ": "L",
1343                "Ḹ": "L",
1344                "Ä»": "L",
1345                "Ḽ": "L",
1346                "Ḻ": "L",
1347                "Ł": "L",
1348                "Ƚ": "L",
1349                "â±¢": "L",
1350                "â± ": "L",
1351                "Ꝉ": "L",
1352                "Ꝇ": "L",
1353                "Ꞁ": "L",
1354                "LJ": "LJ",
1355                "Lj": "Lj",
1356                "â“‚": "M",
1357                "ï¼­": "M",
1358                "Ḿ": "M",
1359                "á¹€": "M",
1360                "Ṃ": "M",
1361                "â±®": "M",
1362                "Ɯ": "M",
1363                "Ⓝ": "N",
1364                "ï¼®": "N",
1365                "Ǹ": "N",
1366                "Ń": "N",
1367                "Ñ": "N",
1368                "Ṅ": "N",
1369                "Ň": "N",
1370                "Ṇ": "N",
1371                "Å…": "N",
1372                "Ṋ": "N",
1373                "Ṉ": "N",
1374                "È ": "N",
1375                "Ɲ": "N",
1376                "Ꞑ": "N",
1377                "Ꞥ": "N",
1378                "ÇŠ": "NJ",
1379                "Ç‹": "Nj",
1380                "â“„": "O",
1381                "O": "O",
1382                "Ã’": "O",
1383                "Ó": "O",
1384                "Ô": "O",
1385                "á»’": "O",
1386                "Ố": "O",
1387                "á»–": "O",
1388                "á»”": "O",
1389                "Õ": "O",
1390                "Ṍ": "O",
1391                "Ȭ": "O",
1392                "Ṏ": "O",
1393                "Ō": "O",
1394                "Ṑ": "O",
1395                "á¹’": "O",
1396                "ÅŽ": "O",
1397                "È®": "O",
1398                "Ȱ": "O",
1399                "Ö": "O",
1400                "Ȫ": "O",
1401                "Ỏ": "O",
1402                "Ő": "O",
1403                "Ç‘": "O",
1404                "Ȍ": "O",
1405                "ÈŽ": "O",
1406                "Æ ": "O",
1407                "Ờ": "O",
1408                "Ớ": "O",
1409                "á» ": "O",
1410                "Ở": "O",
1411                "Ợ": "O",
1412                "Ọ": "O",
1413                "Ộ": "O",
1414                "Ǫ": "O",
1415                "Ǭ": "O",
1416                "Ø": "O",
1417                "Ǿ": "O",
1418                "Ɔ": "O",
1419                "ÆŸ": "O",
1420                "Ꝋ": "O",
1421                "Ꝍ": "O",
1422                "Å’": "OE",
1423                "Æ¢": "OI",
1424                "Ꝏ": "OO",
1425                "È¢": "OU",
1426                "â“…": "P",
1427                "ï¼°": "P",
1428                "á¹”": "P",
1429                "á¹–": "P",
1430                "Ƥ": "P",
1431                "â±£": "P",
1432                "Ꝑ": "P",
1433                "Ꝓ": "P",
1434                "Ꝕ": "P",
1435                "Ⓠ": "Q",
1436                "ï¼±": "Q",
1437                "Ꝗ": "Q",
1438                "Ꝙ": "Q",
1439                "ÉŠ": "Q",
1440                "Ⓡ": "R",
1441                "ï¼²": "R",
1442                "Å”": "R",
1443                "Ṙ": "R",
1444                "Ř": "R",
1445                "Ȑ": "R",
1446                "È’": "R",
1447                "Ṛ": "R",
1448                "Ṝ": "R",
1449                "Å–": "R",
1450                "Ṟ": "R",
1451                "Ɍ": "R",
1452                "Ɽ": "R",
1453                "Ꝛ": "R",
1454                "Ꞧ": "R",
1455                "êž‚": "R",
1456                "Ⓢ": "S",
1457                "ï¼³": "S",
1458                "ẞ": "S",
1459                "Åš": "S",
1460                "Ṥ": "S",
1461                "Ŝ": "S",
1462                "á¹ ": "S",
1463                "Å ": "S",
1464                "Ṧ": "S",
1465                "á¹¢": "S",
1466                "Ṩ": "S",
1467                "Ș": "S",
1468                "Åž": "S",
1469                "â±¾": "S",
1470                "Ꞩ": "S",
1471                "êž„": "S",
1472                "Ⓣ": "T",
1473                "ï¼´": "T",
1474                "Ṫ": "T",
1475                "Ť": "T",
1476                "Ṭ": "T",
1477                "Èš": "T",
1478                "Å¢": "T",
1479                "á¹°": "T",
1480                "á¹®": "T",
1481                "Ŧ": "T",
1482                "Ƭ": "T",
1483                "Æ®": "T",
1484                "Ⱦ": "T",
1485                "Ꞇ": "T",
1486                "Ꜩ": "TZ",
1487                "Ⓤ": "U",
1488                "ï¼µ": "U",
1489                "Ù": "U",
1490                "Ú": "U",
1491                "Û": "U",
1492                "Ũ": "U",
1493                "Ṹ": "U",
1494                "Ū": "U",
1495                "Ṻ": "U",
1496                "Ŭ": "U",
1497                "Ü": "U",
1498                "Ç›": "U",
1499                "Ç—": "U",
1500                "Ç•": "U",
1501                "Ç™": "U",
1502                "Ủ": "U",
1503                "Å®": "U",
1504                "Ű": "U",
1505                "Ç“": "U",
1506                "È”": "U",
1507                "È–": "U",
1508                "Ư": "U",
1509                "Ừ": "U",
1510                "Ứ": "U",
1511                "á»®": "U",
1512                "Ử": "U",
1513                "á»°": "U",
1514                "Ụ": "U",
1515                "á¹²": "U",
1516                "Ų": "U",
1517                "á¹¶": "U",
1518                "á¹´": "U",
1519                "É„": "U",
1520                "â“‹": "V",
1521                "ï¼¶": "V",
1522                "á¹¼": "V",
1523                "á¹¾": "V",
1524                "Ʋ": "V",
1525                "Ꝟ": "V",
1526                "É…": "V",
1527                "ê ": "VY",
1528                "Ⓦ": "W",
1529                "ï¼·": "W",
1530                "Ẁ": "W",
1531                "Ẃ": "W",
1532                "Å´": "W",
1533                "Ẇ": "W",
1534                "Ẅ": "W",
1535                "Ẉ": "W",
1536                "â±²": "W",
1537                "Ⓧ": "X",
1538                "X": "X",
1539                "Ẋ": "X",
1540                
1540"Ẍ": "X",
1541                "Ⓨ": "Y",
1542                "ï¼¹": "Y",
1543                "Ỳ": "Y",
1544                "Ý": "Y",
1545                "Ŷ": "Y",
1546                "Ỹ": "Y",
1547                "Ȳ": "Y",
1548                "Ẏ": "Y",
1549                "Ÿ": "Y",
1550                "á»¶": "Y",
1551                "á»´": "Y",
1552                "Ƴ": "Y",
1553                "ÉŽ": "Y",
1554                "Ỿ": "Y",
1555                "Ⓩ": "Z",
1556                "Z": "Z",
1557                "Ź": "Z",
1558                "Ẑ": "Z",
1559                "Å»": "Z",
1560                "Ž": "Z",
1561                "Ẓ": "Z",
1562                "Ẕ": "Z",
1563                "Ƶ": "Z",
1564                "Ȥ": "Z",
1565                "Ɀ": "Z",
1566                "Ⱬ": "Z",
1567                "Ꝣ": "Z",
1568                "ⓐ": "a",
1569                "a": "a",
1570                "ẚ": "a",
1571                "Ã ": "a",
1572                "á": "a",
1573                "â": "a",
1574                "ầ": "a",
1575                "ấ": "a",
1576                "ẫ": "a",
1577                "ẩ": "a",
1578                "ã": "a",
1579                "ā": "a",
1580                "ă": "a",
1581                "ằ": "a",
1582                "ắ": "a",
1583                "ẵ": "a",
1584                "ẳ": "a",
1585                "ȧ": "a",
1586                "Ç¡": "a",
1587                "ä": "a",
1588                "ÇŸ": "a",
1589                "ả": "a",
1590                "Ã¥": "a",
1591                "Ç»": "a",
1592                "ÇŽ": "a",
1593                "ȁ": "a",
1594                "ȃ": "a",
1595                "ạ": "a",
1596                "ậ": "a",
1597                "ặ": "a",
1598                "ḁ": "a",
1599                "Ä…": "a",
1600                "â±¥": "a",
1601                "ɐ": "a",
1602                "ꜳ": "aa",
1603                "æ": "ae",
1604                "ǽ": "ae",
1605                "Ç£": "ae",
1606                "ꜵ": "ao",
1607                "ꜷ": "au",
1608                "ꜹ": "av",
1609                "ꜻ": "av",
1610                "ꜽ": "ay",
1611                "â“‘": "b",
1612                "b": "b",
1613                "ḃ": "b",
1614                "ḅ": "b",
1615                "ḇ": "b",
1616                "Æ€": "b",
1617                "ƃ": "b",
1618                "É“": "b",
1619                "â“’": "c",
1620                "c": "c",
1621                "ć": "c",
1622                "ĉ": "c",
1623                "Ä‹": "c",
1624                "č": "c",
1625                "ç": "c",
1626                "ḉ": "c",
1627                "ƈ": "c",
1628                "ȼ": "c",
1629                "ꜿ": "c",
1630                "ↄ": "c",
1631                "â““": "d",
1632                "d": "d",
1633                "ḋ": "d",
1634                "ď": "d",
1635                "ḍ": "d",
1636                "ḑ": "d",
1637                "ḓ": "d",
1638                "ḏ": "d",
1639                "Ä‘": "d",
1640                "ƌ": "d",
1641                "É–": "d",
1642                "É—": "d",
1643                "ꝺ": "d",
1644                "dz": "dz",
1645                "dž": "dz",
1646                "â“”": "e",
1647                "ï½…": "e",
1648                "è": "e",
1649                "é": "e",
1650                "ê": "e",
1651                "ề": "e",
1652                "ế": "e",
1653                "á»…": "e",
1654                "ể": "e",
1655                "ẽ": "e",
1656                "Ä“": "e",
1657                "ḕ": "e",
1658                "ḗ": "e",
1659                "Ä•": "e",
1660                "Ä—": "e",
1661                "ë": "e",
1662                "ẻ": "e",
1663                "Ä›": "e",
1664                "È…": "e",
1665                "ȇ": "e",
1666                "ẹ": "e",
1667                "ệ": "e",
1668                "È©": "e",
1669                "ḝ": "e",
1670                "Ä™": "e",
1671                "ḙ": "e",
1672                "ḛ": "e",
1673                "ɇ": "e",
1674                "É›": "e",
1675                "ǝ": "e",
1676                "â“•": "f",
1677                "f": "f",
1678                "ḟ": "f",
1679                "Æ’": "f",
1680                "ꝼ": "f",
1681                "â“–": "g",
1682                "g": "g",
1683                "ǵ": "g",
1684                "ĝ": "g",
1685                "ḡ": "g",
1686                "ÄŸ": "g",
1687                "Ä¡": "g",
1688                "ǧ": "g",
1689                "Ä£": "g",
1690                "Ç¥": "g",
1691                "É ": "g",
1692                "êž¡": "g",
1693                "áµ¹": "g",
1694                "ꝿ": "g",
1695                "â“—": "h",
1696                "h": "h",
1697                "Ä¥": "h",
1698                "ḣ": "h",
1699                "ḧ": "h",
1700                "ÈŸ": "h",
1701                "ḥ": "h",
1702                "ḩ": "h",
1703                "ḫ": "h",
1704                "ẖ": "h",
1705                "ħ": "h",
1706                "ⱨ": "h",
1707                "â±¶": "h",
1708                "É¥": "h",
1709                "Æ•": "hv",
1710                "ⓘ": "i",
1711                "i": "i",
1712                "ì": "i",
1713                "í": "i",
1714                "î": "i",
1715                "Ä©": "i",
1716                "Ä«": "i",
1717                "Ä­": "i",
1718                "ï": "i",
1719                "ḯ": "i",
1720                "ỉ": "i",
1721                "ǐ": "i",
1722                "ȉ": "i",
1723                "È‹": "i",
1724                "ị": "i",
1725                "į": "i",
1726                "ḭ": "i",
1727                "ɨ": "i",
1728                "ı": "i",
1729                "â“™": "j",
1730                "j": "j",
1731                "ĵ": "j",
1732                "ǰ": "j",
1733                "ɉ": "j",
1734                "ⓚ": "k",
1735                "k": "k",
1736                "ḱ": "k",
1737                "Ç©": "k",
1738                "ḳ": "k",
1739                "Ä·": "k",
1740                "ḵ": "k",
1741                "Æ™": "k",
1742                "ⱪ": "k",
1743                "ꝁ": "k",
1744                "ꝃ": "k",
1745                "ꝅ": "k",
1746                "ꞣ": "k",
1747                "â“›": "l",
1748                "l": "l",
1749                "Å€": "l",
1750                "ĺ": "l",
1751                "ľ": "l",
1752                "ḷ": "l",
1753                "ḹ": "l",
1754                "ļ": "l",
1755                "ḽ": "l",
1756                "ḻ": "l",
1757                "Å¿": "l",
1758                "Å‚": "l",
1759                "Æš": "l",
1760                "É«": "l",
1761                "ⱡ": "l",
1762                "ꝉ": "l",
1763                "ꞁ": "l",
1764                "ꝇ": "l",
1765                "lj": "lj",
1766                "ⓜ": "m",
1767                "m": "m",
1768                "ḿ": "m",
1769                "ṁ": "m",
1770                "ṃ": "m",
1771                "ɱ": "m",
1772                "ɯ": "m",
1773                "ⓝ": "n",
1774                "n": "n",
1775                "ǹ": "n",
1776                "Å„": "n",
1777                "ñ": "n",
1778                "á¹…": "n",
1779                "ň": "n",
1780                "ṇ": "n",
1781                "ņ": "n",
1782                "ṋ": "n",
1783                "ṉ": "n",
1784                "Æž": "n",
1785                "ɲ": "n",
1786                "ʼn": "n",
1787                "êž‘": "n",
1788                "ꞥ": "n",
1789                "nj": "nj",
1790                "ⓞ": "o",
1791                "o": "o",
1792                "ò": "o",
1793                "ó": "o",
1794                "ô": "o",
1795                "ồ": "o",
1796                "ố": "o",
1797                "á»—": "o",
1798                "ổ": "o",
1799                "õ": "o",
1800                "ṍ": "o",
1801                "È­": "o",
1802                "ṏ": "o",
1803                "ō": "o",
1804                "ṑ": "o",
1805                "ṓ": "o",
1806                "ŏ": "o",
1807                "ȯ": "o",
1808                "ȱ": "o",
1809                "ö": "o",
1810                "È«": "o",
1811                "ỏ": "o",
1812                "Å‘": "o",
1813                "Ç’": "o",
1814                "ȍ": "o",
1815                "ȏ": "o",
1816                "Æ¡": "o",
1817                "ờ": "o",
1818                "á»›": "o",
1819                "ỡ": "o",
1820                "ở": "o",
1821                "ợ": "o",
1822                "ọ": "o",
1823                "á»™": "o",
1824                "Ç«": "o",
1825                "Ç­": "o",
1826                "ø": "o",
1827                "Ç¿": "o",
1828                "É”": "o",
1829                "ꝋ": "o",
1830                "ꝍ": "o",
1831                "ɵ": "o",
1832                "Å“": "oe",
1833                "Æ£": "oi",
1834                "È£": "ou",
1835                "ꝏ": "oo",
1836                "ⓟ": "p",
1837                "p": "p",
1838                "ṕ": "p",
1839                "á¹—": "p",
1840                "Æ¥": "p",
1841                "áµ½": "p",
1842                "ꝑ": "p",
1843                "ꝓ": "p",
1844                "ꝕ": "p",
1845                "â“ ": "q",
1846                "q": "q",
1847                "É‹": "q",
1848                "ꝗ": "q",
1849                "ꝙ": "q",
1850                "â“¡": "r",
1851                "ï½’": "r",
1852                "Å•": "r",
1853                "á¹™": "r",
1854                "Å™": "r",
1855                "È‘": "r",
1856                "È“": "r",
1857                "á¹›": "r",
1858                "ṝ": "r",
1859                "Å—": "r",
1860                "ṟ": "r",
1861                "ɍ": "r",
1862                "ɽ": "r",
1863                "ꝛ": "r",
1864                "êž§": "r",
1865                "ꞃ": "r",
1866                "â“¢": "s",
1867                "s": "s",
1868                "ß": "s",
1869                "Å›": "s",
1870                "á¹¥": "s",
1871                "ŝ": "s",
1872                "ṡ": "s",
1873                "Å¡": "s",
1874                "á¹§": "s",
1875                "á¹£": "s",
1876                "ṩ": "s",
1877                "È™": "s",
1878                "ÅŸ": "s",
1879                "È¿": "s",
1880                "êž©": "s",
1881                "êž…": "s",
1882                "ẛ": "s",
1883                "â“£": "t",
1884                "ï½”": "t",
1885                "ṫ": "t",
1886                "ẗ": "t",
1887                "Å¥": "t",
1888                "á¹­": "t",
1889                "È›": "t",
1890                "Å£": "t",
1891                "á¹±": "t",
vendor: 32,078 bytes, lines 1892-2727
1892                "ṯ": "t",
1893                "ŧ": "t",
1894                "Æ­": "t",
1895                "ʈ": "t",
1896                "ⱦ": "t",
1897                "ꞇ": "t",
1898                "ꜩ": "tz",
1899                "ⓤ": "u",
1900                "u": "u",
1901                "ù": "u",
1902                "ú": "u",
1903                "û": "u",
1904                "Å©": "u",
1905                "á¹¹": "u",
1906                "Å«": "u",
1907                "á¹»": "u",
1908                "Å­": "u",
1909                "ü": "u",
1910                "ǜ": "u",
1911                "ǘ": "u",
1912                "Ç–": "u",
1913                "Çš": "u",
1914                "á»§": "u",
1915                "ů": "u",
1916                "ű": "u",
1917                "Ç”": "u",
1918                "È•": "u",
1919                "È—": "u",
1920                "ư": "u",
1921                "ừ": "u",
1922                "ứ": "u",
1923                "ữ": "u",
1924                "á»­": "u",
1925                "á»±": "u",
1926                "ụ": "u",
1927                "á¹³": "u",
1928                "ų": "u",
1929                "á¹·": "u",
1930                "á¹µ": "u",
1931                "ʉ": "u",
1932                "â“¥": "v",
1933                "ï½–": "v",
1934                "á¹½": "v",
1935                "ṿ": "v",
1936                "Ê‹": "v",
1937                "ꝟ": "v",
1938                "ʌ": "v",
1939                "ꝡ": "vy",
1940                "ⓦ": "w",
1941                "ï½—": "w",
1942                "ẁ": "w",
1943                "ẃ": "w",
1944                "ŵ": "w",
1945                "ẇ": "w",
1946                "ẅ": "w",
1947                "ẘ": "w",
1948                "ẉ": "w",
1949                "â±³": "w",
1950                "â“§": "x",
1951                "x": "x",
1952                "ẋ": "x",
1953                "ẍ": "x",
1954                "ⓨ": "y",
1955                "ï½™": "y",
1956                "ỳ": "y",
1957                "ý": "y",
1958                "Å·": "y",
1959                "ỹ": "y",
1960                "ȳ": "y",
1961                "ẏ": "y",
1962                "ÿ": "y",
1963                "á»·": "y",
1964                "ẙ": "y",
1965                "ỵ": "y",
1966                "Æ´": "y",
1967                "ɏ": "y",
1968                "ỿ": "y",
1969                "â“©": "z",
1970                "z": "z",
1971                "ź": "z",
1972                "ẑ": "z",
1973                "ż": "z",
1974                "ž": "z",
1975                "ẓ": "z",
1976                "ẕ": "z",
1977                "ƶ": "z",
1978                "È¥": "z",
1979                "É€": "z",
1980                "ⱬ": "z",
1981                "ꝣ": "z",
1982                "Ά": "Α",
1983                "Έ": "Ε",
1984                "Ή": "Η",
1985                "Ί": "Ι",
1986                "Ϊ": "Ι",
1987                "Ό": "Ο",
1988                "ÎŽ": "Î¥",
1989                "Ϋ": "Υ",
1990                "Ώ": "Ω",
1991                "ά": "α",
1992                "έ": "ε",
1993                "ή": "η",
1994                "ί": "ι",
1995                "ϊ": "ι",
1996                "ΐ": "ι",
1997                "ό": "ο",
1998                "ύ": "υ",
1999                "Ï‹": "Ï…",
2000                "ΰ": "υ",
2001                "ώ": "ω",
2002                "ς": "σ",
2003                "’": "'"
2004            }
2005        }),
2006        e.define("select2/data/base", ["../utils"], function(r) {
2007            function n(e, t) {
2008                n.__super__.constructor.call(this)
2009            }
2010            return r.Extend(n, r.Observable),
2011            n.prototype.current = function(e) {
2012                throw new Error("The `current` method must be defined in child classes.")
2013            }
2014            ,
2015            n.prototype.query = function(e, t) {
2016                throw new Error("The `query` method must be defined in child classes.")
2017            }
2018            ,
2019            n.prototype.bind = function(e, t) {}
2020            ,
2021            n.prototype.destroy = function() {}
2022            ,
2023            n.prototype.generateResultId = function(e, t) {
2024                var n = e.id + "-result-";
2025                return n += r.generateChars(4),
2026                null != t.id ? n += "-" + t.id.toString() : n += "-" + r.generateChars(4),
2027                n
2028            }
2029            ,
2030            n
2031        }),
2032        e.define("select2/data/select", ["./base", "../utils", "jquery"], function(e, a, l) {
2033            function n(e, t) {
2034                this.$element = e,
2035                this.options = t,
2036                n.__super__.constructor.call(this)
2037            }
2038            return a.Extend(n, e),
2039            n.prototype.current = function(e) {
2040                var n = []
2041                  , r = this;
2042                this.$element.find(":selected").each(function() {
2043                    var e = l(this)
2044                      , t = r.item(e);
2045                    n.push(t)
2046                }),
2047                e(n)
2048            }
2049            ,
2050            n.prototype.select = function(i) {
2051                var o = this;
2052                if (i.selected = !0,
2053                l(i.element).is("option"))
2054                    return i.element.selected = !0,
2055                    void this.$element.trigger("change");
2056                if (this.$element.prop("multiple"))
2057                    this.current(function(e) {
2058                        var t = [];
2059                        (i = [i]).push.apply(i, e);
2060                        for (var n = 0; n < i.length; n++) {
2061                            var r = i[n].id;
2062                            -1 === l.inArray(r, t) && t.push(r)
2063                        }
2064                        o.$element.val(t),
2065                        o.$element.trigger("change")
2066                    });
2067                else {
2068                    var e = i.id;
2069                    this.$element.val(e),
2070                    this.$element.trigger("change")
2071                }
2072            }
2073            ,
2074            n.prototype.unselect = function(i) {
2075                var o = this;
2076                if (this.$element.prop("multiple")) {
2077                    if (i.selected = !1,
2078                    l(i.element).is("option"))
2079                        return i.element.selected = !1,
2080                        void this.$element.trigger("change");
2081                    this.current(function(e) {
2082                        for (var t = [], n = 0; n < e.length; n++) {
2083                            var r = e[n].id;
2084                            r !== i.id && -1 === l.inArray(r, t) && t.push(r)
2085                        }
2086                        o.$element.val(t),
2087                        o.$element.trigger("change")
2088                    })
2089                }
2090            }
2091            ,
2092            n.prototype.bind = function(e, t) {
2093                var n = this;
2094                (this.container = e).on("select", function(e) {
2095                    n.select(e.data)
2096                }),
2097                e.on("unselect", function(e) {
2098                    n.unselect(e.data)
2099                })
2100            }
2101            ,
2102            n.prototype.destroy = function() {
2103                this.$element.find("*").each(function() {
2104                    a.RemoveData(this)
2105                })
2106            }
2107            ,
2108            n.prototype.query = function(r, e) {
2109                var i = []
2110                  , o = this;
2111                this.$element.children().each(function() {
2112                    var e = l(this);
2113                    if (e.is("option") || e.is("optgroup")) {
2114                        var t = o.item(e)
2115                          , n = o.matches(r, t);
2116                        null !== n && i.push(n)
2117                    }
2118                }),
2119                e({
2120                    results: i
2121                })
2122            }
2123            ,
2124            n.prototype.addOptions = function(e) {
2125                a.appendMany(this.$element, e)
2126            }
2127            ,
2128            n.prototype.option = function(e) {
2129                var t;
2130                e.children ? (t = document.createElement("optgroup")).label = e.text : void 0 !== (t = document.createElement("option")).textContent ? t.textContent = e.text : t.innerText = e.text,
2131                void 0 !== e.id && (t.value = e.id),
2132                e.disabled && (t.disabled = !0),
2133                e.selected && (t.selected = !0),
2134                e.title && (t.title = e.title);
2135                var n = l(t)
2136                  , r = this._normalizeItem(e);
2137                return r.element = t,
2138                a.StoreData(t, "data", r),
2139                n
2140            }
2141            ,
2142            n.prototype.item = function(e) {
2143                var t = {};
2144                if (null != (t = a.GetData(e[0], "data")))
2145                    return t;
2146                if (e.is("option"))
2147                    t = {
2148                        id: e.val(),
2149                        text: e.text(),
2150                        disabled: e.prop("disabled"),
2151                        selected: e.prop("selected"),
2152                        title: e.prop("title")
2153                    };
2154                else if (e.is("optgroup")) {
2155                    t = {
2156                        text: e.prop("label"),
2157                        children: [],
2158                        title: e.prop("title")
2159                    };
2160                    for (var n = e.children("option"), r = [], i = 0; i < n.length; i++) {
2161                        var o = l(n[i])
2162                          , s = this.item(o);
2163                        r.push(s)
2164                    }
2165                    t.children = r
2166                }
2167                return (t = this._normalizeItem(t)).element = e[0],
2168                a.StoreData(e[0], "data", t),
2169                t
2170            }
2171            ,
2172            n.prototype._normalizeItem = function(e) {
2173                e !== Object(e) && (e = {
2174                    id: e,
2175                    text: e
2176                });
2177                return null != (e = l.extend({}, {
2178                    text: ""
2179                }, e)).id && (e.id = e.id.toString()),
2180                null != e.text && (e.text = e.text.toString()),
2181                null == e._resultId && e.id && null != this.container && (e._resultId = this.generateResultId(this.container, e)),
2182                l.extend({}, {
2183                    selected: !1,
2184                    disabled: !1
2185                }, e)
2186            }
2187            ,
2188            n.prototype.matches = function(e, t) {
2189                return this.options.get("matcher")(e, t)
2190            }
2191            ,
2192            n
2193        }),
2194        e.define("select2/data/array", ["./select", "../utils", "jquery"], function(e, f, g) {
2195            function r(e, t) {
2196                var n = t.get("data") || [];
2197                r.__super__.constructor.call(this, e, t),
2198                this.addOptions(this.convertToOptions(n))
2199            }
2200            return f.Extend(r, e),
2201            r.prototype.select = function(n) {
2202                var e = this.$element.find("option").filter(function(e, t) {
2203                    return t.value == n.id.toString()
2204                });
2205                0 === e.length && (e = this.option(n),
2206                this.addOptions(e)),
2207                r.__super__.select.call(this, n)
2208            }
2209            ,
2210            r.prototype.convertToOptions = function(e) {
2211                var t = this
2212                  , n = this.$element.find("option")
2213                  , r = n.map(function() {
2214                    return t.item(g(this)).id
2215                }).get()
2216                  , i = [];
2217                function o(e) {
2218                    return function() {
2219                        return g(this).val() == e.id
2220                    }
2221                }
2222                for (var s = 0; s < e.length; s++) {
2223                    var a = this._normalizeItem(e[s]);
2224                    if (0 <= g.inArray(a.id, r)) {
2225                        var l = n.filter(o(a))
2226                          , c = this.item(l)
2227                          , u = g.extend(!0, {}, a, c)
2228                          , d = this.option(u);
2229                        l.replaceWith(d)
2230                    } else {
2231                        var p = this.option(a);
2232                        if (a.children) {
2233                            var h = this.convertToOptions(a.children);
2234                            f.appendMany(p, h)
2235                        }
2236                        i.push(p)
2237                    }
2238                }
2239                return i
2240            }
2241            ,
2242            r
2243        }),
2244        e.define("select2/data/ajax", ["./array", "../utils", "jquery"], function(e, t, o) {
2245            function n(e, t) {
2246                this.ajaxOptions = this._applyDefaults(t.get("ajax")),
2247                null != this.ajaxOptions.processResults && (this.processResults = this.ajaxOptions.processResults),
2248                n.__super__.constructor.call(this, e, t)
2249            }
2250            return t.Extend(n, e),
2251            n.prototype._applyDefaults = function(e) {
2252                var t = {
2253                    data: function(e) {
2254                        return o.extend({}, e, {
2255                            q: e.term
2256                        })
2257                    },
2258                    transport: function(e, t, n) {
2259                        var r = o.ajax(e);
2260                        return r.then(t),
2261                        r.fail(n),
2262                        r
2263                    }
2264                };
2265                return o.extend({}, t, e, !0)
2266            }
2267            ,
2268            n.prototype.processResults = function(e) {
2269                return e
2270            }
2271            ,
2272            n.prototype.query = function(n, r) {
2273                var i = this;
2274                null != this._request && (o.isFunction(this._request.abort) && this._request.abort(),
2275                this._request = null);
2276                var t = o.extend({
2277                    type: "GET"
2278                }, this.ajaxOptions);
2279                function e() {
2280                    var e = t.transport(t, function(e) {
2281                        var t = i.processResults(e, n);
2282                        i.options.get("debug") && window.console && console.error && (t && t.results && o.isArray(t.results) || console.error("Select2: The AJAX results did not return an array in the `results` key of the response.")),
2283                        r(t)
2284                    }, function() {
2285                        "status"in e && (0 === e.status || "0" === e.status) || i.trigger("results:message", {
2286                            message: "errorLoading"
2287                        })
2288                    });
2289                    i._request = e
2290                }
2291                "function" == typeof t.url && (t.url = t.url.call(this.$element, n)),
2292                "function" == typeof t.data && (t.data = t.data.call(this.$element, n)),
2293                this.ajaxOptions.delay && null != n.term ? (this._queryTimeout && window.clearTimeout(this._queryTimeout),
2294                this._queryTimeout = window.setTimeout(e, this.ajaxOptions.delay)) : e()
2295            }
2296            ,
2297            n
2298        }),
2299        e.define("select2/data/tags", ["jquery"], function(u) {
2300            function e(e, t, n) {
2301                var r = n.get("tags")
2302                  , i = n.get("createTag");
2303                void 0 !== i && (this.createTag = i);
2304                var o = n.get("insertTag");
2305                if (void 0 !== o && (this.insertTag = o),
2306                e.call(this, t, n),
2307                u.isArray(r))
2308                    for (var s = 0; s < r.length; s++) {
2309                        var a = r[s]
2310                          , l = this._normalizeItem(a)
2311                          , c = this.option(l);
2312                        this.$element.append(c)
2313                    }
2314            }
2315            return e.prototype.query = function(e, c, u) {
2316                var d = this;
2317                this._removeOldTags(),
2318                null != c.term && null == c.page ? e.call(this, c, function e(t, n) {
2319                    for (var r = t.results, i = 0; i < r.length; i++) {
2320                        var o = r[i]
2321                          , s = null != o.children && !e({
2322                            results: o.children
2323                        }, !0);
2324                        if ((o.text || "").toUpperCase() === (c.term || "").toUpperCase() || s)
2325                            return !n && (t.data = r,
2326                            void u(t))
2327                    }
2328                    if (n)
2329                        return !0;
2330                    var a = d.createTag(c);
2331                    if (null != a) {
2332                        var l = d.option(a);
2333                        l.attr("data-select2-tag", !0),
2334                        d.addOptions([l]),
2335                        d.insertTag(r, a)
2336                    }
2337                    t.results = r,
2338                    u(t)
2339                }) : e.call(this, c, u)
2340            }
2341            ,
2342            e.prototype.createTag = function(e, t) {
2343                var n = u.trim(t.term);
2344                return "" === n ? null : {
2345                    id: n,
2346                    text: n
2347                }
2348            }
2349            ,
2350            e.prototype.insertTag = function(e, t, n) {
2351                t.unshift(n)
2352            }
2353            ,
2354            e.prototype._removeOldTags = function(e) {
2355                this._lastTag;
2356                this.$element.find("option[data-select2-tag]").each(function() {
2357                    this.selected || u(this).remove()
2358                })
2359            }
2360            ,
2361            e
2362        }),
2363        e.define("select2/data/tokenizer", ["jquery"], function(d) {
2364            function e(e, t, n) {
2365                var r = n.get("tokenizer");
2366                void 0 !== r && (this.tokenizer = r),
2367                e.call(this, t, n)
2368            }
2369            return e.prototype.bind = function(e, t, n) {
2370                e.call(this, t, n),
2371                this.$search = t.dropdown.$search || t.selection.$search || n.find(".select2-search__field")
2372            }
2373            ,
2374            e.prototype.query = function(e, t, n) {
2375                var r = this;
2376                t.term = t.term || "";
2377                var i = this.tokenizer(t, this.options, function(e) {
2378                    var t = r._normalizeItem(e);
2379                    if (!r.$element.find("option").filter(function() {
2380                        return d(this).val() === t.id
2381                    }).length) {
2382                        var n = r.option(t);
2383                        n.attr("data-select2-tag", !0),
2384                        r._removeOldTags(),
2385                        r.addOptions([n])
2386                    }
2387                    !function(e) {
2388                        r.trigger("select", {
2389                            data: e
2390                        })
2391                    }(t)
2392                });
2393                i.term !== t.term && (this.$search.length && (this.$search.val(i.term),
2394                this.$search.trigger("focus")),
2395                t.term = i.term),
2396                e.call(this, t, n)
2397            }
2398            ,
2399            e.prototype.tokenizer = function(e, t, n, r) {
2400                for (var i = n.get("tokenSeparators") || [], o = t.term, s = 0, a = this.createTag || function(e) {
2401                    return {
2402                        id: e.term,
2403                        text: e.term
2404                    }
2405                }
2406                ; s < o.length; ) {
2407                    var l = o[s];
2408                    if (-1 !== d.inArray(l, i)) {
2409                        var c = o.substr(0, s)
2410                          , u = a(d.extend({}, t, {
2411                            term: c
2412                        }));
2413                        null != u ? (r(u),
2414                        o = o.substr(s + 1) || "",
2415                        s = 0) : s++
2416                    } else
2417                        s++
2418                }
2419                return {
2420                    term: o
2421                }
2422            }
2423            ,
2424            e
2425        }),
2426        e.define("select2/data/minimumInputLength", [], function() {
2427            function e(e, t, n) {
2428                this.minimumInputLength = n.get("minimumInputLength"),
2429                e.call(this, t, n)
2430            }
2431            return e.prototype.query = function(e, t, n) {
2432                t.term = t.term || "",
2433                t.term.length < this.minimumInputLength ? this.trigger("results:message", {
2434                    message: "inputTooShort",
2435                    args: {
2436                        minimum: this.minimumInputLength,
2437                        input: t.term,
2438                        params: t
2439                    }
2440                }) : e.call(this, t, n)
2441            }
2442            ,
2443            e
2444        }),
2445        e.define("select2/data/maximumInputLength", [], function() {
2446            function e(e, t, n) {
2447                this.maximumInputLength = n.get("maximumInputLength"),
2448                e.call(this, t, n)
2449            }
2450            return e.prototype.query = function(e, t, n) {
2451                t.term = t.term || "",
2452                0 < this.maximumInputLength && t.term.length > this.maximumInputLength ? this.trigger("results:message", {
2453                    message: "inputTooLong",
2454                    args: {
2455                        maximum: this.maximumInputLength,
2456                        input: t.term,
2457                        params: t
2458                    }
2459                }) : e.call(this, t, n)
2460            }
2461            ,
2462            e
2463        }),
2464        e.define("select2/data/maximumSelectionLength", [], function() {
2465            function e(e, t, n) {
2466                this.maximumSelectionLength = n.get("maximumSelectionLength"),
2467                e.call(this, t, n)
2468            }
2469            return e.prototype.query = function(n, r, i) {
2470                var o = this;
2471                this.current(function(e) {
2472                    var t = null != e ? e.length : 0;
2473                    0 < o.maximumSelectionLength && t >= o.maximumSelectionLength ? o.trigger("results:message", {
2474                        message: "maximumSelected",
2475                        args: {
2476                            maximum: o.maximumSelectionLength
2477                        }
2478                    }) : n.call(o, r, i)
2479                })
2480            }
2481            ,
2482            e
2483        }),
2484        e.define("select2/dropdown", ["jquery", "./utils"], function(t, e) {
2485            function n(e, t) {
2486                this.$element = e,
2487                this.options = t,
2488                n.__super__.constructor.call(this)
2489            }
2490            return e.Extend(n, e.Observable),
2491            n.prototype.render = function() {
2492                var e = t('<span class="select2-dropdown"><span class="select2-results"></span></span>');
2493                return e.attr("dir", this.options.get("dir")),
2494                this.$dropdown = e
2495            }
2496            ,
2497            n.prototype.bind = function() {}
2498            ,
2499            n.prototype.position = function(e, t) {}
2500            ,
2501            n.prototype.destroy = function() {
2502                this.$dropdown.remove()
2503            }
2504            ,
2505            n
2506        }),
2507        e.define("select2/dropdown/search", ["jquery", "../utils"], function(i, e) {
2508            function t() {}
2509            return t.prototype.render = function(e) {
2510                var t = e.call(this)
2511                  , n = i('<span class="select2-search select2-search--dropdown"><input class="select2-search__field" type="search" tabindex="-1" autocomplete="off" autocorrect="off" autocapitalize="none" spellcheck="false" role="textbox" /></span>');
2512                return this.$searchContainer = n,
2513                this.$search = n.find("input"),
2514                t.prepend(n),
2515                t
2516            }
2517            ,
2518            t.prototype.bind = function(e, t, n) {
2519                var r = this;
2520                e.call(this, t, n),
2521                this.$search.on("keydown", function(e) {
2522                    r.trigger("keypress", e),
2523                    r._keyUpPrevented = e.isDefaultPrevented()
2524                }),
2525                this.$search.on("input", function(e) {
2526                    i(this).off("keyup")
2527                }),
2528                this.$search.on("keyup input", function(e) {
2529                    r.handleSearch(e)
2530                }),
2531                t.on("open", function() {
2532                    r.$search.attr("tabindex", 0),
2533                    r.$search.trigger("focus"),
2534                    window.setTimeout(function() {
2535                        r.$search.trigger("focus")
2536                    }, 0)
2537                }),
2538                t.on("close", function() {
2539                    r.$search.attr("tabindex", -1),
2540                    r.$search.val(""),
2541                    r.$search.trigger("blur")
2542                }),
2543                t.on("focus", function() {
2544                    t.isOpen() || r.$search.trigger("focus")
2545                }),
2546                t.on("results:all", function(e) {
2547                    null != e.query.term && "" !== e.query.term || (r.showSearch(e) ? r.$searchContainer.removeClass("select2-search--hide") : r.$searchContainer.addClass("select2-search--hide"))
2548                })
2549            }
2550            ,
2551            t.prototype.handleSearch = function(e) {
2552                if (!this._keyUpPrevented) {
2553                    var t = this.$search.val();
2554                    this.trigger("query", {
2555                        term: t
2556                    })
2557                }
2558                this._keyUpPrevented = !1
2559            }
2560            ,
2561            t.prototype.showSearch = function(e, t) {
2562                return !0
2563            }
2564            ,
2565            t
2566        }),
2567        e.define("select2/dropdown/hidePlaceholder", [], function() {
2568            function e(e, t, n, r) {
2569                this.placeholder = this.normalizePlaceholder(n.get("placeholder")),
2570                e.call(this, t, n, r)
2571            }
2572            return e.prototype.append = function(e, t) {
2573                t.results = this.removePlaceholder(t.results),
2574                e.call(this, t)
2575            }
2576            ,
2577            e.prototype.normalizePlaceholder = function(e, t) {
2578                return "string" == typeof t && (t = {
2579                    id: "",
2580                    text: t
2581                }),
2582                t
2583            }
2584            ,
2585            e.prototype.removePlaceholder = function(e, t) {
2586                for (var n = t.slice(0), r = t.length - 1; 0 <= r; r--) {
2587                    var i = t[r];
2588                    this.placeholder.id === i.id && n.splice(r, 1)
2589                }
2590                return n
2591            }
2592            ,
2593            e
2594        }),
2595        e.define("select2/dropdown/infiniteScroll", ["jquery"], function(n) {
2596            function e(e, t, n, r) {
2597                this.lastParams = {},
2598                e.call(this, t, n, r),
2599                this.$loadingMore = this.createLoadingMore(),
2600                this.loading = !1
2601            }
2602            return e.prototype.append = function(e, t) {
2603                this.$loadingMore.remove(),
2604                this.loading = !1,
2605                e.call(this, t),
2606                this.showLoadingMore(t) && (this.$results.append(this.$loadingMore),
2607                this.loadMoreIfNeeded())
2608            }
2609            ,
2610            e.prototype.bind = function(e, t, n) {
2611                var r = this;
2612                e.call(this, t, n),
2613                t.on("query", function(e) {
2614                    r.lastParams = e,
2615                    r.loading = !0
2616                }),
2617                t.on("query:append", function(e) {
2618                    r.lastParams = e,
2619                    r.loading = !0
2620                }),
2621                this.$results.on("scroll", this.loadMoreIfNeeded.bind(this))
2622            }
2623            ,
2624            e.prototype.loadMoreIfNeeded = function() {
2625                var e = n.contains(document.documentElement, this.$loadingMore[0]);
2626                if (!this.loading && e) {
2627                    var t = this.$results.offset().top + this.$results.outerHeight(!1);
2628                    this.$loadingMore.offset().top + this.$loadingMore.outerHeight(!1) <= t + 50 && this.loadMore()
2629                }
2630            }
2631            ,
2632            e.prototype.loadMore = function() {
2633                this.loading = !0;
2634                var e = n.extend({}, {
2635                    page: 1
2636                }, this.lastParams);
2637                e.page++,
2638                this.trigger("query:append", e)
2639            }
2640            ,
2641            e.prototype.showLoadingMore = function(e, t) {
2642                return t.pagination && t.pagination.more
2643            }
2644            ,
2645            e.prototype.createLoadingMore = function() {
2646                var e = n('<li class="select2-results__option select2-results__option--load-more"role="treeitem" aria-disabled="true"></li>')
2647                  , t = this.options.get("translations").get("loadingMore");
2648                return e.html(t(this.lastParams)),
2649                e
2650            }
2651            ,
2652            e
2653        }),
2654        e.define("select2/dropdown/attachBody", ["jquery", "../utils"], function(f, a) {
2655            function e(e, t, n) {
2656                this.$dropdownParent = n.get("dropdownParent") || f(document.body),
2657                e.call(this, t, n)
2658            }
2659            return e.prototype.bind = function(e, t, n) {
2660                var r = this
2661                  , i = !1;
2662                e.call(this, t, n),
2663                t.on("open", function() {
2664                    r._showDropdown(),
2665                    r._attachPositioningHandler(t),
2666                    i || (i = !0,
2667                    t.on("results:all", function() {
2668                        r._positionDropdown(),
2669                        r._resizeDropdown()
2670                    }),
2671                    t.on("results:append", function() {
2672                        r._positionDropdown(),
2673                        r._resizeDropdown()
2674                    }))
2675                }),
2676                t.on("close", function() {
2677                    r._hideDropdown(),
2678                    r._detachPositioningHandler(t)
2679                }),
2680                this.$dropdownContainer.on("mousedown", function(e) {
2681                    e.stopPropagation()
2682                })
2683            }
2684            ,
2685            e.prototype.destroy = function(e) {
2686                e.call(this),
2687                this.$dropdownContainer.remove()
2688            }
2689            ,
2690            e.prototype.position = function(e, t, n) {
2691                t.attr("class", n.attr("class")),
2692                t.removeClass("select2"),
2693                t.addClass("select2-container--open"),
2694                t.css({
2695                    position: "absolute",
2696                    top: -999999
2697                }),
2698                this.$container = n
2699            }
2700            ,
2701            e.prototype.render = function(e) {
2702                var t = f("<span></span>")
2703                  , n = e.call(this);
2704                return t.append(n),
2705                this.$dropdownContainer = t
2706            }
2707            ,
2708            e.prototype._hideDropdown = function(e) {
2709                this.$dropdownContainer.detach()
2710            }
2711            ,
2712            e.prototype._attachPositioningHandler = function(e, t) {
2713                var n = this
2714                  , r = "scroll.select2." + t.id
2715                  , i = "resize.select2." + t.id
2716                  , o = "orientationchange.select2." + t.id
2717                  , s = this.$container.parents().filter(a.hasScroll);
2718                s.each(function() {
2719                    a.StoreData(this, "select2-scroll-position", {
2720                        x: f(this).scrollLeft(),
2721                        y: f(this).scrollTop()
2722                    })
2723                }),
2724                s.on(r, function(e) {
2725                    var t = a.GetData(this, "select2-scroll-position");
2726                    f(this).scrollTop(t.y)
2727       
vendor: 8,314 bytes, lines 2727-2905
2727         }),
2728                f(window).on(r + " " + i + " " + o, function(e) {
2729                    n._positionDropdown(),
2730                    n._resizeDropdown()
2731                })
2732            }
2733            ,
2734            e.prototype._detachPositioningHandler = function(e, t) {
2735                var n = "scroll.select2." + t.id
2736                  , r = "resize.select2." + t.id
2737                  , i = "orientationchange.select2." + t.id;
2738                this.$container.parents().filter(a.hasScroll).off(n),
2739                f(window).off(n + " " + r + " " + i)
2740            }
2741            ,
2742            e.prototype._positionDropdown = function() {
2743                var e = f(window)
2744                  , t = this.$dropdown.hasClass("select2-dropdown--above")
2745                  , n = this.$dropdown.hasClass("select2-dropdown--below")
2746                  , r = null
2747                  , i = this.$container.offset();
2748                i.bottom = i.top + this.$container.outerHeight(!1);
2749                var o = {
2750                    height: this.$container.outerHeight(!1)
2751                };
2752                o.top = i.top,
2753                o.bottom = i.top + o.height;
2754                var s = this.$dropdown.outerHeight(!1)
2755                  , a = e.scrollTop()
2756                  , l = e.scrollTop() + e.height()
2757                  , c = a < i.top - s
2758                  , u = l > i.bottom + s
2759                  , d = {
2760                    left: i.left,
2761                    top: o.bottom
2762                }
2763                  , p = this.$dropdownParent;
2764                "static" === p.css("position") && (p = p.offsetParent());
2765                var h = p.offset();
2766                d.top -= h.top,
2767                d.left -= h.left,
2768                t || n || (r = "below"),
2769                u || !c || t ? !c && u && t && (r = "below") : r = "above",
2770                ("above" == r || t && "below" !== r) && (d.top = o.top - h.top - s),
2771                null != r && (this.$dropdown.removeClass("select2-dropdown--below select2-dropdown--above").addClass("select2-dropdown--" + r),
2772                this.$container.removeClass("select2-container--below select2-container--above").addClass("select2-container--" + r)),
2773                this.$dropdownContainer.css(d)
2774            }
2775            ,
2776            e.prototype._resizeDropdown = function() {
2777                var e = {
2778                    width: this.$container.outerWidth(!1) + "px"
2779                };
2780                this.options.get("dropdownAutoWidth") && (e.minWidth = e.width,
2781                e.position = "relative",
2782                e.width = "auto"),
2783                this.$dropdown.css(e)
2784            }
2785            ,
2786            e.prototype._showDropdown = function(e) {
2787                this.$dropdownContainer.appendTo(this.$dropdownParent),
2788                this._positionDropdown(),
2789                this._resizeDropdown()
2790            }
2791            ,
2792            e
2793        }),
2794        e.define("select2/dropdown/minimumResultsForSearch", [], function() {
2795            function e(e, t, n, r) {
2796                this.minimumResultsForSearch = n.get("minimumResultsForSearch"),
2797                this.minimumResultsForSearch < 0 && (this.minimumResultsForSearch = 1 / 0),
2798                e.call(this, t, n, r)
2799            }
2800            return e.prototype.showSearch = function(e, t) {
2801                return !(function e(t) {
2802                    for (var n = 0, r = 0; r < t.length; r++) {
2803                        var i = t[r];
2804                        i.children ? n += e(i.children) : n++
2805                    }
2806                    return n
2807                }(t.data.results) < this.minimumResultsForSearch) && e.call(this, t)
2808            }
2809            ,
2810            e
2811        }),
2812        e.define("select2/dropdown/selectOnClose", ["../utils"], function(o) {
2813            function e() {}
2814            return e.prototype.bind = function(e, t, n) {
2815                var r = this;
2816                e.call(this, t, n),
2817                t.on("close", function(e) {
2818                    r._handleSelectOnClose(e)
2819                })
2820            }
2821            ,
2822            e.prototype._handleSelectOnClose = function(e, t) {
2823                if (t && null != t.originalSelect2Event) {
2824                    var n = t.originalSelect2Event;
2825                    if ("select" === n._type || "unselect" === n._type)
2826                        return
2827                }
2828                var r = this.getHighlightedResults();
2829                if (!(r.length < 1)) {
2830                    var i = o.GetData(r[0], "data");
2831                    null != i.element && i.element.selected || null == i.element && i.selected || this.trigger("select", {
2832                        data: i
2833                    })
2834                }
2835            }
2836            ,
2837            e
2838        }),
2839        e.define("select2/dropdown/closeOnSelect", [], function() {
2840            function e() {}
2841            return e.prototype.bind = function(e, t, n) {
2842                var r = this;
2843                e.call(this, t, n),
2844                t.on("select", function(e) {
2845                    r._selectTriggered(e)
2846                }),
2847                t.on("unselect", function(e) {
2848                    r._selectTriggered(e)
2849                })
2850            }
2851            ,
2852            e.prototype._selectTriggered = function(e, t) {
2853                var n = t.originalEvent;
2854                n && (n.ctrlKey || n.metaKey) || this.trigger("close", {
2855                    originalEvent: n,
2856                    originalSelect2Event: t
2857                })
2858            }
2859            ,
2860            e
2861        }),
2862        e.define("select2/i18n/en", [], function() {
2863            return {
2864                errorLoading: function() {
2865                    return "The results could not be loaded."
2866                },
2867                inputTooLong: function(e) {
2868                    var t = e.input.length - e.maximum
2869                      , n = "Please delete " + t + " character";
2870                    return 1 != t && (n += "s"),
2871                    n
2872                },
2873                inputTooShort: function(e) {
2874                    return "Please enter " + (e.minimum - e.input.length) + " or more characters"
2875                },
2876                loadingMore: function() {
2877                    return "Loading more results…"
2878                },
2879                maximumSelected: function(e) {
2880                    var t = "You can only select " + e.maximum + " item";
2881                    return 1 != e.maximum && (t += "s"),
2882                    t
2883                },
2884                noResults: function() {
2885                    return "No results found"
2886                },
2887                searching: function() {
2888                    return "Searching…"
2889                },
2890                removeAllItems: function() {
2891                    return "Remove all items"
2892                }
2893            }
2894        }),
2895        e.define("select2/defaults", ["jquery", "require", "./results", "./selection/single", "./selection/multiple", "./selection/placeholder", "./selection/allowClear", "./selection/search", "./selection/eventRelay", "./utils", "./translation", "./diacritics", "./data/select", "./data/array", "./data/ajax", "./data/tags", "./data/tokenizer", "./data/minimumInputLength", "./data/maximumInputLength", "./data/maximumSelectionLength", "./dropdown", "./dropdown/search", "./dropdown/hidePlaceholder", "./dropdown/infiniteScroll", "./dropdown/attachBody", "./dropdown/minimumResultsForSearch", "./dropdown/selectOnClose", "./dropdown/closeOnSelect", "./i18n/en"], function(f, g, m, v, y, _, $, w, b, A, x, t, D, S, E, C, O, T, q, L, j, I, P, k, R, U, M, z, e) {
2896            function n() {
2897                this.reset()
2898            }
2899            return n.prototype.apply = function(t) {
2900                if (null == (t = f.extend(!0, {}, this.defaults, t)).dataAdapter) {
2901                    if (null != t.ajax ? t.dataAdapter = E : null != t.data ? t.dataAdapter = S : t.dataAdapter = D,
2902                    0 < t.minimumInputLength && (t.dataAdapter = A.Decorate(t.dataAdapter, T)),
2903                    0 < t.maximumInputLength && (t.dataAdapter = A.Decorate(t.dataAdapter, q)),
2904                    0 < t.maximumSelectionLength && (t.dataAdapter = A.Decorate(t.dataAdapter, L)),
2905                    t.tags && (t.dataAdapter = A.Decorate(t.dataAdapter, C
vendor: 4,189 bytes, lines 2905-2982
2905)),
2906                    null == t.tokenSeparators && null == t.tokenizer || (t.dataAdapter = A.Decorate(t.dataAdapter, O)),
2907                    null != t.query) {
2908                        var e = g(t.amdBase + "compat/query");
2909                        t.dataAdapter = A.Decorate(t.dataAdapter, e)
2910                    }
2911                    if (null != t.initSelection) {
2912                        var n = g(t.amdBase + "compat/initSelection");
2913                        t.dataAdapter = A.Decorate(t.dataAdapter, n)
2914                    }
2915                }
2916                if (null == t.resultsAdapter && (t.resultsAdapter = m,
2917                null != t.ajax && (t.resultsAdapter = A.Decorate(t.resultsAdapter, k)),
2918                null != t.placeholder && (t.resultsAdapter = A.Decorate(t.resultsAdapter, P)),
2919                t.selectOnClose && (t.resultsAdapter = A.Decorate(t.resultsAdapter, M))),
2920                null == t.dropdownAdapter) {
2921                    if (t.multiple)
2922                        t.dropdownAdapter = j;
2923                    else {
2924                        var r = A.Decorate(j, I);
2925                        t.dropdownAdapter = r
2926                    }
2927                    if (0 !== t.minimumResultsForSearch && (t.dropdownAdapter = A.Decorate(t.dropdownAdapter, U)),
2928                    t.closeOnSelect && (t.dropdownAdapter = A.Decorate(t.dropdownAdapter, z)),
2929                    null != t.dropdownCssClass || null != t.dropdownCss || null != t.adaptDropdownCssClass) {
2930                        var i = g(t.amdBase + "compat/dropdownCss");
2931                        t.dropdownAdapter = A.Decorate(t.dropdownAdapter, i)
2932                    }
2933                    t.dropdownAdapter = A.Decorate(t.dropdownAdapter, R)
2934                }
2935                if (null == t.selectionAdapter) {
2936                    if (t.multiple ? t.selectionAdapter = y : t.selectionAdapter = v,
2937                    null != t.placeholder && (t.selectionAdapter = A.Decorate(t.selectionAdapter, _)),
2938                    t.allowClear && (t.selectionAdapter = A.Decorate(t.selectionAdapter, $)),
2939                    t.multiple && (t.selectionAdapter = A.Decorate(t.selectionAdapter, w)),
2940                    null != t.containerCssClass || null != t.containerCss || null != t.adaptContainerCssClass) {
2941                        var o = g(t.amdBase + "compat/containerCss");
2942                        t.selectionAdapter = A.Decorate(t.selectionAdapter, o)
2943                    }
2944                    t.selectionAdapter = A.Decorate(t.selectionAdapter, b)
2945                }
2946                if ("string" == typeof t.language)
2947                    if (0 < t.language.indexOf("-")) {
2948                        var s = t.language.split("-")[0];
2949                        t.language = [t.language, s]
2950                    } else
2951                        t.language = [t.language];
2952                if (f.isArray(t.language)) {
2953                    var a = new x;
2954                    t.language.push("en");
2955                    for (var l = t.language, c = 0; c < l.length; c++) {
2956                        var u = l[c]
2957                          , d = {};
2958                        try {
2959                            d = x.loadPath(u)
2960                        } catch (e) {
2961                            try {
2962                                u = this.defaults.amdLanguageBase + u,
2963                                d = x.loadPath(u)
2964                            } catch (e) {
2965                                t.debug && window.console && console.warn && console.warn('Select2: The language file for "' + u + '" could not be automatically loaded. A fallback will be used instead.');
2966                                continue
2967                            }
2968                        }
2969                        a.extend(d)
2970                    }
2971                    t.translations = a
2972                } else {
2973                    var p = x.loadPath(this.defaults.amdLanguageBase + "en")
2974                      , h = new x(t.language);
2975                    h.extend(p),
2976                    t.translations = h
2977                }
2978                return t
2979            }
2980            ,
2981            n.prototype.reset = function() {
2982                function a(e) {
vendor: 11,575 bytes, lines 2983-3215
2983                    return e.replace(/[^\u0000-\u007E]/g, function(e) {
2984                        return t[e] || e
2985                    })
2986                }
2987                this.defaults = {
2988                    amdBase: "./",
2989                    amdLanguageBase: "./i18n/",
2990                    closeOnSelect: !0,
2991                    debug: !1,
2992                    dropdownAutoWidth: !1,
2993                    escapeMarkup: A.escapeMarkup,
2994                    language: e,
2995                    matcher: function e(t, n) {
2996                        if ("" === f.trim(t.term))
2997                            return n;
2998                        if (n.children && 0 < n.children.length) {
2999                            for (var r = f.extend(!0, {}, n), i = n.children.length - 1; 0 <= i; i--)
3000                                null == e(t, n.children[i]) && r.children.splice(i, 1);
3001                            return 0 < r.children.length ? r : e(t, r)
3002                        }
3003                        var o = a(n.text).toUpperCase()
3004                          , s = a(t.term).toUpperCase();
3005                        return -1 < o.indexOf(s) ? n : null
3006                    },
3007                    minimumInputLength: 0,
3008                    maximumInputLength: 0,
3009                    maximumSelectionLength: 0,
3010                    minimumResultsForSearch: 0,
3011                    selectOnClose: !1,
3012                    scrollAfterSelect: !1,
3013                    sorter: function(e) {
3014                        return e
3015                    },
3016                    templateResult: function(e) {
3017                        return e.text
3018                    },
3019                    templateSelection: function(e) {
3020                        return e.text
3021                    },
3022                    theme: "default",
3023                    width: "resolve"
3024                }
3025            }
3026            ,
3027            n.prototype.set = function(e, t) {
3028                var n = {};
3029                n[f.camelCase(e)] = t;
3030                var r = A._convertData(n);
3031                f.extend(!0, this.defaults, r)
3032            }
3033            ,
3034            new n
3035        }),
3036        e.define("select2/options", ["require", "jquery", "./defaults", "./utils"], function(r, d, i, p) {
3037            function e(e, t) {
3038                if (this.options = e,
3039                null != t && this.fromElement(t),
3040                this.options = i.apply(this.options),
3041                t && t.is("input")) {
3042                    var n = r(this.get("amdBase") + "compat/inputData");
3043                    this.options.dataAdapter = p.Decorate(this.options.dataAdapter, n)
3044                }
3045            }
3046            return e.prototype.fromElement = function(e) {
3047                var t = ["select2"];
3048                null == this.options.multiple && (this.options.multiple = e.prop("multiple")),
3049                null == this.options.disabled && (this.options.disabled = e.prop("disabled")),
3050                null == this.options.language && (e.prop("lang") ? this.options.language = e.prop("lang").toLowerCase() : e.closest("[lang]").prop("lang") && (this.options.language = e.closest("[lang]").prop("lang"))),
3051                null == this.options.dir && (e.prop("dir") ? this.options.dir = e.prop("dir") : e.closest("[dir]").prop("dir") ? this.options.dir = e.closest("[dir]").prop("dir") : this.options.dir = "ltr"),
3052                e.prop("disabled", this.options.disabled),
3053                e.prop("multiple", this.options.multiple),
3054                p.GetData(e[0], "select2Tags") && (this.options.debug && window.console && console.warn && console.warn('Select2: The `data-select2-tags` attribute has been changed to use the `data-data` and `data-tags="true"` attributes and will be removed in future versions of Select2.'),
3055                p.StoreData(e[0], "data", p.GetData(e[0], "select2Tags")),
3056                p.StoreData(e[0], "tags", !0)),
3057                p.GetData(e[0], "ajaxUrl") && (this.options.debug && window.console && console.warn && console.warn("Select2: The `data-ajax-url` attribute has been changed to `data-ajax--url` and support for the old attribute will be removed in future versions of Select2."),
3058                e.attr("ajax--url", p.GetData(e[0], "ajaxUrl")),
3059                p.StoreData(e[0], "ajax-Url", p.GetData(e[0], "ajaxUrl")));
3060                var n = {};
3061                function r(e, t) {
3062                    return t.toUpperCase()
3063                }
3064                for (var i = 0; i < e[0].attributes.length; i++) {
3065                    var o = e[0].attributes[i].name
3066                      , s = "data-";
3067                    if (o.substr(0, s.length) == s) {
3068                        var a = o.substring(s.length)
3069                          , l = p.GetData(e[0], a);
3070                        n[a.replace(/-([a-z])/g, r)] = l
3071                    }
3072                }
3073                d.fn.jquery && "1." == d.fn.jquery.substr(0, 2) && e[0].dataset && (n = d.extend(!0, {}, e[0].dataset, n));
3074                var c = d.extend(!0, {}, p.GetData(e[0]), n);
3075                for (var u in c = p._convertData(c))
3076                    -1 < d.inArray(u, t) || (d.isPlainObject(this.options[u]) ? d.extend(this.options[u], c[u]) : this.options[u] = c[u]);
3077                return this
3078            }
3079            ,
3080            e.prototype.get = function(e) {
3081                return this.options[e]
3082            }
3083            ,
3084            e.prototype.set = function(e, t) {
3085                this.options[e] = t
3086            }
3087            ,
3088            e
3089        }),
3090        e.define("select2/core", ["jquery", "./options", "./utils", "./keys"], function(i, c, u, r) {
3091            var d = function(e, t) {
3092                null != u.GetData(e[0], "select2") && u.GetData(e[0], "select2").destroy(),
3093                this.$element = e,
3094                this.id = this._generateId(e),
3095                t = t || {},
3096                this.options = new c(t,e),
3097                d.__super__.constructor.call(this);
3098                var n = e.attr("tabindex") || 0;
3099                u.StoreData(e[0], "old-tabindex", n),
3100                e.attr("tabindex", "-1");
3101                var r = this.options.get("dataAdapter");
3102                this.dataAdapter = new r(e,this.options);
3103                var i = this.render();
3104                this._placeContainer(i);
3105                var o = this.options.get("selectionAdapter");
3106                this.selection = new o(e,this.options),
3107                this.$selection = this.selection.render(),
3108                this.selection.position(this.$selection, i);
3109                var s = this.options.get("dropdownAdapter");
3110                this.dropdown = new s(e,this.options),
3111                this.$dropdown = this.dropdown.render(),
3112                this.dropdown.position(this.$dropdown, i);
3113                var a = this.options.get("resultsAdapter");
3114                this.results = new a(e,this.options,this.dataAdapter),
3115                this.$results = this.results.render(),
3116                this.results.position(this.$results, this.$dropdown);
3117                var l = this;
3118                this._bindAdapters(),
3119                this._registerDomEvents(),
3120                this._registerDataEvents(),
3121                this._registerSelectionEvents(),
3122                this._registerDropdownEvents(),
3123                this._registerResultsEvents(),
3124                this._registerEvents(),
3125                this.dataAdapter.current(function(e) {
3126                    l.trigger("selection:update", {
3127                        data: e
3128                    })
3129                }),
3130                e.addClass("select2-hidden-accessible"),
3131                e.attr("aria-hidden", "true"),
3132                this._syncAttributes(),
3133                u.StoreData(e[0], "select2", this),
3134                e.data("select2", this)
3135            };
3136            return u.Extend(d, u.Observable),
3137            d.prototype._generateId = function(e) {
3138                return "select2-" + (null != e.attr("id") ? e.attr("id") : null != e.attr("name") ? e.attr("name") + "-" + u.generateChars(2) : u.generateChars(4)).replace(/(:|\.|\[|\]|,)/g, "")
3139            }
3140            ,
3141            d.prototype._placeContainer = function(e) {
3142                e.insertAfter(this.$element);
3143                var t = this._resolveWidth(this.$element, this.options.get("width"));
3144                null != t && e.css("width", t)
3145            }
3146            ,
3147            d.prototype._resolveWidth = function(e, t) {
3148                var n = /^width:(([-+]?([0-9]*\.)?[0-9]+)(px|em|ex|%|in|cm|mm|pt|pc))/i;
3149                if ("resolve" == t) {
3150                    var r = this._resolveWidth(e, "style");
3151                    return null != r ? r : this._resolveWidth(e, "element")
3152                }
3153                if ("element" == t) {
3154                    var i = e.outerWidth(!1);
3155                    return i <= 0 ? "auto" : i + "px"
3156                }
3157                if ("style" != t)
3158                    return "computedstyle" != t ? t : window.getComputedStyle(e[0]).width;
3159                var o = e.attr("style");
3160                if ("string" != typeof o)
3161                    return null;
3162                for (var s = o.split(";"), a = 0, l = s.length; a < l; a += 1) {
3163                    var c = s[a].replace(/\s/g, "").match(n);
3164                    if (null !== c && 1 <= c.length)
3165                        return c[1]
3166                }
3167                return null
3168            }
3169            ,
3170            d.prototype._bindAdapters = function() {
3171                this.dataAdapter.bind(this, this.$container),
3172                this.selection.bind(this, this.$container),
3173                this.dropdown.bind(this, this.$container),
3174                this.results.bind(this, this.$container)
3175            }
3176            ,
3177            d.prototype._registerDomEvents = function() {
3178                var t = this;
3179                this.$element.on("change.select2", function() {
3180                    t.dataAdapter.current(function(e) {
3181                        t.trigger("selection:update", {
3182                            data: e
3183                        })
3184                    })
3185                }),
3186                this.$element.on("focus.select2", function(e) {
3187                    t.trigger("focus", e)
3188                }),
3189                this._syncA = u.bind(this._syncAttributes, this),
3190                this._syncS = u.bind(this._syncSubtree, this),
3191                this.$element[0].attachEvent && this.$element[0].attachEvent("onpropertychange", this._syncA);
3192                var e = window.MutationObserver || window.WebKitMutationObserver || window.MozMutationObserver;
3193                null != e ? (this._observer = new e(function(e) {
3194                    i.each(e, t._syncA),
3195                    i.each(e, t._syncS)
3196                }
3197                ),
3198                this._observer.observe(this.$element[0], {
3199                    attributes: !0,
3200                    childList: !0,
3201                    subtree: !1
3202                })) : this.$element[0].addEventListener && (this.$element[0].addEventListener("DOMAttrModified", t._syncA, !1),
3203                this.$element[0].addEventListener("DOMNodeInserted", t._syncS, !1),
3204                this.$element[0].addEventListener("DOMNodeRemoved", t._syncS, !1))
3205            }
3206            ,
3207            d.prototype._registerDataEvents = function() {
3208                var n = this;
3209                this.dataAdapter.on("*", function(e, t) {
3210                    n.trigger(e, t)
3211                })
3212            }
3213            ,
3214            d.prototype._registerSelectionEvents = function() {
3215                var n = this
vendor: 5,896 bytes, lines 3216-3358
3216                  , r = ["toggle", "focus"];
3217                this.selection.on("toggle", function() {
3218                    n.toggleDropdown()
3219                }),
3220                this.selection.on("focus", function(e) {
3221                    n.focus(e)
3222                }),
3223                this.selection.on("*", function(e, t) {
3224                    -1 === i.inArray(e, r) && n.trigger(e, t)
3225                })
3226            }
3227            ,
3228            d.prototype._registerDropdownEvents = function() {
3229                var n = this;
3230                this.dropdown.on("*", function(e, t) {
3231                    n.trigger(e, t)
3232                })
3233            }
3234            ,
3235            d.prototype._registerResultsEvents = function() {
3236                var n = this;
3237                this.results.on("*", function(e, t) {
3238                    n.trigger(e, t)
3239                })
3240            }
3241            ,
3242            d.prototype._registerEvents = function() {
3243                var n = this;
3244                this.on("open", function() {
3245                    n.$container.addClass("select2-container--open")
3246                }),
3247                this.on("close", function() {
3248                    n.$container.removeClass("select2-container--open")
3249                }),
3250                this.on("enable", function() {
3251                    n.$container.removeClass("select2-container--disabled")
3252                }),
3253                this.on("disable", function() {
3254                    n.$container.addClass("select2-container--disabled")
3255                }),
3256                this.on("blur", function() {
3257                    n.$container.removeClass("select2-container--focus")
3258                }),
3259                this.on("query", function(t) {
3260                    n.isOpen() || n.trigger("open", {}),
3261                    this.dataAdapter.query(t, function(e) {
3262                        n.trigger("results:all", {
3263                            data: e,
3264                            query: t
3265                        })
3266                    })
3267                }),
3268                this.on("query:append", function(t) {
3269                    this.dataAdapter.query(t, function(e) {
3270                        n.trigger("results:append", {
3271                            data: e,
3272                            query: t
3273                        })
3274                    })
3275                }),
3276                this.on("keypress", function(e) {
3277                    var t = e.which;
3278                    n.isOpen() ? t === r.ESC || t === r.TAB || t === r.UP && e.altKey ? (n.close(),
3279                    e.preventDefault()) : t === r.ENTER ? (n.trigger("results:select", {}),
3280                    e.preventDefault()) : t === r.SPACE && e.ctrlKey ? (n.trigger("results:toggle", {}),
3281                    e.preventDefault()) : t === r.UP ? (n.trigger("results:previous", {}),
3282                    e.preventDefault()) : t === r.DOWN && (n.trigger("results:next", {}),
3283                    e.preventDefault()) : (t === r.ENTER || t === r.SPACE || t === r.DOWN && e.altKey) && (n.open(),
3284                    e.preventDefault())
3285                })
3286            }
3287            ,
3288            d.prototype._syncAttributes = function() {
3289                this.options.set("disabled", this.$element.prop("disabled")),
3290                this.options.get("disabled") ? (this.isOpen() && this.close(),
3291                this.trigger("disable", {})) : this.trigger("enable", {})
3292            }
3293            ,
3294            d.prototype._syncSubtree = function(e, t) {
3295                var n = !1
3296                  , r = this;
3297                if (!e || !e.target || "OPTION" === e.target.nodeName || "OPTGROUP" === e.target.nodeName) {
3298                    if (t)
3299                        if (t.addedNodes && 0 < t.addedNodes.length)
3300                            for (var i = 0; i < t.addedNodes.length; i++) {
3301                                t.addedNodes[i].selected && (n = !0)
3302                            }
3303                        else
3304                            t.removedNodes && 0 < t.removedNodes.length && (n = !0);
3305                    else
3306                        n = !0;
3307                    n && this.dataAdapter.current(function(e) {
3308                        r.trigger("selection:update", {
3309                            data: e
3310                        })
3311                    })
3312                }
3313            }
3314            ,
3315            d.prototype.trigger = function(e, t) {
3316                var n = d.__super__.trigger
3317                  , r = {
3318                    open: "opening",
3319                    close: "closing",
3320                    select: "selecting",
3321                    unselect: "unselecting",
3322                    clear: "clearing"
3323                };
3324                if (void 0 === t && (t = {}),
3325                e in r) {
3326                    var i = r[e]
3327                      , o = {
3328                        prevented: !1,
3329                        name: e,
3330                        args: t
3331                    };
3332                    if (n.call(this, i, o),
3333                    o.prevented)
3334                        return void (t.prevented = !0)
3335                }
3336                n.call(this, e, t)
3337            }
3338            ,
3339            d.prototype.toggleDropdown = function() {
3340                this.options.get("disabled") || (this.isOpen() ? this.close() : this.open())
3341            }
3342            ,
3343            d.prototype.open = function() {
3344                this.isOpen() || this.trigger("query", {})
3345            }
3346            ,
3347            d.prototype.close = function() {
3348                this.isOpen() && this.trigger("close", {})
3349            }
3350            ,
3351            d.prototype.isOpen = function() {
3352                return this.$container.hasClass("select2-container--open")
3353            }
3354            ,
3355            d.prototype.hasFocus = function() {
3356                return this.$container.hasClass("select2-container--focus")
3357            }
3358            ,
vendor: 4,895 bytes, lines 3359-3447
3359            d.prototype.focus = function(e) {
3360                this.hasFocus() || (this.$container.addClass("select2-container--focus"),
3361                this.trigger("focus", {}))
3362            }
3363            ,
3364            d.prototype.enable = function(e) {
3365                this.options.get("debug") && window.console && console.warn && console.warn('Select2: The `select2("enable")` method has been deprecated and will be removed in later Select2 versions. Use $element.prop("disabled") instead.'),
3366                null != e && 0 !== e.length || (e = [!0]);
3367                var t = !e[0];
3368                this.$element.prop("disabled", t)
3369            }
3370            ,
3371            d.prototype.data = function() {
3372                this.options.get("debug") && 0 < arguments.length && window.console && console.warn && console.warn('Select2: Data can no longer be set using `select2("data")`. You should consider setting the value instead using `$element.val()`.');
3373                var t = [];
3374                return this.dataAdapter.current(function(e) {
3375                    t = e
3376                }),
3377                t
3378            }
3379            ,
3380            d.prototype.val = function(e) {
3381                if (this.options.get("debug") && window.console && console.warn && console.warn('Select2: The `select2("val")` method has been deprecated and will be removed in later Select2 versions. Use $element.val() instead.'),
3382                null == e || 0 === e.length)
3383                    return this.$element.val();
3384                var t = e[0];
3385                i.isArray(t) && (t = i.map(t, function(e) {
3386                    return e.toString()
3387                })),
3388                this.$element.val(t).trigger("change")
3389            }
3390            ,
3391            d.prototype.destroy = function() {
3392                this.$container.remove(),
3393                this.$element[0].detachEvent && this.$element[0].detachEvent("onpropertychange", this._syncA),
3394                null != this._observer ? (this._observer.disconnect(),
3395                this._observer = null) : this.$element[0].removeEventListener && (this.$element[0].removeEventListener("DOMAttrModified", this._syncA, !1),
3396                this.$element[0].removeEventListener("DOMNodeInserted", this._syncS, !1),
3397                this.$element[0].removeEventListener("DOMNodeRemoved", this._syncS, !1)),
3398                this._syncA = null,
3399                this._syncS = null,
3400                this.$element.off(".select2"),
3401                this.$element.attr("tabindex", u.GetData(this.$element[0], "old-tabindex")),
3402                this.$element.removeClass("select2-hidden-accessible"),
3403                this.$element.attr("aria-hidden", "false"),
3404                u.RemoveData(this.$element[0]),
3405                this.$element.removeData("select2"),
3406                this.dataAdapter.destroy(),
3407                this.selection.destroy(),
3408                this.dropdown.destroy(),
3409                this.results.destroy(),
3410                this.dataAdapter = null,
3411                this.selection = null,
3412                this.dropdown = null,
3413                this.results = null
3414            }
3415            ,
3416            d.prototype.render = function() {
3417                var e = i('<span class="select2 select2-container"><span class="selection"></span><span class="dropdown-wrapper" aria-hidden="true"></span></span>');
3418                return e.attr("dir", this.options.get("dir")),
3419                this.$container = e,
3420                this.$container.addClass("select2-container--" + this.options.get("theme")),
3421                u.StoreData(e[0], "element", this.$element),
3422                e
3423            }
3424            ,
3425            d
3426        }),
3427        e.define("jquery-mousewheel", ["jquery"], function(e) {
3428            return e
3429        }),
3430        e.define("jquery.select2", ["jquery", "jquery-mousewheel", "./select2/core", "./select2/defaults", "./select2/utils"], function(i, e, o, t, s) {
3431            if (null == i.fn.select2) {
3432                var a = ["open", "close", "destroy"];
3433                i.fn.select2 = function(t) {
3434                    if ("object" == typeof (t = t || {}))
3435                        return this.each(function() {
3436                            var e = i.extend(!0, {}, t);
3437                            new o(i(this),e)
3438                        }),
3439                        this;
3440                    if ("string" != typeof t)
3441                        throw new Error("Invalid arguments for Select2: " + t);
3442                    var n, r = Array.prototype.slice.call(arguments, 1);
3443                    return this.each(function() {
3444                        var e = s.GetData(this, "select2");
3445                        null == e && window.console && console.error && console.error("The select2('" + t + "') method was called on an element that is not using Select2."),
3446                        n = e[t].apply(e, r)
3447                    }),
3448                    -1 < i.inArray(t, a) ? this : n
3449                }
3450            }
3451            return null == i.fn.select2.defaults && (i.fn.select2.defaults = t),
3452            o
3453        }),
3454        {
3455            define: e.define,
3456            require: e.require
3457        }
3458    }()
3459      , t = e.require("jquery.select2");
3460    return u.fn.select2.amd = e,
3461    t
3462});

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.