function e(e,t,n){var r=n||{},i=r.noTrailing,a=i!==void 0&&i,o=r.noLeading,s=o!==void 0&&o,c=r.debounceMode,l=c===void 0?void 0:c,u,d=!1,f=0;function p(){u&&clearTimeout(u)}function m(e){var t=(e||{}).upcomingOnly,n=t!==void 0&&t;p(),d=!n}function h(){for(var n=arguments.length,r=Array(n),i=0;i<n;i++)r[i]=arguments[i];var o=this,c=Date.now()-f;if(d)return;function m(){f=Date.now(),t.apply(o,r)}function h(){u=void 0}!s&&l&&!u&&m(),p(),l===void 0&&c>e?s?(f=Date.now(),a||(u=setTimeout(l?h:m,e))):m():a!==!0&&(u=setTimeout(l?h:m,l===void 0?e-c:e))}return h.cancel=m,h}function t(t,n,r){var i=(r||{}).atBegin;return e(t,n,{debounceMode:(i!==void 0&&i)!==!1})}exports.debounce=t,exports.throttle=e;