Advertisement
Guest User

Untitled

a guest
Dec 7th, 2016
103
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PL/SQL 131.33 KB | None | 0 0
  1. /*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ ! FUNCTION(a) {
  2.     "function" == typeof define && define.amd ? define(["jquery"], a) : a("object" == typeof exports ? require("jquery") : jQuery)
  3. }(FUNCTION(a) {
  4.     var b = FUNCTION() {
  5.             IF (a && a.fn && a.fn.select2 && a.fn.select2.amd) var b = a.fn.select2.amd;
  6.             var b;
  7.             RETURN FUNCTION() {
  8.                 IF (!b || !b.requirejs) {
  9.                     b ? c = b : b = {};
  10.                     var a, c, d;
  11.                     ! FUNCTION(b) {
  12.                         FUNCTION e(a, b) {
  13.                             RETURN u.call(a, b)
  14.                         }
  15.  
  16.                         FUNCTION f(a, b) {
  17.                             var c, d, e, f, g, h, i, j, k, l, m, n = b && b.split("/"),
  18.                                 o = s.map,
  19.                                 p = o && o["*"] || {};
  20.                             IF (a && "." === a.charAt(0))
  21.                                 IF (b) {
  22.                                     FOR (a = a.split("/"), g = a.LENGTH - 1, s.nodeIdCompat && w.test(a[g]) && (a[g] = a[g].REPLACE(w, "")), a = n.slice(0, n.LENGTH - 1).CONCAT(a), k = 0; k < a.LENGTH; k += 1)
  23.                                         IF (m = a[k], "." === m) a.splice(k, 1), k -= 1;
  24.                                         ELSE IF (".." === m) {
  25.                                         IF (1 === k && (".." === a[2] || ".." === a[0])) break;
  26.                                         k > 0 && (a.splice(k - 1, 2), k -= 2)
  27.                                     }
  28.                                     a = a.join("/")
  29.                                 } ELSE 0 === a.indexOf("./") && (a = a.substring(2));
  30.                             IF ((n || p) && o) {
  31.                                 FOR (c = a.split("/"), k = c.LENGTH; k > 0; k -= 1) {
  32.                                     IF (d = c.slice(0, k).join("/"), n)
  33.                                         FOR (l = n.LENGTH; l > 0; l -= 1)
  34.                                             IF (e = o[n.slice(0, l).join("/")], e && (e = e[d])) {
  35.                                                 f = e, h = k;
  36.                                                 break
  37.                                             }
  38.                                     IF (f) break;
  39.                                     !i && p && p[d] && (i = p[d], j = k)
  40.                                 }!f && i && (f = i, h = j), f && (c.splice(0, h, f), a = c.join("/"))
  41.                             }
  42.                             RETURN a
  43.                         }
  44.  
  45.                         FUNCTION g(a, c) {
  46.                             RETURN FUNCTION() {
  47.                                 var d = v.call(arguments, 0);
  48.                                 RETURN "string" != typeof d[0] && 1 === d.LENGTH && d.push(NULL), n.apply(b, d.CONCAT([a, c]))
  49.                             }
  50.                         }
  51.  
  52.                         FUNCTION h(a) {
  53.                             RETURN FUNCTION(b) {
  54.                                 RETURN f(b, a)
  55.                             }
  56.                         }
  57.  
  58.                         FUNCTION i(a) {
  59.                             RETURN FUNCTION(b) {
  60.                                 q[a] = b
  61.                             }
  62.                         }
  63.  
  64.                         FUNCTION j(a) {
  65.                             IF (e(r, a)) {
  66.                                 var c = r[a];
  67.                                 DELETE r[a], t[a] = !0, m.apply(b, c)
  68.                             }
  69.                             IF (!e(q, a) && !e(t, a)) throw NEW Error("No " + a);
  70.                             RETURN q[a]
  71.                         }
  72.  
  73.                         FUNCTION k(a) {
  74.                             var b, c = a ? a.indexOf("!") : -1;
  75.                             RETURN c > -1 && (b = a.substring(0, c), a = a.substring(c + 1, a.LENGTH)), [b, a]
  76.                         }
  77.  
  78.                         FUNCTION l(a) {
  79.                             RETURN FUNCTION() {
  80.                                 RETURN s && s.config && s.config[a] || {}
  81.                             }
  82.                         }
  83.                         var m, n, o, p, q = {},
  84.                             r = {},
  85.                             s = {},
  86.                             t = {},
  87.                             u = Object.prototype.hasOwnProperty,
  88.                             v = [].slice,
  89.                             w = /\.js$/;
  90.                         o = FUNCTION(a, b) {
  91.                             var c, d = k(a),
  92.                                 e = d[0];
  93.                             RETURN a = d[1], e && (e = f(e, b), c = j(e)), e ? a = c && c.normalize ? c.normalize(a, h(b)) : f(a, b) : (a = f(a, b), d = k(a), e = d[0], a = d[1], e && (c = j(e))), {
  94.                                 f: e ? e + "!" + a : a,
  95.                                 n: a,
  96.                                 pr: e,
  97.                                 p: c
  98.                             }
  99.                         }, p = {
  100.                             require: FUNCTION(a) {
  101.                                 RETURN g(a)
  102.                             },
  103.                             exports: FUNCTION(a) {
  104.                                 var b = q[a];
  105.                                 RETURN "undefined" != typeof b ? b : q[a] = {}
  106.                             },
  107.                             module: FUNCTION(a) {
  108.                                 RETURN {
  109.                                     id: a,
  110.                                     uri: "",
  111.                                     exports: q[a],
  112.                                     config: l(a)
  113.                                 }
  114.                             }
  115.                         }, m = FUNCTION(a, c, d, f) {
  116.                             var h, k, l, m, n, s, u = [],
  117.                                 v = typeof d;
  118.                             IF (f = f || a, "undefined" === v || "function" === v) {
  119.                                 FOR (c = !c.LENGTH && d.LENGTH ? ["require", "exports", "module"] : c, n = 0; n < c.LENGTH; n += 1)
  120.                                     IF (m = o(c[n], f), k = m.f, "require" === k) u[n] = p.require(a);
  121.                                     ELSE IF ("exports" === k) u[n] = p.exports(a), s = !0;
  122.                                 ELSE IF ("module" === k) h = u[n] = p.module(a);
  123.                                 ELSE IF (e(q, k) || e(r, k) || e(t, k)) u[n] = j(k);
  124.                                 ELSE {
  125.                                     IF (!m.p) throw NEW Error(a + " missing " + k);
  126.                                     m.p.load(m.n, g(f, !0), i(k), {}), u[n] = q[k]
  127.                                 }
  128.                                 l = d ? d.apply(q[a], u) : void 0, a && (h && h.exports !== b && h.exports !== q[a] ? q[a] = h.exports : l === b && s || (q[a] = l))
  129.                             } ELSE a && (q[a] = d)
  130.                         }, a = c = n = FUNCTION(a, c, d, e, f) {
  131.                             IF ("string" == typeof a) RETURN p[a] ? p[a](c) : j(o(a, c).f);
  132.                             IF (!a.splice) {
  133.                                 IF (s = a, s.deps && n(s.deps, s.callback), !c) RETURN;
  134.                                 c.splice ? (a = c, c = d, d = NULL) : a = b
  135.                             }
  136.                             RETURN c = c || FUNCTION() {}, "function" == typeof d && (d = e, e = f), e ? m(b, a, c, d) : setTimeout(FUNCTION() {
  137.                                 m(b, a, c, d)
  138.                             }, 4), n
  139.                         }, n.config = FUNCTION(a) {
  140.                             RETURN n(a)
  141.                         }, a._defined = q, d = FUNCTION(a, b, c) {
  142.                             IF ("string" != typeof a) throw NEW Error("See almond README: incorrect module build, no module name");
  143.                             b.splice || (c = b, b = []), e(q, a) || e(r, a) || (r[a] = [a, b, c])
  144.                         }, d.amd = {
  145.                             jQuery: !0
  146.                         }
  147.                     }(), b.requirejs = a, b.require = c, b.define = d
  148.                 }
  149.             }(), b.define("almond", FUNCTION() {}), b.define("jquery", [], FUNCTION() {
  150.                 var b = a || $;
  151.                 RETURN NULL == b && 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."), b
  152.             }), b.define("select2/utils", ["jquery"], FUNCTION(a) {
  153.                 FUNCTION b(a) {
  154.                     var b = a.prototype,
  155.                         c = [];
  156.                     FOR (var d IN b) {
  157.                         var e = b[d];
  158.                         "function" == typeof e && "constructor" !== d && c.push(d)
  159.                     }
  160.                     RETURN c
  161.                 }
  162.                 var c = {};
  163.                 c.Extend = FUNCTION(a, b) {
  164.                     FUNCTION c() {
  165.                         this.constructor = a
  166.                     }
  167.                     var d = {}.hasOwnProperty;
  168.                     FOR (var e IN b) d.call(b, e) && (a[e] = b[e]);
  169.                     RETURN c.prototype = b.prototype, a.prototype = NEW c, a.__super__ = b.prototype, a
  170.                 }, c.Decorate = FUNCTION(a, c) {
  171.                     FUNCTION d() {
  172.                         var b = ARRAY.prototype.unshift,
  173.                             d = c.prototype.constructor.LENGTH,
  174.                             e = a.prototype.constructor;
  175.                         d > 0 && (b.call(arguments, a.prototype.constructor), e = c.prototype.constructor), e.apply(this, arguments)
  176.                     }
  177.  
  178.                     FUNCTION e() {
  179.                         this.constructor = d
  180.                     }
  181.                     var f = b(c),
  182.                         g = b(a);
  183.                     c.displayName = a.displayName, d.prototype = NEW e;
  184.                     FOR (var h = 0; h < g.LENGTH; h++) {
  185.                         var i = g[h];
  186.                         d.prototype[i] = a.prototype[i]
  187.                     }
  188.                     FOR (var j = (FUNCTION(a) {
  189.                             var b = FUNCTION() {};
  190.                             a IN d.prototype && (b = d.prototype[a]);
  191.                             var e = c.prototype[a];
  192.                             RETURN FUNCTION() {
  193.                                 var a = ARRAY.prototype.unshift;
  194.                                 RETURN a.call(arguments, b), e.apply(this, arguments)
  195.                             }
  196.                         }), k = 0; k < f.LENGTH; k++) {
  197.                         var l = f[k];
  198.                         d.prototype[l] = j(l)
  199.                     }
  200.                     RETURN d
  201.                 };
  202.                 var d = FUNCTION() {
  203.                     this.listeners = {}
  204.                 };
  205.                 RETURN d.prototype.ON = FUNCTION(a, b) {
  206.                     this.listeners = this.listeners || {}, a IN this.listeners ? this.listeners[a].push(b) : this.listeners[a] = [b]
  207.                 }, d.prototype.TRIGGER = FUNCTION(a) {
  208.                     var b = ARRAY.prototype.slice,
  209.                         c = b.call(arguments, 1);
  210.                     this.listeners = this.listeners || {}, NULL == c && (c = []), 0 === c.LENGTH && c.push({}), c[0]._type = a, a IN this.listeners && this.invoke(this.listeners[a], b.call(arguments, 1)), "*" IN this.listeners && this.invoke(this.listeners["*"], arguments)
  211.                 }, d.prototype.invoke = FUNCTION(a, b) {
  212.                     FOR (var c = 0, d = a.LENGTH; d > c; c++) a[c].apply(this, b)
  213.                 }, c.Observable = d, c.generateChars = FUNCTION(a) {
  214.                     FOR (var b = "", c = 0; a > c; c++) {
  215.                         var d = Math.FLOOR(36 * Math.random());
  216.                         b += d.toString(36)
  217.                     }
  218.                     RETURN b
  219.                 }, c.bind = FUNCTION(a, b) {
  220.                     RETURN FUNCTION() {
  221.                         a.apply(b, arguments)
  222.                     }
  223.                 }, c._convertData = FUNCTION(a) {
  224.                     FOR (var b IN a) {
  225.                         var c = b.split("-"),
  226.                             d = a;
  227.                         IF (1 !== c.LENGTH) {
  228.                             FOR (var e = 0; e < c.LENGTH; e++) {
  229.                                 var f = c[e];
  230.                                 f = f.substring(0, 1).toLowerCase() + f.substring(1), f IN d || (d[f] = {}), e == c.LENGTH - 1 && (d[f] = a[b]), d = d[f]
  231.                             }
  232.                             DELETE a[b]
  233.                         }
  234.                     }
  235.                     RETURN a
  236.                 }, c.hasScroll = FUNCTION(b, c) {
  237.                     var d = a(c),
  238.                         e = c.style.overflowX,
  239.                         f = c.style.overflowY;
  240.                     RETURN e !== f || "hidden" !== f && "visible" !== f ? "scroll" === e || "scroll" === f ? !0 : d.innerHeight() < c.scrollHeight || d.innerWidth() < c.scrollWidth : !1
  241.                 }, c.escapeMarkup = FUNCTION(a) {
  242.                     var b = {
  243.                         "\\": "&#92;",
  244.                         "&": "&amp;",
  245.                         "<": "&lt;",
  246.                         ">": "&gt;",
  247.                         '"': "&quot;",
  248.                         "'": "&#39;",
  249.                         "/": "&#47;"
  250.                     };
  251.                     RETURN "string" != typeof a ? a : String(a).REPLACE(/[&<>"'\/\\]/g, function(a) {
  252.                        return b[a]
  253.                    })
  254.                }, c.appendMany = function(b, c) {
  255.                    if ("1.7" === a.fn.jquery.substr(0, 3)) {
  256.                        var d = a();
  257.                        a.map(c, function(a) {
  258.                            d = d.add(a)
  259.                        }), c = d
  260.                    }
  261.                    b.append(c)
  262.                }, c
  263.            }), b.define("select2/results", ["jquery", "./utils"], function(a, b) {
  264.                function c(a, b, d) {
  265.                    this.$element = a, this.data = d, this.options = b, c.__super__.constructor.call(this)
  266.                }
  267.                return b.Extend(c, b.Observable), c.prototype.render = function() {
  268.                    var b = a('<ul class="select2-results__options" role="tree"></ul>');
  269.                    return this.options.get("multiple") && b.attr("aria-multiselectable", "TRUE"), this.$results = b, b
  270.                }, c.prototype.clear = function() {
  271.                    this.$results.empty()
  272.                }, c.prototype.displayMessage = function(b) {
  273.                    var c = this.options.get("escapeMarkup");
  274.                    this.clear(), this.hideLoading();
  275.                    var d = a('<li role="treeitem" aria-live="assertive" class="select2-results__option"></li>'),
  276.                        e = this.options.get("translations").get(b.message);
  277.                    d.append(c(e(b.args))), d[0].className += " select2-results__message", this.$results.append(d)
  278.                }, c.prototype.hideMessages = function() {
  279.                    this.$results.find(".select2-results__message").remove()
  280.                }, c.prototype.append = function(a) {
  281.                    this.hideLoading();
  282.                    var b = [];
  283.                    if (null == a.results || 0 === a.results.length) return void(0 === this.$results.children().length && this.trigger("results:message", {
  284.                        message: "noResults"
  285.                    }));
  286.                    a.results = this.sort(a.results);
  287.                    for (var c = 0; c < a.results.length; c++) {
  288.                        var d = a.results[c],
  289.                            e = this.option(d);
  290.                        b.push(e)
  291.                    }
  292.                    this.$results.append(b)
  293.                }, c.prototype.position = function(a, b) {
  294.                    var c = b.find(".select2-results");
  295.                    c.append(a)
  296.                }, c.prototype.sort = function(a) {
  297.                    var b = this.options.get("sorter");
  298.                    return b(a)
  299.                }, c.prototype.highlightFirstItem = function() {
  300.                    var a = this.$results.find(".select2-results__option[aria-selected]"),
  301.                        b = a.filter("[aria-selected=TRUE]");
  302.                    b.length > 0 ? b.first().trigger("mouseenter") : a.first().trigger("mouseenter"), this.ensureHighlightVisible()
  303.                }, c.prototype.setClasses = function() {
  304.                    var b = this;
  305.                    this.data.current(function(c) {
  306.                        var d = a.map(c, function(a) {
  307.                                return a.id.toString()
  308.                            }),
  309.                            e = b.$results.find(".select2-results__option[aria-selected]");
  310.                        e.each(function() {
  311.                            var b = a(this),
  312.                                c = a.data(this, "data"),
  313.                                e = "" + c.id;
  314.                            null != c.element && c.element.selected || null == c.element && a.inArray(e, d) > -1 ? b.attr("aria-selected", "TRUE") : b.attr("aria-selected", "FALSE")
  315.                        })
  316.                    })
  317.                }, c.prototype.showLoading = function(a) {
  318.                    this.hideLoading();
  319.                    var b = this.options.get("translations").get("searching"),
  320.                        c = {
  321.                            disabled: !0,
  322.                            loading: !0,
  323.                            text: b(a)
  324.                        },
  325.                        d = this.option(c);
  326.                    d.className += " loading-results", this.$results.prepend(d)
  327.                }, c.prototype.hideLoading = function() {
  328.                    this.$results.find(".loading-results").remove()
  329.                }, c.prototype.option = function(b) {
  330.                    var c = document.createElement("li");
  331.                    c.className = "select2-results__option";
  332.                    var d = {
  333.                        role: "treeitem",
  334.                        "aria-selected": "FALSE"
  335.                    };
  336.                    b.disabled && (delete d["aria-selected"], d["aria-disabled"] = "TRUE"), null == b.id && delete d["aria-selected"], null != b._resultId && (c.id = b._resultId), b.title && (c.title = b.title), b.children && (d.role = "GROUP", d["aria-label"] = b.text, delete d["aria-selected"]);
  337.                    for (var e in d) {
  338.                        var f = d[e];
  339.                        c.setAttribute(e, f)
  340.                    }
  341.                    if (b.children) {
  342.                        var g = a(c),
  343.                            h = document.createElement("strong");
  344.                        h.className = "select2-results__group";
  345.                        a(h);
  346.                        this.template(b, h);
  347.                        for (var i = [], j = 0; j < b.children.length; j++) {
  348.                            var k = b.children[j],
  349.                                l = this.option(k);
  350.                            i.push(l)
  351.                        }
  352.                        var m = a("<ul></ul>", {
  353.                            "class": "select2-results__options select2-results__options--nested"
  354.                         });
  355.                         m.append(i), g.append(h), g.append(m)
  356.                     } ELSE this.template(b, c);
  357.                     RETURN a.data(c, "data", b), c
  358.                 }, c.prototype.bind = FUNCTION(b, c) {
  359.                     var d = this,
  360.                         e = b.id + "-results";
  361.                     this.$results.attr("id", e), b.ON("results:all", FUNCTION(a) {
  362.                         d.clear(), d.append(a.data), b.isOpen() && (d.setClasses(), d.highlightFirstItem())
  363.                     }), b.ON("results:append", FUNCTION(a) {
  364.                         d.append(a.data), b.isOpen() && d.setClasses()
  365.                     }), b.ON("query", FUNCTION(a) {
  366.                         d.hideMessages(), d.showLoading(a)
  367.                     }), b.ON("select", FUNCTION() {
  368.                         b.isOpen() && (d.setClasses(), d.highlightFirstItem())
  369.                     }), b.ON("unselect", FUNCTION() {
  370.                         b.isOpen() && (d.setClasses(), d.highlightFirstItem())
  371.                     }), b.ON("open", FUNCTION() {
  372.                         d.$results.attr("aria-expanded", "true"), d.$results.attr("aria-hidden", "false"), d.setClasses(), d.ensureHighlightVisible()
  373.                     }), b.ON("close", FUNCTION() {
  374.                         d.$results.attr("aria-expanded", "false"), d.$results.attr("aria-hidden", "true"), d.$results.removeAttr("aria-activedescendant")
  375.                     }), b.ON("results:toggle", FUNCTION() {
  376.                         var a = d.getHighlightedResults();
  377.                         0 !== a.LENGTH && a.TRIGGER("mouseup")
  378.                     }), b.ON("results:select", FUNCTION() {
  379.                         var a = d.getHighlightedResults();
  380.                         IF (0 !== a.LENGTH) {
  381.                             var b = a.data("data");
  382.                             "true" == a.attr("aria-selected") ? d.TRIGGER("close", {}) : d.TRIGGER("select", {
  383.                                 data: b
  384.                             })
  385.                         }
  386.                     }), b.ON("results:previous", FUNCTION() {
  387.                         var a = d.getHighlightedResults(),
  388.                             b = d.$results.find("[aria-selected]"),
  389.                             c = b.INDEX(a);
  390.                         IF (0 !== c) {
  391.                             var e = c - 1;
  392.                             0 === a.LENGTH && (e = 0);
  393.                             var f = b.eq(e);
  394.                             f.TRIGGER("mouseenter");
  395.                             var g = d.$results.offset().top,
  396.                                 h = f.offset().top,
  397.                                 i = d.$results.scrollTop() + (h - g);
  398.                             0 === e ? d.$results.scrollTop(0) : 0 > h - g && d.$results.scrollTop(i)
  399.                         }
  400.                     }), b.ON("results:next", FUNCTION() {
  401.                         var a = d.getHighlightedResults(),
  402.                             b = d.$results.find("[aria-selected]"),
  403.                             c = b.INDEX(a),
  404.                             e = c + 1;
  405.                         IF (!(e >= b.LENGTH)) {
  406.                             var f = b.eq(e);
  407.                             f.TRIGGER("mouseenter");
  408.                             var g = d.$results.offset().top + d.$results.outerHeight(!1),
  409.                                 h = f.offset().top + f.outerHeight(!1),
  410.                                 i = d.$results.scrollTop() + h - g;
  411.                             0 === e ? d.$results.scrollTop(0) : h > g && d.$results.scrollTop(i)
  412.                         }
  413.                     }), b.ON("results:focus", FUNCTION(a) {
  414.                         a.element.addClass("select2-results__option--highlighted")
  415.                     }), b.ON("results:message", FUNCTION(a) {
  416.                         d.displayMessage(a)
  417.                     }), a.fn.mousewheel && this.$results.ON("mousewheel", FUNCTION(a) {
  418.                         var b = d.$results.scrollTop(),
  419.                             c = d.$results.get(0).scrollHeight - b + a.deltaY,
  420.                             e = a.deltaY > 0 && b - a.deltaY <= 0,
  421.                             f = a.deltaY < 0 && c <= d.$results.height();
  422.                         e ? (d.$results.scrollTop(0), a.preventDefault(), a.stopPropagation()) : f && (d.$results.scrollTop(d.$results.get(0).scrollHeight - d.$results.height()), a.preventDefault(), a.stopPropagation())
  423.                     }), this.$results.ON("mouseup", ".select2-results__option[aria-selected]", FUNCTION(b) {
  424.                         var c = a(this),
  425.                             e = c.data("data");
  426.                         RETURN "true" === c.attr("aria-selected") ? void(d.options.get("multiple") ? d.TRIGGER("unselect", {
  427.                             originalEvent: b,
  428.                             data: e
  429.                         }) : d.TRIGGER("close", {})) : void d.TRIGGER("select", {
  430.                             originalEvent: b,
  431.                             data: e
  432.                         })
  433.                     }), this.$results.ON("mouseenter", ".select2-results__option[aria-selected]", FUNCTION(b) {
  434.                         var c = a(this).data("data");
  435.                         d.getHighlightedResults().removeClass("select2-results__option--highlighted"), d.TRIGGER("results:focus", {
  436.                             data: c,
  437.                             element: a(this)
  438.                         })
  439.                     })
  440.                 }, c.prototype.getHighlightedResults = FUNCTION() {
  441.                     var a = this.$results.find(".select2-results__option--highlighted");
  442.                     RETURN a
  443.                 }, c.prototype.destroy = FUNCTION() {
  444.                     this.$results.remove()
  445.                 }, c.prototype.ensureHighlightVisible = FUNCTION() {
  446.                     var a = this.getHighlightedResults();
  447.                     IF (0 !== a.LENGTH) {
  448.                         var b = this.$results.find("[aria-selected]"),
  449.                             c = b.INDEX(a),
  450.                             d = this.$results.offset().top,
  451.                             e = a.offset().top,
  452.                             f = this.$results.scrollTop() + (e - d),
  453.                             g = e - d;
  454.                         f -= 2 * a.outerHeight(!1), 2 >= c ? this.$results.scrollTop(0) : (g > this.$results.outerHeight() || 0 > g) && this.$results.scrollTop(f)
  455.                     }
  456.                 }, c.prototype.template = FUNCTION(b, c) {
  457.                     var d = this.options.get("templateResult"),
  458.                         e = this.options.get("escapeMarkup"),
  459.                         f = d(b, c);
  460.                     NULL == f ? c.style.display = "none" : "string" == typeof f ? c.innerHTML = e(f) : a(c).append(f)
  461.                 }, c
  462.             }), b.define("select2/keys", [], FUNCTION() {
  463.                 var a = {
  464.                     BACKSPACE: 8,
  465.                     TAB: 9,
  466.                     ENTER: 13,
  467.                     SHIFT: 16,
  468.                     CTRL: 17,
  469.                     ALT: 18,
  470.                     ESC: 27,
  471.                     SPACE: 32,
  472.                     PAGE_UP: 33,
  473.                     PAGE_DOWN: 34,
  474.                     END: 35,
  475.                     HOME: 36,
  476.                     LEFT: 37,
  477.                     UP: 38,
  478.                     RIGHT: 39,
  479.                     DOWN: 40,
  480.                     DELETE: 46
  481.                 };
  482.                 RETURN a
  483.             }), b.define("select2/selection/base", ["jquery", "../utils", "../keys"], FUNCTION(a, b, c) {
  484.                 FUNCTION d(a, b) {
  485.                     this.$element = a, this.options = b, d.__super__.constructor.call(this)
  486.                 }
  487.                 RETURN b.Extend(d, b.Observable), d.prototype.render = FUNCTION() {
  488.                     var b = a('<span class="select2-selection" role="combobox"  aria-haspopup="true" aria-expanded="false"></span>');
  489.                     RETURN this._tabindex = 0, NULL != this.$element.data("old-tabindex") ? this._tabindex = this.$element.data("old-tabindex") : NULL != this.$element.attr("tabindex") && (this._tabindex = this.$element.attr("tabindex")), b.attr("title", this.$element.attr("title")), b.attr("tabindex", this._tabindex), this.$selection = b, b
  490.                 }, d.prototype.bind = FUNCTION(a, b) {
  491.                     var d = this,
  492.                         e = (a.id + "-container", a.id + "-results");
  493.                     this.container = a, this.$selection.ON("focus", FUNCTION(a) {
  494.                         d.TRIGGER("focus", a)
  495.                     }), this.$selection.ON("blur", FUNCTION(a) {
  496.                         d._handleBlur(a)
  497.                     }), this.$selection.ON("keydown", FUNCTION(a) {
  498.                         d.TRIGGER("keypress", a), a.which === c.SPACE && a.preventDefault()
  499.                     }), a.ON("results:focus", FUNCTION(a) {
  500.                         d.$selection.attr("aria-activedescendant", a.data._resultId)
  501.                     }), a.ON("selection:update", FUNCTION(a) {
  502.                         d.UPDATE(a.data)
  503.                     }), a.ON("open", FUNCTION() {
  504.                         d.$selection.attr("aria-expanded", "true"), d.$selection.attr("aria-owns", e), d._attachCloseHandler(a)
  505.                     }), a.ON("close", FUNCTION() {
  506.                         d.$selection.attr("aria-expanded", "false"), d.$selection.removeAttr("aria-activedescendant"), d.$selection.removeAttr("aria-owns"), d.$selection.focus(), d._detachCloseHandler(a)
  507.                     }), a.ON("enable", FUNCTION() {
  508.                         d.$selection.attr("tabindex", d._tabindex)
  509.                     }), a.ON("disable", FUNCTION() {
  510.                         d.$selection.attr("tabindex", "-1")
  511.                     })
  512.                 }, d.prototype._handleBlur = FUNCTION(b) {
  513.                     var c = this;
  514.                     window.setTimeout(FUNCTION() {
  515.                         document.activeElement == c.$selection[0] || a.contains(c.$selection[0], document.activeElement) || c.TRIGGER("blur", b)
  516.                     }, 1)
  517.                 }, d.prototype._attachCloseHandler = FUNCTION(b) {
  518.                     a(document.BODY).ON("mousedown.select2." + b.id, FUNCTION(b) {
  519.                         var c = a(b.target),
  520.                             d = c.closest(".select2"),
  521.                             e = a(".select2.select2-container--open");
  522.                         e.each(FUNCTION() {
  523.                             var b = a(this);
  524.                             IF (this != d[0]) {
  525.                                 var c = b.data("element");
  526.                                 c.select2("close")
  527.                             }
  528.                         })
  529.                     })
  530.                 }, d.prototype._detachCloseHandler = FUNCTION(b) {
  531.                     a(document.BODY).off("mousedown.select2." + b.id)
  532.                 }, d.prototype.position = FUNCTION(a, b) {
  533.                     var c = b.find(".selection");
  534.                     c.append(a)
  535.                 }, d.prototype.destroy = FUNCTION() {
  536.                     this._detachCloseHandler(this.container)
  537.                 }, d.prototype.UPDATE = FUNCTION(a) {
  538.                     throw NEW Error("The `update` method must be defined in child classes.")
  539.                 }, d
  540.             }), b.define("select2/selection/single", ["jquery", "./base", "../utils", "../keys"], FUNCTION(a, b, c, d) {
  541.                 FUNCTION e() {
  542.                     e.__super__.constructor.apply(this, arguments)
  543.                 }
  544.                 RETURN c.Extend(e, b), e.prototype.render = FUNCTION() {
  545.                     var a = e.__super__.render.call(this);
  546.                     RETURN a.addClass("select2-selection--single"), a.html('<span class="select2-selection__rendered"></span><span class="select2-selection__arrow" role="presentation"><b role="presentation"></b></span>'), a
  547.                 }, e.prototype.bind = FUNCTION(a, b) {
  548.                     var c = this;
  549.                     e.__super__.bind.apply(this, arguments);
  550.                     var d = a.id + "-container";
  551.                     this.$selection.find(".select2-selection__rendered").attr("id", d), this.$selection.attr("aria-labelledby", d), this.$selection.ON("mousedown", FUNCTION(a) {
  552.                         1 === a.which && c.TRIGGER("toggle", {
  553.                             originalEvent: a
  554.                         })
  555.                     }), this.$selection.ON("focus", FUNCTION(a) {}), this.$selection.ON("blur", FUNCTION(a) {}), a.ON("focus", FUNCTION(b) {
  556.                         a.isOpen() || c.$selection.focus()
  557.                     }), a.ON("selection:update", FUNCTION(a) {
  558.                         c.UPDATE(a.data)
  559.                     })
  560.                 }, e.prototype.clear = FUNCTION() {
  561.                     this.$selection.find(".select2-selection__rendered").empty()
  562.                 }, e.prototype.display = FUNCTION(a, b) {
  563.                     var c = this.options.get("templateSelection"),
  564.                         d = this.options.get("escapeMarkup");
  565.                     RETURN d(c(a, b))
  566.                 }, e.prototype.selectionContainer = FUNCTION() {
  567.                     RETURN a("<span></span>")
  568.                 }, e.prototype.UPDATE = FUNCTION(a) {
  569.                     IF (0 === a.LENGTH) RETURN void this.clear();
  570.                     var b = a[0],
  571.                         c = this.$selection.find(".select2-selection__rendered"),
  572.                         d = this.display(b, c);
  573.                     c.empty().append(d), c.prop("title", b.title || b.text)
  574.                 }, e
  575.             }), b.define("select2/selection/multiple", ["jquery", "./base", "../utils"], FUNCTION(a, b, c) {
  576.                 FUNCTION d(a, b) {
  577.                     d.__super__.constructor.apply(this, arguments)
  578.                 }
  579.                 RETURN c.Extend(d, b), d.prototype.render = FUNCTION() {
  580.                     var a = d.__super__.render.call(this);
  581.                     RETURN a.addClass("select2-selection--multiple"), a.html('<ul class="select2-selection__rendered"></ul>'), a
  582.                 }, d.prototype.bind = FUNCTION(b, c) {
  583.                     var e = this;
  584.                     d.__super__.bind.apply(this, arguments), this.$selection.ON("click", FUNCTION(a) {
  585.                         e.TRIGGER("toggle", {
  586.                             originalEvent: a
  587.                         })
  588.                     }), this.$selection.ON("click", ".select2-selection__choice__remove", FUNCTION(b) {
  589.                         IF (!e.options.get("disabled")) {
  590.                             var c = a(this),
  591.                                 d = c.parent(),
  592.                                 f = d.data("data");
  593.                             e.TRIGGER("unselect", {
  594.                                 originalEvent: b,
  595.                                 data: f
  596.                             })
  597.                         }
  598.                     })
  599.                 }, d.prototype.clear = FUNCTION() {
  600.                     this.$selection.find(".select2-selection__rendered").empty()
  601.                 }, d.prototype.display = FUNCTION(a, b) {
  602.                     var c = this.options.get("templateSelection"),
  603.                         d = this.options.get("escapeMarkup");
  604.                     RETURN d(c(a, b))
  605.                 }, d.prototype.selectionContainer = FUNCTION() {
  606.                     var b = a('<li class="select2-selection__choice"><span class="select2-selection__choice__remove" role="presentation">&times;</span></li>');
  607.                     RETURN b
  608.                 }, d.prototype.UPDATE = FUNCTION(a) {
  609.                     IF (this.clear(), 0 !== a.LENGTH) {
  610.                         FOR (var b = [], d = 0; d < a.LENGTH; d++) {
  611.                             var e = a[d],
  612.                                 f = this.selectionContainer(),
  613.                                 g = this.display(e, f);
  614.                             f.append(g), f.prop("title", e.title || e.text), f.data("data", e), b.push(f)
  615.                         }
  616.                         var h = this.$selection.find(".select2-selection__rendered");
  617.                         c.appendMany(h, b)
  618.                     }
  619.                 }, d
  620.             }), b.define("select2/selection/placeholder", ["../utils"], FUNCTION(a) {
  621.                 FUNCTION b(a, b, c) {
  622.                     this.placeholder = this.normalizePlaceholder(c.get("placeholder")), a.call(this, b, c)
  623.                 }
  624.                 RETURN b.prototype.normalizePlaceholder = FUNCTION(a, b) {
  625.                     RETURN "string" == typeof b && (b = {
  626.                         id: "",
  627.                         text: b
  628.                     }), b
  629.                 }, b.prototype.createPlaceholder = FUNCTION(a, b) {
  630.                     var c = this.selectionContainer();
  631.                     RETURN c.html(this.display(b)), c.addClass("select2-selection__placeholder").removeClass("select2-selection__choice"), c
  632.                 }, b.prototype.UPDATE = FUNCTION(a, b) {
  633.                     var c = 1 == b.LENGTH && b[0].id != this.placeholder.id,
  634.                         d = b.LENGTH > 1;
  635.                     IF (d || c) RETURN a.call(this, b);
  636.                     this.clear();
  637.                     var e = this.createPlaceholder(this.placeholder);
  638.                     this.$selection.find(".select2-selection__rendered").append(e)
  639.                 }, b
  640.             }), b.define("select2/selection/allowClear", ["jquery", "../keys"], FUNCTION(a, b) {
  641.                 FUNCTION c() {}
  642.                 RETURN c.prototype.bind = FUNCTION(a, b, c) {
  643.                     var d = this;
  644.                     a.call(this, b, c), 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."), this.$selection.ON("mousedown", ".select2-selection__clear", FUNCTION(a) {
  645.                         d._handleClear(a)
  646.                     }), b.ON("keypress", FUNCTION(a) {
  647.                         d._handleKeyboardClear(a, b)
  648.                     })
  649.                 }, c.prototype._handleClear = FUNCTION(a, b) {
  650.                     IF (!this.options.get("disabled")) {
  651.                         var c = this.$selection.find(".select2-selection__clear");
  652.                         IF (0 !== c.LENGTH) {
  653.                             b.stopPropagation();
  654.                             FOR (var d = c.data("data"), e = 0; e < d.LENGTH; e++) {
  655.                                 var f = {
  656.                                     data: d[e]
  657.                                 };
  658.                                 IF (this.TRIGGER("unselect", f), f.prevented) RETURN
  659.                             }
  660.                             this.$element.val(this.placeholder.id).TRIGGER("change"), this.TRIGGER("toggle", {})
  661.                         }
  662.                     }
  663.                 }, c.prototype._handleKeyboardClear = FUNCTION(a, c, d) {
  664.                     d.isOpen() || (c.which == b.DELETE || c.which == b.BACKSPACE) && this._handleClear(c)
  665.                 }, c.prototype.UPDATE = FUNCTION(b, c) {
  666.                     IF (b.call(this, c), !(this.$selection.find(".select2-selection__placeholder").LENGTH > 0 || 0 === c.LENGTH)) {
  667.                         var d = a('<span class="select2-selection__clear">&times;</span>');
  668.                         d.data("data", c), this.$selection.find(".select2-selection__rendered").prepend(d)
  669.                     }
  670.                 }, c
  671.             }), b.define("select2/selection/search", ["jquery", "../utils", "../keys"], FUNCTION(a, b, c) {
  672.                 FUNCTION d(a, b, c) {
  673.                     a.call(this, b, c)
  674.                 }
  675.                 RETURN d.prototype.render = FUNCTION(b) {
  676.                     var c = a('<li class="select2-search select2-search--inline"><input class="select2-search__field" type="search" tabindex="-1" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false" role="textbox" aria-autocomplete="list" /></li>');
  677.                     this.$searchContainer = c, this.$search = c.find("input");
  678.                     var d = b.call(this);
  679.                     RETURN this._transferTabIndex(), d
  680.                 }, d.prototype.bind = FUNCTION(a, b, d) {
  681.                     var e = this;
  682.                     a.call(this, b, d), b.ON("open", FUNCTION() {
  683.                         e.$search.TRIGGER("focus")
  684.                     }), b.ON("close", FUNCTION() {
  685.                         e.$search.val(""), e.$search.removeAttr("aria-activedescendant"), e.$search.TRIGGER("focus")
  686.                     }), b.ON("enable", FUNCTION() {
  687.                         e.$search.prop("disabled", !1), e._transferTabIndex()
  688.                     }), b.ON("disable", FUNCTION() {
  689.                         e.$search.prop("disabled", !0)
  690.                     }), b.ON("focus", FUNCTION(a) {
  691.                         e.$search.TRIGGER("focus")
  692.                     }), b.ON("results:focus", FUNCTION(a) {
  693.                         e.$search.attr("aria-activedescendant", a.id)
  694.                     }), this.$selection.ON("focusin", ".select2-search--inline", FUNCTION(a) {
  695.                         e.TRIGGER("focus", a)
  696.                     }), this.$selection.ON("focusout", ".select2-search--inline", FUNCTION(a) {
  697.                         e._handleBlur(a)
  698.                     }), this.$selection.ON("keydown", ".select2-search--inline", FUNCTION(a) {
  699.                         a.stopPropagation(), e.TRIGGER("keypress", a), e._keyUpPrevented = a.isDefaultPrevented();
  700.                         var b = a.which;
  701.                         IF (b === c.BACKSPACE && "" === e.$search.val()) {
  702.                             var d = e.$searchContainer.prev(".select2-selection__choice");
  703.                             IF (d.LENGTH > 0) {
  704.                                 var f = d.data("data");
  705.                                 e.searchRemoveChoice(f), a.preventDefault()
  706.                             }
  707.                         }
  708.                     });
  709.                     var f = document.documentMode,
  710.                         g = f && 11 >= f;
  711.                     this.$selection.ON("input.searchcheck", ".select2-search--inline", FUNCTION(a) {
  712.                         RETURN g ? void e.$selection.off("input.search input.searchcheck") : void e.$selection.off("keyup.search")
  713.                     }), this.$selection.ON("keyup.search input.search", ".select2-search--inline", FUNCTION(a) {
  714.                         IF (g && "input" === a.TYPE) RETURN void e.$selection.off("input.search input.searchcheck");
  715.                         var b = a.which;
  716.                         b != c.SHIFT && b != c.CTRL && b != c.ALT && b != c.TAB && e.handleSearch(a)
  717.                     })
  718.                 }, d.prototype._transferTabIndex = FUNCTION(a) {
  719.                     this.$search.attr("tabindex", this.$selection.attr("tabindex")), this.$selection.attr("tabindex", "-1")
  720.                 }, d.prototype.createPlaceholder = FUNCTION(a, b) {
  721.                     this.$search.attr("placeholder", b.text)
  722.                 }, d.prototype.UPDATE = FUNCTION(a, b) {
  723.                     var c = this.$search[0] == document.activeElement;
  724.                     this.$search.attr("placeholder", ""), a.call(this, b), this.$selection.find(".select2-selection__rendered").append(this.$searchContainer), this.resizeSearch(), c && this.$search.focus()
  725.                 }, d.prototype.handleSearch = FUNCTION() {
  726.                     IF (this.resizeSearch(), !this._keyUpPrevented) {
  727.                         var a = this.$search.val();
  728.                         this.TRIGGER("query", {
  729.                             term: a
  730.                         })
  731.                     }
  732.                     this._keyUpPrevented = !1
  733.                 }, d.prototype.searchRemoveChoice = FUNCTION(a, b) {
  734.                     this.TRIGGER("unselect", {
  735.                         data: b
  736.                     }), this.$search.val(b.text), this.handleSearch()
  737.                 }, d.prototype.resizeSearch = FUNCTION() {
  738.                     this.$search.css("width", "25px");
  739.                     var a = "";
  740.                     IF ("" !== this.$search.attr("placeholder")) a = this.$selection.find(".select2-selection__rendered").innerWidth();
  741.                     ELSE {
  742.                         var b = this.$search.val().LENGTH + 1;
  743.                         a = .75 * b + "em"
  744.                     }
  745.                     this.$search.css("width", a)
  746.                 }, d
  747.             }), b.define("select2/selection/eventRelay", ["jquery"], FUNCTION(a) {
  748.                 FUNCTION b() {}
  749.                 RETURN b.prototype.bind = FUNCTION(b, c, d) {
  750.                     var e = this,
  751.                         f = ["open", "opening", "close", "closing", "select", "selecting", "unselect", "unselecting"],
  752.                         g = ["opening", "closing", "selecting", "unselecting"];
  753.                     b.call(this, c, d), c.ON("*", FUNCTION(b, c) {
  754.                         IF (-1 !== a.inArray(b, f)) {
  755.                             c = c || {};
  756.                             var d = a.Event("select2:" + b, {
  757.                                 params: c
  758.                             });
  759.                             e.$element.TRIGGER(d), -1 !== a.inArray(b, g) && (c.prevented = d.isDefaultPrevented())
  760.                         }
  761.                     })
  762.                 }, b
  763.             }), b.define("select2/translation", ["jquery", "require"], FUNCTION(a, b) {
  764.                 FUNCTION c(a) {
  765.                     this.dict = a || {}
  766.                 }
  767.                 RETURN c.prototype.ALL = FUNCTION() {
  768.                     RETURN this.dict
  769.                 }, c.prototype.get = FUNCTION(a) {
  770.                     RETURN this.dict[a]
  771.                 }, c.prototype.extend = FUNCTION(b) {
  772.                     this.dict = a.extend({}, b.ALL(), this.dict)
  773.                 }, c._cache = {}, c.loadPath = FUNCTION(a) {
  774.                     IF (!(a IN c._cache)) {
  775.                         var d = b(a);
  776.                         c._cache[a] = d
  777.                     }
  778.                     RETURN NEW c(c._cache[a])
  779.                 }, c
  780.             }), b.define("select2/diacritics", [], FUNCTION() {
  781.                 var a = {
  782.                     "Ⓐ": "A",
  783.                     "A": "A",
  784.                     "À": "A",
  785.                     "Á": "A",
  786.                     "Â": "A",
  787.                     "Ầ": "A",
  788.                     "Ấ": "A",
  789.                     "Ẫ": "A",
  790.                     "Ẩ": "A",
  791.                     "Ã": "A",
  792.                     "Ā": "A",
  793.                     "Ă": "A",
  794.                     "Ằ": "A",
  795.                     "Ắ": "A",
  796.                     "Ẵ": "A",
  797.                     "Ẳ": "A",
  798.                     "Ȧ": "A",
  799.                     "Ǡ": "A",
  800.                     "Ä": "A",
  801.                     "Ǟ": "A",
  802.                     "Ả": "A",
  803.                     "Å": "A",
  804.                     "Ǻ": "A",
  805.                     "Ǎ": "A",
  806.                     "Ȁ": "A",
  807.                     "Ȃ": "A",
  808.                     "Ạ": "A",
  809.                     "Ậ": "A",
  810.                     "Ặ": "A",
  811.                     "Ḁ": "A",
  812.                     "Ą": "A",
  813.                     "Ⱥ": "A",
  814.                     "Ɐ": "A",
  815.                     "Ꜳ": "AA",
  816.                     "Æ": "AE",
  817.                     "Ǽ": "AE",
  818.                     "Ǣ": "AE",
  819.                     "Ꜵ": "AO",
  820.                     "Ꜷ": "AU",
  821.                     "Ꜹ": "AV",
  822.                     "Ꜻ": "AV",
  823.                     "Ꜽ": "AY",
  824.                     "Ⓑ": "B",
  825.                     "B": "B",
  826.                     "Ḃ": "B",
  827.                     "Ḅ": "B",
  828.                     "Ḇ": "B",
  829.                     "Ƀ": "B",
  830.                     "Ƃ": "B",
  831.                     "Ɓ": "B",
  832.                     "Ⓒ": "C",
  833.                     "C": "C",
  834.                     "Ć": "C",
  835.                     "Ĉ": "C",
  836.                     "Ċ": "C",
  837.                     "Č": "C",
  838.                     "Ç": "C",
  839.                     "Ḉ": "C",
  840.                     "Ƈ": "C",
  841.                     "Ȼ": "C",
  842.                     "Ꜿ": "C",
  843.                     "Ⓓ": "D",
  844.                     "D": "D",
  845.                     "Ḋ": "D",
  846.                     "Ď": "D",
  847.                     "Ḍ": "D",
  848.                     "Ḑ": "D",
  849.                     "Ḓ": "D",
  850.                     "Ḏ": "D",
  851.                     "Đ": "D",
  852.                     "Ƌ": "D",
  853.                     "Ɗ": "D",
  854.                     "Ɖ": "D",
  855.                     "Ꝺ": "D",
  856.                     "DZ": "DZ",
  857.                     "DŽ": "DZ",
  858.                     "Dz": "Dz",
  859.                     "Dž": "Dz",
  860.                     "Ⓔ": "E",
  861.                     "E": "E",
  862.                     "È": "E",
  863.                     "É": "E",
  864.                     "Ê": "E",
  865.                     "Ề": "E",
  866.                     "Ế": "E",
  867.                     "Ễ": "E",
  868.                     "Ể": "E",
  869.                     "Ẽ": "E",
  870.                     "Ē": "E",
  871.                     "Ḕ": "E",
  872.                     "Ḗ": "E",
  873.                     "Ĕ": "E",
  874.                     "Ė": "E",
  875.                     "Ë": "E",
  876.                     "Ẻ": "E",
  877.                     "Ě": "E",
  878.                     "Ȅ": "E",
  879.                     "Ȇ": "E",
  880.                     "Ẹ": "E",
  881.                     "Ệ": "E",
  882.                     "Ȩ": "E",
  883.                     "Ḝ": "E",
  884.                     "Ę": "E",
  885.                     "Ḙ": "E",
  886.                     "Ḛ": "E",
  887.                     "Ɛ": "E",
  888.                     "Ǝ": "E",
  889.                     "Ⓕ": "F",
  890.                     "F": "F",
  891.                     "Ḟ": "F",
  892.                     "Ƒ": "F",
  893.                     "Ꝼ": "F",
  894.                     "Ⓖ": "G",
  895.                     "G": "G",
  896.                     "Ǵ": "G",
  897.                     "Ĝ": "G",
  898.                     "Ḡ": "G",
  899.                     "Ğ": "G",
  900.                     "Ġ": "G",
  901.                     "Ǧ": "G",
  902.                     "Ģ": "G",
  903.                     "Ǥ": "G",
  904.                     "Ɠ": "G",
  905.                     "Ꞡ": "G",
  906.                     "Ᵹ": "G",
  907.                     "Ꝿ": "G",
  908.                     "Ⓗ": "H",
  909.                     "H": "H",
  910.                     "Ĥ": "H",
  911.                     "Ḣ": "H",
  912.                     "Ḧ": "H",
  913.                     "Ȟ": "H",
  914.                     "Ḥ": "H",
  915.                     "Ḩ": "H",
  916.                     "Ḫ": "H",
  917.                     "Ħ": "H",
  918.                     "Ⱨ": "H",
  919.                     "Ⱶ": "H",
  920.                     "Ɥ": "H",
  921.                     "Ⓘ": "I",
  922.                     "I": "I",
  923.                     "Ì": "I",
  924.                     "Í": "I",
  925.                     "Î": "I",
  926.                     "Ĩ": "I",
  927.                     "Ī": "I",
  928.                     "Ĭ": "I",
  929.                     "İ": "I",
  930.                     "Ï": "I",
  931.                     "Ḯ": "I",
  932.                     "Ỉ": "I",
  933.                     "Ǐ": "I",
  934.                     "Ȉ": "I",
  935.                     "Ȋ": "I",
  936.                     "Ị": "I",
  937.                     "Į": "I",
  938.                     "Ḭ": "I",
  939.                     "Ɨ": "I",
  940.                     "Ⓙ": "J",
  941.                     "J": "J",
  942.                     "Ĵ": "J",
  943.                     "Ɉ": "J",
  944.                     "Ⓚ": "K",
  945.                     "K": "K",
  946.                     "Ḱ": "K",
  947.                     "Ǩ": "K",
  948.                     "Ḳ": "K",
  949.                     "Ķ": "K",
  950.                     "Ḵ": "K",
  951.                     "Ƙ": "K",
  952.                     "Ⱪ": "K",
  953.                     "Ꝁ": "K",
  954.                     "Ꝃ": "K",
  955.                     "Ꝅ": "K",
  956.                     "Ꞣ": "K",
  957.                     "Ⓛ": "L",
  958.                     "L": "L",
  959.                     "Ŀ": "L",
  960.                     "Ĺ": "L",
  961.                     "Ľ": "L",
  962.                     "Ḷ": "L",
  963.                     "Ḹ": "L",
  964.                     "Ļ": "L",
  965.                     "Ḽ": "L",
  966.                     "Ḻ": "L",
  967.                     "Ł": "L",
  968.                     "Ƚ": "L",
  969.                     "Ɫ": "L",
  970.                     "Ⱡ": "L",
  971.                     "Ꝉ": "L",
  972.                     "Ꝇ": "L",
  973.                     "Ꞁ": "L",
  974.                     "LJ": "LJ",
  975.                     "Lj": "Lj",
  976.                     "Ⓜ": "M",
  977.                     "M": "M",
  978.                     "Ḿ": "M",
  979.                     "Ṁ": "M",
  980.                     "Ṃ": "M",
  981.                     "Ɱ": "M",
  982.                     "Ɯ": "M",
  983.                     "Ⓝ": "N",
  984.                     "N": "N",
  985.                     "Ǹ": "N",
  986.                     "Ń": "N",
  987.                     "Ñ": "N",
  988.                     "Ṅ": "N",
  989.                     "Ň": "N",
  990.                     "Ṇ": "N",
  991.                     "Ņ": "N",
  992.                     "Ṋ": "N",
  993.                     "Ṉ": "N",
  994.                     "Ƞ": "N",
  995.                     "Ɲ": "N",
  996.                     "Ꞑ": "N",
  997.                     "Ꞥ": "N",
  998.                     "NJ": "NJ",
  999.                     "Nj": "Nj",
  1000.                     "Ⓞ": "O",
  1001.                     "O": "O",
  1002.                     "Ò": "O",
  1003.                     "Ó": "O",
  1004.                     "Ô": "O",
  1005.                     "Ồ": "O",
  1006.                     "Ố": "O",
  1007.                     "Ỗ": "O",
  1008.                     "Ổ": "O",
  1009.                     "Õ": "O",
  1010.                     "Ṍ": "O",
  1011.                     "Ȭ": "O",
  1012.                     "Ṏ": "O",
  1013.                     "Ō": "O",
  1014.                     "Ṑ": "O",
  1015.                     "Ṓ": "O",
  1016.                     "Ŏ": "O",
  1017.                     "Ȯ": "O",
  1018.                     "Ȱ": "O",
  1019.                     "Ö": "O",
  1020.                     "Ȫ": "O",
  1021.                     "Ỏ": "O",
  1022.                     "Ő": "O",
  1023.                     "Ǒ": "O",
  1024.                     "Ȍ": "O",
  1025.                     "Ȏ": "O",
  1026.                     "Ơ": "O",
  1027.                     "Ờ": "O",
  1028.                     "Ớ": "O",
  1029.                     "Ỡ": "O",
  1030.                     "Ở": "O",
  1031.                     "Ợ": "O",
  1032.                     "Ọ": "O",
  1033.                     "Ộ": "O",
  1034.                     "Ǫ": "O",
  1035.                     "Ǭ": "O",
  1036.                     "Ø": "O",
  1037.                     "Ǿ": "O",
  1038.                     "Ɔ": "O",
  1039.                     "Ɵ": "O",
  1040.                     "Ꝋ": "O",
  1041.                     "Ꝍ": "O",
  1042.                     "Ƣ": "OI",
  1043.                     "Ꝏ": "OO",
  1044.                     "Ȣ": "OU",
  1045.                     "Ⓟ": "P",
  1046.                     "P": "P",
  1047.                     "Ṕ": "P",
  1048.                     "Ṗ": "P",
  1049.                     "Ƥ": "P",
  1050.                     "Ᵽ": "P",
  1051.                     "Ꝑ": "P",
  1052.                     "Ꝓ": "P",
  1053.                     "Ꝕ": "P",
  1054.                     "Ⓠ": "Q",
  1055.                     "Q": "Q",
  1056.                     "Ꝗ": "Q",
  1057.                     "Ꝙ": "Q",
  1058.                     "Ɋ": "Q",
  1059.                     "Ⓡ": "R",
  1060.                     "R": "R",
  1061.                     "Ŕ": "R",
  1062.                     "Ṙ": "R",
  1063.                     "Ř": "R",
  1064.                     "Ȑ": "R",
  1065.                     "Ȓ": "R",
  1066.                     "Ṛ": "R",
  1067.                     "Ṝ": "R",
  1068.                     "Ŗ": "R",
  1069.                     "Ṟ": "R",
  1070.                     "Ɍ": "R",
  1071.                     "Ɽ": "R",
  1072.                     "Ꝛ": "R",
  1073.                     "Ꞧ": "R",
  1074.                     "Ꞃ": "R",
  1075.                     "Ⓢ": "S",
  1076.                     "S": "S",
  1077.                     "ẞ": "S",
  1078.                     "Ś": "S",
  1079.                     "Ṥ": "S",
  1080.                     "Ŝ": "S",
  1081.                     "Ṡ": "S",
  1082.                     "Š": "S",
  1083.                     "Ṧ": "S",
  1084.                     "Ṣ": "S",
  1085.                     "Ṩ": "S",
  1086.                     "Ș": "S",
  1087.                     "Ş": "S",
  1088.                     "Ȿ": "S",
  1089.                     "Ꞩ": "S",
  1090.                     "Ꞅ": "S",
  1091.                     "Ⓣ": "T",
  1092.                     "T": "T",
  1093.                     "Ṫ": "T",
  1094.                     "Ť": "T",
  1095.                     "Ṭ": "T",
  1096.                     "Ț": "T",
  1097.                     "Ţ": "T",
  1098.                     "Ṱ": "T",
  1099.                     "Ṯ": "T",
  1100.                     "Ŧ": "T",
  1101.                     "Ƭ": "T",
  1102.                     "Ʈ": "T",
  1103.                     "Ⱦ": "T",
  1104.                     "Ꞇ": "T",
  1105.                     "Ꜩ": "TZ",
  1106.                     "Ⓤ": "U",
  1107.                     "U": "U",
  1108.                     "Ù": "U",
  1109.                     "Ú": "U",
  1110.                     "Û": "U",
  1111.                     "Ũ": "U",
  1112.                     "Ṹ": "U",
  1113.                     "Ū": "U",
  1114.                     "Ṻ": "U",
  1115.                     "Ŭ": "U",
  1116.                     "Ü": "U",
  1117.                     "Ǜ": "U",
  1118.                     "Ǘ": "U",
  1119.                     "Ǖ": "U",
  1120.                     "Ǚ": "U",
  1121.                     "Ủ": "U",
  1122.                     "Ů": "U",
  1123.                     "Ű": "U",
  1124.                     "Ǔ": "U",
  1125.                     "Ȕ": "U",
  1126.                     "Ȗ": "U",
  1127.                     "Ư": "U",
  1128.                     "Ừ": "U",
  1129.                     "Ứ": "U",
  1130.                     "Ữ": "U",
  1131.                     "Ử": "U",
  1132.                     "Ự": "U",
  1133.                     "Ụ": "U",
  1134.                     "Ṳ": "U",
  1135.                     "Ų": "U",
  1136.                     "Ṷ": "U",
  1137.                     "Ṵ": "U",
  1138.                     "Ʉ": "U",
  1139.                     "Ⓥ": "V",
  1140.                     "V": "V",
  1141.                     "Ṽ": "V",
  1142.                     "Ṿ": "V",
  1143.                     "Ʋ": "V",
  1144.                     "Ꝟ": "V",
  1145.                     "Ʌ": "V",
  1146.                     "Ꝡ": "VY",
  1147.                     "Ⓦ": "W",
  1148.                     "W": "W",
  1149.                     "Ẁ": "W",
  1150.                     "Ẃ": "W",
  1151.                     "Ŵ": "W",
  1152.                     "Ẇ": "W",
  1153.                     "Ẅ": "W",
  1154.                     "Ẉ": "W",
  1155.                     "Ⱳ": "W",
  1156.                     "Ⓧ": "X",
  1157.                     "X": "X",
  1158.                     "Ẋ": "X",
  1159.                     "Ẍ": "X",
  1160.                     "Ⓨ": "Y",
  1161.                     "Y": "Y",
  1162.                     "Ỳ": "Y",
  1163.                     "Ý": "Y",
  1164.                     "Ŷ": "Y",
  1165.                     "Ỹ": "Y",
  1166.                     "Ȳ": "Y",
  1167.                     "Ẏ": "Y",
  1168.                     "Ÿ": "Y",
  1169.                     "Ỷ": "Y",
  1170.                     "Ỵ": "Y",
  1171.                     "Ƴ": "Y",
  1172.                     "Ɏ": "Y",
  1173.                     "Ỿ": "Y",
  1174.                     "Ⓩ": "Z",
  1175.                     "Z": "Z",
  1176.                     "Ź": "Z",
  1177.                     "Ẑ": "Z",
  1178.                     "Ż": "Z",
  1179.                     "Ž": "Z",
  1180.                     "Ẓ": "Z",
  1181.                     "Ẕ": "Z",
  1182.                     "Ƶ": "Z",
  1183.                     "Ȥ": "Z",
  1184.                     "Ɀ": "Z",
  1185.                     "Ⱬ": "Z",
  1186.                     "Ꝣ": "Z",
  1187.                     "ⓐ": "a",
  1188.                     "a": "a",
  1189.                     "ẚ": "a",
  1190.                     "à": "a",
  1191.                     "á": "a",
  1192.                     "â": "a",
  1193.                     "ầ": "a",
  1194.                     "ấ": "a",
  1195.                     "ẫ": "a",
  1196.                     "ẩ": "a",
  1197.                     "ã": "a",
  1198.                     "ā": "a",
  1199.                     "ă": "a",
  1200.                     "ằ": "a",
  1201.                     "ắ": "a",
  1202.                     "ẵ": "a",
  1203.                     "ẳ": "a",
  1204.                     "ȧ": "a",
  1205.                     "ǡ": "a",
  1206.                     "ä": "a",
  1207.                     "ǟ": "a",
  1208.                     "ả": "a",
  1209.                     "å": "a",
  1210.                     "ǻ": "a",
  1211.                     "ǎ": "a",
  1212.                     "ȁ": "a",
  1213.                     "ȃ": "a",
  1214.                     "ạ": "a",
  1215.                     "ậ": "a",
  1216.                     "ặ": "a",
  1217.                     "ḁ": "a",
  1218.                     "ą": "a",
  1219.                     "ⱥ": "a",
  1220.                     "ɐ": "a",
  1221.                     "ꜳ": "aa",
  1222.                     "æ": "ae",
  1223.                     "ǽ": "ae",
  1224.                     "ǣ": "ae",
  1225.                     "ꜵ": "ao",
  1226.                     "ꜷ": "au",
  1227.                     "ꜹ": "av",
  1228.                     "ꜻ": "av",
  1229.                     "ꜽ": "ay",
  1230.                     "ⓑ": "b",
  1231.                     "b": "b",
  1232.                     "ḃ": "b",
  1233.                     "ḅ": "b",
  1234.                     "ḇ": "b",
  1235.                     "ƀ": "b",
  1236.                     "ƃ": "b",
  1237.                     "ɓ": "b",
  1238.                     "ⓒ": "c",
  1239.                     "c": "c",
  1240.                     "ć": "c",
  1241.                     "ĉ": "c",
  1242.                     "ċ": "c",
  1243.                     "č": "c",
  1244.                     "ç": "c",
  1245.                     "ḉ": "c",
  1246.                     "ƈ": "c",
  1247.                     "ȼ": "c",
  1248.                     "ꜿ": "c",
  1249.                     "ↄ": "c",
  1250.                     "ⓓ": "d",
  1251.                     "d": "d",
  1252.                     "ḋ": "d",
  1253.                     "ď": "d",
  1254.                     "ḍ": "d",
  1255.                     "ḑ": "d",
  1256.                     "ḓ": "d",
  1257.                     "ḏ": "d",
  1258.                     "đ": "d",
  1259.                     "ƌ": "d",
  1260.                     "ɖ": "d",
  1261.                     "ɗ": "d",
  1262.                     "ꝺ": "d",
  1263.                     "dz": "dz",
  1264.                     "dž": "dz",
  1265.                     "ⓔ": "e",
  1266.                     "e": "e",
  1267.                     "è": "e",
  1268.                     "é": "e",
  1269.                     "ê": "e",
  1270.                     "ề": "e",
  1271.                     "ế": "e",
  1272.                     "ễ": "e",
  1273.                     "ể": "e",
  1274.                     "ẽ": "e",
  1275.                     "ē": "e",
  1276.                     "ḕ": "e",
  1277.                     "ḗ": "e",
  1278.                     "ĕ": "e",
  1279.                     "ė": "e",
  1280.                     "ë": "e",
  1281.                     "ẻ": "e",
  1282.                     "ě": "e",
  1283.                     "ȅ": "e",
  1284.                     "ȇ": "e",
  1285.                     "ẹ": "e",
  1286.                     "ệ": "e",
  1287.                     "ȩ": "e",
  1288.                     "ḝ": "e",
  1289.                     "ę": "e",
  1290.                     "ḙ": "e",
  1291.                     "ḛ": "e",
  1292.                     "ɇ": "e",
  1293.                     "ɛ": "e",
  1294.                     "ǝ": "e",
  1295.                     "ⓕ": "f",
  1296.                     "f": "f",
  1297.                     "ḟ": "f",
  1298.                     "ƒ": "f",
  1299.                     "ꝼ": "f",
  1300.                     "ⓖ": "g",
  1301.                     "g": "g",
  1302.                     "ǵ": "g",
  1303.                     "ĝ": "g",
  1304.                     "ḡ": "g",
  1305.                     "ğ": "g",
  1306.                     "ġ": "g",
  1307.                     "ǧ": "g",
  1308.                     "ģ": "g",
  1309.                     "ǥ": "g",
  1310.                     "ɠ": "g",
  1311.                     "ꞡ": "g",
  1312.                     "ᵹ": "g",
  1313.                     "ꝿ": "g",
  1314.                     "ⓗ": "h",
  1315.                     "h": "h",
  1316.                     "ĥ": "h",
  1317.                     "ḣ": "h",
  1318.                     "ḧ": "h",
  1319.                     "ȟ": "h",
  1320.                     "ḥ": "h",
  1321.                     "ḩ": "h",
  1322.                     "ḫ": "h",
  1323.                     "ẖ": "h",
  1324.                     "ħ": "h",
  1325.                     "ⱨ": "h",
  1326.                     "ⱶ": "h",
  1327.                     "ɥ": "h",
  1328.                     "ƕ": "hv",
  1329.                     "ⓘ": "i",
  1330.                     "i": "i",
  1331.                     "ì": "i",
  1332.                     "í": "i",
  1333.                     "î": "i",
  1334.                     "ĩ": "i",
  1335.                     "ī": "i",
  1336.                     "ĭ": "i",
  1337.                     "ï": "i",
  1338.                     "ḯ": "i",
  1339.                     "ỉ": "i",
  1340.                     "ǐ": "i",
  1341.                     "ȉ": "i",
  1342.                     "ȋ": "i",
  1343.                     "ị": "i",
  1344.                     "į": "i",
  1345.                     "ḭ": "i",
  1346.                     "ɨ": "i",
  1347.                     "ı": "i",
  1348.                     "ⓙ": "j",
  1349.                     "j": "j",
  1350.                     "ĵ": "j",
  1351.                     "ǰ": "j",
  1352.                     "ɉ": "j",
  1353.                     "ⓚ": "k",
  1354.                     "k": "k",
  1355.                     "ḱ": "k",
  1356.                     "ǩ": "k",
  1357.                     "ḳ": "k",
  1358.                     "ķ": "k",
  1359.                     "ḵ": "k",
  1360.                     "ƙ": "k",
  1361.                     "ⱪ": "k",
  1362.                     "ꝁ": "k",
  1363.                     "ꝃ": "k",
  1364.                     "ꝅ": "k",
  1365.                     "ꞣ": "k",
  1366.                     "ⓛ": "l",
  1367.                     "l": "l",
  1368.                     "ŀ": "l",
  1369.                     "ĺ": "l",
  1370.                     "ľ": "l",
  1371.                     "ḷ": "l",
  1372.                     "ḹ": "l",
  1373.                     "ļ": "l",
  1374.                     "ḽ": "l",
  1375.                     "ḻ": "l",
  1376.                     "ſ": "l",
  1377.                     "ł": "l",
  1378.                     "ƚ": "l",
  1379.                     "ɫ": "l",
  1380.                     "ⱡ": "l",
  1381.                     "ꝉ": "l",
  1382.                     "ꞁ": "l",
  1383.                     "ꝇ": "l",
  1384.                     "lj": "lj",
  1385.                     "ⓜ": "m",
  1386.                     "m": "m",
  1387.                     "ḿ": "m",
  1388.                     "ṁ": "m",
  1389.                     "ṃ": "m",
  1390.                     "ɱ": "m",
  1391.                     "ɯ": "m",
  1392.                     "ⓝ": "n",
  1393.                     "n": "n",
  1394.                     "ǹ": "n",
  1395.                     "ń": "n",
  1396.                     "ñ": "n",
  1397.                     "ṅ": "n",
  1398.                     "ň": "n",
  1399.                     "ṇ": "n",
  1400.                     "ņ": "n",
  1401.                     "ṋ": "n",
  1402.                     "ṉ": "n",
  1403.                     "ƞ": "n",
  1404.                     "ɲ": "n",
  1405.                     "ʼn": "n",
  1406.                     "ꞑ": "n",
  1407.                     "ꞥ": "n",
  1408.                     "nj": "nj",
  1409.                     "ⓞ": "o",
  1410.                     "o": "o",
  1411.                     "ò": "o",
  1412.                     "ó": "o",
  1413.                     "ô": "o",
  1414.                     "ồ": "o",
  1415.                     "ố": "o",
  1416.                     "ỗ": "o",
  1417.                     "ổ": "o",
  1418.                     "õ": "o",
  1419.                     "ṍ": "o",
  1420.                     "ȭ": "o",
  1421.                     "ṏ": "o",
  1422.                     "ō": "o",
  1423.                     "ṑ": "o",
  1424.                     "ṓ": "o",
  1425.                     "ŏ": "o",
  1426.                     "ȯ": "o",
  1427.                     "ȱ": "o",
  1428.                     "ö": "o",
  1429.                     "ȫ": "o",
  1430.                     "ỏ": "o",
  1431.                     "ő": "o",
  1432.                     "ǒ": "o",
  1433.                     "ȍ": "o",
  1434.                     "ȏ": "o",
  1435.                     "ơ": "o",
  1436.                     "ờ": "o",
  1437.                     "ớ": "o",
  1438.                     "ỡ": "o",
  1439.                     "ở": "o",
  1440.                     "ợ": "o",
  1441.                     "ọ": "o",
  1442.                     "ộ": "o",
  1443.                     "ǫ": "o",
  1444.                     "ǭ": "o",
  1445.                     "ø": "o",
  1446.                     "ǿ": "o",
  1447.                     "ɔ": "o",
  1448.                     "ꝋ": "o",
  1449.                     "ꝍ": "o",
  1450.                     "ɵ": "o",
  1451.                     "ƣ": "oi",
  1452.                     "ȣ": "ou",
  1453.                     "ꝏ": "oo",
  1454.                     "ⓟ": "p",
  1455.                     "p": "p",
  1456.                     "ṕ": "p",
  1457.                     "ṗ": "p",
  1458.                     "ƥ": "p",
  1459.                     "ᵽ": "p",
  1460.                     "ꝑ": "p",
  1461.                     "ꝓ": "p",
  1462.                     "ꝕ": "p",
  1463.                     "ⓠ": "q",
  1464.                     "q": "q",
  1465.                     "ɋ": "q",
  1466.                     "ꝗ": "q",
  1467.                     "ꝙ": "q",
  1468.                     "ⓡ": "r",
  1469.                     "r": "r",
  1470.                     "ŕ": "r",
  1471.                     "ṙ": "r",
  1472.                     "ř": "r",
  1473.                     "ȑ": "r",
  1474.                     "ȓ": "r",
  1475.                     "ṛ": "r",
  1476.                     "ṝ": "r",
  1477.                     "ŗ": "r",
  1478.                     "ṟ": "r",
  1479.                     "ɍ": "r",
  1480.                     "ɽ": "r",
  1481.                     "ꝛ": "r",
  1482.                     "ꞧ": "r",
  1483.                     "ꞃ": "r",
  1484.                     "ⓢ": "s",
  1485.                     "s": "s",
  1486.                     "ß": "s",
  1487.                     "ś": "s",
  1488.                     "ṥ": "s",
  1489.                     "ŝ": "s",
  1490.                     "ṡ": "s",
  1491.                     "š": "s",
  1492.                     "ṧ": "s",
  1493.                     "ṣ": "s",
  1494.                     "ṩ": "s",
  1495.                     "ș": "s",
  1496.                     "ş": "s",
  1497.                     "ȿ": "s",
  1498.                     "ꞩ": "s",
  1499.                     "ꞅ": "s",
  1500.                     "ẛ": "s",
  1501.                     "ⓣ": "t",
  1502.                     "t": "t",
  1503.                     "ṫ": "t",
  1504.                     "ẗ": "t",
  1505.                     "ť": "t",
  1506.                     "ṭ": "t",
  1507.                     "ț": "t",
  1508.                     "ţ": "t",
  1509.                     "ṱ": "t",
  1510.                     "ṯ": "t",
  1511.                     "ŧ": "t",
  1512.                     "ƭ": "t",
  1513.                     "ʈ": "t",
  1514.                     "ⱦ": "t",
  1515.                     "ꞇ": "t",
  1516.                     "ꜩ": "tz",
  1517.                     "ⓤ": "u",
  1518.                     "u": "u",
  1519.                     "ù": "u",
  1520.                     "ú": "u",
  1521.                     "û": "u",
  1522.                     "ũ": "u",
  1523.                     "ṹ": "u",
  1524.                     "ū": "u",
  1525.                     "ṻ": "u",
  1526.                     "ŭ": "u",
  1527.                     "ü": "u",
  1528.                     "ǜ": "u",
  1529.                     "ǘ": "u",
  1530.                     "ǖ": "u",
  1531.                     "ǚ": "u",
  1532.                     "ủ": "u",
  1533.                     "ů": "u",
  1534.                     "ű": "u",
  1535.                     "ǔ": "u",
  1536.                     "ȕ": "u",
  1537.                     "ȗ": "u",
  1538.                     "ư": "u",
  1539.                     "ừ": "u",
  1540.                     "ứ": "u",
  1541.                     "ữ": "u",
  1542.                     "ử": "u",
  1543.                     "ự": "u",
  1544.                     "ụ": "u",
  1545.                     "ṳ": "u",
  1546.                     "ų": "u",
  1547.                     "ṷ": "u",
  1548.                     "ṵ": "u",
  1549.                     "ʉ": "u",
  1550.                     "ⓥ": "v",
  1551.                     "v": "v",
  1552.                     "ṽ": "v",
  1553.                     "ṿ": "v",
  1554.                     "ʋ": "v",
  1555.                     "ꝟ": "v",
  1556.                     "ʌ": "v",
  1557.                     "ꝡ": "vy",
  1558.                     "ⓦ": "w",
  1559.                     "w": "w",
  1560.                     "ẁ": "w",
  1561.                     "ẃ": "w",
  1562.                     "ŵ": "w",
  1563.                     "ẇ": "w",
  1564.                     "ẅ": "w",
  1565.                     "ẘ": "w",
  1566.                     "ẉ": "w",
  1567.                     "ⱳ": "w",
  1568.                     "ⓧ": "x",
  1569.                     "x": "x",
  1570.                     "ẋ": "x",
  1571.                     "ẍ": "x",
  1572.                     "ⓨ": "y",
  1573.                     "y": "y",
  1574.                     "ỳ": "y",
  1575.                     "ý": "y",
  1576.                     "ŷ": "y",
  1577.                     "ỹ": "y",
  1578.                     "ȳ": "y",
  1579.                     "ẏ": "y",
  1580.                     "ÿ": "y",
  1581.                     "ỷ": "y",
  1582.                     "ẙ": "y",
  1583.                     "ỵ": "y",
  1584.                     "ƴ": "y",
  1585.                     "ɏ": "y",
  1586.                     "ỿ": "y",
  1587.                     "ⓩ": "z",
  1588.                     "z": "z",
  1589.                     "ź": "z",
  1590.                     "ẑ": "z",
  1591.                     "ż": "z",
  1592.                     "ž": "z",
  1593.                     "ẓ": "z",
  1594.                     "ẕ": "z",
  1595.                     "ƶ": "z",
  1596.                     "ȥ": "z",
  1597.                     "ɀ": "z",
  1598.                     "ⱬ": "z",
  1599.                     "ꝣ": "z",
  1600.                     "Ά": "Α",
  1601.                     "Έ": "Ε",
  1602.                     "Ή": "Η",
  1603.                     "Ί": "Ι",
  1604.                     "Ϊ": "Ι",
  1605.                     "Ό": "Ο",
  1606.                     "Ύ": "Υ",
  1607.                     "Ϋ": "Υ",
  1608.                     "Ώ": "Ω",
  1609.                     "ά": "α",
  1610.                     "έ": "ε",
  1611.                     "ή": "η",
  1612.                     "ί": "ι",
  1613.                     "ϊ": "ι",
  1614.                     "ΐ": "ι",
  1615.                     "ό": "ο",
  1616.                     "ύ": "υ",
  1617.                     "ϋ": "υ",
  1618.                     "ΰ": "υ",
  1619.                     "ω": "ω",
  1620.                     "ς": "σ"
  1621.                 };
  1622.                 RETURN a
  1623.             }), b.define("select2/data/base", ["../utils"], FUNCTION(a) {
  1624.                 FUNCTION b(a, c) {
  1625.                     b.__super__.constructor.call(this)
  1626.                 }
  1627.                 RETURN a.Extend(b, a.Observable), b.prototype.CURRENT = FUNCTION(a) {
  1628.                     throw NEW Error("The `current` method must be defined in child classes.")
  1629.                 }, b.prototype.query = FUNCTION(a, b) {
  1630.                     throw NEW Error("The `query` method must be defined in child classes.")
  1631.                 }, b.prototype.bind = FUNCTION(a, b) {}, b.prototype.destroy = FUNCTION() {}, b.prototype.generateResultId = FUNCTION(b, c) {
  1632.                     var d = b.id + "-result-";
  1633.                     RETURN d += a.generateChars(4), d += NULL != c.id ? "-" + c.id.toString() : "-" + a.generateChars(4)
  1634.                 }, b
  1635.             }), b.define("select2/data/select", ["./base", "../utils", "jquery"], FUNCTION(a, b, c) {
  1636.                 FUNCTION d(a, b) {
  1637.                     this.$element = a, this.options = b, d.__super__.constructor.call(this)
  1638.                 }
  1639.                 RETURN b.Extend(d, a), d.prototype.CURRENT = FUNCTION(a) {
  1640.                     var b = [],
  1641.                         d = this;
  1642.                     this.$element.find(":selected").each(FUNCTION() {
  1643.                         var a = c(this),
  1644.                             e = d.item(a);
  1645.                         b.push(e)
  1646.                     }), a(b)
  1647.                 }, d.prototype.SELECT = FUNCTION(a) {
  1648.                     var b = this;
  1649.                     IF (a.selected = !0, c(a.element).IS("option")) RETURN a.element.selected = !0, void this.$element.TRIGGER("change");
  1650.                     IF (this.$element.prop("multiple")) this.CURRENT(FUNCTION(d) {
  1651.                         var e = [];
  1652.                         a = [a], a.push.apply(a, d);
  1653.                         FOR (var f = 0; f < a.LENGTH; f++) {
  1654.                             var g = a[f].id; - 1 === c.inArray(g, e) && e.push(g)
  1655.                         }
  1656.                         b.$element.val(e), b.$element.TRIGGER("change")
  1657.                     });
  1658.                     ELSE {
  1659.                         var d = a.id;
  1660.                         this.$element.val(d), this.$element.TRIGGER("change")
  1661.                     }
  1662.                 }, d.prototype.unselect = FUNCTION(a) {
  1663.                     var b = this;
  1664.                     IF (this.$element.prop("multiple")) RETURN a.selected = !1, c(a.element).IS("option") ? (a.element.selected = !1, void this.$element.TRIGGER("change")) : void this.CURRENT(FUNCTION(d) {
  1665.                         FOR (var e = [], f = 0; f < d.LENGTH; f++) {
  1666.                             var g = d[f].id;
  1667.                             g !== a.id && -1 === c.inArray(g, e) && e.push(g)
  1668.                         }
  1669.                         b.$element.val(e), b.$element.TRIGGER("change")
  1670.                     })
  1671.                 }, d.prototype.bind = FUNCTION(a, b) {
  1672.                     var c = this;
  1673.                     this.container = a, a.ON("select", FUNCTION(a) {
  1674.                         c.SELECT(a.data)
  1675.                     }), a.ON("unselect", FUNCTION(a) {
  1676.                         c.unselect(a.data)
  1677.                     })
  1678.                 }, d.prototype.destroy = FUNCTION() {
  1679.                     this.$element.find("*").each(FUNCTION() {
  1680.                         c.removeData(this, "data")
  1681.                     })
  1682.                 }, d.prototype.query = FUNCTION(a, b) {
  1683.                     var d = [],
  1684.                         e = this,
  1685.                         f = this.$element.children();
  1686.                     f.each(FUNCTION() {
  1687.                         var b = c(this);
  1688.                         IF (b.IS("option") || b.IS("optgroup")) {
  1689.                             var f = e.item(b),
  1690.                                 g = e.matches(a, f);
  1691.                             NULL !== g && d.push(g)
  1692.                         }
  1693.                     }), b({
  1694.                         results: d
  1695.                     })
  1696.                 }, d.prototype.addOptions = FUNCTION(a) {
  1697.                     b.appendMany(this.$element, a)
  1698.                 }, d.prototype.OPTION = FUNCTION(a) {
  1699.                     var b;
  1700.                     a.children ? (b = document.createElement("optgroup"), b.label = a.text) : (b = document.createElement("option"), void 0 !== b.textContent ? b.textContent = a.text : b.innerText = a.text), a.id && (b.VALUE = a.id), a.disabled && (b.disabled = !0), a.selected && (b.selected = !0), a.title && (b.title = a.title);
  1701.                     var d = c(b),
  1702.                         e = this._normalizeItem(a);
  1703.                     RETURN e.element = b, c.data(b, "data", e), d
  1704.                 }, d.prototype.item = FUNCTION(a) {
  1705.                     var b = {};
  1706.                     IF (b = c.data(a[0], "data"), NULL != b) RETURN b;
  1707.                     IF (a.IS("option")) b = {
  1708.                         id: a.val(),
  1709.                         text: a.text(),
  1710.                         disabled: a.prop("disabled"),
  1711.                         selected: a.prop("selected"),
  1712.                         title: a.prop("title")
  1713.                     };
  1714.                     ELSE IF (a.IS("optgroup")) {
  1715.                         b = {
  1716.                             text: a.prop("label"),
  1717.                             children: [],
  1718.                             title: a.prop("title")
  1719.                         };
  1720.                         FOR (var d = a.children("option"), e = [], f = 0; f < d.LENGTH; f++) {
  1721.                             var g = c(d[f]),
  1722.                                 h = this.item(g);
  1723.                             e.push(h)
  1724.                         }
  1725.                         b.children = e
  1726.                     }
  1727.                     RETURN b = this._normalizeItem(b), b.element = a[0], c.data(a[0], "data", b), b
  1728.                 }, d.prototype._normalizeItem = FUNCTION(a) {
  1729.                     c.isPlainObject(a) || (a = {
  1730.                         id: a,
  1731.                         text: a
  1732.                     }), a = c.extend({}, {
  1733.                         text: ""
  1734.                     }, a);
  1735.                     var b = {
  1736.                         selected: !1,
  1737.                         disabled: !1
  1738.                     };
  1739.                     RETURN NULL != a.id && (a.id = a.id.toString()), NULL != a.text && (a.text = a.text.toString()), NULL == a._resultId && a.id && NULL != this.container && (a._resultId = this.generateResultId(this.container, a)), c.extend({}, b, a)
  1740.                 }, d.prototype.matches = FUNCTION(a, b) {
  1741.                     var c = this.options.get("matcher");
  1742.                     RETURN c(a, b)
  1743.                 }, d
  1744.             }), b.define("select2/data/array", ["./select", "../utils", "jquery"], FUNCTION(a, b, c) {
  1745.                 FUNCTION d(a, b) {
  1746.                     var c = b.get("data") || [];
  1747.                     d.__super__.constructor.call(this, a, b), this.addOptions(this.convertToOptions(c))
  1748.                 }
  1749.                 RETURN b.Extend(d, a), d.prototype.SELECT = FUNCTION(a) {
  1750.                     var b = this.$element.find("option").filter(FUNCTION(b, c) {
  1751.                         RETURN c.VALUE == a.id.toString()
  1752.                     });
  1753.                     0 === b.LENGTH && (b = this.OPTION(a), this.addOptions(b)), d.__super__.SELECT.call(this, a)
  1754.                 }, d.prototype.convertToOptions = FUNCTION(a) {
  1755.                     FUNCTION d(a) {
  1756.                         RETURN FUNCTION() {
  1757.                             RETURN c(this).val() == a.id
  1758.                         }
  1759.                     }
  1760.                     FOR (var e = this, f = this.$element.find("option"), g = f.map(FUNCTION() {
  1761.                             RETURN e.item(c(this)).id
  1762.                         }).get(), h = [], i = 0; i < a.LENGTH; i++) {
  1763.                         var j = this._normalizeItem(a[i]);
  1764.                         IF (c.inArray(j.id, g) >= 0) {
  1765.                             var k = f.filter(d(j)),
  1766.                                 l = this.item(k),
  1767.                                 m = c.extend(!0, {}, j, l),
  1768.                                 n = this.OPTION(m);
  1769.                             k.replaceWith(n)
  1770.                         } ELSE {
  1771.                             var o = this.OPTION(j);
  1772.                             IF (j.children) {
  1773.                                 var p = this.convertToOptions(j.children);
  1774.                                 b.appendMany(o, p)
  1775.                             }
  1776.                             h.push(o)
  1777.                         }
  1778.                     }
  1779.                     RETURN h
  1780.                 }, d
  1781.             }), b.define("select2/data/ajax", ["./array", "../utils", "jquery"], FUNCTION(a, b, c) {
  1782.                 FUNCTION d(a, b) {
  1783.                     this.ajaxOptions = this._applyDefaults(b.get("ajax")), NULL != this.ajaxOptions.processResults && (this.processResults = this.ajaxOptions.processResults), d.__super__.constructor.call(this, a, b)
  1784.                 }
  1785.                 RETURN b.Extend(d, a), d.prototype._applyDefaults = FUNCTION(a) {
  1786.                     var b = {
  1787.                         data: FUNCTION(a) {
  1788.                             RETURN c.extend({}, a, {
  1789.                                 q: a.term
  1790.                             })
  1791.                         },
  1792.                         transport: FUNCTION(a, b, d) {
  1793.                             var e = c.ajax(a);
  1794.                             RETURN e.THEN(b), e.fail(d), e
  1795.                         }
  1796.                     };
  1797.                     RETURN c.extend({}, b, a, !0)
  1798.                 }, d.prototype.processResults = FUNCTION(a) {
  1799.                     RETURN a
  1800.                 }, d.prototype.query = FUNCTION(a, b) {
  1801.                     FUNCTION d() {
  1802.                         var d = f.transport(f, FUNCTION(d) {
  1803.                             var f = e.processResults(d, a);
  1804.                             e.options.get("debug") && window.console && console.error && (f && f.results && c.isArray(f.results) || console.error("Select2: The AJAX results did not return an array in the `results` key of the response.")), b(f)
  1805.                         }, FUNCTION() {
  1806.                             d.status && "0" === d.status || e.TRIGGER("results:message", {
  1807.                                 message: "errorLoading"
  1808.                             })
  1809.                         });
  1810.                         e._request = d
  1811.                     }
  1812.                     var e = this;
  1813.                     NULL != this._request && (c.isFunction(this._request.abort) && this._request.abort(), this._request = NULL);
  1814.                     var f = c.extend({
  1815.                         TYPE: "GET"
  1816.                     }, this.ajaxOptions);
  1817.                     "function" == typeof f.url && (f.url = f.url.call(this.$element, a)), "function" == typeof f.data && (f.data = f.data.call(this.$element, a)), this.ajaxOptions.delay && NULL != a.term ? (this._queryTimeout && window.clearTimeout(this._queryTimeout), this._queryTimeout = window.setTimeout(d, this.ajaxOptions.delay)) : d()
  1818.                 }, d
  1819.             }), b.define("select2/data/tags", ["jquery"], FUNCTION(a) {
  1820.                 FUNCTION b(b, c, d) {
  1821.                     var e = d.get("tags"),
  1822.                         f = d.get("createTag");
  1823.                     void 0 !== f && (this.createTag = f);
  1824.                     var g = d.get("insertTag");
  1825.                     IF (void 0 !== g && (this.insertTag = g), b.call(this, c, d), a.isArray(e))
  1826.                         FOR (var h = 0; h < e.LENGTH; h++) {
  1827.                             var i = e[h],
  1828.                                 j = this._normalizeItem(i),
  1829.                                 k = this.OPTION(j);
  1830.                             this.$element.append(k)
  1831.                         }
  1832.                 }
  1833.                 RETURN b.prototype.query = FUNCTION(a, b, c) {
  1834.                     FUNCTION d(a, f) {
  1835.                         FOR (var g = a.results, h = 0; h < g.LENGTH; h++) {
  1836.                             var i = g[h],
  1837.                                 j = NULL != i.children && !d({
  1838.                                     results: i.children
  1839.                                 }, !0),
  1840.                                 k = i.text === b.term;
  1841.                             IF (k || j) RETURN f ? !1 : (a.data = g, void c(a))
  1842.                         }
  1843.                         IF (f) RETURN !0;
  1844.                         var l = e.createTag(b);
  1845.                         IF (NULL != l) {
  1846.                             var m = e.OPTION(l);
  1847.                             m.attr("data-select2-tag", !0), e.addOptions([m]), e.insertTag(g, l)
  1848.                         }
  1849.                         a.results = g, c(a)
  1850.                     }
  1851.                     var e = this;
  1852.                     RETURN this._removeOldTags(), NULL == b.term || NULL != b.page ? void a.call(this, b, c) : void a.call(this, b, d)
  1853.                 }, b.prototype.createTag = FUNCTION(b, c) {
  1854.                     var d = a.TRIM(c.term);
  1855.                     RETURN "" === d ? NULL : {
  1856.                         id: d,
  1857.                         text: d
  1858.                     }
  1859.                 }, b.prototype.insertTag = FUNCTION(a, b, c) {
  1860.                     b.unshift(c)
  1861.                 }, b.prototype._removeOldTags = FUNCTION(b) {
  1862.                     var c = (this._lastTag, this.$element.find("option[data-select2-tag]"));
  1863.                     c.each(FUNCTION() {
  1864.                         this.selected || a(this).remove()
  1865.                     })
  1866.                 }, b
  1867.             }), b.define("select2/data/tokenizer", ["jquery"], FUNCTION(a) {
  1868.                 FUNCTION b(a, b, c) {
  1869.                     var d = c.get("tokenizer");
  1870.                     void 0 !== d && (this.tokenizer = d), a.call(this, b, c)
  1871.                 }
  1872.                 RETURN b.prototype.bind = FUNCTION(a, b, c) {
  1873.                     a.call(this, b, c), this.$search = b.dropdown.$search || b.selection.$search || c.find(".select2-search__field")
  1874.                 }, b.prototype.query = FUNCTION(b, c, d) {
  1875.                     FUNCTION e(b) {
  1876.                         var c = g._normalizeItem(b),
  1877.                             d = g.$element.find("option").filter(FUNCTION() {
  1878.                                 RETURN a(this).val() === c.id
  1879.                             });
  1880.                         IF (!d.LENGTH) {
  1881.                             var e = g.OPTION(c);
  1882.                             e.attr("data-select2-tag", !0), g._removeOldTags(), g.addOptions([e])
  1883.                         }
  1884.                         f(c)
  1885.                     }
  1886.  
  1887.                     FUNCTION f(a) {
  1888.                         g.TRIGGER("select", {
  1889.                             data: a
  1890.                         })
  1891.                     }
  1892.                     var g = this;
  1893.                     c.term = c.term || "";
  1894.                     var h = this.tokenizer(c, this.options, e);
  1895.                     h.term !== c.term && (this.$search.LENGTH && (this.$search.val(h.term), this.$search.focus()), c.term = h.term), b.call(this, c, d)
  1896.                 }, b.prototype.tokenizer = FUNCTION(b, c, d, e) {
  1897.                     FOR (var f = d.get("tokenSeparators") || [], g = c.term, h = 0, i = this.createTag || FUNCTION(a) {
  1898.                             RETURN {
  1899.                                 id: a.term,
  1900.                                 text: a.term
  1901.                             }
  1902.                         }; h < g.LENGTH;) {
  1903.                         var j = g[h];
  1904.                         IF (-1 !== a.inArray(j, f)) {
  1905.                             var k = g.SUBSTR(0, h),
  1906.                                 l = a.extend({}, c, {
  1907.                                     term: k
  1908.                                 }),
  1909.                                 m = i(l);
  1910.                             NULL != m ? (e(m), g = g.SUBSTR(h + 1) || "", h = 0) : h++
  1911.                         } ELSE h++
  1912.                     }
  1913.                     RETURN {
  1914.                         term: g
  1915.                     }
  1916.                 }, b
  1917.             }), b.define("select2/data/minimumInputLength", [], FUNCTION() {
  1918.                 FUNCTION a(a, b, c) {
  1919.                     this.minimumInputLength = c.get("minimumInputLength"), a.call(this, b, c)
  1920.                 }
  1921.                 RETURN a.prototype.query = FUNCTION(a, b, c) {
  1922.                     RETURN b.term = b.term || "", b.term.LENGTH < this.minimumInputLength ? void this.TRIGGER("results:message", {
  1923.                         message: "inputTooShort",
  1924.                         args: {
  1925.                             minimum: this.minimumInputLength,
  1926.                             input: b.term,
  1927.                             params: b
  1928.                         }
  1929.                     }) : void a.call(this, b, c)
  1930.                 }, a
  1931.             }), b.define("select2/data/maximumInputLength", [], FUNCTION() {
  1932.                 FUNCTION a(a, b, c) {
  1933.                     this.maximumInputLength = c.get("maximumInputLength"), a.call(this, b, c)
  1934.                 }
  1935.                 RETURN a.prototype.query = FUNCTION(a, b, c) {
  1936.                     RETURN b.term = b.term || "", this.maximumInputLength > 0 && b.term.LENGTH > this.maximumInputLength ? void this.TRIGGER("results:message", {
  1937.                         message: "inputTooLong",
  1938.                         args: {
  1939.                             maximum: this.maximumInputLength,
  1940.                             input: b.term,
  1941.                             params: b
  1942.                         }
  1943.                     }) : void a.call(this, b, c)
  1944.                 }, a
  1945.             }), b.define("select2/data/maximumSelectionLength", [], FUNCTION() {
  1946.                 FUNCTION a(a, b, c) {
  1947.                     this.maximumSelectionLength = c.get("maximumSelectionLength"), a.call(this, b, c)
  1948.                 }
  1949.                 RETURN a.prototype.query = FUNCTION(a, b, c) {
  1950.                     var d = this;
  1951.                     this.CURRENT(FUNCTION(e) {
  1952.                         var f = NULL != e ? e.LENGTH : 0;
  1953.                         RETURN d.maximumSelectionLength > 0 && f >= d.maximumSelectionLength ? void d.TRIGGER("results:message", {
  1954.                             message: "maximumSelected",
  1955.                             args: {
  1956.                                 maximum: d.maximumSelectionLength
  1957.                             }
  1958.                         }) : void a.call(d, b, c)
  1959.                     })
  1960.                 }, a
  1961.             }), b.define("select2/dropdown", ["jquery", "./utils"], FUNCTION(a, b) {
  1962.                 FUNCTION c(a, b) {
  1963.                     this.$element = a, this.options = b, c.__super__.constructor.call(this)
  1964.                 }
  1965.                 RETURN b.Extend(c, b.Observable), c.prototype.render = FUNCTION() {
  1966.                     var b = a('<span class="select2-dropdown"><span class="select2-results"></span></span>');
  1967.                     RETURN b.attr("dir", this.options.get("dir")), this.$dropdown = b, b
  1968.                 }, c.prototype.bind = FUNCTION() {}, c.prototype.position = FUNCTION(a, b) {}, c.prototype.destroy = FUNCTION() {
  1969.                     this.$dropdown.remove()
  1970.                 }, c
  1971.             }), b.define("select2/dropdown/search", ["jquery", "../utils"], FUNCTION(a, b) {
  1972.                 FUNCTION c() {}
  1973.                 RETURN c.prototype.render = FUNCTION(b) {
  1974.                     var c = b.call(this),
  1975.                         d = a('<span class="select2-search select2-search--dropdown"><input class="select2-search__field" type="search" tabindex="-1" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false" role="textbox" /></span>');
  1976.                     RETURN this.$searchContainer = d, this.$search = d.find("input"), c.prepend(d), c
  1977.                 }, c.prototype.bind = FUNCTION(b, c, d) {
  1978.                     var e = this;
  1979.                     b.call(this, c, d), this.$search.ON("keydown", FUNCTION(a) {
  1980.                         e.TRIGGER("keypress", a), e._keyUpPrevented = a.isDefaultPrevented()
  1981.                     }), this.$search.ON("input", FUNCTION(b) {
  1982.                         a(this).off("keyup")
  1983.                     }), this.$search.ON("keyup input", FUNCTION(a) {
  1984.                         e.handleSearch(a)
  1985.                     }), c.ON("open", FUNCTION() {
  1986.                         e.$search.attr("tabindex", 0), e.$search.focus(), window.setTimeout(FUNCTION() {
  1987.                             e.$search.focus()
  1988.                         }, 0)
  1989.                     }), c.ON("close", FUNCTION() {
  1990.                         e.$search.attr("tabindex", -1), e.$search.val("")
  1991.                     }), c.ON("focus", FUNCTION() {
  1992.                         c.isOpen() && e.$search.focus()
  1993.                     }), c.ON("results:all", FUNCTION(a) {
  1994.                         IF (NULL == a.query.term || "" === a.query.term) {
  1995.                             var b = e.showSearch(a);
  1996.                             b ? e.$searchContainer.removeClass("select2-search--hide") : e.$searchContainer.addClass("select2-search--hide")
  1997.                         }
  1998.                     })
  1999.                 }, c.prototype.handleSearch = FUNCTION(a) {
  2000.                     IF (!this._keyUpPrevented) {
  2001.                         var b = this.$search.val();
  2002.                         this.TRIGGER("query", {
  2003.                             term: b
  2004.                         })
  2005.                     }
  2006.                     this._keyUpPrevented = !1
  2007.                 }, c.prototype.showSearch = FUNCTION(a, b) {
  2008.                     RETURN !0
  2009.                 }, c
  2010.             }), b.define("select2/dropdown/hidePlaceholder", [], FUNCTION() {
  2011.                 FUNCTION a(a, b, c, d) {
  2012.                     this.placeholder = this.normalizePlaceholder(c.get("placeholder")), a.call(this, b, c, d)
  2013.                 }
  2014.                 RETURN a.prototype.append = FUNCTION(a, b) {
  2015.                     b.results = this.removePlaceholder(b.results), a.call(this, b)
  2016.                 }, a.prototype.normalizePlaceholder = FUNCTION(a, b) {
  2017.                     RETURN "string" == typeof b && (b = {
  2018.                         id: "",
  2019.                         text: b
  2020.                     }), b
  2021.                 }, a.prototype.removePlaceholder = FUNCTION(a, b) {
  2022.                     FOR (var c = b.slice(0), d = b.LENGTH - 1; d >= 0; d--) {
  2023.                         var e = b[d];
  2024.                         this.placeholder.id === e.id && c.splice(d, 1)
  2025.                     }
  2026.                     RETURN c
  2027.                 }, a
  2028.             }), b.define("select2/dropdown/infiniteScroll", ["jquery"], FUNCTION(a) {
  2029.                 FUNCTION b(a, b, c, d) {
  2030.                     this.lastParams = {}, a.call(this, b, c, d), this.$loadingMore = this.createLoadingMore(), this.loading = !1
  2031.                 }
  2032.                 RETURN b.prototype.append = FUNCTION(a, b) {
  2033.                     this.$loadingMore.remove(), this.loading = !1, a.call(this, b), this.showLoadingMore(b) && this.$results.append(this.$loadingMore)
  2034.                 }, b.prototype.bind = FUNCTION(b, c, d) {
  2035.                     var e = this;
  2036.                     b.call(this, c, d), c.ON("query", FUNCTION(a) {
  2037.                         e.lastParams = a, e.loading = !0
  2038.                     }), c.ON("query:append", FUNCTION(a) {
  2039.                         e.lastParams = a, e.loading = !0
  2040.                     }), this.$results.ON("scroll", FUNCTION() {
  2041.                         var b = a.contains(document.documentElement, e.$loadingMore[0]);
  2042.                         IF (!e.loading && b) {
  2043.                             var c = e.$results.offset().top + e.$results.outerHeight(!1),
  2044.                                 d = e.$loadingMore.offset().top + e.$loadingMore.outerHeight(!1);
  2045.                             c + 50 >= d && e.loadMore()
  2046.                         }
  2047.                     })
  2048.                 }, b.prototype.loadMore = FUNCTION() {
  2049.                     this.loading = !0;
  2050.                     var b = a.extend({}, {
  2051.                         page: 1
  2052.                     }, this.lastParams);
  2053.                     b.page++, this.TRIGGER("query:append", b)
  2054.                 }, b.prototype.showLoadingMore = FUNCTION(a, b) {
  2055.                     RETURN b.pagination && b.pagination.more
  2056.                 }, b.prototype.createLoadingMore = FUNCTION() {
  2057.                     var b = a('<li class="select2-results__option select2-results__option--load-more"role="treeitem" aria-disabled="true"></li>'),
  2058.                         c = this.options.get("translations").get("loadingMore");
  2059.                     RETURN b.html(c(this.lastParams)), b
  2060.                 }, b
  2061.             }), b.define("select2/dropdown/attachBody", ["jquery", "../utils"], FUNCTION(a, b) {
  2062.                 FUNCTION c(b, c, d) {
  2063.                     this.$dropdownParent = d.get("dropdownParent") || a(document.BODY), b.call(this, c, d)
  2064.                 }
  2065.                 RETURN c.prototype.bind = FUNCTION(a, b, c) {
  2066.                     var d = this,
  2067.                         e = !1;
  2068.                     a.call(this, b, c), b.ON("open", FUNCTION() {
  2069.                         d._showDropdown(), d._attachPositioningHandler(b), e || (e = !0, b.ON("results:all", FUNCTION() {
  2070.                             d._positionDropdown(), d._resizeDropdown()
  2071.                         }), b.ON("results:append", FUNCTION() {
  2072.                             d._positionDropdown(), d._resizeDropdown()
  2073.                         }))
  2074.                     }), b.ON("close", FUNCTION() {
  2075.                         d._hideDropdown(), d._detachPositioningHandler(b)
  2076.                     }), this.$dropdownContainer.ON("mousedown", FUNCTION(a) {
  2077.                         a.stopPropagation()
  2078.                     })
  2079.                 }, c.prototype.destroy = FUNCTION(a) {
  2080.                     a.call(this), this.$dropdownContainer.remove()
  2081.                 }, c.prototype.position = FUNCTION(a, b, c) {
  2082.                     b.attr("class", c.attr("class")), b.removeClass("select2"), b.addClass("select2-container--open"), b.css({
  2083.                         position: "absolute",
  2084.                         top: -999999
  2085.                     }), this.$container = c
  2086.                 }, c.prototype.render = FUNCTION(b) {
  2087.                     var c = a("<span></span>"),
  2088.                         d = b.call(this);
  2089.                     RETURN c.append(d), this.$dropdownContainer = c, c
  2090.                 }, c.prototype._hideDropdown = FUNCTION(a) {
  2091.                     this.$dropdownContainer.detach()
  2092.                 }, c.prototype._attachPositioningHandler = FUNCTION(c, d) {
  2093.                     var e = this,
  2094.                         f = "scroll.select2." + d.id,
  2095.                         g = "resize.select2." + d.id,
  2096.                         h = "orientationchange.select2." + d.id,
  2097.                         i = this.$container.parents().filter(b.hasScroll);
  2098.                     i.each(FUNCTION() {
  2099.                         a(this).data("select2-scroll-position", {
  2100.                             x: a(this).scrollLeft(),
  2101.                             y: a(this).scrollTop()
  2102.                         })
  2103.                     }), i.ON(f, FUNCTION(b) {
  2104.                         var c = a(this).data("select2-scroll-position");
  2105.                         a(this).scrollTop(c.y)
  2106.                     }), a(window).ON(f + " " + g + " " + h, FUNCTION(a) {
  2107.                         e._positionDropdown(), e._resizeDropdown()
  2108.                     })
  2109.                 }, c.prototype._detachPositioningHandler = FUNCTION(c, d) {
  2110.                     var e = "scroll.select2." + d.id,
  2111.                         f = "resize.select2." + d.id,
  2112.                         g = "orientationchange.select2." + d.id,
  2113.                         h = this.$container.parents().filter(b.hasScroll);
  2114.                     h.off(e), a(window).off(e + " " + f + " " + g)
  2115.                 }, c.prototype._positionDropdown = FUNCTION() {
  2116.                     var b = a(window),
  2117.                         c = this.$dropdown.hasClass("select2-dropdown--above"),
  2118.                         d = this.$dropdown.hasClass("select2-dropdown--below"),
  2119.                         e = NULL,
  2120.                         f = this.$container.offset();
  2121.                     f.bottom = f.top + this.$container.outerHeight(!1);
  2122.                     var g = {
  2123.                         height: this.$container.outerHeight(!1)
  2124.                     };
  2125.                     g.top = f.top, g.bottom = f.top + g.height;
  2126.                     var h = {
  2127.                             height: this.$dropdown.outerHeight(!1)
  2128.                         },
  2129.                         i = {
  2130.                             top: b.scrollTop(),
  2131.                             bottom: b.scrollTop() + b.height()
  2132.                         },
  2133.                         j = i.top < f.top - h.height,
  2134.                         k = i.bottom > f.bottom + h.height,
  2135.                         l = {
  2136.                             left: f.left,
  2137.                             top: g.bottom
  2138.                         },
  2139.                         m = this.$dropdownParent;
  2140.                     "static" === m.css("position") && (m = m.offsetParent());
  2141.                     var n = m.offset();
  2142.                     l.top -= n.top, l.left -= n.left, c || d || (e = "below"), k || !j || c ? !j && k && c && (e = "below") : e = "above", ("above" == e || c && "below" !== e) && (l.top = g.top - n.top - h.height), NULL != e && (this.$dropdown.removeClass("select2-dropdown--below select2-dropdown--above").addClass("select2-dropdown--" + e), this.$container.removeClass("select2-container--below select2-container--above").addClass("select2-container--" + e)), this.$dropdownContainer.css(l)
  2143.                 }, c.prototype._resizeDropdown = FUNCTION() {
  2144.                     var a = {
  2145.                         width: this.$container.outerWidth(!1) + "px"
  2146.                     };
  2147.                     this.options.get("dropdownAutoWidth") && (a.minWidth = a.width, a.position = "relative", a.width = "auto"), this.$dropdown.css(a)
  2148.                 }, c.prototype._showDropdown = FUNCTION(a) {
  2149.                     this.$dropdownContainer.appendTo(this.$dropdownParent), this._positionDropdown(), this._resizeDropdown()
  2150.                 }, c
  2151.             }), b.define("select2/dropdown/minimumResultsForSearch", [], FUNCTION() {
  2152.                 FUNCTION a(b) {
  2153.                     FOR (var c = 0, d = 0; d < b.LENGTH; d++) {
  2154.                         var e = b[d];
  2155.                         e.children ? c += a(e.children) : c++
  2156.                     }
  2157.                     RETURN c
  2158.                 }
  2159.  
  2160.                 FUNCTION b(a, b, c, d) {
  2161.                     this.minimumResultsForSearch = c.get("minimumResultsForSearch"), this.minimumResultsForSearch < 0 && (this.minimumResultsForSearch = 1 / 0), a.call(this, b, c, d)
  2162.                 }
  2163.                 RETURN b.prototype.showSearch = FUNCTION(b, c) {
  2164.                     RETURN a(c.data.results) < this.minimumResultsForSearch ? !1 : b.call(this, c)
  2165.                 }, b
  2166.             }), b.define("select2/dropdown/selectOnClose", [], FUNCTION() {
  2167.                 FUNCTION a() {}
  2168.                 RETURN a.prototype.bind = FUNCTION(a, b, c) {
  2169.                     var d = this;
  2170.                     a.call(this, b, c), b.ON("close", FUNCTION(a) {
  2171.                         d._handleSelectOnClose(a)
  2172.                     })
  2173.                 }, a.prototype._handleSelectOnClose = FUNCTION(a, b) {
  2174.                     IF (b && NULL != b.originalSelect2Event) {
  2175.                         var c = b.originalSelect2Event;
  2176.                         IF ("select" === c._type || "unselect" === c._type) RETURN
  2177.                     }
  2178.                     var d = this.getHighlightedResults();
  2179.                     IF (!(d.LENGTH < 1)) {
  2180.                         var e = d.data("data");
  2181.                         NULL != e.element && e.element.selected || NULL == e.element && e.selected || this.TRIGGER("select", {
  2182.                             data: e
  2183.                         })
  2184.                     }
  2185.                 }, a
  2186.             }), b.define("select2/dropdown/closeOnSelect", [], FUNCTION() {
  2187.                 FUNCTION a() {}
  2188.                 RETURN a.prototype.bind = FUNCTION(a, b, c) {
  2189.                     var d = this;
  2190.                     a.call(this, b, c), b.ON("select", FUNCTION(a) {
  2191.                         d._selectTriggered(a)
  2192.                     }), b.ON("unselect", FUNCTION(a) {
  2193.                         d._selectTriggered(a)
  2194.                     })
  2195.                 }, a.prototype._selectTriggered = FUNCTION(a, b) {
  2196.                     var c = b.originalEvent;
  2197.                     c && c.ctrlKey || this.TRIGGER("close", {
  2198.                         originalEvent: c,
  2199.                         originalSelect2Event: b
  2200.                     })
  2201.                 }, a
  2202.             }), b.define("select2/i18n/en", [], FUNCTION() {
  2203.                 RETURN {
  2204.                     errorLoading: FUNCTION() {
  2205.                         RETURN "The results could not be loaded."
  2206.                     },
  2207.                     inputTooLong: FUNCTION(a) {
  2208.                         var b = a.input.LENGTH - a.maximum,
  2209.                             c = "Please delete " + b + " character";
  2210.                         RETURN 1 != b && (c += "s"), c
  2211.                     },
  2212.                     inputTooShort: FUNCTION(a) {
  2213.                         var b = a.minimum - a.input.LENGTH,
  2214.                             c = "Please enter " + b + " or more characters";
  2215.                         RETURN c
  2216.                     },
  2217.                     loadingMore: FUNCTION() {
  2218.                         RETURN "Loading more results…"
  2219.                     },
  2220.                     maximumSelected: FUNCTION(a) {
  2221.                         var b = "You can only select " + a.maximum + " item";
  2222.                         RETURN 1 != a.maximum && (b += "s"), b
  2223.                     },
  2224.                     noResults: FUNCTION() {
  2225.                         RETURN "No results found"
  2226.                     },
  2227.                     searching: FUNCTION() {
  2228.                         RETURN "Searching…"
  2229.                     }
  2230.                 }
  2231.             }), b.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(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y, z, A, B, C) {
  2232.                 FUNCTION D() {
  2233.                     this.reset()
  2234.                 }
  2235.                 D.prototype.apply = FUNCTION(l) {
  2236.                     IF (l = a.extend(!0, {}, this.defaults, l), NULL == l.dataAdapter) {
  2237.                         IF (NULL != l.ajax ? l.dataAdapter = o : NULL != l.data ? l.dataAdapter = n : l.dataAdapter = m, l.minimumInputLength > 0 && (l.dataAdapter = j.Decorate(l.dataAdapter, r)), l.maximumInputLength > 0 && (l.dataAdapter = j.Decorate(l.dataAdapter, s)), l.maximumSelectionLength > 0 && (l.dataAdapter = j.Decorate(l.dataAdapter, t)), l.tags && (l.dataAdapter = j.Decorate(l.dataAdapter, p)), (NULL != l.tokenSeparators || NULL != l.tokenizer) && (l.dataAdapter = j.Decorate(l.dataAdapter, q)), NULL != l.query) {
  2238.                             var C = b(l.amdBase + "compat/query");
  2239.                             l.dataAdapter = j.Decorate(l.dataAdapter, C)
  2240.                         }
  2241.                         IF (NULL != l.initSelection) {
  2242.                             var D = b(l.amdBase + "compat/initSelection");
  2243.                             l.dataAdapter = j.Decorate(l.dataAdapter, D)
  2244.                         }
  2245.                     }
  2246.                     IF (NULL == l.resultsAdapter && (l.resultsAdapter = c, NULL != l.ajax && (l.resultsAdapter = j.Decorate(l.resultsAdapter, x)), NULL != l.placeholder && (l.resultsAdapter = j.Decorate(l.resultsAdapter, w)), l.selectOnClose && (l.resultsAdapter = j.Decorate(l.resultsAdapter, A))), NULL == l.dropdownAdapter) {
  2247.                         IF (l.multiple) l.dropdownAdapter = u;
  2248.                         ELSE {
  2249.                             var E = j.Decorate(u, v);
  2250.                             l.dropdownAdapter = E
  2251.                         }
  2252.                         IF (0 !== l.minimumResultsForSearch && (l.dropdownAdapter = j.Decorate(l.dropdownAdapter, z)), l.closeOnSelect && (l.dropdownAdapter = j.Decorate(l.dropdownAdapter, B)), NULL != l.dropdownCssClass || NULL != l.dropdownCss || NULL != l.adaptDropdownCssClass) {
  2253.                             var F = b(l.amdBase + "compat/dropdownCss");
  2254.                             l.dropdownAdapter = j.Decorate(l.dropdownAdapter, F)
  2255.                         }
  2256.                         l.dropdownAdapter = j.Decorate(l.dropdownAdapter, y)
  2257.                     }
  2258.                     IF (NULL == l.selectionAdapter) {
  2259.                         IF (l.multiple ? l.selectionAdapter = e : l.selectionAdapter = d, NULL != l.placeholder && (l.selectionAdapter = j.Decorate(l.selectionAdapter, f)), l.allowClear && (l.selectionAdapter = j.Decorate(l.selectionAdapter, g)), l.multiple && (l.selectionAdapter = j.Decorate(l.selectionAdapter, h)), NULL != l.containerCssClass || NULL != l.containerCss || NULL != l.adaptContainerCssClass) {
  2260.                             var G = b(l.amdBase + "compat/containerCss");
  2261.                             l.selectionAdapter = j.Decorate(l.selectionAdapter, G)
  2262.                         }
  2263.                         l.selectionAdapter = j.Decorate(l.selectionAdapter, i)
  2264.                     }
  2265.                     IF ("string" == typeof l.language)
  2266.                         IF (l.language.indexOf("-") > 0) {
  2267.                             var H = l.language.split("-"),
  2268.                                 I = H[0];
  2269.                             l.language = [l.language, I]
  2270.                         } ELSE l.language = [l.language];
  2271.                     IF (a.isArray(l.language)) {
  2272.                         var J = NEW k;
  2273.                         l.language.push("en");
  2274.                         FOR (var K = l.language, L = 0; L < K.LENGTH; L++) {
  2275.                             var M = K[L],
  2276.                                 N = {};
  2277.                             try {
  2278.                                 N = k.loadPath(M)
  2279.                             } catch (O) {
  2280.                                 try {
  2281.                                     M = this.defaults.amdLanguageBase + M, N = k.loadPath(M)
  2282.                                 } catch (P) {
  2283.                                     l.debug && window.console && console.warn && console.warn('Select2: The language file for "' + M + '" could not be automatically loaded. A fallback will be used instead.');
  2284.                                     continue
  2285.                                 }
  2286.                             }
  2287.                             J.extend(N)
  2288.                         }
  2289.                         l.translations = J
  2290.                     } ELSE {
  2291.                         var Q = k.loadPath(this.defaults.amdLanguageBase + "en"),
  2292.                             R = NEW k(l.language);
  2293.                         R.extend(Q), l.translations = R
  2294.                     }
  2295.                     RETURN l
  2296.                 }, D.prototype.reset = FUNCTION() {
  2297.                     FUNCTION b(a) {
  2298.                         FUNCTION b(a) {
  2299.                             RETURN l[a] || a
  2300.                         }
  2301.                         RETURN a.REPLACE(/[^\u0000-\u007E]/g, b)
  2302.                     }
  2303.  
  2304.                     FUNCTION c(d, e) {
  2305.                         IF ("" === a.TRIM(d.term)) RETURN e;
  2306.                         IF (e.children && e.children.LENGTH > 0) {
  2307.                             FOR (var f = a.extend(!0, {}, e), g = e.children.LENGTH - 1; g >= 0; g--) {
  2308.                                 var h = e.children[g],
  2309.                                     i = c(d, h);
  2310.                                 NULL == i && f.children.splice(g, 1)
  2311.                             }
  2312.                             RETURN f.children.LENGTH > 0 ? f : c(d, f)
  2313.                         }
  2314.                         var j = b(e.text).toUpperCase(),
  2315.                             k = b(d.term).toUpperCase();
  2316.                         RETURN j.indexOf(k) > -1 ? e : NULL
  2317.                     }
  2318.                     this.defaults = {
  2319.                         amdBase: "./",
  2320.                         amdLanguageBase: "./i18n/",
  2321.                         closeOnSelect: !0,
  2322.                         debug: !1,
  2323.                         dropdownAutoWidth: !1,
  2324.                         escapeMarkup: j.escapeMarkup,
  2325.                         language: C,
  2326.                         matcher: c,
  2327.                         minimumInputLength: 0,
  2328.                         maximumInputLength: 0,
  2329.                         maximumSelectionLength: 0,
  2330.                         minimumResultsForSearch: 0,
  2331.                         selectOnClose: !1,
  2332.                         sorter: FUNCTION(a) {
  2333.                             RETURN a
  2334.                         },
  2335.                         templateResult: FUNCTION(a) {
  2336.                             RETURN a.text
  2337.                         },
  2338.                         templateSelection: FUNCTION(a) {
  2339.                             RETURN a.text
  2340.                         },
  2341.                         theme: "default",
  2342.                         width: "resolve"
  2343.                     }
  2344.                 }, D.prototype.SET = FUNCTION(b, c) {
  2345.                     var d = a.camelCase(b),
  2346.                         e = {};
  2347.                     e[d] = c;
  2348.                     var f = j._convertData(e);
  2349.                     a.extend(this.defaults, f)
  2350.                 };
  2351.                 var E = NEW D;
  2352.                 RETURN E
  2353.             }), b.define("select2/options", ["require", "jquery", "./defaults", "./utils"], FUNCTION(a, b, c, d) {
  2354.                 FUNCTION e(b, e) {
  2355.                     IF (this.options = b, NULL != e && this.fromElement(e), this.options = c.apply(this.options), e && e.IS("input")) {
  2356.                         var f = a(this.get("amdBase") + "compat/inputData");
  2357.                         this.options.dataAdapter = d.Decorate(this.options.dataAdapter, f)
  2358.                     }
  2359.                 }
  2360.                 RETURN e.prototype.fromElement = FUNCTION(a) {
  2361.                     var c = ["select2"];
  2362.                     NULL == this.options.multiple && (this.options.multiple = a.prop("multiple")), NULL == this.options.disabled && (this.options.disabled = a.prop("disabled")), NULL == this.options.language && (a.prop("lang") ? this.options.language = a.prop("lang").toLowerCase() : a.closest("[lang]").prop("lang") && (this.options.language = a.closest("[lang]").prop("lang"))), NULL == this.options.dir && (a.prop("dir") ? this.options.dir = a.prop("dir") : a.closest("[dir]").prop("dir") ? this.options.dir = a.closest("[dir]").prop("dir") : this.options.dir = "ltr"), a.prop("disabled", this.options.disabled), a.prop("multiple", this.options.multiple), a.data("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.'), a.data("data", a.data("select2Tags")), a.data("tags", !0)), a.data("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."), a.attr("ajax--url", a.data("ajaxUrl")), a.data("ajax--url", a.data("ajaxUrl")));
  2363.                     var e = {};
  2364.                     e = b.fn.jquery && "1." == b.fn.jquery.SUBSTR(0, 2) && a[0].dataset ? b.extend(!0, {}, a[0].dataset, a.data()) : a.data();
  2365.                     var f = b.extend(!0, {}, e);
  2366.                     f = d._convertData(f);
  2367.                     FOR (var g IN f) b.inArray(g, c) > -1 || (b.isPlainObject(this.options[g]) ? b.extend(this.options[g], f[g]) : this.options[g] = f[g]);
  2368.                     RETURN this
  2369.                 }, e.prototype.get = FUNCTION(a) {
  2370.                     RETURN this.options[a]
  2371.                 }, e.prototype.SET = FUNCTION(a, b) {
  2372.                     this.options[a] = b
  2373.                 }, e
  2374.             }), b.define("select2/core", ["jquery", "./options", "./utils", "./keys"], FUNCTION(a, b, c, d) {
  2375.                 var e = FUNCTION(a, c) {
  2376.                     NULL != a.data("select2") && a.data("select2").destroy(), this.$element = a, this.id = this._generateId(a), c = c || {}, this.options = NEW b(c, a), e.__super__.constructor.call(this);
  2377.                     var d = a.attr("tabindex") || 0;
  2378.                     a.data("old-tabindex", d), a.attr("tabindex", "-1");
  2379.                     var f = this.options.get("dataAdapter");
  2380.                     this.dataAdapter = NEW f(a, this.options);
  2381.                     var g = this.render();
  2382.                     this._placeContainer(g);
  2383.                     var h = this.options.get("selectionAdapter");
  2384.                     this.selection = NEW h(a, this.options), this.$selection = this.selection.render(), this.selection.position(this.$selection, g);
  2385.                     var i = this.options.get("dropdownAdapter");
  2386.                     this.dropdown = NEW i(a, this.options), this.$dropdown = this.dropdown.render(), this.dropdown.position(this.$dropdown, g);
  2387.                     var j = this.options.get("resultsAdapter");
  2388.                     this.results = NEW j(a, this.options, this.dataAdapter), this.$results = this.results.render(), this.results.position(this.$results, this.$dropdown);
  2389.                     var k = this;
  2390.                     this._bindAdapters(), this._registerDomEvents(), this._registerDataEvents(), this._registerSelectionEvents(), this._registerDropdownEvents(), this._registerResultsEvents(), this._registerEvents(), this.dataAdapter.CURRENT(FUNCTION(a) {
  2391.                         k.TRIGGER("selection:update", {
  2392.                             data: a
  2393.                         })
  2394.                     }), a.addClass("select2-hidden-accessible"), a.attr("aria-hidden", "true"), this._syncAttributes(), a.data("select2", this)
  2395.                 };
  2396.                 RETURN c.Extend(e, c.Observable), e.prototype._generateId = FUNCTION(a) {
  2397.                     var b = "";
  2398.                     RETURN b = NULL != a.attr("id") ? a.attr("id") : NULL != a.attr("name") ? a.attr("name") + "-" + c.generateChars(2) : c.generateChars(4), b = b.REPLACE(/(:|\.|\[|\]|,)/g, ""), b = "select2-" + b
  2399.                 }, e.prototype._placeContainer = FUNCTION(a) {
  2400.                     a.insertAfter(this.$element);
  2401.                     var b = this._resolveWidth(this.$element, this.options.get("width"));
  2402.                     NULL != b && a.css("width", b)
  2403.                 }, e.prototype._resolveWidth = FUNCTION(a, b) {
  2404.                     var c = /^width:(([-+]?([0-9]*\.)?[0-9]+)(px|em|ex|%|IN|cm|mm|pt|pc))/i;
  2405.                     IF ("resolve" == b) {
  2406.                         var d = this._resolveWidth(a, "style");
  2407.                         RETURN NULL != d ? d : this._resolveWidth(a, "element")
  2408.                     }
  2409.                     IF ("element" == b) {
  2410.                         var e = a.outerWidth(!1);
  2411.                         RETURN 0 >= e ? "auto" : e + "px"
  2412.                     }
  2413.                     IF ("style" == b) {
  2414.                         var f = a.attr("style");
  2415.                         IF ("string" != typeof f) RETURN NULL;
  2416.                         FOR (var g = f.split(";"), h = 0, i = g.LENGTH; i > h; h += 1) {
  2417.                             var j = g[h].REPLACE(/\s/g, ""),
  2418.                                 k = j.match(c);
  2419.                             IF (NULL !== k && k.LENGTH >= 1) RETURN k[1]
  2420.                         }
  2421.                         RETURN NULL
  2422.                     }
  2423.                     RETURN b
  2424.                 }, e.prototype._bindAdapters = FUNCTION() {
  2425.                     this.dataAdapter.bind(this, this.$container), this.selection.bind(this, this.$container), this.dropdown.bind(this, this.$container), this.results.bind(this, this.$container)
  2426.                 }, e.prototype._registerDomEvents = FUNCTION() {
  2427.                     var b = this;
  2428.                     this.$element.ON("change.select2", FUNCTION() {
  2429.                         b.dataAdapter.CURRENT(FUNCTION(a) {
  2430.                             b.TRIGGER("selection:update", {
  2431.                                 data: a
  2432.                             })
  2433.                         })
  2434.                     }), this.$element.ON("focus.select2", FUNCTION(a) {
  2435.                         b.TRIGGER("focus", a)
  2436.                     }), this._syncA = c.bind(this._syncAttributes, this), this._syncS = c.bind(this._syncSubtree, this), this.$element[0].attachEvent && this.$element[0].attachEvent("onpropertychange", this._syncA);
  2437.                     var d = window.MutationObserver || window.WebKitMutationObserver || window.MozMutationObserver;
  2438.                     NULL != d ? (this._observer = NEW d(FUNCTION(c) {
  2439.                         a.each(c, b._syncA), a.each(c, b._syncS)
  2440.                     }), this._observer.observe(this.$element[0], {
  2441.                         attributes: !0,
  2442.                         childList: !0,
  2443.                         subtree: !1
  2444.                     })) : this.$element[0].addEventListener && (this.$element[0].addEventListener("DOMAttrModified", b._syncA, !1), this.$element[0].addEventListener("DOMNodeInserted", b._syncS, !1), this.$element[0].addEventListener("DOMNodeRemoved", b._syncS, !1))
  2445.                 }, e.prototype._registerDataEvents = FUNCTION() {
  2446.                     var a = this;
  2447.                     this.dataAdapter.ON("*", FUNCTION(b, c) {
  2448.                         a.TRIGGER(b, c)
  2449.                     })
  2450.                 }, e.prototype._registerSelectionEvents = FUNCTION() {
  2451.                     var b = this,
  2452.                         c = ["toggle", "focus"];
  2453.                     this.selection.ON("toggle", FUNCTION() {
  2454.                         b.toggleDropdown()
  2455.                     }), this.selection.ON("focus", FUNCTION(a) {
  2456.                         b.focus(a)
  2457.                     }), this.selection.ON("*", FUNCTION(d, e) {
  2458.                         -1 === a.inArray(d, c) && b.TRIGGER(d, e)
  2459.                     })
  2460.                 }, e.prototype._registerDropdownEvents = FUNCTION() {
  2461.                     var a = this;
  2462.                     this.dropdown.ON("*", FUNCTION(b, c) {
  2463.                         a.TRIGGER(b, c)
  2464.                     })
  2465.                 }, e.prototype._registerResultsEvents = FUNCTION() {
  2466.                     var a = this;
  2467.                     this.results.ON("*", FUNCTION(b, c) {
  2468.                         a.TRIGGER(b, c)
  2469.                     })
  2470.                 }, e.prototype._registerEvents = FUNCTION() {
  2471.                     var a = this;
  2472.                     this.ON("open", FUNCTION() {
  2473.                         a.$container.addClass("select2-container--open")
  2474.                     }), this.ON("close", FUNCTION() {
  2475.                         a.$container.removeClass("select2-container--open")
  2476.                     }), this.ON("enable", FUNCTION() {
  2477.                         a.$container.removeClass("select2-container--disabled")
  2478.                     }), this.ON("disable", FUNCTION() {
  2479.                         a.$container.addClass("select2-container--disabled")
  2480.                     }), this.ON("blur", FUNCTION() {
  2481.                         a.$container.removeClass("select2-container--focus")
  2482.                     }), this.ON("query", FUNCTION(b) {
  2483.                         a.isOpen() || a.TRIGGER("open", {}), this.dataAdapter.query(b, FUNCTION(c) {
  2484.                             a.TRIGGER("results:all", {
  2485.                                 data: c,
  2486.                                 query: b
  2487.                             })
  2488.                         })
  2489.                     }), this.ON("query:append", FUNCTION(b) {
  2490.                         this.dataAdapter.query(b, FUNCTION(c) {
  2491.                             a.TRIGGER("results:append", {
  2492.                                 data: c,
  2493.                                 query: b
  2494.                             })
  2495.                         })
  2496.                     }), this.ON("keypress", FUNCTION(b) {
  2497.                         var c = b.which;
  2498.                         a.isOpen() ? c === d.ESC || c === d.TAB || c === d.UP && b.altKey ? (a.CLOSE(), b.preventDefault()) : c === d.ENTER ? (a.TRIGGER("results:select", {}), b.preventDefault()) : c === d.SPACE && b.ctrlKey ? (a.TRIGGER("results:toggle", {}), b.preventDefault()) : c === d.UP ? (a.TRIGGER("results:previous", {}), b.preventDefault()) : c === d.DOWN && (a.TRIGGER("results:next", {}), b.preventDefault()) : (c === d.ENTER || c === d.SPACE || c === d.DOWN && b.altKey) && (a.OPEN(), b.preventDefault())
  2499.                     })
  2500.                 }, e.prototype._syncAttributes = FUNCTION() {
  2501.                     this.options.SET("disabled", this.$element.prop("disabled")), this.options.get("disabled") ? (this.isOpen() && this.CLOSE(), this.TRIGGER("disable", {})) : this.TRIGGER("enable", {})
  2502.                 }, e.prototype._syncSubtree = FUNCTION(a, b) {
  2503.                     var c = !1,
  2504.                         d = this;
  2505.                     IF (!a || !a.target || "OPTION" === a.target.nodeName || "OPTGROUP" === a.target.nodeName) {
  2506.                         IF (b)
  2507.                             IF (b.addedNodes && b.addedNodes.LENGTH > 0)
  2508.                                 FOR (var e = 0; e < b.addedNodes.LENGTH; e++) {
  2509.                                     var f = b.addedNodes[e];
  2510.                                     f.selected && (c = !0)
  2511.                                 } ELSE b.removedNodes && b.removedNodes.LENGTH > 0 && (c = !0);
  2512.                             ELSE c = !0;
  2513.                         c && this.dataAdapter.CURRENT(FUNCTION(a) {
  2514.                             d.TRIGGER("selection:update", {
  2515.                                 data: a
  2516.                             })
  2517.                         })
  2518.                     }
  2519.                 }, e.prototype.TRIGGER = FUNCTION(a, b) {
  2520.                     var c = e.__super__.TRIGGER,
  2521.                         d = {
  2522.                             OPEN: "opening",
  2523.                             CLOSE: "closing",
  2524.                             SELECT: "selecting",
  2525.                             unselect: "unselecting"
  2526.                         };
  2527.                     IF (void 0 === b && (b = {}), a IN d) {
  2528.                         var f = d[a],
  2529.                             g = {
  2530.                                 prevented: !1,
  2531.                                 name: a,
  2532.                                 args: b
  2533.                             };
  2534.                         IF (c.call(this, f, g), g.prevented) RETURN void(b.prevented = !0)
  2535.                     }
  2536.                     c.call(this, a, b)
  2537.                 }, e.prototype.toggleDropdown = FUNCTION() {
  2538.                     this.options.get("disabled") || (this.isOpen() ? this.CLOSE() : this.OPEN())
  2539.                 }, e.prototype.OPEN = FUNCTION() {
  2540.                     this.isOpen() || this.TRIGGER("query", {})
  2541.                 }, e.prototype.CLOSE = FUNCTION() {
  2542.                     this.isOpen() && this.TRIGGER("close", {})
  2543.                 }, e.prototype.isOpen = FUNCTION() {
  2544.                     RETURN this.$container.hasClass("select2-container--open")
  2545.                 }, e.prototype.hasFocus = FUNCTION() {
  2546.                     RETURN this.$container.hasClass("select2-container--focus")
  2547.                 }, e.prototype.focus = FUNCTION(a) {
  2548.                     this.hasFocus() || (this.$container.addClass("select2-container--focus"), this.TRIGGER("focus", {}))
  2549.                 }, e.prototype.enable = FUNCTION(a) {
  2550.                     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.'), (NULL == a || 0 === a.LENGTH) && (a = [!0]);
  2551.                     var b = !a[0];
  2552.                     this.$element.prop("disabled", b)
  2553.                 }, e.prototype.data = FUNCTION() {
  2554.                     this.options.get("debug") && arguments.LENGTH > 0 && 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()`.');
  2555.                     var a = [];
  2556.                     RETURN this.dataAdapter.CURRENT(FUNCTION(b) {
  2557.                         a = b
  2558.                     }), a
  2559.                 }, e.prototype.val = FUNCTION(b) {
  2560.                     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.'), NULL == b || 0 === b.LENGTH) RETURN this.$element.val();
  2561.                     var c = b[0];
  2562.                     a.isArray(c) && (c = a.map(c, FUNCTION(a) {
  2563.                         RETURN a.toString()
  2564.                     })), this.$element.val(c).TRIGGER("change")
  2565.                 }, e.prototype.destroy = FUNCTION() {
  2566.                     this.$container.remove(), this.$element[0].detachEvent && this.$element[0].detachEvent("onpropertychange", this._syncA), NULL != this._observer ? (this._observer.disconnect(), this._observer = NULL) : this.$element[0].removeEventListener && (this.$element[0].removeEventListener("DOMAttrModified", this._syncA, !1), this.$element[0].removeEventListener("DOMNodeInserted", this._syncS, !1), this.$element[0].removeEventListener("DOMNodeRemoved", this._syncS, !1)), this._syncA = NULL, this._syncS = NULL, this.$element.off(".select2"), this.$element.attr("tabindex", this.$element.data("old-tabindex")), this.$element.removeClass("select2-hidden-accessible"), this.$element.attr("aria-hidden", "false"), this.$element.removeData("select2"), this.dataAdapter.destroy(), this.selection.destroy(), this.dropdown.destroy(), this.results.destroy(), this.dataAdapter = NULL, this.selection = NULL, this.dropdown = NULL, this.results = NULL;
  2567.                 }, e.prototype.render = FUNCTION() {
  2568.                     var b = a('<span class="select2 select2-container"><span class="selection"></span><span class="dropdown-wrapper" aria-hidden="true"></span></span>');
  2569.                     RETURN b.attr("dir", this.options.get("dir")), this.$container = b, this.$container.addClass("select2-container--" + this.options.get("theme")), b.data("element", this.$element), b
  2570.                 }, e
  2571.             }), b.define("jquery-mousewheel", ["jquery"], FUNCTION(a) {
  2572.                 RETURN a
  2573.             }), b.define("jquery.select2", ["jquery", "jquery-mousewheel", "./select2/core", "./select2/defaults"], FUNCTION(a, b, c, d) {
  2574.                 IF (NULL == a.fn.select2) {
  2575.                     var e = ["open", "close", "destroy"];
  2576.                     a.fn.select2 = FUNCTION(b) {
  2577.                         IF (b = b || {}, "object" == typeof b) RETURN this.each(FUNCTION() {
  2578.                             var d = a.extend(!0, {}, b);
  2579.                             NEW c(a(this), d)
  2580.                         }), this;
  2581.                         IF ("string" == typeof b) {
  2582.                             var d, f = ARRAY.prototype.slice.call(arguments, 1);
  2583.                             RETURN this.each(FUNCTION() {
  2584.                                 var c = a(this).data("select2");
  2585.                                 NULL == c && window.console && console.error && console.error("The select2('" + b + "') method was called on an element that is not using Select2."), d = c[b].apply(c, f)
  2586.                             }), a.inArray(b, e) > -1 ? this : d
  2587.                         }
  2588.                         throw NEW Error("Invalid arguments for Select2: " + b)
  2589.                     }
  2590.                 }
  2591.                 RETURN NULL == a.fn.select2.defaults && (a.fn.select2.defaults = d), c
  2592.             }), {
  2593.                 define: b.define,
  2594.                 require: b.require
  2595.             }
  2596.         }(),
  2597.         c = b.require("jquery.select2");
  2598.     RETURN a.fn.select2.amd = b, c
  2599. });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement