PageSourceSearch

https://mkk.de/media/layout/js/bootstrap-datetimepickermin.js

js mkk.de collected 2026-10-02 10:21:17 UTC 57,224 bytes, 943 lines download raw bytes

vendor: 17,993 bytes, lines 1-287
1/*! version : 4.17.37
2 =========================================================
3 bootstrap-datetimejs
4 https://github.com/Eonasdan/bootstrap-datetimepicker
5 Copyright (c) 2015 Jonathan Peterson
6 =========================================================
7 */
8! function(a) {
9    "use strict";
10    if ("function" == typeof define && define.amd) define(["jquery", "moment"], a);
11    else if ("object" == typeof exports) a(require("jquery"), require("moment"));
12    else {
13        if ("undefined" == typeof jQuery) throw "bootstrap-datetimepicker requires jQuery to be loaded first";
14        if ("undefined" == typeof moment) throw "bootstrap-datetimepicker requires Moment.js to be loaded first";
15        a(jQuery, moment)
16    }
17}(function(a, b) {
18    "use strict";
19    if (!b) throw new Error("bootstrap-datetimepicker requires Moment.js to be loaded first");
20    var c = function(c, d) {
21        var e, f, g, h, i, j, k, l = {},
22            m = !0,
23            n = !1,
24            o = !1,
25            p = 0,
26            q = [{
27                clsName: "days",
28                navFnc: "M",
29                navStep: 1
30            }, {
31                clsName: "months",
32                navFnc: "y",
33                navStep: 1
34            }, {
35                clsName: "years",
36                navFnc: "y",
37                navStep: 10
38            }, {
39                clsName: "decades",
40                navFnc: "y",
41                navStep: 100
42            }],
43            r = ["days", "months", "years", "decades"],
44            s = ["top", "bottom", "auto"],
45            t = ["left", "right", "auto"],
46            u = ["default", "top", "bottom"],
47            v = {
48                up: 38,
49                38: "up",
50                down: 40,
51                40: "down",
52                left: 37,
53                37: "left",
54                right: 39,
55                39: "right",
56                tab: 9,
57                9: "tab",
58                escape: 27,
59                27: "escape",
60                enter: 13,
61                13: "enter",
62                pageUp: 33,
63                33: "pageUp",
64                pageDown: 34,
65                34: "pageDown",
66                shift: 16,
67                16: "shift",
68                control: 17,
69                17: "control",
70                space: 32,
71                32: "space",
72                t: 84,
73                84: "t",
74                "delete": 46,
75                46: "delete"
76            },
77            w = {},
78            x = function(a) {
79                var c, e, f, g, h, i = !1;
80                return void 0 !== b.tz && void 0 !== d.timeZone && null !== d.timeZone && "" !== d.timeZone && (i = !0), void 0 === a || null === a ? c = i ? b().tz(d.timeZone).startOf("d") : b().startOf("d") : i ? (e = b().tz(d.timeZone).utcOffset(), f = b(a, j, d.useStrict).utcOffset(), f !== e ? (g = b().tz(d.timeZone).format("Z"), h = b(a, j, d.useStrict).format("YYYY-MM-DD[T]HH:mm:ss") + g, c = b(h, j, d.useStrict).tz(d.timeZone)) : c = b(a, j, d.useStrict).tz(d.timeZone)) : c = b(a, j, d.useStrict), c
81            },
82            y = function(a) {
83                if ("string" != typeof a || a.length > 1) throw new TypeError("isEnabled expects a single character string parameter");
84                switch (a) {
85                    case "y":
86                        return -1 !== i.indexOf("Y");
87                    case "M":
88                        return -1 !== i.indexOf("M");
89                    case "d":
90                        return -1 !== i.toLowerCase().indexOf("d");
91                    case "h":
92                    case "H":
93                        return -1 !== i.toLowerCase().indexOf("h");
94                    case "m":
95                        return -1 !== i.indexOf("m");
96                    case "s":
97                        return -1 !== i.indexOf("s");
98                    default:
99                        return !1
100                }
101            },
102            z = function() {
103                return y("h") || y("m") || y("s")
104            },
105            A = function() {
106                return y("y") || y("M") || y("d")
107            },
108            B = function() {
109                var b = a("<thead>").append(a("<tr>").append(a("<th>").addClass("prev").attr("data-action", "previous").append(a("<span>").addClass(d.icons.previous))).append(a("<th>").addClass("picker-switch").attr("data-action", "pickerSwitch").attr("colspan", d.calendarWeeks ? "6" : "5")).append(a("<th>").addClass("next").attr("data-action", "next").append(a("<span>").addClass(d.icons.next)))),
110                    c = a("<tbody>").append(a("<tr>").append(a("<td>").attr("colspan", d.calendarWeeks ? "8" : "7")));
111                return [a("<div>").addClass("datepicker-days").append(a("<table>").addClass("table-condensed").append(b).append(a("<tbody>"))), a("<div>").addClass("datepicker-months").append(a("<table>").addClass("table-condensed").append(b.clone()).append(c.clone())), a("<div>").addClass("datepicker-years").append(a("<table>").addClass("table-condensed").append(b.clone()).append(c.clone())), a("<div>").addClass("datepicker-decades").append(a("<table>").addClass("table-condensed").append(b.clone()).append(c.clone()))]
112            },
113            C = function() {
114                var b = a("<tr>"),
115                    c = a("<tr>"),
116                    e = a("<tr>");
117                return y("h") && (b.append(a("<td>").append(a("<a>").attr({
118                    href: "#",
119                    tabindex: "-1",
120                    title: d.tooltips.incrementHour
121                }).addClass("btn").attr("data-action", "incrementHours").append(a("<span>").addClass(d.icons.up)))), c.append(a("<td>").append(a("<span>").addClass("timepicker-hour").attr({
122                    "data-time-component": "hours",
123                    title: d.tooltips.pickHour
124                }).attr("data-action", "showHours"))), e.append(a("<td>").append(a("<a>").attr({
125                    href: "#",
126                    tabindex: "-1",
127                    title: d.tooltips.decrementHour
128                }).addClass("btn").attr("data-action", "decrementHours").append(a("<span>").addClass(d.icons.down))))), y("m") && (y("h") && (b.append(a("<td>").addClass("separator")), c.append(a("<td>").addClass("separator").html(":")), e.append(a("<td>").addClass("separator"))), b.append(a("<td>").append(a("<a>").attr({
129                    href: "#",
130                    tabindex: "-1",
131                    title: d.tooltips.incrementMinute
132                }).addClass("btn").attr("data-action", "incrementMinutes").append(a("<span>").addClass(d.icons.up)))), c.append(a("<td>").append(a("<span>").addClass("timepicker-minute").attr({
133                    "data-time-component": "minutes",
134                    title: d.tooltips.pickMinute
135                }).attr("data-action", "showMinutes"))), e.append(a("<td>").append(a("<a>").attr({
136                    href: "#",
137                    tabindex: "-1",
138                    title: d.tooltips.decrementMinute
139                }).addClass("btn").attr("data-action", "decrementMinutes").append(a("<span>").addClass(d.icons.down))))), y("s") && (y("m") && (b.append(a("<td>").addClass("separator")), c.append(a("<td>").addClass("separator").html(":")), e.append(a("<td>").addClass("separator"))), b.append(a("<td>").append(a("<a>").attr({
140                    href: "#",
141                    tabindex: "-1",
142                    title: d.tooltips.incrementSecond
143                }).addClass("btn").attr("data-action", "incrementSeconds").append(a("<span>").addClass(d.icons.up)))), c.append(a("<td>").append(a("<span>").addClass("timepicker-second").attr({
144                    "data-time-component": "seconds",
145                    title: d.tooltips.pickSecond
146                }).attr("data-action", "showSeconds"))), e.append(a("<td>").append(a("<a>").attr({
147                    href: "#",
148                    tabindex: "-1",
149                    title: d.tooltips.decrementSecond
150                }).addClass("btn").attr("data-action", "decrementSeconds").append(a("<span>").addClass(d.icons.down))))), h || (b.append(a("<td>").addClass("separator")), c.append(a("<td>").append(a("<button>").addClass("btn btn-primary").attr({
151                    "data-action": "togglePeriod",
152                    tabindex: "-1",
153                    title: d.tooltips.togglePeriod
154                }))), e.append(a("<td>").addClass("separator"))), a("<div>").addClass("timepicker-picker").append(a("<table>").addClass("table-condensed").append([b, c, e]))
155            },
156            D = function() {
157                var b = a("<div>").addClass("timepicker-hours").append(a("<table>").addClass("table-condensed")),
158                    c = a("<div>").addClass("timepicker-minutes").append(a("<table>").addClass("table-condensed")),
159                    d = a("<div>").addClass("timepicker-seconds").append(a("<table>").addClass("table-condensed")),
160                    e = [C()];
161                return y("h") && e.push(b), y("m") && e.push(c), y("s") && e.push(d), e
162            },
163            E = function() {
164                var b = [];
165                return d.showTodayButton && b.push(a("<td>").append(a("<a>").attr({
166                    "data-action": "today",
167                    title: d.tooltips.today
168                }).append(a("<span>").addClass(d.icons.today)))), !d.sideBySide && A() && z() && b.push(a("<td>").append(a("<a>").attr({
169                    "data-action": "togglePicker",
170                    title: d.tooltips.selectTime
171                }).append(a("<span>").addClass(d.icons.time)))), d.showClear && b.push(a("<td>").append(a("<a>").attr({
172                    "data-action": "clear",
173                    title: d.tooltips.clear
174                }).append(a("<span>").addClass(d.icons.clear)))), d.showClose && b.push(a("<td>").append(a("<a>").attr({
175                    "data-action": "close",
176                    title: d.tooltips.close
177                }).append(a("<span>").addClass(d.icons.close)))), a("<table>").addClass("table-condensed").append(a("<tbody>").append(a("<tr>").append(b)))
178            },
179            F = function() {
180                var b = a("<div>").addClass("bootstrap-datetimepicker-widget dropdown-menu"),
181                    c = a("<div>").addClass("datepicker").append(B()),
182                    e = a("<div>").addClass("timepicker").append(D()),
183                    f = a("<ul>").addClass("list-unstyled"),
184                    g = a("<li>").addClass("picker-switch" + (d.collapse ? " accordion-toggle" : "")).append(E());
185                return d.inline && b.removeClass("dropdown-menu"), h && b.addClass("usetwentyfour"), y("s") && !h && b.addClass("wider"), d.sideBySide && A() && z() ? (b.addClass("timepicker-sbs"), "top" === d.toolbarPlacement && b.append(g), b.append(a("<div>").addClass("row").append(c.addClass("col-md-6")).append(e.addClass("col-md-6"))), "bottom" === d.toolbarPlacement && b.append(g), b) : ("top" === d.toolbarPlacement && f.append(g), A() && f.append(a("<li>").addClass(d.collapse && z() ? "collapse in" : "").append(c)), "default" === d.toolbarPlacement && f.append(g), z() && f.append(a("<li>").addClass(d.collapse && A() ? "collapse" : "").append(e)), "bottom" === d.toolbarPlacement && f.append(g), b.append(f))
186            },
187            G = function() {
188                var b, e = {};
189                return b = c.is("input") || d.inline ? c.data() : c.find("input").data(), b.dateOptions && b.dateOptions instanceof Object && (e = a.extend(!0, e, b.dateOptions)), a.each(d, function(a) {
190                    var c = "date" + a.charAt(0).toUpperCase() + a.slice(1);
191                    void 0 !== b[c] && (e[a] = b[c])
192                }), e
193            },
194            H = function() {
195                var b, e = (n || c).position(),
196                    f = (n || c).offset(),
197                    g = d.widgetPositioning.vertical,
198                    h = d.widgetPositioning.horizontal;
199                if (d.widgetParent) b = d.widgetParent.append(o);
200                else if (c.is("input")) b = c.after(o).parent();
201                else {
202                    if (d.inline) return void(b = c.append(o));
203                    b = c, c.children().first().after(o)
204                }
205                if ("auto" === g && (g = f.top + 1.5 * o.height() >= a(window).height() + a(window).scrollTop() && o.height() + c.outerHeight() < f.top ? "top" : "bottom"), "auto" === h && (h = b.width() < f.left + o.outerWidth() / 2 && f.left + o.outerWidth() > a(window).width() ? "right" : "left"), "top" === g ? o.addClass("top").removeClass("bottom") : o.addClass("bottom").removeClass("top"), "right" === h ? o.addClass("pull-right") : o.removeClass("pull-right"), "relative" !== b.css("position") && (b = b.parents().filter(function() {
206                        return "relative" === a(this).css("position")
207                    }).first()), 0 === b.length) throw new Error("datetimepicker component should be placed within a relative positioned container");
208                o.css({
209                    top: "top" === g ? "auto" : e.top + c.outerHeight(),
210                    bottom: "top" === g ? e.top + c.outerHeight() : "auto",
211                    left: "left" === h ? b === c ? 0 : e.left : "auto",
212                    right: "left" === h ? "auto" : b.outerWidth() - c.outerWidth() - (b === c ? 0 : e.left)
213                })
214            },
215            I = function(a) {
216                "dp.change" === a.type && (a.date && a.date.isSame(a.oldDate) || !a.date && !a.oldDate) || c.trigger(a)
217            },
218            J = function(a) {
219                "y" === a && (a = "YYYY"), I({
220                    type: "dp.update",
221                    change: a,
222                    viewDate: f.clone()
223                })
224            },
225            K = function(a) {
226                o && (a && (k = Math.max(p, Math.min(3, k + a))), o.find(".datepicker > div").hide().filter(".datepicker-" + q[k].clsName).show())
227            },
228            L = function() {
229                var b = a("<tr>"),
230                    c = f.clone().startOf("w").startOf("d");
231                for (d.calendarWeeks === !0 && b.append(a("<th>").addClass("cw").text("#")); c.isBefore(f.clone().endOf("w"));) b.append(a("<th>").addClass("dow").text(c.format("dd"))), c.add(1, "d");
232                o.find(".datepicker-days thead").append(b)
233            },
234            M = function(a) {
235                return d.disabledDates[a.format("YYYY-MM-DD")] === !0
236            },
237            N = function(a) {
238                return d.enabledDates[a.format("YYYY-MM-DD")] === !0
239            },
240            O = function(a) {
241                return d.disabledHours[a.format("H")] === !0
242            },
243            P = function(a) {
244                return d.enabledHours[a.format("H")] === !0
245            },
246            Q = function(b, c) {
247                if (!b.isValid()) return !1;
248                if (d.disabledDates && "d" === c && M(b)) return !1;
249                if (d.enabledDates && "d" === c && !N(b)) return !1;
250                if (d.minDate && b.isBefore(d.minDate, c)) return !1;
251                if (d.maxDate && b.isAfter(d.maxDate, c)) return !1;
252                if (d.daysOfWeekDisabled && "d" === c && -1 !== d.daysOfWeekDisabled.indexOf(b.day())) return !1;
253                if (d.disabledHours && ("h" === c || "m" === c || "s" === c) && O(b)) return !1;
254                if (d.enabledHours && ("h" === c || "m" === c || "s" === c) && !P(b)) return !1;
255                if (d.disabledTimeIntervals && ("h" === c || "m" === c || "s" === c)) {
256                    var e = !1;
257                    if (a.each(d.disabledTimeIntervals, function() {
258                            return b.isBetween(this[0], this[1]) ? (e = !0, !1) : void 0
259                        }), e) return !1
260                }
261                return !0
262            },
263            R = function() {
264                for (var b = [], c = f.clone().startOf("y").startOf("d"); c.isSame(f, "y");) b.push(a("<span>").attr("data-action", "selectMonth").addClass("month").text(c.format("MMM"))), c.add(1, "M");
265                o.find(".datepicker-months td").empty().append(b)
266            },
267            S = function() {
268                var b = o.find(".datepicker-months"),
269                    c = b.find("th"),
270                    g = b.find("tbody").find("span");
271                c.eq(0).find("span").attr("title", d.tooltips.prevYear), c.eq(1).attr("title", d.tooltips.selectYear), c.eq(2).find("span").attr("title", d.tooltips.nextYear), b.find(".disabled").removeClass("disabled"), Q(f.clone().subtract(1, "y"), "y") || c.eq(0).addClass("disabled"), c.eq(1).text(f.year()), Q(f.clone().add(1, "y"), "y") || c.eq(2).addClass("disabled"), g.removeClass("active"), e.isSame(f, "y") && !m && g.eq(e.month()).addClass("active"), g.each(function(b) {
272                    Q(f.clone().month(b), "M") || a(this).addClass("disabled")
273                })
274            },
275            T = function() {
276                var a = o.find(".datepicker-years"),
277                    b = a.find("th"),
278                    c = f.clone().subtract(5, "y"),
279                    g = f.clone().add(6, "y"),
280                    h = "";
281                for (b.eq(0).find("span").attr("title", d.tooltips.prevDecade), b.eq(1).attr("title", d.tooltips.selectDecade), b.eq(2).find("span").attr("title", d.tooltips.nextDecade), a.find(".disabled").removeClass("disabled"), d.minDate && d.minDate.isAfter(c, "y") && b.eq(0).addClass("disabled"), b.eq(1).text(c.year() + "-" + g.year()), d.maxDate && d.maxDate.isBefore(g, "y") && b.eq(2).addClass("disabled"); !c.isAfter(g, "y");) h += '<span data-action="selectYear" class="year' + (c.isSame(e, "y") && !m ? " active" : "") + (Q(c, "y") ? "" : " disabled") + '">' + c.year() + "</span>", c.add(1, "y");
282                a.find("td").html(h)
283            },
284            U = function() {
285                var a = o.find(".datepicker-decades"),
286                    c = a.find("th"),
287                    g = b({
288                        y: f.year() - f.year() % 100 - 1
289                    }),
290                    h = g.clone().add(100, "y"),
291                    i = g.clone(),
292                    j = "";
293                for (c.eq(0).find("span").attr("title", d.tooltips.prevCentury), c.eq(2).find("span").attr("title", d.tooltips.nextCentury), a.find(".disabled").removeClass("disabled"), (g.isSame(b({
294                        y: 1900
295                    })) || d.minDate && d.minDate.isAfter(g, "y")) && c.eq(0).addClass("disabled"), c.eq(1).text(g.year() + "-" + h.year()), (g.isSame(b({
296                        y: 2e3
297                    })) || d.maxDate && d.maxDate.isBefore(h, "y")) && c.eq(2).addClass("disabled"); !g.isAfter(h, "y");) j += '<span data-action="selectDecade" class="decade' + (g.isSame(e, "y") ? " active" : "") + (Q(g, "y") ? "" : " disabled") + '" data-selection="' + (g.year() + 6) + '">' + (g.year() + 1) + " - " + (g.year() + 12) + "</span>", g.add(12, "y");
298                j += "<span></span><span></span><span></span>", a.find("td").html(j), c.eq(1).text(i.year() + 1 + "-" + g.year())
299            },
300            V = function() {
301                var b, c, g, h, i = o.find(".datepicker-days"),
302                    j = i.find("th"),
303                    k = [];
304                if (A()) {
305                    for (j.eq(0).find("span").attr("title", d.tooltips.prevMonth), j.eq(1).attr("title", d.tooltips.selectMonth), j.eq(2).find("span").attr("title", d.tooltips.nextMonth), i.find(".disabled").removeClass("disabled"), j.eq(1).text(f.format(d.dayViewHeaderFormat)), Q(f.clone().subtract(1, "M"), "M") || j.eq(0).addClass("disabled"), Q(f.clone().add(1, "M"), "M") || j.eq(2).addClass("disabled"), b = f.clone().startOf("M").startOf("w").startOf("d"), h = 0; 42 > h; h++) 0 === b.weekday() && (c = a("<tr>"), d.calendarWeeks && c.append('<td class="cw">' + b.week() + "</td>"), k.push(c)), g = "", b.isBefore(f, "M") && (g += " old"), b.isAfter(f, "M") && (g += " new"), b.isSame(e, "d") && !m && (g += " active"), Q(b, "d") || (g += " disabled"), b.isSame(x(), "d") && (g += " today"), (0 === b.day() || 6 === b.day()) && (g += " weekend"), c.append('<td data-action="selectDay" data-day="' + b.format("L") + '" class="day' + g + '">' + b.date() + "</td>"), b.add(1, "d");
306                    i.find("tbody").empty().append(k), S(), T(), U()
307                }
308            },
309            W = function() {
310                var b = o.find(".timepicker-hours table"),
311                    c = f.clone().startOf("d"),
312                    d = [],
313                    e = a("<tr>");
314                for (f.hour() > 11 && !h && c.hour(12); c.isSame(f, "d") && (h || f.hour() < 12 && c.hour() < 12 || f.hour() > 11);) c.hour() % 4 === 0 && (e = a("<tr>"), d.push(e)), e.append('<td data-action="selectHour" class="hour' + (Q(c, "h") ? "" : " disabled") + '">' + c.format(h ? "HH" : "hh") + "</td>"), c.add(1, "h");
315                b.empty().append(d)
316            },
317            X = function() {
318                for (var b = o.find(".timepicker-minutes table"), c = f.clone().startOf("h"), e = [], g = a("<tr>"), h = 1 === d.stepping ? 5 : d.stepping; f.isSame(c, "h");) c.minute() % (4 * h) === 0 && (g = a("<tr>"), e.push(g)), g.append('<td data-action="selectMinute" class="minute' + (Q(c, "m") ? "" : " disabled") + '">' + c.format("mm") + "</td>"), c.add(h, "m");
319                b.empty().append(e)
320            },
321            Y = function() {
322                for (var b = o.find(".timepicker-seconds table"), c = f.clone().startOf("m"), d = [], e = a("<tr>"); f.isSame(c, "m");) c.second() % 20 === 0 && (e = a("<tr>"), d.push(e)), e.append('<td data-action="selectSecond" class="second' + (Q(c, "s") ? "" : " disabled") + '">' + c.format("ss") + "</td>"), c.add(5, "s");
323                b.empty().append(d)
324            },
325            Z = function() {
326                var a, b, c = o.find(".timepicker span[data-time-component]");
327                h || (a = o.find(".timepicker [data-action=togglePeriod]"), b = e.clone().add(e.hours() >= 12 ? -12 : 12, "h"), a.text(e.format("A")), Q(b, "h") ? a.removeClass("disabled") : a.addClass("disabled")), c.filter("[data-time-component=hours]").text(e.format(h ? "HH" : "hh")), c.filter("[data-time-component=minutes]").text(e.format("mm")), c.filter("[data-time-component=seconds]").text(e.format("ss")), W(), X(), Y()
328            },
329            $ = function() {
330                o && (V(), Z())
331            },
332            _ = function(a) {
333                var b = m ? null : e;
334                return a ? (a = a.clone().locale(d.locale), 1 !== d.stepping && a.minutes(Math.round(a.minutes() / d.stepping) * d.stepping 
vendor: 7,488 bytes, lines 334-475
334% 60).seconds(0), void(Q(a) ? (e = a, f = e.clone(), g.val(e.format(i)), c.data("date", e.format(i)), m = !1, $(), I({
335                    type: "dp.change",
336                    date: e.clone(),
337                    oldDate: b
338                })) : (d.keepInvalid || g.val(m ? "" : e.format(i)), I({
339                    type: "dp.error",
340                    date: a
341                })))) : (m = !0, g.val(""), c.data("date", ""), I({
342                    type: "dp.change",
343                    date: !1,
344                    oldDate: b
345                }), void $())
346            },
347            aa = function() {
348                var b = !1;
349                return o ? (o.find(".collapse").each(function() {
350                    var c = a(this).data("collapse");
351                    return c && c.transitioning ? (b = !0, !1) : !0
352                }), b ? l : (n && n.hasClass("btn") && n.toggleClass("active"), o.hide(), a(window).off("resize", H), o.off("click", "[data-action]"), o.off("mousedown", !1), o.remove(), o = !1, I({
353                    type: "dp.hide",
354                    date: e.clone()
355                }), g.blur(), l)) : l
356            },
357            ba = function() {
358                _(null)
359            },
360            ca = {
361                next: function() {
362                    var a = q[k].navFnc;
363                    f.add(q[k].navStep, a), V(), J(a)
364                },
365                previous: function() {
366                    var a = q[k].navFnc;
367                    f.subtract(q[k].navStep, a), V(), J(a)
368                },
369                pickerSwitch: function() {
370                    K(1)
371                },
372                selectMonth: function(b) {
373                    var c = a(b.target).closest("tbody").find("span").index(a(b.target));
374                    f.month(c), k === p ? (_(e.clone().year(f.year()).month(f.month())), d.inline || aa()) : (K(-1), V()), J("M")
375                },
376                selectYear: function(b) {
377                    var c = parseInt(a(b.target).text(), 10) || 0;
378                    f.year(c), k === p ? (_(e.clone().year(f.year())), d.inline || aa()) : (K(-1), V()), J("YYYY")
379                },
380                selectDecade: function(b) {
381                    var c = parseInt(a(b.target).data("selection"), 10) || 0;
382                    f.year(c), k === p ? (_(e.clone().year(f.year())), d.inline || aa()) : (K(-1), V()), J("YYYY")
383                },
384                selectDay: function(b) {
385                    var c = f.clone();
386                    a(b.target).is(".old") && c.subtract(1, "M"), a(b.target).is(".new") && c.add(1, "M"), _(c.date(parseInt(a(b.target).text(), 10))), z() || d.keepOpen || d.inline || aa()
387                },
388                incrementHours: function() {
389                    var a = e.clone().add(1, "h");
390                    Q(a, "h") && _(a)
391                },
392                incrementMinutes: function() {
393                    var a = e.clone().add(d.stepping, "m");
394                    Q(a, "m") && _(a)
395                },
396                incrementSeconds: function() {
397                    var a = e.clone().add(1, "s");
398                    Q(a, "s") && _(a)
399                },
400                decrementHours: function() {
401                    var a = e.clone().subtract(1, "h");
402                    Q(a, "h") && _(a)
403                },
404                decrementMinutes: function() {
405                    var a = e.clone().subtract(d.stepping, "m");
406                    Q(a, "m") && _(a)
407                },
408                decrementSeconds: function() {
409                    var a = e.clone().subtract(1, "s");
410                    Q(a, "s") && _(a)
411                },
412                togglePeriod: function() {
413                    _(e.clone().add(e.hours() >= 12 ? -12 : 12, "h"))
414                },
415                togglePicker: function(b) {
416                    var c, e = a(b.target),
417                        f = e.closest("ul"),
418                        g = f.find(".in"),
419                        h = f.find(".collapse:not(.in)");
420                    if (g && g.length) {
421                        if (c = g.data("collapse"), c && c.transitioning) return;
422                        g.collapse ? (g.collapse("hide"), h.collapse("show")) : (g.removeClass("in"), h.addClass("in")), e.is("span") ? e.toggleClass(d.icons.time + " " + d.icons.date) : e.find("span").toggleClass(d.icons.time + " " + d.icons.date)
423                    }
424                },
425                showPicker: function() {
426                    o.find(".timepicker > div:not(.timepicker-picker)").hide(), o.find(".timepicker .timepicker-picker").show()
427                },
428                showHours: function() {
429                    o.find(".timepicker .timepicker-picker").hide(), o.find(".timepicker .timepicker-hours").show()
430                },
431                showMinutes: function() {
432                    o.find(".timepicker .timepicker-picker").hide(), o.find(".timepicker .timepicker-minutes").show()
433                },
434                showSeconds: function() {
435                    o.find(".timepicker .timepicker-picker").hide(), o.find(".timepicker .timepicker-seconds").show()
436                },
437                selectHour: function(b) {
438                    var c = parseInt(a(b.target).text(), 10);
439                    h || (e.hours() >= 12 ? 12 !== c && (c += 12) : 12 === c && (c = 0)), _(e.clone().hours(c)), ca.showPicker.call(l)
440                },
441                selectMinute: function(b) {
442                    _(e.clone().minutes(parseInt(a(b.target).text(), 10))), ca.showPicker.call(l)
443                },
444                selectSecond: function(b) {
445                    _(e.clone().seconds(parseInt(a(b.target).text(), 10))), ca.showPicker.call(l)
446                },
447                clear: ba,
448                today: function() {
449                    var a = x();
450                    Q(a, "d") && _(a)
451                },
452                close: aa
453            },
454            da = function(b) {
455                return a(b.currentTarget).is(".disabled") ? !1 : (ca[a(b.currentTarget).data("action")].apply(l, arguments), !1)
456            },
457            ea = function() {
458                var b, c = {
459                    year: function(a) {
460                        return a.month(0).date(1).hours(0).seconds(0).minutes(0)
461                    },
462                    month: function(a) {
463                        return a.date(1).hours(0).seconds(0).minutes(0)
464                    },
465                    day: function(a) {
466                        return a.hours(0).seconds(0).minutes(0)
467                    },
468                    hour: function(a) {
469                        return a.seconds(0).minutes(0)
470                    },
471                    minute: function(a) {
472                        return a.seconds(0)
473                    }
474                };
475                return g.prop("disabled") || !d.ignoreReadonly && g.prop("readonly") || o ? l : (void 0 !== g.val() && 0 !== g.val().trim().length ? _(ga(g.val().trim())) : d.useCurrent && m && (g.is("input") && 0 === g.val().trim().length || d.inline) && (b = x(), "string" == typeof d.useCurrent && (b = c[d.useCurrent](b)), _(b)), o = F(), L(), R(), o.find(".timepicker-hours").hide(), o.find(".timepicker-minutes").hide(), o.find(".timepicker-seconds").hide(), $(), K(), a(window).on("resize", H), o.on("click", "[data-action]", da), o.on("mousedown", !1), n && n.hasClass("btn") && n.toggleClass("active"), o.show(), H(), d.focusOnShow && !g.is(":focus") && g.focu
475s(), I({
476                    type: "dp.show"
477                }), l)
478            },
479            fa = function() {
480                return o ? aa() : ea()
481            },
482            ga = function(a) {
483                return a = void 0 === d.parseInputDate ? b.isMoment(a) || a instanceof Date ? b(a) : x(a) : d.parseInputDate(a), a.locale(d.locale), a
484            },
485            ha = function(a) {
486                var b, c, e, f, g = null,
487                    h = [],
488                    i = {},
489                    j = a.which,
490                    k = "p";
491                w[j] = k;
492                for (b in w) w.hasOwnProperty(b) && w[b] === k && (h.push(b), parseInt(b, 10) !== j && (i[b] = !0));
493                for (b in d.keyBinds)
494                    if (d.keyBinds.hasOwnProperty(b) && "function" == typeof d.keyBinds[b] && (e = b.split(" "), e.length === h.length && v[j] === e[e.length - 1])) {
495                        for (f = !0, c = e.length - 2; c >= 0; c--)
496                            if (!(v[e[c]] in i)) {
497                                f = !1;
498                                break
499                            }
500                        if (f) {
501                            g = d.keyBinds[b];
502                            break
503                        }
504                    }
505                g && (g.call(l, o), a.stopPropagation(), a.preventDefault())
506            },
507            ia = function(a) {
508                w[a.which] = "r", a.stopPropagation(), a.preventDefault()
509            },
510            ja = function(b) {
511                var c = a(b.target).val().trim(),
512                    d = c ? ga(c) : null;
513                return _(d), b.stopImmediatePropagation(), !1
514            },
515            ka = function() {
516                g.on({
517                    change: ja,
518                    blur: d.debug ? "" : aa,
519                    keydown: ha,
520                    keyup: ia,
521                    focus: d.allowInputToggle ? ea : ""
522                }), c.is("input") ? g.on({
523                    focus: ea
524                }) : n && (n.on("click", fa), n.on("mousedown", !1))
525            },
526            la = function() {
527                g.off({
528                    change: ja,
529                    blur: blur,
530                    keydown: ha,
531                    keyup: ia,
532                    focus: d.allowInputToggle ? aa : ""
533                }), c.is("input") ? g.off({
534                    focus: ea
535                }) : n && (n.off("click", fa), n.off("mousedown", !1))
536            },
537            ma = function(b) {
538                var c = {};
539                return a.each(b, function() {
540                    var a = ga(this);
541                    a.isValid() && (c[a.format("YYYY-MM-DD")] = !0)
542                }), Object.keys(c).length ? c : !1
543            },
544            na = function(b) {
545                var c = {};
546                return a.each(b, function() {
547                    c[this] = !0
548                }), Object.keys(c).length ? c : !1
549            },
550            oa = function() {
551                var a = d.format || "L LT";
552                i = a.replace(/(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g, function(a) {
553                    var b = e.localeData().longDateFormat(a) || a;
554                    return b.replace(/(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g, function(a) {
555                        return e.localeData().longDateFormat(a) || a
556                    })
557                }), j = d.extraFormats ? d.extraFormats.slice() : [], j.indexOf(a) < 0 && j.indexOf(i) < 0 && j.push(i), h = i.toLowerCase().indexOf("a") < 1 && i.replace(/\[.*?\]/g, "").indexOf("h") < 1, y("y") && (p = 2), y("M") && (p = 1), y("d") && (p = 0), k = Math.max(p, k), m || _(e)
558            };
559        if (l.destroy = function() {
560                aa(), la(), c.removeData("DateTimePicker"), c.removeData("date")
561            }, l.toggle = fa, l.show = ea, l.hide = aa, l.disable = function() {
562                return aa(), n && n.hasClass("btn") && n.addClass("disabled"), g.prop("disabled", !0), l
563            }, l.enable = function() {
564                return n && n.hasClass("btn") && n.removeClass("disabled"), g.prop("disabled", !1), l
565            }, l.ignoreReadonly = function(a) {
566                if (0 === arguments.length) return d.ignoreReadonly;
567                if ("boolean" != typeof a) throw new TypeError("ignoreReadonly () expects a boolean parameter");
568                return d.ignoreReadonly = a, l
569            }, l.options = function(b) {
570                if (0 === arguments.length) return a.extend(!0, {}, d);
571                if (!(b instanceof Object)) throw new TypeError("options() options parameter should be an object");
572                return a.extend(!0, d, b), a.each(d, function(a, b) {
573                    if (void 0 === l[a]) throw new TypeError("option " + a + " is not recognized!");
574                    l[a](b)
575                }), l
576            }, l.date = function(a) {
577                if (0 === arguments.length) return m ? null : e.clone();
578                if (!(null === a || "string" == typeof a || b.isMoment(a) || a instanceof Date)) throw new TypeError("date() parameter must be one of [null, string, moment or Date]");
579                return _(null === a ? null : ga(a)), l
580            }, l.format = function(a) {
581                if (0 === arguments.length) return d.format;
582                if ("string" != typeof a && ("boolean" != typeof a || a !== !1)) throw new TypeError("format() expects a sting or boolean:false parameter " + a);
583                return d.format = a, i && oa(), l
584            }, l.timeZone = function(a) {
585                return 0 === arguments.length ? d.timeZone : (d.timeZone = a, l)
586            }, l.dayViewHeaderFormat = function(a) {
587                if (0 === arguments.length) return d.dayViewHeaderFormat;
588                if ("string" != typeof a) throw new TypeError("dayViewHeaderFormat() expects a string parameter");
589                return d.dayViewHeaderFormat = a, l
590            }, l.extraFormats = function(a) {
591                if (0 === arguments.length) return d.extraFormats;
592                if (a !== !1 && !(a instanceof Array)) throw new TypeError("extraFormats() expects an array or false parameter");
593                return d.extraFormats = a, j && oa(), l
594            }, l.disabledDates = function(b) {
595                if (0 === arguments.length) return d.disabledDates ? a.extend({}, d.disabledDates) : d.disabledDates;
596                if (!b) return d.disabledDates = !1, $(), l;
597                if (!(b instanceof Array)) throw new TypeError("disabledDates() expects an array parameter");
598                return d.disabledDates = ma(b), d.enabledDates = !1, $(), l
599            }, l.enabledDates = function(b) {
600                if (0 === arguments.length) return d.enabledDates ? a.extend({}, d.enabledDates) : d.enabledDates;
601                if (!b) return d.enabledDates = !1, $(), l;
602                if (!(b instanceof Array)) throw new TypeError("enabledDates() expects an array parameter");
603                return d.enabledDates = ma(b), d.disabledDates = !1, $(), l
604            }, l.daysOfWeekDisabled = function(a) {
605                if (0 === arguments.length) return d.daysOfWeekDisabled.splice(0);
606                if ("boolean" == typeof a && !a) return d.daysOfWeekDisabled = !1, $(), l;
607                if (!(a instanceof Array)) throw new TypeError("daysOfWeekDisabled() expects an array parameter");
608                if (d.daysOfWeekDisabled = a.reduce(function(a, b) {
609                        return b = parseInt(b, 10), b > 6 || 0 > b || isNaN(b) ? a : (-1 === a.indexOf(b) && a.push(b), a)
610                    }, []).sort(), d.useCurrent && !d.keepInvalid) {
611                    for (var b = 0; !Q(e, "d");) {
612                        if (e.add(1, "d"), 7 === b) throw "Tried 7 times to find a valid date";
613                        b++
614                    }
615                    _(e)
616                }
617                return $(), l
618            }, l.maxDate = function(a) {
619                if (0 === arguments.length) return d.maxDate ? d.maxDate.clone() : d.maxDate;
620                if ("boolean" == typeof a && a === !1) return d.maxDate = !1, $(), l;
621                "string" == typeof a && ("now" === a || "moment" === a) && (a = x());
622                var b = ga(a);
623                if (!b.isValid()) throw new TypeError("maxDate() Could not parse date parameter: " + a);
624                if (d.minDate && b.isBefore(d.minDate)) throw new TypeError("maxDate() date parameter is before options.minDate: " + b.format(i));
625                return d.maxDate = b, d.useCurrent && !d.keepInvalid && e.isAfter(a) && _(d.maxDate), f.isAfter(b) && (f = b.clone().subtract(d.stepping, "m")), $(), l
626            }, l.minDate = function(a) {
627                if (0 === arguments.length) return d.minDate ? d.minDate.clone() : d.minDate;
628                if ("boolean" == typeof a && a === !1) return d.minDate = !1, $(), l;
629                "string" == typeof a && ("now" === a || "moment" === a) && (a = x());
630                var b = ga(a);
vendor: 10,150 bytes, lines 631-763
631                if (!b.isValid()) throw new TypeError("minDate() Could not parse date parameter: " + a);
632                if (d.maxDate && b.isAfter(d.maxDate)) throw new TypeError("minDate() date parameter is after options.maxDate: " + b.format(i));
633                return d.minDate = b, d.useCurrent && !d.keepInvalid && e.isBefore(a) && _(d.minDate), f.isBefore(b) && (f = b.clone().add(d.stepping, "m")), $(), l
634            }, l.defaultDate = function(a) {
635                if (0 === arguments.length) return d.defaultDate ? d.defaultDate.clone() : d.defaultDate;
636                if (!a) return d.defaultDate = !1, l;
637                "string" == typeof a && ("now" === a || "moment" === a) && (a = x());
638                var b = ga(a);
639                if (!b.isValid()) throw new TypeError("defaultDate() Could not parse date parameter: " + a);
640                if (!Q(b)) throw new TypeError("defaultDate() date passed is invalid according to component setup validations");
641                return d.defaultDate = b, (d.defaultDate && d.inline || "" === g.val().trim()) && _(d.defaultDate), l
642            }, l.locale = function(a) {
643                if (0 === arguments.length) return d.locale;
644                if (!b.localeData(a)) throw new TypeError("locale() locale " + a + " is not loaded from moment locales!");
645                return d.locale = a, e.locale(d.locale), f.locale(d.locale), i && oa(), o && (aa(), ea()), l
646            }, l.stepping = function(a) {
647                return 0 === arguments.length ? d.stepping : (a = parseInt(a, 10), (isNaN(a) || 1 > a) && (a = 1), d.stepping = a, l)
648            }, l.useCurrent = function(a) {
649                var b = ["year", "month", "day", "hour", "minute"];
650                if (0 === arguments.length) return d.useCurrent;
651                if ("boolean" != typeof a && "string" != typeof a) throw new TypeError("useCurrent() expects a boolean or string parameter");
652                if ("string" == typeof a && -1 === b.indexOf(a.toLowerCase())) throw new TypeError("useCurrent() expects a string parameter of " + b.join(", "));
653                return d.useCurrent = a, l
654            }, l.collapse = function(a) {
655                if (0 === arguments.length) return d.collapse;
656                if ("boolean" != typeof a) throw new TypeError("collapse() expects a boolean parameter");
657                return d.collapse === a ? l : (d.collapse = a, o && (aa(), ea()), l)
658            }, l.icons = function(b) {
659                if (0 === arguments.length) return a.extend({}, d.icons);
660                if (!(b instanceof Object)) throw new TypeError("icons() expects parameter to be an Object");
661                return a.extend(d.icons, b), o && (aa(), ea()), l
662            }, l.tooltips = function(b) {
663                if (0 === arguments.length) return a.extend({}, d.tooltips);
664                if (!(b instanceof Object)) throw new TypeError("tooltips() expects parameter to be an Object");
665                return a.extend(d.tooltips, b), o && (aa(), ea()), l
666            }, l.useStrict = function(a) {
667                if (0 === arguments.length) return d.useStrict;
668                if ("boolean" != typeof a) throw new TypeError("useStrict() expects a boolean parameter");
669                return d.useStrict = a, l
670            }, l.sideBySide = function(a) {
671                if (0 === arguments.length) return d.sideBySide;
672                if ("boolean" != typeof a) throw new TypeError("sideBySide() expects a boolean parameter");
673                return d.sideBySide = a, o && (aa(), ea()), l
674            }, l.viewMode = function(a) {
675                if (0 === arguments.length) return d.viewMode;
676                if ("string" != typeof a) throw new TypeError("viewMode() expects a string parameter");
677                if (-1 === r.indexOf(a)) throw new TypeError("viewMode() parameter must be one of (" + r.join(", ") + ") value");
678                return d.viewMode = a, k = Math.max(r.indexOf(a), p), K(), l
679            }, l.toolbarPlacement = function(a) {
680                if (0 === arguments.length) return d.toolbarPlacement;
681                if ("string" != typeof a) throw new TypeError("toolbarPlacement() expects a string parameter");
682                if (-1 === u.indexOf(a)) throw new TypeError("toolbarPlacement() parameter must be one of (" + u.join(", ") + ") value");
683                return d.toolbarPlacement = a, o && (aa(), ea()), l
684            }, l.widgetPositioning = function(b) {
685                if (0 === arguments.length) return a.extend({}, d.widgetPositioning);
686                if ("[object Object]" !== {}.toString.call(b)) throw new TypeError("widgetPositioning() expects an object variable");
687                if (b.horizontal) {
688                    if ("string" != typeof b.horizontal) throw new TypeError("widgetPositioning() horizontal variable must be a string");
689                    if (b.horizontal = b.horizontal.toLowerCase(), -1 === t.indexOf(b.horizontal)) throw new TypeError("widgetPositioning() expects horizontal parameter to be one of (" + t.join(", ") + ")");
690                    d.widgetPositioning.horizontal = b.horizontal
691                }
692                if (b.vertical) {
693                    if ("string" != typeof b.vertical) throw new TypeError("widgetPositioning() vertical variable must be a string");
694                    if (b.vertical = b.vertical.toLowerCase(), -1 === s.indexOf(b.vertical)) throw new TypeError("widgetPositioning() expects vertical parameter to be one of (" + s.join(", ") + ")");
695                    d.widgetPositioning.vertical = b.vertical
696                }
697                return $(), l
698            }, l.calendarWeeks = function(a) {
699                if (0 === arguments.length) return d.calendarWeeks;
700                if ("boolean" != typeof a) throw new TypeError("calendarWeeks() expects parameter to be a boolean value");
701                return d.calendarWeeks = a, $(), l
702            }, l.showTodayButton = function(a) {
703                if (0 === arguments.length) return d.showTodayButton;
704                if ("boolean" != typeof a) throw new TypeError("showTodayButton() expects a boolean parameter");
705                return d.showTodayButton = a, o && (aa(), ea()), l
706            }, l.showClear = function(a) {
707                if (0 === arguments.length) return d.showClear;
708                if ("boolean" != typeof a) throw new TypeError("showClear() expects a boolean parameter");
709                return d.showClear = a, o && (aa(), ea()), l
710            }, l.widgetParent = function(b) {
711                if (0 === arguments.length) return d.widgetParent;
712                if ("string" == typeof b && (b = a(b)), null !== b && "string" != typeof b && !(b instanceof a)) throw new TypeError("widgetParent() expects a string or a jQuery object parameter");
713                return d.widgetParent = b, o && (aa(), ea()), l
714            }, l.keepOpen = function(a) {
715                if (0 === arguments.length) return d.keepOpen;
716                if ("boolean" != typeof a) throw new TypeError("keepOpen() expects a boolean parameter");
717                return d.keepOpen = a, l
718            }, l.focusOnShow = function(a) {
719                if (0 === arguments.length) return d.focusOnShow;
720                if ("boolean" != typeof a) throw new TypeError("focusOnShow() expects a boolean parameter");
721                return d.focusOnShow = a, l
722            }, l.inline = function(a) {
723                if (0 === arguments.length) return d.inline;
724                if ("boolean" != typeof a) throw new TypeError("inline() expects a boolean parameter");
725                return d.inline = a, l
726            }, l.clear = function() {
727                return ba(), l
728            }, l.keyBinds = function(a) {
729                return d.keyBinds = a, l
730            }, l.getMoment = function(a) {
731                return x(a)
732            }, l.debug = function(a) {
733                if ("boolean" != typeof a) throw new TypeError("debug() expects a boolean parameter");
734                return d.debug = a, l
735            }, l.allowInputToggle = function(a) {
736                if (0 === arguments.length) return d.allowInputToggle;
737                if ("boolean" != typeof a) throw new TypeError("allowInputToggle() expects a boolean parameter");
738                return d.allowInputToggle = a, l
739            }, l.showClose = function(a) {
740                if (0 === arguments.length) return d.showClose;
741                if ("boolean" != typeof a) throw new TypeError("showClose() expects a boolean parameter");
742                return d.showClose = a, l
743            }, l.keepInvalid = function(a) {
744                if (0 === arguments.length) return d.keepInvalid;
745                if ("boolean" != typeof a) throw new TypeError("keepInvalid() expects a boolean parameter");
746                return d.keepInvalid = a, l
747            }, l.datepickerInput = function(a) {
748                if (0 === arguments.length) return d.datepickerInput;
749                if ("string" != typeof a) throw new TypeError("datepickerInput() expects a string parameter");
750                return d.datepickerInput = a, l
751            }, l.parseInputDate = function(a) {
752                if (0 === arguments.length) return d.parseInputDate;
753                if ("function" != typeof a) throw new TypeError("parseInputDate() sholud be as function");
754                return d.parseInputDate = a, l
755            }, l.disabledTimeIntervals = function(b) {
756                if (0 === arguments.length) return d.disabledTimeIntervals ? a.extend({}, d.disabledTimeIntervals) : d.disabledTimeIntervals;
757                if (!b) return d.disabledTimeIntervals = !1, $(), l;
758                if (!(b instanceof Array)) throw new TypeError("disabledTimeIntervals() expects an array parameter");
759                return d.disabledTimeIntervals = b, $(), l
760            }, l.disabledHours = function(b) {
761                if (0 === arguments.length) return d.disabledHours ? a.extend({}, d.disabledHours) : d.disabledHours;
762                if (!b) return d.disabledHours = !1, $(), l;
763                if (!(b instanceof Array)) throw new TypeError("disabledHours() expects an array parameter");
vendor: 7,862 bytes, lines 764-943
764                if (d.disabledHours = na(b), d.enabledHours = !1, d.useCurrent && !d.keepInvalid) {
765                    for (var c = 0; !Q(e, "h");) {
766                        if (e.add(1, "h"), 24 === c) throw "Tried 24 times to find a valid date";
767                        c++
768                    }
769                    _(e)
770                }
771                return $(), l
772            }, l.enabledHours = function(b) {
773                if (0 === arguments.length) return d.enabledHours ? a.extend({}, d.enabledHours) : d.enabledHours;
774                if (!b) return d.enabledHours = !1, $(), l;
775                if (!(b instanceof Array)) throw new TypeError("enabledHours() expects an array parameter");
776                if (d.enabledHours = na(b), d.disabledHours = !1, d.useCurrent && !d.keepInvalid) {
777                    for (var c = 0; !Q(e, "h");) {
778                        if (e.add(1, "h"), 24 === c) throw "Tried 24 times to find a valid date";
779                        c++
780                    }
781                    _(e)
782                }
783                return $(), l
784            }, l.viewDate = function(a) {
785                if (0 === arguments.length) return f.clone();
786                if (!a) return f = e.clone(), l;
787                if (!("string" == typeof a || b.isMoment(a) || a instanceof Date)) throw new TypeError("viewDate() parameter must be one of [string, moment or Date]");
788                return f = ga(a), J(), l
789            }, c.is("input")) g = c;
790        else if (g = c.find(d.datepickerInput), 0 === g.size()) g = c.find("input");
791        else if (!g.is("input")) throw new Error('CSS class "' + d.datepickerInput + '" cannot be applied to non input element');
792        if (c.hasClass("input-group") && (n = 0 === c.find(".datepickerbutton").size() ? c.find(".input-group-addon") : c.find(".datepickerbutton")), !d.inline && !g.is("input")) throw new Error("Could not initialize DateTimePicker without an input element");
793        return e = x(), f = e.clone(), a.extend(!0, d, G()), l.options(d), oa(), ka(), g.prop("disabled") && l.disable(), g.is("input") && 0 !== g.val().trim().length ? _(ga(g.val().trim())) : d.defaultDate && void 0 === g.attr("placeholder") && _(d.defaultDate), d.inline && ea(), l
794    };
795    a.fn.datetimepicker = function(b) {
796        return this.each(function() {
797            var d = a(this);
798            d.data("DateTimePicker") || (b = a.extend(!0, {}, a.fn.datetimepicker.defaults, b), d.data("DateTimePicker", c(d, b)))
799        })
800    }, a.fn.datetimepicker.defaults = {
801        timeZone: "Etc/UTC",
802        format: !1,
803        dayViewHeaderFormat: "MMMM YYYY",
804        extraFormats: !1,
805        stepping: 1,
806        minDate: !1,
807        maxDate: !1,
808        useCurrent: !0,
809        collapse: !0,
810        locale: b.locale(),
811        defaultDate: !1,
812        disabledDates: !1,
813        enabledDates: !1,
814        icons: {
815            time: "glyphicon glyphicon-time",
816            date: "glyphicon glyphicon-calendar",
817            up: "glyphicon glyphicon-chevron-up",
818            down: "glyphicon glyphicon-chevron-down",
819            previous: "glyphicon glyphicon-chevron-left",
820            next: "glyphicon glyphicon-chevron-right",
821            today: "glyphicon glyphicon-screenshot",
822            clear: "glyphicon glyphicon-trash",
823            close: "glyphicon glyphicon-remove"
824        },
825        tooltips: {
826            today: "Zum heutigen Datum",
827            clear: "Auswahl aufheben",
828            close: "Schliessen",
829            selectMonth: "Monat wählen",
830            prevMonth: "vorheriger Monat",
831            nextMonth: "nächster Monat",
832            selectYear: "Jahr wählen",
833            prevYear: "vorheriges Jahr",
834            nextYear: "nächstes Jahr",
835            selectDecade: "Dekade wählen",
836            prevDecade: "vorherige Dekade",
837            nextDecade: "nächste Dekade",
838            prevCentury: "vorheriges Jahrhundert",
839            nextCentury: "nächstes Jahrhundert",
840            pickHour: "Stunde wählen",
841            incrementHour: "Stunde hinzufügen",
842            decrementHour: "Stunde abziehen",
843            pickMinute: "Minute wählen",
844            incrementMinute: "Minute hinzufügen",
845            decrementMinute: "Minute abziehen",
846            pickSecond: "Sekunde wählen",
847            incrementSecond: "Sekunde hinzufügen",
848            decrementSecond: "Sekunde abziehen",
849            togglePeriod: "Periode wählen",
850            selectTime: "Zeit wählen"
851        },
852        useStrict: !1,
853        sideBySide: !1,
854        daysOfWeekDisabled: !1,
855        calendarWeeks: !1,
856        viewMode: "days",
857        toolbarPlacement: "default",
858        showTodayButton: !1,
859        showClear: !1,
860        showClose: !1,
861        widgetPositioning: {
862            horizontal: "auto",
863            vertical: "auto"
864        },
865        widgetParent: null,
866        ignoreReadonly: !1,
867        keepOpen: !1,
868        focusOnShow: !0,
869        inline: !1,
870        keepInvalid: !1,
871        datepickerInput: ".datepickerinput",
872        keyBinds: {
873            up: function(a) {
874                if (a) {
875                    var b = this.date() || this.getMoment();
876                    a.find(".datepicker").is(":visible") ? this.date(b.clone().subtract(7, "d")) : this.date(b.clone().add(this.stepping(), "m"))
877                }
878            },
879            down: function(a) {
880                if (!a) return void this.show();
881                var b = this.date() || this.getMoment();
882                a.find(".datepicker").is(":visible") ? this.date(b.clone().add(7, "d")) : this.date(b.clone().subtract(this.stepping(), "m"))
883            },
884            "control up": function(a) {
885                if (a) {
886                    var b = this.date() || this.getMoment();
887                    a.find(".datepicker").is(":visible") ? this.date(b.clone().subtract(1, "y")) : this.date(b.clone().add(1, "h"))
888                }
889            },
890            "control down": function(a) {
891                if (a) {
892                    var b = this.date() || this.getMoment();
893                    a.find(".datepicker").is(":visible") ? this.date(b.clone().add(1, "y")) : this.date(b.clone().subtract(1, "h"))
894                }
895            },
896            left: function(a) {
897                if (a) {
898                    var b = this.date() || this.getMoment();
899                    a.find(".datepicker").is(":visible") && this.date(b.clone().subtract(1, "d"))
900                }
901            },
902            right: function(a) {
903                if (a) {
904                    var b = this.date() || this.getMoment();
905                    a.find(".datepicker").is(":visible") && this.date(b.clone().add(1, "d"))
906                }
907            },
908            pageUp: function(a) {
909                if (a) {
910                    var b = this.date() || this.getMoment();
911                    a.find(".datepicker").is(":visible") && this.date(b.clone().subtract(1, "M"))
912                }
913            },
914            pageDown: function(a) {
915                if (a) {
916                    var b = this.date() || this.getMoment();
917                    a.find(".datepicker").is(":visible") && this.date(b.clone().add(1, "M"))
918                }
919            },
920            enter: function() {
921                this.hide()
922            },
923            escape: function() {
924                this.hide()
925            },
926            "control space": function(a) {
927                a.find(".timepicker").is(":visible") && a.find('.btn[data-action="togglePeriod"]').click()
928            },
929            t: function() {
930                this.date(this.getMoment())
931            },
932            "delete": function() {
933                this.clear()
934            }
935        },
936        debug: !1,
937        allowInputToggle: !1,
938        disabledTimeIntervals: !1,
939        disabledHours: !1,
940        enabledHours: !1,
941        viewDate: !1
942    }
943});

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