/*! extobj - v0.1.2 - 2014-10-12 * https://github.com/Pofigizm/extobj * Copyright (c) 2014 Denis; Licensed MIT */ !function(){"use strict";function a(b,c){if(void 0===b||null===b)throw new TypeError("Cannot convert first argument to object");if("boolean"!=typeof c)throw new TypeError("Cannot convert second argument to boolean");for(var d,e=Object(b),f=!1,g=2;g0&&(e[k].length=0),e[k].__proto__=h[k].__proto__;a(e[k],c,h[k])}else void 0!==l&&l.enumerable&&(e[k]=h[k])}catch(n){f||(f=!0,d=n)}}if(f)throw d}}return e}function b(a){if(void 0===a||null===a)throw new TypeError("Cannot convert first argument to object");var c,d=Object.create(a),e=!1,f=arguments[1];if(void 0===f||null===f)return d;f.__proto__===Array.prototype&&(d=[],d.__proto__=a);var g=Object.keys(Object(f));for(var h in g){var i=g[h];try{var j=Object.getOwnPropertyDescriptor(f,i);"object"==typeof j.value?d[i]=b(d,j.value):void 0!==j&&j.enumerable&&(d[i]=f[i])}catch(k){e||(e=!0,c=k)}if(e)throw c}return d}Object.assignDeep||Object.defineProperty(Object,"assignDeep",{enumerable:!1,configurable:!0,writable:!0,value:function(b){return a.apply(this,[b,!0].concat(Array.prototype.slice.call(arguments,1)))}}),Object.assignDeepArray||Object.defineProperty(Object,"assignDeepArray",{enumerable:!1,configurable:!0,writable:!0,value:function(b){return a.apply(this,[b,!1].concat(Array.prototype.slice.call(arguments,1)))}}),Object.createDeep||Object.defineProperty(Object,"createDeep",{enumerable:!1,configurable:!0,writable:!0,value:function(a,c){return b(a,c)}}),Object.cloneDeep||Object.defineProperty(Object,"cloneDeep",{enumerable:!1,configurable:!0,writable:!0,value:function(b){var c=b instanceof Array?[]:{};return a(c,!0,b)}})}();