<commit_before>function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }

(function (global, factory) {
    typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('lodash'), require('underscore')) : typeof define === 'function' && define.amd ? define(['exports', 'lodash', 'underscore'], factory) : factory(global.Fix = global.Fix || {}, global._, global._);
})(this, function (exports, lodash, _$1) {
    'use strict';

    _$1 = 'default' in _$1 ? _$1['default'] : _$1;

    var falsy = void 0;
    var $$skipArray = {
        $accessors: falsy,
        $vbthis: falsy,
        $vbsetter: falsy,
        $vm: falsy
    };

    var $$skips = ['$accessors', '$vbthis', '$vbsetter', '$vm'];

    var originalMethods = [];
    _$1.each(['slice', 'splice'], function (method) {
        originalMethods[method] = Array.prototype[method];
    });

    // Array.prototype.slice = function (...args) {
    //     let array = originalMethods["slice"].apply(this, args);
    //     // let result = [];
    //     // for (let i = 0; i < array.length; i++) {
    //     //     if (Object.prototype.toString.call(array[i]) === "[object Array]") result[i] = [...array[i]];
    //     //     if (Object.prototype.toString.call(array[i]) === "[object Object]") result[i] = _.extend({}, array[i]);
    //     //     result[i] = array[i];
    //     // }
    //     this.__ref__ = makeHashCode();
    //     return array;
    // }

    Array.prototype.splice = function () {
        // for (let i = 0; i < this.length; i++) {
        //     if (Object.prototype.toString.call(this[i]) === "[object Array]") this[i] = [...this[i]];
        //     if (Object.prototype.toString.call(this[i]) === "[object Object]") this[i] = _.extend({}, this[i]);
        // }
        this.__ref__ = makeHashCode();

        for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {
            args[_key] = arguments[_key];
        }

        return originalMethods["splice"].apply(this, args);
    };

    function noop(a, b, c) {}

    function isNative(Ctor) {
        return typeof Ctor === 'function' && /native code/.test(Ctor.toString());
    }

    var rhashcode = /\d\.\d{4}/;

    // 生成UUID http://stackoverflow.com/questions/105034/how-to-create-a-guid-uuid-in-javascript
    function makeHashCode() {
        var prefix = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'bi';

        /* istanbul ignore next*/
        return String(Math.random() + Math.random()).replace(rhashcode, prefix);
    }

    function isIE() {
        if (typeof navigator === 'undefined') {
            return false;
        }

        return (/(msie|trident)/i.test(navigator.userAgent.toLowerCase())
        );
    }

    function getIEVersion() {
        var version = 0;
        if (typeof navigator === 'undefined') {
            return false;
        }
        var agent = navigator.userAgent.toLowerCase();
        var v1 = agent.match(/(?:msie\s([\w.]+))/);
        var v2 = agent.match(/(?:trident.*rv:([\w.]+))/);
        if (v1 && v2 && v1[1] && v2[1]) {
            version = Math.max(v1[1] * 1, v2[1] * 1);
        } else if (v1 && v1[1]) {
            version = v1[1] * 1;
        } else if (v2 && v2[1]) {
            version = v2[1] * 1;
        } else {
            version = 0;
        }

        return version;
    }
    var isIE9Below = isIE() && getIEVersion() < 9;

    var _toString = Object.prototype.toString;

    function isPlainObject(obj) {
        return _toString.call(obj) === '[object Object]';
    }

    var bailRE = /[^\w.$]/;

    /* eslint no-param-reassign: ['off'] */
    function parsePath(path) {
        if (bailRE.test(path)) {
            return;
        }
        var segments = path.split('.');

        return function (obj) {
            for (var i = 0; i < segments.length; i++) {
                if (!obj) return;
                obj = obj[segments[i]];
            }

            return obj;
        };
    }

    function toJSON(model) {
        var result = void 0;
        if (_$1.isArray(model)) {
            result = [];
            for (var i = 0, len = model.length; i < len; i++) {
                result[i] = toJSON(model[i]);
            }
        } else if (model && isPlainObject(model)) {
            result = {};
            for (var key in model) {
                if ($$skips.indexOf(key) === -1) {
                    result[key] = toJSON(model[key]);
                }
            }
        } else {
            result = model;
        }
        return result;
    }

    function cloneShadow(obj) {
        if (obj === null) return null;

        if (Array.isArray(obj)) {
            var result = [].concat(obj);
            if (obj.__ref__ !== undefined) result.__ref__ = obj.__ref__;
            return result;
        }

        return toJSON(obj);
    }

    var nextTick = function () {
        var callbacks = [];
        var pending = false;
        var timerFunc = void 0;

        function nextTickHandler() {
            pending = false;
            var copies = callbacks.slice(0);
            callbacks.length = 0;
            for (var i = 0; i < copies.length; i++) {
                copies[i]();
            }
        }

        // Here we have async deferring wrappers using microtasks.
        // In 2.5 we used (macro) tasks (in combination with microtasks).
        // However, it has subtle problems when state is changed right before repaint
        // (e.g. #6813, out-in transitions).
        // Also, using (macro) tasks in event handler would cause some weird behaviors
        // that cannot be circumvented (e.g. #7109, #7153, #7546, #7834, #8109).
        // So we now use microtasks everywhere, again.
        // A major drawback of this tradeoff is that there are some scenarios
        // where microtasks have too high a priority and fire in between supposedly
        // sequential events (e.g. #4521, #6690, which have workarounds)
        // or even between bubbling of the same event (#6566).

        // The nextTick behavior leverages the microtask queue, which can be accessed
        // via either native Promise.then or MutationObserver.
        // MutationObserver has wider support, however it is seriously bugged in
        // UIWebView in iOS >= 9.3.3 when triggered in touch event handlers. It
        // completely stops working after triggering a few times... so, if native
        // Promise is available, we will use it:
        /* istanbul ignore next, $flow-disable-line */
        if (typeof Promise !== 'undefined' && isNative(Promise)) {
            var p = Promise.resolve();
            timerFunc = function timerFunc() {
                p.then(nextTickHandler);
            };
        } else if (!isIE && typeof MutationObserver !== 'undefined' && (isNative(MutationObserver) ||
        // PhantomJS and iOS 7.x
        MutationObserver.toString() === '[object MutationObserverConstructor]')) {
            // Use MutationObserver where native Promise is not available,
            // e.g. PhantomJS, iOS7, Android 4.4
            // (#6466 MutationObserver is unreliable in IE11)
            var counter = 1;
            var observer = new MutationObserver(nextTickHandler);
            var textNode = document.createTextNode(String(counter));
            observer.observe(textNode, {
                characterData: true
            });
            timerFunc = function timerFunc() {
                counter = (counter + 1) % 2;
                textNode.data = String(counter);
            };
        } else if (typeof setImmediate !== 'undefined' && isNative(setImmediate)) {
            // Fallback to setImmediate.
            // Technically it leverages the (macro) task queue,
            // but it is still a better choice than setTimeout.
            timerFunc = function timerFunc() {
                setImmediate(nextTickHandler);
            };
        } else {
            // Fallback to setTimeout.
            timerFunc = function timerFunc() {
                setTimeout(nextTickHandler, 0);
            };
        }
<commit_msg>无JIRA任务 更新fix.ie<commit_after>function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }

(function (global, factory) {
    typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('lodash'), require('underscore')) : typeof define === 'function' && define.amd ? define(['exports', 'lodash', 'underscore'], factory) : factory(global.Fix = global.Fix || {}, global._, global._);
})(this, function (exports, lodash, _$1) {
    'use strict';

    _$1 = 'default' in _$1 ? _$1['default'] : _$1;

    var falsy = void 0;
    var $$skipArray = {
        $accessors: falsy,
        $vbthis: falsy,
        $vbsetter: falsy,
        $vm: falsy
    };

    var $$skips = ['$accessors', '$vbthis', '$vbsetter', '$vm'];

    var originalMethods = [];
    _$1.each(['slice', 'splice'], function (method) {
        originalMethods[method] = Array.prototype[method];
    });

    // Array.prototype.slice = function (...args) {
    //     let array = originalMethods["slice"].apply(this, args);
    //     // let result = [];
    //     // for (let i = 0; i < array.length; i++) {
    //     //     if (Object.prototype.toString.call(array[i]) === "[object Array]") result[i] = [...array[i]];
    //     //     if (Object.prototype.toString.call(array[i]) === "[object Object]") result[i] = _.extend({}, array[i]);
    //     //     result[i] = array[i];
    //     // }
    //     this.__ref__ = makeHashCode();
    //     return array;
    // }

    Array.prototype.splice = function () {
        // for (let i = 0; i < this.length; i++) {
        //     if (Object.prototype.toString.call(this[i]) === "[object Array]") this[i] = [...this[i]];
        //     if (Object.prototype.toString.call(this[i]) === "[object Object]") this[i] = _.extend({}, this[i]);
        // }
        this.__ref__ = makeHashCode();

        for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {
            args[_key] = arguments[_key];
        }

        return originalMethods["splice"].apply(this, args);
    };

    function noop(a, b, c) {}

    function isNative(Ctor) {
        return typeof Ctor === 'function' && /native code/.test(Ctor.toString());
    }

    var rhashcode = /\d\.\d{4}/;

    // 生成UUID http://stackoverflow.com/questions/105034/how-to-create-a-guid-uuid-in-javascript
    function makeHashCode() {
        var prefix = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'bi';

        /* istanbul ignore next*/
        return String(Math.random() + Math.random()).replace(rhashcode, prefix);
    }

    function isIE() {
        if (typeof navigator === 'undefined') {
            return false;
        }

        return (/(msie|trident)/i.test(navigator.userAgent.toLowerCase())
        );
    }

    function getIEVersion() {
        var version = 0;
        if (typeof navigator === 'undefined') {
            return false;
        }
        var agent = navigator.userAgent.toLowerCase();
        var v1 = agent.match(/(?:msie\s([\w.]+))/);
        var v2 = agent.match(/(?:trident.*rv:([\w.]+))/);
        if (v1 && v2 && v1[1] && v2[1]) {
            version = Math.max(v1[1] * 1, v2[1] * 1);
        } else if (v1 && v1[1]) {
            version = v1[1] * 1;
        } else if (v2 && v2[1]) {
            version = v2[1] * 1;
        } else {
            version = 0;
        }

        return version;
    }
    var isIE9Below = isIE() && getIEVersion() < 9;

    var _toString = Object.prototype.toString;

    function isPlainObject(obj) {
        return _toString.call(obj) === '[object Object]';
    }

    var bailRE = /[^\w.$]/;

    /* eslint no-param-reassign: ['off'] */
    function parsePath(path) {
        if (bailRE.test(path)) {
            return;
        }
        var segments = path.split('.');

        return function (obj) {
            for (var i = 0; i < segments.length; i++) {
                if (!obj) return;
                obj = obj[segments[i]];
            }

            return obj;
        };
    }

    function toJSON(model) {
        var result = void 0;
        if (_$1.isArray(model)) {
            result = [];
            for (var i = 0, len = model.length; i < len; i++) {
                result[i] = toJSON(model[i]);
            }
        } else if (model && isPlainObject(model)) {
            result = {};
            for (var key in model) {
                if ($$skips.indexOf(key) === -1) {
                    result[key] = toJSON(model[key]);
                }
            }
        } else {
            result = model;
        }
        return result;
    }

    function cloneShadow(obj) {
        if (obj === null) return null;

        if (Array.isArray(obj)) {
            var result = [].concat(obj);
            if (obj.__ref__ !== undefined) result.__ref__ = obj.__ref__;
            return result;
        }

        return toJSON(obj);
    }

    var nextTick = function () {
        var callbacks = [];
        var pending = false;
        var timerFunc = void 0;

        function nextTickHandler() {
            pending = false;
            var copies = callbacks.slice(0);
            callbacks.length = 0;
            for (var i = 0; i < copies.length; i++) {
                copies[i]();
            }
        }

        // An asynchronous deferring mechanism.
        // In pre 2.4, we used to use microtasks (Promise/MutationObserver)
        // but microtasks actually has too high a priority and fires in between
        // supposedly sequential events (e.g. #4521, #6690) or even between
        // bubbling of the same event (#6566). Technically setImmediate should be
        // the ideal choice, but it's not available everywhere; and the only polyfill
        // that consistently queues the callback after all DOM events triggered in the
        // same loop is by using MessageChannel.
        /* istanbul ignore if */
        if (typeof setImmediate !== 'undefined' && isNative(setImmediate)) {
            timerFunc = function timerFunc() {
                setImmediate(nextTickHandler);
            };
        } else if (typeof MessageChannel !== 'undefined' && (isNative(MessageChannel) ||
        // PhantomJS
        MessageChannel.toString() === '[object MessageChannelConstructor]')) {
            var channel = new MessageChannel();
            var port = channel.port2;
            channel.port1.onmessage = nextTickHandler;
            timerFunc = function timerFunc() {
                port.postMessage(1);
            };
            /* istanbul ignore next */
        } else if (typeof Promise !== 'undefined' && isNative(Promise)) {
            // use microtask in non-DOM environments, e.g. Weex
            var p = Promise.resolve();
            timerFunc = function timerFunc() {
                p.then(nextTickHandler);
            };
        } else {
            // fallback to setTimeout
            timerFunc = function timerFunc() {
                setTimeout(nextTickHandler, 0);
            };
        }

{'fraction_non_alphanumeric': 0.15039560583273393, 'fraction_numerical': 0.012489374223500948, 'mean_word_length': 1.8491058122205664, 'pattern_counts': {'":': 0, '<': 17, '<?xml version=': 0, '>': 6, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '5787160', 'n_tokens_mistral': 4579, 'n_tokens_neox': 4397, 'n_words': 1180}