/*! For license information please see npm-async-eb873fff.625aa77210f768206bf6.js.LICENSE.txt */ (self.__LOADABLE_LOADED_CHUNKS__=self.__LOADABLE_LOADED_CHUNKS__||[]).push([[4563],{49990:(e,t,n)=>{"use strict";n.r(t),n.d(t,{localeConfig:()=>s});var o=n(7569);function r(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,o)}return n}function i(e){for(var t=1;t{"use strict";n.r(t),n.d(t,{localeConfig:()=>s});var o=n(7569);function r(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,o)}return n}function i(e){for(var t=1;t{"use strict";n.r(t),n.d(t,{localeConfig:()=>s});var o=n(7569);function r(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,o)}return n}function i(e){for(var t=1;t{"use strict";n.r(t),n.d(t,{localeConfig:()=>s});var o=n(7569);function r(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,o)}return n}function i(e){for(var t=1;t{"use strict";n.r(t),n.d(t,{localeConfig:()=>s});var o=n(7569);function r(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,o)}return n}function i(e){for(var t=1;t2&&void 0!==arguments[2]&&arguments[2];return e<12?n?"am":"AM":n?"pm":"PM"}})},1751:(e,t,n)=>{"use strict";n.r(t),n.d(t,{localeConfig:()=>s});var o=n(7569);function r(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,o)}return n}function i(e){for(var t=1;t{"use strict";n.r(t),n.d(t,{localeConfig:()=>s});var o=n(7569);function r(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,o)}return n}function i(e){for(var t=1;t2&&void 0!==arguments[2]&&arguments[2];return e<12?n?"am":"AM":n?"pm":"PM"}})},55953:(e,t,n)=>{"use strict";n.r(t),n.d(t,{localeConfig:()=>s});var o=n(7569);function r(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,o)}return n}function i(e){for(var t=1;t{"use strict";n.r(t),n.d(t,{localeConfig:()=>s});var o=n(7569);function r(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,o)}return n}function i(e){for(var t=1;t{"use strict";n.r(t),n.d(t,{localeConfig:()=>s});var o=n(7569);function r(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,o)}return n}function i(e){for(var t=1;t{"use strict";n.r(t),n.d(t,{localeConfig:()=>s});var o=n(7569);function r(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,o)}return n}function i(e){for(var t=1;t2&&void 0!==arguments[2]&&arguments[2];return e<12?n?"πμ":"ΠΜ":n?"μμ":"ΜΜ"}})},36508:(e,t,n)=>{"use strict";n.r(t),n.d(t,{localeConfig:()=>s});var o=n(7569);function r(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,o)}return n}function i(e){for(var t=1;t{"use strict";n.r(t),n.d(t,{localeConfig:()=>s});var o=n(7569);function r(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,o)}return n}function i(e){for(var t=1;t2&&void 0!==arguments[2]&&arguments[2];return e<12?n?"am":"AM":n?"pm":"PM"}})},33166:(e,t,n)=>{"use strict";n.r(t),n.d(t,{localeConfig:()=>s});var o=n(7569);function r(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,o)}return n}function i(e){for(var t=1;t{"use strict";n.r(t),n.d(t,{localeConfig:()=>s});var o=n(7569);function r(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,o)}return n}function i(e){for(var t=1;t{"use strict";n.r(t),n.d(t,{localeConfig:()=>s});var o=n(7569);function r(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,o)}return n}function i(e){for(var t=1;t{"use strict";n.r(t),n.d(t,{localeConfig:()=>s});var o=n(7569);function r(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,o)}return n}function i(e){for(var t=1;t{"use strict";n.r(t),n.d(t,{localeConfig:()=>s});var o=n(7569);function r(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,o)}return n}function i(e){for(var t=1;t2&&void 0!==arguments[2]&&arguments[2];return e<12?n?"am":"AM":n?"pm":"PM"}})},18876:(e,t,n)=>{"use strict";n.r(t),n.d(t,{localeConfig:()=>s});var o=n(7569);function r(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,o)}return n}function i(e){for(var t=1;t{"use strict";n.r(t),n.d(t,{localeConfig:()=>s});var o=n(7569);function r(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,o)}return n}function i(e){for(var t=1;t{"use strict";n.r(t),n.d(t,{localeConfig:()=>s});var o=n(7569);function r(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,o)}return n}function i(e){for(var t=1;t{"use strict";n.r(t),n.d(t,{localeConfig:()=>s});var o=n(7569);function r(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,o)}return n}function i(e){for(var t=1;t2&&void 0!==arguments[2]&&arguments[2];return e<12?n?"am":"AM":n?"pm":"PM"}})},31886:(e,t,n)=>{"use strict";n.r(t),n.d(t,{localeConfig:()=>s});var o=n(7569);function r(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,o)}return n}function i(e){for(var t=1;t{"use strict";n.r(t),n.d(t,{localeConfig:()=>s});var o=n(7569);function r(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,o)}return n}function i(e){for(var t=1;t2&&void 0!==arguments[2]&&arguments[2];return e<12?n?"am":"AM":n?"pm":"PM"}})},7373:(e,t,n)=>{"use strict";n.r(t),n.d(t,{localeConfig:()=>s});var o=n(7569);function r(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,o)}return n}function i(e){for(var t=1;t{"use strict";n.r(t),n.d(t,{localeConfig:()=>s});var o=n(7569);function r(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,o)}return n}function i(e){for(var t=1;t{"use strict";n.r(t),n.d(t,{localeConfig:()=>s});var o=n(7569);function r(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,o)}return n}function i(e){for(var t=1;t2&&void 0!==arguments[2]&&arguments[2];return e<12?n?"am":"AM":n?"pm":"PM"}})},42947:(e,t,n)=>{"use strict";n.r(t),n.d(t,{localeConfig:()=>s});var o=n(7569);function r(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,o)}return n}function i(e){for(var t=1;t{"use strict";n.r(t),n.d(t,{localeConfig:()=>s});var o=n(7569);function r(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,o)}return n}function i(e){for(var t=1;t{"use strict";n.r(t),n.d(t,{localeConfig:()=>s});var o=n(7569);function r(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,o)}return n}function i(e){for(var t=1;t{"use strict";n.r(t),n.d(t,{localeConfig:()=>s});var o=n(7569);function r(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,o)}return n}function i(e){for(var t=1;t2&&void 0!==arguments[2]&&arguments[2];return e<12?n?"am":"AM":n?"pm":"PM"}})},42865:(e,t,n)=>{"use strict";n.r(t),n.d(t,{localeConfig:()=>s});var o=n(7569);function r(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,o)}return n}function i(e){for(var t=1;t{"use strict";n.r(t),n.d(t,{localeConfig:()=>s});var o=n(7569);function r(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,o)}return n}function i(e){for(var t=1;t2&&void 0!==arguments[2]&&arguments[2];return e<12?n?"am":"AM":n?"pm":"PM"}})},86732:(e,t,n)=>{"use strict";n.r(t),n.d(t,{localeConfig:()=>s});var o=n(7569);function r(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,o)}return n}function i(e){for(var t=1;t2&&void 0!==arguments[2]&&arguments[2];return e<12?n?"am":"AM":n?"pm":"PM"}})},82621:(e,t,n)=>{"use strict";n.r(t),n.d(t,{localeConfig:()=>s});var o=n(7569);function r(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,o)}return n}function i(e){for(var t=1;t{"use strict";n.r(t),n.d(t,{localeConfig:()=>s});var o=n(7569);function r(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,o)}return n}function i(e){for(var t=1;t{"use strict";n.r(t),n.d(t,{localeConfig:()=>s});var o=n(7569);function r(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,o)}return n}function i(e){for(var t=1;t{"use strict";n.r(t),n.d(t,{localeConfig:()=>s});var o=n(7569);function r(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,o)}return n}function i(e){for(var t=1;t2&&void 0!==arguments[2]&&arguments[2];return e<12?n?"am":"AM":n?"pm":"PM"}})},42550:(e,t,n)=>{"use strict";n.r(t),n.d(t,{localeConfig:()=>s});var o=n(7569);function r(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,o)}return n}function i(e){for(var t=1;t2&&void 0!==arguments[2]&&arguments[2];return e<12?n?"am":"AM":n?"pm":"PM"}})},64143:(e,t,n)=>{"use strict";n.r(t),n.d(t,{localeConfig:()=>s});var o=n(7569);function r(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,o)}return n}function i(e){for(var t=1;t2&&void 0!==arguments[2]&&arguments[2];return e<12?n?"pg":"PG":n?"ptg":"PTG"}})},28529:(e,t,n)=>{"use strict";n.r(t),n.d(t,{localeConfig:()=>s});var o=n(7569);function r(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,o)}return n}function i(e){for(var t=1;t{"use strict";n.r(t),n.d(t,{localeConfig:()=>s});var o=n(7569);function r(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,o)}return n}function i(e){for(var t=1;t{"use strict";n.r(t),n.d(t,{localeConfig:()=>s});var o=n(7569);function r(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,o)}return n}function i(e){for(var t=1;t{"use strict";n.r(t),n.d(t,{localeConfig:()=>s});var o=n(7569);function r(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,o)}return n}function i(e){for(var t=1;t2&&void 0!==arguments[2]&&arguments[2];return e<12?n?"am":"AM":n?"pm":"PM"}})},53458:(e,t,n)=>{"use strict";n.r(t),n.d(t,{localeConfig:()=>s});var o=n(7569);function r(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,o)}return n}function i(e){for(var t=1;t{"use strict";n.r(t),n.d(t,{localeConfig:()=>s});var o=n(7569);function r(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,o)}return n}function i(e){for(var t=1;t2&&void 0!==arguments[2]&&arguments[2];return e<12?n?"am":"AM":n?"pm":"PM"}})},1744:(e,t,n)=>{"use strict";n.r(t),n.d(t,{localeConfig:()=>s});var o=n(7569);function r(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,o)}return n}function i(e){for(var t=1;t{"use strict";n.r(t),n.d(t,{localeConfig:()=>s});var o=n(7569);function r(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,o)}return n}function i(e){for(var t=1;t{"use strict";n.r(t),n.d(t,{localeConfig:()=>s});var o=n(7569);function r(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,o)}return n}function i(e){for(var t=1;t{"use strict";n.r(t),n.d(t,{localeConfig:()=>s});var o=n(7569);function r(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,o)}return n}function i(e){for(var t=1;t{"use strict";n.r(t),n.d(t,{localeConfig:()=>s});var o=n(7569);function r(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,o)}return n}function i(e){for(var t=1;t{"use strict";n.r(t),n.d(t,{localeConfig:()=>s});var o=n(7569);function r(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,o)}return n}function i(e){for(var t=1;t{"use strict";n.r(t),n.d(t,{localeConfig:()=>s});var o=n(7569);function r(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,o)}return n}function i(e){for(var t=1;t{"use strict";n.r(t),n.d(t,{localeConfig:()=>s});var o=n(7569);function r(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,o)}return n}function i(e){for(var t=1;t{"use strict";n.r(t),n.d(t,{localeConfig:()=>s});var o=n(7569);function r(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,o)}return n}function i(e){for(var t=1;t{"use strict";n.r(t),n.d(t,{localeConfig:()=>s});var o=n(7569);function r(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,o)}return n}function i(e){for(var t=1;t2&&void 0!==arguments[2]&&arguments[2];return e<12?n?"am":"AM":n?"pm":"PM"}})},81806:(e,t,n)=>{"use strict";n.r(t),n.d(t,{localeConfig:()=>s});var o=n(7569);function r(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,o)}return n}function i(e){for(var t=1;t2&&void 0!==arguments[2]&&arguments[2];return e<12?n?"am":"AM":n?"pm":"PM"}})},83802:(e,t,n)=>{"use strict";n.r(t),n.d(t,{localeConfig:()=>s});var o=n(7569);function r(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,o)}return n}function i(e){for(var t=1;t2&&void 0!==arguments[2]&&arguments[2];return e<12?n?"am":"AM":n?"pm":"PM"}})},89916:(e,t,n)=>{"use strict";n.r(t),n.d(t,{localeConfig:()=>s});var o=n(7569);function r(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,o)}return n}function i(e){for(var t=1;t2&&void 0!==arguments[2]&&arguments[2];return e<12?n?"am":"AM":n?"pm":"PM"}})},52801:(e,t,n)=>{"use strict";n.r(t),n.d(t,{localeConfig:()=>s});var o=n(7569);function r(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,o)}return n}function i(e){for(var t=1;t2&&void 0!==arguments[2]&&arguments[2];return e<12?n?"öö":"ÖÖ":n?"ös":"ÖS"}})},9855:(e,t,n)=>{"use strict";n.r(t),n.d(t,{localeConfig:()=>s});var o=n(7569);function r(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,o)}return n}function i(e){for(var t=1;t{"use strict";n.r(t),n.d(t,{localeConfig:()=>s});var o=n(7569);function r(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,o)}return n}function i(e){for(var t=1;t{"use strict";n.r(t),n.d(t,{localeConfig:()=>s});var o=n(7569);function r(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,o)}return n}function i(e){for(var t=1;t{"use strict";n.r(t),n.d(t,{localeConfig:()=>s});var o=n(7569);function r(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,o)}return n}function i(e){for(var t=1;t{"use strict";n.r(t),n.d(t,{localeConfig:()=>s});var o=n(7569);function r(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,o)}return n}function i(e){for(var t=1;t{"use strict";n.r(t),n.d(t,{localeConfig:()=>s});var o=n(7569);function r(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,o)}return n}function i(e){for(var t=1;t{return t=e,(Array(8).join("0")+parseInt(t,10).toString(2)).slice(-8);var t})),n=[];return n[0]=s(t[0]+t[1]),n[1]=s(t[2]+t[3]),["0000","0000","0000","0000","0000","ffff",n[0],n[1]].join("")}(e):n?function(e){let t="";const n=[];let o=0,r=0,i=!0;const s="0000";if(e.indexOf("::")>-1){const A=e.split("::");for(let e=0;e0){const e=t.split(":");i&&(o=e.length),r+=e.length;for(let t=0;t>>3){case 0:break e;case 1:t.key=C(e,w(e));break;case 2:t.value=C(e,w(e));break;default:d(e,7&n)}}if(void 0===t.key)throw new Error("Missing required field: key");if(void 0===t.value)throw new Error("Missing required field: value");return t}function c(e){const t=h();return function(e,t){const n=e.SeqID;void 0!==n&&(M(t,8),D(t,n));const o=e.LogID;void 0!==o&&(M(t,16),D(t,o));const r=e.service;void 0!==r&&(M(t,24),D(t,u(r)));const i=e.method;void 0!==i&&(M(t,32),D(t,u(i)));const s=e.headers;if(void 0!==s)for(const e of s){M(t,42);const n=h();A(e,n),M(t,n.limit),v(t,n),_(n)}const a=e.payloadEncoding;void 0!==a&&(M(t,50),E(t,a));const c=e.payloadType;void 0!==c&&(M(t,58),E(t,c));const l=e.payload;void 0!==l&&(M(t,66),M(t,l.length),function(e,t){const n=f(e,t.length);e.bytes.set(t,n)}(t,l));const g=e.LogIDNew;void 0!==g&&(M(t,74),E(t,g))}(e,t),function(e){const t=e.bytes,n=e.limit;return t.length===n?t:t.subarray(0,n)}(t)}function l(e){return function(e){const t={};e:for(;!I(e);){const n=w(e);switch(n>>>3){case 0:break e;case 1:t.SeqID=k(e,!0);break;case 2:t.LogID=k(e,!0);break;case 3:t.service=w(e);break;case 4:t.method=w(e);break;case 5:{const n=g(e);(t.headers||(t.headers=[])).push(a(e)),e.limit=n;break}case 6:t.payloadEncoding=C(e,w(e));break;case 7:t.payloadType=C(e,w(e));break;case 8:t.payload=B(e,w(e));break;case 9:t.LogIDNew=C(e,w(e));break;default:d(e,7&n)}}if(void 0===t.SeqID)throw new Error("Missing required field: SeqID");if(void 0===t.LogID)throw new Error("Missing required field: LogID");if(void 0===t.service)throw new Error("Missing required field: service");if(void 0===t.method)throw new Error("Missing required field: method");return t}({bytes:t=e,offset:0,limit:t.length});var t}function g(e){const t=w(e),n=e.limit;return e.limit=e.offset+t,n}function d(e,t){switch(t){case 0:for(;128&Q(e););break;case 2:y(e,w(e));break;case 5:y(e,4);break;case 1:y(e,8);break;default:throw new Error("Unimplemented type: "+t)}}function u(e){return{low:e|=0,high:e>>31,unsigned:e>=0}}const p=[];function h(){const e=p.pop();return e?(e.offset=e.limit=0,e):{bytes:new Uint8Array(64),offset:0,limit:0}}function _(e){p.push(e)}function y(e,t){if(e.offset+t>e.limit)throw new Error("Skip past limit");e.offset+=t}function I(e){return e.offset>=e.limit}function f(e,t){const n=e.bytes,o=e.offset,r=e.limit,i=o+t;if(i>n.length){const t=new Uint8Array(2*i);t.set(n),e.bytes=t}return e.offset=i,i>r&&(e.limit=i),o}function m(e,t){const n=e.offset;if(n+t>e.limit)throw new Error("Read past limit");return e.offset+=t,n}function B(e,t){const n=m(e,t);return e.bytes.subarray(n,n+t)}function C(e,t){const n=m(e,t),o=String.fromCharCode,r=e.bytes,i="�";let s="";for(let e=0;e=t?s+=i:(a=r[e+n+1],128!=(192&a)?s+=i:(g=(31&A)<<6|63&a,g<128?s+=i:(s+=o(g),e++))):224==(240&A)?e+2>=t?s+=i:(a=r[e+n+1],c=r[e+n+2],32896!=(49344&(a|c<<8))?s+=i:(g=(15&A)<<12|(63&a)<<6|63&c,g<2048||g>=55296&&g<=57343?s+=i:(s+=o(g),e+=2))):240==(248&A)?e+3>=t?s+=i:(a=r[e+n+1],c=r[e+n+2],l=r[e+n+3],8421504!=(12632256&(a|c<<8|l<<16))?s+=i:(g=(7&A)<<18|(63&a)<<12|(63&c)<<6|63&l,g<65536||g>1114111?s+=i:(g-=65536,s+=o(55296+(g>>10),56320+(1023&g)),e+=3))):s+=i:s+=o(A)}return s}function E(e,t){const n=t.length;let o=0;for(let e=0;e=55296&&r<=56319&&e+1=55296&&o<=56319&&e+1>6&31|192:(o<65536?i[r++]=o>>12&15|224:(i[r++]=o>>18&7|240,i[r++]=o>>12&63|128),i[r++]=o>>6&63|128),i[r++]=63&o|128)}}function v(e,t){const n=f(e,t.limit),o=e.bytes,r=t.bytes;for(let e=0,i=t.limit;e>>=0;t>=128;)b(e,127&t|128),t>>>=7;b(e,t)}function k(e,t){let n,o=0,r=0,i=0;return n=Q(e),o=127&n,128&n&&(n=Q(e),o|=(127&n)<<7,128&n&&(n=Q(e),o|=(127&n)<<14,128&n&&(n=Q(e),o|=(127&n)<<21,128&n&&(n=Q(e),r=127&n,128&n&&(n=Q(e),r|=(127&n)<<7,128&n&&(n=Q(e),r|=(127&n)<<14,128&n&&(n=Q(e),r|=(127&n)<<21,128&n&&(n=Q(e),i=127&n,128&n&&(n=Q(e),i|=(127&n)<<7))))))))),{low:o|r<<28,high:r>>>4|i<<24,unsigned:t}}function D(e,t){const n=t.low>>>0,o=(t.low>>>28|t.high<<4)>>>0,r=t.high>>>24,i=0===r?0===o?n<16384?n<128?1:2:n<1<<21?3:4:o<16384?o<128?5:6:o<1<<21?7:8:r<128?9:10,s=f(e,i),A=e.bytes;switch(i){case 10:A[s+9]=r>>>7&1;case 9:A[s+8]=9!==i?128|r:127&r;case 8:A[s+7]=8!==i?o>>>21|128:o>>>21&127;case 7:A[s+6]=7!==i?o>>>14|128:o>>>14&127;case 6:A[s+5]=6!==i?o>>>7|128:o>>>7&127;case 5:A[s+4]=5!==i?128|o:127&o;case 4:A[s+3]=4!==i?n>>>21|128:n>>>21&127;case 3:A[s+2]=3!==i?n>>>14|128:n>>>14&127;case 2:A[s+1]=2!==i?n>>>7|128:n>>>7&127;case 1:A[s]=1!==i?128|n:127&n}}function O(e){return l(e)}function S(e){return c(e)}const R=4294967296,L=0x10000000000000000,T=L/2,P=String.prototype.charCodeAt;class G{constructor(e,t,n){this.isLong=!0,this.low=0|e,this.high=0|t,this.unsigned=!!n}static isLong(e){return e&&!0===e.isLong}static fromBits(e,t,n){return new G(e,t,n)}static fromBytes(e,t,n){return n?G.fromBytesLE(e,t):G.fromBytesBE(e,t)}static fromBytesLE(e,t){return new G(e[0]|e[1]<<8|e[2]<<16|e[3]<<24,e[4]|e[5]<<8|e[6]<<16|e[7]<<24,t)}static fromBytesBE(e,t){return new G(e[4]<<24|e[5]<<16|e[6]<<8|e[7],e[0]<<24|e[1]<<16|e[2]<<8|e[3],t)}static fromHash(e){return"\0\0\0\0\0\0\0\0"===e?x:new G((P.call(e,0)|P.call(e,1)<<8|P.call(e,2)<<16|P.call(e,3)<<24)>>>0,(P.call(e,4)|P.call(e,5)<<8|P.call(e,6)<<16|P.call(e,7)<<24)>>>0,!0)}toHash(){return String.fromCharCode(255&this.low,this.low>>>8&255,this.low>>>16&255,this.low>>>24,255&this.high,this.high>>>8&255,this.high>>>16&255,this.high>>>24)}static fromNumber(e,t=!0){if(isNaN(e))return t?Y:x;if(t){if(e>=L)return F}else{if(e<=-T)return N;if(e+1>=T)return j}return G.fromBits(e%R|0,e/R|0,t)}toNumber(){return this.unsigned?(this.high>>>0)*R+(this.low>>>0):this.high*R+(this.low>>>0)}isZero(){return 0===this.high&&0===this.low}add(e){G.isLong(e)||(e=G.fromNumber(e));const t=this.high>>>16,n=65535&this.high,o=this.low>>>16,r=65535&this.low,i=e.high>>>16,s=65535&e.high,A=e.low>>>16;let a=0,c=0,l=0,g=0;return g+=r+(65535&e.low),l+=g>>>16,g&=65535,l+=o+A,c+=l>>>16,l&=65535,c+=n+s,a+=c>>>16,c&=65535,a+=t+i,a&=65535,G.fromBits(l<<16|g,a<<16|c,this.unsigned)}equals(e){return G.isLong(e)||(e=G.fromNumber(e)),(this.unsigned===e.unsigned||this.high>>>31!=1||e.high>>>31!=1)&&this.high===e.high&&this.low===e.low}addOne(){return-1===this.low&&-1===this.high?G.fromBits(0,0,this.unsigned):-1===this.low?G.fromBits(0,this.high+1,this.unsigned):G.fromBits(this.low+1,this.high,this.unsigned)}toBytes(e){return e?this.toBytesLE():this.toBytesBE()}toBytesLE(){const e=this.high,t=this.low;return[255&t,t>>>8&255,t>>>16&255,t>>>24,255&e,e>>>8&255,e>>>16&255,e>>>24]}toBytesBE(){const e=this.high,t=this.low;return[e>>>24,e>>>16&255,e>>>8&255,255&e,t>>>24,t>>>16&255,t>>>8&255,255&t]}}const x=new G(0,0,!1),Y=new G(0,0,!0),j=G.fromBits(-1,2147483647,!1),F=G.fromBits(-1,-1,!0),N=G.fromBits(0,-2147483648,!1);var U;e.ErrorCode=void 0,(U=e.ErrorCode||(e.ErrorCode={}))[U.NATIVE_ERROR=5001]="NATIVE_ERROR",U[U.CONNECTING_ERROR=5002]="CONNECTING_ERROR",U[U.MAX_RETRIES_ERROR=5003]="MAX_RETRIES_ERROR",U[U.MESSAGE_ERROR=5004]="MESSAGE_ERROR",U[U.OPEN_ERROR=5005]="OPEN_ERROR";class H{constructor(e){this.type=e,this.target=null}}class q extends H{constructor(e,t){super(e),this.message=t&&t.message||null}}class J extends H{constructor(t,n){super(t),this.error=n&&n.error||null,this.colno=n&&n.colno||0,this.filename=n&&n.filename||"",this.lineno=n&&n.lineno||0,this.message=n&&n.message||"",this.code=n&&n.code||e.ErrorCode.NATIVE_ERROR}}class K extends H{constructor(e,t){super(e),this.code=t&&t.code||0,this.reason=t&&t.reason||"",this.wasClean=t&&t.wasClean||!1}}class V extends H{constructor(e,t){super(e),this.data=t&&t.data||null}}class z extends V{constructor(e,t){super(e),this.data=t&&t.data||null,this.message=t&&t.message||null}}class W extends H{constructor(e,t){super(e),this.data=t&&t.data||null}}function X(e,{message:t,code:n}){return new J(e,{message:t,code:n})}function Z(e,{code:t,reason:n,wasClean:o}){return"undefined"!=typeof CloseEvent?new CloseEvent(e,{code:t,reason:n,wasClean:o}):new K(e,{code:t,reason:n,wasClean:o})}class ${constructor(e,t){this.endpoints=e,this.maxRetries=t,this.currentIndex=0,this.currentEndpointTriesCount=0}resetEndpointConfig(){this.currentIndex=0,this.currentEndpointTriesCount=0}resetTries(){this.currentEndpointTriesCount=0}getCurrentEndpoint(){return this.endpoints[this.currentIndex]}getCurrentEndpointTriesCount(){return this.currentEndpointTriesCount}checkReachMaxTries(){return this.currentIndex>=this.endpoints.length||this.currentIndex===this.endpoints.length-1&&this.currentEndpointTriesCount===this.maxRetries}checkCurrentEndpointReachedMaxRetries(){return this.currentIndex==this.endpoints.length||this.currentEndpointTriesCount>this.maxRetries}replaceBackupEndpointAndUpdateCount(){return this.currentEndpointTriesCount=1,this.currentIndex++,this.endpoints[this.currentIndex]}getCurrentEndpointAndUpdateCount(){return this.currentEndpointTriesCount++,this.getCurrentEndpoint()}}const ee=("undefined"!=typeof globalThis&&"Window"===globalThis.constructor.name||"undefined"!=typeof window&&"Window"===window.constructor.name)&&"undefined"!=typeof document,te="undefined"!=typeof globalThis&&("Object"===globalThis.constructor.name||"DedicatedWorkerGlobalScope"===globalThis.constructor.name)&&"undefined"!=typeof tt,ne=("undefined"!=typeof globalThis&&"Object"===globalThis.constructor.name||"undefined"==typeof globalThis||"undefined"!=typeof globalThis&&!!globalThis.WeixinJSBridge)&&"undefined"!=typeof wx,oe="undefined"!=typeof globalThis&&("DedicatedWorkerGlobalScope"===globalThis.constructor.name||"SharedWorkerGlobalScope"===globalThis.constructor.name||"ServiceWorkerGlobalScope"===globalThis.constructor.name)&&"undefined"!=typeof self,re="undefined"!=typeof globalThis&&"Object"===globalThis.constructor.name&&"Object"===n.g.constructor.name&&"undefined"!=typeof process&&process.version;class ie{constructor(){this._listeners={}}emit(e,...t){const n=this._listeners[e];if(n)n.slice().forEach((e=>e.fn.apply(e.ctx,t)));else if("error"===e&&!this.onerror){const e=t.length&&t[0];if(e instanceof Error)throw e;throw new Error("Unhandled error."+(e?" ("+e.message+")":"")).context=e,e}return this}off(e,t){if(void 0===e)this._listeners={};else if(void 0===t)this._listeners[e]=null;else{const n=this._listeners[e];for(let e=0;e{const t=X("error",{message:e.errMsg||e.errNo?`message: ${e.errMsg}`||`code: ${e.errNo}`||"":JSON.stringify(e)});this.emit("error",t)}})),te&&tt.connectSocket&&(this._socket=tt.connectSocket({url:e,protocols:t,header:n,fail:(e=>{const t=X("error",{message:e.errMsg||e.errNo?`message: ${e.errMsg}`||`code: ${e.errNo}`||"":JSON.stringify(e)});this.emit("error",t)}).bind(this)})),this._addWsListeners()}_addWsListeners(){this._socket.onOpen((e=>{this.emit("open",new W("open",e))})),this._socket.onClose((e=>{this.emit("close",new K("close",e))})),this._socket.onMessage((e=>{this.emit("message",new z("message",e))})),this._socket.onError((e=>{this.emit("error",new J("error",e))}))}send(e){if(e instanceof Uint8Array){const t=e.buffer.slice(e.byteOffset,e.byteLength+e.byteOffset);this._socket&&this._socket.send({data:t,fail:e=>{this.emit("error",X("error",{message:e.errMsg||e.errNo?`message: ${e.errMsg}`||`code: ${e.errNo}`||"":JSON.stringify(e)}))}})}else this._socket&&this._socket.send({data:e,fail:e=>{this.emit("error",X("error",{message:e.errMsg||e.errNo?`message: ${e.errMsg}`||`code: ${e.errNo}`||"":JSON.stringify(e)}))}})}close(e,t){this._socket&&this._socket.close({code:e,reason:t})}addEventListener(e,t){this.on(e,t)}removeEventListener(e,t){this.off(e,t)}get readyState(){return this._socket.readyState}get binaryType(){return this._socket.binaryType}set binaryType(e){}get url(){return this._socket.url}get protocol(){return this._socket.protocol}get extensions(){return this._socket.extensions}get bufferedAmount(){return 0}}function Ae(e,t,n){return!!(null==e?void 0:e.find((e=>e.key===t&&e.value===n)))}function ae(e,t){var n;return null===(n=null==e?void 0:e.find((e=>e.key===t)))||void 0===n?void 0:n.value}function ce(e){return t(this,void 0,void 0,(function*(){const{enableAutoAck:t}=this._options,n=Ae(e.message.headers,"need_ack","1"),o=Ae(e.message.headers,"is_ack","1"),r=Ae(e.message.headers,"x_frontier_qos_ack","1");if(t&&n){const{SeqID:t,LogID:n,service:o,LogIDNew:r,method:i}=e.message;this._sendAck({SeqID:t,LogID:n,LogIDNew:r,service:o,method:i,headers:[{key:"is_ack",value:"1"},{key:"ack_id",value:r||""},{key:"ack_code",value:"0"}]})}o&&!r&&this._dispatchAckMessageEvent(e)}))}function le(e){return t(this,void 0,void 0,(function*(){if("string"==typeof e){const t=new Uint8Array(function(e){let t=0,n=0;for(let o=0;o>6|192,t[n++]=63&r|128):55296==(64512&r)&&56320==(64512&(i=e.charCodeAt(o+1)))?(r=65536+((1023&r)<<10)+(1023&i),++o,t[n++]=r>>18|240,t[n++]=r>>12&63|128,t[n++]=r>>6&63|128,t[n++]=63&r|128):(t[n++]=r>>12|224,t[n++]=r>>6&63|128,t[n++]=63&r|128)}(e,t,0),t}return e instanceof ArrayBuffer?new Uint8Array(e):new Uint8Array(e.buffer,e.byteOffset,e.byteLength)}))}function ge(e){return t(this,void 0,void 0,(function*(){const t=O(yield le(e.data));try{if(t.payload instanceof Uint8Array){const e=this._options.payloadEncoding instanceof Object?{force:!!this._options.payloadEncoding.force,encoding:this._options.payloadEncoding.encoding?this._options.payloadEncoding.encoding.replace(/\s/g,"").toLowerCase():""}:{force:!1,encoding:this._options.payloadEncoding?this._options.payloadEncoding.replace(/\s/g,"").toLowerCase():""},n=t.payloadEncoding?t.payloadEncoding.replace(/\s/g,"").toLowerCase():"",o=this._options.payloadType instanceof Object?{force:!!this._options.payloadType.force,type:this._options.payloadType.type?this._options.payloadType.type.replace(/\s/g,"").toLowerCase():""}:{force:!1,type:this._options.payloadType?this._options.payloadType.replace(/\s/g,"").toLowerCase():""},r=t.payloadType?t.payloadType.replace(/\s/g,"").toLowerCase():"",i=o.force?o.type:r||o.type,s=e.force?e.encoding:n||e.encoding,A=["text/plain;charset=utf-8","application/json","application/json;charset=utf-8","string"],a=["none_none","binary"];this._options.enableTransformTextPayload&&A.includes(i)&&(!s||a.includes(s))?t.textPayload=function(e,t,n){if(n-t<1)return"";let o="";for(let r=t;r=192&&t<224)o+=String.fromCharCode((31&t)<<6|63&e[r++]);else if(t>=224&&t<240)o+=String.fromCharCode((15&t)<<12|(63&e[r++])<<6|63&e[r++]);else if(t>=240){const n=((7&t)<<18|(63&e[r++])<<12|(63&e[r++])<<6|63&e[r++])-65536;o+=String.fromCharCode(55296+(n>>10)),o+=String.fromCharCode(56320+(1023&n))}}return o}(t.payload,0,t.payload.byteLength):t.textPayload=""}else t.textPayload=""}catch(e){t.textPayload="",console.log(e)}e.message=t}))}function de(e,t,n){let o=-1;return function t(r){return o++,ot(r))):Promise.resolve()}(t)}const ue=(e,t)=>t.some((t=>e instanceof t));let pe,he;const _e=new WeakMap,ye=new WeakMap,Ie=new WeakMap,fe=new WeakMap,me=new WeakMap;let Be={get(e,t,n){if(e instanceof IDBTransaction){if("done"===t)return ye.get(e);if("objectStoreNames"===t)return e.objectStoreNames||Ie.get(e);if("store"===t)return n.objectStoreNames[1]?void 0:n.objectStore(n.objectStoreNames[0])}return ve(e[t])},set:(e,t,n)=>(e[t]=n,!0),has:(e,t)=>e instanceof IDBTransaction&&("done"===t||"store"===t)||t in e};function Ce(e){return e!==IDBDatabase.prototype.transaction||"objectStoreNames"in IDBTransaction.prototype?(he||(he=[IDBCursor.prototype.advance,IDBCursor.prototype.continue,IDBCursor.prototype.continuePrimaryKey])).includes(e)?function(...t){return e.apply(Qe(this),t),ve(_e.get(this))}:function(...t){return ve(e.apply(Qe(this),t))}:function(t,...n){const o=e.call(Qe(this),t,...n);return Ie.set(o,t.sort?t.sort():[t]),ve(o)}}function Ee(e){return"function"==typeof e?Ce(e):(e instanceof IDBTransaction&&function(e){if(ye.has(e))return;const t=new Promise(((t,n)=>{const o=()=>{e.removeEventListener("complete",r),e.removeEventListener("error",i),e.removeEventListener("abort",i)},r=()=>{t(),o()},i=()=>{n(e.error||new DOMException("AbortError","AbortError")),o()};e.addEventListener("complete",r),e.addEventListener("error",i),e.addEventListener("abort",i)}));ye.set(e,t)}(e),ue(e,pe||(pe=[IDBDatabase,IDBObjectStore,IDBIndex,IDBCursor,IDBTransaction]))?new Proxy(e,Be):e)}function ve(e){if(e instanceof IDBRequest)return function(e){const t=new Promise(((t,n)=>{const o=()=>{e.removeEventListener("success",r),e.removeEventListener("error",i)},r=()=>{t(ve(e.result)),o()},i=()=>{n(e.error),o()};e.addEventListener("success",r),e.addEventListener("error",i)}));return t.then((t=>{t instanceof IDBCursor&&_e.set(t,e)})).catch((()=>{})),me.set(t,e),t}(e);if(fe.has(e))return fe.get(e);const t=Ee(e);return t!==e&&(fe.set(e,t),me.set(t,e)),t}const Qe=e=>me.get(e);const be=["get","getKey","getAll","getAllKeys","count"],we=["put","add","delete","clear"],Me=new Map;function ke(e,t){if(!(e instanceof IDBDatabase)||t in e||"string"!=typeof t)return;if(Me.get(t))return Me.get(t);const n=t.replace(/FromIndex$/,""),o=t!==n,r=we.includes(n);if(!(n in(o?IDBIndex:IDBObjectStore).prototype)||!r&&!be.includes(n))return;const i=async function(e,...t){const i=this.transaction(e,r?"readwrite":"readonly");let s=i.store;return o&&(s=s.index(t.shift())),(await Promise.all([s[n](...t),r&&i.done]))[0]};return Me.set(t,i),i}Be=(e=>({...e,get:(t,n,o)=>ke(t,n)||e.get(t,n,o),has:(t,n)=>!!ke(t,n)||e.has(t,n)}))(Be);class De extends ie{constructor(){super(),this._qosDB=void 0,this._intervalTimeoutId=null,this._interval=36e5,this._init()}openDB(){return t(this,void 0,void 0,(function*(){yield this._init()}))}_init(){return t(this,void 0,void 0,(function*(){return new Promise((e=>{this._qosDB?e(this):(function(e,t,{blocked:n,upgrade:o,blocking:r,terminated:i}={}){const s=indexedDB.open(e,t),A=ve(s);return o&&s.addEventListener("upgradeneeded",(e=>{o(ve(s.result),e.oldVersion,e.newVersion,ve(s.transaction))})),n&&s.addEventListener("blocked",(()=>n())),A.then((e=>{i&&e.addEventListener("close",(()=>i())),r&&e.addEventListener("versionchange",(()=>r()))})).catch((()=>{})),A}("frontier",1,{upgrade(e,t,n,o){e.createObjectStore("qos",{keyPath:"message_id"})}}).then((e=>{this._qosDB=e,this._intervalFlush(),this.emit("ready")})),this.on("ready",(()=>{e(this),this.off()})))}))}))}_intervalFlush(){return t(this,void 0,void 0,(function*(){clearInterval(this._intervalTimeoutId),this._intervalTimeoutId=setInterval((()=>{this.flushExpired()}),this._interval)}))}get(e){var n;return t(this,void 0,void 0,(function*(){return yield null===(n=this._qosDB)||void 0===n?void 0:n.get("qos",e)}))}set(e,n){var o;return t(this,void 0,void 0,(function*(){return yield null===(o=this._qosDB)||void 0===o?void 0:o.put("qos",{message_id:e,timestamp:n})}))}del(e){var n;return t(this,void 0,void 0,(function*(){return yield null===(n=this._qosDB)||void 0===n?void 0:n.delete("qos",e)}))}clear(){var e;return t(this,void 0,void 0,(function*(){return yield null===(e=this._qosDB)||void 0===e?void 0:e.clear("qos")}))}keys(){var e;return t(this,void 0,void 0,(function*(){return yield null===(e=this._qosDB)||void 0===e?void 0:e.getAllKeys("qos")}))}getAll(){var e;return t(this,void 0,void 0,(function*(){return yield null===(e=this._qosDB)||void 0===e?void 0:e.getAll("qos")}))}flushExpired(){var e;return t(this,void 0,void 0,(function*(){((yield null===(e=this._qosDB)||void 0===e?void 0:e.getAll("qos"))||[]).filter((({timestamp:e})=>e{var t;null===(t=this._qosDB)||void 0===t||t.delete("qos",e.message_id)}))}))}closeDB(){var e;return t(this,void 0,void 0,(function*(){clearInterval(this._intervalTimeoutId),null===(e=this._qosDB)||void 0===e||e.close(),this._qosDB=void 0}))}get isReady(){return this._qosDB}}class Oe{constructor(){this._qosDB=localStorage,this._intervalTimeoutId=null,this._interval=36e5,this._intervalFlush()}openDB(){return t(this,void 0,void 0,(function*(){if(!this._intervalTimeoutId)return this._intervalFlush(),this}))}_intervalFlush(){return t(this,void 0,void 0,(function*(){clearInterval(this._intervalTimeoutId),this._intervalTimeoutId=setInterval((()=>{this.flushExpired()}),this._interval)}))}_add_prefix(e){return`${this._prefix}${e}`}get _prefix(){return"frontier_qos_msg_id_"}get(e){return t(this,void 0,void 0,(function*(){const t=this._qosDB.getItem(this._add_prefix(e));return JSON.parse(t||"{}")}))}set(e,n){return t(this,void 0,void 0,(function*(){return this._qosDB.setItem(this._add_prefix(e),JSON.stringify({message_id:e,timestamp:n}))}))}del(e){return t(this,void 0,void 0,(function*(){return this._qosDB.removeItem(this._add_prefix(e))}))}clear(){return t(this,void 0,void 0,(function*(){return this._qosDB.clear()}))}keys(){return t(this,void 0,void 0,(function*(){const e=[];for(let t=0;tnull==e?void 0:e.startsWith(this._prefix)))}))}getAll(){return t(this,void 0,void 0,(function*(){const e=[],t=yield this.keys();for(const n in t){const t=this._qosDB.getItem(n);e.push(JSON.parse(t||"{}"))}return e}))}flushExpired(){return t(this,void 0,void 0,(function*(){((yield this.getAll())||[]).filter((({timestamp:e})=>e{this.del(e.message_id)}))}))}closeDB(){clearInterval(this._intervalTimeoutId)}get isReady(){return this._qosDB}}class Se{constructor(){this._qosDB=te?tt:ne?wx:null,this._intervalTimeoutId=null,this._interval=36e5,this._intervalFlush()}openDB(){return t(this,void 0,void 0,(function*(){if(!this._intervalTimeoutId)return this._intervalFlush(),this}))}_intervalFlush(){return t(this,void 0,void 0,(function*(){clearInterval(this._intervalTimeoutId),this._intervalTimeoutId=setInterval((()=>{this.flushExpired()}),this._interval)}))}_add_prefix(e){return`${this._prefix}${e}`}get _prefix(){return"frontier_qos_msg_id_"}get(e){return t(this,void 0,void 0,(function*(){const t=this._qosDB.getStorageSync(this._add_prefix(e));return JSON.parse(t||"{}")}))}set(e,n){return t(this,void 0,void 0,(function*(){return this._qosDB.setStorageSync(this._add_prefix(e),JSON.stringify({message_id:e,timestamp:n}))}))}del(e){return t(this,void 0,void 0,(function*(){return this._qosDB.removeStorageSync(this._add_prefix(e))}))}clear(){return t(this,void 0,void 0,(function*(){return this._qosDB.clearStorageSync()}))}keys(){return t(this,void 0,void 0,(function*(){const{keys:e}=this._qosDB.getStorageInfoSync();return e.filter((e=>null==e?void 0:e.startsWith(this._prefix)))}))}getAll(){return t(this,void 0,void 0,(function*(){const e=[],t=yield this.keys();for(const n of t){const t=yield this.get(n);e.push(t)}return e}))}flushExpired(){return t(this,void 0,void 0,(function*(){((yield this.getAll())||[]).filter((({timestamp:e})=>e{this.del(e.message_id)}))}))}closeDB(){clearInterval(this._intervalTimeoutId)}get isReady(){return this._qosDB}}function Re(){return te||te?new Se:(ee||oe)&&void 0!==typeof indexedDB?new De:(ee||oe)&&void 0!==typeof localStorage?new Oe:null}function Le(e){var n,o,r,i;return t(this,void 0,void 0,(function*(){const t=Ae(e.message.headers,"code","-1"),s=Ae(e.message.headers,"is_ack","1"),A=ae(e.message.headers,"x_frontier_msgid"),a=Number(ae(e.message.headers,"x_frontier_ttl"))||0,c=Ae(e.message.headers,"x_frontier_qos","2");if(!Ae(e.message.headers,"x_frontier_qos_ack","1")||!c)if(c&&!this._qosDB&&(this._qosDB=Re(),this._qosDB&&(yield this._qosDB.openDB())),c&&!this._qosDB.isReady&&(yield this._qosDB.openDB()),e.message.service>0&&s&&!t){if(A&&c)return void(!!(yield null===(n=this._qosDB)||void 0===n?void 0:n.get(A))||(this._dispatchMessageEvent(e),yield null===(o=this._qosDB)||void 0===o?void 0:o.set(A,Date.now()+a)));this._dispatchMessageEvent(e)}else if(e.message.service>0){if(A&&c)return void(!!(yield null===(r=this._qosDB)||void 0===r?void 0:r.get(A))||(this._dispatchMessageEvent(e),yield null===(i=this._qosDB)||void 0===i?void 0:i.set(A,Date.now()+a)));this._dispatchMessageEvent(e)}}))}function Te(e){return t(this,void 0,void 0,(function*(){this._uptimeTimeoutId=setTimeout((()=>Pe.bind(this)(e)).bind(this),this._options.uptimeInterval)}))}function Pe(e){var n,o;return t(this,void 0,void 0,(function*(){if(!this._ws||this._ws.readyState!==this.OPEN)return;const{pingInterval:t}=this._options;null===(n=this._endpointManager)||void 0===n||n.resetEndpointConfig();for(let e=0;eBoolean(e))),this._pingPongTimeoutId=setTimeout((()=>this._ping()),t),this._dispatchOpenEvent(e),this._isBrowser&&this._ws&&(this._ws.binaryType=this._binaryType);const r=null===(o=this._endpointManager)||void 0===o?void 0:o.getCurrentEndpoint();this._debug(`open ${r} success`)}))}function Ge(){return t(this,void 0,void 0,(function*(){this._isInit=!1,clearTimeout(this._connectionTimeoutId)}))}function xe(e){var n,o;return t(this,void 0,void 0,(function*(){const t=Ae(e.message.headers,"x_frontier_qos","2"),r=Ae(e.message.headers,"x_frontier_is_ack","1"),i=null===(n=ae(e.message.headers,"x_frontier_ack_msgid"))||void 0===n?void 0:n.split(",");if(t&&!this._qosDB&&(this._qosDB=Re(),this._qosDB&&(yield this._qosDB.openDB())),t&&!this._qosDB.isReady&&(yield this._qosDB.openDB()),t&&r&&i&&i.length)for(const e of i)yield null===(o=this._qosDB)||void 0===o?void 0:o.del(e)}))}e.CustomCloseEvent=K,e.CustomErrorEvent=J,e.Event=H,e.FWS=class extends ie{constructor(n){super(),this._miniNavigatorOnline=!0,this._isBrowser=ee,this._isNode=re,this._isMiniTT=te,this._isMiniWX=ne,this._isWorker=oe,this._messageQueue=[],this._endpointManager=null,this._readyClosed=!1,this._binaryType="arraybuffer",this._connectLock=!1,this._connectionTimeoutId=null,this._uptimeTimeoutId=null,this._reconnectTimeoutId=null,this._pingPongTimeoutId=null,this._seqId=0,this._isInit=!1,this._url="",this._qosDB=null,this._protocols="pbbp2",this.CLOSED=3,this.CONNECTING=0,this.OPEN=1,this.CLOSING=2,this._onOpen=t=>{de(this,t,[Ge,Te]).then((()=>{var e;const t=null===(e=this._endpointManager)||void 0===e?void 0:e.getCurrentEndpoint();this._debug(`open ${t}`)})).catch((t=>{const n=X("error",{message:t.message,code:e.ErrorCode.OPEN_ERROR});this._dispatchErrorEvent(n)}))},this._onMessage=n=>t(this,void 0,void 0,(function*(){const{pingInterval:t,pingFrequency:o}=this._options;clearTimeout(this._reconnectTimeoutId),"hi"!==n.data&&"auto"!==o||(clearTimeout(this._pingPongTimeoutId),this._pingPongTimeoutId=setTimeout((()=>this._ping()),t)),"hi"!==n.data&&de(this,n,[ge,ce,xe,Le]).then((()=>{this._debug("received",n.message)})).catch((t=>{const n=X("error",{message:t.message,code:e.ErrorCode.MESSAGE_ERROR});this._dispatchErrorEvent(n)}))})),this._onError=t=>{var n,o;const r=null===(n=this._endpointManager)||void 0===n?void 0:n.checkReachMaxTries(),i=null===(o=this._endpointManager)||void 0===o?void 0:o.getCurrentEndpoint();if(!r||t.message)this._ws&&this._ws.readyState===this.OPEN&&this._disconnect(),this._dispatchErrorEvent(X("error",{message:t.message,code:e.ErrorCode.NATIVE_ERROR}));else{const t=`connect ${i} fail, max retries reached`;this._dispatchErrorEvent(X("error",{message:t,code:e.ErrorCode.MAX_RETRIES_ERROR}))}},this._onClose=e=>t(this,void 0,void 0,(function*(){var t,n,o,r,i,s,A,a;this._clearTimer(),this._clearPingTimer(),this._removeWsListeners(),this._connectLock=!1;const c=null===(t=this._endpointManager)||void 0===t?void 0:t.checkReachMaxTries();if(c||!this._navigatorOnline()||this._readyClosed){if(1e3!==e.code&&this._readyClosed)return this._dispatchCloseEvent(Z("close",{code:1e3,reason:"bye"})),void(null===(o=this._endpointManager)||void 0===o||o.resetEndpointConfig());if(1e3!==e.code&&c){const t=null===(r=this._endpointManager)||void 0===r?void 0:r.getCurrentEndpoint();let n=e.reason;return n=n?`connecting failed, ${n}, hostname: ${t}, max retries reached`:`connecting failed, unknown reason, hostname: ${t}, max retries reached`,this._dispatchCloseEvent(Z("close",{code:e.code,reason:n})),void(null===(i=this._endpointManager)||void 0===i||i.resetEndpointConfig())}if(1e3!==e.code&&!e.reason){const t=null===(s=this._endpointManager)||void 0===s?void 0:s.getCurrentEndpoint();return this._dispatchCloseEvent(Z("close",{code:e.code,reason:`connecting failed, unknown reason, hostname: ${t}`})),void(null===(A=this._endpointManager)||void 0===A||A.resetEndpointConfig())}this._dispatchCloseEvent(e),null===(a=this._endpointManager)||void 0===a||a.resetEndpointConfig()}else{const t=null===(n=this._endpointManager)||void 0===n?void 0:n.getCurrentEndpoint();this._dispatchCloseEvent(Z("close",{code:1006,reason:e.reason||`connecting failed, unknown reason, hostname: ${t}`})),this._options.reconnectInterceptor(e.code,e.reason)&&this._connect()}})),this.onclose=null,this.onerror=null,this.onmessage=null,this.onopen=null,this.onStartReconnect=null,this.onReceiveAck=null,this.onStopImmediatelyReconnect=null,this._options={url:"",automaticOpen:!0,initReconnectInterval:1e3,maxReconnectInterval:1e4,reconnectIntervalGrowFactor:2,timeoutInterval:5e3,uptimeInterval:1e3,maxRetries:5,debug:!1,maxMessageQueueLength:1/0,service:0,logIDGenerator:i,headers:void 0,payloadEncoding:"",payloadType:"",fpID:"",deviceID:"",accessKey:"",ttwID:"",bddID:"",aID:"",disableAutoReconnect:!1,customParams:{},pingInterval:3e4,pingTimeoutInterval:5e3,pingFrequency:"auto",enableTransformTextPayload:!1,logIDNewConfig:{enableAutoGenerateLogIDNew:!1,userIp:""},miniProgramParams:{customHttpHeader:{}},enableAutoAck:!1,reconnectInterceptor:()=>!0,enableQoS:!1};const{url:o,ws:r}=n,s=Array.isArray(o)?o:"string"==typeof o?[o]:[];if(!s||0===s.length)throw new Error("please provide valid url, 'options.env' param is deprecated, you can use 'options.url' param instead");if(!function(e){return!!(e||(ee||oe)&&"undefined"!=typeof WebSocket&&WebSocket||ne&&wx.connectSocket||te&&tt.connectSocket)}(r))throw new Error("please provide ws params, WebSocket constructor is undefined");Object.assign(this._options,n),this._endpointManager=new $(s,this._options.maxRetries),this._options.automaticOpen&&(this._isInit=!0,this._connect()),this._isMiniTT||this._isMiniWX?this._onPageNetWorkChange():this._isBrowser&&this._initGlobalEventListener()}_handleOnLine(){this._options.disableAutoReconnect||this._readyClosed||this._handleReconnect()}_handleOffLine(){this._destroyWebSocket();const e=new q("reconnect",{message:"stop immediately reconnect"});this.onStopImmediatelyReconnect&&this.onStopImmediatelyReconnect(e)}_initGlobalEventListener(){this._isBrowser&&window.addEventListener("online",this._handleOnLine.bind(this)),this._isBrowser&&window.addEventListener("offline",this._handleOffLine.bind(this)),this._isBrowser&&window.addEventListener("pagehide",this._handlePageHide.bind(this)),this._isBrowser&&document.addEventListener("resume",this._handlePageShow.bind(this))}_handlePageHide(e){e.persisted||(this._isBrowser&&window.removeEventListener("pagehide",this._handlePageHide),this._isBrowser&&document.removeEventListener("resume",this._handlePageShow),this.close()),this._isBrowser&&window.removeEventListener("online",this._handleOnLine),this._isBrowser&&window.removeEventListener("offline",this._handleOffLine)}_handlePageShow(){!this._navigatorOnline()||this._ws&&this._ws.readyState===this.OPEN&&this._ws.readyState===this.CONNECTING||this._handleOnLine(),this._isBrowser&&window.addEventListener("online",this._handleOnLine.bind(this)),this._isBrowser&&window.addEventListener("offline",this._handleOffLine.bind(this))}_generateUrl(e){return t(this,void 0,void 0,(function*(){const{fpID:t,deviceID:n,bddID:o,ttwID:r,accessKey:i,aID:s,customParams:A={},enableAutoAck:a,enableQoS:c}=this._options;let l,g,d;this._isBrowser||this._isMiniWX||this._isMiniTT?(l=location&&"https:"==location.protocol?"wss://":"ws://",g=e.replace(/((^ws)|(^http))((?:[s]*:\/\/))/,""),d=/^wss(.*:\/\/)/.test(e)?e:`${l}${g}`):(l="wss://",g=e.replace(/(^http)((?:[s]*:\/\/))/,""),d=/(^ws)((?:[s]*:\/\/))/.test(g)?g:`${l}${g}`);const u=o?"bd_did":r?"ttwid":"device_id",p=o||r||n;if(!p||!u)throw new Error("please provide bddID, deviceID or ttwID");const h="function"==typeof A?yield A():A,_=Object.assign({device_platform:"web",version_code:"fws_1.0.0",access_key:i,fpid:t,aid:s,[u]:p,xsack:a?1:0,xaack:a?1:0,xsqos:c?1:0},h);return`${d}/ws/v2${Object.keys(_).reduce(((e,t)=>`${e}${e?"&":"?"}${t}=${_[t]}`),"")}`}))}_connect(){var n,o,r,i,s,A,a;return t(this,void 0,void 0,(function*(){if(!this._connectLock&&!this._readyClosed){this._connectLock=!0;try{const l=null===(n=this._endpointManager)||void 0===n?void 0:n.checkCurrentEndpointReachedMaxRetries(),{timeoutInterval:g}=this._options;if(l){const t=null===(o=this._endpointManager)||void 0===o?void 0:o.getCurrentEndpoint(),n=null===(r=this._endpointManager)||void 0===r?void 0:r.replaceBackupEndpointAndUpdateCount(),s=null===(i=this._endpointManager)||void 0===i?void 0:i.getCurrentEndpointTriesCount();if(!n){const n=`connect ${t} timeout, max retries reached`;return this._debug(n),void this._dispatchErrorEvent(X("error",{message:n,code:e.ErrorCode.MAX_RETRIES_ERROR}))}{const o=`connect ${t} timeout, max retries reached, will use backup endpoint ${n} to retry`,r=X("error",{message:o,code:e.ErrorCode.MAX_RETRIES_ERROR});this._debug(o),this._dispatchErrorEvent(r),this._url=yield this._generateUrl(n),this._debug(`connect ${n} ${s} times`),this._removeWsListeners()}}else{const e=null===(s=this._endpointManager)||void 0===s?void 0:s.getCurrentEndpointAndUpdateCount(),t=null===(A=this._endpointManager)||void 0===A?void 0:A.getCurrentEndpointTriesCount();this._url=yield this._generateUrl(e||""),this._debug(`connect ${e} ${t} times`),this._removeWsListeners()}if(this._isInit)this._isInit=!1;else{const e=new q("reconnect",{message:"start"});this.onStartReconnect&&this.onStartReconnect(e)}const d=(null===(a=this._endpointManager)||void 0===a?void 0:a.getCurrentEndpointTriesCount())||0;d>1&&(yield this._wait(d-1)),this._debug(`connecting url: ${this._url} protocols: ${this._protocols}`),this._ws=(t={url:this._url,protocols:[this._protocols],headers:this._options.miniProgramParams.customHttpHeader},(c=this._options.ws)?new c(t.url,t.protocol):(ee||oe)&&"undefined"!=typeof WebSocket&&WebSocket?new WebSocket(t.url,t.protocols):ne||te?new se(t.url,t.protocol,t.headers):void 0),(this._isBrowser||this._isWorker)&&this._ws&&(this._ws.binaryType=this._binaryType),this._addWsListeners(),this._connectionTimeoutId=setTimeout((()=>this._onTimeout()),g)}catch(e){throw this._connectLock=!1,e}}var t,c}))}_clearTimer(){clearTimeout(this._connectionTimeoutId),clearTimeout(this._uptimeTimeoutId),this._connectionTimeoutId=null,this._uptimeTimeoutId=null}_clearPingTimer(){clearTimeout(this._pingPongTimeoutId),clearTimeout(this._reconnectTimeoutId),this._pingPongTimeoutId=null,this._reconnectTimeoutId=null}_debug(...e){this._options.debug&&console.log.apply(console,["FRONTIER>",...e])}_getIntervalValue(e){const{initReconnectInterval:t,maxReconnectInterval:n,reconnectIntervalGrowFactor:o}=this._options,r=t*Math.pow(o,e-1);return r>n?n:r}_ping(){this._ws&&this._ws.readyState===this.CONNECTING?this._pingPongTimeoutId=setTimeout((()=>this._ping()),this._options.pingInterval):this._ws&&this._ws.readyState===this.OPEN?(this._ws&&this._ws.send("hi"),this._reconnectTimeoutId=setTimeout((()=>this._handleReconnect()),this._options.pingTimeoutInterval)):this._handleReconnect()}_navigatorOnline(){return this._isMiniTT||this._isMiniWX?this._miniNavigatorOnline:!this._isBrowser&&!this._isWorker||navigator.onLine}_handleReconnect(){var e;this._navigatorOnline()&&!this._readyClosed&&(null===(e=this._endpointManager)||void 0===e||e.resetEndpointConfig(),this._ws?this._disconnect(1001,"going away, try reconnecting server",!0):this._connect())}_onPageNetWorkChange(){this._isMiniTT?tt.onNetworkStatusChange((({isConnected:e})=>{this._miniNavigatorOnline=e,e?this._handleOnLine():this._handleOffLine()})):this._isMiniWX&&wx.onNetworkStatusChange((({isConnected:e})=>{this._miniNavigatorOnline=e,e?this._handleOnLine():this._handleOffLine()}))}_wait(e){return new Promise((t=>{setTimeout(t,this._getIntervalValue(e))}))}_disconnect(e=1e3,t="",n=!1){this._ws&&this._destroyWebSocket(e,t,n)}_onTimeout(){var e;const t=null===(e=this._endpointManager)||void 0===e?void 0:e.getCurrentEndpoint();this._debug(`connect ${t} timeout`),this._disconnect(1001,"timeout, try reconnecting",!0)}_sendAck(e){const t=S(e);this._ws&&this._ws.readyState===this.OPEN&&(this._ws&&this._ws.send(t),this._debug("send_ack",e))}_removeWsListeners(){this._ws&&(this._ws.removeEventListener("open",this._onOpen),this._ws.removeEventListener("close",this._onClose),this._ws.removeEventListener("message",this._onMessage),this._ws.removeEventListener("error",this._onError))}_addWsListeners(){this._ws&&(this._ws.addEventListener("open",this._onOpen),this._ws.addEventListener("close",this._onClose),this._ws.addEventListener("message",this._onMessage),this._ws.addEventListener("error",this._onError))}_wsInstanceClose(e=1e3,t=""){try{this._ws&&this._ws.close(e,t)}catch(e){}}_destroyWebSocket(e=1e3,t="",n=!1){var o,r,i;if(this._clearPingTimer(),this._clearTimer(),this._removeWsListeners(),this._wsInstanceClose(1e3,t),this._connectLock=!1,n&&this._navigatorOnline()&&!this._readyClosed)if(null===(o=this._endpointManager)||void 0===o?void 0:o.checkReachMaxTries()){const e=null===(r=this._endpointManager)||void 0===r?void 0:r.getCurrentEndpoint();this._dispatchCloseEvent(Z("close",{code:1006,reason:`connect ${e} timeout, max retries reached`,wasClean:!0}))}else this._options.reconnectInterceptor(e,t)&&this._connect(),this._dispatchCloseEvent(Z("close",{code:e,reason:t,wasClean:!0}));else this._navigatorOnline()||this._readyClosed?this._dispatchCloseEvent(Z("close",{code:e,reason:"bye"})):this._dispatchCloseEvent(Z("close",{code:1006,reason:"going away, network offline"})),this._ws=null,null===(i=this._endpointManager)||void 0===i||i.resetEndpointConfig()}_dispatchOpenEvent(e){this.emit("open",e),this.onopen&&this.onopen(e)}_dispatchMessageEvent(e){this.emit("message",e),this.onmessage&&this.onmessage(e)}_dispatchAckMessageEvent(e){this.emit("ack",e),this.onReceiveAck&&this.onReceiveAck(e)}_dispatchErrorEvent(e){this.emit("error",e),this.onerror&&this.onerror(e)}_dispatchCloseEvent(e){this.emit("close",e),this.onclose&&this.onclose(e)}get binaryType(){return this._ws?this._ws.binaryType:this._binaryType}set binaryType(e){this._binaryType=e,this._ws&&(this._ws.binaryType=e)}get retryCount(){var e;return(null===(e=this._endpointManager)||void 0===e?void 0:e.getCurrentEndpointTriesCount())||0}get bufferedAmount(){return this._messageQueue.reduce(((e,t)=>e+(t&&t.byteLength||0)),0)+(this._ws?this._ws.bufferedAmount:0)}get extensions(){return this._ws?this._ws.extensions:""}get protocol(){return this._ws?this._ws.protocol:""}get readyState(){return this._ws?this._ws.readyState:this._options.automaticOpen?this.CONNECTING:this.CLOSED}get url(){return this._ws?this._ws.url:""}close(e=1e3,t){var n;if(this._readyClosed=!0,this._clearTimer(),this._clearPingTimer(),null===(n=this._qosDB)||void 0===n||n.closeDB(),this._ws)if(this._ws.readyState!==this.CLOSED&&this._ws.readyState!==this.CLOSING)this._destroyWebSocket(e,t);else{this._debug("close, ws already closed");const e=Z("close",{code:1e3,reason:"ws already closed",wasClean:!0});this._dispatchCloseEvent(e)}else{this._debug("close, ws instance not initialized");const e=Z("close",{code:1e3,reason:"ws instance not initialized",wasClean:!0});this._dispatchCloseEvent(e)}}send(e,n){return t(this,void 0,void 0,(function*(){if(null==e)throw new Error("please provide a valid data, data must be a string or an arraybuffer");"number"==typeof e&&(e=JSON.stringify(e)),"string"==typeof e||e instanceof ArrayBuffer||e.buffer&&e.buffer instanceof ArrayBuffer||(e=JSON.stringify(e));const t=yield le(e),o=function(e){try{return"string"!=typeof e&&(e instanceof ArrayBuffer||e.buffer&&e.buffer instanceof ArrayBuffer)?"":"string"==typeof e?(JSON.parse(e),"application/json"):""}catch(t){return"string"==typeof e?"text/plain;charset=utf-8":""}}(e),{method:i=0,service:s=this._options.service,logID:A=this._options.logIDGenerator(),headers:a=this._options.headers,payloadEncoding:c=this._options.payloadEncoding,payloadType:l=this._options.payloadType,logIDNew:g=(this._options.logIDNewConfig.enableAutoGenerateLogIDNew?r(this._options.logIDNewConfig.userIp):"")}=n||{};if(!s)throw new Error("please provide a valid service");const d={SeqID:G.fromNumber(this._seqId++),LogID:G.fromNumber(A),service:s,method:i,headers:a,payloadEncoding:c instanceof Object?c.encoding?c.encoding:"":c,payloadType:l instanceof Object?l.type?l.type:o:l||o,payload:t,LogIDNew:g},u=S(d);return this._ws&&this._ws.readyState===this.OPEN?(this._ws&&this._ws.send(u),this._debug("sent",d)):this._messageQueue.length{"use strict";n.r(t),n.d(t,{AdapterManager:()=>je,AdapterType:()=>Ge,BaseApiManager:()=>$,BaseError:()=>K,BasePlugin:()=>It,BaseProcessor:()=>$e,BasicConversation:()=>yt,BizPlugin:()=>Cn,BrowserWebSocket:()=>dt,BytedIM:()=>_t,CommandMessage:()=>Ze,CommandType:()=>Ke,ConfigKeys:()=>Ve,ConnectionStatus:()=>Te,ContextClassBase:()=>F,Conversation:()=>Be,ConversationCoreInfo:()=>ae,ConversationManager:()=>Je,ConversationSettingInfo:()=>le,ConversationStatus:()=>f,ConversationType:()=>I,CreateConvertsationStatusCode:()=>O,DbProxy:()=>ut,DynamicCardPlugin:()=>Ut,ErrorType:()=>w,EventBus:()=>Ae,ExtensionPlugin:()=>Wt,FavoriteState:()=>E,FileExtKey:()=>vt,FileExtTypeValue:()=>Qt,FileType:()=>Et,FlightStatus:()=>M,IMEvent:()=>b,IMHttpClient:()=>ct,IMMediaUploader:()=>Ct,IMNetApi:()=>Ye,IMWebSocket:()=>gt,ImageTplvFormat:()=>Ot,ImageTplvType:()=>bt,InfoKeys:()=>h,InitApiMode:()=>R,InitResult:()=>v,Logger:()=>H,LoggerLevel:()=>x,MediaUploaderMonitorItem:()=>Xe,Message:()=>Ce,MessageManager:()=>it,MessageProperty:()=>Bt,MessageSource:()=>Q,MetricsPlugin:()=>yn,Monitor:()=>J,MonitorItem:()=>q,MultimediaPlugin:()=>jt,MultimediaPluginConsts:()=>St,MultimediaPluginCore:()=>Yt,MuteState:()=>B,NetworkType:()=>Pe,Participant:()=>et,ParticipantManager:()=>st,PropertyStatus:()=>ge,PushPartDisableConfigWhiteListKey:()=>_,PushStatus:()=>C,RuntimeContext:()=>j,SdkConsts:()=>u,SdkStatus:()=>k,SendMessageStatusCode:()=>D,ServerMessageStatus:()=>y,ServiceIdentity:()=>G,SharkPlugin:()=>In,StickTopState:()=>m,StoragePlugin:()=>ln,StrangerConversation:()=>dn,StrangerPlugin:()=>pn,Subject:()=>ne,Subscription:()=>te,Ticker:()=>xe,TrackerItem:()=>ze,TriggerType:()=>S,TtlCache:()=>mt,UserPlugin:()=>mn,Version:()=>d,WebSocketLevel:()=>p,chunkArray:()=>pe,combineToArray:()=>_e,debounce:()=>re,debounceWithArgs:()=>se,deserialize:()=>Oe,deserializeFrame:()=>Re,diffArray:()=>Ie,groupBy:()=>he,im_proto:()=>g,isTrueValue:()=>fe,queryToJson:()=>me,serialize:()=>De,serializeFrame:()=>Se,string2LongAsBit:()=>ye,throttle:()=>oe,throttleWithArgs:()=>ie,uuidv4:()=>P});var o=n(58632),r=n(97638),i=n.n(r),s=n(74722);s.util.Long=r,s.configure();const A=s.Reader,a=s.Writer,c=s.util,l=s.roots.default||(s.roots.default={}),g=l.im_proto=(()=>{const e={};return e.Frame=function(){function e(e){if(this.headers=[],e)for(var t=Object.keys(e),n=0;n>>3){case 1:o.seqid=e.uint64();break;case 2:o.logid=e.uint64();break;case 3:o.service=e.int32();break;case 4:o.method=e.int32();break;case 5:o.headers&&o.headers.length||(o.headers=[]),o.headers.push(l.im_proto.Frame.ExtendedEntry.decode(e,e.uint32()));break;case 6:o.payload_encoding=e.string();break;case 7:o.payload_type=e.string();break;case 8:o.payload=e.bytes();break;default:e.skipType(7&r)}}if(!o.hasOwnProperty("seqid"))throw c.ProtocolError("missing required 'seqid'",{instance:o});if(!o.hasOwnProperty("logid"))throw c.ProtocolError("missing required 'logid'",{instance:o});if(!o.hasOwnProperty("service"))throw c.ProtocolError("missing required 'service'",{instance:o});if(!o.hasOwnProperty("method"))throw c.ProtocolError("missing required 'method'",{instance:o});return o},e.ExtendedEntry=function(){function e(e){if(e)for(var t=Object.keys(e),n=0;n>>3){case 1:o.key=e.string();break;case 2:o.value=e.string();break;default:e.skipType(7&r)}}if(!o.hasOwnProperty("key"))throw c.ProtocolError("missing required 'key'",{instance:o});if(!o.hasOwnProperty("value"))throw c.ProtocolError("missing required 'value'",{instance:o});return o},e}(),e}(),e.IMCMD=function(){const e={},t=Object.create(e);return t[e[0]="IMCMD_NOT_USED"]=0,t[e[100]="SEND_MESSAGE"]=100,t[e[200]="GET_MESSAGES_BY_USER"]=200,t[e[201]="GET_MESSAGES_BY_USER_INIT"]=201,t[e[202]="REPORT_GET_MESSAGES_CURSOR"]=202,t[e[203]="GET_MESSAGES_BY_USER_INIT_V2"]=203,t[e[206]="GET_MESSAGES_BY_CONVERSATION_SEARCH"]=206,t[e[210]="CHECK_MESSAGES_BY_USER"]=210,t[e[211]="GET_MESSAGE_INFO_BY_SERVER_ID"]=211,t[e[300]="GET_CONVERSATION_LIST"]=300,t[e[301]="GET_MESSAGES_BY_CONVERSATION"]=301,t[e[302]="GET_MESSAGES_CHECKINFO_IN_CONVERSATION"]=302,t[e[303]="GET_MESSAGES_CHECK_INFO_V2"]=303,t[e[400]="SEND_ONLINE"]=400,t[e[401]="SEND_OFFLINE"]=401,t[e[402]="SEND_CLIENT_FOREGROUND"]=402,t[e[403]="SEND_CLIENT_BACKGROUND"]=403,t[e[410]="SEND_USER_ACTION"]=410,t[e[411]="SEND_INPUT_STATUS"]=411,t[e[500]="NEW_MSG_NOTIFY"]=500,t[e[501]="MARK_READ_NOTIFY"]=501,t[e[502]="CONVERSATION_INFO_UPDATED_NOTIFY"]=502,t[e[504]="NEW_DIRECT_PUSH_NOTIFY"]=504,t[e[510]="NEW_INPUT_STATUS_NOTIFY"]=510,t[e[505]="NEW_BROADCAST_MSG_NOTIFY"]=505,t[e[506]="NEW_BROADCAST_CMD_MSG_NOTIFY"]=506,t[e[507]="NEW_PREVIEW_MSG_NOTIFY"]=507,t[e[508]="NEW_FRIEND_MSG_NOTIFY"]=508,t[e[511]="BIZ_DIRECT_PUSH_NOTIFY"]=511,t[e[600]="GET_CONVERSATION_INFO"]=600,t[e[601]="SET_CONVERSATION_INFO"]=601,t[e[602]="CREATE_CONVERSATION"]=602,t[e[603]="MARK_CONVERSATION_DELETE"]=603,t[e[604]="MARK_CONVERSATION_READ"]=604,t[e[607]="GET_CONVERSATION_INFO_LIST"]=607,t[e[608]="GET_CONVERSATION_INFO_V2"]=608,t[e[609]="CREATE_CONVERSATION_V2"]=609,t[e[610]="GET_CONVERSATION_INFO_LIST_V2"]=610,t[e[611]="GET_CONVERSATION_INFO_LIST_BY_FAVORITE_V2"]=611,t[e[612]="GET_CONVERSATION_INFO_LIST_BY_TOP_V2"]=612,t[e[613]="BATCH_MARK_CONVERSATION_READ"]=613,t[e[614]="DISSOLVE_CONVERSATION"]=614,t[e[615]="GET_CONVERSATIONS_CHECKINFO"]=615,t[e[616]="GET_CONVERSATIONS_CHECK_INFO_V2"]=616,t[e[617]="BATCH_DELETE_CONVERSATIONS"]=617,t[e[605]="CONVERSATION_PARTICIPANTS_LIST"]=605,t[e[650]="ADD_CONVERSATION_PARTICIPANTS"]=650,t[e[651]="REMOVE_CONVERSATION_PARTICIPANTS"]=651,t[e[652]="LEAVE_CONVERSATION"]=652,t[e[653]="CONVERSATION_SET_ROLE"]=653,t[e[654]="MGET_CONVERSATION_PARTICIPANTS"]=654,t[e[655]="UPDATE_CONVERSATION_PARTICIPANT"]=655,t[e[656]="BATCH_UPDATE_CONVERSATION_PARTICIPANT"]=656,t[e[690]="GET_CONVERSATION_GROUP_LIST"]=690,t[e[701]="DELETE_MESSAGE"]=701,t[e[702]="RECALL_MESSAGE"]=702,t[e[703]="REACTION_MESSAGE"]=703,t[e[704]="SYNC_MESSAGE"]=704,t[e[705]="SET_MESSAGE_PROPERTY"]=705,t[e[706]="ACK_MESSAGE"]=706,t[e[801]="GET_GROUP_INFO"]=801,t[e[802]="SET_GROUP_INFO"]=802,t[e[803]="GET_GROUP_INFO_LIST"]=803,t[e[901]="GET_CONVERSATION_CORE_INFO"]=901,t[e[902]="SET_CONVERSATION_CORE_INFO"]=902,t[e[903]="GET_CONVERSATION_CORE_INFO_LIST"]=903,t[e[904]="UPSERT_CONVERSATION_CORE_EXT_INFO"]=904,t[e[920]="GET_CONVERSATION_SETTING_INFO"]=920,t[e[921]="SET_CONVERSATION_SETTING_INFO"]=921,t[e[922]="UPSERT_CONVERSATION_SETTING_EXT_INFO"]=922,t[e[1001]="GET_STRANGER_CONVERSATION_LIST"]=1001,t[e[1002]="GET_STRANGER_MESSAGES_IN_CONVERSATION"]=1002,t[e[1003]="DELETE_STRANGER_MESSAGE"]=1003,t[e[1004]="DELETE_STRANGER_CONVERSATION"]=1004,t[e[1005]="DELETE_ALL_STRANGER_CONVERSATIONS"]=1005,t[e[1006]="MARK_STRANGER_CONVERSATION_READ"]=1006,t[e[1007]="MARK_ALL_STRANGER_CONVERSATIONS_READ"]=1007,t[e[1008]="GET_STRANGER_UNREAD_COUNT"]=1008,t[e[1099]="STRANGER_NEW_MSG_NOTIFY"]=1099,t[e[2e3]="GET_CONVERSATION_PARTICIPANTS_READ_INDEX_V3"]=2e3,t[e[2001]="GET_CONVERSATION_PARTICIPANTS_MIN_INDEX_V3"]=2001,t[e[2002]="MARK_CONVERSATION_READ_V3"]=2002,t[e[2003]="GET_MEDIA_UPLOAD_TOKEN"]=2003,t[e[2004]="GET_MEDIA_URLS"]=2004,t[e[2005]="GET_TICKET"]=2005,t[e[2006]="GET_USER_CONVERSATION_LIST"]=2006,t[e[2007]="BROADCAST_SEND_MESSAGE"]=2007,t[e[2008]="BROADCAST_RECV_MESSAGE"]=2008,t[e[2009]="BROADCAST_USER_COUNTER"]=2009,t[e[2010]="CLIENT_ACK"]=2010,t[e[2011]="CREATE_VOIP"]=2011,t[e[2012]="CALL_VOIP"]=2012,t[e[2013]="UPDATE_VOIP"]=2013,t[e[2014]="HEARTBEAT_CHANNEL"]=2014,t[e[2015]="PROFILE_GET_INFO"]=2015,t[e[2016]="REPORT_CLIENT_METRICS"]=2016,t[e[2017]="GET_CONFIGS"]=2017,t[e[2018]="UNREAD_COUNT_REPORT"]=2018,t[e[2019]="BLOCK_MEMBERS"]=2019,t[e[2020]="BLOCK_CONVERSATION"]=2020,t[e[2021]="MODIFY_MESSAGE_EXT"]=2021,t[e[2022]="GET_CONVERSATION_AUDIT_SWITCH"]=2022,t[e[2023]="UPDATE_CONVERSATION_AUDIT_SWITCH"]=2023,t[e[2024]="SEND_CONVERSATION_APPLY"]=2024,t[e[2025]="ACK_CONVERSATION_APPLY"]=2025,t[e[2026]="GET_CONVERSATION_APPLY"]=2026,t[e[2027]="GET_CONVERSATION_AUDIT_LIST"]=2027,t[e[2028]="GET_CONVERSATION_AUDIT_UNREAD"]=2028,t[e[2029]="CLEAR_CONVERSATION_AUDIT_UNREAD"]=2029,t[e[2030]="GET_UNREAD_COUNT"]=2030,t[e[2031]="SEND_MESSAGE_P2P"]=2031,t[e[2032]="GET_BLOCKLIST"]=2032,t[e[2033]="SET_BLOCKLIST"]=2033,t[e[2034]="CHECK_IN_BLOCKLIST"]=2034,t[e[2035]="GET_MESSAGE_INFO_BY_INDEX_V2"]=2035,t[e[2036]="MARK_MESSAGE"]=2036,t[e[2037]="PULL_MARK_MESSAGE"]=2037,t[e[2038]="BATCH_GAT_CONVERSATION_PARTICIPANTS_READINDEX"]=2038,t[e[2039]="GET_RECENT_MESSAGE"]=2039,t[e[2040]="GET_CMD_MESSAGE"]=2040,t[e[2041]="GET_MESSAGE_INFO_BY_INDEX_V2_RANGE"]=2041,t[e[2042]="BATCH_GET_CONVERSATION_AUDIT_UNREAD"]=2042,t[e[2043]="GET_MESSAGE_BY_INIT"]=2043,t[e[2044]="PREVIEWER_GET_MESSAGES_BY_CONVERSATION"]=2044,t[e[2045]="PREVIEWER_GET_CONVERSATION_INFO_LIST"]=2045,t[e[2046]="SEND_FRIEND_APPLY"]=2046,t[e[2047]="GET_FRIEND_APPLY_LIST"]=2047,t[e[2048]="GET_FRIEND_RECEIVE_APPLY_LIST"]=2048,t[e[2049]="REPLY_FRIEND_APPLY"]=2049,t[e[2050]="GET_FRIEND_LIST"]=2050,t[e[2051]="DELETE_FRIEND"]=2051,t[e[2052]="PROFILE_BATCH_GET_INFO"]=2052,t[e[2053]="PROFILE_SEARCH_INFO"]=2053,t[e[2054]="MARK_MSG_UNREAD_COUNT_REPORT"]=2054,t[e[2055]="MARK_MSG_GET_UNREAD_COUNT"]=2055,t[e[2056]="BATCH_UNMARK_MESSAGE"]=2056,t[e[2057]="CLIENT_BATCH_ACK"]=2057,t[e[2058]="JOIN_VOIP"]=2058,t[e[2059]="GET_MEDIA_UPLOAD_CONFIG"]=2059,t[e[2060]="GET_MEDIA_STATUS"]=2060,t[e[2100]="GLOBAL_MESSAGE_SEARCH"]=2100,t[e[2101]="GLOBAL_GROUP_SEARCH"]=2101,t[e[2102]="CONVERSATION_MESSAGE_SEARCH"]=2102,t[e[2103]="CONVERSATION_MESSAGE_PRE_VIEW"]=2103,t[e[2200]="GET_MESSAGES"]=2200,t[e[9999]="VCD_CLEAN"]=9999,t}(),e.StatusCode=function(){const e={},t=Object.create(e);return t[e[0]="OK"]=0,t[e[1]="INVALID_TOKEN"]=1,t[e[100]="EXPIRED_TOKEN"]=100,t[e[2]="INVALID_TICKET"]=2,t[e[3]="CONVERSATION_NOT_FOUND"]=3,t[e[4]="INVALID_REQUEST"]=4,t[e[5]="INVALID_CMD"]=5,t[e[6]="SERVER_ERR"]=6,t[e[11]="USER_FORBIDDEN"]=11,t[e[7]="DEVICE_NOT_BIND"]=7,t[e[8]="MESSAGE_ILLEGAL"]=8,t[e[9]="USER_ILLEGAL"]=9,t[e[10]="USER_NOT_FRIENDS"]=10,t[e[12]="USER_SILENCE"]=12,t[e[13]="USER_NOT_IN_GROUP"]=13,t[e[14]="USER_BANNED_TO_POST"]=14,t[e[500]="INTERNAL_ERROR"]=500,t[e[15]="MESSAGE_TARGET_CONVERSATION_NOT_EXIST"]=15,t[e[16]="DEGRADATION_ERROR"]=16,t[e[17]="RECALL_TIMEOUT"]=17,t[e[18]="TOUCH_LIMIT"]=18,t[e[19]="CALLBACK_DENY"]=19,t[e[100017]="CONV_NOT_FOUND"]=100017,t}(),e.VoipStatusCode=function(){const e={},t=Object.create(e);return t[e[0]="SUCCESS"]=0,t[e[4]="VOIP_PARAMS_ERROR"]=4,t[e[18]="VOIP_STATUS_ERROR"]=18,t[e[19]="VOIP_CANCEL_ERROR"]=19,t[e[20]="VOIP_OTHER_RESPONSE_ERROR"]=20,t[e[21]="VOIP_CALLBACK_ERROR"]=21,t}(),e.SendMessageStatus=function(){const e={},t=Object.create(e);return t[e[0]="SEND_SUCCEED"]=0,t[e[1]="USER_NOT_IN_CONVERSATION"]=1,t[e[2]="CHECK_CONV_NOT_PASS"]=2,t[e[3]="CHECK_MSG_NOT_PASS"]=3,t[e[4]="CHECK_MSG_NOT_PASS_BUT_SELF_VISIBLE"]=4,t[e[5]="USER_HAS_BEEN_BLOCKED"]=5,t}(),e.ConversationOperationStatus=function(){const e={},t=Object.create(e);return t[e[0]="OP_SUCCEED"]=0,t[e[1]="REJECTED"]=1,t[e[2]="PARTLY_REJECTED"]=2,t[e[3]="APPLY_REJECTED"]=3,t[e[4]="APPLY_SUCCEED"]=4,t[e[5]="CALLBACK_REJECTED"]=5,t[e[6]="TOUCH_LIMITS"]=6,t}(),e.Refer=function(){const e={},t=Object.create(e);return t[e[0]="REFER_NOT_USED"]=0,t[e[1]="ANDROID"]=1,t[e[2]="IOS"]=2,t[e[3]="PC"]=3,t[e[4]="SERVER"]=4,t}(),e.ConversationType=function(){const e={},t=Object.create(e);return t[e[1]="ONE_TO_ONE_CHAT"]=1,t[e[2]="GROUP_CHAT"]=2,t[e[3]="LIVE_CHAT"]=3,t[e[4]="BROADCAST_CHAT"]=4,t}(),e.BlockType=function(){const e={},t=Object.create(e);return t[e[1]="MEMBER"]=1,t[e[2]="CONVERSATION_NOT_MANAGERS"]=2,t[e[3]="CONVERSATION_ALL"]=3,t}(),e.MessageType=function(){const e={},t=Object.create(e);return t[e[1]="LEGACY_MESSAGE_TYPE_SYSTEM"]=1,t[e[5]="LEGACY_MESSAGE_TYPE_EMOJI"]=5,t[e[7]="LEGACY_MESSAGE_TYPE_TEXT"]=7,t[e[8]="LEGACY_MESSAGE_TYPE_USER_CARD"]=8,t[e[11]="MsgTypeShareSubOnlyVideo"]=11,t[e[15]="MsgTypeHelloSticker"]=15,t[e[16]="MsgTypeForwardComment"]=16,t[e[19]="MsgTypeShareChallenge"]=19,t[e[21]="MsgTypeShareLiveMsg"]=21,t[e[22]="MsgTypeShareVideoBGM"]=22,t[e[25]="MsgTypeShareProfile"]=25,t[e[26]="MsgTypeH5Card"]=26,t[e[33]="MsgTypeShareQnA"]=33,t[e[40]="MsgTypeShareComment"]=40,t[e[43]="MsgTypeShareProduct"]=43,t[e[71]="MsgTypeShareMixVideo"]=71,t[e[72]="MsgTypeShareEffect"]=72,t[e[101]="MsgTypeFile"]=101,t[e[1006]="MsgTypeSystemNotice"]=1006,t[e[1007]="MsgTypeStrongSystemNotice"]=1007,t[e[1021]="MsgTypeShareLive"]=1021,t[e[1025]="MsgTypeShareStory"]=1025,t[e[1030]="MsgTypeGroupWelcomeAvatar"]=1030,t[e[1031]="MsgTypeGroupNotice"]=1031,t[e[1032]="MsgTypeSystemCardMsg"]=1032,t[e[1033]="MsgTypeShareGroupInvite"]=1033,t[e[1034]="MsgTypeShareLiveEvent"]=1034,t[e[1036]="MsgTypeSharedSearch"]=1036,t[e[1037]="MsgTypeSmallSystemCardMsg"]=1037,t[e[1038]="MsgTypeShareSubscribeInvite"]=1038,t[e[1801]="MsgTypeTemplateImageCard"]=1801,t[e[1802]="MsgTypeTemplatePictureCard"]=1802,t[e[1803]="MsgTypeTemplateVideoCard"]=1803,t[e[1804]="MsgTypeTemplateInfoCard"]=1804,t[e[1805]="MsgTypeTemplateStickerCard"]=1805,t[e[1806]="MsgTypeTemplatePortraitCard"]=1806,t[e[1807]="MsgTypeTemplateBotAnswerCard"]=1807,t[e[1808]="MsgTypeTemplateInteractiveNoticeCard"]=1808,t[e[1809]="MsgTypeTemplateShareVideo"]=1809,t[e[1810]="MsgTypeTemplateBubbleCard"]=1810,t[e[1811]="MsgTypeTemplateShareCommentCard"]=1811,t[e[1900]="MsgTypeTemplateCommonCard"]=1900,t[e[2e3]="MsgTypeTemplateDynamicCard"]=2e3,t[e[3001]="MsgTypeTemplatePlaylistImageCard"]=3001,t[e[0]="MESSAGE_TYPE_NOT_USED"]=0,t[e[2]="LEGACY_MESSAGE_TYPE_IMAGE"]=2,t[e[3]="LEGACY_MESSAGE_TYPE_AUDIO"]=3,t[e[4]="LEGACY_MESSAGE_TYPE_VIDEO"]=4,t[e[6]="LEGACY_MESSAGE_TYPE_FILE"]=6,t[e[9]="LEGACY_MESSAGE_TYPE_TOAST"]=9,t[e[10]="LEGACY_MESSAGE_TYPE_GROUP_CARD"]=10,t[e[81]="LEGACY_MESSAGE_TYPE_SHARE_PLAYLIST"]=81,t[e[10001]="MESSAGE_TYPE_TEXT"]=10001,t[e[10002]="MESSAGE_TYPE_STICKER"]=10002,t[e[10003]="MESSAGE_TYPE_IMAGE"]=10003,t[e[10004]="MESSAGE_TYPE_VIDEO"]=10004,t[e[10005]="MESSAGE_TYPE_FILE"]=10005,t[e[10006]="MESSAGE_TYPE_AUDIO"]=10006,t[e[10007]="MESSAGE_TYPE_LOCATION"]=10007,t[e[10008]="MESSAGE_TYPE_SYSTEM"]=10008,t[e[10009]="MESSAGE_TYPE_LINK"]=10009,t[e[10011]="MESSAGE_TYPE_GSDK_AUDIO"]=10011,t[e[5e4]="MESSAGE_TYPE_STATUS"]=5e4,t[e[50001]="MESSAGE_TYPE_COMMAND"]=50001,t[e[50002]="MESSAGE_TYPE_UPDATE_MESSAGE_EXT"]=50002,t[e[50005]="MESSAGE_TYPE_CONVERSATION_DESTROY"]=50005,t[e[50010]="MESSAGE_TYPE_MODE_CHANGE"]=50010,t[e[50013]="MESSAGE_TYPE_READ_COMMAND"]=50013,t[e[50020]="MESSAGE_TYPE_REFRESH_MESSAGE"]=50020,t[e[50021]="MESSAGE_TYPE_RECALL_MESSAGE"]=50021,t[e[50022]="MESSAGE_TYPE_HIDE_VIOLATIVE_MESSAGE"]=50022,t[e[50023]="MESSAGE_TYPE_RE_FETCH_MESSAGE"]=50023,t[e[70002]="MESSAGE_TYPE_UPDATE_MESSAGE_PROPERTY"]=70002,t[e[61e3]="MESSAGE_TYPE_CONVERSATION_GROUP_LIST_UPDATE"]=61e3,t[e[50003]="MESSAGE_TYPE_UPDATE_MIN_INDEX"]=50003,t[e[50004]="MESSAGE_TYPE_USER_ACTION"]=50004,t[e[50011]="MESSAGE_TYPE_BLOCK_COMMAND"]=50011,t[e[50012]="MESSAGE_TYPE_MARK_COMMAND"]=50012,t[e[50014]="MESSAGE_TYPE_SEND_FAILED_RESP"]=50014,t[e[50015]="MESSAGE_TYPE_NOTIFY_STRANGER"]=50015,t[e[50016]="MESSAGE_TYPE_BATCH_UNMARK_COMMAND"]=50016,t[e[50017]="MESSAGE_TYPE_VISIBLE_MESSAGE_COMMAND"]=50017,t[e[60001]="MESSAGE_TYPE_NOTIFY_COMMAND"]=60001,t[e[70001]="MESSAGE_TYPE_MESSAGE_PROPERTY"]=70001,t[e[80001]="MESSAGE_TYPE_VOIP_COMMAND"]=80001,t[e[80002]="MESSAGE_TYPE_VOIP_CARD_COMMAND"]=80002,t[e[80003]="MESSAGE_TYPE_VOIP_SINGLE_CHAT_STATUS_COMMAND"]=80003,t[e[80004]="MESSAGE_TYPE_VOIP_CALLEE_LIST_UPDATE_NOTIFY"]=80004,t[e[80005]="MESSAGE_TYPE_VOIP_ROOM_DISMISS_NOTIFY"]=80005,t[e[90001]="MESSAGE_TYPE_CONVERSATION_APPLY_NOTIFY"]=90001,t[e[90002]="MESSAGE_TYPE_CONVERSATION_AUDIT_ACK_NOTIFY"]=90002,t[e[100001]="MsgTypeStreakCommandMessage"]=100001,t}(),e.CommandType=function(){const e={},t=Object.create(e);return t[e[0]="CmdTypeUnknown"]=0,t[e[1]="CmdTypeMarkConversationRead"]=1,t[e[2]="CmdTypeDeleteMessage"]=2,t[e[3]="CmdTypeDeleteConversation"]=3,t[e[4]="CmdTypeUpdateConvSetting"]=4,t[e[6]="CmdTypeUpdateConvCoreInfo"]=6,t[e[7]="CmdTypeUpdateConvParticipant"]=7,t[e[8]="CmdTypeFirstMessage"]=8,t[e[100]="CmdTypeTriggerConvPull"]=100,t}(),e.GroupRole=function(){const e={},t=Object.create(e);return t[e[0]="ORDINARY"]=0,t[e[1]="OWNER"]=1,t[e[2]="MANAGER"]=2,t[e[3]="VISITOR"]=3,t[e[4]="SYSTEM"]=4,t}(),e.GroupAuth=function(){const e={},t=Object.create(e);return t[e[0]="UPDATE_GROUP_NAME"]=0,t[e[1]="RECALL_ORDINARY_MESSAGE"]=1,t[e[2]="RECALL_MANAGER_MESSAGE"]=2,t[e[3]="ADD_PARTICIPANT"]=3,t[e[4]="REMOVE_PARTICIPANT"]=4,t[e[5]="SET_MANAGER"]=5,t[e[6]="DISSOLVE_GROUP"]=6,t[e[7]="PUBLISH_NOTICE"]=7,t[e[8]="BLOCKS_ORDINARY"]=8,t[e[9]="BLOCKS_MANAGER"]=9,t[e[10]="BLOCKS_CONVERSATION"]=10,t[e[11]="UPDATE_GROUP_AUDIT"]=11,t[e[12]="ACK_CONVERSATION_AUDIT"]=12,t[e[13]="UPDATE_RANK_LIST"]=13,t[e[20]="CAN_SEND_MESSAGE"]=20,t[e[21]="ACCEPT_MESSAGE"]=21,t}(),e.TicketType=function(){const e={},t=Object.create(e);return t[e[1]="TICKET_TYPE_APP"]=1,t[e[2]="TICKET_TYPE_PC"]=2,t[e[3]="TICKET_TYPE_WEB"]=3,t}(),e.RetentionStatus=function(){const e={},t=Object.create(e);return t[e[0]="NOT_STARTED"]=0,t[e[1]="IN_PROGRESS"]=1,t[e[2]="DONE"]=2,t[e[3]="FAILED"]=3,t}(),e.ParticipantRole=function(){const e={},t=Object.create(e);return t[e[0]="PARTICIPANT_ROLE_NORMAL"]=0,t[e[1]="PARTICIPANT_ROLE_OWNER"]=1,t[e[2]="PARTICIPANT_ROLE_ADMIN"]=2,t[e[3]="PARTICIPANT_ROLE_VISITOR"]=3,t}(),e.InitType=function(){const e={},t=Object.create(e);return t[e[1]="TYPE_BY_CONVERSATION"]=1,t[e[2]="TYPE_BY_USER"]=2,t[e[3]="TYPE_BY_RANK"]=3,t}(),e.MessageDirection=function(){const e={},t=Object.create(e);return t[e[1]="OLDER"]=1,t[e[2]="NEWER"]=2,t[e[3]="FROM_LATEST"]=3,t}(),e.ConversationListDirection=function(){const e={},t=Object.create(e);return t[e[0]="CONVERSATION_DESC"]=0,t[e[1]="CONVERSATION_ASC"]=1,t}(),e.UserActionType=function(){const e={},t=Object.create(e);return t[e[1]="ENTER_CONVERSATION"]=1,t[e[2]="EXIT_CONVERSATION"]=2,t}(),e.InputStatus=function(){const e={},t=Object.create(e);return t[e[3]="TYPING"]=3,t[e[4]="CLEAR_INPUT"]=4,t}(),e.BlockStatus=function(){const e={},t=Object.create(e);return t[e[0]="UNBLOCK"]=0,t[e[1]="BLOCK"]=1,t}(),e.ActionType=function(){const e={},t=Object.create(e);return t[e[0]="UNKNOWN_ACTION"]=0,t[e[1]="FAVORITE"]=1,t[e[2]="PIN"]=2,t[e[3]="UNREAD"]=3,t}(),e.SendType=function(){const e={},t=Object.create(e);return t[e[0]="BY_CONVERSATION"]=0,t[e[1]="BY_USER"]=1,t}(),e.NewMessageNotifyType=function(){const e={},t=Object.create(e);return t[e[1]="PER_USER"]=1,t[e[2]="PER_CONVERSATION"]=2,t}(),e.MsgTraceMetrics=function(){const e={},t=Object.create(e);return t[e[0]="GATEWAY"]=0,t[e[1]="BEFORE_CALLBACK"]=1,t[e[2]="AFTER_CALLBACK"]=2,t[e[3]="BEFORE_CONVERSATION_KAFKA"]=3,t[e[4]="AFTER_CONVERSATION_KAFKA"]=4,t[e[5]="BEFORE_USER_KAFKA"]=5,t[e[6]="AFTER_USER_KAFKA"]=6,t[e[7]="PUSH"]=7,t}(),e.MsgTracePath=function(){const e={},t=Object.create(e);return t[e[0]="FROM_UNKNOWN"]=0,t[e[1]="FROM_FRONTIER"]=1,t[e[2]="FROM_HTTP"]=2,t[e[3]="FROM_SERVER"]=3,t}(),e.MuteMessageType=function(){const e={},t=Object.create(e);return t[e[1]="TYPE_MENTION"]=1,t[e[2]="TYPE_SEND_BY_GROUP_OWNER"]=2,t[e[3]="TYPE_AUTO_SEND_BY_SERVER"]=3,t[e[4]="TYPE_MENTION_AND_SEND_BY_GROUP_OWNER"]=4,t}(),e.FriendMessageType=function(){const e={},t=Object.create(e);return t[e[1]="SendApply"]=1,t[e[2]="DeleteFriend"]=2,t[e[3]="AddFriend"]=3,t}(),e.PreviewOperationStatus=function(){const e={},t=Object.create(e);return t[e[0]="PREVIEW_OP_SUCCEED"]=0,t[e[1]="PREVIEW_OP_PREVIEW_STATUS_NOT_OPEN"]=1,t[e[2]="PREVIEW_OP_CALLBACK_NOT_PASS"]=2,t[e[3]="PREVIEW_OP_CONVERSATION_NOT_FOUND"]=3,t}(),e.MessagePropertyType=function(){const e={},t=Object.create(e);return t[e[0]="REACTION"]=0,t[e[1]="SYNC"]=1,t}(),e.ReactionStatus=function(){const e={},t=Object.create(e);return t[e[0]="POSITIVE"]=0,t[e[1]="NEGATIVE"]=1,t}(),e.SyncStatus=function(){const e={},t=Object.create(e);return t[e[0]="S_SEND"]=0,t[e[1]="S_NOTIFY"]=1,t[e[2]="S_PULL"]=2,t[e[3]="S_READ"]=3,t[e[4]="R_CLICK"]=4,t}(),e.OPERATION_TYPE=function(){const e={},t=Object.create(e);return t[e[0]="ADD_PROPERTY_ITEM"]=0,t[e[1]="REMOVE_PROPERTY_ITEM"]=1,t[e[2]="SET_PROPERTY"]=2,t[e[3]="DEL_PROPERTY"]=3,t[e[4]="XSET_PROPERTY"]=4,t[e[5]="MODIFY_PROPERTY"]=5,t}(),e.ModifyMessagePropertyStatus=function(){const e={},t=Object.create(e);return t[e[0]="MODIFY_PROPERTY_SUCCESS"]=0,t[e[1]="MODIFY_PROPERTY_REPEAT_REQUEST"]=1,t[e[2]="MODIFY_PROPERTY_INVALID_LENGTH"]=2,t[e[3]="MODIFY_PROPERTY_INVALID_REQUEST"]=3,t[e[4]="MODIFY_PROPERTY_CALLBACK_ERROR"]=4,t[e[500]="MODIFY_PROPERTY_INTERNAL_ERROR"]=500,t}(),e.MediaType=function(){const e={},t=Object.create(e);return t[e[1]="IMG"]=1,t[e[2]="VIDEO"]=2,t[e[3]="AUDIO"]=3,t[e[4]="FILE"]=4,t[e[10]="OTHER"]=10,t}(),e.MediaTokenType=function(){const e={},t=Object.create(e);return t[e[1]="VSDK"]=1,t[e[2]="IMAGEX"]=2,t[e[3]="VSDK_V5"]=3,t[e[4]="IMAGEX_V5"]=4,t}(),e.ReadURLFrom=function(){const e={},t=Object.create(e);return t[e[1]="URL_VSDK"]=1,t[e[2]="URL_IMAGEX"]=2,t}(),e.SortType=function(){const e={},t=Object.create(e);return t[e[1]="JOIN_TIME"]=1,t[e[2]="CREATED_TIME"]=2,t[e[3]="GROUP_NAME"]=3,t[e[4]="ACTIVE_TIME"]=4,t}(),e.NetworkType=function(){const e={},t=Object.create(e);return t[e[0]="UNKNOWN"]=0,t[e[1]="WIFI"]=1,t[e[2]="MOBILE_2G"]=2,t[e[3]="MOBILE_3G"]=3,t[e[4]="MOBILE_4G"]=4,t[e[5]="MOBILE_5G"]=5,t}(),e.MsgReportType=function(){const e={},t=Object.create(e);return t[e[0]="NOT_USE"]=0,t[e[1]="MSG_RECEIVE_BY_WS"]=1,t[e[2]="MSG_RECEIVE_BY_USER"]=2,t[e[3]="MSG_RECEIVE_BY_INIT"]=3,t[e[4]="MSG_RECEIVE_BY_LOAD_HISTORY"]=4,t[e[5]="MSG_RECEIVE_BY_LOAD_NEWER"]=5,t[e[6]="MSG_RECEIVE_BY_CHECK_MSG_V1"]=6,t[e[7]="MSG_RECEIVE_BY_CHECK_MSG_V2"]=7,t[e[8]="MSG_RECEIVE_BY_STRANGER"]=8,t[e[9]="MSG_SHOW"]=9,t}(),e.VoipStatus=function(){const e={},t=Object.create(e);return t[e[0]="IDLE"]=0,t[e[1]="CALLING"]=1,t[e[2]="RINGING"]=2,t[e[3]="ACCEPTED"]=3,t[e[4]="ONTHECALL"]=4,t[e[101]="TERMINATED"]=101,t[e[102]="OCCUPIED"]=102,t[e[103]="REFUSED"]=103,t[e[104]="CANCELLED"]=104,t[e[105]="UNAVAILABLE"]=105,t[e[106]="RTCERROR"]=106,t[e[107]="RTC_ENGINE_MISMATCH"]=107,t}(),e.VoipType=function(){const e={},t=Object.create(e);return t[e[0]="VOIP_TYPE_NOT_USED"]=0,t[e[1]="VOIP_TYPE_ALL"]=1,t[e[2]="VOIP_TYPE_VIDEOONLY"]=2,t[e[3]="VOIP_TYPE_AUDIOONLY"]=3,t}(),e.VoipMode=function(){const e={},t=Object.create(e);return t[e[0]="VOIP_MODE_DOUBLE"]=0,t[e[1]="VOIP_MODE_MULTIPLAYER"]=1,t}(),e.ChannelStatus=function(){const e={},t=Object.create(e);return t[e[0]="CHANNEL_STATUS_NOT_USED"]=0,t[e[1]="ONLINE"]=1,t[e[2]="OFFLINE"]=2,t}(),e.ClientMetricType=function(){const e={},t=Object.create(e);return t[e[0]="COUNTER"]=0,t[e[1]="TIMER"]=1,t}(),e.ApplyErrorCode=function(){const e={},t=Object.create(e);return t[e[0]="APPLY_SUCCESS"]=0,t[e[1]="UPDATE_STATUS_ERR"]=1,t[e[2]="CALLBACK_NOT_PASS"]=2,t[e[3]="APPLY_NOT_EXIST"]=3,t[e[4]="APPLY_PARAMS_ERR"]=4,t[e[5]="CONV_SWITCH_CLOSED"]=5,t[e[6]="USER_NO_PERMISSION"]=6,t[e[7]="USER_ALREADY_IN_GROUP"]=7,t[e[8]="CALLBACK_NO_NEED_AUDIT"]=8,t[e[9]="APPLY_CONVERSATION_NOT_FOUND"]=9,t[e[10]="CONVERSATION_IS_FULL"]=10,t[e[500]="APPLY_INTERNAL_ERR"]=500,t}(),e.ApplyStatusCode=function(){const e={},t=Object.create(e);return t[e[1]="APPLYING"]=1,t[e[2]="AGREE"]=2,t[e[3]="DENY"]=3,t[e[4]="INVALID"]=4,t}(),e.MessageStatus=function(){const e={},t=Object.create(e);return t[e[0]="AVAILABLE"]=0,t[e[1]="NOT_EXIST"]=1,t[e[2]="INVISIBLE"]=2,t[e[3]="RECALLED"]=3,t[e[4]="DELETED"]=4,t}(),e.FriendErrorCode=function(){const e={},t=Object.create(e);return t[e[0]="FRIEND_SUCCESS"]=0,t[e[1]="FRIEND_DUPLICATE_APPLY"]=1,t[e[2]="FRIEND_SEND_APPLY_LIMIT"]=2,t[e[3]="FRIEND_RECEIVE_APPLY_LIMIT"]=3,t[e[4]="FRIEND_ALREADY_FRIEND"]=4,t[e[500]="FRIEND_INTERNAL_ERR"]=500,t}(),e.AuthType=function(){const e={},t=Object.create(e);return t[e[0]="UNKNOWN_AUTH"]=0,t[e[1]="SESSION_AUTH"]=1,t[e[2]="TOKEN_AUTH"]=2,t[e[3]="SUBSTITUTE_AUTH"]=3,t}(),e.TokenType=function(){const e={},t=Object.create(e);return t[e[0]="DEFAULT_TOKEN"]=0,t[e[1]="APP_TOKEN"]=1,t[e[2]="SERVER_TOKEN"]=2,t}(),e.ConversationsListPolicy=function(){const e={},t=Object.create(e);return t[e[1]="ALL"]=1,t[e[2]="HOT"]=2,t}(),e.PushType=function(){const e={},t=Object.create(e);return t[e[1]="Internal"]=1,t[e[2]="External"]=2,t}(),e.DirectPushStatus=function(){const e={},t=Object.create(e);return t[e[1]="Success"]=1,t[e[2]="AsyncSuccess"]=2,t[e[3]="Fail"]=3,t[e[4]="Offline"]=4,t}(),e.ConvRankUpdateRule=function(){const e={},t=Object.create(e);return t[e[1]="IgnoreSenderRankUpdate"]=1,t[e[2]="IgnoreReceiverRankUpdate"]=2,t[e[3]="IgnoreAllRankUpdate"]=3,t}(),e.InboxPageCategory=function(){const e={},t=Object.create(e);return t[e[1]="NormalUserInbox"]=1,t[e[2]="StrangerMessageRequest"]=2,t[e[3]="StrangerFilteredRequest"]=3,t}(),e.FilterReason=function(){const e={},t=Object.create(e);return t[e[1]="FilteredReasonRisk"]=1,t[e[2]="FilteredRequestKeyword"]=2,t}(),e.EmojiProperty=function(){function e(e){if(e)for(var t=Object.keys(e),n=0;n>>3){case 1:o.icon_url=e.string();break;case 2:o.text=e.string();break;default:e.skipType(7&r)}}return o},e}(),e.PropertyValue=function(){function e(e){if(e)for(var t=Object.keys(e),n=0;n>>3){case 1:o.required_min_version=e.int64();break;case 2:o.type=e.int64();break;case 3:o.emoji_data=l.im_proto.EmojiProperty.decode(e,e.uint32());break;default:e.skipType(7&r)}}return o},e}(),e.PropertyItem=function(){function e(e){if(e)for(var t=Object.keys(e),n=0;n>>3){case 1:o.uid=e.int64();break;case 2:o.sec_uid=e.string();break;case 3:o.create_time=e.int64();break;case 4:o.idempotent_id=e.string();break;case 5:o.value=e.string();break;case 6:o.create_time_micro=e.int64();break;default:e.skipType(7&r)}}return o},e}(),e.PropertyItemList=function(){function e(e){if(this.Items=[],e)for(var t=Object.keys(e),n=0;n>>3==1?(o.Items&&o.Items.length||(o.Items=[]),o.Items.push(l.im_proto.PropertyItem.decode(e,e.uint32()))):e.skipType(7&r)}return o},e}(),e.MessageBody=function(){function e(e){if(this.ext={},this.property_list={},this.user_profile={},this.media_info_list=[],e)for(var t=Object.keys(e),n=0;n>>3){case 1:i.conversation_id=e.string();break;case 2:i.conversation_type=e.int32();break;case 3:i.server_message_id=e.int64();break;case 4:i.index_in_conversation=e.int64();break;case 5:i.conversation_short_id=e.int64();break;case 6:i.message_type=e.int32();break;case 7:i.sender=e.int64();break;case 8:i.content=e.string();break;case 9:i.ext===c.emptyObject&&(i.ext={});var a=e.uint32()+e.pos;for(n="",o="";e.pos>>3){case 1:n=e.string();break;case 2:o=e.string();break;default:e.skipType(7&g)}i.ext[n]=o;break;case 10:i.create_time=e.int64();break;case 11:i.version=e.int64();break;case 12:i.status=e.int32();break;case 13:i.order_in_conversation=e.int64();break;case 14:i.sec_sender=e.string();break;case 15:for(i.property_list===c.emptyObject&&(i.property_list={}),a=e.uint32()+e.pos,n="",o=null;e.pos>>3){case 1:n=e.string();break;case 2:o=l.im_proto.PropertyItemList.decode(e,e.uint32());break;default:e.skipType(7&g)}i.property_list[n]=o;break;case 16:for(i.user_profile===c.emptyObject&&(i.user_profile={}),a=e.uint32()+e.pos,n="",o="";e.pos>>3){case 1:n=e.string();break;case 2:o=e.string();break;default:e.skipType(7&g)}}i.user_profile[n]=o;break;case 17:i.index_in_conversation_v2=e.int64();break;case 18:i.reference_info=l.im_proto.ReferenceInfo.decode(e,e.uint32());break;case 19:i.index_in_conversation_v1=e.int64();break;case 20:i.content_pb=e.bytes();break;case 21:i.scene=e.string();break;case 22:i.conv_rank_update_rule=e.int32();break;case 23:i.ttl=e.int64();break;case 24:i.media_info_list&&i.media_info_list.length||(i.media_info_list=[]),i.media_info_list.push(l.im_proto.MediaInfo.decode(e,e.uint32()));break;case 25:i.pre_conversation_index=e.int64();break;default:e.skipType(7&s)}}return i},e}(),e.ReferenceInfo=function(){function e(e){if(e)for(var t=Object.keys(e),n=0;n>>3){case 1:o.referenced_message_id=e.int64();break;case 2:o.hint=e.string();break;case 3:o.ref_message_type=e.int64();break;case 4:o.referenced_message_status=e.int32();break;case 5:o.root_message_id=e.int64();break;case 6:o.root_message_conv_index=e.int64();break;case 7:o.sender=e.int64();break;default:e.skipType(7&r)}}if(!o.hasOwnProperty("referenced_message_id"))throw c.ProtocolError("missing required 'referenced_message_id'",{instance:o});if(!o.hasOwnProperty("hint"))throw c.ProtocolError("missing required 'hint'",{instance:o});if(!o.hasOwnProperty("ref_message_type"))throw c.ProtocolError("missing required 'ref_message_type'",{instance:o});if(!o.hasOwnProperty("referenced_message_status"))throw c.ProtocolError("missing required 'referenced_message_status'",{instance:o});return o},e}(),e.RetentionResult=function(){function e(e){if(e)for(var t=Object.keys(e),n=0;n>>3){case 1:o.user_id=e.string();break;case 2:o.timestamp=e.string();break;case 3:o.status=e.int32();break;default:e.skipType(7&r)}}return o},e}(),e.Participant=function(){function e(e){if(this.ext={},e)for(var t=Object.keys(e),n=0;n>>3){case 1:i.user_id=e.int64();break;case 2:i.sort_order=e.int64();break;case 3:i.role=e.int32();break;case 4:i.alias=e.string();break;case 5:i.sec_uid=e.string();break;case 6:i.blocked=e.int32();break;case 7:i.left_block_time=e.int64();break;case 8:i.ext===c.emptyObject&&(i.ext={});var a=e.uint32()+e.pos;for(n="",o="";e.pos>>3){case 1:n=e.string();break;case 2:o=e.string();break;default:e.skipType(7&g)}}i.ext[n]=o;break;default:e.skipType(7&s)}}return i},e}(),e.ParticipantsPage=function(){function e(e){if(this.participants=[],e)for(var t=Object.keys(e),n=0;n>>3){case 1:o.participants&&o.participants.length||(o.participants=[]),o.participants.push(l.im_proto.Participant.decode(e,e.uint32()));break;case 2:o.has_more=e.bool();break;case 3:o.cursor=e.int64();break;default:e.skipType(7&r)}}return o},e}(),e.ConversationInfo=function(){function e(e){if(this.ext={},e)for(var t=Object.keys(e),n=0;n>>3){case 1:i.conversation_id=e.string();break;case 2:i.conversation_type=e.int32();break;case 3:i.first_page_participants=l.im_proto.ParticipantsPage.decode(e,e.uint32());break;case 4:i.participants_count=e.int32();break;case 5:i.min_index=e.int64();break;case 6:i.read_index=e.int64();break;case 8:i.mute=e.int32();break;case 9:i.stick_on_top=e.int32();break;case 10:i.ext===c.emptyObject&&(i.ext={});var a=e.uint32()+e.pos;for(n="",o="";e.pos>>3){case 1:n=e.string();break;case 2:o=e.string();break;default:e.skipType(7&g)}}i.ext[n]=o;break;case 11:i.ticket=e.string();break;case 12:i.conversation_short_id=e.int64();break;case 13:i.conversation_version=e.int64();break;case 14:i.is_participant=e.bool();break;case 15:i.read_index_v2=e.int64();break;case 16:i.min_index_v2=e.int64();break;case 20:i.server_unread_count=e.int64();break;case 21:i.last_message_index=e.int64();break;case 22:i.con_model_scene=e.string();break;default:e.skipType(7&s)}}return i},e}(),e.ConversationInfoV2=function(){function e(e){if(e)for(var t=Object.keys(e),n=0;n>>3){case 1:o.conversation_id=e.string();break;case 2:o.conversation_short_id=e.int64();break;case 3:o.conversation_type=e.int32();break;case 4:o.ticket=e.string();break;case 6:o.first_page_participants=l.im_proto.ParticipantsPage.decode(e,e.uint32());break;case 7:o.participants_count=e.int32();break;case 8:o.is_participant=e.bool();break;case 9:o.inbox_type=e.int32();break;case 10:o.badge_count=e.int32();break;case 11:o.badge_count_v2=e.int32();break;case 12:o.conversation_rank_version=e.int64();break;case 20:o.user_info=l.im_proto.Participant.decode(e,e.uint32());break;case 50:o.conversation_core_info=l.im_proto.ConversationCoreInfo.decode(e,e.uint32());break;case 51:o.conversation_setting_info=l.im_proto.ConversationSettingInfo.decode(e,e.uint32());break;case 100:o.biz_ext=e.bytes();break;default:e.skipType(7&r)}}return o},e}(),e.ConversationCoreInfo=function(){function e(e){if(this.ext={},e)for(var t=Object.keys(e),n=0;n>>3){case 1:i.conversation_id=e.string();break;case 2:i.conversation_short_id=e.int64();break;case 3:i.conversation_type=e.int32();break;case 4:i.info_version=e.int64();break;case 5:i.name=e.string();break;case 6:i.desc=e.string();break;case 7:i.icon=e.string();break;case 8:i.inbox_type=e.int32();break;case 9:i.notice=e.string();break;case 11:i.ext===c.emptyObject&&(i.ext={});var a=e.uint32()+e.pos;for(n="",o="";e.pos>>3){case 1:n=e.string();break;case 2:o=e.string();break;default:e.skipType(7&g)}}i.ext[n]=o;break;case 12:i.owner=e.int64();break;case 13:i.sec_owner=e.string();break;case 14:i.block_status=e.int32();break;case 15:i.block_normal_only=e.bool();break;case 16:i.mode=e.int32();break;case 17:i.creator_uid=e.int64();break;default:e.skipType(7&s)}}return i},e}(),e.ConversationSettingInfo=function(){function e(e){if(this.ext={},e)for(var t=Object.keys(e),n=0;n>>3){case 1:i.conversation_id=e.string();break;case 2:i.conversation_short_id=e.int64();break;case 3:i.conversation_type=e.int32();break;case 4:i.min_index=e.int64();break;case 5:i.read_index=e.int64();break;case 6:i.mute=e.int32();break;case 7:i.stick_on_top=e.int32();break;case 8:i.inbox_type=e.int32();break;case 9:i.ext===c.emptyObject&&(i.ext={});var a=e.uint32()+e.pos;for(n="",o="";e.pos>>3){case 1:n=e.string();break;case 2:o=e.string();break;default:e.skipType(7&g)}}i.ext[n]=o;break;case 10:i.setting_version=e.int64();break;case 11:i.favorite=e.int32();break;case 12:i.set_top_time=e.int64();break;case 13:i.set_favorite_time=e.int64();break;case 14:i.read_index_v2=e.int64();break;case 15:i.min_index_v2=e.int64();break;case 16:i.read_badge_count=e.int32();break;case 17:i.read_badge_count_v2=e.int32();break;default:e.skipType(7&s)}}return i},e}(),e.GroupInfo=function(){function e(e){if(this.ext={},e)for(var t=Object.keys(e),n=0;n>>3){case 1:i.conversation_id=e.string();break;case 2:i.info_version=e.int64();break;case 5:i.group_name=e.string();break;case 6:i.group_desc=e.string();break;case 7:i.group_icon=e.string();break;case 10:i.ext===c.emptyObject&&(i.ext={});var a=e.uint32()+e.pos;for(n="",o="";e.pos>>3){case 1:n=e.string();break;case 2:o=e.string();break;default:e.skipType(7&g)}}i.ext[n]=o;break;default:e.skipType(7&s)}}return i},e}(),e.MessagesPerUserRequestBody=function(){function e(e){if(e)for(var t=Object.keys(e),n=0;n>>3){case 1:o.cursor=e.int64();break;case 2:o.limit=e.int32();break;case 3:o.interval=e.int64();break;case 4:o.new_user=e.int32();break;default:e.skipType(7&r)}}return o},e}(),e.MessagesPerUserResponseBody=function(){function e(e){if(this.messages=[],this.conversation_badge_count=[],e)for(var t=Object.keys(e),n=0;n>>3){case 1:o.messages&&o.messages.length||(o.messages=[]),o.messages.push(l.im_proto.MessageBody.decode(e,e.uint32()));break;case 2:o.next_cursor=e.int64();break;case 3:o.has_more=e.bool();break;case 4:o.next_interval=e.int64();break;case 5:o.next_conversation_version=e.int64();break;case 6:o.conversation_badge_count&&o.conversation_badge_count.length||(o.conversation_badge_count=[]),o.conversation_badge_count.push(l.im_proto.ConversationBadgeCountInfo.decode(e,e.uint32()));break;case 7:o.next_cmd_index=e.int64();break;default:e.skipType(7&r)}}return o},e}(),e.ConversationBadgeCountInfo=function(){function e(e){if(e)for(var t=Object.keys(e),n=0;n>>3){case 1:o.conversation_short_id=e.int64();break;case 2:o.badge_count=e.int32();break;case 3:o.conversation_index_v2=e.int64();break;case 4:o.conversation_id=e.string();break;default:e.skipType(7&r)}}if(!o.hasOwnProperty("conversation_short_id"))throw c.ProtocolError("missing required 'conversation_short_id'",{instance:o});if(!o.hasOwnProperty("badge_count"))throw c.ProtocolError("missing required 'badge_count'",{instance:o});if(!o.hasOwnProperty("conversation_index_v2"))throw c.ProtocolError("missing required 'conversation_index_v2'",{instance:o});if(!o.hasOwnProperty("conversation_id"))throw c.ProtocolError("missing required 'conversation_id'",{instance:o});return o},e}(),e.InboxMessagesPerUser=function(){function e(e){if(e)for(var t=Object.keys(e),n=0;n>>3){case 1:o.inbox_type=e.int32();break;case 2:o.cursor=e.int64();break;default:e.skipType(7&r)}}return o},e}(),e.CheckMessagePerUserRequestBody=function(){function e(e){if(this.checks=[],e)for(var t=Object.keys(e),n=0;n>>3==1?(o.checks&&o.checks.length||(o.checks=[]),o.checks.push(l.im_proto.InboxMessagesPerUser.decode(e,e.uint32()))):e.skipType(7&r)}return o},e}(),e.InboxMessagesPerUserResponseBody=function(){function e(e){if(e)for(var t=Object.keys(e),n=0;n>>3){case 1:o.inbox_type=e.int32();break;case 2:o.has_more=e.bool();break;default:e.skipType(7&r)}}return o},e}(),e.CheckMessagesPerUserResponseBody=function(){function e(e){if(this.messages=[],e)for(var t=Object.keys(e),n=0;n>>3==1?(o.messages&&o.messages.length||(o.messages=[]),o.messages.push(l.im_proto.InboxMessagesPerUserResponseBody.decode(e,e.uint32()))):e.skipType(7&r)}return o},e}(),e.MessagesPerUserInitRequestBody=function(){function e(e){if(e)for(var t=Object.keys(e),n=0;n>>3){case 1:o.cursor=e.int64();break;case 2:o.new_user=e.int32();break;case 3:o.init_sub_type=e.int32();break;default:e.skipType(7&r)}}return o},e}(),e.MessagesPerUserInitResponseBody=function(){function e(e){if(this.messages=[],this.conversations=[],e)for(var t=Object.keys(e),n=0;n>>3){case 1:o.messages&&o.messages.length||(o.messages=[]),o.messages.push(l.im_proto.MessageBody.decode(e,e.uint32()));break;case 2:o.conversations&&o.conversations.length||(o.conversations=[]),o.conversations.push(l.im_proto.ConversationInfo.decode(e,e.uint32()));break;case 3:o.per_user_cursor=e.int64();break;case 4:o.next_cursor=e.int64();break;case 5:o.has_more=e.bool();break;case 6:o.init_type=e.int32();break;default:e.skipType(7&r)}}return o},e}(),e.MessagesPerUserInitV2RequestBody=function(){function e(e){if(this.siderank_keys=[],e)for(var t=Object.keys(e),n=0;n>>3){case 1:o.cursor=e.int64();break;case 2:o.new_user=e.int32();break;case 3:o.init_sub_type=e.int32();break;case 4:o.with_empty_conv=e.bool();break;case 5:o.siderank_keys&&o.siderank_keys.length||(o.siderank_keys=[]),o.siderank_keys.push(e.string());break;default:e.skipType(7&r)}}return o},e}(),e.MessagesPerUserInitV2ResponseBody=function(){function e(e){if(this.messages=[],this.conversations=[],e)for(var t=Object.keys(e),n=0;n>>3){case 1:o.messages&&o.messages.length||(o.messages=[]),o.messages.push(l.im_proto.MessageBody.decode(e,e.uint32()));break;case 2:o.conversations&&o.conversations.length||(o.conversations=[]),o.conversations.push(l.im_proto.ConversationInfoV2.decode(e,e.uint32()));break;case 3:o.per_user_cursor=e.int64();break;case 4:o.next_cursor=e.int64();break;case 5:o.has_more=e.bool();break;case 6:o.init_type=e.int32();break;case 7:o.cmd_start_index=e.int64();break;case 8:o.next_conversation_version=e.int64();break;default:e.skipType(7&r)}}return o},e}(),e.ReportGetMessagesCursorRequestBody=function(){function e(e){if(e)for(var t=Object.keys(e),n=0;n>>3==1?o.cursor=e.int64():e.skipType(7&r)}return o},e}(),e.ConversationsListRequestBody=function(){function e(e){if(e)for(var t=Object.keys(e),n=0;n>>3){case 1:o.cursor=e.int64();break;case 2:o.policy=e.int32();break;default:e.skipType(7&r)}}return o},e}(),e.ConversationsListResponseBody=function(){function e(e){if(this.conversations=[],e)for(var t=Object.keys(e),n=0;n>>3){case 1:o.conversations&&o.conversations.length||(o.conversations=[]),o.conversations.push(l.im_proto.ConversationInfo.decode(e,e.uint32()));break;case 2:o.next_cursor=e.int64();break;case 3:o.has_more=e.bool();break;default:e.skipType(7&r)}}return o},e}(),e.MessageIDIndexEntry=function(){function e(e){if(e)for(var t=Object.keys(e),n=0;n>>3){case 1:o.server_message_id=e.int64();break;case 2:o.index_in_conversation=e.int64();break;default:e.skipType(7&r)}}if(!o.hasOwnProperty("server_message_id"))throw c.ProtocolError("missing required 'server_message_id'",{instance:o});if(!o.hasOwnProperty("index_in_conversation"))throw c.ProtocolError("missing required 'index_in_conversation'",{instance:o});return o},e}(),e.GetMessagesRequestBody=function(){function e(e){if(this.entries=[],e)for(var t=Object.keys(e),n=0;n>>3){case 1:o.conversation_id=e.string();break;case 2:o.conversation_type=e.int32();break;case 3:o.conversation_short_id=e.int64();break;case 4:o.entries&&o.entries.length||(o.entries=[]),o.entries.push(l.im_proto.MessageIDIndexEntry.decode(e,e.uint32()));break;default:e.skipType(7&r)}}if(!o.hasOwnProperty("conversation_id"))throw c.ProtocolError("missing required 'conversation_id'",{instance:o});if(!o.hasOwnProperty("conversation_type"))throw c.ProtocolError("missing required 'conversation_type'",{instance:o});if(!o.hasOwnProperty("conversation_short_id"))throw c.ProtocolError("missing required 'conversation_short_id'",{instance:o});return o},e}(),e.GetMessagesResponseBody=function(){function e(e){if(this.messages=[],e)for(var t=Object.keys(e),n=0;n>>3==1?(o.messages&&o.messages.length||(o.messages=[]),o.messages.push(l.im_proto.MessageBody.decode(e,e.uint32()))):e.skipType(7&r)}return o},e}(),e.MessagesPerConversationSearchRequestBody=function(){function e(e){if(this.tags=[],e)for(var t=Object.keys(e),n=0;n>>3){case 1:o.cursor=e.int64();break;case 2:o.limit=e.int32();break;case 3:o.tags&&o.tags.length||(o.tags=[]),o.tags.push(e.string());break;default:e.skipType(7&r)}}if(!o.hasOwnProperty("limit"))throw c.ProtocolError("missing required 'limit'",{instance:o});return o},e}(),e.MessagesPerConversationSearchResponseBody=function(){function e(e){if(this.messages=[],this.conversations=[],e)for(var t=Object.keys(e),n=0;n>>3){case 1:o.messages&&o.messages.length||(o.messages=[]),o.messages.push(l.im_proto.MessageBody.decode(e,e.uint32()));break;case 2:o.conversations&&o.conversations.length||(o.conversations=[]),o.conversations.push(l.im_proto.ConversationInfoV2.decode(e,e.uint32()));break;case 3:o.next_cursor=e.int64();break;case 4:o.has_more=e.bool();break;default:e.skipType(7&r)}}return o},e}(),e.MessagesInConversationRequestBody=function(){function e(e){if(this.ext={},e)for(var t=Object.keys(e),n=0;n>>3){case 1:i.conversation_id=e.string();break;case 2:i.conversation_type=e.int32();break;case 3:i.conversation_short_id=e.int64();break;case 4:i.direction=e.int32();break;case 5:i.anchor_index=e.int64();break;case 6:i.limit=e.int32();break;case 7:i.ext===c.emptyObject&&(i.ext={});var a=e.uint32()+e.pos;for(n="",o="";e.pos>>3){case 1:n=e.string();break;case 2:o=e.string();break;default:e.skipType(7&g)}}i.ext[n]=o;break;default:e.skipType(7&s)}}return i},e}(),e.MessagesInConversationResponseBody=function(){function e(e){if(this.messages=[],e)for(var t=Object.keys(e),n=0;n>>3){case 1:o.messages&&o.messages.length||(o.messages=[]),o.messages.push(l.im_proto.MessageBody.decode(e,e.uint32()));break;case 2:o.next_cursor=e.int64();break;case 3:o.has_more=e.bool();break;default:e.skipType(7&r)}}return o},e}(),e.GetMessagesCheckInfoInConversationRequestBody=function(){function e(e){if(e)for(var t=Object.keys(e),n=0;n>>3){case 2:o.conversation_short_id=e.int64();break;case 5:o.conversation_id=e.string();break;case 6:o.conversation_type=e.int32();break;case 3:o.cursor_reverse_begin=e.int64();break;case 7:o.cursor_reverse_end=e.int64();break;case 4:o.expect_msg_total_count=e.int32();break;default:e.skipType(7&r)}}return o},e}(),e.MessagesCheckInfo=function(){function e(e){if(e)for(var t=Object.keys(e),n=0;n>>3){case 1:o.head_msg_index=e.int64();break;case 2:o.tail_msg_index=e.int64();break;case 3:o.msg_count=e.int32();break;case 4:o.indexes_checksum=e.uint32();break;default:e.skipType(7&r)}}return o},e}(),e.GetMessagesCheckInfoInConversationResponseBody=function(){function e(e){if(this.msgs_checkinfo_list=[],e)for(var t=Object.keys(e),n=0;n>>3){case 1:o.msgs_checkinfo_list&&o.msgs_checkinfo_list.length||(o.msgs_checkinfo_list=[]),o.msgs_checkinfo_list.push(l.im_proto.MessagesCheckInfo.decode(e,e.uint32()));break;case 2:o.real_msg_total_count=e.int32();break;case 4:o.cursor_reverse_next=e.int64();break;default:e.skipType(7&r)}}return o},e}(),e.GetMessagesCheckInfoV2RequestBody=function(){function e(e){if(e)for(var t=Object.keys(e),n=0;n>>3){case 1:o.conv_short_id=e.int64();break;case 2:o.conv_id=e.string();break;case 3:o.conv_type=e.int32();break;case 4:o.cursor=e.int64();break;case 5:o.limit=e.int32();break;default:e.skipType(7&r)}}return o},e}(),e.MessageCheckInfoV2=function(){function e(e){if(e)for(var t=Object.keys(e),n=0;n>>3){case 1:o.msg_id=e.int64();break;case 2:o.index_in_conv=e.int64();break;default:e.skipType(7&r)}}if(!o.hasOwnProperty("msg_id"))throw c.ProtocolError("missing required 'msg_id'",{instance:o});if(!o.hasOwnProperty("index_in_conv"))throw c.ProtocolError("missing required 'index_in_conv'",{instance:o});return o},e}(),e.GetMessagesCheckInfoV2ResponseBody=function(){function e(e){if(this.msg_list=[],e)for(var t=Object.keys(e),n=0;n>>3){case 1:o.msg_list&&o.msg_list.length||(o.msg_list=[]),o.msg_list.push(l.im_proto.MessageCheckInfoV2.decode(e,e.uint32()));break;case 2:o.has_more=e.bool();break;case 3:o.next_cursor=e.int64();break;case 4:o.is_demoted=e.bool();break;default:e.skipType(7&r)}}return o},e}(),e.CreateConversationRequestBody=function(){function e(e){if(this.participants=[],e)for(var t=Object.keys(e),n=0;n>>3){case 1:o.conversation_type=e.int32();break;case 2:if(o.participants&&o.participants.length||(o.participants=[]),2==(7&r))for(var i=e.uint32()+e.pos;e.pos>>3){case 1:o.conversation=l.im_proto.ConversationInfo.decode(e,e.uint32());break;case 2:o.check_code=e.int64();break;case 3:o.check_message=e.string();break;case 4:o.extra_info=e.string();break;case 5:o.status=e.int32();break;default:e.skipType(7&r)}}return o},e}(),e.CreateConversationV2RequestBody=function(){function e(e){if(this.participants=[],this.biz_ext={},e)for(var t=Object.keys(e),n=0;n>>3){case 1:i.conversation_type=e.int32();break;case 2:if(i.participants&&i.participants.length||(i.participants=[]),2==(7&s))for(var a=e.uint32()+e.pos;e.pos>>3){case 1:n=e.string();break;case 2:o=e.string();break;default:e.skipType(7&g)}}i.biz_ext[n]=o;break;case 12:i.biz=e.string();break;case 13:i.channel=e.string();break;default:e.skipType(7&s)}}return i},e}(),e.CreateConversationV2ResponseBody=function(){function e(e){if(e)for(var t=Object.keys(e),n=0;n>>3){case 1:o.conversation=l.im_proto.ConversationInfoV2.decode(e,e.uint32());break;case 2:o.check_code=e.int64();break;case 3:o.check_message=e.string();break;case 4:o.extra_info=e.string();break;case 5:o.status=e.int32();break;default:e.skipType(7&r)}}return o},e}(),e.SendUserActionRequestBody=function(){function e(e){if(this.extra={},e)for(var t=Object.keys(e),n=0;n>>3){case 1:i.conversation_id=e.string();break;case 2:i.conversation_type=e.int32();break;case 3:i.conversation_short_id=e.int64();break;case 4:i.action_type=e.int32();break;case 5:i.extra===c.emptyObject&&(i.extra={});var a=e.uint32()+e.pos;for(n="",o="";e.pos>>3){case 1:n=e.string();break;case 2:o=e.string();break;default:e.skipType(7&g)}}i.extra[n]=o;break;default:e.skipType(7&s)}}return i},e}(),e.SendUserActionResponseBody=function(){function e(e){if(e)for(var t=Object.keys(e),n=0;n>>3){case 1:i.conversation_id=e.string();break;case 2:i.conversation_type=e.int32();break;case 3:i.conversation_short_id=e.int64();break;case 4:i.status=e.int32();break;case 5:i.extra===c.emptyObject&&(i.extra={});var a=e.uint32()+e.pos;for(n="",o="";e.pos>>3){case 1:n=e.string();break;case 2:o=e.string();break;default:e.skipType(7&g)}}i.extra[n]=o;break;default:e.skipType(7&s)}}return i},e}(),e.SendInputStatusResponseBody=function(){function e(e){if(this.extra={},e)for(var t=Object.keys(e),n=0;n>>3){case 1:i.status=e.int32();break;case 2:i.extra===c.emptyObject&&(i.extra={});var a=e.uint32()+e.pos;for(n="",o="";e.pos>>3){case 1:n=e.string();break;case 2:o=e.string();break;default:e.skipType(7&g)}}i.extra[n]=o;break;default:e.skipType(7&s)}}return i},e}(),e.GetConfigsRequestBody=function(){function e(e){if(e)for(var t=Object.keys(e),n=0;n>>3){case 1:o.version=e.int32();break;case 2:o.configs&&o.configs.length||(o.configs=[]),o.configs.push(l.im_proto.Config.decode(e,e.uint32()));break;default:e.skipType(7&r)}}return o},e}(),e.Config=function(){function e(e){if(e)for(var t=Object.keys(e),n=0;n>>3){case 1:o.conf_name=e.string();break;case 2:o.conf_value=e.string();break;default:e.skipType(7&r)}}return o},e}(),e.ConvCountReport=function(){function e(e){if(e)for(var t=Object.keys(e),n=0;n>>3){case 1:o.conv_short_id=e.int64();break;case 2:o.unread_count=e.int64();break;case 3:o.conversation_type=e.int32();break;case 4:o.customed_conversation_type=e.int32();break;default:e.skipType(7&r)}}return o},e}(),e.UnReadCountReportRequestBody=function(){function e(e){if(this.conv_unread_count=[],e)for(var t=Object.keys(e),n=0;n>>3){case 1:o.total_unread_count=e.int64();break;case 2:o.conv_unread_count&&o.conv_unread_count.length||(o.conv_unread_count=[]),o.conv_unread_count.push(l.im_proto.ConvCountReport.decode(e,e.uint32()));break;default:e.skipType(7&r)}}return o},e}(),e.UnReadCountReportResponseBody=function(){function e(e){if(this.failed_conv_list=[],e)for(var t=Object.keys(e),n=0;n>>3){case 1:o.set_total_status=e.bool();break;case 2:if(o.failed_conv_list&&o.failed_conv_list.length||(o.failed_conv_list=[]),2==(7&r))for(var i=e.uint32()+e.pos;e.pos>>3){case 1:o.get_total=e.bool();break;case 2:if(o.conv_short_id&&o.conv_short_id.length||(o.conv_short_id=[]),2==(7&r))for(var i=e.uint32()+e.pos;e.pos>>3){case 1:i.total_unread_count=e.int64();break;case 2:i.conv_unread_count===c.emptyObject&&(i.conv_unread_count={});var a=e.uint32()+e.pos;for(n=0,o=0;e.pos>>3){case 1:n=e.int64();break;case 2:o=e.int64();break;default:e.skipType(7&g)}}i.conv_unread_count["object"==typeof n?c.longToHash(n):n]=o;break;case 3:if(i.failed_conv_list&&i.failed_conv_list.length||(i.failed_conv_list=[]),2==(7&s))for(a=e.uint32()+e.pos;e.pos>>3){case 1:o.cursor=e.int64();break;case 2:o.limit=e.int32();break;case 3:o.block_type=e.bool();break;case 4:o.conv_type=e.int32();break;case 5:o.conv_short_id=e.int64();break;case 6:o.conv_id=e.string();break;case 7:o.customed_conv_type=e.int32();break;default:e.skipType(7&r)}}return o},e}(),e.BlockUserInfo=function(){function e(e){if(e)for(var t=Object.keys(e),n=0;n>>3){case 1:o.user_id=e.int64();break;case 2:o.create_time=e.int64();break;default:e.skipType(7&r)}}return o},e}(),e.GetBlockListResponseBody=function(){function e(e){if(this.user_info=[],e)for(var t=Object.keys(e),n=0;n>>3){case 1:o.user_info&&o.user_info.length||(o.user_info=[]),o.user_info.push(l.im_proto.BlockUserInfo.decode(e,e.uint32()));break;case 2:o.has_more=e.bool();break;case 3:o.next_cursor=e.int64();break;default:e.skipType(7&r)}}return o},e}(),e.SetBlocklistRequestBody=function(){function e(e){if(this.blocklist=[],e)for(var t=Object.keys(e),n=0;n>>3){case 1:o.set_block_list=e.bool();break;case 2:if(o.blocklist&&o.blocklist.length||(o.blocklist=[]),2==(7&r))for(var i=e.uint32()+e.pos;e.pos>>3==1)if(o.failed_list&&o.failed_list.length||(o.failed_list=[]),2==(7&r))for(var i=e.uint32()+e.pos;e.pos>>3){case 1:o.user_to_check=e.int64();break;case 2:o.block_type=e.bool();break;case 3:o.conv_type=e.int32();break;case 4:o.conv_short_id=e.int64();break;case 5:o.conv_id=e.string();break;case 6:o.customed_conv_type=e.int32();break;default:e.skipType(7&r)}}return o},e}(),e.CheckInBlockListResponseBody=function(){function e(e){if(e)for(var t=Object.keys(e),n=0;n>>3==1?o.in_blocklist=e.bool():e.skipType(7&r)}return o},e}(),e.BlockMembersRequestBody=function(){function e(e){if(this.block_time={},this.biz_ext={},e)for(var t=Object.keys(e),n=0;n>>3){case 1:i.block_status=e.int32();break;case 2:i.block_time===c.emptyObject&&(i.block_time={});var a=e.uint32()+e.pos;for(n=0,o=0;e.pos>>3){case 1:n=e.int64();break;case 2:o=e.int64();break;default:e.skipType(7&g)}i.block_time["object"==typeof n?c.longToHash(n):n]=o;break;case 3:i.conv_short_id=e.int64();break;case 4:i.conversation_type=e.int32();break;case 5:i.conversation_id=e.string();break;case 11:for(i.biz_ext===c.emptyObject&&(i.biz_ext={}),a=e.uint32()+e.pos,n="",o="";e.pos>>3){case 1:n=e.string();break;case 2:o=e.string();break;default:e.skipType(7&g)}}i.biz_ext[n]=o;break;default:e.skipType(7&s)}}return i},e}(),e.BlockMembersResponseBody=function(){function e(e){if(this.failed_members=[],e)for(var t=Object.keys(e),n=0;n>>3==1)if(o.failed_members&&o.failed_members.length||(o.failed_members=[]),2==(7&r))for(var i=e.uint32()+e.pos;e.pos>>3){case 1:o.conversation_id=e.string();break;case 2:o.conv_short_id=e.int64();break;case 3:o.conversation_type=e.int32();break;case 4:o.block_status=e.int32();break;case 5:o.block_normal_only=e.bool();break;default:e.skipType(7&r)}}return o},e}(),e.BlockConversationResponseBody=function(){function e(e){if(e)for(var t=Object.keys(e),n=0;n>>3){case 1:o.conversation_id=e.string();break;case 2:o.conversation_type=e.int32();break;case 3:o.conversation_short_id=e.int64();break;case 4:o.server_message_id=e.int64();break;case 5:o.do_action=e.bool();break;case 6:o.action_type=e.int32();break;case 7:o.sort_time=e.int64();break;case 8:o.tag=e.int64();break;default:e.skipType(7&r)}}return o},e}(),e.MarkMessageResponseBody=function(){function e(e){if(e)for(var t=Object.keys(e),n=0;n>>3){case 1:o.server_message_id=e.int64();break;case 2:o.check_code=e.int64();break;case 3:o.check_message=e.string();break;case 4:o.status=e.int32();break;default:e.skipType(7&r)}}return o},e}(),e.BatchUnmarkMessageRequestBody=function(){function e(e){if(this.server_message_ids=[],e)for(var t=Object.keys(e),n=0;n>>3){case 1:o.conversation_id=e.string();break;case 2:o.conversation_type=e.int32();break;case 3:o.conversation_short_id=e.int64();break;case 4:if(o.server_message_ids&&o.server_message_ids.length||(o.server_message_ids=[]),2==(7&r))for(var i=e.uint32()+e.pos;e.pos>>3){case 1:o.server_message_id=e.int64();break;case 2:o.check_code=e.int64();break;case 3:o.check_message=e.string();break;case 4:o.status=e.int32();break;default:e.skipType(7&r)}}return o},e}(),e.PullMarkMessageRequestBody=function(){function e(e){if(e)for(var t=Object.keys(e),n=0;n>>3){case 1:o.conversation_id=e.string();break;case 2:o.conversation_type=e.int32();break;case 3:o.conversation_short_id=e.int64();break;case 4:o.cursor=e.int64();break;case 5:o.limit=e.int64();break;case 6:o.asc=e.bool();break;case 7:o.action_type=e.int32();break;case 8:o.tag=e.int64();break;case 9:o.clear_unread_count=e.bool();break;default:e.skipType(7&r)}}return o},e}(),e.PullMarkMessageResponseBody=function(){function e(e){if(this.messages=[],e)for(var t=Object.keys(e),n=0;n>>3){case 1:o.messages&&o.messages.length||(o.messages=[]),o.messages.push(l.im_proto.MessageBody.decode(e,e.uint32()));break;case 2:o.has_more=e.bool();break;case 3:o.next_cursor=e.int64();break;default:e.skipType(7&r)}}return o},e}(),e.MarkMsgUnreadCountReportRequestBody=function(){function e(e){if(this.tag_unread_count={},e)for(var t=Object.keys(e),n=0;n>>3){case 1:i.conversation_id=e.string();break;case 2:i.conversation_type=e.int32();break;case 3:i.conversation_short_id=e.int64();break;case 4:i.total_unread_count=e.int64();break;case 5:i.tag_unread_count===c.emptyObject&&(i.tag_unread_count={});var a=e.uint32()+e.pos;for(n=0,o=0;e.pos>>3){case 1:n=e.int64();break;case 2:o=e.int64();break;default:e.skipType(7&g)}}i.tag_unread_count["object"==typeof n?c.longToHash(n):n]=o;break;default:e.skipType(7&s)}}return i},e}(),e.MarkMsgUnreadCountReportResponseBody=function(){function e(e){if(this.failed_tag_list=[],e)for(var t=Object.keys(e),n=0;n>>3){case 1:o.set_total_status=e.bool();break;case 2:if(o.failed_tag_list&&o.failed_tag_list.length||(o.failed_tag_list=[]),2==(7&r))for(var i=e.uint32()+e.pos;e.pos>>3){case 1:o.conversation_id=e.string();break;case 2:o.conversation_type=e.int32();break;case 3:o.conversation_short_id=e.int64();break;case 4:o.get_total=e.bool();break;case 5:if(o.tags&&o.tags.length||(o.tags=[]),2==(7&r))for(var i=e.uint32()+e.pos;e.pos>>3){case 1:i.total_count=e.int64();break;case 2:i.tag_unread_count===c.emptyObject&&(i.tag_unread_count={});var a=e.uint32()+e.pos;for(n=0,o=0;e.pos>>3){case 1:n=e.int64();break;case 2:o=e.int64();break;default:e.skipType(7&g)}}i.tag_unread_count["object"==typeof n?c.longToHash(n):n]=o;break;case 3:if(i.failed_tag_list&&i.failed_tag_list.length||(i.failed_tag_list=[]),2==(7&s))for(a=e.uint32()+e.pos;e.pos>>3){case 1:i.conversation_id=e.string();break;case 2:i.conversation_short_id=e.int64();break;case 3:i.conversation_type=e.int32();break;case 4:i.ext===c.emptyObject&&(i.ext={});var a=e.uint32()+e.pos;for(n="",o="";e.pos>>3){case 1:n=e.string();break;case 2:o=e.string();break;default:e.skipType(7&g)}}i.ext[n]=o;break;default:e.skipType(7&s)}}return i},e}(),e.SetConversationInfoResponseBody=function(){function e(e){if(e)for(var t=Object.keys(e),n=0;n>>3){case 1:o.conversation=l.im_proto.ConversationInfo.decode(e,e.uint32());break;case 2:o.status=e.int32();break;case 3:o.check_code=e.int64();break;case 4:o.check_message=e.string();break;case 5:o.extra_info=e.string();break;default:e.skipType(7&r)}}return o},e}(),e.DeleteConversationRequestBody=function(){function e(e){if(e)for(var t=Object.keys(e),n=0;n>>3){case 1:o.conversation_id=e.string();break;case 2:o.conversation_short_id=e.int64();break;case 3:o.conversation_type=e.int32();break;case 4:o.last_message_index=e.int64();break;case 5:o.last_message_index_v2=e.int64();break;case 6:o.badge_count=e.int32();break;default:e.skipType(7&r)}}return o},e}(),e.DissolveConversationRequestBody=function(){function e(e){if(e)for(var t=Object.keys(e),n=0;n>>3){case 1:o.conversation_id=e.string();break;case 2:o.conversation_short_id=e.int64();break;case 3:o.conversation_type=e.int32();break;default:e.skipType(7&r)}}return o},e}(),e.DeleteMessageRequestBody=function(){function e(e){if(e)for(var t=Object.keys(e),n=0;n>>3){case 1:o.conversation_id=e.string();break;case 2:o.conversation_short_id=e.int64();break;case 3:o.conversation_type=e.int32();break;case 4:o.message_id=e.int64();break;default:e.skipType(7&r)}}return o},e}(),e.MarkConversationReadRequestBody=function(){function e(e){if(e)for(var t=Object.keys(e),n=0;n>>3){case 1:o.conversation_id=e.string();break;case 2:o.conversation_short_id=e.int64();break;case 3:o.conversation_type=e.int32();break;case 4:o.read_message_index=e.int64();break;case 5:o.conv_unread_count=e.int64();break;case 6:o.total_unread_count=e.int64();break;case 7:o.read_message_index_v2=e.int64();break;case 8:o.read_badge_count=e.int32();break;case 9:o.ticket=e.string();break;case 10:o.server_message_id=e.int64();break;case 11:o.read_badge_count_v2=e.int32();break;default:e.skipType(7&r)}}return o},e}(),e.GetConversationParticipantsReadIndexV3RequestBody=function(){function e(e){if(e)for(var t=Object.keys(e),n=0;n>>3){case 1:o.conversation_short_id=e.int64();break;case 2:o.conversation_type=e.int32();break;case 3:o.conversation_id=e.string();break;default:e.skipType(7&r)}}return o},e}(),e.GetConversationParticipantsReadIndexV3ResponseBody=function(){function e(e){if(this.indexes=[],e)for(var t=Object.keys(e),n=0;n>>3==1?(o.indexes&&o.indexes.length||(o.indexes=[]),o.indexes.push(l.im_proto.ParticipantReadIndex.decode(e,e.uint32()))):e.skipType(7&r)}return o},e}(),e.BatchGetConversationParticipantsReadIndexRequestBody=function(){function e(e){if(this.conversation_id=[],this.conversation_short_id=[],e)for(var t=Object.keys(e),n=0;n>>3){case 1:o.conversation_id&&o.conversation_id.length||(o.conversation_id=[]),o.conversation_id.push(e.string());break;case 2:if(o.conversation_short_id&&o.conversation_short_id.length||(o.conversation_short_id=[]),2==(7&r))for(var i=e.uint32()+e.pos;e.pos>>3==1?(o.conversationParticipantsReadIndex&&o.conversationParticipantsReadIndex.length||(o.conversationParticipantsReadIndex=[]),o.conversationParticipantsReadIndex.push(l.im_proto.ConversationParticipantReadIndex.decode(e,e.uint32()))):e.skipType(7&r)}return o},e}(),e.ConversationParticipantReadIndex=function(){function e(e){if(this.participantReadIndex=[],e)for(var t=Object.keys(e),n=0;n>>3){case 1:o.conversation_id=e.string();break;case 2:o.conversation_short_id=e.int64();break;case 3:o.participantReadIndex&&o.participantReadIndex.length||(o.participantReadIndex=[]),o.participantReadIndex.push(l.im_proto.ParticipantReadIndex.decode(e,e.uint32()));break;default:e.skipType(7&r)}}return o},e}(),e.ParticipantReadIndex=function(){function e(e){if(e)for(var t=Object.keys(e),n=0;n>>3){case 1:o.user_id=e.int64();break;case 2:o.sec_uid=e.string();break;case 3:o.index=e.int64();break;case 4:o.index_v2=e.int64();break;case 5:o.index_min=e.int64();break;default:e.skipType(7&r)}}return o},e}(),e.GetConversationParticipantsMinIndexV3RequestBody=function(){function e(e){if(e)for(var t=Object.keys(e),n=0;n>>3){case 1:o.conversation_short_id=e.int64();break;case 2:o.conversation_type=e.int32();break;case 3:o.conversation_id=e.string();break;default:e.skipType(7&r)}}return o},e}(),e.GetConversationParticipantsMinIndexV3ResponseBody=function(){function e(e){if(this.indexes=[],e)for(var t=Object.keys(e),n=0;n>>3==1?(o.indexes&&o.indexes.length||(o.indexes=[]),o.indexes.push(l.im_proto.ParticipantMinIndex.decode(e,e.uint32()))):e.skipType(7&r)}return o},e}(),e.ParticipantMinIndex=function(){function e(e){if(e)for(var t=Object.keys(e),n=0;n>>3){case 1:o.user_id=e.int64();break;case 2:o.sec_uid=e.string();break;case 3:o.index=e.int64();break;case 4:o.index_v2=e.int64();break;default:e.skipType(7&r)}}return o},e}(),e.BatchMarkConversationReadRequestBody=function(){function e(e){if(this.mark_read_requests=[],e)for(var t=Object.keys(e),n=0;n>>3==1?(o.mark_read_requests&&o.mark_read_requests.length||(o.mark_read_requests=[]),o.mark_read_requests.push(l.im_proto.MarkConversationReadRequestBody.decode(e,e.uint32()))):e.skipType(7&r)}return o},e}(),e.BatchMarkConversationReadResponseBody=function(){function e(e){if(this.failed_requests=[],e)for(var t=Object.keys(e),n=0;n>>3==1?(o.failed_requests&&o.failed_requests.length||(o.failed_requests=[]),o.failed_requests.push(l.im_proto.MarkConversationReadRequestBody.decode(e,e.uint32()))):e.skipType(7&r)}return o},e}(),e.SendMessageP2PRequestBody=function(){function e(e){if(this.visible_user=[],this.invisible_user=[],this.ext={},e)for(var t=Object.keys(e),n=0;n>>3){case 1:i.send_type=e.int32();break;case 2:i.conversation_id=e.string();break;case 3:i.conversation_type=e.int32();break;case 4:i.conversation_short_id=e.int64();break;case 5:if(i.visible_user&&i.visible_user.length||(i.visible_user=[]),2==(7&s))for(var a=e.uint32()+e.pos;e.pos>>3){case 1:n=e.string();break;case 2:o=e.string();break;default:e.skipType(7&g)}}i.ext[n]=o;break;case 10:i.client_message_id=e.string();break;default:e.skipType(7&s)}}return i},e}(),e.SendMessageP2PResponseBody=function(){function e(e){if(this.failed_user=[],e)for(var t=Object.keys(e),n=0;n>>3==1)if(o.failed_user&&o.failed_user.length||(o.failed_user=[]),2==(7&r))for(var i=e.uint32()+e.pos;e.pos>>3){case 1:i.conversation_id=e.string();break;case 2:i.conversation_type=e.int32();break;case 3:i.conversation_short_id=e.int64();break;case 4:i.content=e.string();break;case 5:i.ext===c.emptyObject&&(i.ext={});var a=e.uint32()+e.pos;for(n="",o="";e.pos>>3){case 1:n=e.string();break;case 2:o=e.string();break;default:e.skipType(7&g)}i.ext[n]=o;break;case 6:i.message_type=e.int32();break;case 7:i.ticket=e.string();break;case 8:i.client_message_id=e.string();break;case 9:if(i.mentioned_users&&i.mentioned_users.length||(i.mentioned_users=[]),2==(7&s))for(a=e.uint32()+e.pos;e.pos>>3){case 1:n=e.string();break;case 2:o=e.string();break;default:e.skipType(7&g)}}i.client_ext[n]=o;break;case 13:i.content_pb=l.im_proto.MessageContent.decode(e,e.uint32());break;case 14:i.scene=e.string();break;case 15:if(i.VisibleUsers&&i.VisibleUsers.length||(i.VisibleUsers=[]),2==(7&s))for(a=e.uint32()+e.pos;e.pos>>3){case 1:o.type=e.int32();break;case 2:o.id=e.string();break;case 3:o.decrypt_key=e.string();break;case 10:o.metadata=l.im_proto.MediaMeta.decode(e,e.uint32());break;default:e.skipType(7&r)}}return o},e}(),e.MediaMeta=function(){function e(e){if(e)for(var t=Object.keys(e),n=0;n>>3){case 1:o.width=e.int32();break;case 2:o.height=e.int32();break;case 3:o.duration=e.int64();break;case 4:o.size=e.int64();break;case 5:o.name=e.string();break;case 6:o.codec=e.string();break;default:e.skipType(7&r)}}return o},e}(),e.MediaInfo=function(){function e(e){if(this.url_info_list=[],e)for(var t=Object.keys(e),n=0;n>>3){case 1:o.id=e.string();break;case 2:o.type=e.int32();break;case 3:o.decrypt_key=e.string();break;case 20:o.url_info_list&&o.url_info_list.length||(o.url_info_list=[]),o.url_info_list.push(l.im_proto.MediaURLStruct.decode(e,e.uint32()));break;default:e.skipType(7&r)}}return o},e}(),e.MediaURLStruct=function(){function e(e){if(this.url_list=[],e)for(var t=Object.keys(e),n=0;n>>3){case 1:o.display_type=e.string();break;case 2:o.url_list&&o.url_list.length||(o.url_list=[]),o.url_list.push(e.string());break;case 3:o.video_model=e.string();break;case 20:o.width=e.int32();break;case 21:o.height=e.int32();break;case 22:o.duration=e.int64();break;case 23:o.size=e.int64();break;case 24:o.name=e.string();break;case 25:o.codec=e.string();break;default:e.skipType(7&r)}}return o},e}(),e.ReferencedMessageInfo=function(){function e(e){if(e)for(var t=Object.keys(e),n=0;n>>3){case 1:o.referenced_message_id=e.int64();break;case 2:o.hint=e.string();break;case 3:o.root_message_id=e.int64();break;case 4:o.root_message_conv_index=e.int64();break;default:e.skipType(7&r)}}if(!o.hasOwnProperty("referenced_message_id"))throw c.ProtocolError("missing required 'referenced_message_id'",{instance:o});if(!o.hasOwnProperty("hint"))throw c.ProtocolError("missing required 'hint'",{instance:o});return o},e}(),e.SendMessageResponseBody=function(){function e(e){if(e)for(var t=Object.keys(e),n=0;n>>3){case 1:o.server_message_id=e.int64();break;case 2:o.extra_info=e.string();break;case 3:o.status=e.int32();break;case 4:o.client_message_id=e.string();break;case 5:o.check_code=e.int64();break;case 6:o.check_message=e.string();break;case 7:o.filtered_content=e.string();break;case 8:o.is_async_send=e.bool();break;case 9:o.new_ticket=e.string();break;case 10:o.conversation=l.im_proto.ConversationInfoV2.decode(e,e.uint32());break;case 12:o.inboxPageCategory=e.int32();break;case 13:o.filter_reason=e.int32();break;default:e.skipType(7&r)}}return o},e}(),e.ModifyMessageRequestBody=function(){function e(e){if(this.ext={},e)for(var t=Object.keys(e),n=0;n>>3){case 1:i.conversation_id=e.string();break;case 2:i.conversation_type=e.int32();break;case 3:i.conversation_short_id=e.int64();break;case 4:i.server_message_id=e.string();break;case 5:i.ext===c.emptyObject&&(i.ext={});var a=e.uint32()+e.pos;for(n="",o="";e.pos>>3){case 1:n=e.string();break;case 2:o=e.string();break;default:e.skipType(7&g)}}i.ext[n]=o;break;case 6:i.ticket=e.string();break;default:e.skipType(7&s)}}return i},e}(),e.ModifyMessageResponseBody=function(){function e(e){if(e)for(var t=Object.keys(e),n=0;n>>3){case 1:i.metrics===c.emptyObject&&(i.metrics={});var a=e.uint32()+e.pos;for(n=0,o=0;e.pos>>3){case 1:n=e.int32();break;case 2:o=e.int64();break;default:e.skipType(7&g)}}i.metrics[n]=o;break;case 2:i.path=e.int32();break;default:e.skipType(7&s)}}return i},e}(),e.MuteBadgeCountInfo=function(){function e(e){if(e)for(var t=Object.keys(e),n=0;n>>3){case 1:o.message_type=e.int32();break;case 2:o.badge_count=e.int32();break;default:e.skipType(7&r)}}if(!o.hasOwnProperty("message_type"))throw c.ProtocolError("missing required 'message_type'",{instance:o});if(!o.hasOwnProperty("badge_count"))throw c.ProtocolError("missing required 'badge_count'",{instance:o});return o},e}(),e.NewMessageNotify=function(){function e(e){if(e)for(var t=Object.keys(e),n=0;n>>3){case 2:o.conversation_id=e.string();break;case 3:o.conversation_type=e.int32();break;case 4:o.notify_type=e.int32();break;case 5:o.message=l.im_proto.MessageBody.decode(e,e.uint32());break;case 6:o.previous_cursor=e.int64();break;case 7:o.next_cursor=e.int64();break;case 8:o.index_in_conversation=e.int64();break;case 9:o.index_in_conversation_v2=e.int64();break;case 10:o.conversation_version=e.int64();break;case 11:o.previous_conversation_version=e.int64();break;case 12:o.cmd_message_index=e.int64();break;case 13:o.badge_count=e.int32();break;case 14:o.trace=l.im_proto.MsgTrace.decode(e,e.uint32());break;case 15:o.ref_msg_info=l.im_proto.ReferenceInfo.decode(e,e.uint32());break;case 16:o.previous_msg_index_in_conv=e.int64();break;case 17:o.readconv_version=e.int64();break;case 18:o.pre_readconv_version=e.int64();break;case 19:o.mute_badge_count_info=l.im_proto.MuteBadgeCountInfo.decode(e,e.uint32());break;case 20:o.push_preview=e.string();break;case 21:o.badge_count_v2=e.int32();break;default:e.skipType(7&r)}}return o},e}(),e.NewDirectPushNotify=function(){function e(e){if(this.ext={},e)for(var t=Object.keys(e),n=0;n>>3){case 1:i.send_type=e.int32();break;case 2:i.sender=e.int64();break;case 3:i.sec_sender=e.string();break;case 4:i.conversation_id=e.string();break;case 5:i.conversation_short_id=e.int64();break;case 6:i.conversation_type=e.int32();break;case 7:i.message_type=e.int32();break;case 8:i.content=e.string();break;case 9:i.ext===c.emptyObject&&(i.ext={});var a=e.uint32()+e.pos;for(n="",o="";e.pos>>3){case 1:n=e.string();break;case 2:o=e.string();break;default:e.skipType(7&g)}}i.ext[n]=o;break;case 10:i.create_time=e.int64();break;default:e.skipType(7&s)}}return i},e}(),e.BizNewDirectPushNotify=function(){function e(e){if(this.ext={},e)for(var t=Object.keys(e),n=0;n>>3){case 1:i.inbox_type=e.int32();break;case 2:i.message_type=e.int32();break;case 3:i.content=e.string();break;case 4:i.ext===c.emptyObject&&(i.ext={});var a=e.uint32()+e.pos;for(n="",o="";e.pos>>3){case 1:n=e.string();break;case 2:o=e.string();break;default:e.skipType(7&g)}}i.ext[n]=o;break;case 5:i.create_time=e.int64();break;default:e.skipType(7&s)}}return i},e}(),e.NewFriendMessageNotify=function(){function e(e){if(this.ext={},e)for(var t=Object.keys(e),n=0;n>>3){case 1:i.message_type=e.int32();break;case 2:i.from_id=e.int64();break;case 3:i.to_id=e.int64();break;case 4:i.content=e.string();break;case 5:i.ext===c.emptyObject&&(i.ext={});var a=e.uint32()+e.pos;for(n="",o="";e.pos>>3){case 1:n=e.string();break;case 2:o=e.string();break;default:e.skipType(7&g)}}i.ext[n]=o;break;default:e.skipType(7&s)}}return i},e}(),e.MarkConversationReadNotify=function(){function e(e){if(e)for(var t=Object.keys(e),n=0;n>>3){case 1:o.conversation_id=e.string();break;case 2:o.conversation_type=e.int32();break;case 3:o.read_index=e.int64();break;case 4:o.read_index_v2=e.int64();break;case 5:o.user_id=e.int64();break;case 6:o.message_id=e.int64();break;default:e.skipType(7&r)}}return o},e}(),e.InputStatusNotify=function(){function e(e){if(e)for(var t=Object.keys(e),n=0;n>>3){case 1:o.sender=e.int64();break;case 2:o.conversation_id=e.string();break;case 3:o.conversation_short_id=e.int64();break;case 4:o.conversation_type=e.int32();break;case 5:o.input_status=e.int32();break;case 10:o.create_time=e.int64();break;default:e.skipType(7&r)}}if(!o.hasOwnProperty("input_status"))throw c.ProtocolError("missing required 'input_status'",{instance:o});if(!o.hasOwnProperty("create_time"))throw c.ProtocolError("missing required 'create_time'",{instance:o});return o},e}(),e.ConversationInfoUpdatedNotify=function(){function e(e){if(e)for(var t=Object.keys(e),n=0;n>>3==1?o.conversation=l.im_proto.ConversationInfo.decode(e,e.uint32()):e.skipType(7&r)}return o},e}(),e.GetConversationInfoRequestBody=function(){function e(e){if(e)for(var t=Object.keys(e),n=0;n>>3){case 1:o.conversation_id=e.string();break;case 2:o.conversation_short_id=e.int64();break;case 3:o.conversation_type=e.int32();break;default:e.skipType(7&r)}}return o},e}(),e.GetConversationInfoResponseBody=function(){function e(e){if(e)for(var t=Object.keys(e),n=0;n>>3==1?o.conversation_info=l.im_proto.ConversationInfo.decode(e,e.uint32()):e.skipType(7&r)}return o},e}(),e.ConversationsPerUserByFavoriteV2RequestBody=function(){function e(e){if(e)for(var t=Object.keys(e),n=0;n>>3){case 1:o.cursor=e.int64();break;case 2:o.limit=e.int32();break;default:e.skipType(7&r)}}return o},e}(),e.ConversationsPerUserByTopV2RequestBody=function(){function e(e){if(e)for(var t=Object.keys(e),n=0;n>>3){case 1:o.cursor=e.int64();break;case 2:o.limit=e.int32();break;default:e.skipType(7&r)}}return o},e}(),e.GetConversationInfoV2RequestBody=function(){function e(e){if(this.ext={},e)for(var t=Object.keys(e),n=0;n>>3){case 1:i.conversation_id=e.string();break;case 2:i.conversation_short_id=e.int64();break;case 3:i.conversation_type=e.int32();break;case 4:i.ext===c.emptyObject&&(i.ext={});var a=e.uint32()+e.pos;for(n="",o="";e.pos>>3){case 1:n=e.string();break;case 2:o=e.string();break;default:e.skipType(7&g)}}i.ext[n]=o;break;default:e.skipType(7&s)}}return i},e}(),e.GetConversationInfoV2ResponseBody=function(){function e(e){if(e)for(var t=Object.keys(e),n=0;n>>3==1?o.conversation_info=l.im_proto.ConversationInfoV2.decode(e,e.uint32()):e.skipType(7&r)}return o},e}(),e.GetConversationInfoListRequestBody=function(){function e(e){if(this.conversation_info_list=[],e)for(var t=Object.keys(e),n=0;n>>3==1?(o.conversation_info_list&&o.conversation_info_list.length||(o.conversation_info_list=[]),o.conversation_info_list.push(l.im_proto.GetConversationInfoRequestBody.decode(e,e.uint32()))):e.skipType(7&r)}return o},e}(),e.GetConversationInfoListResponseBody=function(){function e(e){if(this.conversation_info_list=[],e)for(var t=Object.keys(e),n=0;n>>3==1?(o.conversation_info_list&&o.conversation_info_list.length||(o.conversation_info_list=[]),o.conversation_info_list.push(l.im_proto.ConversationInfo.decode(e,e.uint32()))):e.skipType(7&r)}return o},e}(),e.GetConversationInfoListV2RequestBody=function(){function e(e){if(this.conversation_info_list=[],e)for(var t=Object.keys(e),n=0;n>>3==1?(o.conversation_info_list&&o.conversation_info_list.length||(o.conversation_info_list=[]),o.conversation_info_list.push(l.im_proto.GetConversationInfoV2RequestBody.decode(e,e.uint32()))):e.skipType(7&r)}return o},e}(),e.GetConversationInfoListV2ResponseBody=function(){function e(e){if(this.conversation_info_list=[],e)for(var t=Object.keys(e),n=0;n>>3==1?(o.conversation_info_list&&o.conversation_info_list.length||(o.conversation_info_list=[]),o.conversation_info_list.push(l.im_proto.ConversationInfoV2.decode(e,e.uint32()))):e.skipType(7&r)}return o},e}(),e.PreviewerGetConversationInfoListRequestBody=function(){function e(e){if(this.conversation_info_list=[],e)for(var t=Object.keys(e),n=0;n>>3==1?(o.conversation_info_list&&o.conversation_info_list.length||(o.conversation_info_list=[]),o.conversation_info_list.push(l.im_proto.GetConversationInfoV2RequestBody.decode(e,e.uint32()))):e.skipType(7&r)}return o},e}(),e.PreviewerGetConversationInfoListResponseBody=function(){function e(e){if(this.conversation_info_list=[],e)for(var t=Object.keys(e),n=0;n>>3){case 1:o.conversation_info_list&&o.conversation_info_list.length||(o.conversation_info_list=[]),o.conversation_info_list.push(l.im_proto.ConversationInfoV2.decode(e,e.uint32()));break;case 2:o.status=e.int32();break;case 3:o.check_code=e.int64();break;case 4:o.check_message=e.string();break;default:e.skipType(7&r)}}return o},e}(),e.GetConversationInfoListByFavoriteV2ResponseBody=function(){function e(e){if(this.conversation_info_list=[],e)for(var t=Object.keys(e),n=0;n>>3){case 1:o.conversation_info_list&&o.conversation_info_list.length||(o.conversation_info_list=[]),o.conversation_info_list.push(l.im_proto.ConversationInfoV2.decode(e,e.uint32()));break;case 2:o.has_more=e.bool();break;case 3:o.next_cursor=e.int64();break;default:e.skipType(7&r)}}return o},e}(),e.GetConversationInfoListByTopV2ResponseBody=function(){function e(e){if(this.conversation_info_list=[],e)for(var t=Object.keys(e),n=0;n>>3){case 1:o.conversation_info_list&&o.conversation_info_list.length||(o.conversation_info_list=[]),o.conversation_info_list.push(l.im_proto.ConversationInfoV2.decode(e,e.uint32()));break;case 2:o.has_more=e.bool();break;case 3:o.next_cursor=e.int64();break;default:e.skipType(7&r)}}return o},e}(),e.GetConversationsCheckInfoRequestBody=function(){function e(e){if(e)for(var t=Object.keys(e),n=0;n>>3){case 1:o.conversation_short_id=e.int64();break;case 2:o.conversation_id=e.string();break;case 3:o.conversation_type=e.int32();break;default:e.skipType(7&r)}}return o},e}(),e.GetConversationsCheckInfoResponseBody=function(){function e(e){if(this.conversation_checkinfo_list=[],e)for(var t=Object.keys(e),n=0;n>>3==1?(o.conversation_checkinfo_list&&o.conversation_checkinfo_list.length||(o.conversation_checkinfo_list=[]),o.conversation_checkinfo_list.push(l.im_proto.ConversationCheckInfo.decode(e,e.uint32()))):e.skipType(7&r)}return o},e}(),e.GetConversationsCheckInfoV2RequestBody=function(){function e(e){if(e)for(var t=Object.keys(e),n=0;n>>3==1?o.limit=e.int32():e.skipType(7&r)}return o},e}(),e.ConversationCheckInfoV2=function(){function e(e){if(e)for(var t=Object.keys(e),n=0;n>>3){case 1:o.conv_short_id=e.int64();break;case 2:o.conv_id=e.string();break;case 3:o.conv_type=e.int32();break;case 4:o.is_pinned=e.bool();break;default:e.skipType(7&r)}}if(!o.hasOwnProperty("conv_short_id"))throw c.ProtocolError("missing required 'conv_short_id'",{instance:o});if(!o.hasOwnProperty("conv_type"))throw c.ProtocolError("missing required 'conv_type'",{instance:o});return o},e}(),e.GetConversationsCheckInfoV2ResponseBody=function(){function e(e){if(this.conv_list=[],e)for(var t=Object.keys(e),n=0;n>>3){case 1:o.conv_list&&o.conv_list.length||(o.conv_list=[]),o.conv_list.push(l.im_proto.ConversationCheckInfoV2.decode(e,e.uint32()));break;case 2:o.is_demoted=e.bool();break;case 3:o.is_pinned_included=e.bool();break;default:e.skipType(7&r)}}return o},e}(),e.RecallMessageRequestBody=function(){function e(e){if(e)for(var t=Object.keys(e),n=0;n>>3){case 1:o.conversation_id=e.string();break;case 2:o.conversation_short_id=e.int64();break;case 3:o.conversation_type=e.int32();break;case 4:o.server_message_id=e.int64();break;default:e.skipType(7&r)}}return o},e}(),e.ConversationAddParticipantsRequestBody=function(){function e(e){if(this.participants=[],this.biz_ext={},e)for(var t=Object.keys(e),n=0;n>>3){case 1:i.conversation_id=e.string();break;case 2:i.conversation_short_id=e.int64();break;case 3:i.conversation_type=e.int32();break;case 4:if(i.participants&&i.participants.length||(i.participants=[]),2==(7&s))for(var a=e.uint32()+e.pos;e.pos>>3){case 1:n=e.string();break;case 2:o=e.string();break;default:e.skipType(7&g)}}i.biz_ext[n]=o;break;default:e.skipType(7&s)}}return i},e}(),e.SecUidPair=function(){function e(e){if(e)for(var t=Object.keys(e),n=0;n>>3){case 1:o.uid=e.int64();break;case 2:o.sec_uid=e.string();break;default:e.skipType(7&r)}}return o},e}(),e.ConversationAddParticipantsResponseBody=function(){function e(e){if(this.success_participants=[],this.failed_participants=[],this.sec_success_participants=[],this.sec_failed_participants=[],this.biz_ext={},this.ext={},e)for(var t=Object.keys(e),n=0;n>>3){case 1:if(i.success_participants&&i.success_participants.length||(i.success_participants=[]),2==(7&s))for(var a=e.uint32()+e.pos;e.pos>>3){case 1:n=e.string();break;case 2:o=e.string();break;default:e.skipType(7&g)}i.biz_ext[n]=o;break;case 10:for(i.ext===c.emptyObject&&(i.ext={}),a=e.uint32()+e.pos,n="",o="";e.pos>>3){case 1:n=e.string();break;case 2:o=e.string();break;default:e.skipType(7&g)}}i.ext[n]=o;break;default:e.skipType(7&s)}}return i},e}(),e.ConversationRemoveParticipantsRequestBody=function(){function e(e){if(this.participants=[],this.biz_ext={},e)for(var t=Object.keys(e),n=0;n>>3){case 1:i.conversation_id=e.string();break;case 2:i.conversation_short_id=e.int64();break;case 3:i.conversation_type=e.int32();break;case 4:if(i.participants&&i.participants.length||(i.participants=[]),2==(7&s))for(var a=e.uint32()+e.pos;e.pos>>3){case 1:n=e.string();break;case 2:o=e.string();break;default:e.skipType(7&g)}}i.biz_ext[n]=o;break;default:e.skipType(7&s)}}return i},e}(),e.ConversationRemoveParticipantsResponseBody=function(){function e(e){if(this.failed_participants=[],this.failed_sec_participants=[],e)for(var t=Object.keys(e),n=0;n>>3){case 1:if(o.failed_participants&&o.failed_participants.length||(o.failed_participants=[]),2==(7&r))for(var i=e.uint32()+e.pos;e.pos>>3){case 1:o.conversation_id=e.string();break;case 2:o.conversation_short_id=e.int64();break;case 3:o.conversation_type=e.int32();break;default:e.skipType(7&r)}}return o},e}(),e.ConversationSetRoleRequestBody=function(){function e(e){if(this.roles={},e)for(var t=Object.keys(e),n=0;n>>3){case 1:i.conversation_id=e.string();break;case 2:i.conversation_short_id=e.int64();break;case 3:i.conversation_type=e.int32();break;case 4:i.roles===c.emptyObject&&(i.roles={});var a=e.uint32()+e.pos;for(n=0,o=0;e.pos>>3){case 1:n=e.int64();break;case 2:o=e.int32();break;default:e.skipType(7&g)}}i.roles["object"==typeof n?c.longToHash(n):n]=o;break;default:e.skipType(7&s)}}return i},e}(),e.ConversationSetRoleResponseBody=function(){function e(e){if(this.success_participants=[],this.failed_participants=[],e)for(var t=Object.keys(e),n=0;n>>3){case 1:if(o.success_participants&&o.success_participants.length||(o.success_participants=[]),2==(7&r))for(var i=e.uint32()+e.pos;e.pos>>3){case 1:i.conversation_id=e.string();break;case 2:i.conversation_short_id=e.int64();break;case 3:i.conversation_type=e.int32();break;case 4:i.cursor=e.int64();break;case 5:i.limit=e.int32();break;case 6:i.ext===c.emptyObject&&(i.ext={});var a=e.uint32()+e.pos;for(n="",o="";e.pos>>3){case 1:n=e.string();break;case 2:o=e.string();break;default:e.skipType(7&g)}}i.ext[n]=o;break;default:e.skipType(7&s)}}return i},e}(),e.ConversationParticipantsListResponseBody=function(){function e(e){if(e)for(var t=Object.keys(e),n=0;n>>3==1?o.participants_page=l.im_proto.ParticipantsPage.decode(e,e.uint32()):e.skipType(7&r)}return o},e}(),e.MgetConversationParticipantsRequestBody=function(){function e(e){if(this.participants=[],e)for(var t=Object.keys(e),n=0;n>>3){case 1:o.conversation_id=e.string();break;case 2:o.conversation_short_id=e.int64();break;case 3:o.conversation_type=e.int32();break;case 4:if(o.participants&&o.participants.length||(o.participants=[]),2==(7&r))for(var i=e.uint32()+e.pos;e.pos>>3==1?(o.participants&&o.participants.length||(o.participants=[]),o.participants.push(l.im_proto.Participant.decode(e,e.uint32()))):e.skipType(7&r)}return o},e}(),e.UpdateConversationParticipantRequestBody=function(){function e(e){if(this.biz_ext={},e)for(var t=Object.keys(e),n=0;n>>3){case 1:i.conversation_id=e.string();break;case 2:i.conversation_short_id=e.int64();break;case 3:i.conversation_type=e.int32();break;case 4:i.user_id=e.int64();break;case 5:i.role=e.int32();break;case 6:i.alias=e.string();break;case 7:i.is_alias_set=e.bool();break;case 11:i.biz_ext===c.emptyObject&&(i.biz_ext={});var a=e.uint32()+e.pos;for(n="",o="";e.pos>>3){case 1:n=e.string();break;case 2:o=e.string();break;default:e.skipType(7&g)}}i.biz_ext[n]=o;break;default:e.skipType(7&s)}}return i},e}(),e.UpdateConversationParticipantResponseBody=function(){function e(e){if(e)for(var t=Object.keys(e),n=0;n>>3){case 1:o.participant=l.im_proto.Participant.decode(e,e.uint32());break;case 2:o.status=e.int32();break;case 3:o.extra_info=e.string();break;case 4:o.check_code=e.int64();break;case 5:o.check_message=e.string();break;default:e.skipType(7&r)}}return o},e}(),e.BatchUpdateConversationParticipantRequestBody=function(){function e(e){if(this.participants=[],this.biz_ext={},e)for(var t=Object.keys(e),n=0;n>>3){case 1:i.conversation_id=e.string();break;case 2:i.conversation_short_id=e.int64();break;case 3:i.conversation_type=e.int32();break;case 4:if(i.participants&&i.participants.length||(i.participants=[]),2==(7&s))for(var a=e.uint32()+e.pos;e.pos>>3){case 1:n=e.string();break;case 2:o=e.string();break;default:e.skipType(7&g)}}i.biz_ext[n]=o;break;default:e.skipType(7&s)}}return i},e}(),e.UpdateConversationParticipantResult=function(){function e(e){if(e)for(var t=Object.keys(e),n=0;n>>3){case 1:o.participant=l.im_proto.Participant.decode(e,e.uint32());break;case 2:o.status=e.int32();break;case 3:o.extra_info=e.string();break;case 4:o.check_code=e.int64();break;case 5:o.check_message=e.string();break;default:e.skipType(7&r)}}return o},e}(),e.BatchUpdateConversationParticipantResponseBody=function(){function e(e){if(this.success_participants=[],this.callback_failed_participants=[],this.failed_participants=[],e)for(var t=Object.keys(e),n=0;n>>3){case 1:o.success_participants&&o.success_participants.length||(o.success_participants=[]),o.success_participants.push(l.im_proto.UpdateConversationParticipantResult.decode(e,e.uint32()));break;case 2:o.callback_failed_participants&&o.callback_failed_participants.length||(o.callback_failed_participants=[]),o.callback_failed_participants.push(l.im_proto.UpdateConversationParticipantResult.decode(e,e.uint32()));break;case 3:if(o.failed_participants&&o.failed_participants.length||(o.failed_participants=[]),2==(7&r))for(var i=e.uint32()+e.pos;e.pos>>3){case 1:o.conversation_id=e.string();break;case 2:o.conversation_short_id=e.int64();break;case 3:o.conversation_type=e.int32();break;default:e.skipType(7&r)}}return o},e}(),e.GetGroupInfoResponseBody=function(){function e(e){if(e)for(var t=Object.keys(e),n=0;n>>3==1?o.group_info=l.im_proto.GroupInfo.decode(e,e.uint32()):e.skipType(7&r)}return o},e}(),e.GetGroupInfoListRequestBody=function(){function e(e){if(this.group_info_list=[],e)for(var t=Object.keys(e),n=0;n>>3==1?(o.group_info_list&&o.group_info_list.length||(o.group_info_list=[]),o.group_info_list.push(l.im_proto.GetGroupInfoRequestBody.decode(e,e.uint32()))):e.skipType(7&r)}return o},e}(),e.GetGroupInfoListResponseBody=function(){function e(e){if(this.group_info_list=[],e)for(var t=Object.keys(e),n=0;n>>3==1?(o.group_info_list&&o.group_info_list.length||(o.group_info_list=[]),o.group_info_list.push(l.im_proto.GroupInfo.decode(e,e.uint32()))):e.skipType(7&r)}return o},e}(),e.SetGroupInfoRequestBody=function(){function e(e){if(this.ext={},e)for(var t=Object.keys(e),n=0;n>>3){case 1:i.conversation_id=e.string();break;case 2:i.conversation_short_id=e.int64();break;case 3:i.conversation_type=e.int32();break;case 5:i.group_name=e.string();break;case 6:i.group_desc=e.string();break;case 7:i.group_icon=e.string();break;case 8:i.ext===c.emptyObject&&(i.ext={});var a=e.uint32()+e.pos;for(n="",o="";e.pos>>3){case 1:n=e.string();break;case 2:o=e.string();break;default:e.skipType(7&g)}}i.ext[n]=o;break;default:e.skipType(7&s)}}return i},e}(),e.SetGroupInfoResponseBody=function(){function e(e){if(e)for(var t=Object.keys(e),n=0;n>>3){case 1:o.group_info=l.im_proto.GroupInfo.decode(e,e.uint32());break;case 2:o.status=e.int32();break;case 3:o.extra_info=e.string();break;case 4:o.check_code=e.int64();break;case 5:o.check_message=e.string();break;default:e.skipType(7&r)}}return o},e}(),e.GetConversationCoreInfoRequestBody=function(){function e(e){if(this.ext={},e)for(var t=Object.keys(e),n=0;n>>3){case 1:i.conversation_id=e.string();break;case 2:i.conversation_short_id=e.int64();break;case 3:i.conversation_type=e.int32();break;case 4:i.ext===c.emptyObject&&(i.ext={});var a=e.uint32()+e.pos;for(n="",o="";e.pos>>3){case 1:n=e.string();break;case 2:o=e.string();break;default:e.skipType(7&g)}}i.ext[n]=o;break;default:e.skipType(7&s)}}return i},e}(),e.GetConversationCoreInfoResponseBody=function(){function e(e){if(e)for(var t=Object.keys(e),n=0;n>>3==1?o.conversation_core_info=l.im_proto.ConversationCoreInfo.decode(e,e.uint32()):e.skipType(7&r)}return o},e}(),e.GetConversationCoreInfoListRequestBody=function(){function e(e){if(this.conversation_core_info_list=[],e)for(var t=Object.keys(e),n=0;n>>3==1?(o.conversation_core_info_list&&o.conversation_core_info_list.length||(o.conversation_core_info_list=[]),o.conversation_core_info_list.push(l.im_proto.GetConversationCoreInfoRequestBody.decode(e,e.uint32()))):e.skipType(7&r)}return o},e}(),e.GetConversationCoreInfoListResponseBody=function(){function e(e){if(this.conversation_core_info_list=[],e)for(var t=Object.keys(e),n=0;n>>3==1?(o.conversation_core_info_list&&o.conversation_core_info_list.length||(o.conversation_core_info_list=[]),o.conversation_core_info_list.push(l.im_proto.ConversationCoreInfo.decode(e,e.uint32()))):e.skipType(7&r)}return o},e}(),e.SetConversationCoreInfoRequestBody=function(){function e(e){if(this.ext={},e)for(var t=Object.keys(e),n=0;n>>3){case 1:i.conversation_id=e.string();break;case 2:i.conversation_short_id=e.int64();break;case 3:i.conversation_type=e.int32();break;case 4:i.name=e.string();break;case 5:i.desc=e.string();break;case 6:i.icon=e.string();break;case 7:i.notice=e.string();break;case 8:i.is_name_set=e.bool();break;case 9:i.is_desc_set=e.bool();break;case 10:i.is_icon_set=e.bool();break;case 11:i.is_notice_set=e.bool();break;case 12:i.ext===c.emptyObject&&(i.ext={});var a=e.uint32()+e.pos;for(n="",o="";e.pos>>3){case 1:n=e.string();break;case 2:o=e.string();break;default:e.skipType(7&g)}}i.ext[n]=o;break;default:e.skipType(7&s)}}return i},e}(),e.SetConversationCoreInfoResponseBody=function(){function e(e){if(e)for(var t=Object.keys(e),n=0;n>>3){case 1:o.conversation_core_info=l.im_proto.ConversationCoreInfo.decode(e,e.uint32());break;case 2:o.status=e.int32();break;case 3:o.extra_info=e.string();break;case 4:o.check_code=e.int64();break;case 5:o.check_message=e.string();break;default:e.skipType(7&r)}}return o},e}(),e.UpsertConversationCoreExtInfoRequestBody=function(){function e(e){if(this.ext={},e)for(var t=Object.keys(e),n=0;n>>3){case 1:i.conversation_id=e.string();break;case 2:i.conversation_short_id=e.int64();break;case 3:i.conversation_type=e.int32();break;case 4:i.ext===c.emptyObject&&(i.ext={});var a=e.uint32()+e.pos;for(n="",o="";e.pos>>3){case 1:n=e.string();break;case 2:o=e.string();break;default:e.skipType(7&g)}}i.ext[n]=o;break;default:e.skipType(7&s)}}return i},e}(),e.UpsertConversationCoreExtInfoResponseBody=function(){function e(e){if(e)for(var t=Object.keys(e),n=0;n>>3){case 1:o.core_info=l.im_proto.ConversationCoreInfo.decode(e,e.uint32());break;case 2:o.status=e.int32();break;case 3:o.check_code=e.int64();break;case 4:o.check_message=e.string();break;case 5:o.extra_info=e.string();break;default:e.skipType(7&r)}}return o},e}(),e.DeleteConversationCoreExtInfoRequestBody=function(){function e(e){if(this.ext={},e)for(var t=Object.keys(e),n=0;n>>3){case 1:i.conversation_id=e.string();break;case 2:i.conversation_short_id=e.int64();break;case 3:i.ext===c.emptyObject&&(i.ext={});var a=e.uint32()+e.pos;for(n="",o="";e.pos>>3){case 1:n=e.string();break;case 2:o=e.string();break;default:e.skipType(7&g)}}i.ext[n]=o;break;default:e.skipType(7&s)}}return i},e}(),e.DeleteConversationCoreExtInfoResponseBody=function(){function e(e){if(e)for(var t=Object.keys(e),n=0;n>>3){case 1:o.core_info=l.im_proto.ConversationCoreInfo.decode(e,e.uint32());break;case 2:o.status=e.int32();break;case 3:o.check_code=e.int64();break;case 4:o.check_message=e.string();break;case 5:o.extra_info=e.string();break;default:e.skipType(7&r)}}return o},e}(),e.SetConversationSettingInfoRequestBody=function(){function e(e){if(e)for(var t=Object.keys(e),n=0;n>>3){case 1:o.conversation_id=e.string();break;case 2:o.conversation_short_id=e.int64();break;case 3:o.conversation_type=e.int32();break;case 4:o.set_stick_on_top=e.bool();break;case 5:o.set_mute=e.bool();break;case 6:o.set_favorite=e.bool();break;default:e.skipType(7&r)}}return o},e}(),e.SetConversationSettingInfoResponseBody=function(){function e(e){if(e)for(var t=Object.keys(e),n=0;n>>3){case 1:o.setting_info=l.im_proto.ConversationSettingInfo.decode(e,e.uint32());break;case 2:o.status=e.int32();break;case 3:o.check_code=e.int64();break;case 4:o.check_message=e.string();break;case 5:o.extra_info=e.string();break;default:e.skipType(7&r)}}return o},e}(),e.UpsertConversationSettingExtInfoRequestBody=function(){function e(e){if(this.ext={},e)for(var t=Object.keys(e),n=0;n>>3){case 1:i.conversation_id=e.string();break;case 2:i.conversation_short_id=e.int64();break;case 3:i.conversation_type=e.int32();break;case 4:i.ext===c.emptyObject&&(i.ext={});var a=e.uint32()+e.pos;for(n="",o="";e.pos>>3){case 1:n=e.string();break;case 2:o=e.string();break;default:e.skipType(7&g)}}i.ext[n]=o;break;default:e.skipType(7&s)}}return i},e}(),e.UpsertConversationSettingExtInfoResponseBody=function(){function e(e){if(e)for(var t=Object.keys(e),n=0;n>>3){case 1:o.setting_info=l.im_proto.ConversationSettingInfo.decode(e,e.uint32());break;case 2:o.status=e.int32();break;case 3:o.check_code=e.int64();break;case 4:o.check_message=e.string();break;case 5:o.extra_info=e.string();break;default:e.skipType(7&r)}}return o},e}(),e.DeleteConversationSettingExtInfoRequestBody=function(){function e(e){if(this.ext={},e)for(var t=Object.keys(e),n=0;n>>3){case 1:i.conversation_id=e.string();break;case 2:i.conversation_short_id=e.int64();break;case 3:i.ext===c.emptyObject&&(i.ext={});var a=e.uint32()+e.pos;for(n="",o="";e.pos>>3){case 1:n=e.string();break;case 2:o=e.string();break;default:e.skipType(7&g)}}i.ext[n]=o;break;default:e.skipType(7&s)}}return i},e}(),e.DeleteConversationSettingExtInfoResponseBody=function(){function e(e){if(e)for(var t=Object.keys(e),n=0;n>>3){case 1:o.setting_info=l.im_proto.ConversationSettingInfo.decode(e,e.uint32());break;case 2:o.status=e.int32();break;case 3:o.check_code=e.int64();break;case 4:o.check_message=e.string();break;case 5:o.extra_info=e.string();break;default:e.skipType(7&r)}}return o},e}(),e.GetConversationSettingInfoRequestBody=function(){function e(e){if(e)for(var t=Object.keys(e),n=0;n>>3==2?o.conversation_short_id=e.int64():e.skipType(7&r)}return o},e}(),e.GetConversationSettingInfoResponseBody=function(){function e(e){if(e)for(var t=Object.keys(e),n=0;n>>3){case 1:o.conversation_setting_info=l.im_proto.ConversationSettingInfo.decode(e,e.uint32());break;case 2:o.status=e.int32();break;case 3:o.check_code=e.int64();break;case 4:o.check_message=e.string();break;case 5:o.extra_info=e.string();break;default:e.skipType(7&r)}}return o},e}(),e.StrangerConversation=function(){function e(e){if(this.participants=[],this.ext={},e)for(var t=Object.keys(e),n=0;n>>3){case 1:i.conversation_short_id=e.int64();break;case 2:i.unread=e.int32();break;case 3:i.last_message=l.im_proto.MessageBody.decode(e,e.uint32());break;case 4:i.conversation_id=e.string();break;case 5:i.participants&&i.participants.length||(i.participants=[]),i.participants.push(l.im_proto.Participant.decode(e,e.uint32()));break;case 6:i.badge_count=e.int32();break;case 7:i.ext===c.emptyObject&&(i.ext={});var a=e.uint32()+e.pos;for(n="",o="";e.pos>>3){case 1:n=e.string();break;case 2:o=e.string();break;default:e.skipType(7&g)}}i.ext[n]=o;break;default:e.skipType(7&s)}}return i},e}(),e.StrangerNewMessageNotify=function(){function e(e){if(e)for(var t=Object.keys(e),n=0;n>>3==2?o.message=l.im_proto.MessageBody.decode(e,e.uint32()):e.skipType(7&r)}return o},e}(),e.GetStrangerConversationListRequestBody=function(){function e(e){if(e)for(var t=Object.keys(e),n=0;n>>3){case 1:o.cursor=e.int64();break;case 2:o.count=e.int64();break;case 3:o.show_total_unread=e.bool();break;case 4:o.biz_info=e.string();break;default:e.skipType(7&r)}}return o},e}(),e.GetStrangerConversationListResponseBody=function(){function e(e){if(this.conversation_list=[],e)for(var t=Object.keys(e),n=0;n>>3){case 1:o.next_cursor=e.int64();break;case 2:o.has_more=e.bool();break;case 3:o.total_unread=e.int32();break;case 4:o.conversation_list&&o.conversation_list.length||(o.conversation_list=[]),o.conversation_list.push(l.im_proto.StrangerConversation.decode(e,e.uint32()));break;default:e.skipType(7&r)}}return o},e}(),e.GetStrangerMessagesRequestBody=function(){function e(e){if(e)for(var t=Object.keys(e),n=0;n>>3){case 1:o.conversation_short_id=e.int64();break;case 2:o.reset_unread_count=e.bool();break;default:e.skipType(7&r)}}return o},e}(),e.GetStrangerMessagesResponseBody=function(){function e(e){if(this.messages=[],e)for(var t=Object.keys(e),n=0;n>>3==3?(o.messages&&o.messages.length||(o.messages=[]),o.messages.push(l.im_proto.MessageBody.decode(e,e.uint32()))):e.skipType(7&r)}return o},e}(),e.DeleteStrangerMessageRequestBody=function(){function e(e){if(e)for(var t=Object.keys(e),n=0;n>>3){case 1:o.server_message_id=e.int64();break;case 2:o.conversation_short_id=e.int64();break;default:e.skipType(7&r)}}return o},e}(),e.DeleteStrangerMessageResponseBody=function(){function e(e){if(e)for(var t=Object.keys(e),n=0;n>>3==1?o.conversation_short_id=e.int64():e.skipType(7&r)}return o},e}(),e.DeleteStrangerConversationResponseBody=function(){function e(e){if(e)for(var t=Object.keys(e),n=0;n>>3==1?o.conversation_short_id=e.int64():e.skipType(7&r)}return o},e}(),e.MarkStrangerConversationReadResponseBody=function(){function e(e){if(e)for(var t=Object.keys(e),n=0;n>>3==1?o.reset_unread_count=e.bool():e.skipType(7&r)}return o},e}(),e.GetStrangerUnreadCountResponseBody=function(){function e(e){if(e)for(var t=Object.keys(e),n=0;n>>3==1?o.user_unread_count=e.int64():e.skipType(7&r)}if(!o.hasOwnProperty("user_unread_count"))throw c.ProtocolError("missing required 'user_unread_count'",{instance:o});return o},e}(),e.MessagePropertyContent=function(){function e(e){if(e)for(var t=Object.keys(e),n=0;n>>3){case 1:o.type=e.int32();break;case 2:o.sync_content=l.im_proto.SyncContent.decode(e,e.uint32());break;case 3:o.reaction_content=l.im_proto.ReactionContent.decode(e,e.uint32());break;case 4:o.index_in_message=e.int64();break;default:e.skipType(7&r)}}return o},e}(),e.ReactionContent=function(){function e(e){if(e)for(var t=Object.keys(e),n=0;n>>3){case 1:o.id=e.int32();break;case 2:o.name=e.string();break;case 3:o.status=e.int32();break;case 4:o.target_message_id=e.int64();break;case 5:o.target_client_message_id=e.string();break;default:e.skipType(7&r)}}return o},e}(),e.ReactionMessageRequestBody=function(){function e(e){if(e)for(var t=Object.keys(e),n=0;n>>3){case 1:o.conversation_id=e.string();break;case 2:o.conversation_type=e.int32();break;case 3:o.conversation_short_id=e.int64();break;case 4:o.reaction_content=l.im_proto.ReactionContent.decode(e,e.uint32());break;case 6:o.message_type=e.int32();break;case 7:o.ticket=e.string();break;case 8:o.client_message_id=e.string();break;default:e.skipType(7&r)}}return o},e}(),e.ReactionMessageResponseBody=function(){function e(e){if(e)for(var t=Object.keys(e),n=0;n>>3){case 1:o.server_message_id=e.int64();break;case 2:o.client_message_id=e.string();break;case 3:o.status=e.int32();break;default:e.skipType(7&r)}}return o},e}(),e.SyncContent=function(){function e(e){if(e)for(var t=Object.keys(e),n=0;n>>3){case 1:o.status=e.int32();break;case 2:o.target_message_id=e.int64();break;case 3:o.target_client_message_id=e.string();break;default:e.skipType(7&r)}}return o},e}(),e.SyncMessageRequestBody=function(){function e(e){if(e)for(var t=Object.keys(e),n=0;n>>3){case 1:o.conversation_id=e.string();break;case 2:o.conversation_type=e.int32();break;case 3:o.conversation_short_id=e.int64();break;case 4:o.sync_content=l.im_proto.SyncContent.decode(e,e.uint32());break;case 6:o.message_type=e.int32();break;case 7:o.ticket=e.string();break;case 8:o.client_message_id=e.string();break;case 9:o.target_message_sender=e.int64();break;default:e.skipType(7&r)}}return o},e}(),e.SyncMessageResponseBody=function(){function e(e){if(e)for(var t=Object.keys(e),n=0;n>>3){case 1:o.server_message_id=e.int64();break;case 2:o.client_message_id=e.string();break;case 3:o.status=e.int32();break;default:e.skipType(7&r)}}return o},e}(),e.ModifyPropertyContent=function(){function e(e){if(e)for(var t=Object.keys(e),n=0;n>>3){case 1:o.operation=e.int32();break;case 2:o.key=e.string();break;case 3:o.value=e.string();break;case 4:o.idempotent_id=e.string();break;default:e.skipType(7&r)}}return o},e}(),e.ModifyPropertyBody=function(){function e(e){if(this.modify_property_content=[],e)for(var t=Object.keys(e),n=0;n>>3){case 1:o.conversation_id=e.string();break;case 2:o.conversation_type=e.int32();break;case 3:o.conversation_short_id=e.int64();break;case 4:o.server_message_id=e.int64();break;case 5:o.client_message_id=e.string();break;case 6:o.modify_property_content&&o.modify_property_content.length||(o.modify_property_content=[]),o.modify_property_content.push(l.im_proto.ModifyPropertyContent.decode(e,e.uint32()));break;default:e.skipType(7&r)}}return o},e}(),e.ModifyMessagePropertyRequestBody=function(){function e(e){if(e)for(var t=Object.keys(e),n=0;n>>3){case 1:o.property_list=l.im_proto.ModifyPropertyBody.decode(e,e.uint32());break;case 2:o.ticket=e.string();break;default:e.skipType(7&r)}}return o},e}(),e.ModifyMessagePropertyResponseBody=function(){function e(e){if(e)for(var t=Object.keys(e),n=0;n>>3){case 1:o.status=e.int32();break;case 2:o.version=e.int64();break;default:e.skipType(7&r)}}return o},e}(),e.AckMessageRequestBody=function(){function e(e){if(e)for(var t=Object.keys(e),n=0;n>>3){case 1:o.start_timestamp=e.int64();break;case 2:o.id=e.string();break;case 3:o.conv_type=e.int32();break;case 4:o.msg_type=e.int32();break;case 5:o.push_type=e.int32();break;case 6:o.cmd=e.int32();break;default:e.skipType(7&r)}}if(!o.hasOwnProperty("start_timestamp"))throw c.ProtocolError("missing required 'start_timestamp'",{instance:o});if(!o.hasOwnProperty("id"))throw c.ProtocolError("missing required 'id'",{instance:o});return o},e}(),e.AckMessageResponseBody=function(){function e(e){if(e)for(var t=Object.keys(e),n=0;n>>3==1?o.backend_e2e_latency=e.int64():e.skipType(7&r)}return o},e}(),e.GetUploadTokenRequestBody=function(){function e(e){if(e)for(var t=Object.keys(e),n=0;n>>3){case 1:o.vsdk_version=e.string();break;case 2:o.token_type=e.int32();break;default:e.skipType(7&r)}}return o},e}(),e.GetUploadTokenResponseBody=function(){function e(e){if(this.hosts=[],e)for(var t=Object.keys(e),n=0;n>>3){case 1:o.access_key=e.string();break;case 2:o.hosts&&o.hosts.length||(o.hosts=[]),o.hosts.push(e.string());break;case 3:o.token=e.string();break;case 4:o.token_type=e.int32();break;case 5:o.secret_access_key=e.string();break;case 6:o.space_name=e.string();break;case 7:o.service_id=e.string();break;case 8:o.expire_time=e.string();break;case 9:o.current_time=e.string();break;default:e.skipType(7&r)}}return o},e}(),e.ImgOption=function(){function e(e){if(this.params=[],this.urls=[],e)for(var t=Object.keys(e),n=0;n>>3){case 1:o.tplv=e.string();break;case 2:o.params&&o.params.length||(o.params=[]),o.params.push(e.string());break;case 3:o.format=e.string();break;case 100:o.urls&&o.urls.length||(o.urls=[]),o.urls.push(e.string());break;default:e.skipType(7&r)}}return o},e}(),e.VideoOption=function(){function e(e){if(this.urls=[],this.cover_urls=[],e)for(var t=Object.keys(e),n=0;n>>3){case 1:o.vid=e.string();break;case 2:o.cover_uri=e.string();break;case 100:o.urls&&o.urls.length||(o.urls=[]),o.urls.push(e.string());break;case 101:o.cover_urls&&o.cover_urls.length||(o.cover_urls=[]),o.cover_urls.push(e.string());break;default:e.skipType(7&r)}}return o},e}(),e.AudioOption=function(){function e(e){if(this.urls=[],e)for(var t=Object.keys(e),n=0;n>>3){case 1:o.vid=e.string();break;case 100:o.urls&&o.urls.length||(o.urls=[]),o.urls.push(e.string());break;default:e.skipType(7&r)}}return o},e}(),e.FileOption=function(){function e(e){if(this.urls=[],e)for(var t=Object.keys(e),n=0;n>>3==100?(o.urls&&o.urls.length||(o.urls=[]),o.urls.push(e.string())):e.skipType(7&r)}return o},e}(),e.GetMediaUrlsRequestBody=function(){function e(e){if(this.img_options=[],this.video_options=[],this.audio_options=[],this.file_options=[],e)for(var t=Object.keys(e),n=0;n>>3){case 1:o.source_appid=e.int32();break;case 2:o.uri=e.string();break;case 3:o.media_type=e.int32();break;case 4:o.encrypted=e.bool();break;case 5:o.img_options&&o.img_options.length||(o.img_options=[]),o.img_options.push(l.im_proto.ImgOption.decode(e,e.uint32()));break;case 6:o.video_options&&o.video_options.length||(o.video_options=[]),o.video_options.push(l.im_proto.VideoOption.decode(e,e.uint32()));break;case 7:o.audio_options&&o.audio_options.length||(o.audio_options=[]),o.audio_options.push(l.im_proto.AudioOption.decode(e,e.uint32()));break;case 8:o.file_options&&o.file_options.length||(o.file_options=[]),o.file_options.push(l.im_proto.FileOption.decode(e,e.uint32()));break;case 9:o.encrypted_uri=e.string();break;case 10:o.read_url_from=e.int32();break;default:e.skipType(7&r)}}return o},e}(),e.GetMediaUrlsResponseBody=function(){function e(e){if(this.img_options=[],this.video_options=[],this.audio_options=[],this.file_options=[],this.encrypted_urls=[],e)for(var t=Object.keys(e),n=0;n>>3){case 1:o.uri=e.string();break;case 2:o.media_type=e.int32();break;case 3:o.img_options&&o.img_options.length||(o.img_options=[]),o.img_options.push(l.im_proto.ImgOption.decode(e,e.uint32()));break;case 4:o.video_options&&o.video_options.length||(o.video_options=[]),o.video_options.push(l.im_proto.VideoOption.decode(e,e.uint32()));break;case 5:o.audio_options&&o.audio_options.length||(o.audio_options=[]),o.audio_options.push(l.im_proto.AudioOption.decode(e,e.uint32()));break;case 6:o.file_options&&o.file_options.length||(o.file_options=[]),o.file_options.push(l.im_proto.FileOption.decode(e,e.uint32()));break;case 7:o.encrypted_urls&&o.encrypted_urls.length||(o.encrypted_urls=[]),o.encrypted_urls.push(e.string());break;default:e.skipType(7&r)}}return o},e}(),e.VcdConversation=function(){function e(e){if(e)for(var t=Object.keys(e),n=0;n>>3){case 1:o.conversation_id=e.string();break;case 2:o.conversation_short_id=e.int64();break;case 3:o.conversation_type=e.int32();break;case 4:o.vcd_version=e.int64();break;default:e.skipType(7&r)}}return o},e}(),e.VcdCleanRequestBody=function(){function e(e){if(this.local_conversations=[],e)for(var t=Object.keys(e),n=0;n>>3==1?(o.local_conversations&&o.local_conversations.length||(o.local_conversations=[]),o.local_conversations.push(l.im_proto.VcdConversation.decode(e,e.uint32()))):e.skipType(7&r)}return o},e}(),e.VcdCleanResponseBody=function(){function e(e){if(this.server_conversations=[],e)for(var t=Object.keys(e),n=0;n>>3==1?(o.server_conversations&&o.server_conversations.length||(o.server_conversations=[]),o.server_conversations.push(l.im_proto.VcdConversation.decode(e,e.uint32()))):e.skipType(7&r)}return o},e}(),e.GetTicketRequestBody=function(){function e(e){if(this.ext={},e)for(var t=Object.keys(e),n=0;n>>3){case 1:i.ticket_type=e.int32();break;case 2:i.conversation_type=e.int32();break;case 4:i.to_id=e.int64();break;case 5:i.conversation_short_id=e.int64();break;case 10:i.ext===c.emptyObject&&(i.ext={});var a=e.uint32()+e.pos;for(n="",o="";e.pos>>3){case 1:n=e.string();break;case 2:o=e.string();break;default:e.skipType(7&g)}}i.ext[n]=o;break;case 6:i.customed_conversation_type=e.int32();break;default:e.skipType(7&s)}}return i},e}(),e.GetTicketResponseBody=function(){function e(e){if(e)for(var t=Object.keys(e),n=0;n>>3==1?o.ticket=e.string():e.skipType(7&r)}return o},e}(),e.GetUserConversationListRequestBody=function(){function e(e){if(this.include_multiple_roles=[],e)for(var t=Object.keys(e),n=0;n>>3){case 1:o.sort_type=e.int32();break;case 2:o.cursor=e.int64();break;case 3:o.con_type=e.int32();break;case 4:o.limit=e.int64();break;case 5:o.include_role=e.int32();break;case 6:o.exclude_role=e.int32();break;case 7:o.include_removed_group=e.bool();break;case 8:o.with_cold=e.bool();break;case 9:o.customed_con_type=e.int32();break;case 10:if(o.include_multiple_roles&&o.include_multiple_roles.length||(o.include_multiple_roles=[]),2==(7&r))for(var i=e.uint32()+e.pos;e.pos>>3){case 1:o.list&&o.list.length||(o.list=[]),o.list.push(l.im_proto.ConversationInfoV2.decode(e,e.uint32()));break;case 2:o.has_more=e.bool();break;case 3:o.next_cursor=e.int64();break;default:e.skipType(7&r)}}return o},e}(),e.BroadcastSendMessageRequestBody=function(){function e(e){if(this.ext={},this.mentioned_users=[],e)for(var t=Object.keys(e),n=0;n>>3){case 1:i.conversation_id=e.string();break;case 2:i.conversation_type=e.int32();break;case 3:i.conversation_short_id=e.int64();break;case 4:i.content=e.string();break;case 5:i.ext===c.emptyObject&&(i.ext={});var a=e.uint32()+e.pos;for(n="",o="";e.pos>>3){case 1:n=e.string();break;case 2:o=e.string();break;default:e.skipType(7&g)}}i.ext[n]=o;break;case 6:i.message_type=e.int32();break;case 7:i.ticket=e.string();break;case 8:i.client_message_id=e.string();break;case 9:if(i.mentioned_users&&i.mentioned_users.length||(i.mentioned_users=[]),2==(7&s))for(a=e.uint32()+e.pos;e.pos>>3){case 1:o.server_message_id=e.int64();break;case 2:o.extra_info=e.string();break;case 3:o.status=e.int32();break;case 4:o.client_message_id=e.string();break;case 5:o.check_code=e.int64();break;case 6:o.check_message=e.string();break;case 7:o.filtered_content=e.string();break;default:e.skipType(7&r)}}return o},e}(),e.BroadcastRecvMessageRequestBody=function(){function e(e){if(e)for(var t=Object.keys(e),n=0;n>>3){case 1:o.conversation_id=e.string();break;case 2:o.conversation_type=e.int32();break;case 3:o.conversation_short_id=e.int64();break;case 4:o.cursor=e.int64();break;case 5:o.limit=e.int64();break;case 6:o.reverse=e.bool();break;case 7:o.pull_type=e.int32();break;default:e.skipType(7&r)}}return o},e}(),e.BroadcastRecvMessageResponseBody=function(){function e(e){if(this.messages=[],e)for(var t=Object.keys(e),n=0;n>>3){case 1:o.messages&&o.messages.length||(o.messages=[]),o.messages.push(l.im_proto.MessageBody.decode(e,e.uint32()));break;case 2:o.has_more=e.bool();break;case 3:o.next_cursor=e.int64();break;default:e.skipType(7&r)}}return o},e}(),e.ConversationRequest=function(){function e(e){if(e)for(var t=Object.keys(e),n=0;n>>3){case 1:o.conversation_short_id=e.int64();break;case 2:o.conversation_type=e.int32();break;default:e.skipType(7&r)}}return o},e}(),e.BroadcastUserCounterRequestBody=function(){function e(e){if(this.conversations=[],e)for(var t=Object.keys(e),n=0;n>>3==1?(o.conversations&&o.conversations.length||(o.conversations=[]),o.conversations.push(l.im_proto.ConversationRequest.decode(e,e.uint32()))):e.skipType(7&r)}return o},e}(),e.BroadcastUserInfo=function(){function e(e){if(e)for(var t=Object.keys(e),n=0;n>>3){case 1:o.conversation_short_id=e.int64();break;case 2:o.counter=e.int32();break;case 3:o.conversation_type=e.int32();break;default:e.skipType(7&r)}}return o},e}(),e.BroadcastUserCounterResponseBody=function(){function e(e){if(this.infos=[],e)for(var t=Object.keys(e),n=0;n>>3==1?(o.infos&&o.infos.length||(o.infos=[]),o.infos.push(l.im_proto.BroadcastUserInfo.decode(e,e.uint32()))):e.skipType(7&r)}return o},e}(),e.ClientACKRequestBody=function(){function e(e){if(e)for(var t=Object.keys(e),n=0;n>>3){case 1:o.start_time_stamp=e.int64();break;case 2:o.cmd=e.int32();break;case 3:o.network_type=e.int32();break;case 4:o.logid=e.string();break;case 5:o.client_time_stamp=e.int64();break;case 6:o.server_message_id=e.int64();break;case 7:o.type=e.int32();break;default:e.skipType(7&r)}}if(!o.hasOwnProperty("start_time_stamp"))throw c.ProtocolError("missing required 'start_time_stamp'",{instance:o});if(!o.hasOwnProperty("cmd"))throw c.ProtocolError("missing required 'cmd'",{instance:o});if(!o.hasOwnProperty("type"))throw c.ProtocolError("missing required 'type'",{instance:o});return o},e}(),e.ClientBatchACKRequestBody=function(){function e(e){if(this.ack_list=[],e)for(var t=Object.keys(e),n=0;n>>3==1?(o.ack_list&&o.ack_list.length||(o.ack_list=[]),o.ack_list.push(l.im_proto.ClientACKRequestBody.decode(e,e.uint32()))):e.skipType(7&r)}return o},e}(),e.ClientACKResponseBody=function(){function e(e){if(e)for(var t=Object.keys(e),n=0;n>>3){case 1:o.user_id=e.int64();break;case 2:o.device_id=e.string();break;case 3:o.channel_id=e.string();break;case 4:o.token=e.string();break;case 5:o.status=e.int32();break;case 6:o.caller_id=e.int64();break;case 7:o.created_time_ms=e.int64();break;case 8:o.updated_time_ms=e.int64();break;case 9:o.con_short_id=e.int64();break;case 10:o.v_type=e.int32();break;case 11:o.srv_msg_id=e.int64();break;default:e.skipType(7&r)}}return o},e}(),e.CreateVoipRequestBody=function(){function e(e){if(e)for(var t=Object.keys(e),n=0;n>>3){case 1:o.idempotent_id=e.string();break;case 2:o.v_type=e.int32();break;case 3:o.con_short_id=e.int64();break;case 4:o.srv_msg_id=e.int64();break;case 5:o.ref_channel_id=e.string();break;case 6:o.voip_mode=e.int32();break;default:e.skipType(7&r)}}return o},e}(),e.CreateVoipResponseBody=function(){function e(e){if(e)for(var t=Object.keys(e),n=0;n>>3){case 1:o.info=l.im_proto.VoipInfo.decode(e,e.uint32());break;case 2:o.status_code=e.int32();break;case 3:o.voip_mode=e.int32();break;default:e.skipType(7&r)}}return o},e}(),e.CallVoipRequestBody=function(){function e(e){if(this.callee_ids=[],this.ext={},this.ref_channel_users=[],e)for(var t=Object.keys(e),n=0;n>>3){case 1:if(i.callee_ids&&i.callee_ids.length||(i.callee_ids=[]),2==(7&s))for(var a=e.uint32()+e.pos;e.pos>>3){case 1:n=e.string();break;case 2:o=e.string();break;default:e.skipType(7&g)}}i.ext[n]=o;break;case 5:if(i.ref_channel_users&&i.ref_channel_users.length||(i.ref_channel_users=[]),2==(7&s))for(a=e.uint32()+e.pos;e.pos>>3){case 1:o.info=l.im_proto.VoipInfo.decode(e,e.uint32());break;case 2:if(o.callee_ids&&o.callee_ids.length||(o.callee_ids=[]),2==(7&r))for(var i=e.uint32()+e.pos;e.pos>>3){case 1:o.channel_id=e.string();break;case 2:o.status=e.int32();break;case 3:o.v_type=e.int32();break;default:e.skipType(7&r)}}return o},e}(),e.UpdateVoipResponseBody=function(){function e(e){if(this.callees=[],e)for(var t=Object.keys(e),n=0;n>>3){case 1:o.info=l.im_proto.VoipInfo.decode(e,e.uint32());break;case 2:o.status_code=e.int32();break;case 3:o.voip_mode=e.int32();break;case 4:if(o.callees&&o.callees.length||(o.callees=[]),2==(7&r))for(var i=e.uint32()+e.pos;e.pos>>3){case 1:o.con_short_id=e.int64();break;case 2:o.channel_id=e.string();break;default:e.skipType(7&r)}}return o},e}(),e.JoinVoipResponseBody=function(){function e(e){if(e)for(var t=Object.keys(e),n=0;n>>3){case 1:o.info=l.im_proto.VoipInfo.decode(e,e.uint32());break;case 2:o.status=e.int32();break;case 3:o.check_code=e.int64();break;case 4:o.check_message=e.string();break;default:e.skipType(7&r)}}return o},e}(),e.ChannelHeartBeatRequestBody=function(){function e(e){if(e)for(var t=Object.keys(e),n=0;n>>3==1?o.channel_id=e.string():e.skipType(7&r)}return o},e}(),e.ChannelHeartBeatResponseBody=function(){function e(e){if(e)for(var t=Object.keys(e),n=0;n>>3){case 1:o.nick_name=e.string();break;case 2:o.protrait=e.string();break;case 3:o.basic_ext_info=e.string();break;case 4:o.detail_ext_info=e.string();break;case 5:o.uid=e.int64();break;default:e.skipType(7&r)}}return o},e}(),e.ProfileGetInfoRequestBody=function(){function e(e){if(e)for(var t=Object.keys(e),n=0;n>>3){case 1:o.userid=e.int64();break;case 2:o.from_source=e.bool();break;default:e.skipType(7&r)}}if(!o.hasOwnProperty("userid"))throw c.ProtocolError("missing required 'userid'",{instance:o});return o},e}(),e.ProfileGetInfoResponseBody=function(){function e(e){if(e)for(var t=Object.keys(e),n=0;n>>3==1?o.profile=l.im_proto.Profile.decode(e,e.uint32()):e.skipType(7&r)}return o},e}(),e.ClientMetric=function(){function e(e){if(this.tags={},e)for(var t=Object.keys(e),n=0;n>>3){case 1:i.metric_type=e.int32();break;case 2:i.k=e.string();break;case 3:i.v=e.int64();break;case 4:i.tags===c.emptyObject&&(i.tags={});var a=e.uint32()+e.pos;for(n="",o="";e.pos>>3){case 1:n=e.string();break;case 2:o=e.string();break;default:e.skipType(7&g)}}i.tags[n]=o;break;default:e.skipType(7&s)}}return i},e}(),e.ReportClientMetricsRequestBody=function(){function e(e){if(this.report_metrics_list=[],e)for(var t=Object.keys(e),n=0;n>>3==1?(o.report_metrics_list&&o.report_metrics_list.length||(o.report_metrics_list=[]),o.report_metrics_list.push(l.im_proto.ClientMetric.decode(e,e.uint32()))):e.skipType(7&r)}return o},e}(),e.ReportClientMetricsResponseBody=function(){function e(e){if(e)for(var t=Object.keys(e),n=0;n>>3){case 1:i.conversation_short_id=e.int64();break;case 2:i.message_id=e.int64();break;case 3:i.ticket=e.string();break;case 4:i.ext===c.emptyObject&&(i.ext={});var a=e.uint32()+e.pos;for(n="",o="";e.pos>>3){case 1:n=e.string();break;case 2:o=e.string();break;default:e.skipType(7&g)}}i.ext[n]=o;break;default:e.skipType(7&s)}}if(!i.hasOwnProperty("conversation_short_id"))throw c.ProtocolError("missing required 'conversation_short_id'",{instance:i});if(!i.hasOwnProperty("message_id"))throw c.ProtocolError("missing required 'message_id'",{instance:i});if(!i.hasOwnProperty("ticket"))throw c.ProtocolError("missing required 'ticket'",{instance:i});return i},e}(),e.ModifyMessageExtResponseBody=function(){function e(e){if(e)for(var t=Object.keys(e),n=0;n>>3){case 1:i.user_id=e.int64();break;case 2:i.conv_short_id=e.int64();break;case 3:i.conversation_type=e.int32();break;case 4:i.apply_status=e.int32();break;case 5:i.apply_id=e.int64();break;case 6:i.create_time=e.int64();break;case 7:i.modify_time=e.int64();break;case 8:i.modify_user=e.int64();break;case 9:i.sec_uid=e.string();break;case 10:i.invite_user_id=e.int64();break;case 11:i.sec_invite_uid=e.string();break;case 12:i.ext===c.emptyObject&&(i.ext={});var a=e.uint32()+e.pos;for(n="",o="";e.pos>>3){case 1:n=e.string();break;case 2:o=e.string();break;default:e.skipType(7&g)}}i.ext[n]=o;break;case 13:i.apply_reason=e.string();break;default:e.skipType(7&s)}}return i},e}(),e.GetConversationAuditSwitchRequestBody=function(){function e(e){if(e)for(var t=Object.keys(e),n=0;n>>3){case 1:o.conv_short_id=e.int64();break;case 2:o.conversation_type=e.int32();break;default:e.skipType(7&r)}}return o},e}(),e.GetConversationAuditSwitchResponseBody=function(){function e(e){if(e)for(var t=Object.keys(e),n=0;n>>3==1?o.switch_status=e.bool():e.skipType(7&r)}return o},e}(),e.UpdateConversationAuditSwitchRequestBody=function(){function e(e){if(e)for(var t=Object.keys(e),n=0;n>>3){case 1:o.conv_short_id=e.int64();break;case 2:o.conversation_type=e.int32();break;case 3:o.switch_status=e.bool();break;default:e.skipType(7&r)}}return o},e}(),e.UpdateConversationAuditSwitchResponseBody=function(){function e(e){if(e)for(var t=Object.keys(e),n=0;n>>3){case 1:o.switch_status=e.bool();break;case 2:o.status=e.int32();break;case 3:o.check_code=e.int64();break;case 4:o.check_message=e.string();break;default:e.skipType(7&r)}}return o},e}(),e.SendConversationApplyRequestBody=function(){function e(e){if(this.bizExt={},this.invited_user_ids=[],e)for(var t=Object.keys(e),n=0;n>>3){case 1:i.conv_short_id=e.int64();break;case 2:i.conversation_type=e.int32();break;case 3:i.bizExt===c.emptyObject&&(i.bizExt={});var a=e.uint32()+e.pos;for(n="",o="";e.pos>>3){case 1:n=e.string();break;case 2:o=e.string();break;default:e.skipType(7&g)}}i.bizExt[n]=o;break;case 4:i.invite_user_id=e.int64();break;case 5:if(i.invited_user_ids&&i.invited_user_ids.length||(i.invited_user_ids=[]),2==(7&s))for(a=e.uint32()+e.pos;e.pos>>3){case 1:i.status=e.int32();break;case 2:i.check_code=e.int64();break;case 3:i.check_message=e.string();break;case 4:if(i.success_users&&i.success_users.length||(i.success_users=[]),2==(7&s))for(var a=e.uint32()+e.pos;e.pos>>3){case 1:n=e.string();break;case 2:o=e.string();break;default:e.skipType(7&g)}}i.biz_ext[n]=o;break;default:e.skipType(7&s)}}return i},e}(),e.AckConversationApplyRequestBody=function(){function e(e){if(this.bizExt={},e)for(var t=Object.keys(e),n=0;n>>3){case 1:i.apply_id=e.int64();break;case 2:i.apply_status=e.int32();break;case 3:i.bizExt===c.emptyObject&&(i.bizExt={});var a=e.uint32()+e.pos;for(n="",o="";e.pos>>3){case 1:n=e.string();break;case 2:o=e.string();break;default:e.skipType(7&g)}}i.bizExt[n]=o;break;default:e.skipType(7&s)}}return i},e}(),e.AckConversationApplyResponseBody=function(){function e(e){if(e)for(var t=Object.keys(e),n=0;n>>3){case 1:o.apply_info=l.im_proto.ConversationApplyInfo.decode(e,e.uint32());break;case 2:o.status=e.int32();break;case 3:o.check_code=e.int64();break;case 4:o.check_message=e.string();break;default:e.skipType(7&r)}}return o},e}(),e.GetConversationApplyRequestBody=function(){function e(e){if(e)for(var t=Object.keys(e),n=0;n>>3){case 1:o.user_id=e.int64();break;case 2:o.conv_short_id=e.int64();break;case 3:o.conversation_type=e.int32();break;default:e.skipType(7&r)}}return o},e}(),e.GetConversationApplyResponseBody=function(){function e(e){if(e)for(var t=Object.keys(e),n=0;n>>3==1?o.apply_info=l.im_proto.ConversationApplyInfo.decode(e,e.uint32()):e.skipType(7&r)}return o},e}(),e.GetConversationAuditListRequestBody=function(){function e(e){if(e)for(var t=Object.keys(e),n=0;n>>3){case 1:o.cursor=e.int64();break;case 2:o.limit=e.int32();break;case 3:o.conv_short_id=e.int64();break;case 4:o.no_clear_unread=e.bool();break;default:e.skipType(7&r)}}return o},e}(),e.GetConversationAuditListResponseBody=function(){function e(e){if(this.apply_info_list=[],e)for(var t=Object.keys(e),n=0;n>>3){case 1:o.apply_info_list&&o.apply_info_list.length||(o.apply_info_list=[]),o.apply_info_list.push(l.im_proto.ConversationApplyInfo.decode(e,e.uint32()));break;case 2:o.next_cursor=e.int64();break;case 3:o.has_more=e.bool();break;default:e.skipType(7&r)}}return o},e}(),e.GetConversationAuditUnreadRequestBody=function(){function e(e){if(e)for(var t=Object.keys(e),n=0;n>>3){case 1:o.unread_count=e.int64();break;case 2:o.last_apply_info=l.im_proto.ConversationApplyInfo.decode(e,e.uint32());break;default:e.skipType(7&r)}}return o},e}(),e.BatchGetConversationAuditUnreadRequestBody=function(){function e(e){if(this.conv_short_id=[],e)for(var t=Object.keys(e),n=0;n>>3==1)if(o.conv_short_id&&o.conv_short_id.length||(o.conv_short_id=[]),2==(7&r))for(var i=e.uint32()+e.pos;e.pos>>3==1){i.unread_count===c.emptyObject&&(i.unread_count={});var a=e.uint32()+e.pos;for(n=0,o=0;e.pos>>3){case 1:n=e.int64();break;case 2:o=e.int64();break;default:e.skipType(7&g)}}i.unread_count["object"==typeof n?c.longToHash(n):n]=o}else e.skipType(7&s)}return i},e}(),e.ClearConversationAuditUnreadRequestBody=function(){function e(e){if(e)for(var t=Object.keys(e),n=0;n>>3==1?o.conv_short_id=e.int64():e.skipType(7&r)}return o},e}(),e.ClearConversationAuditUnreadResponseBody=function(){function e(e){if(e)for(var t=Object.keys(e),n=0;n>>3){case 1:o.status=e.int32();break;case 2:o.body=l.im_proto.MessageBody.decode(e,e.uint32());break;default:e.skipType(7&r)}}return o},e}(),e.GetMessageInfoByIndexV2RequestBody=function(){function e(e){if(this.index_in_conversation_v2=[],e)for(var t=Object.keys(e),n=0;n>>3){case 1:o.conversation_id=e.string();break;case 2:o.conversation_type=e.int32();break;case 3:o.conversation_short_id=e.int64();break;case 4:if(o.index_in_conversation_v2&&o.index_in_conversation_v2.length||(o.index_in_conversation_v2=[]),2==(7&r))for(var i=e.uint32()+e.pos;e.pos>>3==1){i.infos===c.emptyObject&&(i.infos={});var a=e.uint32()+e.pos;for(n=0,o=null;e.pos>>3){case 1:n=e.int64();break;case 2:o=l.im_proto.MessageInfo.decode(e,e.uint32());break;default:e.skipType(7&g)}}i.infos["object"==typeof n?c.longToHash(n):n]=o}else e.skipType(7&s)}return i},e}(),e.GetMessageByIdRequestBody=function(){function e(e){if(e)for(var t=Object.keys(e),n=0;n>>3){case 1:o.conversation_id=e.string();break;case 2:o.conversation_type=e.int32();break;case 3:o.conversation_short_id=e.int64();break;case 4:o.server_message_id=e.int64();break;default:e.skipType(7&r)}}return o},e}(),e.GetMessageByIdResponseBody=function(){function e(e){if(e)for(var t=Object.keys(e),n=0;n>>3==1?o.msg_info=l.im_proto.MessageInfo.decode(e,e.uint32()):e.skipType(7&r)}return o},e}(),e.PreviewerMessagesInConversationRequestBody=function(){function e(e){if(e)for(var t=Object.keys(e),n=0;n>>3){case 1:o.conversation_id=e.string();break;case 2:o.conversation_type=e.int32();break;case 3:o.conversation_short_id=e.int64();break;case 4:o.direction=e.int32();break;case 5:o.anchor_index=e.int64();break;case 6:o.limit=e.int32();break;default:e.skipType(7&r)}}return o},e}(),e.PreviewerMessagesInConversationResponseBody=function(){function e(e){if(this.messages=[],e)for(var t=Object.keys(e),n=0;n>>3){case 1:o.messages&&o.messages.length||(o.messages=[]),o.messages.push(l.im_proto.MessageBody.decode(e,e.uint32()));break;case 2:o.next_cursor=e.int64();break;case 3:o.has_more=e.bool();break;case 4:o.status=e.int32();break;case 5:o.check_code=e.int64();break;case 6:o.check_message=e.string();break;default:e.skipType(7&r)}}return o},e}(),e.ConversationRecentMessage=function(){function e(e){if(this.messages=[],this.ext_messages=[],e)for(var t=Object.keys(e),n=0;n>>3){case 1:o.conversation_short_id=e.int64();break;case 2:o.messages&&o.messages.length||(o.messages=[]),o.messages.push(l.im_proto.MessageBody.decode(e,e.uint32()));break;case 3:o.version=e.int64();break;case 4:o.badge_count=e.int32();break;case 5:o.conversation_id=e.string();break;case 6:o.ext_messages&&o.ext_messages.length||(o.ext_messages=[]),o.ext_messages.push(l.im_proto.MessageBody.decode(e,e.uint32()));break;default:e.skipType(7&r)}}if(!o.hasOwnProperty("conversation_short_id"))throw c.ProtocolError("missing required 'conversation_short_id'",{instance:o});if(!o.hasOwnProperty("version"))throw c.ProtocolError("missing required 'version'",{instance:o});if(!o.hasOwnProperty("conversation_id"))throw c.ProtocolError("missing required 'conversation_id'",{instance:o});return o},e}(),e.GetRecentMessageReqBody=function(){function e(e){if(e)for(var t=Object.keys(e),n=0;n>>3){case 1:o.conversation_version=e.int64();break;case 2:o.source=e.string();break;case 3:o.new_user=e.int32();break;default:e.skipType(7&r)}}if(!o.hasOwnProperty("conversation_version"))throw c.ProtocolError("missing required 'conversation_version'",{instance:o});if(!o.hasOwnProperty("source"))throw c.ProtocolError("missing required 'source'",{instance:o});return o},e}(),e.GetCmdMessageReqBody=function(){function e(e){if(e)for(var t=Object.keys(e),n=0;n>>3){case 1:o.cmd_index=e.int64();break;case 2:o.source=e.string();break;case 3:o.new_user=e.int32();break;default:e.skipType(7&r)}}if(!o.hasOwnProperty("cmd_index"))throw c.ProtocolError("missing required 'cmd_index'",{instance:o});if(!o.hasOwnProperty("source"))throw c.ProtocolError("missing required 'source'",{instance:o});return o},e}(),e.GetRecentMessageRespBody=function(){function e(e){if(this.messages=[],e)for(var t=Object.keys(e),n=0;n>>3){case 1:o.next_conversation_version=e.int64();break;case 2:o.messages&&o.messages.length||(o.messages=[]),o.messages.push(l.im_proto.ConversationRecentMessage.decode(e,e.uint32()));break;case 3:o.has_more=e.bool();break;default:e.skipType(7&r)}}if(!o.hasOwnProperty("next_conversation_version"))throw c.ProtocolError("missing required 'next_conversation_version'",{instance:o});if(!o.hasOwnProperty("has_more"))throw c.ProtocolError("missing required 'has_more'",{instance:o});return o},e}(),e.GetCmdMessageRespBody=function(){function e(e){if(this.messages=[],e)for(var t=Object.keys(e),n=0;n>>3){case 1:o.messages&&o.messages.length||(o.messages=[]),o.messages.push(l.im_proto.MessageBody.decode(e,e.uint32()));break;case 2:o.has_more=e.bool();break;case 3:o.next_cmd_index=e.int64();break;case 4:o.next_user_message_cursor=e.int64();break;default:e.skipType(7&r)}}if(!o.hasOwnProperty("has_more"))throw c.ProtocolError("missing required 'has_more'",{instance:o});return o},e}(),e.GetMessageInfoByIndexV2RangeRequestBody=function(){function e(e){if(e)for(var t=Object.keys(e),n=0;n>>3){case 1:o.conversation_id=e.string();break;case 2:o.conversation_type=e.int32();break;case 3:o.conversation_short_id=e.int64();break;case 4:o.min_index_in_conversation_v2=e.int64();break;case 5:o.max_index_in_conversation_v2=e.int64();break;case 6:o.direction=e.int32();break;default:e.skipType(7&r)}}if(!o.hasOwnProperty("min_index_in_conversation_v2"))throw c.ProtocolError("missing required 'min_index_in_conversation_v2'",{instance:o});if(!o.hasOwnProperty("max_index_in_conversation_v2"))throw c.ProtocolError("missing required 'max_index_in_conversation_v2'",{instance:o});return o},e}(),e.GetMessageInfoByIndexV2RangeResponseBody=function(){function e(e){if(this.infos=[],e)for(var t=Object.keys(e),n=0;n>>3){case 1:o.infos&&o.infos.length||(o.infos=[]),o.infos.push(l.im_proto.MessageInfo.decode(e,e.uint32()));break;case 2:o.next_index_in_conversation_v2=e.int64();break;case 3:o.has_more=e.bool();break;default:e.skipType(7&r)}}return o},e}(),e.MessageByInitRequestBody=function(){function e(e){if(e)for(var t=Object.keys(e),n=0;n>>3==1?o.version=e.int64():e.skipType(7&r)}return o},e}(),e.MessageByInitResponseBody=function(){function e(e){if(this.messages=[],e)for(var t=Object.keys(e),n=0;n>>3){case 1:o.messages&&o.messages.length||(o.messages=[]),o.messages.push(l.im_proto.ConversationMessage.decode(e,e.uint32()));break;case 2:o.has_more=e.bool();break;case 3:o.next_init_version=e.int64();break;case 4:o.version=e.int64();break;case 5:o.user_cursor=e.int64();break;case 6:o.cmd_index=e.int64();break;default:e.skipType(7&r)}}if(!o.hasOwnProperty("has_more"))throw c.ProtocolError("missing required 'has_more'",{instance:o});if(!o.hasOwnProperty("next_init_version"))throw c.ProtocolError("missing required 'next_init_version'",{instance:o});return o},e}(),e.ConversationMessage=function(){function e(e){if(this.messages=[],e)for(var t=Object.keys(e),n=0;n>>3){case 1:o.conversations=l.im_proto.ConversationInfoV2.decode(e,e.uint32());break;case 2:o.messages&&o.messages.length||(o.messages=[]),o.messages.push(l.im_proto.MessageBody.decode(e,e.uint32()));break;default:e.skipType(7&r)}}if(!o.hasOwnProperty("conversations"))throw c.ProtocolError("missing required 'conversations'",{instance:o});return o},e}(),e.SendFriendApplyRequestBody=function(){function e(e){if(this.ext={},e)for(var t=Object.keys(e),n=0;n>>3){case 1:i.user_id=e.int64();break;case 2:i.ext===c.emptyObject&&(i.ext={});var a=e.uint32()+e.pos;for(n="",o="";e.pos>>3){case 1:n=e.string();break;case 2:o=e.string();break;default:e.skipType(7&g)}}i.ext[n]=o;break;default:e.skipType(7&s)}}if(!i.hasOwnProperty("user_id"))throw c.ProtocolError("missing required 'user_id'",{instance:i});return i},e}(),e.SendFriendApplyResponseBody=function(){function e(e){if(e)for(var t=Object.keys(e),n=0;n>>3){case 1:o.status=e.int32();break;case 2:o.check_code=e.int64();break;case 3:o.check_message=e.string();break;default:e.skipType(7&r)}}return o},e}(),e.GetFriendApplyListRequestBody=function(){function e(e){if(e)for(var t=Object.keys(e),n=0;n>>3){case 1:o.cursor=e.int64();break;case 2:o.limit=e.int64();break;case 3:o.get_total_count=e.bool();break;case 4:o.status=e.int32();break;default:e.skipType(7&r)}}return o},e}(),e.ApplyUserInfo=function(){function e(e){if(this.ext={},e)for(var t=Object.keys(e),n=0;n>>3){case 1:i.user_id=e.int64();break;case 2:i.apply_time_second=e.int64();break;case 3:i.ext===c.emptyObject&&(i.ext={});var a=e.uint32()+e.pos;for(n="",o="";e.pos>>3){case 1:n=e.string();break;case 2:o=e.string();break;default:e.skipType(7&g)}}i.ext[n]=o;break;case 4:i.status=e.int32();break;case 5:i.profile=l.im_proto.Profile.decode(e,e.uint32());break;default:e.skipType(7&s)}}return i},e}(),e.GetFriendApplyListResponseBody=function(){function e(e){if(this.user_list=[],e)for(var t=Object.keys(e),n=0;n>>3){case 1:o.next_cursor=e.int64();break;case 2:o.has_more=e.bool();break;case 3:o.user_list&&o.user_list.length||(o.user_list=[]),o.user_list.push(l.im_proto.ApplyUserInfo.decode(e,e.uint32()));break;case 4:o.total_count=e.int64();break;default:e.skipType(7&r)}}return o},e}(),e.GetFriendReceiveApplyListRequestBody=function(){function e(e){if(e)for(var t=Object.keys(e),n=0;n>>3){case 1:o.cursor=e.int64();break;case 2:o.limit=e.int64();break;case 3:o.get_total_count=e.bool();break;case 4:o.status=e.int32();break;default:e.skipType(7&r)}}return o},e}(),e.GetFriendReceiveApplyListResponseBody=function(){function e(e){if(this.user_list=[],e)for(var t=Object.keys(e),n=0;n>>3){case 1:o.next_cursor=e.int64();break;case 2:o.has_more=e.bool();break;case 3:o.user_list&&o.user_list.length||(o.user_list=[]),o.user_list.push(l.im_proto.ApplyUserInfo.decode(e,e.uint32()));break;case 4:o.total_count=e.int64();break;default:e.skipType(7&r)}}return o},e}(),e.ReplyFriendApplyRequestBody=function(){function e(e){if(this.user_id=[],this.ext={},e)for(var t=Object.keys(e),n=0;n>>3){case 1:if(i.user_id&&i.user_id.length||(i.user_id=[]),2==(7&s))for(var a=e.uint32()+e.pos;e.pos>>3){case 1:n=e.string();break;case 2:o=e.string();break;default:e.skipType(7&g)}}i.ext[n]=o;break;default:e.skipType(7&s)}}return i},e}(),e.ReplyFriendApplyResponseBody=function(){function e(e){if(e)for(var t=Object.keys(e),n=0;n>>3){case 1:i.user_id=e.int64();break;case 2:i.apply_time_second=e.int64();break;case 3:i.ext===c.emptyObject&&(i.ext={});var a=e.uint32()+e.pos;for(n="",o="";e.pos>>3){case 1:n=e.string();break;case 2:o=e.string();break;default:e.skipType(7&g)}}i.ext[n]=o;break;case 4:i.profile=l.im_proto.Profile.decode(e,e.uint32());break;default:e.skipType(7&s)}}return i},e}(),e.GetFriendListRequestBody=function(){function e(e){if(e)for(var t=Object.keys(e),n=0;n>>3){case 1:o.cursor=e.int64();break;case 2:o.limit=e.int64();break;case 3:o.get_total_count=e.bool();break;default:e.skipType(7&r)}}return o},e}(),e.GetFriendListResponseBody=function(){function e(e){if(this.user_list=[],e)for(var t=Object.keys(e),n=0;n>>3){case 1:o.next_cursor=e.int64();break;case 2:o.has_more=e.bool();break;case 3:o.user_list&&o.user_list.length||(o.user_list=[]),o.user_list.push(l.im_proto.FriendUserInfo.decode(e,e.uint32()));break;case 4:o.total_count=e.int64();break;default:e.skipType(7&r)}}return o},e}(),e.DeleteFriendRequestBody=function(){function e(e){if(this.user_id=[],e)for(var t=Object.keys(e),n=0;n>>3==1)if(o.user_id&&o.user_id.length||(o.user_id=[]),2==(7&r))for(var i=e.uint32()+e.pos;e.pos>>3==1)if(o.userids&&o.userids.length||(o.userids=[]),2==(7&r))for(var i=e.uint32()+e.pos;e.pos>>3==1?(o.profiles&&o.profiles.length||(o.profiles=[]),o.profiles.push(l.im_proto.Profile.decode(e,e.uint32()))):e.skipType(7&r)}return o},e}(),e.ProfileSearchInfoRequestBody=function(){function e(e){if(e)for(var t=Object.keys(e),n=0;n>>3==1?o.search_key=e.string():e.skipType(7&r)}if(!o.hasOwnProperty("search_key"))throw c.ProtocolError("missing required 'search_key'",{instance:o});return o},e}(),e.ProfileSearchInfoResponseBody=function(){function e(e){if(this.profile=[],e)for(var t=Object.keys(e),n=0;n>>3==1?(o.profile&&o.profile.length||(o.profile=[]),o.profile.push(l.im_proto.Profile.decode(e,e.uint32()))):e.skipType(7&r)}return o},e}(),e.GlobalMessageSearchRequestBody=function(){function e(e){if(e)for(var t=Object.keys(e),n=0;n>>3){case 1:o.search_query=e.string();break;case 2:o.start_time=e.int64();break;case 3:o.end_time=e.int64();break;case 4:o.frag_size=e.int32();break;case 5:o.scroll_id=e.string();break;default:e.skipType(7&r)}}if(!o.hasOwnProperty("search_query"))throw c.ProtocolError("missing required 'search_query'",{instance:o});return o},e}(),e.GlobalMessageSearchResponseBody=function(){function e(e){if(this.conv_result=[],this.message_result=[],e)for(var t=Object.keys(e),n=0;n>>3){case 1:o.conv_result&&o.conv_result.length||(o.conv_result=[]),o.conv_result.push(l.im_proto.ConversationCoreInfo.decode(e,e.uint32()));break;case 2:o.message_result&&o.message_result.length||(o.message_result=[]),o.message_result.push(l.im_proto.MessageBody.decode(e,e.uint32()));break;case 3:o.has_more=e.bool();break;case 4:o.scroll_id=e.string();break;default:e.skipType(7&r)}}if(!o.hasOwnProperty("has_more"))throw c.ProtocolError("missing required 'has_more'",{instance:o});if(!o.hasOwnProperty("scroll_id"))throw c.ProtocolError("missing required 'scroll_id'",{instance:o});return o},e}(),e.ConversationCoreSearchQuery=function(){function e(e){if(this.ext_list=[],e)for(var t=Object.keys(e),n=0;n>>3){case 1:o.conv_short_id=e.int64();break;case 2:o.conv_name=e.string();break;case 3:o.conv_status=e.string();break;case 4:o.creat_start_time=e.int64();break;case 5:o.creat_end_time=e.int64();break;case 6:o.owner_id=e.int64();break;case 7:o.ext_list&&o.ext_list.length||(o.ext_list=[]),o.ext_list.push(e.string());break;default:e.skipType(7&r)}}return o},e}(),e.ConversationCoreSearchRequestBody=function(){function e(e){if(e)for(var t=Object.keys(e),n=0;n>>3){case 1:o.search_query=l.im_proto.ConversationCoreSearchQuery.decode(e,e.uint32());break;case 2:o.frag_size=e.int32();break;case 3:o.scroll_id=e.string();break;default:e.skipType(7&r)}}if(!o.hasOwnProperty("search_query"))throw c.ProtocolError("missing required 'search_query'",{instance:o});return o},e}(),e.ConversationCoreSearchResponseBody=function(){function e(e){if(this.conversations=[],e)for(var t=Object.keys(e),n=0;n>>3){case 1:o.conversations&&o.conversations.length||(o.conversations=[]),o.conversations.push(l.im_proto.ConversationCoreInfo.decode(e,e.uint32()));break;case 2:o.has_more=e.bool();break;case 3:o.scroll_id=e.string();break;case 4:o.total_count=e.int64();break;default:e.skipType(7&r)}}if(!o.hasOwnProperty("has_more"))throw c.ProtocolError("missing required 'has_more'",{instance:o});if(!o.hasOwnProperty("scroll_id"))throw c.ProtocolError("missing required 'scroll_id'",{instance:o});return o},e}(),e.ConversationMessageSearchRequestBody=function(){function e(e){if(e)for(var t=Object.keys(e),n=0;n>>3){case 1:o.search_query=e.string();break;case 2:o.conv_short_id=e.int64();break;case 3:o.start_time=e.int64();break;case 4:o.end_time=e.int64();break;case 5:o.frag_size=e.int32();break;case 6:o.scroll_id=e.string();break;default:e.skipType(7&r)}}if(!o.hasOwnProperty("search_query"))throw c.ProtocolError("missing required 'search_query'",{instance:o});if(!o.hasOwnProperty("conv_short_id"))throw c.ProtocolError("missing required 'conv_short_id'",{instance:o});return o},e}(),e.ConversationMessageSearchResponseBody=function(){function e(e){if(this.message_result=[],e)for(var t=Object.keys(e),n=0;n>>3){case 1:o.message_result&&o.message_result.length||(o.message_result=[]),o.message_result.push(l.im_proto.MessageBody.decode(e,e.uint32()));break;case 2:o.has_more=e.bool();break;case 3:o.scroll_id=e.string();break;default:e.skipType(7&r)}}if(!o.hasOwnProperty("has_more"))throw c.ProtocolError("missing required 'has_more'",{instance:o});if(!o.hasOwnProperty("scroll_id"))throw c.ProtocolError("missing required 'scroll_id'",{instance:o});return o},e}(),e.ConversationMessagePreViewRequestBody=function(){function e(e){if(e)for(var t=Object.keys(e),n=0;n>>3){case 1:o.conv_short_id=e.int64();break;case 2:o.message_id=e.int64();break;case 3:o.conversation_index=e.int64();break;case 4:o.inbox_type=e.int32();break;default:e.skipType(7&r)}}if(!o.hasOwnProperty("conv_short_id"))throw c.ProtocolError("missing required 'conv_short_id'",{instance:o});if(!o.hasOwnProperty("message_id"))throw c.ProtocolError("missing required 'message_id'",{instance:o});if(!o.hasOwnProperty("conversation_index"))throw c.ProtocolError("missing required 'conversation_index'",{instance:o});if(!o.hasOwnProperty("inbox_type"))throw c.ProtocolError("missing required 'inbox_type'",{instance:o});return o},e}(),e.ConversationMessagePreViewResponseBody=function(){function e(e){if(this.message_result=[],e)for(var t=Object.keys(e),n=0;n>>3==1?(o.message_result&&o.message_result.length||(o.message_result=[]),o.message_result.push(l.im_proto.MessageBody.decode(e,e.uint32()))):e.skipType(7&r)}return o},e}(),e.GetMediaUploadConfigRequestBody=function(){function e(e){if(e)for(var t=Object.keys(e),n=0;n>>3==1?(o.configs&&o.configs.length||(o.configs=[]),o.configs.push(l.im_proto.MediaUploadConfig.decode(e,e.uint32()))):e.skipType(7&r)}return o},e}(),e.MediaUploadConfig=function(){function e(e){if(e)for(var t=Object.keys(e),n=0;n>>3){case 1:o.type=e.int32();break;case 2:o.resource_space=e.string();break;case 3:o.host=e.string();break;case 4:o.expiry_time=e.int64();break;case 5:o.current_time=e.int64();break;case 6:o.access_key=e.string();break;case 7:o.session_token=e.string();break;case 8:o.secret_access_key=e.string();break;default:e.skipType(7&r)}}return o},e}(),e.GetMediaStatusRequestBody=function(){function e(e){if(this.media_list=[],e)for(var t=Object.keys(e),n=0;n>>3==1?(o.media_list&&o.media_list.length||(o.media_list=[]),o.media_list.push(l.im_proto.GetMediaStatusRequestBody.MediaKey.decode(e,e.uint32()))):e.skipType(7&r)}return o},e.MediaKey=function(){function e(e){if(e)for(var t=Object.keys(e),n=0;n>>3){case 1:o.type=e.int32();break;case 2:o.id=e.string();break;default:e.skipType(7&r)}}return o},e}(),e}(),e.GetMediaStatusResponseBody=function(){function e(e){if(this.results={},e)for(var t=Object.keys(e),n=0;n>>3==1){i.results===c.emptyObject&&(i.results={});var a=e.uint32()+e.pos;for(n="",o=null;e.pos>>3){case 1:n=e.string();break;case 2:o=l.im_proto.GetMediaStatusResponseBody.MediaStatusInfo.decode(e,e.uint32());break;default:e.skipType(7&g)}}i.results[n]=o}else e.skipType(7&s)}return i},e.MediaStatusInfo=function(){function e(e){if(e)for(var t=Object.keys(e),n=0;n>>3){case 1:o.type=e.int32();break;case 2:o.id=e.string();break;default:e.skipType(7&r)}}return o},e}(),e}(),e.RequestBody=function(){function e(e){if(e)for(var t=Object.keys(e),n=0;n>>3){case 100:o.send_message_body=l.im_proto.SendMessageRequestBody.decode(e,e.uint32());break;case 200:o.messages_per_user_body=l.im_proto.MessagesPerUserRequestBody.decode(e,e.uint32());break;case 201:o.messages_per_user_init_body=l.im_proto.MessagesPerUserInitRequestBody.decode(e,e.uint32());break;case 203:o.messages_per_user_init_v2_body=l.im_proto.MessagesPerUserInitV2RequestBody.decode(e,e.uint32());break;case 206:o.messages_per_conversation_search_body=l.im_proto.MessagesPerConversationSearchRequestBody.decode(e,e.uint32());break;case 210:o.check_messages_per_user_body=l.im_proto.CheckMessagePerUserRequestBody.decode(e,e.uint32());break;case 211:o.get_message_by_id_body=l.im_proto.GetMessageByIdRequestBody.decode(e,e.uint32());break;case 300:o.conversations_list_body=l.im_proto.ConversationsListRequestBody.decode(e,e.uint32());break;case 301:o.messages_in_conversation_body=l.im_proto.MessagesInConversationRequestBody.decode(e,e.uint32());break;case 302:o.get_messages_checkinfo_in_conversation_body=l.im_proto.GetMessagesCheckInfoInConversationRequestBody.decode(e,e.uint32());break;case 303:o.get_messages_check_info_v2_body=l.im_proto.GetMessagesCheckInfoV2RequestBody.decode(e,e.uint32());break;case 410:o.send_user_action_body=l.im_proto.SendUserActionRequestBody.decode(e,e.uint32());break;case 411:o.send_input_status_body=l.im_proto.SendInputStatusRequestBody.decode(e,e.uint32());break;case 600:o.get_conversation_info_body=l.im_proto.GetConversationInfoRequestBody.decode(e,e.uint32());break;case 601:o.set_conversation_info_body=l.im_proto.SetConversationInfoRequestBody.decode(e,e.uint32());break;case 602:o.create_conversation_body=l.im_proto.CreateConversationRequestBody.decode(e,e.uint32());break;case 603:o.delete_conversation_body=l.im_proto.DeleteConversationRequestBody.decode(e,e.uint32());break;case 604:o.mark_conversation_read_body=l.im_proto.MarkConversationReadRequestBody.decode(e,e.uint32());break;case 605:o.conversation_participants_body=l.im_proto.ConversationParticipantsListRequestBody.decode(e,e.uint32());break;case 607:o.get_conversation_info_list_body=l.im_proto.GetConversationInfoListRequestBody.decode(e,e.uint32());break;case 606:o.report_conversation_cursor_body=l.im_proto.ReportGetMessagesCursorRequestBody.decode(e,e.uint32());break;case 608:o.get_conversation_info_v2_body=l.im_proto.GetConversationInfoV2RequestBody.decode(e,e.uint32());break;case 609:o.create_conversation_v2_body=l.im_proto.CreateConversationV2RequestBody.decode(e,e.uint32());break;case 610:o.get_conversation_info_list_v2_body=l.im_proto.GetConversationInfoListV2RequestBody.decode(e,e.uint32());break;case 611:o.get_conversation_info_list_by_favorite_v2_body=l.im_proto.ConversationsPerUserByFavoriteV2RequestBody.decode(e,e.uint32());break;case 612:o.get_conversation_info_list_by_top_v2_body=l.im_proto.ConversationsPerUserByTopV2RequestBody.decode(e,e.uint32());break;case 613:o.batch_mark_read_body=l.im_proto.BatchMarkConversationReadRequestBody.decode(e,e.uint32());break;case 614:o.dissolve_conversation_body=l.im_proto.DissolveConversationRequestBody.decode(e,e.uint32());break;case 615:o.get_conversations_checkinfo_body=l.im_proto.GetConversationsCheckInfoRequestBody.decode(e,e.uint32());break;case 616:o.get_conversation_check_info_v2_body=l.im_proto.GetConversationsCheckInfoV2RequestBody.decode(e,e.uint32());break;case 650:o.conversation_add_participants_body=l.im_proto.ConversationAddParticipantsRequestBody.decode(e,e.uint32());break;case 651:o.conversation_remove_participants_body=l.im_proto.ConversationRemoveParticipantsRequestBody.decode(e,e.uint32());break;case 652:o.leave_conversation_body=l.im_proto.ConversationLeaveRequestBody.decode(e,e.uint32());break;case 653:o.conversation_set_role_body=l.im_proto.ConversationSetRoleRequestBody.decode(e,e.uint32());break;case 654:o.mget_conversation_participants_body=l.im_proto.MgetConversationParticipantsRequestBody.decode(e,e.uint32());break;case 655:o.update_conversation_participant_body=l.im_proto.UpdateConversationParticipantRequestBody.decode(e,e.uint32());break;case 656:o.batch_update_conversation_participant_body=l.im_proto.BatchUpdateConversationParticipantRequestBody.decode(e,e.uint32());break;case 690:o.get_conversation_group_list_body=l.im_proto.GetConversationGroupListRequestBody.decode(e,e.uint32());break;case 701:o.delete_message_body=l.im_proto.DeleteMessageRequestBody.decode(e,e.uint32());break;case 702:o.recall_message_body=l.im_proto.RecallMessageRequestBody.decode(e,e.uint32());break;case 703:o.reaction_message_body=l.im_proto.ReactionMessageRequestBody.decode(e,e.uint32());break;case 704:o.sync_message_body=l.im_proto.SyncMessageRequestBody.decode(e,e.uint32());break;case 705:o.modify_message_property_body=l.im_proto.ModifyMessagePropertyRequestBody.decode(e,e.uint32());break;case 706:o.ack_message_body=l.im_proto.AckMessageRequestBody.decode(e,e.uint32());break;case 801:o.get_group_info_body=l.im_proto.GetGroupInfoRequestBody.decode(e,e.uint32());break;case 802:o.set_group_info_body=l.im_proto.SetGroupInfoRequestBody.decode(e,e.uint32());break;case 803:o.get_group_info_list_body=l.im_proto.GetGroupInfoListRequestBody.decode(e,e.uint32());break;case 901:o.get_conversation_core_info_body=l.im_proto.GetConversationCoreInfoRequestBody.decode(e,e.uint32());break;case 902:o.set_conversation_core_info_body=l.im_proto.SetConversationCoreInfoRequestBody.decode(e,e.uint32());break;case 903:o.get_conversation_core_info_list_body=l.im_proto.GetConversationCoreInfoListRequestBody.decode(e,e.uint32());break;case 904:o.upsert_conversation_core_ext_info_body=l.im_proto.UpsertConversationCoreExtInfoRequestBody.decode(e,e.uint32());break;case 905:o.delete_conversation_core_ext_info_body=l.im_proto.DeleteConversationCoreExtInfoRequestBody.decode(e,e.uint32());break;case 920:o.get_conversation_setting_info_body=l.im_proto.GetConversationSettingInfoRequestBody.decode(e,e.uint32());break;case 921:o.set_conversation_setting_info_body=l.im_proto.SetConversationSettingInfoRequestBody.decode(e,e.uint32());break;case 922:o.upsert_conversation_setting_ext_info_body=l.im_proto.UpsertConversationSettingExtInfoRequestBody.decode(e,e.uint32());break;case 923:o.delete_conversation_setting_ext_info_body=l.im_proto.DeleteConversationSettingExtInfoRequestBody.decode(e,e.uint32());break;case 1e3:o.get_stranger_conversation_body=l.im_proto.GetStrangerConversationListRequestBody.decode(e,e.uint32());break;case 1001:o.get_stranger_messages_body=l.im_proto.GetStrangerMessagesRequestBody.decode(e,e.uint32());break;case 1002:o.delete_stranger_message_body=l.im_proto.DeleteStrangerMessageRequestBody.decode(e,e.uint32());break;case 1003:o.delete_stranger_conversation_body=l.im_proto.DeleteStrangerConversationRequestBody.decode(e,e.uint32());break;case 1004:o.delete_stranger_all_conversation_body=l.im_proto.DeleteStrangerAllConversationRequestBody.decode(e,e.uint32());break;case 1005:o.mark_stranger_conversation_read_body=l.im_proto.MarkStrangerConversationReadRequestBody.decode(e,e.uint32());break;case 1006:o.mark_stranger_all_conversation_read_body=l.im_proto.MarkStrangerAllConversationReadRequestBody.decode(e,e.uint32());break;case 1007:o.get_stranger_unread_count_body=l.im_proto.GetStrangerUnreadCountRequestBody.decode(e,e.uint32());break;case 2e3:o.participants_read_index_body=l.im_proto.GetConversationParticipantsReadIndexV3RequestBody.decode(e,e.uint32());break;case 2001:o.participants_min_index_body=l.im_proto.GetConversationParticipantsMinIndexV3RequestBody.decode(e,e.uint32());break;case 2003:o.get_upload_token_body=l.im_proto.GetUploadTokenRequestBody.decode(e,e.uint32());break;case 2004:o.get_media_urls_body=l.im_proto.GetMediaUrlsRequestBody.decode(e,e.uint32());break;case 2005:o.get_ticket_body=l.im_proto.GetTicketRequestBody.decode(e,e.uint32());break;case 9999:o.vcd_clean_body=l.im_proto.VcdCleanRequestBody.decode(e,e.uint32());break;case 2006:o.get_conversation_list_body=l.im_proto.GetUserConversationListRequestBody.decode(e,e.uint32());break;case 2007:o.broadcast_send_message_body=l.im_proto.BroadcastSendMessageRequestBody.decode(e,e.uint32());break;case 2008:o.broadcast_recv_message_body=l.im_proto.BroadcastRecvMessageRequestBody.decode(e,e.uint32());break;case 2009:o.broadcast_user_counter_body=l.im_proto.BroadcastUserCounterRequestBody.decode(e,e.uint32());break;case 2010:o.client_ack_body=l.im_proto.ClientACKRequestBody.decode(e,e.uint32());break;case 2011:o.create_voip_body=l.im_proto.CreateVoipRequestBody.decode(e,e.uint32());break;case 2012:o.call_voip_body=l.im_proto.CallVoipRequestBody.decode(e,e.uint32());break;case 2013:o.update_voip_body=l.im_proto.UpdateVoipRequestBody.decode(e,e.uint32());break;case 2014:o.channel_heartbeat_body=l.im_proto.ChannelHeartBeatRequestBody.decode(e,e.uint32());break;case 2015:o.profile_get_info=l.im_proto.ProfileGetInfoRequestBody.decode(e,e.uint32());break;case 2016:o.report_client_metrics_body=l.im_proto.ReportClientMetricsRequestBody.decode(e,e.uint32());break;case 2017:o.get_configs_body=l.im_proto.GetConfigsRequestBody.decode(e,e.uint32());break;case 2018:o.unread_count_report_body=l.im_proto.UnReadCountReportRequestBody.decode(e,e.uint32());break;case 2019:o.block_members_body=l.im_proto.BlockMembersRequestBody.decode(e,e.uint32());break;case 2020:o.block_conversation_body=l.im_proto.BlockConversationRequestBody.decode(e,e.uint32());break;case 2021:o.modify_message_ext_body=l.im_proto.ModifyMessageExtRequestBody.decode(e,e.uint32());break;case 2022:o.get_conversation_audit_switch_body=l.im_proto.GetConversationAuditSwitchRequestBody.decode(e,e.uint32());break;case 2023:o.update_conversation_audit_switch_body=l.im_proto.UpdateConversationAuditSwitchRequestBody.decode(e,e.uint32());break;case 2024:o.send_conversation_apply_body=l.im_proto.SendConversationApplyRequestBody.decode(e,e.uint32());break;case 2025:o.ack_conversation_apply_body=l.im_proto.AckConversationApplyRequestBody.decode(e,e.uint32());break;case 2026:o.get_conversation_apply_body=l.im_proto.GetConversationApplyRequestBody.decode(e,e.uint32());break;case 2027:o.get_conversation_audit_list_body=l.im_proto.GetConversationAuditListRequestBody.decode(e,e.uint32());break;case 2028:o.get_conversation_audit_unread_body=l.im_proto.GetConversationAuditUnreadRequestBody.decode(e,e.uint32());break;case 2029:o.clear_conversation_audit_unread_body=l.im_proto.ClearConversationAuditUnreadRequestBody.decode(e,e.uint32());break;case 2030:o.get_unread_count_body=l.im_proto.GetUnreadCountRequestBody.decode(e,e.uint32());break;case 2031:o.send_message_p2p_body=l.im_proto.SendMessageP2PRequestBody.decode(e,e.uint32());break;case 2032:o.get_blocklist_body=l.im_proto.GetBlockListRequestBody.decode(e,e.uint32());break;case 2033:o.set_blocklist_body=l.im_proto.SetBlocklistRequestBody.decode(e,e.uint32());break;case 2034:o.check_in_blocklist_body=l.im_proto.CheckInBlockListRequestBody.decode(e,e.uint32());break;case 2035:o.get_message_info_by_index_v2_body=l.im_proto.GetMessageInfoByIndexV2RequestBody.decode(e,e.uint32());break;case 2042:o.batch_get_conversation_audit_unread=l.im_proto.BatchGetConversationAuditUnreadRequestBody.decode(e,e.uint32());break;case 2036:o.mark_message_body=l.im_proto.MarkMessageRequestBody.decode(e,e.uint32());break;case 2037:o.pull_mark_message_body=l.im_proto.PullMarkMessageRequestBody.decode(e,e.uint32());break;case 2038:o.batch_get_conversation_participants_readindex=l.im_proto.BatchGetConversationParticipantsReadIndexRequestBody.decode(e,e.uint32());break;case 2039:o.get_recent_message_body=l.im_proto.GetRecentMessageReqBody.decode(e,e.uint32());break;case 2040:o.get_cmd_message_body=l.im_proto.GetCmdMessageReqBody.decode(e,e.uint32());break;case 2041:o.get_message_info_by_index_v2_range_body=l.im_proto.GetMessageInfoByIndexV2RangeRequestBody.decode(e,e.uint32());break;case 2043:o.message_by_init=l.im_proto.MessageByInitRequestBody.decode(e,e.uint32());break;case 2044:o.previewer_messages_in_conversation_body=l.im_proto.PreviewerMessagesInConversationRequestBody.decode(e,e.uint32());break;case 2045:o.previewer_get_conversation_info_list_body=l.im_proto.PreviewerGetConversationInfoListRequestBody.decode(e,e.uint32());break;case 2046:o.send_friend_apply_body=l.im_proto.SendFriendApplyRequestBody.decode(e,e.uint32());break;case 2047:o.get_friend_apply_list_body=l.im_proto.GetFriendApplyListRequestBody.decode(e,e.uint32());break;case 2048:o.get_friend_receive_apply_list_body=l.im_proto.GetFriendReceiveApplyListRequestBody.decode(e,e.uint32());break;case 2049:o.reply_friend_apply_body=l.im_proto.ReplyFriendApplyRequestBody.decode(e,e.uint32());break;case 2050:o.get_friend_list_body=l.im_proto.GetFriendListRequestBody.decode(e,e.uint32());break;case 2051:o.delete_friend_body=l.im_proto.DeleteFriendRequestBody.decode(e,e.uint32());break;case 2052:o.profile_batch_get_info_body=l.im_proto.ProfileBatchGetInfoRequestBody.decode(e,e.uint32());break;case 2053:o.profile_search_info_body=l.im_proto.ProfileSearchInfoRequestBody.decode(e,e.uint32());break;case 2054:o.mark_msg_unread_count_report=l.im_proto.MarkMsgUnreadCountReportRequestBody.decode(e,e.uint32());break;case 2055:o.mark_msg_get_unread_count=l.im_proto.MarkMsgGetUnreadCountRequestBody.decode(e,e.uint32());break;case 2056:o.batch_unmark_message=l.im_proto.BatchUnmarkMessageRequestBody.decode(e,e.uint32());break;case 2057:o.client_batch_ack_body=l.im_proto.ClientBatchACKRequestBody.decode(e,e.uint32());break;case 2059:o.media_upload_config_request_body=l.im_proto.GetMediaUploadConfigRequestBody.decode(e,e.uint32());break;case 2060:o.media_status_request_body=l.im_proto.GetMediaStatusRequestBody.decode(e,e.uint32());break;case 2100:o.global_message_search_body=l.im_proto.GlobalMessageSearchRequestBody.decode(e,e.uint32());break;case 2101:o.conversation_core_search_body=l.im_proto.ConversationCoreSearchRequestBody.decode(e,e.uint32());break;case 2102:o.conversation_message_search_body=l.im_proto.ConversationMessageSearchRequestBody.decode(e,e.uint32());break;case 2103:o.conversation_message_pre_view_body=l.im_proto.ConversationMessagePreViewRequestBody.decode(e,e.uint32());break;case 2200:o.get_messages_body=l.im_proto.GetMessagesRequestBody.decode(e,e.uint32());break;default:e.skipType(7&r)}}return o},e}(),e.Request=function(){function e(e){if(this.headers={},e)for(var t=Object.keys(e),n=0;n>>3){case 1:i.cmd=e.int32();break;case 2:i.sequence_id=e.int64();break;case 3:i.sdk_version=e.string();break;case 4:i.token=e.string();break;case 5:i.refer=e.int32();break;case 6:i.inbox_type=e.int32();break;case 7:i.build_number=e.string();break;case 8:i.body=l.im_proto.RequestBody.decode(e,e.uint32());break;case 9:i.device_id=e.string();break;case 10:i.channel=e.string();break;case 11:i.device_platform=e.string();break;case 12:i.device_type=e.string();break;case 13:i.os_version=e.string();break;case 14:i.version_code=e.string();break;case 15:i.headers===c.emptyObject&&(i.headers={});var a=e.uint32()+e.pos;for(n="",o="";e.pos>>3){case 1:n=e.string();break;case 2:o=e.string();break;default:e.skipType(7&g)}}i.headers[n]=o;break;case 16:i.config_id=e.int32();break;case 17:i.token_info=l.im_proto.TokenInfo.decode(e,e.uint32());break;case 18:i.auth_type=e.int32();break;case 19:i.msg_trace=l.im_proto.MsgTrace.decode(e,e.uint32());break;case 20:i.retry_count=e.int32();break;default:e.skipType(7&s)}}return i},e}(),e.TokenInfo=function(){function e(e){if(e)for(var t=Object.keys(e),n=0;n>>3){case 1:o.mark_id=e.int32();break;case 2:o.type=e.int32();break;case 3:o.app_id=e.int32();break;case 4:o.user_id=e.int64();break;case 5:o.timestamp=e.int64();break;case 6:o.app_id_without_hook=e.int32();break;case 7:o.user_id_without_hook=e.int64();break;default:e.skipType(7&r)}}return o},e}(),e.ResponseBody=function(){function e(e){if(e)for(var t=Object.keys(e),n=0;n>>3){case 100:o.send_message_body=l.im_proto.SendMessageResponseBody.decode(e,e.uint32());break;case 200:o.messages_per_user_body=l.im_proto.MessagesPerUserResponseBody.decode(e,e.uint32());break;case 201:o.messages_per_user_init_body=l.im_proto.MessagesPerUserInitResponseBody.decode(e,e.uint32());break;case 203:o.messages_per_user_init_v2_body=l.im_proto.MessagesPerUserInitV2ResponseBody.decode(e,e.uint32());break;case 206:o.messages_per_conversation_search_body=l.im_proto.MessagesPerConversationSearchResponseBody.decode(e,e.uint32());break;case 210:o.check_messages_per_user_body=l.im_proto.CheckMessagesPerUserResponseBody.decode(e,e.uint32());break;case 211:o.get_message_by_id_body=l.im_proto.GetMessageByIdResponseBody.decode(e,e.uint32());break;case 300:o.conversations_list_body=l.im_proto.ConversationsListResponseBody.decode(e,e.uint32());break;case 301:o.messages_in_conversation_body=l.im_proto.MessagesInConversationResponseBody.decode(e,e.uint32());break;case 302:o.get_messages_checkinfo_in_conversation_body=l.im_proto.GetMessagesCheckInfoInConversationResponseBody.decode(e,e.uint32());break;case 303:o.get_message_check_info_v2_body=l.im_proto.GetMessagesCheckInfoV2ResponseBody.decode(e,e.uint32());break;case 410:o.send_user_action_body=l.im_proto.SendUserActionResponseBody.decode(e,e.uint32());break;case 411:o.send_input_status_body=l.im_proto.SendInputStatusResponseBody.decode(e,e.uint32());break;case 500:o.has_new_message_notify=l.im_proto.NewMessageNotify.decode(e,e.uint32());break;case 501:o.mark_conversation_read_notify=l.im_proto.MarkConversationReadNotify.decode(e,e.uint32());break;case 502:o.conversation_info_updated_notify=l.im_proto.ConversationInfoUpdatedNotify.decode(e,e.uint32());break;case 503:o.stranger_has_new_message_notify=l.im_proto.StrangerNewMessageNotify.decode(e,e.uint32());break;case 504:o.has_new_direct_push_notify=l.im_proto.NewDirectPushNotify.decode(e,e.uint32());break;case 510:o.input_status_notify=l.im_proto.InputStatusNotify.decode(e,e.uint32());break;case 511:o.biz_has_new_direct_push_notify=l.im_proto.BizNewDirectPushNotify.decode(e,e.uint32());break;case 507:o.new_friend_message_notify=l.im_proto.NewFriendMessageNotify.decode(e,e.uint32());break;case 600:o.get_conversation_info_body=l.im_proto.GetConversationInfoResponseBody.decode(e,e.uint32());break;case 601:o.set_conversation_info_body=l.im_proto.SetConversationInfoResponseBody.decode(e,e.uint32());break;case 602:o.create_conversation_body=l.im_proto.CreateConversationResponseBody.decode(e,e.uint32());break;case 607:o.get_conversations_info_list_body=l.im_proto.GetConversationInfoListResponseBody.decode(e,e.uint32());break;case 613:o.batch_mark_read_body=l.im_proto.BatchMarkConversationReadResponseBody.decode(e,e.uint32());break;case 615:o.get_conversations_checkinfo_body=l.im_proto.GetConversationsCheckInfoResponseBody.decode(e,e.uint32());break;case 616:o.get_conversations_check_info_v2_body=l.im_proto.GetConversationsCheckInfoV2ResponseBody.decode(e,e.uint32());break;case 608:o.get_conversation_info_v2_body=l.im_proto.GetConversationInfoV2ResponseBody.decode(e,e.uint32());break;case 609:o.create_conversation_v2_body=l.im_proto.CreateConversationV2ResponseBody.decode(e,e.uint32());break;case 610:o.get_conversation_info_list_v2_body=l.im_proto.GetConversationInfoListV2ResponseBody.decode(e,e.uint32());break;case 611:o.get_conversation_info_list_by_favorite_v2_body=l.im_proto.GetConversationInfoListByFavoriteV2ResponseBody.decode(e,e.uint32());break;case 612:o.get_conversation_info_list_by_top_v2_body=l.im_proto.GetConversationInfoListByTopV2ResponseBody.decode(e,e.uint32());break;case 605:o.conversation_participants_body=l.im_proto.ConversationParticipantsListResponseBody.decode(e,e.uint32());break;case 650:o.conversation_add_participants_body=l.im_proto.ConversationAddParticipantsResponseBody.decode(e,e.uint32());break;case 651:o.conversation_remove_participants_body=l.im_proto.ConversationRemoveParticipantsResponseBody.decode(e,e.uint32());break;case 653:o.conversation_set_role_body=l.im_proto.ConversationSetRoleResponseBody.decode(e,e.uint32());break;case 654:o.mget_conversation_participants_body=l.im_proto.MgetConversationParticipantsResponseBody.decode(e,e.uint32());break;case 655:o.update_conversation_participant_body=l.im_proto.UpdateConversationParticipantResponseBody.decode(e,e.uint32());break;case 656:o.batch_update_conversation_participant_body=l.im_proto.BatchUpdateConversationParticipantResponseBody.decode(e,e.uint32());break;case 690:o.get_conversation_group_list_body=l.im_proto.GetConversationGroupListResponseBody.decode(e,e.uint32());break;case 703:o.reaction_message_body=l.im_proto.ReactionMessageResponseBody.decode(e,e.uint32());break;case 704:o.sync_message_body=l.im_proto.SyncMessageResponseBody.decode(e,e.uint32());break;case 705:o.modify_message_property_body=l.im_proto.ModifyMessagePropertyResponseBody.decode(e,e.uint32());break;case 706:o.ack_message_body=l.im_proto.AckMessageResponseBody.decode(e,e.uint32());break;case 801:o.get_group_info_body=l.im_proto.GetGroupInfoResponseBody.decode(e,e.uint32());break;case 802:o.set_group_info_body=l.im_proto.SetGroupInfoResponseBody.decode(e,e.uint32());break;case 803:o.get_groups_info_body=l.im_proto.GetGroupInfoListResponseBody.decode(e,e.uint32());break;case 901:o.get_conversation_core_info_body=l.im_proto.GetConversationCoreInfoResponseBody.decode(e,e.uint32());break;case 902:o.set_conversation_core_info_body=l.im_proto.SetConversationCoreInfoResponseBody.decode(e,e.uint32());break;case 903:o.get_conversation_core_info_list_body=l.im_proto.GetConversationCoreInfoListResponseBody.decode(e,e.uint32());break;case 904:o.upsert_conversation_core_ext_info_body=l.im_proto.UpsertConversationCoreExtInfoResponseBody.decode(e,e.uint32());break;case 905:o.delete_conversation_core_ext_info_body=l.im_proto.DeleteConversationCoreExtInfoResponseBody.decode(e,e.uint32());break;case 920:o.get_conversation_setting_info_body=l.im_proto.GetConversationSettingInfoResponseBody.decode(e,e.uint32());break;case 921:o.set_conversation_setting_info_body=l.im_proto.SetConversationSettingInfoResponseBody.decode(e,e.uint32());break;case 922:o.upsert_conversation_setting_ext_info_body=l.im_proto.UpsertConversationSettingExtInfoResponseBody.decode(e,e.uint32());break;case 923:o.delete_conversation_setting_ext_info_body=l.im_proto.DeleteConversationSettingExtInfoResponseBody.decode(e,e.uint32());break;case 1e3:o.get_stranger_conversation_body=l.im_proto.GetStrangerConversationListResponseBody.decode(e,e.uint32());break;case 1001:o.get_stranger_messages_body=l.im_proto.GetStrangerMessagesResponseBody.decode(e,e.uint32());break;case 1002:o.delete_stranger_message_body=l.im_proto.DeleteStrangerMessageResponseBody.decode(e,e.uint32());break;case 1003:o.delete_stranger_conversation_body=l.im_proto.DeleteStrangerConversationResponseBody.decode(e,e.uint32());break;case 1004:o.delete_stranger_all_conversation_body=l.im_proto.DeleteStrangerAllConversationResponseBody.decode(e,e.uint32());break;case 1005:o.mark_stranger_conversation_read_body=l.im_proto.MarkStrangerConversationReadResponseBody.decode(e,e.uint32());break;case 1006:o.mark_stranger_all_conversation_read_body=l.im_proto.MarkStrangerAllConversationReadResponseBody.decode(e,e.uint32());break;case 1007:o.get_stranger_unread_count_body=l.im_proto.GetStrangerUnreadCountResponseBody.decode(e,e.uint32());break;case 2e3:o.participants_read_index_body=l.im_proto.GetConversationParticipantsReadIndexV3ResponseBody.decode(e,e.uint32());break;case 2001:o.participants_min_index_body=l.im_proto.GetConversationParticipantsMinIndexV3ResponseBody.decode(e,e.uint32());break;case 2003:o.get_upload_token_body=l.im_proto.GetUploadTokenResponseBody.decode(e,e.uint32());break;case 2004:o.get_media_urls_body=l.im_proto.GetMediaUrlsResponseBody.decode(e,e.uint32());break;case 2005:o.get_ticket_body=l.im_proto.GetTicketResponseBody.decode(e,e.uint32());break;case 9999:o.vcd_clean_body=l.im_proto.VcdCleanResponseBody.decode(e,e.uint32());break;case 2006:o.get_conversation_list_body=l.im_proto.GetUserConversationListResponseBody.decode(e,e.uint32());break;case 2007:o.broadcast_send_message_body=l.im_proto.BroadcastSendMessageResponseBody.decode(e,e.uint32());break;case 2008:o.broadcast_recv_message_body=l.im_proto.BroadcastRecvMessageResponseBody.decode(e,e.uint32());break;case 2009:o.broadcast_user_counter_body=l.im_proto.BroadcastUserCounterResponseBody.decode(e,e.uint32());break;case 2010:o.client_ack_body=l.im_proto.ClientACKResponseBody.decode(e,e.uint32());break;case 2011:o.create_voip_body=l.im_proto.CreateVoipResponseBody.decode(e,e.uint32());break;case 2012:o.call_voip_body=l.im_proto.CallVoipResponseBody.decode(e,e.uint32());break;case 2013:o.update_voip_body=l.im_proto.UpdateVoipResponseBody.decode(e,e.uint32());break;case 2014:o.channel_heartbeat_body=l.im_proto.ChannelHeartBeatResponseBody.decode(e,e.uint32());break;case 2015:o.profile_get_info=l.im_proto.ProfileGetInfoResponseBody.decode(e,e.uint32());break;case 2016:o.report_client_metrics_body=l.im_proto.ReportClientMetricsResponseBody.decode(e,e.uint32());break;case 2017:o.get_configs_body=l.im_proto.GetConfigsResponseBody.decode(e,e.uint32());break;case 2018:o.unread_count_report_body=l.im_proto.UnReadCountReportResponseBody.decode(e,e.uint32());break;case 2019:o.block_members_body=l.im_proto.BlockMembersResponseBody.decode(e,e.uint32());break;case 2020:o.block_conversation_body=l.im_proto.BlockConversationResponseBody.decode(e,e.uint32());break;case 2021:o.modify_message_ext_body=l.im_proto.ModifyMessageExtResponseBody.decode(e,e.uint32());break;case 2022:o.get_conversation_audit_switch_body=l.im_proto.GetConversationAuditSwitchResponseBody.decode(e,e.uint32());break;case 2023:o.update_conversation_audit_switch_body=l.im_proto.UpdateConversationAuditSwitchResponseBody.decode(e,e.uint32());break;case 2024:o.send_conversation_apply_body=l.im_proto.SendConversationApplyResponseBody.decode(e,e.uint32());break;case 2025:o.ack_conversation_apply_body=l.im_proto.AckConversationApplyResponseBody.decode(e,e.uint32());break;case 2026:o.get_conversation_apply_body=l.im_proto.GetConversationApplyResponseBody.decode(e,e.uint32());break;case 2027:o.get_conversation_audit_list_body=l.im_proto.GetConversationAuditListResponseBody.decode(e,e.uint32());break;case 2028:o.get_conversation_audit_unread_body=l.im_proto.GetConversationAuditUnreadResponseBody.decode(e,e.uint32());break;case 2029:o.clear_conversation_audit_unread_body=l.im_proto.ClearConversationAuditUnreadResponseBody.decode(e,e.uint32());break;case 2030:o.get_unread_count_body=l.im_proto.GetUnreadCountResponseBody.decode(e,e.uint32());break;case 2031:o.send_message_p2p_body=l.im_proto.SendMessageP2PResponseBody.decode(e,e.uint32());break;case 2032:o.get_blocklist_body=l.im_proto.GetBlockListResponseBody.decode(e,e.uint32());break;case 2033:o.set_blocklist_body=l.im_proto.SetBlocklistResponseBody.decode(e,e.uint32());break;case 2034:o.check_in_blocklist_body=l.im_proto.CheckInBlockListResponseBody.decode(e,e.uint32());break;case 2035:o.get_message_info_by_index_v2_body=l.im_proto.GetMessageInfoByIndexV2ResponseBody.decode(e,e.uint32());break;case 2042:o.batch_get_conversation_audit_unread_body=l.im_proto.BatchGetConversationAuditUnreadResponseBody.decode(e,e.uint32());break;case 2036:o.mark_message_body=l.im_proto.MarkMessageResponseBody.decode(e,e.uint32());break;case 2037:o.pull_mark_message_body=l.im_proto.PullMarkMessageResponseBody.decode(e,e.uint32());break;case 2038:o.batch_get_conversation_participants_readindex=l.im_proto.BatchGetConversationParticipantsReadIndexResponseBody.decode(e,e.uint32());break;case 2039:o.get_recent_message_body=l.im_proto.GetRecentMessageRespBody.decode(e,e.uint32());break;case 2040:o.get_cmd_message_body=l.im_proto.GetCmdMessageRespBody.decode(e,e.uint32());break;case 2041:o.get_message_info_by_index_v2_range_body=l.im_proto.GetMessageInfoByIndexV2RangeResponseBody.decode(e,e.uint32());break;case 2043:o.message_by_init=l.im_proto.MessageByInitResponseBody.decode(e,e.uint32());break;case 2044:o.previewer_messages_in_conversation_body=l.im_proto.PreviewerMessagesInConversationResponseBody.decode(e,e.uint32());break;case 2045:o.previewer_get_conversation_info_list_body=l.im_proto.PreviewerGetConversationInfoListResponseBody.decode(e,e.uint32());break;case 2046:o.send_friend_apply_body=l.im_proto.SendFriendApplyResponseBody.decode(e,e.uint32());break;case 2047:o.get_friend_apply_list_body=l.im_proto.GetFriendApplyListResponseBody.decode(e,e.uint32());break;case 2048:o.get_friend_receive_apply_list_body=l.im_proto.GetFriendReceiveApplyListResponseBody.decode(e,e.uint32());break;case 2049:o.reply_friend_apply_body=l.im_proto.ReplyFriendApplyResponseBody.decode(e,e.uint32());break;case 2050:o.get_friend_list_body=l.im_proto.GetFriendListResponseBody.decode(e,e.uint32());break;case 2051:o.delete_friend_body=l.im_proto.DeleteFriendResponseBody.decode(e,e.uint32());break;case 2052:o.profile_batch_get_info_body=l.im_proto.ProfileBatchGetInfoResponseBody.decode(e,e.uint32());break;case 2053:o.profile_search_info_body=l.im_proto.ProfileSearchInfoResponseBody.decode(e,e.uint32());break;case 2054:o.mark_msg_unread_count_report=l.im_proto.MarkMsgUnreadCountReportResponseBody.decode(e,e.uint32());break;case 2055:o.mark_msg_get_unread_count=l.im_proto.MarkMsgGetUnreadCountResponseBody.decode(e,e.uint32());break;case 2056:o.batch_unmark_message=l.im_proto.BatchUnmarkMessageResponseBody.decode(e,e.uint32());break;case 2057:o.client_batch_ack_body=l.im_proto.ClientBatchACKResponseBody.decode(e,e.uint32());break;case 2059:o.media_upload_config_response_body=l.im_proto.GetMediaUploadConfigResponseBody.decode(e,e.uint32());break;case 2060:o.media_status_response_body=l.im_proto.GetMediaStatusResponseBody.decode(e,e.uint32());break;case 2100:o.global_message_search_body=l.im_proto.GlobalMessageSearchResponseBody.decode(e,e.uint32());break;case 2101:o.conversation_core_search_body=l.im_proto.ConversationCoreSearchResponseBody.decode(e,e.uint32());break;case 2102:o.conversation_message_search_body=l.im_proto.ConversationMessageSearchResponseBody.decode(e,e.uint32());break;case 2103:o.conversation_message_pre_view_body=l.im_proto.ConversationMessagePreViewResponseBody.decode(e,e.uint32());break;case 2200:o.get_messages_body=l.im_proto.GetMessagesResponseBody.decode(e,e.uint32());break;default:e.skipType(7&r)}}return o},e}(),e.Response=function(){function e(e){if(this.headers={},e)for(var t=Object.keys(e),n=0;n>>3){case 1:i.cmd=e.int32();break;case 2:i.sequence_id=e.int64();break;case 3:i.status_code=e.int32();break;case 4:i.error_desc=e.string();break;case 5:i.inbox_type=e.int32();break;case 6:i.body=l.im_proto.ResponseBody.decode(e,e.uint32());break;case 7:i.log_id=e.string();break;case 8:i.headers===c.emptyObject&&(i.headers={});var a=e.uint32()+e.pos;for(n="",o="";e.pos>>3){case 1:n=e.string();break;case 2:o=e.string();break;default:e.skipType(7&g)}}i.headers[n]=o;break;case 9:i.start_time_stamp=e.int64();break;case 10:i.request_arrived_time=e.int64();break;case 11:i.server_execution_end_time=e.int64();break;case 12:i.retry_count=e.int32();break;case 13:i.server_start_time=e.int64();break;default:e.skipType(7&s)}}return i},e}(),e.BaseText=function(){function e(e){if(e)for(var t=Object.keys(e),n=0;n>>3==1?o.text=e.string():e.skipType(7&r)}return o},e}(),e.BaseImage=function(){function e(e){if(this.url_list=[],e)for(var t=Object.keys(e),n=0;n>>3){case 1:o.image_id=e.string();break;case 2:o.url_list&&o.url_list.length||(o.url_list=[]),o.url_list.push(e.string());break;case 4:o.display_name=e.string();break;case 5:o.resolution=l.im_proto.Resolution.decode(e,e.uint32());break;case 6:o.decrypt_key=e.string();break;case 7:o.fallback_icon_type=e.int32();break;default:e.skipType(7&r)}}return o},e}(),e.IconType=function(){const e={},t=Object.create(e);return t[e[0]="Default"]=0,t[e[1]="ServerError"]=1,t[e[2]="Moderation"]=2,t[e[3]="Loading"]=3,t}(),e.BaseVideo=function(){function e(e){if(e)for(var t=Object.keys(e),n=0;n>>3){case 1:o.video_id=e.string();break;case 2:o.video_type=e.int32();break;case 3:o.cover=l.im_proto.BaseImage.decode(e,e.uint32());break;case 4:o.video_model=e.string();break;case 5:o.linkInfo=l.im_proto.LinkInfo.decode(e,e.uint32());break;case 6:o.resolution=l.im_proto.Resolution.decode(e,e.uint32());break;default:e.skipType(7&r)}}return o},e}(),e.VideoType=function(){const e={},t=Object.create(e);return t[e[0]="Video"]=0,t[e[1]="Live"]=1,t}(),e.BaseUser=function(){function e(e){if(e)for(var t=Object.keys(e),n=0;n>>3){case 1:o.user_id=e.int64();break;case 2:o.nickname=l.im_proto.BaseText.decode(e,e.uint32());break;case 3:o.description=l.im_proto.BaseText.decode(e,e.uint32());break;case 4:o.avatar=l.im_proto.BaseImage.decode(e,e.uint32());break;case 5:o.link_info=l.im_proto.LinkInfo.decode(e,e.uint32());break;case 6:o.username=l.im_proto.BaseText.decode(e,e.uint32());break;case 7:o.follower_count=e.int32();break;case 8:o.is_verify=e.bool();break;default:e.skipType(7&r)}}return o},e}(),e.Button=function(){function e(e){if(e)for(var t=Object.keys(e),n=0;n>>3){case 1:o.text=l.im_proto.BaseText.decode(e,e.uint32());break;case 2:o.style=l.im_proto.ButtonStyle.decode(e,e.uint32());break;case 4:o.link_info=l.im_proto.LinkInfo.decode(e,e.uint32());break;default:e.skipType(7&r)}}return o},e}(),e.ButtonStyle=function(){function e(e){if(e)for(var t=Object.keys(e),n=0;n>>3){case 1:o.height=e.int32();break;case 2:o.width=e.int32();break;default:e.skipType(7&r)}}return o},e}(),e.TTL=function(){function e(e){if(e)for(var t=Object.keys(e),n=0;n>>3==1?o.expired_at=e.int64():e.skipType(7&r)}return o},e}(),e.BaseReq=function(){function e(e){if(e)for(var t=Object.keys(e),n=0;n>>3==1?o.query_data=l.im_proto.QueryData.decode(e,e.uint32()):e.skipType(7&r)}return o},e}(),e.FallbackInfo=function(){function e(e){if(e)for(var t=Object.keys(e),n=0;n>>3){case 1:o.image=l.im_proto.BaseImage.decode(e,e.uint32());break;case 2:o.text=l.im_proto.BaseText.decode(e,e.uint32());break;case 3:o.link_info=l.im_proto.LinkInfo.decode(e,e.uint32());break;default:e.skipType(7&r)}}return o},e}(),e.BaseResp=function(){function e(e){if(this.context_menu=[],this.extra={},e)for(var t=Object.keys(e),n=0;n>>3){case 1:i.ttl=l.im_proto.TTL.decode(e,e.uint32());break;case 2:i.context_menu&&i.context_menu.length||(i.context_menu=[]),i.context_menu.push(e.string());break;case 3:i.min_version=e.int64();break;case 4:i.extra===c.emptyObject&&(i.extra={});var a=e.uint32()+e.pos;for(n="",o="";e.pos>>3){case 1:n=e.string();break;case 2:o=e.string();break;default:e.skipType(7&g)}}i.extra[n]=o;break;default:e.skipType(7&s)}}return i},e}(),e.QueryData=function(){function e(e){if(this.extra={},e)for(var t=Object.keys(e),n=0;n>>3){case 1:i.resource_id=e.string();break;case 2:i.extra===c.emptyObject&&(i.extra={});var a=e.uint32()+e.pos;for(n="",o="";e.pos>>3){case 1:n=e.string();break;case 2:o=e.string();break;default:e.skipType(7&g)}}i.extra[n]=o;break;default:e.skipType(7&s)}}return i},e}(),e.LinkInfo=function(){function e(e){if(this.url_list=[],e)for(var t=Object.keys(e),n=0;n>>3){case 1:o.url_list&&o.url_list.length||(o.url_list=[]),o.url_list.push(e.string());break;case 2:o.action_type=e.int32();break;default:e.skipType(7&r)}}return o},e}(),e.LinkType=function(){const e={},t=Object.create(e);return t[e[0]="DeepLink"]=0,t[e[1]="H5Link"]=1,t[e[2]="FollowUser"]=2,t[e[3]="Callback"]=3,t[e[4]="Show"]=4,t[e[5]="Refresh"]=5,t}(),e.PreviewHint=function(){function e(e){if(e)for(var t=Object.keys(e),n=0;n>>3){case 1:o.sender_preview_text=l.im_proto.BaseText.decode(e,e.uint32());break;case 2:o.receiver_preview_text=l.im_proto.BaseText.decode(e,e.uint32());break;case 3:o.quote_preview_text=l.im_proto.BaseText.decode(e,e.uint32());break;default:e.skipType(7&r)}}return o},e}(),e.Resolution=function(){function e(e){if(e)for(var t=Object.keys(e),n=0;n>>3){case 1:o.width=e.int32();break;case 2:o.height=e.int32();break;default:e.skipType(7&r)}}return o},e}(),e.PictureCard=function(){function e(e){if(e)for(var t=Object.keys(e),n=0;n>>3){case 1:o.image=l.im_proto.BaseImage.decode(e,e.uint32());break;case 2:o.thumbnail=l.im_proto.BaseImage.decode(e,e.uint32());break;case 3:o.preview_hint=l.im_proto.PreviewHint.decode(e,e.uint32());break;case 4:o.link_info=l.im_proto.LinkInfo.decode(e,e.uint32());break;case 5:o.fallback=l.im_proto.PictureCardFallbackInfo.decode(e,e.uint32());break;case 6:o.image_mint=l.im_proto.BaseImage.decode(e,e.uint32());break;case 7:o.thumbnail_mint=l.im_proto.BaseImage.decode(e,e.uint32());break;case 200:o.req_base=l.im_proto.BaseReq.decode(e,e.uint32());break;case 201:o.resp_base=l.im_proto.BaseResp.decode(e,e.uint32());break;default:e.skipType(7&r)}}return o},e}(),e.PictureCardFallbackInfo=function(){function e(e){if(e)for(var t=Object.keys(e),n=0;n>>3){case 1:o.image=l.im_proto.BaseImage.decode(e,e.uint32());break;case 2:o.text=l.im_proto.BaseText.decode(e,e.uint32());break;case 3:o.link_info=l.im_proto.LinkInfo.decode(e,e.uint32());break;default:e.skipType(7&r)}}return o},e}(),e.IMUploadScene=function(){const e={},t=Object.create(e);return t[e[1]="MultimediaMessaging"]=1,t[e[2]="StickerCreation"]=2,t[e[3]="PublicMultimediaMessaging"]=3,t}(),e.IMUploadAuthToken=function(){function e(e){if(e)for(var t=Object.keys(e),n=0;n>>3){case 1:o.access_key_id=e.string();break;case 2:o.session_token=e.string();break;case 3:o.secret_access_key=e.string();break;case 4:o.expire_time=e.string();break;case 5:o.current_time=e.string();break;default:e.skipType(7&r)}}return o},e}(),e.IMVideoUploadConfig=function(){function e(e){if(e)for(var t=Object.keys(e),n=0;n>>3){case 1:o.space_name=e.string();break;case 2:o.host=e.string();break;case 3:o.auth_token=l.im_proto.IMUploadAuthToken.decode(e,e.uint32());break;default:e.skipType(7&r)}}return o},e}(),e.IMImageUploadConfig=function(){function e(e){if(e)for(var t=Object.keys(e),n=0;n>>3){case 1:o.service_id=e.string();break;case 2:o.host=e.string();break;case 3:o.auth_token=l.im_proto.IMUploadAuthToken.decode(e,e.uint32());break;default:e.skipType(7&r)}}return o},e}(),e.tiktok_v1_im_upload_config_request=function(){function e(e){if(e)for(var t=Object.keys(e),n=0;n>>3==1?o.upload_scene=e.int32():e.skipType(7&r)}return o},e}(),e.tiktok_v1_im_upload_config_response=function(){function e(e){if(e)for(var t=Object.keys(e),n=0;n>>3){case 1:o.status_code=e.int32();break;case 2:o.status_msg=e.string();break;case 3:o.upload_scene=e.int32();break;case 4:o.video_upload_config=l.im_proto.IMVideoUploadConfig.decode(e,e.uint32());break;case 5:o.image_upload_config=l.im_proto.IMImageUploadConfig.decode(e,e.uint32());break;default:e.skipType(7&r)}}if(!o.hasOwnProperty("status_code"))throw c.ProtocolError("missing required 'status_code'",{instance:o});return o},e}(),e.MessageContent=function(){function e(e){if(e)for(var t=Object.keys(e),n=0;n>>3){case 2:o.image_card=l.im_proto.ImageCard.decode(e,e.uint32());break;case 4:o.picture_card=l.im_proto.PictureCard.decode(e,e.uint32());break;case 5:o.video_card=l.im_proto.VideoCard.decode(e,e.uint32());break;case 6:o.info_card=l.im_proto.InfoCard.decode(e,e.uint32());break;case 7:o.sticker_card=l.im_proto.StickerCard.decode(e,e.uint32());break;case 100:o.common_msg_card=l.im_proto.CommonMsgCard.decode(e,e.uint32());break;case 101:o.dynamic_card=l.im_proto.DynamicCard.decode(e,e.uint32());break;default:e.skipType(7&r)}}return o},e}(),e.VideoCard=function(){function e(e){if(e)for(var t=Object.keys(e),n=0;n>>3){case 1:o.video=l.im_proto.BaseVideo.decode(e,e.uint32());break;case 2:o.preview_hint=l.im_proto.PreviewHint.decode(e,e.uint32());break;case 3:o.link_info=l.im_proto.LinkInfo.decode(e,e.uint32());break;case 4:o.fallback=l.im_proto.VideoCardFallbackInfo.decode(e,e.uint32());break;case 200:o.req_base=l.im_proto.BaseReq.decode(e,e.uint32());break;case 201:o.resp_base=l.im_proto.BaseResp.decode(e,e.uint32());break;default:e.skipType(7&r)}}return o},e}(),e.VideoCardFallbackInfo=function(){function e(e){if(e)for(var t=Object.keys(e),n=0;n>>3){case 1:o.image=l.im_proto.BaseImage.decode(e,e.uint32());break;case 2:o.text=l.im_proto.BaseText.decode(e,e.uint32());break;case 3:o.link_info=l.im_proto.LinkInfo.decode(e,e.uint32());break;default:e.skipType(7&r)}}return o},e}(),e.WelcomeCard=function(){function e(e){if(this.images=[],e)for(var t=Object.keys(e),n=0;n>>3){case 1:o.title=l.im_proto.BaseText.decode(e,e.uint32());break;case 2:o.button=l.im_proto.Button.decode(e,e.uint32());break;case 3:o.images&&o.images.length||(o.images=[]),o.images.push(l.im_proto.BaseImage.decode(e,e.uint32()));break;case 4:o.position=e.int32();break;case 200:o.req_base=l.im_proto.BaseReq.decode(e,e.uint32());break;case 201:o.resp_base=l.im_proto.BaseResp.decode(e,e.uint32());break;default:e.skipType(7&r)}}return o},e}(),e.Position=function(){const e={},t=Object.create(e);return t[e[0]="top"]=0,t[e[1]="middle"]=1,t[e[2]="bottom"]=2,t}(),e.FocusCard=function(){function e(e){if(e)for(var t=Object.keys(e),n=0;n>>3){case 1:o.image=l.im_proto.BaseImage.decode(e,e.uint32());break;case 2:o.focus_card_info=l.im_proto.FocusCardInfo.decode(e,e.uint32());break;case 3:o.description=l.im_proto.BaseText.decode(e,e.uint32());break;case 4:o.text1=l.im_proto.BaseText.decode(e,e.uint32());break;case 5:o.text2=l.im_proto.BaseText.decode(e,e.uint32());break;case 6:o.link_info=l.im_proto.LinkInfo.decode(e,e.uint32());break;case 200:o.req_base=l.im_proto.BaseReq.decode(e,e.uint32());break;case 201:o.resp_base=l.im_proto.BaseResp.decode(e,e.uint32());break;default:e.skipType(7&r)}}return o},e}(),e.FocusCardInfo=function(){function e(e){if(e)for(var t=Object.keys(e),n=0;n>>3){case 1:o.thumbnail=l.im_proto.BaseImage.decode(e,e.uint32());break;case 2:o.text=l.im_proto.BaseText.decode(e,e.uint32());break;default:e.skipType(7&r)}}return o},e}(),e.ImageCard=function(){function e(e){if(this.videos=[],e)for(var t=Object.keys(e),n=0;n>>3){case 1:o.title=l.im_proto.ImageCardTitle.decode(e,e.uint32());break;case 2:o.videos&&o.videos.length||(o.videos=[]),o.videos.push(l.im_proto.BaseVideo.decode(e,e.uint32()));break;case 3:o.link_info=l.im_proto.LinkInfo.decode(e,e.uint32());break;case 4:o.preview_hint=l.im_proto.PreviewHint.decode(e,e.uint32());break;case 200:o.req_base=l.im_proto.BaseReq.decode(e,e.uint32());break;case 201:o.resp_base=l.im_proto.BaseResp.decode(e,e.uint32());break;default:e.skipType(7&r)}}return o},e}(),e.ImageCardTitle=function(){function e(e){if(e)for(var t=Object.keys(e),n=0;n>>3){case 1:o.image=l.im_proto.BaseImage.decode(e,e.uint32());break;case 2:o.title=l.im_proto.BaseText.decode(e,e.uint32());break;case 3:o.subtitle=l.im_proto.BaseText.decode(e,e.uint32());break;case 4:o.button=l.im_proto.Button.decode(e,e.uint32());break;default:e.skipType(7&r)}}return o},e}(),e.StickerCard=function(){function e(e){if(e)for(var t=Object.keys(e),n=0;n>>3){case 1:o.sticker=l.im_proto.BaseImage.decode(e,e.uint32());break;case 2:o.preview_hint=l.im_proto.PreviewHint.decode(e,e.uint32());break;case 3:o.fallback=l.im_proto.StickerCardFallbackInfo.decode(e,e.uint32());break;case 4:o.sticker_creator_user_info=l.im_proto.UserInfo.decode(e,e.uint32());break;case 200:o.req_base=l.im_proto.BaseReq.decode(e,e.uint32());break;case 201:o.resp_base=l.im_proto.BaseResp.decode(e,e.uint32());break;default:e.skipType(7&r)}}return o},e}(),e.StickerCardFallbackInfo=function(){function e(e){if(e)for(var t=Object.keys(e),n=0;n>>3==1?o.placeholder=l.im_proto.BaseImage.decode(e,e.uint32()):e.skipType(7&r)}return o},e}(),e.CommonMsgCard=function(){function e(e){if(this.text_map={},this.image_map={},this.link_map={},this.button_map={},this.video_map={},this.user_map={},this.business_image_map={},this.business_video_map={},this.business_user_map={},e)for(var t=Object.keys(e),n=0;n>>3){case 1:i.text_map===c.emptyObject&&(i.text_map={});var a=e.uint32()+e.pos;for(n="",o=null;e.pos>>3){case 1:n=e.string();break;case 2:o=l.im_proto.BaseText.decode(e,e.uint32());break;default:e.skipType(7&g)}i.text_map[n]=o;break;case 2:for(i.image_map===c.emptyObject&&(i.image_map={}),a=e.uint32()+e.pos,n="",o=null;e.pos>>3){case 1:n=e.string();break;case 2:o=l.im_proto.BaseImage.decode(e,e.uint32());break;default:e.skipType(7&g)}i.image_map[n]=o;break;case 3:for(i.link_map===c.emptyObject&&(i.link_map={}),a=e.uint32()+e.pos,n="",o=null;e.pos>>3){case 1:n=e.string();break;case 2:o=l.im_proto.LinkInfo.decode(e,e.uint32());break;default:e.skipType(7&g)}i.link_map[n]=o;break;case 4:for(i.button_map===c.emptyObject&&(i.button_map={}),a=e.uint32()+e.pos,n="",o=null;e.pos>>3){case 1:n=e.string();break;case 2:o=l.im_proto.Button.decode(e,e.uint32());break;default:e.skipType(7&g)}i.button_map[n]=o;break;case 5:for(i.video_map===c.emptyObject&&(i.video_map={}),a=e.uint32()+e.pos,n="",o=null;e.pos>>3){case 1:n=e.string();break;case 2:o=l.im_proto.BaseVideo.decode(e,e.uint32());break;default:e.skipType(7&g)}i.video_map[n]=o;break;case 6:for(i.user_map===c.emptyObject&&(i.user_map={}),a=e.uint32()+e.pos,n="",o=null;e.pos>>3){case 1:n=e.string();break;case 2:o=l.im_proto.BaseUser.decode(e,e.uint32());break;default:e.skipType(7&g)}i.user_map[n]=o;break;case 7:i.fallback_info=l.im_proto.FallbackInfo.decode(e,e.uint32());break;case 8:i.preview_hint=l.im_proto.PreviewHint.decode(e,e.uint32());break;case 100:for(i.business_image_map===c.emptyObject&&(i.business_image_map={}),a=e.uint32()+e.pos,n="",o=null;e.pos>>3){case 1:n=e.string();break;case 2:o=l.im_proto.BaseImage.decode(e,e.uint32());break;default:e.skipType(7&g)}i.business_image_map[n]=o;break;case 101:for(i.business_video_map===c.emptyObject&&(i.business_video_map={}),a=e.uint32()+e.pos,n="",o=null;e.pos>>3){case 1:n=e.string();break;case 2:o=l.im_proto.BaseVideo.decode(e,e.uint32());break;default:e.skipType(7&g)}i.business_video_map[n]=o;break;case 102:for(i.business_user_map===c.emptyObject&&(i.business_user_map={}),a=e.uint32()+e.pos,n="",o=null;e.pos>>3){case 1:n=e.string();break;case 2:o=l.im_proto.BaseUser.decode(e,e.uint32());break;default:e.skipType(7&g)}}i.business_user_map[n]=o;break;case 200:i.extra_content=e.bytes();break;case 201:i.req_base=l.im_proto.BaseReq.decode(e,e.uint32());break;case 202:i.resp_base=l.im_proto.BaseResp.decode(e,e.uint32());break;default:e.skipType(7&s)}}return i},e}(),e.UiLocationType=function(){const e={},t=Object.create(e);return t[e[10001]="MessageNormal"]=10001,t[e[10002]="MessageCenter"]=10002,t[e[20001]="BannerTop"]=20001,t[e[20002]="BannerBottom"]=20002,t[e[30001]="PopupTop"]=30001,t[e[30002]="PopupBottom"]=30002,t}(),e.DynamicInfo=function(){function e(e){if(this.ab_dynamic_infos={},e)for(var t=Object.keys(e),n=0;n>>3){case 1:i.card_key=e.string();break;case 2:i.schema=e.string();break;case 3:i.card_template=e.string();break;case 4:i.business_type=e.string();break;case 5:i.business_id=e.string();break;case 6:i.default_height=e.int32();break;case 7:i.default_width=e.int32();break;case 8:i.ui_location_type=e.int32();break;case 9:i.raw_data=e.string();break;case 20:i.ab_key=e.string();break;case 21:i.ab_dynamic_infos===c.emptyObject&&(i.ab_dynamic_infos={});var a=e.uint32()+e.pos;for(n="",o=null;e.pos>>3){case 1:n=e.string();break;case 2:o=l.im_proto.DynamicInfo.decode(e,e.uint32());break;default:e.skipType(7&g)}}i.ab_dynamic_infos[n]=o;break;default:e.skipType(7&s)}}return i},e}(),e.DynamicCard=function(){function e(e){if(e)for(var t=Object.keys(e),n=0;n>>3){case 1:o.dynamic_info=l.im_proto.DynamicInfo.decode(e,e.uint32());break;case 10:o.fallback_info=l.im_proto.FallbackInfo.decode(e,e.uint32());break;case 11:o.preview_hint=l.im_proto.PreviewHint.decode(e,e.uint32());break;case 201:o.req_base=l.im_proto.BaseReq.decode(e,e.uint32());break;case 202:o.resp_base=l.im_proto.BaseResp.decode(e,e.uint32());break;default:e.skipType(7&r)}}return o},e}(),e.UserInfo=function(){function e(e){if(e)for(var t=Object.keys(e),n=0;n>>3){case 1:o.user_id=e.int64();break;case 2:o.nick_name=e.string();break;case 3:o.avatar_thumb=l.im_proto.BaseImage.decode(e,e.uint32());break;default:e.skipType(7&r)}}return o},e}(),e.InfoCard=function(){function e(e){if(this.buttons=[],e)for(var t=Object.keys(e),n=0;n>>3){case 1:o.title=l.im_proto.InfoCardTitle.decode(e,e.uint32());break;case 2:o.content=l.im_proto.InfoCardContent.decode(e,e.uint32());break;case 3:o.video=l.im_proto.BaseVideo.decode(e,e.uint32());break;case 4:o.buttons&&o.buttons.length||(o.buttons=[]),o.buttons.push(l.im_proto.InfoCardButton.decode(e,e.uint32()));break;case 6:o.link_info=l.im_proto.LinkInfo.decode(e,e.uint32());break;case 200:o.req_base=l.im_proto.BaseReq.decode(e,e.uint32());break;case 201:o.resp_base=l.im_proto.BaseResp.decode(e,e.uint32());break;default:e.skipType(7&r)}}return o},e}(),e.InfoCardContent=function(){function e(e){if(this.contents=[],e)for(var t=Object.keys(e),n=0;n>>3){case 1:o.description=l.im_proto.BaseText.decode(e,e.uint32());break;case 2:o.contents&&o.contents.length||(o.contents=[]),o.contents.push(l.im_proto.BaseText.decode(e,e.uint32()));break;default:e.skipType(7&r)}}return o},e}(),e.InfoCardTitle=function(){function e(e){if(e)for(var t=Object.keys(e),n=0;n>>3){case 1:o.title=l.im_proto.BaseText.decode(e,e.uint32());break;case 2:o.image=l.im_proto.BaseImage.decode(e,e.uint32());break;default:e.skipType(7&r)}}return o},e}(),e.InfoCardButton=function(){function e(e){if(e)for(var t=Object.keys(e),n=0;n>>3){case 1:o.text=l.im_proto.BaseText.decode(e,e.uint32());break;case 2:o.hint=l.im_proto.BaseText.decode(e,e.uint32());break;case 3:o.link=l.im_proto.LinkInfo.decode(e,e.uint32());break;case 4:o.type=e.int32();break;default:e.skipType(7&r)}}return o},e}(),e.ButtonType=function(){const e={},t=Object.create(e);return t[e[1]="DEFAULT"]=1,t[e[2]="CLICKABLE_TEXT"]=2,t}(),e.CommerceUserLevel=function(){const e={},t=Object.create(e);return t[e[0]="WITHOUT_LEVEL"]=0,t[e[1]="ONE"]=1,t[e[2]="TWO"]=2,t[e[3]="THREE"]=3,t}(),e.PrimaryImageType=function(){const e={},t=Object.create(e);return t[e[0]="PrimaryImageTypeUnknown"]=0,t[e[1]="PrimaryImageTypeFilter"]=1,t[e[2]="PrimaryImageTypeSkc"]=2,t[e[3]="PrimaryImageTypeIntent"]=3,t[e[4]="PrimaryImageTypeWhiteBackground"]=4,t[e[5]="PrimaryImageTypePure"]=5,t[e[6]="PrimaryImageTypeIntelligence"]=6,t[e[7]="PrimaryImageTypeLong"]=7,t[e[8]="PrimaryImageTypeDefault"]=8,t}(),e.UrlStruct=function(){function e(e){if(this.url_list=[],this.url_prefix=[],e)for(var t=Object.keys(e),n=0;n>>3){case 1:o.uri=e.string();break;case 2:o.url_list&&o.url_list.length||(o.url_list=[]),o.url_list.push(e.string());break;case 3:o.width=e.int32();break;case 4:o.height=e.int32();break;case 5:o.url_key=e.string();break;case 6:o.data_size=e.int64();break;case 7:o.file_hash=e.string();break;case 8:o.invalid=e.bool();break;case 9:o.file_cs=e.string();break;case 10:o.type=e.int32();break;case 11:o.url_sub_type=e.int32();break;case 12:o.md5=e.string();break;case 13:o.player_access_key=e.string();break;case 14:o.url_prefix&&o.url_prefix.length||(o.url_prefix=[]),o.url_prefix.push(e.string());break;case 15:o.image_media_model=l.im_proto.ImageMediaModel.decode(e,e.uint32());break;case 16:o.primary_image_type=e.int32();break;case 17:o.image_index=e.int32();break;case 18:o.preview=l.im_proto.PreviewStruct.decode(e,e.uint32());break;default:e.skipType(7&r)}}return o},e}(),e.ImagePackSourceInfo=function(){function e(e){if(e)for(var t=Object.keys(e),n=0;n>>3){case 1:o.tenant=e.string();break;case 2:o.pack_scene=e.string();break;case 3:o.biz_pack_source=e.string();break;default:e.skipType(7&r)}}return o},e}(),e.ImageMetaInfo=function(){function e(e){if(e)for(var t=Object.keys(e),n=0;n>>3){case 1:o.width=e.int64();break;case 2:o.height=e.int64();break;case 3:o.size=e.int64();break;case 4:o.bitrate=e.int64();break;case 5:o.definition=e.string();break;case 6:o.quality=e.int64();break;default:e.skipType(7&r)}}return o},e}(),e.ImageMediaModel=function(){function e(e){if(this.ladder_infos=[],e)for(var t=Object.keys(e),n=0;n>>3){case 1:o.original_uri=e.string();break;case 2:o.original_meta_info=l.im_proto.ImageMetaInfo.decode(e,e.uint32());break;case 3:o.ladder_infos&&o.ladder_infos.length||(o.ladder_infos=[]),o.ladder_infos.push(l.im_proto.ImageLadderInfo.decode(e,e.uint32()));break;case 4:o.expire_time=e.int64();break;case 5:o.pack_source_info=l.im_proto.ImagePackSourceInfo.decode(e,e.uint32());break;default:e.skipType(7&r)}}return o},e}(),e.ImageLadderInfo=function(){function e(e){if(this.url_list=[],e)for(var t=Object.keys(e),n=0;n>>3){case 1:o.ladder_name=e.string();break;case 2:o.uri=e.string();break;case 3:o.url_list&&o.url_list.length||(o.url_list=[]),o.url_list.push(e.string());break;case 4:o.meta_info=l.im_proto.ImageMetaInfo.decode(e,e.uint32());break;case 5:o.process_config=l.im_proto.ImageProcessConfig.decode(e,e.uint32());break;default:e.skipType(7&r)}}return o},e}(),e.ImageProcessConfig=function(){function e(e){if(this.params=[],e)for(var t=Object.keys(e),n=0;n>>3){case 1:o.template=e.string();break;case 2:o.usage=e.string();break;case 3:o.params&&o.params.length||(o.params=[]),o.params.push(l.im_proto.ImageProcessConfigParam.decode(e,e.uint32()));break;default:e.skipType(7&r)}}return o},e}(),e.ImageProcessConfigParam=function(){function e(e){if(e)for(var t=Object.keys(e),n=0;n>>3){case 1:o.param_key=e.string();break;case 2:o.param_value=e.string();break;default:e.skipType(7&r)}}return o},e}(),e.ImUserInfoCanShareMessageType=function(){const e={},t=Object.create(e);return t[e[0]="UNKNOWN_TYPE"]=0,t[e[1]="ON_TYPE"]=1,t[e[2]="OFF_TYPE"]=2,t}(),e.FollowStatus=function(){const e={},t=Object.create(e);return t[e[-1]="FollowRelationUnknown"]=-1,t[e[0]="NoRelationStatus"]=0,t[e[1]="FollowingStatus"]=1,t[e[2]="FollowEachOtherStatus"]=2,t[e[4]="FollowRequestStatus"]=4,t}(),e.VerificationType=function(){const e={},t=Object.create(e);return t[e[0]="UNCERTIFIED"]=0,t[e[1]="DEFAULT"]=1,t[e[2]="ORIGINAL_MUSICIAN"]=2,t[e[3]="EFFECT_ARTIST"]=3,t}(),e.UserActivityStatus=function(){function e(e){if(e)for(var t=Object.keys(e),n=0;n>>3){case 1:o.user_id=e.int64();break;case 2:o.active_time=e.int64();break;case 3:o.inactive_time=e.int64();break;case 4:o.now_status=e.int32();break;default:e.skipType(7&r)}}return o},e}(),e.ImUserInfoStruct=function(){function e(e){if(e)for(var t=Object.keys(e),n=0;n>>3){case 1:o.uid=e.string();break;case 2:o.short_id=e.string();break;case 3:o.nickname=e.string();break;case 4:o.avatar_thumb=l.im_proto.UrlStruct.decode(e,e.uint32());break;case 5:o.signature=e.string();break;case 6:o.follow_status=e.int32();break;case 7:o.enterprise_verify_reason=e.string();break;case 10:o.verification_type=e.int32();break;case 11:o.custom_verify=e.string();break;case 12:o.unique_id=e.string();break;case 13:o.commerce_user_level=e.int32();break;case 14:o.remark_name=e.string();break;case 16:o.is_block=e.bool();break;case 17:o.sec_uid=e.string();break;case 18:o.can_share_message=e.int32();break;case 20:o.follow_time=e.int64();break;case 21:o.follower_status=e.int32();break;case 22:o.activity_status=l.im_proto.UserActivityStatus.decode(e,e.uint32());break;case 23:o.avatar_medium=l.im_proto.UrlStruct.decode(e,e.uint32());break;default:e.skipType(7&r)}}if(!o.hasOwnProperty("uid"))throw c.ProtocolError("missing required 'uid'",{instance:o});if(!o.hasOwnProperty("short_id"))throw c.ProtocolError("missing required 'short_id'",{instance:o});if(!o.hasOwnProperty("nickname"))throw c.ProtocolError("missing required 'nickname'",{instance:o});if(!o.hasOwnProperty("avatar_thumb"))throw c.ProtocolError("missing required 'avatar_thumb'",{instance:o});if(!o.hasOwnProperty("signature"))throw c.ProtocolError("missing required 'signature'",{instance:o});return o},e}(),e.IMUserShareStatus=function(){const e={},t=Object.create(e);return t[e[0]="ShareMessage_UNKNOWN"]=0,t[e[1]="ShareMessage_ALLOWED"]=1,t[e[2]="ShareMessage_NOTALLOWED"]=2,t}(),e.IMTTNUserShareStatus=function(){const e={},t=Object.create(e);return t[e[0]="TTNShare_UNKNOWN"]=0,t[e[1]="TTNShare_ALLOWED"]=1,t[e[2]="TTNShare_NOT_ALLOWED"]=2,t[e[3]="TTNShare_DISABLED"]=3,t}(),e.SharePermission=function(){function e(e){if(e)for(var t=Object.keys(e),n=0;n>>3){case 1:o.user_id=e.int64();break;case 2:o.user_share_status=e.int32();break;case 3:o.ttn_share_status=e.int32();break;case 4:o.update_time=e.int64();break;default:e.skipType(7&r)}}if(!o.hasOwnProperty("user_id"))throw c.ProtocolError("missing required 'user_id'",{instance:o});if(!o.hasOwnProperty("user_share_status"))throw c.ProtocolError("missing required 'user_share_status'",{instance:o});if(!o.hasOwnProperty("ttn_share_status"))throw c.ProtocolError("missing required 'ttn_share_status'",{instance:o});if(!o.hasOwnProperty("update_time"))throw c.ProtocolError("missing required 'update_time'",{instance:o});return o},e}(),e.IMShareFilterType=function(){const e={},t=Object.create(e);return t[e[0]="IM_SHARE_FILTER_TYPE_UNKNOWN"]=0,t[e[1]="IM_SHARE_FILTER_TYPE_TO_FYP"]=1,t}(),e.IMUserB2CAccountInfo=function(){function e(e){if(e)for(var t=Object.keys(e),n=0;n>>3==1?o.user_tags=e.string():e.skipType(7&r)}return o},e}(),e.IMUserCameraInfo=function(){function e(e){if(e)for(var t=Object.keys(e),n=0;n>>3==1?o.feature_result=l.im_proto.IMFeatureResult.decode(e,e.uint32()):e.skipType(7&r)}return o},e}(),e.IMFeatureResult=function(){function e(e){if(e)for(var t=Object.keys(e),n=0;n>>3==1?o.status=e.int32():e.skipType(7&r)}return o},e}(),e.IMFeatureStatus=function(){const e={},t=Object.create(e);return t[e[0]="IM_FEATURE_STATUS_UNKNOWN"]=0,t[e[1]="IM_FEATURE_STATUS_ALLOWED"]=1,t[e[2]="IM_FEATURE_STATUS_DISALLOWED"]=2,t}(),e.IMUserBizInfo=function(){function e(e){if(e)for(var t=Object.keys(e),n=0;n>>3){case 1:o.share_filter_type=e.int32();break;case 2:o.affinity_score=e.double();break;case 3:o.user_share_status=e.int32();break;case 4:o.user_b2c_account_info=l.im_proto.IMUserB2CAccountInfo.decode(e,e.uint32());break;case 5:o.camera_info=l.im_proto.IMUserCameraInfo.decode(e,e.uint32());break;case 100:o.update_time=e.int64();break;default:e.skipType(7&r)}}return o},e}(),e.IMUserProfileInfo=function(){function e(e){if(e)for(var t=Object.keys(e),n=0;n>>3){case 1:o.im_user_profile=l.im_proto.IMUserBaseInfo.decode(e,e.uint32());break;case 2:o.share_permission=l.im_proto.SharePermission.decode(e,e.uint32());break;case 3:o.im_biz_info=l.im_proto.IMUserBizInfo.decode(e,e.uint32());break;default:e.skipType(7&r)}}if(!o.hasOwnProperty("im_user_profile"))throw c.ProtocolError("missing required 'im_user_profile'",{instance:o});return o},e}(),e.PreviewStruct=function(){function e(e){if(e)for(var t=Object.keys(e),n=0;n>>3){case 1:o.data=e.string();break;case 2:o.preview_type=e.int32();break;default:e.skipType(7&r)}}return o},e}(),e.UserNowStatus=function(){const e={},t=Object.create(e);return t[e[0]="NoVisibleNow"]=0,t[e[1]="HasVisibleNow"]=1,t[e[2]="ViewedVisibleNow"]=2,t}(),e.FollowerStatus=function(){const e={},t=Object.create(e);return t[e[-1]="FollowerRelationUnknown"]=-1,t[e[0]="FollowerNotFollowStatus"]=0,t[e[1]="FollowerFollowStatus"]=1,t}(),e.BlockInfo=function(){function e(e){if(e)for(var t=Object.keys(e),n=0;n>>3){case 1:o.block=e.bool();break;case 2:o.blocked_by=e.bool();break;default:e.skipType(7&r)}}return o},e}(),e.FakeDataStruct=function(){function e(e){if(e)for(var t=Object.keys(e),n=0;n>>3){case 1:o.fake_nickname=e.string();break;case 2:o.fake_username=e.string();break;case 3:o.is_fake_avatar=e.bool();break;case 4:o.is_fake_bio=e.bool();break;default:e.skipType(7&r)}}return o},e}(),e.UserType=function(){const e={},t=Object.create(e);return t[e[0]="UserTypeUnknown"]=0,t[e[1]="UserTypeConversation"]=1,t[e[2]="UserTypeFriends"]=2,t[e[3]="UserTypeMafFriends"]=3,t[e[4]="UserTypeFollowing"]=4,t}(),e.IMUserBaseInfo=function(){function e(e){if(e)for(var t=Object.keys(e),n=0;n>>3){case 1:o.user_id=e.int64();break;case 2:o.avatars=l.im_proto.Avatars.decode(e,e.uint32());break;case 3:o.nick_name=e.string();break;case 4:o.follow_status=e.int32();break;case 5:o.maf_status=e.int32();break;case 6:o.update_time=e.int64();break;case 7:o.unique_id=e.string();break;case 8:o.rec_type=e.string();break;case 9:o.user_type=e.int32();break;case 10:o.follower_status=e.int32();break;case 11:o.block_info=l.im_proto.BlockInfo.decode(e,e.uint32());break;case 12:o.recommend_reason=e.string();break;case 13:o.enterprise_verify_reason=e.string();break;case 14:o.user_verify_reason=e.string();break;case 15:o.user_verify_type=e.int32();break;case 16:o.deleted=e.int32();break;case 17:o.following_count=e.int32();break;case 18:o.follower_count=e.int32();break;case 19:o.fake_data_info=l.im_proto.FakeDataStruct.decode(e,e.uint32());break;default:e.skipType(7&r)}}if(!o.hasOwnProperty("user_id"))throw c.ProtocolError("missing required 'user_id'",{instance:o});if(!o.hasOwnProperty("avatars"))throw c.ProtocolError("missing required 'avatars'",{instance:o});if(!o.hasOwnProperty("nick_name"))throw c.ProtocolError("missing required 'nick_name'",{instance:o});if(!o.hasOwnProperty("follow_status"))throw c.ProtocolError("missing required 'follow_status'",{instance:o});if(!o.hasOwnProperty("maf_status"))throw c.ProtocolError("missing required 'maf_status'",{instance:o});if(!o.hasOwnProperty("update_time"))throw c.ProtocolError("missing required 'update_time'",{instance:o});if(!o.hasOwnProperty("unique_id"))throw c.ProtocolError("missing required 'unique_id'",{instance:o});if(!o.hasOwnProperty("rec_type"))throw c.ProtocolError("missing required 'rec_type'",{instance:o});if(!o.hasOwnProperty("user_type"))throw c.ProtocolError("missing required 'user_type'",{instance:o});return o},e}(),e.Avatars=function(){function e(e){if(e)for(var t=Object.keys(e),n=0;n>>3){case 1:o.avatar_small=l.im_proto.UrlStruct.decode(e,e.uint32());break;case 2:o.avatar_medium=l.im_proto.UrlStruct.decode(e,e.uint32());break;default:e.skipType(7&r)}}return o},e}(),e.IMMafStatus=function(){const e={},t=Object.create(e);return t[e[0]="Status_Unknown"]=0,t[e[1]="Status_MAF"]=1,t[e[2]="Status_NOT_MAF"]=2,t}(),e.IMUserDeleteStatus=function(){const e={},t=Object.create(e);return t[e[0]="IM_USER_DELETE_STATUS_NONE"]=0,t[e[1]="IM_USER_DELETE_STATUS_ACCOUNT_DELETED"]=1,t[e[2]="IM_USER_DELETE_STATUS_FTC"]=2,t}(),e.tiktok_v1_im_user_profile_request=function(){function e(e){if(this.user_ids=[],e)for(var t=Object.keys(e),n=0;n>>3){case 1:o.user_ids&&o.user_ids.length||(o.user_ids=[]),o.user_ids.push(e.string());break;case 10:o.source=e.string();break;default:e.skipType(7&r)}}return o},e}(),e.tiktok_v1_im_user_profile_response=function(){function e(e){if(this.users=[],e)for(var t=Object.keys(e),n=0;n>>3){case 1:o.users&&o.users.length||(o.users=[]),o.users.push(l.im_proto.IMUserProfileInfo.decode(e,e.uint32()));break;case 2:o.status_code=e.int32();break;case 3:o.status_msg=e.string();break;default:e.skipType(7&r)}}if(!o.hasOwnProperty("status_code"))throw c.ProtocolError("missing required 'status_code'",{instance:o});return o},e}(),e.GroupNameDefinition=function(){function e(e){if(e)for(var t=Object.keys(e),n=0;n>>3){case 1:o.user_id=e.int64();break;case 2:o.custom_group_name=e.string();break;default:e.skipType(7&r)}}return o},e}(),e.GroupListReqParam=function(){function e(e){if(e)for(var t=Object.keys(e),n=0;n>>3){case 1:o.group_name=l.im_proto.GroupNameDefinition.decode(e,e.uint32());break;case 2:o.cursor=e.int64();break;case 3:o.direction=e.int32();break;case 4:o.limit=e.int32();break;default:e.skipType(7&r)}}return o},e}(),e.GetConversationGroupListRequestBody=function(){function e(e){if(this.group_list_req_param=[],e)for(var t=Object.keys(e),n=0;n>>3){case 1:o.inbox_type=e.int32();break;case 2:o.only_conversation_short_id=e.bool();break;case 3:o.group_list_req_param&&o.group_list_req_param.length||(o.group_list_req_param=[]),o.group_list_req_param.push(l.im_proto.GroupListReqParam.decode(e,e.uint32()));break;default:e.skipType(7&r)}}return o},e}(),e.GetConversationGroupListResponseBody=function(){function e(e){if(this.data=[],e)for(var t=Object.keys(e),n=0;n>>3==1?(o.data&&o.data.length||(o.data=[]),o.data.push(l.im_proto.GroupListData.decode(e,e.uint32()))):e.skipType(7&r)}return o},e}(),e.GroupListData=function(){function e(e){if(this.conversations=[],e)for(var t=Object.keys(e),n=0;n>>3){case 1:o.group_name=l.im_proto.GroupNameDefinition.decode(e,e.uint32());break;case 2:o.cursor=e.int64();break;case 3:o.has_more=e.bool();break;case 4:o.total_count=e.int32();break;case 5:o.conversations&&o.conversations.length||(o.conversations=[]),o.conversations.push(l.im_proto.ConversationInfoWithMessage.decode(e,e.uint32()));break;default:e.skipType(7&r)}}return o},e}(),e.ConversationInfoWithMessage=function(){function e(e){if(this.messages=[],e)for(var t=Object.keys(e),n=0;n>>3){case 1:o.conversation_info=l.im_proto.ConversationInfoV2.decode(e,e.uint32());break;case 2:o.messages&&o.messages.length||(o.messages=[]),o.messages.push(l.im_proto.MessageBody.decode(e,e.uint32()));break;default:e.skipType(7&r)}}return o},e}(),e.ConversationGroupPushType=function(){const e={},t=Object.create(e);return t[e[0]="Unknown"]=0,t[e[1]="GroupAddConversation"]=1,t[e[2]="GroupDeleteConversation"]=2,t[e[3]="GroupConversationNewMsg"]=3,t[e[4]="GroupConversationCoreInfoUpdate"]=4,t[e[5]="GroupConversationParticipantsUpdate"]=5,t}(),e.ConversationGroupPushContent=function(){function e(e){if(this.groups=[],this.ext={},e)for(var t=Object.keys(e),n=0;n>>3){case 1:i.push_type=e.int32();break;case 2:i.groups&&i.groups.length||(i.groups=[]),i.groups.push(l.im_proto.GroupNameDefinition.decode(e,e.uint32()));break;case 3:i.conversation_short_id=e.int64();break;case 4:i.message_body=l.im_proto.MessageBody.decode(e,e.uint32());break;case 5:i.ext===c.emptyObject&&(i.ext={});var a=e.uint32()+e.pos;for(n="",o="";e.pos>>3){case 1:n=e.string();break;case 2:o=e.string();break;default:e.skipType(7&g)}}i.ext[n]=o;break;default:e.skipType(7&s)}}if(!i.hasOwnProperty("push_type"))throw c.ProtocolError("missing required 'push_type'",{instance:i});if(!i.hasOwnProperty("conversation_short_id"))throw c.ProtocolError("missing required 'conversation_short_id'",{instance:i});return i},e}(),e})(),d={version:"1.2.3",branch:"master",commit:"831c301"},u={sdkVersion:d.version,refer:g.Refer.PC,buildNumber:`${d.commit}:${d.branch}`,wsProtocols:["binary","base64","pbbp2"],ticketType:g.TicketType.TICKET_TYPE_WEB,envKey:"x-tt-env",boeHeaderKey:"x-use-boe",ppeHeaderKey:"x-use-ppe",requestAccessName:"web_sdk",heartbeatInterval:15e3,maxHeartbeatEmptyWindow:3e4,conversationRefreshCount:10};var p,h;!function(e){e[e.Default=0]="Default",e[e.PushOnly=1]="PushOnly",e[e.All=2]="All",e[e.Disable=3]="Disable"}(p||(p={})),function(e){e.MessageMode="s:mode",e.SendResponseStatus="s:send_response_status",e.SendResponseExtraInfo="s:send_response_extra_info",e.SendResponseCheckCode="s:send_response_check_code",e.SendResponseCheckMessage="s:send_response_check_msg",e.ClientMessageId="s:client_message_id",e.MentionedUser="s:mentioned_users",e.DoNotIncreaseUnread="s:do_not_increase_unread",e.DoNotPopConversation="s:do_not_pop_conversation",e.IsRecalled="s:is_recalled",e.ServerMessageId="s:server_message_id",e.LocalLogId="s:local_logid",e.MessageVisible="s:visible",e.MessageInvisible="s:invisible",e.RelationIsMuted="s:relation_is_muted",e.RelationNormalOnly="s:relation_normal_only",e.RelationMuteTime="s:relation_mute_time",e.RelationMuteExt="s:relation_mute_ext",e.MessageSourceAppId="s:biz_aid",e.ConversationSourceAppId="s:s_aid",e.MarkActionType="s:action_type",e.IsRootReference="s:is_root_ref",e.MarkMessageNewExt="s:mark_message_new_ext",e.AckSampling="s:is_ack_sampling",e.AckSamplingShow="s:is_ack_sampling_show",e.DoNotUpdateLastMessage="s:do_not_update_last_msg",e.DoNotMoveReadIndex="s:do_not_move_read_index",e.FileExtKeyAudioAsrText="s:file_ext_key_audio_asr_text",e.RecognitionResponseCheckCode="s:recognition_response_check_code",e.RecognitionResponseCheckMsg="s:recognition_response_check_msg",e.PushPartDisableConfig="s:push_part_disable_config",e.MustNotify="s:must_notify",e.UserConversationTag="a:user_conversation_tag",e.SyncUpdateCore="s:sync_update_core",e.SyncUpdateCoreExt="s:sync_update_core_ext",e.BanStatusV2="ban_status_v2",e.BanExpiry="ban_expiry",e.BanOwnerCanAppeal="a:ban_owner_appeal",e.BanOwnerAppealParams="a:ban_appeal_param"}(h||(h={}));const _="mute_wl";var y,I,f,m,B,C,E,v,Q,b,w,M,k,D,O,S,R;!function(e){e[e.Enable=0]="Enable",e[e.Disable=1]="Disable"}(y||(y={})),function(e){e[e.SingleChat=1]="SingleChat",e[e.GroupChat=2]="GroupChat",e[e.LiveChat=3]="LiveChat"}(I||(I={})),function(e){e[e.Normal=0]="Normal",e[e.Dissolved=1]="Dissolved"}(f||(f={})),function(e){e[e.Off=0]="Off",e[e.On=1]="On"}(m||(m={})),function(e){e[e.Off=0]="Off",e[e.On=1]="On"}(B||(B={})),function(e){e[e.Unknown=0]="Unknown",e[e.Allow=1]="Allow",e[e.Disable=2]="Disable",e[e.PartAllow=3]="PartAllow"}(C||(C={})),function(e){e[e.Off=0]="Off",e[e.On=1]="On"}(E||(E={})),function(e){e[e.NotAvailable=0]="NotAvailable",e[e.Start=1]="Start",e[e.Error=2]="Error",e[e.Succeeded=3]="Succeeded"}(v||(v={})),function(e){e[e.Unknown=0]="Unknown",e[e.Online=1]="Online",e[e.LoadMore=2]="LoadMore",e[e.Init=3]="Init",e[e.UserInbox=4]="UserInbox",e[e.BroadcastLoadMore=5]="BroadcastLoadMore",e[e.PullByTag=6]="PullByTag",e[e.Offline=7]="Offline"}(Q||(Q={})),function(e){e.Error="error",e.WebSocketConnected="websocket-connected",e.WebSocketDisconnected="websocket-disconnected",e.WebSocketReceiveUnexpectedFrame="websocket-receive-unexpected-frame",e.ReceiveNewMessage="receive-new-message",e.ReceiveSelfMessage="receive-self-message",e.ReceiveCommandMessage="receive-command-message",e.ReceiveBroadcastNewMessage="receive-broadcast-new-message",e.ReceiveBroadcastSelfMessage="receive-broadcast-self-message",e.ReceiveNewUpdateExtMessage="receive-new-update-ext-message",e.ReceiveNewP2PMessage="receive-new-p2p-message",e.MessageUpsert="message-upsert",e.ConversationChange="conversation-change",e.ConversationUpsert="conversation-upsert",e.ConversationDissolve="conversation-dissolve",e.ConversationBlock="conversation-block",e.ParticipantUpsert="participant-upsert",e.ParticipantJoin="participant-join",e.ParticipantLeave="participant-leave",e.ParticipantBlock="participant-block",e.MessageSend="message-send",e.MessageRecall="message-recall",e.MessageDelete="message-delete",e.ConversationDelete="conversation-delete",e.ConversationLeave="conversation-leave",e.ConversationCreate="conversation-create",e.ConversationJoin="conversation-join",e.ReceiveNewStrangerMessage="receive-new-stranger-message",e.StrangerUpgrade="stranger-upgrade",e.ReceiveRtc="receive-rtc",e.MessagePropertyUpsert="message-property-upsert",e.RefreshMessage="refresh-message",e.InitLoadPage="init-load-page",e.InitFinish="init-finish",e.SdkStatusChange="sdk-status-change"}(b||(b={})),function(e){e[e.Unknown=-1]="Unknown",e[e.Success=0]="Success",e[e.InvalidToken=1]="InvalidToken",e[e.InvalidTicket=2]="InvalidTicket",e[e.InvalidRequest=4]="InvalidRequest",e[e.InvalidCommand=5]="InvalidCommand",e[e.ServerError=6]="ServerError",e[e.UserForbidden=11]="UserForbidden",e[e.MessageTargetConversationNotExist=15]="MessageTargetConversationNotExist",e[e.Degradation=16]="Degradation",e[e.RecallTimeout=17]="RecallTimeout",e[e.CallbackDeny=19]="CallbackDeny",e[e.ExpiredToken=100]="ExpiredToken",e[e.InvalidParam=400]="InvalidParam",e[e.ResourceExhausted=429]="ResourceExhausted",e[e.InternalError=500]="InternalError",e[e.InvalidInboxType=1e3]="InvalidInboxType",e[e.ConversationNotExist=1001]="ConversationNotExist",e[e.MessageNotExist=1002]="MessageNotExist",e[e.MessageOffline=1003]="MessageOffline",e[e.UnknownMessageType=1004]="UnknownMessageType",e[e.InvalidServerId=1005]="InvalidServerId",e[e.MessageNotReady=1006]="MessageNotReady",e[e.TokenFuncError=1007]="TokenFuncError",e[e.NetworkError=1008]="NetworkError",e[e.AlreadyDispose=1009]="AlreadyDispose",e[e.NoAdapter=1010]="NoAdapter",e[e.ComponentNotFound=1011]="ComponentNotFound",e[e.NotImplemented=1012]="NotImplemented",e[e.MPInvalidArgument=10001]="MPInvalidArgument",e[e.MPServerUrlError=10002]="MPServerUrlError",e[e.MPNotFileMsg=10003]="MPNotFileMsg",e[e.MPUploadError=10004]="MPUploadError",e[e.MPNotSupportCipher=10005]="MPNotSupportCipher",e[e.RtcUnknown=10100]="RtcUnknown",e[e.RtcCreateRoomFail=10101]="RtcCreateRoomFail",e[e.RtcStartCallFail=10102]="RtcStartCallFail",e[e.RtcAlreadyCalling=10103]="RtcAlreadyCalling",e[e.RtcAlreadyOnTheCall=10104]="RtcAlreadyOnTheCall",e[e.RtcNotCalling=10105]="RtcNotCalling",e[e.RtcNotOnTheCall=10106]="RtcNotOnTheCall",e[e.RtcNotRinging=10107]="RtcNotRinging",e[e.RtcAcceptFail=10108]="RtcAcceptFail",e[e.RtcCheckStatusFail=10109]="RtcCheckStatusFail",e[e.RtcInvalidParam=10110]="RtcInvalidParam",e[e.RtcNotInit=10111]="RtcNotInit",e[e.RtcNoClient=10112]="RtcNoClient",e[e.RtcNoInfo=10113]="RtcNoInfo",e[e.RtcNoStream=10114]="RtcNoStream",e[e.RtcSdkError=10115]="RtcSdkError",e[e.RtcNotSupported=10116]="RtcNotSupported",e[e.DbOpError=2e4]="DbOpError",e[e.StorageCryptoError=20001]="StorageCryptoError",e[e.AuthSignError=10201]="AuthSignError",e[e.DynamicCardAppendContentPbError=10301]="DynamicCardAppendContentPbError"}(w||(w={})),function(e){e[e.Created=0]="Created",e[e.Preparing=1]="Preparing",e[e.Inflight=2]="Inflight",e[e.Succeeded=3]="Succeeded",e[e.Received=4]="Received",e[e.Failed=-1]="Failed",e[e.Rejected=-2]="Rejected",e[e.SelfVisible=-3]="SelfVisible"}(M||(M={})),function(e){e[e.Connected=0]="Connected",e[e.Disconnected=1]="Disconnected",e[e.Destroyed=2]="Destroyed"}(k||(k={})),function(e){e[e.Succeeded=0]="Succeeded",e[e.UserNotInConversation=1]="UserNotInConversation",e[e.CheckConversationNotPass=2]="CheckConversationNotPass",e[e.CheckMessageNotPass=3]="CheckMessageNotPass",e[e.CheckMessageNotPassButSelfVisible=4]="CheckMessageNotPassButSelfVisible",e[e.UserHasBeenBlock=5]="UserHasBeenBlock"}(D||(D={})),function(e){e[e.Succeeded=0]="Succeeded",e[e.Rejected=1]="Rejected",e[e.PartialRejected=2]="PartialRejected"}(O||(O={})),function(e){e[e.Immediate=0]="Immediate",e[e.Throttle=1]="Throttle",e[e.Debounce=2]="Debounce",e[e.ThrottleWithArgs=3]="ThrottleWithArgs",e[e.DebounceWithArgs=4]="DebounceWithArgs"}(S||(S={})),function(e){e[e.Default=0]="Default",e[e.AwemeMode=1]="AwemeMode"}(R||(R={}));const L=[];for(let e=0;e<256;++e)L[e]=(e+256).toString(16).substr(1);const T=new Array(16);function P(){const e=function(){for(let e=0,t=0;e<16;e++)3&e||(t=4294967296*Math.random()),T[e]=t>>>((3&e)<<3)&255;return T}();return e[6]=15&e[6]|64,e[8]=63&e[8]|128,function(e){let t=0;const n=L;return[n[e[t++]],n[e[t++]],n[e[t++]],n[e[t++]],"-",n[e[t++]],n[e[t++]],"-",n[e[t++]],n[e[t++]],"-",n[e[t++]],n[e[t++]],"-",n[e[t++]],n[e[t++]],n[e[t++]],n[e[t++]],n[e[t++]],n[e[t++]]].join("")}(T)}var G,x;!function(e){e.CoreInstance="coreInstance",e.NetworkManager="netManager",e.ConversationManager="conversationManger",e.MessageManager="messageManager",e.ParticipantManager="participantManager",e.EventBus="eventBus",e.Monitor="montior",e.DbProxy="dbProxy",e.CoreApi="coreApi",e.InboxType="inboxType",e.ExtensionPlugin="extensionPlugin",e.ExtensionApi="extensionApi",e.BroadcastManager="broadcastManager",e.MetricsPlugin="metricsPlugin",e.MetricsApi="metricsApi",e.MultimediaPlugin="multimediaPlugin",e.MultimediaApi="multimediaApi",e.SharkPlugin="sharkPlugin",e.StoragePlugin="storagePlugin",e.StorageApi="storageApi",e.StrangerPlugin="strangerPlugin",e.StrangerApi="strangerApi",e.SecurityPlugin="securityPlugin",e.AuthManager="AuthManager",e.DynamicCardPlugin="dynamicCardPlugin",e.UserPlugin="userPlugin",e.UserApi="userApi",e.BizPlugin="bizPlugin",e.BizApi="bizApi"}(G||(G={}));class Y{constructor(){this.services=new Map,this.plugins=new Map}register(e,t,n){this.services.has(e)||this.services.set(e,new Map),this.services.get(e).set(t,n)}resolve(e,t){var n;return null===(n=this.services.get(e))||void 0===n?void 0:n.get(t)}get instanceCount(){return this.services.size}}Y.Instance=new Y;class j{constructor(){this.initResult=0,this.cachedToken="",this.id="",this._status=k.Disconnected,this.id=P()}get plugin(){var e;return null!==(e=Y.Instance.plugins.get(this.id))&&void 0!==e?e:[]}set plugin(e){Y.Instance.plugins.set(this.id,e)}get status(){return this._status}set status(e){this.initResult===v.Succeeded&&this._status!==k.Destroyed&&(this._status=e,this.resolve(G.EventBus).emit(b.SdkStatusChange,this,e))}register(e,t){let n=t;return"function"==typeof t&&(n=new t(this)),Y.Instance.register(this.id,e,n),n}resolve(e){return Y.Instance.resolve(this.id,e)}}class F{constructor(e){this.__internal_ctx=e}get ctx(){return this.getContext()}bindContext(e){this.__internal_ctx=e}getContext(){return this.__internal_ctx||new j}resolve(e){return this.getContext().resolve(e)}register(e,t){return this.getContext().register(e,t)}}!function(e){e[e.debug=0]="debug",e[e.info=1]="info",e[e.warn=2]="warn",e[e.error=3]="error",e[e.none=4]="none"}(x||(x={}));const N={[x.info]:"#1890ff",[x.debug]:"#19be6b",[x.warn]:"#ff9900",[x.error]:"#ed4014"},U={debug:x.debug,info:x.info,warn:x.warn,error:x.error,none:x.none};class H{static get isBrowser(){return"undefined"!=typeof navigator}static log(e,t,...n){var o;t&&(null===(o=t.resolve(G.Monitor))||void 0===o||o.emitLog(U[e],n)),(null==t?void 0:t.option.debug)&&"none"!==e&&this.level<=x[e]&&(t&&Y.Instance.instanceCount>1?H.isBrowser?console[e](`%c [Byted IM SDK][${t.id}] [${e}]:`,`color: ${N[x[e]]}; font-weight: 700`,...n):console[e](`[Byted IM SDK][${t.id}] [${e}]:`,...n):H.isBrowser?console[e](`%c [Byted IM SDK] [${e}]:`,`color: ${N[x[e]]}; font-weight: 700`,...n):console[e](`[Byted IM SDK] [${e}]:`,...n))}static debug(...e){this.log("debug",void 0,...e)}static info(...e){this.log("info",void 0,...e)}static warn(...e){this.log("warn",void 0,...e)}static error(...e){this.log("error",void 0,...e)}static ctxDebug(e,...t){this.log("debug",e,...t)}static ctxInfo(e,...t){this.log("info",e,...t)}static ctxWarn(e,...t){this.log("warn",e,...t)}static ctxError(e,...t){this.log("error",e,...t)}}var q;H.level=x.debug,function(e){e.SdkConstructor="sdk.constructor",e.CreateConversation="create.conv",e.PrepareToken="prepare.token",e.SendMessage="send.msg",e.ReceiveMessage="recieve.msg",e.WsConnect="ws.connect",e.NetworkRequest="network.request",e.EncodeData="encode.data",e.DecodeData="decode.data",e.LoadHistory="load.history",e.PluginsInit="plugins.init",e.PluginInit="plugin.init",e.InitPull="puller_wakeup_pull_init",e.FrontierConnect="frontier.connect",e.FrontierOpen="frontier.open",e.FrontierClose="frontier.close",e.FrontierError="frontier.error",e.FrontierReceive="frontier.receive",e.FrontierLive="frontier.live",e.WebSocketConnectFirst="ws.connect.first",e.WebSocketConnectAfterClose="ws.connect.afterclose",e.WebSocketConnectNoHeartbeat="ws.connect.noheartbeat",e.BizApiInvoke="api.invoke",e.SuccessSuffix=".success",e.ErrorSuffix=".error",e.JsbSendHttp="jsb.http",e.JsbConnectSocket="jsb.connectsocket",e.JsbSendSocketData="jsb.sendsocketdata",e.JsbCloseSocket="jsb.closesocket",e.MessageAck="imsdk_message_ack",e.ReadPerf="qos_read_receipt_perf",e.BizSdkInit="init",e.BizRefreshToken="refresh.token",e.BizSdkError="error",e.GetMessagesByConversation="message.get.byconversation",e.GetMessagesByTicker="message.get.ticker"}(q||(q={}));class J extends F{static get avgDelta(){return 0===this.putDeltaTimes?0:this.totalDelta/this.putDeltaTimes}static putTimeDelta(e,t,n,o){if(void 0===n||void 0===o)return;const r=o-((t-e-(n-o))/2+e);J.putDeltaTimes++,J.totalDelta+=r}get avgDelta(){return J.avgDelta}static performanceNow(){return"object"==typeof performance&&"function"==typeof performance.now&&"number"==typeof performance.timeOrigin?performance.now()+performance.timeOrigin:Date.now()}invoke(e,...t){if(void 0===this.ctx.option.monitor)return!1;let n=this.ctx.option.monitor;Array.isArray(n)||(n=[n]),n.forEach((n=>{const o=n[e];return"function"==typeof o&&setTimeout((()=>{o.apply(n,t)}),0)}))}fillKv(e){const t=Object.assign(Object.assign(Object.assign({},e),this.ctx.option.monitorTagKv),{sdk_version:u.sdkVersion,sdk_type:"im-web-sdk",build_number:u.buildNumber,app_id:this.ctx.option.appId.toString(),user_id:this.ctx.option.userId});return this.ctx.option.versionCode&&(t.version_code=this.ctx.option.versionCode),t}emitMetrics(e,t={},n={}){this.invoke("emitMetrics",e,t,this.fillKv(n))}emitCounter(e,t=1,n={}){0!==t&&this.invoke("emitMetrics",e,{count:t},this.fillKv(n))}emitDuration(e,t,n={}){const o=J.performanceNow()-t;return this.invoke("emitMetrics",e,{duration:o},this.fillKv(n)),o}emitLatencyDuration(e,t,n={}){const o=this.ctx.option.timeCalibration?this.avgDelta:0,r=J.performanceNow()+o-t;r<0||this.invoke("emitMetrics",e,{duration:r},this.fillKv(n))}emitError(e){this.invoke("emitError",e,this.fillKv({}))}emitNetwork(e,t,n={}){this.invoke("emitNetwork",e,t,this.fillKv(n))}emitEvent(e,t,n){this.invoke("emitEvent",e,t,n)}emitLog(e,...t){this.invoke("emitLog",e,t[0])}emitTracker(e,t){this.invoke("emitTracker",e,this.fillKv(t))}}J.putDeltaTimes=0,J.totalDelta=0;class K extends Error{constructor(e){var t,n,o,r;super(`${e&&e.logid?`[${e.logid}] `:""}${e&&e.msg?`message: "${e.msg}"`:""}${e&&e.innerError?`, inner error: "${e.innerError}"`:""}`),this.ctx=e.ctx,Object.assign(this,e),Object.setPrototypeOf(this,K.prototype),(null===(t=this.innerError)||void 0===t?void 0:t.logid)&&(this.logid=this.innerError.logid);try{"string"==typeof(null===(n=this.innerError)||void 0===n?void 0:n.stack)&&(this.stack=`${this.innerError.stack}\n${null===(o=this.stack)||void 0===o?void 0:o.split("\n").slice(2).join("\n")}`)}catch(e){H.ctxWarn(this.ctx,`concat trace fail=${e}, current stack=${this.stack}, inner stack=${null===(r=this.innerError)||void 0===r?void 0:r.stack}`)}this.ctx&&(e.ignoreEvent||this.resolve(G.EventBus).emit(b.Error,e.sender,this),this.resolve(G.Monitor).emitError(this),this.resolve(G.Monitor).emitCounter(q.BizSdkError,1,{type:e.type?`${e.type}:${w[e.type]}`:"unknown"}))}getContext(){return this.ctx}resolve(e){return this.ctx.resolve(e)}}const V={[g.IMCMD.SEND_MESSAGE]:"v1/message/send",200:"v1/message/get_by_user",203:"v2/message/get_by_user_init",206:"v1/message/v1/message/get_by_conversation_search",300:"v1/conversation/get_list",301:"v1/message/get_by_conversation",400:"v1/account/online",401:"v1/account/offline",410:"v1/client/user_action",411:"v1/client/input_status",603:"v1/conversation/delete",608:"v2/conversation/get_info",609:"v2/conversation/create",610:"v2/conversation/get_info_list",611:"v2/conversation/get_by_favorite",612:"v2/conversation/get_by_top",614:"v1/conversation/dissolve",605:"v1/conversation/participants_list",650:"v1/conversation/add_participants",651:"v1/conversation/remove_participants",652:"v1/conversation/leave",654:"v1/conversation/mget_participants",655:"v1/conversation/update_participant",690:"v1/conversation/get_group_list",701:"v1/message/delete",702:"v1/message/recall",705:"v1/message/set_property",902:"v1/conversation/set_core_info",904:"v1/conversation/upsert_core_ext_info",921:"v1/conversation/set_setting_info",922:"v1/conversation/upsert_settings_ext",1001:"v1/stranger/get_conversation_list",1002:"v1/stranger/get_messages",1003:"v1/stranger/delete_message",1004:"v1/stranger/delete_conversation",1005:"v1/stranger/delete_all_conversations",1006:"v1/stranger/mark_read_conversation",1007:"v1/stranger/mark_read_all_conversations",2e3:"v3/conversation/get_read_index",2001:"v3/conversation/get_min_index",2002:"v3/conversation/mark_read",2003:"tiktok/v1/im/upload_config",2004:"v1/media/get_urls",2006:"v1/conversation/list",2007:"v1/broadcast/send_message",2008:"v1/broadcast/recv_message",2009:"v1/broadcast/user_counter",2011:"v1/voip/create",2012:"v1/voip/call",2013:"v1/voip/update",2014:"v1/channel/heartbeat",2015:"v1/profile/get_info",2016:"v1/client/report_metrics",2017:"v1/config/get",2022:"v1/conversation/get_audit",2023:"v1/conversation/update_audit",[g.IMCMD.GET_MESSAGE_BY_INIT]:"v1/message/get_message_by_init",[g.IMCMD.MODIFY_MESSAGE_EXT]:"v1/message/modify_ext",[g.IMCMD.UNREAD_COUNT_REPORT]:"v1/client/unread_count",[g.IMCMD.SEND_MESSAGE_P2P]:"v1/send_message/p2p",[g.IMCMD.BATCH_GAT_CONVERSATION_PARTICIPANTS_READINDEX]:"v1/conversation/batch_get_conversation_participants_readindex",[g.IMCMD.GET_CONVERSATIONS_CHECKINFO]:"v1/conversation/get_checkinfo",[g.IMCMD.GET_MESSAGES_CHECKINFO_IN_CONVERSATION]:"v1/message/get_checkinfo",[g.IMCMD.MARK_MESSAGE]:"v1/message/mark",[g.IMCMD.PULL_MARK_MESSAGE]:"v1/message/pull_mark",[g.IMCMD.GET_CONVERSATION_CORE_INFO]:"v1/conversation/get_core_info",[g.IMCMD.GET_UNREAD_COUNT]:"v1/client/get_unread_count",[g.IMCMD.BLOCK_MEMBERS]:"v1/conversation/block_member",[g.IMCMD.BLOCK_CONVERSATION]:"v1/conversation/block_conversation",[g.IMCMD.CHECK_IN_BLOCKLIST]:"v1/blocklist/check",[g.IMCMD.SET_BLOCKLIST]:"v1/blocklist/set",[g.IMCMD.GET_BLOCKLIST]:"v1/blocklist/get",[g.IMCMD.GET_TICKET]:"v1/conversation/get_ticket",[g.IMCMD.BATCH_UNMARK_MESSAGE]:"v1/message/batch_unmark",[g.IMCMD.MARK_MSG_UNREAD_COUNT_REPORT]:"v1/message/report_mark_count",[g.IMCMD.MARK_MSG_GET_UNREAD_COUNT]:"v1/message/get_mark_count",[g.IMCMD.GET_MESSAGE_INFO_BY_SERVER_ID]:"v1/message/get_by_id",[g.IMCMD.CLIENT_BATCH_ACK]:"v1/client/batch_ack",[g.IMCMD.GET_MESSAGES]:"v1/message/get",[g.IMCMD.ACK_MESSAGE]:"v1/message/ack",[g.IMCMD.GET_MEDIA_UPLOAD_CONFIG]:"v1/media/upload_config",[g.IMCMD.GET_MEDIA_STATUS]:"v1/media/get_status"};function z(e){var t;return null!==(t=V[e])&&void 0!==t?t:""}var W;!function(e){e[e.RequestCreate=0]="RequestCreate",e[e.RequestSerialize=1]="RequestSerialize",e[e.BeforeSend=2]="BeforeSend",e[e.BeforeSendSingleFlight=3]="BeforeSendSingleFlight",e[e.AfterSendSingleFlight=4]="AfterSendSingleFlight",e[e.AfterSend=5]="AfterSend",e[e.ResponseDeserialize=6]="ResponseDeserialize",e[e.SendMethod=7]="SendMethod"}(W||(W={}));const X=function(){let e=1e4;return()=>(e+=1,e)}();class Z extends F{constructor(e,t,n,o,r){super(e),this.retryTimes=0,this.seqId=null!=r?r:X(),this.reqBody=n,this.cmd=t;const i=z(t);let s=this.ctx.option.apiUrl;s.endsWith("/")||(s=`${s}/`),this.ctx.option.needPathRewrite?this.url=`${s}ttoth/${i}`:this.url=s+i,this.isDef(o)&&(this.url=this.jsonToQuery(this.url,o))}get logid(){var e,t;return null!==(t=null===(e=this.response)||void 0===e?void 0:e.log_id)&&void 0!==t?t:""}isDef(e){return null!=e}jsonToQuery(e,t={},n=!0){let o=n?"?":"";for(const[e,n]of Object.entries(t))o=`${o}${e}=${encodeURIComponent(this.isDef(n)?`${n}`:"")}&`;return e+o.substring(0,o.length-1)}prepareRequest(e){var t;return(0,o.__awaiter)(this,void 0,void 0,(function*(){let n=g.Request.create({body:this.reqBody,cmd:this.cmd,sequence_id:r.fromNumber(this.seqId),refer:u.refer,token:this.ctx.cachedToken,headers:this.ctx.option.headers,device_id:this.ctx.option.deviceId,sdk_version:u.sdkVersion,build_number:u.buildNumber,inbox_type:e,device_platform:null!==(t=this.ctx.option.devicePlatform)&&void 0!==t?t:"web",channel:this.ctx.option.channel,device_type:this.ctx.option.deviceType,os_version:this.ctx.option.osVersion,version_code:this.ctx.option.versionCode,auth_type:this.ctx.option.authType});for(const e of this.ctx.plugin)n=yield e.sendPacket(n);this.request=n}))}}class $ extends F{constructor(e){super(e)}send(e,t,n={},r){return(0,o.__awaiter)(this,void 0,void 0,(function*(){return(yield this.sendWithRawBody(e,t,n,r)).body}))}sendWithRawBody(e,t,n={},r){var i,s,A,a,c,l,d,u,h,_,y,I,f,m,B,C,E,v,Q,b,M,D,O,S,R,L,T,P,x,Y,j;return(0,o.__awaiter)(this,void 0,void 0,(function*(){const o=J.performanceNow(),F=this.getReqTrackerContext(e);let N;try{if(void 0===n.inboxType&&(n.inboxType=this.resolve(G.InboxType).getDefaultInboxWithoutCheck()),this.ctx.option.webSocketLevel===p.PushOnly&&(n.forceHttp=!0),this.ctx.option.webSocketLevel===p.All&&(n.forceHttp=!1),N=new Z(this.ctx,t,e,r),yield N.prepareRequest(n.inboxType),yield this.resolve(G.NetworkManager).send(N,{maxHttpRetryTimes:!0===n.forceHttp?n.maxRetryTimes:void 0,maxWsRetryTimes:!0===n.forceHttp?0:n.maxRetryTimes,useBeacon:n.useBeacon,method:n.method}),n.useBeacon||void 0===N.response)return g.Response.create({});const b=N.response;if(0!==b.status_code){const r=b.status_code;switch(r){case w.Degradation:throw new K({ctx:this.ctx,msg:"server degradation",type:w.Degradation,sender:this,logid:null==b?void 0:b.log_id,args:{req:e,resp:b}});case w.InvalidTicket:if(t===g.IMCMD.SEND_MESSAGE){const o=e.send_message_body.conversation_id,r=this.resolve(G.ConversationManager).get(o),i=r.ticket;if(yield this.resolve(G.ConversationManager).refreshTicket(r.id),i===r.ticket||n.isRetryReq)throw new K({ctx:this.ctx,msg:`invalid ticket for conv: ${o}`,type:w.InvalidTicket,sender:this,logid:null==b?void 0:b.log_id,args:{req:e,resp:b}});return H.ctxDebug(this.ctx,"refresh ticket due to invalid"),this.sendWithRawBody(e,t,Object.assign(Object.assign({},n),{isRetryReq:!0}))}break;case w.InvalidToken:case w.ExpiredToken:const p=this.ctx.cachedToken;try{if(this.resolve(G.NetworkManager).closeWs(!0),""===p||this.ctx.option.authType===g.AuthType.SESSION_AUTH){if(n.isRetryReq)throw new K({ctx:this.ctx,msg:"invalid session",type:w.TokenFuncError,sender:this,logid:null==b?void 0:b.log_id,args:{req:e,resp:b}});return H.ctxDebug(this.ctx,"http retry due to invalid session"),this.sendWithRawBody(e,t,Object.assign(Object.assign({},n),{isRetryReq:!0,forceHttp:!0}))}{yield this.resolve(G.AuthManager).refreshToken();const o=this.ctx.cachedToken;if(p===o||n.isRetryReq)throw new K({ctx:this.ctx,msg:`token refresh fail: ${o}`,type:w.TokenFuncError,sender:this,logid:null==b?void 0:b.log_id,args:{req:e,resp:b}});return H.ctxDebug(this.ctx,"refresh token due to invalid"),this.sendWithRawBody(e,t,Object.assign(Object.assign({},n),{isRetryReq:!0}))}}catch(t){throw void 0!==t.type?(t.args=Object.assign(Object.assign({},t.args),{req:e,resp:b}),t):new K({ctx:this.ctx,msg:"token refresh func error",type:w.TokenFuncError,innerError:t,sender:this,logid:null==b?void 0:b.log_id,args:{req:e,resp:b}})}default:if(n.ignoreBizError)return this.resolve(G.Monitor).emitMetrics(q.NetworkRequest,{duration:J.performanceNow()-o,retry_times:null!==(i=null==N?void 0:N.retryTimes)&&void 0!==i?i:0},{imsdk_cmd:t.toString(),imsdk_result:"0",seq_id:null!==(s=null==N?void 0:N.seqId.toString())&&void 0!==s?s:"",conversation_id:F.conversationId,uuid:F.uuid,error_msg:null!==(a=null===(A=null==N?void 0:N.response)||void 0===A?void 0:A.error_desc)&&void 0!==a?a:"",error_code:null!==(d=null===(l=null===(c=null==N?void 0:N.response)||void 0===c?void 0:c.status_code)||void 0===l?void 0:l.toString())&&void 0!==d?d:"",url_path:null!==(u=null==N?void 0:N.url)&&void 0!==u?u:"",net_type:null!==(_=null===(h=null==N?void 0:N.method)||void 0===h?void 0:h.toString())&&void 0!==_?_:"",logid:null!==(y=null==N?void 0:N.logid)&&void 0!==y?y:"",is_retry_req:n.isRetryReq?"1":"0",inbox_type:`${null!==(I=n.inboxType)&&void 0!==I?I:""}`}),b;throw new K({ctx:this.ctx,msg:`${null!==(f=w[r])&&void 0!==f?f:"unknown"}:${b.error_desc}`,type:r,sender:this,logid:null==b?void 0:b.log_id,args:{req:e,resp:b}})}}if(b.body)return this.resolve(G.Monitor).emitMetrics(q.NetworkRequest,{duration:J.performanceNow()-o,retry_times:null!==(m=N.retryTimes)&&void 0!==m?m:0},{imsdk_cmd:t.toString(),imsdk_result:"1",seq_id:N.seqId.toString(),conversation_id:F.conversationId,uuid:F.uuid,error_msg:"",error_code:"0",url_path:null!==(B=N.url)&&void 0!==B?B:"",net_type:null!==(E=null===(C=N.method)||void 0===C?void 0:C.toString())&&void 0!==E?E:"",logid:null!==(v=b.log_id)&&void 0!==v?v:"",is_retry_req:n.isRetryReq?"1":"0",inbox_type:`${null!==(Q=n.inboxType)&&void 0!==Q?Q:""}`}),b;throw new K({ctx:this.ctx,msg:"no response body",type:w.Unknown,sender:this,logid:null==b?void 0:b.log_id,args:{req:e,resp:b}})}catch(r){if(this.resolve(G.Monitor).emitMetrics(q.NetworkRequest,{duration:J.performanceNow()-o,retry_times:null!==(b=null==N?void 0:N.retryTimes)&&void 0!==b?b:0},{imsdk_cmd:t.toString(),imsdk_result:"0",seq_id:null!==(M=null==N?void 0:N.seqId.toString())&&void 0!==M?M:"",conversation_id:F.conversationId,uuid:F.uuid,error_msg:null!==(O=null===(D=null==N?void 0:N.response)||void 0===D?void 0:D.error_desc)&&void 0!==O?O:"",error_code:null!==(L=null===(R=null===(S=null==N?void 0:N.response)||void 0===S?void 0:S.status_code)||void 0===R?void 0:R.toString())&&void 0!==L?L:"",url_path:null!==(T=null==N?void 0:N.url)&&void 0!==T?T:"",net_type:null!==(x=null===(P=null==N?void 0:N.method)||void 0===P?void 0:P.toString())&&void 0!==x?x:"",logid:null!==(Y=null==N?void 0:N.logid)&&void 0!==Y?Y:"",is_retry_req:n.isRetryReq?"1":"0",inbox_type:`${null!==(j=n.inboxType)&&void 0!==j?j:""}`}),void 0===r)throw new K({ctx:this.ctx,msg:"unknown error",type:w.Unknown,sender:this,args:{req:e}});throw void 0!==r.type?(r.args=Object.assign(Object.assign({},r.args),{req:e}),r.type===w.NetworkError?this.ctx.status=k.Disconnected:r.type!==w.Unknown&&(this.ctx.status=k.Connected),r):new K({ctx:this.ctx,msg:"request unknown error",type:w.Unknown,innerError:r,sender:this,args:{req:e}})}}))}getReqTrackerContext(e){var t,n,o,r;for(const i of Object.keys(e)){const s=e[i];if(void 0!==s)return{conversationId:null!==(n=null===(t=s.conversation_id)||void 0===t?void 0:t.toString())&&void 0!==n?n:"",uuid:null!==(r=null===(o=s.client_message_id)||void 0===o?void 0:o.toString())&&void 0!==r?r:""}}return{conversationId:"",uuid:""}}}class ee extends ${SendMessage(e){return(0,o.__awaiter)(this,void 0,void 0,(function*(){const t=g.RequestBody.create({send_message_body:{conversation_id:e.conversationId,conversation_short_id:e.conversationShortId,conversation_type:e.conversationType,content:e.content,mentioned_users:e.mentionedUsers,client_message_id:e.clientId,ticket:e.ticket,message_type:e.messageType,ext:e.ext,ref_msg_info:e.referenceInfo,content_pb:e.contentPb,scene:e.scene,send_media_list:e.sendMediaList}});return this.sendWithRawBody(t,g.IMCMD.SEND_MESSAGE,{inboxType:e.inboxType,maxRetryTimes:this.ctx.option.maxSendMsgRetryTimes},this.ctx.option.whaleQueryParams)}))}GetMessagesByUser(e){return(0,o.__awaiter)(this,void 0,void 0,(function*(){const t=g.RequestBody.create({messages_per_user_body:{cursor:e.cursor,limit:e.limit}});try{return yield this.sendWithRawBody(t,g.IMCMD.GET_MESSAGES_BY_USER,{inboxType:e.inboxType,maxRetryTimes:1,forceHttp:!0})}catch(t){return H.ctxWarn(this.ctx,`pull user error:${t}, ignore`),g.Response.create({body:g.ResponseBody.create({messages_per_user_body:g.MessagesPerUserResponseBody.create({next_cursor:e.cursor,has_more:!1,messages:[]})})})}}))}GetMessagesByUserInitV2(e){return(0,o.__awaiter)(this,void 0,void 0,(function*(){const t=g.RequestBody.create({messages_per_user_init_v2_body:{cursor:e.cursor,init_sub_type:e.initSubType}});return this.sendWithRawBody(t,g.IMCMD.GET_MESSAGES_BY_USER_INIT_V2,{inboxType:e.inboxType,forceHttp:!0,maxRetryTimes:10})}))}GetMessagesByInit(e){return(0,o.__awaiter)(this,void 0,void 0,(function*(){const t=g.RequestBody.create({message_by_init:{version:e.version}});return this.sendWithRawBody(t,g.IMCMD.GET_MESSAGE_BY_INIT,{inboxType:e.inboxType,forceHttp:!0,maxRetryTimes:10})}))}GetMessagesByConversation(e){return(0,o.__awaiter)(this,void 0,void 0,(function*(){const t=g.RequestBody.create({messages_in_conversation_body:{conversation_id:e.conversationId,conversation_short_id:e.conversationShortId,conversation_type:e.conversationType,anchor_index:e.anchorIndex,limit:e.limit,direction:e.direction,ext:e.ext}});return this.sendWithRawBody(t,g.IMCMD.GET_MESSAGES_BY_CONVERSATION,{inboxType:e.inboxType,forceHttp:!0})}))}CreateConversationV2(e){return(0,o.__awaiter)(this,void 0,void 0,(function*(){const t=g.RequestBody.create({create_conversation_v2_body:{conversation_type:e.type,participants:e.participants,persistent:e.persistent,idempotent_id:e.idempotentId,name:e.name,avatar_url:e.avatarUrl,description:e.desc,biz_ext:e.bizExt,channel:e.channel,biz:e.biz}});return this.sendWithRawBody(t,g.IMCMD.CREATE_CONVERSATION_V2,{inboxType:e.inboxType})}))}GetConversationInfoV2(e){return(0,o.__awaiter)(this,void 0,void 0,(function*(){const t=g.RequestBody.create({get_conversation_info_v2_body:{conversation_id:e.conversationId,conversation_short_id:e.conversationShortId,conversation_type:e.conversationType,ext:e.ext}});return this.sendWithRawBody(t,g.IMCMD.GET_CONVERSATION_INFO_V2,{inboxType:e.inboxType})}))}GetConversationInfoListV2(e){return(0,o.__awaiter)(this,void 0,void 0,(function*(){const t=g.RequestBody.create({get_conversation_info_list_v2_body:{conversation_info_list:e.conversations.map((e=>({conversation_id:e.conversationId,conversation_short_id:e.conversationShortId,conversation_type:e.conversationType})))}});return this.sendWithRawBody(t,g.IMCMD.GET_CONVERSATION_INFO_LIST_V2,{inboxType:e.inboxType})}))}MarkConversationReadV3(e){var t;return(0,o.__awaiter)(this,void 0,void 0,(function*(){const n=g.RequestBody.create({mark_conversation_read_body:{conversation_id:e.conversationId,conversation_short_id:e.conversationShortId,conversation_type:e.conversationType,read_message_index:e.readIndex,conv_unread_count:e.unreadCount,total_unread_count:e.totalUnreadCount,read_badge_count_v2:null===(t=e.readBadgeCount)||void 0===t?void 0:t.toNumber()}});return this.send(n,g.IMCMD.MARK_CONVERSATION_READ_V3,{inboxType:e.inboxType,maxRetryTimes:1})}))}RecallMessage(e){return(0,o.__awaiter)(this,void 0,void 0,(function*(){const t=g.RequestBody.create({recall_message_body:{conversation_id:e.conversationId,conversation_short_id:e.conversationShortId,conversation_type:e.conversationType,server_message_id:e.serverId}});return this.sendWithRawBody(t,g.IMCMD.RECALL_MESSAGE,{inboxType:e.inboxType})}))}GetTicket(e){return(0,o.__awaiter)(this,void 0,void 0,(function*(){const t=g.RequestBody.create({get_ticket_body:{ticket_type:u.ticketType,conversation_type:e.conversationType,conversation_short_id:e.shortId,to_id:e.toId,ext:e.ext}});return(yield this.send(t,g.IMCMD.GET_TICKET,{inboxType:e.inboxType})).get_ticket_body}))}GetConversationParticipantsList(e){return(0,o.__awaiter)(this,void 0,void 0,(function*(){const t=g.RequestBody.create({conversation_participants_body:{conversation_id:e.conversationId,conversation_short_id:e.conversationShortId,conversation_type:e.conversationType,cursor:e.cursor,limit:e.limit,ext:e.ext}});return this.sendWithRawBody(t,g.IMCMD.CONVERSATION_PARTICIPANTS_LIST,{inboxType:e.inboxType})}))}GetConversationParticipantByUserId(e){return(0,o.__awaiter)(this,void 0,void 0,(function*(){const t=g.RequestBody.create({mget_conversation_participants_body:{conversation_id:e.conversationId,conversation_short_id:e.conversationShortId,conversation_type:e.conversationType,participants:e.participants}});return this.sendWithRawBody(t,g.IMCMD.MGET_CONVERSATION_PARTICIPANTS,{inboxType:e.inboxType})}))}MessageAck(e){return(0,o.__awaiter)(this,void 0,void 0,(function*(){try{const t=g.RequestBody.create({ack_message_body:{start_timestamp:e.startTimeStamp,cmd:e.cmd,conv_type:e.convType,msg_type:e.msgType,push_type:e.pushType,id:e.serverId}});return yield this.send(t,g.IMCMD.ACK_MESSAGE,{inboxType:e.inboxType,forceHttp:!0})}catch(e){return H.ctxWarn(this.ctx,`send ack error: ${e}, ignore`),null}}))}}class te{constructor(e,t,n){this.index=e,this.subject=t,this.handler=n}unsubscribe(){this.subject.unsubscribe(this)}}class ne extends F{constructor(){super(...arguments),this.subscriptions=new Map,this.idx=0}subscribe(e){const t=this.subscriptions.values();for(const n of t)if(e===n.handler)return H.ctxDebug(this.ctx,"ignore duplicate handler:",e),n;const n=new te(this.idx,this,e);return this.subscriptions.set(this.idx,n),this.idx++,n}nextEmpty(e){for(const t of this.subscriptions.values())if(t&&t.handler)try{t.handler({},e)}catch(e){H.ctxWarn(this.ctx,"error in event handler:",e)}}next(e,t){for(const n of this.subscriptions.values())if(n&&n.handler)try{n.handler(e,t)}catch(e){H.ctxWarn(this.ctx,"error in event handler:",e)}}unsubscribe(e){e&&this.subscriptions.delete(e.index)}unsubscribeAll(){this.subscriptions.clear()}}function oe(e,t,n){let o,r;return function(){const i=this,s=Number(new Date),A=arguments;clearTimeout(o),r||(r=s),s-r>=n?(e.apply(i,A),r=s):o=setTimeout((()=>{e.apply(i,A)}),t)}}function re(e,t,n=!1){let o,r,i,s=0;const A=function(){e.apply(r,i),s=Date.now()};return function(){const e=Date.now();if(r=this,i=arguments,o&&(clearTimeout(o),o=null),n&&0===s)return o=setTimeout((()=>{A()}),t),A();const a=t-(e-s);if(a>0)o=setTimeout((()=>{A()}),a);else{if(n)return A();o=setTimeout((()=>{A()}),t)}}}function ie(e,t,n){const o={},r={},i=new Map;let s=0;return function(){const A=this,a=Number(new Date),c=arguments,l=c[0];let g=i.get(l);i.has(l)||(g=s++,i.set(l,g)),clearTimeout(o[g]),r[g]||(r[g]=a),a-r[g]>=n?(r[g]=a,e.apply(A,c)):o[g]=setTimeout((()=>{e.apply(A,c),delete r[g],delete o[g],i.delete(l)}),t)}}function se(e,t){const n=new Map,o={},r={};let i=0;return function(){const s=Date.now(),A=arguments,a=A[0];let c=n.get(a);n.has(a)||(c=i++,n.set(a,c));const l=()=>{e.apply(this,A),delete r[c],delete o[c],n.delete(a)};void 0===r[c]&&(r[c]=0),o[c]&&(clearTimeout(o[c]),delete o[c]);const g=s-r[c],d=t-g;o[c]=d>0?setTimeout((()=>{l()}),d):setTimeout((()=>{l()}),t)}}class Ae extends F{constructor(){super(...arguments),this.subscriptions=new Map}subscribe(e,t){var n;if(!Object.values(b).includes(e))throw new K({ctx:this.ctx,type:w.InvalidParam,msg:`unknown event: ${e}`,sender:this});this.subscriptions.has(e)||this.subscriptions.set(e,new ne(this.ctx));const o=this.subscriptions.get(e),r="number"==typeof this.ctx.option.throttle?this.ctx.option.throttle:100,i=null!==(n=this.ctx.option.triggerStrategy)&&void 0!==n?n:{};if(!1===this.ctx.option.throttle)return o.subscribe(t);if(void 0===i[e])return o.subscribe(t);switch(H.ctxDebug(this.ctx,`apply strategy: ${S[i[e]]} to event: ${e}`),i[e]){case S.Throttle:return o.subscribe(oe(t,r,r));case S.Debounce:return o.subscribe(re(t,r));case S.ThrottleWithArgs:return o.subscribe(ie(t,r,r));case S.DebounceWithArgs:return o.subscribe(se(t,r));case S.Immediate:default:return o.subscribe(t)}}unsubscribe(e,t){this.subscriptions.has(e)&&this.subscriptions.get(e).unsubscribe(t)}unsubscribeAll(){for(const e of Object.values(this.subscriptions))e.unsubscribeAll();this.subscriptions.clear()}emitEmpty(e,t){return this.emit(e,t,void 0)}emit(e,t,n){this.resolve(G.Monitor).emitEvent(e,t,n);const o=this.subscriptions.get(e);o&&(n?H.ctxDebug(this.ctx,`emit event "${e}" with sender:`,t,", eventArgs:",n):H.ctxDebug(this.ctx,`emit event "${e}" with sender:`,t),o.next(n,t))}}class ae extends F{constructor(e,t){var n,o;super(e.ctx),this.version=r.ZERO,this.parent=e,void 0!==t&&(this.desc=t.desc,this.ext=t.ext,this.icon=t.icon,this.name=t.name,this.notice=t.notice,this.owner=null!==(o=null===(n=t.owner)||void 0===n?void 0:n.toString())&&void 0!==o?o:"",this.version=t.info_version,this.secOwner=t.sec_owner,this.inboxType=t.inbox_type),void 0===this.inboxType&&(this.inboxType=this.resolve(G.InboxType).getDefaultInboxWithoutCheck())}get conversationId(){return this.parent.id}get ext(){return this.innerExt||(this.innerExt={}),this.innerExt}set ext(e){this.innerExt=null!=e?e:{}}mergeCore(e){return e.version.lt(this.version)?(H.ctxDebug(this.ctx,"core info version local > online, local: ",this.version.toString(),"new: ",e.version.toString()),this):e.conversationId!==this.conversationId?(H.ctxDebug(this.ctx,"core info conversation not match, local:",this.conversationId.toString(),"new: ",e.conversationId.toString()),this):(this.version=e.version,this.name=e.name,this.desc=e.desc,this.icon=e.icon,this.notice=e.notice,this.owner=e.owner,this.secOwner=e.owner,this.innerExt=Object.assign(Object.assign({},this.innerExt),e.innerExt),this.inboxType=e.inboxType,this)}}var ce=n(1719);class le extends F{constructor(e,t){var n,o;super(e.ctx),this.version=r.ZERO,this.minIndex=r.ZERO,this._readIndex=r.ZERO,this.parent=e,void 0!==t&&(this.ext=t.ext,this.favor=t.favorite,this.mute=t.mute,this.stickTop=t.stick_on_top,this.version=r.fromValue(null!==(n=t.setting_version)&&void 0!==n?n:r.ZERO),this.readIndex=t.read_index,this.minIndex=t.min_index,this.setFavoriteTime=t.set_favorite_time,this.setTopTime=t.set_top_time,this.readBadgeCount=r.fromValue(null!==(o=t.read_badge_count_v2)&&void 0!==o?o:r.ZERO))}get conversationId(){return this.parent.id}get pushStatus(){return this._pushStatus}set pushStatus(e){[C.Allow,C.PartAllow,C.Disable].includes(e)?this._pushStatus=e:this._pushStatus=C.Unknown}get readIndex(){return this._readIndex}set readIndex(e){if(void 0===e)return;const t=r.fromValue(e);void 0!==this._readIndex?t.gt(this._readIndex)&&(this._readIndex=t):this._readIndex=t}get ext(){return this.innerExt||(this.innerExt={}),this.innerExt}set ext(e){this.innerExt=null!=e?e:{}}mergeSetting(e){return e.version.lt(this.version)?(H.ctxDebug(this.ctx,"setting info version local > online, local: ",this.version.toString(),"new: ",e.version.toString()),this):e.conversationId!==this.conversationId?(H.ctxDebug(this.ctx,"setting info conversation not match, local:",this.conversationId.toString(),"new: ",e.conversationId.toString()),this):(this.stickTop=e.stickTop,this.setTopTime=e.setTopTime,this.mute=e.mute,this.favor=e.favor,this.setFavoriteTime=e.setFavoriteTime,this.innerExt=Object.assign(Object.assign({},this.innerExt),e.ext),this.readIndex=e.readIndex,this.readBadgeCount=e.readBadgeCount,this.minIndex=e.minIndex,this.version=e.version,this.pushStatus=e.pushStatus,this)}get weakMuteInfo(){var e,t,n;const o={whiteUids:[],whiteMsgTypes:[]};if(!this.innerExt[h.PushPartDisableConfig])return o;try{const o=ce.parse(this.innerExt[h.PushPartDisableConfig]),i=null==o?void 0:o[_];return{whiteUids:null!==(t=null===(e=null==i?void 0:i.white_uids)||void 0===e?void 0:e.map(r.fromValue))&&void 0!==t?t:[],whiteMsgTypes:null!==(n=null==i?void 0:i.white_msg_types)&&void 0!==n?n:[]}}catch(e){return H.ctxWarn(this.ctx,"conversation setting weak mute info parse error: ",e),o}}}var ge,de=n(28465),ue=n.n(de);function pe(e,t){return e.length>t?[e.slice(0,t),...pe(e.slice(t),t)]:[e]}function he(e,t){const n={};for(const o of e){const e=t(o);void 0===n[e]&&(n[e]=[]),n[e].push(o)}return n}function _e(e,t){return Array.isArray(e)?e:void 0!==e?[e]:void 0!==t?[t]:[]}function ye(e){return r.fromNumber(e.charCodeAt(0)).add(r.fromNumber(e.charCodeAt(1)).shiftLeft(8)).add(r.fromNumber(e.charCodeAt(2)).shiftLeft(16)).add(r.fromNumber(e.charCodeAt(3)).shiftLeft(24)).add(r.fromNumber(e.charCodeAt(4)).shiftLeft(32)).add(r.fromNumber(e.charCodeAt(5)).shiftLeft(40)).add(r.fromNumber(e.charCodeAt(6)).shiftLeft(48)).add(r.fromNumber(e.charCodeAt(7)).shiftLeft(56))}function Ie(e,t){const n=e.filter((e=>!t.includes(e)));return{added:t.filter((t=>!e.includes(t))),removed:n}}function fe(e,t){return void 0!==e&&void 0!==t&&("true"===e[t]||"1"===e[t])}function me(e){const t=Object.create({});return e.split("&").forEach((function(e){const n=e.split("=");2===n.length?t[n[0]]=decodeURIComponent(n[1]):t[n[0]]=decodeURIComponent(e.slice(e.indexOf("=")+1))})),t}class Be extends F{constructor(){super(...arguments),this.isMember=!0,this.conversationRankVersion=r.ZERO,this.__internal_pullCursor=r.MAX_VALUE,this.cacheUnreadCountCalc=void 0,this.cacheUnreadCountWithWhiteListCalc=void 0}get type(){return 15&this.bizType}set type(e){this.bizType=e}get inboxType(){return this.coreInfo.inboxType}get mode(){return 0}get isStrangerConversation(){return 3===this.inboxType&&this.ext.stranger===this.ctx.option.userId}get isGroupChat(){return 1===this.inboxType}get isMuted(){return this.pushStatus!==C.Unknown?this.pushStatus===C.Disable:void 0!==this.settingInfo&&this.settingInfo.mute===B.On}get pushStatus(){var e;return null!==(e=this.settingInfo.pushStatus)&&void 0!==e?e:C.Unknown}get weakMuteInfo(){return this.settingInfo.weakMuteInfo}get isStickOnTop(){return void 0!==this.settingInfo&&this.settingInfo.stickTop===m.On}get isFavorite(){return void 0!==this.settingInfo&&this.settingInfo.favor===E.On}get userConversationTags(){const e=this.ext[h.UserConversationTag]||"";return""===e?[]:e.split(",")}get isGroupChatBanned(){return fe(this.ext,h.BanStatusV2)&&this.isGroupChat&&(Number(this.banExpiryTime)<0||Date.now()<=1e3*Number(this.banExpiryTime))}get banExpiryTime(){var e;return null!==(e=this.ext[h.BanExpiry])&&void 0!==e?e:"0"}get groupOwnerCanAppealBan(){return this.isGroupChat&&this.coreInfo.owner===this.ctx.option.userId&&fe(this.ext,h.BanOwnerCanAppeal)}get banAppealParams(){var e;return me(null!==(e=this.ext[h.BanOwnerAppealParams])&&void 0!==e?e:"")}get ext(){let e={};return this.coreInfo&&this.coreInfo.ext&&(e=Object.assign(e,this.coreInfo.ext)),this.settingInfo&&this.settingInfo.ext&&(e=Object.assign(e,this.settingInfo.ext)),e}get rankScore(){var e,t,n,o,i;if(this.isStickOnTop)return(null!==(e=this.settingInfo.setTopTime)&&void 0!==e?e:r.ZERO).add(8e15).toNumber();{let e=null!==(i=null===(o=null===(n=null===(t=this.lastPopVisibleMessage)||void 0===t?void 0:t.createdAt)||void 0===n?void 0:n.getTime)||void 0===o?void 0:o.call(n))&&void 0!==i?i:-1;return this.conversationRankVersion.neq(r.ZERO)&&(e=Math.max(e,this.conversationRankVersion.toNumber()/1e3)),e}}get lastMessage(){return this.filterLastMessage()}get lastVisibleMessage(){return this.filterLastMessage((e=>e.visible))}get lastPopVisibleMessage(){return this.filterLastMessage((e=>!e.unpop))}get firstMessage(){return this.filterFirstMessage()}get readIndex(){return this.settingInfo.readIndex}get minIndex(){return this.settingInfo.minIndex}get version(){return this.coreInfo.version}get unreadCount(){var e,t,n;return!0===this.ctx.option.enableServerUnreadCount&&this.badgeCount&&this.settingInfo.readBadgeCount?this.badgeCount.toNumber()-this.settingInfo.readBadgeCount.toNumber():(void 0===this.cacheUnreadCountCalc&&(this.cacheUnreadCountCalc=ue()((e=>this.unreadMessageList.length),{maxSize:1})),this.cacheUnreadCountCalc(`${null===(t=null===(e=this.updatedAt)||void 0===e?void 0:e.getTime)||void 0===t?void 0:t.call(e)}:${null===(n=this.readIndex)||void 0===n?void 0:n.toString()}`))}get unreadCountWithWhiteList(){var e,t,n;return void 0===this.cacheUnreadCountWithWhiteListCalc&&(this.cacheUnreadCountWithWhiteListCalc=ue()((e=>this.unreadMessageListWithWhiteList.length),{maxSize:1})),this.cacheUnreadCountWithWhiteListCalc(`${null===(t=null===(e=this.updatedAt)||void 0===e?void 0:e.getTime)||void 0===t?void 0:t.call(e)}:${null===(n=this.readIndex)||void 0===n?void 0:n.toString()}`)}forceRefreshUnreadCount(){var e;const t=this.unreadMessageList.length;t!==this.unreadCount&&void 0!==this.cacheUnreadCountCalc&&void 0!==this.cacheUnreadCountCalc.clear&&(H.ctxDebug(this.ctx,`force refresh unread count: ${this.id}, value: ${t}`),null===(e=this.cacheUnreadCountCalc)||void 0===e||e.clear())}get unreadMessageList(){return this.readIndex?this.resolve(G.MessageManager).getList(this.id).filter((e=>e.indexInConversation.gt(this.readIndex)&&e.indexInConversation.gt(this.minIndex)&&e.increaseUnread)):[]}get unreadMessageListWithWhiteList(){return this.unreadMessageList.filter((e=>{var t,n,o;return(null===(t=e.ext)||void 0===t?void 0:t[h.MustNotify])||(null===(n=this.settingInfo.weakMuteInfo.whiteUids)||void 0===n?void 0:n.find((t=>t.toString()===e.sender)))||(null===(o=this.settingInfo.weakMuteInfo.whiteMsgTypes)||void 0===o?void 0:o.find((t=>t===e.type)))}))}get updatedAt(){return this.lastMessage?this.lastMessage.createdAt:new Date(0)}get firstMessageIndex(){var e,t;return null!==(t=null===(e=this.filterFirstMessage((e=>e.indexInConversation&&e.indexInConversation.gt(0))))||void 0===e?void 0:e.indexInConversation)&&void 0!==t?t:r.ZERO}get lastMessageIndex(){var e,t;return null!==(t=null===(e=this.filterLastMessage((e=>e.indexInConversation&&e.indexInConversation.gt(0))))||void 0===e?void 0:e.indexInConversation)&&void 0!==t?t:r.ZERO}get lastMessageOrder(){var e,t;return null!==(t=null===(e=this.filterLastMessage((e=>e.orderInConversation&&e.orderInConversation.gt(0))))||void 0===e?void 0:e.orderInConversation)&&void 0!==t?t:r.ZERO}getMessageList(e=e=>e.visible){return this.resolve(G.MessageManager).getList(this.id).filter(e)}get toParticipantUserId(){if(this.type===g.ConversationType.GROUP_CHAT)return;const e=this.id.split(":");return e[2]===this.ctx.option.userId?e[3]:e[2]}get isBlocked(){return fe(this.ext,h.RelationIsMuted)}get isBlockNormalOnly(){return this.isBlocked&&fe(this.ext,h.RelationNormalOnly)}static fromServerConversation(e,t,n){var o,i;const s=new Be(e);s.id=t.conversation_id,s.shortId=t.conversation_short_id.toString(),s.type=t.conversation_type,s.ticket=t.ticket,s.participantCount=t.participants_count,s.isMember=t.is_participant,s.isOffline=!1,s.firstPageParticipant=t.first_page_participants,s.badgeCount=r.fromValue(null!==(o=t.badge_count_v2)&&void 0!==o?o:r.ZERO),s.conversationRankVersion=s.conversationRankVersion===r.ZERO?r.fromValue(null!==(i=t.conversation_rank_version)&&void 0!==i?i:r.ZERO):s.conversationRankVersion,s.coreInfo=new ae(s,t.conversation_core_info),s.settingInfo=new le(s,t.conversation_setting_info),s.bizExt=String.fromCharCode.apply(null,t.biz_ext);const A=Object.keys(s.coreInfo.ext);for(const e of Object.keys(s.settingInfo.ext))A.includes(e)&&H.ctxDebug(s.ctx,`conversation: ${s.shortId} ext duplicate key: ${e}`);return void 0!==n&&s.ctx.option.debug&&(s.coreInfo.ext[h.LocalLogId]=n),s}filterLastMessage(e){const t=this.getMessageList((()=>!0));let n=null;if(0===t.length)return null;if(void 0===e)return t[t.length-1];for(let o=t.length-1;o>=0;o--)if(e(t[o])){n=t[o];break}return n}filterFirstMessage(e){const t=this.getMessageList((()=>!0));let n=null;if(0===t.length)return null;if(void 0===e)return t[0];for(const o of t)if(e(o)){n=o;break}return n}}!function(e){e[e.Sending=0]="Sending",e[e.Success=1]="Success",e[e.Failed=2]="Failed"}(ge||(ge={}));class Ce extends F{constructor(){super(...arguments),this.indexInConversation=r.ZERO,this.orderInConversation=r.ZERO,this.property={},this.source=Q.Unknown}get conversationType(){return 15&this.conversationBizType}set conversationType(e){this.conversationBizType=e}get clientId(){var e;return this.ext&&null!==(e=this.ext[h.ClientMessageId])&&void 0!==e?e:""}set clientId(e){this.ext||(this.ext={}),this.ext[h.ClientMessageId]=e}static createClientMessage(e,t){var n;const o=new Ce(e);o.conversationId=t.conversationId,o.type=t.type,o.conversationType=t.conversationType,o.conversationShortId=t.conversationShortId,o.sender=e.option.userId,o.content=t.content,o.createdAt=new Date(Date.now()),H.ctxDebug(e,"create client message",t);const i=Object.assign({},t.ext);for(const e of Object.keys(i))e.startsWith("s:")&&(H.ctxDebug(o.ctx,`delete s: prefix ext key: '${e}: ${i[e]}'`),delete i[e]);if(o.ext=i,o.mentionedUsers=t.mentionedUsers,o.clientId=t.id,o.version=r.ZERO,o.serverStatus=y.Enable,o.isOffline=!0,t.referenceMessage){let e=g.MessageStatus.AVAILABLE;t.referenceMessage.isRecalled?e=g.MessageStatus.RECALLED:t.referenceMessage.visible||(e=g.MessageStatus.INVISIBLE),o.referenceInfo={referenced_message_id:r.fromValue(t.referenceMessage.serverId),hint:null!==(n=t.referenceHint)&&void 0!==n?n:"",ref_message_type:r.fromValue(t.referenceMessage.type),referenced_message_status:e},void 0!==t.referenceMessage.referenceInfo?(o.referenceInfo.root_message_id=t.referenceMessage.referenceInfo.root_message_id,o.referenceInfo.root_message_conv_index=t.referenceMessage.referenceInfo.root_message_conv_index):(o.referenceInfo.root_message_id=r.fromValue(t.referenceMessage.serverId),o.referenceInfo.root_message_conv_index=t.referenceMessage.indexInConversation)}return o.ctx.option.secUid&&(o.secSender=o.ctx.option.secUid),o.scene=t.scene,t.contentPb&&(H.ctxDebug(e,"create client contentPb",t),o.contentPb=t.contentPb,H.ctxDebug(e,"create client msg",t)),o}static fromServerMessage(e,t,n){var o;const r=new Ce(e);if(r.serverId=t.server_message_id.toString(),r.type=t.message_type,r.ext=Object.assign({},t.ext),r.conversationId=t.conversation_id,r.content=t.content,r.sender=t.sender.toString(),r.createdAt=new Date(t.create_time.toNumber()),r.indexInConversation=t.index_in_conversation,r.orderInConversation=t.order_in_conversation,r.serverStatus=t.status,r.conversationShortId=t.conversation_short_id.toString(),r.conversationType=t.conversation_type,r.version=t.version,r.secSender=t.sec_sender,r.isOffline=!1,r.property=Ce.fromServerProperty(t),r.scene=t.scene,t.content_pb)try{r.contentPb=g.MessageContent.decode(t.content_pb)}catch(e){throw n&&(e.stack=e.stack.replace(/(\n)/,` [${n}]$1`)),e}return t.reference_info&&(r.referenceInfo=t.reference_info),void 0!==n&&r.ctx.option.debug&&(r.ext[h.LocalLogId]=n),(null===(o=t.media_info_list)||void 0===o?void 0:o.length)&&(r.mediaInfoList=t.media_info_list.map((e=>{var t,n;return{type:e.type,uri:e.id,urlInfoList:null!==(n=null===(t=e.url_info_list)||void 0===t?void 0:t.map((e=>{var t;return{displayType:e.display_type,urlList:null!==(t=e.url_list)&&void 0!==t?t:[],videoModel:e.video_model,width:e.width,height:e.height,duration:e.duration?Number(e.duration):void 0,size:e.size?Number(e.size):void 0,name:e.name,codec:e.codec}})))&&void 0!==n?n:[],decryptKey:e.decrypt_key}}))),r}static fromServerProperty(e){const t={};if(!e.property_list)return t;for(const n of Object.keys(e.property_list)){const o=e.property_list[n];o&&o.Items&&(t[n]=o.Items.map((t=>{var o,r,i,s,A;return{messageId:null!==(o=e.ext[h.ClientMessageId])&&void 0!==o?o:"",conversationId:e.conversation_id,key:n,userId:null===(r=t.uid)||void 0===r?void 0:r.toString(),secUid:null!==(i=t.sec_uid)&&void 0!==i?i:"",createTime:new Date(1e3*(null!==(A=null===(s=t.create_time)||void 0===s?void 0:s.toNumber())&&void 0!==A?A:0)),idempotentId:t.idempotent_id,value:t.value,version:e.version,status:ge.Success}})))}return t}merge(e){if(e&&this.type===e.type){if(e.ext=Object.assign(this.ext||{},e.ext),""===e.content&&this.content&&(H.ctxDebug(this.ctx,"ignore empty content replace:",e),e.content=this.content),e.clientId===this.clientId&&e.indexInConversation.lt(this.indexInConversation))return this.indexInConversation=e.indexInConversation,this;const t=this.orderInConversation;Object.assign(this,e),this.ctx.option.sortByLocalIndex&&t.lt(this.orderInConversation)&&(this.orderInConversation=t)}return this}get isNormalMsg(){return this.type<5e4}get isCommandMsg(){return this.type===g.MessageType.MESSAGE_TYPE_COMMAND}get isSpecialMessage(){return this.type>=5e4}get visible(){return!(this.serverStatus===y.Disable||this.isSpecialMessage||this.ctx.option.userId&&this.ext&&(this.ext[h.MessageVisible]&&this.ext[h.MessageVisible].length>0?-1===this.ext[h.MessageVisible].split(",").indexOf(this.ctx.option.userId):this.ext[h.MessageInvisible]&&this.ext[h.MessageInvisible].length>0&&-1!==this.ext[h.MessageInvisible].split(",").indexOf(this.ctx.option.userId)))}get unpop(){return!(!this.ext||this.visible&&!fe(this.ext,h.DoNotPopConversation))}get increaseUnread(){return!(this.isFromMe||!this.visible||this.isSpecialMessage||this.isRecalled||fe(this.ext,h.DoNotIncreaseUnread))}get isFromMe(){return this.sender===this.ctx.option.userId}get isRecalled(){return this.ext&&Boolean(this.ext[h.IsRecalled])}get isMentioned(){return this.visible&&(this.mentionedUsers.includes(this.ctx.option.userId)||this.mentionedUsers.includes("0")&&!this.isFromMe)}get mentionedUsers(){return this.ext&&this.ext[h.MentionedUser]?this.ext[h.MentionedUser].split(","):[]}set mentionedUsers(e){this.ext||(this.ext={}),this.ext[h.MentionedUser]=e.join(",")}get isStrangerMessage(){return!this.ext||["1","2","3"].includes(this.ext[h.MessageMode])}get isRootReference(){return!!this.ext&&fe(this.ext,h.IsRootReference)}get moveReadIndex(){return!this.ext||!(!this.visible||this.isFromMe||this.isSpecialMessage)&&!fe(this.ext,h.DoNotMoveReadIndex)}get updateLastMessage(){return!(!this.visible||this.isSpecialMessage||fe(this.ext,h.DoNotUpdateLastMessage))}get contentPbStr(){return this.contentPb&&"undefined"!=typeof btoa?btoa(String.fromCharCode.apply(null,g.MessageContent.encode(this.contentPb).finish())):""}get sendMediaList(){var e,t;return null!==(t=null===(e=this.mediaInfoList)||void 0===e?void 0:e.map((e=>{const{width:t,height:n,duration:o,size:i,name:s,codec:A}=e.urlInfoList[0];return{type:e.type,id:e.uri,decrypt_key:e.decryptKey,metadata:{width:t,height:n,duration:"number"==typeof o?r.fromValue(o):void 0,size:"number"==typeof i?r.fromValue(i):void 0,name:s,codec:A}}})))&&void 0!==t?t:[]}}var Ee=n(36518),ve=n.n(Ee);function Qe(e,t,n,o){let r=n=n||0,i=o=o||e.length-n,s=0;for(r=n,i=o;r>4;if(o>0){let n=o+240;for(;255===n;)n=e[r++],o+=n;const A=r+o;for(;rs)return-(r-2);let a=15&n,c=a+240;for(;255===c;)c=e[r++],a+=c;let l=s-A;const g=s+a+4;for(;s>>16)*o+n*(t>>>16)<<16)|0});const be=g.Request,we=g.Response,Me=g.Frame;function ke(e){return"undefined"!=typeof btoa?btoa(String.fromCharCode.apply(null,new Uint8Array(e))):""}function De(e){const t=be.encode(e).finish();return new Uint8Array(t)}function Oe(e,t){const n=new Uint8Array(t);try{return we.decode(n)}catch(t){const o=ke(n);throw H.ctxWarn(e,"decode response error: ",t),H.ctxDebug(e,"hex dump: ",o),o}}function Se(e){const t=Me.encode(e).finish();return new Uint8Array(t)}function Re(e,t){const n=new Uint8Array(t);try{return Me.decode(n)}catch(t){const o=ke(n);throw H.ctxWarn(e,"decode frame error: ",t),H.ctxDebug(e,"hex dump: ",o),o}}var Le,Te,Pe,Ge;!function(e){e[e.Stopped=0]="Stopped",e[e.Running=1]="Running"}(Le||(Le={}));class xe extends F{constructor(e,t,n){return super(e),this.state=Le.Stopped,this.refreshRate=0,this.doneDuration=0,this.refreshRate=t,this.doneDuration=n,this.onTick=new ne(this.ctx),this.onDone=new ne(this.ctx),this.onStop=new ne(this.ctx),this}get duration(){return this.state===Le.Stopped&&0!==this.lastStopTime?this.lastStopTime-this.startTime:this.state===Le.Running?Date.now()-this.startTime:0}start(){this.state!==Le.Running&&this.restart()}restart(){this.tickTimer&&this.stop(),this.state=Le.Running;const e=setInterval,t=setTimeout;this.tickTimer=e((()=>{this.update()}),this.refreshRate),void 0!==this.doneDuration&&(this.doneTimer=t((()=>{this.done()}),this.doneDuration)),this.startTime=Date.now(),this.lastStopTime=0,this.update()}stop(){if(this.state===Le.Stopped)return;const e=clearInterval,t=clearTimeout;e(this.tickTimer),t(this.doneTimer),this.state=Le.Stopped,this.lastStopTime=Date.now(),this.onStop.nextEmpty()}getTickTimer(){return this.tickTimer}update(){this.onTick.nextEmpty(this)}done(){this.stop(),this.onDone.nextEmpty()}}!function(e){e[e.Unknown=0]="Unknown",e[e.Connected=1]="Connected",e[e.Disconnected=2]="Disconnected"}(Te||(Te={})),function(e){e[e.Unknown=0]="Unknown",e[e.Cellular_2G=1]="Cellular_2G",e[e.Cellular_3G=2]="Cellular_3G",e[e.Cellular_4G=3]="Cellular_4G",e[e.Cellular_5G=4]="Cellular_5G",e[e.Wifi=5]="Wifi",e[e.Other=6]="Other",e[e.None=7]="None"}(Pe||(Pe={}));class Ye extends F{}class je{constructor(){this.constructors=new Map}setAdapter(e,t){this.constructors.set(e,t)}setDynamicAdapter(e){for(const t of Object.keys(e))this.setAdapter(t,e[t])}getConstructor(e,t){if(!this.constructors.has(t))throw new K({ctx:e,type:w.NoAdapter,msg:`adapter not exist for ${t}`,sender:this});return this.constructors.get(t)}static setAdapter(e,t){return this.Instance.setAdapter(e,t)}static getConstructor(e,t){return this.Instance.getConstructor(e,t)}static setDynamicAdapter(e){return this.Instance.setDynamicAdapter(e)}}je.Instance=new je,function(e){e.NetApi="net",e.HttpClient="http",e.WebSocketClient="ws",e.MediaUploader="mediaUploader"}(Ge||(Ge={}));var Fe=n(35655),Ne=n.n(Fe);class Ue extends F{constructor(e){super(e),this.wsLastReceiveTime=0,this.reqMap=new Map,this.manuallyClosed=!1,this.isConnecting=!1;const{webSocketLevel:t,heartbeatInterval:n,maxHeartbeatEmptyWindow:o}=this.ctx.option;this.heartbeatInterval=null!=n?n:u.heartbeatInterval,this.maxEmptyWindow=null!=o?o:u.maxHeartbeatEmptyWindow,this.net=new(je.getConstructor(e,Ge.NetApi))(this.ctx),this.http=new(je.getConstructor(e,Ge.HttpClient))(this.ctx),t!==p.Disable&&(this.ws=new(je.getConstructor(e,Ge.WebSocketClient))(this.ctx,this.ctx.option.wsClientInitParams),this.prepareWs()),this.onMessage=new ne(e)}inSignCommandList(e){return[g.IMCMD.SEND_MESSAGE,g.IMCMD.CREATE_CONVERSATION_V2,g.IMCMD.CALL_VOIP,g.IMCMD.ADD_CONVERSATION_PARTICIPANTS,g.IMCMD.REMOVE_CONVERSATION_PARTICIPANTS,g.IMCMD.UPDATE_CONVERSATION_PARTICIPANT,g.IMCMD.SET_CONVERSATION_SETTING_INFO,g.IMCMD.SET_CONVERSATION_CORE_INFO,g.IMCMD.UPSERT_CONVERSATION_CORE_EXT_INFO,g.IMCMD.UPSERT_CONVERSATION_SETTING_EXT_INFO,g.IMCMD.DISSOLVE_CONVERSATION,g.IMCMD.MARK_MESSAGE,g.IMCMD.BATCH_UNMARK_MESSAGE,g.IMCMD.SET_MESSAGE_PROPERTY,g.IMCMD.MODIFY_MESSAGE_EXT].includes(e)}frontierSign(e){const t={"X-MS-STUB":ve()(e)};if("undefined"!=typeof window&&void 0!==window.byted_acrawler&&"function"==typeof window.byted_acrawler.frontierSign){const e=window.byted_acrawler.frontierSign(t);return null!=e?e:{}}return{}}sendByBeacon(e){return(0,o.__awaiter)(this,void 0,void 0,(function*(){return e.method="beacon",H.ctxDebug(this.ctx,`Beacon Request SeqId -> ${e.seqId}`,e.request),this.http.sendBeacon(e.url,e.request),e}))}sendByHttp(e,t){return(0,o.__awaiter)(this,void 0,void 0,(function*(){e.method="http",H.ctxDebug(this.ctx,`Http Request SeqId -> ${e.seqId}`,e.request);try{this.reqMap.set(e.seqId,e);const n=yield this.http.sendRequest(e.url,e.request,t);return e.response=n,0!==n.status_code?H.ctxError(this.ctx,`Http Response SeqId -> ${e.seqId}`,e.response):H.ctxDebug(this.ctx,`Http Response SeqId -> ${e.seqId}`,e.response),e}catch(e){throw new K({ctx:this.ctx,msg:"network error",type:w.NetworkError,innerError:e,allowRetry:!0,sender:this,ignoreEvent:!0})}finally{this.reqMap.delete(e.seqId)}}))}sendByWs(e){return(0,o.__awaiter)(this,void 0,void 0,(function*(){e.method="ws";const t=De(e.request),n=this.inSignCommandList(e.cmd)?this.frontierSign(t):{},o=Object.assign(Object.assign({},n),this.ctx.option.headers),i=g.Frame.create({service:this.ctx.option.service,method:this.ctx.option.method,headers:Object.entries(o).map((([e,t])=>({key:e,value:t}))),seqid:r.fromNumber(e.seqId),logid:r.fromNumber(Date.now()),payload_type:"pb",payload:t});e.frame=i;try{this.reqMap.set(e.seqId,e),H.ctxDebug(this.ctx,`WS Request SeqId -> ${e.seqId}`,e.request,e.frame),this.ws.send(Se(i))}catch(t){throw this.reqMap.delete(e.seqId),new K({ctx:this.ctx,msg:"network error",type:w.NetworkError,innerError:t,allowRetry:!0,sender:this})}return new Promise(((t,n)=>{e.wsPromise={resolve:t,reject:n}}))}))}receiveRaw(e){if(this.resetWsHeartbeat(),"hi"!==e.toString()&&"string"!=typeof e)try{const t=Re(this.ctx,e);if(t.service!==this.ctx.option.service&&!this.ctx.option.acceptIncorrectFrame)return H.ctxDebug(this.ctx,`WS Response dropped, local serviceId=${this.ctx.option.service}, message=${t.service}`),void this.resolve(G.EventBus).emit(b.WebSocketReceiveUnexpectedFrame,this,t);let{payload:n}=t;if(null==n)return void H.ctxWarn(this.ctx,"payload undefined or null");if("__lz4"===t.payload_encoding){let e=new Uint8Array(10*n.length),t=0;if(t=Qe(n,e),(t<0||t>e.length||te.length||t ${o.sequence_id}`,o):H.ctxDebug(this.ctx,`WS Response SeqId -> ${o.sequence_id}`,o),i.response=o,i.wsPromise.resolve(i),this.reqMap.delete(r)):o.sequence_id.eq(0)?(H.ctxDebug(this.ctx,"WS Push",o),i=new Z(this.ctx,o.cmd),i.frame=t,i.response=o,i.seqId=o.sequence_id.toNumber(),this.receive(i)):H.ctxWarn(this.ctx,"WS Response dropped, no handler",o)}catch(e){H.ctxWarn(this.ctx,"WS Response dropped, IM Response deserialize fail, hex dump:",e,"frame:",t)}}catch(e){H.ctxWarn(this.ctx,"WS Response dropped, Frame deserialize fail, hex dump: ",e)}}send(e,t){var n,r,i,s,A,a,c,l,d,u;return(0,o.__awaiter)(this,void 0,void 0,(function*(){if(t.useBeacon)return yield this.sendByBeacon(e),e.response=g.Response.create({}),e;let p=null!==(n=t.maxWsRetryTimes)&&void 0!==n?n:3,h=0===p?null!==(r=t.maxHttpRetryTimes)&&void 0!==r?r:3:(null!==(i=t.maxHttpRetryTimes)&&void 0!==i?i:null===(s=this.ws)||void 0===s?void 0:s.isOpen())?1:3;0===h&&(h=1),J.performanceNow()-this.wsLastReceiveTime-1.5*this.heartbeatInterval>this.maxEmptyWindow&&(null===(A=this.ws)||void 0===A?void 0:A.isOpen())&&(p=0,h=null!==(a=t.maxHttpRetryTimes)&&void 0!==a?a:3,H.ctxWarn(this.ctx,"ws idle too long, fallback to http"));let _=0,y=0;const I=()=>{let n=!1;const r=new Promise(((t,o)=>{setTimeout((()=>{n||(this.reqMap.delete(e.seqId),o(new K({ctx:this.ctx,msg:"request timeout",type:w.NetworkError,allowRetry:!0,ignoreEvent:!0,sender:this})))}),this.ctx.option.timeout)}));return Promise.race([r,(()=>(0,o.__awaiter)(this,void 0,void 0,(function*(){var o;let r,i=!1;if(_=p&&0===y&&void 0!==this.ws&&(H.ctxWarn(this.ctx,"fallback to http"),i=!1),y>=h)throw new K({ctx:this.ctx,msg:"http retry times limit exceeded",type:w.NetworkError,sender:this,args:{cmd:e.cmd,seqId:e.seqId}});i?(_++,r=this.sendByWs(e)):(y++,r=this.sendByHttp(e,null==t?void 0:t.method));try{const t=yield r;n=!0,this.reqMap.delete(e.seqId);const{request:o,response:i}=t;if(this.resolve(G.Monitor).emitNetwork(o,i),i.status_code===w.ResourceExhausted)throw new K({ctx:this.ctx,msg:"demotion enabled",type:w.ResourceExhausted,allowRetry:!1,sender:this,logid:null==i?void 0:i.log_id});if(i.status_code===w.InternalError&&(i.error_desc.includes("i/o timeout")||i.error_desc.includes("rpc timeout")||i.error_desc.includes("RPC timeout"))||i.error_desc.includes("connection timeout")||i.error_desc.includes("request timeout"))throw new K({ctx:this.ctx,msg:"request timeout",type:w.NetworkError,allowRetry:!0,ignoreEvent:!0,sender:this,logid:null==i?void 0:i.log_id});return t.retryTimes=_+y,t}catch(e){throw e.type?e:new K({ctx:this.ctx,msg:"request error",type:w.NetworkError,allowRetry:e.allowRetry,innerError:e,sender:this})}finally{this.reqMap.delete(e.seqId)}})))()])};let f;for(;;){if(e.retryTimes++,e.retryTimes>=10){e.error=new K({ctx:this.ctx,msg:"too much retry",type:w.NetworkError,sender:this});break}try{if(e.startTime=Date.now(),f=yield I(),e.endTime=Date.now(),"function"==typeof(null===(l=null===(c=null==f?void 0:f.response)||void 0===c?void 0:c.server_execution_end_time)||void 0===l?void 0:l.toNumber)&&"function"==typeof(null===(u=null===(d=null==f?void 0:f.response)||void 0===d?void 0:d.request_arrived_time)||void 0===u?void 0:u.toNumber)&&J.putTimeDelta(e.startTime,e.endTime,f.response.server_execution_end_time.toNumber(),f.response.request_arrived_time.toNumber()),void 0!==f)break}catch(t){if(e.error=t,!0===(null==t?void 0:t.allowRetry)){let n=500+100*e.retryTimes+100*Math.random();n>2e3&&(n=2e3),H.ctxDebug(this.ctx,`req ${e.seqId} failed, retrying @ attempt ${e.retryTimes}, inner err:`,t),yield new Promise((e=>setTimeout(e,n)));continue}break}}if(void 0===f)throw void 0===e.error&&(e.error=new K({ctx:this.ctx,msg:"unknown error",type:w.NetworkError,sender:this})),e.error;return f}))}sendByHttpTo(e,t,n,r){return(0,o.__awaiter)(this,void 0,void 0,(function*(){return"undefined"!=typeof fetch?(yield fetch(e,{credentials:this.ctx.option.withCredentials?"include":"same-origin",method:t,headers:n})).arrayBuffer():this.http.send(e,t,r)}))}sendByHttpWithoutArrayBuffer(e,t,n){return(0,o.__awaiter)(this,void 0,void 0,(function*(){return yield fetch(e,{headers:this.ctx.option.httpHeaders,credentials:this.ctx.option.withCredentials?"include":"same-origin"})}))}receive(e){this.resolve(G.Monitor).emitNetwork(null,e.response),this.onMessage.next(e.response,this)}onWsClose(){return(0,o.__awaiter)(this,void 0,void 0,(function*(){H.ctxDebug(this.ctx,"ws closed"),this.resolve(G.EventBus).emit(b.WebSocketDisconnected,this,this.ws)}))}prepareWs(){this.ctx.option.webSocketLevel!==p.Disable&&(this.ws.onMessage.subscribe((e=>this.receiveRaw(e))),this.ws.onClose.subscribe((()=>this.onWsClose())),this.ws.onError.subscribe((()=>this.onWsClose())),this.ws.onOpen.subscribe((()=>{H.ctxDebug(this.ctx,"ws connected"),this.resolve(G.EventBus).emit(b.WebSocketConnected,this,this.ws),this.manuallyClosed=!1})),this.wsCheckTicker=new xe(this.ctx,this.heartbeatInterval),this.wsCheckTicker.onTick.subscribe((()=>(0,o.__awaiter)(this,void 0,void 0,(function*(){var e,t,n,o,r;const i=J.performanceNow()-this.wsLastReceiveTime+this.heartbeatInterval/1.5;if((yield this.net.getConnectionStatus())!==Te.Disconnected)if(null===(e=this.ws)||void 0===e?void 0:e.isOpen())if(i>this.maxEmptyWindow){H.ctxDebug(this.ctx,"not receive any packet in window, ws close connection",i),this.resolve(G.Monitor).emitMetrics(q.WebSocketConnectNoHeartbeat,{count:1},{url:null!==(r=null===(o=this.ws)||void 0===o?void 0:o.url)&&void 0!==r?r:"unknown"});try{yield this.connectWs(!0)}catch(e){H.ctxWarn(this.ctx,"ws ticker window connect err:",e)}}else i>this.heartbeatInterval&&this.sendWsHeartbeat();else{H.ctxDebug(this.ctx,"ws ticker try connect if closed"),this.resolve(G.Monitor).emitMetrics(q.WebSocketConnectAfterClose,{count:1},{url:null!==(n=null===(t=this.ws)||void 0===t?void 0:t.url)&&void 0!==n?n:"unknown"});try{yield this.connectWs(!0)}catch(e){H.ctxWarn(this.ctx,"ws ticker try connect err:",e)}}else H.ctxDebug(this.ctx,"network disconnected, skip ws check")})))))}closeWs(e){var t,n;this.ctx.option.webSocketLevel!==p.Disable&&(null===(t=this.ws)||void 0===t||t.close(),this.manuallyClosed=!e,this.manuallyClosed&&(null===(n=this.wsCheckTicker)||void 0===n||n.stop()))}connectWs(e){var t,n,r,i,s;return(0,o.__awaiter)(this,void 0,void 0,(function*(){if(this.ctx.option.webSocketLevel===p.Disable)return;if(this.manuallyClosed&&e)return void H.ctxDebug(this.ctx,"ignore connect since manually closed");if(this.isConnecting&&this.ctx.option.enableLazyConnectWebSocket)return void H.ctxDebug(this.ctx,"ignore connect when connecting");(null===(t=this.ws)||void 0===t?void 0:t.isOpen())&&this.closeWs(!0),this.isConnecting=!0;const o=J.performanceNow();try{yield this.ws.performOpen(),this.resolve(G.Monitor).emitMetrics(q.WsConnect,{ws_cost:J.performanceNow()-o},{error_code:"0",url:null!==(n=this.ws.option.frontierUrl)&&void 0!==n?n:"unknown"}),this.resetWsHeartbeat(),null===(r=this.wsCheckTicker)||void 0===r||r.start()}catch(e){if(this.resolve(G.Monitor).emitMetrics(q.WsConnect,{ws_cost:J.performanceNow()-o},{error_code:"1",url:null!==(i=this.ws.option.frontierUrl)&&void 0!==i?i:"unknown"}),!this.ctx.option.forceEnableWsCheckTicker)throw e;null===(s=this.wsCheckTicker)||void 0===s||s.start()}finally{this.isConnecting=!1}}))}sendWsHeartbeat(){var e;(null===(e=this.ws)||void 0===e?void 0:e.isOpen())?this.ws.send("hi"):H.ctxWarn(this.ctx,"ws not connect but try to send heartbeat")}resetWsHeartbeat(){this.wsLastReceiveTime=J.performanceNow()}}const He={appId:0,token:"",deviceId:"",userId:"",biz:"",apiUrl:"",frontierUrl:"",fpId:89,appKey:"e0f82475ab9dbf5717d18b4a9c0d7fd0",service:2,method:1,authType:g.AuthType.TOKEN_AUTH,inboxType:[0],headers:{},whaleQueryParams:{},httpHeaders:{},devicePlatform:"web",timeout:2e3,pullInterval:3e4,throttle:100,serverUnreadCountThreshold:10,triggerStrategy:{[b.ConversationChange]:S.Debounce,[b.MessageUpsert]:S.Debounce,[b.ConversationUpsert]:S.ThrottleWithArgs},maxMessageCount:1e3};function qe(e,t,n){for(const o of Object.keys(n))"string"!=typeof n[o]&&H.ctxError(e,`${t}[${o}] is not a string!`)}class Je extends F{constructor(e){super(e),this.refreshBuffer=[],this.refreshDebounce=re((()=>{this.triggerRefresh()}),1e3,!0),this.conversations=new Map}applyLocal(e){e.forEach((e=>{this.conversations.set(e.id,e)}))}clearAll(){this.conversations.clear()}getWithCreateLocal(e,t,n,o){let r=this.getRaw(e);if(!r){const i=new Be(this.ctx);i.coreInfo=new ae(i),i.settingInfo=new le(i),i.id=e,i.shortId=t,i.type=n,i.isOffline=!0,r=i,void 0!==o?i.coreInfo.inboxType=o:void 0===o&&n===g.ConversationType.ONE_TO_ONE_CHAT&&4===e.split(":").length&&(i.coreInfo.inboxType=Number.parseInt(e.split(":")[0],10)),H.ctxDebug(this.ctx,"create local conv:",i),this.upsert(r)}return r}upsert(e){var t;if(void 0===e)throw new K({ctx:this.ctx,msg:"upsert undefined conv",type:w.InvalidParam,sender:this});if(!this.resolve(G.InboxType).isValidInbox(e.inboxType))throw new K({ctx:this.ctx,msg:`invalid inbox: ${e.inboxType}`,type:w.InvalidParam,sender:this});let n=this.conversations.get(e.id);if(n&&e.isOffline&&(H.ctxDebug(this.ctx,`local exist, try to use offline upsert, ignore, short id: ${n.shortId} with offline:${e.shortId}`),!n.isOffline))return H.ctxDebug(this.ctx,"local is online, ignore update"),n;if(n){H.ctxDebug(this.ctx,`merge conversation local=${n.version.toString()}:`,n,`new=${e.version.toString()}:`,e);const t=n.coreInfo||new ae(n),o=n.settingInfo||new le(n);n=Object.assign(n,e),n.coreInfo=t.mergeCore(e.coreInfo),n.settingInfo=o.mergeSetting(e.settingInfo),n.forceRefreshUnreadCount()}return this.conversations.set(e.id,null!=n?n:e),null===(t=this.resolve(G.DbProxy))||void 0===t||t.upsertConversation(null!=n?n:e),this.ctx.initResult===v.Succeeded&&(this.resolve(G.EventBus).emit(b.ConversationUpsert,this,null!=n?n:e),this.resolve(G.EventBus).emitEmpty(b.ConversationChange,this)),e}refreshLocalAsync(){return(0,o.__awaiter)(this,void 0,void 0,(function*(){const e=this.getConversationArray().filter((e=>e.isOffline));if(0!==e.length)return this.refreshAsync(e)}))}refreshLocal(){const e=this.getConversationArray().filter((e=>e.isOffline));0!==e.length&&this.refresh(e)}updateBadgeCountByLocal(e){if(this.ctx.option.enableServerUnreadCount){const t=[];e.forEach((e=>{if(e.message_type&&e.message_type<5e4){const n=Ce.fromServerMessage(this.ctx,e);if(n&&n.increaseUnread){const e=this.conversations.get(n.conversationId);e&&(e.badgeCount=r.fromValue(e.badgeCount.toNumber()+1),t.push(e))}}})),this.refresh(t)}}triggerRefresh(){if(0===this.refreshBuffer.length)return;H.ctxDebug(this.ctx,"clear refresh buffer:",this.refreshBuffer);const e=[...this.refreshBuffer];this.refreshBuffer=[],this.refreshAsync(e)}refresh(e){var t;const n=_e(e),o=[];if(0===this.refreshBuffer.length)o.push(...n);else{const e={};this.refreshBuffer.forEach((t=>e[t.id]=!0)),n.forEach((t=>{e[t.id]||o.push(t)}))}o.length>0&&this.refreshBuffer.push(...o);const r=null!==(t=this.ctx.option.conversationRefreshCount)&&void 0!==t?t:u.conversationRefreshCount;this.refreshBuffer.length>=r?(H.ctxDebug(this.ctx,"batch full, trigger refresh"),this.triggerRefresh()):(H.ctxDebug(this.ctx,"trigger refresh"),this.refreshDebounce())}refreshAsync(e){var t,n,i;return(0,o.__awaiter)(this,void 0,void 0,(function*(){const o=null!==(t=_e(e))&&void 0!==t?t:this.refreshBuffer;if(0===o.length)return[];H.ctxDebug(this.ctx,"refresh conv: ",o);const s=[],A=he(o,(e=>e.inboxType.toString()));for(const e of Object.keys(A)){const t=pe(A[e],5);for(const o of t)try{const t=yield this.resolve(G.CoreApi).GetConversationInfoListV2({conversations:o.map((e=>({conversationId:e.id,conversationShortId:r.fromString(e.shortId),conversationType:e.type}))),inboxType:Number.parseInt(e,10)}),i=(null===(n=null==t?void 0:t.body)||void 0===n?void 0:n.get_conversation_info_list_v2_body).conversation_info_list;o.forEach((e=>{0===i.filter((t=>t.conversation_id===e.id)).length&&(H.ctxDebug(this.ctx,"delete local conv, may not exist online: ",e),this.delete(e.id))})),i.forEach((e=>{const n=this.upsert(Be.fromServerConversation(this.ctx,e,null==t?void 0:t.log_id));s.push(n)}))}catch(e){e&&(null==e?void 0:e.type)===w.InternalError&&(null===(i=null==e?void 0:e.message)||void 0===i?void 0:i.includes("request.MGet empty"))?o.forEach((e=>{H.ctxDebug(this.ctx,"delete local conv, may not exist online: ",e),this.delete(e.id)})):H.ctxError(this.ctx,"unknown refresh error:",e)}}return s}))}get(e){const t=this.getRaw(e);if(!t)throw new K({ctx:this.ctx,msg:`conversation ${e} not exist in local`,type:w.ConversationNotExist,sender:this,args:{conversationId:e}});return t}getWithShortIdRaw(e){for(const t of this.conversations.values())if(t.shortId===e)return t;return null}getWithOnline(e,t,n){return(0,o.__awaiter)(this,void 0,void 0,(function*(){let o=this.getRaw(e);if(!o||o.isOffline){if(!t||!n)throw new K({ctx:this.ctx,type:w.InvalidParam,msg:"no shortId and type provided",sender:this});o=this.getWithCreateLocal(e,t,n)}return yield this.refreshAsync(o),this.get(e)}))}getRaw(e){return this.conversations.get(e)}getConversationArray(e=Je.conversationFilter){return Array.from(this.conversations.values()).filter(e).map((e=>({conv:e,rankScore:e.rankScore}))).sort(Je.conversationComparator).map((e=>e.conv))}withConversation(e){return t=>t(this.get(e))}delete(e,t=!1){var n;const o=this.getRaw(e);o&&(t||this.getContext().resolve(G.MessageManager).clearConversation(e),this.conversations.delete(e),null===(n=this.resolve(G.DbProxy))||void 0===n||n.deleteConversation(o),this.resolve(G.EventBus).emitEmpty(b.ConversationChange,this),this.resolve(G.EventBus).emit(b.ConversationDelete,this,o))}markRead(e,t,n){const o=this.get(e);return n&&n.toNumber()&&(o.settingInfo.readBadgeCount=n),o.settingInfo.readIndex.gt(t)?o:(o.settingInfo.readIndex=t,this.upsert(o))}leave(e){var t;const n=this.get(e);n&&(n.isMember=!1,null===(t=this.resolve(G.DbProxy))||void 0===t||t.upsertConversation(n),this.resolve(G.EventBus).emitEmpty(b.ConversationChange,this),this.resolve(G.EventBus).emit(b.ConversationLeave,this,n))}refreshTicket(e){return(0,o.__awaiter)(this,void 0,void 0,(function*(){const t=this.get(e),n=yield this.resolve(G.CoreApi).GetTicket({conversationType:t.type,shortId:r.fromString(t.shortId),toId:r.fromString(t.type===g.ConversationType.ONE_TO_ONE_CHAT?t.toParticipantUserId:t.shortId),inboxType:t.inboxType});t.ticket=null==n?void 0:n.ticket,this.upsert(t),H.ctxDebug(this.ctx,"refresh ticket for conv:",t)}))}static conversationFilter(e){return 0===e.mode&&e.isMember}dispose(){this.clearAll()}}var Ke,Ve,ze,We,Xe;Je.conversationComparator=(e,t)=>t.rankScore-e.rankScore,function(e){e[e.MarkConversationRead=1]="MarkConversationRead",e[e.DeleteMessage=2]="DeleteMessage",e[e.DeleteConversation=3]="DeleteConversation",e[e.SettingInfoUpdate=4]="SettingInfoUpdate",e[e.CoreInfoUpdate=6]="CoreInfoUpdate",e[e.ParticipantUpdate=7]="ParticipantUpdate",e[e.FirstMessage=8]="FirstMessage"}(Ke||(Ke={}));class Ze extends Ce{static fromMessage(e){const t=e;return t.contentObj=ce.parse(e.content),t.commandSubType=t.contentObj.command_type,t}}class $e extends F{execute(e){return(0,o.__awaiter)(this,void 0,void 0,(function*(){let t=e;return t=yield this.before(t),t=yield this.process(t),t=yield this.after(t),t}))}before(e){return(0,o.__awaiter)(this,void 0,void 0,(function*(){return e}))}after(e){return(0,o.__awaiter)(this,void 0,void 0,(function*(){return e}))}}class et extends F{constructor(){super(...arguments),this.minIndex=r.ZERO,this._readIndex=r.ZERO,this._readOrder=r.ZERO}get readIndex(){return this._readIndex}set readIndex(e){e&&e.gt(this._readIndex)&&(this._readIndex=e)}get readOrder(){return this._readOrder}set readOrder(e){e&&e.gt(this._readOrder)&&(this._readOrder=e)}get isSelf(){return this.userId===this.ctx.option.userId}get ext(){return this.innerExt||(this.innerExt={}),this.innerExt}set ext(e){this.innerExt=e}static featLocalParticipant(e,t){return e.userId!==t.userId||(e.secUid=t.secUid,e.role=t.role,e.alias=t.alias,e.sortOrder=t.sortOrder,e.blocked=t.blocked,e.leftBlockTime=t.leftBlockTime,e.readIndex=t.readIndex,e.readOrder=t.readOrder,e.ext=Object.assign(e.ext,t.ext)),e}static fromServerParticipant(e,t,n,o){var r,i,s,A;const a=new et(e);return a.userId=t.user_id.toString(),a.secUid=t.sec_uid,a.role=null!==(r=t.role)&&void 0!==r?r:void 0,a.alias=null!==(i=t.alias)&&void 0!==i?i:void 0,a.sortOrder=null!==(s=t.sort_order)&&void 0!==s?s:void 0,a.blocked=t.blocked===g.BlockStatus.BLOCK,a.leftBlockTime=null!==(A=t.left_block_time)&&void 0!==A?A:void 0,a.conversationId=n.id,a.conversationType=n.type,a.ext=Object.assign(a.ext,t.ext),void 0!==o&&a.ctx.option.debug&&(a.ext[h.LocalLogId]=o),a}static fakeParticipant(e,t,n){const o=new et(e);return o.conversationId=n.id,o.conversationType=n.type,o.readIndex=r.ZERO,o.minIndex=r.ZERO,o.userId=t,o}}class tt extends $e{process(e){return(0,o.__awaiter)(this,void 0,void 0,(function*(){return e.data.isCommandMsg&&(e.needContinue=!1,yield this.parseCommand(e.data)),e}))}parseCommand(e){return(0,o.__awaiter)(this,void 0,void 0,(function*(){const t=Ze.fromMessage(e);switch(t.contentObj.command_type){case Ke.DeleteConversation:this.handleDeleteConversationCMD(t);break;case Ke.DeleteMessage:this.handleDeleteMessageCMD(t);break;case Ke.MarkConversationRead:this.handleMarkConversationRead(t);break;case Ke.SettingInfoUpdate:yield this.handleUpdateSettingInfo(t);break;case Ke.CoreInfoUpdate:yield this.handleUpdateCoreInfo(t);break;case Ke.ParticipantUpdate:yield this.handleUpdateParticipant(t)}this.resolve(G.EventBus).emit(b.ReceiveCommandMessage,this,t)}))}handleDeleteConversationCMD(e){const{conversation_id:t}=e.contentObj;this.resolve(G.ConversationManager).delete(t)}handleDeleteMessageCMD(e){const{conversation_id:t,message_id:n}=e.contentObj;this.resolve(G.MessageManager).delete(t,n.toString())}handleMarkConversationRead(e){if(this.ctx.initResult===v.Succeeded){const{conversation_id:t,read_index:n,read_badge_count_v2:o}=e.contentObj;H.ctxDebug(this.ctx,"readCount update handleMarkConversationRead",e),this.resolve(G.ConversationManager).markRead(t,r.fromValue(n),r.fromValue(null!=o?o:r.ZERO))}}handleUpdateSettingInfo(e){return(0,o.__awaiter)(this,void 0,void 0,(function*(){if(this.ctx.initResult===v.Succeeded){const{conversation_version:t}=e.contentObj,n=r.fromValue(null!=t?t:r.MAX_VALUE),o=this.resolve(G.ConversationManager).getWithCreateLocal(e.conversationId,e.conversationShortId.toString(),e.conversationType);o.settingInfo.version.lte(n)?this.resolve(G.ConversationManager).refresh(o):H.ctxWarn(this.ctx,"ignore online update setting info cmd, local version: ",o.settingInfo.version.toString(),"online: ",n.toString())}}))}handleUpdateCoreInfo(e){return(0,o.__awaiter)(this,void 0,void 0,(function*(){if(this.ctx.initResult===v.Succeeded){const{group_version:t}=e.contentObj,n=r.fromValue(t),o=this.resolve(G.ConversationManager).getWithCreateLocal(e.conversationId,e.conversationShortId.toString(),e.conversationType);o.coreInfo.version.lte(n)?(H.ctxDebug(this.ctx,"local version outdated, sync from server"),this.resolve(G.ConversationManager).refresh(o)):H.ctxWarn(this.ctx,"ignore online update core info cmd, local version: ",o.coreInfo.version.toString(),"online: ",t.toString())}}))}handleUpdateParticipant(e){return(0,o.__awaiter)(this,void 0,void 0,(function*(){if(this.ctx.initResult===v.Succeeded){const{added_participant:t,modified_participant:n,removed_participant:o}=e.contentObj;if((null==t?void 0:t.length)>0){const n=t.map(String),o=[];n.filter((t=>{var n;return!(null===(n=this.resolve(G.ParticipantManager).getMapRaw(e.conversationId))||void 0===n?void 0:n.has(t))})).forEach((t=>{const n=et.fakeParticipant(this.ctx,t,{type:e.conversationType,id:e.conversationId});o.push(n)})),this.resolve(G.ParticipantManager).addBatch(e.conversationId,o)}if((null==n?void 0:n.length)>0){const t=this.resolve(G.ConversationManager).get(e.conversationId),o=n.map(String);this.resolve(G.ParticipantManager).updateWithUserIdAsync(t,o)}if((null==o?void 0:o.length)>0){const t=o.map(String);t.includes(this.ctx.option.userId)&&this.resolve(G.ConversationManager).leave(e.conversationId),this.resolve(G.ParticipantManager).delete(e.conversationId,t)}}}))}}class nt extends $e{process(e){return(0,o.__awaiter)(this,void 0,void 0,(function*(){const t=e.data.conversationId,n=e.data.conversationShortId,o=e.data.conversationType;if(!t)return H.ctxWarn(this.ctx,"no conversation provided in message, ignore",e.data),e.needContinue=!1,e;const r=this.resolve(G.ConversationManager).getRaw(t),{conversationBizTag:i}=this.ctx.option,s=e.data.isCommandMsg&&Ze.fromMessage(e.data).contentObj.command_type===Ke.CoreInfoUpdate;let A=!1;if(i&&(r&&s||!r||(null==r?void 0:r.isOffline))){const e=(yield this.resolve(G.CoreInstance).getConversationInfoOnline({conversationId:t,shortId:n,type:o})).ext;for(const t of Object.keys(i)){if(!Object.prototype.hasOwnProperty.call(e,t)){A=!0;break}const n=i[t].split(","),o=e[t].split(",");if(n.some((e=>!o.includes(e)))){A=!0;break}}}if(!r&&A)return H.ctxDebug(this.ctx,"received message that does not match conversation biz tag, ignore message"),e.needContinue=!1,e;if((e.data.type===g.MessageType.MESSAGE_TYPE_CONVERSATION_DESTROY||A)&&r)return this.resolve(G.ConversationManager).delete(t),this.resolve(G.EventBus).emit(b.ConversationDissolve,this,r),this.resolve(G.EventBus).emitEmpty(b.ConversationChange,this),e.needContinue=!1,e;if(!e.data.isNormalMsg&&!s&&void 0===r)return e.needContinue=!1,this.ctx.initResult===v.Succeeded&&H.ctxDebug(this.ctx,`ignore process, conv: ${e.data.conversationId} not exist for cmd msg`,e.data),e;const a=e.data,c=this.resolve(G.ConversationManager).getWithCreateLocal(a.conversationId,a.conversationShortId,a.conversationType);return e.conv=c,e}))}}class ot extends $e{process(e){var t;return(0,o.__awaiter)(this,void 0,void 0,(function*(){if(!e.data.isNormalMsg)return e;const n=this.resolve(G.MessageManager).getRaw(null===(t=e.conv)||void 0===t?void 0:t.id,e.data.clientId),o=void 0!==e.data.source&&(e.data.source===Q.Online||e.data.source===Q.UserInbox),r=void 0!==(null==n?void 0:n.flightStatus)&&o;this.resolve(G.MessageManager).upsert(e.data);const i=this.resolve(G.MessageManager).getRaw(e.data.conversationId,e.data.clientId);return n?r&&i.flightStatus!==M.Received&&(i.flightStatus=M.Received,this.ctx.initResult===v.Succeeded&&this.resolve(G.EventBus).emit(b.ReceiveSelfMessage,this,i),this.resolve(G.MessageManager).upsert(i)):o&&!e.data.isStrangerMessage&&(e.data.sender!==this.ctx.option.userId?this.ctx.initResult===v.Succeeded&&this.resolve(G.EventBus).emit(b.ReceiveNewMessage,this,i):this.ctx.initResult===v.Succeeded&&this.resolve(G.EventBus).emit(b.ReceiveSelfMessage,this,i)),e}))}}class rt extends $e{process(e){return(0,o.__awaiter)(this,void 0,void 0,(function*(){return[g.MessageType.MESSAGE_TYPE_UPDATE_MESSAGE_EXT,g.MessageType.MESSAGE_TYPE_REFRESH_MESSAGE,g.MessageType.MESSAGE_TYPE_RECALL_MESSAGE].includes(e.data.type)&&(e.needContinue=!1,yield this.handleUpdateExt(e)),e}))}handleRefreshMessage(e){return(0,o.__awaiter)(this,void 0,void 0,(function*(){const t=e.data.ext[h.ServerMessageId],n=e.conv;if(!n)throw new K({ctx:this.ctx,type:w.ConversationNotExist,msg:`message ${e.data} has no local conv`,sender:this});const o=this.resolve(G.MessageManager).getByServerIdRaw(n.id,t);if(!o)throw new K({ctx:this.ctx,type:w.MessageNotExist,msg:`message ${e.data} has no local message`,sender:this});const r=yield this.resolve(G.ExtensionPlugin).getMessages({conversation:n,messages:[o]});r&&(this.resolve(G.MessageManager).upsert(r[0]),this.resolve(G.EventBus).emit(b.RefreshMessage,this,e.data))}))}handleUpdateExt(e){var t,n,r,i;return(0,o.__awaiter)(this,void 0,void 0,(function*(){const o=null===(t=e.data)||void 0===t?void 0:t.ext[h.ServerMessageId];if(!o)throw new K({ctx:this.ctx,type:w.InvalidServerId,msg:`message ${e.data} has no s:server_message_id`,sender:this});const s=this.resolve(G.MessageManager).getByServerIdRaw(null===(n=e.conv)||void 0===n?void 0:n.id,o);if(s)if(e.data.type!==g.MessageType.MESSAGE_TYPE_RECALL_MESSAGE){if(e.data.type===g.MessageType.MESSAGE_TYPE_REFRESH_MESSAGE)yield this.handleRefreshMessage(e);else{if(s.version.gt(e.data.version))return void H.ctxWarn(this.ctx,`local msg version: ${s.version.toString()} > online msg version: ${e.data.version.toString()}, ignore, local msg:`,s,"online msg:",e.data);s.ext=Object.assign(Object.assign({},s.ext),e.data.ext),s.version=e.data.version,this.resolve(G.MessageManager).upsert(s)}if(!s.visible){const t=this.resolve(G.MessageManager).getList(e.conv.id);for(const e of t)(null===(i=null===(r=e.referenceInfo)||void 0===r?void 0:r.referenced_message_id)||void 0===i?void 0:i.toString())===s.serverId&&(e.referenceInfo.referenced_message_status=g.MessageStatus.INVISIBLE,this.resolve(G.MessageManager).upsert(e))}this.resolve(G.EventBus).emit(b.ReceiveNewUpdateExtMessage,this,e.data)}else this.resolve(G.MessageManager).markRecalled(e.conv.id,s.serverId)}))}}class it extends F{constructor(e){super(e),this.messages=new Map,this.processors=[new nt(this.ctx),new tt(this.ctx),new rt(this.ctx),new ot(this.ctx)]}applyLocal(e){e.forEach((e=>{this.messages.has(e.conversationId)||this.messages.set(e.conversationId,new Map),this.messages.get(e.conversationId).set(e.clientId,e)}))}clearAll(){this.messages.clear()}get(e,t){const n=this.getRaw(e,t);if(!n)throw new K({ctx:this.ctx,type:w.MessageNotExist,msg:`message ${t} @ ${e} not exist in local`,sender:this});return n}getRaw(e,t){return this.getConversationMap(e).get(t)}getRawMap(){return this.messages}getByServerIdRaw(e,t){const n=this.getConversationMap(e),o=Array.from(n.values()).filter((e=>e.serverId===t));if(0!==o.length)return this.get(e,o[0].clientId)}getByServerId(e,t){const n=this.getConversationMap(e),o=Array.from(n.values()).filter((e=>e.serverId===t));if(0===o.length)throw new K({ctx:this.ctx,type:w.MessageNotExist,msg:`message ${t} @ ${e} not exist in local`,sender:this});return this.get(e,o[0].clientId)}getList(e){const t=this.getConversationMap(e);return Array.from(t.values()).sort(it.messageComparator)}upsert(e){var t;if(e.isSpecialMessage)return void H.ctxWarn(this.ctx,"unexpected special message to upsert:",e);const n=this.getConversationMap(e.conversationId);if(this.ctx.option.maxMessageCount){const e=Math.max(200,Math.min(this.ctx.option.maxMessageCount,2e3));if(n.size>=e){let t=~~(e/5);for(const e of n.keys()){if(t<=0)break;n.delete(e),t--}}}const o=n.get(e.clientId);if(!(o&&o.source===Q.PullByTag&&e.source===Q.Init||o&&o.source===Q.Init&&e.source===Q.PullByTag)&&(o&&o.type===e.type?(["referenceInfo"].forEach((t=>{void 0===e[t]&&delete o[t]})),e=o.merge(e)):o&&o.type!==e.type&&H.ctxWarn(this.ctx,"try to merge different msg:",o,e),n.set(e.clientId,e),null===(t=this.resolve(G.DbProxy))||void 0===t||t.upsertMessage(e),this.resolve(G.EventBus).emit(b.MessageUpsert,this,e),this.ctx.initResult===v.Succeeded)){this.resolve(G.EventBus).emitEmpty(b.ConversationChange,this);const t=this.getContext().resolve(G.ConversationManager).getRaw(e.conversationId);this.resolve(G.EventBus).emit(b.ConversationUpsert,this,t),void 0!==o&&(null==t||t.forceRefreshUnreadCount())}}getConversationMap(e){let t=this.messages.get(e);return t||(t=new Map,this.messages.set(e,t)),t}processNewMessage(e,t){return(0,o.__awaiter)(this,void 0,void 0,(function*(){if(e.ext||(e.ext={}),e.source=t,e.type>=0)return this.processMessage(e);throw new K({ctx:this.ctx,type:w.UnknownMessageType,msg:`unknown message type: ${e.type} for msg:${e.clientId}`,sender:this})}))}processNewMessagesFromPull(e,t,n){var r;return(0,o.__awaiter)(this,void 0,void 0,(function*(){const o=e.map((e=>{try{return Ce.fromServerMessage(this.ctx,e,n)}catch(e){return void H.ctxDebug(this.ctx,"error when process new message",e)}})).filter((e=>void 0!==e)),i=new Map;for(const e of o){e.ext||(e.ext={});const n=null===(r=i.get(e.conversationShortId))||void 0===r?void 0:r.indexInConversation;n&&!e.indexInConversation.lt(n)||i.set(e.conversationShortId,e),yield this.processNewMessage(e,t)}return{msgs:o,conMap:i}}))}delete(e,t){var n,o,r;const i=this.getConversationMap(e),s=Array.from(i.values()).filter((e=>e.serverId===t));if(0===s.length)return void H.ctxDebug(this.ctx,`delete not exist msg: ${e}::${t}`);i.delete(s[0].clientId),null===(n=this.resolve(G.DbProxy))||void 0===n||n.deleteMessage(s[0]);const A=this.getList(e);for(const e of A)(null===(r=null===(o=e.referenceInfo)||void 0===o?void 0:o.referenced_message_id)||void 0===r?void 0:r.toString())===t&&(e.referenceInfo.referenced_message_status=g.MessageStatus.DELETED,this.upsert(e));const a=this.getContext().resolve(G.ConversationManager).get(e);this.resolve(G.EventBus).emitEmpty(b.ConversationChange,this),this.resolve(G.EventBus).emit(b.ConversationUpsert,this,a),this.resolve(G.EventBus).emit(b.MessageUpsert,this,s[0]),this.resolve(G.EventBus).emit(b.MessageDelete,this,s[0])}markRecalled(e,t,n){var o,r;const i=this.getByServerId(e,t);i.ext||(i.ext={}),i.ext[h.IsRecalled]="true",n&&this.ctx.option.debug&&(i.ext[h.LocalLogId]=n),this.upsert(i);const s=this.getList(e);for(const e of s)(null===(r=null===(o=e.referenceInfo)||void 0===o?void 0:o.referenced_message_id)||void 0===r?void 0:r.toString())===t&&(e.referenceInfo.referenced_message_status=g.MessageStatus.RECALLED,this.upsert(e));const A=this.getContext().resolve(G.ConversationManager).get(e);this.resolve(G.EventBus).emitEmpty(b.ConversationChange,this),this.resolve(G.EventBus).emit(b.ConversationUpsert,this,A),this.resolve(G.EventBus).emit(b.MessageUpsert,this,i),this.resolve(G.EventBus).emit(b.MessageRecall,this,i)}clearConversation(e){var t;const n=this.getContext().resolve(G.ConversationManager).get(e);this.messages.set(e,new Map),null===(t=this.resolve(G.DbProxy))||void 0===t||t.clearConversation(n),this.resolve(G.EventBus).emitEmpty(b.ConversationChange,this),this.resolve(G.EventBus).emit(b.ConversationUpsert,this,n)}injectProcessor(e){this.processors.push(e)}processMessage(e){return(0,o.__awaiter)(this,void 0,void 0,(function*(){let t={needContinue:!0,data:e};for(const e of this.processors)if(t=yield e.process(t),!t.needContinue)break;return t.data}))}dispose(){this.messages.clear(),this.processors=[]}}it.messageComparator=(e,t)=>e.orderInConversation.gt(t.orderInConversation)?1:-1;class st extends F{constructor(e){super(e),this.participants=new Map}applyLocal(e){e.forEach((e=>{this.participants.has(e.conversationId)||this.participants.set(e.conversationId,new Map),this.participants.get(e.conversationId).set(e.userId.toString(),e)}))}forceApplyLocal(e){var t;const n=new Map;e.forEach((e=>{n.set(e.userId.toString(),e)})),this.participants.set(null===(t=e[0])||void 0===t?void 0:t.conversationId,n)}clearAll(){this.participants.clear()}updateWithUserIdAsync(e,t){var n,i,s,A;return(0,o.__awaiter)(this,void 0,void 0,(function*(){const o=t.map((e=>r.fromValue(e))),a=yield this.resolve(G.CoreApi).GetConversationParticipantByUserId({conversationId:e.id,conversationShortId:r.fromString(e.shortId),conversationType:e.type,inboxType:e.inboxType,participants:o}),c=null!==(A=null===(s=null===(i=null===(n=null==a?void 0:a.body)||void 0===n?void 0:n.mget_conversation_participants_body)||void 0===i?void 0:i.participants)||void 0===s?void 0:s.map((t=>et.fromServerParticipant(this.ctx,t,e,a.log_id))))&&void 0!==A?A:[];this.upsertBatch(e.id,c)}))}upsert(e,t,n=!1){var o;let r=this.participants.get(e.toString());r||(r=new Map);let i=t;return i.userId=i.userId.toString(),r.has(t.userId.toString())&&(i=et.featLocalParticipant(r.get(t.userId.toString()),i)),r.set(t.userId.toString(),i),this.participants.set(e,r),n||this.resolve(G.EventBus).emit(b.ParticipantUpsert,this,i),null===(o=this.resolve(G.DbProxy))||void 0===o||o.upsertParticipant(i),Array.from(r.values())}upsertBatch(e,t,n=!1){return t.forEach((t=>this.upsert(e,t,n))),this.get(e)}addBatch(e,t){const n=this.participants.get(e);return t.forEach((t=>{if(!(null==n?void 0:n.has(t.userId.toString()))&&(this.resolve(G.EventBus).emit(b.ParticipantJoin,this,t),t.userId.toString()===this.ctx.option.userId.toString())){const t=this.getContext().resolve(G.ConversationManager).get(e);t.isMember=!0,this.resolve(G.ConversationManager).upsert(t),this.resolve(G.EventBus).emit(b.ConversationJoin,this,t)}this.upsert(e,t)})),this.get(e)}delete(e,t){const n=this.participants.get(e);n&&t.forEach((e=>{var t;const o=n.get(e.toString());void 0!==o&&(n.delete(e.toString()),this.resolve(G.EventBus).emit(b.ParticipantLeave,this,o),null===(t=this.resolve(G.DbProxy))||void 0===t||t.deleteParticipant(o))}))}get(e){const t=this.participants.get(e);if(t)return Array.from(t.values());throw new K({ctx:this.ctx,type:w.ConversationNotExist,msg:`conversation ${e} participants is not loaded`,sender:this,args:{conversationId:e}})}getParticipant(e){var t,n,o,i,s;const A=[],a=this.getRaw(e.id);return(null==a?void 0:a.length)>0?a:(Number(null===(n=null===(t=null==e?void 0:e.firstPageParticipant)||void 0===t?void 0:t.participants)||void 0===n?void 0:n.length)>0?((null===(o=null==e?void 0:e.firstPageParticipant)||void 0===o?void 0:o.participants)||[]).forEach((t=>{A.push(et.fromServerParticipant(this.ctx,t,e,e.ext[h.LocalLogId]))})):e.type===g.ConversationType.ONE_TO_ONE_CHAT&&(H.ctxDebug(this.ctx,"no first page participant found, fallback to local"),[e.toParticipantUserId,this.ctx.option.userId].forEach((t=>{if(t){const n=et.fakeParticipant(this.ctx,t,e);A.push(n)}}))),this.upsertBatch(e.id,A,!0),(null===(i=e.firstPageParticipant)||void 0===i?void 0:i.has_more)&&this.resolve(G.CoreApi).GetConversationParticipantsList({conversationId:e.id,conversationShortId:r.fromString(e.shortId),conversationType:e.type,cursor:null!==(s=e.firstPageParticipant.cursor)&&void 0!==s?s:r.ZERO,limit:50,inboxType:e.inboxType}).then((t=>{var n,o;const r=null===(o=null===(n=null==t?void 0:t.body)||void 0===n?void 0:n.conversation_participants_body)||void 0===o?void 0:o.participants_page;null==r||r.participants.forEach((n=>{A.push(et.fromServerParticipant(this.ctx,n,e,null==t?void 0:t.log_id))})),this.upsertBatch(e.id,A,!0)})),A)}getMap(e){const t=this.participants.get(e);if(t)return t;throw new K({ctx:this.ctx,type:w.ConversationNotExist,msg:`conversation ${e} participants is not loaded`,sender:this,args:{conversationId:e}})}getMapRaw(e){return this.participants.get(e)}getRaw(e){const t=this.participants.get(e);return t?Array.from(t.values()):[]}getByUserIdRaw(e,t){const n=this.participants.get(e);if(n)return n.get(t.toString())}dispose(){this.clearAll()}}class At extends F{isValidInbox(e){return void 0!==e&&(!!this.getContext().option.acceptIncorrectInboxType||this.getInboxTypeArray().includes(e))}needSpecifyInbox(){const e=this.ctx.option.inboxType;return!(void 0===e||"number"==typeof e&&e>=0||!(Array.isArray(e)&&e.length>2))}getDefaultInboxWithoutCheck(){return this.getInboxTypeArray()[0]}getDefaultInbox(){if(this.needSpecifyInbox())throw new K({ctx:this.ctx,msg:"no available inboxType is provided",type:w.InvalidInboxType,sender:this});return this.getDefaultInboxWithoutCheck()}getInboxTypeArray(){const e=this.ctx.option.inboxType;return Array.isArray(e)?e:void 0!==e?[e]:[0]}}class at extends Ye{getConnectionStatus(){return(0,o.__awaiter)(this,void 0,void 0,(function*(){return"undefined"!=typeof navigator&&void 0!==navigator.onLine?navigator.onLine?Te.Connected:Te.Disconnected:Te.Unknown}))}getNetworkType(){return(0,o.__awaiter)(this,void 0,void 0,(function*(){if((yield this.getConnectionStatus())===Te.Disconnected)return Pe.None;if("undefined"==typeof navigator||!navigator.connection||!navigator.connection.type)return Pe.Unknown;switch(navigator.connection.type){case"cellular":if(!navigator.connection.effectiveType)return Pe.Unknown;switch(navigator.connection.effectiveType){case"2g":case"slow-2g":return Pe.Cellular_2G;case"3g":return Pe.Cellular_3G;case"4g":return Pe.Cellular_4G;case"5g":return Pe.Cellular_5G;default:return Pe.Unknown}case"wifi":return Pe.Wifi;case"other":return Pe.Other;case"none":return Pe.None;default:return Pe.Unknown}}))}}class ct extends F{constructor(e){super(e),this.option=e.option}sendByBeacon(e,t){return!1}sendBeacon(e,t){setTimeout((()=>{this.sendByBeacon(e,De(t))||this.sendRequest(e,t)}),0)}sendRequest(e,t,n){return(0,o.__awaiter)(this,void 0,void 0,(function*(){const o=yield this.send(e,"GET"===n?"GET":"POST",this.encode(t));return this.decode(o)}))}encode(e){const t=J.performanceNow(),n=De(e).buffer;return this.resolve(G.Monitor).emitDuration(q.EncodeData,t),n}decode(e){const t=J.performanceNow(),n=g.Response.create(Oe(this.ctx,e));return this.resolve(G.Monitor).emitDuration(q.DecodeData,t),n}get headers(){return Object.assign({Accept:this.mime,"Content-Type":this.mime},this.option.httpHeaders)}get mime(){return"application/x-protobuf"}get dataType(){return"arraybuffer"}get method(){return"POST"}}class lt extends ct{constructor(e){super(e),this.instance=Ne().create({timeout:this.option.timeout,withCredentials:!!this.option.withCredentials,headers:this.headers,responseType:this.dataType,method:this.method})}send(e,t,n){return(0,o.__awaiter)(this,void 0,void 0,(function*(){return(yield this.instance.request({url:e,data:n,method:t,headers:this.ctx.option.httpHeaders})).data}))}sendByBeacon(e,t){return void 0!==navigator.sendBeacon&&navigator.sendBeacon(e,t)}}class gt extends F{constructor(e,t){super(e),this.openTime=0,this.createTime=0,this.option=e.option,this.url=this.option.frontierUrl,this.onClose=new ne(e),this.onOpen=new ne(e),this.onError=new ne(e),this.onMessage=new ne(e),this.onOpen.subscribe((()=>{var e;this.openTime=J.performanceNow(),this.resolve(G.Monitor).emitMetrics(q.FrontierOpen,{duration:this.openTime-this.createTime},{url:null!==(e=this.url)&&void 0!==e?e:"unknown"})})),this.onClose.subscribe((e=>{var t,n,o,r;"undefined"!=typeof CloseEvent&&e instanceof CloseEvent?this.resolve(G.Monitor).emitMetrics(q.FrontierClose,{count:1},{url:null!==(t=this.url)&&void 0!==t?t:"unknown",code:null===(n=e.code)||void 0===n?void 0:n.toString(),reason:e.reason}):this.resolve(G.Monitor).emitMetrics(q.FrontierClose,{count:1},{url:null!==(o=this.url)&&void 0!==o?o:"unknown"}),0===this.openTime||Number.isNaN(this.openTime)||this.resolve(G.Monitor).emitMetrics(q.FrontierLive,{duration:J.performanceNow()-this.openTime},{url:null!==(r=this.url)&&void 0!==r?r:"unknown"}),this.openTime=0})),this.onMessage.subscribe((e=>{var t;"hi"!==e.toString()&&this.resolve(G.Monitor).emitMetrics(q.FrontierReceive,{count:1},{url:null!==(t=this.url)&&void 0!==t?t:"unknown"})})),this.onError.subscribe((()=>{var e;this.resolve(G.Monitor).emitMetrics(q.FrontierError,{count:1},{url:null!==(e=this.url)&&void 0!==e?e:"unknown"})}))}get paramUrl(){var e,t,n,o,r,i;const s=void 0!==(null===(t=null===(e=this.option)||void 0===e?void 0:e.headers)||void 0===t?void 0:t[u.envKey])?{[u.envKey.toLowerCase()]:this.option.headers[u.envKey]}:{};void 0!==(null===(o=null===(n=this.option)||void 0===n?void 0:n.headers)||void 0===o?void 0:o[u.ppeHeaderKey])&&(s[u.ppeHeaderKey]="1"),void 0!==(null===(i=null===(r=this.option)||void 0===r?void 0:r.headers)||void 0===i?void 0:i[u.boeHeaderKey])&&(s[u.boeHeaderKey]="1");const A=Object.assign(Object.assign({token:this.ctx.cachedToken,sid:this.option.sessionId,aid:this.option.appId,fpid:this.option.fpId,device_id:this.option.deviceId,access_key:ve()(`${this.option.fpId+this.option.appKey+this.option.deviceId}f8a69f1719916z`),device_platform:this.option.devicePlatform,version_code:this.option.versionCode},this.option.extended),s);return`${this.url}?${function(e){const t=[];for(const n of Object.keys(e))void 0!==e[n]&&""!==e[n]&&t.push(`${n}=${e[n]}`);return t.join("&")}(A)}`}performOpen(){let e=!1;this.createTime=J.performanceNow();const t=new Promise(((t,n)=>{setTimeout((()=>{e||n(new K({ctx:this.ctx,msg:"frontier connect timeout",type:w.NetworkError,sender:this}))}),this.ctx.option.timeout)}));return Promise.race([t,(()=>(0,o.__awaiter)(this,void 0,void 0,(function*(){try{yield this.open()}catch(e){throw new K({ctx:this.ctx,msg:"ws connect error",innerError:e,sender:this,type:w.NetworkError})}finally{e=!0}})))()])}dispose(){this.onOpen.unsubscribeAll(),this.onClose.unsubscribeAll(),this.onError.unsubscribeAll(),this.onMessage.unsubscribeAll()}}class dt extends gt{registerEvents(){this.ws.onclose=e=>{this.onClose.next(e,this)},this.ws.onopen=()=>{this.onOpen.nextEmpty(this)},this.ws.onmessage=e=>{this.socketDataReceived(e)},this.ws.onerror=e=>{this.onError.next(e,this)}}socketDataReceived(e){this.onMessage.next(e.data,this)}open(){if(this.isOpen())return H.ctxWarn(this.ctx,"ws already open, close first"),Promise.resolve(!0);let e,t;this.ws=new WebSocket(this.paramUrl,u.wsProtocols),this.ws.binaryType="arraybuffer",this.registerEvents();const n=this.onOpen.subscribe((()=>{e(!0),this.onOpen.unsubscribe(n)})),o=this.onError.subscribe((e=>{t(e),this.onError.unsubscribe(o)}));return new Promise(((n,o)=>{e=n,t=o}))}close(){this.ws&&(this.ws.onmessage=null,this.ws.close()),this.ws=void 0}send(e){this.ws.send(e)}isOpen(){return void 0!==this.ws&&this.ws.readyState===WebSocket.OPEN}}!function(e){e.SdkVersion="sdk.version",e.DbVersion="sdk.db.version",e.DbLastOpen="sdk.db.last_open",e.DbEncyption="sdk.db.encryption",e.UserToken="user.token"}(Ve||(Ve={}));class ut extends F{}class pt extends F{constructor(e){super(e)}prepareToken(){var e;return(0,o.__awaiter)(this,void 0,void 0,(function*(){yield null===(e=this.resolve(G.DbProxy))||void 0===e?void 0:e.loadConfig(Ve.UserToken),yield this.refreshToken()}))}refreshToken(){var e,t;return(0,o.__awaiter)(this,void 0,void 0,(function*(){const n=this.ctx.option.token;if("function"==typeof n){const t=J.performanceNow();let o=null;const r=n();if(o=r instanceof Promise?yield r:r,null!==o)return this.ctx.cachedToken=o,yield null===(e=this.resolve(G.DbProxy))||void 0===e?void 0:e.saveConfig(Ve.UserToken,o),this.resolve(G.Monitor).emitDuration(q.BizRefreshToken,t),o;throw new K({ctx:this.ctx,msg:"token is null",type:w.TokenFuncError,sender:this})}return this.ctx.cachedToken=n,yield null===(t=this.resolve(G.DbProxy))||void 0===t?void 0:t.saveConfig(Ve.UserToken,this.ctx.cachedToken),n}))}sign(e){return this.securitySdk.cryptoSDK.sign(e),{}}getCert(){return this.securitySdk.cryptoSDK.getCertificate()}getTsSign(){return this.securitySdk.cryptoSDK.getTSSign()}handleCertAuthToken(e){return(0,o.__awaiter)(this,void 0,void 0,(function*(){const t=yield this.securitySdk.cryptoSDK.getCertSignRequest(),{tsSign:n,token:o,sdkCert:r}=yield e(t),i={ts_sign:n,ticket:o,client_cert:r};return this.securitySdk.cryptoSDK.setSignValue(i),o}))}}class ht{constructor(e,t){this.disposed=!1,this.plugins=[],this.innerCursor=[],this.ticker=void 0,this.isProcessing=!1;const n=J.performanceNow(),o=new j;var r;if(this.ctx=o,o.register(G.Monitor,J),o.register(G.CoreInstance,this),e.headers||(e.headers={}),e.httpHeaders||(e.httpHeaders={}),e.extended||(e.extended={}),e.boe?(r=e,"string"==typeof(e=Object.assign(Object.assign(Object.assign({debug:!0,boe:!0},He),r),{triggerStrategy:Object.assign(Object.assign({},He.triggerStrategy),r.triggerStrategy)})).boe&&(e.headers[u.envKey]=e.boe,e.headers[u.boeHeaderKey]="1",e.httpHeaders[u.envKey]=e.boe,e.httpHeaders[u.boeHeaderKey]="1"),"boolean"==typeof e.boe&&(e.headers[u.boeHeaderKey]="1",e.httpHeaders[u.boeHeaderKey]="1")):(e=function(e){return Object.assign(Object.assign(Object.assign({},He),e),{triggerStrategy:Object.assign(Object.assign({},He.triggerStrategy),e.triggerStrategy)})}(e),"string"==typeof e.ppe?(e.headers[u.envKey]=e.ppe,e.headers[u.ppeHeaderKey]="1",e.httpHeaders[u.envKey]=e.ppe,e.httpHeaders[u.ppeHeaderKey]="1"):e.canary&&(e.headers[u.envKey]="canary",e.httpHeaders[u.envKey]="canary")),o.option=e,function(e,t){"number"!=typeof t.appId&&H.ctxError(e,"opt.appId is not a number! did you pass a string?"),"string"!=typeof t.deviceId&&H.ctxError(e,"opt.deviceId is not a string! did you pass a number?"),"string"!=typeof t.userId&&H.ctxError(e,"opt.userId is not a string! did you pass a number?"),"string"==typeof t.apiUrl&&0!==t.apiUrl.length||H.ctxError(e,"opt.apiUrl invalid"),"string"==typeof t.frontierUrl&&0!==t.frontierUrl.length||H.ctxError(e,"opt.frontierUrl invalid"),"object"==typeof t.headers&&qe(e,"opt.headers",t.headers),"object"==typeof t.httpHeaders&&qe(e,"opt.httpHeaders",t.httpHeaders),"object"==typeof t.monitorTagKv&&qe(e,"opt.monitorTagKv",t.monitorTagKv),(Array.isArray(t.inboxType)&&(0===t.inboxType.length||t.inboxType.some((e=>e<0)))||"number"==typeof t.inboxType&&t.inboxType<0)&&H.ctxError(e,"opt.inboxType invalid"),"number"==typeof t.pullInterval&&t.pullInterval<5e3&&H.ctxDebug(e,"opt.pullInterval too short")}(this.ctx,e),e.adapter?je.setDynamicAdapter(e.adapter):this.initAdapter(),o.register(G.ConversationManager,Je),o.register(G.MessageManager,it),o.register(G.ParticipantManager,st),o.register(G.EventBus,Ae),o.register(G.NetworkManager,Ue),o.register(G.CoreApi,ee),o.register(G.InboxType,At),o.register(G.AuthManager,pt),e.debug){let t="undefined"!=typeof window?window:e.injectContext,n=`__imsdk_context_${this.ctx.id.split("-")[0]}`;if("object"==typeof e.injectContext&&(t=e.injectContext,e.injectContext=!0),"string"==typeof e.injectContext&&(n=e.injectContext,e.injectContext=!0),void 0===e.injectContext&&(e.injectContext=!0),"boolean"==typeof e.injectContext&&e.injectContext)try{Object.defineProperty(t,n,{enumerable:!1,configurable:!0,get:()=>o})}catch(e){H.ctxDebug(o,"inject ctx:",o,`with name: ${n} to`,t,"failed: ",e)}}Array.isArray(t)&&(t.forEach((e=>{const t=new e(o);t.install(),this.plugins.push(t)})),this.ctx.plugin=this.plugins),H.ctxDebug(this.ctx,"loaded plugin:",this.plugins),e.boe?H.ctxDebug(this.ctx,`using boe env: ${!0===e.boe?"default":e.boe}`):e.ppe&&H.ctxDebug(this.ctx,`using ppe env: ${e.ppe}`),this.network.onMessage.subscribe((e=>this.receivePacket(e))),Object.seal&&(Object.seal(this),Object.seal(o),Object.seal(ht.prototype)),this.resolve(G.Monitor).emitDuration(q.SdkConstructor,n)}getContext(){return this.ctx}resolve(e){return this.ctx.resolve(e)}get initResult(){return this.ctx.initResult}set initResult(e){this.ctx.initResult=e}get status(){return this.ctx.status}get event(){return this.resolve(G.EventBus)}get api(){return this.resolve(G.CoreApi)}get network(){return this.resolve(G.NetworkManager)}get auth(){return this.resolve(G.AuthManager)}get inboxType(){return this.resolve(G.InboxType)}get id(){return this.ctx.id}get option(){return this.ctx.option}getUserCursor(e){var t;return null!==(t=this.innerCursor[null!=e?e:this.inboxType.getDefaultInbox()])&&void 0!==t?t:r.ZERO}setUserCursor(e,t){var n;return(0,o.__awaiter)(this,void 0,void 0,(function*(){const o=null!=t?t:this.inboxType.getDefaultInbox(),r=this.innerCursor[o];r&&!r.lt(e)||(H.ctxDebug(this.ctx,`update cursor for inbox:${o} from ${null==r?void 0:r.toString()} to ${e.toString()}`),this.innerCursor[o]=e,yield null===(n=this.resolve(G.DbProxy))||void 0===n?void 0:n.saveUserCursor(o,e))}))}init(e){var t,n,r,i,s,A,a,c;return(0,o.__awaiter)(this,void 0,void 0,(function*(){H.ctxDebug(this.ctx,"IM SDK options",this.ctx.option);const o=J.performanceNow();let l,g;this.initResult=v.Start;const d=null!==(n=yield null===(t=this.resolve(G.DbProxy))||void 0===t?void 0:t.init(this.ctx.option.userId))&&void 0!==n&&n;try{yield this.auth.prepareToken()}catch(e){return this.initResult=v.Error,H.ctxError(this.ctx,"prepare token error:",e),this.resolve(G.Monitor).emitDuration(q.BizSdkInit+q.ErrorSuffix,o,{use_db:null!==(r=d.toString())&&void 0!==r?r:"unknown",reason:"token"}),this.initResult}finally{l=J.performanceNow(),this.resolve(G.Monitor).emitDuration(q.PrepareToken,o)}for(const t of this.inboxType.getInboxTypeArray())if(!(yield this.prepareHistoryForInbox({inboxType:t,convLimit:null==e?void 0:e.convLimit,msgLimit:null==e?void 0:e.msgLimit,mode:null==e?void 0:e.mode,convTotal:null==e?void 0:e.convTotal})))return this.initResult=v.Error,H.ctxError(this.ctx,"init history error for inbox",t),this.resolve(G.Monitor).emitDuration(q.BizSdkInit+q.ErrorSuffix,o,{use_db:null!==(i=d.toString())&&void 0!==i?i:"unknown",reason:"history"}),this.initResult;yield this.resolve(G.ConversationManager).refreshLocalAsync(),this.resolve(G.EventBus).emitEmpty(b.ConversationChange,this);const u=J.performanceNow();this.resolve(G.Monitor).emitDuration(q.LoadHistory,l);try{let e=J.performanceNow();for(const t of this.plugins)yield t.init(),this.resolve(G.Monitor).emitDuration(q.PluginInit,e,{plugin:t.toString()}),e=J.performanceNow()}catch(e){return this.initResult=v.Error,H.ctxError(this.ctx,"init plugin error:",e),this.resolve(G.Monitor).emitDuration(q.BizSdkInit+q.ErrorSuffix,o,{use_db:null!==(s=d.toString())&&void 0!==s?s:"unknown",reason:"plugin"}),this.initResult}finally{g=J.performanceNow(),this.resolve(G.Monitor).emitDuration(q.PluginsInit,u)}if(this.ctx.option.webSocketLevel!==p.Disable)try{this.resolve(G.Monitor).emitCounter(q.WebSocketConnectFirst,1,{url:null!==(a=null===(A=this.network.ws)||void 0===A?void 0:A.url)&&void 0!==a?a:"unknown"}),this.ctx.option.enableLazyConnectWebSocket?this.network.connectWs(!0).then((()=>{if(H.ctxInfo(this.ctx,"websocket time async",J.performanceNow()-g),this.ctx.option.enableGetUserMessageAfterConnectWebSocket)for(const e of this.inboxType.getInboxTypeArray())this.getMessagesByUser({inboxType:e}),H.ctxInfo(this.ctx,"websocket time getMessagesByUser",J.performanceNow()-g)})):yield this.network.connectWs(!0)}catch(e){H.ctxWarn(this.ctx,"skip websocket, init open fail:",e)}finally{this.resolve(G.Monitor).emitDuration(q.FrontierConnect,g)}H.ctxInfo(this.ctx,"websocket time",J.performanceNow()-g);const h=!1===this.ctx.option.pullInterval||void 0===this.ctx.option.pullInterval?3e4:this.ctx.option.pullInterval;return H.ctxDebug(this.ctx,"use ticker interval:",h),this.ticker=new xe(this.ctx,h),this.ticker.onTick.subscribe((()=>{this.tickerUpdate()})),this.ticker.restart(),this.ctx.status=k.Connected,this.initResult=v.Succeeded,this.resolve(G.Monitor).emitDuration(q.BizSdkInit+q.SuccessSuffix,o,{use_db:null!==(c=d.toString())&&void 0!==c?c:"unknown"}),this.resolve(G.EventBus).emit(b.InitFinish,this,this.initResult),this.initResult}))}getMessagesByUserInit(e={}){var t,n,i,s,A,a,c,l,g;return(0,o.__awaiter)(this,void 0,void 0,(function*(){const o=null!==(t=e.inboxType)&&void 0!==t?t:this.inboxType.getDefaultInbox(),d=null!==(n=e.cursor)&&void 0!==n?n:r.ZERO,u=e.page;if(!this.inboxType.isValidInbox(o))throw new K({ctx:this.ctx,msg:"invalid inbox",type:w.InvalidInboxType,sender:this});let p,h,_,y,I,f=r.ZERO,m=r.ZERO,B=0;if(e.mode===R.AwemeMode){H.ctxDebug(this.ctx,"using get messages by user v1");const t=yield this.api.GetMessagesByInit({inboxType:o,convLimit:e.convLimit,msgLimit:e.msgLimit,page:u,version:e.version}),n=null===(i=t.body)||void 0===i?void 0:i.message_by_init;p=null===(s=n.messages)||void 0===s?void 0:s.map((e=>e.conversations)),h=[],null===(A=n.messages)||void 0===A||A.forEach((e=>e.messages&&(null==h?void 0:h.push(...e.messages)))),_=null==n?void 0:n.user_cursor,y=n.has_more,m=n.next_init_version,I=t.log_id}else{const t=yield this.api.GetMessagesByUserInitV2({cursor:r.fromValue(d),inboxType:o,initSubType:e.initSubType,convLimit:e.convLimit,msgLimit:e.msgLimit}),n=null===(a=t.body)||void 0===a?void 0:a.messages_per_user_init_v2_body;p=n.conversations,h=n.messages,B=(null===(c=n.messages)||void 0===c?void 0:c.length)||0,_=null==n?void 0:n.per_user_cursor,y=n.has_more,f=n.next_cursor,I=t.log_id}return this.processInitConversation(p,I),yield this.processInitMessage(h,I),this.getUserCursor(o).neq(r.ZERO)&&(null==_?void 0:_.neq(r.ZERO))&&(null===(l=this.getUserCursor(o))||void 0===l?void 0:l.neq(_))&&(H.ctxWarn(this.ctx,`cursor not match: before:${null===(g=this.getUserCursor(o))||void 0===g?void 0:g.toString()}, after:${null==_?void 0:_.toString()}, pull user, logid:${I}`),yield this.getMessagesByUser({inboxType:o})),_&&(yield this.setUserCursor(_,o)),this.resolve(G.EventBus).emitEmpty(b.InitLoadPage,this),{hasMore:y,cursor:f,page:(null!=u?u:0)+1,version:m,messagesCount:B}}))}processInitMessage(e,t){return(0,o.__awaiter)(this,void 0,void 0,(function*(){e&&(yield this.resolve(G.MessageManager).processNewMessagesFromPull(e,Q.Init,t))}))}processInitConversation(e,t){e&&e.map((e=>Be.fromServerConversation(this.ctx,e,t))).forEach((e=>this.resolve(G.ConversationManager).upsert(e)))}getMessagesByUser(e={}){var t,n;return(0,o.__awaiter)(this,void 0,void 0,(function*(){if(e.cursor instanceof Date&&(e.cursor=`${e.cursor.getTime()}000`),void 0===e.inboxType&&(e.inboxType=this.inboxType.getDefaultInbox()),!this.inboxType.isValidInbox(e.inboxType))throw new K({ctx:this.ctx,msg:"invalid inbox",type:w.InvalidInboxType,sender:this});if(!0===this.ctx.option.disableInitPull&&0===this.getConversationList().length&&this.getUserCursor(e.inboxType).eq(r.ZERO)&&void 0===e.cursor)return void H.ctxWarn(this.ctx,"try to pull history from 0, preventing");let o=!0,i=void 0!==e.cursor?r.fromValue(e.cursor):this.getUserCursor(e.inboxType),s=[];for(;o;){const r=yield this.api.GetMessagesByUser({cursor:i,limit:null!==(t=e.limit)&&void 0!==t?t:50,inboxType:e.inboxType}),A=null===(n=r.body)||void 0===n?void 0:n.messages_per_user_body;o=A.has_more,i=A.next_cursor,A.messages&&this.ctx.option.enableServerUnreadCount&&(s=s.concat(A.messages)),yield this.resolve(G.MessageManager).processNewMessagesFromPull(A.messages,Q.UserInbox,r.log_id),this.initResult===v.Start&&this.resolve(G.EventBus).emitEmpty(b.InitLoadPage,this)}yield this.setUserCursor(i,e.inboxType),this.resolve(G.ConversationManager).updateBadgeCountByLocal(s),this.resolve(G.ConversationManager).refreshLocal()}))}getMessagesByConversation(e){var t,n,i,s;return(0,o.__awaiter)(this,void 0,void 0,(function*(){let{cursor:o}=e;const{direction:A}=e;o instanceof Ce&&(o=o.indexInConversation),void 0===o&&(o=e.conversation.firstMessageIndex,e.conversation.firstMessageIndex.gt(null!==(t=e.conversation.__internal_pullCursor)&&void 0!==t?t:r.ZERO)&&(o=e.conversation.__internal_pullCursor,H.ctxDebug(this.ctx,`using internal cursor: ${o.toString()} < ${e.conversation.firstMessageIndex.toString()} for conversation:`,e.conversation)));const a=yield this.api.GetMessagesByConversation({conversationId:e.conversation.id,conversationShortId:r.fromString(e.conversation.shortId),conversationType:e.conversation.type,anchorIndex:r.fromValue(o),direction:A||g.MessageDirection.OLDER,limit:null!==(n=e.limit)&&void 0!==n?n:20,inboxType:e.conversation.inboxType,ext:e.ext});this.resolve(G.Monitor).emitMetrics(q.GetMessagesByConversation,{count:1},{log_id:a.log_id,from:"user",conversation_id:e.conversation.shortId,cursor:r.fromValue(o).toString()});const c=null===(i=a.body)||void 0===i?void 0:i.messages_in_conversation_body;e.conversation.__internal_pullCursor=null!==(s=c.next_cursor)&&void 0!==s?s:e.conversation.__internal_pullCursor;const{msgs:l}=yield this.resolve(G.MessageManager).processNewMessagesFromPull(c.messages,Q.LoadMore,a.log_id);return{messages:l,hasMore:null==c?void 0:c.has_more,cursor:null==c?void 0:c.next_cursor}}))}markConversationRead(e){var t,n;return(0,o.__awaiter)(this,void 0,void 0,(function*(){let o,i,{readIndex:s}=e;if(void 0===s?s=e.conversation.lastMessageIndex:s instanceof Ce&&(s=s.indexInConversation),(this.ctx.option.enableServerUnreadCount||!r.fromValue(s).lte(e.conversation.readIndex))&&!(this.ctx.option.enableServerUnreadCount&&e.conversation.badgeCount&&e.conversation.settingInfo.readBadgeCount&&e.conversation.badgeCount.lt(e.conversation.settingInfo.readBadgeCount))){if(this.resolve(G.ConversationManager).markRead(e.conversation.id,r.fromValue(s),e.conversation.badgeCount),this.ctx.option.unreadCountReport){const r=this.getConversationList({filter:t=>t.inboxType===e.conversation.inboxType&&t.isMember&&0===t.mode}).reduce(((e,t)=>e+t.unreadCount),0);i=null!==(t=e.totalUnreadCount)&&void 0!==t?t:r,o=null!==(n=e.convUnreadCount)&&void 0!==n?n:e.conversation.unreadCount}if(e.conversation.isStrangerConversation){const t=this.resolve(G.StrangerPlugin).getStrangerTotalUnread()-e.conversation.unreadCount;this.resolve(G.StrangerPlugin).setStrangerTotalUnread(t)}yield this.api.MarkConversationReadV3({conversationId:e.conversation.id,conversationShortId:r.fromString(e.conversation.shortId),conversationType:e.conversation.type,readIndex:r.fromValue(s),readBadgeCount:e.conversation.badgeCount,inboxType:e.conversation.inboxType,unreadCount:void 0!==o?r.fromValue(o):void 0,totalUnreadCount:void 0!==i?r.fromValue(i):void 0})}}))}recallMessage(e){return(0,o.__awaiter)(this,void 0,void 0,(function*(){if(!e.message.serverId)throw new K({ctx:this.ctx,type:w.MessageNotReady,msg:`message ${e.message} is not ready`,sender:this});const t=this.resolve(G.ConversationManager).get(e.message.conversationId),n=yield this.api.RecallMessage({conversationId:e.message.conversationId,conversationShortId:r.fromString(e.message.conversationShortId),conversationType:e.message.conversationType,serverId:r.fromString(e.message.serverId),inboxType:t.inboxType});this.resolve(G.MessageManager).markRecalled(e.message.conversationId,e.message.serverId,n.log_id)}))}createConversation(e){var t,n,i,s,A;return(0,o.__awaiter)(this,void 0,void 0,(function*(){const o=J.performanceNow();let a=[];const c={success:!1,payload:null};if(void 0===e.inboxType&&(e.inboxType=this.inboxType.getDefaultInbox()),!this.inboxType.isValidInbox(e.inboxType))throw new K({ctx:this.ctx,msg:"invalid inbox",type:w.InvalidInboxType,sender:this});if(void 0===e.type&&(Array.isArray(e.participants)?e.participants.length<=1?e.type=g.ConversationType.ONE_TO_ONE_CHAT:e.type=g.ConversationType.GROUP_CHAT:e.type=g.ConversationType.ONE_TO_ONE_CHAT),a=Array.isArray(e.participants)?-1===e.participants.indexOf(this.ctx.option.userId)?e.participants.concat(this.ctx.option.userId):e.participants:[e.participants,this.ctx.option.userId],a.length>2&&e.type===g.ConversationType.ONE_TO_ONE_CHAT)return c.statusCode=w.InvalidParam,c.statusMsg="one to one chat can only has 2 participants",c;void 0===e.persistent&&void 0!==e.idempotentId&&e.idempotentId.length>0&&(e.persistent=!0),e.type===g.ConversationType.GROUP_CHAT&&void 0===e.idempotentId&&(e.idempotentId=P(),H.ctxWarn(this.ctx,"create group chat but no idempotent id, using uuid",e.idempotentId));try{const t=yield this.api.CreateConversationV2({type:e.type,participants:a.map((e=>r.fromValue(e))),persistent:e.persistent,idempotentId:e.idempotentId,name:e.name,avatarUrl:e.avatarUrl,desc:e.desc,bizExt:e.bizExt,inboxType:e.inboxType,biz:e.biz,channel:e.channel}),n=t.body.create_conversation_v2_body;if(c.checkCode=n.check_code,c.checkMsg=n.check_message,c.statusCode=n.status,c.statusMsg=n.extra_info,c.body=n,0===(null==n?void 0:n.status)){const e=Be.fromServerConversation(this.ctx,null==n?void 0:n.conversation,t.log_id);this.resolve(G.ConversationManager).upsert(e),yield this.resolve(G.ConversationManager).refreshAsync(e),c.success=!0,c.payload=e}}catch(e){c.statusCode=null!==(t=e.type)&&void 0!==t?t:w.NetworkError,c.innerError=e}return this.resolve(G.Monitor).emitMetrics(q.CreateConversation,{create_cost:J.performanceNow()-o},{type:null!==(i=null===(n=e.type)||void 0===n?void 0:n.toString())&&void 0!==i?i:"unknown",error_code:null!==(A=null===(s=c.statusCode)||void 0===s?void 0:s.toString())&&void 0!==A?A:"unknown"}),c}))}getConversation(e){return this.resolve(G.ConversationManager).get(e.conversationId)}getConversationOnline(e){return(0,o.__awaiter)(this,void 0,void 0,(function*(){return this.resolve(G.ConversationManager).getWithOnline(e.conversationId,e.shortId,e.type)}))}getConversationInfoOnline(e){return(0,o.__awaiter)(this,void 0,void 0,(function*(){void 0===e.inboxType&&(e.inboxType=this.inboxType.getDefaultInbox());const t=yield this.api.GetConversationInfoV2({conversationId:e.conversationId,conversationShortId:r.fromString(e.shortId),conversationType:e.type,inboxType:e.inboxType,ext:e.ext}),n=t.body.get_conversation_info_v2_body,o=null==n?void 0:n.conversation_info;if(!o)throw new K({ctx:this.ctx,msg:"missing conversation info from response",type:w.ServerError,sender:this});return Be.fromServerConversation(this.ctx,o,t.log_id)}))}getConversationList(e={}){return this.resolve(G.ConversationManager).getConversationArray(e.filter)}getConversationListOnline(e={}){return(0,o.__awaiter)(this,void 0,void 0,(function*(){return yield this.resolve(G.ConversationManager).refreshLocalAsync(),this.getConversationList({filter:e.filter})}))}getConversationListIncludeParticipants(e){H.ctxDebug(this.ctx,"getting convs with participants",e);const t=new Set(e);return this.getConversationList().filter((e=>this.resolve(G.ParticipantManager).getParticipant(e).map((e=>e.userId)).filter((e=>t.has(e))).length>0))}createMessage(e){var t;return(0,o.__awaiter)(this,void 0,void 0,(function*(){void 0===e.insert&&(e.insert=!0);const n=Object.assign({},e.ext),o=Ce.createClientMessage(this.ctx,{type:e.type,content:e.content,ext:n,id:null!==(t=e.clientId)&&void 0!==t?t:P(),conversationId:e.conversation.id,mentionedUsers:e.mentionedUsers||[],conversationShortId:e.conversation.shortId,conversationType:e.conversation.type,referenceMessage:e.referenceMessage,referenceHint:e.referenceHint,contentPb:e.contentPb,scene:e.scene});return o.flightStatus=M.Created,o.sendFunc=this.__internal_sendMessageObject.bind(this),o.indexInConversation=e.conversation.lastMessageIndex.add(1),o.orderInConversation=e.conversation.lastMessageOrder.add(1),e.insert&&(yield this.resolve(G.MessageManager).processNewMessage(o,Q.Offline)),o}))}sendMessage(e){var t,n,r,i;return(0,o.__awaiter)(this,void 0,void 0,(function*(){const{message:o}=e,s=Date.now(),A=yield o.sendFunc(o);this.resolve(G.EventBus).emit(b.MessageSend,this,o);try{const e=Date.now(),a=this.resolve(G.ConversationManager).get(o.conversationId);this.resolve(G.Monitor).emitMetrics(q.SendMessage,{con_member_count:a.participantCount-1,send_cost_time:e-s},{con_type:o.conversationType.toString(),conversation_id:o.conversationId,msg_uuid:o.serverId,msg_type:o.type.toString(),send_start_time:s.toString(),send_end_time:e.toString(),error_code:null!==(n=null===(t=A.statusCode)||void 0===t?void 0:t.toString())&&void 0!==n?n:"unknown",is_ws:(null===(r=this.network.ws)||void 0===r?void 0:r.isOpen())?"1":"0",logid:null!==(i=A.logid)&&void 0!==i?i:""})}catch(e){H.ctxWarn(this.ctx,"Fail to report data after send message",e)}return A}))}fetchConversation(e){return(0,o.__awaiter)(this,void 0,void 0,(function*(){let t=null;if(void 0!==e.shortId){const t=this.resolve(G.ConversationManager).getWithShortIdRaw(e.shortId);if(null!==t&&!t.isOffline)return t}if(void 0===e.inboxType&&(e.inboxType=this.inboxType.getDefaultInbox()),!this.inboxType.isValidInbox(e.inboxType))throw new K({ctx:this.ctx,msg:"invalid inbox",type:w.InvalidInboxType,sender:this});if(void 0!==e.idempotentId&&void 0===e.participantId){const n=yield this.createConversation({type:g.ConversationType.GROUP_CHAT,participants:[],inboxType:e.inboxType,idempotentId:e.idempotentId});n.success&&(t=n.payload,null!==t&&(yield this.getConversationOnline({conversationId:t.id,shortId:t.shortId,type:g.ConversationType.ONE_TO_ONE_CHAT})))}else if(void 0!==e.participantId){const n=yield this.createConversation({type:g.ConversationType.ONE_TO_ONE_CHAT,participants:e.participantId,inboxType:e.inboxType});n.success&&(t=n.payload,null!==t&&(yield this.resolve(G.ConversationManager).refreshAsync(t)))}else{if(void 0===e.shortId)throw new K({ctx:this.ctx,type:w.InvalidParam,msg:"no valid param provided",reachServer:!1,sender:this});t=yield this.getConversationOnline({conversationId:e.shortId,shortId:e.shortId,type:g.ConversationType.GROUP_CHAT})}if(null===t||t.isOffline)throw new K({ctx:this.ctx,type:w.ConversationNotExist,msg:"fetch failed, conv is null or offline",reachServer:!1,sender:this});return yield this.getMessagesByConversation({conversation:t}),t}))}dispose(){var e,t;this.resolve(G.EventBus).unsubscribeAll(),null===(e=this.ticker)||void 0===e||e.stop(),this.network.closeWs(),null===(t=this.network.ws)||void 0===t||t.dispose(),this.network.onMessage.unsubscribeAll();for(const e of this.plugins)e.dispose();this.plugins.forEach((e=>e.dispose())),this.plugins.length=0,this.ctx.status=k.Destroyed,this.resolve(G.ConversationManager).dispose(),this.resolve(G.MessageManager).dispose(),this.resolve(G.ParticipantManager).dispose(),this.ctx.option.monitor=void 0,this.ctx.option.aspectBefore=()=>(H.ctxError(this.ctx,"do not invoke a disposed instance"),!1),this.disposed=!0,H.ctxDebug(this.ctx,"sdk unloaded, do not invoke this instance")}initAdapter(){}prepareHistoryForInbox({inboxType:e,convLimit:t,msgLimit:n,mode:i,convTotal:s}){var A,a,c,l,g;return(0,o.__awaiter)(this,void 0,void 0,(function*(){const o=J.performanceNow();let d=0;try{const o=yield null===(A=this.resolve(G.DbProxy))||void 0===A?void 0:A.loadUserCursor(e);if(void 0!==o)return H.ctxDebug(this.ctx,`load history for inbox ${e} by db`),yield this.setUserCursor(o,e),yield this.getMessagesByUser({inboxType:e,cursor:o}),!0;const u=J.performanceNow();if(this.ctx.option.disableInitPull){let o;if(H.ctxDebug(this.ctx,`load history for inbox ${e} by disable init`),this.ctx.option.prefetchCursors&&void 0!==this.ctx.option.prefetchCursors[e]&&this.ctx.option.prefetchCursors[e]>=0)o=r.fromNumber(this.ctx.option.prefetchCursors[e]),H.ctxDebug(this.ctx,`use prefetch Cursor inbox:${e} cursor:${o.toNumber()}`);else{const i=yield this.api.GetMessagesByUserInitV2({inboxType:e,convLimit:t,msgLimit:n,cursor:r.ZERO}),s=null===(a=i.body)||void 0===a?void 0:a.messages_per_user_init_v2_body;d=(null===(g=null===(l=null===(c=i.body)||void 0===c?void 0:c.messages_per_user_init_v2_body)||void 0===l?void 0:l.messages)||void 0===g?void 0:g.length)||0,o=s.per_user_cursor}return yield this.setUserCursor(o,e),this.resolve(G.Monitor).emitMetrics(q.InitPull,{response_time_cost:J.performanceNow()-u,total_msg_count:d,inbox_type:e}),!0}H.ctxDebug(this.ctx,`load history for inbox ${e} by full init`);let p={hasMore:!0,cursor:r.ZERO,page:0,version:void 0,messagesCount:0};for(;p.hasMore&&(p=yield this.getMessagesByUserInit(Object.assign({inboxType:e,initSubType:this.ctx.option.initSubType,convLimit:t,msgLimit:n,mode:i},p)),!(s&&this.resolve(G.ConversationManager).getConversationArray().length>=s));)d+=p.messagesCount;return this.resolve(G.Monitor).emitMetrics(q.InitPull,{response_time_cost:J.performanceNow()-u,inbox_type:e,total_msg_count:d}),!0}catch(t){return H.ctxError(this.ctx,`load history failed for inbox:${e}`,t),this.resolve(G.Monitor).emitMetrics(q.LoadHistory,{duration:J.performanceNow()-o}),!1}}))}patchMessage(e){var t,n;return(0,o.__awaiter)(this,void 0,void 0,(function*(){let{cursor:o}=e;if(!e.limitindex)return;o instanceof Ce&&(o=o.indexInConversation),void 0===o&&(o=e.conversation.firstMessageIndex);const i=yield this.api.GetMessagesByConversation({conversationId:e.conversation.id,conversationShortId:r.fromString(e.conversation.shortId),conversationType:e.conversation.type,anchorIndex:r.fromValue(o),direction:g.MessageDirection.OLDER,limit:null!==(t=e.limit)&&void 0!==t?t:20,inboxType:e.conversation.inboxType});this.resolve(G.Monitor).emitMetrics(q.GetMessagesByConversation,{count:1},{log_id:i.log_id,from:"patch",conversationId:e.conversation.shortId,cursor:r.fromValue(o).toString()});const s=null===(n=i.body)||void 0===n?void 0:n.messages_in_conversation_body,{conMap:A}=yield this.resolve(G.MessageManager).processNewMessagesFromPull(s.messages,Q.UserInbox,i.log_id),a=A.get(e.conversation.shortId);(null==s?void 0:s.has_more)&&a&&!e.limitindex.gt((null==a?void 0:a.indexInConversation)||r.ZERO)?this.patchMessage({conversation:e.conversation,limit:e.limit||20,cursor:null==s?void 0:s.next_cursor,limitindex:e.limitindex}):e.conversation.forceRefreshUnreadCount()}))}tickerUpdate(){return(0,o.__awaiter)(this,void 0,void 0,(function*(){if((yield this.network.net.getConnectionStatus())!==Te.Disconnected){if(this.initResult===v.Succeeded){if(this.ctx.option.pullInterval&&!this.isProcessing)for(const e of this.inboxType.getInboxTypeArray())try{yield this.getMessagesByUser({inboxType:e}),this.resolve(G.Monitor).emitMetrics(q.GetMessagesByTicker,{count:1},{tick_timer:this.ticker.getTickTimer(),cursor:this.getUserCursor(e).toString(),time:Math.round(Date.now()/100).toString(),inbox:e.toString()})}catch(e){H.ctxWarn(this.ctx,"ticker running in pull user err:",e)}for(const e of this.plugins)try{yield e.ticker()}catch(e){H.ctxWarn(this.ctx,"ticker running in plugin err:",e)}}}else this.ctx.status=k.Disconnected}))}__internal_sendMessageObject(e){var t,n,i,s,A,a;return(0,o.__awaiter)(this,void 0,void 0,(function*(){const o={success:!1,payload:e};if(e.serverId)return o.statusCode=0,o;const c=this.resolve(G.ConversationManager).getRaw(e.conversationId);if(void 0===c)return o.statusCode=w.ConversationNotExist,o.statusMsg=`conversation ${e.conversationId} not exist in local`,o;e.flightStatus=M.Inflight,yield this.resolve(G.MessageManager).processNewMessage(e,Q.Offline);try{c.ticket||(yield this.resolve(G.ConversationManager).refreshTicket(c.id))}catch(n){return e.flightStatus=M.Failed,o.statusCode=null!==(t=n.type)&&void 0!==t?t:w.InvalidTicket,o.innerError=n,this.resolve(G.MessageManager).upsert(e),o}try{const t=yield this.api.SendMessage({conversationType:c.type,conversationId:c.id,conversationShortId:r.fromString(c.shortId),content:e.content,ticket:c.ticket,ext:e.ext,messageType:e.type,clientId:e.clientId,mentionedUsers:e.mentionedUsers.map((e=>r.fromString(e))),inboxType:c.inboxType,referenceInfo:e.referenceInfo,contentPb:e.contentPb,scene:e.scene,sendMediaList:e.sendMediaList}),a=null===(n=t.body)||void 0===n?void 0:n.send_message_body;if(e.ext[h.SendResponseCheckCode]=null!==(i=null==a?void 0:a.check_code.toString())&&void 0!==i?i:"",e.ext[h.SendResponseCheckMessage]=null==a?void 0:a.check_message,e.ext[h.SendResponseExtraInfo]=null==a?void 0:a.extra_info,e.ext[h.SendResponseStatus]=null!==(s=null==a?void 0:a.status.toString())&&void 0!==s?s:"",this.ctx.option.debug&&(e.ext[h.LocalLogId]=t.log_id),o.body=a,o.checkCode=a.check_code,o.checkMsg=a.check_message,o.serverMessageId=null!==(A=a.server_message_id.toString())&&void 0!==A?A:"",o.statusCode=a.status,o.statusMsg=a.extra_info,o.logid=t.log_id,0===a.status){const t=a.server_message_id.toString();e.serverId=t,e.flightStatus=M.Succeeded,e.isOffline=!1,yield this.resolve(G.MessageManager).processNewMessage(e,Q.Offline),o.success=!0}else e.flightStatus!==M.Received?(e.flightStatus=M.Rejected,a.status===g.SendMessageStatus.CHECK_MSG_NOT_PASS_BUT_SELF_VISIBLE&&(e.flightStatus=M.SelfVisible)):o.success=!0}catch(t){e.flightStatus!==M.Received&&(e.flightStatus=M.Failed),o.innerError=t,o.statusCode=null!==(a=t.type)&&void 0!==a?a:w.NetworkError}return this.resolve(G.MessageManager).upsert(e),o}))}receivePacket(e){var t,n,i,s,A,a,c,l;return(0,o.__awaiter)(this,void 0,void 0,(function*(){if(this.isProcessing=!0,this.initResult!==v.Succeeded)return;let o=!1;const d=this.getUserCursor(e.inbox_type);if(H.ctxDebug(this.ctx,"server packet",e),e.cmd===g.IMCMD.NEW_MSG_NOTIFY){const l=null===(t=e.body)||void 0===t?void 0:t.has_new_message_notify;if(l)if(d.lt(null!==(n=l.previous_cursor)&&void 0!==n?n:r.ZERO)||(null===(i=l.previous_cursor)||void 0===i?void 0:i.eq(r.ZERO))){o=!0,H.ctxWarn(this.ctx,`push cursour is greater than local cursor, push:${null!==(s=l.previous_cursor)&&void 0!==s?s:r.ZERO}, local:${d.toString()}, msgid:${null===(A=l.message)||void 0===A?void 0:A.server_message_id}, logid:${e.log_id}`);const t=l.message;if(t){const n=Ce.fromServerMessage(this.ctx,t,e.log_id);n.ext||(n.ext={}),this.ctx.option.debug&&(n.ext[h.LocalLogId]=e.log_id),yield this.resolve(G.MessageManager).processNewMessage(n,Q.Online)}}else if(null===(a=l.previous_cursor)||void 0===a?void 0:a.eq(d)){const t=this.resolve(G.ConversationManager).getRaw(l.conversation_id);this.ctx.option.enableServerUnreadCount&&t&&l.badge_count_v2&&l.badge_count_v2>0&&(t.badgeCount=r.fromValue(l.badge_count_v2));const n=l.message;if(n){this.reportMessageDelayTime(n,e.log_id);const t=Ce.fromServerMessage(this.ctx,n,e.log_id);t.ext||(t.ext={}),this.ctx.option.debug&&(t.ext[h.LocalLogId]=e.log_id),yield this.resolve(G.MessageManager).processNewMessage(t,Q.Online),yield this.setUserCursor(l.next_cursor,e.inbox_type)}else H.ctxWarn(this.ctx,"msg body is empty:",l)}else o=!0,H.ctxWarn(this.ctx,`push cursour is less than local cursor, push:${l.previous_cursor}, local:${d}, msgid:${null===(c=l.message)||void 0===c?void 0:c.server_message_id}, logid:${e.log_id}`);else o=!0,H.ctxWarn(this.ctx,`push body is missing, logid:${e.log_id}`)}o&&(yield this.getMessagesByUser({inboxType:e.inbox_type,cursor:d})),this.resolve(G.ConversationManager).refreshLocal();for(const t of this.plugins)yield t.receivePacket(e);this.messageAck({packet:e,inboxType:null!==(l=null==e?void 0:e.inbox_type)&&void 0!==l?l:0}),this.isProcessing=!1}))}messageAck({packet:e,inboxType:t}){return(0,o.__awaiter)(this,void 0,void 0,(function*(){const n=yield this.checkAckParams(e);if(n&&e.server_start_time&&e.server_start_time.toNumber()>0){const o=Date.now(),r=yield this.api.MessageAck({startTimeStamp:e.server_start_time,cmd:n.cmd,serverId:n.id,convType:n.convType,msgType:n.msgType,inboxType:t,pushType:g.PushType.Internal});this.emitAckEvent(r,o,n.id,n.cmd,n.convType,n.msgType)}}))}checkAckParams(e){var t,n,o,r,i,s,A;if((null===(n=null===(t=e.body)||void 0===t?void 0:t.has_new_message_notify)||void 0===n?void 0:n.notify_type)===g.NewMessageNotifyType.PER_USER){const{message:t,conversation_type:n}=e.body.has_new_message_notify;return{id:(null==t?void 0:t.server_message_id)?null==t?void 0:t.server_message_id.toString():"-1",cmd:g.IMCMD.NEW_MSG_NOTIFY,convType:null!=n?n:0,msgType:null!==(o=null==t?void 0:t.message_type)&&void 0!==o?o:0}}if(null===(r=e.body)||void 0===r?void 0:r.has_new_direct_push_notify){const{message_type:t,conversation_type:n}=e.body.has_new_direct_push_notify;return{id:null!==(i=e.log_id)&&void 0!==i?i:"",cmd:e.cmd,convType:null!=n?n:0,msgType:null!=t?t:0}}if(null===(s=e.body)||void 0===s?void 0:s.mark_conversation_read_notify){const{conversation_type:t}=e.body.mark_conversation_read_notify;return{id:null!==(A=e.log_id)&&void 0!==A?A:"",cmd:e.cmd,convType:null!=t?t:0,msgType:0}}return null}emitAckEvent(e,t,n,r,i,s){return(0,o.__awaiter)(this,void 0,void 0,(function*(){const o=t-Date.now();if(e){const t=e.ack_message_body;let A=-1;void 0!==t&&(null==t?void 0:t.backend_e2e_latency)&&(A=t.backend_e2e_latency.toNumber()),this.resolve(G.Monitor).emitMetrics(q.MessageAck,{push_type:g.PushType.Internal,conv_type:i,msg_type:s,e2e_latency:A,request_duration:o,is_success:0,cmd:r},{id:n})}else this.resolve(G.Monitor).emitMetrics(q.MessageAck,{push_type:g.PushType.Internal,conv_type:i,msg_type:s,e2e_latency:-1,request_duration:o,is_success:1,cmd:r},{id:n})}))}reportMessageDelayTime(e,t){var n,o,r,i,s,A,a,c;const l=null===(n=e.create_time)||void 0===n?void 0:n.toNumber();if(!l)return;const g=this.ctx.option.timeCalibration?this.resolve(G.Monitor).avgDelta:0,d=Date.now(),u=d+g-l;u<=0?H.ctxDebug(this.ctx,`message reception delay is less than 0, serverId:${e.server_message_id}, current:${d}, createTime:${l}, timeDelta:${g}`):this.resolve(G.Monitor).emitMetrics(q.ReceiveMessage,{recieve_cost_time:u},{con_type:null!==(r=null===(o=e.conversation_type)||void 0===o?void 0:o.toString())&&void 0!==r?r:"",conversation_id:null!==(i=e.conversation_id)&&void 0!==i?i:"",msg_uuid:null!==(A=null===(s=e.server_message_id)||void 0===s?void 0:s.toString())&&void 0!==A?A:"",recieve_end_time:d.toString(),recieve_start_time:l.toString(),time_delta:g.toString(),msg_type:null!==(c=null===(a=e.message_type)||void 0===a?void 0:a.toString())&&void 0!==c?c:"",error_code:"0",ntp_ready:this.ctx.option.timeCalibration?"1":"0",is_ws:"1",logid:t})}}class _t extends ht{initAdapter(){var e,t;je.setAdapter(Ge.HttpClient,null!==(e=this.ctx.option.httpClient)&&void 0!==e?e:lt),je.setAdapter(Ge.WebSocketClient,null!==(t=this.ctx.option.wsClient)&&void 0!==t?t:dt),je.setAdapter(Ge.NetApi,at)}}class yt extends F{constructor(){super(...arguments),this.isMember=!0}getMessageList(){return[]}static fromServerConversation(e){var t;const n=new yt;return n.id=e.conversation_id,n.shortId=e.conversation_short_id.toString(),n.type=e.conversation_type,n.ticket=e.ticket,n.participantCount=e.participants_count,n.isMember=e.is_participant,n.isOffline=!1,n.firstPageParticipant=e.first_page_participants,n.badgeCount=r.fromValue(null!==(t=e.badge_count_v2)&&void 0!==t?t:r.ZERO),n.coreInfo=new ae(n,e.conversation_core_info),n.bizExt=String.fromCharCode.apply(null,e.biz_ext),n.settingInfo=new le(n,e.conversation_setting_info),n}}!function(e){e.MultimediaMessageUpload="imsdk_upload_msg",e.InitHandler="imsdk_init_handler",e.Exception="imsdk_exception",e.SaveMessageError="imsdk_save_msg_error",e.IntegrityCheckConversation="imsdk_puller_check_conv_and",e.MessageAck="imsdk_message_ack"}(ze||(ze={}));class It extends F{get instance(){return this.resolve(G.CoreInstance)}constructor(e){super(e)}toString(){return this.constructor.name}init(){return(0,o.__awaiter)(this,void 0,void 0,(function*(){}))}sendPacket(e){return(0,o.__awaiter)(this,void 0,void 0,(function*(){return e}))}receivePacket(e){return(0,o.__awaiter)(this,void 0,void 0,(function*(){}))}ticker(){return(0,o.__awaiter)(this,void 0,void 0,(function*(){}))}extendFunc(e){return e.bind(this)}dispose(){return(0,o.__awaiter)(this,void 0,void 0,(function*(){}))}}class ft{get isExpired(){return Date.now()-this.saveTime>this.ttl}}class mt{constructor(e){this.cache=new Map,this.globalTtl=e}set(e,t,n){const o=new ft;o.key=e,o.value=t,o.saveTime=Date.now(),o.ttl=null!=n?n:this.globalTtl,this.cache.set(e,o)}get(e){const t=this.cache.get(e);if(t){if(!t.isExpired)return t.value;this.delete(e)}}delete(e){this.cache.delete(e)}has(e){return void 0!==this.get(e)}prune(){this.cache.forEach((e=>{e.isExpired&&this.delete(e.key)}))}}class Bt{static fromOp(e,t){var n;const o=new Bt;return o.conversationId=e.conversationId,o.messageId=e.clientId,o.key=t.key,o.userId=e.ctx.option.userId,o.secUid=e.ctx.option.secUid,o.createTime=new Date(Date.now()),o.idempotentId=t.idempotentId,o.value=null!==(n=t.value)&&void 0!==n?n:"",o.version=e.version,o.status=ge.Sending,o}static mergeOperationToCurrent(e,t){var n;const o=he(t,(e=>e.key));for(const t of Object.keys(o))for(const r of o[t]){e.property[t]||(e.property[t]=[]);const o=null===(n=e.property[t])||void 0===n?void 0:n.findIndex((e=>e.idempotentId===r.idempotentId));switch(r.operation){case g.OPERATION_TYPE.ADD_PROPERTY_ITEM:-1===o&&e.property[t].push(Bt.fromOp(e,r));break;case g.OPERATION_TYPE.REMOVE_PROPERTY_ITEM:-1!==o&&e.property[t].splice(o,1),0===e.property[t].length&&delete e.property[t];break;case g.OPERATION_TYPE.SET_PROPERTY:e.property[t]=[Bt.fromOp(e,r)];break;case g.OPERATION_TYPE.DEL_PROPERTY:delete e.property[t]}}}}!function(e){e.Image="image",e.Video="video",e.Audio="audio",e.CommonFile="object"}(We||(We={})),function(e){e.Uploader="multimedia.uploader"}(Xe||(Xe={}));class Ct extends F{constructor(e,t){super(e),this.onComplete=new ne(e),this.onFail=new ne(e),this.options=t}performAddFile(e){return this.fileOption=this.addFile(e),this.fileOption}performUpload(){var e,t;return(0,o.__awaiter)(this,void 0,void 0,(function*(){const n=J.performanceNow();try{const t=yield this.upload();return this.resolve(G.Monitor).emitDuration(Xe.Uploader+q.SuccessSuffix,n,{type:null!==(e=this.fileOption.rawType)&&void 0!==e?e:"unknown"}),t}catch(e){throw this.resolve(G.Monitor).emitDuration(Xe.Uploader+q.ErrorSuffix,n,{type:null!==(t=this.fileOption.rawType)&&void 0!==t?t:"unknown"}),e}}))}genOption(e){return{file:e.fileHandler,path:e.filePath,stsToken:this.options.stsToken,size:e.fileSize,rawType:e.type,type:e.type===We.Audio?We.Video:e.type}}}var Et,vt,Qt,bt,wt=n(69597),Mt=n.n(wt);class kt extends Ct{constructor(e,t){super(e,t),this.uploader=new(Mt())(Object.assign({userId:t.userId,appId:t.appId,useFileExtension:!0,useServerCurrentTime:!0,videoConfig:t.videoConfig,imageConfig:t.imageConfig,objectConfig:t.objectConfig,region:t.region,videoHost:t.videoHost,imageHost:t.imageHost},{retryTaskTime:t.retryTaskTime}))}addFile(e){const t=this.genOption(e);return this.fileKey=this.uploader.addFile(t),t}upload(){let e,t;return this.uploader.start(this.fileKey),this.uploader.on("progress",(e=>{var t,n;null===(n=(t=this.options).onUploadProcess)||void 0===n||n.call(t,e)})),this.uploader.on("complete",(t=>{var n,o;null===(o=(n=this.options).onUploadComplete)||void 0===o||o.call(n,t),e(t),this.onComplete.next(t,this)})),this.uploader.on("error",(e=>{var n,o,r;null===(o=(n=this.options).onUploadError)||void 0===o||o.call(n,e);const{extra:i}=e,s=JSON.stringify({extra:{message:null==i?void 0:i.message,errorCode:null==i?void 0:i.errorCode,res:{body:null===(r=null==i?void 0:i.res)||void 0===r?void 0:r.body}}}),A=new K({ctx:this.ctx,msg:"upload error",type:w.MPUploadError,sender:this,innerError:new Error(s)});this.onFail.next(A,this),t(A)})),new Promise(((n,o)=>{e=n,t=o}))}}class Dt extends ${jsonToQuery(e,t={},n=!0){let o=n?"?":"";for(const[e,n]of Object.entries(t))o=`${o}${e}=${encodeURIComponent(this.isDef(n)?`${n}`:"")}&`;return e+o.substring(0,o.length-1)}isDef(e){return null!=e}GetUploadConfig(){var e,t,n;return(0,o.__awaiter)(this,void 0,void 0,(function*(){const o=g.RequestBody.create({media_upload_config_request_body:{}}),r=yield this.sendWithRawBody(o,g.IMCMD.GET_MEDIA_UPLOAD_CONFIG,{forceHttp:!0}),i=null!==(n=null===(t=null===(e=r.body)||void 0===e?void 0:e.media_upload_config_response_body)||void 0===t?void 0:t.configs)&&void 0!==n?n:[],s=i.find((e=>1===e.type)),A=i.find((e=>2===e.type)),a=i.find((e=>3===e.type)),c=i.find((e=>4===e.type));if(!(s||A||a||c))throw new Error("empty upload config");const l=(e,t)=>{var n,o;return Object.assign(Object.assign({},t?{service_id:null==e?void 0:e.resource_space}:{space_name:null==e?void 0:e.resource_space}),{host:null==e?void 0:e.host,auth_token:{access_key_id:null==e?void 0:e.access_key,current_time:null===(n=null==e?void 0:e.current_time)||void 0===n?void 0:n.toString(),expire_time:null===(o=null==e?void 0:e.expiry_time)||void 0===o?void 0:o.toString(),secret_access_key:null==e?void 0:e.secret_access_key,session_token:null==e?void 0:e.session_token}})};return{image_upload_config:s?l(s,!0):void 0,video_upload_config:A?l(A,!1):void 0,audio_upload_config:a?l(a,!1):void 0,file_upload_config:c?l(c,!0):void 0}}))}GetMediaUploadTokenTikTok(){var e;return(0,o.__awaiter)(this,void 0,void 0,(function*(){const t=z(g.IMCMD.GET_MEDIA_UPLOAD_TOKEN);let n=this.ctx.option.apiUrl;n.endsWith("/")||(n=`${n}/`);const o=this.jsonToQuery(n+t,{upload_scene:null!==(e=this.ctx.option.uploadScene)&&void 0!==e?e:g.IMUploadScene.MultimediaMessaging,aid:this.ctx.option.appId}),r=yield this.resolve(G.NetworkManager).sendByHttpWithoutArrayBuffer(o,"GET");return yield r.json()}))}GetMediaUrls(e){return(0,o.__awaiter)(this,void 0,void 0,(function*(){const t=g.RequestBody.create({get_media_urls_body:{source_appid:e.sourceAppId,uri:e.uri,media_type:e.mediaType,encrypted:e.encrypted,img_options:e.imgOptions?e.imgOptions.map((e=>g.ImgOption.create({tplv:e.tplv,params:e.params,format:e.format,urls:e.urls}))):void 0,video_options:e.videoOptions?e.videoOptions.map((e=>g.VideoOption.create({vid:e.vid,cover_uri:e.coverUri,urls:e.urls,cover_urls:e.coverUrls}))):void 0,audio_options:e.audioOptions?e.audioOptions.map((e=>g.AudioOption.create({vid:e.vid,urls:e.urls}))):void 0,file_options:e.fileOptions?e.fileOptions.map((e=>g.FileOption.create({urls:e.urls}))):void 0,read_url_from:e.mediaType===g.MediaType.IMG?g.ReadURLFrom.URL_IMAGEX:g.ReadURLFrom.URL_VSDK,encrypted_uri:e.encryptedUri}});return this.sendWithRawBody(t,g.IMCMD.GET_MEDIA_URLS)}))}}!function(e){e.Image="image",e.Video="video",e.Audio="audio",e.CommonFile="object"}(Et||(Et={})),function(e){e.Template="s:message_template",e.Uri="s:file_ext_key_uri",e.Type="s:file_ext_key_type",e.AppId="s:file_ext_key_source_app_id",e.NeedEncrypt="s:file_ext_key_need_encrypt",e.EncryptUri="s:file_ext_key_encrypt_uri",e.Vid="s:file_ext_key_vid",e.FileName="s:file_ext_key_file_name",e.ImgHeight="s:file_ext_key_original_height",e.ImgWidth="s:file_ext_key_original_width",e.ImgThumbHeight="s:file_ext_key_thumb_height",e.ImgThumbWidth="s:file_ext_key_thumb_width",e.ImgThumbUrl="s:file_ext_key_thumb_url",e.ImgPreviewUrl="s:file_ext_key_preview_url",e.ImgPreviewHeight="s:file_ext_key_preview_height",e.ImgPreviewWidth="s:file_ext_key_preview_width",e.ImgPreviewEncryptUrl="s:file_ext_key_preview_encrypt_url",e.ImgThumbEncryptUrl="s:file_ext_key_thumb_encrypt_url",e.ImgUseImageX="s:file_ext_key_use_imagex",e.ImgSuffix="s:file_ext_key_img_suffix",e.VideoCoverUri="s:file_ext_key_video_cover_uri",e.VideoCoverUrl="s:file_ext_key_video_cover_url",e.VideoDuration="s:file_ext_key_video_duration",e.VideoWidth="s:file_ext_key_video_width",e.VideoHeight="s:file_ext_key_video_height",e.AudioDuration="s:file_ext_key_audio_duration"}(vt||(vt={})),function(e){e.Image="file_ext_value_type_image",e.Video="file_ext_value_type_video",e.Audio="file_ext_value_type_audio",e.Object="file_ext_value_type_object",e.File="file_ext_value_type_file"}(Qt||(Qt={})),function(e){e.Obj="tplv-obj",e.Resize="tplv-resize"}(bt||(bt={}));const Ot="image",St={vsdkVersion:"v5",uploadRegion:"cn-north-1"};function Rt(e,t,n){return(0,o.__awaiter)(this,void 0,void 0,(function*(){if("undefined"!=typeof window&&void 0!==window.crypto&&void 0!==window.crypto.subtle)try{const o={name:"AES-GCM",iv:n},r=yield window.crypto.subtle.importKey("raw",t,o,!1,["decrypt"]);return crypto.subtle.decrypt(o,r,e)}catch(e){return}}))}const Lt="aes-256-gcm",Tt=[Lt];function Pt(e,t,n,r){return(0,o.__awaiter)(this,void 0,void 0,(function*(){let o;const i=new Uint8Array(r.match(/[\da-f]{2}/gi).map((e=>parseInt(e,16)))),s=t(n.slice(12),i.buffer,n.slice(0,12));if(s instanceof Promise)o=yield s;else{if(!(s instanceof ArrayBuffer))throw new K({ctx:e,msg:"invalid provided decryptor",type:w.MPNotSupportCipher,sender:this});o=s}return o}))}var Gt,xt=n(41870);class Yt extends It{constructor(e){super(e),this.initAdapter()}refreshFileUrl(e){return(0,o.__awaiter)(this,void 0,void 0,(function*(){return e.message}))}createFileMessage(e){var t,n,r,i,s,A,a;return(0,o.__awaiter)(this,void 0,void 0,(function*(){if(!e.type)switch(e.fileInfo.type){case Et.Video:e.type=g.MessageType.MESSAGE_TYPE_VIDEO;break;case Et.Image:e.type=this.ctx.option.needPathRewrite?g.MessageType.MsgTypeTemplateCommonCard:g.MessageType.MsgTypeTemplatePictureCard;break;case Et.Audio:e.type=g.MessageType.MESSAGE_TYPE_AUDIO;break;default:e.type=g.MessageType.MESSAGE_TYPE_FILE}const o=yield this.instance.createMessage({conversation:e.conversation,content:null!==(t=e.content)&&void 0!==t?t:"",ext:e.ext,mentionedUsers:e.mentionedUsers,type:e.type,insert:e.insert,clientId:e.clientId,referenceMessage:e.referenceMessage,referenceHint:e.referenceHint,contentPb:e.contentPb,scene:e.scene});if(o.sendFunc=this.__internal_sendFileMessage.bind(this),!e.fileInfo.fileHandler&&!e.fileInfo.filePath)throw new K({ctx:this.ctx,msg:"send file with empty file handler or path",type:w.MPInvalidArgument,sender:this});return e.fileInfo.fileName=null!==(n=e.fileInfo.fileName)&&void 0!==n?n:null===(r=e.fileInfo.fileHandler)||void 0===r?void 0:r.name,e.fileInfo.length=null!==(i=e.fileInfo.length)&&void 0!==i?i:null===(s=e.fileInfo.fileHandler)||void 0===s?void 0:s.size,e.fileInfo.mime=null!==(A=e.fileInfo.mime)&&void 0!==A?A:null===(a=e.fileInfo.fileHandler)||void 0===a?void 0:a.type,o.fileInfo=e.fileInfo,o}))}parseContent(e){var t;return null===(t=e.message.contentPb)||void 0===t?void 0:t.picture_card}decryptMedia(e){var t,n,r,i,s,A,a,c,l,d,u,p,h,_,y,I,f,m;return(0,o.__awaiter)(this,void 0,void 0,(function*(){const{message:o,displayType:B}=e,C=e.message.type===g.MessageType.MsgTypeTemplateCommonCard,E=C?null===(t=e.message.contentPb)||void 0===t?void 0:t.common_msg_card:null===(n=e.message.contentPb)||void 0===n?void 0:n.picture_card;if(void 0===E)throw new K({ctx:this.ctx,msg:"fail to decrypt",type:w.MPNotSupportCipher,sender:this});let v=!1;e.fetchIndex||(e.fetchIndex=0);let Q="",b="";if((null===(r=o.mediaInfoList)||void 0===r?void 0:r.length)&&B){const e=o.mediaInfoList[0],t=e.urlInfoList.find((e=>e.displayType===B));t&&(Q=t.urlList[0],b=null!==(i=e.decryptKey)&&void 0!==i?i:"")}if(!Q||!b)if(C){const{image_map:e}=E,t=null==e?void 0:e.image;Q=(null==t?void 0:t.url_list)?t.url_list[0]:"",b=null!==(s=null==t?void 0:t.decrypt_key)&&void 0!==s?s:""}else{const{image:t,thumbnail:n,image_mint:o,thumbnail_mint:r}=E;0===e.fetchIndex?(Q=null!==(l=null!==(a=null===(A=null==t?void 0:t.url_list)||void 0===A?void 0:A[0])&&void 0!==a?a:null===(c=null==o?void 0:o.url_list)||void 0===c?void 0:c[0])&&void 0!==l?l:"",b=null!==(u=null!==(d=null==t?void 0:t.decrypt_key)&&void 0!==d?d:null==o?void 0:o.decrypt_key)&&void 0!==u?u:""):1===e.fetchIndex&&(Q=null!==(y=null!==(h=null===(p=null==n?void 0:n.url_list)||void 0===p?void 0:p[0])&&void 0!==h?h:null===(_=null==r?void 0:r.url_list)||void 0===_?void 0:_[0])&&void 0!==y?y:"",b=null!==(f=null!==(I=null==n?void 0:n.decrypt_key)&&void 0!==I?I:null==r?void 0:r.decrypt_key)&&void 0!==f?f:"")}if(b&&(v=!0),Q){const t={};if(C?t["X-User"]=ve()(this.ctx.option.userId):(t["mint-token"]="8a8a1162ec959995aa156772a5ce52b3",t["X-User"]=ve()(null!==(m=this.ctx.option.shadowUserId)&&void 0!==m?m:this.ctx.option.userId)),v){const n=yield this.resolve(G.NetworkManager).sendByHttpTo(Q,"GET",t),o="aes-256-gcm";let r;const i=function(e,t){if(!Tt.includes(t))throw new K({ctx:e,msg:`not support cipher algorithm: ${t}`,sender:this,type:w.MPNotSupportCipher});switch(t){case Lt:return Rt;case"aes-256-gcm-chunks":case"cenc-aes-ctr":throw new K({ctx:e,msg:`not support: ${t}`,sender:this,type:w.MPNotSupportCipher});default:throw new K({ctx:e,msg:`not found suitable decrpytor for algorithm: ${t}`,sender:this,type:w.MPNotSupportCipher})}}(this.ctx,o);if(r=yield Pt(this.ctx,i,n,b),!r&&e.decrpytor&&(r=yield Pt(this.ctx,e.decrpytor,n,b)),!r)throw new K({ctx:this.ctx,msg:"fail to decrypt",type:w.MPNotSupportCipher,sender:this});return r}return yield this.resolve(G.NetworkManager).sendByHttpTo(Q,"GET",t)}throw new K({ctx:this.ctx,msg:"fail to decrypt",type:w.MPNotSupportCipher,sender:this})}))}install(){this.instance.refreshFileUrl=this.extendFunc(this.refreshFileUrl),this.instance.createFileMessage=this.extendFunc(this.createFileMessage),this.instance.decryptMedia=this.extendFunc(this.decryptMedia),this.instance.parseContent=this.extendFunc(this.parseContent),this.instance.getImageResizeUrls=this.extendFunc(this.getImageResizeUrls),this.api=this.register(G.MultimediaApi,Dt),this.register(G.MultimediaPlugin,this),this.refreshCache=new mt(3e6),this.sendQueue=new xt.A({concurrency:this.ctx.option.serialSendFileMessage?1:1/0})}__internal_sendFileMessage(e){var t;return(0,o.__awaiter)(this,void 0,void 0,(function*(){let n;e.flightStatus=M.Preparing;try{const t=this.__internal_getFileUrlWithUpload(e,e.fileInfo);n=yield this.sendQueue.add((()=>t))}catch(n){return e.flightStatus=M.Failed,this.resolve(G.MessageManager).upsert(e),{success:!1,payload:e,innerError:n,statusCode:null!==(t=n.type)&&void 0!==t?t:w.MPUploadError}}return n?(this.refreshCache.set(e.clientId,!0),this.sendQueue.add((()=>this.instance.__internal_sendMessageObject.apply(this.instance,[e])))):(e.flightStatus=M.Failed,this.resolve(G.MessageManager).upsert(e),{success:!1,payload:e,statusMsg:"unknown error when send file",statusCode:w.MPUploadError})}))}getImageResizeUrls(e){var t,n,r,i,s,A;return(0,o.__awaiter)(this,void 0,void 0,(function*(){const o=yield this.api.GetMediaUrls({sourceAppId:this.ctx.option.appId,mediaType:g.MediaType.IMG,uri:e.uri,imgOptions:[{tplv:bt.Obj,format:null!==(t=e.format)&&void 0!==t?t:Ot},{tplv:bt.Resize,format:null!==(n=e.format)&&void 0!==n?n:Ot,params:[String(e.width),String(e.height)]}]}),a=null===(A=null===(s=null===(i=null===(r=o.body)||void 0===r?void 0:r.get_media_urls_body)||void 0===i?void 0:i.img_options)||void 0===s?void 0:s[1])||void 0===A?void 0:A.urls;if(!Array.isArray(a))throw new K({ctx:this.ctx,msg:"respsone image url from server error",type:w.MPServerUrlError,sender:this,logid:o.log_id});return a}))}__internal_getFileUrl(e){var t,n,r,i,s,A,a,c;return(0,o.__awaiter)(this,void 0,void 0,(function*(){const o=e.ext[vt.Type];if(!o)throw new K({ctx:this.ctx,msg:"invalid request of get media url",type:w.MPInvalidArgument,sender:this});const l="1"===e.ext[vt.NeedEncrypt],d={sourceAppId:this.ctx.option.appId,uri:e.ext[vt.Uri],mediaType:g.MediaType.OTHER,encrypted:l,imgOptions:[{}],videoOptions:[{}],audioOptions:[{}],fileOptions:[{}],encryptedUri:l?e.ext[vt.EncryptUri]:void 0};switch(o){case Qt.Image:d.mediaType=g.MediaType.IMG,d.imgOptions=[{tplv:bt.Obj,format:null!==(t=e.ext[vt.ImgSuffix])&&void 0!==t?t:Ot}],void 0!==e.ext[vt.ImgPreviewWidth]&&void 0!==e.ext[vt.ImgPreviewHeight]&&d.imgOptions.push({tplv:bt.Resize,format:null!==(n=e.ext[vt.ImgSuffix])&&void 0!==n?n:Ot,params:[e.ext[vt.ImgPreviewWidth],e.ext[vt.ImgPreviewHeight]]}),void 0!==e.ext[vt.ImgThumbWidth]&&void 0!==e.ext[vt.ImgThumbHeight]&&d.imgOptions.push({tplv:bt.Resize,format:null!==(r=e.ext[vt.ImgSuffix])&&void 0!==r?r:Ot,params:[e.ext[vt.ImgThumbWidth],e.ext[vt.ImgThumbHeight]]});break;case Qt.Video:d.mediaType=g.MediaType.VIDEO,d.videoOptions=[{vid:e.ext[vt.Vid],coverUri:e.ext[vt.VideoCoverUri]}];break;case Qt.Audio:d.mediaType=g.MediaType.AUDIO,d.audioOptions=[{vid:e.ext[vt.Vid]}];break;default:d.mediaType=g.MediaType.FILE,d.fileOptions=[{urls:[]}]}const u=yield this.api.GetMediaUrls(d),p=u.body.get_media_urls_body;switch(o){case Qt.Image:const t=p.img_options;if(0===(null===(i=p.encrypted_urls)||void 0===i?void 0:i.length)&&(!t||t.length<3))throw new K({ctx:this.ctx,msg:"respsone image url from server error",type:w.MPServerUrlError,sender:this,logid:u.log_id});l&&0!==(null===(s=p.encrypted_urls)||void 0===s?void 0:s.length)&&(e.encryptUrl=p.encrypted_urls[0],e.ext[vt.ImgPreviewEncryptUrl]=p.encrypted_urls[1],e.ext[vt.ImgThumbEncryptUrl]=p.encrypted_urls[2]),0!==t.length&&(e.remoteURL=t[0].urls[0],e.ext[vt.ImgPreviewUrl]=null===(A=t[1])||void 0===A?void 0:A.urls[0],e.ext[vt.ImgThumbUrl]=null===(a=t[2])||void 0===a?void 0:a.urls[0]);break;case Qt.Video:const n=p.video_options;if(!n||n.length<1)throw new K({ctx:this.ctx,msg:"respsone video url from server error",type:w.MPServerUrlError,sender:this,logid:u.log_id});e.remoteURL=n[0].urls[0];const o=(yield this.api.GetMediaUrls({sourceAppId:this.ctx.option.appId,uri:e.ext[vt.VideoCoverUri],mediaType:g.MediaType.IMG,imgOptions:[{tplv:bt.Obj,format:null!==(c=e.ext[vt.ImgSuffix])&&void 0!==c?c:Ot}]})).body.get_media_urls_body.img_options;if(!o||o.length<1)throw new K({ctx:this.ctx,msg:"respsone video cover url from server error",type:w.MPServerUrlError,sender:this,logid:u.log_id});e.ext[vt.VideoCoverUrl]=o[0].urls[0];break;case Qt.Audio:const r=p.audio_options;if(!r||r.length<1)throw new K({ctx:this.ctx,msg:"respsone audio url from server error",type:w.MPServerUrlError,sender:this,logid:u.log_id});e.remoteURL=r[0].urls[0];break;default:const d=p.file_options;if(!d||d.length<1)throw new K({ctx:this.ctx,msg:"respsone file url from server error",type:w.MPServerUrlError,sender:this,logid:u.log_id});e.remoteURL=d[0].urls[0]}return{image:p.img_options,video:p.video_options,audio:p.audio_options,file:p.file_options}}))}__internal_getUploadToken(e){return(0,o.__awaiter)(this,void 0,void 0,(function*(){if(e){const{image_upload_config:e,video_upload_config:t}=yield this.api.GetMediaUploadTokenTikTok();return{image_upload_config:e,video_upload_config:t}}{const{image_upload_config:e,video_upload_config:t,file_upload_config:n}=yield this.api.GetUploadConfig();return{image_upload_config:e,video_upload_config:t,file_upload_config:n}}}))}__internal_getToken(e){return(0,o.__awaiter)(this,void 0,void 0,(function*(){const{ctx:t}=this;return this.__internal_memoizedTokenFunc||(this.__internal_memoizedTokenFunc=ue()(this.__internal_getUploadToken.bind(this),{isPromise:!0,maxSize:2,maxAge:72e4,onCacheAdd(){H.ctxDebug(t,"add internal memoized function")},onCacheHit(){H.ctxDebug(t,"hit internal memoized function")},onExpire(e){H.ctxDebug(t,"expired")}})),this.__internal_memoizedTokenFunc(e)}))}__internal_scaleImage(e,t){var n,o;if(void 0===t[0]&&void 0===t[1])return e;const r=Math.min(Number(null!==(n=t[0])&&void 0!==n?n:Number.MAX_SAFE_INTEGER)/e[0],Number(null!==(o=t[1])&&void 0!==o?o:Number.MAX_SAFE_INTEGER)/e[1]);return r>1?e:[e[0]*r,e[1]*r]}__internal_getFileUrlWithUpload(e,t){var n,r,i,s,A,a,c,l,d,u,p,h,_,y,I,f,m,B,C,E,v,Q,b,M,k,D,O,S,R,L,T,P,x,Y,j,F,N,U,q,J,V,z;return(0,o.__awaiter)(this,void 0,void 0,(function*(){const{encryptOption:W,infor:X}=yield this.attemptUploadFile(t,e);let Z;if(t.type===Et.Video&&t.videoCoverHandler){const{infor:n}=yield this.attemptUploadFile({fileHandler:t.videoCoverHandler,type:Et.Image,displayType:"media"},e);Z=null==n?void 0:n.oid}if("success"!==X.type)throw new K({ctx:this.ctx,msg:"uplaod file to video-cloud error",type:w.MPUploadError,sender:this});const $={displayType:null!==(n=t.displayType)&&void 0!==n?n:"media",mime:t.mime,length:t.length,fileName:t.fileName,type:null===(r=t.fileName)||void 0===r?void 0:r.slice(t.fileName.lastIndexOf(".")+1),ext:Object.assign({[vt.AppId]:this.ctx.option.appId.toString(),[vt.NeedEncrypt]:"0",[vt.FileName]:t.fileName},t.ext)};if(H.ctxDebug(this.ctx,"upload:",X),void 0!==W&&($.ext[vt.NeedEncrypt]="1",$.algorithm=null===(s=null===(i=null==X?void 0:X.uploadResult)||void 0===i?void 0:i.Encryption)||void 0===s?void 0:s.Algorithm,$.secretKey=null===(a=null===(A=null==X?void 0:X.uploadResult)||void 0===A?void 0:A.Encryption)||void 0===a?void 0:a.SecretKey,$.md5=null===(l=null===(c=null==X?void 0:X.uploadResult)||void 0===c?void 0:c.Encryption)||void 0===l?void 0:l.SourceMd5,$.ext[vt.EncryptUri]=null===(u=null===(d=null==X?void 0:X.uploadResult)||void 0===d?void 0:d.Encryption)||void 0===u?void 0:u.Uri),void 0!==t.encrypt&&"both"!==t.encrypt||(H.ctxDebug(this.ctx,"save encrypted file only:",t.encrypt,", keep original file"),$.remoteURL="",$.ext[vt.Uri]=X.oid),void 0===t.mime&&t.type===Et.Image&&(t.mime=(null===(h=null===(p=X.image)||void 0===p?void 0:p.meta)||void 0===h?void 0:h.format)?`image/${X.image.meta.format}`:void 0,t.mime=X.uploadResult.ImageFormat?`image/${X.uploadResult.ImageFormat}`:void 0,$.mime=t.mime,H.ctxDebug(this.ctx,"calculate mime:",t.mime)),t.type===Et.Image&&(null===(_=null==X?void 0:X.uploadResult)||void 0===_?void 0:_.ImageHeight)&&(null===(y=null==X?void 0:X.uploadResult)||void 0===y?void 0:y.ImageWidth)){const e=Number.parseInt(null!==(f=null===(I=null==X?void 0:X.uploadResult)||void 0===I?void 0:I.ImageHeight.toString())&&void 0!==f?f:"",10),n=Number.parseInt(null!==(B=null===(m=null==X?void 0:X.uploadResult)||void 0===m?void 0:m.ImageWidth.toString())&&void 0!==B?B:"",10);if(void 0===t.imageThumbHeight||void 0===t.imageThumbWidth){void 0===t.imageThumbHeight&&void 0===t.imageThumbWidth&&(t.imageThumbHeight=100,t.imageThumbWidth=100);const[o,r]=this.__internal_scaleImage([n,e],[t.imageThumbWidth,t.imageThumbHeight]);t.imageThumbHeight=Math.round(r),t.imageThumbWidth=Math.round(o)}if(void 0===t.imagePreviewHeight||void 0===t.imagePreviewWidth){void 0===t.imagePreviewHeight&&void 0===t.imagePreviewWidth&&(t.imagePreviewHeight=500,t.imagePreviewWidth=500);const[o,r]=this.__internal_scaleImage([n,e],[t.imagePreviewWidth,t.imagePreviewHeight]);t.imagePreviewWidth=Math.round(o),t.imagePreviewHeight=Math.round(r)}}const ee=null!==(v=null===(E=null===(C=null==X?void 0:X.uploadResult)||void 0===C?void 0:C.Encryption)||void 0===E?void 0:E.SecretKey)&&void 0!==v?v:"",te=e.fileInfo.fileName,ne=e.fileInfo.length;let oe,re,ie,se,Ae,ae="";switch(t.type){case Et.Image:if(oe=g.MediaType.IMG,$.ext[vt.Type]=Qt.Image,$.ext[vt.ImgHeight]=null!==(Q=(null==X?void 0:X.uploadResult).ImageHeight.toString())&&void 0!==Q?Q:"",$.ext[vt.ImgWidth]=null!==(b=(null==X?void 0:X.uploadResult).ImageWidth.toString())&&void 0!==b?b:"",$.ext[vt.ImgThumbHeight]=null===(M=t.imageThumbHeight)||void 0===M?void 0:M.toString(),$.ext[vt.ImgThumbWidth]=null===(k=t.imageThumbWidth)||void 0===k?void 0:k.toString(),$.ext[vt.ImgPreviewWidth]=null===(D=t.imagePreviewWidth)||void 0===D?void 0:D.toString(),$.ext[vt.ImgPreviewHeight]=null===(O=t.imagePreviewHeight)||void 0===O?void 0:O.toString(),$.ext[vt.ImgUseImageX]="1",$.ext[vt.ImgSuffix]=t.imageSuffix,ae=t.encrypt?null===(R=null===(S=null==X?void 0:X.uploadResult)||void 0===S?void 0:S.Encryption)||void 0===R?void 0:R.Uri:null===(L=null==X?void 0:X.uploadResult)||void 0===L?void 0:L.Uri,re=null!==(T=(null==X?void 0:X.uploadResult).ImageWidth)&&void 0!==T?T:0,ie=null!==(P=(null==X?void 0:X.uploadResult).ImageHeight)&&void 0!==P?P:0,0===re||0===ie){const e=e=>(0,o.__awaiter)(this,void 0,void 0,(function*(){const t=document.createElement("img"),n=URL.createObjectURL(e);return t.src=n,new Promise((e=>{t.onload=()=>{URL.revokeObjectURL(n),e({width:t.width,height:t.height})}}))}));if(t.fileHandler){const n=yield e(t.fileHandler);re=n.width,ie=n.height}}const n=new g.BaseReq({query_data:new g.QueryData({resource_id:ae,extra:{image_width:re.toString(),image_height:ie.toString(),decrypt_key:ee,quote_preview:"dm_cam_preview_photo",sender_preview:"sender_preview"}})}),r=new g.BaseImage({image_id:ae,resolution:new g.Resolution({width:re,height:ie}),decrypt_key:ee,fallback_icon_type:g.IconType.Default}),i=new g.MessageContent;e.type===g.MessageType.MsgTypeTemplateCommonCard?i.common_msg_card=new g.CommonMsgCard({image_map:{image:r},req_base:n}):i.picture_card=new g.PictureCard({image:r,req_base:n,preview_hint:new g.PreviewHint({sender_preview_text:g.BaseText.create({text:"You sent a 📷"}),receiver_preview_text:g.BaseText.create({text:"sent a 📷"}),quote_preview_text:g.BaseText.create({text:"[Photo]"})})}),void 0===e.contentPb&&(e.contentPb=i);break;case Et.Video:const s=null==X?void 0:X.uploadResult;oe=g.MediaType.VIDEO,ae=s.Vid,re=s.VideoMeta.Width,ie=s.VideoMeta.Height,se=null!==(x=s.VideoMeta.Duration)&&void 0!==x?x:X.duration,Ae=s.VideoMeta.Codec,$.ext[vt.Type]=Qt.Video,$.ext[vt.Vid]=X.uploadResult.Vid,$.ext[vt.VideoCoverUri]=null!=Z?Z:(null==X?void 0:X.uploadResult).PosterUri,$.ext[vt.VideoDuration]=null!==(Y=null==se?void 0:se.toString())&&void 0!==Y?Y:"0",$.ext[vt.VideoHeight]=(null==X?void 0:X.uploadResult).VideoMeta.Height.toString(),$.ext[vt.VideoWidth]=(null==X?void 0:X.uploadResult).VideoMeta.Width.toString();const A=new g.MessageContent({video_card:new g.VideoCard({video:new g.BaseVideo({video_id:s.Vid,cover:new g.BaseImage({image_id:s.PosterUri}),resolution:new g.Resolution({width:s.VideoMeta.Width,height:s.VideoMeta.Height}),video_type:g.VideoType.Video}),req_base:new g.BaseReq({query_data:new g.QueryData({resource_id:s.Vid||""})})})});void 0===e.contentPb&&(e.contentPb=A);break;case Et.Audio:oe=g.MediaType.AUDIO,$.ext[vt.Type]=Qt.Audio,$.ext[vt.Vid]=X.uploadResult.Vid,$.ext[vt.AudioDuration]=(null===(j=null==t?void 0:t.audioDuration)||void 0===j?void 0:j.toString())||(null===(U=null===(N=null===(F=X.uploadResult)||void 0===F?void 0:F.VideoMeta)||void 0===N?void 0:N.Duration)||void 0===U?void 0:U.toString());break;default:oe=g.MediaType.FILE,$.ext[vt.Type]=Qt.File,ae=t.encrypt?null===(J=null===(q=null==X?void 0:X.uploadResult)||void 0===q?void 0:q.Encryption)||void 0===J?void 0:J.Uri:null===(V=null==X?void 0:X.uploadResult)||void 0===V?void 0:V.Uri}return e.mediaInfoList=null!==(z=e.mediaInfoList)&&void 0!==z?z:[],e.mediaInfoList.push({type:oe,uri:ae,decryptKey:ee,urlInfoList:[{displayType:"__raw",width:re,height:ie,size:ne,duration:void 0!==se?1e3*se:void 0,name:te,codec:Ae,urlList:[]}]}),this.resolve(G.MessageManager).upsert(e),$}))}attemptUploadFile(e,t){var n,r,i,s,A,a,c,l,d,u,p,h,_,y,I,f,m,B,C,E,v,Q,b;return(0,o.__awaiter)(this,void 0,void 0,(function*(){const o=J.performanceNow();let M;if(e.type===Et.Image&&e.imageUploadConfig){const{imageUploadConfig:t}=e,{serviceId:n,host:o,authToken:r}=t,{accessKeyId:i,secretAccessKey:s,sessionToken:A,expireTime:a,currentTime:c}=r;M={image_upload_config:{service_id:n,host:o,auth_token:{access_key_id:i,secret_access_key:s,session_token:A,expire_time:a,current_time:c}}}}else{const e=!this.ctx.option.autoFetchUploadConfig||t.type===g.MessageType.MsgTypeTemplateDynamicCard;M=yield this.__internal_getToken(e)}const k=`${"object"===e.type?"file":e.type}_upload_config`,D={CurrentTime:null===(r=null===(n=null==M?void 0:M[k])||void 0===n?void 0:n.auth_token)||void 0===r?void 0:r.current_time,ExpiredTime:null===(s=null===(i=null==M?void 0:M[k])||void 0===i?void 0:i.auth_token)||void 0===s?void 0:s.expire_time,SessionToken:null===(a=null===(A=null==M?void 0:M[k])||void 0===A?void 0:A.auth_token)||void 0===a?void 0:a.session_token,AccessKeyId:null===(l=null===(c=null==M?void 0:M[k])||void 0===c?void 0:c.auth_token)||void 0===l?void 0:l.access_key_id,SecretAccessKey:null===(u=null===(d=null==M?void 0:M[k])||void 0===d?void 0:d.auth_token)||void 0===u?void 0:u.secret_access_key};("string"!=typeof D.CurrentTime||D.CurrentTime.match(/^\d+$/))&&(D.CurrentTime=new Date(Number(D.CurrentTime)).toISOString(),D.ExpiredTime=new Date(Number(D.ExpiredTime)).toISOString());const O={spaceName:null===(p=null==M?void 0:M.video_upload_config)||void 0===p?void 0:p.space_name,processAction:[{name:"Snapshot",input:{SnapshotTime:0,SkipBlackDetect:!0}}]},S={serviceId:null===(h=null==M?void 0:M.image_upload_config)||void 0===h?void 0:h.service_id,processAction:[]};let R;if(e.encrypt){let t=!0===e.encrypt?"cipher_v2":"both";"both"!==e.encrypt&&"cipher_v2"!==e.encrypt||(t=e.encrypt),R={name:"Encryption",input:{Config:{copies:t}}}}R&&S.processAction.push(R);const L={serviceId:null===(_=null==M?void 0:M.file_upload_config)||void 0===_?void 0:_.service_id},T=null!==(I=null===(y=this.ctx.option)||void 0===y?void 0:y.uploadRegion)&&void 0!==I?I:St.uploadRegion,P=null!==(m=null===(f=this.ctx.option)||void 0===f?void 0:f.videoDomain)&&void 0!==m?m:`https://${null===(B=null==M?void 0:M.video_upload_config)||void 0===B?void 0:B.host}`,x=null!==(E=null===(C=this.ctx.option)||void 0===C?void 0:C.imageDomain)&&void 0!==E?E:`https://${null===(v=null==M?void 0:M.image_upload_config)||void 0===v?void 0:v.host}`;H.ctxDebug(this.ctx,"check upload token",D,S,O,L);const Y=new(je.getConstructor(this.ctx,Ge.MediaUploader))(this.ctx,{appId:null===(Q=this.ctx.option)||void 0===Q?void 0:Q.appId,userId:null===(b=this.ctx.option)||void 0===b?void 0:b.userId,stsToken:D,videoConfig:O,imageConfig:S,objectConfig:L,region:T,videoHost:P,imageHost:x,onUploadProcess:e.onUploadProcess,onUploadComplete:e.onUploadComplete,onUploadError:e.onUploadError,retryTaskTime:e.encrypt?7:void 0});let j;Y.performAddFile(e);try{j=yield Y.performUpload();const e=J.performanceNow();this.resolve(G.Monitor).emitTracker(ze.MultimediaMessageUpload,{conversation_id:t.conversationId,result:"1",msg_type:t.type.toString(),upload_cost_time:e-o,error_msg:"",error_code:"0"})}catch(e){const n=J.performanceNow();throw this.resolve(G.Monitor).emitTracker(ze.MultimediaMessageUpload,{conversation_id:t.conversationId,result:"0",msg_type:t.type.toString(),upload_cost_time:n-o,error_msg:e,error_code:""}),new K({ctx:this.ctx,msg:"upload file to video-cloud error",type:w.MPUploadError,sender:this,innerError:e})}return{encryptOption:R,infor:j}}))}initAdapter(){}}class jt extends Yt{initAdapter(){je.setAdapter(Ge.MediaUploader,kt)}}function Ft(e,t,n=[]){let o=[];for(let r in e)if(Object.prototype.hasOwnProperty.call(e,r)){let i=e[r];i instanceof t?o.push({keys:[...n,r],value:i}):"object"==typeof i&&null!==i&&(o=o.concat(Ft(i,t,[...n,r])))}return o}function Nt(e,t){let n=e;for(const e of t)if(n=n[e],"object"!=typeof n||null===n)return n;return n}class Ut extends It{__internal_sendDynamicCardMessage(e){var t;return(0,o.__awaiter)(this,void 0,void 0,(function*(){e.flightStatus=M.Preparing;const n=this.resolve(G.MultimediaPlugin),o=Ft(e.dynamicInfo.data,File);let r;try{const t=o.map((({value:t})=>{var o,r,i;const s={type:Et.Image,fileHandler:t,displayType:"media",onUploadProcess:null===(o=e.dynamicInfo.file)||void 0===o?void 0:o.onUploadProcess,onUploadComplete:null===(r=e.dynamicInfo.file)||void 0===r?void 0:r.onUploadComplete,onUploadError:null===(i=e.dynamicInfo.file)||void 0===i?void 0:i.onUploadError};return this.sendQueue.add((()=>n.attemptUploadFile(s,e)))}));r=yield Promise.all(t)}catch(n){return e.flightStatus=M.Failed,this.resolve(G.MessageManager).upsert(e),{success:!1,payload:e,innerError:n,statusCode:null!==(t=n.type)&&void 0!==t?t:w.MPUploadError}}try{this.replaceRawDataImageFile(e,o,r),this.appendContentPb(e)}catch(t){return e.flightStatus=M.Failed,this.resolve(G.MessageManager).upsert(e),{success:!1,payload:e,statusMsg:"fail to append contentPb to dynamic card message",innerError:t,statusCode:w.DynamicCardAppendContentPbError}}return this.sendQueue.add((()=>this.instance.__internal_sendMessageObject.apply(this.instance,[e])))}))}replaceRawDataImageFile(e,t,n){var o;const r=e.dynamicInfo.data;for(const[e,i]of t.entries())Nt(r,i.keys.slice(0,i.keys.length-1)).uri=null===(o=n[e].infor.uploadResult)||void 0===o?void 0:o.Uri}appendContentPb(e){const{dynamicInfo:t}=e,{base:n,data:o}=t,{businessType:r,defaultWidth:i,defaultHeight:s,uiLocationType:A}=n;var a;e.contentPb=new g.MessageContent,e.contentPb.dynamic_card={dynamic_info:{card_key:e.scene,card_template:"common",business_type:r,default_width:i,default_height:s,ui_location_type:null!=A?A:10001,raw_data:(a=o,JSON.stringify(a,(function(e,t){if(!(t instanceof File))return t})))}}}install(){this.instance.createDynamicCardMessage=this.extendFunc(this.createDynamicCardMessage),this.register(G.DynamicCardPlugin,this),this.sendQueue=new xt.A}createDynamicCardMessage(e){return(0,o.__awaiter)(this,void 0,void 0,(function*(){const t=g.MessageType.MsgTypeTemplateDynamicCard,n=yield this.instance.createMessage({conversation:e.conversation,content:"",ext:e.ext,mentionedUsers:e.mentionedUsers,type:t,insert:e.insert,clientId:e.clientId,referenceMessage:e.referenceMessage,referenceHint:e.referenceHint,contentPb:e.contentPb,scene:e.scene});return n.sendFunc=this.__internal_sendDynamicCardMessage.bind(this),n.dynamicInfo=e.dynamicInfo,n}))}}class Ht extends ${LeaveConversation(e){return(0,o.__awaiter)(this,void 0,void 0,(function*(){const t=g.RequestBody.create({leave_conversation_body:{conversation_id:e.conversationId,conversation_short_id:e.conversationShortId,conversation_type:e.conversationType}});return this.send(t,g.IMCMD.LEAVE_CONVERSATION,{inboxType:e.inboxType})}))}DeleteMessage(e){return(0,o.__awaiter)(this,void 0,void 0,(function*(){const t=g.RequestBody.create({delete_message_body:{conversation_id:e.conversationId,conversation_short_id:e.conversationShortId,conversation_type:e.conversationType,message_id:e.serverId}});return this.send(t,g.IMCMD.DELETE_MESSAGE,{inboxType:e.inboxType})}))}GetMessageByServerId(e){return(0,o.__awaiter)(this,void 0,void 0,(function*(){const t=g.RequestBody.create({get_message_by_id_body:{conversation_id:e.conversationId,conversation_short_id:e.conversationShortId,conversation_type:e.conversationType,server_message_id:e.serverId}});return this.sendWithRawBody(t,g.IMCMD.GET_MESSAGE_INFO_BY_SERVER_ID,{inboxType:e.inboxType})}))}GetMessages(e){var t,n;return(0,o.__awaiter)(this,void 0,void 0,(function*(){const o=g.RequestBody.create({get_messages_body:{conversation_id:e.conversationId,conversation_type:null!==(t=e.conversationType)&&void 0!==t?t:0,conversation_short_id:null!==(n=e.conversationShortId)&&void 0!==n?n:i().ZERO,entries:e.entries}});return this.sendWithRawBody(o,g.IMCMD.GET_MESSAGES,{inboxType:e.inboxType,forceHttp:!0})}))}MarkConversationDelete(e){return(0,o.__awaiter)(this,void 0,void 0,(function*(){const t=g.RequestBody.create({delete_conversation_body:{conversation_id:e.conversationId,conversation_short_id:e.conversationShortId,conversation_type:e.conversationType,last_message_index:e.lastPullIndex}});return this.send(t,g.IMCMD.MARK_CONVERSATION_DELETE,{inboxType:e.inboxType})}))}AddConversationParticipants(e){return(0,o.__awaiter)(this,void 0,void 0,(function*(){const t=g.RequestBody.create({conversation_add_participants_body:{conversation_id:e.conversationId,conversation_short_id:e.conversationShortId,conversation_type:e.conversationType,participants:e.participants,biz_ext:e.bizExt}});return(yield this.send(t,g.IMCMD.ADD_CONVERSATION_PARTICIPANTS,{inboxType:e.inboxType})).conversation_add_participants_body}))}GetConversationInfoListByFavoriteV2(e){return(0,o.__awaiter)(this,void 0,void 0,(function*(){const t=g.RequestBody.create({get_conversation_info_list_by_favorite_v2_body:{cursor:e.cursor,limit:e.limit}});return this.sendWithRawBody(t,g.IMCMD.GET_CONVERSATION_INFO_LIST_BY_FAVORITE_V2,{inboxType:e.inboxType})}))}GetConversationInfoListByTopV2(e){return(0,o.__awaiter)(this,void 0,void 0,(function*(){const t=g.RequestBody.create({get_conversation_info_list_by_top_v2_body:{cursor:e.cursor,limit:e.limit}});return this.sendWithRawBody(t,g.IMCMD.GET_CONVERSATION_INFO_LIST_BY_TOP_V2,{inboxType:e.inboxType})}))}UpdateConversationParticipant(e){return(0,o.__awaiter)(this,void 0,void 0,(function*(){const t=g.RequestBody.create({update_conversation_participant_body:{conversation_id:e.conversationId,conversation_short_id:e.conversationShortId,conversation_type:e.conversationType,user_id:e.userId,role:e.role,alias:e.alias,biz_ext:e.bizExt,is_alias_set:Boolean(e.alias)}});return this.sendWithRawBody(t,g.IMCMD.UPDATE_CONVERSATION_PARTICIPANT,{inboxType:e.inboxType})}))}SetConversationCoreInfo(e){return(0,o.__awaiter)(this,void 0,void 0,(function*(){const t=g.RequestBody.create({set_conversation_core_info_body:{conversation_id:e.conversationId,conversation_short_id:e.conversationShortId,conversation_type:e.conversationType,name:e.name,desc:e.desc,icon:e.icon,notice:e.notice,ext:e.ext}});return(yield this.send(t,g.IMCMD.SET_CONVERSATION_CORE_INFO,{inboxType:e.inboxType})).set_conversation_core_info_body}))}RemoveConversationParticipants(e){return(0,o.__awaiter)(this,void 0,void 0,(function*(){const t=g.RequestBody.create({conversation_remove_participants_body:{conversation_id:e.conversationId,conversation_short_id:e.conversationShortId,conversation_type:e.conversationType,participants:e.participants,biz_ext:e.bizExt}});return(yield this.send(t,g.IMCMD.REMOVE_CONVERSATION_PARTICIPANTS,{inboxType:e.inboxType})).conversation_remove_participants_body}))}UpsertConversationCoreExtInfo(e){return(0,o.__awaiter)(this,void 0,void 0,(function*(){const t=g.RequestBody.create({upsert_conversation_core_ext_info_body:{conversation_id:e.conversationId,conversation_short_id:e.conversationShortId,conversation_type:e.conversationType,ext:e.ext}});return(yield this.send(t,g.IMCMD.UPSERT_CONVERSATION_CORE_EXT_INFO,{inboxType:e.inboxType})).upsert_conversation_core_ext_info_body}))}SetConversationSettingInfo(e){return(0,o.__awaiter)(this,void 0,void 0,(function*(){const t=g.RequestBody.create({set_conversation_setting_info_body:{conversation_id:e.conversationId,conversation_short_id:e.conversationShortId,conversation_type:e.conversationType,set_stick_on_top:e.stickOnTop,set_mute:e.mute,set_favorite:e.favorite}});return(yield this.send(t,g.IMCMD.SET_CONVERSATION_SETTING_INFO,{inboxType:e.inboxType})).set_conversation_setting_info_body}))}UpsertConversationSettingExtInfo(e){return(0,o.__awaiter)(this,void 0,void 0,(function*(){const t=g.RequestBody.create({upsert_conversation_setting_ext_info_body:{conversation_id:e.conversationId,conversation_short_id:e.conversationShortId,conversation_type:e.conversationType,ext:e.ext}});return(yield this.send(t,g.IMCMD.UPSERT_CONVERSATION_SETTING_EXT_INFO,{inboxType:e.inboxType})).upsert_conversation_setting_ext_info_body}))}GetConversationParticipantsReadIndexV3(e){return(0,o.__awaiter)(this,void 0,void 0,(function*(){const t=g.RequestBody.create({participants_read_index_body:{conversation_id:e.conversationId,conversation_short_id:e.conversationShortId,conversation_type:e.conversationType}});return(yield this.send(t,g.IMCMD.GET_CONVERSATION_PARTICIPANTS_READ_INDEX_V3,{inboxType:e.inboxType})).participants_read_index_body}))}GetConversationParticipantsMinIndexV3(e){return(0,o.__awaiter)(this,void 0,void 0,(function*(){const t=g.RequestBody.create({participants_min_index_body:{conversation_id:e.conversationId,conversation_short_id:e.conversationShortId,conversation_type:e.conversationType}});return(yield this.send(t,g.IMCMD.GET_CONVERSATION_PARTICIPANTS_MIN_INDEX_V3,{inboxType:e.inboxType})).participants_min_index_body}))}GetConversationParticipantsList(e){return(0,o.__awaiter)(this,void 0,void 0,(function*(){const t=g.RequestBody.create({conversation_participants_body:{conversation_id:e.conversationId,conversation_short_id:e.conversationShortId,conversation_type:e.conversationType,cursor:e.cursor,limit:e.limit,ext:e.ext}});return this.sendWithRawBody(t,g.IMCMD.CONVERSATION_PARTICIPANTS_LIST,{inboxType:e.inboxType})}))}SendUserAction(e){return(0,o.__awaiter)(this,void 0,void 0,(function*(){const t=g.RequestBody.create({send_user_action_body:{conversation_id:e.conversationId,conversation_short_id:e.conversationShortId,conversation_type:e.conversationType,action_type:e.actionType,extra:e.extra}});return this.send(t,g.IMCMD.SEND_USER_ACTION,{inboxType:e.inboxType})}))}SendInputStatus(e){return(0,o.__awaiter)(this,void 0,void 0,(function*(){const t=g.RequestBody.create({send_input_status_body:{conversation_id:e.conversationId,conversation_short_id:e.conversationShortId,conversation_type:e.conversationType,status:e.status,extra:e.extra}});return this.send(t,g.IMCMD.SEND_INPUT_STATUS,{inboxType:e.inboxType})}))}DissolveConversation(e){return(0,o.__awaiter)(this,void 0,void 0,(function*(){const t=g.RequestBody.create({dissolve_conversation_body:{conversation_id:e.conversationId,conversation_short_id:e.conversationShortId,conversation_type:e.conversationType}});return this.send(t,g.IMCMD.DISSOLVE_CONVERSATION,{inboxType:e.inboxType})}))}ModifyMessageExt(e){return(0,o.__awaiter)(this,void 0,void 0,(function*(){const t=g.RequestBody.create({modify_message_ext_body:{conversation_short_id:e.conversationShortId,message_id:e.messageId,ticket:e.ticket,ext:e.ext}});return this.send(t,g.IMCMD.MODIFY_MESSAGE_EXT,{inboxType:e.inboxType})}))}GetUserConversationList(e){return(0,o.__awaiter)(this,void 0,void 0,(function*(){const t=g.RequestBody.create({get_conversation_list_body:{con_type:e.type,cursor:e.cursor,limit:e.limit,sort_type:e.sortType,include_role:e.includeRole,exclude_role:e.excludeRole,with_cold:e.withCold}});return this.sendWithRawBody(t,g.IMCMD.GET_USER_CONVERSATION_LIST,{inboxType:e.inboxType})}))}UnreadCountReport(e){return(0,o.__awaiter)(this,void 0,void 0,(function*(){const t=g.RequestBody.create({unread_count_report_body:{conv_unread_count:e.conv.map((e=>({conv_short_id:e.shortId,conversation_type:e.type,unread_count:e.count}))),total_unread_count:e.total}});return this.send(t,g.IMCMD.UNREAD_COUNT_REPORT,{inboxType:e.inboxType})}))}BlockConversation(e){return(0,o.__awaiter)(this,void 0,void 0,(function*(){const t=g.RequestBody.create({block_conversation_body:{conversation_id:e.conversationId,conv_short_id:e.conversationShortId,conversation_type:e.conversationType,block_status:e.status,block_normal_only:e.normalOnly}});return this.send(t,g.IMCMD.BLOCK_CONVERSATION,{inboxType:e.inboxType})}))}GetConversationAuditSwitch(e){return(0,o.__awaiter)(this,void 0,void 0,(function*(){const t=g.RequestBody.create({get_conversation_audit_switch_body:{conv_short_id:e.conversationShortId,conversation_type:e.conversationType}});return(yield this.send(t,g.IMCMD.GET_CONVERSATION_AUDIT_SWITCH,{inboxType:e.inboxType})).get_conversation_audit_switch_body}))}UpdateConversationAuditSwitch(e){return(0,o.__awaiter)(this,void 0,void 0,(function*(){const t=g.RequestBody.create({update_conversation_audit_switch_body:{conv_short_id:e.conversationShortId,conversation_type:e.conversationType,switch_status:e.switchStatus}});return(yield this.send(t,g.IMCMD.UPDATE_CONVERSATION_AUDIT_SWITCH,{inboxType:e.inboxType})).update_conversation_audit_switch_body}))}BlockMember(e){return(0,o.__awaiter)(this,void 0,void 0,(function*(){const t=g.RequestBody.create({block_members_body:{conversation_id:e.conversationId,conv_short_id:e.conversationShortId,conversation_type:e.conversationType,block_time:e.time,block_status:e.status,biz_ext:e.bizExt}});return(yield this.send(t,g.IMCMD.BLOCK_MEMBERS,{inboxType:e.inboxType})).block_members_body}))}GetBlockList(e){return(0,o.__awaiter)(this,void 0,void 0,(function*(){const t=g.RequestBody.create({get_blocklist_body:{cursor:e.cursor,limit:e.limit}});return(yield this.send(t,g.IMCMD.GET_BLOCKLIST,{inboxType:e.inboxType})).get_blocklist_body}))}SetBlockList(e){return(0,o.__awaiter)(this,void 0,void 0,(function*(){const t=g.RequestBody.create({set_blocklist_body:{set_block_list:e.applySet,blocklist:e.blocklist}});return this.send(t,g.IMCMD.SET_BLOCKLIST,{inboxType:e.inboxType})}))}CheckInBlockList(e){return(0,o.__awaiter)(this,void 0,void 0,(function*(){const t=g.RequestBody.create({check_in_blocklist_body:{user_to_check:e.userToCheck}});return(yield this.send(t,g.IMCMD.CHECK_IN_BLOCKLIST,{inboxType:e.inboxType})).check_in_blocklist_body}))}BroadcastSendMessage(e){return(0,o.__awaiter)(this,void 0,void 0,(function*(){const t=g.RequestBody.create({broadcast_send_message_body:{conversation_id:e.conversationId,conversation_short_id:e.conversationShortId,conversation_type:e.conversationType,ticket:e.ticket,message_type:e.type,content:e.content,client_message_id:e.clientId,mentioned_users:e.mentionedUsers,ext:e.ext}});return this.sendWithRawBody(t,g.IMCMD.BROADCAST_SEND_MESSAGE,{inboxType:e.inboxType})}))}BroadcastReceiveMessage(e){return(0,o.__awaiter)(this,void 0,void 0,(function*(){const t=g.RequestBody.create({broadcast_recv_message_body:{conversation_id:e.conversationId,conversation_short_id:e.conversationShortId,conversation_type:e.conversationType,cursor:e.cursor,limit:e.limit,reverse:e.reverse,pull_type:e.pullType}});return this.sendWithRawBody(t,g.IMCMD.BROADCAST_RECV_MESSAGE,{inboxType:e.inboxType})}))}BroadcastUserCounter(e){return(0,o.__awaiter)(this,void 0,void 0,(function*(){const t=g.RequestBody.create({broadcast_user_counter_body:{conversations:e.conversations.map((e=>({conversation_short_id:e.shortId,conversation_type:e.type})))}});return(yield this.send(t,g.IMCMD.BROADCAST_USER_COUNTER)).broadcast_user_counter_body}))}SendP2PMessage(e){return(0,o.__awaiter)(this,void 0,void 0,(function*(){const t=g.RequestBody.create({send_message_p2p_body:{conversation_id:e.conversationId,conversation_short_id:e.conversationShortId,conversation_type:e.conversationType,send_type:e.sendType,message_type:e.msgType,content:e.content,client_message_id:e.clientId,ext:e.ext,visible_user:e.visibleUser,invisible_user:e.invisibleUser}});return this.send(t,g.IMCMD.SEND_MESSAGE_P2P,{useBeacon:!0,maxRetryTimes:1})}))}ModifyMessageProperty(e){return(0,o.__awaiter)(this,void 0,void 0,(function*(){const t=g.RequestBody.create({modify_message_property_body:{property_list:{conversation_id:e.conversationId,conversation_short_id:e.conversationShortId,conversation_type:e.conversationType,server_message_id:e.serverId,client_message_id:e.clientId,modify_property_content:e.modifyContent.map((e=>({operation:e.operation,key:e.key,value:e.value,idempotent_id:e.idempotentId})))},ticket:e.ticket}});return(yield this.send(t,g.IMCMD.SET_MESSAGE_PROPERTY,{inboxType:e.inboxType})).modify_message_property_body}))}GetUnreadCount(e){return(0,o.__awaiter)(this,void 0,void 0,(function*(){const t=g.RequestBody.create({get_unread_count_body:{get_total:e.total,conv_short_id:e.shortIds}});return(yield this.send(t,g.IMCMD.GET_UNREAD_COUNT,{inboxType:e.inboxType})).get_unread_count_body}))}RefreshMessage(e){return(0,o.__awaiter)(this,void 0,void 0,(function*(){const t=g.RequestBody.create({get_messages_body:{conversation_id:e.conversationId,conversation_short_id:e.conversationShortId,conversation_type:e.conversationType}});return(yield this.send(t,g.IMCMD.GET_MESSAGES,{inboxType:e.inboxType})).get_messages_body}))}MarkMessage(e){return(0,o.__awaiter)(this,void 0,void 0,(function*(){const t=g.RequestBody.create({mark_message_body:{conversation_id:e.conversationId,conversation_short_id:e.conversationShortId,conversation_type:e.conversationType,server_message_id:e.serverMessageId,do_action:e.doAction,action_type:e.actionType,sort_time:e.sortTime,tag:e.tag}});return this.send(t,g.IMCMD.MARK_MESSAGE,{inboxType:e.inboxType})}))}PullMarkMessage(e){return(0,o.__awaiter)(this,void 0,void 0,(function*(){const t=g.RequestBody.create({pull_mark_message_body:{conversation_id:e.conversationId,conversation_short_id:e.conversationShortId,conversation_type:e.conversationType,cursor:e.cursor,limit:e.limit,asc:e.asc,action_type:e.actionType,tag:e.tag}});return this.sendWithRawBody(t,g.IMCMD.PULL_MARK_MESSAGE,{inboxType:e.inboxType})}))}GetConversationCoreInfo(e){return(0,o.__awaiter)(this,void 0,void 0,(function*(){const t=g.RequestBody.create({get_conversation_core_info_body:{conversation_id:e.conversationId,conversation_short_id:e.conversationShortId,conversation_type:e.conversationType,ext:e.ext}});return this.send(t,g.IMCMD.GET_CONVERSATION_CORE_INFO,{inboxType:e.inboxType})}))}BatchUnmarkMessage(e){return(0,o.__awaiter)(this,void 0,void 0,(function*(){const t=g.RequestBody.create({batch_unmark_message:{conversation_id:e.conversationId,conversation_short_id:e.conversationShortId,conversation_type:e.conversationType,server_message_ids:e.serverMessageIds,action_type:e.actionType,tag:e.tag}});return(yield this.send(t,g.IMCMD.BATCH_UNMARK_MESSAGE)).batch_unmark_message}))}MarkMsgUnreadCountReport(e){return(0,o.__awaiter)(this,void 0,void 0,(function*(){const t=g.RequestBody.create({mark_msg_unread_count_report:{conversation_id:e.conversationId,conversation_short_id:e.conversationShortId,conversation_type:e.conversationType,total_unread_count:e.totalUnreadCount,tag_unread_count:e.tagUnreadCount}});return(yield this.send(t,g.IMCMD.MARK_MSG_UNREAD_COUNT_REPORT)).mark_msg_unread_count_report}))}MarkMsgGetUnreadCount(e){return(0,o.__awaiter)(this,void 0,void 0,(function*(){const t=g.RequestBody.create({mark_msg_get_unread_count:{conversation_id:e.conversationId,conversation_short_id:e.conversationShortId,conversation_type:e.conversationType,get_total:e.getTotal,tags:e.tags}});return(yield this.send(t,g.IMCMD.MARK_MSG_GET_UNREAD_COUNT)).mark_msg_get_unread_count}))}BatchGetConversationParticipantsReadIndex(e){return(0,o.__awaiter)(this,void 0,void 0,(function*(){const t=g.RequestBody.create({batch_get_conversation_participants_readindex:{conversation_id:e.conversationId,conversation_short_id:e.conversationShortId,request_from:e.request_from,min_index_required:e.min_index_required}});return(yield this.send(t,g.IMCMD.BATCH_GAT_CONVERSATION_PARTICIPANTS_READINDEX)).batch_get_conversation_participants_readindex}))}GetMessagesPerConversationSearch(e){return(0,o.__awaiter)(this,void 0,void 0,(function*(){const t=g.RequestBody.create({messages_per_conversation_search_body:{cursor:e.cursor,limit:e.limit,tags:e.tags}});return yield this.sendWithRawBody(t,g.IMCMD.GET_MESSAGES_BY_CONVERSATION_SEARCH,{inboxType:e.inboxType,forceHttp:!0})}))}}class qt extends Be{constructor(){super(...arguments),this.localIndex=r.ZERO}get isMuted(){return!1}get isStickOnTop(){return!1}get isFavorite(){return!1}get toParticipantUserId(){}static fromServerConversation(e,t,n){const o=new qt(e);return o.id=t.conversation_id,o.shortId=t.conversation_short_id.toString(),o.type=t.conversation_type,o.isOffline=!1,o.coreInfo=new ae(o,t),o}setConversationCursor(e){e>this.localIndex&&(this.localIndex=e),this.localIndex=e}getMessageList(e=e=>e.visible){return this.resolve(G.BroadcastManager).getList(this.id).filter(e)}get unreadCount(){return 0}}class Jt extends F{constructor(e){super(e),this.messages=new Map,this.conversation=new Map}upsertOnline(e){return(0,o.__awaiter)(this,void 0,void 0,(function*(){const t=(yield this.resolve(G.ExtensionApi).GetConversationCoreInfo({conversationId:e.id,conversationShortId:r.fromString(e.shortId),conversationType:e.type,inboxType:e.inboxType})).get_conversation_core_info_body;if(!t||!t.conversation_core_info)throw new K({ctx:this.ctx,type:w.ConversationNotExist,msg:`local conversation: ${e.id} not found online`,sender:this,args:{conversationId:e.id}});const n=qt.fromServerConversation(this.ctx,t.conversation_core_info);return this.conversation.set(e.id,n),n}))}getWithOnline(e,t,n){return(0,o.__awaiter)(this,void 0,void 0,(function*(){let o=this.conversation.get(e);if(!o||o.isOffline){if(!t||!n)throw new K({ctx:this.ctx,type:w.InvalidParam,msg:"no shortId and type provided",sender:this});o||(o=new qt(this.ctx),o.id=e,o.shortId=t,o.type=g.ConversationType.BROADCAST_CHAT,o.isOffline=!0,o.coreInfo=new ae(o)),o=yield this.upsertOnline(o)}return o}))}upsert(e){const t=this.getConversationMsgs(e.conversationId),n=t.msgs.findIndex((t=>t&&t.clientId===e.clientId));let o;n>=0&&(o=t.msgs[n]),o?o.type===e.type?(e=o.merge(e),t.msgs[n]=e):(H.ctxWarn(this.ctx,"try to merge different msg:",o,e),t.msgs[n]=e):this.insertMsg(t,e),this.resolve(G.EventBus).emit(b.MessageUpsert,this,e)}getList(e){const t=this.getConversationMsgs(e),n=t.tail;if(t.fronte&&e.clientId===t));let r;return o>=0&&(r=n.msgs[o]),r}getByServerId(e,t){const n=this.getConversationMsgs(e),o=n.msgs.findIndex((e=>e&&e.serverId===t));if(o<0)throw new K({ctx:this.ctx,type:w.MessageNotExist,msg:`message ${t} @ ${e} not exist in local`,sender:this});return n.msgs[o]}getConversationMsgs(e){let t=this.messages.get(e);return t||(t={msgs:new Array(Jt.MaxMsgSize),front:0,tail:0},this.messages.set(e,t)),t}processNewMessagesFromPull(e,t,n){return(0,o.__awaiter)(this,void 0,void 0,(function*(){for(const n of e)n.ext||(n.ext={}),yield this.processNewMessage(n,t)}))}processNewMessage(e,t){return(0,o.__awaiter)(this,void 0,void 0,(function*(){if(e.ext||(e.ext={}),e.source=t,e.type>=0)return this.processTextMessage(e);throw new K({ctx:this.ctx,type:w.UnknownMessageType,msg:`unknown message type: ${e.type} for msg:${e.clientId}`,sender:this})}))}dispose(){this.conversation.clear(),this.messages.clear()}processTextMessage(e){return(0,o.__awaiter)(this,void 0,void 0,(function*(){if(!e.isNormalMsg)return e;const t=void 0!==e.source&&(e.source===Q.Online||e.source===Q.BroadcastLoadMore),n=this.getRaw(e.conversationId,e.clientId),o=void 0!==(null==n?void 0:n.flightStatus)&&t;this.upsert(e);const r=this.getRaw(e.conversationId,e.clientId);return n?o&&r.flightStatus!==M.Received&&(r.flightStatus=M.Received,this.resolve(G.EventBus).emit(b.ReceiveBroadcastSelfMessage,this,r),this.upsert(r)):t&&(e.sender!==this.ctx.option.userId?this.resolve(G.EventBus).emit(b.ReceiveBroadcastNewMessage,this,e):this.resolve(G.EventBus).emit(b.ReceiveBroadcastSelfMessage,this,e)),e}))}}Jt.MaxMsgSize=1001;class Kt extends $e{process(e){return(0,o.__awaiter)(this,void 0,void 0,(function*(){return e.data.type===g.MessageType.MESSAGE_TYPE_UPDATE_MESSAGE_PROPERTY&&(e.needContinue=!1,yield this.handlePropertyCmd(e.data)),e}))}handlePropertyCmd(e){return(0,o.__awaiter)(this,void 0,void 0,(function*(){const t=this.resolve(G.MessageManager).getRaw(e.conversationId,e.clientId);t?(t.version=e.version,H.ctxDebug(this.ctx,"merge property, local:",t.property,"server:",e.property),t.property=e.property,this.resolve(G.MessageManager).upsert(t),this.resolve(G.EventBus).emit(b.MessagePropertyUpsert,this,t)):H.ctxDebug(this.ctx,"modify property cmd msg not exist in local",e)}))}}!function(e){e[e.BlockUser=1]="BlockUser",e[e.BlockConvNormalOnly=2]="BlockConvNormalOnly",e[e.BlockConvAll=3]="BlockConvAll"}(Gt||(Gt={}));class Vt extends $e{process(e){return(0,o.__awaiter)(this,void 0,void 0,(function*(){return e.data.type===g.MessageType.MESSAGE_TYPE_BLOCK_COMMAND&&(e.needContinue=!1,this.handleBlockCmd(e.data,e.conv)),e}))}handleBlockCmd(e,t){const n=ce.parse(e.content),o=n.block_status;if(n.type===Gt.BlockUser){const{userID:i}=n;if(null==i||0===i.length)return;const s=this.resolve(G.ParticipantManager).getMapRaw(t.id);if(!s)return;for(const A of i){const i=null==A?void 0:A.toString();if(!s.has(i))continue;const a=s.get(i);a.blocked=Boolean(o);const c=n.blockTime[i];a.leftBlockTime=c?r.fromValue(c):void 0,this.resolve(G.ParticipantManager).upsert(t.id,a),this.resolve(G.EventBus).emit(b.ParticipantBlock,this,{participant:a,message:e})}}else this.resolve(G.ConversationManager).refreshAsync(t).then((t=>{t.map((t=>this.resolve(G.EventBus).emit(b.ConversationBlock,this,{conversation:t,message:e})))}))}}class zt extends $e{process(e){return(0,o.__awaiter)(this,void 0,void 0,(function*(){return e.data.type===g.MessageType.MESSAGE_TYPE_MARK_COMMAND?(e.needContinue=!1,this.handlePinCmd(e.data,e.conv)):e.data.type===g.MessageType.MESSAGE_TYPE_BATCH_UNMARK_COMMAND&&(e.needContinue=!1,this.handleBatchUnmarkCmd(e.data,e.conv)),e}))}handlePinCmd(e,t){const n=ce.parse(e.content).server_message_id.toString(),o=this.resolve(G.MessageManager).getByServerIdRaw(t.id,n);o?o.version.gt(e.version)?H.ctxWarn(this.ctx,"server message is older, localMsg=",o,"serverMsg=",e):(o.ext=e.ext,o.version=e.version,this.resolve(G.MessageManager).upsert(o)):H.ctxWarn(this.ctx,"local message not exist, serverMsg=",e)}handleBatchUnmarkCmd(e,t){var n,o;const r=ce.parse(null!==(o=null===(n=null==e?void 0:e.ext)||void 0===n?void 0:n[h.MarkMessageNewExt])&&void 0!==o?o:"{}");for(const n of Object.keys(r)){const o=this.resolve(G.MessageManager).getByServerIdRaw(t.id,n.toString());o?(o.ext=Object.assign(o.ext,r[n]),o.version=e.version,this.resolve(G.MessageManager).upsert(o)):H.ctxWarn(this.ctx,"local message not exist, serverMsg=",e)}}}class Wt extends It{processNewReadAndMinIndexes(e,t,n){const o=this.resolve(G.ParticipantManager).getRaw(e.id);let r=!1;t.forEach((e=>{const t=o.filter((t=>t.userId===e.user_id.toString()))[0];t&&(t.readIndex.equals(e.index)||(r=!0),t.readIndex=e.index)})),n.forEach((e=>{const t=o.filter((t=>t.userId===e.user_id.toString()))[0];t&&(t.minIndex.equals(e.index)||(r=!0),t.minIndex=e.index)})),r&&(this.resolve(G.EventBus).emit(b.ConversationUpsert,this,e),this.resolve(G.EventBus).emitEmpty(b.ConversationChange,this),o.forEach((t=>this.resolve(G.ParticipantManager).upsert(e.id,t))))}receiveMarkReadNotify(e){const t=e.body.mark_conversation_read_notify,{conversation_id:n,user_id:o,read_index:r}=t;H.ctxDebug(this.ctx,`receiveMarkReadNotify,conv_id:${n},user_id:${o},read_index:${r}`);const i=this.resolve(G.ConversationManager).getRaw(n);if(!i)return;const s=[{index:r,user_id:o}];this.processNewReadAndMinIndexes(i,s,[])}leaveConversation(e){return(0,o.__awaiter)(this,void 0,void 0,(function*(){yield this.api.LeaveConversation({conversationId:e.conversation.id,conversationShortId:r.fromString(e.conversation.shortId),conversationType:e.conversation.type,inboxType:e.conversation.inboxType}),this.resolve(G.ParticipantManager).delete(e.conversation.id,[this.ctx.option.userId])}))}deleteMessage(e){return(0,o.__awaiter)(this,void 0,void 0,(function*(){if(!e.message.serverId)throw new K({ctx:this.ctx,type:w.MessageNotReady,msg:`message ${e.message} is not ready`,reachServer:!1,sender:this});try{if(this.resolve(G.MessageManager).delete(e.message.conversationId,e.message.serverId),e.localOnly)return;const t=this.resolve(G.ConversationManager).get(e.message.conversationId);yield this.api.DeleteMessage({conversationId:e.message.conversationId,conversationShortId:r.fromString(e.message.conversationShortId),conversationType:e.message.conversationType,serverId:r.fromString(e.message.serverId),inboxType:t.inboxType})}catch(e){H.ctxWarn(this.ctx,"delete message error, may lost server operation",e)}}))}deleteConversation(e){return(0,o.__awaiter)(this,void 0,void 0,(function*(){try{if(this.resolve(G.ConversationManager).delete(e.conversation.id),e.localOnly)return;const t=e.conversation.lastMessageIndex;yield this.api.MarkConversationDelete({conversationId:e.conversation.id,conversationShortId:r.fromString(e.conversation.shortId),conversationType:e.conversation.type,lastPullIndex:t,inboxType:e.conversation.inboxType})}catch(e){H.ctxWarn(this.ctx,"delete conversation error, may lost server operation",e)}}))}getConversationListByTop(e={}){var t,n,i;return(0,o.__awaiter)(this,void 0,void 0,(function*(){void 0===e.inboxType&&(e.inboxType=this.resolve(G.InboxType).getDefaultInbox());let o=[];const s=yield this.api.GetConversationInfoListByTopV2({cursor:r.fromValue(null!==(t=e.cursor)&&void 0!==t?t:"0"),limit:null!==(n=e.limit)&&void 0!==n?n:10,inboxType:e.inboxType}),A=null===(i=s.body)||void 0===i?void 0:i.get_conversation_info_list_by_top_v2_body,a=A.conversation_info_list.map((e=>Be.fromServerConversation(this.ctx,e,s.log_id))).map((e=>this.resolve(G.ConversationManager).upsert(e)));return o=o.concat(a),{conversation:o,hasMore:null==A?void 0:A.has_more,cursor:null==A?void 0:A.next_cursor}}))}getConversationListByFavorite(e={}){var t,n,i;return(0,o.__awaiter)(this,void 0,void 0,(function*(){void 0===e.inboxType&&(e.inboxType=this.resolve(G.InboxType).getDefaultInbox());let o=[];const s=yield this.api.GetConversationInfoListByFavoriteV2({cursor:r.fromValue(null!==(t=e.cursor)&&void 0!==t?t:"0"),limit:null!==(n=e.limit)&&void 0!==n?n:10,inboxType:e.inboxType}),A=null===(i=s.body)||void 0===i?void 0:i.get_conversation_info_list_by_favorite_v2_body,a=(null==A?void 0:A.conversation_info_list).map((e=>Be.fromServerConversation(this.ctx,e,s.log_id))).map((e=>this.resolve(G.ConversationManager).upsert(e)));return o=o.concat(a),{conversation:o,hasMore:null==A?void 0:A.has_more,cursor:null==A?void 0:A.next_cursor}}))}addParticipants(e){var t,n;return(0,o.__awaiter)(this,void 0,void 0,(function*(){const o=Array.isArray(e.participant)?e.participant:[e.participant],i=yield this.api.AddConversationParticipants({conversationId:e.conversation.id,conversationShortId:r.fromString(e.conversation.shortId),conversationType:e.conversation.type,participants:o.map((e=>r.fromValue(e))),bizExt:e.bizExt,inboxType:e.conversation.inboxType});return 0!==(null==i?void 0:i.status)?{success:!1,failedParticipant:o,payload:e.conversation,checkCode:i.check_code,checkMsg:i.check_message,statusCode:i.status,statusMsg:i.extra_info}:{success:!0,failedParticipant:null!==(n=null===(t=i.failed_participants)||void 0===t?void 0:t.map((e=>e.toString())))&&void 0!==n?n:[],payload:e.conversation,checkCode:i.check_code,checkMsg:i.check_message,statusCode:i.status,statusMsg:i.extra_info}}))}removeParticipants(e){var t,n;return(0,o.__awaiter)(this,void 0,void 0,(function*(){Array.isArray(e.participant)||(e.participant=[e.participant]);const o=e.participant.map((e=>r.fromString("string"==typeof e?e:e.userId))),i=yield this.api.RemoveConversationParticipants({conversationId:e.conversation.id,conversationShortId:r.fromString(e.conversation.shortId),conversationType:e.conversation.type,participants:o,bizExt:e.bizExt,inboxType:e.conversation.inboxType});if(0!==(null==i?void 0:i.status))return{success:!1,failedParticipant:o.map((e=>e.toString())),body:i,payload:e.conversation,checkCode:i.check_code,checkMsg:i.check_message,statusCode:i.status,statusMsg:i.extra_info};const s=[],A=null!==(n=null===(t=i.failed_participants)||void 0===t?void 0:t.map((e=>e.toString())))&&void 0!==n?n:[];return o.forEach((e=>{A.includes(e.toString())||s.push(e.toString())})),{success:!0,body:i,failedParticipant:A,payload:e.conversation,checkCode:i.check_code,checkMsg:i.check_message,statusCode:i.status,statusMsg:i.extra_info}}))}updateParticipant(e){var t,n;return(0,o.__awaiter)(this,void 0,void 0,(function*(){const o=yield this.api.UpdateConversationParticipant({conversationId:e.conversation.id,conversationShortId:r.fromString(e.conversation.shortId),conversationType:e.conversation.type,role:e.role,alias:e.alias,bizExt:e.bizExt,inboxType:e.conversation.inboxType,userId:r.fromValue(e.userId)}),i=null===(t=null==o?void 0:o.body)||void 0===t?void 0:t.update_conversation_participant_body;return 0===(null==o?void 0:o.status_code)&&(null===(n=null==i?void 0:i.participant)||void 0===n?void 0:n.user_id)&&(null==o?void 0:o.log_id)?{success:!0,payload:et.fromServerParticipant(this.ctx,i.participant,e.conversation,o.log_id),checkCode:i.check_code,checkMsg:i.check_message,statusCode:o.status_code,statusMsg:i.extra_info,body:i}:{success:!1,payload:null,checkCode:i.check_code,checkMsg:i.check_message,statusCode:o.status_code,statusMsg:i.extra_info,body:i}}))}setConversationSettingInfo(e){return(0,o.__awaiter)(this,void 0,void 0,(function*(){const t=yield this.api.SetConversationSettingInfo({conversationId:e.conversation.id,conversationShortId:r.fromString(e.conversation.shortId),conversationType:e.conversation.type,stickOnTop:e.stickOnTop,mute:e.mute,favorite:e.favorite,inboxType:e.conversation.inboxType,pushStatus:e.pushStatus});return 0!==(null==t?void 0:t.status)?{success:!1,payload:e.conversation,checkCode:t.check_code,checkMsg:t.check_message,statusCode:t.status,statusMsg:t.extra_info}:(yield this.resolve(G.ConversationManager).refreshAsync(e.conversation),{success:!0,payload:e.conversation,checkCode:t.check_code,checkMsg:t.check_message,statusCode:t.status,statusMsg:t.extra_info})}))}setConversationCoreInfo(e){return(0,o.__awaiter)(this,void 0,void 0,(function*(){const t=yield this.api.SetConversationCoreInfo({conversationId:e.conversation.id,conversationShortId:r.fromString(e.conversation.shortId),conversationType:e.conversation.type,name:e.name,desc:e.desc,icon:e.icon,notice:e.notice,ext:e.ext,bizExt:e.bizExt,inboxType:e.conversation.inboxType});return 0!==(null==t?void 0:t.status)?{success:!1,payload:e.conversation,checkCode:t.check_code,checkMsg:t.check_message,statusCode:t.status,statusMsg:t.extra_info}:(yield this.resolve(G.ConversationManager).refreshAsync(e.conversation),{success:!0,payload:e.conversation,checkCode:t.check_code,checkMsg:t.check_message,statusCode:t.status,statusMsg:t.extra_info})}))}getConversationAuditSwitch(e){return(0,o.__awaiter)(this,void 0,void 0,(function*(){const t=yield this.api.GetConversationAuditSwitch({conversationShortId:r.fromString(e.conversation.shortId),inboxType:e.conversation.inboxType});return{switchStatus:null==t?void 0:t.switch_status}}))}updateConversationAuditSwitch(e){return(0,o.__awaiter)(this,void 0,void 0,(function*(){const t=yield this.api.UpdateConversationAuditSwitch({switchStatus:Boolean(e.switchStatus),conversationType:e.conversation.type,conversationShortId:r.fromString(e.conversation.shortId),inboxType:e.conversation.inboxType});return 0!==(null==t?void 0:t.status)?{success:!1,payload:e.conversation,checkCode:t.check_code,checkMsg:t.check_message,statusCode:t.status}:{success:!0,payload:e.conversation,checkCode:t.check_code,checkMsg:t.check_message,statusCode:t.status}}))}upsertConversationSettingExtInfo(e){return(0,o.__awaiter)(this,void 0,void 0,(function*(){const t=yield this.api.UpsertConversationSettingExtInfo({conversationId:e.conversation.id,conversationShortId:r.fromString(e.conversation.shortId),conversationType:e.conversation.type,ext:e.ext,inboxType:e.conversation.inboxType});return 0!==(null==t?void 0:t.status)?{success:!1,payload:e.conversation,checkCode:t.check_code,checkMsg:t.check_message,statusCode:t.status,statusMsg:t.extra_info}:(yield this.resolve(G.ConversationManager).refreshAsync(e.conversation),{success:!0,payload:e.conversation,checkCode:t.check_code,checkMsg:t.check_message,statusCode:t.status,statusMsg:t.extra_info})}))}setConversationWeakMuteConfig(e){var t,n;return(0,o.__awaiter)(this,void 0,void 0,(function*(){const o=ce.stringify({[_]:{white_uids:null!==(t=e.config.whiteUids)&&void 0!==t?t:[],white_msg_types:null!==(n=e.config.whiteMsgTypes)&&void 0!==n?n:[]}});return this.upsertConversationSettingExtInfo({conversation:e.conversation,ext:{[h.PushPartDisableConfig]:o}})}))}upsertConversationCoreExtInfo(e){return(0,o.__awaiter)(this,void 0,void 0,(function*(){const t=yield this.api.UpsertConversationCoreExtInfo({conversationId:e.conversation.id,conversationShortId:r.fromString(e.conversation.shortId),conversationType:e.conversation.type,ext:e.ext,inboxType:e.conversation.inboxType});return 0!==(null==t?void 0:t.status)?{success:!1,payload:e.conversation,checkCode:t.check_code,checkMsg:t.check_message,statusCode:t.status,statusMsg:t.extra_info}:(yield this.resolve(G.ConversationManager).refreshAsync(e.conversation),{success:!0,payload:e.conversation,checkCode:t.check_code,checkMsg:t.check_message,statusCode:t.status,statusMsg:t.extra_info})}))}getMessageReadReceipt(e){return(0,o.__awaiter)(this,void 0,void 0,(function*(){if(e.message.isRecalled||!e.message.isFromMe||e.message.isOffline)return{finishedParticipantIds:[],expectedParticipantIds:[]};const t=this.resolve(G.ConversationManager).get(e.message.conversationId);let n=this.resolve(G.ParticipantManager).getRaw(t.id);if((e.syncFromServer||0===n.length)&&(t.type===g.ConversationType.ONE_TO_ONE_CHAT&&0===n.length&&(yield this.getConversationParticipants({conversation:t})),t.type===g.ConversationType.GROUP_CHAT&&(0===n.length?yield this.getConversationParticipants({conversation:t}):this.getConversationParticipants({conversation:t})),yield this.updateConversationReadReceipt({conversation:t,batchFetch:Boolean(e.batchFetch)})),n=this.resolve(G.ParticipantManager).getRaw(t.id),0===n.length)return{finishedParticipantIds:[],expectedParticipantIds:[]};if(!e.message.indexInConversation)return{finishedParticipantIds:[],expectedParticipantIds:n.filter((e=>e.userId!==this.ctx.option.userId)).map((e=>e.userId))};const o=[],r=[];return n.forEach((t=>{t.minIndex.gt(e.message.indexInConversation)||(t.userId!==this.ctx.option.userId&&r.push(t.userId.toString()),(t.readOrder.gte(e.message.orderInConversation)||t.readIndex.gte(e.message.indexInConversation))&&t.userId!==this.ctx.option.userId&&o.push(t.userId.toString()))})),{finishedParticipantIds:o,expectedParticipantIds:r}}))}getConversationParticipants(e){return this.resolve(G.ParticipantManager).getParticipant(e.conversation)}getConversationParticipantsAsync(e){var t,n;return(0,o.__awaiter)(this,void 0,void 0,(function*(){let o=!0,i=r.ZERO;for(;o;){const s=yield this.getConversationParticipantsByPage({cursor:i,limit:50,conversation:e.conversation});o=null!==(t=null==s?void 0:s.hasMore)&&void 0!==t&&t,i=null!==(n=null==s?void 0:s.cursor)&&void 0!==n?n:r.ZERO}return this.resolve(G.ParticipantManager).get(e.conversation.id)}))}getConversationParticipantsByPage(e){var t,n,i,s,A,a;return(0,o.__awaiter)(this,void 0,void 0,(function*(){let o=null!==(t=e.cursor)&&void 0!==t?t:r.ZERO;const c=null!==(n=e.limit)&&void 0!==n?n:50,l=yield this.api.GetConversationParticipantsList({conversationId:e.conversation.id,conversationShortId:r.fromString(e.conversation.shortId),conversationType:e.conversation.type,cursor:o?r.fromValue(o):r.ZERO,limit:c,inboxType:e.conversation.inboxType}),g=null===(s=null===(i=l.body)||void 0===i?void 0:i.conversation_participants_body)||void 0===s?void 0:s.participants_page,d=null!==(A=null==g?void 0:g.has_more)&&void 0!==A&&A;o=null!==(a=null==g?void 0:g.cursor)&&void 0!==a?a:r.ZERO;const u=[];return null==g||g.participants.forEach((t=>{u.push(et.fromServerParticipant(this.ctx,t,e.conversation,l.log_id))})),this.resolve(G.ParticipantManager).upsertBatch(e.conversation.id,u),this.resolve(G.ConversationManager).upsert(e.conversation),{participants:u,hasMore:d,cursor:o}}))}updateConversationReadReceipt(e){return(0,o.__awaiter)(this,void 0,void 0,(function*(){const t=yield this.getReadReceipt({conversation:e.conversation,batchFetch:e.batchFetch}),{readIndexs:n,minIndexs:o}=t;if(e.batchFetch)for(const[e,n]of Object.entries(t)){const t=this.resolve(G.ConversationManager).get(e),{readIndexs:o,minIndexs:r}=n;this.processNewReadAndMinIndexes(t,o,r)}else this.processNewReadAndMinIndexes(e.conversation,n,o)}))}sendUserAction(e){return(0,o.__awaiter)(this,void 0,void 0,(function*(){yield this.api.SendUserAction({conversationId:e.conversation.id,conversationShortId:r.fromString(e.conversation.shortId),conversationType:e.conversation.type,extra:e.ext,actionType:e.actionType,inboxType:e.conversation.inboxType})}))}sendInputStatus(e){return(0,o.__awaiter)(this,void 0,void 0,(function*(){yield this.api.SendInputStatus({conversationId:e.conversation.id,conversationShortId:r.fromString(e.conversation.shortId),conversationType:e.conversation.type,extra:e.ext,status:e.status,inboxType:e.conversation.inboxType})}))}sendP2PMessage(e){var t,n,i,s,A;return(0,o.__awaiter)(this,void 0,void 0,(function*(){yield this.api.SendP2PMessage({conversationId:e.conversation.id,conversationShortId:r.fromValue(e.conversation.shortId),conversationType:e.conversation.type,sendType:e.sendType,msgType:e.msgType,content:e.content,clientId:P(),ext:null!==(t=e.ext)&&void 0!==t?t:{},visibleUser:null!==(i=null===(n=e.visibleUser)||void 0===n?void 0:n.map((e=>r.fromValue(e))))&&void 0!==i?i:[],invisibleUser:null!==(A=null===(s=e.invisibleUser)||void 0===s?void 0:s.map((e=>r.fromValue(e))))&&void 0!==A?A:[],inboxType:e.conversation.inboxType})}))}dissolveConversation(e){return(0,o.__awaiter)(this,void 0,void 0,(function*(){yield this.api.DissolveConversation({conversationId:e.conversation.id,conversationShortId:r.fromString(e.conversation.shortId),conversationType:e.conversation.type,inboxType:e.conversation.inboxType}),this.resolve(G.ConversationManager).delete(e.conversation.id),this.resolve(G.EventBus).emit(b.ConversationDissolve,this,e.conversation),this.resolve(G.EventBus).emitEmpty(b.ConversationChange,this)}))}upsertMessageExt(e){return(0,o.__awaiter)(this,void 0,void 0,(function*(){if(!e.message.serverId)throw new K({ctx:this.ctx,type:w.MessageOffline,msg:"message is offline",reachServer:!1,sender:this});for(const t of Object.keys(e.ext))t.startsWith("s:")&&delete e.ext[t];const t=this.resolve(G.ConversationManager).get(e.message.conversationId);return yield this.api.ModifyMessageExt({conversationShortId:r.fromValue(e.message.conversationShortId),messageId:r.fromValue(e.message.serverId),ext:e.ext,ticket:t.ticket,inboxType:t.inboxType}),e.message.ext=Object.assign(e.message.ext,e.ext),this.resolve(G.MessageManager).upsert(e.message),e.message}))}getUserConversationList(e){var t,n;return(0,o.__awaiter)(this,void 0,void 0,(function*(){if(void 0===e.inboxType&&(e.inboxType=this.resolve(G.InboxType).getDefaultInbox()),e.type!==g.ConversationType.GROUP_CHAT&&(void 0!==e.includeRole||void 0!==e.excludeRole))throw new K({ctx:this.ctx,type:w.InvalidParam,msg:"role filter only available in group chat",sender:this,reachServer:!1});if(void 0!==e.includeRole&&void 0!==e.excludeRole)throw new K({ctx:this.ctx,type:w.InvalidParam,msg:"conflict include and exclude",sender:this,reachServer:!1});const o=yield this.api.GetUserConversationList({type:e.type,cursor:e.cursor?r.fromValue(e.cursor):r.ZERO,limit:e.limit?r.fromValue(e.limit):r.fromNumber(20),sortType:null!==(t=e.sortType)&&void 0!==t?t:g.SortType.JOIN_TIME,includeRole:e.includeRole,excludeRole:e.excludeRole,withCold:e.withCold,inboxType:e.inboxType}),i=null===(n=o.body)||void 0===n?void 0:n.get_conversation_list_body,s=i.list.map((e=>Be.fromServerConversation(this.ctx,e,o.log_id)));return s.forEach((e=>this.resolve(G.ConversationManager).upsert(e))),{conversation:s,hasMore:null==i?void 0:i.has_more,cursor:null==i?void 0:i.next_cursor}}))}unreadCountReport(){return(0,o.__awaiter)(this,void 0,void 0,(function*(){if(!this.ctx.option.unreadCountReport)throw new K({ctx:this.ctx,msg:"unread count report not enabled",sender:this,type:w.InvalidParam,reachServer:!1});const e=he(this.resolve(G.ConversationManager).getConversationArray(),(e=>e.inboxType.toString()));for(const t of Object.keys(e)){const n=e[t],o=[];let i=0;n.forEach((e=>{const t=this.getNormalMsgUnreadCount(e);i+=t,o.push({shortId:r.fromString(e.shortId),count:r.fromNumber(t),type:e.type})}));const s=pe(o,30);for(const e of s)try{yield this.api.UnreadCountReport({total:r.fromValue(i),conv:e,inboxType:Number.parseInt(t,10)})}catch(e){H.ctxWarn(this.ctx,"report unread error:",e,"conv:",n)}}}))}getServerUnreadCountByUser(e){var t,n;return(0,o.__awaiter)(this,void 0,void 0,(function*(){void 0===e.inboxType&&(e.inboxType=this.resolve(G.InboxType).getDefaultInbox());const o=yield this.api.GetUnreadCount({total:!0,inboxType:e.inboxType,shortIds:[]});return null!==(n=null===(t=null==o?void 0:o.total_unread_count)||void 0===t?void 0:t.toNumber())&&void 0!==n?n:0}))}getServerUnreadCountByConversation(e){return(0,o.__awaiter)(this,void 0,void 0,(function*(){const t=new Map,n=he(e.conversation,(e=>e.inboxType.toString()));for(const e of Object.keys(n)){const o=n[e].map((e=>r.fromString(e.shortId))),i=new Map(n[e].map((e=>[e.shortId,e]))),s=yield this.api.GetUnreadCount({total:!1,shortIds:o,inboxType:Number.parseInt(e,10)});for(const[e,n]of Object.entries(s.conv_unread_count)){const o=ye(e).toString();i.has(o)&&t.set(i.get(o),n.toNumber())}}return t}))}blockConversation(e){return(0,o.__awaiter)(this,void 0,void 0,(function*(){return void 0===e.normalOnly&&(e.normalOnly=!1),yield this.api.BlockConversation({conversationId:e.conversation.id,conversationShortId:r.fromValue(e.conversation.shortId),conversationType:e.conversation.type,status:e.block?g.BlockStatus.BLOCK:g.BlockStatus.UNBLOCK,normalOnly:e.normalOnly,inboxType:e.conversation.inboxType}),yield this.resolve(G.ConversationManager).refreshAsync(e.conversation),e.conversation}))}blockMember(e){var t,n,i;return(0,o.__awaiter)(this,void 0,void 0,(function*(){const o={};void 0!==e.blockDuration&&Object.keys(e.blockDuration).forEach((t=>{o[t]=r.fromValue(e.blockDuration[t])}));const s=yield this.api.BlockMember({conversationId:e.conversation.id,conversationShortId:r.fromValue(e.conversation.shortId),conversationType:e.conversation.type,status:e.block?g.BlockStatus.BLOCK:g.BlockStatus.UNBLOCK,time:o,bizExt:null!==(t=e.bizExt)&&void 0!==t?t:{},inboxType:e.conversation.inboxType}),A=this.resolve(G.ParticipantManager).getMap(e.conversation.id);for(const t of Object.keys(null!==(n=e.blockDuration)&&void 0!==n?n:{}))if(!(null===(i=null==s?void 0:s.failed_members)||void 0===i?void 0:i.find((e=>r.fromValue(t).eq(e))))&&A.has(t)){const n=A.get(t);n.blocked=e.block,this.resolve(G.ParticipantManager).upsert(e.conversation.id,n)}return e.conversation}))}getBlockList(e={}){var t;return(0,o.__awaiter)(this,void 0,void 0,(function*(){void 0===e.inboxType&&(e.inboxType=this.resolve(G.InboxType).getDefaultInbox());const n=yield this.api.GetBlockList({cursor:e.cursor?r.fromValue(e.cursor):r.ZERO,limit:null!==(t=e.limit)&&void 0!==t?t:20,inboxType:e.inboxType});return{blockList:n.user_info.map((e=>({userId:e.user_id.toString(),createTime:e.create_time.toString()}))),hasMore:null==n?void 0:n.has_more,cursor:null==n?void 0:n.next_cursor}}))}setBlockList(e){return(0,o.__awaiter)(this,void 0,void 0,(function*(){void 0===e.inboxType&&(e.inboxType=this.resolve(G.InboxType).getDefaultInbox()),yield this.api.SetBlockList({applySet:e.value,blocklist:e.userId.map((e=>r.fromValue(e))),inboxType:e.inboxType})}))}checkInBlockList(e){return(0,o.__awaiter)(this,void 0,void 0,(function*(){return void 0===e.inboxType&&(e.inboxType=this.resolve(G.InboxType).getDefaultInbox()),(yield this.api.CheckInBlockList({userToCheck:r.fromValue(e.userId),inboxType:e.inboxType})).in_blocklist}))}broadcastCreateMessage(e){return(0,o.__awaiter)(this,void 0,void 0,(function*(){const t=Object.assign({},e.ext),n=Ce.createClientMessage(this.ctx,{type:e.type,content:e.content,ext:t,id:P(),conversationId:e.conversation.id,mentionedUsers:e.mentionedUsers||[],conversationShortId:e.conversation.shortId,conversationType:e.conversation.type});return n.flightStatus=M.Created,n.indexInConversation=e.conversation.lastMessageIndex.add(1),n.orderInConversation=e.conversation.lastMessageOrder.add(1),(void 0===e.insert||e.insert)&&(yield this.resolve(G.BroadcastManager).processNewMessage(n,Q.Offline)),n.sendFunc=this.broadcastSendMessage.bind(this),n}))}broadcastReceiveMessage(e){return(0,o.__awaiter)(this,void 0,void 0,(function*(){const t=yield this.broadcastReceiveMessageWithType(e);return{msgs:t.msgs,hasMore:t.hasMore,cursor:t.cursor}}))}broadcastUserCounter(e){return(0,o.__awaiter)(this,void 0,void 0,(function*(){const t=e.conversation.map((e=>({shortId:r.fromString(e.shortId),type:e.type}))),n=yield this.api.BroadcastUserCounter({conversations:t}),o={};for(const e of n.infos)o[e.conversation_short_id.toString()]=e.counter;return o}))}broadcastGetConversationOnline(e){return(0,o.__awaiter)(this,void 0,void 0,(function*(){return this.resolve(G.BroadcastManager).getWithOnline(e.conversationId,e.conversationId,g.ConversationType.BROADCAST_CHAT)}))}broadcastGetConversation(e){return this.resolve(G.BroadcastManager).getConversation(e.conversationId)}modifyMessageProperty(e){var t,n,i,s;return(0,o.__awaiter)(this,void 0,void 0,(function*(){const o={success:!1,payload:e.message},A=this.resolve(G.ConversationManager).getRaw(e.message.conversationId);if(!A)return o;for(const o of e.modifyContent){const r=null!==(n=null===(t=e.message.property[o.key])||void 0===t?void 0:t.findIndex((e=>{var t;return e.idempotentId===(null!==(t=o.idempotentId)&&void 0!==t?t:this.ctx.option.userId)})))&&void 0!==n?n:-1;o.operation||(o.operation=-1===r?g.OPERATION_TYPE.ADD_PROPERTY_ITEM:g.OPERATION_TYPE.REMOVE_PROPERTY_ITEM)}const a=e.modifyContent.map((e=>{var t;return Object.assign(Object.assign({},e),{idempotentId:null!==(t=e.idempotentId)&&void 0!==t?t:this.ctx.option.userId,operation:e.operation})}));let c;Bt.mergeOperationToCurrent(e.message,a),this.resolve(G.MessageManager).upsert(e.message),this.resolve(G.EventBus).emit(b.MessagePropertyUpsert,this,e.message);try{c=yield this.api.ModifyMessageProperty({conversationId:A.id,conversationShortId:r.fromValue(A.shortId),conversationType:A.type,serverId:r.fromValue(e.message.serverId),clientId:e.message.clientId,ticket:A.ticket,modifyContent:a,inboxType:A.inboxType})}catch(t){o.success=!1,o.statusCode=null==c?void 0:c.status,o.statusMsg=t.msg,o.body=c;for(const t of e.modifyContent){const n=null!==(s=null===(i=e.message.property[t.key])||void 0===i?void 0:i.findIndex((e=>{var n;return e.idempotentId===(null!==(n=t.idempotentId)&&void 0!==n?n:this.ctx.option.userId)})))&&void 0!==s?s:-1;-1!==n&&(e.message.property[t.key][n].status=ge.Failed)}return this.resolve(G.MessageManager).upsert(e.message),this.resolve(G.EventBus).emit(b.MessagePropertyUpsert,this,e.message),o}return[g.ModifyMessagePropertyStatus.MODIFY_PROPERTY_SUCCESS,g.ModifyMessagePropertyStatus.MODIFY_PROPERTY_REPEAT_REQUEST].includes(null==c?void 0:c.status)&&(o.success=!0),e.message.version=null==c?void 0:c.version,this.resolve(G.MessageManager).upsert(e.message),this.resolve(G.EventBus).emit(b.MessagePropertyUpsert,this,e.message),o.checkCode=r.ZERO,o.checkMsg="",o.statusCode=c.status,o.statusMsg="",o.body=c,o}))}markMessage(e){var t,n;return(0,o.__awaiter)(this,void 0,void 0,(function*(){const o=this.resolve(G.ConversationManager).get(e.message.conversationId);if(e.message.isOffline)throw new K({ctx:this.ctx,type:w.InvalidParam,sender:this,msg:"offline message cant be marked",reachServer:!1});yield this.api.MarkMessage({conversationId:e.message.conversationId,conversationShortId:r.fromValue(e.message.conversationShortId),conversationType:e.message.conversationType,serverMessageId:r.fromValue(e.message.serverId),actionType:e.actionType,doAction:null===(t=e.doAction)||void 0===t||t,sortTime:r.fromValue(null!==(n=e.sortTime)&&void 0!==n?n:r.ZERO),tag:void 0!==e.tag?r.fromValue(e.tag):void 0,inboxType:o.inboxType})}))}pullMarkMessage(e){var t,n,i,s,A,a,c,l;return(0,o.__awaiter)(this,void 0,void 0,(function*(){const o=yield this.api.PullMarkMessage({conversationId:null===(t=e.conversation)||void 0===t?void 0:t.id,conversationShortId:void 0===(null===(n=e.conversation)||void 0===n?void 0:n.shortId)?void 0:r.fromValue(e.conversation.shortId),conversationType:null===(i=e.conversation)||void 0===i?void 0:i.type,cursor:r.fromValue(null!==(s=e.cursor)&&void 0!==s?s:r.ZERO),asc:null!==(A=e.ascending)&&void 0!==A&&A,limit:r.fromValue(null!==(a=e.limit)&&void 0!==a?a:50),actionType:e.actionType,tag:void 0!==e.tag?r.fromValue(e.tag):void 0,inboxType:null!==(l=null===(c=e.conversation)||void 0===c?void 0:c.inboxType)&&void 0!==l?l:0}),g=o.body.pull_mark_message_body,d=[];return g.messages.forEach((e=>{const t=Ce.fromServerMessage(this.ctx,e,o.log_id);d.push(t)})),{message:d,hasMore:g.has_more,cursor:g.next_cursor}}))}getConversationCoreInfo(e){var t;return(0,o.__awaiter)(this,void 0,void 0,(function*(){const n=(yield this.api.GetConversationCoreInfo({conversationId:e.conversation.id,conversationShortId:r.fromString(e.conversation.shortId),conversationType:e.conversation.type,inboxType:e.conversation.inboxType,ext:e.ext})).get_conversation_core_info_body;return new ae(e.conversation,null!==(t=null==n?void 0:n.conversation_core_info)&&void 0!==t?t:void 0)}))}batchUnmarkMessage(e){var t;return(0,o.__awaiter)(this,void 0,void 0,(function*(){if(void 0===e.messages||0===e.messages.length)throw new K({ctx:this.ctx,type:w.InvalidParam,msg:"invalid message list",sender:this});const n=yield this.api.BatchUnmarkMessage({conversationId:e.messages[0].conversationId,conversationShortId:r.fromValue(e.messages[0].conversationShortId),conversationType:e.messages[0].conversationType,serverMessageIds:e.messages.map((e=>r.fromValue(e.serverId))),actionType:e.actionType,tag:void 0!==e.tag?r.fromValue(e.tag):void 0});return{success:0===n.status,checkCode:n.check_code,checkMsg:n.check_message,statusCode:null!==(t=n.status)&&void 0!==t?t:-1,body:n,payload:e.messages}}))}markMessageUnreadCountReport(e){var t,n,i;return(0,o.__awaiter)(this,void 0,void 0,(function*(){const o={};if(void 0!==e.tagUnreadCount)for(const t of Object.keys(e.tagUnreadCount))o[t]=r.fromNumber(e.tagUnreadCount[t]);const s=yield this.api.MarkMsgUnreadCountReport({conversationId:null===(t=null==e?void 0:e.conversation)||void 0===t?void 0:t.id,conversationShortId:void 0===(null===(n=null==e?void 0:e.conversation)||void 0===n?void 0:n.shortId)?void 0:r.fromValue(null==e?void 0:e.conversation.shortId),conversationType:null===(i=null==e?void 0:e.conversation)||void 0===i?void 0:i.type,totalUnreadCount:void 0!==e.totalUnreadCount?r.fromNumber(e.totalUnreadCount):void 0,tagUnreadCount:o});return{setTotalStatus:s.set_total_status,failedTagList:s.failed_tag_list}}))}markMessageGetUnreadCount(e){var t,n,i,s,A,a;return(0,o.__awaiter)(this,void 0,void 0,(function*(){const o=yield this.api.MarkMsgGetUnreadCount({conversationId:null===(t=null==e?void 0:e.conversation)||void 0===t?void 0:t.id,conversationShortId:void 0===(null===(n=null==e?void 0:e.conversation)||void 0===n?void 0:n.shortId)?void 0:r.fromValue(null==e?void 0:e.conversation.shortId),conversationType:null===(i=null==e?void 0:e.conversation)||void 0===i?void 0:i.type,getTotal:null!==(s=e.getTotal)&&void 0!==s&&s,tags:null===(A=e.tags)||void 0===A?void 0:A.map((e=>r.fromValue(e)))}),c=null!==(a=o.tag_unread_count)&&void 0!==a?a:{},l={};for(const e of Object.keys(c))l[ye(e).toString()]=c[e].toNumber();return{tagUnreadCount:l,totalCount:o.total_count,failedTagList:o.failed_tag_list}}))}getMessageByServerId(e){var t,n;return(0,o.__awaiter)(this,void 0,void 0,(function*(){const o=this.resolve(G.MessageManager).getByServerIdRaw(e.conversation.id,e.serverMessageId);if(o)return o;try{const o=yield this.api.GetMessageByServerId({conversationId:e.conversation.id,conversationShortId:r.fromString(e.conversation.shortId),conversationType:e.conversation.type,serverId:r.fromString(e.serverMessageId),inboxType:e.conversation.inboxType}),i=null===(n=null===(t=o.body)||void 0===t?void 0:t.get_message_by_id_body)||void 0===n?void 0:n.msg_info;return i.body?Ce.fromServerMessage(this.ctx,i.body,o.log_id):null}catch(e){return null}}))}getMessages(e){var t,n;return(0,o.__awaiter)(this,void 0,void 0,(function*(){if(0===e.messages.length)return null;try{const o=[];e.messages.forEach((e=>{var t;o.push(g.MessageIDIndexEntry.create({server_message_id:null!==(t=r.fromString(e.serverId))&&void 0!==t?t:r.ZERO,index_in_conversation:e.indexInConversation}))}));const i=yield this.api.GetMessages({conversationId:e.conversation.id,conversationShortId:r.fromString(e.conversation.shortId),conversationType:e.conversation.type,inboxType:e.conversation.inboxType,entries:o}),s=null===(n=null===(t=i.body)||void 0===t?void 0:t.get_messages_body)||void 0===n?void 0:n.messages;if(void 0===s)return null;const A=[];return null==s||s.forEach((t=>{const n=Ce.fromServerMessage(this.ctx,t,i.log_id);A.push(n),e.upsert&&this.resolve(G.MessageManager).upsert(n)})),A}catch(e){return null}}))}getMessageReferenceList(e){var t,n;return(0,o.__awaiter)(this,void 0,void 0,(function*(){let o;if(e.message.isRootReference)o=e.message;else{const r=this.resolve(G.ConversationManager).get(e.message.conversationId),i=null===(n=null===(t=e.message.referenceInfo)||void 0===t?void 0:t.root_message_id)||void 0===n?void 0:n.toString();if(void 0===i)return[];const s=yield this.getMessageByServerId({conversation:r,serverMessageId:i});if(!s)return[];o=s}const r=[o];return r.push(...this.resolve(G.MessageManager).getList(o.conversationId).filter((e=>{var t,n;return(null===(n=null===(t=e.referenceInfo)||void 0===t?void 0:t.root_message_id)||void 0===n?void 0:n.toString())===o.serverId}))),r}))}convertVoiceToText(e){var t;return(0,o.__awaiter)(this,void 0,void 0,(function*(){if(!(null==e?void 0:e.serverId))throw new K({ctx:this.ctx,type:w.MPInvalidArgument,msg:"message is offline",reachServer:!1,sender:this});if((null==e?void 0:e.type)!==g.MessageType.MESSAGE_TYPE_AUDIO)throw new K({ctx:this.ctx,type:w.InvalidParam,msg:"message is not audio",reachServer:!1,sender:this});const n=null===(t=JSON.parse(null==e?void 0:e.content))||void 0===t?void 0:t.__files,o=Object.keys(n),{type:r,ext:i}=n[o[0]];if("wav"!==r)throw new K({ctx:this.ctx,type:w.InvalidParam,msg:"audio content is not wav",reachServer:!1,sender:this});if(i[h.FileExtKeyAudioAsrText])return e;try{return this.resolve(G.MessageManager).upsert(e),e}catch(e){throw new K({ctx:this.ctx,type:w.ServerError,msg:"Voice conversion failed",reachServer:!1,sender:this})}}))}install(){this.api=new Ht(this.getContext()),this.ctx.register(G.BroadcastManager,new Jt(this.ctx)),this.ctx.register(G.ExtensionApi,this.api),this.ctx.register(G.ExtensionPlugin,this),this.instance.deleteConversation=this.extendFunc(this.deleteConversation),this.instance.deleteMessage=this.extendFunc(this.deleteMessage),this.instance.leaveConversation=this.extendFunc(this.leaveConversation),this.instance.getMessageReadReceipt=this.extendFunc(this.getMessageReadReceipt),this.instance.getConversationListByTop=this.extendFunc(this.getConversationListByTop),this.instance.getConversationListByFavorite=this.extendFunc(this.getConversationListByFavorite),this.instance.addParticipants=this.extendFunc(this.addParticipants),this.instance.removeParticipants=this.extendFunc(this.removeParticipants),this.instance.updateParticipant=this.extendFunc(this.updateParticipant),this.instance.setConversationSettingInfo=this.extendFunc(this.setConversationSettingInfo),this.instance.setConversationCoreInfo=this.extendFunc(this.setConversationCoreInfo),this.instance.upsertConversationSettingExtInfo=this.extendFunc(this.upsertConversationSettingExtInfo),this.instance.upsertConversationCoreExtInfo=this.extendFunc(this.upsertConversationCoreExtInfo),this.instance.setConversationWeakMuteConfig=this.extendFunc(this.setConversationWeakMuteConfig),this.instance.getConversationParticipants=this.extendFunc(this.getConversationParticipants),this.instance.getConversationParticipantsAsync=this.extendFunc(this.getConversationParticipantsAsync),this.instance.getConversationParticipantsByPage=this.extendFunc(this.getConversationParticipantsByPage),this.instance.updateConversationReadReceipt=this.extendFunc(this.updateConversationReadReceipt),this.instance.getReadReceipt=this.extendFunc(this.getReadReceipt),this.instance.sendUserAction=this.extendFunc(this.sendUserAction),this.instance.sendInputStatus=this.extendFunc(this.sendInputStatus),this.instance.upsertMessageExt=this.extendFunc(this.upsertMessageExt),this.instance.dissolveConversation=this.extendFunc(this.dissolveConversation),this.instance.modifyMessageProperty=this.extendFunc(this.modifyMessageProperty),this.instance.unreadCountReport=this.extendFunc(this.unreadCountReport),this.instance.getServerUnreadCountByConversation=this.extendFunc(this.getServerUnreadCountByConversation),this.instance.getServerUnreadCountByUser=this.extendFunc(this.getServerUnreadCountByUser),this.instance.getUserConversationList=this.extendFunc(this.getUserConversationList),this.instance.blockConversation=this.extendFunc(this.blockConversation),this.instance.blockMember=this.extendFunc(this.blockMember),this.instance.sendP2PMessage=this.extendFunc(this.sendP2PMessage),this.instance.setBlockList=this.extendFunc(this.setBlockList),this.instance.getBlockList=this.extendFunc(this.getBlockList),this.instance.checkInBlockList=this.extendFunc(this.checkInBlockList),this.instance.broadcastCreateMessage=this.extendFunc(this.broadcastCreateMessage),this.instance.broadcastReceiveMessage=this.extendFunc(this.broadcastReceiveMessage),this.instance.broadcastUserCounter=this.extendFunc(this.broadcastUserCounter),this.instance.broadcastGetConversationOnline=this.extendFunc(this.broadcastGetConversationOnline),this.instance.broadcastGetConversation=this.extendFunc(this.broadcastGetConversation),this.instance.markMessage=this.extendFunc(this.markMessage),this.instance.pullMarkMessage=this.extendFunc(this.pullMarkMessage),this.instance.getMessageByServerId=this.extendFunc(this.getMessageByServerId),this.instance.getMessages=this.extendFunc(this.getMessages),this.instance.batchUnmarkMessage=this.extendFunc(this.batchUnmarkMessage),this.instance.markMessageUnreadCountReport=this.extendFunc(this.markMessageUnreadCountReport),this.instance.markMessageGetUnreadCount=this.extendFunc(this.markMessageGetUnreadCount),this.instance.getMessageReferenceList=this.extendFunc(this.getMessageReferenceList),this.instance.convertVoiceToText=this.extendFunc(this.convertVoiceToText),this.instance.getConversationAuditSwitch=this.extendFunc(this.getConversationAuditSwitch),this.instance.updateConversationAuditSwitch=this.extendFunc(this.updateConversationAuditSwitch),this.instance.getMessagesAndConversationsByTags=this.extendFunc(this.getMessagesAndConversationsByTags),this.instance.getConversationListByTags=this.extendFunc(this.getConversationListByTags),this.addEventHandler(),this.resolve(G.MessageManager).injectProcessor(new Kt(this.ctx)),this.resolve(G.MessageManager).injectProcessor(new Vt(this.ctx)),this.resolve(G.MessageManager).injectProcessor(new zt(this.ctx))}receivePacket(e){return(0,o.__awaiter)(this,void 0,void 0,(function*(){e.cmd===g.IMCMD.NEW_BROADCAST_MSG_NOTIFY?yield this.receiveBroadcastPacket(e):e.cmd===g.IMCMD.MARK_READ_NOTIFY&&this.receiveMarkReadNotify(e)}))}receiveBroadcastPacket(e){var t;return(0,o.__awaiter)(this,void 0,void 0,(function*(){const n=e.body.has_new_message_notify,o=n.message,i=Ce.fromServerMessage(this.ctx,o,e.log_id);i.ext||(i.ext={}),yield this.resolve(G.BroadcastManager).processNewMessage(i,Q.Online);const s=this.resolve(G.BroadcastManager).getConversation(i.conversationId),A=s.localIndex;if(s.setConversationCursor(n.next_cursor),A.gt(r.ZERO)&&(null===(t=n.previous_cursor)||void 0===t?void 0:t.gt(A))){let e=!0,t=A,n=0;const o=5;for(;e&&n(0,o.__awaiter)(this,void 0,void 0,(function*(){if(e.flightStatus===M.Inflight)return;const t=this.resolve(G.ConversationManager).getRaw(e.conversationId);if(!t)return;if(0===this.resolve(G.ParticipantManager).getRaw(t.id).length)return;const n=this.resolve(G.ParticipantManager).getByUserIdRaw(t.id,e.sender);n&&e.moveReadIndex&&(n.readIndex=e.indexInConversation,n.readOrder=e.orderInConversation,this.resolve(G.ParticipantManager).upsert(t.id,n),H.ctxDebug(this.ctx,`auto readindex with read:${n.readIndex.toString()} & order:${n.readOrder.toString()}`))})))),this.resolve(G.EventBus).subscribe(b.ReceiveNewP2PMessage,(e=>(0,o.__awaiter)(this,void 0,void 0,(function*(){if(e.type===g.MessageType.MESSAGE_TYPE_READ_COMMAND){const t=this.resolve(G.ConversationManager).getWithShortIdRaw(e.conversationShortId);if(!t)return;const n=ce.parse(e.content),o=r.fromValue(n.P2PSender).toString(),i=this.resolve(G.ParticipantManager).getByUserIdRaw(t.id,o);if(!i)return;const s=i.readIndex,A=r.fromValue(n.P2PSenderReadIndex);if(s.gte(A))return;i.readIndex=A,this.resolve(G.ParticipantManager).upsert(t.id,i),this.resolve(G.EventBus).emit(b.ConversationUpsert,this,t),this.resolve(G.EventBus).emitEmpty(b.ConversationChange,this),H.ctxDebug(this.ctx,`p2p update ${i.userId} readindex: ${s.toString()} to ${A.toString()}`)}}))))}broadcastReceiveMessageWithType(e){var t,n,i,s,A;return(0,o.__awaiter)(this,void 0,void 0,(function*(){const o=yield this.api.BroadcastReceiveMessage({conversationId:e.conversation.id,conversationShortId:r.fromString(e.conversation.shortId),conversationType:e.conversation.type,cursor:e.cursor?r.fromValue(e.cursor):e.conversation.localIndex,limit:e.limit?r.fromValue(e.limit):r.fromNumber(20),reverse:null!==(t=e.reverse)&&void 0!==t&&t,pullType:null!==(n=e.pullType)&&void 0!==n?n:0,inboxType:e.conversation.inboxType}),a=null===(i=o.body)||void 0===i?void 0:i.broadcast_recv_message_body,c=null!==(A=null===(s=a.messages)||void 0===s?void 0:s.map((e=>Ce.fromServerMessage(this.ctx,e,o.log_id))))&&void 0!==A?A:[];return yield this.resolve(G.BroadcastManager).processNewMessagesFromPull(c,Q.BroadcastLoadMore,o.log_id),a.next_cursor&&e.conversation.setConversationCursor(a.next_cursor),{msgs:c,hasMore:a.has_more,cursor:a.next_cursor,log_id:o.log_id}}))}broadcastSendMessage(e){var t;return(0,o.__awaiter)(this,void 0,void 0,(function*(){const n=this.resolve(G.BroadcastManager).getConversation(e.conversationId),o={success:!1,payload:e};e.flightStatus=M.Inflight;try{const i=yield this.api.BroadcastSendMessage({conversationId:e.conversationId,conversationShortId:r.fromString(e.conversationShortId),conversationType:e.conversationType,clientId:e.clientId,content:e.content,ticket:n.ticket,ext:e.ext,type:e.type,mentionedUsers:e.mentionedUsers.map((e=>r.fromString(e))),inboxType:n.inboxType}),s=null===(t=i.body)||void 0===t?void 0:t.broadcast_send_message_body;if(o.body=s,o.checkCode=s.check_code,o.checkMsg=s.check_message,o.statusCode=s.status,o.statusMsg=s.extra_info,this.ctx.option.debug&&(e.ext[h.LocalLogId]=i.log_id),0===s.status){const t=s.server_message_id.toString();e.serverId=t,e.flightStatus=M.Succeeded,o.success=!0,e.isOffline=!1}else e.flightStatus=M.Rejected,s.status===g.SendMessageStatus.CHECK_MSG_NOT_PASS_BUT_SELF_VISIBLE&&(e.flightStatus=M.SelfVisible)}catch(t){e.flightStatus=M.Failed}return o}))}getReadReceipt(e){return(0,o.__awaiter)(this,void 0,void 0,(function*(){if(e.batchFetch){let{conversation:t}=e;Array.isArray(t)||(t=[t]);const n=t.map((e=>e.id)),o=t.map((e=>r.fromString(e.shortId))),i=(yield this.api.BatchGetConversationParticipantsReadIndex({conversationId:n,conversationShortId:o,min_index_required:!0})).conversationParticipantsReadIndex,s={};return i.forEach((e=>{const t=e.conversation_id,n=e.participantReadIndex;if(t&&n){s[t]={readIndexs:[],minIndexs:[]};const e=s[t].readIndexs,o=s[t].minIndexs;n.forEach((t=>{t.index&&(e.push({user_id:r.fromString(t.user_id.toString()),index:r.fromString(t.index.toString())}),o.push({user_id:r.fromString(t.user_id.toString()),index:r.fromString(t.index_min.toString())}))}))}})),s}{let{conversation:t}=e;Array.isArray(t)&&(t=t[0]);const n=yield this.api.GetConversationParticipantsReadIndexV3({conversationId:t.id,conversationShortId:r.fromString(t.shortId),conversationType:t.type,inboxType:t.inboxType}),o=yield this.api.GetConversationParticipantsMinIndexV3({conversationId:t.id,conversationShortId:r.fromString(t.shortId),conversationType:t.type,inboxType:t.inboxType});return{readIndexs:(null==n?void 0:n.indexes)||[],minIndexs:o.indexes}}}))}getMessagesAndConversationsByTags(e){var t,n,i;return(0,o.__awaiter)(this,void 0,void 0,(function*(){const o=Array.isArray(e.tags)?e.tags:[e.tags],s=yield this.api.GetMessagesPerConversationSearch({cursor:e.cursor?r.fromValue(e.cursor):r.ZERO,limit:null!==(t=e.limit)&&void 0!==t?t:20,tags:o,inboxType:null!==(n=e.inboxType)&&void 0!==n?n:this.resolve(G.InboxType).getDefaultInbox()}),A=null===(i=null==s?void 0:s.body)||void 0===i?void 0:i.messages_per_conversation_search_body,a=s.log_id,c=null==A?void 0:A.conversations,l=null==A?void 0:A.messages,g=null==A?void 0:A.next_cursor,d=null==A?void 0:A.has_more;return c&&c.map((e=>Be.fromServerConversation(this.ctx,e,a))).forEach((e=>this.resolve(G.ConversationManager).upsert(e))),l&&(yield this.resolve(G.MessageManager).processNewMessagesFromPull(l,Q.PullByTag,a)),{nextCursor:g,hasMore:d}}))}getConversationListByTags(e){const t=Array.isArray(e.tags)?e.tags:[e.tags];return this.resolve(G.CoreInstance).getConversationList({filter:e=>{for(const n of t)if(!e.userConversationTags.includes(String(n)))return!1;return!0}})}getNormalMsgUnreadCount(e){return e.isMuted?0:e.pushStatus===C.PartAllow?e.unreadCountWithWhiteList:e.unreadCount}}class Xt extends ${GetMessagesCheckInfoInConversation(e){return(0,o.__awaiter)(this,void 0,void 0,(function*(){const t=g.RequestBody.create({get_messages_checkinfo_in_conversation_body:{conversation_id:e.conversationId,conversation_short_id:r.fromValue(e.conversationShortId),conversation_type:e.conversationType,cursor_reverse_begin:r.fromValue(e.cursorReverseBegin),cursor_reverse_end:r.fromValue(e.cursorReverseEnd),expect_msg_total_count:e.expectedTotalMessageCount}});return(yield this.send(t,g.IMCMD.GET_MESSAGES_CHECKINFO_IN_CONVERSATION,{inboxType:e.inboxType})).get_messages_checkinfo_in_conversation_body}))}GetConversationsCheckInfo(e){return(0,o.__awaiter)(this,void 0,void 0,(function*(){const t=g.RequestBody.create({});return(yield this.send(t,g.IMCMD.GET_CONVERSATIONS_CHECKINFO,{inboxType:e.inboxType})).get_conversations_checkinfo_body}))}}var Zt=n(38486);class $t{static toStore(e){var t,n,o,r,i,s,A,a,c,l,g;const d=new $t;return d.coreInfo={conversationId:e.coreInfo.conversationId,version:null===(t=e.coreInfo.version)||void 0===t?void 0:t.toString(),name:e.coreInfo.name,desc:e.coreInfo.desc,icon:e.coreInfo.icon,notice:e.coreInfo.notice,owner:e.coreInfo.owner,secOwner:e.coreInfo.secOwner,innerExt:e.coreInfo.ext,inboxType:e.coreInfo.inboxType},d.firstPageParticipant={cursor:null===(o=null===(n=e.firstPageParticipant)||void 0===n?void 0:n.cursor)||void 0===o?void 0:o.toString(),hasMore:null===(r=e.firstPageParticipant)||void 0===r?void 0:r.has_more,participants:null===(s=null===(i=e.firstPageParticipant)||void 0===i?void 0:i.participants)||void 0===s?void 0:s.map((e=>{var t,n,o;return{userId:null===(t=e.user_id)||void 0===t?void 0:t.toString(),secUid:e.sec_uid,sortOrder:null===(n=e.sort_order)||void 0===n?void 0:n.toString(),role:e.role,alias:e.alias,blocked:e.blocked,leftBlockTime:null===(o=e.left_block_time)||void 0===o?void 0:o.toString()}}))},d.id=e.id,d.isMember=e.isMember,d.isOffline=e.isOffline,d.participantCount=e.participantCount,d.settingInfo={conversationId:e.settingInfo.conversationId,version:null===(A=e.settingInfo.version)||void 0===A?void 0:A.toString(),stickTop:e.settingInfo.stickTop,mute:e.settingInfo.mute,favor:e.settingInfo.favor,innerExt:e.settingInfo.ext,minIndex:null===(a=e.settingInfo.minIndex)||void 0===a?void 0:a.toString(),readIndex:null===(c=e.settingInfo.readIndex)||void 0===c?void 0:c.toString(),setTopTime:null===(l=e.settingInfo.setTopTime)||void 0===l?void 0:l.toString(),setFavoriteTime:null===(g=e.settingInfo.setFavoriteTime)||void 0===g?void 0:g.toString(),pushStatus:e.settingInfo.pushStatus},d.shortId=e.shortId,d.ticket=e.ticket,d.type=e.bizType,d}static fromStore(e,t){var n,o,i,s,A,a,c,l,d,u,p,h;const _=new Be(e),y=new ae(_);y.version=r.fromValue(null!==(o=null===(n=t.coreInfo)||void 0===n?void 0:n.version)&&void 0!==o?o:0),y.name=t.coreInfo.name,y.desc=t.coreInfo.desc,y.icon=t.coreInfo.icon,y.notice=t.coreInfo.notice,y.owner=t.coreInfo.owner,y.secOwner=t.coreInfo.secOwner,y.ext=t.coreInfo.innerExt,y.inboxType=t.coreInfo.inboxType;const I=new le(_);return I.version=r.fromValue(null!==(s=null===(i=t.settingInfo)||void 0===i?void 0:i.version)&&void 0!==s?s:0),I.stickTop=t.settingInfo.stickTop,I.mute=t.settingInfo.mute,I.favor=t.settingInfo.favor,I.ext=t.settingInfo.innerExt,I.readIndex=r.fromValue(null!==(A=t.settingInfo.readIndex)&&void 0!==A?A:0),I.minIndex=r.fromValue(null!==(a=t.settingInfo.minIndex)&&void 0!==a?a:0),I.setTopTime=r.fromValue(null!==(c=t.settingInfo.setTopTime)&&void 0!==c?c:0),I.setFavoriteTime=r.fromValue(null!==(l=t.settingInfo.setFavoriteTime)&&void 0!==l?l:0),I.pushStatus=t.settingInfo.pushStatus,_.coreInfo=y,_.settingInfo=I,_.firstPageParticipant=g.ParticipantsPage.create({cursor:(null===(d=t.firstPageParticipant)||void 0===d?void 0:d.cursor)?r.fromValue(t.firstPageParticipant.cursor):void 0,has_more:null===(u=t.firstPageParticipant)||void 0===u?void 0:u.hasMore,participants:null===(h=null===(p=t.firstPageParticipant)||void 0===p?void 0:p.participants)||void 0===h?void 0:h.map((e=>({user_id:e.userId?r.fromValue(e.userId):void 0,sec_uid:e.secUid,sort_order:e.sortOrder?r.fromValue(e.sortOrder):void 0,role:e.role,alias:e.alias,blocked:e.blocked,left_block_time:e.leftBlockTime?r.fromValue(e.leftBlockTime):void 0})))}),_.id=t.id,_.isMember=t.isMember,_.isOffline=t.isOffline,_.participantCount=t.participantCount,_.shortId=t.shortId,_.ticket=t.ticket,_.bizType=t.type,_}}class en{static formatMessageKey(e){return`${e.conversationId}:${e.clientId}`}static convertPropertyStore(e){return e.map((e=>({messageId:e.messageId,conversationId:e.conversationId,key:e.key,userId:e.userId,secUid:e.secUid,createTime:e.createTime,idempotentId:e.idempotentId,value:e.value,version:e.version.toString(),status:e.status})))}static fromPropertyStore(e){return e.map((e=>{const t=new Bt;return t.messageId=e.messageId,t.conversationId=e.conversationId,t.key=e.key,t.userId=e.userId,t.secUid=e.secUid,t.createTime=new Date(e.createTime),t.idempotentId=e.idempotentId,t.value=e.value,t.version=r.fromValue(e.version),t.status=e.status,t}))}static toStore(e){var t,n;const o=new en;o.clientId=e.clientId,o.content=e.content,o.conversationId=e.conversationId,o.conversationShortId=e.conversationShortId,o.conversationType=e.conversationBizType,o.createdAt=e.createdAt,o.ext=e.ext,o.indexInConversation=e.indexInConversation.toString(),o.orderInConversation=e.orderInConversation.toString(),o.secSender=e.secSender,o.sender=e.sender,o.serverId=e.serverId,o.serverStatus=e.serverStatus,o.type=e.type,o.version=e.version.toString(),o.property={},o.isOffline=e.isOffline,o.source=e.source,"number"==typeof e.flightStatus&&(o.flightStatus=e.flightStatus);for(const t of Object.keys(e.property))o.property[t]=en.convertPropertyStore(e.property[t]);return"number"==typeof e.flightStatus&&(o.flightStatus=e.flightStatus),e.referenceInfo&&(o.referenceInfo={referenceMessageId:e.referenceInfo.referenced_message_id.toString(),hint:e.referenceInfo.hint,refMessageType:e.referenceInfo.ref_message_type.toString(),referenceMessageStatus:e.referenceInfo.referenced_message_status,rootMessageId:null===(t=e.referenceInfo.root_message_id)||void 0===t?void 0:t.toString(),rootMessageConvIndex:null===(n=e.referenceInfo.root_message_conv_index)||void 0===n?void 0:n.toString()}),o}static fromStore(e,t){const n=new Ce(e);n.clientId=t.clientId,n.content=t.content,n.conversationId=t.conversationId,n.conversationShortId=t.conversationShortId,n.conversationBizType=t.conversationType,n.createdAt=new Date(t.createdAt),n.ext=t.ext,n.indexInConversation=r.fromValue(t.indexInConversation),n.orderInConversation=r.fromValue(t.orderInConversation),n.secSender=t.secSender,n.sender=t.sender,n.serverId=t.serverId,n.serverStatus=t.serverStatus,n.type=t.type,n.version=r.fromValue(t.version),n.isOffline=t.isOffline,n.source=t.source,"number"==typeof n.flightStatus&&(t.flightStatus=n.flightStatus),n.property={};for(const e of Object.keys(t.property))n.property[e]=en.fromPropertyStore(t.property[e]);return"number"==typeof t.flightStatus&&(n.flightStatus=t.flightStatus),t.referenceInfo&&(n.referenceInfo={referenced_message_id:r.fromValue(t.referenceInfo.referenceMessageId),hint:t.referenceInfo.hint,ref_message_type:r.fromValue(t.referenceInfo.refMessageType),referenced_message_status:t.referenceInfo.referenceMessageStatus,root_message_id:t.referenceInfo.rootMessageId?r.fromValue(t.referenceInfo.rootMessageId):void 0,root_message_conv_index:t.referenceInfo.rootMessageConvIndex?r.fromValue(t.referenceInfo.rootMessageConvIndex):void 0}),n}}class tn{static formatParticipantKey(e){return`${e.conversationId}:${e.userId}`}static toStore(e){var t,n;const o=new tn;return o.userId=e.userId,o.secUid=e.secUid,o.sortOrder=null===(t=e.sortOrder)||void 0===t?void 0:t.toString(),o.role=e.role,o.alias=e.alias,o.conversationId=e.conversationId,o.conversationType=e.conversationType,o.blocked=e.blocked,o.leftBlockTime=null===(n=e.leftBlockTime)||void 0===n?void 0:n.toString(),o.readIndex=e.readIndex.toString(),o.readOrder=e.readOrder.toString(),o.minIndex=e.minIndex.toString(),o}static fromStore(e,t){var n,o,i;const s=new et(e);return s.userId=t.userId,s.secUid=t.secUid,s.sortOrder=t.sortOrder?r.fromValue(t.sortOrder):void 0,s.role=t.role,s.alias=t.alias,s.conversationId=t.conversationId,s.conversationType=t.conversationType,s.blocked=t.blocked,s.leftBlockTime=t.leftBlockTime?r.fromValue(t.leftBlockTime):void 0,s.readIndex=r.fromValue(null!==(n=t.readIndex)&&void 0!==n?n:0),s.readOrder=r.fromValue(null!==(o=t.readOrder)&&void 0!==o?o:0),s.minIndex=r.fromValue(null!==(i=t.minIndex)&&void 0!==i?i:0),s}}var nn,on=n(81964);function rn(e,t,n){const r=n.value;return n.value=function(...e){return(0,o.__awaiter)(this,void 0,void 0,(function*(){let n=0;try{n=J.performanceNow();const o=yield r.call(this,...e);return this.resolve(G.Monitor).emitDuration(nn.ProxyInvoke+q.SuccessSuffix,n,{name:t}),o}catch(e){throw this.resolve(G.Monitor).emitDuration(nn.ProxyInvoke+q.ErrorSuffix,n,{name:t}),H.ctxError(this.ctx,`db proxy op: ${t} error:`,e),new K({ctx:this.ctx,type:w.DbOpError,innerError:e,sender:r,msg:`db proxy op: ${t} error`})}}))},n}function sn(e,t,n){var r,i;return(0,o.__awaiter)(this,void 0,void 0,(function*(){try{const e=on.hp.from(window.crypto.getRandomValues(new Uint8Array(16)),0,16),o=yield null===(i=null===(r=window.crypto)||void 0===r?void 0:r.subtle)||void 0===i?void 0:i.encrypt({name:"AES-CTR",counter:e,length:128},t,on.hp.from(JSON.stringify(n)));return{ciphertext:on.hp.from(o).toString("hex"),iv:e.toString("hex")}}catch(t){return H.ctxWarn(e,"encrypt error, using fallback hex, error:",t,"data:",n),e.resolve(G.Monitor).emitCounter(nn.EncryptError),{ciphertext:on.hp.from(JSON.stringify(n)).toString("hex")}}}))}function An(e,t,n){return(0,o.__awaiter)(this,void 0,void 0,(function*(){try{let o;if(n.iv){const e=on.hp.from(n.ciphertext,"hex"),r=on.hp.from(n.iv,"hex"),i=yield window.crypto.subtle.decrypt({name:"AES-CTR",counter:r,length:128},t,e);o=JSON.parse(on.hp.from(new Uint8Array(i)).toString())}else{if(!n.ciphertext)throw new K({ctx:e,type:w.StorageCryptoError,sender:n,msg:"unhandled decrypted data"});o=JSON.parse(on.hp.from(n.ciphertext).toString())}return o}catch(t){if(e.resolve(G.Monitor).emitCounter(nn.DecryptError),t instanceof K)throw t;throw new K({ctx:e,type:w.StorageCryptoError,sender:n,msg:"decryption failed"})}}))}!function(e){e.ProxyInvoke="storage.proxy.invoke",e.IntegrityConversationCheckBefore="storage.integrity.conversation.before",e.IntegrityConversationCheckFix="storage.integrity.conversation.fix",e.CacheInit="storage.cache.init",e.CachePrune="storage.cache.prune",e.CacheRetention="storage.cache.retention",e.PassphraseError="storage.passphrase.error",e.EncryptError="storage.encrypt.error",e.DecryptError="storage.decrypt.error"}(nn||(nn={}));class an extends ut{init(e){return(0,o.__awaiter)(this,void 0,void 0,(function*(){this.currentUserId=e,this.db=yield(0,Zt.P2)(`${an.DbNamePrefix}:${this.ctx.option.boe?"boe":"prod"}:${this.ctx.option.appId}:${e}`,an.DbVersion,{upgrade(e,t,n,o){e.createObjectStore("config"),e.createObjectStore("conversation",{keyPath:"id",autoIncrement:!1}),e.createObjectStore("message",{autoIncrement:!1}).createIndex("__index_con_id","conversationId"),e.createObjectStore("participant",{autoIncrement:!1}).createIndex("__index_con_id","conversationId"),e.createObjectStore("cursor")}});let t=void 0!==(yield this.db.get("config",Ve.DbVersion));const n="true"===(yield this.db.get("config",Ve.DbEncyption));if(this.ctx.option.encryption?(this.encryptionEnabled=!0,H.ctxDebug(this.ctx,"storage encryption enabled")):(yield this.deleteConfig(Ve.DbEncyption),this.encryptionEnabled=!1),this.encryptionEnabled){const e=yield function(e,t){var n,r,i,s;return(0,o.__awaiter)(this,void 0,void 0,(function*(){const o=yield null===(r=null===(n=window.crypto)||void 0===n?void 0:n.subtle)||void 0===r?void 0:r.digest("SHA-256",on.hp.from(t));return null===(s=null===(i=window.crypto)||void 0===i?void 0:i.subtle)||void 0===s?void 0:s.importKey("raw",o,"AES-CTR",!1,["encrypt","decrypt"]).catch((t=>{e.resolve(G.Monitor).emitCounter(nn.PassphraseError),H.ctxWarn(e,"generateKeyFromPassPhrase error",t)}))}))}(this.ctx,this.currentUserId);e?this._key=e:(H.ctxError(this.ctx,"load encryption key failed"),this.encryptionEnabled=!1)}return t&&!n&&this.encryptionEnabled&&(yield this.clear(!0),H.ctxWarn(this.ctx,"try to load unencrypted data but encryption enabled, clear local data"),t=!1),t&&n&&!this.encryptionEnabled&&(yield this.clear(!0),H.ctxWarn(this.ctx,"try to load encrpyted data but not enabled, clear local data"),t=!1),yield this.db.put("config",an.DbVersion.toString(),Ve.DbVersion),yield this.db.put("config",Date.now().toString(),Ve.DbLastOpen),yield this.db.put("config",this.encryptionEnabled.toString(),Ve.DbEncyption),t}))}loadConversation(){var e;return(0,o.__awaiter)(this,void 0,void 0,(function*(){const t=yield this.db.getAll("conversation");if(this.encryptionEnabled){const n=t.map((e=>An(this.ctx,this._key,e))),o=yield Promise.allSettled(n),r=[];for(const t of o)if("fulfilled"===t.status)r.push($t.fromStore(this.ctx,t.value));else{const{id:n}=t.reason.sender;H.ctxWarn(this.ctx,`decrypt conversation ${n} error, ${null===(e=t.reason)||void 0===e?void 0:e.message}`),yield this.db.delete("conversation",n)}return r}return t.map((e=>$t.fromStore(this.ctx,e)))}))}loadMessage(){var e;return(0,o.__awaiter)(this,void 0,void 0,(function*(){const t=yield this.db.getAll("message");if(this.encryptionEnabled){const n=t.map((e=>An(this.ctx,this._key,e))),o=yield Promise.allSettled(n),r=[];for(const t of o)if("fulfilled"===t.status)r.push(en.fromStore(this.ctx,t.value));else{const{clientId:n,conversationId:o}=t.reason.sender;H.ctxWarn(this.ctx,`decrypt message ${n} error, ${null===(e=t.reason)||void 0===e?void 0:e.message}`),yield this.db.delete("message",en.formatMessageKey({clientId:n,conversationId:o}))}return r}return t.map((e=>en.fromStore(this.ctx,e)))}))}loadParticipants(){var e;return(0,o.__awaiter)(this,void 0,void 0,(function*(){const t=yield this.db.getAll("participant");if(this.encryptionEnabled){const n=t.map((e=>An(this.ctx,this._key,e))),o=yield Promise.allSettled(n),r=[];for(const t of o)if("fulfilled"===t.status)r.push(tn.fromStore(this.ctx,t.value));else{const{conversationId:n,userId:o}=t.reason.sender;H.ctxWarn(this.ctx,`decrypt participant ${o} error, ${null===(e=t.reason)||void 0===e?void 0:e.message}`),yield this.db.delete("participant",tn.formatParticipantKey({conversationId:n,userId:o}))}return r}return t.map((e=>tn.fromStore(this.ctx,e)))}))}upsertMessage(e){return(0,o.__awaiter)(this,void 0,void 0,(function*(){const t=en.toStore(e);if(this.encryptionEnabled){const n=yield sn(this.ctx,this._key,t),o=Object.assign({conversationId:t.conversationId,clientId:t.clientId},n);yield this.db.put("message",o,en.formatMessageKey(e))}else yield this.db.put("message",t,en.formatMessageKey(e))}))}upsertConversation(e){return(0,o.__awaiter)(this,void 0,void 0,(function*(){const t=$t.toStore(e);if(this.encryptionEnabled){const n=yield sn(this.ctx,this._key,$t.toStore(e)),o=Object.assign({id:t.id},n);yield this.db.put("conversation",o)}else yield this.db.put("conversation",t)}))}upsertParticipant(e){return(0,o.__awaiter)(this,void 0,void 0,(function*(){const t=tn.toStore(e);if(this.encryptionEnabled){const e=yield sn(this.ctx,this._key,t),n=Object.assign({conversationId:t.conversationId,userId:t.userId},e);yield this.db.put("participant",n,tn.formatParticipantKey(n))}else yield this.db.put("participant",t,tn.formatParticipantKey(t))}))}deleteMessage(e){return(0,o.__awaiter)(this,void 0,void 0,(function*(){yield this.db.delete("message",en.formatMessageKey(e))}))}deleteConversation(e){return(0,o.__awaiter)(this,void 0,void 0,(function*(){yield this.clearConversation(e),yield this.db.delete("conversation",e.id)}))}deleteParticipant(e){return(0,o.__awaiter)(this,void 0,void 0,(function*(){yield this.db.delete("participant",tn.formatParticipantKey(e))}))}clearConversation(e){return(0,o.__awaiter)(this,void 0,void 0,(function*(){yield Promise.all([(()=>(0,o.__awaiter)(this,void 0,void 0,(function*(){var t,n;const r=this.db.transaction("message","readwrite"),i=r.store.index("__index_con_id");try{for(var s,A=(0,o.__asyncValues)(i.iterate(e.id));!(s=yield A.next()).done;){const t=s.value;t.value.conversationId===e.id&&(yield t.delete())}}catch(e){t={error:e}}finally{try{s&&!s.done&&(n=A.return)&&(yield n.call(A))}finally{if(t)throw t.error}}yield r.done})))(),(()=>(0,o.__awaiter)(this,void 0,void 0,(function*(){var t,n;const r=this.db.transaction("participant","readwrite"),i=r.store.index("__index_con_id");try{for(var s,A=(0,o.__asyncValues)(i.iterate(e.id));!(s=yield A.next()).done;){const t=s.value;t.value.conversationId===e.id&&(yield t.delete())}}catch(e){t={error:e}}finally{try{s&&!s.done&&(n=A.return)&&(yield n.call(A))}finally{if(t)throw t.error}}yield r.done})))()])}))}clear(e){return(0,o.__awaiter)(this,void 0,void 0,(function*(){yield Promise.all([this.db.clear("config"),this.db.clear("conversation"),this.db.clear("cursor"),this.db.clear("message"),this.db.clear("participant")]),e||(yield(0,Zt.MR)(an.DbNamePrefix+this.currentUserId))}))}loadUserCursor(e){return(0,o.__awaiter)(this,void 0,void 0,(function*(){const t=yield this.db.get("cursor",e);return void 0!==t?r.fromValue(t):void 0}))}saveUserCursor(e,t){return(0,o.__awaiter)(this,void 0,void 0,(function*(){yield this.db.put("cursor",t.toString(),e)}))}saveConfig(e,t){return(0,o.__awaiter)(this,void 0,void 0,(function*(){yield this.db.put("config",t,e)}))}loadConfig(e){var t;return(0,o.__awaiter)(this,void 0,void 0,(function*(){return null!==(t=yield this.db.get("config",e))&&void 0!==t?t:""}))}deleteConfig(e){return(0,o.__awaiter)(this,void 0,void 0,(function*(){yield this.db.delete("config",e)}))}}an.DbNamePrefix="imsdk",an.DbVersion=1;class cn extends ut{constructor(e,t){super(e),this.installed=!1,this.maxConversationCount=1e3,this.minMessageCount=200,this.driver=t}init(e){return(0,o.__awaiter)(this,void 0,void 0,(function*(){this.installed=!0;const t=J.performanceNow();try{const n=yield this.driver.init(e);return n&&(yield this.fillData(),H.ctxDebug(this.ctx,`load data from cache for user: ${e}`)),this.resolve(G.Monitor).emitDuration(nn.CacheInit+q.SuccessSuffix,t),n}catch(e){return H.ctxError(this.ctx,"init db error:",e),this.resolve(G.MessageManager).clearAll(),this.resolve(G.ConversationManager).clearAll(),this.resolve(G.ParticipantManager).clearAll(),this.resolve(G.Monitor).emitDuration(nn.CacheInit+q.ErrorSuffix,t),!1}}))}clear(){return this.driver.clear()}loadMessage(){return this.driver.loadMessage()}loadConversation(){return this.driver.loadConversation()}loadParticipants(){return this.driver.loadParticipants()}upsertMessage(e){var t;return(0,o.__awaiter)(this,void 0,void 0,(function*(){try{yield this.driver.upsertMessage(e)}catch(n){throw void 0!==n&&this.resolve(G.Monitor).emitTracker(ze.SaveMessageError,{error_msg:n.message,error_stack:n.stack,msg_source:Number.parseInt(null!==(t=e.source.toString())&&void 0!==t?t:"-1",10)}),n}}))}upsertConversation(e){return this.driver.upsertConversation(e)}upsertParticipant(e){return this.driver.upsertParticipant(e)}deleteMessage(e){return this.driver.deleteMessage(e)}deleteConversation(e){return this.driver.deleteConversation(e)}deleteParticipant(e){return this.driver.deleteParticipant(e)}clearConversation(e){return this.driver.clearConversation(e)}loadUserCursor(e){return(0,o.__awaiter)(this,void 0,void 0,(function*(){return this.driver.loadUserCursor(e)}))}saveUserCursor(e,t){return this.driver.saveUserCursor(e,t)}saveConfig(e,t){return this.driver.saveConfig(e,t)}loadConfig(e){return this.driver.loadConfig(e)}isOlderThan(e,t){return e.getTime()+86400*t*1e3this.resolve(G.InboxType).isValidInbox(e.inboxType)));this.resolve(G.ConversationManager).applyLocal(t),e.length!==t.length&&0!==e.length&&H.ctxWarn(this.ctx,`skip ${e.length-t.length} conversation for invalid inbox`);const n=yield this.driver.loadMessage(),o=n.filter((e=>t.some((t=>t.id===e.conversationId))));if(this.resolve(G.MessageManager).applyLocal(o),n.length!==o.length&&0!==n.length&&H.ctxWarn(this.ctx,`skip ${n.length-o.length} message for invalid inbox`),this.resolve(G.ParticipantManager)){const e=yield this.driver.loadParticipants(),n=e.filter((e=>t.some((t=>t.id===e.conversationId))));e.length!==n.length&&0!==e.length&&H.ctxWarn(this.ctx,`skip ${e.length-n.length} participant for invalid inbox`),this.resolve(G.ParticipantManager).applyLocal(n)}this.pruneData();let r=-1;"number"==typeof this.ctx.option.retention?r=this.ctx.option.retention:!0===this.ctx.option.retention&&(r=0),r>=0&&this.retention(r,o)}))}pruneData(){const e=J.performanceNow(),t=this.resolve(G.ConversationManager).getConversationArray((()=>!0)),n=this.resolve(G.MessageManager).getRawMap(),r=t.map((e=>e.id)).reduce(((e,t)=>(e[t]=!0,e)),{}),i=[];n.forEach(((e,t)=>{void 0===r[t]&&i.push(t)})),i.length>0&&(H.ctxWarn(this.ctx,"prune conversations:",i),setTimeout((()=>(0,o.__awaiter)(this,void 0,void 0,(function*(){for(const e of i)yield this.deleteConversation({id:e})}))),0)),this.resolve(G.Monitor).emitDuration(nn.CachePrune,e)}retention(e,t){const n=J.performanceNow(),r=this.resolve(G.ConversationManager).getConversationArray((()=>!0));if(r.length>this.maxConversationCount){const e=[];for(;r.length>this.maxConversationCount;)e.push(r.pop());e.length>0&&(setTimeout((()=>(0,o.__awaiter)(this,void 0,void 0,(function*(){for(const t of e)yield this.deleteConversation(t)})))),H.ctxWarn(this.ctx,`retention ${e.length} overflow conversations`))}const i=[];if(e>=0&&void 0!==t&&t.length>0){const n=he(t,(e=>e.conversationId));for(const t of Object.keys(n)){const o=n[t];if(o.length<=this.minMessageCount)continue;let r=o.length;for(const t of o){if(r<=this.minMessageCount)break;this.isOlderThan(t.createdAt,e)&&(i.push(t),r--)}}i.length>0&&(setTimeout((()=>(0,o.__awaiter)(this,void 0,void 0,(function*(){for(const e of i)yield this.deleteMessage(e)}))),0),H.ctxWarn(this.ctx,`retention ${i.length} overflow messages`))}this.resolve(G.Monitor).emitDuration(nn.CacheRetention,n)}}(0,o.__decorate)([rn],cn.prototype,"clear",null),(0,o.__decorate)([rn],cn.prototype,"loadMessage",null),(0,o.__decorate)([rn],cn.prototype,"loadConversation",null),(0,o.__decorate)([rn],cn.prototype,"loadParticipants",null),(0,o.__decorate)([rn],cn.prototype,"upsertMessage",null),(0,o.__decorate)([rn],cn.prototype,"upsertConversation",null),(0,o.__decorate)([rn],cn.prototype,"upsertParticipant",null),(0,o.__decorate)([rn],cn.prototype,"deleteMessage",null),(0,o.__decorate)([rn],cn.prototype,"deleteConversation",null),(0,o.__decorate)([rn],cn.prototype,"deleteParticipant",null),(0,o.__decorate)([rn],cn.prototype,"clearConversation",null),(0,o.__decorate)([rn],cn.prototype,"loadUserCursor",null),(0,o.__decorate)([rn],cn.prototype,"saveUserCursor",null),(0,o.__decorate)([rn],cn.prototype,"saveConfig",null),(0,o.__decorate)([rn],cn.prototype,"loadConfig",null);class ln extends It{install(){if(this.instance.clearCache=this.extendFunc(this.clearCache),!0===this.ctx.option.storage){const e=this.selectDriver();if(!e)return void H.ctxWarn(this.ctx,"no support driver found, disable db integration");this.driver=new cn(this.ctx,e),this.register(G.DbProxy,this.driver),void 0===this.ctx.option.integrityCheck&&(this.ctx.option.integrityCheck=!0)}this.api=this.register(G.StorageApi,Xt),this.register(G.StoragePlugin,this)}clearCache(){return(0,o.__awaiter)(this,void 0,void 0,(function*(){return yield this.dispose(),this.driver.clear()}))}selectDriver(){return void 0!==this.ctx.option.driver?this.ctx.option.driver:function(){if("undefined"==typeof window)return!1;for(const e of["indexedDB","IDBDatabase","IDBObjectStore","IDBTransaction","IDBIndex","IDBCursor","IDBKeyRange","IDBRequest"])if(!Object.prototype.hasOwnProperty.call(window,e)||!window[e])return!1;return!0}()?new an(this.ctx):void 0}init(){return(0,o.__awaiter)(this,void 0,void 0,(function*(){if(this.driver&&this.ctx.option.integrityCheck)try{yield this.checkConversation()}catch(e){H.ctxWarn(this.ctx,"conversation integrity check err, be careful for conversation missing:",e)}}))}checkConversation(){return(0,o.__awaiter)(this,void 0,void 0,(function*(){const e=this.resolve(G.ConversationManager).getConversationArray((e=>!e.isOffline)).length,t=[];for(const e of this.resolve(G.InboxType).getInboxTypeArray())void 0!==this.driver.loadUserCursor(e)&&(yield this.api.GetConversationsCheckInfo({inboxType:e})).conversation_checkinfo_list.forEach((e=>{const n=this.resolve(G.ConversationManager).getRaw(e.conversation_id);void 0!==n&&0!==n.getMessageList().length||t.push(e)}));let n=0;if(0!==t.length){H.ctxWarn(this.ctx,"conversation missing:",t);const e=t.map((e=>this.resolve(G.ConversationManager).getWithCreateLocal(e.conversation_id,e.conversation_short_id.toString(),e.conversation_type))),o=yield this.resolve(G.ConversationManager).refreshAsync(e);for(const e of o)try{yield this.resolve(G.CoreInstance).getMessagesByConversation({conversation:e})}catch(e){H.ctxError(this.ctx,"pulling integrity check message error:",e)}n=e.map((e=>this.resolve(G.ConversationManager).getRaw(e.id))).map((e=>void 0!==e&&0!==e.getMessageList().length)).filter((e=>!e)).length}this.resolve(G.Monitor).emitTracker(ze.IntegrityCheckConversation,{is_pre_check:"1",leak_count:t.length,link_mode:0,bad_check:0===n?"false":"true"}),this.resolve(G.Monitor).emitCounter(nn.IntegrityConversationCheckBefore,e),this.resolve(G.Monitor).emitCounter(nn.IntegrityConversationCheckFix,t.length),yield this.resolve(G.ConversationManager).refreshLocalAsync()}))}}class gn extends ${GetStrangerConversationList(e){return(0,o.__awaiter)(this,void 0,void 0,(function*(){const t=g.RequestBody.create({get_stranger_conversation_body:{cursor:e.cursor,count:r.fromValue(e.limit),show_total_unread:!0}});return this.sendWithRawBody(t,g.IMCMD.GET_STRANGER_CONVERSATION_LIST)}))}GetStrangerConversationMessage(e){return(0,o.__awaiter)(this,void 0,void 0,(function*(){const t=g.RequestBody.create({get_stranger_messages_body:{conversation_short_id:e.shortId,reset_unread_count:e.resetUnreadCount}});return this.sendWithRawBody(t,g.IMCMD.GET_STRANGER_MESSAGES_IN_CONVERSATION)}))}DeleteStrangerMessage(e){return(0,o.__awaiter)(this,void 0,void 0,(function*(){const t=g.RequestBody.create({delete_stranger_message_body:{conversation_short_id:e.shortId,server_message_id:e.serverId}});return this.send(t,g.IMCMD.DELETE_STRANGER_MESSAGE)}))}DeleteStrangerConversation(e){return(0,o.__awaiter)(this,void 0,void 0,(function*(){const t=g.RequestBody.create({delete_stranger_conversation_body:{conversation_short_id:e.shortId}});return this.send(t,g.IMCMD.DELETE_STRANGER_CONVERSATION)}))}MarkStrangerConversationRead(e){return(0,o.__awaiter)(this,void 0,void 0,(function*(){const t=g.RequestBody.create({mark_stranger_conversation_read_body:{conversation_short_id:e.shortId}});return this.send(t,g.IMCMD.MARK_STRANGER_CONVERSATION_READ)}))}MarkAllStrangerConversationRead(){return(0,o.__awaiter)(this,void 0,void 0,(function*(){const e=g.RequestBody.create({mark_stranger_all_conversation_read_body:{}});return this.send(e,g.IMCMD.MARK_ALL_STRANGER_CONVERSATIONS_READ)}))}DeleteAllStrangerConversation(){return(0,o.__awaiter)(this,void 0,void 0,(function*(){const e=g.RequestBody.create({delete_stranger_all_conversation_body:{}});return this.send(e,g.IMCMD.DELETE_ALL_STRANGER_CONVERSATIONS)}))}}class dn extends Be{get inboxType(){return 3}get unreadCount(){return this.internalUnreadCount}set unreadCount(e){this.internalUnreadCount=e}get mode(){const e=this.toParticipantUserId,t=this.id.split(":");return t[2]===e?1:t[3]===e?2:3}get ext(){return this.coreInfo.ext}set ext(e){this.coreInfo.ext=e}}class un extends $e{process(e){return(0,o.__awaiter)(this,void 0,void 0,(function*(){if(e.data.type===g.MessageType.MESSAGE_TYPE_MODE_CHANGE){const t=this.resolve(G.ConversationManager).getRaw(e.data.conversationId);if(!t)return H.ctxDebug(this.ctx,`conversation ${e.data.conversationId} not exist, ignore upgrade`),e;if(!t.isStrangerConversation)return H.ctxDebug(this.ctx,`conversation ${e.data.conversationId} not stranger, ignore upgrade`),e;this.resolve(G.ConversationManager).delete(e.data.conversationId,!0);const n=yield this.resolve(G.ConversationManager).getWithOnline(e.data.conversationId,e.data.conversationShortId,e.data.conversationType);this.resolve(G.ConversationManager).markRead(n.id,n.lastMessageIndex),H.ctxDebug(this.ctx,"stranger upgrade,",n),this.resolve(G.EventBus).emit(b.StrangerUpgrade,this,n),e.needContinue=!1}return e}))}}class pn extends It{constructor(){super(...arguments),this.internalUnreadCount=0}getStrangerConversationList(e={}){var t,n,i,s,A,a,c;return(0,o.__awaiter)(this,void 0,void 0,(function*(){const o=yield this.api.GetStrangerConversationList({cursor:e.cursor?r.fromValue(e.cursor):r.ZERO,limit:null!==(t=e.limit)&&void 0!==t?t:10}),l=null===(n=o.body)||void 0===n?void 0:n.get_stranger_conversation_body,d=l.conversation_list;this.internalUnreadCount=l.total_unread;let u=!1;if("0"===(null===(i=e.cursor)||void 0===i?void 0:i.toString())&&1===e.limit){const e=yield this.getStrangerPreview({sync:!1});d&&1===d.length&&(null===(s=null==e?void 0:e.conversation)||void 0===s?void 0:s.id)===d[0].conversation_id&&(null===(A=null==e?void 0:e.message)||void 0===A?void 0:A.serverId)===(null===(c=null===(a=d[0].last_message)||void 0===a?void 0:a.server_message_id)||void 0===c?void 0:c.toString())&&(null==e?void 0:e.unreadCount)===(null==l?void 0:l.total_unread)&&(u=!0)}const p=d.map((e=>{var t;const n=new dn(this.ctx);if(n.coreInfo=new ae(n),n.settingInfo=new le(n),n.id=e.conversation_id,n.shortId=e.conversation_short_id.toString(),n.type=g.ConversationType.ONE_TO_ONE_CHAT,n.unreadCount=e.unread,n.isOffline=!1,n.firstPageParticipant=g.ParticipantsPage.create({participants:e.participants}),n.ext=null!==(t=e.ext)&&void 0!==t?t:{},!u){this.resolve(G.ConversationManager).upsert(n);const t=Ce.fromServerMessage(this.ctx,e.last_message,o.log_id);this.resolve(G.MessageManager).upsert(t)}return n}));return{conversation:p,unreadCount:null==l?void 0:l.total_unread,hasMore:null==l?void 0:l.has_more,cursor:null==l?void 0:l.next_cursor}}))}getStrangerConversationMessage(e){var t,n;return(0,o.__awaiter)(this,void 0,void 0,(function*(){const o=yield this.api.GetStrangerConversationMessage({shortId:r.fromString(e.conversation.shortId),resetUnreadCount:null!==(t=e.resetUnreadCount)&&void 0!==t&&t});return(null===(n=o.body)||void 0===n?void 0:n.get_stranger_messages_body).messages.forEach((e=>this.resolve(G.MessageManager).upsert(Ce.fromServerMessage(this.ctx,e,o.log_id)))),this.resolve(G.MessageManager).getList(e.conversation.id)}))}deleteStrangerMessage(e){return(0,o.__awaiter)(this,void 0,void 0,(function*(){yield this.api.DeleteStrangerMessage({serverId:r.fromString(e.message.serverId),shortId:r.fromString(e.conversation.shortId)}),this.resolve(G.MessageManager).delete(e.conversation.id,e.message.serverId)}))}deleteStrangerConversation(e){return(0,o.__awaiter)(this,void 0,void 0,(function*(){yield this.api.DeleteStrangerConversation({shortId:r.fromString(e.conversation.shortId)}),this.resolve(G.ConversationManager).delete(e.conversation.id)}))}deleteAllStrangerConversation(){return(0,o.__awaiter)(this,void 0,void 0,(function*(){yield this.api.DeleteAllStrangerConversation(),this.resolve(G.ConversationManager).getConversationArray((e=>0!==e.mode)).forEach((e=>this.resolve(G.ConversationManager).delete(e.id))),this.internalUnreadCount=0}))}markStrangerConversationRead(e){return(0,o.__awaiter)(this,void 0,void 0,(function*(){yield this.api.MarkStrangerConversationRead({shortId:r.fromString(e.conversation.shortId)}),this.internalUnreadCount-=e.conversation.unreadCount,e.conversation.unreadCount=0,this.resolve(G.ConversationManager).upsert(e.conversation)}))}markAllStrangerConversationRead(){return(0,o.__awaiter)(this,void 0,void 0,(function*(){yield this.api.MarkAllStrangerConversationRead(),this.resolve(G.ConversationManager).getConversationArray((e=>0!==e.mode)).forEach((e=>{e.unreadCount=0,this.resolve(G.ConversationManager).upsert(e)})),this.internalUnreadCount=0}))}setStrangerTotalUnread(e){this.internalUnreadCount=e}getStrangerTotalUnread(){return this.internalUnreadCount}getStrangerPreview(e={}){var t;return(0,o.__awaiter)(this,void 0,void 0,(function*(){const n=yield this.refreshStrangerPreviewConversation(null!==(t=null==e?void 0:e.sync)&&void 0!==t&&t);return n?{conversation:n,message:n.lastVisibleMessage,unreadCount:this.internalUnreadCount}:null}))}getLocalStrangerConversation(){return this.resolve(G.ConversationManager).getConversationArray((e=>0!==e.mode))}install(){this.api=this.register(G.StrangerApi,gn),this.register(G.StrangerPlugin,this),this.instance.getStrangerConversationList=this.extendFunc(this.getStrangerConversationList),this.instance.getStrangerConversationMessage=this.extendFunc(this.getStrangerConversationMessage),this.instance.deleteStrangerMessage=this.extendFunc(this.deleteStrangerMessage),this.instance.deleteStrangerConversation=this.extendFunc(this.deleteStrangerConversation),this.instance.deleteAllStrangerConversation=this.extendFunc(this.deleteAllStrangerConversation),this.instance.markStrangerConversationRead=this.extendFunc(this.markStrangerConversationRead),this.instance.markAllStrangerConversationRead=this.extendFunc(this.markAllStrangerConversationRead),this.instance.getStrangerTotalUnread=this.extendFunc(this.getStrangerTotalUnread),this.instance.getStrangerPreview=this.extendFunc(this.getStrangerPreview),this.instance.getLocalStrangerConversation=this.extendFunc(this.getLocalStrangerConversation),this.resolve(G.MessageManager).injectProcessor(new un(this.ctx)),this.resolve(G.EventBus).subscribe(b.StrangerUpgrade,(e=>(0,o.__awaiter)(this,void 0,void 0,(function*(){yield this.resolve(G.CoreInstance).getMessagesByUser({inboxType:e.inboxType})}))))}init(){return(0,o.__awaiter)(this,void 0,void 0,(function*(){try{yield this.getStrangerPreview({sync:!0})}catch(e){H.ctxWarn(this.ctx,"stranger plugin init error:",e)}}))}receivePacket(e){var t;return(0,o.__awaiter)(this,void 0,void 0,(function*(){if(e.cmd===g.IMCMD.STRANGER_NEW_MSG_NOTIFY){const n=null===(t=e.body)||void 0===t?void 0:t.has_new_message_notify.message;if(!this.resolve(G.ConversationManager).getRaw(n.conversation_id))return;const o=Ce.fromServerMessage(this.ctx,n,e.log_id);this.resolve(G.MessageManager).upsert(o),this.internalUnreadCount++,this.resolve(G.EventBus).emit(b.ReceiveNewStrangerMessage,this,o)}}))}ticker(){return(0,o.__awaiter)(this,void 0,void 0,(function*(){this.ctx.option.pullInterval&&(yield this.refreshStrangerPreviewConversation(!0))}))}refreshStrangerPreviewConversation(e=!1){return(0,o.__awaiter)(this,void 0,void 0,(function*(){e&&(yield this.getStrangerConversationList({cursor:r.ZERO,limit:1}));const t=this.resolve(G.ConversationManager).getConversationArray((e=>e.isStrangerConversation||3===e.inboxType&&e.ext.stranger===this.ctx.option.userId));for(const e of t)if(e.lastVisibleMessage)return e;return null}))}}class hn{constructor(e){this.slardar=e}emitError(e,t){"function"==typeof this.slardar.captureException&&e.type!==w.NetworkError&&this.slardar.captureException(e,Object.assign(Object.assign({},t),{type:`${e.type}:${w[e.type]}`,msg:e.msg,logid:e.logid,args:e.args}))}emitNetwork(e,t,n){void 0!==t&&0!==t.status_code&&this.slardar.sendLog({level:"error",content:`Response Error:${t.status_code}, cmd: ${t.cmd} msg: ${t.error_desc}, logid: ${t.log_id}`,extra:Object.assign({cmd:`${t.cmd}`},n)})}emitEvent(e,t,n){}emitLog(e,t){if(e===x.debug)return;const n={};t.forEach(((e,t)=>{n[t]=e})),this.slardar.sendLog({level:x[e],content:t.join(","),extra:Object.assign({},n)})}emitTracker(e,t){this.slardar.sendLog({level:"debug",content:e,extra:t})}emitMetrics(e,t={},n={}){this.slardar.sendEvent({name:e,metrics:t,categories:n})}}class _n{constructor(e){this.slardar=e}emitError(e,t){e.type!==w.NetworkError&&this.slardar("captureException",e,t)}emitNetwork(e,t,n){void 0!==t&&0!==t.status_code&&this.slardar("emit","log",{value:`Response Error:${t.status_code}, cmd: ${t.cmd} msg: ${t.error_desc}, logid: ${t.log_id}`,level:"error",tags:Object.assign({cmd:`${t.cmd}`},n)})}emitEvent(e,t,n){}emitLog(e,t){if(e===x.debug)return;const n={};t.forEach(((e,t)=>{n[t]=e})),this.slardar("emit","log",{value:t.join(","),level:x[e],tags:n})}emitTracker(e,t){this.slardar("emit","log",{value:e,level:"debug",tags:t})}emitMetrics(e,t={},n={}){}}class yn extends It{constructor(){super(...arguments),this.ignoreMethods=["getStrangerTotalUnread","getLocalStrangerConversation","checkRtcRequirements","parseContent","unreadCountReport","getMessageReferencedInfo","initAdapter","getConversationParticipants","broadcastGetConversation","createMessage","createTextMessage","createFileMessage","sendMessage","getMessageReadReceipt","createConversation","getConversationOnline","getConversationListOnline","getStrangerPreview","emojify","randomEmoji","getAllEmoji","constructor","getUserCursor","setUserCursor","init","getConversation","getConversationList","dispose","intervalFunc","receivePacket","messageFilter","sendMessageObject","tickerUpdate","prepareHistoryForInbox","prepareToken","clearCache","resolve","getContext","processInitMessage","processInitConversation","patchMessage","clientAck"]}beforeHook(e,t){if(this.ctx.option.aspectBefore)return this.ctx.option.aspectBefore({name:e,params:t})}afterHook(e,t,n,o){const r=this.resolve(G.Monitor).emitDuration(q.BizApiInvoke+q.SuccessSuffix,n,{name:e});this.ctx.option.aspectAfter&&this.ctx.option.aspectAfter({name:e,params:t,duration:r,result:o})}errorHook(e,t,n,o){const r=this.resolve(G.Monitor).emitDuration(q.BizApiInvoke+q.ErrorSuffix,o,{name:e,error:n.type?`${n.type}:${w[n.type]}`:"unknown"});if(this.ctx.option.aspectError){const o=this.ctx.option.aspectError({name:e,params:t,duration:r,error:n});return void 0===o||Boolean(o)}return!0}wrapMetricsAsync(e,t){let n=0;return r=>(0,o.__awaiter)(this,void 0,void 0,(function*(){try{if(!1===this.beforeHook(e,r))return;H.ctxDebug(this.ctx,"check if execute wrap metrics",e),n=J.performanceNow();const o=yield t.call(this.instance,r);return this.afterHook(e,r,n,o),o}catch(t){if(this.errorHook(e,r,t,n))throw t}}))}getFuncs(){let e=[];const{instance:t}=this,n=Object.getOwnPropertyNames(t);e=e.concat(n);const o=Object.getPrototypeOf(t),r=Object.getOwnPropertyNames(o);e=e.concat(r);const i=Object.getOwnPropertyNames(Object.getPrototypeOf(o));return e=e.concat(i),e.filter((e=>"function"==typeof this.instance[e]&&!this.ignoreMethods.includes(e)&&!e.startsWith("__internal")))}install(){this.register(G.MetricsPlugin,this),void 0===this.ctx.option.timeCalibration&&(this.ctx.option.timeCalibration=!0),this.ctx.option.monitor=this.unifyMonitorConfig();const e=this.initMetricsMonitor();void 0!==e&&(H.ctxDebug(this.ctx,"install metrics monitor:",e),this.ctx.option.monitor.push(...Array.isArray(e)?e:[e]));const t=this.instance,n=this.getFuncs();for(const e of n){const n=t[e];H.ctxDebug(this.ctx,`wrapping metrics for ${e}`),t[e]=this.wrapMetricsAsync(e,n)}this.subscribeTrackerEvent()}receivePacket(e){return(0,o.__awaiter)(this,void 0,void 0,(function*(){}))}subscribeTrackerEvent(){this.resolve(G.EventBus).subscribe(b.Error,(e=>{this.resolve(G.Monitor).emitTracker(ze.Exception,{error_stack:e.stack})})),this.resolve(G.EventBus).subscribe(b.InitFinish,(e=>{const t=this.instance.getConversationList(),n=t.map((e=>e.getMessageList().length)).reduce(((e,t)=>e+t),0);this.resolve(G.Monitor).emitTracker(ze.InitHandler,{conv_count:t.length,total_msg_count:n,is_success:"1"})}))}unifyMonitorConfig(){const e=this.ctx.option.monitor;return Array.isArray(e)?e:void 0!==e?(this.ctx.option.monitor=[e],this.ctx.option.monitor):(this.ctx.option.monitor=[],this.ctx.option.monitor)}initMetricsMonitor(){if("function"==typeof this.ctx.option.metrics){const e=this.ctx.option.metrics;if("function"==typeof e.sendEvent&&"function"==typeof e.sendLog){H.ctxDebug(this.ctx,"use provided @slardar/web instance",this.ctx.option.metrics);const t=[e];if("function"==typeof e.create){const n=e.create(),{appId:o,userId:r,boe:i,ppe:s}=this.ctx.option;let A;i?A="string"==typeof i?i:"boe":s&&(A=s),n("context.merge",{aid:`${o}`}),n("init",{bid:"im_web_sdk",userId:`${o}:${r}`,env:A,plugins:{jsError:!1,breadcrumb:!1,resource:!1,resourceError:!1,ajax:!1,fetch:!1,performance:!1,fmp:!1,tti:!1,blankScreen:!1,action:!1}}),n("start"),t.push(n)}return t.map((e=>new hn(e)))}return H.ctxDebug(this.ctx,"use provided @slardar/sdk instance",this.ctx.option.metrics),new _n(this.ctx.option.metrics)}}}class In extends It{constructor(){super(...arguments),this.enabled=!0}install(){this.register(G.SharkPlugin,this);try{void 0!==this.ctx.option.sharkAppName&&void 0!==this.ctx.option.sharkPriorityRegion||(H.ctxWarn(this.ctx,"shark required field not provided, ignore shark params"),this.enabled=!1),"undefined"==typeof navigator&&H.ctxWarn(this.ctx,"window.navigator not available, may missing param"),"undefined"==typeof screen&&H.ctxWarn(this.ctx,"window.screen not available, may missing param"),"undefined"==typeof document&&H.ctxWarn(this.ctx,"window.document not available, may missing param"),"undefined"!=typeof Intl&&"undefined"!=typeof Intl&&"function"==typeof Intl.DateTimeFormat&&"function"==typeof Intl.DateTimeFormat().resolvedOptions||H.ctxWarn(this.ctx,"window.Intl not available, may missing param")}catch(e){H.ctxError(this.ctx,"shark init error:",e),this.enabled=!1}}sendPacket(e){return(0,o.__awaiter)(this,void 0,void 0,(function*(){return this.enabled&&this.fillSharkParam(e),e}))}fillSharkParam(e){var t,n,o,r,i,s,A,a,c,l,g,d,u,p,h,_,y;const I={};try{I.session_aid=null!==(t=this.ctx.option.appId.toString())&&void 0!==t?t:"",I.session_did=null!==(n=this.ctx.option.deviceId.toString())&&void 0!==n?n:"",I.app_name=this.ctx.option.sharkAppName,I.priority_region=this.ctx.option.sharkPriorityRegion,"undefined"!=typeof navigator&&(I.user_agent=null!==(o=navigator.userAgent)&&void 0!==o?o:"",I.cookie_enabled=null!==(i=null===(r=navigator.cookieEnabled)||void 0===r?void 0:r.toString())&&void 0!==i?i:"",I.browser_language=null!==(s=navigator.language)&&void 0!==s?s:"",I.browser_platform=null!==(A=navigator.platform)&&void 0!==A?A:"",I.browser_name=null!==(a=navigator.appCodeName)&&void 0!==a?a:"",I.browser_version=null!==(c=navigator.appVersion)&&void 0!==c?c:"",I.browser_online=null!==(g=null===(l=navigator.onLine)||void 0===l?void 0:l.toString())&&void 0!==g?g:""),"undefined"!=typeof screen&&(I.screen_width=null!==(u=null===(d=screen.width)||void 0===d?void 0:d.toString())&&void 0!==u?u:"",I.screen_height=null!==(h=null===(p=screen.height)||void 0===p?void 0:p.toString())&&void 0!==h?h:""),"undefined"!=typeof document&&(I.referer=null!==(_=document.referrer)&&void 0!==_?_:""),"undefined"!=typeof Intl&&"function"==typeof Intl.DateTimeFormat&&"function"==typeof Intl.DateTimeFormat().resolvedOptions&&(I.timezone_name=null!==(y=Intl.DateTimeFormat().resolvedOptions().timeZone)&&void 0!==y?y:"")}catch(e){H.ctxWarn(this.ctx,"load shark param error, may missing param",e)}e.headers=Object.assign(Object.assign({},e.headers),I)}}class fn extends ${getMultiUsersByUids(e){return(0,o.__awaiter)(this,void 0,void 0,(function*(){const t=new URLSearchParams({aid:"1988",user_ids:`[${e.uids.map((e=>`"${e}"`)).join(",")}]`}),n=`${window.location.origin}/tiktok/v1/im/user/profile/?${t}`,o=yield this.resolve(G.NetworkManager).sendByHttpWithoutArrayBuffer(n,"GET"),r=yield o.text();return ce.parse(r)}))}}class mn extends It{getMultiUsersByUids(e){return(0,o.__awaiter)(this,void 0,void 0,(function*(){return this.api.getMultiUsersByUids({uids:e.uids})}))}install(){this.api=new fn(this.getContext()),this.ctx.register(G.UserPlugin,this),this.ctx.register(G.UserApi,this.api),this.instance.getMultiUsersByUids=this.extendFunc(this.getMultiUsersByUids)}}class Bn extends ${GetConversationGroupList(e){var t,n;return(0,o.__awaiter)(this,void 0,void 0,(function*(){const o=null===(t=e.groupList)||void 0===t?void 0:t.map((e=>{var t,n,o,r;const s=g.GroupNameDefinition.create({user_id:null===(t=e.groupName)||void 0===t?void 0:t.userId,custom_group_name:null===(n=e.groupName)||void 0===n?void 0:n.customGroupName});return g.GroupListReqParam.create({group_name:s,cursor:e.cursor?i().fromValue(e.cursor):i().ZERO,direction:null!==(o=e.direction)&&void 0!==o?o:g.ConversationListDirection.CONVERSATION_ASC,limit:null!==(r=e.limit)&&void 0!==r?r:10})})),r=g.RequestBody.create({get_conversation_group_list_body:{group_list_req_param:o}});return null===(n=(yield this.sendWithRawBody(r,g.IMCMD.GET_CONVERSATION_GROUP_LIST,{inboxType:e.inboxType,forceHttp:!0})).body)||void 0===n?void 0:n.get_conversation_group_list_body}))}}class Cn extends It{getConversationGroupList(e){var t,n;return(0,o.__awaiter)(this,void 0,void 0,(function*(){const o=yield this.api.GetConversationGroupList({groupList:e.groupList,inboxType:null!==(t=e.inboxType)&&void 0!==t?t:this.resolve(G.InboxType).getDefaultInbox()}),r=null===(n=null==o?void 0:o.data)||void 0===n?void 0:n.map((e=>{var t,n,o;const r={userId:null===(t=e.group_name)||void 0===t?void 0:t.user_id,customGroupName:null===(n=e.group_name)||void 0===n?void 0:n.custom_group_name},i=e.has_more,s=e.total_count,A=e.cursor,a=null===(o=e.conversations)||void 0===o?void 0:o.map((e=>{var t;return{conversation:e.conversation_info?yt.fromServerConversation(e.conversation_info):void 0,messages:null===(t=e.messages)||void 0===t?void 0:t.map((e=>Ce.fromServerMessage(this.ctx,e)))}}));return{groupName:r,hasMore:i,totalCount:s,conversations:a,cursor:A}}));return r}))}install(){this.api=new Bn(this.getContext()),this.ctx.register(G.BizApi,this.api),this.ctx.register(G.BizPlugin,this),this.instance.getConversationGroupList=this.extendFunc(this.getConversationGroupList)}}},67768:(e,t,n)=>{"use strict";n.d(t,{ck:()=>ue,hp:()=>K});var o=n(40099),r=n(7874),i=n.n(r);function s(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function A(e,t){for(var n=0;n=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(o=0;o=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}function _(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,o=u(e);if(t){var r=u(this).constructor;n=Reflect.construct(o,arguments,r)}else n=o.apply(this,arguments);return function(e,t){return!t||"object"!=typeof t&&"function"!=typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}(this,n)}}function y(e,t,n){return y="undefined"!=typeof Reflect&&Reflect.get?Reflect.get:function(e,t,n){var o=function(e,t){for(;!Object.prototype.hasOwnProperty.call(e,t)&&null!==(e=u(e)););return e}(e,t);if(o){var r=Object.getOwnPropertyDescriptor(o,t);return r.get?r.get.call(n):r.value}},y(e,t,n||e)}function I(e){return function(e){if(Array.isArray(e))return f(e)}(e)||function(e){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(e))return Array.from(e)}(e)||function(e,t){if(e){if("string"==typeof e)return f(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?f(e,t):void 0}}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function f(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,o=new Array(t);n1&&void 0!==arguments[1]&&arguments[1];if(!e)return"";var n=e.type,o=e.props,r=(o.children,o.id),i=o.type,s=o.parentID,A=h(o,["children","id","type","parentID"]);return s&&(A={"@id":s}),A=Object.assign(r?{"@id":r}:{},i?{"@type":i}:{},A),new n(e.props).getJSON(t,A)}},{key:"parseChildren",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]&&arguments[0],n=this.props.children;return n?n.length>0?n.map((function(n){return e.getChildJSON(n,t)})):[this.getChildJSON(n,t)]:[]}},{key:"render",value:function(){return null}}]),n}(o.Component);c(L,"propTypes",{schema:i().object,id:i().string});var T={schemaType:"Generic",requiredProps:{genericType:i().string.isRequired,genericKey:i().string.isRequired,schema:i().object.isRequired}},P={schemaType:"VideoObject",schemaKey:"video",requiredProps:{name:i().string.isRequired,description:i().string.isRequired,thumbnailUrl:i().arrayOf(i().string).isRequired,uploadDate:i().string.isRequired,expires:i().string,caption:i().string,commentCount:i().string,contentUrl:i().string,embedUrl:i().string,interactionCount:i().string,keywords:i().string,musicBy:i().shape({name:i().string.isRequired,alternateName:i().string,mainEntityOfPage:i().shape((m={},c(m,"@type",i().string.isRequired),c(m,"@id",i().string.isRequired),m))})}},G={schemaType:"BroadcastEvent",schemaKey:"publication",requiredProps:{name:i().string.isRequired,isLiveBroadcast:i().bool.isRequired,startDate:i().string.isRequired,endDate:i().string.isRequired,publishedBy:i().string,publishedOn:i().string}},x={schemaType:"MusicRecording",schemaKey:"MusicRecording",requiredProps:{name:i().string.isRequired,url:i().string.isRequired,description:i().string,image:i().string,duration:i().string,byArtist:i().shape((B={},c(B,"@type",i().string.isRequired),c(B,"name",i().arrayOf(i().string)),B)),inAlbum:i().shape((C={},c(C,"@type",i().string.isRequired),c(C,"name",i().string),C))}},Y={schemaType:"Organization",schemaKey:"publisher",requiredProps:{id:i().string,url:i().string.isRequired,logo:i().shape((E={},c(E,"@type",i().string.isRequired),c(E,"url",i().string.isRequired),E)),name:i().string.isRequired,sameAs:i().arrayOf(i().string)}},j={schemaType:"ContactPoint",schemaKey:"contactPoint",requiredProps:{telephone:i().string.isRequired,contactType:i().string.isRequired}},F={schemaType:"Person",schemaKey:"author",requiredProps:{name:i().string.isRequired,alternateName:i().string,description:i().string,mainEntityOfPage:i().shape((v={},c(v,"@type",i().string.isRequired),c(v,"@id",i().string.isRequired),v))}},N={schemaType:"ProfilePage",schemaKey:"mainEntityOfPage",requiredProps:{type:i().string,id:i().string}},U={schemaType:"Comment",schemaKey:"comment",requiredProps:{comment:i().arrayOf(i().shape((w={},c(w,"@type",i().string.isRequired),c(w,"text",i().string.isRequired),c(w,"author",i().shape((b={},c(b,"@type",i().string.isRequired),c(b,"name",i().string.isRequired),c(b,"alternateName",i().string),c(b,"mainEntityOfPage",i().shape((Q={},c(Q,"@type",i().string.isRequired),c(Q,"@id",i().string.isRequired),Q))),b))),w)))}},H={schemaType:"ItemList",schemaKey:"itemListElement",requiredProps:{itemListElement:i().arrayOf(i().shape((M={},c(M,"@type",i().string.isRequired),c(M,"position",i().number.isRequired),c(M,"url",i().string.isRequired),M))).isRequired}},q={schemaType:"BreadcrumbList",schemaKey:"BreadcrumbList",requiredProps:{itemListElement:i().arrayOf(i().shape((D={},c(D,"@type",i().string.isRequired),c(D,"position",i().number.isRequired),c(D,"item",i().shape((k={},c(k,"@type",i().string.isRequired),c(k,"@id",i().string.isRequired),c(k,"name",i().string.isRequired),k)).isRequired),D))).isRequired}},J={GenericSchema:T,VideoSchema:P,BroadcastEventSchema:G,MusicRecordingSchema:x,OrganizationSchema:Y,ContactSchema:j,PersonSchema:F,PageSchema:N,CommentsSchema:U,ItemListSchema:H,EventSchema:{schemaType:"Event",schemaKey:"Event",requiredProps:{name:i().string.isRequired,description:i().string.isRequired,startDate:i().string.isRequired,endDate:i().string.isRequired,image:i().arrayOf(i().string),location:i().object,offers:i().object,performer:i().object}},LocationSchema:{schemaType:"Place",schemaKey:"location",isParent:!0,requiredProps:{name:i().string.isRequired,address:i().object}},AddressSchema:{schemaType:"PostalAddress",schemaKey:"address",requiredProps:{streetAddress:i().string.isRequired,addressLocality:i().string.isRequired,postalCode:i().string.isRequired,addressRegion:i().string.isRequired,addressCountry:i().string.isRequired}},OffersSchema:{schemaType:"Offer",schemaKey:"offers",requiredProps:{url:i().string.isRequired,price:i().string.isRequired,priceCurrency:i().string.isRequired,availability:i().string.isRequired,validFrom:i().string.isRequired}},PerformerSchema:{schemaType:"PerformingGroup",schemaKey:"performer",requiredProps:{name:i().string.isRequired}},WebSiteSchema:{schemaType:"WebSite",schemaKey:"WebSite",requiredProps:{id:i().string,url:i().string.isRequired,name:i().string.isRequired,description:i().string.isRequired}},BreadcrumbSchema:q,ArticleSchema:{schemaType:"NewsArticle",schemaKey:"article",requiredProps:{headline:i().string.isRequired,image:i().arrayOf(i().string),datePublished:i().string.isRequired,dateModified:i().string.isRequired}},QAPageSchema:{schemaType:"QAPage",schemaKey:"qaPage",requiredProps:{mainEntity:i().shape({"@type":i().string.isRequired,name:i().string.isRequired,answerCount:i().number.isRequired,text:i().string,upvoteCount:i().string,dateCreated:i().string,author:i().shape((O={},c(O,"@type",i().string.isRequired),c(O,"name",i().string.isRequired),O)),acceptedAnswer:i().shape({"@type":i().string.isRequired,text:i().string.isRequired,dateCreated:i().string,upvoteCount:i().string,url:i().string,author:i().shape((S={},c(S,"@type",i().string.isRequired),c(S,"name",i().string.isRequired),S))}),suggestedAnswer:i().arrayOf(i().shape({"@type":i().string.isRequired,text:i().string.isRequired,dateCreated:i().string,upvoteCount:i().string,url:i().string,author:i().shape((R={},c(R,"@type",i().string.isRequired),c(R,"name",i().string.isRequired),R))}))}).isRequired}}},K=function(e){var t="",n=e.id,r=e.dangerouslyExposeHtml,i=e.children;try{if(i){var s=i.type,A=i.props,a=(A.children,A.id),c=A.type,l=h(A,["children","id","type"]),g=new s(A).getJSON(!0,l);t=Object.assign(a?{"@id":a}:{},c?{"@type":c}:{},{"@context":"https://schema.org/"},g)}}catch(e){console.error("[JSONLD] Sciprt ".concat(n," ").concat(e,", only allow one top child."))}return r?o.createElement("script",{type:"application/ld+json",id:n,dangerouslySetInnerHTML:{__html:JSON.stringify(t)}}):o.createElement("script",{type:"application/ld+json",id:n},JSON.stringify(t))};K.propTypes={dangerouslyExposeHtml:i().bool},K.defaultProps={dangerouslyExposeHtml:!1};var V=J.VideoSchema,z=J.BroadcastEventSchema,W=J.MusicRecordingSchema,X=J.OrganizationSchema,Z=J.ContactSchema,$=J.PersonSchema,ee=J.PageSchema,te=J.ItemListSchema,ne=J.EventSchema,oe=J.LocationSchema,re=J.AddressSchema,ie=J.OffersSchema,se=J.PerformerSchema,Ae=J.WebSiteSchema,ae=J.CommentsSchema,ce=J.BreadcrumbSchema,le=J.ArticleSchema,ge=J.QAPageSchema,de=function(e){var t=e.schemaType,n=e.schemaKey,o=e.requiredProps,r=void 0===o?{}:o,A=e.isParent,l=void 0!==A&&A;return function(e){d(A,e);var o=_(A);function A(){return s(this,A),o.apply(this,arguments)}return a(A,[{key:"getJSON",value:function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0],o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};try{i().checkPropTypes(r,o,n,t)}catch(e){console.error("[JSONLD] Sciprt ".concat(t," ").concat(e))}var s={},a=y(u(A.prototype),"parseChildren",this).call(this,!1);if("Generic"===t){var d=this.props,p=d.genericType,h=d.genericKey,_=g({"@type":p},d.schema);s=e?Object.assign.apply(Object,[_].concat(I(a))):Object.assign.apply(Object,[c({},h,_)].concat(I(a)))}else{var f=g({"@type":t},o);s=e?Object.assign.apply(Object,[f].concat(I(a))):l?c({},n,Object.assign.apply(Object,[f].concat(I(a)))):Object.assign.apply(Object,[c({},n,f)].concat(I(a)))}return s}}]),A}(L)},ue=de(J.GenericSchema);de(V),de(z),de(Z),de(X),de($),de(ee),de(te),de(ne),de(oe),de(re),de(ie),de(se),de(Ae),de(ae),de(ce),de(W),de(le),de(ge)},67835:(e,t,n)=>{"use strict";n.d(t,{p:()=>s});var o=n(40099),r=n(54757),i=n(863);const s=({strategy:e={},schemeParams:t={},fallbackURLParams:n={},experimentalFallbackTemplateURLParams:s={},checkOpenTime:A,useNewRedirectPath:a,uniqueId:c,experimentalSkipSchemes:l,enableApiOptimization:g,onInstalledRelatedAppsLoad:d,children:u,enableClickS2S:p=!1,enableImpression:h=!1,useMarketSchemaForS2S:_=!1,experimentalReportClick:y,experimentalReportClickWaitTime:I,experimentalUseAppLink:f,experimentalUseBetterAppLink:m,onImpression:B,experimentalEnableCoinApiOptimization:C,jumpHook:E,disableAfdp:v,experimentalUseShortDl:Q,autoFillWhiteList:b,enableImpAfdp:w,enableImpParamsUrl:M})=>{const{relatedApps:k,initialized:D,costTime:O}=(0,r.xp)(),S=(0,o.useRef)(!1);(0,o.useEffect)((()=>{D&&(null==d||d({relatedApps:k,initialized:D,costTime:O}))}),[k,D,O]);const R=(0,o.useMemo)((()=>({strategy:e,schemeParams:t,fallbackURLParams:n,experimentalFallbackTemplateURLParams:s,checkOpenTime:A,uniqueId:c,useNewRedirectPath:a,experimentalSkipSchemes:l,enableApiOptimization:g,installedApps:k,initialized:D,enableClickS2S:p,enableImpression:h,impressionReported:S,onImpression:B,useMarketSchemaForS2S:_,experimentalEnableCoinApiOptimization:C,experimentalReportClick:y,experimentalReportClickWaitTime:I,experimentalUseBetterAppLink:m,experimentalUseAppLink:f,jumpHook:E,disableAfdp:v,experimentalUseShortDl:Q,autoFillWhiteList:b,enableImpAfdp:w,enableImpParamsUrl:M})),[e,t,n,s,A,c,a,l,g,k,D,p,h,S,B,_,C,y,m,I,f,E,v,Q,b,w,M]);return o.createElement(i.J.Provider,{value:R},u)}},49952:(e,t,n)=>{"use strict";n.d(t,{F:()=>b});var o,r,i=n(40099),s=n(863);(r=o||(o={})).START="jump_start",r.SCHEME_START="jump_schema_start",r.CHECK="jump_check",r.FAIL="jump_fail",r.APP_LINK="jump_app_link";var A=n(10005),a=n(58996),c=n(54757);function l(e,t="impression"){const n=new XMLHttpRequest,o=`https://www.tiktok.com/impression?onelink=${encodeURIComponent(e)}&type=${t}`;return n.open("GET",o),n.send(),n}function g(e,t="impression"){return new Promise((n=>{l(e,t).onreadystatechange=function(){4===this.readyState&&n()}}))}let d;const u="onelink.me",p="/download-link/ol",h=[u,p];function _(e){return new Promise((t=>setTimeout(t,e)))}const y=(e,t)=>{const n=h.some((t=>-1!==e.indexOf(t)))&&("tiktok_app"===t||"tiktok_lite_app"===t);if(!n)return[void 0,!1];const o=(0,A.mX)(e);return[o,n&&Boolean(o)]},I=({url:e,autofillSchemeUrl:t,autoFillParamList:n=A.Bw,needAppendSchemeUrl:o=!1})=>{if(!t)return e;try{const r=new URL(e),i=r.pathname.includes(p);let s=!1;for(const e of n)r.searchParams.has(e)&&(r.searchParams.set(e,""),s=!0);return o&&s&&i&&r.searchParams.set("scheme_url",t),r.toString()}catch(e){}return e};function f({processedSchemes:e,processedFallbackURL:t,enableClickS2S:n,region:o,useNewRedirectPath:r,launchType:i="tiktok_app",useMarketSchemaForS2S:s=!1,useShortDl:a=!1,autoFillWhiteList:c=A.Bw}){var l;const g=e[0],d=`${(o?(0,A.dX)(o):e.some((e=>e.startsWith("snssdk1180"))))?A.Yp:A.NC}/${r?A.hQ.now_app:null!==(l=A.hQ[i])&&void 0!==l?l:A.hQ.tiktok_app}`,u=a?"short_dl":"dl",p=a?I({url:t,autofillSchemeUrl:g,autoFillParamList:c}):t;let h=`${d}?redirect_url=${encodeURIComponent(g)}&${u}=${encodeURIComponent(p)}&decode_once=1`;if(n){const[e,n]=y(t,i);n&&(h+=`&s2sAppType=${e}&s2s=1`),s&&(h+="&useMarket=1")}return h}function m(e,t){t?t(e):location.href=e}function B(){const e=new URLSearchParams(window.location.search).get("ug_source");if(e)return{ug_source:e};const{userAgent:t}=navigator;for(const[e,n]of Object.entries(A.E4))if(n.test(t))return{ug_source:e};return{}}function C({strategy:e,buildInSchemeParams:t={},buildInFallbackURLParams:n={},customs:o={}}){const{links:r,providerContext:i}=e;let{schemeParams:s={},fallbackURLParams:a={},experimentalFallbackTemplateURLParams:c={}}=e;const{disableAfdp:l=!1,addParamsUrl:g=!1,removeParamsUrlForAfdp:d=!1}=o,{schemeParams:u,fallbackURLParams:p}=i;let{experimentalFallbackTemplateURLParams:h}=i;const{url_schemes:_,url_fallback:y,extra:I}=r,f=null!=_?_:[];if(!f[0])throw new Error("Schemes empty");const m=f[0].startsWith("snssdk1180")?"t":f[0].startsWith("snssdk1233")?"m":"lite";let B={appType:m};try{B=Object.assign(Object.assign({},B),JSON.parse(null!=I?I:""))}catch(e){}if("function"==typeof s)try{s=s(B)}catch(e){s={}}if("function"==typeof a)try{a=a(B)}catch(e){a={}}if("function"==typeof c)try{c=c(B)}catch(e){c={}}const C=(null!=_?_:[]).map((e=>(0,A.qE)(e,Object.assign(Object.assign(Object.assign(Object.assign({needlaunchlog:1,ug_medium:"fe_component"},i.uniqueId?{wid:i.uniqueId}:{}),t),u),s))));let E=null!=y?y:"",v=C[0];const Q=new URLSearchParams(f[0]).get("params_url");if(l?E=E.replace("&af_dp={{schema}}",""):d&&(v=(0,A.bB)(v,"params_url")),g&&Q){const e=new URL(Q),t=e.origin+e.pathname;E=`${E}¶ms_url=${encodeURIComponent(t)}`}E=E.replace("{{schema}}",encodeURIComponent(v)),c=(0,A.PW)(Object.entries(c).map((([e,t])=>[e,(0,A.Kg)(t)?t.replace("{{schema}}",encodeURIComponent(C[0])):t]))),h&&(h=(0,A.PW)(Object.entries(h).map((([e,t])=>[e,(0,A.Kg)(t)?t.replace("{{schema}}",encodeURIComponent(C[0])):t]))));const b=(0,A.qE)(E,Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({pid:"website"},i.uniqueId?{wid:i.uniqueId}:{}),n),h),c),p),a));return{appType:m,parsedExtra:B,processedSchemes:C,processedFallbackURL:b}}var E=n(61978),v=n.n(E),Q=function(e,t){var n={};for(var o in e)Object.prototype.hasOwnProperty.call(e,o)&&t.indexOf(o)<0&&(n[o]=e[o]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var r=0;for(o=Object.getOwnPropertySymbols(e);r{var t,{customStyle:n={},customClassNames:r=[],jumpStartHandler:h,jumpFailHandler:E,jumpCheckHandler:b,jumpEventHandler:w,jumpHook:M,onClick:k,target:D,children:O,schemeParams:S={},fallbackURLParams:R={},experimentalFallbackTemplateURLParams:L={},type:T="div",withDefaultHref:P=!1}=e,G=Q(e,["customStyle","customClassNames","jumpStartHandler","jumpFailHandler","jumpCheckHandler","jumpEventHandler","jumpHook","onClick","target","children","schemeParams","fallbackURLParams","experimentalFallbackTemplateURLParams","type","withDefaultHref"]);const x=(0,i.useContext)(s.J),{strategy:Y}=x,j=Q(x,["strategy"]),F=null!==(t=j.jumpHook)&&void 0!==t?t:M,N=(0,i.useMemo)((()=>{if(null==Y?void 0:Y.wrappers)return Y.wrappers.find((e=>e.name===D))}),[Y,D]),U=(0,i.useMemo)((()=>N&&N.wrapper_url?function(e){const{enableClickS2S:t=!1,useMarketSchemaForS2S:n=!1,experimentalUseShortDl:o=!1,autoFillWhiteList:r}=e.providerContext;try{const{processedSchemes:i,processedFallbackURL:s}=C({strategy:e});return f({processedSchemes:i,enableClickS2S:t,processedFallbackURL:s,launchType:e.launchType,useMarketSchemaForS2S:n,useShortDl:o,autoFillWhiteList:r})}catch(e){return console.warn(e),""}}({launchType:N.launch_type,links:N.wrapper_url,schemeParams:S,fallbackURLParams:R,experimentalFallbackTemplateURLParams:L,providerContext:j}):""),[N,S,R,L,j]),H=null==Y?void 0:Y.page_context;(({links:e,fallbackURLParams:t,experimentalFallbackTemplateURLParams:n,launchType:o=""})=>{const r=(0,i.useContext)(s.J),{impressionReported:A,enableImpression:a=!1,onImpression:c,enableImpAfdp:g,enableImpParamsUrl:d}=r,u=function(e,t){var n={};for(var o in e)Object.prototype.hasOwnProperty.call(e,o)&&t.indexOf(o)<0&&(n[o]=e[o]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var r=0;for(o=Object.getOwnPropertySymbols(e);re?C({strategy:{links:e,schemeParams:{},fallbackURLParams:t,experimentalFallbackTemplateURLParams:n,providerContext:u},customs:{disableAfdp:!g,removeParamsUrlForAfdp:g,addParamsUrl:d}}).processedFallbackURL:""),[e,t,n,u]);(0,i.useEffect)((()=>{if(a&&p&&!1===(null==A?void 0:A.current)){const[e,t]=y(p,o);if(t){A.current=!0;const t=`${p}&s2sAppType=${e}`;null==c||c(t),l(t)}}}),[p,o,a])})({links:null==N?void 0:N.wrapper_url,fallbackURLParams:R,experimentalFallbackTemplateURLParams:L,launchType:null==N?void 0:N.launch_type});const q=(0,i.useCallback)((e=>{var t;null==k||k(e),P&&e.preventDefault(),(null==N?void 0:N.wrapper_url)&&function(e){var t,n,r,i,s;n=this,r=void 0,s=function*(){const{links:n,launchType:r="tiktok_app",jumpLinkType:i=A.wl.DEFAULT,jumpStartHandler:s,jumpFailHandler:h,jumpCheckHandler:E,jumpEventHandler:v,jumpHook:Q,strategyContext:b,providerContext:w}=e,{schemeParams:M={},fallbackURLParams:k={}}=e,{checkOpenTime:D,useNewRedirectPath:O,experimentalSkipSchemes:S=!1,installedApps:R,enableApiOptimization:L=!1,enableClickS2S:T=!1,useMarketSchemaForS2S:P=!1,experimentalEnableCoinApiOptimization:G=!0,experimentalReportClick:x,experimentalUseAppLink:Y,experimentalUseBetterAppLink:j,disableAfdp:F,experimentalReportClickWaitTime:N,experimentalUseShortDl:U=!1,autoFillWhiteList:H}=w;d=Date.now();const q=(0,A.KJ)(),J=(0,a.a)(),K=null!=F?F:q&&"facebook"===J;try{const{parsedExtra:e,processedSchemes:a,processedFallbackURL:F}=C({strategy:{links:n,providerContext:w,schemeParams:M,fallbackURLParams:k},buildInSchemeParams:Object.assign({jump_time:d},B()),buildInFallbackURLParams:Object.assign({jump_time:d},B()),customs:{disableAfdp:K}}),J=Object.assign(Object.assign({},e),{jumpTime:d,getInstalledAppResult:null!==(t=null==R?void 0:R.length)&&void 0!==t?t:-1,getInstalledAppData:R,jumpTriggerType:"manual"});null==s||s(Object.assign({jumpTime:d},e)),null==v||v(Object.assign({eventType:o.START},J));let V=!1;if(L){const{mInstall:e,tInstall:t,liteInstall:n,coinInstall:o}=(0,c.CW)(R);"tiktok_lite_app"===r?G&&(V=0===o):V=[e,t,n].every((e=>0===e))}const z=Y&&V&&j;if((0,A.SC)()){const[e,t]=a[0].split("://");return void m(`intent://${t}#Intent;scheme=${e};end`,Q)}if(!q||i===A.wl.APP_LINK||Y&&!z||q&&/FBAN|FBAV/gi.test(navigator.userAgent)&&!S){const e=f({processedSchemes:a,processedFallbackURL:F,enableClickS2S:T,useNewRedirectPath:O,region:null==b?void 0:b.region,launchType:r,useMarketSchemaForS2S:P,useShortDl:U,autoFillWhiteList:H});if(x)if(N)try{yield Promise.race([g(F,x),_(N)])}catch(e){console.debug("experimentalReportClick error",e)}else l(F,x);return null==v||v(Object.assign({eventType:o.APP_LINK,appLinkUrl:e},J)),void m(e,Q)}if(!S&&!V){if(x)if(N)try{yield Promise.race([g(F,x),_(N)])}catch(e){console.debug("experimentalReportClick error",e)}else l(F,x);for(const[t,n]of a.entries()){const r=Date.now();let i;if(null==v||v(Object.assign({eventType:o.SCHEME_START,schemeIndex:t,scheme:n},J)),m(n,Q),"function"==typeof D)try{i=D(n,t)}catch(e){}else i=D;if(0===i)continue;const s=yield(0,A.hh)(i),a=Date.now()-r;if(null==E||E(Object.assign({jumpTime:d,linkType:(0,A.Aq)(n),checkTime:a,checkStatus:s},e)),null==v||v(Object.assign({eventType:o.CHECK,schemeIndex:t,scheme:n,checkTime:a,checkStatus:s},J)),s)return}}let W=F;const[X,Z]=y(F,r);if(T&&Z){const{host:e,pathname:t}=new URL(W);t.includes(p)?(W+=`&s2sAppType=${X}&s2s=1`,P&&(W+="&useMarket=1")):e.includes(u)&&(W=f({processedSchemes:a,processedFallbackURL:F,enableClickS2S:T,useNewRedirectPath:O,region:null==b?void 0:b.region,launchType:r,useMarketSchemaForS2S:P,useShortDl:U,autoFillWhiteList:H}))}if(U){const{pathname:e}=new URL(W);e.includes(p)&&(W=I({url:W,autofillSchemeUrl:a[0],autoFillParamList:H,needAppendSchemeUrl:!0}))}null==h||h(Object.assign({jumpTime:d,fallbackUrl:W},e)),null==v||v(Object.assign({eventType:o.FAIL,fallbackUrl:W},J)),m(W,Q)}catch(e){return void console.warn(e)}},new((i=void 0)||(i=Promise))((function(e,t){function o(e){try{a(s.next(e))}catch(e){t(e)}}function A(e){try{a(s.throw(e))}catch(e){t(e)}}function a(t){var n;t.done?e(t.value):(n=t.value,n instanceof i?n:new i((function(e){e(n)}))).then(o,A)}a((s=s.apply(n,r||[])).next())}))}({target:null!==(t=N.name)&&void 0!==t?t:"",jumpLinkType:N.jump_link_type,launchType:N.launch_type,links:N.wrapper_url,jumpStartHandler:h,jumpFailHandler:E,jumpCheckHandler:b,jumpEventHandler:w,jumpHook:F,schemeParams:S,fallbackURLParams:R,experimentalFallbackTemplateURLParams:L,providerContext:j,strategyContext:H})}),[h,E,b,w,F,k,N,S,R,L,j,H,P]);return P?i.createElement("a",Object.assign({style:n,className:v()("matrix-smart-wrapper","matrix-smart-wrapper-a",r),onClick:q,href:U},G),O):i.createElement(T,Object.assign({style:n,className:v()("matrix-smart-wrapper",r),onClick:q},G),O)}},863:(e,t,n)=>{"use strict";n.d(t,{J:()=>o});const o=(0,n(40099).createContext)({strategy:{banners:[],buttons:[],popups:[],wrappers:[]},schemeParams:{},fallbackURLParams:{},experimentalFallbackTemplateURLParams:{}})},54757:(e,t,n)=>{"use strict";n.d(t,{CW:()=>d,xp:()=>l});var o=n(40099),r=n(58996);const i=e=>new Promise((t=>setTimeout(t,e)));var s=n(10005);const A=3e4,a={yandex:!0},c=e=>{return t=void 0,n=void 0,s=function*(){var t,n;if(null===window||void 0===window?void 0:window.__RELATED_APPS_CACHE)return window.__RELATED_APPS_CACHE;const{ignores:o,timeout:s=A}=null!=e?e:{};return Object.assign(Object.assign({},o),a).yandex&&(0,r.W)(null===(t=null===window||void 0===window?void 0:window.navigator)||void 0===t?void 0:t.userAgent)?Promise.resolve(void 0):(null===(n=null===window||void 0===window?void 0:window.navigator)||void 0===n?void 0:n.getInstalledRelatedApps)?(c=[window.navigator.getInstalledRelatedApps(),i(s)],new Promise(((e,t)=>{c.forEach((n=>{Promise.resolve(n).then(e,t).catch(t)}))}))):Promise.resolve(void 0);var c},new((o=void 0)||(o=Promise))((function(e,r){function i(e){try{a(s.next(e))}catch(e){r(e)}}function A(e){try{a(s.throw(e))}catch(e){r(e)}}function a(t){var n;t.done?e(t.value):(n=t.value,n instanceof o?n:new o((function(e){e(n)}))).then(i,A)}a((s=s.apply(t,n||[])).next())}));var t,n,o,s},l=e=>{const[t,n]=(0,o.useState)(),[r,i]=(0,o.useState)(!1),[s,A]=(0,o.useState)(0);return(0,o.useEffect)((()=>{const t=Date.now();c(e).then((e=>n(e))).catch((e=>{console.warn("getRelatedApps failed",e)})).then((()=>{A(Date.now()-t),i(!0)}))}),[e]),{relatedApps:t,initialized:r,costTime:s}},g=(e,t)=>{if(!t)return{installed:-1,version:void 0};const n={m:s.uG,t:s.NK,lite:s.f,coin:s.k5}[e];for(const{id:e,version:o}of Object.values(t))if(e===n)return{installed:1,version:o};return{installed:0,version:void 0}},d=e=>{const{installed:t,version:n}=g("m",e),{installed:o,version:r}=g("t",e),{installed:i,version:s}=g("lite",e),{installed:A,version:a}=g("coin",e);return{mInstall:t,mVersion:n,tInstall:o,tVersion:r,liteInstall:i,liteVersion:s,coinInstall:A,coinVersion:a}}},58996:(e,t,n)=>{"use strict";n.d(t,{W:()=>i,a:()=>r});const o={snapchat:[/(?:Safari\/[\d.]+)?Snapchat\/?([\d.]+)/,/CronetSnapDevSheldon/],line:[/Line(?:[ /]([\d.]+))/],google_search_app:[/(?:com.google.GoogleMobile|GSA|GoogleApp)\/([\d.]+)?/],instagram_app:[/Instagram[ /]([\d.]+)?/],facebook_messenger:[/(?:MessengerForiOS|MESSENGER|FB_IAB\/Orca-Android).(?:FBAV)(?:[ /]([\d.]+))?/],facebook_messenger_lite:[/(?:mLite|MessengerLite(?:ForiOS)?).(?:FBAV)(?:[ /]([\d.]+))?/],facebook_lite:[/FBAN\/EMA.+FBAV(?:[ /]([\d.]+))?/],facebook:[/(?:FBAV|com.facebook.katana)(?:[ /]([\d.]+))?/,/(?:FBAN|FBSV|FBID|FBBV)\//],hey_tab_browser:[/HeyTapBrowser\/([\d.]+)/],vivo_browser:[/VivoBrowser(?:\/(\d+[.\d]+))?/],yandex_browser:[/YaBrowser(?:\/(\d+[.\d]*))(?: \((alpha|beta)\))?/],yandex_browser_alisa:[/Ya(?:ndex)?SearchBrowser(?:\/(\d+[.\d]*))/],samsung_browser:[/Samsung ?Browser(?:[/ ](\d+[.\d]+))?/],opera:[/(?:Opera Tablet.*Version|Opera\/.+Opera Mobi.+Version|Mobile.+OPR)\/(\d+[.\d]+)/,/Opera\/(\d+\.[.\d]+) .*Opera Mobi/],chrome_webview:[/Version\/.* Chrome(?:\/(\d+[.\d]+))?/],chrome:[/CrMo(?:\/(\d+[.\d]+))?/,/CriOS(?:\/(\d+[.\d]+))?/,/Chrome(?:\/(\d+[.\d]+))? Mobile/],safari:[/(?:(?:iPod|iPad|iPhone).+Version|MobileSafari)\/(\d+[.\d]+)/,/(?:Version\/(\d+\.[.\d]+) .)?Mobile.Safari\//,/Version\/(\d+\.[.\d]+) .*Safari\/|(?:Safari|Safari(?:%20)?%E6%B5%8F%E8%A7%88%E5%99%A8)\/?\d+/],unknown:[]};function r(e=(null===navigator||void 0===navigator?void 0:navigator.userAgent)){for(const[t,n]of Object.entries(o))if(n.some((t=>null==t?void 0:t.test(e))))return t;return"unknown"}function i(e){const t=r(e);return"yandex_browser"===t||"yandex_browser_alisa"===t}},10005:(e,t,n)=>{"use strict";n.d(t,{Aq:()=>_,Bw:()=>b,E4:()=>h,KJ:()=>a,Kg:()=>c,NC:()=>r,NK:()=>E,PW:()=>l,SC:()=>g,Yp:()=>o,bB:()=>w,dX:()=>B,f:()=>v,hQ:()=>A,hh:()=>u,k5:()=>Q,mX:()=>I,qE:()=>p,uG:()=>C,wl:()=>s});const o="https://www.tiktokv.com",r="https://app-va.tiktokv.com";var i,s;!function(e){e.I18N="I18N",e.ALISG="ALISG",e.MALIVA="MALIVA",e["US-TTP"]="US-TTP"}(i||(i={})),function(e){e.DEFAULT="default",e.APP_LINK="AppLink",e.ONE_LINK="OneLink"}(s||(s={})),i.I18N,i.ALISG,i.MALIVA,i["US-TTP"];const A={tiktok_app:"redirect/",now_app:"now_redirect/",alligator_app:"alligator_redirect/",tiktok_lite_app:"lite_redirect/"};function a(){return"android"===function(){const e=navigator.userAgent;return/android/i.test(e)?"android":/iPhone|iPad|iPod|iOS/i.test(e)?"ios":/\(Macintosh; Intel /.test(e)?"mac":/Win\d{2}|Windows/.test(e)?"windows":"unknown"}()}function c(e){return"string"==typeof e}function l(e){return e.reduce(((e,t)=>(e[t[0]]=t[1],e)),{})}function g(){return void 0!==window.melonapp}function d(){return Boolean(document.hidden||document.webkitHidden)}function u(e){return new Promise((t=>{const n=null!=e?e:1e3;let o=0;const r=Number(new Date),i=n/20,s=()=>{d()&&(t(!0),document.removeEventListener("visibilitychange",s))};document.addEventListener("visibilitychange",s);const A=setInterval((()=>{o++;const e=Number(new Date)-r,a=Boolean(e>Math.max(2*n,1e3)||d());(o>=i||a)&&(clearInterval(A),t(a),document.removeEventListener("visibilitychange",s))}),20)}))}function p(e,t={}){const n=Object.assign({},t),o=e.replace(/\{\{([\w.]*)\}\}/g,(function(e,o){const r=t[o];return delete n[o],null!=r?r:""})),r=Object.entries(n).map((([e,t])=>`${e}=${t}`)).join("&");return`${o}${r?o.includes("?")?`&${r}`:`?${r}`:""}`}const h={Snapchat:/Snapchat/gi,WeChat:/MicroMessenger/gi,Band:/Band/gi,KakaoTalk:/KAKAOTALK/gi,Messenger:/Messenger/gi,Line:/Line/gi,Facebook:/FBAN|FBAV/gi};function _(e){return function(e){return null==e?void 0:e.startsWith("snssdk1340")}(e)?"lite":function(e){return null==e?void 0:e.startsWith("snssdk1180")}(e)?"t":"m"}const y={t:"BAuo",m:"bIdt",lite:"k3Nj",coin:"4P4E"};function I(e){return function(e){return e.startsWith("https://snssdk1180")||e.includes(`/${y.t}`)}(e)?"t":function(e){return e.startsWith("https://snssdk1233")||e.includes(`/${y.m}`)}(e)?"m":function(e){return e.startsWith("https://snssdk1340")||e.includes(`/${y.lite}`)}(e)?"lite":function(e){return(null==e?void 0:e.startsWith("https://snssdk473824"))||e.includes(`/${y.coin}`)}(e)?"coin":void 0}const f=["MO","TW","JP","KR","ID","MY","KH","MM","LA","PH","TH","VN","SG","PK","LK","NP"],m=["PK","LK","NP"];function B(e=""){return"t"===function(e){return f.includes(e)&&!m.includes(e)?"t":"m"}(e)}const C="com.zhiliaoapp.musically",E="com.ss.android.ugc.trill",v="com.zhiliaoapp.musically.go",Q="com.ss.android.ugc.tiktok.lite",b=["af_dp","tt_target"];function w(e,t){const n=new URL(e),o=new URLSearchParams(n.search);return o.delete(t),n.search=o.toString(),n.toString()}},69597:function(e){var t;"undefined"!=typeof self&&self,t=function(){return function(e){var t={};function n(o){var r;return(t[o]||(r=t[o]={i:o,l:!1,exports:{}},e[o].call(r.exports,r,r.exports,n),r.l=!0,r)).exports}return n.m=e,n.c=t,n.d=function(e,t,o){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:o})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var o=Object.create(null);if(n.r(o),Object.defineProperty(o,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var r in e)n.d(o,r,function(t){return e[t]}.bind(null,r));return o},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=11)}([function(e,t,n){var o="object"==typeof Reflect?Reflect:null,r=o&&"function"==typeof o.apply?o.apply:function(e,t,n){return Function.prototype.apply.call(e,t,n)},i=o&&"function"==typeof o.ownKeys?o.ownKeys:Object.getOwnPropertySymbols?function(e){return Object.getOwnPropertyNames(e).concat(Object.getOwnPropertySymbols(e))}:function(e){return Object.getOwnPropertyNames(e)},s=Number.isNaN||function(e){return e!=e};function A(){A.init.call(this)}e.exports=A,e.exports.once=function(e,t){return new Promise((function(n,o){function r(n){e.removeListener(t,i),o(n)}function i(){"function"==typeof e.removeListener&&e.removeListener("error",r),n([].slice.call(arguments))}_(e,t,i,{once:!0}),"error"!==t&&function(e,t){"function"==typeof e.on&&_(e,"error",t,{once:!0})}(e,r)}))},(A.EventEmitter=A).prototype._events=void 0,A.prototype._eventsCount=0,A.prototype._maxListeners=void 0;var a=10;function c(e){if("function"!=typeof e)throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof e)}function l(e){return void 0===e._maxListeners?A.defaultMaxListeners:e._maxListeners}function g(e,t,n,o){var r,i;return c(n),void 0===(r=e._events)?(r=e._events=Object.create(null),e._eventsCount=0):(void 0!==r.newListener&&(e.emit("newListener",t,n.listener||n),r=e._events),i=r[t]),void 0===i?(i=r[t]=n,++e._eventsCount):("function"==typeof i?i=r[t]=o?[n,i]:[i,n]:o?i.unshift(n):i.push(n),0<(r=l(e))&&i.length>r&&!i.warned&&(i.warned=!0,(o=new Error("Possible EventEmitter memory leak detected. "+i.length+" "+String(t)+" listeners added. Use emitter.setMaxListeners() to increase limit")).name="MaxListenersExceededWarning",o.emitter=e,o.type=t,o.count=i.length,function(e){console&&console.warn&&console.warn(e)}(o))),e}function d(e,t,n){return t=function(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,0===arguments.length?this.listener.call(this.target):this.listener.apply(this.target,arguments)}.bind(e={fired:!1,wrapFn:void 0,target:e,type:t,listener:n}),t.listener=n,e.wrapFn=t}function u(e,t,n){return void 0===(e=e._events)||void 0===(e=e[t])?[]:"function"==typeof e?n?[e.listener||e]:[e]:n?function(e){for(var t=new Array(e.length),n=0;n>>2]>>>24-i%4*8&255;t[o+i>>>2]|=s<<24-(o+i)%4*8}else for(var A=0;A>>2]=n[A>>>2];return this.sigBytes+=r,this},clamp:function(){var t=this.words,n=this.sigBytes;t[n>>>2]&=4294967295<<32-n%4*8,t.length=e.ceil(n/4)},clone:function(){var e=a.clone.call(this);return e.words=this.words.slice(0),e},random:function(e){for(var t=[],n=0;n>>2]>>>24-r%4*8&255;o.push((i>>>4).toString(16)),o.push((15&i).toString(16))}return o.join("")},parse:function(e){for(var t=e.length,n=[],o=0;o>>3]|=parseInt(e.substr(o,2),16)<<24-o%8*4;return new c.init(n,t/2)}},d=l.Latin1={stringify:function(e){for(var t=e.words,n=e.sigBytes,o=[],r=0;r>>2]>>>24-r%4*8&255;o.push(String.fromCharCode(i))}return o.join("")},parse:function(e){for(var t=e.length,n=[],o=0;o>>2]|=(255&e.charCodeAt(o))<<24-o%4*8;return new c.init(n,t)}},u=l.Utf8={stringify:function(e){try{return decodeURIComponent(escape(d.stringify(e)))}catch(e){throw new Error("Malformed UTF-8 data")}},parse:function(e){return d.parse(unescape(encodeURIComponent(e)))}},p=A.BufferedBlockAlgorithm=a.extend({reset:function(){this._data=new c.init,this._nDataBytes=0},_append:function(e){"string"==typeof e&&(e=u.parse(e)),this._data.concat(e),this._nDataBytes+=e.sigBytes},_process:function(t){var n,o=this._data,r=o.words,i=o.sigBytes,s=this.blockSize,A=i/(4*s),a=(A=t?e.ceil(A):e.max((0|A)-this._minBufferSize,0))*s,l=e.min(4*a,i);if(a){for(var g=0;g>>7)^(p<<14|p>>>18)^p>>>3,_=c[u-2],y=(_<<15|_>>>17)^(_<<13|_>>>19)^_>>>10;c[u]=h+c[u-7]+y+c[u-16]}var I=o&r^o&i^r&i,f=(o<<30|o>>>2)^(o<<19|o>>>13)^(o<<10|o>>>22),m=d+((A<<26|A>>>6)^(A<<21|A>>>11)^(A<<7|A>>>25))+(A&l^~A&g)+a[u]+c[u];d=g,g=l,l=A,A=s+m|0,s=i,i=r,r=o,o=m+(f+I)|0}n[0]=n[0]+o|0,n[1]=n[1]+r|0,n[2]=n[2]+i|0,n[3]=n[3]+s|0,n[4]=n[4]+A|0,n[5]=n[5]+l|0,n[6]=n[6]+g|0,n[7]=n[7]+d|0},_doFinalize:function(){var t=this._data,n=t.words,o=8*this._nDataBytes,r=8*t.sigBytes;return n[r>>>5]|=128<<24-r%32,n[14+(r+64>>>9<<4)]=e.floor(o/4294967296),n[15+(r+64>>>9<<4)]=o,t.sigBytes=4*n.length,this._process(),this._hash},clone:function(){var e=i.clone.call(this);return e._hash=this._hash.clone(),e}});t.SHA256=i._createHelper(l),t.HmacSHA256=i._createHmacHelper(l)}(Math),n.SHA256)})),A=(r((function(e,t){var n,o,r;e.exports=(o=(n=i).lib.Base,r=n.enc.Utf8,void(n.algo.HMAC=o.extend({init:function(e,t){e=this._hasher=new e.init,"string"==typeof t&&(t=r.parse(t));var n=e.blockSize,o=4*n;t.sigBytes>o&&(t=e.finalize(t)),t.clamp();for(var i=this._oKey=t.clone(),s=this._iKey=t.clone(),A=i.words,a=s.words,c=0;c>>2]>>>24-a%4*8&255;e[n+a>>>2]|=o<<24-(n+a)%4*8}else for(var c=0;c>>2]=t[c>>>2];this.sigBytes+=i;return this},clamp:function(){var r=this.words;var e=this.sigBytes;r[e>>>2]&=4294967295<<32-e%4*8;r.length=u.ceil(e/4)},clone:function(){var r=o.clone.call(this);r.words=this.words.slice(0);return r},random:function(r){var e=[];for(var t=0;t>>2]>>>24-i%4*8&255;n.push((a>>>4).toString(16));n.push((a&15).toString(16))}return n.join("")},parse:function(r){var e=r.length;var t=[];for(var n=0;n>>3]|=parseInt(r.substr(n,2),16)<<24-n%8*4;return new h.init(t,e/2)}};var f=c.Latin1={stringify:function(r){var e=r.words;var t=r.sigBytes;var n=[];for(var i=0;i>>2]>>>24-i%4*8&255;n.push(String.fromCharCode(a))}return n.join("")},parse:function(r){var e=r.length;var t=[];for(var n=0;n>>2]|=(r.charCodeAt(n)&255)<<24-n%4*8;return new h.init(t,e)}};var v=c.Utf8={stringify:function(r){try{return decodeURIComponent(escape(f.stringify(r)))}catch(r){throw new Error("Malformed UTF-8 data")}},parse:function(r){return f.parse(unescape(encodeURIComponent(r)))}};var p=a.BufferedBlockAlgorithm=o.extend({reset:function(){this._data=new h.init;this._nDataBytes=0},_append:function(r){if(typeof r=="string")r=v.parse(r);this._data.concat(r);this._nDataBytes+=r.sigBytes},_process:function(r){var e;var t=this._data;var n=t.words;var i=t.sigBytes;var a=this.blockSize;var o=a*4;var c=i/o;if(r)c=u.ceil(c);else c=u.max((c|0)-this._minBufferSize,0);var s=c*a;var f=u.min(s*4,i);if(s){for(var v=0;v>>2]&255;r.sigBytes-=e}};var g=e.BlockCipher=u.extend({cfg:u.cfg.extend({mode:d,padding:y}),reset:function(){var r;u.reset.call(this);var e=this.cfg;var t=e.iv;var n=e.mode;if(this._xformMode==this._ENC_XFORM_MODE)r=n.createEncryptor;else{r=n.createDecryptor;this._minBufferSize=1}if(this._mode&&this._mode.__creator==r)this._mode.init(this,t&&t.words);else{this._mode=r.call(n,this,t&&t.words);this._mode.__creator=r}},_doProcessBlock:function(r,e){this._mode.processBlock(r,e)},_doFinalize:function(){var r;var e=this.cfg.padding;if(this._xformMode==this._ENC_XFORM_MODE){e.pad(this._data,this.blockSize);r=this._process(!!"flush")}else{r=this._process(!!"flush");e.unpad(r)}return r},blockSize:128/32});var w=e.CipherParams=t.extend({init:function(r){this.mixIn(r)},toString:function(r){return(r||this.formatter).stringify(this)}});var k=r.format={};var B=k.OpenSSL={stringify:function(r){var e;var t=r.ciphertext;var n=r.salt;if(n)e=s.create([1398893684,1701076831]).concat(n).concat(t);else e=t;return e.toString(c)},parse:function(r){var e;var t=c.parse(r);var n=t.words;if(n[0]==1398893684&&n[1]==1701076831){e=s.create(n.slice(2,4));n.splice(0,4);t.sigBytes-=16}return w.create({ciphertext:t,salt:e})}};var m=e.SerializableCipher=t.extend({cfg:t.extend({format:B}),encrypt:function(r,e,t,n){n=this.cfg.extend(n);var i=r.createEncryptor(t,n);var a=i.finalize(e);var o=i.cfg;return w.create({ciphertext:a,key:t,iv:o.iv,algorithm:r,mode:o.mode,padding:o.padding,blockSize:r.blockSize,formatter:n.format})},decrypt:function(r,e,t,n){n=this.cfg.extend(n);e=this._parse(e,n.format);var i=r.createDecryptor(t,n).finalize(e.ciphertext);return i},_parse:function(r,e){if(typeof r=="string")return e.parse(r,this);else return r}});var x=r.kdf={};var b=x.OpenSSL={execute:function(r,e,t,n,i){if(!n)n=s.random(64/8);if(!i)var a=v.create({keySize:e+t}).compute(r,n);else var a=v.create({keySize:e+t,hasher:i}).compute(r,n);var o=s.create(a.words.slice(e),t*4);a.sigBytes=e*4;return w.create({key:a,iv:o,salt:n})}};var S=e.PasswordBasedCipher=m.extend({cfg:m.cfg.extend({kdf:b}),encrypt:function(r,e,t,n){n=this.cfg.extend(n);var i=n.kdf.execute(t,r.keySize,r.ivSize,n.salt,n.hasher);n.iv=i.iv;var a=m.encrypt.call(this,r,e,i.key,n);a.mixIn(i);return a},decrypt:function(r,e,t,n){n=this.cfg.extend(n);e=this._parse(e,n.format);var i=n.kdf.execute(t,r.keySize,r.ivSize,e.salt,n.hasher);n.iv=i.iv;var a=m.decrypt.call(this,r,e,i.key,n);return a}})}()}(t(0),t(5))},function(r,e,t){r.exports=function(a){return function(){var r=a;var e=r.lib;var t=e.BlockCipher;var n=r.algo;var v=[];var f=[];var u=[];var h=[];var p=[];var l=[];var d=[];var _=[];var y=[];var g=[];(function(){var r=[];for(var e=0;e<256;e++)if(e<128)r[e]=e<<1;else r[e]=e<<1^283;var t=0;var n=0;for(var e=0;e<256;e++){var i=n^n<<1^n<<2^n<<3^n<<4;i=i>>>8^i&255^99;v[t]=i;f[i]=t;var a=r[t];var o=r[a];var c=r[o];var s=r[i]*257^i*16843008;u[t]=s<<24|s>>>8;h[t]=s<<16|s>>>16;p[t]=s<<8|s>>>24;l[t]=s;var s=c*16843009^o*65537^a*257^t*16843008;d[i]=s<<24|s>>>8;_[i]=s<<16|s>>>16;y[i]=s<<8|s>>>24;g[i]=s;if(!t)t=n=1;else{t=a^r[r[r[c^a]]];n^=r[r[n]]}}})();var w=[0,1,2,4,8,16,32,64,128,27,54];var i=n.AES=t.extend({_doReset:function(){var r;if(this._nRounds&&this._keyPriorReset===this._key)return;var e=this._keyPriorReset=this._key;var t=e.words;var n=e.sigBytes/4;var i=this._nRounds=n+6;var a=(i+1)*4;var o=this._keySchedule=[];for(var c=0;c>>24;r=v[r>>>24]<<24|v[r>>>16&255]<<16|v[r>>>8&255]<<8|v[r&255];r^=w[c/n|0]<<24}else if(n>6&&c%n==4)r=v[r>>>24]<<24|v[r>>>16&255]<<16|v[r>>>8&255]<<8|v[r&255];o[c]=o[c-n]^r}var s=this._invKeySchedule=[];for(var f=0;f>>24]]^_[v[r>>>16&255]]^y[v[r>>>8&255]]^g[v[r&255]]}},encryptBlock:function(r,e){this._doCryptBlock(r,e,this._keySchedule,u,h,p,l,v)},decryptBlock:function(r,e){var t=r[e+1];r[e+1]=r[e+3];r[e+3]=t;this._doCryptBlock(r,e,this._invKeySchedule,d,_,y,g,f);var t=r[e+1];r[e+1]=r[e+3];r[e+3]=t},_doCryptBlock:function(r,e,t,n,i,a,o,c){var s=this._nRounds;var f=r[e]^t[0];var v=r[e+1]^t[1];var u=r[e+2]^t[2];var h=r[e+3]^t[3];var p=4;for(var l=1;l>>24]^i[v>>>16&255]^a[u>>>8&255]^o[h&255]^t[p++];var _=n[v>>>24]^i[u>>>16&255]^a[h>>>8&255]^o[f&255]^t[p++];var y=n[u>>>24]^i[h>>>16&255]^a[f>>>8&255]^o[v&255]^t[p++];var g=n[h>>>24]^i[f>>>16&255]^a[v>>>8&255]^o[u&255]^t[p++];f=d;v=_;u=y;h=g}var d=(c[f>>>24]<<24|c[v>>>16&255]<<16|c[u>>>8&255]<<8|c[h&255])^t[p++];var _=(c[v>>>24]<<24|c[u>>>16&255]<<16|c[h>>>8&255]<<8|c[f&255])^t[p++];var y=(c[u>>>24]<<24|c[h>>>16&255]<<16|c[f>>>8&255]<<8|c[v&255])^t[p++];var g=(c[h>>>24]<<24|c[f>>>16&255]<<16|c[v>>>8&255]<<8|c[u&255])^t[p++];r[e]=d;r[e+1]=_;r[e+2]=y;r[e+3]=g},keySize:256/32});r.AES=t._createHelper(i)}(),a.AES}(t(0),(t(12),t(13),t(5),t(1)))},function(r,e,t){r.exports=function(e){return e.mode.ECB=function(){var r=e.lib.BlockCipherMode.extend();r.Encryptor=r.extend({processBlock:function(r,e){this._cipher.encryptBlock(r,e)}});r.Decryptor=r.extend({processBlock:function(r,e){this._cipher.decryptBlock(r,e)}});return r}(),e.mode.ECB}(t(0),t(1))},function(r,e,t){r.exports=function(r){return r.enc.Utf8}(t(0))},function(r,e,t){r.exports=function(o){return function(){var r=o;var e=r.lib;var t=e.Base;var v=e.WordArray;var n=r.algo;var i=n.MD5;var a=n.EvpKDF=t.extend({cfg:t.extend({keySize:128/32,hasher:i,iterations:1}),init:function(r){this.cfg=this.cfg.extend(r)},compute:function(r,e){var t;var n=this.cfg;var i=n.hasher.create();var a=v.create();var o=a.words;var c=n.keySize;var s=n.iterations;while(o.length>>2]|=r[n]<<24-n%4*8;i.call(this,t,e)}else i.apply(this,arguments)};n.prototype=t}(),a.lib.WordArray}(t(0))},function(r,e,t){t.r(e);var e=t(2),o=t.n(e),e=t(3),c=t.n(e),e=t(6),s=t.n(e),e=t(7),f=t.n(e),e=t(8),v=t.n(e),e=t(4),u=t.n(e);function crc32(r,e){for(var t=[0,1996959894,3993919788,2567524794,124634137,1886057615,3915621685,2657392035,249268274,2044508324,3772115230,2547177864,162941995,2125561021,3887607047,2428444049,498536548,1789927666,4089016648,2227061214,450548861,1843258603,4107580753,2211677639,325883990,1684777152,4251122042,2321926636,335633487,1661365465,4195302755,2366115317,997073096,1281953886,3579855332,2724688242,1006888145,1258607687,3524101629,2768942443,901097722,1119000684,3686517206,2898065728,853044451,1172266101,3705015759,2882616665,651767980,1373503546,3369554304,3218104598,565507253,1454621731,3485111705,3099436303,671266974,1594198024,3322730930,2970347812,795835527,1483230225,3244367275,3060149565,1994146192,31158534,2563907772,4023717930,1907459465,112637215,2680153253,3904427059,2013776290,251722036,2517215374,3775830040,2137656763,141376813,2439277719,3865271297,1802195444,476864866,2238001368,4066508878,1812370925,453092731,2181625025,4111451223,1706088902,314042704,2344532202,4240017532,1658658271,366619977,2362670323,4224994405,1303535960,984961486,2747007092,3569037538,1256170817,1037604311,2765210733,3554079995,1131014506,879679996,2909243462,3663771856,1141124467,855842277,2852801631,3708648649,1342533948,654459306,3188396048,3373015174,1466479909,544179635,3110523913,3462522015,1591671054,702138776,2966460450,3352799412,1504918807,783551873,3082640443,3233442989,3988292384,2596254646,62317068,1957810842,3939845945,2647816111,81470997,1943803523,3814918930,2489596804,225274430,2053790376,3826175755,2466906013,167816743,2097651377,4027552580,2265490386,503444072,1762050814,4150417245,2154129355,426522225,1852507879,4275313526,2312317920,282753626,1742555852,4189708143,2394877945,397917763,1622183637,3604390888,2714866558,953729732,1340076626,3518719985,2797360999,1068828381,1219638859,3624741850,2936675148,906185462,1090812512,3747672003,2825379669,829329135,1181335161,3412177804,3160834842,628085408,1382605366,3423369109,3138078467,570562233,1426400815,3317316542,2998733608,733239954,1555261956,3268935591,3050360625,752459403,1541320221,2607071920,3965973030,1969922972,40735498,2617837225,3943577151,1913087877,83908371,2512341634,3803740692,2075208622,213261112,2463272603,3855990285,2094854071,198958881,2262029012,4057260610,1759359992,534414190,2176718541,4139329115,1873836001,414664567,2282248934,4279200368,1711684554,285281116,2405801727,4167216745,1634467795,376229701,2685067896,3608007406,1308918612,956543938,2808555105,3495958263,1231636301,1047427035,2932959818,3654703836,1088359270,936918e3,2847714899,3736837829,1202900863,817233897,3183342108,3401237130,1404277552,615818150,3134207493,3453421203,1423857449,601450431,3009837614,3294710456,1567103746,711928724,3020668471,3272380065,1510334235,755167117],n=("undefined"!=typeof Int32Array&&(t=new Int32Array(t)),-1^~~e),i=(r=new Uint8Array(r)).length,a=0;a>>8;return(-1^n)>>>0}function dec2hex(r){if(void 0!==r)return function toEight(r){return r.length<8?toEight(r="0".concat(r)):r}(Number(r).toString(16))}self.onmessage=function(r){var r=r.data,e=r[0],t=r[1],n=r[2],i=r[3],a=r[4],r=r[5];i?(i=v.a.create(e),i=crc32(r=function wordArrayToUint8Array(r){for(var e=r.sigBytes,t=r.words,n=new Uint8Array(e),i=0,a=0;i!==e;){var o=t[a++];if(n[i++]=(4278190080&o)>>>24,i===e)break;if(n[i++]=(16711680&o)>>>16,i===e)break;if(n[i++]=(65280&o)>>>8,i===e)break;n[i++]=255&o}return n}((r&&e.byteLength%16!=0?o.a.encrypt(i,u.a.parse(a),{mode:c.a,padding:s.a}):o.a.encrypt(i,u.a.parse(a),{mode:c.a,padding:f.a})).ciphertext),0),postMessage([r.buffer,dec2hex(i),t,n],[r.buffer])):(a=crc32(e,0),postMessage([e,dec2hex(a),t,n],[e]))}},function(r,e){var t=function(){return this}();try{t=t||new Function("return this")()}catch(r){"object"==typeof window&&(t=window)}r.exports=t},function(r,e){},function(r,e,t){r.exports=function(i){return function(){var r=i;var e=r.lib;var f=e.WordArray;var t=r.enc;var n=t.Base64={stringify:function(r){var e=r.words;var t=r.sigBytes;var n=this._map;r.clamp();var i=[];for(var a=0;a>>2]>>>24-a%4*8&255;var c=e[a+1>>>2]>>>24-(a+1)%4*8&255;var s=e[a+2>>>2]>>>24-(a+2)%4*8&255;var f=o<<16|c<<8|s;for(var v=0;v<4&&a+v*.75>>6*(3-v)&63))}var u=n.charAt(64);if(u)while(i.length%4)i.push(u);return i.join("")},parse:function(r){var e=r.length;var t=this._map;var n=this._reverseMap;if(!n){n=this._reverseMap=[];for(var i=0;i>>6-a%4*2;var s=o|c;n[i>>>2]|=s<<24-i%4*8;i++}return f.create(n,i)}}(),i.enc.Base64}(t(0))},function(r,e,t){r.exports=function(o){return function(v){var r=o;var e=r.lib;var t=e.WordArray;var n=e.Hasher;var i=r.algo;var F=[];(function(){for(var r=0;r<64;r++)F[r]=v.abs(v.sin(r+1))*4294967296|0})();var a=i.MD5=n.extend({_doReset:function(){this._hash=new t.init([1732584193,4023233417,2562383102,271733878])},_doProcessBlock:function(r,e){for(var t=0;t<16;t++){var n=e+t;var i=r[n];r[n]=(i<<8|i>>>24)&16711935|(i<<24|i>>>8)&4278255360}var a=this._hash.words;var o=r[e+0];var c=r[e+1];var s=r[e+2];var f=r[e+3];var v=r[e+4];var u=r[e+5];var h=r[e+6];var p=r[e+7];var l=r[e+8];var d=r[e+9];var _=r[e+10];var y=r[e+11];var g=r[e+12];var w=r[e+13];var k=r[e+14];var B=r[e+15];var m=a[0];var x=a[1];var b=a[2];var S=a[3];m=FF(m,x,b,S,o,7,F[0]);S=FF(S,m,x,b,c,12,F[1]);b=FF(b,S,m,x,s,17,F[2]);x=FF(x,b,S,m,f,22,F[3]);m=FF(m,x,b,S,v,7,F[4]);S=FF(S,m,x,b,u,12,F[5]);b=FF(b,S,m,x,h,17,F[6]);x=FF(x,b,S,m,p,22,F[7]);m=FF(m,x,b,S,l,7,F[8]);S=FF(S,m,x,b,d,12,F[9]);b=FF(b,S,m,x,_,17,F[10]);x=FF(x,b,S,m,y,22,F[11]);m=FF(m,x,b,S,g,7,F[12]);S=FF(S,m,x,b,w,12,F[13]);b=FF(b,S,m,x,k,17,F[14]);x=FF(x,b,S,m,B,22,F[15]);m=GG(m,x,b,S,c,5,F[16]);S=GG(S,m,x,b,h,9,F[17]);b=GG(b,S,m,x,y,14,F[18]);x=GG(x,b,S,m,o,20,F[19]);m=GG(m,x,b,S,u,5,F[20]);S=GG(S,m,x,b,_,9,F[21]);b=GG(b,S,m,x,B,14,F[22]);x=GG(x,b,S,m,v,20,F[23]);m=GG(m,x,b,S,d,5,F[24]);S=GG(S,m,x,b,k,9,F[25]);b=GG(b,S,m,x,f,14,F[26]);x=GG(x,b,S,m,l,20,F[27]);m=GG(m,x,b,S,w,5,F[28]);S=GG(S,m,x,b,s,9,F[29]);b=GG(b,S,m,x,p,14,F[30]);x=GG(x,b,S,m,g,20,F[31]);m=HH(m,x,b,S,u,4,F[32]);S=HH(S,m,x,b,l,11,F[33]);b=HH(b,S,m,x,y,16,F[34]);x=HH(x,b,S,m,k,23,F[35]);m=HH(m,x,b,S,c,4,F[36]);S=HH(S,m,x,b,v,11,F[37]);b=HH(b,S,m,x,p,16,F[38]);x=HH(x,b,S,m,_,23,F[39]);m=HH(m,x,b,S,w,4,F[40]);S=HH(S,m,x,b,o,11,F[41]);b=HH(b,S,m,x,f,16,F[42]);x=HH(x,b,S,m,h,23,F[43]);m=HH(m,x,b,S,d,4,F[44]);S=HH(S,m,x,b,g,11,F[45]);b=HH(b,S,m,x,B,16,F[46]);x=HH(x,b,S,m,s,23,F[47]);m=II(m,x,b,S,o,6,F[48]);S=II(S,m,x,b,p,10,F[49]);b=II(b,S,m,x,k,15,F[50]);x=II(x,b,S,m,u,21,F[51]);m=II(m,x,b,S,g,6,F[52]);S=II(S,m,x,b,f,10,F[53]);b=II(b,S,m,x,_,15,F[54]);x=II(x,b,S,m,c,21,F[55]);m=II(m,x,b,S,l,6,F[56]);S=II(S,m,x,b,B,10,F[57]);b=II(b,S,m,x,h,15,F[58]);x=II(x,b,S,m,w,21,F[59]);m=II(m,x,b,S,v,6,F[60]);S=II(S,m,x,b,y,10,F[61]);b=II(b,S,m,x,s,15,F[62]);x=II(x,b,S,m,d,21,F[63]);a[0]=a[0]+m|0;a[1]=a[1]+x|0;a[2]=a[2]+b|0;a[3]=a[3]+S|0},_doFinalize:function(){var r=this._data;var e=r.words;var t=this._nDataBytes*8;var n=r.sigBytes*8;e[n>>>5]|=128<<24-n%32;var i=v.floor(t/4294967296);var a=t;e[(n+64>>>9<<4)+15]=(i<<8|i>>>24)&16711935|(i<<24|i>>>8)&4278255360;e[(n+64>>>9<<4)+14]=(a<<8|a>>>24)&16711935|(a<<24|a>>>8)&4278255360;r.sigBytes=(e.length+1)*4;this._process();var o=this._hash;var c=o.words;for(var s=0;s<4;s++){var f=c[s];c[s]=(f<<8|f>>>24)&16711935|(f<<24|f>>>8)&4278255360}return o},clone:function(){var r=n.clone.call(this);r._hash=this._hash.clone();return r}});function FF(r,e,t,n,i,a,o){var c=r+(e&t|~e&n)+i+o;return(c<>>32-a)+e}function GG(r,e,t,n,i,a,o){var c=r+(e&n|t&~n)+i+o;return(c<>>32-a)+e}function HH(r,e,t,n,i,a,o){var c=r+(e^t^n)+i+o;return(c<>>32-a)+e}function II(r,e,t,n,i,a,o){var c=r+(t^(e|~n))+i+o;return(c<>>32-a)+e}r.MD5=n._createHelper(a);r.HmacMD5=n._createHmacHelper(a)}(Math),o.MD5}(t(0))},function(r,e,t){r.exports=function(o){return function(){var r=o;var e=r.lib;var t=e.WordArray;var n=e.Hasher;var i=r.algo;var u=[];var a=i.SHA1=n.extend({_doReset:function(){this._hash=new t.init([1732584193,4023233417,2562383102,271733878,3285377520])},_doProcessBlock:function(r,e){var t=this._hash.words;var n=t[0];var i=t[1];var a=t[2];var o=t[3];var c=t[4];for(var s=0;s<80;s++){if(s<16)u[s]=r[e+s]|0;else{var f=u[s-3]^u[s-8]^u[s-14]^u[s-16];u[s]=f<<1|f>>>31}var v=(n<<5|n>>>27)+c+u[s];if(s<20)v+=(i&a|~i&o)+1518500249;else if(s<40)v+=(i^a^o)+1859775393;else if(s<60)v+=(i&a|i&o|a&o)-1894007588;else v+=(i^a^o)-899497514;c=o;o=a;a=i<<30|i>>>2;i=n;n=v}t[0]=t[0]+n|0;t[1]=t[1]+i|0;t[2]=t[2]+a|0;t[3]=t[3]+o|0;t[4]=t[4]+c|0},_doFinalize:function(){var r=this._data;var e=r.words;var t=this._nDataBytes*8;var n=r.sigBytes*8;e[n>>>5]|=128<<24-n%32;e[(n+64>>>9<<4)+14]=Math.floor(t/4294967296);e[(n+64>>>9<<4)+15]=t;r.sigBytes=e.length*4;this._process();return this._hash},clone:function(){var r=n.clone.call(this);r._hash=this._hash.clone();return r}});r.SHA1=n._createHelper(a);r.HmacSHA1=n._createHmacHelper(a)}(),o.SHA1}(t(0))},function(r,e,t){r.exports=function(o){(function(){var r=o;var e=r.lib;var t=e.Base;var n=r.enc;var f=n.Utf8;var i=r.algo;var a=i.HMAC=t.extend({init:function(r,e){r=this._hasher=new r.init;if(typeof e=="string")e=f.parse(e);var t=r.blockSize;var n=t*4;if(e.sigBytes>n)e=r.finalize(e);e.clamp();var i=this._oKey=e.clone();var a=this._iKey=e.clone();var o=i.words;var c=a.words;for(var s=0;s>>2]>>>24-i%4*8&255;t[o+i>>>2]|=s<<24-(o+i)%4*8}else for(var A=0;A>>2]=n[A>>>2];return this.sigBytes+=r,this},clamp:function(){var t=this.words,n=this.sigBytes;t[n>>>2]&=4294967295<<32-n%4*8,t.length=e.ceil(n/4)},clone:function(){var e=a.clone.call(this);return e.words=this.words.slice(0),e},random:function(e){for(var t=[],n=0;n>>2]>>>24-r%4*8&255;o.push((i>>>4).toString(16)),o.push((15&i).toString(16))}return o.join("")},parse:function(e){for(var t=e.length,n=[],o=0;o>>3]|=parseInt(e.substr(o,2),16)<<24-o%8*4;return new c.init(n,t/2)}},d=l.Latin1={stringify:function(e){for(var t=e.words,n=e.sigBytes,o=[],r=0;r>>2]>>>24-r%4*8&255;o.push(String.fromCharCode(i))}return o.join("")},parse:function(e){for(var t=e.length,n=[],o=0;o>>2]|=(255&e.charCodeAt(o))<<24-o%4*8;return new c.init(n,t)}},u=l.Utf8={stringify:function(e){try{return decodeURIComponent(escape(d.stringify(e)))}catch(e){throw new Error("Malformed UTF-8 data")}},parse:function(e){return d.parse(unescape(encodeURIComponent(e)))}},p=A.BufferedBlockAlgorithm=a.extend({reset:function(){this._data=new c.init,this._nDataBytes=0},_append:function(e){"string"==typeof e&&(e=u.parse(e)),this._data.concat(e),this._nDataBytes+=e.sigBytes},_process:function(t){var n,o=this._data,r=o.words,i=o.sigBytes,s=this.blockSize,A=i/(4*s),a=(A=t?e.ceil(A):e.max((0|A)-this._minBufferSize,0))*s,l=e.min(4*a,i);if(a){for(var g=0;g>>7)^(p<<14|p>>>18)^p>>>3,_=c[u-2],y=(_<<15|_>>>17)^(_<<13|_>>>19)^_>>>10;c[u]=h+c[u-7]+y+c[u-16]}var I=o&r^o&i^r&i,f=(o<<30|o>>>2)^(o<<19|o>>>13)^(o<<10|o>>>22),m=d+((A<<26|A>>>6)^(A<<21|A>>>11)^(A<<7|A>>>25))+(A&l^~A&g)+a[u]+c[u];d=g,g=l,l=A,A=s+m|0,s=i,i=r,r=o,o=m+(f+I)|0}n[0]=n[0]+o|0,n[1]=n[1]+r|0,n[2]=n[2]+i|0,n[3]=n[3]+s|0,n[4]=n[4]+A|0,n[5]=n[5]+l|0,n[6]=n[6]+g|0,n[7]=n[7]+d|0},_doFinalize:function(){var t=this._data,n=t.words,o=8*this._nDataBytes,r=8*t.sigBytes;return n[r>>>5]|=128<<24-r%32,n[14+(r+64>>>9<<4)]=e.floor(o/4294967296),n[15+(r+64>>>9<<4)]=o,t.sigBytes=4*n.length,this._process(),this._hash},clone:function(){var e=i.clone.call(this);return e._hash=this._hash.clone(),e}});t.SHA256=i._createHelper(l),t.HmacSHA256=i._createHmacHelper(l)}(Math),o.SHA256)},function(e,t){var n=function(){return this}();try{n=n||new Function("return this")()}catch(e){"object"==typeof window&&(n=window)}e.exports=n},function(e,t,n){e.exports=function(e){return e.HmacSHA256}(n(3),(n(4),n(8)))},function(e,t){},function(e,t,n){var o;e.exports=(o=n(3),void function(){var e=o,t=e.lib.Base,n=e.enc.Utf8;e.algo.HMAC=t.extend({init:function(e,t){e=this._hasher=new e.init,"string"==typeof t&&(t=n.parse(t));var o=e.blockSize,r=4*o;t.sigBytes>r&&(t=e.finalize(t)),t.clamp();for(var i=this._oKey=t.clone(),s=this._iKey=t.clone(),A=i.words,a=s.words,c=0;c>t/4).toString(10):([1e7]+-1e3+-4e3+-8e3+-1e11).replace(/[018]/g,e)}().replace(/-/g,"").slice(0,19)}function _(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,(function(e){var t=16*Math.random()|0;return("x"===e?t:3&t|8).toString(16)}))}var y,I,f,m=function(){function e(){this._hooks={},this._cache=[],this._hooksCache={}}return e.prototype.on=function(e,t){e&&t&&"function"==typeof t&&(this._hooks[e]||(this._hooks[e]=[]),this._hooks[e].push(t))},e.prototype.once=function(e,t){var n=this;e&&t&&"function"==typeof t&&this.on(e,(function o(r){t(r),n.off(e,o)}))},e.prototype.off=function(e,t){e&&this._hooks[e]&&this._hooks[e].length&&(t?-1!==(t=this._hooks[e].indexOf(t))&&this._hooks[e].splice(t,1):this._hooks[e]=[])},e.prototype.emit=function(e,t,n){n?e&&(-1!==this._cache.indexOf(n)?this._emit(e,t):(this._hooksCache.hasOwnProperty(n)||(this._hooksCache[n]={}),this._hooksCache[n].hasOwnProperty(e)||(this._hooksCache[n][e]=[]),this._hooksCache[n][e].push(t))):this._emit(e,t)},e.prototype._emit=function(e,t){e&&this._hooks[e]&&this._hooks[e].length&&a(this._hooks[e]).forEach((function(e){try{e(t)}catch(e){}}))},e.prototype.set=function(e){e&&-1===this._cache.indexOf(e)&&this._cache.push(e)},e}(),B=(y=+Date.now()+Number((""+Math.random()).slice(2,8)),function(e){e.exports=function(){function e(){for(var e=0,t={};e=this.maxReport?this.report(!1):(n=this.reportTime,this.reportTimeout=setTimeout((function(){t.report(!1),t.reportTimeout=null}),n))}catch(e){this.collect.emit(I.DEBUGGER_MESSAGE,{type:I.DEBUGGER_MESSAGE_SDK,info:"发生了异常",level:"error",time:Date.now(),data:e.message})}},e.prototype.beconEvent=function(e){this.collect.destroy||this.collect.sdkStop||(e=a(e,this.cacheStorgae.getItem(this.beconKey)||[]),this.cacheStorgae.setItem(this.beconKey,e),this.collect.tokenManager.getReady()&&this.collect.sdkReady&&(this.cacheStorgae.removeItem(this.beconKey),this.send(this.split(this.merge(e)),!0)))},e.prototype.reportBecon=function(){var e;!this.collect.destroy&&!this.collect.sdkStop&&this.collect.tokenManager.getReady()&&this.collect.sdkReady&&(e=this.cacheStorgae.getItem(this.beconKey)||[])&&e.length&&(this.cacheStorgae.removeItem(this.beconKey),this.send(this.split(this.merge(e)),!0))},e.prototype.report=function(e){var t;!this.collect.destroy&&!this.collect.sdkStop&&this.collect.tokenManager.getReady()&&this.collect.sdkReady&&(t=this.cacheStorgae.getItem(this.eventKey)||[]).length&&(this.cacheStorgae.removeItem(this.eventKey),this.sliceEvent(t,e))},e.prototype.sliceEvent=function(e,t){if(e.length>this.eventLimit)for(var n=0;nthis.expireTime?t={sessionId:_(),timestamp:Date.now()}:t.timestamp=Date.now(),this.storage.setItem(this.sessionKey,t),this.resetExpTime())},e.prototype.setSessionId=function(){var e=this,t=this.storage.getItem(this.sessionKey);t&&t.sessionId?t.timestamp=Date.now():t={sessionId:_(),timestamp:Date.now()},this.storage.setItem(this.sessionKey,t),this.disableSessionTimeCheck||(this.sessionExp=setInterval((function(){e.checkEXp()}),this.expireTime))},e.prototype.getSessionId=function(){var e=this.storage.getItem(this.sessionKey);return!this.disableSession&&e&&e.sessionId?e.sessionId:""},e.prototype.resetExpTime=function(){var e=this;this.sessionExp&&(clearInterval(this.sessionExp),this.sessionExp=setInterval((function(){e.checkEXp()}),this.expireTime))},e.prototype.resetSessionId=function(e){e={sessionId:e||_(),timestamp:Date.now()},this.storage.setItem(this.sessionKey,e)},e.prototype.checkEXp=function(){var e=this.storage.getItem(this.sessionKey);e&&e.sessionId&&Date.now()-e.timestamp+30>=this.expireTime&&(e={sessionId:_(),timestamp:Date.now()},this.storage.setItem(this.sessionKey,e))},e}(),N=function(){function e(e,t){this.collector=e,this.config=t,this.requestType=t.request_type,this.supportBeacon=!(!window.navigator||!window.navigator.sendBeacon),this.errorCode={NO_URL:4001,IMG_ON:4e3,IMG_CATCH:4002,BEACON_FALSE:4003,XHR_ON:500,RESPONSE:5001,TIMEOUT:5005},this.customHeader=t.custom_request_header||{}}return e.prototype.useFetch=function(e){var t=e.url,n=e.data,o=e.method,r=e.success,i=e.fail,s={"Content-Type":"application/json; charset=utf-8"};if(Object.keys(this.customHeader).length)for(var A in this.customHeader)s[A]=this.customHeader[A];window.fetch?fetch(t,{method:o||"POST",headers:s,body:JSON.stringify(n)}).then((function(e){return e.json()})).then((function(e){r&&r(e)})).catch((function(e){i&&i(n,e)})):(this.requestType="xhr",console.log("your brwoser not support fetch, use xhr"),this.useRequest({url:t,data:n,method:o,success:r,fail:i}))},e.prototype.useBeacon=function(e){var t=e.url,n=e.data,o=e.success,r=e.fail;"xhr"!==this.requestType?window.navigator.sendBeacon(t,JSON.stringify(n))?o&&o():r&&r(n,this.errorCode.BEACON_FALSE):this.useXhr(e)},e.prototype.useXhr=function(e){var t=this,n=e.url,o=e.data,r=e.method,i=e.success,s=e.fail,A=e.timeout,a=e.withCredentials,c=e.app_key;try{var l=new XMLHttpRequest,g=r||"POST";if(l.open(g,""+n,!0),l.setRequestHeader("Content-Type","application/json; charset=utf-8"),c&&l.setRequestHeader("X-MCS-AppKey",""+c),Object.keys(this.customHeader).length)for(var d in this.customHeader)l.setRequestHeader(d,this.customHeader[d]);a&&(l.withCredentials=!0),A&&(l.timeout=A,l.ontimeout=function(){s&&s(o,t.errorCode.TIMEOUT)}),l.onload=function(){if(i){var e=null;if(l.responseText){try{e=JSON.parse(l.responseText)}catch(t){e={}}i(e,o)}}},l.onerror=function(){l.abort(),s&&s(o,t.errorCode.XHR_ON)},l.send(JSON.stringify(o))}catch(e){}},e.prototype.useRequest=function(e){var t=e.useBeacon,n=e.forceXhr;"xhr"===this.requestType?this.useXhr(e):t&&this.supportBeacon?this.useBeacon(e):"fetch"!==this.requestType||n?this.useXhr(e):this.useFetch(e)},e}(),U=function(){function e(e,t){this.devToolReady=!1,this.devToolOrigin="*",this.sendAlready=!1,t.enable_debug&&(this.collect=e,this.config=t,this.app_id=t.app_id,t=e.adapters.storage,this.cacheStorgae=new t(!1,"session"),this.filterEvent=["__bav_page","__bav_beat","__bav_page_statistics","__bav_click","__bav_page_exposure","bav2b_page","bav2b_beat","bav2b_page_statistics","bav2b_click","bav2b_page_exposure","_be_active","predefine_pageview","__profile_set","__profile_set_once","__profile_increment","__profile_unset","__profile_append","predefine_page_alive","predefine_page_close","abtest_exposure"],this.load())}return e.prototype.loadScript=function(e){try{var t=document.createElement("script");t.src=e,t.onerror=function(){console.log("load DevTool render fail")},t.onload=function(){console.log("load DevTool render success")},document.getElementsByTagName("body")[0].appendChild(t)}catch(e){console.log("devTool load fail, "+e.message)}},e.prototype.parseUrl=function(){var e={};try{var t=window.location.href.split("?")[1].split("&");t.length&&t.forEach((function(t){t=t.split("="),e[decodeURIComponent(t[0])]=decodeURIComponent(t[1])}))}catch(e){}return e},e.prototype.load=function(){try{var e=this.parseUrl();if(e.open_devtool_web&&e.app_id){if(parseInt(e.app_id)!==this.app_id)return}else if(!this.getStorage())return;this.loadBaseInfo(),this.loadHook(),this.setStorage(),this.addLintener(),this.loadDebuggerModule(),this.loadDevTool()}catch(e){console.log("debug fail, "+e.message)}},e.prototype.getStorage=function(){var e=this.cacheStorgae.getItem("__applog_devtool_web");return e&&parseInt(e)===this.app_id},e.prototype.setStorage=function(){this.cacheStorgae.setItem("__applog_devtool_web",this.app_id)},e.prototype.loadDevTool=function(){this.loadScript("https://sf16-scmcdn-va.ibytedtos.com/obj/static-us/log-sdk/collect/devtool/debug-web.js")},e.prototype.loadBaseInfo=function(){var e=this;this.info=[{title:"基本信息",type:1,infoName:{app_id:this.config.app_id,channel:this.config.channel,上报域名:this.collect.configManager.getDomain(),SDK版本:"5.2.8_oversea",SDK引入方式:"npm"}},{title:"用户信息",type:2,infoName:{uuid:this.collect.configManager.get("user").user_unique_id||"",web_id:this.collect.configManager.get("user").web_id||"",ssid:"点击获取SSID"}},{title:"公共参数信息",type:2,infoName:{浏览器:this.collect.configManager.get("browser"),浏览器版本:this.collect.configManager.get("browser_version"),平台:this.collect.configManager.get("platform"),设备型号:this.collect.configManager.get("device_model"),操作系统:this.collect.configManager.get("os_name"),操作系统版本:this.collect.configManager.get("os_version"),屏幕分辨率:this.collect.configManager.get("os_version"),来源:this.collect.configManager.get("referrer"),自定义信息:""}},{title:"配置信息",type:3,infoName:{全埋点:!!this.config.autotrack,停留时长:!!this.config.enable_stay_duration}},{title:"A/B配置信息",type:4,infoName:{"A/B实验":!!this.config.enable_ab_test}},{title:"客户端信息",type:3,infoName:{打通开关:!!this.config.Native}}],this.log=[],this.event=[],this.collect.on(O.Ready,(function(){e.info[1].infoName.uuid=e.collect.configManager.get("user").user_unique_id,e.info[1].infoName.web_id=e.collect.configManager.get("user").web_id,e.info[2].infoName["自定义信息"]=JSON.stringify(e.collect.configManager.get("custom")),e.config.enable_ab_test&&(e.info[4].infoName["已曝光VID"]=e.collect.configManager.getAbVersion(),e.info[4].infoName["A/B域名"]=e.config.ab_channel_domain||l(M[e.config.channel]),e.info[4].infoName["全部配置"]=e.collect.configManager.getAbData()),e.config.Native&&(e.info[5].infoName["是否打通"]=!!e.collect.bridgeReport)}))},e.prototype.loadHook=function(){var e=this;this.collect.on(I.DEBUGGER_MESSAGE,(function(t){switch(t.type){case I.DEBUGGER_MESSAGE_SDK:var n={time:t.time,type:t.logType||"sdk",level:t.level,name:t.info,show:!0,levelShow:!0,needDesc:!!t.data};return t.data&&(n.desc={content:JSON.stringify(t.data)}),e.updateLog(n),t.secType&&"AB"===t.secType?(e.info[4].infoName["已曝光VID"]=e.collect.configManager.getAbVersion(),e.info[4].infoName["全部配置"]=e.collect.configManager.getAbData()):"USER"===t.secType&&(e.info[1].infoName.uuid=e.collect.configManager.get("user").user_unique_id,e.info[1].infoName.web_id=e.collect.configManager.get("user").web_id),void e.updateInfo();case I.DEBUGGER_MESSAGE_EVENT:if(t.data&&t.data.length){var o=(n=t.data[0]).events;if(!o.length)return;o.forEach((function(n){n.checkShow=!0,n.searchShow=!0,n.success=t.status,n.type=-1!==e.filterEvent.indexOf(n.event)?"sdk":"cus",n.type=e.collect.bridgeReport?"bridge":n.type,n.info="","fail"===t.status&&(n.info={message:"code: "+t.code+", msg: "+t.failType})})),e.updateEvent(n)}return}}))},e.prototype.addLintener=function(){var e=this;window.addEventListener("message",(function(t){if(t.origin===location.origin){if(t&&t.data&&"devtool:web:ready"===t.data.type){if(e.devToolOrigin=t.origin,e.devToolReady=!0,e.sendAlready)return;console.log("inittttt"),e.sendData("devtool:web:init",{info:e.info,log:e.log,event:e.event}),e.sendAlready=!0}t&&t.data&&"devtool:web:ssid"===t.data.type&&e.collect.getToken((function(t){e.info[1].infoName.ssid=t.tobid,e.updateInfo()}))}}))},e.prototype.sendData=function(e,t){try{var n={type:e,payload:t};(window.opener||window.parent).postMessage(n,this.devToolOrigin)}catch(e){}},e.prototype.updateInfo=function(){this.devToolReady&&this.sendData("devtool:web:info",this.info)},e.prototype.updateLog=function(e){this.devToolReady?this.sendData("devtool:web:log",e):this.log.push(e)},e.prototype.updateEvent=function(e){this.devToolReady?this.sendData("devtool:web:event",e):this.event.push(e)},e.prototype.loadDebuggerModule=function(){var e,t=document.head||document.getElementsByTagName("head")[0];(e=document.createElement("style")).appendChild(document.createTextNode("#debugger-applog-web {\n position: absolute;\n width: 90px;\n height: 30px;\n background: #23c243;\n border-radius: 6px;\n color: #fff;\n font-size: 12px;\n bottom: 5%;\n right: 10%;\n text-align: center;\n line-height: 30px;\n cursor: pointer;\n z-index:100;\n }")),t.appendChild(e),((t=document.createElement("div")).innerHTML='
AppLog调试
',e=document.createElement("div")).innerHTML='
',document.getElementsByTagName("body")[0].appendChild(t),document.getElementsByTagName("body")[0].appendChild(e),document.getElementById("debugger-applog-web").addEventListener("click",(function(){(window.opener||window.parent).postMessage({type:"devtool:web:open-draw"},location.origin)}))},e}(),H={autotrack:{src:{sg:"https://sf16-scmcdn-sg.ibytedtos.com/obj/static-sg/log-sdk/collect/5.0/plugin/autotrack.js",va:"https://sf16-scmcdn-va.ibytedtos.com/obj/static-us/log-sdk/collect/5.0/plugin/autotrack.js"},object:"LogAutoTrack"},ab:{src:{sg:"https://sf16-scmcdn-sg.ibytedtos.com/obj/static-sg/log-sdk/collect/5.0/plugin/ab.js",va:"https://sf16-scmcdn-va.ibytedtos.com/obj/static-us/log-sdk/collect/5.0/plugin/ab.js"},object:"LogAb"},stay:{src:{sg:"https://sf16-scmcdn-sg.ibytedtos.com/obj/static-sg/log-sdk/collect/5.0/plugin/stay.js",va:"https://sf16-scmcdn-va.ibytedtos.com/obj/static-us/log-sdk/collect/5.0/plugin/stay.js"},object:"LogStay"},route:{src:{sg:"https://sf16-scmcdn-sg.ibytedtos.com/obj/static-sg/log-sdk/collect/5.0/plugin/route.js",va:"https://sf16-scmcdn-va.ibytedtos.com/obj/static-us/log-sdk/collect/5.0/plugin/route.js"},object:"LogRoute"},tracer:{src:{sg:"https://sf16-scmcdn-sg.ibytedtos.com/obj/static-sg/log-sdk/collect/5.0/plugin/tracer.js",va:"https://sf16-scmcdn-va.ibytedtos.com/obj/static-us/log-sdk/collect/5.0/plugin/tracer.js"},object:"LogTracer"},retry:{src:{sg:"https://sf16-scmcdn-sg.ibytedtos.com/obj/static-sg/log-sdk/collect/5.0/plugin/retry.js",va:"https://sf16-scmcdn-va.ibytedtos.com/obj/static-us/log-sdk/collect/5.0/plugin/retry.js"},object:"LogRetry"},visual:{src:{sg:"https://sf16-scmcdn-sg.ibytedtos.com/obj/static-sg/log-sdk/collect/5.0/plugin/visual.js",va:"https://sf16-scmcdn-va.ibytedtos.com/obj/static-us/log-sdk/collect/5.0/plugin/visual.js"},object:"LogVisual"}},q=["et","profile","heartbeat","monitor"],J=function(){function e(e){this.disableAutoPageView=!1,this.bridgeReport=!1,this.staging=!1,this.pluginInstances=[],this.sended=!1,this.started=!1,this.destroy=!1,this.sdkReady=!1,this.adapters={},this.loadType="base",this.sdkStop=!1,this.name=e,this.hook=new m,this.remotePlugin=new Map,this.Types=O,this.adapters.storage=Q}return e.usePlugin=function(t,n,o){if(n){for(var r=!1,i=0,s=e.plugins.length;ithis.sessionInterval&&(this.clearInterval(),this.endCurrentSession(),this.setInterval())},e}()),V=function(){function e(){}return e.prototype.apply=function(e,t){var n=this;this.collect=e,this.config=t,this.config.channel_domain||t.disable_track_event||t.disable_sdk_monitor||(this.url=e.configManager.getUrl("event"),t=this.collect.Types,this.collect.on(t.Ready,(function(){n.sdkOnload()})),this.collect.on(t.SubmitError,(function(e){var t=e.type,o=e.eventData;e=e.errorCode,"f_data"===t&&n.sdkError(o,e)})))},e.prototype.sdkOnload=function(){var e=this;try{var t=this.collect.configManager.get(),n=t.header,o=t.user,r=n.app_id,i=n.app_name,s=n.sdk_version,A=o.web_id,a={events:[{event:"onload",params:JSON.stringify({app_id:r,app_name:i||"",sdk_version:s,sdk_type:"npm",sdk_config:this.config,sdk_desc:"TOC_OVERSEA"}),local_time_ms:Date.now()}],user:{user_unique_id:A},header:{}};setTimeout((function(){e.collect.requestManager.useRequest({url:e.url,data:[a],timeout:3e4,app_key:"566f58151b0ed37e",forceXhr:!0})}),16)}catch(e){}},e.prototype.sdkError=function(e,t){var n=this;try{var o=e[0],r=o.user,i=o.header,s=[],A=(e.forEach((function(e){e.events.forEach((function(e){s.push(e)}))})),{events:s.map((function(e){return{event:"on_error",params:JSON.stringify({error_code:t,app_id:i.app_id,app_name:i.app_name||"",error_event:e.event,sdk_version:i.sdk_version,local_time_ms:e.local_time_ms,tea_event_index:Date.now(),params:e.params,header:JSON.stringify(i),user:JSON.stringify(r)}),local_time_ms:Date.now()}})),user:{user_unique_id:r.user_unique_id},header:{}});setTimeout((function(){n.collect.requestManager.useRequest({url:n.url,data:[A],timeout:3e4,app_key:"566f58151b0ed37e",forceXhr:!0})}),16)}catch(e){}},e}(),z="undefined"!=typeof window?(window.LogPluginObject||(window.LogPluginObject={}),window.LogPluginObject):null,W=function(){function e(){}return e.prototype.apply=function(e,t){this._plugin={},this.config=t,this.collect=e,this.channel=t.channel||"cn",this.loadExtend()},e.prototype.loadExtend=function(){var e=this;try{this.collect.remotePlugin.forEach((function(t,n){var o,r;"sdk"===t?H.hasOwnProperty(n)?(o=H[n].object,r=""+H[n].src[e.channel],e.exist(n,o,r)):console.warn("your "+n+" is not exist,please check plugin name"):"object"==typeof t&&(t.src?e.exist(n,t.call,t.src):e.process(n,t.instance,"INSTANCE"))}))}catch(e){this.collect.emit(I.DEBUGGER_MESSAGE,{type:I.DEBUGGER_MESSAGE_SDK,info:"发生了异常",level:"error",time:Date.now(),data:e.message}),console.log("load extend error")}},e.prototype.exist=function(e,t,n){var o=this;z[t]?(this.process(e,z[t]),console.log("已有"+e+"插件,避免重复加载~")):this.loadPlugin(e,n,(function(){o.process(e,z[t]),console.log(" %c %s %s %s","color: yellow; background-color: black;","–","load plugin:"+e+" success","-")}),(function(){console.log(" %c %s %s %s","color: red; background-color: yellow;","–","load plugin:"+e+" error","-")}))},e.prototype.process=function(e,t,n){try{var o;n?((o=new t).apply&&o.apply(this.collect,this.config),console.log("excude "+e+" success")):t&&t(this.collect,this.config)}catch(t){this.collect.emit(I.DEBUGGER_MESSAGE,{type:I.DEBUGGER_MESSAGE_SDK,info:"发生了异常",level:"error",time:Date.now(),data:t.message}),console.log("excude "+e+" error, message:"+t.message)}},e.prototype.loadPlugin=function(e,t,n,o){var r=this;try{var i=document.createElement("script");i.src=t,this._plugin[e]||(this._plugin[e]=[]),this._plugin[e].push(n),i.onerror=function(){o(t)},i.onload=function(){r._plugin[e].forEach((function(e){e()}))},document.getElementsByTagName("head")[0].appendChild(i)}catch(e){this.collect.emit(I.DEBUGGER_MESSAGE,{type:I.DEBUGGER_MESSAGE_SDK,info:"发生了异常",level:"error",time:Date.now(),data:e.message})}},e}(),X=(J.usePlugin(W,"extend"),J.usePlugin(t,"et"),J.usePlugin(K,"heartbeat"),J.usePlugin(V,"monitor"),W=new J("default")),Z={selectRoute:900,browserError:1e3,crc32:1e3,preUpload:1001,initUploadID:1002,process:1003,fileMerge:1004,complete:1005},$="video",ee="image",te="object",ne={video:"video_upload",image:"image_upload",object:"object_upload"},oe="vod",re="imagex";function ie(e){return(ie="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function se(){return(se=Object.assign?Object.assign.bind():function(e){for(var t=1;tt.percent?-1:e.error?1:t.error?-1:0})),e.forEach((function(e){delete e.transport})),e={lastClientIp:this.clientIp,lastSelectRouteTime:(new Date).getTime(),raceInfo:e,type:"success"},this.uploaderCtx.storage.setItem(this.cacheKey,JSON.stringify(e)),this.success(e,t)}},{key:"success",value:function(e,t){var n=2>>8;return~o>>>0},Re=function(e){if(void 0!==e)return function e(t){return t.length<8?e(t="0".concat(t)):t}(Number(e).toString(16))};function Le(e){return(Le="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function Te(e,t){for(var n=0;ne.length)&&(t=e.length);for(var n=0,o=Array(t);ne.length)&&(t=e.length);for(var n=0,o=Array(t);nthis.crc32Array.length?this.crc32Array.length:this.uploadSliceCount,this.lastIndex=0,this.uploading=[],this._uploadSize=this.crc32Array.reduce((function(e,t){return e+(t.finished?0:t.end-t.start)}),0),this._st=Date.now(),this._lastSaveTime=Date.now(),this.lastCalculateSpeedTime=this._st,this.initWorker(),this.setProgressMonitor(),this.threadUpload()}},{key:"initWorker",value:function(){var e,t=this;this.worker||(e=this.crc32Array,this.worker=new bt.a,this.worker.onmessage=function(n){n=function(e){return function(e){if(Array.isArray(e))return e}(e)||function(e){var t=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=t){var n,o,r,i,s=[],A=!0,a=!1;try{for(r=(t=t.call(e)).next,!4;!(A=(n=r.call(t)).done)&&(s.push(n.value),4!==s.length);A=!0);}catch(e){a=!0,o=e}finally{try{if(!A&&null!=t.return&&(i=t.return(),Object(i)!==i))return}finally{if(a)throw o}}return s}}(e)||function(e){var t;if(e)return"string"==typeof e?kt(e,4):"Map"===(t="Object"===(t={}.toString.call(e).slice(8,-1))&&e.constructor?e.constructor.name:t)||"Set"===t?Array.from(e):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?kt(e,4):void 0}(e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}(n.data);var o=n[0],r=n[1],i=n[2],s=(n=n[3],(new Date).getTime()),A=e[i];A.crc32=r,A.crc32StartTime=n,A.crc32EndTime=s,A.crc32Duration=s-n,t.upload(A,o,i)})}},{key:"read",value:function(e,t){var n=this,o=this.file,r=o.slice||o.webkitSlice||o.mozSlice,i=new FileReader;i.onload=function(e){var o=(new Date).getTime();n.worker.postMessage([e.target.result,t,o,!!n.config.clientEncrypt,n.currentCtx.clientEncryptKey,n.crc32Array.length-1===t],[e.target.result])},i.onerror=function(){n.stop(),n.fail({extra:{message:"An error occurred reading the file",errorCode:1003003}})},i.readAsArrayBuffer(r.call(o,e.start,e.end))}},{key:"threadUpload",value:function(){if(this.uploading.length=this.crc32Array.length))return this.stop(),void this.success()}else t.loaded=0,this.uploading.push(e),this.read(t,e);this.lastIndex++,this.threadUpload()}}}},{key:"stop",value:function(){var e=this;Object.keys(this.uploadHandlers).forEach((function(t){e.uploadHandlers[t].abort(),e.uploadHandlers[t].destroy()})),this.uploadHandlers={},this.worker&&this.worker.terminate(),this.worker=null,this.clearMonitor()}},{key:"setProgressMonitor",value:function(){var e=this;this.progressMonitorInterval=setInterval((function(){var t,n=e.finishSize;n-e.lastIntervalSize=this.crc32Array.length?(this.stop(),this.success(e.xhr)):this.threadUpload()}},{key:"getFinishSize",value:function(e,t){var n=t.crc32,o=0;return e.forEach((function(e){e.crc32===n?(e.loaded=t.loaded,o+=t.loaded):(e.loaded||(e.loaded=0),o+=e.loaded)})),o}},{key:"process",value:function(e){var t=this.currentCtx.realtimeSpeed||0,n=this.currentCtx.fileSize,o=(this.finishSize=this.getFinishSize(this.crc32Array,e),this.finishSize>this.lastFinishSize&&((e=new Date).getTime()-this.lastCalculateSpeedTime>1e3*this.realtimeSpeedInterval&&(r=e.getTime()-this.lastCalculateSpeedTime,o=this.finishSize-this.lastCalculateSpeedSize,t=Math.floor(o/r),this.lastCalculateSpeedTime=e.getTime(),this.lastCalculateSpeedSize=this.finishSize),this.lastFinishSize=this.finishSize),Math.floor(this.finishSize/n*100*100)/100||0),r=Mt(this.currentCtx,{stage:"process",percent:o,realtimeSpeed:t});o>this.lastProcessPercent&&100!==o&&(this.lastProcessPercent=o,this.context._broadcast("progress",r))}},{key:"errorFormat",value:function(e){var t=this.currentCtx.totalDuration,n=Date.now()-this._st,o=e.index,r=((r=e.crc32?{message:e.message,data:e.crc32,size:e.size}:e.extra).errorCode=(null==e?void 0:e.code)||r.errorCode||Ye,Mt(this.currentCtx,{extra:r,sliceIndex:o,stage:"process",req:{},res:{},totalDuration:n+t,sliceStartTime:e.sliceStartTime,sliceEndTime:e.sliceEndTime,sliceDuration:e.sliceDuration,crc32StartTime:e.crc32StartTime,crc32EndTime:e.crc32EndTime,crc32Duration:e.crc32Duration}));return e.xhr&&(o=e.xhr,r.req={url:e.xhr.currentUrl},r.res={status:o.status,body:o.responseText,header:o.getAllResponseHeaders()},delete e.xhr),r}}])}();function Pt(e){return(Pt="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function Gt(){return(Gt=Object.assign?Object.assign.bind():function(e){for(var t=1;tthis.lastFinishSize&&(this.lastFinishSize=this.finishSize),e=Math.floor(this.finishSize/t*100*100)/100||0,t=Kt(this.currentCtx,{stage:"process",percent:e}),e>this.lastProcessPercent&&100!==e&&(this.lastProcessPercent=e,this.context._broadcast("progress",t))}}])}();function en(e){return(en="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function tn(){return(tn=Object.assign?Object.assign.bind():function(e){for(var t=1;t{"use strict";function o(e){return"object"==typeof e&&"[object Object]"===Object.prototype.toString.call(e)}function r(){const e=arguments.length;let t=arguments[0];o(t)||(t={});for(let n=1;nu,DecodeImg:()=>p,Downlink:()=>m,GpuMark:()=>K,GpuWithoutScore:()=>ae,LiveArchMark:()=>se,LiveMark:()=>he,PerformanceNet:()=>B,SetTimer:()=>h,Usage:()=>y,VodMark:()=>Ce,default:()=>l});const i="g_ven",s="g_exp";var A=Object.defineProperty,a=(e,t,n)=>((e,t,n)=>t in e?A(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n)(e,"symbol"!=typeof t?t+"":t,n);class c{constructor(e){a(this,"options"),a(this,"nodes"),this.options=e,this.nodes=[],this._init()}_init(){this.options.plugins&&Object.keys(this.options.plugins).forEach((e=>{const t=this.options.plugins&&this.options.plugins[e];if(t&&!t.ignore&&(!t.instance&&t.plugins&&Object.keys(t.plugins).length>0?t.instance=new c(t):t.cls&&(t.instance=new t.cls(t)),t.instance)){const n=typeof t.weight>"u"?1:t.weight;this.nodes.push({key:e,weight:n,instance:t.instance})}}))}getScore(){return new Promise((e=>{const t=[];this.nodes.forEach((e=>{t.push(new Promise((t=>{e.instance.getScore().then((n=>{t({key:e.key,weight:e.weight,val:n})}))})))})),Promise.all(t).then((t=>{const n={};let o=0,r=0;t.forEach((({weight:e,val:t})=>{t.score>0&&(r+=e)})),r=0===r?1:r;for(let e=0;e0&&(o+=i.weight/r*i.val.score),n[i.key]=i.val}n.score=o,e(n)})).catch(console.log)}))}getScoreSync(e){const t={};let n=0,o=0;const{nodes:r}=this;r.forEach((t=>{const{weight:n,instance:r}=t,{score:i}=t.val=r.getScoreSync(e);i>0&&(o+=n)})),o=0===o?1:o;for(let e=0;e0&&(n+=i.weight/o*i.val.score),t[i.key]=i.val}return t.score=n,t}}class l extends c{get version(){return"0.1.12"}constructor(e){super(r({},e))}setPlayer(e,t){var n,o,r;null!=(o=null==(n=this.options.plugins)?void 0:n.render)&&o.instance&&(null==(r=this.options.plugins.render)||r.instance.setPlayer(e,t))}scoreAsync(){return this.getScore()}scoreSync(){return this.getScoreSync()}}var g=Object.defineProperty,d=(e,t,n)=>((e,t,n)=>t in e?g(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n)(e,"symbol"!=typeof t?t+"":t,n);class u{constructor(e){d(this,"mappingFn"),this.mappingFn=e.mapping}getScore(){return new Promise((e=>{e(this.getScoreSync())}))}getScoreSync(){try{const e=navigator.hardwareConcurrency;let t=0;return this.mappingFn&&(t=this.mappingFn(e)),{score:t,origin:e}}catch{return{score:0,origin:-1}}}}class p{constructor(e){d(this,"mappingFn"),d(this,"score",0),d(this,"origin",-1),d(this,"url"),d(this,"_getScoreCallback",(()=>{})),this.url=e.url,this.mappingFn=e.mapping}getScore(){return new Promise((e=>{if(this.url)try{const t=new Image;t.src=this.url,t.onload=()=>{const n=Date.now();"function"==typeof t.decode?t.decode().then((()=>{const t=1e3/(Date.now()-n);let o=0;this.mappingFn&&(o=this.mappingFn(t)),this.score=o,this.origin=t,e({score:o,origin:t})})):e(this.getScoreSync())},t.onerror=()=>{e(this.getScoreSync())}}catch{e(this.getScoreSync())}else e(this.getScoreSync())}))}getScoreSync(e){let t=0;return this.mappingFn&&(t=this.mappingFn(-1,null==e?void 0:e.ignoreCachedImg)),t>0?{score:t,origin:-1}:{score:this.score,origin:this.origin}}}class h{constructor(e){d(this,"mappingFn"),d(this,"score",0),d(this,"origin",-1),this.mappingFn=e.mapping}getScore(){return new Promise((e=>{const t=performance.now();setTimeout((()=>{const n=performance.now()-t;let o=0;this.mappingFn&&(o=this.mappingFn(n)),this.origin=n,this.score=o,e({score:o,origin:n})}),0)}))}getScoreSync(){let e=0;return this.mappingFn&&(e=this.mappingFn(-1)),e>0?{score:e,origin:-1}:{score:this.score,origin:this.origin}}}var _=Object.defineProperty;class y{constructor(e){((e,t,n)=>{((e,t,n)=>{t in e?_(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n})(e,"symbol"!=typeof t?t+"":t,n)})(this,"mappingFn"),this.mappingFn=e.mapping}getScore(){return new Promise((e=>{e(this.getScoreSync())}))}getScoreSync(){try{const e=navigator.deviceMemory;let t=0;return this.mappingFn&&(t=this.mappingFn(e)),{score:t,origin:e}}catch{return{score:0,origin:-1}}}}var I=Object.defineProperty,f=(e,t,n)=>((e,t,n)=>t in e?I(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n)(e,"symbol"!=typeof t?t+"":t,n);class m{constructor(e){f(this,"mappingFn"),this.mappingFn=e.mapping}getScore(){return new Promise((e=>{e(this.getScoreSync())}))}getScoreSync(){var e;try{const t=null==(e=null==navigator?void 0:navigator.connection)?void 0:e.downlink;let n=0;return this.mappingFn&&(n=this.mappingFn(t)),{score:n,origin:t}}catch{return{score:0,origin:-1}}}}class B{constructor(e){f(this,"mappingFn"),this.mappingFn=e.mapping}_getBandwidth(){if(!performance.getEntries)return-1;const e=performance.getEntries().filter((({initiatorType:e,decodedBodySize:t,responseEnd:n,responseStart:o})=>("img"===e||"script"===e)&&t>0&&n!==o)),t=e.reduce(((e,{decodedBodySize:t,responseEnd:n,responseStart:o})=>{const r=8e3*t/(n-o)/1024/1024;return e+(r<1e5?r:0)}),0);return e.length?t/e.length:-1}getScore(){return new Promise((e=>{e(this.getScoreSync())}))}getScoreSync(){try{const e=this._getBandwidth();let t=0;return this.mappingFn&&(t=this.mappingFn(e)),{origin:e,score:t}}catch{return{score:0,origin:-1}}}}const C=/ANGLE\s+\((?:[^,]+,\s+)?(?:[^:]*:)?([^,/]+)?(?:[^,]*)(?:[,\s]+)(Direct\S+|OpenGL[\d.\s]+|Unspecified)/,E=/ANGLE\s+\((?:[^,]+,\s+)?([^,]+)?(?:[,\s]+)(Direct\S+|OpenGL[\d.\s]+)/,v=/ANGLE\s+\((?:[^,]+,\s+)?(?:[^:]+:\s+)?([^,]+)?(?:[,\s]+)(Direct\S+|OpenGL[\d.\s]+)?/,Q="OpenGL Engine",b="Unknow",w=4318,M=32902,k=4098;var D=(e=>(e.CpuDeriver="CpuDeriver",e.Intel="Intel",e.Nvidia="NVIDIA",e.Amd="AMD",e.Apple="Apple",e.Adreno="Adreno",e[e.Unknow=b]="Unknow",e))(D||{});function O(e){return"NVIDIA"===e?w:"AMD"===e?k:"Intel"===e?M:0}function S(e){const t=function(e){const t=/(SwiftShader|Intel|NVIDIA|AMD|Radeon|Apple|Adreno)/.exec(e);return t?"Radeon"===t[0]?"AMD":"SwiftShader"===t[0]?"CpuDeriver":t[0]:D.Unknow}(e);return t===D.Unknow||"CpuDeriver"===t?{vendor:t,vendorId:0,model:e,backupModel:e,api:b,origin:e}:/^ANGLE/.test(e)?function(e,t){let n,o=b,r=b,i=b;return("Intel"===e||"NVIDIA"===e)&&(n=C.exec(t)),("AMD"===e||"Adreno"===e)&&(n=E.exec(t)),"Apple"===e&&(n=v.exec(t)),null!=n&&n[1]&&(o=n[1].replace(/(AMD|NVIDIA)/,"").trim()),null!=n&&n[2]&&(i=n[2].trim()),o=o.split("(0x00")[0].trim(),r="Intel"===e?o=o.split(Q)[0].trim():o.split(Q)[0].trim(),{vendor:e,vendorId:O(e),model:o,backupModel:r,api:i,origin:t}}(t,e):"Intel"===t?{vendor:t,vendorId:O(t),model:e.split(Q)[0].trim(),backupModel:e.split(Q)[0].trim(),api:b,origin:e}:{vendor:t,vendorId:O(t),model:e.replace(/(AMD|NVIDIA)/,"").trim(),backupModel:e.split(Q)[0].replace(/(AMD|NVIDIA)/,"").trim(),api:b,origin:e}}let R="";var L=Object.defineProperty;const T="Arc(TM) A770M #|995\nArc(TM) A770 #|980\nArc(TM) A770 #|970\nArc(TM) A580 #|940\nArc(TM) A730M #|820\nArc(TM) A750 #|770\nArc(TM) A750 #|770\nArc(TM) A550M #|660\nArc(TM) A550M #|630\nXe # ReleaseInternal|560\nArc(TM) A770M #|500\nArc(TM) A380 #|470\nArc(TM) A380 #|470\nArc(TM) A370M #|340\nArc(TM) A370M #|340\nXe #|320\nHD # 630 GT2|310\nArc(TM) A350M #|280\nIris(R) Xe MAX #|210\nIris(R) Xe # RI|205\nIris(R) Xe # ReleaseInternal|180\nIris(R) Xe #|180\nGen12 Desktop # Controller|180\nIris(R) Xe #|180\nIris(R) Xe MAX #|170\nCorporation Iris Xe #|170\nCorporation TigerLake-LP GT2 [Iris Xe #]|160\nXe #|160\nArc(TM) A350M #|150\nCorporation TigerLake GT2 [Iris Xe #]|150\nUHD # 770|140\nUHD # ReleaseInternal|140\nIris(R) Pro # P580|140\nIris(R) Plus #|130\nIris Plus #|130\nIris(R) Pro # 580|130\nUHD # 770|125\nUHD # 750|125\nRadeong 0.4 on AMD TONGA (DRM 3.1.0, LLVM 3.9.0)|120\nCorporation Iris Plus # G7|120\nIris(R) Plus #|120\nIris(R) Plus # 940|120\nIris(R) Plus # 650|120\nIris(R) Plus # 655|120\nIris(R) Plus # 655|120\nHD # P4600|120\nIris(TM) Pro # 6200|120\nIris(R) Plus #|120\nIris(R) Plus # 650|120\nIris(R) Plus # 655|115\nIris(R) Pro # 580|110\nCorporation Iris Pro # 580|110\nIris(R) Plus # 645|110\nIris(TM) Pro # 6200|110\nIris(TM) Pro # P580|110\nCorporation Iris Plus # 655|110\nArc(TM) # RI|110\nIris(R) Plus # 655|110\nIris(R) Plus # 655|110\nIris(R) Plus #|110\nUHD #|110\nIris Plus # 655|110\nIris(R) Plus # 650|110\nIris(R) Plus # 650|110\nIris(TM) Pro # 580|110\nIris(TM) Pro # 6200|110\nIris # 6100|110\nIris(TM) Pro # 6200|110\nIris(R) Plus # 645|110\nUHD # 730|110\nIris(TM) Pro # 6200|100\nIris Pro # 580|100\nCorporation Iris Pro # 6200|100\nIris(R) Plus # gfx-driver-user-comp_media-21486 DC ReleaseInternal|100\nIris(R) Pro # 580|100\nIris Plus # 645|100\nUHD # 750|100\nIris(TM) Pro # 580|100\nIris(TM) # 550|100\nIris(TM) Pro # P6300|100\nIris(R) Plus # 650|100\nIris(TM) Pro # 5200|100\nIris(R) # 550|100\nIris(R) Plus #|100\nIris(R) Plus # 650|100\nIris(R) Plus # 655|100\nIris(R) # 550|100\nIris(R) Plus # 645|95\nIris Plus # 650|95\nIris(R) # 550|95\nIris # 550|90\nIris(R) Plus # 650|90\nIris(R) Pro # 580|90\nIris(TM) Plus # 650|90\nIris(TM) # 550|90\nIris(R) Plus # 640|90\nIris(TM) Plus # 650|90\nIris(TM) Pro # P6300|90\nIris(TM) Plus # 650|90\nIris(TM) # 550|90\nUHD # 730|90\nCorporation Iris Plus # 650|90\nIris(TM) Pro # 5200|90\nCorporation CometLake-H GT2 [UHD #]|90\nIris(R) # 540|90\nUHD # P630|90\nUHD # 630|85\nIris(TM) # 540|85\nIris(TM) Plus # 640|80\nIris(TM) # 540|80\nUHD # 630|80\nUHD # 630|80\nUHD # P630|80\nIris(TM) Plus # 640|80\nUHD # 630|80\nUHD # 630|80\nIris Plus # 640|80\nIris(TM) # 540|80\nUHD # 630|80\nUHD # 630|80\nIris(TM) Pro # 5200|80\nUHD # 630|80\nHD # 630|80\nUHD # 630|80\nUHD # 630|80\nUHD # 630|80\nUHD # 630|80\nUHD # 630|80\nIris Pro # 6200|80\nUHD # 630|80\nIris # 540|80\nHD # 630|80\nIris(TM) # 540|80\nIris(TM) Pro # 5200|79\nUHD # 630|79\nUHD # 630|79\nUHD # 630|79\nIris # 540|79\nUHD # 630|79\nUHD #|78\nCorporation Sky Lake Integrated #|78\nIris(TM) Pro # 6200|78\nCorporation WhiskeyLake-U GT2 [UHD # 620]|78\nRadeong 0.4 on AMD BONAIRE (DRM 2.43.0, LLVM 3.8.0)|78\nUHD # 710|78\nUHD # 630|78\nUHD # P630|77\nUHD # 630|77\nUHD # 630 (Desktop 9 Series)|77\nUHD # 630|77\nCoffee Lake UHD #|77\nIris(TM) Pro # 5200|77\nUHD # 630|76\nIris(R) Plus # 640|76\nIris(TM) Pro # 5200|76\nUHD # 630|76\nUHD #|76\nUHD # 630|76\nIris(TM) Pro # 5200|75\nUHD # 630|75\nUHD # P630|75\nHD # P530|75\nHD # 630|75\nIris(TM) Pro # 5200|75\nUHD # 630|75\nIris(TM) Pro # 5200|75\nHD # 620|74\nUHD # 630|74\nHD # 630|74\nHD # 630|74\nCoffee Lake HD #|74\nUHD # 630|74\nIris(TM) # 540|74\nUHD 630|74\nIris(R) # 540|73\nUHD # 620|73\nIris # 6200|73\nCorporation CoffeeLake-H GT2 [UHD # 630]|73\nUHD # 630 (Desktop)|73\nHD # ICL RVP|73\nUHD # 630|73\nHD # 630|72\nIris Pro|72\nKBL Unknown|72\nUHD # 630|72\nIris(TM) Pro # 5200|72\nHD # 530|72\nCorporation UHD # 630 (Desktop 9 Series)|72\nRadeon Pro Vega 16|72\nIris(TM) # 540|72\nIris(R) # 540|72\nUHD # 630|71\nHD # 630|71\nIris(TM) Pro # 5200|71\nUHD # 630|71\nIris Pro|71\nCometLake UHD # 630|71\nHD # 630|71\nUHD #|71\nIris(TM) Plus # 640|71\nUHD #|71\nCorporation UHD #|70\nIris Pro # 6200|70\nIris(R) # 540|70\n#|70\nUHD # 630|70\nHD # ICL RVP BigSur|70\nUHD # ReleaseInternal|70\nHD # 530|70\nUHD # 630|70\nUHD #|70\nUHD # gfx-driver-user-comp_core-23599|70\nUHD # 630|69\nUHD #|69\nIris(TM) Pro # 5200|69\nCorporation Iris Plus # G1 (Ice Lake)|69\nHD # 630|69\nHD # 630|69\nIris(R) Plus #|69\nIris(TM) Pro # 5200|69\nUHD # 620|69\nUHD #|69\nIris(R) Plus # 640|69\nIris Pro # 6200|69\nHD # 630|69\nUHD # 630 (Mobile)|68\nIris(TM) Pro # 5200|68\nCorporation UHD # 630 (Desktop)|68\nHD # 630|68\nUHD # 630|68\nUHD # 620|68\nUHD # 630|68\nIris(TM) Plus # 640|68\nUHD #|67\nIris Pro # 580|67\nIris(TM) # 540|67\nUHD # 620|67\nIris(TM) Pro # 5200|67\nUHD #|66\nHD # P530|66\nCorporation UHD # 630 (Mobile)|66\nIris(R) Plus # 640|66\nUHD # 630|66\nIris(R) Plus # 640|65\nHD # 630|65\nHD 530|65\nUHD # 620|65\nSKL Unknown|65\nHD # 630|64\nIris(TM) # 540|64\nMesa DRI Intel(R) UHD # 620 (Kabylake GT2)|64\nUHD # 630|64\nHD # 530|63\nHD # 530|63\nHD # 530|63\nMesa Intel(R) HD # 530 (SKL GT2)|63\nUHD #|63\nHD # 530|63\nIris # 550|63\nHD # 530|63\nIris Plus # 655|63\nHD # 630|63\nUHD #, Gen11 LP|63\nCorporation 8th Gen Core Processor Gaussian Mixture Model|63\nUHD # 630|63\nIris(TM) # 650|63\nIris(R) Plus # 640|62\nHD # 530|62\nMesa DRI Intel(R) Iris # 540 (Skylake GT3e)|62\nIris(R) Plus #|61\nIris(TM) Pro # 5200|61\nIris Pro|61\nHD # 620|61\nUHD # 620|61\nUHD # 630|61\nUHD #|61\nHD # 530|60\nIris Plus # G1|60\nIris(TM) Pro # 5200|60\nIris Plus # 650|60\nUHD #|60\nHD # 620|60\nUHD # 620|60\nUHD # 630|60\nMesa DRI Intel(R) HD # 630 (Kaby Lake GT2)|60\nUHD # 620|60\nHD # 630|60\nHD # 630|59\nIris # 540|59\nIris Plus # 640|59\nCoffeeLake-H GT2 [UHD # 630]|59\nHD # 630|59\nUHD #|59\nHD # 620|59\nUHD # 620|59\nHD # 630|59\nCorporation UHD # 620 (Whiskey Lake)|59\nIris(R) Plus # 650|59\nUHD # 620|59\nMesa Intel(R) HD # 520 (SKL GT2)|58\nHD # 630|58\nHD # P530|58\nIris(TM) Plus # 640|58\nCorporation HD # 630|58\nUHD # 620|58\nUHD # 630|58\nHD # P630|58\nMesa DRI Intel(R) UHD # 630 (Coffeelake 3x8 GT2)|58\nCorporation CometLake-S GT2 [UHD # 630]|58\nHD # 530|58\nIris # 540|58\nHD # 530|58\nCorporation Device|58\nHD # CFL CRB|57\nHD # 620 macOS Edition|57\nHD # 530|57\nMesa DRI Intel(R) HD # 520 (SKL GT2)|57\nIris Pro #|56\nIris(TM) Pro # 5200|56\nIris(R) Plus # 655|56\nCoffee Lake UHD #|56\nIris(TM) # 640|55\nIris Pro|55\nUHD # 630|55\nUHD # 620|55\nHD # 530|55\nHD # 520|54\nHD # 530|54\nUHD # 620|54\nHD # 530|54\nCorporation UHD # 620|54\nUHD #|54\nIris Plus # G7|54\nCorporation Skylake GT2 [HD # 520]|53\nUHD # 630|53\nHD # 630|53\nCorporation HD # 530|53\nUHD # 617|53\nHD # 520|52\nHD # 620|52\nHD # 620|52\nHD # 620|52\nHD # 620|52\nHD # 630|52\nHD # 630|52\nHD # 5600|51\nHD # 530|51\nHD # 630|51\nUHD # 615|51\nMesa DRI Intel(R) HD # 520 (Skylake GT2)|51\nHD # 630|50\nHD # 620|50\nUHD #|50\nHD # P4600/P4700|50\nHD # 520|50\nHD # 530|50\nHD # 620|50\nHD # 530|50\nCorporation HD # 620|50\nHD # 530|50\nUHD # 620|49\nUHD # 620|49\nHD # 530|49\nIris(TM) # 6100|49\nHD # 4600|49\nHD # 630|49\nUHD # 617|49\nUHD # RI|48\nHD # 520|48\nUHD # 617|48\nHD # 5600|48\nHD # 620|48\nUHD #, Gen11 LP|47\nUHD # 617|47\nMesa DRI Intel(R) HD # 620 (Kaby Lake GT2)|47\nHD # 615|47\nUHD # RI|47\nHD # 630|47\nHD # 4600|46\nHD # 520|46\nCorporation Skylake GT2 [HD # 520]|46\nHD # 520|46\nCorporation Device|46\nHD # 4600|46\nHD # 615|45\nHD # 4600|45\nIris(TM) # 6100|45\nHD # 615|45\nUHD # 615|45\nHD # 630 GT2|45\nHD # 4600|45\nHD # 630|45\nIris(TM) # 6100|45\nHD # 4600|45\nHD # 620|45\nIris(TM) # 6100|45\nHD # 520|45\nHD # 4600|45\nIris(TM) # 540|44\nHD # 530|44\nHD # 4600|44\nIris(TM) # 5100|44\nKabylake HD # ULT GT2|44\nIris # 6100|44\nUHD # 630|44\nHD # 520|44\nHD # KBL CRB|44\nHD # 530 (Skylake GT2)|44\nCorporation HD # 620|44\nHD # 515|44\nUHD #|44\nUHD # 620|44\nIris(TM) Pro # P580|43\nUHD # 615|43\nHD # 4600|43\nHD # 4600|43\nCorporation Skylake Integrated #|43\nHD # 530|43\nUHD # 615|43\nUHD # 630|43\nHD # 615|42\nHD # 620|42\nHD # 4600|42\nHD # 615|42\nHD # 4600|42\nHD # 4600|42\nMesa DRI Intel(R) Kabylake GT2|42\nHD # 620|42\nCorporation HD # 6000|42\nUHD # 615|42\nHD # 4600|41\nCorporation HD # 520|41\nHD # P4600/P4700|41\nCorporation, Series Chipset Iris Plus # 655|41\nHD # 4600|41\nMesa DRI Intel(R) HD # 530 (Skylake GT2)|41\nHD # 4600|41\nIris(TM) # 640|41\nHD # 4600|41\nHD # 630|40\nIris(TM) # 5100|40\nIris(TM) # 6100|40\nUHD # 610|40\nHD # 4600|40\nHD # 4600|40\nUHD # 615|40\nUHD # 610|40\nHD # 530|40\nUHD # 605|40\nHD # 615|40\nHD # 4600|40\nUHD # 615|40\nHD # 505|39\nPHDGD Ivy 4|39\nUnknown|39\nIris(TM) # 5100|39\nIris|39\nCorporation Iris # 6100|39\nHD # 6000|39\nIris(TM) # 5100|39\nHD # 615|39\nHD # 5500|39\nSkylake GT2 [HD # 520]|39\nCorporation Broadwell-U Integrated #|38\nHD # 615|38\nHD # 5500|38\nHD # 4600|38\nMesa DRI Intel(R) HD # P4000 (IVB GT2)|38\nHD # 4600|38\nHD # 615|38\nCorporation HD # 610|38\nHD # 4600|38\nHD # 4600|38\nIris(TM) # 5100|38\nIris # 6100|38\nHD # 515|38\nHD # 6000|38\nUHD #, Gen11 LP|38\nIris(TM) # 5100|38\nHD # 4600|37\nHD # 610|37\nHD # 4600|37\nHD # 515|37\nHD # 4600|37\nHD # 4600|37\nIris # P580|37\nIris(TM) Pro # P6300|37\nHD # 5500|37\nHD # 4600|37\nIris # 6100|37\nUHD # 610|37\nHD # 4600|37\nHD # 4600|37\nUHD # 610|37\nHD # 530|37\nHD # 5500|37\nHD # 515|36\nHD # P4600/P4700|36\nHD # 515|36\nHD # 4600|36\nUHD # 615|36\nIris # 6100|36\nHD # 4600|36\nHD # 4600|36\nHD # 4600|36\nHD # 520|36\nHD # 520|36\nHD # 5500|36\nCorporation HD # 5500|35\nIris|35\nHD5500 # PG7|35\nHD # 515|35\nIris|35\n# gfx-driver-user-feature_dg1_poweron-27723 DCH ReleaseInternal|35\nHD # 615|35\nHD # P630|35\nHD # 510|35\nHD # 6000|35\nHD # 5000|35\nCorporation HD # 5300|35\nHD # 6000|35\nHD # 4600|35\nHD5500 Broadwell PG7|35\n# HD 4600|35\nHD # 6000|35\nHD # 510|34\nHD # 610|34\nHD # 4600|34\nHD # Family (PHDGD Skylake v2.9)|34\nCorporation Device|34\nHD # 610|34\nUHD # 610|34\nHD # 5300|34\nHD # 5000|34\nHD # 4600|34\nUHD # 610|33\nHD # 4600|33\nUHD # 620|33\nCorporation UHD # 615|33\nHD # 5000|33\nKabylake HD # ULX GT2|33\nHD # 620|33\nUHD # 615|33\nHD # 4600|33\nHD # 5500|33\nHD # 515|33\nUHD #|33\nHD # 4600|33\nHD # 520|33\nHD # 6000|33\nHD # 615|33\nHD # KBL CRB|33\nHD # 4600|33\nUHD # 610|33\nIris # 6100|33\nHD # 515|33\nIris|32\nIris|32\nHD # 5000|32\nIris|32\nHD # 5000|32\nIris(TM) # 5100|32\nHD # 4600|32\nHD # 4600|32\nCorporation Xeon E3-1200 v3/4th Gen Core Processor Integrated # Controller|32\nHD # 5500 (PHDGD Skylake v2.9)|32\nHD # 610|32\nHD # 6000|31\nHD # 5500|31\nIris|31\nHD # 6000|31\nUHD # 610|31\nHD # 510|31\nHD #|31\nHD # 6000|31\nHD # 4400|31\nHD # 5000|31\nHD # 4600|30\nHD # 515|30\nHD # 5600|30\nHD # 4600|30\nHD # 4400|30\nHD # 530|30\nGeForce GTX 960|30\nUHD # 610|30\nGeForce GTX 960|30\nHD # 510|30\nHD # 6000|30\nCorporation HD # 515|30\nHD # 610|29\nHD # 510|29\nHD # 5000|29\nHD # 4600|29\nIris(TM) Pro # 6200|29\nHD # 510|29\nHD # 5000|29\nHD # 6000|29\nIris|29\nHD # 4400|29\nHD # 4400|29\nHD # 4000|29\nHD # 510|29\nHD # 5000|29\nHD # 4400|28\nHD # 610|28\nHD # 5300|28\nHD # 510|28\nHD #|28\nHD # 610|28\nHD # 4400|28\nHD # 610|28\nHD # 4600|28\nHD # 4600|28\nHD # 5000|28\nHD # 4400|28\nHD # 4400|28\nCorporation Xeon E3-1200 v3/4th Gen Core Processor Integrated # Controller|28\nHD # 4400|28\nHD # 5300|28\nHD # 5000|28\nUHD # 605|28\nHD # 4400|28\nHD # 5500|28\nHD # 4000|28\nHD # 4400|27\nHD # 615|27\nHD # Family(PHDGD Skylake v2.0)|27\nHD # 4400|27\nHD # 4400|27\nHD # 610|27\nCorporation HD # 510|27\nIris|27\nHD # 520|27\nHD # 5000|27\nHD # 5300|27\nHD # 6000|27\nHD # 4000|27\nHD # 610|27\nHD # 5000|27\nHD # 4600|27\nMesa DRI Intel(R) HD # 505 (Broxton)|27\nHD # 5500|27\nHD #|27\nHD # 5000|26\nUHD # 600|26\nHD # 4600|26\nMesa DRI Intel(R) Haswell Mobile|26\nHD # 4000|26\nHD # 5300|26\nIris(TM) # 540|26\nHD # 4000|26\nHD # 4600|26\nHD #|26\nHD # 4400|26\nHD # 4600|26\nHD # 6000|26\nCorporation Celeron N3350/Pentium N4200/Atom E3900 Series Integrated # Controller|26\nHD # 530|26\nHD # 5500|25\nBroxton-P HD #|25\nCorporation Xeon E3-1200 v3/4th Gen Core Processor Integrated # Controller|25\nHD 4000|25\nHD # 4400|25\nHD # 4600|25\nHD # 5500|25\nHD 4000|25\nCorporation Xeon E3-1200 v3/4th Gen Core Processor Integrated # Controller|25\nCorporation HD #|25\nHD # 4400|25\nMesa DRI Intel(R) HD # 5500 (Broadwell GT2)|25\nHD # 4400|25\nHD #|25\nUHD # 600|24\nArc(TM) #|24\nHD # 4600|24\nHD # 5300|24\nHD # 4400|24\nHD # 4400|24\nHD # 4400|24\nHD # 4000|24\nUHD # 605|24\nHD # 5000|23\nCorporation Xeon E3-1200 v2/3rd Gen Core processor # Controller|23\nUHD #, LKF|23\nUHD # 605|23\nHD # 4400|23\nHD # 4400|23\nHD # 4000|23\nHD # 4400|23\nMesa DRI Intel(R) Ivybridge Desktop|23\n0x496e74656c2048442047726170686963000732034343|23\nHD # 5300|22\nHD # 615|22\nKabylake HD # ULX GT2|22\nHD # 5300|22\nHD #|22\nHD #|22\nHD # 4000|22\nHD #|22\nHD # 515|22\nHD #|22\nHD # 5300|22\nCorporation Xeon E3-1200 v3/4th Gen Core Processor Integrated # Controller|22\nHD # 5300|22\nCorporation Xeon E3-1200 v3/4th Gen Core Processor Integrated # Controller|22\nHD # 4000|21\nUHD # 605|21\nCorporation Xeon E3-1200 v3/4th Gen Core Processor Integrated # Controller|21\nHD # 4400|21\nHD #|21\nHD # 4400|21\nCorporation Xeon E3-1200 v3/4th Gen Core Processor Integrated # Controller|21\nHD #|21\nHD # 5300|21\nHD # 4400|21\nHD # 5300|21\nHD # P4600/P4700|21\nHD #|21\nCorporation Xeon E3-1200 v3/4th Gen Core Processor Integrated # Controller|21\nCorporation UHD # 605|20\nUHD # 600|20\nHD # 4000|20\nHD #|20\nUHD # 600 Universal|20\nHD # 4600|20\nHD # 500|20\nUHD # 600|20\nHD #|20\nHD # 5000|20\nHD # 4400|20\nHD # 5300|19\nHD # 4000|19\nMesa DRI Intel(R) Sandybridge Mobile|19\nHD # 505|19\nHD # 4000|19\nHD # 4400|19\nUHD # 600|19\nHD # 3000|19\nHD # 615|19\nHD #|19\nCorporation Atom/Celeron/Pentium Processor N4200/N3350/E3900 Series Integrated # Controller|19\nHD # 4000|19\nHD #|19\nUHD # 600|19\nHD #|19\nCorporation Haswell-ULT Integrated # Controller|19\nHD # 4400|19\nCorporation GeminiLake [UHD # 600]|19\nHD # 4000|18\nHD #|18\nHD #|18\nHD # 500|18\nHD # 4000|18\nCherryView HD #|17\nCorporation Xeon E3-1200 v2/3rd Gen Core processor # Controller|17\nXeon E3-1200 v3/4th Gen Core Processor Integrated # Controller|17\nCorporation Xeon E3-1200 v3/4th Gen Core Processor Integrated # Controller|17\nUHD # 600|17\nUHD # 600|17\nCorporation Xeon E3-1200 v2/3rd Gen Core processor # Controller|16\nHD #|16\nUHD # 600|16\nHD #|16\nHD # 5000 (Android)|16\nHD #|16\nUHD # 600|16\nHD #|16\nHD #, Gen10|16\nHD # (PHDGD IvyDrive 3.0)|16\nHD #|15\nUHD # 600|15\nCorporation Atom/Celeron/Pentium Processor x5-E8000/J3xxx/N3xxx Integrated # Controller|15\nHD # 500|15\nHD # 505|15\nHD #|15\nCorporation 3rd Gen Core processor # Controller|15\nHD # 4400|15\nHD #|14\nHD #|14\nHD #|14\nHD # 505|14\nHD #|14\nHD #|14\nHD #|14\nHD #|13\nHD # 530|13\nHD # 500|13\nCorporation 3rd Gen Core processor # Controller|13\nHD # 4400|12\nHD # 5500|12\nHD #|12\nHD #|12\nCorporation HD # 500|12\nHD # 500|12\n3rd Gen Core processor # Controller|12\nHD #|11\nCorporation Atom/Celeron/Pentium Processor x5-E8000/J3xxx/N3xxx Series PCI Configuration Registers|11\nCorporation 2nd Gen Core Processor Family Integrated # Controller|11\nHD # 510|11\nHD # 4600 (PHDGD Skylake v2.9)|9\nCorporation Atom Processor Z36xxx/Z37xxx Series # & Display|8\nCorporation Atom Processor Z36xxx/Z37xxx Series # & Display|8\nMesa DRI Intel(R) Bay Trail|8\nUHD #, Gen12 LP ReleaseInternal|5\nCorporation D3D12 (Intel(R) UHD # 630)|3\nHD # 3000|2\n(PE64) Intel(R) 4th Generation Haswell HD # Family|-1\n4 Series Internal Chipset|-1\n7 Series/C216 Chipset Family MEI Controller #1|-1\nB43 Express Chipset|-1\nCometLake-S GT2 [UHD # 630]|-1\nHD # 5500|-1\nHD # 620|-1\nG35 Express Chipset Family|-1\nG41 Express Chipset|-1\nG45/G43 Express Chipset|-1\n# Media Accelerator HD|-1\nHD # (PHDGD Omega 5.0)|-1\nHD # 4400|-1\nHD # P3000|-1\nHD # P3000 (PHDGD Omega 5.0)|-1\nIncrediblE HD # 3000|-1\nIris Pro # 5200|-1\nMesa DRI Intel(R) HD # (CHV)|-1\nMesa DRI Intel(R) Ivybridge Mobile|-1\nMobile Intel(R) 4 Series Express Chipset Family|-1\nMobile Intel(R) 965 Express Chipset Family|-1\nMobile Intel(R) HD #|-1\nPHDGD Quantic C3|-1\nQ45/Q43 Express Chipset|-1\nRadeong 0.4 on AMD CAPE VERDE (DRM 2.43.0, LLVM 3.7.0)|-1\nRadeong 0.4 on AMD CAPE VERDE (DRM 3.9.0 / 4.9.0-rc1+, LLVM 4.0.0)|-1\nRadeong 0.4 on AMD FIJI (DRM 3.2.0 / 4.7.0-rc5+, LLVM 4.0.0)|-1\nUHD #, Gen12 LP ReleaseInternal|-1",P="\n$ % 4090|1950\n$ % 4090 Laptop GPU|1790\n$ % 4070 Ti|1520\n$ % 3090 Ti|1465\n$ % 4080|1430\n$ % 4060 Laptop GPU|1410\n$ % 3080 Ti Laptop GPU|1390\n$ % 3080|1325\n$ % 3080 Ti|1300\n% A5500 Laptop GPU|1240\n$ % 3090|1235\n$ % 3070 Ti|1230\n$ % 3070|1230\n$ % 3060 Ti|1160\n$ % 3080 Laptop GPU|1140\n% A4000 Laptop GPU|1130\n$ % 2080 Ti|1120\n$ % 3070 Laptop GPU|1080\nTITAN V|1070\n$ % 2080 SUPER|1060\nQuadro % 8000|1050\n% A6000|1050\nTITAN %|1050\n$ % 3070 Ti Laptop GPU|1030\n% A5000 Laptop GPU|1030\n$ % 4090 Laptop GPU|1020\n$ % 3060|1015\nTITAN X (Pascal)|1010\nTITAN Xp|995\n$ & 1080 Ti|990\n$ % 4070 Laptop GPU|990\n$ % 4090|980\n$ % 2070 SUPER|980\n$ % 4080|975\n$ % 3060|970\n$ % 2080|970\n$ % 4080 Laptop GPU|970\n$ % 3060 Laptop GPU|910\n$ % 2060 SUPER|890\n$ % 4060 Laptop GPU|880\n$ % 2070|880\n$ % 2080 Super with Max-Q Design|870\n$ % 2080 with Max-Q Design|870\nQuadro % 5000|870\n$ % 3080 Ti Laptop GPU|860\nQuadro % 5000 with Max-Q Design|840\nAsus $ & 1080|840\n$ & 1080|840\n$ % 2070 Super with Max-Q Design|840\n% A3000 Laptop GPU|835\nQuadro % 4000 with Max-Q Design|830\n$ % 3070 Ti Laptop GPU|830\nQuadro % 4000|820\n% A6000|810\n$ & 1070 Ti|785\n$ % 4070 Ti|784\n$ % 4050 Laptop GPU|784\n% A5500 Laptop GPU|780\nTITAN Xp COLLECTORS EDITION|770\n$ % 2070 with Max-Q Design|765\n$ % 3050|760\n$ % 2060|760\n$ & 980 Ti|755\nQuadro P6000|750\n$ & 1080|750\nQuadro % 6000|744\n$ & 1070|740\n% A4000|740\n$ % 3090|740\n$ % 3080 Ti|730\n$ & 1080 Ti|730\nQuadro P4200|710\n$ & 1080 with Max-Q Design|707\n$ % 3060 Lite Hash Rate|705\nEIZO MED-XN83|700\n$ % 3080 Ti|700\n$ & 1660 SUPER|700\nTITAN Xp|700\nEVGA $ & 1070|700\n$ % 3090 Ti|700\nQuadro GV100|695\nQuadro P4000|695\n$ & 1660 Ti|690\n$ % 3070 Ti|690\n% 6000 Ada Generation|690\n$ % 3070|690\nQuadro % 8000|685\n% A2000 12GB|680\n$ % 2080|680\n$ & TITAN X|680\nQuadro M6000 24GB|680\n$ & 1660 SUPER|670\nTITAN V|670\nQuadro % 3000|670\nGraphics Device|670\n% A5000|670\n$ % 3090|670\nTITAN Xp COLLECTORS EDITION|670\n$ & 1070 A17|670\n$ % 3080 Laptop GPU|667\n% A4500 Embedded GPU|660\n% A5000 Laptop GPU|660\n$ % 3080|660\n$ % 3050 Ti Laptop GPU|650\n$ & 1070 with Max-Q Design|650\n$ % 3060 Ti|650\nQuadro P4200 with Max-Q Design|650\n$ % 3080|650\n$ % 2080 SUPER|650\n$ & 1070 Ti|648\n$ & 1070 with MaxQ Design|642\n% A3000 Laptop GPU|641\n$ % 3070 Laptop GPU|641\n$ & 1070|640\nGA104GL [% A4000]|639\n$ & 980 Ti|637\n$ % 2070 Mobile / Max-Q Refresh|637\n% A4000 Laptop GPU|634\n$ % 3060|633\nMicrosoft Virtual Render Driver|633\n$ % 3050 Laptop GPU|631\n% A2000|629\n$ % 2070 Mobile / Max-Q|626\n$ % 3070|625\nQuadro P5000|625\nQuadro P4000|621\n$ % 3060 Laptop GPU|621\n$ % 2060 with Max-Q Design|618\nGV102|614\n$ % 2070 SUPER|612\n$ & 1660|606\n$ % 2070|604\n$ & 1660 Ti with Max-Q Design|601\n$ & TITAN X|598\n% A2000 8GB Laptop GPU|598\n$ & TITAN Xp|595\n$ & 980|593\n$ % 2080 SUPER|591\n& 1060 HL|589\nTesla T4|589\nGRID P4-1Q|585\n% A4000|581\n$ % 2080 Ti|577\n$ % 2080 Super with Max-Q Design|576\nQuadro % 4000 Mobile / Max-Q|576\nTU102 [TITAN %]|574\n$ & 1060 with Max-Q Design|571\n$ % 2070 SUPER|570\n$ & 1060 6GB|570\n$ % 2080 Mobile|568\n$ % 2060|568\nQuadro P3200|565\nP106-100|564\nGRID V100DX-1Q|564\n% A2000|562\n$ % 2080 Ti Rev. A|561\n$ % 2080 Rev. A|559\nGV100 [TITAN V]|557\n$ % 2080|556\n$ & 1650 SUPER|554\nP106-100 Custom|553\n$ % 2070 Super with Max-Q Design|553\nGV100|553\n$ % 2070 Mobile|550\nGP102 [TITAN X]|548\n% A2000 12GB|546\n$ & 1060 5GB|542\nMSI $ & 1060|542\n$ % 2060 SUPER|542\nGRID T4-1Q|539\nQuadro % 5000 Mobile / Max-Q|538\n$ % 3050|538\n$ & 1060 3GB|538\nQuadro % 5000 with Max-Q Design|537\nQuadro M6000|536\n% A2000 Laptop GPU|536\n$ & 1660 SUPER|533\nA10-2B|530\nTITAN X (Pascal)|530\nQuadro P5000|527\n$ % 2070|526\n$ & 1080|525\n$ % 2060 Mobile|524\nPNY $ & 980|524\n$ & 1080 Mobile|523\n$ % 2060 SUPER|520\n$ & 780 Ti|518\n% A4500|516\n$ % 2060 Rev. A|515\nMSI $ & 980|515\nQuadro P3200 with Max-Q Design|513\n$ % 2070 with Max-Q Design|513\n$ % 3050 Ti Laptop GPU|510\nQuadro % 3000 Mobile / Max-Q|509\n$ & 1660 SUPER|508\nQuadro % 4000|508\n$ & 1060|506\n$ % 2080 with Max-Q Design|505\n$ & 1080 Ti|505\n$ & 1660 Ti Rev. A|504\n$ & 1660 Ti Mobile|504\n$ % 3050 Laptop GPU|503\n$ % 2060|503\nQuadro % 4000 with Max-Q Design|500\nEIZO MED-XN83|499\n$ & 970|499\n$ & 1080|495\n$ & 1070 Ti|492\n$ & 980|491\nA100-PCIE-40GB|489\n$ & 1070|487\n$ & 1660 Ti|487\nQuadro P2200|485\n$ & TITAN Black|484\nTITAN Xp COLLECTORS EDITION|483\nTITAN %|482\nQuadro P5200|482\n$ & 1060 with Max-Q Design|480\n% A1000 Laptop GPU|479\n$ & 1060 6GB|479\nQuadro % 5000|475\nTITAN V|475\nGRID P100-4Q|474\nEVGA $ & 970|472\n$ & 1650 SUPER|471\n$ & 1650 Ti|470\nQuadro % 3000|470\nQuadro M5000|469\nQuadro % 3000 with Max-Q Design|468\n$ & 980 Ti|467\n$ & TITAN|467\nQuadro P4200|466\n$ & 1070 with Max-Q Design|466\nQuadro M5000|466\n$ & 1080 Ti|466\nTesla M60|462\n$ & 1660|457\n$ & 1660|455\n$ % 2050|453\n$ & 1060|453\n$ % 2060 with Max-Q Design|453\nQuadro P3200 with Max-Q Design|452\nQuadro P4000|450\n$ & 1060 3GB|449\n$ & 1070|448\n$ & 1060 6GB Rev. 2|447\nGigabyte $ & 780 Ti|447\nTITAN Xp|444\n$ & 980M|440\nA10-4Q|439\n$ & 1080 with Max-Q Design|437\n$ & 1650 SUPER|435\nQuadro P5000|435\nQuadro P3000|434\n% A6000|434\n$ & 1060 3GB|433\n$ & 1070 Ti|432\n$ & 780|432\n$ & 1060 Mobile|432\nGigabyte $ & 970|431\n$ & TITAN Z|431\nQuadro K6000|429\n$ & 1650|425\n$ & 970|421\nTesla K20m|420\nQuadro GV100|419\nQuadro P4000|419\nQuadro P3200|417\n& 1060 HL|415\n% A2000 Laptop GPU|415\n$ & 780 by St3Phl3|414\nP102-100|412\nT1200 Laptop GPU|412\n$ & 780 Ti|411\n$ & 1060 6GB|408\n$ & 1650 Ti with Max-Q Design|407\nQuadro T2000 with Max-Q Design|407\nQuadro P2000|406\nQuadro P2200|406\n$ % 2060 Max-Q|405\n$ & 1650 Ti Mobile|403\n$ & 1060 Mobile 6GB|403\n$ & 1060 with Max-Q Design|401\n$ & 980|398\n$ % 2070 Rev. A|397\n$ & TITAN X|397\nTesla T4|395\nQuadro P6000|394\n$ & 1060 3GB|394\nQuadro M5000|393\n$ & 1060 with Max-Q Design|392\nPNY $ & 970|392\nQuadro T2000|391\nQuadro T1000 with Max-Q Design|391\nGRID P40-8Q|390\n$ & 780 Rev. 2|389\nQuadro GP100|387\n$ & 980|387\nP104-100|387\n$ & 1650 Ti|386\nGRID P40-4Q|384\n$ & 780 Ti|383\nDevice|383\nTU117M|381\nQuadro P2000|380\nQuadro % 6000|379\n$ & 1070 Mobile|378\nQuadro T1000|377\n$ % 3070 Mobile / Max-Q|376\n$ & 1060|376\nGRID V100-1Q|375\n$ & 780 Rev. 2|372\n$ % 2050|370\n$ & 770|370\n$ & 970|368\n$ & 1650 Ti|368\nGRID T4-2B4|368\nAsus $ & 780|366\nP106-100|365\nQuadro % 8000|365\n$ & TITAN Black|365\nGRID RTX6000-2Q|365\n$ & TITAN Black|363\nQuadro M4000|363\n$ & 1060 6GB|362\nQuadro P5000|361\n$ & 1650|361\nQuadro M5500|361\n$ & 780|360\n$ & 780|360\n$ & 980M|358\n$ & 1650|358\n$ & 1050 Ti|357\nQuadro P3200 Mobile|357\n$ & 1650 with Max-Q Design|356\nTesla T4|356\nQuadro P2000|356\n$ & TITAN|355\n$ & 970|355\n$ & 980 Ti|354\n$ & 1660 Ti with Max-Q Design|354\n$ & 780 Rev. 2|352\nGRID P4-4Q|351\n$ & TITAN X|351\nT1200 Laptop GPU|350\nGRID T4-8Q|350\n$ & 1060|349\n$ & 1050 Ti with Max-Q Design|348\n$ & 970M|346\nT1000 8GB|346\n$ % 3080 Mobile / Max-Q 8GB/16GB|346\n$ & 780 Ti|346\n$ & 680|346\n$ & 1660 Ti|345\n$ & 780|345\nQuadro M6000|344\nGRID T4-16Q|344\n$ % 2080 Ti|344\nGRID T4-1B|343\nQuadro K5200|342\nQuadro P2200|341\nT1000 8GB|341\nTesla K80|341\nQuadro T2000 Mobile / Max-Q|338\nTU107|337\n$ & 780 Mac|336\n$ & TITAN|336\n$ & 980M|335\nGRID P40-2Q|335\nEVGA $ & 780|334\n$ & TITAN Z|334\nTITAN X (Pascal)|332\n$ & 960|331\nTesla P40|331\n$ & 1650 Ti with Max-Q Design|330\nTesla P40|330\n$ & 1060se 3GB|329\n$ & 1650 Mobile / Max-Q|329\nQuadro T2000 with Max-Q Design|328\nT1000|327\n% A5500|326\nA40-8Q|326\n$ % 3060 Mobile / Max-Q|326\n$ & 690|326\nTesla V100-SXM2-16GB|326\nQuadro M5000|325\nA16-2B|323\n$ & 1050 Ti with Max-Q Design|321\n$ & 1050 Ti Mobile|321\n$ & 980M|319\nQuadro M3000M|318\n$ & 1650 with Max-Q Design|318\n$ & 670|316\nQuadro P3000|316\nT600 Laptop GPU|315\nQuadro T1000 with Max-Q Design|313\nTesla K80|312\nTesla K20m|311\n$ & 770|311\nTesla P100-PCIE-16GB|311\nQuadro M5000M|311\nTesla K80|309\nEVGA $ & 1070|309\nQuadro T1000|309\n$ & 1050 Ti|309\n$ & TITAN Z|308\nQuadro T2000|308\nQuadro M6000 24GB|308\n$ & 760 Ti|308\n$ % 2080 SUPER Mobile / Max-Q|308\n$ & 1050 Ti|307\nQuadro P2000|304\nQuadro P6000|304\n$ & 770 Mac Edition|303\nMSi $ & 1050 Ti|303\nA40|303\nT600|303\nP106-090|302\nP106-090|301\nQuadro K5200|300\n$ & 770|299\n$ & 680|299\n$ & TITAN|299\n$ & 680|297\nGRID M60-4Q|296\nQuadro M4000|296\nGRID M60-2Q|295\n$ & 760|294\nGRID V100DX-16Q|293\nQuadro % 6000/8000|293\n$ & 770|293\nGP104|292\n$ & 780 Rev. 2|290\n$ & 1050 Ti|288\n$ & 950|288\nEVGA $ & 1050 Ti|288\n$ & 1650 with Max-Q Design|286\n$ & 880M|285\n%NVIDIA_DEV.13D7.0580.1028%|283\nGP104GL|283\nGigabyte $ & 960|282\nQuadro K5200|281\n$ & 660 Ti|281\n$ & 670|281\nQuadro M4000|280\n$ & 580|280\nMSi $ & 960|280\nTesla M6|278\nPNY $ & 680|278\nT500|277\n$ & 1050|276\n$ & 1050 Ti with Max-Q Design|276\n$ & 690|276\n$ & 680|276\n$ & 670|275\n$ & 760 Ti|274\n$ & 1050 3GB|272\n$ & 880M|272\nTesla M60|272\nAsus $ & 960|271\nQuadro M4000|269\nT600|268\nTesla K20m|268\n$ & 760|268\nGP102 [TITAN Xp]|267\n$ & 960|267\n$ & 670|265\nQuadro T1000 Mobile|265\n$ & 1050|264\nTesla M60|264\nEVGA $ & 1080 Ti|263\n$ & 970M|263\n$ & 780M|262\n$ & 690|262\nAsus $ & 770|261\n$ & 1070 with MaxQ Design|261\nEVGA $ & 960|261\n$ & 960|260\nGRID T4-2Q|259\n$ & 970M|259\n$ & 960|259\nQuadro M3000M|258\n$ & 1060se 3GB|257\nTesla K10|257\nQuadro M3000M|257\nQuadro M2200|256\n$ & 690|255\n$ & 760|254\n$ & 880M|254\nQuadro K4200|253\nQuadro P2000 with Max-Q Design|253\nT550 Laptop GPU|253\nQuadro K5200|252\nMSI $ & 760|250\n$ & 580|249\n$ & 780M Mac Edition|249\n$ & 570|249\nTesla V100-PCIE-16GB|248\n$ GTX880M|248\n$ & 760|247\n$ & 570 Rev. 2|247\nAsus $ & 670|246\n$ & 580|246\n$ & 1050|245\nTesla P4|244\n$ & 680MX|244\n$ & 480|242\n$ & 1050|242\nQuadro 7000|241\nQuadro M4000M|241\n$ & 1050 Mobile|240\n$ & 660|240\n$ & 760 (192-bit)|239\nQuadro K5000|239\n$ & 760 OEM|238\n$ & 660 Ti|238\n$ & 775M Mac Edition|238\n$ & 965M|237\n$ & 870M|236\n$ & 950|236\n$ & 560 Ti 448 Cores|236\n$ & 780M|236\nQuadro P2000 with Max-Q Design|234\nMSI $ & 980 TI|234\nGRID K2|233\n$ & 1060 6GB OpenGL Engine|233\nPNY $ & 1060|233\nEVGA $ & 980|232\nGRID RTX6000P-6Q|232\n$ & 950|232\n$ & 950|232\n$ & 590|231\n$ & 1070 OpenGL Engine|231\nTITAN X (Pascal)|229\n$ & 1050 with Max-Q Design|229\n$ & TITAN Black|228\nQuadro K4200|227\n$ & 660 OEM|227\n$ MX450|225\n$ & 1050 with Max-Q Design|225\nQuadro P1000|225\nGraphics Device|225\nQuadro M2000|222\n$ & 1630|222\nQuadro M4000M|221\nQuadro K5100M|221\nEVGA $ & 760|221\n$ & 1070 Ti|221\n$ & 660 Ti|220\n$ & 570|220\n$ & 660 Ti|219\nQuadro K6000|219\n$ & 570 Rev. 2|219\n$ & 1050 with Max-Q Design|219\nTesla M40|218\n$ & 680M|217\n$ & 780M by Nick[D]vB|217\nAsus $ & 980 TI|217\n$ & 1060 3GB|217\nGraphics Device|217\n$ & 570 Rev. 2|216\n$ & 1060 3GB OpenGL Engine|216\n$ & 660|215\nPoint of View $ & 660 Ti|214\nGigabyte $ & 980|214\nQuadro K5000|213\nQuadro P1000|213\n$ & 480|213\n$ MX450|212\nQuadro K4200|211\nGRID K280Q|211\nAsus $ & 760|210\nQuadro P1000|210\n$ & 680MX|209\n$ & 1060 6GB|209\n$ & 660|209\n$ & 750 Ti|208\n$ & 780M Mac Edition|208\n$ & 775M Mac Edition|208\nGRID K520|208\nQuadro M2200|207\nGRID M60-8Q|207\nGRID K2|207\n$ & 775M Mac Edition|206\n$ & 560 Ti 448 Cores|205\n$ & 760 (192-bit)|205\nQuadro K5000|205\nGigabyte $ & 980 TI|204\n$ & 780M Mac Edition|204\nAsus $ & 660|204\nGRID M60-1B|202\n$ & 650 Ti BOOST|202\n$ & 480|202\n$ & 960M|201\n$ & 660 OEM|201\n$ & 780 Ti|201\nQuadro K5000|201\n$ & 780M Mac Edition|201\n$ & 870M|200\n$ & 680MX|200\n$ & 680MX|199\nQuadro P1000|198\nTesla P100 PCIe 16GB|198\nQuadro K5100M|198\n$ & 470|198\nQuadro P620|197\nAsus $ & 780|197\nQuadro 6000|196\nQuadro M1200|195\nQuadro K2200|195\n$ & 590|195\nQuadro M2000M|194\nQuadro M4000 OpenGL Engine|194\n$ & 870M|194\n$ & 1070|194\nEVGA $ & 750 Ti|194\nZotac $ & 680|193\nQuadro % 3000 with Max-Q Design|193\nT400|193\nQuadro M2200|193\nQuadro K4100M by nikey22|192\nGRID K2|192\n& 865M by iMacGFX|191\nQuadro M2000|191\n$ & 980M|190\n$ & 560 Ti|190\nPalit $ & 660|190\nGRID K260Q|189\nGRID M10-2Q|189\n$ & 660|189\n$ & 965M|189\n$ & 650 Ti BOOST|188\n$ & 675MX Mac Edition|188\nQuadro K5100M by nikey22|187\n$ & 680M|187\nZotac $ & 660|186\n$ & 650 Ti BOOST|186\n$ & 760 (192-bit)|185\nGRID M60-1Q|184\nGigabyte $ & 960|184\nQuadro M2000M Special Edition|184\n$ & 560 Ti|184\nInno3D $ GTX660|183\n$ & 1060|183\n$ & 675MX Mac Edition|182\nQuadro P600|181\n$ & 1080|181\n$ & 675MX Mac Edition|181\nQuadro P620|180\nGK104 Board - 20530501|180\nAshley|180\nQuadro M2000|179\n$ & 860M|179\nMSi $ & 1050 Ti|179\nAsus $ & 750 Ti|178\n$ & 750 Ti|178\n$ & 750 Ti|177\nEVGA $ & 980 TI|177\nAsus $ & 770|177\n$ & 760 OEM|176\n$ & 750|176\nQuadro P2000 Mobile|176\nQuadro K4100M|175\nT400 4GB|174\n$ & 1080 Ti OpenGL Engine|174\nQuadro K5000M|173\n$ & 960A|173\n$ & 560 Ti|172\nTesla M10|172\n$ & 1080 Ti|172\nGRID RTX6000P-6|172\nGK104 Board - 2051b502|172\n$ & 770M|172\n$ & 960M|172\n$ & 970|172\nGRID M10-2Q|171\n$ & 560 Ti OEM|171\nMSi $ & 970|171\nGK104GL [GRID K2]|171\n$ & 470|170\n$ & 560 Ti|170\nTITAN Xp|170\n$ & 870M|170\n$ MX350|169\nMSi $ & 580|169\n$ & 960M|169\nEVGA $ & 760|169\nQuadro K4000M|169\nT400|169\n$ MX350|168\n$ & 470|168\n$ & 560|167\nQuadro 6000|167\n$ & 1050 Ti OpenGL Engine|167\nQuadro M1200|167\nGigabyte $ & 970|166\n$ GT 1030|166\n$ GTX780M by nikey22|166\n$ GTX870M by nikey22|166\nTesla V100-PCIE-32GB|165\nQuadro K2200|165\nQuadro M1000M|165\nQuadro K2200|165\nAsus $ & 970|164\n$ & 750 Ti|164\nQuadro M2000M|164\n$ & 1050|164\n$ & 1050 Ti|163\nQuadro K5000|163\nGraphics Device|162\n$ MX250|162\nT500|161\nEVGA $ & 570|161\nQuadro M2000M|161\nQuadro K1200|159\n$ & 860M|159\n$ & 770M|159\nQuadro M1200|158\n$ & 675MX|158\n$ MX330|158\nQuadro K2200M|157\nQuadro K4000|157\n$ & 690|157\n$ & 860M|157\nMSi $ & 670|156\nQuadro K2200|156\nQuadro K4100M|156\n$ & 770M by Nick[D]vB|155\nTesla V100-SXM2-32GB|155\n$ & 1080 OpenGL Engine|155\nGigabyte $ & 670|155\nEVGA $ & 960|155\n$ & 750|155\n$ Pre-Release TITAN X (Pascal) OpenGL Engine|154\n$ & TITAN Xp|154\nAsus $ & 950|154\nQuadro K4100M|153\n$ & 960|153\n$ & 770M|153\n$ MX330|153\nQuadro M2200 Mobile|153\n$ MX250|153\n$ Pre-Release TITAN Xp OpenGL Engine|153\nQuadro P600|153\nQuadro M620|152\n$ & 1070 Ti OpenGL Engine|152\n$ & 770|152\n$ GT 1030|152\nTesla C2070|152\n$ & 650 Ti|152\nGRID K240Q|151\n$ & 480 OpenGL Engine|151\n$ & 750|151\n$ & TITAN|151\n$ & 760 (192-bit)|151\n$ & 560|151\n$ GT 1030|151\nQuadro K5000M|151\nQuadro P1000 Mobile|151\nZotac $ & 660|151\n$ & 460 v2|150\nGRID & P40-6|150\nMSi $ & 660|149\n$ & 780M|149\nMSI $ & 760|149\nP106-090|149\n$ & 950A|149\n$ MX150|149\nAsus $ & 1060|149\nUnknown|149\n$ & 980 Ti|148\nGRID T4-4Q|148\n$ & 465|147\nColorful $ & 960|147\nGigabyte $ & 750|147\nQuadro M1000M|147\n$ & 780 Mac|147\n$ & 460|146\nMSi $ & 960|146\n$ & 560|146\nQuadro K4000|145\n$ & 970M|145\nQuadro M1000M|145\nUnknown|145\n$ & 980|144\n$ & 950|144\n$ & 675M|144\nZotac $ & 960|144\n$ Pre-Release Graphics Device|144\n$ & 670 OpenGL Engine|143\nQuadro K4000|143\nEVGA $ & 580|143\n$ & 950M|143\n$ & TITAN Black OpenGL Engine|142\n$ & 760|142\nQuadro 5000|142\nMSI $ & 570 HD|142\n$ Pre-Release TITAN Xp COLLECTORS EDITION OpenGL E|142\n$ & 1050 OpenGL Engine|142\n$ & TITAN X|142\n$ & 880M|141\nGV-N660OC-2GD|141\n$ & 750|141\nQuadro M5000M|140\n$ & 970 OpenGL Engine|140\n$ & 675MX|140\nAsus $ & 760|140\nQuadro P5000 OpenGL Engine|139\n$ & 580|139\n$ & 675MX|139\nZotac $ & 750|139\nQuadro K1200|139\n$ MX150|139\n$ & 650 Ti|139\nQuadro K1200|139\n$ & 980 Ti OpenGL Engine|139\n$ & 580M|138\nAsus $ & 580|138\n$ & 770 OpenGL Engine|138\n$ GT 1010|138\n$ & 780 Rev. 2|138\nQuadro P2000 OpenGL Engine|138\n$ MX250|138\nQuadro K4000|137\n$ & 460 v2|137\n$ & 770M|137\nGigabyte $ & 570 HD|136\n$ & 465|136\n$ & 460 v2|136\n$ & 670|136\n$ & 590 OpenGL Engine|136\n$ & 780|135\n$ & TITAN Black|135\n$ & 660 Ti|135\nZotac $ & 560 Ti|134\n$ & 880M OpenGL Engine|134\n$ & 650 Ti|134\n$ & 760 OpenGL Engine|134\nnull Graphics Device|134\nQuadro M620|133\n$ & 780M Mac Edition|133\n$ MX150|132\nAsus $ & 570 HD|132\n$ & 775M OpenGL Engine|132\n$ & 850M|132\nAsus $ & 570|132\nQuadro K6000 OpenGL Engine|131\n$ & 850M|131\n$ & 460|131\n$ & 950A|130\n$ & 780M OpenGL Engine|130\nPoint of View $ & 660 Ti|130\n$ & 775M Mac Edition|130\nEVGA $ & 650 Ti|130\nEVGA $ & 750 Ti|129\n$ & 460|129\nQuadro P520|129\nGainward $ & 570|129\nAsus $ & 750 Ti|129\nQuadro K3100M|128\nQuadro K2200|128\nAsus $ & 560 Ti|127\n$ & 680|127\n$ & 680 OpenGL Engine|127\n$ & 950M|127\nGRID V100-2B|127\nGigabyte $ & 660 Ti|127\nN15E-GT|126\nQuadro K1200|126\n$ & 650 Ti|126\nGigabyte $ & 770|126\n$ & 660|126\nQuadro 5000|125\n$ GT 1030|125\n$ & 950M|125\n$ & 765M|125\nQuadro M5000|125\nGigabyte $ & 560 Ti|125\n$ & 580M|125\nQuadro M2000|124\n$ & 850M|124\n$ & 570 OpenGL Engine|123\nGainward $ & 750 Ti|123\nQuadro K2200M|123\n$ & 780M Mac Edition|123\n$ & 680MX OpenGL Engine|123\nQuadro K4200|123\n$ & 460 OEM|122\n$ & 670MX|122\nMSi $ & 560 Ti|122\n$ & 460 SE|122\nQuadro M4000|122\n$ GTX880M OpenGL Engine|122\nQuadro P620|121\n$ & 560 SE|121\n$ GTX880M by nikey22|121\n$ & 555|121\n$ & 965M OpenGL Engine|121\n$ & 850A|121\nQuadro K5000 OpenGL Engine|120\n$ & 580 OpenGL Engine|120\nQuadro K3100M|120\n$ & 650 Ti BOOST|119\n$ & 570M|119\n$ & 675MX OpenGL Engine|119\n$ & 775M Mac Edition|119\nZotac $ & 1050 Ti|118\n$ & 965M|117\nQuadro M600M|117\n$ & 780M by Nick[D]vB|117\n$ & 460 SE|117\n$ & 555|116\n$ & 670M|116\nQuadro K3000M|116\n$ & 780 Ti OpenGL Engine|116\nQuadro K4000M|115\n$ & 860M|115\nAsus $ & 660|115\nTesla C2075|114\n$ & 675MX Mac Edition|114\nZotac $ & 770|114\nGigabyte $ & 750 Ti|114\n$ MX330|114\n$ GT 1030|113\n$ & TITAN OpenGL Engine|113\n$ & 590|113\nQuadro K620|113\n$ & 780M|112\n$ & 560 Ti|112\nQuadro 6000|112\nEVGA $ & 560 Ti|112\nAsus $ & 960|112\nQuadro K5000|112\nPoint of View $ & 470|111\nPNY $ & 580|111\n$ & 770M|111\n$ GT 120|111\nMSi $ & 660|111\nGigabyte $ & 560|111\n$ & 680MX|110\n$ 945M|110\n$ & 765M|110\n$ & 950 OpenGL Engine|110\n$ Pre-Release Tesla C2075 OpenGL Engine|109\n$ & 550 Ti|109\n$ & 765M|108\nPNY $ & 750|108\n$ & 560 Ti 448 Cores|108\nQuadro P500|108\n$ & 670MX|108\n$ & 680MX|107\n$ & 460 SE|107\n$ & 675MX Mac Edition|107\n$ & 770M OpenGL Engine|107\n$ 945M|107\n$ & 675MX|107\nPNY $ & 570 HD|106\n$ & 745|106\n$ MX230|106\n$ & 670MX|106\n$ 845M|106\nQuadro K3100M OpenGL Engine|105\nQuadro P2000|105\n$ MX570 A|105\n$ & 750 Ti|104\n$ & 660 OEM|104\nQuadro M600M|104\n$ & 750|104\n$ & 645|104\nGP108|104\nQuadro P520|104\nZotac $ & 460|103\nChip Model|103\n$ & 670M|103\nQuadro T1000|103\n$ & 670M|103\n$ & 650|103\nZotac $ & 750|102\n$ & 460 OpenGL Engine|102\n$ & 860M OpenGL Engine|102\nQuadro 4000|102\nAsus $ & 480|102\nZotac $ & 650 Ti|102\n$ GT 755M|101\nGF100 Board - 10220000|101\n$ & 470M|101\n$ & 570 Rev. 2|101\n$ & 775M by iDopt Mac|101\n$ & 765M by Nick[D]vB|101\n$ & 570|101\n$ & 645|101\n$ & 550 Ti|100\n$ & 760M|100\n$ GT 1030 OpenGL Engine|100\n$ & 650|100\nQuadro P400|100\n$ & 480|99\nEVGA $ & 650|99\nEVGA $ & 560|99\n$ MX130|99\n$ MX130|98\nAsus $ & 460|98\nElitegroup $ & 460|98\nTesla V100-SXM2-32GB|98\n$ GT 755M|98\n$ & 760 Ti OpenGL Engine|98\nQuadro P520|97\n$ GT 755M Mac Edition|97\n$ & 1060 5GB|97\nPalit $ & 650 Ti|97\nMSi $ & 460|96\n$ & 650|96\nGigabyte $ & 580|96\nGigabyte $ & 460|96\n$ & 745|96\nEVGA $ & 550 Ti|96\n$ & 465|96\n$ & 460 SE|96\n$ & 765M|96\n$ GT 755M Mac Edition|96\nQuadro M520|95\nQuadro K620|95\nT1000|95\n$ & 745|95\nQuadro K620|95\n$ GT 755M|94\n$ & 660 Ti OpenGL Engine|94\nQuadro K3000M|94\nQuadro K4000|94\nQuadro K4000 OpenGL Engine|94\n$ & 560|94\n$ & 650 Ti OpenGL Engine|94\nZotac $ & 560|94\nAsus $ & 560|93\n$ & 650 Ti|93\n$ GPU|92\n$ & 460|92\nMSi $ & 650 Ti|92\n$ & 645|92\nGigabyte $ & 760|92\n$ & 660M|92\n$ GTS 450|92\n$ & 765M|92\nQuadro K2000D|92\nQuadro K2000|91\n$ GT 740|91\n$ & 650|91\nGRID M6-0B|91\nHP Quadro K620|91\n$ MX130|91\nQuadro K3000M by ST3PHL3|91\nQuadro 4000|90\n$ MX230|90\nQuadro K620|90\nQuadro K2100M by Nick[D]vB|90\nQuadro K3000M by nikey22|89\n$ GT 650M OpenGL Engine|89\nQuadro 4000|89\nQuadro K3000M|88\n$ & 660M|88\nQuadro K6000|87\n$ GT 755M Mac Edition|87\nPalit $ & 650|87\nQuadro P500|87\n$ & 570M|86\nGainward $ & 460|86\n$ & 950M|86\nQuadro K2000D|86\n$ & 650 Ti BOOST|86\nQuadro K2100M|86\n$ & 470|85\nQuadro K2000|85\nQuadro K2000|85\n$ GT 750M Mac Edition|85\n$ & 745|85\nGRID K220Q|85\n$ & 750 OpenGL Engine|85\nQuadro 5000M|84\nQuadro P400|84\n$ GTS 450|84\n$ GT 640 Rev. 2|84\n$ & 660M Mac Edition|84\nQuadro P400|84\nAsus $ & 560 SE|84\nPNY $ & 460|83\n$ GT 640 Rev. 2|83\n$ GTS 450 Rev. 2|83\n$ GTS 450|83\n$ GTS 450 Rev. 2|83\n$ & 645|82\n$ GPU|82\n$ & 560M|82\nQuadro K3000M|82\nQuadro K2100M by nikey22|82\nGigabyte $ & 750|82\n$ GT 740|82\n$ GT 750M Mac Edition|82\n$ & 765M OpenGL Engine|82\n$ & 645 OpenGL Engine|82\nQuadro K620|81\n$ & 550 Ti OpenGL Engine|81\nQuadro 4000M|81\nPNY $ & 550 Ti|81\n$ MX110|80\n$ & 760M|80\nMSi $ & 745|80\nQuadro K2100M OpenGL Engine|80\nQuadro K2000|80\nQuadro 5000|80\nQuadro K620 OpenGL Engine|80\nMSi $ & 745|80\n$ GT 755M OpenGL Engine|80\n$ & 660M|79\nGigabyte $ & 550 Ti|79\nMSi $ & 650|79\n$ & 560M|79\nQuadro P400|78\nQuadro K2100M|78\nQuadro K2100M|78\nZotac $ & 1050 Ti|78\nQuadro 3000M|77\n$ 940A|77\n$ & 460M|77\n$ & 550 Ti|77\n$ GT 545|77\n$ GT 650M Mac Edition|77\n$ 940MX|76\n$ & 650 OEM|76\n$ & 550 Ti|76\n$ GT 755M Mac Edition|76\n$ GT 740 OpenGL Engine|75\nGainward $ & 550 Ti|75\nQuadro K1200|75\n$ GT 650M Mac Edition|75\nEVGA $ & 650|75\n$ GT 750M Mac Edition|74\n$ & 745|73\n$ & 555|73\n$ & 650|73\nGainward $ GTS 450|73\n$ GT 650M|73\n$ GT 755M Mac Edition|73\n$ & 460M|72\n$ 930A|72\n$ 930MX|72\n$ 940MX|72\n$ MX110|72\n$ GT 750M Mac Edition|72\nQuadro 2000|72\n$ 845M|71\nQuadro 2000D|71\n$ GT 640 Rev. 2|71\n$ MX110|71\n$ GT 1010|71\n$ GT 545|71\nQuadro K1200 OpenGL Engine|71\n$ 940MX|71\n$ & 650 OpenGL Engine|71\nEVGA $ & 650 Ti BOOST|71\nQuadro K2100M|70\n$ GT 1010|70\nQuadro M500M|70\n$ GT 650M Mac Edition|70\n$ GT 640 OEM|70\nQuadro K2000D|70\nQuadro K2000 OpenGL Engine|70\n$ GT 750M Mac Edition|70\n$ GT 650M|69\nQuadro K1100M by Nick[D]vB|69\n$ GT 650M|69\n$ 940M|69\n$ GT 650M|69\nQuadro 4000|69\n$ GT 650M Mac Edition|69\n$ GT 745M|69\nGainward $ & 560 Ti|68\n$ 920MX|68\nQuadro M520|68\n$ GT 640|68\n$ 840M|68\n$ 9800 & / 9800 &+|68\n$ & 770M by Nick[D]vB|67\nZotac $ & 650|67\nAsus $ & 550 Ti|67\n$ GT 750M|67\nQuadro K3100M by nikey22|67\n$ GT 750M|67\n$ & 760 (192-bit) OpenGL Engine|67\nHP Quadro 4000|67\nQuadro K2000|67\n$ GTS 450 Rev. 2|67\n$ 930MX|67\n$ & 660M Mac Edition|66\n$ & 570|66\n$ GT 750M|66\n$ GT 650M Mac Edition|66\n$ GT 650M OpenGL Engine|65\n$ & 660M OpenGL Engine|65\n$ 930M|65\nPalit $ & 650|65\n$ & 760M|65\n$ GT 650M Mac Edition|65\n$ 940M|65\n$ GT 750M Mac Edition|64\n$ 940M|64\n$ GT 740|63\n$ 930MX|63\nQuadro 3000M|63\n$ GT 730|63\nQuadro K1100M|63\n$ GT 750M|63\n$ 840M|63\n$ GT 640 OEM|63\n$ 840M|63\n$ GT 640 Rev. 2|62\n$ GTS 450|62\nQuadro 2000|62\n$ GT 745M|62\n$ GT 740|62\n$ GT 640|62\nQuadro 2000|62\n$ & 660M Mac Edition|62\nQuadro K1100M OpenGL Engine|62\nQuadro K2000M|62\n$ & 680MX OpenGL Engine|61\nEVGA $ GT 730|61\nQuadro 2000D|61\n$ 840A|61\nMSi $ & 660 Ti|61\nQuadro K1100M|61\n$ GT 645M|61\n$ & 780M OpenGL Engine|61\nHP $ GT 730|61\nQuadro K5000M OpenGL Engine|61\nEVGA $ GT 640|61\n$ 920MX|60\nQuadro M500M|60\nQuadro K620M|60\n$ 930M|60\n$ 930A|60\n$ GT 640 OEM|60\n$ GT 640|60\nQuadro 2000M|60\n$ GT 640|60\n$ GT 640M Mac Edition|60\n$ GT 640M Mac Edition|60\n$ GT 640M Mac Edition|59\n$ GT 645M|59\n$ 930M|59\nGigabyte $ & 650 Ti|59\n$ GT 640 OEM|59\n$ 830M|59\nAsus $ GT 640|58\nMSI $ & 1070|58\n$ GT 555M|58\nQuadro K2000M|58\nQuadro K1100M|57\n$ GT 650M Mac Edition|57\nQuadro K2000M by Nick[D]vB|57\nEVGA $ & 650 Ti|57\n$ GT 640M|56\n$ GT 650M Mac Edition|56\n$ GT 445M|56\n$ 830A|56\n$ 9800 GT|56\nAsus $ GTS 450|55\n$ 830M|55\n$ 920MX|55\nQuadro 2000|55\nEVGA $ GT 545|54\nQuadro K2000M|54\n$ GT 650M Mac Edition|54\n$ & 280|54\n$ GT 640|53\nQuadro FX 2800M|53\nQuadro 3000M OpenGL Engine|53\n$ GT 740|53\nnull $ 920A|53\n$ GT 640M Mac Edition|52\n$ GT 635|52\nGraphics Device|52\n$ GT 640M|52\n$ & 660M Mac Edition|52\nQuadro 2000M|52\nQuadro 5010M|52\n$ GTS 250|52\n$ GT 445M|51\n$ GT 640M OpenGL Engine|51\n$ GT 640M|50\nEVGA $ GT 740|50\n$ GT 640M Mac Edition|50\n$ 730A|50\n$ 920M|49\nHP Quadro 2000|49\n$ GT 730M|49\nnull $ 920A|49\n$ GT 555M|49\n$ GT 640M LE|49\n$ GT 730M|49\n$ GT 730M|48\n$ GT 640M Mac Edition|48\nQuadro K2000M OpenGL Engine|48\n$ GT 640M LE|48\n$ GT 740M|47\n$ & 460M|47\n$ GT 440|47\n$ GT 440|46\n$ GT 640M Mac Edition|46\nQuadro P400|46\n$ GT 730|46\nDell Quadro 2000M|45\n$ GT 740M|45\n$ GT 740M|45\n$ GTS 450 Rev. 2|45\n$ 920M|45\n$ 920M|45\n$ 910M|44\n$ & 680M|44\n$ GT 730|44\nQuadro 2000M|44\n$ GT 635|43\n$ GT 720 OpenGL Engine|43\n$ GT 635|43\nQuadro K5200 OpenGL Engine|43\nZotac $ & 650|43\n$ GT 440|43\n$ GT 435M|42\n$ GT 735M|42\nGainward $ GT 630|42\nQuadro 1000M|42\n$ 820M|41\n$ & 680M OpenGL Engine|41\nMSI $ GT 635|41\n$ 820A|41\nTesla M10|41\nAsus $ GT 440|40\nAsus $ GT 630|40\n$ GT 820M|40\n$ 910M|40\n$ GT 820M|40\n$ GT 730|40\n$ GT 550M|40\n$ GT 430|40\n$ GT 540M|39\nAsus $ GT 720|39\n$ GT 630|39\n$ GT 530|39\n$ GT 635M|39\n$ GT 620M/630M/635M/640M LE|39\nNVS 5400M|39\nQuadro K600|39\nQuadro K610M|39\nAsus $ GT 730|39\n$ GT 630|39\n$ GT 440|39\n$ GT 630M|38\n$ 820M|38\nQuadro K420|38\nQuadro K610M|38\n$ GT 625M|38\nQuadro K1000M|38\nNVS 5200M|38\nGRID K1|38\nQuadro K600|38\nQuadro K420|38\n$ GT 630|38\nQuadro K600|37\nQuadro 600|37\nHP Quadro 600|37\nQuadro K1000M|37\nQuadro K610M|37\nGRID K180Q|37\nGRID K160Q|37\n$ GT 635M|37\nGigabyte $ GT 440|37\n$ 820M|37\n$ GT 530|37\n$ GT 540M|37\n$ GT 630 OEM|37\nQuadro K610M by Nick[D]vB|37\nNVS 510|37\n$ GT 630M|37\nQuadro 1000M|37\n$ GT 540M|37\n$ GT 530|37\nQuadro K1100M|37\nQuadro K620M|37\nQuadro 1000M|36\n$ GT 730|36\n$ 820M|36\n$ GT 430|36\nGRID K1|36\n$ GT 525M|36\nNVS 5200M|36\nNVS 510|36\nZotac $ GT 430|36\nQuadro K600|36\nAsus $ GT 730|36\nHP Quadro K4000|35\n$ GT 755M Mac Edition|35\n$ GT 630|35\nNVS 5400M|35\nNVS 5400M|35\n$ GT 640 OpenGL Engine|35\n$ GT 625M|35\n$ GT 630|35\n$ GT 430|35\nQuadro K600 OpenGL Engine|35\nQuadro K1000M|35\nZotac $ GT 630|35\nGigabyte $ GT 630|35\nGRID K140Q vGPU|35\n$ GT 710M|35\n$ GT 620M|35\n$ GT 720M|34\n$ 710M|34\nQuadro 1000M,|34\nQuadro K510M|34\n$ 9400 GT|34\nQuadro K1000M|34\n$ GT 635M|34\nQuadro K420|34\nGRID K180Q|34\nAsus $ GT 430|34\nQuadro K4100M|34\nGigabyte $ GT 730|34\n$ GT 620M|34\n$ GT 525M|34\nQuadro K420|34\nDell NVS 5200M|34\n$ 710A|34\n$ GT 425M|33\n$ GT 710B|33\n$ GT 525M|33\nQuadro 600|33\n$ GT 620M|33\nQuadro K600|33\nQuadro 600|33\n$ 610M/710M/810M/820M / GT 620M/625M/630M/720M|33\nMSI $ GT 730|33\n$ GT 710|33\n$ GT 435M|33\nNVS 510|33\nAsus $ GT 710|33\nNVS 510|32\n$ 710M|32\n$ GT 720M|32\n$ GT 730A|32\n$ GT 710M|32\nGIGABYTE $ & 660|31\nEVGA $ GT 710|31\n$ GT 710|31\n$ GT 710|31\n$ GT 425M|31\n$ GT 720|31\nEVGA $ GT 710|31\nQuadro K1000M by Nick[D]vB|31\nAsus $ GT 710|31\n$ GT 720|31\n$ GT 420M|30\n$ GT 710|30\nnull Graphics Device|30\n$ GT 240|30\n$ 810M|29\n$ GT 720M|29\n$ GT 710|29\nQuadro 600|29\n$ 810M|29\n$ GT 420M|28\nQuadro 410|28\n$ & 660M|28\nMSI $ GT 710|28\n$ GT 720|28\n$ GT 735M|27\n$ GT 720|27\n$ GT 720|27\n$ GT 630 OpenGL Engine|27\nQuadro 410|27\n$ GT 330M|26\n$ GT 420M|26\n$ GT 430|26\n$ 615|25\n$ & 760A|25\nToshiba $ GT 525M|25\n$ GT 520MX|25\n$ GT 620|25\n$ GT 625|25\n$ GT 710|24\nQuadro NVS 4200M|24\n$ 840A|24\n$ 610M|24\n$ 800M|24\n$ GT 420|24\n$ 705M|23\n$ GT 705|23\n$ 800M|23\n$ 610M|23\n$ GT 620 OEM|23\n$ GT 625|23\n$ GT 420|23\nQuadro NVS 4200M|23\n$ GT 520M|22\nNVS 4200M|22\n$ GT 620 OEM|22\nNVS 5200M|22\n$ GT 620 OEM|22\n$ GT 620|22\n$ GT 705|21\n$ GT 620|21\n$ GT 630 Rev. 2|21\nQuadro NVS 4200M|21\n$ GT 520M|20\n& 980M SLI|20\n$ GT 620|20\n$ GT 520M|20\n$ GT 520|19\n$ 410M|19\n$ 730A|19\n$ GT 520|19\n$ GT 610|19\nAsus $ GT 610|19\nNVS 310|18\n$ 410M|18\nNVS 315|18\n$ 605|18\n$ GT 610|18\n$ GT 520|17\n$ MX550|17\nNVS 4200M|17\nNVS 315|17\nNVS 310|17\n$ 410M|17\nPalit $ & 660|17\n$ 605|17\nNVS 310|17\n$ GT 415M|17\nZotac $ GT 610|17\n$ & 675M|17\n$ GT 610|16\nQuadro 4000M|16\nPNY $ GT 610|16\n$ GT 610|16\n$ 510|15\nMSi $ GT 610|15\n$ GT 735M|15\n$ GT 520|15\n$ 510|15\n$ GT 320M|14\n$ 9600M GT|14\n$ & 570M|14\nCorporation D3D12 (NVIDIA $ % 3080 Ti)|13\n$ 510|13\nQuadro FX 1800M|12\nAsus $ GT 520|12\n$ GT 705|12\nMSi $ GT 630|11\nQuadro 3000M|10\nGigabyte $ GT 610|10\nPegatron $ GT 420|9\n$ 210|8\n$ 9300 / nForce 730i|7\nNVS 3100M|7\n$ 8600 GT|5\n$ 8400 GS Rev. 3|4\n$ 8400 GS|3\n$ 9600 GT|2\n$ GT 550M|-1\n$ 8600 GTS|-1\n$ GT 520MX|-1\nEVGA $ & 460|-1\nEVGA $ & 970|-1\nGP106|-1\nGRID P4-2B|-1\nGainward $ & 650|-1\n$ 210|-1\n$ 310|-1\n$ 310M|-1\n$ 315|-1\n$ 315M|-1\n$ 320M|-1\n$ 405|-1\n$ 610M|-1\n$ 820A|-1\n$ 8300 GS|-1\n$ 8400 GS|-1\n$ 8400 GS Rev. 2|-1\n$ 8400 GS Rev. 3|-1\n$ 8400M GS|-1\n$ 8400M GT|-1\n$ 8500 GT|-1\n$ 8600 GT|-1\n$ 8600M GS|-1\n$ 8600M GT|-1\n$ 8700M GT|-1\n$ 8800 GT|-1\n$ 8800 GTS|-1\n$ 8800 GTS 512|-1\n$ 8800 &|-1\n$ 8800M &|-1\n$ 9200M GE|-1\n$ 9200M GS|-1\n$ 9300 / nForce 730i|-1\n$ 9300 GE|-1\n$ 9300 GS|-1\n$ 9300M GS|-1\n$ 9400|-1\n$ 9400M|-1\n$ 9500 GT|-1\n$ 9500M GS|-1\n$ 9600 GS|-1\n$ 9600 GSO|-1\n$ 9600 GSO 512|-1\n$ 9600 GT|-1\n$ 9600M GS|-1\n$ 9600M GT|-1\n$ 9600M GT / $ GT 220M|-1\n$ 9800 GT|-1\n$ 9800 &+|-1\n$ 9800 &/9800 &+|-1\n$ 9800M GTS|-1\n$ G 103M|-1\n$ G 105M|-1\n$ G105M|-1\n$ G205M|-1\n$ G210|-1\n$ G210M|-1\n$ GT 120|-1\n$ GT 120M|-1\n$ GT 130|-1\n$ GT 130M|-1\n$ GT 220|-1\n$ GT 220M|-1\n$ GT 230|-1\n$ GT 230M|-1\n$ GT 240|-1\n$ GT 240M|-1\n$ GT 240M|-1\n$ GT 320|-1\n$ GT 320M|-1\n$ GT 325M|-1\n$ GT 330|-1\n$ GT 330M|-1\n$ GT 335M|-1\n$ GT 435M|-1\n$ GT 520M|-1\n$ GT 525M|-1\n$ GT 555M/635M|-1\n$ GTS 240|-1\n$ GTS 250|-1\n$ GTS 360M|-1\n$ & 1180|-1\n$ & 260|-1\n$ & 260M|-1\n$ & 275|-1\n$ & 280|-1\n$ & 285|-1\n$ & 295|-1\n$ & 560 SE|-1\n$ & 750 v2|-1\n$ % T10-16|-1\n$ % T10-8|-1\nGigabyte $ & 1050 Ti|-1\nION|-1\nMSI $ GT 710|-1\nNVS 300|-1\nNVS 3100M|-1\nNVS 4200M|-1\nNVS 5100M|-1\nPalit & 680 JetStream|-1\nQuadro FX 1700|-1\nQuadro FX 1700M|-1\nQuadro FX 1800|-1\nQuadro FX 1800M|-1\nQuadro FX 2700M|-1\nQuadro FX 2800M|-1\nQuadro FX 3600M|-1\nQuadro FX 360M|-1\nQuadro FX 370|-1\nQuadro FX 3700|-1\nQuadro FX 3700M|-1\nQuadro FX 380 LP|-1\nQuadro FX 3800|-1\nQuadro FX 3800M|-1\nQuadro FX 4600|-1\nQuadro FX 4800|-1\nQuadro FX 4800|-1\nQuadro FX 5600|-1\nQuadro FX 570M|-1\nQuadro FX 580|-1\nQuadro FX 770M|-1\nQuadro FX 880M|-1\nQuadro K1100M by Nick[D]vB|-1\nQuadro K2000D|-1\nQuadro K2000M|-1\nQuadro K2100M by Nick[D]vB|-1\nQuadro NVS 135M|-1\nQuadro NVS 140M|-1\nQuadro NVS 160M|-1\nQuadro NVS 290|-1\nQuadro NVS 295|-1\nQuadro NVS 4200M|-1\nQuadro P4000 OpenGL Engine|-1\nSony $ 410M|-1\nZotac $ & 780|-1\n",G="\n@ ^ 7900 XT|2200\n@ ^ 7900 XT|1970\n^ 6800 XT|1960\n@ ^ 6900 XT (XTXH)|1930\n@ ^ 6900XT|1925\n@ PRO W6900X|1890\n^ 6900 XT|1850\n@ ^ 6900|1810\n@ ^ 7900 XTX|1770\nRX6800|1690\nFreddyVGA|1600\n@ PRO W6800|1560\n@ ^ 7900 XTX|1430\n@ ^ 6950 XT|1380\n@ ^ 6800 XT|1360\n@ ^ 6750 XT|1310\n@(TM) ^ 6850M XT|1290\n@ ^ 6700|1290\n@ ^ 6900 XT|1270\nSapphire Nitro+ ^ 6800|1260\n@ PRO W6800X|1250\n@ PRO W6800X Duo|1220\n@ ^ 6700|1210\n@ ^ 6800 XT|1180\nSapphire Nitro @ RX6650XT|1180\n@(TM) ^ 6750 XT|1160\n@ ^ 6800|1160\n@ ^ 6900 XT|1160\nASRock ^ 6650 XT Phantom Gaming|1160\n@ Navi23|1140\n@ ^ 6650 XT|1130\n@ ^ 6950 XT|1130\n@ 6800|1120\n@ ^ 6700 XT|1110\n@ Pro W6600X|1100\n@ ^ 6700M|1080\n@ ^ 6800M|1080\n@ ^ 5700 XT PJM|1060\n@ ^ 6800|1050\n@ ^ 6600 XT|1040\n@ ^ 6600 XT|1030\nASUS ^ 6600XT macOS Edition|1020\n@ ^ 6800M|1020\n@ Pro Vega II Duo|1015\n@ ^ 5700 Series|960\n@ ^ 6800/6800 XT / 6900 XT|960\n@ ^ 6600 XT|960\n@ Pro Vega II|955\n@ ^ 6650 XT|950\nNavi 10 5700 XT|950\n@ Pro Vega II|950\n@ ^ 5700 Series|950\n@ Pro W5700X|930\n@ ^ 6600|930\nASUS @ ^ 5700 XT|930\n@ Pro W5700X|920\n@ Pro 5700 XT|920\n@ ^ 6900 XT|920\n@ ^ 5700 XT|910\n@ Pro W5700|895\n@ ^ 6600/6600 XT/6600M|890\n@ ^ 6750 XT|880\n@ ^ 6600|870\n@ ^ 5700|855\n@ ^ 5700 XT 50th Anniversary|850\n@ VII|850\n@ ^ 5700 XT 50th Anniversary|840\n@ PRO W6800|840\n@ Pro Vega 64|820\n@ Navi10|820\n@ ^ 5600 XT|820\n@ ^ 6600M|800\n@ ^ 6800S|790\n@ Pro 5700 XT|780\n@ ^ Vega 64 8GB|770\n@ Pro 5700|770\n@ Vega Frontier Edition|770\n@ ^ Vega|760\n@ ^ Vega 56/64|760\n@(TM) ^ Vega|760\n@ Pro Vega 64X|740\n@ ^ 5600 XT|740\n@ PRO W6600|740\n@ Vega 64 LC|735\n@ ^ Vega 64.1|730\n@ ^ 6600M|730\n@ Pro 5700|720\n@ Vega Frontier Edition|710\n@ Vega Frontier|700\n@ Vega FE|700\n@ ^ 5700 XT|690\n@ Pro Vega 64|670\n@ Vega 64|670\n@ VII|660\n@ Pro WX9100|660\nSapphire @ ^ Vega 64 8GB|650\n@(TM) PRO W6600M|650\n@ ^ 5700 XT 50th Anniversary|650\n@ ^ 5700|640\n@ Pro W5700|640\n@(TM) Pro WX 9100|635\n@ ^ Vega 56|630\n@ ^ Vega 56|620\n@ Pro 5500 XT|620\n@ ^ 5600 OEM/5600 XT / 5700/5700 XT|620\n@ ^ 5500|620\n@ ^ 5500 XT|620\n@ Vega Frontier Edition|620\n@ ^ 5500M Series|610\n^ xxx|610\n@ Pro Vega 64X|610\n@ ^ Vega 64|610\n@ ^ 5600 XT|610\n@ Pro Vega 64|610\n@ ^ 6500 XT|600\n@ Vega|600\n@ Pro W5500|600\n@ ^ 5600M|600\n@ Pro Vega 56|600\n@ Pro Vega 64|590\n@ Pro 5600M|590\n@ Pro Vega 48|590\n@ Pro Vega II Duo|590\n@ ^ 590 Series|590\n@ ^ Vega 56 8GB|590\n@ Pro 5600M|590\n@ Pro WX 9100|590\n@ Pro 5300|580\n@(TM) R9 Fury Series|580\n@ ^ 6800 XT 16GB|570\n@ Pro 5600M|570\n@ Pro W5500X|560\n@(TM) ^ 5500M|560\n@ * 7870|560\n@ Pro W5500|550\n@ ^ 5500M|550\n@ R9 290X Series|550\n66AF:F0|550\n@ Pro 5500 XT|550\n@ ^ 580 Series|550\n@ ^ 5500XT|550\n@(TM) ^ 580X|540\n@ Pro 5500 XT|540\n@(TM) Pro W5500M|540\n@ Pro W5500X|540\n@ Pro W5500|540\nRadeonT ^ 5300|540\n@(TM) ^ 570 Graphics|520\n@ Pro 5300|520\n@(TM) ^ 6500M|520\n@ ^ Vega M GL|520\nASUS @ ^ 570 Series|520\nASUS @ ^ 580 Series|520\n@(TM) ^ 580|520\n@(TM) Pro V7350x2|520\n@(TM) ^ 480 Graphics|520\n@(TM) ^ 570 Graphics|515\n@ ^ 6400|510\n@ Pro 580X|510\n@(TM) R9 390 Series|500\n@ Pro 5300|500\n@ ^ 580 2048SP|500\n@ PRO W6400|500\n@ ^ 570 Series|500\n@ PRO W6800X Duo|500\n@ Pro 580|500\n@ ^ 5500 XT|500\n@ ^ 6400|490\n@ Pro 580|485\n@(TM) Pro WX 7100 Graphics|485\n@(TM) R9 290X|480\nSapphire @ ^ 580 Pulse|480\n@ ^ 6700/6700 XT / 6800M|470\n@(TM) ^ 580|475\n@ ^ 6700S|475\n@ R9 290X|470\n@(TM) ^ 470 Graphics|470\n@ R9 FURY / NANO Series|470\n@ Embedded E9560|470\nKamen Rider Black ^|460\n@(TM) E9550|460\n@(TM) ^ 580 Graphics|460\n@ ^ Vega 56/64|460\n@(TM) ^ 480|460\n@ ^ 6800 XT|460\n@ ^ 470 Series|460\n@ RX480|455\n66AF:F1|455\n@ Pro 480/575|455\n@ Embedded E9560|450\n@ FURY|450\n@ ^ 5600 OEM/5600 XT / 5700/5700 XT|450\n@ ^ 6600 XT|450\n@ * 6800 Series|445\n@ Pro 570X|440\n@(TM) ^ 470 Graphics|440\n@ Pro 575X|440\n@ ^ 470/480/570/570X/580/580X/590|440\n@ ^ 6600|440\n@ ^ Vega M GH Graphics|440\n^ 580|440\n@ ^ 570|440\n@ Pro 570|440\n@ ^ 590|440\n@(TM) ^ 470 Series|435\n@ ^ 6900 XT|435\n@ FURY X|430\n^ 590|430\n@ Pro 5500M|430\n???|430\n@(TM) ^ 570|430\n@ ^ 580|430\n@ * 8xxx|430\n@ R9 290|425\n@ Pro 5500M|420\n@ Pro 580X|420\n@ ^ 6700 XT|420\n@ ^ 480|420\n@ R9 290/390|420\n@ Pro 580X|420\n@(TM) Pro Duo|415\nEllesmere @ ^ 570|410\n@ R9-290X|410\n@ Pro 580|410\n@ R9 200 Series|400\n@ ^ 570|400\n@ Pro 470/570|400\n@ ^ 6800M|400\n@ ^ 5300M|400\n@ ^ 580 Series (POLARIS10, DRM 3.40.0, 5.11.9-141-tkg-pds, LLVM 11.1.0)|400\n@ Pro 5300M|400\n@ R9 285|400\n@ ^ 470|400\n@ Pro 575|390\n@ Pro 575X|390\n@ Pro WX 7100|390\n@ ^ 6700M|390\n@ ^ 470/480/570/570X/580/580X/590|380\n@ PRO W6600|380\n@ Polaris|370\n@ ^ 6500 XT|370\n@ Pro Vega 20|370\n@ * 7970|370\n@ Pro Vega 16|370\n@ ^ 6800|370\n@ Pro Vega 64 OpenGL Engine|370\n@(TM) R9 380 Series|360\n@ ^ 5700XT|360\nFirePro W8100|360\n@ Pro Vega 64|365\n@ Pro 570|365\n@ Pro 570X|360\n@ Pro Vega 64 OpenGL Engine|360\n@ R9 280x|360\n@ R9 380|360\n@ R9 280x|360\n@ R9 280x|360\n@ Pro Vega 56|360\nR9 280X Dual-X|360\n@ Pro Vega 56 OpenGL Engine|350\n@ * 7970|350\n@ * 7970X/8970/R9 280X|350\n@ R9 285|350\n@ R9 380X|350\n@ ^ 480|350\n@ ^ 5700 XT Series|350\nASUS @ ^ 470 Series|350\n@ Pro Vega 64|350\n@ R9 200 / * 7900 Series|340\nASUS @ ^ 470 Series|340\n@ Vega 56|340\n@ ^ 580 Series (AMD POLARIS10 / DRM 3.15.0 / 4.12.0-1-amd64, LLVM 4.0.1)|340\n@ Pro Vega 20|340\nR9 380|340\n@ * 7970|340\n@ ^ 5700 XT|330\n@ D700|330\nAsus @ R9 280|330\n@ R9 285|330\n@ R9 M395X|330\n@ ^ 5600 XT|330\nPowerColor @ R9 280|330\n@ R9 280|330\nFirePro W7100 Graphics Adapter|330\n@ R9 M295X Mac Edition|330\nASUS @ ^ 5700|330\n@ R9 380|330\n@ Pro Vega 16|325\n@ R9 290X|325\n@ RX5600|320\nASUS @ ^ 5500 XT|320\n@ R9 280|320\n@ * 7950/8950 / R9 280|320\n@ R9 M395|320\n@ ^ 6800/6800 XT / 6900 XT|320\nFirePro D700 (FireGL V)|320\n@ ^ 5500/5500M / Pro 5500M|320\nMSI @ ^ 6600 XT Gaming X|320\nFirePro W8000|315\n@ * 7950|315\n@ Pro W5700|315\nFirePro W7170M|310\n@ PRO W6800|310\n@ ^ 5500|310\n@ ^ 580 Special Edition|310\nRadeonT ^ 5500M|310\n@ R9 M395 (Bootcamp XG edition by bootcampdrivers.com)|310\n@ R9 360|310\n@ Pro WX 7100|310\n@ Pro WX 7100 Mobile|310\n@ ^ 5700 XT 50th Anniversary|310\nR9 xxx|300\n@ ^ 5700XT|300\n@ PRO W6400|300\n@(TM) R9 370 Series|300\n@ ^ 470/480/570/570X/580/580X/590|300\n@(TM) PRO W6600M|300\n@ * 8950|300\n@ R9 M395X|300\n@ R9 M395X|300\n^ Vega 64|300\n@ ^ Vega 11 Graphics|295\n@ Pro 270X|290\n@ ^ 580 2048SP|290\n@ * 7950|290\nVideo Controller (VGA Compatible)|290\n@(TM) R7 370 Series Graphics|290\n@ * 7950|290\nAsus @ R9 270X|290\n@ ^ 580X Series|290\n@(TM) ^ 5500M|285\n@ R9 270X|285\n^ xxx|285\nASUS R7 265 Series|280\n@(TM) R9 270|280\n731F:C1|280\n@ R9 M395X|280\n@(TM) R7 370 Series|280\n@ Pro V520 MxGPU|280\n@ R9 M395|280\nFirePro D700|280\n@ R9 270X|280\n@(TM) R9 200 Series|270\n@ ^ 5700|275\nRadeong 0.4 on AMD POLARIS10 (DRM 3.8.0 / 4.9.11-1-ARCH, LLVM 3.9.1)|270\n@ * 7870 XT|270\n@ R9 390X|270\n@(TM) ^ 570 Graphics|270\n@ * 7870 GHz Edition|270\n@ R9 390|270\nFirePro D700|270\n@ R9 M395|270\n@ R9 270|270\n@ ^ 5700 / 5700 XT|270\nASUS R7 370 Series|270\nFirePro W7000|270\n@(TM) Pro V7350x2|270\n@(TM) ^ 470 Series|270\n@ ^ Vega 64 OpenGL Engine|270\n@ ^ 5500M|265\n@ * 7950/8950 OEM / R9 280|265\n@ Vega Frontier Edition OpenGL Engine|265\n@ 7950 x2|263\n@ R9 270|263\n@ VII|263\n@ * 7xxx|262\nVideo Controller (VGA Compatible)|262\n@(TM) ^ 570|261\n@ ^ 5500 XT|261\n@ R9 M295X|261\nFirePro W7000 (FireGL V) Graphics Adapter|260\n@ R9 M390|260\n@ * 7870 GHz Edition|260\n@ R9 M390 (Bootcamp edition by bootcampdrivers.com)|260\n@ R9 370|259\nMetal|259\n@ * 7870|259\n@ ^ 470/570|258\n@(TM) R9 370|257\n@(TM) ^ 460|257\n@ ^ 560 Series|256\n@ R9 290|255\n@(TM) ^ 560 Series|255\n@ ^ 5300M|254\nFirePro W7000|254\n@ R9 290X|253\n67EF:E7|253\n@ * 7850|253\n@(TM) ^ 460 Graphics|253\nMSI @ ^ 580|251\n@ R9 290/390|250\nFirePro W8100 (FireGL V)|249\n@ Pro WX 9100 OpenGL Engine|248\n@(TM) ^ 560|247\n@(TM) ^ 560 Series|247\n@ Pro Vega II Duo|247\n@ * 7970M|246\n@ R9 290|245\n@ ^ 5600M|245\nFirePro D300|245\n@(TM) ^ 5600M Series|244\n@ ^ 590 Series|244\n@ R7 370 Series|244\n@(TM) ^ 560|243\nFirePro D300|243\n@ R9 390|243\n@ ^ 470/480/570/570X/580/580X|243\nFirePro D300|243\n@(TM) R7 370 Series|242\n@ R9 M390|241\n@ ^ 560X Series|241\nFirePro D300|241\n@ ^ 560|240\n@ R9 M290X|240\nGigabyte Vega 64 macOS Edition|239\n@ Pro 580|238\n@ Pro WX 4100|236\n@ Pro WX 7100 OpenGL Engine|236\n@ * - FirePro D300|235\nFirePro D500|234\n@ Pro 580 OpenGL Engine|234\n@(TM) E9260|234\n@ Pro WX 2100|233\nFirePro D500|232\nFirePro D500|232\n@(TM) ^ 6500 XT|232\n@ Pro 580X|231\n@ * 7850|231\n@ Pro 575|231\n@ Pro Vega 64X|231\nASUS R9 270 Series|230\n@ Pro 450|230\n@(TM) ^ 560 Graphics|230\n@ R9 M290|229\n@ Pro 560X|228\n@ Pro 480/575|228\nPitcairn PRO @ * 7850|228\nASUS @ ^ 5700 XT|227\n@ * 7870|227\n@(TM) Pro WX 5100 Graphics|226\n@ R9 370X|225\n@(TM) ^ 480|224\n@ HD7970M|224\nFirePro S9000 (FireGL V)|223\n@ ^ 550 640SP / ^ 560/560X|222\nMSI / AMD ^ 560 4G|222\n@ ^ 570 OpenGL Engine|222\nMSI RX650|222\n^ 480|221\nMSI / AMD ^ 560|221\nBaffin AMD @ ^ 560|221\nMSI Baffin RX650|220\n@ Pro 5700 XT|220\n@ Pro 570|220\n@ Pro 575 OpenGL Engine|219\nAsus @ R9 270X|219\n@ ^ ^ 560|218\n@ ^ 560 [Baffin]|218\n^ 460|218\n@ R9 370X|218\n@(TM) Pro WX 4100|217\nASUS R9 390 Series|217\n@ Pro 5600M|217\nR9 xxx|217\n@ * 7870 Series|217\n@ Pro ^ 560|216\nR9 280X Dual-X|215\n@ Pro 570 OpenGL Engine|214\n^ 560|213\n@ Pro WX 5100|213\nFirePro D700|213\n@(TM) R9 390 Series|213\n@ ^ 480|212\n@ ^ 560|212\n@ ^ 5500/5500M / Pro 5500M|212\n@ ^ 550 640SP / ^ 560/560X|211\n@ R9 FURY / NANO Series|211\nSapphire @ ^ 560|211\n@ ^ 460|210\n@ RX550/550 Series|210\ninc. @ ^ 480|209\n@(TM) ^ 550|208\n@ R9 M290X|206\n@ Pro 560 (Bootcamp XG edition by bootcampdrivers.com)|206\n@ RX460|206\n@ ^ 550 Series|205\nCustom GPU 0405|204\n@(TM) ^ 460|204\nASUS AMD @ R9-990X|204\n@ Pro 555X|203\n@ ^ 460/560|203\n@ * 7970X/8970/R9 280X|202\nASUS @ ^ 550 Series|201\n@ * 8950|201\nFirePro D500 (FireGL V)|201\n^ 5700XT|200\n@ 550 Series|200\n@ * 8470 + 7660D Dual Graphics|200\n@ * 7990|200\n@ ^ 560X|199\n@ ^ Vega|199\n@ * 7950 Series|198\n@(TM) ^ 540|197\n@ * 6970|197\n@ * 7970/8970 / R9 280X|197\n@ Navi14|197\n@ Pro 560|197\n@ ^ 550|197\n@ R9 285|196\n@ Pro W5500|195\n@ Pro Vega 56|195\n@ Pro 460|195\n@ ^ 470/480|194\n@ PRO Graphics|194\n@(TM) RX550|194\n@ Pro 560X|193\n@ Pro 570X|192\n66AF:F1|192\n@ ^ Vega M GH|190\n@ R9 M280X|190\n@ ^ 460/560D / Pro 450/455/460/555/555X/560/560X|189\n@ R9 280,|188\nCustom GPU 0405|188\n@ * 7790|187\n@(TM) ^ 480 Graphics|187\n@ Pro 455|186\n@ R9 260|186\n@ ^ 580 Series|186\n@ * 7950/8950 OEM / R9 280|186\n@ R9 290X|185\n@ R9 M290X|184\n@(TM) R9 370 Series|184\n@ Pro 555|184\n@ R7 260X|184\n@ * 6950|183\nFirePro W5000|183\n@(TM) R9 390X|182\nR9 270X Devil|182\n@(TM) ^ 470 Graphics (AMD POLARIS10 / DRM 3.23.0 / 4.15.0-1-MANJARO, LLVM 5.0.0)|182\n@ R9 380|182\n@(TM) Pro WX 9100|182\n@(TM) R7 360 Series|181\n@ ^ 570 Series|181\n@(TM) R9 M470X|181\n@(TM) R7 360 Series|181\n@ RX480|180\n@ R7 200 Series|180\n@ Pro WX 4150|180\n@ Pro WX 4100|179\n@ * 8xxx|179\nASUS R9 295X2 Series|179\n@ R9 390X|178\n@ * 5870|176\n@ Pro 560|176\n@ ^ 580 OpenGL Engine|175\n@ * 8950|175\nFirePro V(FireGL V) Graphics Adapter|175\nASUS @ ^ 580 Series|174\n@ Pro WX 4100|174\n@ Pro 460|173\n@ * 2600 XT|173\n@ Pro WX 4100|172\n@ * 8280|172\n@ Pro 575|171\n@ Pro 555X|171\n@ Pro WX 4130/4150|170\n@ ^ Vega M GH Graphics|170\nFirePro W5100|170\n@(TM) PRO WX 8200|169\n@ Vega Frontier Edition|169\n@ Pro 555X|168\nFirePro D700|168\n@ * 6990|167\n@ ^ 470 OpenGL Engine|167\n@ * 7870 XT|167\n@ ^ 580|167\n@ Polaris|167\nFirePro V8800 (FireGL V)|166\n@ ^ 550|165\n@ * 6900 Series|165\nFirePro W9100 (FireGL V)|164\n^ 580|163\n@(TM) ^ 580X|163\n@ ^ 550|163\n@ * 6870|163\n@ R9 M395X OpenGL Engine|163\n@(TM) R9 360|163\n@(TM) * 8490|162\n@ R9 M295X|162\n@ * 7970M|162\n@ R9 M380|161\nFirePro W5100 (FireGL V) Graphics Adapter|161\nASUS HD7850 Series|161\nFirePro M6100 FireGL V|161\n@ Pro 455|160\n@ ^ 460/560D / Pro 450/455/460/555/555X/560/560X|160\n@ R9 M395X|159\n@ ^ 560X|159\n@ Pro 555|158\nRadeonT ^ 560X|158\n@ Pro Vega 48|158\nASUS @ ^ Vega|158\n@ Pro WX 9100|158\n@ Pro Vega 64|157\nPowered By QiongB A9999999999|157\n@(TM) Pro Duo|157\nFirePro D700|157\n@ Pro WX 7100|156\n@ ^ 460|156\n@ * - FirePro D700 OpenGL Engine|156\n@ R9 M290X|156\n@ R9 M395 OpenGL Engine|155\n@ Pro SSG|155\nFirePro D300|155\nASUS R9 380 Series|155\n@(TM) R9 Series|153\n@ ^ 470/480/570/580|153\nFirePro W8000|153\nCezanne|153\n@(TM) Graphics|153\nFirePro D300|153\n@(TM) R9 Fury Series|153\n@ R9 M395|152\n@ ^ 570|152\n@ R9 270X Series|152\n@ Pro 5300M|152\nR9 xxx|152\n@ Pro 555|152\nFirePro D500|151\n@ * 5850|151\nFirePro D300|150\n@(TM) R9 290X|150\n66AF:F0|149\n@(TM) ^ 560|149\n@ R9 M290|148\n@ Instinct MI25 MxGPU|148\nFirePro V7800 (FireGL) Graphics Adapter|148\n@(TM) R9 M470|147\nAdvanced Micro Devices, Inc. [AMD/ATI] Fiji [@ R9 FURY / NANO Series]|147\n@ * 5870 Series|147\n@(TM) E9550|147\n@ * 7850|147\n@ * 7770|147\n@ Pro Vega 20|146\n@ R9 290/390|146\n@ Pro 450|146\n@ ^ 560X Series|146\n@ * 6850|146\n@ R9 270 1024SP|145\nASUS R9 280X Series|145\n@ Pro 450|145\n@(TM) R9 390 Series|145\nFirePro V7900 (FireGL V)|145\n@ R9 370X|145\n@(TM) ^ 560 Series|144\nASUS R7 250X|144\n@ ^ 480 OpenGL Engine|144\n@ R9 290X|144\n@ ^ 550X|144\n@(TM) ^ 580|144\nASUS @(TM) ^ 470 Series|143\nBaffin @ ^ 560|143\n@ R9 M295X (Bootcamp edition by bootcampdrivers.com)|143\n@ R9 M295X Mac Edition|143\n@ R7 Series / * 9000 Series|142\nAdvanced Micro Devices [AMD] nee ATI Device|142\n@(TM) Pro WX 7100 Graphics|142\n@ ^ 640|142\nFirePro D500|141\n@ * 7900 Series|141\n@ R9 290|141\n@ R7 250X|141\n@(TM) ^ Vega|140\n@ 630 Series|140\nFirePro W8100 Graphic Adapter|140\n@ R9 FURY / NANO Series|140\n@ R9 M390|140\n@ Pro WX 3100|140\n@ R9 290|140\n@(TM) R9 370|140\nFirePro V7900|139\n@ * 7970|139\n@ * - FirePro D500 OpenGL Engine|139\n@ * - FirePro D300 OpenGL Engine|139\n@ Pro 580|139\n@ * 7770|139\n@ * - FirePro D500 OpenGL Engine|139\n@ 540/540X/550/550X / ^ 540X/550/550X|138\nFirePro S9050|138\n@(TM) ^ 480 Graphics|138\n@(TM) R9 M390X|137\n@ Vega 64|137\n@(TM) Graphics|137\nTonga PRO GL [FirePro W7100]|136\nHD7950 Martin Ver.|136\n@ * 7990|135\n@ R9 280x|135\n@ RX550/550 Series|135\nHD7950 MARTIN REV.|134\n@ RX560|134\n@ R7 250X Series|134\n@ R9 M390 OpenGL Engine|134\nASUS R7 250X|134\n@ HD6870|134\n@ R9 270X|134\n@ Pro 5500 XT|134\n@(TM) ^ 480|133\n@ R9 270|133\nASUS HD7970 Series|133\n@ ^ 540|133\n@ 500 Series|132\n@ * 5970|132\n@ * 7770 GHz Edition|132\n@ * 5870|132\n@ 540X Series|132\n@ * 6870 Series|132\n@(TM) ^ 470 Graphics|132\n@ * - FirePro D300 OpenGL Engine|132\n@ * 7xxx|131\n@ * 5970|131\nRadeonT 540X|131\n@ R7 Graphics + R7 350 Dual Graphics|131\n@ R9 M295X Mac Edition / R9 380X|131\nFirepro M5100|131\n@(TM) R9 M375X|131\n@ R9 280x|130\n@(TM) ^ 560X|130\n@ * 6990|130\n@ Pro 5500M|130\n@ Pro WX 5100 OpenGL Engine|129\n@ R9 M395X (Bootcamp edition by bootcampdrivers.com)|129\n@ R9 M380|128\nFirePro W5170M|128\n@ R9 280|128\nFirePro W5000 (FireGL V)|128\n@(TM) ^ 5600M Series|128\n@ ^ 560D|128\nFirePro D500 (FireGL V)|128\n@(TM) Pro WX 5100 Graphics|128\n@(TM) ^ Vega 11 Graphics|128\n@ * 7970|127\n@ R9 370|127\n@ * 7770|127\n@ R9 M395X|126\n@ * 7660D|126\n@ * 8970|126\n@ R9 200 Series|126\n@ Pro WX 3200 Series|126\n@ * 7800 Series|125\n@ R9 285/380|125\n@ R9 270X|124\nFirePro W2100|124\nFirePro W7170M|124\n@ * 7870 GHz Edition|123\nRadeong 0.4 on AMD TONGA (DRM 3.1.0, LLVM 3.9.0)|123\n@ ^ 460|123\n@ * 5970 Series|123\n@ R9 M380|122\n@ R9 M395|122\nAsus @ R9 280|122\n@ * 6850 Series|122\n@(TM) ^ 540|122\n@ * 6900 Series|122\nDevice|122\n67DF:C4|121\n@ * 6950|121\nFirePro D300 (FireGL V)|121\n@ ^ 570|121\n@ * 5850 Series|121\n@ * 7870 XT|121\n@ * 7950|121\nFirePro V7800 (FireGL) Graphics Adapter|121\n@ * 6850|121\n@ * 7950|120\n@ * 7870 GHz Edition|120\n@ R7 370 / R9 270X/370X|120\n@ * 6870|120\n@ Pro V340|120\nASUS @ ^ 570 Series|119\n@(TM) R7 370 Series Graphics|119\n@(TM) ^ 580 Graphics|119\n@(TM) ^ 470 Graphics|119\n@ * 5870|119\n@ * 7950/8950 / R9 280|119\n@ * 6790|119\n@(TM) RX580|119\nASUS ARES2|119\n@(TM) R9 380 Series|118\n@ * 7750|118\n@ Pro 560X|118\n@ R7 250E|118\n@ 550 Series|118\n@ ^ 560|118\n@ Pro WX 5100|117\n@ R7 370 / R9 270X/370|117\n@ * 7800 Series|117\nFirePro W5000 (FireGL V) Graphics Adapter|117\n@ * 7750 Series|116\n@ * 5870|116\n@ R7 450|115\nFirePro R5000|115\n@ R7 370 Series|115\nFirePro W9100|114\n@ R7 370 / R9 270/370|114\n@(TM) 540 Graphics|114\n@ * 6510 Series|114\n@(TM) R7 370 Series|113\nSapphire @ HD6870|113\nFirepro M5100|113\n@(TM) ^ 550|113\n@(TM) Pro Duo|113\n@ 540/540X/550/550X / ^ 540X/550/550X|113\n@ Pro 570|112\n@ R9 280|112\nFirePro D700 (FireGL V)|112\n(ATI) FirePro M6000 (FireGL V) Mobility Pro Graphics|112\nRenoir|112\n@ 540X Series (POLARIS12, DRM 3.40.0, 5.10.56-1-MANJARO, LLVM 12.0.1)|112\n@ * 6970|112\n@ * 8770|112\n@ Pro WX3200 Graphics|112\n@(TM) R9 270|111\n@ R9 270X|111\n@ R9 285|111\n@ * 7800M Series|111\n@(TM) R7 370 Series|111\n@ * 7870M Series|111\n@ Pro 450/550|110\n@ * 7000 series|110\n@ * 7870|110\n@ Pro 555X|110\n@ RX590 GME|109\nFirePro S10000|109\n@ * 7870M|109\n@ * 5800 Series|109\n@ * 6970M|108\nASUS HD7770 Series|108\n@(TM) R9 M360|108\n@(TM) ^ 550X|107\n@ R9 285|107\n@ * 6900M Series|107\n@ * 7870 GHz Edition|107\nFirePro S7000|107\n@ R9 M370X|106\n@ Pro WX 4100|106\n@ * 6800 Series|106\n@ * 7750|106\n@ Pro 455 OpenGL Engine|106\nASUS R7 370 Series|106\n@ Pro 560|105\n@ * 6870|105\nFirePro D300 (FireGL V)|105\n@ * 6970M|105\n@ * 7850|105\n@(TM) R9 200 Series|104\nASUS HD7750 Series|104\n@ * 6970M OpenGL Engine|104\nAsus @ R7 250|104\n@ R7 370 / R9 270X/370|104\n@ R9 M395X (Bootcamp XG edition by bootcampdrivers.com)|103\n@(TM) ^ 560|103\n@ ^ Vega|103\n@(TM) Pro W5500M|103\n@ R9 270|103\n@ Pro 560X|103\n@ * 5850|103\nFirePro S7150|103\n@(TM) ^ 580|103\n@(TM) R9 370 Series|103\nASUS @(TM) ^ 480 Series|102\n@ Graphics Processor|102\n@ R9 M370X|102\nFirePro W7100|102\n@ R9 M370X|101\n@ Pro 460 OpenGL Engine|101\n@ ^ 580 Series|101\n@ 500 Series|100\n@ Pro 555|100\n@(TM) Pro WX 4100|100\nAsus @ R7 260X|100\n@(TM) ^ Vega 10 Graphics|100\n@ * 7790|99\n@ Pro 450 OpenGL Engine|99\n@ * 7790/8770 / R7 360 / R9 260/360|99\nFirePro M4000 Mobility Pro Graphics|99\n@ * 7970M|99\n@ R9 M270X|99\n@ ^ 550|98\n@ * 6850|98\n@(TM) ^ 460|98\n@(TM) ^ Vega11 Graphics|98\n@(TM) ^ 460 Graphics|98\n@ Pro 460|97\n@ * 7800 Series|97\nMatrox C680 PCIe x16|97\n@(TM) ^ 550|97\n@ * 5770|96\n@ * 8670D + 7700 Dual Graphics|96\n@ * 7790|96\n@ 630 Series|96\n@ ^ 560 Series|96\nFirepro M6100|95\n@ * 6700 Series|95\n67EF:E7|95\n@(TM) Vega 10 Graphics|95\n@ * 6900M Series|94\n@ Pro 455|94\nFirePro M4000|94\n@ R9 260|94\nFirePro W7000|94\n@ Instinct MI25|93\n@ * 8870M|93\n@(TM) Vega 11 Graphics|93\n@ Pro 450|93\nFirePro W5000|92\n@ * 6770|92\n@(TM) RX560|92\n@(TM) Graphics|91\nASUS @(TM) ^ 460 Series|91\n@(TM) Vega 8 Graphics|91\n@(TM) Graphics|91\nFirePro W5100 Graphics Adapter|90\n@(TM) Pro WX Series|90\nRenoir|90\nSTRATO XT (6646)|89\n@(TM) Pro WX 4150 Graphics|89\n@ E8870MXM|89\n@ * 8970M|89\nFirePro M6100 FireGL V|89\n@ * 7770|89\nFirePro W5100 (FireGL V) Graphics Adapter|89\n@ * 6970M|89\n@ Pro 460|88\n@ ^ Vega 8 Graphics|88\n@ * 7700 Series|88\n@(TM) R9 M360|88\nASUS R7 265 Series|88\n@ ^ Vega M GL Graphics|88\nASUS @ ^ 550 Series|88\n@ R7 360 / R9 360|88\n@ * 6950|86\n@ * 6790|86\n@ Pro WX 2100|86\nASUS @ ^ 560 Series|86\n@ * 5750|86\n@(TM) ^ 640|86\n@ * 8870M|85\n@ R7 260X|85\n@ Pro WX 7100|85\n@(TM) R7 360 Series|85\n@ Infoshock™ ^ 460 Graphics|85\nFirePro W5170M|85\n@ R9 M295X|85\nFirePro W8100|85\n@ * 6750|85\nFirePro W5170M|85\nFirePro V5800 (FireGL) Graphics Adapter|84\nASUS R7 250X|84\n67E8:00|84\n@(TM) ^ 550X|84\n@(TM) R7 350|84\n@(TM) E9260|84\n@ Sky 500|84\n@ R9 M270X|83\n@(TM) R9 350|83\n@(TM) ^ Vega 11 Graphics|83\nFirepro M6100|83\n@ R9 360|82\nFirePro V7900|82\nFirePro V5800 (FireGL V)|82\n@ * 8830M|82\n@ Pro 450|82\n@ * 8950|82\n6980:00|82\nFirePro W5100 (FireGL V)|81\n@ E8870|81\n@ * 7750 Series|81\n@ * 7850 / R7 265 / R9 270 1024SP|81\nFirePro™ W4190M|80\n@ * 5770|80\n@(TM) R7 360 Series|80\nFirePro M5100 FireGL V|80\n@ ^ 470/480/580|80\n@(TM) ^ 460 Graphics|79\n@ * 6700 Series|79\nMobility @ * 5870|79\n@ R9 255|79\n@ 535 Series|79\n@ R9 M380 OpenGL Engine|78\n@(TM) ^ 550|78\n@ R9 M380|78\n@ R7 250X|78\nSaphire @ ^ 580|78\nRadeong 0.4 on AMD BONAIRE (DRM 2.43.0, LLVM 3.8.0)|78\n@ * 5000|78\n@ * 5770|77\n@ ^ 460|77\nFirePro W4300|77\n@ 530 Series|77\n@(TM) 540X|77\n@ R9 M370X OpenGL Engine|77\nFirePro V5900 (FireGL V)|77\n@ Pro WX 4100|77\nSAPPHIRE * 5770|77\n@ Pro WX 3100|76\nFirePro W5100|76\n@(TM) Pro Graphics|76\n@ Pro WX 3100|76\n67FF:C8|76\n@(TM) HD8970M|76\nFirepro M5100|76\n@(TM) R9 M375X|75\n@ 550X Series|75\n@ R9 M390|75\n@(TM) Vega 9 Graphics|75\nFirePro V5900 (FireGL V) Graphics Adapter|74\n@ * 8570|74\n@(TM) ^ 475M|74\n@ * 6770|74\n@ ^ 550 Series|74\n@ ^ 550|74\nFirePro M4000|74\n@ ^ 460/560D / Pro 450/455/460/560|74\n@ Pro 560|74\n@ Vega Series / @ Vega Mobile Series|74\n@ Pro 455|74\n@ * 7870M Series|74\n@(TM) R7 430|74\n@ 620 Series|73\n@ * 7770 GHz Edition|73\n@ * 7770|73\n@(TM) R9 360 Series|73\n@ * 7770/8760 / R7 250X|73\n@(TM) 530|73\n15DD Graphics|73\n@ ^ Vega M GL Graphics|73\n@(TM) R9 380|72\n@(TM) 530 series|72\n@ R7 200 Series|72\nEmbedded @ E9171|72\n@ Pro WX3200 Graphics|71\n@ * 8800M Series|71\n@ R9 M375|70\n@ * 5770|70\n@ Pro 555|70\n@ R7 250E|70\n@ * 7750|70\n@ Pro 555X|70\n@(TM) Vega 8 Mobile Graphics|70\n@(TM) R9 M380|69\n@ R7 260X/360|69\nBarco MXRT 7600 (WDDM)|69\n@(TM) Vega 10 Graphics|69\n@ * 7750|69\n@ R9 M370X|69\n@(TM) R2E Graphics|69\n@ R9™ M370X|68\nFirePro V4900 (FireGL V)|68\n@(TM) ^ Vega11 Graphics|68\n@ * 5770|68\n@(TM) Renoir Graphics D1|68\n@ * 7600 Series|67\n@ R5 340|67\n@(TM) Vega 9 Graphics|67\nFirePro W4100 (FireGL V) Graphics Adapter|67\n694E:C0|67\n694C:C0|67\n@ R7 250|66\n@ * 6750|66\nRAVEN (DRM 3.36.0, 5.6.5-AMD, LLVM 9.0.1)|66\nFirePro W600|66\n@ R9 255|66\n@ ^ 470|66\n@(TM) R7 250|66\nFirePro V5900|65\n@(TM) 530|65\n@ Pro WX Vega M GL Graphics|65\n@ ^ 470/480|65\n@ * 5750|65\n@ R7 260X|65\nFirePro V5900 (FireGL V) Graphics Adapter|65\nFirePro W4100 Graphics Adapter|65\n@ * 6700 Green Edition|65\n@ R9 M370X|65\n@(TM) R7 350X|64\n@(TM) R7 350X|64\n@ * 7670|64\n@ R9 M200X Series|64\n@ R9 M370X|64\n@ * 6670|63\n@(TM) * 8350|63\n@ 530X Series|63\n@(TM) R9 360|63\n@(TM) Pro WX 4150 Graphics|63\n67EF:C5|63\n@ R7 Graphics + R5 340 Dual Graphics|62\n@ * 5670|62\n@ ^ 470/570|62\n@ 530 Series|62\n@ R7 250 Series|62\n@ R7 430|62\n@ * 6750 Graphics|62\n@(TM) R9 M385X|62\n@(TM) Vega 10 Mobile Graphics|62\nFirePro V5900 (FireGL V)|61\nFirePro V5800 (FireGL V)|61\n@(TM) Vega 8 Graphics|61\nFirePro V4800 (FireGL V)|61\n@ * 7600 Series|61\n@(TM) Vega 6 Graphics|61\n@(TM) R9 200 Series|61\n@ * 8850M|61\n@ RX460|61\n@ R7 M460|61\n@ ^ 640 Series|60\n@ 530|60\n@ * 5600/5700|60\n@ * 5750 Series|60\n@ R7 Graphics + R7 200 Dual Graphics|60\n@ R7 450|60\nFirePro V4900|60\nFirepro W6150M|60\nASUS R7 250 Series|60\n@(TM) ^ 560 Graphics|60\n@(TM) R7 M370|59\nFirePro M4000 Mobility Pro Graphics|59\n@ R5 430|59\n@ R9 M275X|59\nFirePro V5800 (FireGL) Graphics Adapter|59\nMobility @ * 5870|59\n@(TM) R9 M385X|58\n@ * 7750M|58\n@ * 5670|58\n@ * 8850M|58\n@ * 7700M Series|58\n@ * 8670D + R7 200 Dual Graphics|58\n@ R7 Series / * 9000 Series|57\n@ * 6730M/6770M|57\n@(TM) 625|57\n@(TM) R9 M385|57\n@ * 5870M|56\n@ 610 Series|56\nFirePro W4100|56\nFirePro M6000 Mobility Pro Graphics|56\n@ ^ 540 Series|56\n@ R7 240|56\n@ * 7560D + * 7700 Dual Graphics|56\n@ R9 M370X (Bootcamp XG edition by bootcampdrivers.com)|56\nFirePro V4900 (ATI FireGL)|55\n@(TM) R7 M350|55\nFirePro M6000 Mobility Pro Graphics|55\n67FF:08|55\n@ * 5750|55\n@ * 7570|55\n@(TM) Vega 11 Graphics|55\n@ R7 M460|55\n@ * 5750 OpenGL Engine|55\n@(TM) R7 M370|55\n@ * 6730M/6770M/7690M XT|55\n@ E8860|55\n@ * 8790M|54\n@ * 6770M|54\n@ R7 M440|54\n@(TM) R7 350|54\n@(TM) R7 350X|54\n@ * 7870 XT|54\n@ * 7800M Series|54\n@ 520|54\n@ R7 M370|53\nFirePro W4150M FireGL V|53\n(ATI) FirePro M4000 (FireGL V) Mobility Pro Graphics|53\n@ R9 M200X Series|53\n@ * 6700M/7700M/7900M Series|53\n@(TM) 620|53\nPicasso|53\n@(TM) ^ Vega 10 Graphics|53\n67EF:CF|53\n@(TM) Vega 3 Graphics|53\n@ R7 250|53\nFirePro W4190M|53\n@(TM) Vega 8 Graphics|53\n694C:C0|52\n@ * 5670 Series|52\n@(TM) ^ Vega 11 Graphics|52\n@ * 6770M OpenGL Engine|52\n@(TM) M535DX|52\nFirePro V4800 (FireGL V)|52\n@ R7 350 Series|52\nBarco MXRT 5600 (WDDM)|51\n@ 630|51\nFirePro V4900 (FireGL V)|51\nFirePro V4900 (FireGL V) Graphics Adapter|51\n@(TM) Vega 3 Mobile Graphics|51\n@ 535 Series|51\n@ R7 Graphics|51\n@ * 5670|51\nFirePro W4170M|50\n@ * 8700M Series|50\n@ * 8670 / R7 250/350|50\nPicasso|50\nFirePro V4800 (FireGL) Graphics Adapter|50\nMobility @ * 5850|49\nOPAL XT/GL (6604)|49\n@ R5 M335|49\nMatrox C900 PCIe x16|49\n@ * 7670|49\n@ * 6750M|49\n@(TM) 535|49\n@ 540X Series|49\n@ R9 M275|49\n@(TM) ^ 640|49\n@ * 5700 Series|48\n@ R5 M230 Series|48\nFirepro M6100|48\n@(TM) R9 M375|48\n@ R5 430|48\n@(TM) R7 250|47\n@ R9 M265X|47\n@ * 6730M/6770M|47\n@ * 8670D|47\n@ R5 340|47\n@ 520|47\n@(TM) 520|47\nFirePro V (FireGL V) Graphics Adapter|47\nFirePro M5100 FireGL V|46\n@ * 6670|46\n@ R7 M260X|46\n@ * 8550|46\nFirePro M4150|46\n@ * 6670|46\n@ * 7700 Series|46\nFirePro M4170|46\n@ * 7570|46\n@ * 8670D + * 6670 Dual Graphics|45\n699F:C1|45\n@ R7 Graphics|45\n@(TM) R7 M340|45\nFirePro W4170M (FireGL V)|45\n@(TM) * 8500M/8700M|45\n@ R7 M340|44\nFirePro M5950|44\n@ * 8570D + R7 240 Dual Graphics|44\n@ * 6770M|44\n@ * 7730M|44\n@ * 8790M|44\n@ * 7750|44\n@ * 8690A|44\nMobility @ * 5730 / 6570M|44\n@ R9 A375|44\n@(TM) R8 M445DX|43\nFirePro V (FireGL V) Graphics Adapter|43\n@ * 7750/8740 / R7 250E|43\nFirePro V3900|43\n@ * 7600A Series|43\n@(TM) R7 200 Series Graphics|43\n@ R7 Graphics|43\n@ * 6770M|43\n@ R7 M260 Series|43\n@ R7 M360|43\n@ * 8970M|43\n@(TM) Vega 6 Graphics|43\n@ * 8570|42\n@ R7 M440|42\n@ * 8670A/8670M/8750M|42\nMobility @ * 5850|42\n@ * 8750M|42\nEmbedded @ E9173|42\n@(TM) R7 M440|42\n@ * 8730M|42\n@ R7 240 + * 8570D Dual Graphics|42\nFirePro V3900|42\n@(TM) 535DX|42\n@(TM) 520|42\n@(TM) Vega 8 Mobile Graphics|42\n@(TM) Vega 8 Graphics|42\n@(TM) Vega 2 Graphics|42\n@(TM) R9 M375|42\n@(TM) R8 M445DX|41\n@ * 6750M|41\nRadeonT 540X|41\n@(TM) 530|41\n@ * 7560D + * 6670 Dual Graphics|41\n@ R7 240|41\n@(TM) R7 M360|41\n@ R9 M280X|41\n@ * 7520G + * 7600M Dual Graphics|41\n@(TM) R7 M445|41\n@ Vega 8 Mobile|40\n@(TM) R9 255|40\n@ R7 M260X|40\n@ R8 M535DX|40\n@ R7 240/340|40\n@(TM) R9 M375|40\n@(TM) R7 Graphics|40\n@(TM) R5 M420|40\n@ * 6750M|40\n@ R9 M265X|40\n@ R7 M340|40\n@ * 6570|40\n@ * 7500/7600 Series|39\n@ R7 430|39\nFirePro W2100|39\n@ * 7730M|39\n@ * 8670D|39\n@ R5 M255|39\n@ * 7560D + * 6570 Dual Graphics|39\n@ ^ Vega|39\n@ R7 240 Series|39\n@(TM) R7 M445|39\n@ * 6800M Series|39\n@ * 8690M|39\n@ * 7660D + * 6570 Dual Graphics|39\n@ R7 M370|39\n@(TM) * 6650M|38\n@ R5 M435|38\n@ * 6500 Series|38\n@ R7 Graphics|38\nFirePro M7820|38\n@(TM) R8 M445DX Graphics|38\n@ * 5570|38\n@ * 8650G + 8750M Dual Graphics|38\n@ * 8670A/8670M/8750M|38\n@ * 6650M|38\n@ R7 M260 Series|38\n@ * 7660G + 7600M Dual Graphics|38\n@ * 7600M Series|38\n@ * 7670M|37\n@. * 7670M|37\n@(TM) R7 M265|37\nMobility @ * 5000|37\n@ * 7500M/7600M Series|37\n@ R5/R6/R7 Graphics|37\n@ R7 M270|37\n@ * 8650G + * 7600M Dual Graphics|37\nFirepro M5100|37\n@ * 7730M|37\n@ * 8570D|37\n@(TM) * 7650A Graphics|37\n@ R7 Graphics|37\n@(TM) ^ Vega 10 Graphics|37\n@ * 7600A Series|36\n@ R7 M270|36\n@ * 7660D + * 6670 Dual Graphics|36\n@ * 7570M/* 7670M Graphics|36\n@ 6600M and 6700M Series|36\n@ R7 Graphics + R7 200 Dual Graphics|36\n@ * 7570 Series|36\n@ * 8750M|36\n@ * 6550D|36\nFirePro M5950|36\n@ * 7660G + 7600M Dual Graphics|36\n@ * 6550D|36\n@ * 7600M/7700M Series|36\n@(TM) Vega 3 Graphics|36\n@(TM) 625|36\nMobility @ * 5570|36\n@ HD8730|36\n@(TM) R9 M380|36\n@(TM) R5 240|36\n@ * 7650M|35\n@ * 7560D|35\n@ * 8690M|35\n@ * 8650G + 8750M Dual Graphics|35\n@ * 8650G + * 8750M Dual Graphics|35\n@ * 8650G + * 8570M Dual Graphics|35\n@ * 6570|35\n@ * 7650M|35\n@ * 6630M/6650M/6750M/7670M/7690M|35\n@ * 6500 Series|35\n@(TM) 520|35\n@ * 8570D|35\n@ * 7600M Series|35\n@ R7 Graphics|35\n@ * 7660G + 8670M Dual Graphics|35\n@ R7 200 Series|35\n@ * 6630M/6650M/6750M/7670M/7690M|35\n@ R7 M265|35\n@ * 8650G + * 8750M Dual Graphics|35\n@ * 8650G + 8670M Dual Graphics|35\n@ R7 Graphics|34\n@ * 6630M Series|34\n@(TM) 520|34\n@ * 7660D|34\nASUS R7 240 Series|34\n@ R9 M280X|34\n@(TM) R5 340|34\n@ * 8550G + 8600/8700M Dual Graphics|34\n@ R7 Graphics|34\n@(TM) * 8500M/8700M|34\n@ * 7660G + * 7600M Dual Graphics|34\n@ * 7670M|34\n@(TM) R5 M430|34\n@ * 8650G + 8500M Dual Graphics|34\n@(TM) R5 340X|34\n@(TM) R5 230 series|34\n@ * 8550|34\nFirePro W2100 (FireGL V)|34\nFirepro M4100 FireGL V|34\n@ * 6550D|34\n@ * 6630M|34\n@(TM) R9 M375|34\n@ * 5670 OpenGL Engine|33\n@ * 5670|33\n@ R7 Graphics|33\n@ * 7660G|33\n@ * 5570|33\n@ * 7550M/7650M Graphics|33\n@ * 7660D|33\n@ * 7560D|33\n@ * 7560D|33\n@ R5 M445 Series|33\n@ R5 M315|33\n@ * 8570D|33\n@ R7 M265|33\n@ * 7640G + * 7500/7600 Dual Graphics|33\n@ R7 Graphics|33\n@ * 8500M Series|33\nMobility @ * 5000|33\n@(TM) R7 M360|33\nFirepro M4100|33\n@(TM) Vega 10 Graphics|32\n@ * 7500M/7600M Series|32\n@ * 8550G + * 8600/8700M Dual Graphics|32\n@ * 7660G|32\n@ * 7350|32\n@ * 8470D + * 6450 Dual Graphics|32\n@ R7 Graphics|32\n@ * 8730M|32\n@ * 7640G + * 7400M Dual Graphics|32\n@ * 8690A|32\n@ * 8650G + 8600/8700M Dual Graphics|32\n@ R7|32\n@(TM) Vega 11 Graphics|32\n@(TM) Vega 8 Graphics|32\n@ R5 M200 Series|32\n@(TM) R5 M335|32\n@(TM) R5 M430|32\n@ * 8550G + * 8570M Dual Graphics|32\n@ * 7650M Series|32\n@ R7 250 Series|32\n@(TM) R7 M460|32\n@ * 6550D|32\n@ * 7660G + * 7600M Dual Graphics|32\n@(TM) Vega 3 Graphics|32\n@ * 8470D|32\n@ R8 M365DX|31\nMadison [Mobility @ * 5650/5750 / 6530M/6550M]|31\n@ * 6630M/6650M/6750M/7670M/7690M|31\n@ R7 Graphics|31\n@ E6760|31\n@ R7 Graphics|31\n@(TM) Vega 8 Graphics|31\n@(TM) R5 M330|31\n@ * 8670A/8670M/8690M|31\n@ R7 A360|31\n@ * 8650G + * 8600M Dual Graphics|31\n@ R5 M200 / * 8500M Series|31\n@(TM) R8 M435DX|30\n@ * 7640G + * 7670M Dual Graphics|30\n@(TM) Vega 10 Mobile Graphics|30\n@ R7 Graphics|30\n@ Pro 450/550|30\n@ * 8800M Series|30\n@ * 8470D|30\n@ * 7660D|30\n@ * 8610G + * 8600M Dual Graphics|30\n@ * 7660G + 7670M Dual Graphics|30\n@(TM) Vega 8 Mobile Graphics|30\n@ 610 Series|30\n@(TM) R5 M330|30\n@ * 7660G|30\n@ * 7640G|30\n@ R8 M365DX|30\n@ * 8550G|29\n@ * 7540D|29\n@ * 7640G|29\n@ * 8650G|29\n@(TM) R7 Graphics|29\n@(TM) ^ Vega 11 Graphics|29\n@ * 6650M|29\n@ * 7660G|29\n@ 6600M and 6700M Series|29\n@ * 7640G + * 7400M Dual Graphics|29\n@(TM) R5 340X|29\n@ R5 435|29\n@ * 6500M/5600/5700 Series|29\nFirepro M4100 FireGL V|29\n@ R7 Graphics|29\n@(TM) 535|29\n@ R7 240 Series|29\n@(TM) R7|29\n@ * 8550G + 8500M Dual Graphics|28\n@(TM) 530|28\n@ * 5650 Series|28\n@ * 7570M|28\n@ * 7570M|28\nASUS R7 240 Series|28\n@ * 6570|28\n@(TM) Vega 8 Graphics|28\n@ E8860|28\n@(TM) 530 series|28\n@(TM) R5 M315|28\n@ * 5500 Series|28\n@ * 8610G + * 8670M Dual Graphics|28\n@(TM) R6|28\n@ R9 M275X|28\n@ * 8550G + R5 M230 Dual Graphics|28\n@ * 8470D|28\n@ * 8670D|28\n@ * 7620G|28\n@(TM) R8 M350DX|28\n@ * 8470D|27\n@(TM) R8 M445DX|27\n@(TM) R7 Graphics|27\n@(TM) R5 Graphics|27\n@(TM) R7 M340|27\n@(TM) R6 Graphics|27\n@ R6 Graphics|27\n@ R5 M230 Series|27\n@ * 8650G|27\n@ * 7480D|27\n@(TM) R8 M445DX Graphics|27\n@(TM) R6 Graphics|27\n@ R7 Graphics|27\n@ R6|27\n@ R5 M255|27\n@(TM) Vega 3 Graphics|27\n@ 550X|27\n@(TM) Vega 3 Graphics|27\n@ * 7500/7600 Series|27\n@ * 8650G|27\n@ * 5500 Series|27\n@ * 7610M|27\n@ Instinct MI25 MxGPU|27\n@(TM) HD8530M|27\n@ R7 M260|27\n@(TM) R8 M445DX|27\n@ R7 Graphics|26\n@ * 8500M|26\n@(TM) R7 M260DX|26\n@ * 8410G|26\n@ * 8670A/8670M/8690M|26\n@(TM) R7 M360|26\n@(TM) R7 M360|26\n@ * 8670D|26\n@ R9 M275|26\n@ * 7640G|26\n@(TM) R7 Graphics|26\nMxGPU|26\n@ * 8370D|26\n@ * 6620G|25\n@ * 7560D|25\n@ * 8570 / R5 430 / R7 240/340 / @ 520|25\n@ R4 Graphics|25\n@ R6 Graphics|25\n@ R7 Graphics|25\n@(TM) 535DX|25\n@(TM) 540 Graphics|25\n@(TM) R5 M330|25\n@ * 6530D|25\n@ R6 Graphics|25\n@ * 8510G|25\n@ * 6620G|25\n@ R7 M360|24\n@(TM) R6 Graphics|24\n@ R7 M260|24\n@ * 8610G + * 8600M Dual Graphics|24\n@(TM) R6 Graphics|24\n@ R5 M200 / * 8500M Series|24\n@ R7 Graphics|24\n@ * 7600G|24\n@ R7 Graphics|24\n@ * 6620G|24\n@ R5 M330|24\n@(TM) R5 240|24\n@(TM) * 6620G|24\nFirePro V3800 (FireGL V)|24\n@ * 6520G|24\n@ R7 Graphics|24\n@ * 7520G|24\n@(TM) R6 Graphics|24\n@(TM) R7 M260|24\n@ ^ 540 Series|24\n@(TM) R5 M320|24\n@ * 8500M|23\n@ R5 M230|23\n@ * 8670M|23\n@ * 8550G + * 8750M Dual Graphics|23\n@ * 8600M Series (HAINAN, DRM 3.40.0, 5.11.13-arch1-1, LLVM 11.1.0)|23\n@ * 8550G|23\n@ R5 M240|23\n@ R5 M240 Series|23\n@ * 7540D|23\n@(TM) R5 M430|23\n@ R5 Graphics|23\n@(TM) R5 M430|23\n@ R6 Graphics|23\n@ * 7520G|23\n@ R7 Graphics|23\n@ * 8610G|22\nFirePro 3800 (FireGL) Graphics Adapter|22\n@ * 7570M/* 7670M Graphics|22\n@ * 7480D|22\n@(TM) R7 Graphics|22\n@ * 8650G + * 8600M Dual Graphics|22\n@(TM) Vega 6 Graphics|22\n@ R7 Graphics|22\n@ R5 Graphics|22\n@ * 7660G + * 8600M Dual Graphics|22\nFirePro M2000|22\n@ R7 Graphics|22\n@ * 7870M|22\n@ R5 M335|22\n@ R5|22\n@ * 8500M Series|22\n@(TM) * 8490|22\n@ * 8670M|22\n@ * 7660G + * 7670M Dual Graphics|22\n@ 7500M/7600M Series|22\n@ R5 Graphics|21\n@(TM) R4 Graphics|21\n@ * 8490|21\n@ * 8490|21\n@ R7 Graphics|21\n@ * 8570M|21\n@(TM) R5 M320|21\n@ R2|21\n@ * 6530D|21\n@(TM) * 6470M|21\nMxGPU|21\n@ * 7000 series|21\n@ * 7470|21\n@(TM) R8 M350DX|21\n@ R7 Graphics|21\n@ * 7520G + * 7400M Dual Graphics|21\n@(TM) R5 M335|21\n@ * 7400G|21\n@ * 7640G + * 8500M Dual Graphics|21\n@ * 7000 series|21\n@(TM) R5 Graphics|20\n@(TM) R7 M520 (R17M-M1-30)|20\n@ * 8470|20\n@ * 7480D|20\n@ * 6400M/7400M Series|20\n@(TM) R3 Graphics|20\n@ R6 M255DX|20\n@ * 8370D|20\n@ R5 Graphics|20\n@ R7 Graphics|20\n@ * 6410D|20\n@(TM) R5 Graphics|20\n@ R5 M330|20\n@ R7 M260DX|20\n@(TM) R5 Graphics|20\n@ * 7480D|20\n@ * 6470M|20\n@ Hybrid (Blocked)|20\n@(TM) R7 Graphics|20\n@(TM) R6 M340DX|20\n@ R5 235|20\n@ * 7520G|19\n@(TM) R6 M255DX|19\n@ R5 M240|19\n@(TM) R3 Graphics|19\n@ R7E Graphics|19\n@ R5 M200 Series|19\n@ * 7470|19\n@ * 7640G + 8500M Dual Graphics|19\n@(TM) R5 M330|19\n@ * 6470M|19\n@ R3 Graphics|19\n@ * 8400E|19\n@ * 7640G + * 8570M Dual Graphics|19\n@ * 8400|19\n@ * 8400 / R3 Series|19\n@ R5 Graphics|19\n@(TM) R7 M265|19\n@ R5 M230|19\n@ R5 Graphics|19\n@ * 7620G|19\n@ R5 Graphics|19\n@(TM) * 6470M|19\n@ * 7480D|18\n@ R7 Graphics|18\n@(TM) R5 Graphics|18\n@ * 8550G|18\n@ * 8370D|18\n@ R5 Graphics|18\n@(TM) * 7450|18\n@ * 6530D|18\n@ * 8570M|18\n@ R6 Graphics|18\n@ * 7650A|18\n@ * 8450G|18\n@ * 8550G + R5 M230 Dual Graphics|18\n@ * 7640G + 7470M Dual Graphics|18\n@ * 8370D|18\n@ * 7400M Series|18\n@ * 8670D + R5 200 Dual Graphics|17\n@ * 7500G|17\n@ * 7790|17\n@ * 7450M|17\n@(TM) * 7450A Graphics|17\n@(TM) R5 Graphics|17\n@(TM) R6 Graphics|17\n@(TM) R4 Graphics|17\n@ * 8650G + * 8500M Dual Graphics|17\n@ * 7400M Series|17\n@ * 8450G|17\n@ * 6520G|17\n@ * 8470D|17\n@(TM) R5 Graphics|17\n@(TM) R4E Graphics|17\n@ * 8330|17\n@ * 8400|17\n@(TM) * 8510G|17\n@(TM) R5 Graphics|17\n@ * 8650G|17\n@ * 6490M|17\n@ R7 Graphics|16\n@ * 6400 Series|16\n@ * 8510G|16\n@ * 7400 Series|16\n@ * 7400 Series|16\n@(TM) * 8510G|16\n@ * 6370D|16\n@ * 7420G|16\n@ * 7520G + * 7600M Dual Graphics|16\n@ R9 260|16\n@ * 7640G + 7600M Dual Graphics|16\n@ * 7470M|16\n@(TM) R2 Graphics|16\nRADEON * 6450|16\n@(TM) R1E Graphics|16\n@ R5 Graphics|16\n@ * 7420G|16\n@(TM) R4 Graphics|16\n@(TM) R4 Graphics|16\n@(TM) R4 Graphics|16\n@ * 7480D|16\n@ * 6490M|15\nRADEON * 6450|15\n@(TM) * 8610G|15\n@(TM) * 8610G|15\n@ * 8610G + 8600M Dual Graphics|15\n@ * 7350|15\n@(TM) * 6480G|15\n@ * 8650G + 8600M Dual Graphics|15\n@ * 8570D|15\n@ * 6370M|15\nMobility @ * 5000 Series|15\n@ R2 Graphics|15\n@ * 8240 / R3 Series|15\n@ * 8650G + R5 M200 Dual Graphics|15\n@ * 8400E|15\n@(TM) R4 Graphics|15\n@ R5 Graphics|15\n@ * 8610G|15\n@ * 8650G + * 8500M Dual Graphics|15\n@(TM) R7 M260|15\nASUS EAH6450 Series|15\n@ R3 Graphics|15\n@(TM) R6 M340DX|15\n@ R6E Graphics|15\n@ R5 Graphics|15\n@ R2 Series|14\n@ * 6450/7450/8450/R5 230|14\n@ * 8200 / R3 Series|14\n@(TM) R3 Graphics|14\n@ R5 230|14\n@(TM) * 8510G|14\n@(TM) R4 Graphics|14\n@ R5 M435|14\n@ * 8240|14\nASUS R5 230 Series|14\nFirePro M2000|14\n@ * 7500G|14\n@ * 7450|14\nRADEON * 6450|14\n@ * 8400E|14\nRADEON * 6350|14\n@ * 6480G|14\n@(TM) R5E Graphics|14\nCARRIZO 9874|14\nMobility @ * 5000 Series|14\n@ * 6630M|14\n@ * 6370M|14\n@ * 8400 / R3 Series|14\n@(TM) R2 Graphics|14\nASUS EAH6450 Series|14\n@ * 7470M|13\nMobility @ * 5470|13\nMobility @ * 5400 Series|13\n@(TM) R5E Graphics|13\n@(TM) R2 Graphics|13\n@ * 6540|13\n@ * 7450|13\n@ * 5450|13\n@ * 8600M Series|13\n@ * 8400 / R3 Series|13\nKaveri|13\n@(TM) * 6480G|13\n@ * 5400 Series|13\n@ * 8330|13\nRADEON * 6350|13\n@ R4/R5 Graphics|13\n@ * 7600G +™ * Dual Graphics|13\n@ R3 Graphics|13\nASUS R5 230 Series|13\n@(TM) R7 Graphics|13\n@ * 7620G|13\n@ * 8250|13\n@(TM) R7 Graphics|12\n@ * 6450/7450/8450 / R5 230|12\n@ * 6480G|12\n@(TM) R7 Graphics|12\n@ * 5450 Series|12\n@ * 8400 / R3 Series|12\n@(TM) * 6400 Series|12\n@(TM) R4 Graphics|12\nRADEON HD5450|12\n@ R5 Graphics|12\n@ R5 Graphics|12\n@(TM) R6 Graphics|12\n@(TM) R4 Graphics|12\n@(TM) R2 Graphics|12\n@ * 8210|12\n@ R5 230|12\n@ R3 Graphics|12\nFirePro 2270|12\n@(TM) R2E Graphics|12\n@ * 8400 / R3 Series|12\n@ * 8350G|12\n@ * 8400|12\n@ R2 Graphics|12\n@ * 8210 Graphics|12\n@ E6460|12\n@(TM) * 8280E|12\n@ R2 Graphics|11\n@ * 8450G + * 8750M Dual Graphics|11\n@ * 8330|11\n@ * 5470|11\n@ * 7600G + 7500M/7600M Dual Graphics|11\n@ R5 220|11\n@ * 8200 / R3 Series|11\n@ * 8240|11\n@ * 8400 / R3 Series|11\n@ * 8200 / R3 Series|11\n@ * 5450|11\n@(TM) 620|11\n@(TM) Vega 8 Mobile Graphics|11\n@ * 6530D|11\n@(TM) * 6520G|11\n@ * 6300M Series|11\nASUS EAH5450|11\n@ R5 220|11\n@ * 8250|11\n@ * 7340|11\n@ * 7340M|11\n@ * 8210|11\n@ * 7700 Series|10\n@ * 6380G|10\n@ * 5400 Series|10\n@ * 8240|10\n@ * 7640G + 7670M Dual Graphics|10\n@(TM) R6 Graphics|10\nASUS EAH5450 Series|10\n@ * 6320|10\n@ * 7340G|10\n@ * 6410D|10\n@ * 7340|10\n@ * 6320|10\n@(TM) R2 Graphics|10\n@ * 8180|9\nMobility @ * 5430|9\n@ R2 Graphics|9\n@ R2 Series|9\n@ * 8210|9\nFirePro 2270|9\n@ R2E Graphics|9\n@ * 7340|9\n@ * 6320|9\n@ * 7310|9\n@ * 6310|9\n@ R7 Graphics|9\n@ * 7310|8\n@ * 8250|8\n@ * 8180|8\n@ * 6630M|8\n@ * 6230|8\n@ * 6320|8\n@ * 6400M Series|8\n@ * 7290 Graphics|7\n@ * 6290|7\n@ * 6310|7\n@ * 8180|7\nASUS EAH5450 Series|7\n@(TM) R2 Graphics|6\n@ * 6310|6\n@ * 7500G|6\n@ * 8240 / R3 Series|6\n@ * 6250|6\n@ * 6380G|6\n@ * 6300M Series|5\n@ * 7310|5\n@ R3 Graphics|5\n@(TM) R6 Graphics|5\n@ * 6250|5\n@ * 6290|5\n@ * 6250|5\n@ * 7290 Graphics|4\n@ * 5000/6000/7350/8350 Series|3\n@ ^ Vega 56 OpenGL Engine|-1\nFirePro V4800 (FireGL) Graphics Adapter|-1\n@ * 7670M|-1\n@ * 8570D|-1\n7340:C5|-1\n@ * 8550G|-1\n@ R5 Graphics|-1\nASUS R7 360 Series|-1\nBonaire [FirePro W5100]|-1\n@ * 6380G|-1\n@ R7 Graphics|-1\nFireGL V8650|-1\nFirePro S7150|-1\nFirePro V3900 (FireGL V)|-1\nFirePro V7800 (FireGL V)|-1\nFirePro W4100 Graphics Adapter|-1\nFirePro W4170M (FireGL V)|-1\nGigabyte @ ^ 580|-1\nMobility FireGL V5700|-1\nMobility @ 4100|-1\nMobility @ * 2400|-1\nMobility @ * 2400 XT|-1\nMobility @ * 2600|-1\nMobility @ * 2600 XT|-1\nMobility @ * 3200|-1\nMobility @ * 3400 Series|-1\nMobility @ * 3430|-1\nMobility @ * 3470|-1\nMobility @ * 3650|-1\nMobility @ * 4200 Series|-1\nMobility @ * 4250|-1\nMobility @ * 4300 Series|-1\nMobility @ * 4500 Series|-1\nMobility @ * 4500/5100 Series|-1\nMobility @ * 4650|-1\nMobility @ * 4670|-1\nMobility @ * 4850|-1\nR9 270X Devil|-1\n^ 560X|-1\n@|-1\n@(TM) HD8530M|-1\n@ 3000|-1\n@ 3100 Graphics|-1\n@ * 2400 PRO|-1\n@ * 2400 XT|-1\n@ * 2600 Pro|-1\n@ * 2600 XT|-1\n@ * 2900 GT|-1\n@ * 3200 Graphics|-1\n@ * 3300|-1\n@ * 3450|-1\n@ * 3470|-1\n@ * 3600 Series|-1\n@ * 3650|-1\n@ * 3850|-1\n@ * 3870|-1\n@ * 3870 X2|-1\n@ * 4200|-1\n@ * 4250|-1\n@ * 4290|-1\n@ * 4300/4500 Series|-1\n@ * 4550|-1\n@ * 4600 Series|-1\n@ * 4650|-1\n@ * 4670|-1\n@ * 4830|-1\n@ * 4850|-1\n@ * 4870|-1\n@ * 4890|-1\n@ * 5670 640SP Edition|-1\n@ * 5800 Series|-1\n@ * 5850|-1\n@ * 6490M|-1\n@ * 6730M/6770M|-1\n@ * 6750|-1\n@ * 6800M Series|-1\n@ * 7540D + * 6670 Dual Graphics|-1\n@ * 7700M Series|-1\n@ * 7800 Series|-1\n@ * 8350|-1\n@ * 8370D|-1\n@ * 8600/8700M|-1\n@ Pro WX Vega M GL Graphics|-1\n@ R5 200 Series|-1\n@ R7 A370|-1\n@ R9 200 Series|-1\n@ R9 290X/390X|-1\n@ R9 380X|-1\n@ ^ 480|-1\n@ ^ 550X|-1\n@ ^ 6650M|-1\n@ RX6600XT|-1\n@(TM) R8 M435DX|-1\n@(TM) R9 290X|-1\n@(TM) RX540|-1\ninc. @ * 7970|-1\nRadeong 0.4 on AMD CAPE VERDE (DRM 2.43.0, LLVM 3.7.0)|-1\nRadeong 0.4 on AMD CAPE VERDE (DRM 3.9.0 / 4.9.0-rc1+, LLVM 4.0.0)|-1\nRadeong 0.4 on AMD FIJI (DRM 3.2.0 / 4.7.0-rc5+, LLVM 4.0.0)|-1\nRadeong 0.4 on AMD TAHITI (DRM 2.43.0, LLVM 3.9.0)|-1\n";let x=[],Y=[],j=[];function F(e){if(e===D.Intel&&x.length)return x;if(e===D.Nvidia&&Y.length)return Y;if(e===D.Amd&&j.length)return j;try{const t=function(e,t){let n=[];switch(t){case D.Intel:n=e.split("\n").map((e=>`Intel(R) ${e}`.replace("#","Graphics").replace("*","HD")));break;case D.Amd:n=e.split("\n").map((e=>e.replace("@","Radeon").replace("*","HD").replace("^","RX")));break;case D.Nvidia:n=e.split("\n").map((e=>e.replace("$","GeForce").replace("%","RTX").replace("&","GTX")))}return n.map((e=>e.split("|")))}(function(e){return e===D.Intel?T:e===D.Nvidia?P:e===D.Amd?G:""}(e),e);return e===D.Intel&&(x=t),e===D.Nvidia&&(Y=t),e===D.Amd&&(j=t),t}catch{}return[]}function N(e){if(!e)return 0;return t=function(e,t){let n=e.filter((e=>e[0]===t.model));n.length||(n=e.filter((e=>e[0]===t.backupModel))),!n.length&&t.vendor===D.Intel&&!/^Intel(R)/.test(t.model)&&(n=e.filter((e=>e[0]==="Intel(R) "+t.model)));let o="-1";if(n.length){const e=n[0][1];o="-1"===e?"0":e}return parseInt(o)}(F(e.vendor),e),0===t?0:-1===t?-1:parseFloat(Math.log2(t).toFixed(2));var t}const U=class e{static setConfig(t){e.cfg=t}static getGPUVendor(){return function(e){if(R)return R;R=localStorage.getItem(i)||"";const t=Number(localStorage.getItem(s));if(R){const n=t?Date.now()-t:0;if(null==e||!e.expiration||ne.expiration&&(localStorage.removeItem(i),localStorage.removeItem(s))}return R=function(){try{let e,t;const n=document.createElement("canvas").getContext("webgl");if(n)return t=n.getExtension("WEBGL_debug_renderer_info"),e=t?n.getParameter(t.UNMASKED_RENDERER_WEBGL):"",e}catch{}return""}(),localStorage.setItem(i,R),localStorage.setItem(s,""+Date.now()),R}(e.cfg)}static getGPUParsedVendor(t){return S(t||e.getGPUVendor())}static parseVendor(t){try{const n=e.getGPUParsedVendor(t);return n?{...n,score:N(n)}:null}catch{}return null}};(e=>{((e,t,n)=>{"cfg"in e?L(e,"cfg",{enumerable:!0,configurable:!0,writable:!0,value:n}):e.cfg=n})(e,0,null)})(U);let H=U;var q=Object.defineProperty,J=(e,t,n)=>((e,t,n)=>t in e?q(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n)(e,"symbol"!=typeof t?t+"":t,n);class K{constructor(){J(this,"origin",""),J(this,"score",0)}getScore(){return new Promise((e=>{e(this.getScoreSync())}))}getScoreSync(){const e=H.parseVendor();return e?(this.score=e.score,this.origin=e.origin,{origin:this.origin,score:this.score,vendorParsedInfo:e}):{origin:this.origin,score:this.score}}}const V="xg-decodeimg-scores-map",z=e=>{const t=new URL(e);return t.origin+t.pathname},W=()=>{let e={};try{const t=localStorage.getItem(V);t&&(e=JSON.parse(t))}catch{}return e},X=(e,t)=>{let n=[];return t&&e[t]&&(n=e[t]),n},Z=e=>{const t=W(),n=X(t,e);let o=0;return n.length>0&&(o=n.reduce(((e,t)=>e+t),0)/n.length),o},$=(e,t)=>{try{let n=e;const o=W(),r=X(o,t);return r.length>0?(r.push(e),n=r.reduce(((e,t)=>e+t),0)/r.length,r.length>10&&r.shift()):r.push(e),t&&(o[t]=r),(e=>{try{localStorage.setItem(V,JSON.stringify(e))}catch{}})(o),n}catch{return e}};var ee=Object.defineProperty;const te=e=>{let t=0;return e>0&&(t=e<=1?0:e<4?3*Math.log2(e):e<8?1.6*(Math.log2(e)-2)+6:.523*(Math.log2(e)-3)+7.6),t},ne=e=>t=>{let n=0;if(!e)return n;const o=z(e);if(t>0){const e=Math.log10(t+1);n=e<=1?6*e:e<=2?1.6*(e-1)+6:2.4*(e-2)+7.6,n=Math.round(100*n)/100,n=$(n,o)}else n=Z(o);return n},oe=e=>{let t=0;return e>0&&(t=e<=1?0:e<=4?3*Math.log2(e):e<8?2*(Math.log2(e)-2)+6:.337*(Math.log2(e)-3)+8),t},re=e=>{let t=0;return e>0&&e<1e6&&(t=e<=1?0:e<10?6*Math.log10(e):10),t},ie=e=>{let t=0;return e>0&&e<1e6&&(t=e<=1?0:e<30?4.06*Math.log10(e):e<60?5.19*(Math.log10(e)-1.47)+6:1.96*(Math.log10(e)-1.778)+7.6),t};class se{constructor(e){var t;((e,t,n)=>{((e,t,n)=>{t in e?ee(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n})(e,"symbol"!=typeof t?t+"":t,n)})(this,"mark"),this.mark=new l((t=e.decodeImgUrl,{plugins:{performance:{plugins:{cpu:{weight:2,plugins:{cpuCoreNumber:{weight:4,instance:new u({mapping:te})},decodeImg:{weight:3,instance:new p({url:t,mapping:ne(t)})},timer:{weight:0,instance:new h({})}}},memory:{weight:2,instance:new y({mapping:oe})},gpu:{instance:new K}}},net:{plugins:{downlink:{instance:new m({mapping:re})},performanceNet:{instance:new B({mapping:ie})}}}}}))}scoreAsync(){return this.mark.scoreAsync()}scoreSync(){return this.mark.scoreSync()}}var Ae=Object.defineProperty;class ae{constructor(){((e,t,n)=>{((e,t,n)=>{t in e?Ae(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n})(e,"symbol"!=typeof t?t+"":t,n)})(this,"origin","")}getScore(){return new Promise((e=>{e(this.getScoreSync())}))}getScoreSync(){const e=this.origin||this.getGPUVendor();return this.origin=e,{origin:e,score:0}}getGPUVendor(){try{let e,t=localStorage.getItem(i)||"";if(t)return t;const n=document.createElement("canvas").getContext("webgl");if(n)return e=n.getExtension("WEBGL_debug_renderer_info"),t=e?n.getParameter(e.UNMASKED_RENDERER_WEBGL):"",t&&localStorage.setItem(i,t),t}catch{}return""}}const ce=e=>{let t=0;return e>0&&(t=e<=1?0:e<4?3*Math.log2(e):e<8?1.6*(Math.log2(e)-2)+6:.523*(Math.log2(e)-3)+7.6),t},le=e=>t=>{let n=0;if(!e)return n;const o=z(e);if(t>0){const e=Math.log10(t+1);n=e<=1?6*e:e<=2?1.6*(e-1)+6:2.4*(e-2)+7.6,n=Math.round(100*n)/100,n=$(n,o)}else n=Z(o);return n},ge=e=>{let t=0;return e>0&&(t=e<=1?0:e<=4?3*Math.log2(e):e<8?2*(Math.log2(e)-2)+6:.337*(Math.log2(e)-3)+8),t},de=e=>{let t=0;return e>0&&e<1e6&&(t=e<=1?0:e<10?6*Math.log10(e):10),t},ue=e=>{let t=0;return e>0&&e<1e6&&(t=e<=1?0:e<30?4.06*Math.log10(e):e<60?5.19*(Math.log10(e)-1.47)+6:1.96*(Math.log10(e)-1.778)+7.6),t},pe=e=>{let t=0;return e>0&&e<1e6&&(t=e>100?2/Math.log10(e)*6:e>40?6+.0267*(100-e):7.6+.06*(40-e)),t};class he extends l{constructor(e){super(((e,t)=>({plugins:{performance:{plugins:{cpu:{weight:2,plugins:{cpuCoreNumber:{weight:4,instance:new u({mapping:ce})},decodeImg:{weight:3,instance:new p({url:e,mapping:le(e)})},timer:{weight:3,instance:new h({mapping:pe})}}},memory:{weight:2,instance:new y({mapping:ge})},gpu:{instance:t||new ae}}},net:{plugins:{downlink:{instance:new m({mapping:de})},performanceNet:{instance:new B({mapping:ue})}}}}}))(e.decodeImgUrl,e.gpu))}scoreAsync(){return this.getScore()}scoreSync(){return this.getScoreSync()}}const _e=e=>{let t=0;return e>0&&(t=e<=1?0:e<4?3*Math.log2(e):e<8?1.6*(Math.log2(e)-2)+6:.523*(Math.log2(e)-3)+7.6),t},ye=e=>(t,n)=>{let o=0;if(!e)return o;const r=z(e);if(t>0){const e=Math.log10(t+1);o=e<=1?6*e:e<=2?1.6*(e-1)+6:2.4*(e-2)+7.6,o=Math.round(100*o)/100,o=$(o,r)}else!0!==n&&(o=Z(r));return o},Ie=e=>{let t=0;return e>0&&e<1e6&&(t=e>64?6-1.5*(Math.log2(e)-6):e>8?7.6-.533*(Math.log2(e)-3):7.6+.03*(8-e)),t},fe=e=>{let t=0;return e>1&&(t=e<=4?3*Math.log2(e):e<8?2*(Math.log2(e)-2)+6:.65*(Math.log2(e)-3)+8),t},me=e=>{let t=0;return e>0&&e<1e6&&(t=e<=1?0:e<10?6*Math.log10(e):10),t},Be=e=>{let t=0;return e>0&&e<1e6&&(t=e<=1?0:e<40?3.745*Math.log10(e):e<100?4.02*(Math.log10(e)-1.602)+6:5.03*(Math.log10(e)-2)+7.6),t};class Ce extends l{constructor(e){var t;super((t=e.decodeImgUrl,{plugins:{performance:{plugins:{cpu:{plugins:{cpuCoreNumber:{instance:new u({mapping:_e})},decodeImg:{instance:new p({url:t,mapping:ye(t)})},timer:{instance:new h({mapping:Ie})}}},memory:{instance:new y({mapping:fe})},gpu:{instance:new K}}},net:{plugins:{downlink:{instance:new m({mapping:me})},performanceNet:{instance:new B({mapping:Be})}}}}}))}scoreAsync(){return this.getScore()}scoreSync(e){return this.getScoreSync(e)}}},26299:(e,t,n)=>{"use strict";n.r(t),n.d(t,{default:()=>A});var o,r=Object.defineProperty,i=(e,t,n)=>((e,t,n)=>t in e?r(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n)(e,"symbol"!=typeof t?t+"":t,n),s=(o=typeof document<"u"&&document.currentScript?document.currentScript.src:void 0,function(e){var t,n,r=typeof(e=e||{})<"u"?e:{},i=Object.assign;r.ready=new Promise((function(e,o){t=e,n=o}));var s,A=i({},r),a="./this.program",c="";c=self.location.href,o&&(c=o),c=0!==c.indexOf("blob:")?c.substr(0,c.replace(/[?#].*/,"").lastIndexOf("/")+1):"",s=e=>{var t=new XMLHttpRequest;return t.open("GET",e,!1),t.responseType="arraybuffer",t.send(null),new Uint8Array(t.response)},r.print||console.log.bind(console);var l,g=r.printErr||console.warn.bind(console);i(r,A),A=null,r.arguments&&r.arguments,r.thisProgram&&(a=r.thisProgram),r.quit&&r.quit,r.wasmBinary&&(l=r.wasmBinary),r.noExitRuntime,"object"!=typeof WebAssembly&&D("no native wasm support detected");var d,u,p,h,_,y=!1,I=typeof TextDecoder<"u"?new TextDecoder("utf8"):void 0;function f(e,t){return e?function(e,t,n){for(var o=t+n,r=t;e[r]&&!(r>=o);)++r;if(r-t>16&&e.subarray&&I)return I.decode(e.subarray(t,r));for(var i="";t>10,56320|1023&c)}}else i+=String.fromCharCode((31&s)<<6|A)}else i+=String.fromCharCode(s)}return i}(h,e,t):""}function m(e,t,n,o){if(!(o>0))return 0;for(var r=n,i=n+o-1,s=0;s=55296&&A<=57343&&(A=65536+((1023&A)<<10)|1023&e.charCodeAt(++s)),A<=127){if(n>=i)break;t[n++]=A}else if(A<=2047){if(n+1>=i)break;t[n++]=192|A>>6,t[n++]=128|63&A}else if(A<=65535){if(n+2>=i)break;t[n++]=224|A>>12,t[n++]=128|A>>6&63,t[n++]=128|63&A}else{if(n+3>=i)break;t[n++]=240|A>>18,t[n++]=128|A>>12&63,t[n++]=128|A>>6&63,t[n++]=128|63&A}}return t[n]=0,n-r}function B(e){for(var t=0,n=0;n=55296&&o<=57343&&(o=65536+((1023&o)<<10)|1023&e.charCodeAt(++n)),o<=127?++t:t+=o<=2047?2:o<=65535?3:4}return t}function C(e,t){return e%t>0&&(e+=t-e%t),e}function E(e){u=e,r.HEAP8=p=new Int8Array(e),r.HEAP16=new Int16Array(e),r.HEAP32=_=new Int32Array(e),r.HEAPU8=h=new Uint8Array(e),r.HEAPU16=new Uint16Array(e),r.HEAPU32=new Uint32Array(e),r.HEAPF32=new Float32Array(e),r.HEAPF64=new Float64Array(e)}r.INITIAL_MEMORY;var v,Q=[],b=[],w=[],M=0,k=null;function D(e){r.onAbort&&r.onAbort(e),g(e="Aborted("+e+")"),y=!0,e+=". Build with -s ASSERTIONS=1 for more info.";var t=new WebAssembly.RuntimeError(e);throw n(t),t}r.preloadedImages={},r.preloadedAudios={};var O,S;function R(e){return e.startsWith("data:application/octet-stream;base64,")}function L(e){try{if(e==O&&l)return new Uint8Array(l);if(s)return s(e);throw"both async and sync fetching of the wasm failed"}catch(e){D(e)}}function T(e){for(;e.length>0;){var t=e.shift();if("function"!=typeof t){var n=t.func;"number"==typeof n?void 0===t.arg?P(n)():P(n)(t.arg):n(void 0===t.arg?null:t.arg)}else t(r)}}function P(e){return v.get(e)}function G(e){this.excPtr=e,this.ptr=e-16,this.set_type=function(e){_[this.ptr+4>>2]=e},this.get_type=function(){return _[this.ptr+4>>2]},this.set_destructor=function(e){_[this.ptr+8>>2]=e},this.get_destructor=function(){return _[this.ptr+8>>2]},this.set_refcount=function(e){_[this.ptr>>2]=e},this.set_caught=function(e){e=e?1:0,p[this.ptr+12|0]=e},this.get_caught=function(){return 0!=p[this.ptr+12|0]},this.set_rethrown=function(e){e=e?1:0,p[this.ptr+13|0]=e},this.get_rethrown=function(){return 0!=p[this.ptr+13|0]},this.init=function(e,t){this.set_type(e),this.set_destructor(t),this.set_refcount(0),this.set_caught(!1),this.set_rethrown(!1)},this.add_ref=function(){var e=_[this.ptr>>2];_[this.ptr>>2]=e+1},this.release_ref=function(){var e=_[this.ptr>>2];return _[this.ptr>>2]=e-1,1===e}}function x(e){try{return d.grow(e-u.byteLength+65535>>>16),E(d.buffer),1}catch{}}R(O="aw.wasm")||(S=O,O=r.locateFile?r.locateFile(S,c):c+S);var Y={};function j(){if(!j.strings){var e={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:("object"==typeof navigator&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8",_:a||"./this.program"};for(var t in Y)void 0===Y[t]?delete e[t]:e[t]=Y[t];var n=[];for(var t in e)n.push(t+"="+e[t]);j.strings=n}return j.strings}function F(e){return e%4==0&&(e%100!=0||e%400==0)}function N(e,t){for(var n=0,o=0;o<=t;n+=e[o++]);return n}var U=[31,29,31,30,31,30,31,31,30,31,30,31],H=[31,28,31,30,31,30,31,31,30,31,30,31];function q(e,t){for(var n=new Date(e.getTime());t>0;){var o=F(n.getFullYear()),r=n.getMonth(),i=(o?U:H)[r];if(!(t>i-n.getDate()))return n.setDate(n.getDate()+t),n;t-=i-n.getDate()+1,n.setDate(1),r<11?n.setMonth(r+1):(n.setMonth(0),n.setFullYear(n.getFullYear()+1))}return n}function J(e,t,n){var o=n>0?n:B(e)+1,r=new Array(o),i=m(e,r,0,r.length);return t&&(r.length=i),r}var K={h:function(e){return z(e+16)+16},g:function(e,t,n){throw new G(e).init(t,n),e},a:function(){D("")},f:function(e,t,n){h.copyWithin(e,t,t+n)},e:function(e){var t=h.length,n=2147483648;if((e>>>=0)>n)return!1;for(var o=1;o<=4;o*=2){var r=t*(1+.2/o);if(r=Math.min(r,e+100663296),x(Math.min(n,C(Math.max(e,r),65536))))return!0}return!1},c:function(e,t){var n=0;return j().forEach((function(o,r){var i=t+n;_[e+4*r>>2]=i,function(e,t){for(var n=0;n>2]=n.length;var o=0;return n.forEach((function(e){o+=e.length+1})),_[t>>2]=o,0},b:function(e,t,n,o){return function(e,t,n,o){var r=_[o+40>>2],i={tm_sec:_[o>>2],tm_min:_[o+4>>2],tm_hour:_[o+8>>2],tm_mday:_[o+12>>2],tm_mon:_[o+16>>2],tm_year:_[o+20>>2],tm_wday:_[o+24>>2],tm_yday:_[o+28>>2],tm_isdst:_[o+32>>2],tm_gmtoff:_[o+36>>2],tm_zone:r?f(r):""},s=f(n),A={"%c":"%a %b %d %H:%M:%S %Y","%D":"%m/%d/%y","%F":"%Y-%m-%d","%h":"%b","%r":"%I:%M:%S %p","%R":"%H:%M","%T":"%H:%M:%S","%x":"%m/%d/%y","%X":"%H:%M:%S","%Ec":"%c","%EC":"%C","%Ex":"%m/%d/%y","%EX":"%H:%M:%S","%Ey":"%y","%EY":"%Y","%Od":"%d","%Oe":"%e","%OH":"%H","%OI":"%I","%Om":"%m","%OM":"%M","%OS":"%S","%Ou":"%u","%OU":"%U","%OV":"%V","%Ow":"%w","%OW":"%W","%Oy":"%y"};for(var a in A)s=s.replace(new RegExp(a,"g"),A[a]);var c=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],l=["January","February","March","April","May","June","July","August","September","October","November","December"];function g(e,t,n){for(var o="number"==typeof e?e.toString():e||"";o.length0?1:0}var o;return 0===(o=n(e.getFullYear()-t.getFullYear()))&&0===(o=n(e.getMonth()-t.getMonth()))&&(o=n(e.getDate()-t.getDate())),o}function h(e){switch(e.getDay()){case 0:return new Date(e.getFullYear()-1,11,29);case 1:return e;case 2:return new Date(e.getFullYear(),0,3);case 3:return new Date(e.getFullYear(),0,2);case 4:return new Date(e.getFullYear(),0,1);case 5:return new Date(e.getFullYear()-1,11,31);case 6:return new Date(e.getFullYear()-1,11,30)}}function y(e){var t=q(new Date(e.tm_year+1900,0,1),e.tm_yday),n=new Date(t.getFullYear(),0,4),o=new Date(t.getFullYear()+1,0,4),r=h(n),i=h(o);return u(r,t)<=0?u(i,t)<=0?t.getFullYear()+1:t.getFullYear():t.getFullYear()-1}var I={"%a":function(e){return c[e.tm_wday].substring(0,3)},"%A":function(e){return c[e.tm_wday]},"%b":function(e){return l[e.tm_mon].substring(0,3)},"%B":function(e){return l[e.tm_mon]},"%C":function(e){return d((e.tm_year+1900)/100|0,2)},"%d":function(e){return d(e.tm_mday,2)},"%e":function(e){return g(e.tm_mday,2," ")},"%g":function(e){return y(e).toString().substring(2)},"%G":function(e){return y(e)},"%H":function(e){return d(e.tm_hour,2)},"%I":function(e){var t=e.tm_hour;return 0==t?t=12:t>12&&(t-=12),d(t,2)},"%j":function(e){return d(e.tm_mday+N(F(e.tm_year+1900)?U:H,e.tm_mon-1),3)},"%m":function(e){return d(e.tm_mon+1,2)},"%M":function(e){return d(e.tm_min,2)},"%n":function(){return"\n"},"%p":function(e){return e.tm_hour>=0&&e.tm_hour<12?"AM":"PM"},"%S":function(e){return d(e.tm_sec,2)},"%t":function(){return"\t"},"%u":function(e){return e.tm_wday||7},"%U":function(e){var t=new Date(e.tm_year+1900,0,1),n=0===t.getDay()?t:q(t,7-t.getDay()),o=new Date(e.tm_year+1900,e.tm_mon,e.tm_mday);if(u(n,o)<0){var r=N(F(o.getFullYear())?U:H,o.getMonth()-1)-31,i=31-n.getDate()+r+o.getDate();return d(Math.ceil(i/7),2)}return 0===u(n,t)?"01":"00"},"%V":function(e){var t,n=new Date(e.tm_year+1900,0,4),o=new Date(e.tm_year+1901,0,4),r=h(n),i=h(o),s=q(new Date(e.tm_year+1900,0,1),e.tm_yday);return u(s,r)<0?"53":u(i,s)<=0?"01":(t=r.getFullYear()=0?"+":"-")+("0000"+(t=(t=Math.abs(t)/60)/60*100+t%60)).slice(-4)},"%Z":function(e){return e.tm_zone},"%%":function(){return"%"}};for(var a in I)s.includes(a)&&(s=s.replace(new RegExp(a,"g"),I[a](i)));var m=J(s,!1);return m.length>t?0:(function(e,t){p.set(e,t)}(m,e),m.length-1)}(e,t,n,o)}};(function(){var e={a:K};function t(e,t){var n=e.exports;r.asm=n,E((d=r.asm.i).buffer),v=r.asm.p,function(e){b.unshift(e)}(r.asm.j),function(){if(M--,r.monitorRunDependencies&&r.monitorRunDependencies(M),0==M&&k){var e=k;k=null,e()}}()}function o(e){t(e.instance)}function i(t){return(l||"function"!=typeof fetch?Promise.resolve().then((function(){return L(O)})):fetch(O,{credentials:"same-origin"}).then((function(e){if(!e.ok)throw"failed to load wasm binary file at '"+O+"'";return e.arrayBuffer()})).catch((function(){return L(O)}))).then((function(t){return WebAssembly.instantiate(t,e)})).then((function(e){return e})).then(t,(function(e){g("failed to asynchronously prepare wasm: "+e),D(e)}))}if(M++,r.monitorRunDependencies&&r.monitorRunDependencies(M),r.instantiateWasm)try{return r.instantiateWasm(e,t)}catch(e){return g("Module.instantiateWasm callback failed with error: "+e),!1}(l||"function"!=typeof WebAssembly.instantiateStreaming||R(O)||"function"!=typeof fetch?i(o):fetch(O,{credentials:"same-origin"}).then((function(t){return WebAssembly.instantiateStreaming(t,e).then(o,(function(e){return g("wasm streaming compile failed: "+e),g("falling back to ArrayBuffer instantiation"),i(o)}))}))).catch(n)})(),r.___wasm_call_ctors=function(){return(r.___wasm_call_ctors=r.asm.j).apply(null,arguments)};var V,z=r._malloc=function(){return(z=r._malloc=r.asm.k).apply(null,arguments)};function W(e){function n(){V||(V=!0,r.calledRun=!0,!y&&(T(b),t(r),r.onRuntimeInitialized&&r.onRuntimeInitialized(),function(){if(r.postRun)for("function"==typeof r.postRun&&(r.postRun=[r.postRun]);r.postRun.length;)e=r.postRun.shift(),w.unshift(e);var e;T(w)}()))}M>0||(function(){if(r.preRun)for("function"==typeof r.preRun&&(r.preRun=[r.preRun]);r.preRun.length;)e=r.preRun.shift(),Q.unshift(e);var e;T(Q)}(),M>0)||(r.setStatus?(r.setStatus("Running..."),setTimeout((function(){setTimeout((function(){r.setStatus("")}),1),n()}),1)):n())}if(r._free=function(){return(r._free=r.asm.l).apply(null,arguments)},r._descryptKdsKey=function(){return(r._descryptKdsKey=r.asm.m).apply(null,arguments)},r._descryptKey=function(){return(r._descryptKey=r.asm.n).apply(null,arguments)},r._descryptCBC=function(){return(r._descryptCBC=r.asm.o).apply(null,arguments)},r.intArrayFromString=J,r.UTF8ToString=f,r.allocateUTF8=function(e){var t=B(e)+1,n=z(t);return n&&m(e,p,n,t),n},k=function e(){V||W(),V||(k=e)},r.run=W,r.preInit)for("function"==typeof r.preInit&&(r.preInit=[r.preInit]);r.preInit.length>0;)r.preInit.pop()();return W(),e.ready});class A{constructor(){i(this,"_module",null),i(this,"_initPromise",null),this.init()}get version(){return"0.1.9"}init(){typeof window>"u"||(this._initPromise=new Promise(((e,t)=>{s({instantiateWasm:function(e,n){fetch("data:application/wasm;base64,AGFzbQEAAAAB/AIuYAF/AX9gAn9/AX9gAX8AYAJ/fwBgA39/fwF/YAZ/f39/f38Bf2AFf39/f38Bf2ADf39/AGAEf39/fwBgBn9/f39/fwBgBX9/f39/AGAEf39/fwF/YAh/f39/f39/fwF/YAd/f39/f39/AX9gBX9+fn5+AGAAAGAHf39/f39/fwBgBH9/f38BfmAFf39/f34Bf2AEf35+fwBgBX9/fn9/AGAAAX9gAn9+AGAKf39/f39/f39/fwF/YAx/f39/f39/f39/f38Bf2AIf39/f39/f38AYA9/f39/f39/f39/f39/f38AYAp/f39/f39/f39/AGALf39/f39/f39/f38Bf2AGf3x/f39/AX9gB39/f39/fn4Bf2AGf39/f35+AX9gBX9/f398AX9gAn98AGAEfn5+fgF/YAJ+fwF/YAJ+fgF8YAF/AXxgA35+fgF/YAN/f38BfGADf39/AX1gBH9/f34BfmACfH8BfGADf39+AGACfn4BfWACf38BfgIxCAFhAWEADwFhAWIABgFhAWMAAQFhAWQAAQFhAWUAAAFhAWYABAFhAWcABwFhAWgAAAOrBKkEAAEAAQMAAgMCAAAAAwMVDw4AAAIAAwIEAAIAAAECAAEDAQcOAQYIChMDAQAAAwMAAwADAw4BBAQAAwQEAAQAAAMDAwMAAAACARYHAwQGBgELAQUAIQwBDAUIAQcAAAADAwMDAAgACAAAAAAAAQMDASITAAABAAADBwEBBAMXABcAASMDAAIAAgcBBwgAAAoDAAECBAMAAAEDAAADEAQQAQ0BDQsBAQsDAAAAAwABFgADCQcIAQcAAwoAAAACBAYCAAMEGAoEARgKAQgRAQAkAA4lJgADAgcAAg8AAAEBAAABAgABCQACAgEIAQoZBwcZAAIDBwEDAwIBFQACAAcAAAAABgwDAAIDAgAAAwICAAQaGxobAAEAAAEDHAMBAAAHAxwDAwEBAwkKCQkKCQkAEAIEBBAFBAgnKBELBQsRCwEBBxEpAAsKAAIBAQEHAAYqAQABBAErLC0IDg4TDgEBAAAABwMHAwMCAgAEAAAECBQEAgIACQkJCgoKAggICAQPAgIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAMDAwMDAwAAAgIGDAwGDAwABgAGDAwCBgYECwQBBAECBgQLBAEEAQsLCwQCAgICAgkJBR4FHg0NDQ0NDQwFBQUFBQwFBQUFBQYfIBIGEgYGBh8gEgYSBgAGBQUFBQUFBQUFBQUFBQUFBQUFBAgGBAgGBAMdBAcDAgIAAgAIAhQBAQAAAgIAAAIAAAQHAXABwQLBAgUGAQEwgIACBggBfwFB4NYBCwclCAFpAgABagDhAQFrABkBbAAQAW0A7AEBbgCdBAFvAJwEAXABAAnGBAEAQQELwALWA7AEtwG+AYIDuAH4AvcC9gJMTPUC9ALzAvAB8gLwAbQB7wHxAvACsQHvAq8ErgSwAeABrQSrBKwEqgTXAaQEpQSjBKgEpwSmBH6IA3rdAaIEoQSgBJ8E2wGeBJsEmgSZBJgEEMQB1APSA6UDowOhA58DnQObA5kDlwOVA5MDkQOPA40DiwOSAtUD0wONAsYDxQPEA8MDwgOtAsEDwAO/A5YCvQO8A7sDugO5A0y4A7cDhwKwA64DrQOsA6oDqAOGAq8DqQT+A6sDqQOnA28hIdED0APPA84DzQPMA8sDygOtAskDyAPHAyGLAosCxgHDAcMBvgPDASG2A7UDxgFMTLQDiAIhswOyA8YBTEyxA4gCbyGXBJYElQRvIZQEkwSSBCGRBJAEjwSOBMMCwwKNBIwEiwSKBIkEIYgEhwSGBIUEvAK8AoQEgwSCBIEEgAQh/wP9A/wD+wP6A/kD+AP3AyH2A/UD9APzA/ID8QPwA+8DbyG2Au4D7QPsA+sD6gPpA6YDogOeA5IDjgOaA5YDbyG2AugD5wPmA+UD5APjA6QDoAOcA5ADjAOYA5QDwgGDAuIDwgGDAuEDIaIBogFqamqrAkxpaSGiAaIBampqqwJMaWkhoQGhAWqgAaABqgJMaWkhoQGhAWqgAaABqgJMaWkh4APfAyHeA90DIdwD2wMh2gPZAyGXAtgDuAEhlwLXA7gBb4kDhwNvIcQBxAGGA/wC/wKFAyH9AoADhAMh/gKBA4MDbyH7AvoCigP5Agro/gapBBQAIAAQMwRAIAAoAgQPCyAALQALCwcAIAAgAXgLHQEBfyAAEDMEQCAAKAIAIQEgABB7GiABEBALIAALCQAgABANIAFqC9IBAQR/AkAgASAAEAgiA0sEQCMAQRBrIgIkACABIANrIgMEQCAAEBMhBCAAEAgiASADaiEFIAMgBCABa0sEQCAAIAQgBSAEayABIAEQwAELIAEgABANIgRqIANBABD2ASAAIAUQdSACQQA6AA8gBCAFaiACQQ9qEDYLDAELIwBBEGsiAiQAAkAgABAzBEAgACgCACEDIAJBADoADyABIANqIAJBD2oQNiAAIAEQOgwBCyACQQA6AA4gACABaiACQQ5qEDYgACABEDsLCyACQRBqJAALEQAgABAzBEAgACgCAA8LIAALCgAgACgCABCaAQsMACAAIAFBHGoQjwILzAwBB38CQCAARQ0AIABBCGsiAyAAQQRrKAIAIgFBeHEiAGohBQJAIAFBAXENACABQQNxRQ0BIAMgAygCACIBayIDQaSBASgCAEkNASAAIAFqIQAgA0GogQEoAgBHBEAgAUH/AU0EQCADKAIIIgIgAUEDdiIEQQN0QbyBAWpGGiACIAMoAgwiAUYEQEGUgQFBlIEBKAIAQX4gBHdxNgIADAMLIAIgATYCDCABIAI2AggMAgsgAygCGCEGAkAgAyADKAIMIgFHBEAgAygCCCICIAE2AgwgASACNgIIDAELAkAgA0EUaiICKAIAIgQNACADQRBqIgIoAgAiBA0AQQAhAQwBCwNAIAIhByAEIgFBFGoiAigCACIEDQAgAUEQaiECIAEoAhAiBA0ACyAHQQA2AgALIAZFDQECQCADIAMoAhwiAkECdEHEgwFqIgQoAgBGBEAgBCABNgIAIAENAUGYgQFBmIEBKAIAQX4gAndxNgIADAMLIAZBEEEUIAYoAhAgA0YbaiABNgIAIAFFDQILIAEgBjYCGCADKAIQIgIEQCABIAI2AhAgAiABNgIYCyADKAIUIgJFDQEgASACNgIUIAIgATYCGAwBCyAFKAIEIgFBA3FBA0cNAEGcgQEgADYCACAFIAFBfnE2AgQgAyAAQQFyNgIEIAAgA2ogADYCAA8LIAMgBU8NACAFKAIEIgFBAXFFDQACQCABQQJxRQRAIAVBrIEBKAIARgRAQayBASADNgIAQaCBAUGggQEoAgAgAGoiADYCACADIABBAXI2AgQgA0GogQEoAgBHDQNBnIEBQQA2AgBBqIEBQQA2AgAPCyAFQaiBASgCAEYEQEGogQEgAzYCAEGcgQFBnIEBKAIAIABqIgA2AgAgAyAAQQFyNgIEIAAgA2ogADYCAA8LIAFBeHEgAGohAAJAIAFB/wFNBEAgBSgCCCICIAFBA3YiBEEDdEG8gQFqRhogAiAFKAIMIgFGBEBBlIEBQZSBASgCAEF+IAR3cTYCAAwCCyACIAE2AgwgASACNgIIDAELIAUoAhghBgJAIAUgBSgCDCIBRwRAIAUoAggiAkGkgQEoAgBJGiACIAE2AgwgASACNgIIDAELAkAgBUEUaiICKAIAIgQNACAFQRBqIgIoAgAiBA0AQQAhAQwBCwNAIAIhByAEIgFBFGoiAigCACIEDQAgAUEQaiECIAEoAhAiBA0ACyAHQQA2AgALIAZFDQACQCAFIAUoAhwiAkECdEHEgwFqIgQoAgBGBEAgBCABNgIAIAENAUGYgQFBmIEBKAIAQX4gAndxNgIADAILIAZBEEEUIAYoAhAgBUYbaiABNgIAIAFFDQELIAEgBjYCGCAFKAIQIgIEQCABIAI2AhAgAiABNgIYCyAFKAIUIgJFDQAgASACNgIUIAIgATYCGAsgAyAAQQFyNgIEIAAgA2ogADYCACADQaiBASgCAEcNAUGcgQEgADYCAA8LIAUgAUF+cTYCBCADIABBAXI2AgQgACADaiAANgIACyAAQf8BTQRAIABBA3YiAUEDdEG8gQFqIQACf0GUgQEoAgAiAkEBIAF0IgFxRQRAQZSBASABIAJyNgIAIAAMAQsgACgCCAshAiAAIAM2AgggAiADNgIMIAMgADYCDCADIAI2AggPC0EfIQIgA0IANwIQIABB////B00EQCAAQQh2IgEgAUGA/j9qQRB2QQhxIgF0IgIgAkGA4B9qQRB2QQRxIgJ0IgQgBEGAgA9qQRB2QQJxIgR0QQ92IAEgAnIgBHJrIgFBAXQgACABQRVqdkEBcXJBHGohAgsgAyACNgIcIAJBAnRBxIMBaiEBAkACQAJAQZiBASgCACIEQQEgAnQiB3FFBEBBmIEBIAQgB3I2AgAgASADNgIAIAMgATYCGAwBCyAAQQBBGSACQQF2ayACQR9GG3QhAiABKAIAIQEDQCABIgQoAgRBeHEgAEYNAiACQR12IQEgAkEBdCECIAQgAUEEcWoiB0EQaigCACIBDQALIAcgAzYCECADIAQ2AhgLIAMgAzYCDCADIAM2AggMAQsgBCgCCCIAIAM2AgwgBCADNgIIIANBADYCGCADIAQ2AgwgAyAANgIIC0G0gQFBtIEBKAIAQQFrIgBBfyAAGzYCAAsLJAEBfyMAQRBrIgEkACAAQgA3AgAgAEEANgIIIAFBEGokACAAC4sCAgN/An4CQCAAKQNwIgRQRSAEIAApA3ggACgCBCIBIAAoAiwiAmusfCIFV3FFBEAjAEEQayICJABBfyEBAkAgABCEAg0AIAAgAkEPakEBIAAoAiARBABBAUcNACACLQAPIQELIAJBEGokACABIgNBAE4NASAAKAIEIQEgACgCLCECCyAAQn83A3AgACABNgJoIAAgBSACIAFrrHw3A3hBfw8LIAVCAXwhBSAAKAIEIQEgACgCCCECAkAgACkDcCIEUA0AIAQgBX0iBCACIAFrrFkNACABIASnaiECCyAAIAI2AmggACAFIAAoAiwiACABa6x8NwN4IAAgAU8EQCABQQFrIAM6AAALIAMLGQEBf0EKIQEgABAzBH8gABB7QQFrBSABCwvjAQEGfyABEM8CIQMjAEEQayIFJAACQCADIAAiBBDIASIATQRAIAQQDSIGIQIgAyIABH8CQCABIAJGDQAgAiABayAAQQJ0TwRAIABFDQEDQCACIAEoAgA2AgAgAkEEaiECIAFBBGohASAAQQFrIgANAAsMAQsgAEUNAANAIAIgAEEBayIAQQJ0IgdqIAEgB2ooAgA2AgAgAA0ACwtBAAUgAgsaIAVBADYCDCAGIANBAnRqIAVBDGoQNSAEIAMQdQwBCyAEIAAgAyAAayAEEAgiAEEAIAAgAyABEPQBCyAFQRBqJAALcwEDfyABEJ0BIQIjAEEQayIEJAACQCACIAAQEyIDTQRAIAAQDSEDIAIEQCADIAEgAhCFAgsgBEEAOgAPIAIgA2ogBEEPahA2IAAgAhB1DAELIAAgAyACIANrIAAQCCIAQQAgACACIAEQ9wELIARBEGokAAvtAgEEfwJAQZiIAS0AAEEBcQ0AQZiIARAmRQ0AIwBBIGsiAiQAAkACQANAIAJBCGogAEECdGoCf0EBIAB0Qf////8HcSIDQQFyRQRAIABBAnQoAgAMAQsgAEGTHkGPHyADGxDaAgsiAzYCACADQX9HBEAgAEEBaiIAQQZGDQIMAQsLDAELQQAQ2QJFBEBBqC0hASACQQhqQagtEKwBRQ0BQcAtIQEgAkEIakHALRCsAUUNAUEAIQBB7IYBLQAARQRAA0AgAEECdEG8hgFqIABBjx8Q2gI2AgAgAEEBaiIAQQZHDQALQeyGAUEBOgAAQdSGAUG8hgEoAgA2AgALQbyGASEBIAJBCGpBvIYBEKwBRQ0BQdSGASEBIAJBCGpB1IYBEKwBRQ0BQRgQGSIBRQ0BCyABIAIpAwg3AgAgASACKQMYNwIQIAEgAikDEDcCCAsgAkEgaiQAQZSIASABNgIAQZiIARAlC0GUiAEoAgALBQAQAAALwwoCBX8PfiMAQeAAayIFJAAgBEL///////8/gyEMIAIgBIVCgICAgICAgICAf4MhCiACQv///////z+DIg1CIIghDiAEQjCIp0H//wFxIQcCQAJAIAJCMIinQf//AXEiCUH//wFrQYKAfk8EQCAHQf//AWtBgYB+Sw0BCyABUCACQv///////////wCDIgtCgICAgICAwP//AFQgC0KAgICAgIDA//8AURtFBEAgAkKAgICAgIAghCEKDAILIANQIARC////////////AIMiAkKAgICAgIDA//8AVCACQoCAgICAgMD//wBRG0UEQCAEQoCAgICAgCCEIQogAyEBDAILIAEgC0KAgICAgIDA//8AhYRQBEAgAiADhFAEQEKAgICAgIDg//8AIQpCACEBDAMLIApCgICAgICAwP//AIQhCkIAIQEMAgsgAyACQoCAgICAgMD//wCFhFAEQCABIAuEIQJCACEBIAJQBEBCgICAgICA4P//ACEKDAMLIApCgICAgICAwP//AIQhCgwCCyABIAuEUARAQgAhAQwCCyACIAOEUARAQgAhAQwCCyALQv///////z9YBEAgBUHQAGogASANIAEgDSANUCIGG3kgBkEGdK18pyIGQQ9rEDBBECAGayEGIAUpA1giDUIgiCEOIAUpA1AhAQsgAkL///////8/Vg0AIAVBQGsgAyAMIAMgDCAMUCIIG3kgCEEGdK18pyIIQQ9rEDAgBiAIa0EQaiEGIAUpA0ghDCAFKQNAIQMLIANCD4YiC0KAgP7/D4MiAiABQiCIIgR+IhAgC0IgiCITIAFC/////w+DIgF+fCIPQiCGIhEgASACfnwiCyARVK0gAiANQv////8PgyINfiIVIAQgE358IhEgDEIPhiADQjGIhCISQv////8PgyIDIAF+fCIUIA8gEFStQiCGIA9CIIiEfCIPIAIgDkKAgASEIgx+IhYgDSATfnwiDiASQiCIQoCAgIAIhCICIAF+fCIQ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Cwt1AQF+IAAgASAEfiACIAN+fCADQiCIIgIgAUIgiCIEfnwgA0L/////D4MiAyABQv////8PgyIBfiIFQiCIIAMgBH58IgNCIIh8IAEgAn4gA0L/////D4N8IgFCIIh8NwMIIAAgBUL/////D4MgAUIghoQ3AwALDAAgACABEOgBQQFzC0MBAX8jAEEQayIFJAAgBSACNgIMIAUgBDYCCCAFIAVBDGoQUCECIAAgASADIAUoAggQqwEhACACEE8gBUEQaiQAIAALoQEBAn8CQCAAEAhFIAIgAWtBBUhyDQAgASACEKMBIAJBBGshBCAAEA0iAiAAEAhqIQUCQANAAkAgAiwAACEAIAEgBE8NACAAQQBMIABB/wBOckUEQCABKAIAIAIsAABHDQMLIAFBBGohASACIAUgAmtBAUpqIQIMAQsLIABBAEwgAEH/AE5yDQEgAiwAACAEKAIAQQFrSw0BCyADQQQ2AgALC20BAX8jAEGAAmsiBSQAIARBgMAEcSACIANMckUEQCAFIAFB/wFxIAIgA2siAkGAAiACQYACSSIBGxBUGiABRQRAA0AgACAFQYACECogAkGAAmsiAkH/AUsNAAsLIAAgBSACECoLIAVBgAJqJAALUAEBfgJAIANBwABxBEAgASADQUBqrYYhAkIAIQEMAQsgA0UNACACIAOtIgSGIAFBwAAgA2utiIQhAiABIASGIQELIAAgATcDACAAIAI3AwgLVQECfyMAQRBrIgIkACAAEDMEQCAAKAIAIQMgABB7GiADEBALIAAgASgCCDYCCCAAIAEpAgA3AgAgAUEAEDsgAkEAOgAPIAEgAkEPahA2IAJBEGokAAsMACAAIAEQ5AFBAXMLCgAgAC0AC0EHdgsKACAAQcCIARBiCwwAIAAgASgCADYCAAsMACAAIAEtAAA6AAALCgAgAEG4iAEQYgsRACAAIAEgASgCACgCFBEDAAsPACAAIAAoAgAoAhARAAALCQAgACABNgIECwkAIAAgAToACwu9CQIEfgR/IwBB8ABrIgokACAEQv///////////wCDIQUCQAJAIAFQIgkgAkL///////////8AgyIGQoCAgICAgMD//wB9QoCAgICAgMCAgH9UIAZQG0UEQCADQgBSIAVCgICAgICAwP//AH0iB0KAgICAgIDAgIB/ViAHQoCAgICAgMCAgH9RGw0BCyAJIAZCgICAgICAwP//AFQgBkKAgICAgIDA//8AURtFBEAgAkKAgICAgIAghCEEIAEhAwwCCyADUCAFQoCAgICAgMD//wBUIAVCgICAgICAwP//AFEbRQRAIARCgICAgICAIIQhBAwCCyABIAZCgICAgICAwP//AIWEUARAQoCAgICAgOD//wAgAiABIAOFIAIgBIVCgICAgICAgICAf4WEUCIJGyEEQgAgASAJGyEDDAILIAMgBUKAgICAgIDA//8AhYRQDQEgASAGhFAEQCADIAWEQgBSDQIgASADgyEDIAIgBIMhBAwCCyADIAWEUEUNACABIQMgAiEEDAELIAMgASABIANUIAUgBlYgBSAGURsiCxshBSAEIAIgCxsiB0L///////8/gyEGIAIgBCALGyICQjCIp0H//wFxIQwgB0IwiKdB//8BcSIJRQRAIApB4ABqIAUgBiAFIAYgBlAiCRt5IAlBBnStfKciCUEPaxAwIAopA2ghBiAKKQNgIQVBECAJayEJCyABIAMgCxshAyACQv///////z+DIQQgDEUEQCAKQdAAaiADIAQgAyAEIARQIgsbeSALQQZ0rXynIgtBD2sQMEEQIAtrIQwgCikDWCEEIAopA1AhAwsgBEIDhiADQj2IhEKAgICAgICABIQhBCAGQgOGIAVCPYiEIQYgAiAHhSEIAn4gA0IDhiIBIAkgDGsiC0UNABogC0H/AEsEQEIAIQRCAQwBCyAKQUBrIAEgBEGAASALaxAwIApBMGogASAEIAsQeSAKKQM4IQQgCikDMCAKKQNAIAopA0iEQgBSrYQLIQEgBkKAgICAgICABIQhAyAFQgOGIQICQCAIQgBTBEAgAiABfSIFIAMgBH0gASACVq19IgSEUARAQgAhA0IAIQQMAwsgBEL/////////A1YNASAKQSBqIAUgBCAFIAQgBFAiCxt5IAtBBnStfKdBDGsiCxAwIAkgC2shCSAKKQMoIQQgCikDICEFDAELIAEgAnwiBSABVK0gAyAEfHwiBEKAgICAgICACINQDQAgBUIBgyAEQj+GIAVCAYiEhCEFIAlBAWohCSAEQgGIIQQLIAdCgICAgICAgICAf4MhASAJQf//AU4EQCABQoCAgICAgMD//wCEIQRCACEDDAELQQAhCwJAIAlBAEoEQCAJIQsMAQsgCkEQaiAFIAQgCUH/AGoQMCAKIAUgBEEBIAlrEHkgCikDACAKKQMQIAopAxiEQgBSrYQhBSAKKQMIIQQLIARCPYYgBUIDiIQiAiAFp0EHcSIJQQRLrXwiAyACVK0gBEIDiEL///////8/gyALrUIwhoQgAYR8IQQCQCAJQQRGBEAgBCADQgGDIgEgA3wiAyABVK18IQQMAQsgCUUNAQsLIAAgAzcDACAAIAQ3AwggCkHwAGokAAsRACAAIAEgACgCACgCLBEBAAstACACRQRAIAAoAgQgASgCBEYPCyAAIAFGBEBBAQ8LIAAoAgQgASgCBBCtAUULYwAgAigCBEGwAXEiAkEgRgRAIAEPCwJAIAJBEEcNAAJAAkAgAC0AACICQStrDgMAAQABCyAAQQFqDwsgAkEwRyABIABrQQJIcg0AIAAtAAFBIHJB+ABHDQAgAEECaiEACyAACyYBAX8jAEEQayIBJAAgAUEIaiAAEA0QdygCACEAIAFBEGokACAAC34CAn8BfiMAQRBrIgMkACAAAn4gAUUEQEIADAELIAMgASABQR91IgJqIAJzIgKtQgAgAmciAkHRAGoQMCADKQMIQoCAgICAgMAAhUGegAEgAmutQjCGfCABQYCAgIB4ca1CIIaEIQQgAykDAAs3AwAgACAENwMIIANBEGokAAsnAQF/IAJBAE4EfyAAKAIIIAJB/wFxQQF0ai8BACABcUEARwUgAwsLEwAgACABIAIgACgCACgCDBEEAAs3AQJ/IwBBEGsiAiQAA0AgAUEDRwRAIAAgAUECdGpBADYCACABQQFqIQEMAQsLIAJBEGokACAAC4EEAQN/IAJBgARPBEAgACABIAIQBRogAA8LIAAgAmohAwJAIAAgAXNBA3FFBEACQCAAQQNxRQRAIAAhAgwBCyACRQRAIAAhAgwBCyAAIQIDQCACIAEtAAA6AAAgAUEBaiEBIAJBAWoiAkEDcUUNASACIANJDQALCwJAIANBfHEiBEHAAEkNACACIARBQGoiBUsNAANAIAIgASgCADYCACACIAEoAgQ2AgQgAiABKAIINgIIIAIgASgCDDYCDCACIAEoAhA2AhAgAiABKAIUNgIUIAIgASgCGDYCGCACIAEoAhw2AhwgAiABKAIgNgIgIAIgASgCJDYCJCACIAEoAig2AiggAiABKAIsNgIsIAIgASgCMDYCMCACIAEoAjQ2AjQgAiABKAI4NgI4IAIgASgCPDYCPCABQUBrIQEgAkFAayICIAVNDQALCyACIARPDQEDQCACIAEoAgA2AgAgAUEEaiEBIAJBBGoiAiAESQ0ACwwBCyADQQRJBEAgACECDAELIAAgA0EEayIESwRAIAAhAgwBCyAAIQIDQCACIAEtAAA6AAAgAiABLQABOgABIAIgAS0AAjoAAiACIAEtAAM6AAMgAUEEaiEBIAJBBGoiAiAETQ0ACwsgAiADSQRAA0AgAiABLQAAOgAAIAFBAWohASACQQFqIgIgA0cNAAsLIAALDwAgACAAKAIAKAIMEQAACwcAIAAQCEULEQAgACABIAEoAgAoAhwRAwALEQAgACABIAEoAgAoAhgRAwALEAAgACABQYCAgIB4cjYCCAsJACAAIAE2AgALBABBAAsQACAAKAIEIAAoAgBrQQJ1CwoAIABBMGtBCkkLEgAgACgCACIABEAgABDMAhoLCxEAIAAgASgCABDMAjYCACAAC0EBAX8gACABNwNwIAAgACgCLCAAKAIEIgJrrDcDeCAAIAFQIAAoAggiACACa6wgAVdyBH8gAAUgAiABp2oLNgJoCxAAIAIEQCAAIAEgAhBFGgsLVQECfyMAQRBrIgIkACAAEDMEQCAAKAIAIQMgABB7GiADEBALIAAgASgCCDYCCCAAIAEpAgA3AgAgAUEAEDsgAkEANgIMIAEgAkEMahA1IAJBEGokAAvyAgICfwF+AkAgAkUNACAAIAE6AAAgACACaiIDQQFrIAE6AAAgAkEDSQ0AIAAgAToAAiAAIAE6AAEgA0EDayABOgAAIANBAmsgAToAACACQQdJDQAgACABOgADIANBBGsgAToAACACQQlJDQAgAEEAIABrQQNxIgRqIgMgAUH/AXFBgYKECGwiATYCACADIAIgBGtBfHEiBGoiAkEEayABNgIAIARBCUkNACADIAE2AgggAyABNgIEIAJBCGsgATYCACACQQxrIAE2AgAgBEEZSQ0AIAMgATYCGCADIAE2AhQgAyABNgIQIAMgATYCDCACQRBrIAE2AgAgAkEUayABNgIAIAJBGGsgATYCACACQRxrIAE2AgAgBCADQQRxQRhyIgRrIgJBIEkNACABrUKBgICAEH4hBSADIARqIQEDQCABIAU3AxggASAFNwMQIAEgBTcDCCABIAU3AwAgAUEgaiEBIAJBIGsiAkEfSw0ACwsgAAu8AQEDfyMAQRBrIgUkACAFIAE2AghBACEBQQYhBgJAAkAgACAFQQhqECcNAEEEIQYgA0GAECAAECAiBxBDRQ0AIAMgBxCBASEBA0ACQCAAECMaIAFBMGshASAAIAVBCGoQMkUgBEECSHINACADQYAQIAAQICIGEENFDQMgBEEBayEEIAMgBhCBASABQQpsaiEBDAELC0ECIQYgACAFQQhqECdFDQELIAIgAigCACAGcjYCAAsgBUEQaiQAIAELvAEBA38jAEEQayIFJAAgBSABNgIIQQAhAUEGIQYCQAJAIAAgBUEIahAkDQBBBCEGIANBgBAgABAcIgcQQkUNACADIAcQggEhAQNAAkAgABAiGiABQTBrIQEgACAFQQhqECxFIARBAkhyDQAgA0GAECAAEBwiBhBCRQ0DIARBAWshBCADIAYQggEgAUEKbGohAQwBCwtBAiEGIAAgBUEIahAkRQ0BCyACIAIoAgAgBnI2AgALIAVBEGokACABCyIBAX8jAEEQayICJAAgACABIAEQnQEQ9QEgAkEQaiQAIAALmgEBA38jAEEQayIEJAAgBCABNgIMIAQgAzYCCCAEIARBDGoQUCEGIAQoAgghAyMAQRBrIgEkACABIAM2AgwgASADNgIIQX8hBQJAQQBBACACIAMQqwEiA0EASA0AIAAgA0EBaiIDEBkiADYCACAARQ0AIAAgAyACIAEoAgwQqwEhBQsgAUEQaiQAIAUhACAGEE8gBEEQaiQAIAALDQAgACgCACABKAIARwugAQEEfyMAQRBrIgckAAJAIABFDQAgBCgCDCEGIAIgAWsiCEEASgRAIAAgASAIEIMBIAhHDQELIAYgAyABayIBa0EAIAEgBkgbIgFBAEoEQCAAIAcgASAFELoCIgUQDSABEIMBIQYgBRAKGiABIAZHDQELIAMgAmsiAUEASgRAIAAgAiABEIMBIAFHDQELIAQQuAIgACEJCyAHQRBqJAAgCQsuAAJAIAAoAgRBygBxIgAEQCAAQcAARgRAQQgPCyAAQQhHDQFBEA8LQQAPC0EKC/kBAgN+An8jAEEQayIFJAACfiABvSIDQv///////////wCDIgJCgICAgICAgAh9Qv/////////v/wBYBEAgAkI8hiEEIAJCBIhCgICAgICAgIA8fAwBCyACQoCAgICAgID4/wBaBEAgA0I8hiEEIANCBIhCgICAgICAwP//AIQMAQsgAlAEQEIADAELIAUgAkIAIAOnZ0EgaiACQiCIp2cgAkKAgICAEFQbIgZBMWoQMCAFKQMAIQQgBSkDCEKAgICAgIDAAIVBjPgAIAZrrUIwhoQLIQIgACAENwMAIAAgAiADQoCAgICAgICAgH+DhDcDCCAFQRBqJAALxAMBA38jAEEgayIIJAAgCCACNgIQIAggATYCGCAIQQhqIgEgAxAPIAEQNyEJIAEQDiAEQQA2AgBBACECAkADQCAGIAdGIAJyDQECQCAIQRhqIAhBEGoQJw0AAkAgCSAGKAIAEIEBQSVGBEAgBkEEaiICIAdGDQJBACEKAn8gCSACKAIAEIEBIgFBxQBGIAFB/wFxQTBGckUEQCAGIQIgAQwBCyAGQQhqIAdGDQMgASEKIAkgBigCCBCBAQshASAIIAAgCCgCGCAIKAIQIAMgBCAFIAEgCiAAKAIAKAIkEQwANgIYIAJBCGohBgwBCyAJQYDAACAGKAIAEEMEQANAAkAgByAGQQRqIgZGBEAgByEGDAELIAlBgMAAIAYoAgAQQw0BCwsDQCAIQRhqIAhBEGoQMkUNAiAJQYDAACAIQRhqECAQQ0UNAiAIQRhqECMaDAALAAsgCSAIQRhqECAQKSAJIAYoAgAQKUYEQCAGQQRqIQYgCEEYahAjGgwBCyAEQQQ2AgALIAQoAgAhAgwBCwsgBEEENgIACyAIQRhqIAhBEGoQJwRAIAQgBCgCAEECcjYCAAsgCCgCGCEAIAhBIGokACAACwcAIAAgAUYLxgMBA38jAEEgayIIJAAgCCACNgIQIAggATYCGCAIQQhqIgEgAxAPIAEQNCEJIAEQDiAEQQA2AgBBACECAkADQCAGIAdGIAJyDQECQCAIQRhqIAhBEGoQJA0AAkAgCSAGLAAAEIIBQSVGBEAgBkEBaiICIAdGDQJBACEKAn8gCSACLAAAEIIBIgFBxQBGIAFB/wFxQTBGckUEQCAGIQIgAQwBCyAGQQJqIAdGDQMgASEKIAkgBiwAAhCCAQshASAIIAAgCCgCGCAIKAIQIAMgBCAFIAEgCiAAKAIAKAIkEQwANgIYIAJBAmohBgwBCyAJQYDAACAGLAAAEEIEQANAAkAgByAGQQFqIgZGBEAgByEGDAELIAlBgMAAIAYsAAAQQg0BCwsDQCAIQRhqIAhBEGoQLEUNAiAJQYDAACAIQRhqEBwQQkUNAiAIQRhqECIaDAALAAsgCSAIQRhqEBwQqQEgCSAGLAAAEKkBRgRAIAZBAWohBiAIQRhqECIaDAELIARBBDYCAAsgBCgCACECDAELCyAEQQQ2AgALIAhBGGogCEEQahAkBEAgBCAEKAIAQQJyNgIACyAIKAIYIQAgCEEgaiQAIAALqgEBBH8jAEEQayIIJAACQCAARQ0AIAQoAgwhBiACIAFrIgdBAEoEQCAAIAEgB0ECdSIHEIMBIAdHDQELIAYgAyABa0ECdSIBa0EAIAEgBkgbIgEEQCAAIAggASAFELkCIgUQDSABEIMBIQYgBRAKGiABIAZHDQELIAMgAmsiAUEASgRAIAAgAiABQQJ1IgEQgwEgAUcNAQsgBBC4AiAAIQkLIAhBEGokACAJCxYAIAAgASACIAMgACgCACgCMBELABoLQgEBfyAAKAIAIQIgARAaIQAgAkEIaiIBEE0gAEsEfyABIAAQdCgCAEEARwVBAAtFBEAQFwALIAJBCGogABB0KAIACzYAIAIEfyACBEADQCAAIAEoAgA2AgAgAEEEaiEAIAFBBGohASACQQFrIgINAAsLQQAFIAALGgsIACAAQf8BcQszAQF/IABBASAAGyEAAkADQCAAEBkiAQ0BQdiWASgCACIBBEAgAREPAAwBCwsQAAALIAELDwAgACAAKAIAKAIkEQAACxEAIAAgASABKAIAKAIgEQMACxEAIAAgASABKAIAKAIsEQMACwwAIABBgoaAIDYAAAsHACAAEBEaCy4BAX8jAEEQayIBJAAgAUEIaiAAEA0gABAIQQJ0ahB3KAIAIQAgAUEQaiQAIAALqgEBAX8CQCADQYAQcUUNACACRSADQcoAcSIEQQhGIARBwABGcnINACAAQSs6AAAgAEEBaiEACyADQYAEcQRAIABBIzoAACAAQQFqIQALA0AgAS0AACIEBEAgACAEOgAAIABBAWohACABQQFqIQEMAQsLIAACf0HvACADQcoAcSIBQcAARg0AGkHYAEH4ACADQYCAAXEbIAFBCEYNABpB5ABB9QAgAhsLOgAACysBAX8jAEEQayIBJAAgAUEIaiAAEA0gABAIahB3KAIAIQAgAUEQaiQAIAALFgAgACABIAIgAyAAKAIAKAIgEQsAGgsEACAACxAAIABBIEYgAEEJa0EFSXILEwAgABCYASgCACAAKAIAa0ECdQsHACAAQRBqC1IBAn9B0IABKAIAIgEgAEEDakF8cSICaiEAAkAgAkEAIAAgAU0bDQAgAD8AQRB0SwRAIAAQBEUNAQtB0IABIAA2AgAgAQ8LQZCBAUEwNgIAQX8LDQAgACgCACABQQJ0agsWACAAEDMEQCAAIAEQOg8LIAAgARA7CywAAkAgACABRg0AA0AgACABQQFrIgFPDQEgACABEK4CIABBAWohAAwACwALCwsAIAAgATYCACAAC9sBAgF/An5BASEEAkAgAEIAUiABQv///////////wCDIgVCgICAgICAwP//AFYgBUKAgICAgIDA//8AURsNACACQgBSIANC////////////AIMiBkKAgICAgIDA//8AViAGQoCAgICAgMD//wBRGw0AIAAgAoQgBSAGhIRQBEBBAA8LIAEgA4NCAFkEQEF/IQQgACACVCABIANTIAEgA1EbDQEgACAChSABIAOFhEIAUg8LQX8hBCAAIAJWIAEgA1UgASADURsNACAAIAKFIAEgA4WEQgBSIQQLIAQLUAEBfgJAIANBwABxBEAgAiADQUBqrYghAUIAIQIMAQsgA0UNACACQcAAIANrrYYgASADrSIEiIQhASACIASIIQILIAAgATcDACAAIAI3AwgLQwEBfyAAQYgmKAIAIgE2AgAgACABQQxrKAIAakGoJigCADYCACAAQawmKAIANgIIIABBDGoQ1wEaIABBQGsQfhogAAsOACAAKAIIQf////8HcQsJACAAIAEQ/AELJAAgAEECTwR/IABBBGpBfHEiACAAQQFrIgAgAEECRhsFQQELCwoAIAAQ2wEaIAALkwEBBX8jAEEQayIFJAAgARDPAiECIwBBEGsiAyQAAkAgAkHv////A00EQAJAIAJBAU0EQCAAIAIQOyAAIQQMAQsgACAAIAIQfUEBaiIGEHwiBBBLIAAgBhBKIAAgAhA6CyAEIAEgAhBjIANBADYCDCAEIAJBAnRqIANBDGoQNSADQRBqJAAMAQsQFwALIAVBEGokAAvEAQEGfyMAQRBrIgQkACAAEI4BKAIAIQUCfyACKAIAIAAoAgBrIgNB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BEEEaiEEIAENAQwCCwsgAkEBaiEJCyAJC9cDAgJ+An8jAEEgayIEJAACQCABQv///////////wCDIgNCgICAgICAwIA8fSADQoCAgICAgMD/wwB9VARAIAFCBIYgAEI8iIQhAyAAQv//////////D4MiAEKBgICAgICAgAhaBEAgA0KBgICAgICAgMAAfCECDAILIANCgICAgICAgIBAfSECIABCgICAgICAgIAIhUIAUg0BIAIgA0IBg3whAgwBCyAAUCADQoCAgICAgMD//wBUIANCgICAgICAwP//AFEbRQRAIAFCBIYgAEI8iIRC/////////wODQoCAgICAgID8/wCEIQIMAQtCgICAgICAgPj/ACECIANC////////v//DAFYNAEIAIQIgA0IwiKciBUGR9wBJDQAgBEEQaiAAIAFC////////P4NCgICAgICAwACEIgIgBUGB9wBrEDAgBCAAIAJBgfgAIAVrEHkgBCkDCEIEhiAEKQMAIgBCPIiEIQIgBCkDECAEKQMYhEIAUq0gAEL//////////w+DhCIAQoGAgICAgICACFoEQCACQgF8IQIMAQsgAEKAgICAgICAgAiFQgBSDQAgAkIBgyACfCECCyAEQSBqJAAgAiABQoCAgICAgICAgH+DhL8LGgAgAEGQITYCACAAQSBqEAoaIAAQvgEaIAALRAEBfyMAQRBrIgUkACAFIAEgAiADIARCgICAgICAgICAf4UQPCAFKQMAIQEgACAFKQMINwMIIAAgATcDACAFQRBqJAALqQEBAXxEAAAAAAAA8D8hAQJAIABBgAhOBEBEAAAAAAAA4H8hASAAQf8PSQRAIABB/wdrIQAMAgtEAAAAAAAA8H8hASAAQf0XIABB/RdJG0H+D2shAAwBCyAAQYF4Sg0ARAAAAAAAAGADIQEgAEG4cEsEQCAAQckHaiEADAELRAAAAAAAAAAAIQEgAEHwaCAAQfBoSxtBkg9qIQALIAEgAEH/B2qtQjSGv6ILxAECAX8CfkF/IQMCQCAAQgBSIAFC////////////AIMiBEKAgICAgIDA//8AViAEQoCAgICAgMD//wBRGw0AQQAgAkL///////////8AgyIFQoCAgICAgMD//wBWIAVCgICAgICAwP//AFEbDQAgACAEIAWEhFAEQEEADwsgASACg0IAWQRA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IA8EfyAGQTAQKQVBAAshEgNAIAIgAigCACIQQQFqNgIAIA9BAEoEQCAQIBI6AAAgD0EBayEPDAELCyAQIAk6AAALAkAgBCARRgRAIAZBMBApIQ8gAiACKAIAIhBBAWo2AgAgECAPOgAADAELIAsQRwR/QX8FIAtBABALLAAACyEQQQAhD0EAIRMDQCAEIBFGDQECQCAPIBBHBEAgDyESDAELIAIgAigCACIQQQFqNgIAIBAgCjoAAEEAIRIgCxAIIBNBAWoiE00EQCAPIRAMAQsgCyATEAstAABB/wBGBEBBfyEQDAELIAsgExALLAAAIRALIBFBAWsiES0AACEPIAIgAigCACIYQQFqNgIAIBggDzoAACASQQFqIQ8MAAsACyAXIAIoAgAQdgsgFUEBaiEVDAALAAulAgEBfyMAQRBrIgokACAJAn8gAARAIAIQpgIhAAJAIAEEQCAKIAAQaCADIAooAgA2AAAgCiAAEGcMAQsgCiAAEJwBIAMgCigCADYAACAKIAAQSAsgCCAKEDEgChAKGiAEIAAQRjoAACAFIAAQOToAACAKIAAQOCAGIAoQMSAKEAoaIAogABBJIAcgChAxIAoQChogABBmDAELIAIQpQIhAAJAIAEEQCAKIAAQaCADIAooAgA2AAAgCiAAEGcMAQsgCiAAEJwBIAMgCigCADYAACAKIAAQSAsgCCAKEDEgChAKGiAEIAAQRjoAACAFIAAQOToAACAKIAAQOCAGIAoQMSAKEAoaIAogABBJIAcgChAxIAoQChogABBmCzYCACAKQRBqJAALCAAgACgCAEULNwEBfyMAQRBrIgIkACACIAAoAgA2AgggAiACKAIIIAFBAnRqNgIIIAIoAgghACACQRBqJAAgAAsKACAAQdSHARBiCwoAIABB3IcBEGILCQAgACABEKwCCx8BAX8gASgCABDiASECIAAgASgCADYCBCAAIAI2AgAL8Q8BCn8jAEGwBGsiCyQAIAsgCjYCpAQgCyABNgKoBCALQTY2AmAgCyALQYgBaiALQZABaiALQeAAaiIBEB8iDygCACIKNgKEASALIApBkANqNgKAASABEBEhESALQdAAahBEIQ4gC0FAaxBEIQwgC0EwahBEIQ0gC0EgahBEIRAjAEEQayIBJAAgCwJ/IAIEQCABIAMQnwIiAhBoIAsgASgCADYA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cjYCAAwBC0EBIQALIBAQChogDRAKGiAMEAoaIA4QChogERAKGiAPEB4gC0GwBGokACAADwsgCiECCyABQQFqIQEMAAsACx8AIAAgARCeARAoIAEQjgEoAgAhASAAEI4BIAE2AgALNAEBfyMAQRBrIgIkACACIAAoAgA2AgggAiACKAIIIAFqNgIIIAIoAgghACACQRBqJAAgAAsKACAAQcSHARBiCwoAIABBzIcBEGILwQEBBn8jAEEQayIEJAAgABCOASgCACEFAn8gAigCACAAKAIAayIDQf////8HSQRAIANBAXQMAQtBfwsiA0EBIAMbIQMgASgCACEGIAAoAgAhByAFQTZGBH9BAAUgACgCAAsgAxCZASIIBEAgBUE2RwRAIAAQngEaCyAEQTU2AgQgACAEQQhqIAggBEEEahAfIgUQowIgBRAeIAEgACgCACAGIAdrajYCACACIAMgACgCAGo2AgAgBEEQaiQADwsQFwALJQEBfyABKAIAEOYBQRh0QRh1IQIgACABKAIANgIEIAAgAjoAAAufEAEKfyMAQbAEayILJAAgCyAKNgKkBCALIAE2AqgEIAtBNjYCaCALIAtBiAFqIAtBkAFqIAtB6ABqIgEQHyIPKAIAIgo2AoQBIAsgCkGQA2o2AoABIAEQESERIAtB2ABqEBEhDiALQcgAahARIQwgC0E4ahARIQ0gC0EoahARIRAjAEEQayIBJAAgCwJ/IAIEQCABIAMQpgIiAhBoIAsgASgCADYAeCABIAIQZyANIAEQMSABEAoaIAEgAhBIIAwgARAxIAEQChogCyACEEY6AHcgCyACEDk6AHYgASACEDggESABEDEgARAKGiABIAIQSSAOIAEQMSABEAoaIAIQZgwBCyABIAMQpQIiAhBoIAsgASgCADYAeCABIAIQZyANIAEQMSABEAoaIAEgAhBIIAwgARAxIAEQChogCyACEEY6AHcgCyACEDk6AHYgASACEDggESABEDEgARAKGiABIAIQSSAOIAEQMSABEAoaIAIQZgs2AiQgAUEQaiQAIAkgCCgCADYCACAEQYAEcSISQQl2IRNBACEBQQAhAgNAIAIhCgJAAkACQAJAIAFBBEYNACAAIAtBqARqECxFDQBBACEEAkACQAJAAkACQAJAIAtB+ABqIAFqLAAADgUBAAQDBQkLIAFBA0YN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/AdxciAFQQh2QYD+A3EgBUEYdnJyNgAIIAMgCCgCDCACQf8BcUGAGGotAAAgB0EQdkH/AXFBgBhqLQAAQRB0IAZBGHZBgBhqLQAAQRh0ciAEQQh2Qf8BcUGAGGotAABBCHRycnMiAkEYdCACQQh0QYCA/AdxciACQQh2QYD+A3EgAkEYdnJyNgAMQQAhAgNAIAIgA2oiBCAELQAAIBJBEGogAmotAABzOgAAIAJBAWoiAkEQRw0ACyASIBIpAwg3AxggEiASKQMANwMQIANBEGohAyABQQFqIgEgEEcNAAsLIAAQEEEABUF/CxogEkEgaiQACyMBAn8gACEBA0AgASICQQRqIQEgAigCAA0ACyACIABrQQJ1Cw4AIAAQ2QIEQCAAEBALCywBAX8jAEEQayICJAAgAiABNgIMIABB5ABB5xwgARCrASEAIAJBEGokACAACykBAX8jAEEQayICJAAgAiABNgIMIABB7RwgARDbAiEAIAJBEGokACAACxYAIAAQTkEARyAAQSByQeEAa0EGSXILvAIAAkACQAJAAkACQAJAAkACQAJAAkACQCABQQlrDhIACAkKCAkBAgMECgkKCggJBQYHCyACIAIoAgAiAUEEajYCACAAIAEoAgA2AgAPCyACIAIoAgAiAUEEajYCACAAIAEyAQA3AwAPCyACIAIoAgAiAUEEajYCACAAIAEzAQA3AwAPCyACIAIoAgAiAUEEajYCACAAIAEwAAA3AwAPCyACIAIoAgAiAUEEajYCACAAIAExAAA3AwAPCyACIAIoAgBBB2pBeHEiAUEIajYCACAAIAErAwA5AwAPCyAAIAJBMxEDAAsPCyACIAIoAgAiAUEEajYCACAAIAE0AgA3AwAPCyACIAIoAgAiAUEEajYCACAAIAE1AgA3AwAPCyACIAIoAgBBB2pBeHEiAUEIajYCACAAIAEpAwA3AwALawEEfyAAKAIALAAAEE5FBEBBAA8LA0AgACgCACEDQX8hASACQcyZs+YATQRAQX8gAywAAEEwayIEIAJBCmwiAWogBEH/////ByABa0obIQELIAAgA0EBajYCACABIQIgAywAARBODQALIAEL8hICEX8BfiMAQdAAayIFJAAgBSABNgJMIAVBN2ohFCAFQThqIRBBACEBAkACQAJAAkADQCABQf////8HIAtrSg0BIAEg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IAEgASgCBEEBazYCBAsgBQ0ACwwCC0GQgQFBHDYCACABQgAQUQtCACEUCyAAIBU3AwAgACAUNwMIIAxBMGokAAvNBgIEfwN+IwBBgAFrIgUkAAJAAkACQCADIARCAEIAEHhFDQACfyAEQv///////z+DIQkCfyAEQjCIp0H//wFxIgZB//8BRwRAQQQgBg0BGkECQQMgAyAJhFAbDAILIAMgCYRQCwshByACQjCIpyIIQf//AXEiBkH//wFGDQAgBw0BCyAFQRBqIAEgAiADIAQQGCAFIAUpAxAiASAFKQMYIgIgASACEOICIAUpAwghAiAFKQMAIQQMAQsgASACQv///////z+DIAatQjCGhCIKIAMgBEL///////8/gyAEQjCIp0H//wFxIgetQjCGhCIJEHhBAEwEQCABIAogAyAJEHgEQCABIQQMAgsgBUHwAGogASACQgBCABAYIAUpA3ghAiAFKQNwIQQMAQsgBgR+IAEFIAVB4ABqIAEgCkIAQoCAgICAgMC7wAAQGCAFKQNoIgpCMIinQfgAayEGIAUpA2ALIQQgB0UEQCAFQdAAaiADIAlCAEKAgICAgIDAu8AAEBggBSkDWCIJQjCIp0H4AGshByAFKQNQIQMLIAlC////////P4NCgICAgICAwACEIQkgCkL///////8/g0KAgICAgIDAAIQhCiAGIAdKBEADQAJ+IAogCX0gAyAEVq19IgtCAFkEQCALIAQgA30iBIRQBEAgBUEgaiABIAJCAEIAEBggBSkDKCECIAUpAyAhBAwFCyALQgGGIARCP4iEDAELIApCAYYgBEI/iIQLIQogBEIBhiEEIAZBAWsiBiAHSg0ACyAHIQYLAkAgCiAJfSADIARWrX0iCUIAUwRAIAohCQwBCyAJIAQgA30iBIRCAFINACAFQTBqIAEgAkIAQgAQGCAFKQM4IQIgBSkDMCEEDAELIAlC////////P1gEQANAIARCP4ghASAGQQFrIQYgBEIBhiEEIAEgCUIBhoQiCUKAgICAgIDAAFQNAAsLIAhBgIACcSEHIAZBAEwEQCAFQUBrIAQgCUL///////8/gyAGQfgAaiAHcq1CMIaEQgBCgICAgICAwMM/EBggBSkDSCECIAUpA0AhBAwBCyAJQv///////z+DIAYgB3KtQjCGhCECCyAAIAQ3AwAgACACNwMIIAVBgAFqJAALoQ8CBX8OfiMAQdACayIFJAAgBEL///////8/gyEKIAJC////////P4MhDCACIASFQoCAgICAgICAgH+DIQ0gBEIwiKdB//8BcSEIAkACQCACQjCIp0H//wFxIglB//8Ba0GCgH5PBEAgCEH//wFrQYGAfksNAQsgAVAgAkL///////////8AgyIPQoCAgICAgMD//wBUIA9CgICAgICAwP//AFEbRQRAIAJCgICAgICAIIQhDQwCCyADUCAEQv///////////wCDIgJCgICAgICAwP//AFQgAkKAgICAgIDA//8AURtFBEAgBEKAgICAgIAghCENIAMhAQwCCyABIA9CgICAgICAwP//AIWEUARAIAMgAkKAgICAgIDA//8AhYRQBEBCACEBQoCAgICAgOD//wAhDQwDCyANQoCAgICAgMD//wCEIQ1CACEBDAILIAMgAkKAgICAgIDA//8AhYRQBEBCACEBDAILIAEgD4RQBEBCgICAgICA4P//ACANIAIgA4RQGyENQgAhAQwCCyACIAOEUARAIA1CgICAgICAwP//AIQhDUIAIQEMAgsgD0L///////8/WARAIAVBwAJqIAEgDCABIAwgDFAiBht5IAZBBnStfKciBkEPaxAwQRAgBmshBiAFKQPIAiEMIAUpA8ACIQELIAJC////////P1YNACAFQbACaiADIAogAyAKIApQIgcbeSAHQQZ0rXynIgdBD2sQMCAGIAdqQRBrIQYgBSkDuAIhCiAFKQOwAiEDCyAFQaACaiAKQoCAgICAgMAAhCISQg+GIANCMYiEIgJCAEKAgICAsOa8gvUAIAJ9IgRCABArIAVBkAJqQgAgBSkDqAJ9QgAgBEIAECsgBUGAAmogBSkDmAJCAYYgBSkDkAJCP4iEIgRCACACQgAQKyAFQfABaiAEQgBCACAFKQOIAn1CABArIAVB4AFqIAUpA/gBQgGGIAUpA/ABQj+IhCIEQgAgAkIAECsgBUHQAWogBEIAQgAgBSkD6AF9QgAQKyAFQcABaiAFKQPYAUIBhiAFKQPQAUI/iIQiBEIAIAJCABArIAVBsAFqIARCAEIAIAUpA8gBfUIAECsgBUGgAWogAkIAIAUpA7gBQgGGIAUpA7ABQj+IhEIBfSICQgAQKyAFQZABaiADQg+GQgAgAkIAECsg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tAFqIAAoAtwBIAAoAtgBIABByAFqIABBEGogAEEMaiAAQQhqIABB4AFqEMsBDQAgAEHoAmoQIxoMAQsLAkAgAEHIAWoQCEUNACAALQAHRQ0AIAAoAgwiAyAAQRBqa0GfAUoNACAAIANBBGo2AgwgAyAAKAIINgIACyAFIAIgACgCtAEgBBC/AjkDACAAQcgBaiAAQRBqIAAoAgwgBBAuIABB6AJqIABB4AJqECcEQCAEIAQoAgBBAnI2AgALIAAoAugCIQIgARAKGiAAQcgBahAKGiAAQfACaiQAIAILuwMAIwBB8AJrIgAkACAAIAI2AuACIAAgATYC6AIgAEHIAWogAyAAQeABaiAAQdwBaiAAQdgBahDMASAAQbgBahARIgEgARATEAwgACABQQAQCyICNgK0ASAAIABBEGo2AgwgAEEANgIIIABBAToAByAAQcUAOgAGA0ACQCAAQegCaiAAQeACahAyRQ0AIAAoArQBIAEQCCACakYEQCABEAghAyABIAEQCEEBdBAMIAEgARATEAwgACADIAFBABALIgJqNgK0AQsgAEHoAmoQICAAQQdqIABBBmogAiAAQbQBaiAAKALcASAAKALYASAAQcgBaiAAQRBqIABBDGogAEEIaiAAQeABahDLAQ0AIABB6AJqECMaDAELCwJAIABByAFqEAhFDQAgAC0AB0UNACAAKAIMIgMgAEEQamtBnwFKDQAgACADQQRqNgIMIAMgACgCCDYCAAsgBSACIAAoArQBIAQQwAI4AgAgAEHIAWogAEEQaiAAKAIMIAQQLiAAQegCaiAAQeACahAnBEAgBCAEKAIAQQJyNgIACyAAKALoAiECIAEQChogAEHIAWoQChogAEHwAmokACACC50DAQJ/IwBB4AJrIgAkACAAIAI2AtACIAAgATYC2AIgAxBbIQYgAyAAQeABahCRASEHIABB0AFqIAMgAEHMAmoQkAEgAEHAAWoQESIBIAEQExAMIAAgAUEAEAsiAjYCvAEgACAAQRBqNgIMIABBADYCCANAAkAgAEHYAmogAEHQAmoQMkUNACAAKAK8ASABEAggAmpGBEAgARAIIQMgASABEAhBAXQQDCABIAEQExAMIAAgAyABQQAQCyICajYCvAELIABB2AJqECAgBiACIABBvAFqIABBCGogACgCzAIgAEHQAWogAEEQaiAAQQxqIAcQhQENACAAQdgCahAjGgwBCwsCQCAAQdABahAIRQ0AIAAoAgwiAyAAQRBqa0GfAUoNACAAIANBBGo2AgwgAyAAKAIINgIACyAFIAIgACgCvAEgBCAGEMECNwMAIABB0AFqIABBEGogACgCDCAEEC4gAEHYAmogAEHQAmoQJwRAIAQgBCgCAEECcjYCAAsgACgC2AIhAiABEAoaIABB0AFqEAoaIABB4AJqJAAgAgudAwECfyMAQeACayIAJAAgACACNgLQAiAAIAE2AtgCIAMQWyEGIAMgAEHgAWoQkQEhByAAQdABaiADIABBzAJqEJABIABBwAFqEBEiASABEBMQDCAAIAFBABALIgI2ArwBIAAgAEEQajYCDCAAQQA2AggDQAJAIABB2AJqIABB0AJqEDJFDQAgACgCvAEgARAIIAJqRgRAIAEQCCEDIAEgARAIQQF0EAwgASABEBMQDCAAIAMgAUEAEAsiAmo2ArwBCyAAQdgCahAgIAYgAiAAQbwBaiAAQQhqIAAoAswCIABB0AFqIABBEGogAEEMaiAHEIUBDQAgAEHYAmoQIxoMAQsLAkAgAEHQAWoQCEUNACAAKAIMIgMgAEEQamtBnwFKDQAgACADQQRqNgIMIAMgACgCCDYCAAsgBSACIAAoArwBIAQgBhDEAjsBACAAQdABaiAAQRBqIAAoAgwgBBAuIABB2AJqIABB0AJqECcEQCAEIAQoAgBBAnI2AgALIAAoAtgCIQIgARAKGiAAQdABahAKGiAAQeACaiQAIAILnQMBAn8jAEHgAmsiACQAIAAgAjYC0AIgACABNgLYAiADEFshBiADIABB4AFqEJEBIQcgAEHQAWogAyAAQcwCahCQASAAQcABahARIgEgARATEAwgACABQQAQCyICNgK8ASAAIABBEGo2AgwgAEEANgIIA0ACQCAAQdgCaiAAQdACahAyRQ0AIAAoArwBIAEQCCACakYEQCABEAghAyABIAEQCEEBdBAMIAEgARATEAwgACADIAFBABALIgJqNgK8AQsgAEHYAmoQICAGIAIgAEG8AWogAEEIaiAAKALMAiAAQdABaiAAQRBqIABBDGogBxCFAQ0AIABB2AJqECMaDAELCwJAIABB0AFqEAhFDQAgACgCDCIDIABBEGprQZ8BSg0AIAAgA0EEajYCDCADIAAoAgg2AgALIAUgAiAAKAK8ASAEIAYQxQI3AwAgAEHQAWogAEEQaiAAKAIMIAQQLiAAQdgCaiAAQdACahAnBEAgBCAEKAIAQQJyNgIACyAAKALYAiECIAEQChogAEHQAWoQChogAEHgAmokACACC50DAQJ/IwBB4AJrIgAkACAAIAI2AtACIAAgATYC2AIgAxBbIQYgAyAAQeABahCRASEHIABB0AFqIAMgAEHMAmoQkAEgAEHAAWoQESIBIAEQExAMIAAgAUEAEAsiAjYCvAEgACAAQRBqNgIMIABBADYCCANAAkAgAEHYAmogAEHQAmoQMkUNACAAKAK8ASABEAggAmpGBEAgARAIIQMgASABEAhBAXQQDCABIAEQExAMIAAgAyABQQAQCyICajYCvAELIABB2AJqECAgBiACIABBvAFqIABBCGogACgCzAIgAEHQAWogAEEQaiAAQQxqIAcQhQENACAAQdgCahAjGgwBCwsCQCAAQdABahAIRQ0AIAAoAgwiAyAAQRBqa0GfAUoNACAAIANBBGo2AgwgAyAAKAIINgIACyAFIAIgACgCvAEgBCAGEMYCNgIAIABB0AFqIABBEGogACgCDCAEEC4gAEHYAmogAEHQAmoQJwRAIAQgBCgCAEECcjYCAAsgACgC2AIhAiABEAoaIABB0AFqEAoaIABB4AJqJAAgAgvsAQEBfyMAQSBrIgYkACAGIAE2AhgCQCADKAIEQQFxRQRAIAZBfzYCACAGIAAgASACIAMgBCAGIAAoAgAoAhARBQAiATYCGAJAAkACQCAGKAIADgIAAQILIAVBADoAAAwDCyAFQQE6AAAMAgsgBUEBOgAAIARBBDYCAAwBCyAGIAMQDyAGEDchASAGEA4gBiADEA8gBhCGASEAIAYQDiAGIAAQSSAGQQxyIAAQSCAFIAZBGGoiAyACIAYgAyABIARBARCoASAGRjoAACAGKAIYIQEDQCADQQxrEAoiAyAGRw0ACwsgBkEgaiQAIAEL8gIBAX8jAEGQAmsiACQAIAAgAjYCgAIgACABNgKIAiAAQdABahARIQYgAEEQaiICIAMQDyACEDRBwNAAQdrQACAAQeABahBuIAIQDiAAQcABahARIgMgAxATEAwgACADQQAQCyIBNgK8ASAAIAI2AgwgAEEANgIIA0ACQCAAQYgCaiAAQYACahAsRQ0AIAAoArwBIAMQCCABakYEQCADEAghAiADIAMQCEEBdBAMIAMgAxATEAwgACACIANBABALIgFqNgK8AQsgAEGIAmoQHEEQIAEgAEG8AWogAEEIakEAIAYgAEEQaiAAQQxqIABB4AFqEIcBDQAgAEGIAmoQIhoMAQsLIAMgACgCvAEgAWsQDCADEA0hAhAWIQEgACAFNgIAIAIgASAAEL0CQQFHBEAgBEEENgIACyAAQYgCaiAAQYACahAkBEAgBCAEKAIAQQJyNgIACyAAKAKIAiEBIAMQChogBhAKGiAAQZACaiQAIAEL0gMBAX4jAEGgAmsiACQAIAAgAjYCkAIgACABNgKYAiAAQeABaiADIABB8AFqIABB7wFqIABB7gFqENABIABB0AFqEBEiASABEBMQDCAAIAFBABALIgI2AswBIAAgAEEgajYCHCAAQQA2AhggAEEBOgAXIABBxQA6ABYDQAJAIABBmAJqIABBkAJqECxFDQAgACgCzAEgARAIIAJqRgRAIAEQCCEDIAEgARAIQQF0EAwgASABEBMQDCAAIAMgAUEAEAsiAmo2AswBCyAAQZgCahAcIABBF2ogAEEWaiACIABBzAFqIAAsAO8BIAAsAO4BIABB4AFqIABBIGogAEEcaiAAQRhqIABB8AFqEM8BDQAgAEGYAmoQIhoMAQsLAkAgAEHgAWoQCEUNACAALQAXRQ0AIAAoAhwiAyAAQSBqa0GfAUoNACAAIANBBGo2AhwgAyAAKAIYNgIACyAAIAIgACgCzAEgBBC+AiAAKQMAIQYgBSAAKQMINwMIIAUgBjcDACAAQeABaiAAQSBqIAAoAhwgBBAuIABBmAJqIABBkAJqECQEQCAEIAQoAgBBAnI2AgALIAAoApgCIQIgARAKGiAAQeABahAKGiAAQaACaiQAIAILuwMAIwBBkAJrIgAkACAAIAI2AoACIAAgATYCiAIgAEHQAWogAyAAQeABaiAAQd8BaiAAQd4BahDQASAAQcABahARIgEgARATEAwgACABQQAQCyICNgK8ASAAIABBEGo2AgwgAEEANgIIIABBAToAByAAQcUAOgAGA0ACQCAAQYgCaiAAQYACahAsRQ0AIAAoArwBIAEQCCACakYEQCABEAghAyABIAEQCEEBdBAMIAEgARATEAwgACADIAFBABALIgJqNgK8AQsgAEGIAmoQHCAAQQdqIABBBmogAiAAQbwBaiAALADfASAALADeASAAQdABaiAAQRBqIABBDGogAEEIaiAAQeABahDPAQ0AIABBiAJqECIaDAELCwJAIABB0AFqEAhFDQAgAC0AB0UNACAAKAIMIgMgAEEQamtBnwFKDQAgACADQQRqNgIMIAMgACgCCDYCAAsgBSACIAAoArwBIAQQvwI5AwAgAEHQAWogAEEQaiAAKAIMIAQQLiAAQYgCaiAAQYACahAkBEAgBCAEKAIAQQJyNgIACyAAKAKIAiECIAEQChogAEHQAWoQChogAEGQAmokACACC7sDACMAQZACayIAJAAgACACNgKAAiAAIAE2AogCIABB0AFqIAMgAEHgAWogAEHfAWogAEHeAWoQ0AEgAEHAAWoQESIBIAEQExAMIAAgAUEAEAsiAjYCvAEgACAAQRBqNgIMIABBADYCCCAAQQE6AAcgAEHFADoABgNAAkAgAEGIAmogAEGAAmoQLEUNACAAKAK8ASABEAggAmpGBEAgARAIIQMgASABEAhBAXQQDCABIAEQExAMIAAgAyABQQAQCyICajYCvAELIABBiAJqEBwgAEEHaiAAQQZqIAIgAEG8AWogACwA3wEgACwA3gEgAEHQAWogAEEQaiAAQQxqIABBCGogAEHgAWoQzwENACAAQYgCahAiGgwBCwsCQCAAQdABahAIRQ0AIAAtAAdFDQAgACgCDCIDIABBEGprQZ8BSg0AIAAgA0EEajYCDCADIAAoAgg2AgALIAUgAiAAKAK8ASAEEMACOAIAIABB0AFqIABBEGogACgCDCAEEC4gAEGIAmogAEGAAmoQJARAIAQgBCgCAEECcjYCAAsgACgCiAIhAiABEAoaIABB0AFqEAoaIABBkAJqJAAgAguSAwEBfyMAQZACayIAJAAgACACNgKAAiAAIAE2AogCIAMQWyEGIABB0AFqIAMgAEH/AWoQkgEgAEHAAWoQESIBIAEQExAMIAAgAUEAEAsiAjYCvAEgACAAQRBqNgIMIABBADYCCANAAkAgAEGIAmogAEGAAmoQLEUNACAAKAK8ASABEAggAmpGBEAgARAIIQMgASABEAhBAXQQDCABIAEQExAMIAAgAyABQQAQCyICajYCvAELIABBiAJqEBwgBiACIABBvAFqIABBCGog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SWNOU18xMWNoYXJfdHJhaXRzSWNFRUVFAABUPwAAlBEAAAAAAAABAAAABBEAAAP0//8MAAAAAAAAAHwRAAASAAAAEwAAAPT////0////fBEAABQAAAAVAAAABAAAAAAAAADEEQAAFgAAABcAAAD8/////P///8QRAAAYAAAAGQAAAE5TdDNfXzIxNGJhc2ljX2lvc3RyZWFtSWNOU18xMWNoYXJfdHJhaXRzSWNFRUVFAFQ/AAAsEgAAAwAAAAIAAAB8EQAAAgAAAMQRAAACCAAATlN0M19fMjE1YmFzaWNfc3RyaW5nYnVmSWNOU18xMWNoYXJfdHJhaXRzSWNFRU5TXzlhbGxvY2F0b3JJY0VFRUUAAAD4PgAAfBIAAEQRAABAAAAAAAAAAAQUAAApAAAAKgAAADgAAAD4////BBQAACsAAAAsAAAAwP///8D///8EFAAALQAAAC4AAADYEgAAPBMAAHgTAACMEwAAoBMAALQTAABkEwAAUBMAAAATAADsEgAAQAAAAAAAAABcEgAAGgAAABsAAAA4AAAA+P///1wSAAAcAAAAHQAAAMD////A////XBIAAB4AAAAfAAAAQAAAAAAAAAB8EQAAEgAAABMAAADA////wP///3wRAAAUAAAAFQAAADgAAAAAAAAAxBEAABYAAAAXAAAAyP///8j////EEQAAGAAAABkAAABOU3QzX18yMThiYXNpY19zdHJpbmdzdHJlYW1JY05TXzExY2hhcl90cmFpdHNJY0VFTlNfOWFsbG9jYXRvckljRUVFRQAAAAD4PgAAvBMAAFwSAAAAAAAANBQAAC8AAAAwAAAATlN0M19fMjhpb3NfYmFzZUUAAADQPgAAIBQAAAAAAADRdJ4AV529KoBwUg///z4nCgAAAGQAAADoAwAAECcAAKCGAQBAQg8AgJaYAADh9QUYAAAANQAAAHEAAABr////zvv//5K///8AAAAAAAAAAP////////////////////////////////////////////////////////////////8AAQIDBAUGBwgJ/////////woLDA0ODxAREhMUFRYXGBkaGxwdHh8gISIj////////CgsMDQ4PEBESExQVFhcYGRobHB0eHyAhIiP/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAECBAcDBgUAAAAAAAAAAgAAwAMAAMAEAADABQAAwAYAAMAHAADACAAAwAkAAMAKAADACwAAwAwAAMANAADADgAAwA8AAMAQAADAEQAAwBIAAMATAADAFAAAwBUAAMAWAADAFwAAwBgAAMAZAADAGgAAwBsAAMAcAADAHQAAwB4AAMAfAADAAAAAswEAAMMCAADDAwAAwwQAAMMFAADDBgAAwwcAAMMIAADDCQAAwwoAAMMLAADDDAAAww0AANMOAADDDwAAwwAADLsBAAzDAgAMwwMADMMEAAzbAAAAAN4SBJUAAAAA////////////////cBYAABQAAABDLlVURi04AEHALQsChBYAQeAtC0dMQ19DVFlQRQAAAABMQ19OVU1FUklDAABMQ19USU1FAAAAAABMQ19DT0xMQVRFAABMQ19NT05FVEFSWQBMQ19NRVNTQUdFUwBBsC4LQRkACgAZGRkAAAAABQAAAAAAAAkAAAAACwAAAAAAAAAAGQARChkZGQMKBwABAAkLGAAACQYLAAALAAYZAAAAGRkZAEGBLwshDgAAAAAAAAAAGQAKDRkZGQANAAACAAkOAAAACQAOAAAOAEG7LwsBDABBxy8LFRMAAAAAEwAAAAAJDAAAAAAADAAADABB9S8LARAAQYEwCxUPAAAABA8AAAAACRAAAAAAABAAABAAQa8wCwESAEG7MAseEQAAAAARAAAAAAkSAAAAAAASAAASAAAaAAAAGhoaAEHyMAsOGgAAABoaGgAAAAAAAAkAQaMxCwEUAEGvMQsVFwAAAAAXAAAAAAkUAAAAAAAUAAAUAEHdMQsBFgBB6TELKRUAAAAAFQAAAAAJFgAAAAAAFgAAFgAAMDEyMzQ1Njc4OUFCQ0RFRiAaAEGgNAv/AQIAAgACAAIAAgACAAIAAgACAAMgAiACIAIgAiACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgABYATABMAEwATABMAEwATABMAEwATABMAEwATABMAEwAjYCNgI2AjYCNgI2AjYCNgI2AjYBMAEwATA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").then((e=>e.arrayBuffer())).then((t=>WebAssembly.instantiate(t,e))).then((function(e){return n(e.instance)})).catch(t)}}).then((t=>{this._module=t,e()})).catch(t)})))}async descryptKey(e){var t,n,o,r;let i=0;await this._initPromise;try{if(!this._module)return;const o=function(e){const t=new Uint8Array(e.length);for(let n=0;n{"use strict";n.r(t),n.d(t,{default:()=>M,sniffer:()=>s});var o=Object.defineProperty,r=(e,t,n)=>((e,t,n)=>t in e?o(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n)(e,"symbol"!=typeof t?t+"":t,n);let i={get device(){return i.os.isPc?"pc":"mobile"},get browser(){const{type:e,versions:t}=function(){var e=navigator.userAgent.toLowerCase(),t={},n={IE:window.ActiveXObject||"ActiveXObject"in window,Chrome:e.indexOf("chrome")>-1&&e.indexOf("safari")>-1,Firefox:e.indexOf("firefox")>-1,Opera:e.indexOf("opera")>-1,Safari:e.indexOf("safari")>-1&&-1==e.indexOf("chrome"),Edge:e.indexOf("edge")>-1,QQBrowser:/qqbrowser/.test(e),WeChBrowser:/MicroMessenger/i.test(e)};for(var o in n)if(n[o]){var r="";if("IE"===o)r=e.match(/(msie\s|trident.*rv:)([\w.]+)/)[2];else if("Chrome"===o){const t=e.match(/chrome\/([\d.]+)/);r=t?t[1]:"-1"}else if("Firefox"===o){const t=e.match(/firefox\/([\d.]+)/);r=t?t[1]:"-1"}else if("Opera"===o){const t=e.match(/opera\/([\d.]+)/);r=t?t[1]:"-1"}else if("Safari"===o){const t=e.match(/version\/([\d.]+)/);r=t?t[1]:"-1"}else if("Edge"===o){const t=e.match(/edge\/([\d.]+)/);r=t?t[1]:"-1"}else if("QQBrowser"===o){const t=e.match(/qqbrowser\/([\d.]+)/);r=t?t[1]:"-1"}t.type=o,t.versions=parseInt(r)}return t}();return`${e}_${t}`},get os(){let e=navigator.userAgent,t=/(?:Windows Phone)/.test(e),n=/(?:SymbianOS)/.test(e)||t,o=/(?:Android)/.test(e),r=/(?:Firefox)/.test(e),i=/(?:iPad|PlayBook)/.test(e)||o&&!/(?:Mobile)/.test(e)||r&&/(?:Tablet)/.test(e),s=/(?:iPhone)/.test(e)&&!i;return{isTablet:i,isPhone:s,isAndroid:o,isPc:!(s||o||n||i),isSymbian:n,isWindowsPhone:t,isFireFox:r}},get operation_os(){let e=navigator.userAgent;const t=[{s:"windows",r:/(Windows 10.0|Windows NT 10.0|Windows NT 10.1|Windows 8.1|Windows NT 6.3|Windows 8|Windows NT 6.2|Windows 7|Windows NT 6.1)/},{s:"android",r:/Android/},{s:"linux",r:/(Linux|X11)/},{s:"ios",r:/(iPhone|iPad|iPod)/},{s:"mac",r:/Mac OS X/},{s:"mac",r:/(MacPPC|MacIntel|Mac_PowerPC|Macintosh)/}];for(let n=0;n{if(!document.cookie)return null;const t=document.cookie.split(";");for(let n=0,o=t.length;n=0)return o.split("=")[1]||null}},l=e=>String(Math.floor(Math.random()*Math.pow(10,e))),g=()=>{const e=c(A);if(e)return e;const t=l(11);return document.cookie=`${A}=${t};max-age=31536000;path=/`,t},d=()=>{const e=c(a);if(e)return e;const t=l(12);return document.cookie=`${a}=${t};max-age=31536000;path=/`,t};function u(){return(new Date).getTime()}function p(e){const t="unknown";return"string"!=typeof e?t:e.indexOf(".flv")>-1?"flv":e.indexOf(".m3u8")>-1?"m3u8":e.indexOf(".mp4")>-1?"mp4":e.indexOf(".sdp")>-1?"rts":t}function h(e){return typeof MediaSource<"u"?+MediaSource.isTypeSupported(`video/mp4; codecs=${e}`):0}const _=[{key:"ld5",value:"h265"},{key:"sd5",value:"h265"},{key:"uhd560",value:"h265"},{key:"uhd5",value:"h265"},{key:"hd560",value:"h265"},{key:"hd5",value:"h265"},{key:"ld",value:"h264"},{key:"sd",value:"h264"},{key:"uhd60",value:"h264"},{key:"hd60",value:"h264"},{key:"uhd",value:"h264"},{key:"hd",value:"h264"},{key:"or4",value:"h264"},{key:"",value:"unknow"}];function y(e){try{if(!e)return"unknow";const t=/(_[^.]+).flv/.exec(e);if(!t||!t[1])return"unknow";const n=t[1];for(let e=0,t=_.length;e-1?1:0,review_is_live:t.config.isLive?2:1,aid:e.aid,live_id:e.live_id||`${e.aid}-${e.user_id}-${Date.now()}`,is_preview:e.is_preview?1:0,codec_type:e.codec_type||"h264",width:Math.floor(t.config.width),height:Math.floor(t.config.height),browser:s.browser,ua:navigator.userAgent,timestamp:0,logger_init_time:Date.now(),isSupportedH265:h("hev1.1.6.L93.B0,mp4a.40.2"),codec_support:-1,play_current_time:0,cdn_play_url:n,play_format:p(n),codec_byurl:y(n),decode_img_fps:-1,copy_fps:-1,performance_speed:-1,cpu_score:-1,bandwidth_score:-1,device_score:-1,cpu_core_number:navigator.hardwareConcurrency||-1,memory_usage:-1,network_downlink:-1,memory_score:-1,set_timer_cost:-1,gpu_vendor:localStorage.getItem("g_ven")||"",play_core:"Mse",bg_play:0,...e.ext}}const C={1:"MEDIA_ERR_ABORTED",2:"MEDIA_ERR_NETWORK",3:"MEDIA_ERR_DECODE",4:"MEDIA_ERR_SRC_NOT_SUPPORTED"};class E{constructor(e){const{Tea:t}=e;if(!t)throw new Error("lack Tea option");t.event?this.Tea=t.event.bind(t):this.Tea=t,this.logOptions=e,this._player=e.player}push(e){var t;const{url:n}=this._player.config;var o;this._player.video&&(e.play_current_time=this._player.currentTime),e.muted=+this._player.muted,e.cdn_play_url=n&&n.startsWith("//")?window.location.protocol+n:n,e.live_stream_session_id=function(e){return new URLSearchParams(e.split("?")[1]).get("_session_id")||""}(n),e.play_session_id=e.live_stream_session_id,e.play_format=p(n),e.timestamp=u(),e.href=window.location.href,e.codec_shortname="h264"===(o=e).codec_type&&"h265"===o.codec_byurl||-1!==(o.codec_type||"").indexOf("hev1")?"h265":"h264",null!=(t=this.logOptions)&&t.openLogger&&console.log(`[logger report]: ${e.event_key}`,e),this.send(e)}send(e){e.event_key&&(this.logOptions.onReport&&this.logOptions.onReport(e.event_key,e),this.Tea(e.event_key,{...e}))}}const v=["play","playing","pause","ended","error","seeking","seeked","timeupdate","waiting","canplay","canplaythrough","durationchange","ratechange","volumechange","loadeddata"],Q="WebCodec";let b=s.browser.includes("Chrome");class w{constructor(e){if(r(this,"_visibilityChannged",(()=>{try{"visible"===document.visibilityState&&(this.commonParams.bg_play=0),"hidden"===document.visibilityState&&(this.commonParams.bg_play=1)}catch{}})),r(this,"handleRetry",(e=>{var t,n,o;this.core||(this.core=f(this.player)),this.log.play_stop.retry_count++,this._logmanager.push(Object.assign({},this.log.play_fetch_retry,e,{code:null==(t=null==e?void 0:e.error)?void 0:t.code,load_timeout:null==(o=null==(n=this.core)?void 0:n.config)?void 0:o.loadTimeout}))})),r(this,"handleSwitchStart",(e=>{this._logmanager.push({event_key:"seamless_switch_start",switch_url:null==e?void 0:e.url})})),r(this,"handleSwitchComplete",(e=>{this._logmanager.push({event_key:"seamless_switch_complete",switch_url:null==e?void 0:e.url})})),r(this,"handleSwitchError",(e=>{this._logmanager.push({event_key:"seamless_switch_error",switch_url:null==e?void 0:e.url,...e})})),r(this,"handleStreamException",((e={})=>{this._logmanager.push({...this.log.play_stream_exception,...e})})),r(this,"handlePlaybackrateChange",(()=>{1!==this.player.playbackRate&&(this.log.playing.ratechange_count+=1)})),r(this,"_onceFlvResponseHeaders",(e=>{if(!this.player)return;const t=e.get("X-Server-Ip");t&&(this.commonParams.cdn_ip=t)})),r(this,"_onFlvMetadata",((e,t)=>{this.log.play_stop.meta=this.log.play_stop.meta||{},e&&(this.log.play_stop.meta[e]=t),this.handleMetaDataLoadedForWebCodec(e,t)})),r(this,"cycleReportPlaying",(()=>{let e=this.options.playingInterval||1e4;(Math.abs(Date.now()-this.log.playing.timestamp-e)<100||Date.now()-this.log.playing.timestamp>=e)&&this.reportPlaying(),this.intervalId=setTimeout(this.cycleReportPlaying,1e3)})),!e.player)throw new Error("option player is necessary");var t;this.options=Object.assign({},e,{device_id:(t=e).device_id||g(),user_id:t.user_id||d(),error_report_stop:void 0===t.error_report_stop||!!t.error_report_stop,project_key:t.project_key||"live",product_line:t.product_line||"live",onReport:t.onReport||function(){},openLogger:t.openLogger||!1}),this.stallOut=this.options.stallOut||1e4,this._player=this.options.player,this._url=this._player.config.url,this.project_key=e.project_key||"live",this.product_line=e.product_line||"live",this.ntpDelta=this.options.ntp?Date.now()-this.options.ntp:0,this.inWaitingStart=0,this.errorNumber=0,this.tempFirstStallTime=0,this.tempDroppedFrameCount=0,this.tempTotalFrameCount=0,this._flvCoreEvtBound=!1,this._logmanager=new E(this.options),this.init(),this.started=!1,this.destroyed=!1,this.completed=!1,this.firstFrameViewed=!1,this.cacheRtcStats={},this.cachePlaying={demuxCost:0,remuxCost:0,appendCost:0,totalByteSize:0}}get videoSize(){return this.player?{width:this.player.video.videoWidth,height:this.player.video.videoHeight}:{width:0,height:0}}get player(){return this._player}get logmanager(){return this._logmanager}get ntpTime(){return Date.now()-this.ntpDelta}get isWebCodec(){if(!this.player)return!1;const e=f(this.player);return!!e&&e.playMode===Q}setNTP(e){this.options&&(this.options.ntp=e,this.ntpDelta=Date.now()-this.options.ntp)}init(){this.bindCtx(),this.initLog(),this.initEvt()}bindCtx(){this.handlePlayerComplete=this.handlePlayerComplete.bind(this),this.handlePlayerPlaying=this.handlePlayerPlaying.bind(this),this.destroyFunc=this.destroyFunc.bind(this),this.handleUserLeave=this.handleUserLeave.bind(this),this.handlePlayerError=this.handlePlayerError.bind(this),this.handlePlayerReady=this.handlePlayerReady.bind(this),this.handlePlayerWaiting=this.handlePlayerWaiting.bind(this),this.handleAVUnsync=this.handleAVUnsync.bind(this),this.handleSEIParsed=this.handleSEIParsed.bind(this),this.handleSEILoudNessParsed=this.handleSEILoudNessParsed.bind(this),this.handlePlayerPause=this.handlePlayerPause.bind(this),this.handleTTFB=this.handleTTFB.bind(this),this.handleUrlChange=this.handleUrlChange.bind(this),this.handleKeyframe=this.handleKeyframe.bind(this),this.handleSourceOpen=this.handleSourceOpen.bind(this),this.handleBufferAppend=this.handleBufferAppend.bind(this),this.handleDegrade=this.handleDegrade.bind(this),this.handleLoadStart=this.handleLoadStart.bind(this),this.handlePlayerEnded=this.handlePlayerEnded.bind(this),this.handleAbrSwitch=this.handleAbrSwitch.bind(this),this.handleChaseFrame=this.handleChaseFrame.bind(this),this.handleUserAction=this.handleUserAction.bind(this)}initLog(){const e=this.options,t=e.player,n=void 0!==t.hlsOps;this.commonParams={os:s.operation_os,...B(e)},this.log=Object.assign({},{start_play:{start_play_time:0,event_key:"start_play"},first_frame:{start:0,first_frame_view:0,event_key:"first_frame",first_sei_delay:0,time_worker_init:0,time_loadstream_start:0,time_decoder_init:0,time_render_init:0,time_first_sample:0,time_first_aframe:0,time_first_vframe:0,ntp_sync:0,ntp_delta:0,ttfb:-1,ttdb:-1,ttfb_end:0,loudness_peak:-1,loudness_luft:-1,loudness_integrated:-1,loudness_shorterm:-1,loudness_momentary:-1,video_codec:"",audio_codec:"",audioSampleRate:0,audioObjectType:0,audioChannelCount:0},first_frame_failed:{code:void 0,is_threshold:0,msg:"",event_key:"first_frame_failed"},stall_start:{ready_state:-1,stall_start_time:0,event_key:"stall_start"},stalling:{event_key:"stalling"},stall:{reason:0,remain_buffer:0,is_seeking:0,stall_start:0,stall_end:0,ready_state:0,event_key:"stall"},play_stop:{error_code:0,stop_time:0,drop_percent:0,is_stream_received:0,stall_count:0,stall_time:0,retry_count:0,duration:0,stall_count_per_100sec:0,stall_time_per_100sec:0,event_key:"play_stop",dns_parse_time:-1,redirect:-1,ttfb:-1,buffered:[],is_firstframe_received:0,meta:null},playing:{index:0,playing_index:0,accum_stall_time:0,accum_stall_count:0,accum_play_time:0,stall_count:0,stall_time:0,play_time:1e4,playing_interval:0,retry_count:0,is_last:0,video_buffer_time:0,audio_buffer_time:0,speed_switch_count:0,speed_switch_info:"none",download_speed:0,decode_fps:0,render_fps:-1,drop_count:0,drop_percent:0,playback_rate:1,ratechange_count:0,sei_source:"",sei_delay:0,ntp_sync:0,ntp_delta:0,event_key:"playing",stop_time:0,duration:0,stall_count_per_100sec:0,stall_time_per_100sec:0,abr_switch_count:0},play_error:{code:void 0,info:"",event_key:"play_error"},play_low_decode:{fps:-1,decode_fps:-1,bitrate:-1,url:-1,msg:"",event_key:"play_low_decode"},play_av_unsync:{aDts:-1,vDts:-1,frameLength:-1,currentTime:-1,duration:0,event_key:"play_av_unsync"},play_loadstream:{loadstream_url:"",event_key:"play_loadstream"},play_stream_loaded:{event_key:"play_stream_loaded"},play_metadata_loaded:{metadata_type:"",event_key:"play_metadata_loaded"},play_demux_error:{msg:"",event_key:"play_demux_error"},play_stream_discontinue:{type:"",dts:-1,event_key:"play_stream_discontinue"},pause:{event_key:"pause"},play_url_change:{event_key:"play_url_change"},source_opened:{event_key:"source_opened"},source_updateend:{event_key:"source_updateend"},play_result:{event_key:"play_result",result:0,threshold:15e3,is_threshold:0},degrade:{event_key:"degrade",payload:{}},play_ended:{event_key:"play_ended"},abr_switch:{event_key:"abr_switch",stall_count:0,switch_index:0},abr_session:{event_key:"abr_session",stall_time:0,end_buffer:0},play_chase_frame:{event_key:"play_chase_frame"},play_audio_gap:{event_key:"play_audio_gap"},play_audio_overlap:{event_key:"play_audio_overlap"},player_user_action:{event_key:"player_user_action"},play_fetch_retry:{event_key:"play_fetch_retry"},play_stream_exception:{event_key:"play_stream_exception"}});const o=this;for(let e in this.log){for(let t in this.commonParams)Object.defineProperty(this.log[e],t,{get:function(){return null==this["_"+t]?o.commonParams[t]:this["_"+t]},set:function(e){this["_"+t]=e},enumerable:!0});n&&Object.defineProperty(this.log[e],"m3u8",{get:()=>{if(t&&t.__core__){const{m3u8Text:e}=t.__core__;return e?e.slice(0,25e4):""}return""},enumerable:!0}),Object.defineProperty(this.log[e],"volume",{get:()=>t&&t.video&&t.volume||0,enumerable:!0}),Object.defineProperty(this.log[e],"access",{get:()=>typeof navigator.onLine<"u"?navigator.onLine?(()=>{const{connection:e}=navigator;return e&&e.effectiveType})():"none":"unknown",enumerable:!0})}this.setMarkScore(I)}updateExt(e){for(let t in this.log)for(let n in e)this.log[t][n]=e[n]}updateOptions(e){Object.assign(this.commonParams,e)}reportStartPlay(){this.started||(this.started=!0,this.log.start_play.start_play_time=this.log.start_play.timestamp=u(),this.isWebCodec&&(this.commonParams.play_core=Q),this.logmanager.push(this.log.start_play,!0))}initWindowListener(){"pc"===s.device?window.addEventListener("beforeunload",this.destroyFunc):"mobile"===s.device&&(window.addEventListener("beforeunload",this.destroyFunc),window.addEventListener("pagehide",this.destroyFunc)),document.addEventListener("visibilitychange",this._visibilityChannged)}removeWindowListener(){"pc"===s.device?window.removeEventListener("beforeunload",this.destroyFunc):"mobile"===s.device&&(window.removeEventListener("beforeunload",this.destroyFunc),window.removeEventListener("pagehide",this.destroyFunc)),document.removeEventListener("visibilitychange",this._visibilityChannged)}initEvt(){const{player:e}=this;v.forEach((e=>{this[`handleVideo${e}Evt`]=()=>{this[`handleVideo${e}`]&&this[`handleVideo${e}`]()},this.bindVideoEvt(e,this[`handleVideo${e}Evt`])})),this.initWindowListener(),e.once("error",this.handlePlayerError),e.once("complete",this.handlePlayerComplete),e.once("playing",this.handlePlayerPlaying),e.once("timeupdate",this.handlePlayerPlaying),e.once("destroy",this.destroyFunc),e.on("ready",this.handlePlayerReady),e.on("waiting",this.handlePlayerWaiting),e.on("SEI_PARSED",this.handleSEIParsed),e.on("SEI_LOUDNESS",this.handleSEILoudNessParsed),e.on("pause",this.handlePlayerPause),e.on("ttfb",this.handleTTFB),e.on("urlchange",this.handleUrlChange),e.once("isKeyframe",this.handleKeyframe),e.once("sourceopen",this.handleSourceOpen),e.once("bufferappend",this.handleBufferAppend),e.on("degrade",this.handleDegrade),e.on("loadstart",this.handleLoadStart),e.on("ratechange",this.handlePlaybackrateChange),e.on("ended",this.handlePlayerEnded),e.on("chaseframe",this.handleChaseFrame),e.on("user_action",this.handleUserAction),e.on("retry",this.handleRetry),e.on("switch_start",this.handleSwitchStart),e.on("switch_completed",this.handleSwitchComplete),e.on("switch_error",this.handleSwitchError),e.on("streamexception",this.handleStreamException);const t=e.plugins.abr;t&&t.on("abr_switch",this.handleAbrSwitch),this.hiJackPlayerStart()}handleUserAction(e){this.logmanager.push(Object.assign({},this.log.player_user_action,e))}handleChaseFrame(e){this.logmanager.push(Object.assign(this.log.play_chase_frame,e))}handlePlayerEnded(){if(this.core&&this.core.endedStatus){const{endOfStream:e,mock:t}=this.core.endedStatus;this.logmanager.push(Object.assign({},this.log.play_ended,this.core.endedStatus,{endOfStream:+e,mock:+t}))}}handleLoadStart(){if(this.core=f(this.player),this.core)if(this.commonParams.live_sdk_version="2",this.isWebCodec)this.commonParams.play_core=Q,this.initFlvCoreEvt(this.core);else{const e=this.core._context||this.core.context;e&&this.initContextEvt(e)}this.preLoadedSize=0,this.cachePlaying.totalByteSize=0,this.reportStartPlay()}handleAbrSwitch(e){this.log.abr_switch.switch_index++,this.log.playing.abr_switch_count++;const t=Date.now()-(this.log.abr_session.timestamp||this.log.first_frame.timestamp);this.log.abr_switch.switch_interval=t,this.logmanager.push(Object.assign(this.log.abr_switch,e));const n=this.getFetchLoader();this.logmanager.push(Object.assign(this.log.abr_session,{bitrate:e.cur_bitrate,ave_download_speed:Math.round(1e3*((n||{}).totalByteSize||-1)/t),start_buffer:this.log.abr_session.after_buffer,end_buffer:e.cur_video_buffer_time,after_buffer:e.after_video_buffer_time,stall_count:this.log.abr_switch.stall_count,stall_time_per_100sec:this.log.abr_session.stall_time/t*100,stall_count_per_100sec:1e3*this.log.abr_switch.stall_count/t*100})),this.log.abr_switch.stall_count=0,this.log.abr_session.stall_time=0}handleDegrade(e){this.log.degrade.payload=e,this.logmanager.push(this.log.degrade,!0)}hiJackPlayerStart(){this.player._start=this.player.start;const{player:e}=this;e.start=()=>{try{if(e._start)return e._start.apply(e,Array.prototype.slice.call(arguments,0))}catch{}this.destroyed||this.handlePlayerComplete()}}handleTTFB(e){const{end:t,elapsed:n,url:o,responseUrl:r}=e||{};this.log.first_frame.ttfb=n||-1,this.log.first_frame.ttfb_end=t||0,this.log.first_frame.is_redirect=+(o!==r),this.log.play_result.is_redirect=this.log.first_frame.is_redirect}handleUrlChange(e){this.logmanager.push(Object.assign(this.log.play_url_change,{url:e,timestamp:u()}))}handleKeyframe(e){this.log.play_stop.is_firstframe_received=1,this.log.play_stop.firstframe_pts=e}handleSourceOpen(){this.log.source_opened.timestamp=u(),this.logmanager.push(this.log.source_opened)}handleBufferAppend(){this.log.source_updateend.timestamp=u(),this.logmanager.push(this.log.source_updateend)}handlePlayerPause(){Object.assign(this.log.pause,{timestamp:u(),...this.videoSize}),this.logmanager.push(this.log.pause,!0)}handlePlayerError(e){this.setCdnIp(),this.errorNumber=1;let t=e.errorType;const n=e.code||e.errorCode;Object.assign(this.log.play_error,{timestamp:u(),code:n||("parse"===t?31:21),info:e.ex||e.message||"",detail:JSON.stringify(e),...this.videoSize}),this.logmanager.push(this.log.play_error,!0),!this.destroyed&&(0===this.log.first_frame.first_frame_view&&(Object.assign(this.log.first_frame_failed,{code:n||("parse"===t?31:21),msg:e.ex||e.message}),void 0!==this.log.first_frame_failed.timestamp&&(this.log.first_frame_failed.timestamp=u()),this.logmanager.push(this.log.first_frame_failed,!0),this.log.play_result.is_threshold||(this.clearPlayResultTimer(),this.log.play_result.reason=e.ex||e.message,this.log.play_result.code=this.log.play_error.code,this.logmanager.push(this.log.play_result,!0))),this.options.error_report_stop?this.handleUserLeave():this.updatePlayStopParams())}handlePlayerLoadStream(e){if("string"!=typeof e)return;const{play_loadstream:t}=this.log;t.timestamp=u(),t.loadstream_url=e,this.logmanager.push(t)}handlePlayerLoadedStream(){const{play_stream_loaded:e}=this.log;e.timestamp=u(),this.logmanager.push(e)}handleSEIParsed(e){const{log:{playing:t,first_frame:n}}=this;if(100===e.code){let o;try{o=new TextDecoder("utf-8").decode(e.content)}catch{o=function(e){var t,n,o,r,i,s;for(t="",o=e.length,n=0;n>4){case 0:case 1:case 2:case 3:case 4:case 5:case 6:case 7:t+=String.fromCharCode(r);break;case 12:case 13:i=e[n++],t+=String.fromCharCode((31&r)<<6|63&i);break;case 14:i=e[n++],s=e[n++],t+=String.fromCharCode((15&r)<<12|(63&i)<<6|63&s)}return t}(e.content)}o=function(e){let t=e;return['"app_data"','app_data"','canvas"','"canvas"','"live_sei_game_moment"',"live_sei_game_moment",'"ttls_live_scene"','ttls_live_scene"','trans_info"','"trans_info"'].some((n=>{const o=function(e,t="app_data"){if(!e)return"";const n=new RegExp(`^([\\w\\W]*)${t}.*`).exec(e);return(null==n?void 0:n[1])??""}(e,n);return!(!o||"{"===o||(t=`{${'"'!==n[0]?'"':""}${e.slice(o.length,e.lastIndexOf("}")+1)}`,0))}))||(t=e.slice(e.indexOf("{"),e.lastIndexOf("}")+1)),t}(o);try{const e=JSON.parse(o);if(!e.ts)return void(t.sei_string=o);this.core||(this.core=f(this.player)),this.core&&this.core.config.seiOnDemand?(t.sei_delay=this.ntpTime-e.ts,n.first_sei_delay=t.sei_delay,t.sei_buffer_delay=void 0,t.sei_network_delay=n.sei_network_delay=void 0):(t.sei_network_delay=this.ntpTime-e.ts,t.sei_buffer_delay=this.getPlayerBuffer(),t.sei_delay=t.sei_network_delay+t.sei_buffer_delay,n.sei_network_delay=t.sei_network_delay),t.sei_source=e.source,t.ntp_sync=this.options.ntp?1:0,t.ntp_delta=this.ntp_delta,n.ntp_sync=this.options.ntp?1:0,n.ntp_delta=this.ntp_delta}catch{t.sei_string=o}t.sei_delay?t.sei_string=void 0:t.sei_string=o}}handleSEILoudNessParsed(e){const{log:{first_frame:t}}=this;t.loudness_peak=e.sourcePeak,t.loudness_luft=e.sourceLuft,t.loudness_integrated=e.sourceIntegrated,t.loudness_shorterm=e.sourceShorterm,t.loudness_momentary=e.sourceMomentary}handleMetaDataLoaded(e){this.log.play_metadata_loaded.timestamp=u(),this.log.play_metadata_loaded.metadata_type=e;let t=!1;if(this.core){const n=this.core._context||this.core.context;if(n){let o;if("video"===e?o=(n.getInstance("TRACKS")||{}).videoTrack:"audio"===e&&(o=(n.getInstance("TRACKS")||{}).audioTrack),o&&o.meta)if(t=!0,"video"===e){const e={codec:o.meta.codec,frameRate:o.meta.frameRate,timescale:o.meta.timescale};this.log.play_metadata_loaded.meta=e,this.commonParams.codec_type=this.log.play_metadata_loaded.codec=e.codec,this.commonParams.codec_support=h(e.codec),this.log.first_frame.video_codec=o.meta.codec,this.log.play_metadata_loaded.fps=o.meta.frameRate&&o.meta.frameRate.fps,o.meta.refSampleDuration?this.commonParams.fps=Math.round(1e3/o.meta.refSampleDuration):o.meta.frameRate&&(this.commonParams.fps=o.meta.frameRate.fps)}else this.log.play_metadata_loaded.meta=o.meta,this.log.play_metadata_loaded.codec=o.meta.codec,this.log.first_frame.audio_codec=o.meta.codec,this.log.first_frame.audioSampleRate=o.meta.sampleRate,this.log.first_frame.audioObjectType=o.meta.objectType,this.log.first_frame.audioChannelCount=o.meta.channelCount}}t||(this.log.play_metadata_loaded.meta=void 0,this.log.play_metadata_loaded.codec=void 0,"video"===e&&(this.log.playing.codec="unknown")),this.logmanager.push(this.log.play_metadata_loaded)}handleMetaDataLoadedForWebCodec(e,t){this.log.play_metadata_loaded.timestamp=u(),this.log.play_metadata_loaded.metadata_type=e;let n=!1;t&&(n=!0,this.log.play_metadata_loaded.meta=t,this.log.play_metadata_loaded.codec=t.codec,"video"===e?(this.commonParams.codec_type=t.codec,this.commonParams.codec_support=h(t.codec),this.log.play_metadata_loaded.fps=t.frameRate,this.log.first_frame.video_codec=t.codec,this.commonParams.fps=t.frameRate):(this.log.first_frame.audio_codec=t.codec,this.log.first_frame.audioSampleRate=t.sampleRate,this.log.first_frame.audioObjectType=t.objectType,this.log.first_frame.audioChannelCount=t.channelCount)),n||(this.log.play_metadata_loaded.meta=void 0,this.log.play_metadata_loaded.codec=void 0,"video"===e&&(this.log.playing.codec="unknown")),this.logmanager.push(this.log.play_metadata_loaded)}handleDemuxError(e){this.log.play_demux_error.msg=e,this.logmanager.push(this.log.play_demux_error)}handleAVUnsync(e){Object.assign(this.log.play_av_unsync,e||{}),this.log.play_av_unsync.timestamp=u(),this.logmanager.push(this.log.play_av_unsync,!1)}handleDetectLargeGap(e,t){this.log.play_stream_discontinue.type=e,this.log.play_stream_discontinue.gap=t,this.logmanager.push(this.log.play_stream_discontinue)}initContextEvt(e){e._emitter.once("LOADER_RESPONSE_HEADERS",((e,t)=>{const n=t.get("X-Server-Ip");this.player&&(void 0!==this.player.hlsOps&&(this.log.play_stop.review_ts_count+=1),n&&(this.commonParams.cdn_ip=n))})),e._emitter.on("REMUX_METADATA",((e,t)=>{this.log.play_stop.meta=this.log.play_stop.meta||{},e&&(this.log.play_stop.meta[e]=t)})),e._emitter.on("LOADER_START__TO__TS_LOADER",(e=>{this.handlePlayerLoadStream(e)})),e._emitter.on("LOADER_START",(e=>{this.handlePlayerLoadStream(e)})),e._emitter.on("LOADER_COMPLETE",(e=>{this.handlePlayerLoadedStream(e)})),e._emitter.once("DEMUX_ERROR",((e,t)=>{t&&(this.log.play_demux_error.msg=t.message,this.handleDemuxError(t.message))})),e._emitter.on("METADATA_PARSED__TO__HLS_LIVE_CONTROLLER",(e=>{this.handleMetaDataLoaded(e)})),e._emitter.on("REMUX_METADATA",(e=>{this.handleMetaDataLoaded(e)})),e._emitter.on("DETECT_LARGE_GAP",((e,t)=>{this.handleDetectLargeGap(e,t)})),e._emitter.on("DETECT_AUDIO_GAP",((e,t)=>{this.logmanager.push(Object.assign({},this.log.play_audio_gap,{gap:e,silent_frame_count:t}))})),e._emitter.on("DETECT_AUDIO_OVERLAP",(e=>{this.logmanager.push(Object.assign({},this.log.play_audio_overlap,{gap:e}))}))}initFlvCoreEvt(e){if(this._flvCoreEvtBound)return;this._flvCoreEvtBound=!0;const t=e.constructor.FlvCoreEvent;e.once(t.RESPONSEHEADERS,this._onceFlvResponseHeaders),e.on(t.METADATA,this._onFlvMetadata)}handlePlayerComplete(){this.completed||(this.completed=!0,(this.player.config.autoplay||this.player.config.videoInit)&&this.reportStartPlay())}getPlayerBuffer(){let e=this.player.video.buffered;if(e){const t=Math.max(0,e.length-1);try{const n=Number.parseInt(1e3*(e.end(t)-this.player.video.currentTime));return this.log.playing.audio_buffer_time=this.log.playing.video_buffer_time=n,n}catch{return 0}}}setCdnIp(){if(this.commonParams.cdn_ip||!this.core)return;if(this.isWebCodec){const e=this.core.loader.responseHeader.get("X-Server-Ip");return void(e&&(this.commonParams.cdn_ip=e))}const e=this.core._context||this.core.context;if(!e)return;const t=e.getInstance("FETCH_LOADER")||e.getInstance("TS_LOADER");if(!t)return;const n=t.responseHeader;if(!n)return;const o=n.get("X-Server-Ip");o&&(this.commonParams.cdn_ip=o)}getFetchLoader(){if(this.core){if(this.isWebCodec)return this.core.loader;if(this.core){const e=this.core._context||this.core.context;return e?e.getInstance("FETCH_LOADER")||e.getInstance("TS_LOADER"):void 0}}}getPlayerDownloadSpeed(){const e=this.getFetchLoader();if(e)return Number.parseInt(e.currentSpeed)}collectDowloadSpeed(){const e=this.getFetchLoader();if(!e)return;let t;this.preLoadedSize&&e.totalByteSize>=this.preLoadedSize&&(t=Math.round(1e3*(e.totalByteSize-this.preLoadedSize)/(Date.now()-this.preCollectSpeedTime))),this.preLoadedSize=e.totalByteSize,this.preCollectSpeedTime=Date.now(),t&&(this.log.playing.download_speed_array?this.log.playing.download_speed_array.push(t):this.log.playing.download_speed_array=[t]),this.collectDownloadSpeedTimer=setTimeout((()=>{this.collectDowloadSpeed()}),this.options.downloadSpeedInterval)}getPlayerQuality(e){const{video:t}=this.player;if(t.getVideoPlaybackQuality){const n=t.getVideoPlaybackQuality();this.log.playing.drop_count=n.droppedVideoFrames-this.tempDroppedFrameCount,this.log.playing.drop_percent=(n.droppedVideoFrames-this.tempDroppedFrameCount)/(n.totalVideoFrames-this.tempTotalFrameCount),this.log.play_stop.drop_percent=n.droppedVideoFrames/n.totalVideoFrames,e&&!this.commonParams.is_wasm&&(this.log.playing.render_fps=Math.round((n.totalVideoFrames-n.droppedVideoFrames-this.tempTotalFrameCount+this.tempDroppedFrameCount)/e)),this.tempDroppedFrameCount=n.droppedVideoFrames,this.tempTotalFrameCount=n.totalVideoFrames}}async getExtraStats(e,t){return new Promise((n=>{if(!b)return n();try{e.getStats((e=>{e.result().forEach((e=>{const n={};e.names().forEach((function(t){n[t]=e.stat(t)})),n.id=e.id,n.type=e.type,n.timestamp=e.timestamp,"ssrc"===e.type?(null!=n.googAccelerateRate&&(t.accelerate_rate=n.googAccelerateRate),"audio"===n.mediaType?(t.audio_jitter_buffer_ms=n.googJitterBufferMs,t.audio_rtt_ms=n.googRtt,t.expand_rate=n.googExpandRate):"video"===n.mediaType&&(t.video_rtt_ms=n.googRtt,t.video_codec_name=n.googCodecName)):"VideoBwe"===e.type&&(t.video_recv_retransmit_bps=n.googRetransmitBitrate)})),n()}))}catch{n()}}))}reportPlaying(e){if(this.core){const e=this.core._context||this.core.context;if(e){const{videoTrack:t}=e.getInstance("TRACKS")||{};!t||!t.meta||(t.meta.refSampleDuration?this.commonParams.fps=Math.round(1e3/t.meta.refSampleDuration):t.meta.frameRate&&(this.commonParams.fps=t.meta.frameRate.fps))}if(this.core.transferCost){const{demuxCost:e,remuxCost:t,appendCost:n}=this.core.transferCost;Object.assign(this.log.playing,{demuxCost:e-this.cachePlaying.demuxCost,remuxCost:t-this.cachePlaying.remuxCost,appendCost:n-this.cachePlaying.appendCost}),Object.assign(this.cachePlaying,this.core.transferCost)}}this.log.playing.index++,this.log.playing.playing_index++;const t=this.log.playing.timestamp||u();let n=0;this.inWaitingStart&&this.inWaitingStart200?n:0)+this.log.playing.stall_time,s=(n>200?1:0)+this.log.playing.stall_count;if(this.options.aggregationDowngradeStallTime&&(this.log.playing.aggregation_downgrade_stall=(n>this.options.aggregationDowngradeStallTime?n:0)+(this.log.playing.aggregation_downgrade_stall||0)),Object.assign(this.log.playing,{timestamp:o,stop_time:o,duration:e?0:r/1e3,stall_time_per_100sec:i/r*100,stall_count_per_100sec:1e3*s/r*100,stall_count:s,stall_time:i,accum_stall_time:this.log.playing.accum_stall_time+i,accum_stall_count:this.log.playing.accum_stall_count+s,accum_play_time:this.log.playing.accum_play_time+r,play_current_time:this.player.currentTime,playback_rate:this.player.playbackRate,...this.videoSize}),this.getPlayerQuality(this.log.playing.duration),this.player.plugins.abr&&this.player.plugins.abr.algo){const{_openTimeMs:e,abr_time_offset_set:t,abr_cur_bitrate_set:n,abr_pred_bitrate_set:o,abr_speed_set:r,abr_player_buffer_set:i,abr_stall_status_set:s}=this.player.plugins.abr.algo;Object.assign(this.log.playing,{abr_bitrate_map:this.player.plugins.abr.config.urls,abr_start_timestamp:e,abr_time_offset_set:t,abr_cur_bitrate_set:n,abr_pred_bitrate_set:o,abr_speed_set:r,abr_player_buffer_set:i,abr_stall_status_set:s,abr_suffix_ids:this.player.plugins.abr.suffixIds}),this.player.plugins.abr.algo.resetCollect&&this.player.plugins.abr.algo.resetCollect()}this.logmanager.push(Object.assign({},this.log.playing,{play_time:e?0:r,playing_interval:e?0:r}),!0),this.log.playing.download_speed_array=[],this.log.playing.stall_time=0,this.log.playing.stall_count=0,this.log.playing.abr_switch_count=0,this.log.playing.ratechange_count=0,this.log.playing.render_fps=-1,this.options.aggregationDowngradeStallTime&&(this.log.playing.aggregation_downgrade_stall=0)}handlePlayerPlaying(){if(!(this.player&&this.player.video.readyState<3)){if(this.player.off("playing",this.handlePlayerPlaying),this.player.off("timeupdate",this.handlePlayerPlaying),this.player.paused)return void this.handleVideopause();clearTimeout(this.collectDownloadSpeedTimer),this.options.downloadSpeedInterval&&this.collectDowloadSpeed(),this.reportPlaying(!0),this.clearPlayingInterval(),this.intervalId=setTimeout(this.cycleReportPlaying,1e3),this.handleVideoplaying(),this.started||this.reportStartPlay(),this.saveBuffered()}}handlePlayerReady(){this.log.start_play.start_play_time=u(),this.player.config.autoplay&&this.reportStartPlay(),this.options.playResultThreshold&&(this.log.play_result.threshold=this.options.playResultThreshold),this.clearPlayResultTimer(),this.log.play_result.start=u(),this.playResultTimer=setTimeout((()=>{this.log.play_result.timestamp>=this.log.play_result.start||(this.log.play_result.is_threshold=1,this.log.play_result.code=9999,this.logmanager.push(this.log.play_result,!0),this.log.first_frame_failed.code=9999,this.log.first_frame_failed.is_threshold=1,this.logmanager.push(this.log.first_frame_failed,!0))}),this.log.play_result.threshold)}handlePlayerWaiting(){if(this.inWaitingStart||!this.log.first_frame.timestamp)return;const e=u();this.log.stall.timestamp=this.inWaitingStart=this.log.stall.stall_start=e,this.log.stall_start.ready_state=this.log.stall.ready_state=this.player.video.readyState,this.log.stall_start.timestamp=e,this.log.stall_start.stall_start_time=e,this.log.stall_start.video_buffer_time=this.player.video.readyState,this.log.stall_start.play_current_time=this.player.currentTime,this.log.stall.play_current_time=this.player.currentTime,this.log.stall_start.buffered=this.getBuffered(),this.log.stall.buffered=this.log.stall_start.buffered,this.log.stall.is_seeking=this.player.seeking?1:0,this.log.stall.remain_buffer=Number(this._getRemainBuffer().toFixed(2)),this.log.stall.current_speed=this.getPlayerDownloadSpeed(),this.log.stall.start_diff=e-this.log.first_frame.timestamp,this.log.abr_switch.timestamp&&(this.log.stall.abr_diff=e-this.log.abr_switch.timestamp),Object.assign(this.log.stall_start,this.videoSize)}handleVideoseeking(){!this.player||!this.player.video||this.inWaitingStart&&this.player.video.duration<1/0&&(this.inWaitingStart=0)}handleVideoseeked(){!this.player||!this.player.video||this.inWaitingStart&&this.player.video.duration<1/0&&(this.inWaitingStart=0,this.log.play_stop.stall_count>0&&this.log.play_stop.stall_count--)}handleVideoplay(){this.reportStartPlay(),this.removeVideoEvt("play",this.handleVideoplay)}handleVideotimeupdate(){Math.abs(this.player.currentTime-this.log.stall_start.play_current_time)>.2&&this.stallEnd(),this.saveBuffered()}handleVideocanplay(){this.setCdnIp(),this.stallEnd(),this.reportFirstframe()}handleVideoplaying(){this.stallEnd(),this.log.play_stop.is_stream_received=1;const e=u();this.reportStartPlay(),this.log.first_frame.start=e}stallEnd(){const e=u();if(this.inWaitingStart){const t=e-this.inWaitingStart;t>200&&(this.log.abr_switch.stall_count++,this.log.play_stop.stall_count++,this.log.play_stop.stall_time+=e-this.inWaitingStart,this.log.playing.stall_time+=e-Math.max(this.inWaitingStart,this.log.playing.timestamp),this.log.abr_session.stall_time+=e-this.inWaitingStart,this.log.stall.stall_end=e,this.log.stall.stall_duration=this.log.stall.stall_end-this.log.stall.stall_start,this.log.stall.timestamp=u(),this.log.playing.timestamp<=this.inWaitingStart+200&&this.log.playing.stall_count++,Object.assign(this.log.stall,{...this.videoSize}),this.logmanager.push(this.log.stall,!0)),this.options.aggregationDowngradeStallTime&&t>this.options.aggregationDowngradeStallTime&&(this.log.playing.aggregation_downgrade_stall=(this.log.playing.aggregation_downgrade_stall||0)+(e-Math.max(this.inWaitingStart,this.log.playing.timestamp)))}this.inWaitingStart=0}handleVideoloadeddata(){this.reportFirstframe()}handleVideoratechange(){this.log.playing.speed_switch_count++,this.log.playing.speed_switch_info=this.player.video.playbackRate}handleVideoended(){this.clearPlayingInterval(),Object.assign(this.log.playing,{is_last:1}),this.reportPlaying()}handleVideoerror(){if(this.isWebCodec)return;this.errorNumber=1;const e=this.player.video.error;Object.assign(this.log.play_error,{timestamp:u(),...this.videoSize,...e&&{code:e.code,info:e.message}}),this.logmanager.push(this.log.play_error,!0),(()=>{0===this.log.first_frame.first_frame_view&&!this.log.first_frame_failed.code&&e&&(this.log.first_frame_failed.code=e.code,this.log.first_frame_failed.msg=C[e.code],void 0!==this.log.first_frame_failed.timestamp&&(this.log.first_frame_failed.timestamp=u()),this.logmanager.push(this.log.first_frame_failed,!0),this.log.play_result.is_threshold||(this.log.play_result.reason=C[e.code],this.log.play_result.code=e.code,this.clearPlayResultTimer(),this.logmanager.push(this.log.play_result,!0))),this.options.error_report_stop?this.handleUserLeave():this.updatePlayStopParams()})()}handleVideopause(){this.stallEnd(),this.clearPlayingInterval(),this.player.once("playing",this.handlePlayerPlaying),this.player.once("timeupdate",this.handlePlayerPlaying)}destroyFunc(e){if(!this.destroyed&&(this._flvCoreEvtBound=!1,(!e||e instanceof Event)&&this.handleUserLeave(),this.destroyed=!0,"pc"===s.device?window.removeEventListener("beforeunload",this.destroyFunc):"mobile"===s.device&&(window.removeEventListener("beforeunload",this.destroyFunc),window.removeEventListener("pagehide",this.destroyFunc)),document.removeEventListener("visibilitychange",this._visibilityChannged),v.forEach((e=>{this.removeVideoEvt(e,this[`handleVideo${e}Evt`])})),this.player)){if(this.player._start&&(this.player.start=this.player._start,delete this.player._start),this.player.off("destroy",this.destroyFunc),this.player.off("complete",this.handlePlayerComplete),this.player.off("playing",this.handlePlayerPlaying),this.player.off("timeupdate",this.handlePlayerPlaying),this.player.off("ready",this.handlePlayerReady),this.player.off("waiting",this.handlePlayerWaiting),this.player.off("largeavgap",this.handleAVUnsync),this.player.off("error",this.handlePlayerError),this.player.off("SEI_PARSED",this.handleSEIParsed),this.player.off("SEI_LOUDNESS",this.handleSEILoudNessParsed),this.player.off("pause",this.handlePlayerPause),this.player.off("ttfb",this.handleTTFB),this.player.off("urlchange",this.handleUrlChange),this.player.off("isKeyframe",this.handleKeyframe),this.player.off("sourceopen",this.handleSourceOpen),this.player.off("bufferappend",this.handleBufferAppend),this.player.off("degrade",this.handleDegrade),this.player.off("loadstart",this.handleLoadStart),this.player.off("ratechange",this.handlePlaybackrateChange),this.player.off("ended",this.handlePlayerEnded),this.player.off("chaseframe",this.handleChaseFrame),this.player.off("user_action",this.handleUserAction),this.player.off("retry",this.handleRetry),this.player.off("switch_start",this.handleSwitchStart),this.player.off("switch_completed",this.handleSwitchComplete),this.player.off("switch_error",this.handleSwitchError),this.player.off("streamexception",this.handleStreamException),this.isWebCodec){const e=f(this.player);e.off(e.constructor.FlvCoreEvent.METADATA,this._onFlvMetadata)}const e=this.player.plugins.abr;e&&e.off("abr_switch",this.handleAbrSwitch),this.clearPlayingInterval(),this.clearPlayResultTimer(),this._player=null}}handleUserLeave(){this.destroyed||!this.started||(this.updatePlayStopParams(),this.reportPlayStop(),this.clearPlayingInterval(),this.removeWindowListener())}saveBuffered(){try{const e=this.getBuffered();e&&e.length&&(this.log.play_stop.buffered=e)}catch{}}getBuffered(){try{const e=[],{video:t}=this.player;for(let n=0;n{const t=performance.getEntriesByType("resource").filter((t=>t.name===e));if(t.length){const e=t[0],n=t[t.length-1];return{dns_parse_time:Number.parseInt(e.domainLookupEnd-e.domainLookupStart),redirect:Number.parseInt(e.redirectEnd-e.redirectStart),ttfb:Number.parseInt(n.responseStart-n.requestStart)}}return{dns_parse_time:-1,redirect:-1,ttfb:-1}})(this._url);let t=u();this.playedTime=t-this.log.start_play.start_play_time;const{play_stop:n}=this.log;Object.assign(n,{...0===n.stall_count&&{stall_time:0}}),this.inWaitingStart&&t-this.inWaitingStart>200&&(n.stall_time+=t-this.inWaitingStart),this.inWaitingStart&&t-this.inWaitingStart>this.stallOut?this.log.play_stop.code=-100015:this.log.play_stop.code=0,this.inWaitingStart=0,Object.assign(n,{stall_time_per_100sec:n.stall_time/this.playedTime*100,stall_count_per_100sec:1e3*n.stall_count/this.playedTime*100,...e}),0===this.log.play_stop.stall_count_per_100sec&&(this.log.play_stop.stall_time_per_100sec=0),!(this.log.play_stop.stall_time_per_100sec>100||this.log.play_stop.stall_time_per_100sec<0)&&(this.log.playing.index?(Object.assign(this.log.playing,{is_last:1}),this.reportPlaying()):(this.log.play_stop.error_code=this.log.play_error.code,this.log.play_stop.error_info=this.log.play_error.info),t=u(),Object.assign(n,{timestamp:t,stop_time:t,duration:this.playedTime/1e3,play_time:this.playedTime/1e3,...this.videoSize}),0===this.errorNumber&&(n.play_time_on_no_frame=n.stop_time-this.log.start_play.start_play_time))}clearPlayingInterval(){this.intervalId&&(clearTimeout(this.intervalId),this.intervalId=null)}clearPlayResultTimer(){clearTimeout(this.playResultTimer)}destroy(e){this.destroyFunc(!e)}bindVideoEvt(e,t){this.player&&this.player.video.addEventListener(e,t,!1)}removeVideoEvt(e,t){!this.player||!this.player.video||this.player.video.removeEventListener(e,t,!1)}send(e,t){this.logmanager.send(e,t)}}class M{constructor(e){r(this,"options"),r(this,"logger"),r(this,"restart",(e=>{var t,n;this.destroy("string"!=typeof e&&!!e),this.logger=new w(this.options),this.bindUrlChange(),null==(t=this.logger)||t.reportStartPlay(),null==(n=this.logger)||n.handlePlayerComplete()})),this.options=e,this.logger=new w(e),this.bindUrlChange()}setMarkScore(e){var t;typeof document>"u"||null==(t=this.logger)||t.setMarkScore(e)}bindUrlChange(){this.options&&this.options.player&&!this.options.manual_restart&&this.options.player.on("urlchange",this.restart)}setNTP(e){var t;null==(t=this.logger)||t.setNTP(e)}updateExt(e){var t;this.options.ext=Object.assign(this.options.ext||{},e),null==(t=this.logger)||t.updateExt(e)}updateOptions(e){var t;Object.assign(this.options,e),null==(t=this.logger)||t.updateOptions(e)}destroy(e){var t;null==(t=this.logger)||t.destroy(e),this.logger=null,this.options&&this.options.player&&!this.options.manual_restart&&this.options.player.off("urlchange",this.restart)}}},45627:(e,t,n)=>{"use strict";n.r(t),n.d(t,{Abr:()=>p,Adaptive:()=>s,BgPlay:()=>_,BlackScreenProbe:()=>h});var o=n(77116),r=Object.defineProperty,i=(e,t,n)=>((e,t,n)=>t in e?r(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n)(e,"symbol"!=typeof t?t+"":t,n);class s extends o.Ay{constructor(){super(...arguments),i(this,"_lowLatencnyWindows",[]),i(this,"_timeupdateIndex",0),i(this,"_onTimeUpdate",(()=>{if(this._timeupdateIndex++%2!=0)return;const e=this.waterLevel,t=this.player.playbackRate;if(e>this.config.lowLatencyThreshold){if(1===t)return;this._reset()}else 1===t&&(this._lowLatencnyWindows.push(e),!(this._lowLatencnyWindows.length{this.player&&(this.player.playbackRate=1),this._lowLatencnyWindows=[],this._timeupdateIndex=0}))}static get pluginName(){return"adaptive"}static get defaultConfig(){return{lowLatencyThreshold:1.2,lowLatencyWindowsSize:10,slowSpeed:.95,open:!1}}get version(){return"0.1.9"}afterCreate(){var e,t,n;!this.config.open||"WebCodec"===(null==(n=null==(t=null==(e=this.player)?void 0:e.plugins)?void 0:t.flvlive)?void 0:n.playMode)||(this.on("loadstart",this._reset),this.on("timeupdate",this._onTimeUpdate))}get waterLevel(){const e=this.player.getBufferedRange();if(!e.length)return-1;const{currentTime:t}=this.player.video,n=e[1]-Math.max(e[0],t);return Math.max(0,n)}destroy(){this.off("loadstart",this._reset),this.off("timeupdate",this._onTimeUpdate),this._reset()}}var A,a=(A=typeof document<"u"&&document.currentScript?document.currentScript.src:void 0,function(e){var t,n,o=typeof(e=e||{})<"u"?e:{};o.ready=new Promise((function(e,o){t=e,n=o})),Object.getOwnPropertyDescriptor(o.ready,"_free")||(Object.defineProperty(o.ready,"_free",{configurable:!0,get:function(){X("You are getting _free on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}}),Object.defineProperty(o.ready,"_free",{configurable:!0,set:function(){X("You are setting _free on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}})),Object.getOwnPropertyDescriptor(o.ready,"_getPredictedBitrate")||(Object.defineProperty(o.ready,"_getPredictedBitrate",{configurable:!0,get:function(){X("You are getting _getPredictedBitrate on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}}),Object.defineProperty(o.ready,"_getPredictedBitrate",{configurable:!0,set:function(){X("You are setting _getPredictedBitrate on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}})),Object.getOwnPropertyDescriptor(o.ready,"_updateMediaInfo")||(Object.defineProperty(o.ready,"_updateMediaInfo",{configurable:!0,get:function(){X("You are getting _updateMediaInfo on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}}),Object.defineProperty(o.ready,"_updateMediaInfo",{configurable:!0,set:function(){X("You are setting _updateMediaInfo on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}})),Object.getOwnPropertyDescriptor(o.ready,"_updateBufferInfo")||(Object.defineProperty(o.ready,"_updateBufferInfo",{configurable:!0,get:function(){X("You are getting _updateBufferInfo on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}}),Object.defineProperty(o.ready,"_updateBufferInfo",{configurable:!0,set:function(){X("You are setting _updateBufferInfo on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}})),Object.getOwnPropertyDescriptor(o.ready,"_updateSwitchInfo")||(Object.defineProperty(o.ready,"_updateSwitchInfo",{configurable:!0,get:function(){X("You are getting _updateSwitchInfo on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}}),Object.defineProperty(o.ready,"_updateSwitchInfo",{configurable:!0,set:function(){X("You are setting _updateSwitchInfo on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}})),Object.getOwnPropertyDescriptor(o.ready,"_updateDeviceInfo")||(Object.defineProperty(o.ready,"_updateDeviceInfo",{configurable:!0,get:function(){X("You are getting _updateDeviceInfo on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}}),Object.defineProperty(o.ready,"_updateDeviceInfo",{configurable:!0,set:function(){X("You are setting _updateDeviceInfo on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}})),Object.getOwnPropertyDescriptor(o.ready,"_parseMPD")||(Object.defineProperty(o.ready,"_parseMPD",{configurable:!0,get:function(){X("You are getting _parseMPD on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}}),Object.defineProperty(o.ready,"_parseMPD",{configurable:!0,set:function(){X("You are setting _parseMPD on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}})),Object.getOwnPropertyDescriptor(o.ready,"_updateBB4LiveV4Params")||(Object.defineProperty(o.ready,"_updateBB4LiveV4Params",{configurable:!0,get:function(){X("You are getting _updateBB4LiveV4Params on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}}),Object.defineProperty(o.ready,"_updateBB4LiveV4Params",{configurable:!0,set:function(){X("You are setting _updateBB4LiveV4Params on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}})),Object.getOwnPropertyDescriptor(o.ready,"___stdio_exit")||(Object.defineProperty(o.ready,"___stdio_exit",{configurable:!0,get:function(){X("You are getting ___stdio_exit on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}}),Object.defineProperty(o.ready,"___stdio_exit",{configurable:!0,set:function(){X("You are setting ___stdio_exit on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}})),Object.getOwnPropertyDescriptor(o.ready,"onRuntimeInitialized")||(Object.defineProperty(o.ready,"onRuntimeInitialized",{configurable:!0,get:function(){X("You are getting onRuntimeInitialized on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}}),Object.defineProperty(o.ready,"onRuntimeInitialized",{configurable:!0,set:function(){X("You are setting onRuntimeInitialized on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}}));var r=Object.assign({},o);if(o.ENVIRONMENT)throw new Error("Module.ENVIRONMENT has been deprecated. To force the environment, use the ENVIRONMENT compile-time option (for example, -sENVIRONMENT=web or -sENVIRONMENT=node)");var i,s,a="";if(typeof document<"u"&&document.currentScript&&(a=document.currentScript.src),A&&(a=A),a=0!==a.indexOf("blob:")?a.substr(0,a.replace(/[?#].*/,"").lastIndexOf("/")+1):"","object"!=typeof window&&"function"!=typeof importScripts)throw new Error("not compiled for this environment (did you build to HTML and try to run it not on the web, or set ENVIRONMENT to something - like node - and run it someplace else - like on the web?)");i=e=>{try{var t=new XMLHttpRequest;return t.open("GET",e,!1),t.send(null),t.responseText}catch(t){var n=Be(e);if(n)return function(e){for(var t=[],n=0;n255&&(m(!1,"Character code "+o+" ("+String.fromCharCode(o)+") at offset "+n+" not in 0x00-0xFF."),o&=255),t.push(String.fromCharCode(o))}return t.join("")}(n);throw t}},s=(e,t,n)=>{var o=new XMLHttpRequest;o.open("GET",e,!0),o.responseType="arraybuffer",o.onload=()=>{if(200==o.status||0==o.status&&o.response)t(o.response);else{var r=Be(e);r?t(r.buffer):n()}},o.onerror=n,o.send(null)};var c,l,g=o.print||console.log.bind(console),d=o.printErr||console.warn.bind(console);function u(e){u.shown||(u.shown={}),u.shown[e]||(u.shown[e]=1,d(e))}function p(e,t){Object.getOwnPropertyDescriptor(o,e)||Object.defineProperty(o,e,{configurable:!0,get:function(){X("Module."+e+" has been replaced with plain "+t+" (the initial value can be provided on Module, but after startup the value is only looked for on a local variable of that name)")}})}function h(e,t){var n="'"+e+"' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)";return t&&(n+=". Alternatively, forcing filesystem support (-sFORCE_FILESYSTEM) can export this for you"),n}function _(e,t){Object.getOwnPropertyDescriptor(o,e)||Object.defineProperty(o,e,{configurable:!0,get:function(){X(h(e,t))}})}function y(e,t){Object.getOwnPropertyDescriptor(o,e)||(o[e]=()=>X(h(e,t)))}Object.assign(o,r),r=null,c="fetchSettings",Object.getOwnPropertyDescriptor(o,c)&&X("`Module."+c+"` was supplied but `"+c+"` not included in INCOMING_MODULE_JS_API"),o.arguments&&o.arguments,p("arguments","arguments_"),o.thisProgram&&o.thisProgram,p("thisProgram","thisProgram"),o.quit&&o.quit,p("quit","quit_"),m(typeof o.memoryInitializerPrefixURL>"u","Module.memoryInitializerPrefixURL option was removed, use Module.locateFile instead"),m(typeof o.pthreadMainPrefixURL>"u","Module.pthreadMainPrefixURL option was removed, use Module.locateFile instead"),m(typeof o.cdInitializerPrefixURL>"u","Module.cdInitializerPrefixURL option was removed, use Module.locateFile instead"),m(typeof o.filePackagePrefixURL>"u","Module.filePackagePrefixURL option was removed, use Module.locateFile instead"),m(typeof o.read>"u","Module.read option was removed (modify read_ in JS)"),m(typeof o.readAsync>"u","Module.readAsync option was removed (modify readAsync in JS)"),m(typeof o.readBinary>"u","Module.readBinary option was removed (modify readBinary in JS)"),m(typeof o.setWindowTitle>"u","Module.setWindowTitle option was removed (modify setWindowTitle in JS)"),m(typeof o.TOTAL_MEMORY>"u","Module.TOTAL_MEMORY has been renamed Module.INITIAL_MEMORY"),p("read","read_"),p("readAsync","readAsync"),p("readBinary","readBinary"),p("setWindowTitle","setWindowTitle"),m(!0,"worker environment detected but not enabled at build time. Add 'worker' to `-sENVIRONMENT` to enable."),m(!0,"node environment detected but not enabled at build time. Add 'node' to `-sENVIRONMENT` to enable."),m(!0,"shell environment detected but not enabled at build time. Add 'shell' to `-sENVIRONMENT` to enable."),o.wasmBinary&&(l=o.wasmBinary),p("wasmBinary","wasmBinary"),o.noExitRuntime,p("noExitRuntime","noExitRuntime"),"object"!=typeof WebAssembly&&X("no native wasm support detected");var I,f=!1;function m(e,t){e||X("Assertion failed"+(t?": "+t:""))}function B(e,t,n,r,i){var s={string:function(e){var t=0;if(null!=e&&0!==e){var n=1+(e.length<<2);!function(e,t,n){m("number"==typeof n,"stringToUTF8(str, outPtr, maxBytesToWrite) is missing the third parameter that specifies the length of the output buffer!"),D(e,v,t,n)}(e,t=De(n),n)}return t},array:function(e){var t=De(e.length);return S(e,t),t}},A=function(e){var t=o["_"+e];return m(t,"Cannot call unknown function "+e+", make sure it is exported"),t}(e),a=[],c=0;if(m("array"!==t,'Return type should not be "array".'),r)for(var l=0;l=o);)++r;if(r-t>16&&e.buffer&&w)return w.decode(e.subarray(t,r));for(var i="";t>10,56320|1023&c)}}else i+=String.fromCharCode((31&s)<<6|A)}else i+=String.fromCharCode(s)}return i}function k(e,t){return e?M(v,e,t):""}function D(e,t,n,o){if(!(o>0))return 0;for(var r=n,i=n+o-1,s=0;s=55296&&A<=57343&&(A=65536+((1023&A)<<10)|1023&e.charCodeAt(++s)),A<=127){if(n>=i)break;t[n++]=A}else if(A<=2047){if(n+1>=i)break;t[n++]=192|A>>6,t[n++]=128|63&A}else if(A<=65535){if(n+2>=i)break;t[n++]=224|A>>12,t[n++]=128|A>>6&63,t[n++]=128|63&A}else{if(n+3>=i)break;A>1114111&&u("Invalid Unicode code point 0x"+A.toString(16)+" encountered when serializing a JS string to a UTF-8 string in wasm memory! (Valid unicode code points should be in range 0-0x10FFFF)."),t[n++]=240|A>>18,t[n++]=128|A>>12&63,t[n++]=128|A>>6&63,t[n++]=128|63&A}}return t[n]=0,n-r}function O(e){for(var t=0,n=0;n=55296&&o<=57343&&(o=65536+((1023&o)<<10)|1023&e.charCodeAt(++n)),o<=127?++t:t+=o<=2047?2:o<=65535?3:4}return t}function S(e,t){m(e.length>=0,"writeArrayToMemory array must have a length (should be an array or typed array)"),E.set(e,t)}typeof TextDecoder<"u"&&new TextDecoder("utf-16le");var R=5242880;o.TOTAL_STACK&&m(R===o.TOTAL_STACK,"the stack size can no longer be determined at runtime");var L,T=o.INITIAL_MEMORY||16777216;function P(){var e=we();m(!(3&e)),Q[e>>2]=34821223,Q[e+4>>2]=2310721022,b[0]=1668509029}function G(){if(!f){var e=we(),t=b[e>>2],n=b[e+4>>2];(34821223!=t||2310721022!=n)&&X("Stack overflow! Stack cookie has been overwritten, expected hex dwords 0x89BACDFE and 0x2135467, but received 0x"+n.toString(16)+" 0x"+t.toString(16)),1668509029!==b[0]&&X("Runtime error: The application has corrupted its heap memory area (address zero)!")}}p("INITIAL_MEMORY","INITIAL_MEMORY"),m(T>=R,"INITIAL_MEMORY should be larger than TOTAL_STACK, was "+T+"! (TOTAL_STACK="+R+")"),m(typeof Int32Array<"u"&&typeof Float64Array<"u"&&null!=Int32Array.prototype.subarray&&null!=Int32Array.prototype.set,"JS engine does not provide full typed array support"),m(!o.wasmMemory,"Use of `wasmMemory` detected. Use -sIMPORTED_MEMORY to define wasmMemory externally"),m(16777216==T,"Detected runtime INITIAL_MEMORY setting. Use -sIMPORTED_MEMORY to define wasmMemory dynamically"),function(){var e=new Int16Array(1),t=new Int8Array(e.buffer);if(e[0]=25459,115!==t[0]||99!==t[1])throw"Runtime error: expected the system to be little-endian! (Run with -sSUPPORT_BIG_ENDIAN to bypass)"}();var x=[],Y=[],j=[],F=!1;function N(e){x.unshift(e)}function U(e){j.unshift(e)}m(Math.imul,"This browser does not support Math.imul(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill"),m(Math.fround,"This browser does not support Math.fround(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill"),m(Math.clz32,"This browser does not support Math.clz32(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill"),m(Math.trunc,"This browser does not support Math.trunc(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill");var H=0,q=null,J=null,K={};function V(e){for(var t=e;;){if(!K[e])return e;e=t+Math.random()}}function z(e){H++,o.monitorRunDependencies&&o.monitorRunDependencies(H),e?(m(!K[e]),K[e]=1,null===q&&typeof setInterval<"u"&&(q=setInterval((function(){if(f)return clearInterval(q),void(q=null);var e=!1;for(var t in K)e||(e=!0,d("still waiting on run dependencies:")),d("dependency: "+t);e&&d("(end of list)")}),1e4))):d("warning: run dependency added without ID")}function W(e){if(H--,o.monitorRunDependencies&&o.monitorRunDependencies(H),e?(m(K[e]),delete K[e]):d("warning: run dependency removed without ID"),0==H&&(null!==q&&(clearInterval(q),q=null),J)){var t=J;J=null,t()}}function X(e){o.onAbort&&o.onAbort(e),d(e="Aborted("+e+")"),f=!0;var t=new WebAssembly.RuntimeError(e);throw n(t),t}var Z,$,ee,te="data:application/octet-stream;base64,";function ne(e){return e.startsWith(te)}function oe(e,t){return function(){var n=e,r=t;return r=o.asm,m(F,"native function `"+n+"` called before runtime initialization"),r[e]||m(r[e],"exported native function `"+n+"` not found"),r[e].apply(null,arguments)}}function re(e){try{if(e==Z&&l)return new Uint8Array(l);var t=Be(e);if(t)return t;throw"both async and sync fetching of the wasm failed"}catch(e){X(e)}}function ie(e){for(;e.length>0;){var t=e.shift();if("function"!=typeof t){var n=t.func;"number"==typeof n?void 0===t.arg?se(n)():se(n)(t.arg):n(void 0===t.arg?null:t.arg)}else t(o)}}function se(e){return L.get(e)}function Ae(e){this.excPtr=e,this.ptr=e-24,this.set_type=function(e){b[this.ptr+4>>2]=e},this.get_type=function(){return b[this.ptr+4>>2]},this.set_destructor=function(e){b[this.ptr+8>>2]=e},this.get_destructor=function(){return b[this.ptr+8>>2]},this.set_refcount=function(e){Q[this.ptr>>2]=e},this.set_caught=function(e){e=e?1:0,E[this.ptr+12|0]=e},this.get_caught=function(){return 0!=E[this.ptr+12|0]},this.set_rethrown=function(e){e=e?1:0,E[this.ptr+13|0]=e},this.get_rethrown=function(){return 0!=E[this.ptr+13|0]},this.init=function(e,t){this.set_adjusted_ptr(0),this.set_type(e),this.set_destructor(t),this.set_refcount(0),this.set_caught(!1),this.set_rethrown(!1)},this.add_ref=function(){var e=Q[this.ptr>>2];Q[this.ptr>>2]=e+1},this.release_ref=function(){var e=Q[this.ptr>>2];return Q[this.ptr>>2]=e-1,m(e>0),1===e},this.set_adjusted_ptr=function(e){b[this.ptr+16>>2]=e},this.get_adjusted_ptr=function(){return b[this.ptr+16>>2]},this.get_exception_ptr=function(){if(Oe(this.get_type()))return b[this.excPtr>>2];var e=this.get_adjusted_ptr();return 0!==e?e:this.excPtr}}ne(Z="data:application/octet-stream;base64,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gD5dRQ0CGkF/IQICQCADKAKoBEEATA0AIANByARqIQVBACEBA0AgACAFIAEQPigCAEgEQCAFIAEQPigCACECDAILIAFBAWoiASADKAKoBEgNAAsLIAAgAk4NARAnIREgAysDiAIhFSADKgLABSEJIAQgAykDKDcDsAEgBCAJuzkDuAEgBCAVOQOoASAEIBE3A6ABIANBkyggBEGgAWoQIQwBCyAAIAUgASABIAVKGyICIABKDQEaCyAAIAJBf0YNABogAyACEEkLIQJBACEFIwBBEGsiASQAAkAgACACTg0AIANB9ARqIgYQHkUNACABIAYQQDYCCCABIAYQQTYCAAJAIAFBCGogARBCRQ0AIACsIREDQCABQQhqEEMpAwAgEVINASABQQhqIgcQRCABIAYQQTYCACAFQQFqIQUgByABEEINAAsLIAAgAiAFIAMoAqgFSBshAgsgAUEQaiQAAkACQCAAIAIiAUgEQCADKALwASADKAL0AXJFDQIgA0GgEkEAECEMAQsgACABTA0BIAMoAvQBRQ0BIANB4BJBABAhCyAAIQELIAMoAqwEIQIgAyoC6AEhCSADKgLQBSEKIAMqAuwBIQsgAyoC1AUhDCADKwOIAiEVIAMpAyghESADKQMYIRIgAyoCwAEhDSADKQMIIRMgAykDMCEUIAMqAsQFIQ4gAyoCyAUhDyADKAKkBSEFIAMoAqwFIQYgAyoCzAUhECADKAK0BSEHIAQgAykD8AE3AowBIAQgBzYCiAEgBCAQuzkDgAEgBCAGNgJ8IAQgBTYCeCAEIA+7OQNwIAQgDrs5A2ggBEEANgJkIAQgAjYCYCAEIBQ3A1ggBCATNwNQIAQgATYCTCAEIAA2AkggBEFAayANuzkDACAEIBI3AzggBCARNwMwIAQgFTkDKCAEIAy7OQMgIAQgC7s5AxggBCAKuzkDECAEIAm7OQMIIARBADYCACADQekhIAQQISADIAE2AnQgAyADKQMINwMAIAMgAyoC6AG7OQP4ASADIAMqAuwBuzkDgAIMAQsgACEBCyAEQeABaiQACyABCyEBEA0pAzC0IQkQDSoC2AEhChANKgLcASELAn8QDSoC4AFDAADIQpQiDItDAAAAT10EQCAMqAwBC0GAgICAeAshAhANKgLkASEMQRgQ9QEiACACNgIQIAACfyALQwAAyEKUIguL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EHkgA0EQaiQAC1IBAn8jAEEgayIDJAAgABAzIgIgA0EIaiAAIAAQHkEBahB6IAAQHiACEHsiAigCCCABEHggAiACKAIIQQhqNgIIIAAgAhB8IAIQfSADQSBqJAALJAEBfyMAQRBrIgEkACABQQhqIAAQRSgCACEAIAFBEGokACAACyEBAX8gASAAayEDIAAgAUcEQCACIAAgAxDLAQsgAiADags7AQJ/IwBBEGsiAyQAIAMgABB3IQIgABAzIAIoAgQgARCHASACIAIoAgRBCGo2AgQgAhB5IANBEGokAAtTAQJ/IwBBIGsiAyQAIAAQMyICIANBCGogACAAEB5BAWoQeiAAEB4gAhB7IgIoAgggARCHASACIAIoAghBCGo2AgggACACEHwgAhB9IANBIGokAAueAwEHfyAAKAIEIAAQMygCAEcEQCMAQRBrIgMkACADIABBARCMASECIAAQMyACKAIEIAEQjgEgAiACKAIEQQRqNgIEIAIQeSADQRBqJAAPCyMAQSBrIgYkACAAEDMiBAJ/IAAgABAaQQFqED0hAyAAEBohCCMAQRBrIgckACAHQQA2AgwgBkEIaiICQQxqIAQQgAEgAwRAIAIoAhAgAxCKASEFCyACIAU2AgAgAiAFIAhBAnRqIgQ2AgggAiAENgIEIAIQgQEgBSADQQJ0ajYCACAHQRBqJAAgAigCCAsgARCOASACIAIoAghBBGo2AgggABAlIAAQMyAAKAIAIAAoAgQgAkEEaiIBEIIBIAAgARCDASAAQQRqIAJBCGoQgwEgABAzIAIQgQEQgwEgAiACKAIENgIAIAAgABAaEIsBIAIoAgQiACACKAIIRwRAA0AgAigCEBogAiACKAIIQQRrNgIIIAIoAgggAEcNAAsLIAIoAgAEQCACKAIQGiACKAIAIQAgAhCBASgCACACKAIAaxogABDhAQsgBkEgaiQACz8BAX8gABCJASABSQRAEH8ACyAAIAAQMyABEIoBIgI2AgAgACACNgIEIAAQMyACIAFBAnRqNgIAIABBABCLAQtPAQF/IwBBEGsiBCQAIAQgACADEIwBIQMgABAzGiACIAFrIgBBAEoEQCADKAIEIAEgABDKARogAyADKAIEIABqNgIECyADEHkgBEEQaiQAC1gBAn8jAEEQayICJAAgAiABNgIMIAEgABCJASIDTQRAIAAQbCIAIANBAXZJBEAgAiAAQQF0NgIIIAJBCGogAkEMahB+KAIAIQMLIAJBEGokACADDwsQfwALGwAgABAaIAFNBEAQ9AEACyAAKAIAIAFBAnRqC3cCA38BfCMAQRBrIgEkACABIABBjAVqIgIQQDYCCCABIAIQQTYCAEEAIQAgAUEIaiABEEIEQANAIAFBCGoiAxBDKwMAIQQgAxBEIAEgAhBBNgIAIAAgBESamZmZmZm5P2NqIQAgAyABEEINAAsLIAFBEGokACAACyYBAX8jAEEQayIBJAAgAUEIaiAAEDIQRSgCACEAIAFBEGokACAACyYBAX8jAEEQayIBJAAgAUEIaiAAECoQRSgCACEAIAFBEGokACAACzUBAX8jAEEQayICJAAgAiAAKAIANgIIIAIgASgCADYCACACQQhqIAIQRiEAIAJBEGokACAACywBAX8jAEEQayIBJAAgASAAKAIANgIIIAFBCGoQRygCACEAIAFBEGokACAACwcAIAAQRxoLCwAgACABNgIAIAALDQAgACgCACABKAIARwsRACAAIAAoAgBBCGs2AgAgAAsRACAAIAAoAgBBCGo2AgAgAAtyAQV/AkAgACgCqARBAEwEQEF/IQQMAQsgAEHIBGohBkH/////ByEFQX8hBANAIAUgASAGIAMQPigCAGsiAiACQR91IgJzIAJrIgJKBEAgBiADED4oAgAhBCACIQULIANBAWoiAyAAKAKoBEgNAAsLIAQLogQBCH8jAEEQayIFJAACfyAFQQhqIgIgATYCBCACIAE2AgAjAEFAaiIDJAAgA0EYaiAAQSBqIgQQXgR/IAQoAgAiAUUEQEGhDkGXC0GtAUHfCBAAAAsgAQVBAAtBgAIQXCIBQRhqEF0gAUECNgIgIANBEGogABBFIQgjAEEQayIGJAAgAUEYakEAQQAQlwEgBkEIaiABEEUhCSACEJgBAkACQAJAIAEQkgENAAJAIAIQkwFFBEBBASEHIAEQkgFFDQFB/xBB/QpBuwRBqw0QAAALIAEgAiAAEJQBIAEQkgENASACEJgBIAEQkgENASACEJMBRQ0BQQIhByABEJIBDQILIAEgByACEJUBEJYBIAEQkgEaCyADIAEpAhg3AgggCSgCABC2ASAGQRBqJAAMAQtB/xBB/QpBxwRBqw0QAAALIAAgAykDCDcDOCAAQThqEF4hAiADQQA2AgQgA0EAQQMgAhs2AgACQCADKAIAIAMoAgRBAXFyBEAgBBCPAUEYRw0BIARBARCQASICIABHBEAgACACKQMANwMAIAAgAikDEDcDECAAIAIpAwg3AwggAkEAOwESCwsgCCgCAEEgaiICELYBAkAgAigCDCACKAIIRgRAIAIoAggQ4QEgAkEANgIQIAJCADcCCAwBCyACIAIQjwEQqQELIAEQZSADQUBrJAAgAAwBC0HED0HECkGoEkGIChAAAAshACAFQRBqJAAgAAsJACAAQThqEF4LtQEBA38jAEEQayICJAAjAEEQayIDJAAjAEEgayIEJAAgBCABEF8gAyAAIARBCGogBBBgELgBIARBIGokACADQQhqIAMQKygCACEBIANBEGokACACIAE2AggjAEEQayIBJAAgABC3AUUEQEH0EEHECkHbCUGHDhAAAAsgAUEIaiAAKAIIIAAoAgBBMGxqEEUoAgAhACABQRBqJAAgAiAANgIAIAJBCGogAhBGIQAgAkEQaiQAIAALdwEDfyMAQSBrIgIkACACIAEQXwJ/IAJBCGogAhBgIQMjAEEQayIBJAAgAUEIaiIEIAAgAxC4ASABIAAQuQEgBCABEEYEQCABKAIIIQAgAUEQaiQAIABBGGoMAQtBsQ1BxApBwglBtg4QAAALIQAgAkEgaiQAIAALCgAgAC8BEkEERgseACAAEE5FBEBB6hBBxApB6gxB+AwQAAALIAAoAgALQAACQCAAEE4EQCAAKAIAIAFNDQEgACgCCCABQRhsag8LQeoQQcQKQYQNQbYOEAAAC0GfDEHECkGFDUG2DhAAAAsQACAAEGEiAEEgahBhGiAACwgAIAAgARBNCywAIAAQYgRAIAAtABNBEHEEfyAABSAAKAIICw8LQa8RQcQKQbwOQdsLEAAAC5QBAQN/IAEQ0AEhAiMAQRBrIgQkAAJAIAIgABASBH8gABDtAUEBawVBCgsiA00EQCAAEA8hAyACBEAgAyABIAIQywELIARBADoADyACIANqIARBD2oQ7wECQCAAEBIEQCAAIAIQ8wEMAQsgACACEO4BCwwBCyAAIAMgAiADayAAEA4iACAAIAIgARD2AQsgBEEQaiQACyIAIAAtABJBIHFFBEBB8QtBxApBmA5BvggQAAALIAAoAgALDwAgAEEgahD3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IAAQMDcDMCACIAAqAsQFuzkDCCAAQYAFaiACQQhqEGogACkDMCEFDAELIAMgAxAeQQFrEDEpAwAhBSAAKQM4IQYgAAJ9IAFBAUYEQEMAAAAAIAUgBlUNARoLIAYgBX0iBkI/hyIHIAaFIAd9uSAFuaO2CyIIOALEBSACIAi7OQMIIABBgAVqIgEgAkEIahBqIAEQHiAAKAKMAUsEQCACIAEQKjYCCCABIAIgAkEIahArKAIAECwLIAEQKiEDIAEQMiEEIwBBIGsiASQAIAEgBDYCECABIAM2AhgCQCABQRhqIAFBEGoQRkUNACABIAEoAhg2AgAgARBIIAFBEGoQRkUNAANAIAEoAhggASgCABCIAQRAIAEgASgCADYCGAsgARBIIAFBEGoQRg0ACwsgASgCGCEDIAFBIGokACACIAM2AgggACACKAIIKwMAtjgCyAUgAAJ+IAAQMLQgACoCyAVDAACAP5KVIgiLQwAAAF9dBEAgCK4MAQtCgICAgICAgICAfwsiBTcDMAsgACAFNwM4IAJBEGokAAsfACAAKAIEIAAQMygCAEkEQCAAIAEQNA8LIAAgARA1CwsAIABBADYCACAACxIAIAAQMygCACAAKAIAa0ECdQssAQF/IAEgACgCBCICRwRAA0AgABAzGiACQQRrIgIgAUcNAAsLIAAgATYCBAsSACAAEDMoAgAgACgCAGtBA3ULLAEBfyABIAAoAgQiAkcEQANAIAAQMxogAkEIayICIAFHDQALCyAAIAE2AgQLBwAgAEEEagsJACAAEHAoAgALKgAgAQRAIAAgASgCABByIAAgASgCBBByIAAQcBogAUEQahBzIAEQ4QELCwkAIABBBGoQVgsqACABBEAgACABKAIAEHQgACABKAIEEHQgABBwGiABQRBqEHUgARDhAQsLCQAgAEEEahBZC2QBA39BCBABIgFB/MQANgIAIAFBqMUANgIAIAAQ0AEiAkENahD1ASIDQQA2AgggAyACNgIEIAMgAjYCACABIANBDGogACACQQFqEMoBNgIEIAFB2MUANgIAIAFB+MUAQQIQAgALIQAgACABNgIAIAAgASgCBCIBNgIEIAAgAUEIajYCCCAACwwAIAEgAisDADkDAAsPACAAKAIAIAAoAgQ2AgQLkAEBA38jAEEQayICJAAgAiABNgIMIwBBEGsiAyQAIAAQMxogA0H/////ATYCDCADQf////8HNgIIIANBDGogA0EIahCEASgCACEEIANBEGokACABIARNBEAgABBuIgAgBEEBdkkEQCACIABBAXQ2AgggAkEIaiACQQxqEH4oAgAhBAsgAkEQaiQAIAQPCxB/AAt7AQJ/IwBBEGsiBSQAIAVBADYCDCAAQQxqIAMQgAEgAQRAIAAoAhAaIAFB/////wFLBEBBtAwQdgALIAFBA3QQ9QEhBAsgACAENgIAIAAgBCACQQN0aiICNgIIIAAgAjYCBCAAEIEBIAQgAUEDdGo2AgAgBUEQaiQAIAALdwEBfyAAECYgABAzIAAoAgAgACgCBCABQQRqIgIQggEgACACEIMBIABBBGogAUEIahCDASAAEDMgARCBARCDASABIAEoAgQ2AgAgABAeGiAAKAIAGiAAKAIAIAAQbkEDdGoaIAAoAgAgABBuQQN0ahogACgCABoLXQEBfyAAKAIEIgEgACgCCEcEQANAIAAoAhAaIAAgACgCCEEIazYCCCAAKAIIIAFHDQALCyAAKAIABEAgACgCEBogACgCACEBIAAQgQEoAgAgACgCAGsaIAEQ4QELCyQBAn8jAEEQayICJAAgACABEIUBIQMgAkEQaiQAIAEgACADGwsIAEHYCBB2AAsOACAAEGtBBGogARBFGgsHACAAQQxqCygAIAMgAygCACACIAFrIgBrIgI2AgAgAEEASgRAIAIgASAAEMoBGgsLHAEBfyAAKAIAIQIgACABKAIANgIAIAEgAjYCAAskAQJ/IwBBEGsiAiQAIAEgABCFASEDIAJBEGokACABIAAgAxsLDQAgACgCACABKAIASQsHACAAKAIECwwAIAEgAikDADcDAAsNACAAKwMAIAErAwBjC0MBAX8jAEEQayIBJAAgABAzGiABQf////8DNgIMIAFB/////wc2AgggAUEMaiABQQhqEIQBKAIAIQAgAUEQaiQAIAALHAAgAUH/////A0sEQEG0DBB2AAsgAUECdBD1AQsqACAAKAIAGiAAKAIAIAAQbEECdGoaIAAoAgAgABBsQQJ0ahogACgCABoLJAAgACABNgIAIAAgASgCBCIBNgIEIAAgASACQQJ0ajYCCCAACyQBAX8jAEEQayIBJAAgASAANgIIIAEoAgghACABQRBqJAAgAAsMACABIAIo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CCACQQA2AgAgCARAIAIQcCICLQAEBEAgAigCABogCEEQahB1CyAIBEAgAigCABogCBDhAQsLCyAFQRhqIgIgAEEIaiADEEUgAEEbahC+ASAAQSBqJAAgAhBjIQAgBUEgaiQAIABBBGoiACAHEGQgACAHKAIUNgIUIAAgBykCDDcCDCAAQRhqIAdBGGoQZCAEIAEoApABNgLYBCAPIAwQOiAEIAQoAtQEQQFqNgLUBCAHEA8hACABKAKQASECIAEoAowBIQMgASgClAEhBSABIA0QDzYCECABIAU2AgwgASADNgIIIAEgAjYCBCABIAA2AgAgBEGxFCABECEgBxBZIAkQTyAGQQFqIgZLDQALCyAEQdwEaiIAECogABAyEFoLIAooAhwiBgRAIAYoAgAiByAGKAIIIgBGIQQCQCAHRSAAIAdGckUEQANAIAcoAgghACAHEOEBIAYgADYCACAAIAYoAggiAkYhBCAARQ0CIAAhByAAIAJHDQAMAgsACyAHIQALIABFIARFckUEQCAAQQA2AgQLIAYoAhAiAARAIAAQ4QELIAYQ4QELIApBIGoQZSABQfABaiQAC0EBAn8QDSEDIwBBEGsiAiQAIAIgAbs5AwggAiAAuzkDACADQbIVIAIQISADIAE4AuQFIAMgADgC4AUgAkEQaiQAC4AEAQN/IAJBgARPBEAgACABIAIQAyAADwsgACACaiEDAkAgACABc0EDcUUEQAJAIABBA3FFBEAgACECDAELIAJFBEAgACECDAELIAAhAgNAIAIgAS0AADoAACABQQFqIQEgAkEBaiICQQNxRQ0BIAIgA0kNAAsLAkAgA0F8cSIEQcAASQ0AIAIgBEFAaiIFSw0AA0AgAiABKAIANgIAIAIgASgCBDYCBCACIAEoAgg2AgggAiABKAIMNgIMIAIgASgCEDYCECACIAEoAhQ2AhQgAiABKAIYNgIYIAIgASgCHDYCHCACIAEoAiA2AiAgAiABKAIkNgIkIAIgASgCKDYCKCACIAEoAiw2AiwgAiABKAIwNgIwIAIgASgCNDYCNCACIAEoAjg2AjggAiABKAI8NgI8IAFBQGshASACQUBrIgIgBU0NAAsLIAIgBE8NAQNAIAIgASgCADYCACABQQRqIQEgAkEEaiICIARJDQALDAELIANBBEkEQCAAIQIMAQsgACADQQRrIgRLBEAgACECDAELIAAhAgNAIAIgAS0AADoAACACIAEtAAE6AAEgAiABLQACOgACIAIgAS0AAzoAAyABQQRqIQEgAkEEaiICIARNDQALCyACIANJBEADQCACIAEtAAA6AAAgAUEBaiEBIAJBAWoiAiADRw0ACwsgAAvWAgECfwJAIAAgAUYNACABIAAgAmoiBGtBACACQQF0a00EQCAAIAEgAhDKARoPCyAAIAFzQQNxIQMCQAJAIAAgAUkEQCADDQIgAEEDcUUNAQNAIAJFDQQgACABLQAAOgAAIAFBAWohASACQQFrIQIgAEEBaiIAQQNxDQALDAELAkAgAw0AIARBA3EEQANAIAJFDQUgACACQQFrIgJqIgMgASACai0AADoAACADQQNxDQALCyACQQNNDQADQCAAIAJBBGsiAmogASACaigCADYCACACQQNLDQALCyACRQ0CA0AgACACQQFrIgJqIAEgAmotAAA6AAAgAg0ACwwCCyACQQNNDQADQCAAIAEoAgA2AgAgAUEEaiEBIABBBGohACACQQRrIgJBA0sNAAsLIAJFDQADQCAAIAEtAAA6AAAgAEEBaiEAIAFBAWohASACQQFrIgINAAsLC/ICAgJ/AX4CQCACRQ0AIAAgAToAACAAIAJqIgNBAWsgAToAACACQQNJDQAgACABOgACIAAgAToAASADQQNrIAE6AAAgA0ECayABOgAAIAJBB0kNACAAIAE6AAMgA0EEayABOgAAIAJBCUkNACAAQQAgAGtBA3EiBGoiAyABQf8BcUGBgoQIbCIBNgIAIAMgAiAEa0F8cSIEaiICQQRrIAE2AgAgBEEJSQ0AIAMgATYCCCADIAE2AgQgAkEIayABNgIAIAJBDGsgATYCACAEQRlJDQAgAyABNgIYIAMgATYCFCADIAE2AhAgAyABNgIMIAJBEGsgATYCACACQRRrIAE2AgAgAkEYayABNgIAIAJBHGsgATYCACAEIANBBHFBGHIiBGsiAkEgSQ0AIAGtQoGAgIAQfiEFIAMgBGohAQNAIAEgBTcDGCABIAU3AxAgASAFNwMIIAEgBTcDACABQSBqIQEgAkEgayICQR9LDQALCyAACwYAQdzPAAvYAgEHfyMAQSBrIgMkACADIAAoAhwiBDYCECAAKAIUIQUgAyACNgIcIAMgATYCGCADIAUgBGsi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AmohBwsgAUQAAAAAAAAAAGINAAtBfyEJQf3///8HIAogESANayIFaiIGayADSA0AIABBICACIAYCfwJAIANFDQAgByALQRBqayIIQQJrIANODQAgA0ECagwBCyAHIAtBEGprIggLIgdqIgMgBBDbASAAIAwgChDXASAAQTAgAiADIARBgIAEcxDbASAAIAtBEGogCBDXASAAQTAgByAIa0EAQQAQ2wEgACANIAUQ1wEgAEEgIAIgAyAEQYDAAHMQ2wEgAyACIAIgA0gbIQkLIAtBsARqJAAgCQuJBQIGfgF/IAEgASgCAEEHakF4cSIBQRBqNgIAIAACfCABKQMAIQQgASkDCCEFIwBBIGsiACQAAkAgBUL///////////8AgyIDQoCAgICAgMCAPH0gA0KAgICAgIDA/8MAfVQEQCAFQgSGIARCPIiEIQMgBEL//////////w+DIgRCgYCAgICAgIAIWgRAIANCgYCAgICAgIDAAHwhAgwCCyADQoCAgICAgICAQH0hAiAEQoCAgICAgICACFINASACIANCAYN8IQIMAQsgBFAgA0KAgICAgIDA//8AVCADQoCAgICAgMD//wBRG0UEQCAFQgSGIARCPIiEQv////////8Dg0KAgICAgICA/P8AhCECDAELQoCAgICAgID4/wAhAiADQv///////7//wwBWDQBCACECIANCMIinIgFBkfcASQ0AIAQhAiAFQv///////z+DQoCAgICAgMAAhCIDIQYCQCABQYH3AGsiCEHAAHEEQCACIAhBQGqthiEGQgAhAgwBCyAIRQ0AIAYgCK0iB4YgAkHAACAIa62IhCEGIAIgB4YhAgsgACACNwMQIAAgBjcDGAJAQYH4ACABayIBQcAAcQRAIAMgAUFAaq2IIQRCACEDDAELIAFFDQAgA0HAACABa62GIAQgAa0iAoiEIQQgAyACiCEDCyAAIAQ3AwAgACADNwMIIAApAwhCBIYgACkDACIEQjyIhCECIAApAxAgACkDGIRCAFKtIARC//////////8Pg4QiBEKBgICAgICAgAhaBEAgAkIBfCECDAELIARCgICAgICAgIAIUg0AIAJCAYMgAnwhAgsgAEEgaiQAIAIgBUKAgICAgICAgIB/g4S/CzkDAAsWACAARQRAQQAPC0HczwAgADYCAEF/C5kCACAARQRA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cmFwaWRqc29uL2ludGVybmFsL3BvdzEwLmgAR2V0U3RyaW5nAFBhcnNlU3RyaW5nAGRhdGFfLmYuZmxhZ3MgJiBrSW50RmxhZwBpbmYAR2VuZXJpY1N0cmluZ1JlZgBpbmRleCA8IGRhdGFfLmEuc2l6ZQBhbGxvY2F0b3I8VD46OmFsbG9jYXRlKHNpemVfdCBuKSAnbicgZXhjZWVkcyBtYXhpbXVtIHN1cHBvcnRlZCBzaXplAFNpemUAUGFyc2VUcnVlAEdlbmVyaWNWYWx1ZQBmcmFtZV9yYXRlAHNhbXBsZV9yYXRlAFBhcnNlAGZhbHNlAFBhcnNlRmFsc2UAdHlwZSA+PSBrTnVsbFR5cGUgJiYgdHlwZSA8PSBrTnVtYmVyVHlwZQBHZXREb3VibGUAUHVzaFVuc2FmZQBFbmNvZGUATWVtYmVyRW5kAHN0cmVhbV9pZABjb2RlYwBhbGxvY2F0b3JfAHN0YWNrVG9wXwBvcGVyYXRvcltdAE5BTgBJTkYAY29kZXBvaW50IDw9IDB4MTBGRkZGAG4gPj0gMCAmJiBuIDw9IDMwOABQYXJzZUhleDQAUG93MTAAZXhwRnJhYyA8PSAwAHN0ciAhPSAwAChkYXRhXy5mLmZsYWdzICYga1VpbnQ2NEZsYWcpICE9IDAALgAobnVsbCkAc3RhY2tfLkdldFNpemUoKSA9PSBzaXplb2YoVmFsdWVUeXBlKQBzdGF0aWNfY2FzdDxzdGQ6OnB0cmRpZmZfdD4oc2l6ZW9mKFQpICogY291bnQpIDw9IChzdGFja0VuZF8gLSBzdGFja1RvcF8pAEdldFNpemUoKSA+PSBzaXplb2YoVCkAR2V0U2l6ZSgpID49IGNvdW50ICogc2l6ZW9mKFQpAElzQXJyYXkoKQBJc09iamVjdCgpACFIYXNQYXJzZUVycm9yKCkASXNOdW1iZXIoKQByaHMuSXNTdHJpbmcoKQBuYW1lLklzU3RyaW5nKCkAaXMuUGVlaygpID09ICd7JwBpcy5QZWVrKCkgPT0gJ3QnAGlzLlBlZWsoKSA9PSAnbicAaXMuUGVlaygpID09ICdmJwBpcy5QZWVrKCkgPT0gJ1snAHMuUGVlaygpID09ICdcIicAW1NlbGVjdG9yTG9nXSBpcyBzdGFsbGluZyBvciBoYXMgZnJhbWUgdHJhY2VkLCBjYW4ndCBzd2l0Y2ggdXAhAFtTZWxlY3RvckxvZ10ganVzdCBoYXMgZnJhbWUgdHJhY2VkLCBjYW4ndCBzd2l0Y2ggZG93biEAJWQgAFtTZWxlY3RvckxvZ10gU3VwcG9ydCBiaXRyYXRlOiAAW1NlbGVjdG9yTG9nXSB2aWRlb19zdHJlYW0gc3RyZWFtX2lkOiVzIHNlZ21lbnRfZHVyYXRpb246JWQgYmFuZHdpZHRoOiVkIHdpZHRoOiVkIGhlaWdodDolZCBmcmFtZXJhdGU6JS4yZiBjb2RlYzolcwoAW1NlbGVjdG9yTG9nXSBhdWRpb19zdHJlYW0gc3RyZWFtX2lkOiVzIHNlZ21lbnRfZHVyYXRpb246JWQgYmFuZHdpZHRoOiVkIHNhbXBsZV9yYXRlOiVkIGNvZGVjOiVzCgBbU2VsZWN0b3JMb2ddIE1QRCBpbmZvIGlzOiAlcwoAW1NlbGVjdG9yTG9nXSB1cGRhdGVCQjRMaXZlVjRQYXJhbXMgbG93X2J1ZmZlcl90aHJlc2hvbGQ9JWYgaGlnaF9idWZmZXJfdGhyZXNob2xkPSVmCgBbU2VsZWN0b3JMb2ddIFtBbGdvcml0aG1GaXhlZCVkXSBtZWRpYV90eXBlOiVkLCBhdWRpb19idWZmZXJfbGVuZ3RoOiUuMmYsIGF1ZGlvX2J1ZmZlcl9yYXRlOiUuMmYsIHZpZGVvX2J1ZmZlcl9sZW5ndGg6JS4yZiwgdmlkZW9fYnVmZmVyX3JhdGU6JS4yZiwgYnVmZmVyX2xlbmd0aDolLjJsZi8lbGxkLCBiYW5kd2lkdGg6JWxsZCwgcGxheV9zcGVlZDolLjJmLCBjdXJyZW50X2JpdHJhdGU6JWQsIHByZWRpY3RfYml0cmF0ZTolZCwgbm93X2NoZWNrX3RpbWU6JWxsZCwgcHJlZGljdGVkX2JhbmR3aWR0aDolbGxkLCBzZWdtZW50X2R1cmF0aW9uOiVkLCBuZXR3b3JrX3N0YXRlOiVkLCBwcmVkaWN0ZWRfZXJyb3I6JS4yZiwgbWF4X2Vycm9yOiUuMmYsIHN3aXRjaF9tb2RlOiVkLCBoaWdoX2J1ZmZlcl9jb3VudHM6JWQsIGluc3RhbnRfYnVmZmVyX3Nsb3BlOiUuMmYsIG5lZ2F0aXZlX2J1ZmZlcl9zbG9wZV9jb3VudHM6JWQKAFtTZWxlY3RvckxvZ10gdmlkZW9fbWVkaWFfaW5mbyBzZWdtZW50X2R1cmF0aW9uOiVkIGJpdHJhdGU6JWQgd2lkdGg6JWQgaGVpZ2h0OiVkIGJpdHJhdGVfbGV2ZWxzOiVkCgBbU2VsZWN0b3JMb2ddIFtmaW5kTWF4Qml0cmF0ZTRTY3JlZW5dIFNldCBBQlIgbWF4IGJpdHJhdGUgZm9yIHNjcmVlbjolZAoAW1NlbGVjdG9yTG9nXSBbJXNdIHN0YXJ0dXBfaW5mbyB0aW1lOiVsbHUgb3Blbl90aW1lOiVsbHUgbm93X2NoZWNrX3RpbWU6JWxsdSBkb3dubG9hZF9zcGVlZDolbGxkIHByZWRpY3RlZF9iYW5kd2lkdGg6JWxsZCBiaXRyYXRlOiVkIGN1cnJlbnRfYml0cmF0ZTolZCBidWZmZXJfbGVuZ3RoOiUuMmYgcHJlZGljdGVkX2Vycm9yOiUuMmYgbWF4X2Vycm9yOiUuMmYgc2Vla19hY3Rpb246JWQgcGxheV9wb3NpdGlvbjolbGxkIGhhc19zdGFydDolZCBzdGFydHVwX2RlY2lzaW9uX2NvdW50OiVkIHN0YXJ0dXBfbW9kZWw6JWQKAFtTZWxlY3RvckxvZ10gc2l6ZTolZCBidWZmZXJfc3RkOiUuMmYgd2luZG93X3NpemU6JWQKAFtTZWxlY3RvckxvZ10gW0FsZ29yaXRobVVwZ3JhZGVMaXZlXSBtZWRpYV90eXBlOiVkLCBhdWRpb19idWZmZXJfbGVuZ3RoOiUuMmYsIGF1ZGlvX2J1ZmZlcl9yYXRlOiUuMmYsIHZpZGVvX2J1ZmZlcl9sZW5ndGg6JS4yZiwgdmlkZW9fYnVmZmVyX3JhdGU6JS4yZiwgYnVmZmVyX2xlbmd0aDolLjJsZi8lbGxkLCBiYW5kd2lkdGg6JWxsZCwgcGxheV9zcGVlZDolLjJmLCBjdXJyZW50X2JpdHJhdGU6JWQsIHByZWRpY3RfYml0cmF0ZTolZCwgbm93X2NoZWNrX3RpbWU6JWxsZCwgcHJlZGljdGVkX2JhbmR3aWR0aDolbGxkLCBzZWdtZW50X2R1cmF0aW9uOiVkLCBuZXR3b3JrX3N0YXRlOiVkLCBwcmVkaWN0ZWRfZXJyb3I6JS4yZiwgbWF4X2Vycm9yOiUuMmYsIHN3aXRjaF9tb2RlOiVkLCBoaWdoX2J1ZmZlcl9jb3VudHM6JWQsIGluc3RhbnRfYnVmZmVyX3Nsb3BlOiUuMmYsIG5lZ2F0aXZlX2J1ZmZlcl9zbG9wZV9jb3VudHM6JWQsIGlzX3N0YWxsaW5nOiVkLCBoYXNfZnJhbWVfdHJhY2U6JWQKAFtTZWxlY3RvckxvZ10gW0FsZ29yaXRobUJCNExpdmVWNF0gbWVkaWFfdHlwZTolZCwgYXVkaW9fYnVmZmVyX2xlbmd0aDolLjJmLCBhdWRpb19idWZmZXJfcmF0ZTolLjJmLCB2aWRlb19idWZmZXJfbGVuZ3RoOiUuMmYsIHZpZGVvX2J1ZmZlcl9yYXRlOiUuMmYsIGJ1ZmZlcl9sZW5ndGg6JS4ybGYvJWxsZCwgYmFuZHdpZHRoOiVsbGQsIHBsYXlfc3BlZWQ6JS4yZiwgY3VycmVudF9iaXRyYXRlOiVkLCBwcmVkaWN0X2JpdHJhdGU6JWQsIG5vd19jaGVja190aW1lOiVsbGQsIHByZWRpY3RlZF9iYW5kd2lkdGg6JWxsZCwgc2VnbWVudF9kdXJhdGlvbjolZCwgbmV0d29ya19zdGF0ZTolZCwgcHJlZGljdGVkX2Vycm9yOiUuMmYsIG1heF9lcnJvcjolLjJmLCBzd2l0Y2hfbW9kZTolZCwgaGlnaF9idWZmZXJfY291bnRzOiVkLCBpbnN0YW50X2J1ZmZlcl9zbG9wZTolLjJmLCBuZWdhdGl2ZV9idWZmZXJfc2xvcGVfY291bnRzOiVkLCBpc19zdGFsbGluZzolZCwgaGFzX2ZyYW1lX3RyYWNlOiVkCgBbU2VsZWN0b3JMb2ddIFthZGp1c3RCaXRyYXRlXSBBQlIgcHJlZGljdCBiaXRyYXRlOiVkIGFkanVzdCBtYXggYml0cmF0ZTolZCB0byAlZAoAW1NlbGVjdG9yTG9nXSBbJXNdIFN0YXJ0dXAgc2hvdWxkIG5vdCBzd2l0Y2ggYml0cmF0ZSwgbm93X2NoZWNrX3RpbWU6ICVsbGQsIHRocmVzaG9sZDogJWQKAFtTZWxlY3RvckxvZ10gW0VSUk9SXSBObyB2X2FkYXB0YXRpb24gaW4gTVBEIQoAW1NlbGVjdG9yTG9nXSBb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")||(Z=function(e){return o.locateFile?o.locateFile(e,a):a+e}(Z));var ae={isAbs:e=>"/"===e.charAt(0),splitPath:e=>/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/.exec(e).slice(1),normalizeArray:(e,t)=>{for(var n=0,o=e.length-1;o>=0;o--){var r=e[o];"."===r?e.splice(o,1):".."===r?(e.splice(o,1),n++):n&&(e.splice(o,1),n--)}if(t)for(;n;n--)e.unshift("..");return e},normalize:e=>{var t=ae.isAbs(e),n="/"===e.substr(-1);return!(e=ae.normalizeArray(e.split("/").filter((e=>!!e)),!t).join("/"))&&!t&&(e="."),e&&n&&(e+="/"),(t?"/":"")+e},dirname:e=>{var t=ae.splitPath(e),n=t[0],o=t[1];return n||o?(o&&(o=o.substr(0,o.length-1)),n+o):"."},basename:e=>{if("/"===e)return"/";var t=(e=(e=ae.normalize(e)).replace(/\/$/,"")).lastIndexOf("/");return-1===t?e:e.substr(t+1)},join:function(){var e=Array.prototype.slice.call(arguments,0);return ae.normalize(e.join("/"))},join2:(e,t)=>ae.normalize(e+"/"+t)},ce={resolve:function(){for(var e="",t=!1,n=arguments.length-1;n>=-1&&!t;n--){var o=n>=0?arguments[n]:pe.cwd();if("string"!=typeof o)throw new TypeError("Arguments to path.resolve must be strings");if(!o)return"";e=o+"/"+e,t=ae.isAbs(o)}return(t?"/":"")+(e=ae.normalizeArray(e.split("/").filter((e=>!!e)),!t).join("/"))||"."},relative:(e,t)=>{function n(e){for(var t=0;t=0&&""===e[n];n--);return t>n?[]:e.slice(t,n-t+1)}e=ce.resolve(e).substr(1),t=ce.resolve(t).substr(1);for(var o=n(e.split("/")),r=n(t.split("/")),i=Math.min(o.length,r.length),s=i,A=0;A0&&(g(M(e.output,0)),e.output=[])}},default_tty1_ops:{put_char:function(e,t){null===t||10===t?(d(M(e.output,0)),e.output=[]):0!=t&&e.output.push(t)},flush:function(e){e.output&&e.output.length>0&&(d(M(e.output,0)),e.output=[])}}},ge={ops_table:null,mount:function(e){return ge.createNode(null,"/",16895,0)},createNode:function(e,t,n,o){if(pe.isBlkdev(n)||pe.isFIFO(n))throw new pe.ErrnoError(63);ge.ops_table||(ge.ops_table={dir:{node:{getattr:ge.node_ops.getattr,setattr:ge.node_ops.setattr,lookup:ge.node_ops.lookup,mknod:ge.node_ops.mknod,rename:ge.node_ops.rename,unlink:ge.node_ops.unlink,rmdir:ge.node_ops.rmdir,readdir:ge.node_ops.readdir,symlink:ge.node_ops.symlink},stream:{llseek:ge.stream_ops.llseek}},file:{node:{getattr:ge.node_ops.getattr,setattr:ge.node_ops.setattr},stream:{llseek:ge.stream_ops.llseek,read:ge.stream_ops.read,write:ge.stream_ops.write,allocate:ge.stream_ops.allocate,mmap:ge.stream_ops.mmap,msync:ge.stream_ops.msync}},link:{node:{getattr:ge.node_ops.getattr,setattr:ge.node_ops.setattr,readlink:ge.node_ops.readlink},stream:{}},chrdev:{node:{getattr:ge.node_ops.getattr,setattr:ge.node_ops.setattr},stream:pe.chrdev_stream_ops}});var r=pe.createNode(e,t,n,o);return pe.isDir(r.mode)?(r.node_ops=ge.ops_table.dir.node,r.stream_ops=ge.ops_table.dir.stream,r.contents={}):pe.isFile(r.mode)?(r.node_ops=ge.ops_table.file.node,r.stream_ops=ge.ops_table.file.stream,r.usedBytes=0,r.contents=null):pe.isLink(r.mode)?(r.node_ops=ge.ops_table.link.node,r.stream_ops=ge.ops_table.link.stream):pe.isChrdev(r.mode)&&(r.node_ops=ge.ops_table.chrdev.node,r.stream_ops=ge.ops_table.chrdev.stream),r.timestamp=Date.now(),e&&(e.contents[t]=r,e.timestamp=r.timestamp),r},getFileDataAsTypedArray:function(e){return e.contents?e.contents.subarray?e.contents.subarray(0,e.usedBytes):new Uint8Array(e.contents):new Uint8Array(0)},expandFileStorage:function(e,t){var n=e.contents?e.contents.length:0;if(!(n>=t)){t=Math.max(t,n*(n<1048576?2:1.125)>>>0),0!=n&&(t=Math.max(t,256));var o=e.contents;e.contents=new Uint8Array(t),e.usedBytes>0&&e.contents.set(o.subarray(0,e.usedBytes),0)}},resizeFileStorage:function(e,t){if(e.usedBytes!=t)if(0==t)e.contents=null,e.usedBytes=0;else{var n=e.contents;e.contents=new Uint8Array(t),n&&e.contents.set(n.subarray(0,Math.min(t,e.usedBytes))),e.usedBytes=t}},node_ops:{getattr:function(e){var t={};return t.dev=pe.isChrdev(e.mode)?e.id:1,t.ino=e.id,t.mode=e.mode,t.nlink=1,t.uid=0,t.gid=0,t.rdev=e.rdev,pe.isDir(e.mode)?t.size=4096:pe.isFile(e.mode)?t.size=e.usedBytes:pe.isLink(e.mode)?t.size=e.link.length:t.size=0,t.atime=new Date(e.timestamp),t.mtime=new Date(e.timestamp),t.ctime=new Date(e.timestamp),t.blksize=4096,t.blocks=Math.ceil(t.size/t.blksize),t},setattr:function(e,t){void 0!==t.mode&&(e.mode=t.mode),void 0!==t.timestamp&&(e.timestamp=t.timestamp),void 0!==t.size&&ge.resizeFileStorage(e,t.size)},lookup:function(e,t){throw pe.genericErrors[44]},mknod:function(e,t,n,o){return ge.createNode(e,t,n,o)},rename:function(e,t,n){if(pe.isDir(e.mode)){var o;try{o=pe.lookupNode(t,n)}catch{}if(o)for(var r in o.contents)throw new pe.ErrnoError(55)}delete e.parent.contents[e.name],e.parent.timestamp=Date.now(),e.name=n,t.contents[n]=e,t.timestamp=e.parent.timestamp,e.parent=t},unlink:function(e,t){delete e.contents[t],e.timestamp=Date.now()},rmdir:function(e,t){var n=pe.lookupNode(e,t);for(var o in n.contents)throw new pe.ErrnoError(55);delete e.contents[t],e.timestamp=Date.now()},readdir:function(e){var t=[".",".."];for(var n in e.contents)e.contents.hasOwnProperty(n)&&t.push(n);return t},symlink:function(e,t,n){var o=ge.createNode(e,t,41471,0);return o.link=n,o},readlink:function(e){if(!pe.isLink(e.mode))throw new pe.ErrnoError(28);return e.link}},stream_ops:{read:function(e,t,n,o,r){var i=e.node.contents;if(r>=e.node.usedBytes)return 0;var s=Math.min(e.node.usedBytes-r,o);if(m(s>=0),s>8&&i.subarray)t.set(i.subarray(r,r+s),n);else for(var A=0;A0||o+n{if(!(e=ce.resolve(pe.cwd(),e)))return{path:"",node:null};if((t=Object.assign({follow_mount:!0,recurse_count:0},t)).recurse_count>8)throw new pe.ErrnoError(32);for(var n=ae.normalizeArray(e.split("/").filter((e=>!!e)),!1),o=pe.root,r="/",i=0;i40)throw new pe.ErrnoError(32)}}return{path:r,node:o}},getPath:e=>{for(var t;;){if(pe.isRoot(e)){var n=e.mount.mountpoint;return t?"/"!==n[n.length-1]?n+"/"+t:n+t:n}t=t?e.name+"/"+t:e.name,e=e.parent}},hashName:(e,t)=>{for(var n=0,o=0;o>>0)%pe.nameTable.length},hashAddNode:e=>{var t=pe.hashName(e.parent.id,e.name);e.name_next=pe.nameTable[t],pe.nameTable[t]=e},hashRemoveNode:e=>{var t=pe.hashName(e.parent.id,e.name);if(pe.nameTable[t]===e)pe.nameTable[t]=e.name_next;else for(var n=pe.nameTable[t];n;){if(n.name_next===e){n.name_next=e.name_next;break}n=n.name_next}},lookupNode:(e,t)=>{var n=pe.mayLookup(e);if(n)throw new pe.ErrnoError(n,e);for(var o=pe.hashName(e.id,t),r=pe.nameTable[o];r;r=r.name_next){var i=r.name;if(r.parent.id===e.id&&i===t)return r}return pe.lookup(e,t)},createNode:(e,t,n,o)=>{m("object"==typeof e);var r=new pe.FSNode(e,t,n,o);return pe.hashAddNode(r),r},destroyNode:e=>{pe.hashRemoveNode(e)},isRoot:e=>e===e.parent,isMountpoint:e=>!!e.mounted,isFile:e=>32768==(61440&e),isDir:e=>16384==(61440&e),isLink:e=>40960==(61440&e),isChrdev:e=>8192==(61440&e),isBlkdev:e=>24576==(61440&e),isFIFO:e=>4096==(61440&e),isSocket:e=>!(49152&~e),flagModes:{r:0,"r+":2,w:577,"w+":578,a:1089,"a+":1090},modeStringToFlags:e=>{var t=pe.flagModes[e];if(typeof t>"u")throw new Error("Unknown file open mode: "+e);return t},flagsToPermissionString:e=>{var t=["r","w","rw"][3&e];return 512&e&&(t+="w"),t},nodePermissions:(e,t)=>pe.ignorePermissions?0:t.includes("r")&&!(292&e.mode)||t.includes("w")&&!(146&e.mode)||t.includes("x")&&!(73&e.mode)?2:0,mayLookup:e=>pe.nodePermissions(e,"x")||(e.node_ops.lookup?0:2),mayCreate:(e,t)=>{try{return pe.lookupNode(e,t),20}catch{}return pe.nodePermissions(e,"wx")},mayDelete:(e,t,n)=>{var o;try{o=pe.lookupNode(e,t)}catch(e){return e.errno}var r=pe.nodePermissions(e,"wx");if(r)return r;if(n){if(!pe.isDir(o.mode))return 54;if(pe.isRoot(o)||pe.getPath(o)===pe.cwd())return 10}else if(pe.isDir(o.mode))return 31;return 0},mayOpen:(e,t)=>e?pe.isLink(e.mode)?32:pe.isDir(e.mode)&&("r"!==pe.flagsToPermissionString(t)||512&t)?31:pe.nodePermissions(e,pe.flagsToPermissionString(t)):44,MAX_OPEN_FDS:4096,nextfd:(e=0,t=pe.MAX_OPEN_FDS)=>{for(var n=e;n<=t;n++)if(!pe.streams[n])return n;throw new pe.ErrnoError(33)},getStream:e=>pe.streams[e],createStream:(e,t,n)=>{pe.FSStream||(pe.FSStream=function(){this.shared={}},pe.FSStream.prototype={object:{get:function(){return this.node},set:function(e){this.node=e}},isRead:{get:function(){return 1!=(2097155&this.flags)}},isWrite:{get:function(){return!!(2097155&this.flags)}},isAppend:{get:function(){return 1024&this.flags}},flags:{get:function(){return this.shared.flags},set:function(e){this.shared.flags=e}},position:{get function(){return this.shared.position},set:function(e){this.shared.position=e}}}),e=Object.assign(new pe.FSStream,e);var o=pe.nextfd(t,n);return e.fd=o,pe.streams[o]=e,e},closeStream:e=>{pe.streams[e]=null},chrdev_stream_ops:{open:e=>{var t=pe.getDevice(e.node.rdev);e.stream_ops=t.stream_ops,e.stream_ops.open&&e.stream_ops.open(e)},llseek:()=>{throw new pe.ErrnoError(70)}},major:e=>e>>8,minor:e=>255&e,makedev:(e,t)=>e<<8|t,registerDevice:(e,t)=>{pe.devices[e]={stream_ops:t}},getDevice:e=>pe.devices[e],getMounts:e=>{for(var t=[],n=[e];n.length;){var o=n.pop();t.push(o),n.push.apply(n,o.mounts)}return t},syncfs:(e,t)=>{"function"==typeof e&&(t=e,e=!1),pe.syncFSRequests++,pe.syncFSRequests>1&&d("warning: "+pe.syncFSRequests+" FS.syncfs operations in flight at once, probably just doing extra work");var n=pe.getMounts(pe.root.mount),o=0;function r(e){return m(pe.syncFSRequests>0),pe.syncFSRequests--,t(e)}function i(e){if(e)return i.errored?void 0:(i.errored=!0,r(e));++o>=n.length&&r(null)}n.forEach((t=>{if(!t.type.syncfs)return i(null);t.type.syncfs(t,e,i)}))},mount:(e,t,n)=>{if("string"==typeof e)throw e;var o,r="/"===n,i=!n;if(r&&pe.root)throw new pe.ErrnoError(10);if(!r&&!i){var s=pe.lookupPath(n,{follow_mount:!1});if(n=s.path,o=s.node,pe.isMountpoint(o))throw new pe.ErrnoError(10);if(!pe.isDir(o.mode))throw new pe.ErrnoError(54)}var A={type:e,opts:t,mountpoint:n,mounts:[]},a=e.mount(A);return a.mount=A,A.root=a,r?pe.root=a:o&&(o.mounted=A,o.mount&&o.mount.mounts.push(A)),a},unmount:e=>{var t=pe.lookupPath(e,{follow_mount:!1});if(!pe.isMountpoint(t.node))throw new pe.ErrnoError(28);var n=t.node,o=n.mounted,r=pe.getMounts(o);Object.keys(pe.nameTable).forEach((e=>{for(var t=pe.nameTable[e];t;){var n=t.name_next;r.includes(t.mount)&&pe.destroyNode(t),t=n}})),n.mounted=null;var i=n.mount.mounts.indexOf(o);m(-1!==i),n.mount.mounts.splice(i,1)},lookup:(e,t)=>e.node_ops.lookup(e,t),mknod:(e,t,n)=>{var o=pe.lookupPath(e,{parent:!0}).node,r=ae.basename(e);if(!r||"."===r||".."===r)throw new pe.ErrnoError(28);var i=pe.mayCreate(o,r);if(i)throw new pe.ErrnoError(i);if(!o.node_ops.mknod)throw new pe.ErrnoError(63);return o.node_ops.mknod(o,r,t,n)},create:(e,t)=>(t=void 0!==t?t:438,t&=4095,t|=32768,pe.mknod(e,t,0)),mkdir:(e,t)=>(t=void 0!==t?t:511,t&=1023,t|=16384,pe.mknod(e,t,0)),mkdirTree:(e,t)=>{for(var n=e.split("/"),o="",r=0;r(typeof n>"u"&&(n=t,t=438),t|=8192,pe.mknod(e,t,n)),symlink:(e,t)=>{if(!ce.resolve(e))throw new pe.ErrnoError(44);var n=pe.lookupPath(t,{parent:!0}).node;if(!n)throw new pe.ErrnoError(44);var o=ae.basename(t),r=pe.mayCreate(n,o);if(r)throw new pe.ErrnoError(r);if(!n.node_ops.symlink)throw new pe.ErrnoError(63);return n.node_ops.symlink(n,o,e)},rename:(e,t)=>{var n,o,r=ae.dirname(e),i=ae.dirname(t),s=ae.basename(e),A=ae.basename(t);if(n=pe.lookupPath(e,{parent:!0}).node,o=pe.lookupPath(t,{parent:!0}).node,!n||!o)throw new pe.ErrnoError(44);if(n.mount!==o.mount)throw new pe.ErrnoError(75);var a,c=pe.lookupNode(n,s),l=ce.relative(e,i);if("."!==l.charAt(0))throw new pe.ErrnoError(28);if("."!==(l=ce.relative(t,r)).charAt(0))throw new pe.ErrnoError(55);try{a=pe.lookupNode(o,A)}catch{}if(c!==a){var g=pe.isDir(c.mode),d=pe.mayDelete(n,s,g);if(d)throw new pe.ErrnoError(d);if(d=a?pe.mayDelete(o,A,g):pe.mayCreate(o,A))throw new pe.ErrnoError(d);if(!n.node_ops.rename)throw new pe.ErrnoError(63);if(pe.isMountpoint(c)||a&&pe.isMountpoint(a))throw new pe.ErrnoError(10);if(o!==n&&(d=pe.nodePermissions(n,"w")))throw new pe.ErrnoError(d);pe.hashRemoveNode(c);try{n.node_ops.rename(c,o,A)}catch(e){throw e}finally{pe.hashAddNode(c)}}},rmdir:e=>{var t=pe.lookupPath(e,{parent:!0}).node,n=ae.basename(e),o=pe.lookupNode(t,n),r=pe.mayDelete(t,n,!0);if(r)throw new pe.ErrnoError(r);if(!t.node_ops.rmdir)throw new pe.ErrnoError(63);if(pe.isMountpoint(o))throw new pe.ErrnoError(10);t.node_ops.rmdir(t,n),pe.destroyNode(o)},readdir:e=>{var t=pe.lookupPath(e,{follow:!0}).node;if(!t.node_ops.readdir)throw new pe.ErrnoError(54);return t.node_ops.readdir(t)},unlink:e=>{var t=pe.lookupPath(e,{parent:!0}).node;if(!t)throw new pe.ErrnoError(44);var n=ae.basename(e),o=pe.lookupNode(t,n),r=pe.mayDelete(t,n,!1);if(r)throw new pe.ErrnoError(r);if(!t.node_ops.unlink)throw new pe.ErrnoError(63);if(pe.isMountpoint(o))throw new pe.ErrnoError(10);t.node_ops.unlink(t,n),pe.destroyNode(o)},readlink:e=>{var t=pe.lookupPath(e).node;if(!t)throw new pe.ErrnoError(44);if(!t.node_ops.readlink)throw new pe.ErrnoError(28);return ce.resolve(pe.getPath(t.parent),t.node_ops.readlink(t))},stat:(e,t)=>{var n=pe.lookupPath(e,{follow:!t}).node;if(!n)throw new pe.ErrnoError(44);if(!n.node_ops.getattr)throw new pe.ErrnoError(63);return n.node_ops.getattr(n)},lstat:e=>pe.stat(e,!0),chmod:(e,t,n)=>{var o;if(!(o="string"==typeof e?pe.lookupPath(e,{follow:!n}).node:e).node_ops.setattr)throw new pe.ErrnoError(63);o.node_ops.setattr(o,{mode:4095&t|-4096&o.mode,timestamp:Date.now()})},lchmod:(e,t)=>{pe.chmod(e,t,!0)},fchmod:(e,t)=>{var n=pe.getStream(e);if(!n)throw new pe.ErrnoError(8);pe.chmod(n.node,t)},chown:(e,t,n,o)=>{var r;if(!(r="string"==typeof e?pe.lookupPath(e,{follow:!o}).node:e).node_ops.setattr)throw new pe.ErrnoError(63);r.node_ops.setattr(r,{timestamp:Date.now()})},lchown:(e,t,n)=>{pe.chown(e,t,n,!0)},fchown:(e,t,n)=>{var o=pe.getStream(e);if(!o)throw new pe.ErrnoError(8);pe.chown(o.node,t,n)},truncate:(e,t)=>{if(t<0)throw new pe.ErrnoError(28);var n;if(!(n="string"==typeof e?pe.lookupPath(e,{follow:!0}).node:e).node_ops.setattr)throw new pe.ErrnoError(63);if(pe.isDir(n.mode))throw new pe.ErrnoError(31);if(!pe.isFile(n.mode))throw new pe.ErrnoError(28);var o=pe.nodePermissions(n,"w");if(o)throw new pe.ErrnoError(o);n.node_ops.setattr(n,{size:t,timestamp:Date.now()})},ftruncate:(e,t)=>{var n=pe.getStream(e);if(!n)throw new pe.ErrnoError(8);if(!(2097155&n.flags))throw new pe.ErrnoError(28);pe.truncate(n.node,t)},utime:(e,t,n)=>{var o=pe.lookupPath(e,{follow:!0}).node;o.node_ops.setattr(o,{timestamp:Math.max(t,n)})},open:(e,t,n)=>{if(""===e)throw new pe.ErrnoError(44);var r;if(n=typeof n>"u"?438:n,n=64&(t="string"==typeof t?pe.modeStringToFlags(t):t)?4095&n|32768:0,"object"==typeof e)r=e;else{e=ae.normalize(e);try{r=pe.lookupPath(e,{follow:!(131072&t)}).node}catch{}}var i=!1;if(64&t)if(r){if(128&t)throw new pe.ErrnoError(20)}else r=pe.mknod(e,n,0),i=!0;if(!r)throw new pe.ErrnoError(44);if(pe.isChrdev(r.mode)&&(t&=-513),65536&t&&!pe.isDir(r.mode))throw new pe.ErrnoError(54);if(!i){var s=pe.mayOpen(r,t);if(s)throw new pe.ErrnoError(s)}512&t&&!i&&pe.truncate(r,0),t&=-131713;var A=pe.createStream({node:r,path:pe.getPath(r),flags:t,seekable:!0,position:0,stream_ops:r.stream_ops,ungotten:[],error:!1});return A.stream_ops.open&&A.stream_ops.open(A),o.logReadFiles&&!(1&t)&&(pe.readFiles||(pe.readFiles={}),e in pe.readFiles||(pe.readFiles[e]=1)),A},close:e=>{if(pe.isClosed(e))throw new pe.ErrnoError(8);e.getdents&&(e.getdents=null);try{e.stream_ops.close&&e.stream_ops.close(e)}catch(e){throw e}finally{pe.closeStream(e.fd)}e.fd=null},isClosed:e=>null===e.fd,llseek:(e,t,n)=>{if(pe.isClosed(e))throw new pe.ErrnoError(8);if(!e.seekable||!e.stream_ops.llseek)throw new pe.ErrnoError(70);if(0!=n&&1!=n&&2!=n)throw new pe.ErrnoError(28);return e.position=e.stream_ops.llseek(e,t,n),e.ungotten=[],e.position},read:(e,t,n,o,r)=>{if(o<0||r<0)throw new pe.ErrnoError(28);if(pe.isClosed(e))throw new pe.ErrnoError(8);if(1==(2097155&e.flags))throw new pe.ErrnoError(8);if(pe.isDir(e.node.mode))throw new pe.ErrnoError(31);if(!e.stream_ops.read)throw new pe.ErrnoError(28);var i=typeof r<"u";if(i){if(!e.seekable)throw new pe.ErrnoError(70)}else r=e.position;var s=e.stream_ops.read(e,t,n,o,r);return i||(e.position+=s),s},write:(e,t,n,o,r,i)=>{if(o<0||r<0)throw new pe.ErrnoError(28);if(pe.isClosed(e))throw new pe.ErrnoError(8);if(!(2097155&e.flags))throw new pe.ErrnoError(8);if(pe.isDir(e.node.mode))throw new pe.ErrnoError(31);if(!e.stream_ops.write)throw new pe.ErrnoError(28);e.seekable&&1024&e.flags&&pe.llseek(e,0,2);var s=typeof r<"u";if(s){if(!e.seekable)throw new pe.ErrnoError(70)}else r=e.position;var A=e.stream_ops.write(e,t,n,o,r,i);return s||(e.position+=A),A},allocate:(e,t,n)=>{if(pe.isClosed(e))throw new pe.ErrnoError(8);if(t<0||n<=0)throw new pe.ErrnoError(28);if(!(2097155&e.flags))throw new pe.ErrnoError(8);if(!pe.isFile(e.node.mode)&&!pe.isDir(e.node.mode))throw new pe.ErrnoError(43);if(!e.stream_ops.allocate)throw new pe.ErrnoError(138);e.stream_ops.allocate(e,t,n)},mmap:(e,t,n,o,r,i)=>{if(2&r&&!(2&i)&&2!=(2097155&e.flags))throw new pe.ErrnoError(2);if(1==(2097155&e.flags))throw new pe.ErrnoError(2);if(!e.stream_ops.mmap)throw new pe.ErrnoError(43);return e.stream_ops.mmap(e,t,n,o,r,i)},msync:(e,t,n,o,r)=>e&&e.stream_ops.msync?e.stream_ops.msync(e,t,n,o,r):0,munmap:e=>0,ioctl:(e,t,n)=>{if(!e.stream_ops.ioctl)throw new pe.ErrnoError(59);return e.stream_ops.ioctl(e,t,n)},readFile:(e,t={})=>{if(t.flags=t.flags||0,t.encoding=t.encoding||"binary","utf8"!==t.encoding&&"binary"!==t.encoding)throw new Error('Invalid encoding type "'+t.encoding+'"');var n,o=pe.open(e,t.flags),r=pe.stat(e).size,i=new Uint8Array(r);return pe.read(o,i,0,r,0),"utf8"===t.encoding?n=M(i,0):"binary"===t.encoding&&(n=i),pe.close(o),n},writeFile:(e,t,n={})=>{n.flags=n.flags||577;var o=pe.open(e,n.flags,n.mode);if("string"==typeof t){var r=new Uint8Array(O(t)+1),i=D(t,r,0,r.length);pe.write(o,r,0,i,void 0,n.canOwn)}else{if(!ArrayBuffer.isView(t))throw new Error("Unsupported data type");pe.write(o,t,0,t.byteLength,void 0,n.canOwn)}pe.close(o)},cwd:()=>pe.currentPath,chdir:e=>{var t=pe.lookupPath(e,{follow:!0});if(null===t.node)throw new pe.ErrnoError(44);if(!pe.isDir(t.node.mode))throw new pe.ErrnoError(54);var n=pe.nodePermissions(t.node,"x");if(n)throw new pe.ErrnoError(n);pe.currentPath=t.path},createDefaultDirectories:()=>{pe.mkdir("/tmp"),pe.mkdir("/home"),pe.mkdir("/home/web_user")},createDefaultDevices:()=>{pe.mkdir("/dev"),pe.registerDevice(pe.makedev(1,3),{read:()=>0,write:(e,t,n,o,r)=>o}),pe.mkdev("/dev/null",pe.makedev(1,3)),le.register(pe.makedev(5,0),le.default_tty_ops),le.register(pe.makedev(6,0),le.default_tty1_ops),pe.mkdev("/dev/tty",pe.makedev(5,0)),pe.mkdev("/dev/tty1",pe.makedev(6,0));var e=function(){if("object"==typeof crypto&&"function"==typeof crypto.getRandomValues){var e=new Uint8Array(1);return function(){return crypto.getRandomValues(e),e[0]}}return function(){X("no cryptographic support found for randomDevice. consider polyfilling it if you want to use something insecure like Math.random(), e.g. put this in a --pre-js: var crypto = { getRandomValues: function(array) { for (var i = 0; i < array.length; i++) array[i] = (Math.random()*256)|0 } };")}}();pe.createDevice("/dev","random",e),pe.createDevice("/dev","urandom",e),pe.mkdir("/dev/shm"),pe.mkdir("/dev/shm/tmp")},createSpecialDirectories:()=>{pe.mkdir("/proc");var e=pe.mkdir("/proc/self");pe.mkdir("/proc/self/fd"),pe.mount({mount:()=>{var t=pe.createNode(e,"fd",16895,73);return t.node_ops={lookup:(e,t)=>{var n=+t,o=pe.getStream(n);if(!o)throw new pe.ErrnoError(8);var r={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:()=>o.path}};return r.parent=r,r}},t}},{},"/proc/self/fd")},createStandardStreams:()=>{o.stdin?pe.createDevice("/dev","stdin",o.stdin):pe.symlink("/dev/tty","/dev/stdin"),o.stdout?pe.createDevice("/dev","stdout",null,o.stdout):pe.symlink("/dev/tty","/dev/stdout"),o.stderr?pe.createDevice("/dev","stderr",null,o.stderr):pe.symlink("/dev/tty1","/dev/stderr");var e=pe.open("/dev/stdin",0),t=pe.open("/dev/stdout",1),n=pe.open("/dev/stderr",1);m(0===e.fd,"invalid handle for stdin ("+e.fd+")"),m(1===t.fd,"invalid handle for stdout ("+t.fd+")"),m(2===n.fd,"invalid handle for stderr ("+n.fd+")")},ensureErrnoError:()=>{pe.ErrnoError||(pe.ErrnoError=function(e,t){this.node=t,this.setErrno=function(e){for(var t in this.errno=e,ue)if(ue[t]===e){this.code=t;break}},this.setErrno(e),this.message=de[e],this.stack&&(Object.defineProperty(this,"stack",{value:(new Error).stack,writable:!0}),this.stack=function(e){return e.replace(/\b_Z[\w\d_]+/g,(function(e){var t=function(e){return u("warning: build with -sDEMANGLE_SUPPORT to link in libcxxabi demangling"),e}(e);return e===t?e:t+" ["+e+"]"}))}(this.stack))},pe.ErrnoError.prototype=new Error,pe.ErrnoError.prototype.constructor=pe.ErrnoError,[44].forEach((e=>{pe.genericErrors[e]=new pe.ErrnoError(e),pe.genericErrors[e].stack=""})))},staticInit:()=>{pe.ensureErrnoError(),pe.nameTable=new Array(4096),pe.mount(ge,{},"/"),pe.createDefaultDirectories(),pe.createDefaultDevices(),pe.createSpecialDirectories(),pe.filesystems={MEMFS:ge}},init:(e,t,n)=>{m(!pe.init.initialized,"FS.init was previously called. If you want to initialize later with custom parameters, remove any earlier calls (note that one is automatically added to the generated code)"),pe.init.initialized=!0,pe.ensureErrnoError(),o.stdin=e||o.stdin,o.stdout=t||o.stdout,o.stderr=n||o.stderr,pe.createStandardStreams()},quit:()=>{pe.init.initialized=!1,ve();for(var e=0;e{var n=0;return e&&(n|=365),t&&(n|=146),n},findObject:(e,t)=>{var n=pe.analyzePath(e,t);return n.exists?n.object:null},analyzePath:(e,t)=>{try{e=(o=pe.lookupPath(e,{follow:!t})).path}catch{}var n={isRoot:!1,exists:!1,error:0,name:null,path:null,object:null,parentExists:!1,parentPath:null,parentObject:null};try{var o=pe.lookupPath(e,{parent:!0});n.parentExists=!0,n.parentPath=o.path,n.parentObject=o.node,n.name=ae.basename(e),o=pe.lookupPath(e,{follow:!t}),n.exists=!0,n.path=o.path,n.object=o.node,n.name=o.node.name,n.isRoot="/"===o.path}catch(e){n.error=e.errno}return n},createPath:(e,t,n,o)=>{e="string"==typeof e?e:pe.getPath(e);for(var r=t.split("/").reverse();r.length;){var i=r.pop();if(i){var s=ae.join2(e,i);try{pe.mkdir(s)}catch{}e=s}}return s},createFile:(e,t,n,o,r)=>{var i=ae.join2("string"==typeof e?e:pe.getPath(e),t),s=pe.getMode(o,r);return pe.create(i,s)},createDataFile:(e,t,n,o,r,i)=>{var s=t;e&&(e="string"==typeof e?e:pe.getPath(e),s=t?ae.join2(e,t):e);var A=pe.getMode(o,r),a=pe.create(s,A);if(n){if("string"==typeof n){for(var c=new Array(n.length),l=0,g=n.length;l{var r=ae.join2("string"==typeof e?e:pe.getPath(e),t),i=pe.getMode(!!n,!!o);pe.createDevice.major||(pe.createDevice.major=64);var s=pe.makedev(pe.createDevice.major++,0);return pe.registerDevice(s,{open:e=>{e.seekable=!1},close:e=>{o&&o.buffer&&o.buffer.length&&o(10)},read:(e,t,o,r,i)=>{for(var s=0,A=0;A{for(var s=0;s{if(e.isDevice||e.isFolder||e.link||e.contents)return!0;if(typeof XMLHttpRequest<"u")throw new Error("Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread.");if(!i)throw new Error("Cannot load without read() or XMLHttpRequest.");try{e.contents=fe(i(e.url)),e.usedBytes=e.contents.length}catch{throw new pe.ErrnoError(29)}},createLazyFile:(e,t,n,o,r)=>{function i(){this.lengthKnown=!1,this.chunks=[]}if(i.prototype.get=function(e){if(!(e>this.length-1||e<0)){var t=e%this.chunkSize,n=e/this.chunkSize|0;return this.getter(n)[t]}},i.prototype.setDataGetter=function(e){this.getter=e},i.prototype.cacheLength=function(){var e=new XMLHttpRequest;if(e.open("HEAD",n,!1),e.send(null),!(e.status>=200&&e.status<300||304===e.status))throw new Error("Couldn't load "+n+". Status: "+e.status);var t,o=Number(e.getResponseHeader("Content-length")),r=(t=e.getResponseHeader("Accept-Ranges"))&&"bytes"===t,i=(t=e.getResponseHeader("Content-Encoding"))&&"gzip"===t,s=1048576;r||(s=o);var A=this;A.setDataGetter((e=>{var t=e*s,r=(e+1)*s-1;if(r=Math.min(r,o-1),typeof A.chunks[e]>"u"&&(A.chunks[e]=((e,t)=>{if(e>t)throw new Error("invalid range ("+e+", "+t+") or no bytes requested!");if(t>o-1)throw new Error("only "+o+" bytes available! programmer error!");var r=new XMLHttpRequest;if(r.open("GET",n,!1),o!==s&&r.setRequestHeader("Range","bytes="+e+"-"+t),r.responseType="arraybuffer",r.overrideMimeType&&r.overrideMimeType("text/plain; charset=x-user-defined"),r.send(null),!(r.status>=200&&r.status<300||304===r.status))throw new Error("Couldn't load "+n+". Status: "+r.status);return void 0!==r.response?new Uint8Array(r.response||[]):fe(r.responseText||"")})(t,r)),typeof A.chunks[e]>"u")throw new Error("doXHR failed!");return A.chunks[e]})),(i||!o)&&(s=o=1,o=this.getter(0).length,s=o,g("LazyFiles on gzip forces download of the whole file when length is accessed")),this._length=o,this._chunkSize=s,this.lengthKnown=!0},typeof XMLHttpRequest<"u")throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var s={isDevice:!1,url:n},A=pe.createFile(e,t,s,o,r);s.contents?A.contents=s.contents:s.url&&(A.contents=null,A.url=s.url),Object.defineProperties(A,{usedBytes:{get:function(){return this.contents.length}}});var a={};return Object.keys(A.stream_ops).forEach((e=>{var t=A.stream_ops[e];a[e]=function(){return pe.forceLoadFile(A),t.apply(null,arguments)}})),a.read=(e,t,n,o,r)=>{pe.forceLoadFile(A);var i=e.node.contents;if(r>=i.length)return 0;var s=Math.min(i.length-r,o);if(m(s>=0),i.slice)for(var a=0;a{var g=t?ce.resolve(ae.join2(e,t)):e,d=V("cp "+g);function u(n){function s(n){l&&l(),a||pe.createDataFile(e,t,n,o,r,c),i&&i(),W(d)}Browser.handledByPreloadPlugin(n,g,s,(()=>{A&&A(),W(d)}))||s(n)}z(d),"string"==typeof n?function(e,t,n){var o=V("al "+e);s(e,(function(t){m(t,'Loading data file "'+e+'" failed (no arrayBuffer).'),u(new Uint8Array(t)),o&&W(o)}),(function(t){if(!n)throw'Loading data file "'+e+'" failed.';n()})),o&&z(o)}(n,0,A):u(n)},indexedDB:()=>window.indexedDB||window.mozIndexedDB||window.webkitIndexedDB||window.msIndexedDB,DB_NAME:()=>"EM_FS_"+window.location.pathname,DB_VERSION:20,DB_STORE_NAME:"FILE_DATA",saveFilesToDB:(e,t,n)=>{t=t||(()=>{}),n=n||(()=>{});var o=pe.indexedDB();try{var r=o.open(pe.DB_NAME(),pe.DB_VERSION)}catch(e){return n(e)}r.onupgradeneeded=()=>{g("creating db"),r.result.createObjectStore(pe.DB_STORE_NAME)},r.onsuccess=()=>{var o=r.result.transaction([pe.DB_STORE_NAME],"readwrite"),i=o.objectStore(pe.DB_STORE_NAME),s=0,A=0,a=e.length;function c(){0==A?t():n()}e.forEach((e=>{var t=i.put(pe.analyzePath(e).object.contents,e);t.onsuccess=()=>{++s+A==a&&c()},t.onerror=()=>{A++,s+A==a&&c()}})),o.onerror=n},r.onerror=n},loadFilesFromDB:(e,t,n)=>{t=t||(()=>{}),n=n||(()=>{});var o=pe.indexedDB();try{var r=o.open(pe.DB_NAME(),pe.DB_VERSION)}catch(e){return n(e)}r.onupgradeneeded=n,r.onsuccess=()=>{var o=r.result;try{var i=o.transaction([pe.DB_STORE_NAME],"readonly")}catch(e){return void n(e)}var s=i.objectStore(pe.DB_STORE_NAME),A=0,a=0,c=e.length;function l(){0==a?t():n()}e.forEach((e=>{var t=s.get(e);t.onsuccess=()=>{pe.analyzePath(e).exists&&pe.unlink(e),pe.createDataFile(ae.dirname(e),ae.basename(e),t.result,!0,!0,!0),++A+a==c&&l()},t.onerror=()=>{a++,A+a==c&&l()}})),i.onerror=n},r.onerror=n},absolutePath:()=>{X("FS.absolutePath has been removed; use PATH_FS.resolve instead")},createFolder:()=>{X("FS.createFolder has been removed; use FS.mkdir instead")},createLink:()=>{X("FS.createLink has been removed; use FS.symlink instead")},joinPath:()=>{X("FS.joinPath has been removed; use PATH.join instead")},mmapAlloc:()=>{X("FS.mmapAlloc has been replaced by the top level function mmapAlloc")},standardizePath:()=>{X("FS.standardizePath has been removed; use PATH.normalize instead")}},he={DEFAULT_POLLMASK:5,calculateAt:function(e,t,n){if(ae.isAbs(t))return t;var o;if(-100===e)o=pe.cwd();else{var r=pe.getStream(e);if(!r)throw new pe.ErrnoError(8);o=r.path}if(0==t.length){if(!n)throw new pe.ErrnoError(44);return o}return ae.join2(o,t)},doStat:function(e,t,n){try{var o=e(t)}catch(e){if(e&&e.node&&ae.normalize(t)!==ae.normalize(pe.getPath(e.node)))return-54;throw e}return Q[n>>2]=o.dev,Q[n+4>>2]=0,Q[n+8>>2]=o.ino,Q[n+12>>2]=o.mode,Q[n+16>>2]=o.nlink,Q[n+20>>2]=o.uid,Q[n+24>>2]=o.gid,Q[n+28>>2]=o.rdev,Q[n+32>>2]=0,ee=[o.size>>>0,($=o.size,+Math.abs($)>=1?$>0?(0|Math.min(+Math.floor($/4294967296),4294967295))>>>0:~~+Math.ceil(($-+(~~$>>>0))/4294967296)>>>0:0)],Q[n+40>>2]=ee[0],Q[n+44>>2]=ee[1],Q[n+48>>2]=4096,Q[n+52>>2]=o.blocks,Q[n+56>>2]=o.atime.getTime()/1e3|0,Q[n+60>>2]=0,Q[n+64>>2]=o.mtime.getTime()/1e3|0,Q[n+68>>2]=0,Q[n+72>>2]=o.ctime.getTime()/1e3|0,Q[n+76>>2]=0,ee=[o.ino>>>0,($=o.ino,+Math.abs($)>=1?$>0?(0|Math.min(+Math.floor($/4294967296),4294967295))>>>0:~~+Math.ceil(($-+(~~$>>>0))/4294967296)>>>0:0)],Q[n+80>>2]=ee[0],Q[n+84>>2]=ee[1],0},doMsync:function(e,t,n,o,r){var i=v.slice(e,e+n);pe.msync(t,i,r,n,o)},varargs:void 0,get:function(){return m(null!=he.varargs),he.varargs+=4,Q[he.varargs-4>>2]},getStr:function(e){return k(e)},getStreamFromFD:function(e){var t=pe.getStream(e);if(!t)throw new pe.ErrnoError(8);return t}},_e=function(e,t,n,o){e||(e=this),this.parent=e,this.mount=e.mount,this.mounted=null,this.id=pe.nextInode++,this.name=t,this.mode=n,this.node_ops={},this.stream_ops={},this.rdev=o},ye=365,Ie=146;function fe(e,t,n){var o=O(e)+1,r=new Array(o),i=D(e,r,0,r.length);return r.length=i,r}Object.defineProperties(_e.prototype,{read:{get:function(){return(this.mode&ye)===ye},set:function(e){e?this.mode|=ye:this.mode&=~ye}},write:{get:function(){return(this.mode&Ie)===Ie},set:function(e){e?this.mode|=Ie:this.mode&=~Ie}},isFolder:{get:function(){return pe.isDir(this.mode)}},isDevice:{get:function(){return pe.isChrdev(this.mode)}}}),pe.FSNode=_e,pe.staticInit(),ue={EPERM:63,ENOENT:44,ESRCH:71,EINTR:27,EIO:29,ENXIO:60,E2BIG:1,ENOEXEC:45,EBADF:8,ECHILD:12,EAGAIN:6,EWOULDBLOCK:6,ENOMEM:48,EACCES:2,EFAULT:21,ENOTBLK:105,EBUSY:10,EEXIST:20,EXDEV:75,ENODEV:43,ENOTDIR:54,EISDIR:31,EINVAL:28,ENFILE:41,EMFILE:33,ENOTTY:59,ETXTBSY:74,EFBIG:22,ENOSPC:51,ESPIPE:70,EROFS:69,EMLINK:34,EPIPE:64,EDOM:18,ERANGE:68,ENOMSG:49,EIDRM:24,ECHRNG:106,EL2NSYNC:156,EL3HLT:107,EL3RST:108,ELNRNG:109,EUNATCH:110,ENOCSI:111,EL2HLT:112,EDEADLK:16,ENOLCK:46,EBADE:113,EBADR:114,EXFULL:115,ENOANO:104,EBADRQC:103,EBADSLT:102,EDEADLOCK:16,EBFONT:101,ENOSTR:100,ENODATA:116,ETIME:117,ENOSR:118,ENONET:119,ENOPKG:120,EREMOTE:121,ENOLINK:47,EADV:122,ESRMNT:123,ECOMM:124,EPROTO:65,EMULTIHOP:36,EDOTDOT:125,EBADMSG:9,ENOTUNIQ:126,EBADFD:127,EREMCHG:128,ELIBACC:129,ELIBBAD:130,ELIBSCN:131,ELIBMAX:132,ELIBEXEC:133,ENOSYS:52,ENOTEMPTY:55,ENAMETOOLONG:37,ELOOP:32,EOPNOTSUPP:138,EPFNOSUPPORT:139,ECONNRESET:15,ENOBUFS:42,EAFNOSUPPORT:5,EPROTOTYPE:67,ENOTSOCK:57,ENOPROTOOPT:50,ESHUTDOWN:140,ECONNREFUSED:14,EADDRINUSE:3,ECONNABORTED:13,ENETUNREACH:40,ENETDOWN:38,ETIMEDOUT:73,EHOSTDOWN:142,EHOSTUNREACH:23,EINPROGRESS:26,EALREADY:7,EDESTADDRREQ:17,EMSGSIZE:35,EPROTONOSUPPORT:66,ESOCKTNOSUPPORT:137,EADDRNOTAVAIL:4,ENETRESET:39,EISCONN:30,ENOTCONN:53,ETOOMANYREFS:141,EUSERS:136,EDQUOT:19,ESTALE:72,ENOTSUP:138,ENOMEDIUM:148,EILSEQ:25,EOVERFLOW:61,ECANCELED:11,ENOTRECOVERABLE:56,EOWNERDEAD:62,ESTRPIPE:135};var me="function"==typeof atob?atob:function(e){var t,n,o,r,i,s,A="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",a="",c=0;e=e.replace(/[^A-Za-z0-9\+\/\=]/g,"");do{t=A.indexOf(e.charAt(c++))<<2|(r=A.indexOf(e.charAt(c++)))>>4,n=(15&r)<<4|(i=A.indexOf(e.charAt(c++)))>>2,o=(3&i)<<6|(s=A.indexOf(e.charAt(c++))),a+=String.fromCharCode(t),64!==i&&(a+=String.fromCharCode(n)),64!==s&&(a+=String.fromCharCode(o))}while(c>>=0)},fd_close:function(e){try{var t=he.getStreamFromFD(e);return pe.close(t),0}catch(e){if(typeof pe>"u"||!(e instanceof pe.ErrnoError))throw e;return e.errno}},fd_read:function(e,t,n,o){try{var r=function(e,t,n){for(var o=0,r=0;r>2],s=b[t+4>>2];t+=8;var A=pe.read(e,E,i,s,undefined);if(A<0)return-1;if(o+=A,A>2]=r,0}catch(e){if(typeof pe>"u"||!(e instanceof pe.ErrnoError))throw e;return e.errno}},fd_seek:function(e,t,n,o,r){try{var i=he.getStreamFromFD(e),s=4294967296*n+(t>>>0),A=9007199254740992;return s<=-A||s>=A?61:(pe.llseek(i,s,o),ee=[i.position>>>0,($=i.position,+Math.abs($)>=1?$>0?(0|Math.min(+Math.floor($/4294967296),4294967295))>>>0:~~+Math.ceil(($-+(~~$>>>0))/4294967296)>>>0:0)],Q[r>>2]=ee[0],Q[r+4>>2]=ee[1],i.getdents&&0===s&&0===o&&(i.getdents=null),0)}catch(e){if(typeof pe>"u"||!(e instanceof pe.ErrnoError))throw e;return e.errno}},fd_write:function(e,t,n,o){try{var r=function(e,t,n){for(var o=0,r=0;r>2],s=b[t+4>>2];t+=8;var A=pe.write(e,E,i,s,undefined);if(A<0)return-1;o+=A}return o}(he.getStreamFromFD(e),t,n);return Q[o>>2]=r,0}catch(e){if(typeof pe>"u"||!(e instanceof pe.ErrnoError))throw e;return e.errno}},setTempRet0:function(e){}};(function(){var e={env:Ce,wasi_snapshot_preview1:Ce};function t(e,t){var n=e.exports;o.asm=n,m(I=o.asm.memory,"memory not found in wasm exports"),function(e){C=e,o.HEAP8=E=new Int8Array(e),o.HEAP16=new Int16Array(e),o.HEAP32=Q=new Int32Array(e),o.HEAPU8=v=new Uint8Array(e),o.HEAPU16=new Uint16Array(e),o.HEAPU32=b=new Uint32Array(e),o.HEAPF32=new Float32Array(e),o.HEAPF64=new Float64Array(e)}(I.buffer),m(L=o.asm.__indirect_function_table,"table not found in wasm exports"),function(e){Y.unshift(e)}(o.asm.__wasm_call_ctors),W("wasm-instantiate")}z("wasm-instantiate");var r=o;function i(e){m(o===r,"the Module object should not be replaced during async compilation - perhaps the order of HTML elements is wrong?"),r=null,t(e.instance)}function s(t){return(l||"function"!=typeof fetch?Promise.resolve().then((function(){return re(Z)})):fetch(Z,{credentials:"same-origin"}).then((function(e){if(!e.ok)throw"failed to load wasm binary file at '"+Z+"'";return e.arrayBuffer()})).catch((function(){return re(Z)}))).then((function(t){return WebAssembly.instantiate(t,e)})).then((function(e){return e})).then(t,(function(e){d("failed to asynchronously prepare wasm: "+e),function(e){return e.startsWith("file://")}(Z)&&d("warning: Loading from a file URI ("+Z+") is not supported in most browsers. See https://emscripten.org/docs/getting_started/FAQ.html#how-do-i-run-a-local-webserver-for-testing-why-does-my-program-stall-in-downloading-or-preparing"),X(e)}))}if(o.instantiateWasm)try{return o.instantiateWasm(e,t)}catch(e){return d("Module.instantiateWasm callback failed with error: "+e),!1}(l||"function"!=typeof WebAssembly.instantiateStreaming||ne(Z)||"function"!=typeof fetch?s(i):fetch(Z,{credentials:"same-origin"}).then((function(t){return WebAssembly.instantiateStreaming(t,e).then(i,(function(e){return d("wasm streaming compile failed: "+e),d("falling back to ArrayBuffer instantiation"),s(i)}))}))).catch(n)})(),o.___wasm_call_ctors=oe("__wasm_call_ctors");var Ee=o._malloc=oe("malloc");o._updateSwitchInfo=oe("updateSwitchInfo"),o._parseMPD=oe("parseMPD"),o._updateDeviceInfo=oe("updateDeviceInfo"),o._updateMediaInfo=oe("updateMediaInfo"),o._updateBufferInfo=oe("updateBufferInfo"),o._getPredictedBitrate=oe("getPredictedBitrate"),o._free=oe("free"),o._updateBB4LiveV4Params=oe("updateBB4LiveV4Params"),o.___errno_location=oe("__errno_location");var ve=o.___stdio_exit=oe("__stdio_exit"),Qe=o._emscripten_stack_init=function(){return(Qe=o._emscripten_stack_init=o.asm.emscripten_stack_init).apply(null,arguments)};o._emscripten_stack_get_free=function(){return(o._emscripten_stack_get_free=o.asm.emscripten_stack_get_free).apply(null,arguments)},o._emscripten_stack_get_base=function(){return(o._emscripten_stack_get_base=o.asm.emscripten_stack_get_base).apply(null,arguments)};var be,we=o._emscripten_stack_get_end=function(){return(we=o._emscripten_stack_get_end=o.asm.emscripten_stack_get_end).apply(null,arguments)},Me=o.stackSave=oe("stackSave"),ke=o.stackRestore=oe("stackRestore"),De=o.stackAlloc=oe("stackAlloc"),Oe=o.___cxa_is_pointer_type=oe("__cxa_is_pointer_type");function Se(e){function n(){be||(be=!0,o.calledRun=!0,!f&&(G(),m(!F),F=!0,!o.noFSInit&&!pe.init.initialized&&pe.init(),pe.ignorePermissions=!1,ie(Y),t(o),o.onRuntimeInitialized&&o.onRuntimeInitialized(),m(!o._main,'compiled without a main, but one is present. if you added it from JS, use Module["onRuntimeInitialized"]'),function(){if(G(),o.postRun)for("function"==typeof o.postRun&&(o.postRun=[o.postRun]);o.postRun.length;)U(o.postRun.shift());ie(j)}()))}H>0||(Qe(),P(),function(){if(o.preRun)for("function"==typeof o.preRun&&(o.preRun=[o.preRun]);o.preRun.length;)N(o.preRun.shift());ie(x)}(),H>0)||(o.setStatus?(o.setStatus("Running..."),setTimeout((function(){setTimeout((function(){o.setStatus("")}),1),n()}),1)):n(),G())}if(o.dynCall_jiji=oe("dynCall_jiji"),o.ccall=B,o.cwrap=function(e,t,n,o){return function(){return B(e,t,n,arguments)}},y("setValue",!1),y("getValue",!1),y("allocate",!1),y("UTF8ArrayToString",!1),y("UTF8ToString",!1),y("stringToUTF8Array",!1),y("stringToUTF8",!1),y("lengthBytesUTF8",!1),y("addOnPreRun",!1),y("addOnInit",!1),y("addOnPreMain",!1),y("addOnExit",!1),y("addOnPostRun",!1),y("addRunDependency",!0),y("removeRunDependency",!0),y("FS_createFolder",!1),y("FS_createPath",!0),y("FS_createDataFile",!0),y("FS_createPreloadedFile",!0),y("FS_createLazyFile",!0),y("FS_createLink",!1),y("FS_createDevice",!0),y("FS_unlink",!0),y("getLEB",!1),y("getFunctionTables",!1),y("alignFunctionTables",!1),y("registerFunctions",!1),y("addFunction",!1),y("removeFunction",!1),y("prettyPrint",!1),y("getCompilerSetting",!1),o.print=g,y("printErr",!1),y("getTempRet0",!1),y("setTempRet0",!1),y("callMain",!1),y("abort",!1),y("keepRuntimeAlive",!1),y("wasmMemory",!1),y("warnOnce",!1),y("stackSave",!1),y("stackRestore",!1),y("stackAlloc",!1),y("AsciiToString",!1),y("stringToAscii",!1),y("UTF16ToString",!1),y("stringToUTF16",!1),y("lengthBytesUTF16",!1),y("UTF32ToString",!1),y("stringToUTF32",!1),y("lengthBytesUTF32",!1),y("allocateUTF8",!1),y("allocateUTF8OnStack",!1),y("ExitStatus",!1),y("intArrayFromString",!1),y("intArrayToString",!1),y("writeStringToMemory",!1),o.writeArrayToMemory=S,y("writeAsciiToMemory",!1),o.writeStackCookie=P,o.checkStackCookie=G,y("intArrayFromBase64",!1),y("tryParseAsDataURI",!1),y("ptrToString",!1),y("zeroMemory",!1),y("stringToNewUTF8",!1),y("abortOnCannotGrowMemory",!1),y("emscripten_realloc_buffer",!1),y("ENV",!1),y("ERRNO_CODES",!1),y("ERRNO_MESSAGES",!1),y("setErrNo",!1),y("inetPton4",!1),y("inetNtop4",!1),y("inetPton6",!1),y("inetNtop6",!1),y("readSockaddr",!1),y("writeSockaddr",!1),y("DNS",!1),y("getHostByName",!1),y("Protocols",!1),y("Sockets",!1),y("getRandomDevice",!1),y("traverseStack",!1),y("UNWIND_CACHE",!1),y("convertPCtoSourceLocation",!1),y("readAsmConstArgsArray",!1),y("readAsmConstArgs",!1),y("mainThreadEM_ASM",!1),y("jstoi_q",!1),y("jstoi_s",!1),y("getExecutableName",!1),y("listenOnce",!1),y("autoResumeAudioContext",!1),y("dynCallLegacy",!1),y("getDynCaller",!1),y("dynCall",!1),y("setWasmTableEntry",!1),y("getWasmTableEntry",!1),y("handleException",!1),y("runtimeKeepalivePush",!1),y("runtimeKeepalivePop",!1),y("callUserCallback",!1),y("maybeExit",!1),y("safeSetTimeout",!1),y("asmjsMangle",!1),y("asyncLoad",!1),y("alignMemory",!1),y("mmapAlloc",!1),y("reallyNegative",!1),y("unSign",!1),y("reSign",!1),y("formatString",!1),y("PATH",!1),y("PATH_FS",!1),y("SYSCALLS",!1),y("getSocketFromFD",!1),y("getSocketAddress",!1),y("JSEvents",!1),y("registerKeyEventCallback",!1),y("specialHTMLTargets",!1),y("maybeCStringToJsString",!1),y("findEventTarget",!1),y("findCanvasEventTarget",!1),y("getBoundingClientRect",!1),y("fillMouseEventData",!1),y("registerMouseEventCallback",!1),y("registerWheelEventCallback",!1),y("registerUiEventCallback",!1),y("registerFocusEventCallback",!1),y("fillDeviceOrientationEventData",!1),y("registerDeviceOrientationEventCallback",!1),y("fillDeviceMotionEventData",!1),y("registerDeviceMotionEventCallback",!1),y("screenOrientation",!1),y("fillOrientationChangeEventData",!1),y("registerOrientationChangeEventCallback",!1),y("fillFullscreenChangeEventData",!1),y("registerFullscreenChangeEventCallback",!1),y("registerRestoreOldStyle",!1),y("hideEverythingExceptGivenElement",!1),y("restoreHiddenElements",!1),y("setLetterbox",!1),y("currentFullscreenStrategy",!1),y("restoreOldWindowedStyle",!1),y("softFullscreenResizeWebGLRenderTarget",!1),y("doRequestFullscreen",!1),y("fillPointerlockChangeEventData",!1),y("registerPointerlockChangeEventCallback",!1),y("registerPointerlockErrorEventCallback",!1),y("requestPointerLock",!1),y("fillVisibilityChangeEventData",!1),y("registerVisibilityChangeEventCallback",!1),y("registerTouchEventCallback",!1),y("fillGamepadEventData",!1),y("registerGamepadEventCallback",!1),y("registerBeforeUnloadEventCallback",!1),y("fillBatteryEventData",!1),y("battery",!1),y("registerBatteryEventCallback",!1),y("setCanvasElementSize",!1),y("getCanvasElementSize",!1),y("demangle",!1),y("demangleAll",!1),y("jsStackTrace",!1),y("stackTrace",!1),y("getEnvStrings",!1),y("checkWasiClock",!1),y("doReadv",!1),y("doWritev",!1),y("writeI53ToI64",!1),y("writeI53ToI64Clamped",!1),y("writeI53ToI64Signaling",!1),y("writeI53ToU64Clamped",!1),y("writeI53ToU64Signaling",!1),y("readI53FromI64",!1),y("readI53FromU64",!1),y("convertI32PairToI53",!1),y("convertU32PairToI53",!1),y("dlopenMissingError",!1),y("setImmediateWrapped",!1),y("clearImmediateWrapped",!1),y("polyfillSetImmediate",!1),y("uncaughtExceptionCount",!1),y("exceptionLast",!1),y("exceptionCaught",!1),y("ExceptionInfo",!1),y("exception_addRef",!1),y("exception_decRef",!1),y("Browser",!1),y("setMainLoop",!1),y("wget",!1),y("FS",!1),y("MEMFS",!1),y("TTY",!1),y("PIPEFS",!1),y("SOCKFS",!1),y("_setNetworkCallback",!1),y("tempFixedLengthArray",!1),y("miniTempWebGLFloatBuffers",!1),y("heapObjectForWebGLType",!1),y("heapAccessShiftForWebGLHeap",!1),y("GL",!1),y("emscriptenWebGLGet",!1),y("computeUnpackAlignedImageSize",!1),y("emscriptenWebGLGetTexPixelData",!1),y("emscriptenWebGLGetUniform",!1),y("webglGetUniformLocation",!1),y("webglPrepareUniformLocationsBeforeFirstUse",!1),y("webglGetLeftBracePos",!1),y("emscriptenWebGLGetVertexAttrib",!1),y("writeGLArray",!1),y("AL",!1),y("SDL_unicode",!1),y("SDL_ttfContext",!1),y("SDL_audio",!1),y("SDL",!1),y("SDL_gfx",!1),y("GLUT",!1),y("EGL",!1),y("GLFW_Window",!1),y("GLFW",!1),y("GLEW",!1),y("IDBStore",!1),y("runAndAbortIfError",!1),_("ALLOC_NORMAL",!1),_("ALLOC_STACK",!1),J=function e(){be||Se(),be||(J=e)},o.run=Se,o.preInit)for("function"==typeof o.preInit&&(o.preInit=[o.preInit]);o.preInit.length>0;)o.preInit.pop()();return Se(),e.ready});class c{constructor(e,t,n){i(this,"_bitrates",[]),i(this,"_openTimeMs",0),i(this,"bitrate",0),i(this,"abr_time_offset_set",[]),i(this,"abr_cur_bitrate_set",[]),i(this,"abr_pred_bitrate_set",[]),i(this,"abr_player_buffer_set",[]),i(this,"abr_stall_status_set",[]),i(this,"abr_speed_set",[]),i(this,"player",null),i(this,"config",null),i(this,"module",null),i(this,"inited",!1),i(this,"buffer",0),this.initParamers(e,t),this._openTimeMs=n,this.resetCollect()}get bitrates(){return this._bitrates}set bitrates(e){this._bitrates=e,this.parseMPD()}resetCollect(){this.abr_time_offset_set=[],this.abr_cur_bitrate_set=[],this.abr_pred_bitrate_set=[],this.abr_player_buffer_set=[],this.abr_stall_status_set=[],this.abr_speed_set=[]}initParamers(e,t){this.player=e,this._bitrates=t.bitrates,this.bitrate=t.bitrate,this.config=t}initModule(e){const t=e||{onRuntimeInitialized:()=>{this.inited=!0,this.updateSwitchInfo(),this.parseMPD(),this.updateDeviceInfo(),this.updateAlgorithmParams()}};this.module=t,a(t)}parseMPD(){var e;try{const t={v_adaptation:this.bitrates.map(((e,t)=>({stream_id:`s${t}`,bandwidth:Number(e),width:-1,height:-1,codec:"avc",frame_rate:30,segment_duration:4e3})))};null==(e=this.module)||e.ccall("parseMPD","null",["string"],[JSON.stringify(t)])}catch{}}updateAlgorithmParams(){var e,t;if(null==(e=this.config)||!e.buffer_level_threshold)return;const{low:n,high:o}=this.config.buffer_level_threshold;"number"!=typeof n||"number"!=typeof o||null==(t=this.module)||t._updateBB4LiveV4Params(n,o)}updateSwitchInfo(){var e,t,n;const o=function(e){const t=e.toString(16);if(t.length<=8)return{high:0,low:e};return{high:parseInt(t.substr(0,t.length-8),16),low:parseInt(t.substr(t.length-8),16)}}(this._openTimeMs);null==(n=this.module)||n._updateSwitchInfo((null==(e=this.config)?void 0:e.start_limit)||0,o.low,o.high,5,!(null==(t=this.config)||!t.debug),11,4)}updateDeviceInfo(){var e,t,n;const o="object"==typeof window&&window.devicePixelRatio||1,{width:r,height:i}=(null==(t=null==(e=this.player)?void 0:e.video)?void 0:t.getBoundingClientRect())||{};null==(n=this.module)||n._updateDeviceInfo(Math.floor(r||0),Math.floor(i||0),o,30)}getPredictedBitrate(e,t=!1,n=!1){var o,r,i,s;if(!this.inited)return;let A=0;const a=[];try{this.updateDeviceInfo(),this.updateBufferInfo(e,t,n),this.abr_time_offset_set.push(Date.now()-this._openTimeMs),this.abr_cur_bitrate_set.push(this.bitrate),this.abr_stall_status_set.push(Number(t)),A=(null==(r=this.module)?void 0:r._getPredictedBitrate(this.bitrate,Number(null==(o=this.config)?void 0:o.method)))||0;for(let e=0;e<7;e++)a.push(null==(i=this.module)?void 0:i.HEAP32[A/Int32Array.BYTES_PER_ELEMENT+e]);const s=a[0];if(this.abr_pred_bitrate_set.push(s),s!==this.bitrate&&s>0)return s}catch{return null}finally{null==(s=this.module)||s._free(A)}}updateBufferInfo(e,t,n){var o,r;const i=(null==(o=this.player)?void 0:o.playbackRate)||1,s=this.bufferLength;return this.abr_player_buffer_set.push(s),this.abr_speed_set.push(e),this.buffer=s,null==(r=this.module)||r._updateBufferInfo(i,s,s,e,Number(t),Number(n)),{buffer:s,downloadSpeed:e}}get bufferLength(){if(!this.player)return 0;const e=this.player.getBufferedRange(),{currentTime:t}=this.player.video;let n=e[1]-Math.max(e[0],t);return n=Math.max(0,n).toFixed(2),parseFloat(n)}}let l=function(e,t){for("string"==typeof t&&(t=t.split("."));null!=e&&t.length;)e=e[t.shift()];return e};const g=[{key:"ld5",value:"a"},{key:"sd5",value:"b"},{key:"uhd560",value:"f"},{key:"uhd5",value:"d"},{key:"hd560",value:"e"},{key:"hd5",value:"c"},{key:"ld",value:"g"},{key:"sd",value:"h"},{key:"uhd60",value:"l"},{key:"hd60",value:"k"},{key:"uhd",value:"j"},{key:"hd",value:"i"},{key:"or4",value:"m"},{key:"",value:"n"}],d={open:!0,debug:!1,method:7,start_limit:4e3,up_thresh:8,down_thresh:2.5,down_living:5e3,up_living:5e3,speedKey:"live-abr-downloadspeed"},u=class e extends o.Ay{constructor(e){super(e),i(this,"algo",null),i(this,"_open",!1),i(this,"isSwitching",!1),i(this,"hasFrameChase",!1),i(this,"isStalling",!1),i(this,"stallStartTime",0),i(this,"firstFrameViewed",!1),i(this,"_suffixIds",""),this.updateConfig(this.config),this.bindCtx(),this.initBitrate()}get version(){return"0.1.9"}get bitrates(){return this.algo?this.algo.bitrates:[]}get suffixIds(){return this._suffixIds}set bitrates(e){this.algo&&(this.algo.bitrates=e)}get bitrate(){return this.algo?this.algo.bitrate:0}set bitrate(e){this.algo&&(this.algo.bitrate=e),this.config.bitrate=e}get open(){return this._open}static get pluginName(){return"abr"}afterCreate(){this.player.once("canplay",(()=>{this.config.open&&(this.isSwitching=!1,this.algo=new c(this.player,this.config,Date.now()),this.algo.initModule(),this.setAbr())}))}initBitrate(){var t,n;if(!e.algo)return;this.algo=e.algo,null==(t=this.algo)||t.initParamers(this.player,this.config),this.algo.updateSwitchInfo(),this.algo.parseMPD(),this.algo.updateAlgorithmParams();const o=null==(n=this.algo)?void 0:n.getPredictedBitrate(Number(this.getSpeed()),!1,!1);o&&(this.player.config.url=this.config.urls[o],this.config.bitrate=o)}switchAbr(e){e!==this._open&&(e?this.setAbr():this.delAbr())}setAbr(){this._open||(this.player.on("isKeyframe",this._checkStatus),this.player.on("urlchange",this._handleUrlChange),this.player.on("waiting",this._recordStalling),this.player.on("pause",this._resetStalling),this.player.on("playing",this._checkStalling),this.player.on("timeupdate",this._checkStalling),this.player.on("chaseframe",this._recordFrameTrace),this._open=!0,this.isSwitching=!1,this.hasFrameChase=!1,this.isStalling=!1,this.stallStartTime=0)}delAbr(){this.player.off("isKeyframe",this._checkStatus),this.player.off("urlchange",this._handleUrlChange),this.player.off("waiting",this._recordStalling),this.player.off("pause",this._resetStalling),this.player.off("playing",this._checkStalling),this.player.off("timeupdate",this._checkStalling),this._open=!1,this.isSwitching=!1,this.stallStartTime=0}storeSpeed(e){try{if(!this.config.speedKey)return;localStorage.setItem(this.config.speedKey,""+e)}catch{}}getSpeed(){try{return localStorage.getItem(this.config.speedKey)||0}catch{return 0}}updateConfig(e){this.config=Object.assign({},d,e),(!this.config.bitrate||!this.config.urls)&&console.error("bitrate and bitrates is necessary!"),this.config.bitrates=Object.keys(this.config.urls).map((e=>Number(e))).sort(((e,t)=>e-t)),this.algo&&this.algo.inited&&(this.algo.initParamers(this.player,Object.assign({},this.config,{bitrate:this.algo.bitrate})),this.algo.parseMPD());const t=Object.values(this.config.urls).map((e=>function(e){try{if(!e)return"n";const t=/(_[^.]+).flv/.exec(e);if(!t||!t[1])return"n";const n=t[1];for(let e=0,t=g.length;e0?"&":"?"}abr_pts=${e}`;this.switchURL(n,s,A)}}_getLoader(){if("WebCodec"===l(this,"player.plugins.flvlive.playMode"))return l(this,"player.plugins.flvlive.loader");const e=l(this,"player.plugins.flvlive.flv._context");return e?e.getInstance("FETCH_LOADER"):void 0}switchURL(e,t,n){const o=l(this.player,"plugins.flvlive")||{},r=this.player.config.url;if(o&&t&&!this.isSwitching){let o;const i=()=>{if(this.isSwitching=!1,this.player.off("switch_error",o),this.algo&&this.player.config.url===e){const o=this.algo.bufferLength;this.emit("abr_switch",Object.assign({abr_method:this.config.method,is_auto_switch:1,cur_bitrate:this.bitrate,predict_bitrate:t,after_audio_buffer_time:o,after_video_buffer_time:o,switch_cost:Date.now()-n.start,before_url:r,after_url:e},n)),this.bitrate=t,this.config.bitrate=t,this.emit("switch_definition_success",{bitrate:t,url:e})}};o=()=>{this.isSwitching=!1,this.player.off("switch_completed",i),this.emit("switch_definition_fail",{bitrate:t,url:e})},this.player.once("switch_completed",i),this.player.once("switch_error",o),this.isSwitching=!0,this.player.switchURL(e,!0)}else this.player.src=e}destroy(){this.delAbr()}static initAbrModule(){return new Promise(((t,n)=>{try{const n=new c({},{},Date.now()),o={onRuntimeInitialized:()=>{n.inited=!0,e.algo=n,t(!0)}};n.initModule(o)}catch(e){n(e)}}))}};i(u,"algo",null);let p=u;class h extends o.Ay{constructor(e){super(e),i(this,"preProbeTime",0),i(this,"probeCount",0),i(this,"codec",""),i(this,"_emitter",null),this.config=Object.assign({isUse:!0,probeCount:3},this.config),this.resetParams(),this.bindCtx()}static get pluginName(){return"blackscreenprobe"}get version(){return"0.1.9"}resetParams(){this.preProbeTime=0,this.probeCount=0,this.codec="",this._emitter=null}afterCreate(){this.config.isUse&&this.initEvt()}bindCtx(){this.handleUrlChange=this.handleUrlChange.bind(this),this.handleTimeUpdate=this.handleTimeUpdate.bind(this),this.switchUse=this.switchUse.bind(this)}initEvt(){this.player.on("urlchange",this.handleUrlChange),this.player.on("timeupdate",this.handleTimeUpdate)}handleUrlChange(){this.resetParams(),this.player.on("timeupdate",this.handleTimeUpdate)}handleTimeUpdate(){let e;if(this.codec||(e=this.handleMetaDataLoad()),!this.codec)return void(this.player.currentTime>0&&this.player.off("timeupdate",this.handleTimeUpdate));if(e||!this.codec.includes("hev"))return void this.player.off("timeupdate",this.handleTimeUpdate);const{currentTime:t}=this.player.video;if(0===this.probeCount||t-this.preProbeTime>=.5){const e=this.checkBlackScreen();if(this.preProbeTime=t,!e)return this.player.off("timeupdate",this.handleTimeUpdate),void this.cacheResult(0);this.probeCount++,this.probeCount===this.config.probeCount&&(this.cacheResult(1),this.emitBlackEvt())}}checkBlackScreen(){try{const{player:e}=this,{videoWidth:t,videoHeight:n}=e.video;if(!t||!n)return!0;const o=document.createElement("canvas"),r=o.getContext("2d");if(!r)return;o.width=t/2,o.height=n/2,r.drawImage(e.video,0,0,t,n,0,0,t/2,n/2);const{data:i}=r.getImageData(0,0,t/2,n/2);for(let e=0;e0?"&":"?"}abr_pts=${e}&bg_play=1`):this.preUrl&&(n=this.preUrl.indexOf("abr_pts")>0?this.preUrl.replace(/abr_pts=(-)*\d+/g,`abr_pts=${e}`):`${this.preUrl}${this.preUrl.indexOf("?")>0?"&":"?"}abr_pts=${e}`),null!=(t=this.player.plugins)&&t.abr&&(this.hidden?(this.useAbr=this.player.plugins.abr.open,this.player.plugins.abr.switchAbr(!1)):this.useAbr&&(this.player.plugins.abr.switchAbr(!0),this.useAbr=null)),n){if(n.indexOf(this.player.config.url.split("?")[0])>-1)return;this.player.switchURL(n,!0)}}destroy(){document.removeEventListener("visibilitychange",this.handleVisibilitychange),this.player.off("isKeyframe",this.switchUrl)}get isPip(){if(!this.player||!this.player.video)return!1;const{video:e}=this.player;return document.pictureInPictureElement===e||"picture-in-picture"===e.webkitPresentationMode}}}}]);