!function(n,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(n||self).autosize=t()}(this,function(){function f(n){var t=i.get(n);t&&t.destroy()}function e(n){var t=i.get(n);t&&t.update()}var n,r,i="function"==typeof Map?new Map:(n=[],r=[],{has:function(t){return n.indexOf(t)>-1},get:function(t){return r[n.indexOf(t)]},set:function(t,i){-1===n.indexOf(t)&&(n.push(t),r.push(i))},"delete":function(t){var i=n.indexOf(t);i>-1&&(n.splice(i,1),r.splice(i,1))}}),u=function(n){return new Event(n,{bubbles:!0})},t;try{new Event("test")}catch(n){u=function(n){var t=document.createEvent("Event");return t.initEvent(n,!0,!1),t}}return t=null,"undefined"==typeof window||"function"!=typeof getComputedStyle?((t=function(n){return n}).destroy=function(n){return n},t.update=function(n){return n}):((t=function(n){return n&&Array.prototype.forEach.call(n.length?n:[n],function(n){return function(n){function l(t){var i=n.style.width;n.style.width="0px";n.style.width=i;n.style.overflowY=t}function o(){if(0!==n.scrollHeight){var i=function(n){for(var t=[];n&&n.parentNode&&n.parentNode instanceof Element;)n.parentNode.scrollTop&&t.push({node:n.parentNode,scrollTop:n.parentNode.scrollTop}),n=n.parentNode;return t}(n),t=document.documentElement&&document.documentElement.scrollTop;n.style.height="";n.style.height=n.scrollHeight+f+"px";s=n.clientWidth;i.forEach(function(n){n.node.scrollTop=n.scrollTop});t&&(document.documentElement.scrollTop=t)}}function t(){var r;o();var f=Math.round(parseFloat(n.style.height)),t=window.getComputedStyle(n,null),i="content-box"===t.boxSizing?Math.round(parseFloat(t.height)):n.offsetHeight;if(i<f?"hidden"===t.overflowY&&(l("scroll"),o(),i="content-box"===t.boxSizing?Math.round(parseFloat(window.getComputedStyle(n,null).height)):n.offsetHeight):"hidden"!==t.overflowY&&(l("hidden"),o(),i="content-box"===t.boxSizing?Math.round(parseFloat(window.getComputedStyle(n,null).height)):n.offsetHeight),h!==i){h=i;r=u("autosize:resized");try{n.dispatchEvent(r)}catch(n){}}}if(n&&n.nodeName&&"TEXTAREA"===n.nodeName&&!i.has(n)){var r,f=null,s=null,h=null,c=function(){n.clientWidth!==s&&t()},e=function(r){window.removeEventListener("resize",c,!1);n.removeEventListener("input",t,!1);n.removeEventListener("keyup",t,!1);n.removeEventListener("autosize:destroy",e,!1);n.removeEventListener("autosize:update",t,!1);Object.keys(r).forEach(function(t){n.style[t]=r[t]});i.delete(n)}.bind(n,{height:n.style.height,resize:n.style.resize,overflowY:n.style.overflowY,overflowX:n.style.overflowX,wordWrap:n.style.wordWrap});n.addEventListener("autosize:destroy",e,!1);"onpropertychange"in n&&"oninput"in n&&n.addEventListener("keyup",t,!1);window.addEventListener("resize",c,!1);n.addEventListener("input",t,!1);n.addEventListener("autosize:update",t,!1);n.style.overflowX="hidden";n.style.wordWrap="break-word";i.set(n,{destroy:e,update:t});"vertical"===(r=window.getComputedStyle(n,null)).resize?n.style.resize="none":"both"===r.resize&&(n.style.resize="horizontal");f="content-box"===r.boxSizing?-(parseFloat(r.paddingTop)+parseFloat(r.paddingBottom)):parseFloat(r.borderTopWidth)+parseFloat(r.borderBottomWidth);isNaN(f)&&(f=0);t()}}(n)}),n}).destroy=function(n){return n&&Array.prototype.forEach.call(n.length?n:[n],f),n},t.update=function(n){return n&&Array.prototype.forEach.call(n.length?n:[n],e),n}),t})