Files
Jacek Pyziak cd264483f8 Add PSR HTTP Message Interfaces and Dependencies
- Implemented StreamInterface, UploadedFileInterface, and UriInterface as per PSR standards.
- Added getallheaders function to retrieve HTTP headers in a compatible manner.
- Included LICENSE files for ralouphie/getallheaders and symfony/deprecation-contracts.
- Introduced function for triggering deprecation notices in Symfony.
2025-12-28 12:44:00 +01:00

1 line
146 KiB
JavaScript
Raw Permalink Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
(()=>{"use strict";var t={160:(t,e,a)=>{var n=a(609),r="function"==typeof Object.is?Object.is:function(t,e){return t===e&&(0!==t||1/t==1/e)||t!=t&&e!=e},o=n.useSyncExternalStore,s=n.useRef,i=n.useEffect,l=n.useMemo,c=n.useDebugValue;e.useSyncExternalStoreWithSelector=function(t,e,a,n,p){var u=s(null);if(null===u.current){var d={hasValue:!1,value:null};u.current=d}else d=u.current;u=l(function(){function t(t){if(!i){if(i=!0,o=t,t=n(t),void 0!==p&&d.hasValue){var e=d.value;if(p(e,t))return s=e}return s=t}if(e=s,r(o,t))return e;var a=n(t);return void 0!==p&&p(e,a)?(o=t,e):(o=t,s=a)}var o,s,i=!1,l=void 0===a?null:a;return[function(){return t(e())},null===l?void 0:function(){return t(l())}]},[e,a,n,p]);var g=o(t,u[0],u[1]);return i(function(){d.hasValue=!0,d.value=g},[g]),c(g),g}},338:(t,e,a)=>{var n=a(795);n.createRoot,n.hydrateRoot},418:(t,e,a)=>{t.exports=a(160)},609:t=>{t.exports=window.React},795:t=>{t.exports=window.ReactDOM}},e={};function a(n){var r=e[n];if(void 0!==r)return r.exports;var o=e[n]={exports:{}};return t[n](o,o.exports,a),o.exports}a.n=t=>{var e=t&&t.__esModule?()=>t.default:()=>t;return a.d(e,{a:e}),e},a.d=(t,e)=>{for(var n in e)a.o(e,n)&&!a.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:e[n]})},a.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e);var n=a(609),r=a.n(n);const o=window.wp.i18n,s=t=>{const e=t.skipTags||[],a="#atfp_open_translate_span#",n="#atfp_close_translate_span#",r="#atfp_temp_tag_open#",o="#atfp_temp_tag_close#",s="#atfp_less_then_symbol#",i="#atfp_greater_then_symbol#",l="#atfp_entity_open_translate_span#",c="#atfp_entity_close_translate_span#",p=t=>t.replace(new RegExp(a,"g"),"").replace(new RegExp(n,"g"),""),u=t=>{const r=document.createElement("div");r.innerHTML=t;const o=r.firstElementChild;if(!o)return t;let s=o.childNodes,i=s.length;if(i>0){s=Array.from(s).sort((t,e)=>3===t.nodeType?-1:3===e.nodeType?1:0);for(let t=0;t<i;t++){let e=s[t];if(3===e.nodeType){let t=e.textContent.replace(/^\s+|^\.\s+|^\s.|\s+$|\.\s+$|\s.\+$/g,t=>`${a}${p(t)}${n}`);e.textContent=t}else if(8===e.nodeType)e.textContent=e.textContent;else{let t=u(e.outerHTML);e.outerHTML=t}}}let l=o.outerHTML.match(/^<[^>]+>/)[0];const c=new RegExp(`${a}|${n}`,"g");l=l.replace(c,"");const d=o.tagName.toLowerCase(),g=new RegExp(`</${d}>`,"i"),h=o.outerHTML.match(g);if("<style>"===l)return`${a}${p(o.outerHTML)}${n}`;let f=o.innerHTML;f=f.replace(/^\s+|^\.\s+|^\s.|\s+$|\.\s+$|\s.\+$/g,t=>`${a}${p(t)}${n}`),o.innerHTML="";let m="",y="",_="";if(y=`${a}${p(l)}${n}`,h&&(m=`${a}</${d}>${n}`),e.includes(d)){const t=new RegExp(`${a}|${n}`,"g");f=f.replace(t,""),f=`${a}${p(f)}${n}`}return""!==f?(""!==y&&(_=y+f),""!==m&&(_+=m)):_=y+m,o.outerHTML=_,r.innerHTML},d=["yandex","localAiTranslator","google"].includes(t.service)?(e=>{/^(_yoast_wpseo_|rank_math_|_seopress_)/.test(t.contentKey.trim())&&(e=(t=>t.replace(/(%{1,2}[a-zA-Z0-9_]+%{0,2})/g,t=>`${a}${p(t)}${n}`))(e));const d=/\[(.*?)\]/g;"string"==typeof e&&e.match(d)&&(e=e.replace(d,t=>`${a}${p(t)}${n}`));let g=e;if((t=>(t=t.trim(),/^<([a-z][a-z0-9]*)\b[^>]*>(\s*(?:<!--.*?-->\s*)*<\/\1>)?$/i.test(t)))(e))g=e.replace(/<([a-z][a-z0-9]*)\b[^>]*>(\s*(?:<!--.*?-->\s*)*<\/\1>)?/gi,t=>`${a}${p(t)}${n}`);else{const t=document.createElement("div");t.innerHTML=(t=>{if("string"!=typeof t||!t.trim())return t;const e=/<\/?([a-zA-Z0-9]+)(\s[^>]*)?>/g,a=[];let n,s="",i=0;for(;null!==(n=e.exec(t));){const[l,c]=n,p=l.startsWith("</"),u=n.index;if(u>i&&(s+=t.slice(i,u)),p){const t=a.findIndex(t=>t.tag===c);-1!==t?(a.splice(t,1),s+=l):s+=`${r}<${c}>${o}`+l}else a.push({tag:c}),s+=l;i=e.lastIndex}i<t.length&&(s+=t.slice(i));for(let t=a.length-1;t>=0;t--){const{tag:e}=a[t];s+=`${r}</${e}>${o}`}return n=null,a.length=0,t=null,s})(e),function t(e){let r=e.childNodes;const o=e=>{if(r.length>e){let d=r[e],g=null;if(3===d.nodeType){const t=d.textContent.replace(/^\s+|^\.\s+|^\s.|\s+$|\.\s+$|\s.\+$/g,t=>`${a}${p(t)}${n}`);g=document.createTextNode(t)}else if(8===d.nodeType)g=document.createTextNode(`${a}${s}!--${p(d.textContent)}--${i}${n}`);else if(1===d.nodeType){const e=d.childNodes,r=d.outerHTML.trim(),o=r.match(/^<([a-zA-Z0-9]+)(\s[^>]*)?>/i);if(!o)return r;const u=o[1],h=o[2]||"",f=new RegExp(`<\\/${u}>\\s*$`,"i").test(r);e.length>0&&t(d);let m=`${a}${s}${u}${p(h)}${i}${n}${(t=>t.replace(/&([a-zA-Z0-9#x]+);/g,t=>`${l}${t.replace(/&/g,"").replace(/;/g,"")}${c}`))(d.innerHTML)}`;f&&(m+=`${a}${s}/${u}${i}${n}`),g=document.createTextNode(m)}else{let t=d.outerHTML;t=t.replace(/<!--([\s\S]*?)-->/g,(t,e)=>`${a}${p(t)}${n}`);let e=u(t);g=document.createTextNode(e)}d.replaceWith(g),e++,o(e)}};return o(0),e}(t),g=t.innerText,g=g.replace(new RegExp(s,"g"),"<").replace(new RegExp(i,"g"),">"),g=((t,e)=>{if(t=t.trim(),!/<\/?(tr|td)\b[^>]*>/i.test(t))return e;if(/<\/?(tr|td)\b[^>]*>/i.test(e))return e;e=e.trim();const r=t.match(/^<(tr|td)\b[^>]*>/i),o=t.match(/<\/(tr|td)>\s*$/i);let s=e;return r&&(s=`${a}${p(r[0])}${n}`+s),o&&(s+=`${a}${p(o[0])}${n}`),s})(e,g)}const h=new RegExp(`${r}([\\s\\S]*?)(${o})`,"g");return g=g.replace(h,""),g=(t=>t.replace(new RegExp(l,"g"),"&").replace(new RegExp(c,"g"),";"))(g),(t=>{const e=new RegExp(`(${a}[\\s\\S]*?${n})|'`);return t.split(e).filter(Boolean).filter(t=>""!==t.trim())})(g)})(t.content):t.content,g=new RegExp(`${a}[\\s\\S]*?${n}`),h=new RegExp(`${a}|${n}`,"g");return React.createElement(React.Fragment,null,["yandex","localAiTranslator","google"].includes(t.service)?d.map((t,e)=>g.test(t)?React.createElement("span",{key:e,className:"notranslate atfp-notraslate-tag",translate:"no"},(t=>t.replace(h,""))(t)):t):d)};var i=a(795),l=a.n(i);const c=async t=>{const e=document.createElement("div"),a=l().createRoot(e);return new Promise(n=>{a.render(t),setTimeout(()=>{const t=e.innerHTML;a.unmount(),e.remove(),n(t)},0)})};function p(t){return`Minified Redux error #${t}; visit https://redux.js.org/Errors?code=${t} for the full message or use the non-minified dev environment for full errors. `}var u=(()=>"function"==typeof Symbol&&Symbol.observable||"@@observable")(),d=()=>Math.random().toString(36).substring(7).split("").join("."),g={INIT:`@@redux/INIT${d()}`,REPLACE:`@@redux/REPLACE${d()}`,PROBE_UNKNOWN_ACTION:()=>`@@redux/PROBE_UNKNOWN_ACTION${d()}`};function h(t){if("object"!=typeof t||null===t)return!1;let e=t;for(;null!==Object.getPrototypeOf(e);)e=Object.getPrototypeOf(e);return Object.getPrototypeOf(t)===e||null===Object.getPrototypeOf(t)}function f(t,e,a){if("function"!=typeof t)throw new Error(p(2));if("function"==typeof e&&"function"==typeof a||"function"==typeof a&&"function"==typeof arguments[3])throw new Error(p(0));if("function"==typeof e&&void 0===a&&(a=e,e=void 0),void 0!==a){if("function"!=typeof a)throw new Error(p(1));return a(f)(t,e)}let n=t,r=e,o=new Map,s=o,i=0,l=!1;function c(){s===o&&(s=new Map,o.forEach((t,e)=>{s.set(e,t)}))}function d(){if(l)throw new Error(p(3));return r}function m(t){if("function"!=typeof t)throw new Error(p(4));if(l)throw new Error(p(5));let e=!0;c();const a=i++;return s.set(a,t),function(){if(e){if(l)throw new Error(p(6));e=!1,c(),s.delete(a),o=null}}}function y(t){if(!h(t))throw new Error(p(7));if(void 0===t.type)throw new Error(p(8));if("string"!=typeof t.type)throw new Error(p(17));if(l)throw new Error(p(9));try{l=!0,r=n(r,t)}finally{l=!1}return(o=s).forEach(t=>{t()}),t}return y({type:g.INIT}),{dispatch:y,subscribe:m,getState:d,replaceReducer:function(t){if("function"!=typeof t)throw new Error(p(10));n=t,y({type:g.REPLACE})},[u]:function(){const t=m;return{subscribe(e){if("object"!=typeof e||null===e)throw new Error(p(11));function a(){const t=e;t.next&&t.next(d())}return a(),{unsubscribe:t(a)}},[u](){return this}}}}}function m(...t){return 0===t.length?t=>t:1===t.length?t[0]:t.reduce((t,e)=>(...a)=>t(e(...a)))}function y(t){return({dispatch:e,getState:a})=>n=>r=>"function"==typeof r?r(e,a,t):n(r)}var _=y(),b=y,v=Symbol.for("immer-nothing"),T=Symbol.for("immer-draftable"),w=Symbol.for("immer-state");function E(t,...e){throw new Error(`[Immer] minified error nr: ${t}. Full error at: https://bit.ly/3cXEKWf`)}var S=Object.getPrototypeOf;function k(t){return!!t&&!!t[w]}function C(t){return!!t&&(P(t)||Array.isArray(t)||!!t[T]||!!t.constructor?.[T]||$(t)||A(t))}var x=Object.prototype.constructor.toString();function P(t){if(!t||"object"!=typeof t)return!1;const e=S(t);if(null===e)return!0;const a=Object.hasOwnProperty.call(e,"constructor")&&e.constructor;return a===Object||"function"==typeof a&&Function.toString.call(a)===x}function L(t,e){0===N(t)?Reflect.ownKeys(t).forEach(a=>{e(a,t[a],t)}):t.forEach((a,n)=>e(n,a,t))}function N(t){const e=t[w];return e?e.type_:Array.isArray(t)?1:$(t)?2:A(t)?3:0}function I(t,e){return 2===N(t)?t.has(e):Object.prototype.hasOwnProperty.call(t,e)}function O(t,e,a){const n=N(t);2===n?t.set(e,a):3===n?t.add(a):t[e]=a}function $(t){return t instanceof Map}function A(t){return t instanceof Set}function j(t){return t.copy_||t.base_}function R(t,e){if($(t))return new Map(t);if(A(t))return new Set(t);if(Array.isArray(t))return Array.prototype.slice.call(t);const a=P(t);if(!0===e||"class_only"===e&&!a){const e=Object.getOwnPropertyDescriptors(t);delete e[w];let a=Reflect.ownKeys(e);for(let n=0;n<a.length;n++){const r=a[n],o=e[r];!1===o.writable&&(o.writable=!0,o.configurable=!0),(o.get||o.set)&&(e[r]={configurable:!0,writable:!0,enumerable:o.enumerable,value:t[r]})}return Object.create(S(t),e)}{const e=S(t);if(null!==e&&a)return{...t};const n=Object.create(e);return Object.assign(n,t)}}function D(t,e=!1){return H(t)||k(t)||!C(t)||(N(t)>1&&(t.set=t.add=t.clear=t.delete=M),Object.freeze(t),e&&Object.entries(t).forEach(([t,e])=>D(e,!0))),t}function M(){E(2)}function H(t){return Object.isFrozen(t)}var F,z={};function B(t){const e=z[t];return e||E(0),e}function U(){return F}function q(t,e){e&&(B("Patches"),t.patches_=[],t.inversePatches_=[],t.patchListener_=e)}function W(t){K(t),t.drafts_.forEach(G),t.drafts_=null}function K(t){t===F&&(F=t.parent_)}function V(t){return F={drafts_:[],parent_:F,immer_:t,canAutoFreeze_:!0,unfinalizedDrafts_:0}}function G(t){const e=t[w];0===e.type_||1===e.type_?e.revoke_():e.revoked_=!0}function Y(t,e){e.unfinalizedDrafts_=e.drafts_.length;const a=e.drafts_[0];return void 0!==t&&t!==a?(a[w].modified_&&(W(e),E(4)),C(t)&&(t=J(e,t),e.parent_||Z(e,t)),e.patches_&&B("Patches").generateReplacementPatches_(a[w].base_,t,e.patches_,e.inversePatches_)):t=J(e,a,[]),W(e),e.patches_&&e.patchListener_(e.patches_,e.inversePatches_),t!==v?t:void 0}function J(t,e,a){if(H(e))return e;const n=e[w];if(!n)return L(e,(r,o)=>X(t,n,e,r,o,a)),e;if(n.scope_!==t)return e;if(!n.modified_)return Z(t,n.base_,!0),n.base_;if(!n.finalized_){n.finalized_=!0,n.scope_.unfinalizedDrafts_--;const e=n.copy_;let r=e,o=!1;3===n.type_&&(r=new Set(e),e.clear(),o=!0),L(r,(r,s)=>X(t,n,e,r,s,a,o)),Z(t,e,!1),a&&t.patches_&&B("Patches").generatePatches_(n,a,t.patches_,t.inversePatches_)}return n.copy_}function X(t,e,a,n,r,o,s){if(k(r)){const s=J(t,r,o&&e&&3!==e.type_&&!I(e.assigned_,n)?o.concat(n):void 0);if(O(a,n,s),!k(s))return;t.canAutoFreeze_=!1}else s&&a.add(r);if(C(r)&&!H(r)){if(!t.immer_.autoFreeze_&&t.unfinalizedDrafts_<1)return;J(t,r),e&&e.scope_.parent_||"symbol"==typeof n||!Object.prototype.propertyIsEnumerable.call(a,n)||Z(t,r)}}function Z(t,e,a=!1){!t.parent_&&t.immer_.autoFreeze_&&t.canAutoFreeze_&&D(e,a)}var Q={get(t,e){if(e===w)return t;const a=j(t);if(!I(a,e))return function(t,e,a){const n=at(e,a);return n?"value"in n?n.value:n.get?.call(t.draft_):void 0}(t,a,e);const n=a[e];return t.finalized_||!C(n)?n:n===et(t.base_,e)?(rt(t),t.copy_[e]=ot(n,t)):n},has:(t,e)=>e in j(t),ownKeys:t=>Reflect.ownKeys(j(t)),set(t,e,a){const n=at(j(t),e);if(n?.set)return n.set.call(t.draft_,a),!0;if(!t.modified_){const n=et(j(t),e),s=n?.[w];if(s&&s.base_===a)return t.copy_[e]=a,t.assigned_[e]=!1,!0;if(((r=a)===(o=n)?0!==r||1/r==1/o:r!=r&&o!=o)&&(void 0!==a||I(t.base_,e)))return!0;rt(t),nt(t)}var r,o;return t.copy_[e]===a&&(void 0!==a||e in t.copy_)||Number.isNaN(a)&&Number.isNaN(t.copy_[e])||(t.copy_[e]=a,t.assigned_[e]=!0),!0},deleteProperty:(t,e)=>(void 0!==et(t.base_,e)||e in t.base_?(t.assigned_[e]=!1,rt(t),nt(t)):delete t.assigned_[e],t.copy_&&delete t.copy_[e],!0),getOwnPropertyDescriptor(t,e){const a=j(t),n=Reflect.getOwnPropertyDescriptor(a,e);return n?{writable:!0,configurable:1!==t.type_||"length"!==e,enumerable:n.enumerable,value:a[e]}:n},defineProperty(){E(11)},getPrototypeOf:t=>S(t.base_),setPrototypeOf(){E(12)}},tt={};function et(t,e){const a=t[w];return(a?j(a):t)[e]}function at(t,e){if(!(e in t))return;let a=S(t);for(;a;){const t=Object.getOwnPropertyDescriptor(a,e);if(t)return t;a=S(a)}}function nt(t){t.modified_||(t.modified_=!0,t.parent_&&nt(t.parent_))}function rt(t){t.copy_||(t.copy_=R(t.base_,t.scope_.immer_.useStrictShallowCopy_))}function ot(t,e){const a=$(t)?B("MapSet").proxyMap_(t,e):A(t)?B("MapSet").proxySet_(t,e):function(t,e){const a=Array.isArray(t),n={type_:a?1:0,scope_:e?e.scope_:U(),modified_:!1,finalized_:!1,assigned_:{},parent_:e,base_:t,draft_:null,copy_:null,revoke_:null,isManual_:!1};let r=n,o=Q;a&&(r=[n],o=tt);const{revoke:s,proxy:i}=Proxy.revocable(r,o);return n.draft_=i,n.revoke_=s,i}(t,e);return(e?e.scope_:U()).drafts_.push(a),a}function st(t){if(!C(t)||H(t))return t;const e=t[w];let a;if(e){if(!e.modified_)return e.base_;e.finalized_=!0,a=R(t,e.scope_.immer_.useStrictShallowCopy_)}else a=R(t,!0);return L(a,(t,e)=>{O(a,t,st(e))}),e&&(e.finalized_=!1),a}L(Q,(t,e)=>{tt[t]=function(){return arguments[0]=arguments[0][0],e.apply(this,arguments)}}),tt.deleteProperty=function(t,e){return tt.set.call(this,t,e,void 0)},tt.set=function(t,e,a){return Q.set.call(this,t[0],e,a,t[0])};var it=new class{constructor(t){this.autoFreeze_=!0,this.useStrictShallowCopy_=!1,this.produce=(t,e,a)=>{if("function"==typeof t&&"function"!=typeof e){const a=e;e=t;const n=this;return function(t=a,...r){return n.produce(t,t=>e.call(this,t,...r))}}let n;if("function"!=typeof e&&E(6),void 0!==a&&"function"!=typeof a&&E(7),C(t)){const r=V(this),o=ot(t,void 0);let s=!0;try{n=e(o),s=!1}finally{s?W(r):K(r)}return q(r,a),Y(n,r)}if(!t||"object"!=typeof t){if(n=e(t),void 0===n&&(n=t),n===v&&(n=void 0),this.autoFreeze_&&D(n,!0),a){const e=[],r=[];B("Patches").generateReplacementPatches_(t,n,e,r),a(e,r)}return n}E(1)},this.produceWithPatches=(t,e)=>{if("function"==typeof t)return(e,...a)=>this.produceWithPatches(e,e=>t(e,...a));let a,n;return[this.produce(t,e,(t,e)=>{a=t,n=e}),a,n]},"boolean"==typeof t?.autoFreeze&&this.setAutoFreeze(t.autoFreeze),"boolean"==typeof t?.useStrictShallowCopy&&this.setUseStrictShallowCopy(t.useStrictShallowCopy)}createDraft(t){var e;C(t)||E(8),k(t)&&(k(e=t)||E(10),t=st(e));const a=V(this),n=ot(t,void 0);return n[w].isManual_=!0,K(a),n}finishDraft(t,e){const a=t&&t[w];a&&a.isManual_||E(9);const{scope_:n}=a;return q(n,e),Y(void 0,n)}setAutoFreeze(t){this.autoFreeze_=t}setUseStrictShallowCopy(t){this.useStrictShallowCopy_=t}applyPatches(t,e){let a;for(a=e.length-1;a>=0;a--){const n=e[a];if(0===n.path.length&&"replace"===n.op){t=n.value;break}}a>-1&&(e=e.slice(a+1));const n=B("Patches").applyPatches_;return k(t)?n(t,e):this.produce(t,t=>n(t,e))}},lt=it.produce;it.produceWithPatches.bind(it),it.setAutoFreeze.bind(it),it.setUseStrictShallowCopy.bind(it),it.applyPatches.bind(it),it.createDraft.bind(it),it.finishDraft.bind(it);var ct="undefined"!=typeof window&&window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__?window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__:function(){if(0!==arguments.length)return"object"==typeof arguments[0]?m:m.apply(null,arguments)};function pt(t,e){function a(...a){if(e){let n=e(...a);if(!n)throw new Error(Et(0));return{type:t,payload:n.payload,..."meta"in n&&{meta:n.meta},..."error"in n&&{error:n.error}}}return{type:t,payload:a[0]}}return a.toString=()=>`${t}`,a.type=t,a.match=e=>function(t){return h(t)&&"type"in t&&"string"==typeof t.type}(e)&&e.type===t,a}"undefined"!=typeof window&&window.__REDUX_DEVTOOLS_EXTENSION__&&window.__REDUX_DEVTOOLS_EXTENSION__;var ut=class t extends Array{constructor(...e){super(...e),Object.setPrototypeOf(this,t.prototype)}static get[Symbol.species](){return t}concat(...t){return super.concat.apply(this,t)}prepend(...e){return 1===e.length&&Array.isArray(e[0])?new t(...e[0].concat(this)):new t(...e.concat(this))}};function dt(t){return C(t)?lt(t,()=>{}):t}function gt(t,e,a){return t.has(e)?t.get(e):t.set(e,a(e)).get(e)}var ht=t=>e=>{setTimeout(e,t)};function ft(t){const e={},a=[];let n;const r={addCase(t,a){const n="string"==typeof t?t:t.type;if(!n)throw new Error(Et(28));if(n in e)throw new Error(Et(29));return e[n]=a,r},addAsyncThunk:(t,n)=>(n.pending&&(e[t.pending.type]=n.pending),n.rejected&&(e[t.rejected.type]=n.rejected),n.fulfilled&&(e[t.fulfilled.type]=n.fulfilled),n.settled&&a.push({matcher:t.settled,reducer:n.settled}),r),addMatcher:(t,e)=>(a.push({matcher:t,reducer:e}),r),addDefaultCase:t=>(n=t,r)};return t(r),[e,a,n]}var mt=Symbol.for("rtk-slice-createasyncthunk");function yt(t,e){return`${t}/${e}`}function _t({creators:t}={}){const e=t?.asyncThunk?.[mt];return function(t){const{name:a,reducerPath:n=a}=t;if(!a)throw new Error(Et(11));const r=("function"==typeof t.reducers?t.reducers(function(){function t(t,e){return{_reducerDefinitionType:"asyncThunk",payloadCreator:t,...e}}return t.withTypes=()=>t,{reducer:t=>Object.assign({[t.name]:(...e)=>t(...e)}[t.name],{_reducerDefinitionType:"reducer"}),preparedReducer:(t,e)=>({_reducerDefinitionType:"reducerWithPrepare",prepare:t,reducer:e}),asyncThunk:t}}()):t.reducers)||{},o=Object.keys(r),s={sliceCaseReducersByName:{},sliceCaseReducersByType:{},actionCreators:{},sliceMatchers:[]},i={addCase(t,e){const a="string"==typeof t?t:t.type;if(!a)throw new Error(Et(12));if(a in s.sliceCaseReducersByType)throw new Error(Et(13));return s.sliceCaseReducersByType[a]=e,i},addMatcher:(t,e)=>(s.sliceMatchers.push({matcher:t,reducer:e}),i),exposeAction:(t,e)=>(s.actionCreators[t]=e,i),exposeCaseReducer:(t,e)=>(s.sliceCaseReducersByName[t]=e,i)};function l(){const[e={},a=[],n]="function"==typeof t.extraReducers?ft(t.extraReducers):[t.extraReducers],r={...e,...s.sliceCaseReducersByType};return function(t){let e,[o,i,l]=ft(t=>{for(let e in r)t.addCase(e,r[e]);for(let e of s.sliceMatchers)t.addMatcher(e.matcher,e.reducer);for(let e of a)t.addMatcher(e.matcher,e.reducer);n&&t.addDefaultCase(n)});if("function"==typeof t)e=()=>dt(t());else{const a=dt(t);e=()=>a}function c(t=e(),a){let n=[o[a.type],...i.filter(({matcher:t})=>t(a)).map(({reducer:t})=>t)];return 0===n.filter(t=>!!t).length&&(n=[l]),n.reduce((t,e)=>{if(e){if(k(t)){const n=e(t,a);return void 0===n?t:n}if(C(t))return lt(t,t=>e(t,a));{const n=e(t,a);if(void 0===n){if(null===t)return t;throw Error("A case reducer on a non-draftable value must not return undefined")}return n}}return t},t)}return c.getInitialState=e,c}(t.initialState)}o.forEach(n=>{const o=r[n],s={reducerName:n,type:yt(a,n),createNotation:"function"==typeof t.reducers};!function(t){return"asyncThunk"===t._reducerDefinitionType}(o)?function({type:t,reducerName:e,createNotation:a},n,r){let o,s;if("reducer"in n){if(a&&!function(t){return"reducerWithPrepare"===t._reducerDefinitionType}(n))throw new Error(Et(17));o=n.reducer,s=n.prepare}else o=n;r.addCase(t,o).exposeCaseReducer(e,o).exposeAction(e,s?pt(t,s):pt(t))}(s,o,i):function({type:t,reducerName:e},a,n,r){if(!r)throw new Error(Et(18));const{payloadCreator:o,fulfilled:s,pending:i,rejected:l,settled:c,options:p}=a,u=r(t,o,p);n.exposeAction(e,u),s&&n.addCase(u.fulfilled,s),i&&n.addCase(u.pending,i),l&&n.addCase(u.rejected,l),c&&n.addMatcher(u.settled,c),n.exposeCaseReducer(e,{fulfilled:s||Tt,pending:i||Tt,rejected:l||Tt,settled:c||Tt})}(s,o,i,e)});const c=t=>t,p=new Map,u=new WeakMap;let d;function g(t,e){return d||(d=l()),d(t,e)}function h(){return d||(d=l()),d.getInitialState()}function f(e,a=!1){function n(t){let r=t[e];return void 0===r&&a&&(r=gt(u,n,h)),r}function r(e=c){const n=gt(p,a,()=>new WeakMap);return gt(n,e,()=>{const n={};for(const[r,o]of Object.entries(t.selectors??{}))n[r]=bt(o,e,()=>gt(u,e,h),a);return n})}return{reducerPath:e,getSelectors:r,get selectors(){return r(n)},selectSlice:n}}const m={name:a,reducer:g,actions:s.actionCreators,caseReducers:s.sliceCaseReducersByName,getInitialState:h,...f(n),injectInto(t,{reducerPath:e,...a}={}){const r=e??n;return t.inject({reducerPath:r,reducer:g},a),{...m,...f(r,!0)}}};return m}}function bt(t,e,a,n){function r(r,...o){let s=e(r);return void 0===s&&n&&(s=a()),t(s,...o)}return r.unwrapped=t,r}var vt=_t();function Tt(){}var{assign:wt}=Object;function Et(t){return`Minified Redux Toolkit error #${t}; visit https://redux-toolkit.js.org/Errors?code=${t} for the full message or use the non-minified dev environment for full errors. `}Symbol.for("rtk-state-proxy-original");const St=vt({name:"atfp-bulk-translate",initialState:{completedPosts:[],pendingPosts:[],parentPostsInfo:{},translatePostInfo:[],progressStatus:0,targetLanguages:[],countInfo:{totalPosts:0,postsTranslated:0,stringsTranslated:0,charactersTranslated:0,errorPosts:0},translatedContent:{},serviceProvider:"",blockParseRules:{},allowedMetaFields:{},errorPostsInfo:{}},reducers:{updateCompletedPosts:(t,e)=>{t.completedPosts=[...t.completedPosts||[],...e.payload]},updatePendingPosts:(t,e)=>{t.pendingPosts=[...t.pendingPosts||[],...e.payload]},unsetPendingPost:(t,e)=>{t.pendingPosts=t.pendingPosts.filter(t=>t!==e.payload)},updateTranslatePostInfo:(t,e)=>{e.payload&&"object"==typeof e.payload&&(Array.isArray(e.payload)||(t.translatePostInfo={...t.translatePostInfo,...Object.keys(e.payload).reduce((a,n)=>(a[n]={...t.translatePostInfo?.[n]||{},...e.payload[n]},a),{})}))},updateProgressStatus:(t,e)=>{t.progressStatus+=e.payload},updateCountInfo:(t,e)=>{t.countInfo={...t.countInfo,...e.payload}},updateSourceContent:(t,e)=>{t.translatedContent={...t.translatedContent,[e.payload.postId]:{...t.translatedContent?.[e.payload.postId]||{},[e.payload.uniqueKey]:{...t.translatedContent?.[e.payload.postId]?.[e.payload.uniqueKey]||{},source:e.payload.value}}}},updateTargetContent:(t,e)=>{t.translatedContent={...t.translatedContent,[e.payload.postId]:{...t.translatedContent?.[e.payload.postId]||{},[e.payload.uniqueKey]:{...t.translatedContent?.[e.payload.postId]?.[e.payload.uniqueKey]||{},targetContent:e.payload.value}}}},updateTranslatedContent:(t,e)=>{t.translatedContent={...t.translatedContent,[e.payload.postId]:{...t.translatedContent?.[e.payload.postId]||{},[e.payload.uniqueKey]:{...t.translatedContent?.[e.payload.postId]?.[e.payload.uniqueKey]||{},translation:{...e.payload.translation||{},[e.payload.provider]:{...e.payload.translation?.[e.payload.provider]||{},[e.payload.key]:e.payload.value}}}}}},updateParentPostsInfo:(t,e)=>{t.parentPostsInfo={...t.parentPostsInfo,[e.payload.postId]:{...t.parentPostsInfo?.[e.payload.postId]||{},...e.payload.data}}},updateServiceProvider:(t,e)=>{["localAiTranslator","google","google_ai","openai_ai","openrouter_ai","deepl_ai"].includes(e.payload)&&(t.serviceProvider=e.payload)},updateTargetLanguages:(t,e)=>{e.payload.lang&&e.payload.lang.length>0&&(t.targetLanguages=[...t.targetLanguages,...e.payload.lang])},updateBlockParseRules:(t,e)=>{t.blockParseRules=e.payload},updateAllowedMetaFields:(t,e)=>{t.allowedMetaFields=e.payload},updateErrorPostsInfo:(t,e)=>{t.errorPostsInfo={...t.errorPostsInfo,[e.payload.postId]:e.payload.data}},resetStore:t=>{t.pendingPosts=[],t.progressStatus=0,t.completedPosts=[],t.translatePostInfo=[],t.targetLanguages=[],t.serviceProvider="",t.parentPostsInfo={},t.countInfo={totalPosts:0,postsTranslated:0,stringsTranslated:0,charactersTranslated:0,errorPosts:0},t.translatedContent={},t.blockParseRules={},t.allowedMetaFields={},t.errorPostsInfo={}}}}),{updateTranslationsLanguages:kt,updateCompletedPosts:Ct,updatePendingPosts:xt,unsetPendingPost:Pt,updateTranslatePostInfo:Lt,updateProgressStatus:Nt,updateCountInfo:It,updateSourceContent:Ot,updateTranslatedContent:$t,resetStore:At,updateTargetContent:jt,updateParentPostsInfo:Rt,updateServiceProvider:Dt,updateTargetLanguages:Mt,updateBlockParseRules:Ht,updateAllowedMetaFields:Ft,updateErrorPostsInfo:zt}=St.actions,Bt=function(t){const e=function(t){const{thunk:e=!0,immutableCheck:a=!0,serializableCheck:n=!0,actionCreatorCheck:r=!0}=t??{};let o=new ut;return e&&("boolean"==typeof e?o.push(_):o.push(b(e.extraArgument))),o},{reducer:a,middleware:n,devTools:r=!0,duplicateMiddlewareCheck:o=!0,preloadedState:s,enhancers:i}=t||{};let l,c;if("function"==typeof a)l=a;else{if(!h(a))throw new Error(Et(1));l=function(t){const e=Object.keys(t),a={};for(let n=0;n<e.length;n++){const r=e[n];"function"==typeof t[r]&&(a[r]=t[r])}const n=Object.keys(a);let r;try{!function(t){Object.keys(t).forEach(e=>{const a=t[e];if(void 0===a(void 0,{type:g.INIT}))throw new Error(p(12));if(void 0===a(void 0,{type:g.PROBE_UNKNOWN_ACTION()}))throw new Error(p(13))})}(a)}catch(t){r=t}return function(t={},e){if(r)throw r;let o=!1;const s={};for(let r=0;r<n.length;r++){const i=n[r],l=a[i],c=t[i],u=l(c,e);if(void 0===u)throw e&&e.type,new Error(p(14));s[i]=u,o=o||u!==c}return o=o||n.length!==Object.keys(t).length,o?s:t}}(a)}c="function"==typeof n?n(e):e();let u=m;r&&(u=ct({trace:!1,..."object"==typeof r&&r}));const d=function(...t){return e=>(a,n)=>{const r=e(a,n);let o=()=>{throw new Error(p(15))};const s={getState:r.getState,dispatch:(t,...e)=>o(t,...e)},i=t.map(t=>t(s));return o=m(...i)(r.dispatch),{...r,dispatch:o}}}(...c),y=(t=>function(e){const{autoBatch:a=!0}=e??{};let n=new ut(t);return a&&n.push(((t={type:"raf"})=>e=>(...a)=>{const n=e(...a);let r=!0,o=!1,s=!1;const i=new Set,l="tick"===t.type?queueMicrotask:"raf"===t.type?"undefined"!=typeof window&&window.requestAnimationFrame?window.requestAnimationFrame:ht(10):"callback"===t.type?t.queueNotification:ht(t.timeout),c=()=>{s=!1,o&&(o=!1,i.forEach(t=>t()))};return Object.assign({},n,{subscribe(t){const e=n.subscribe(()=>r&&t());return i.add(t),()=>{e(),i.delete(t)}},dispatch(t){try{return r=!t?.meta?.RTK_autoBatch,o=!r,o&&(s||(s=!0,l(c))),n.dispatch(t)}finally{r=!0}}})})("object"==typeof a?a:void 0)),n})(d);return f(l,s,u(..."function"==typeof i?i(y):y()))}({reducer:St.reducer}),Ut=(t,e,a,n,r)=>{r(Ot({postId:t,uniqueKey:e,value:a})),r(jt({postId:t,uniqueKey:e,value:n}));const o=Bt.getState().parentPostsInfo[t],s=(o?.charactersCount||0)+a.length,i=(o?.wordsCount||0)+("string"==typeof a?a.split(/\s+/).filter(t=>/[^\p{L}\p{N}]/.test(t)).length:0),l=(o?.stringsCount||0)+("string"==typeof a?a.split(/(?<=[.!?]+)\s+/).length:0);r(Rt({postId:t,data:{charactersCount:s,wordsCount:i,stringsCount:l}}))},qt=async({content:t,service:e,postId:a,storeDispatch:n,filterHtmlContent:r})=>{const o=async(t,e,a)=>{await t(e[a],a),++a<e.length&&await o(t,e,a)};await(async({content:t,service:e})=>{const i=(t=>{const e=[],a=/(\r\n|\r|\n)/g;let n,r=0;for(;null!==(n=a.exec(t));){n.index>r&&e.push(t.slice(r,n.index));const o=n[0];e.push(`atfpp_skip_${o}_atfpp`),r=a.lastIndex}return r<t.length&&e.push(t.slice(r)),e})(t);i.length>0&&await o(async(t,o)=>{const i=/^&[a-zA-Z0-9#]+;$/.test(t),l=/^<\/?\s*[a-zA-Z0-9#]+\s*\/?>$/.test(t),p=/^<\s*\/?\s*[a-zA-Z0-9#]+\s*><\/\s*\/?\s*[a-zA-Z0-9#]+\s*>$/.test(t),u=/<!--[\s\S]*?-->/g.test(t)&&t.indexOf("\x3c!--")<t.indexOf("--\x3e"),d=!(i||l||p||u);if(""!==t&&!t.includes("atfpp_skip_")&&d){let i=t;if(r){let a=s({content:t,service:e,contentKey:"content_classic_index_"+o,skipTags:[]});i=await c(a),a=null}Ut(a,"content_classic_index_"+o,t,i,n)}},i,0)})({content:t,service:e})},Wt=async({content:t,service:e,postId:a,storeDispatch:n,filterHtmlContent:r})=>{const o={},i=async(t,e,a)=>{await t(e[a],a),++a<e.length&&await i(t,e,a)},l=async(t,i)=>{if("string"==typeof i&&""!==i.trim()&&t.length>0){const l=t.join("_atfpp_");let p=i;if(r){let t=s({content:i,service:e,contentKey:l,skipTags:["script","style"]});p=await c(t),t=null}Ut(a,l,i,p,n),p&&""!==p&&(o[l]=p)}},p=["content_width","title_size","font_size","margin","padding","background","border","color","text_align","font_weight","font_family","line_height","letter_spacing","text_transform","border_radius","box_shadow","opacity","width","height","display","position","z_index","visibility","align","max_width","content_typography_typography","flex_justify_content","title_color","description_color","email_content"],u=t=>["title","description","editor","text","content","label"].some(e=>t.toLowerCase().includes(e))||["caption","heading","sub_heading","testimonial_content","testimonial_job","testimonial_name","name"].some(e=>t===e),d=async(t,e,a=[])=>{const n=t.settings;if(a.push(e),"object"==typeof n&&null!==n&&Object.keys(n).length>0){const t=async(t,e)=>{if(!p.some(e=>t.toLowerCase().includes(e))&&(u(t)&&"string"==typeof n[t]&&""!==n[t].trim()&&await l([...a,"settings",t],n[t]),Array.isArray(n[t])&&n[t].length>0)){const e=async(e,n)=>{if("object"==typeof e&&null!==e){const r=async r=>{p.includes(r.toLowerCase())||u(r)&&"string"==typeof e[r]&&""!==e[r].trim()&&await l([...a,"settings",t,n,r],e[r])};await i(r,Object.keys(e),0)}};await i(e,n[t],0)}};await i(t,Object.keys(n),0)}if(t.elements&&Array.isArray(t.elements)&&t.elements.length>0){const e=async(t,e)=>{await d(t,e,[...a,"elements"])};await i(e,t.elements,0)}};if(t&&t.length>0){const e=async(t,e)=>{await d(t,e,["content"])};await i(e,t,0)}},Kt=async({content:t,service:e,blockParseRules:a,postId:n,storeDispatch:r,filterHtmlContent:o})=>{const i=Object.keys(a?.AtfpBlockParseRules),l=(JSON.parse(JSON.stringify(t)),async(t,e,a)=>{await t(e[a],a),++a<e.length&&await l(t,e,a)}),p=async(t,a,n=[])=>{let r=t;if(o){let o=s({content:t,service:e,contentKey:a,skipTags:n});r=await c(o),o=null}return r},u=async(t,e,a)=>{Ut(n,t,e,a,r)},d=async(t,e)=>{let n=!1,r=[];if(i.includes(e.blockName)&&e.attrs&&Object.keys(e.attrs).length>0&&(r=await f([...t,"attrs"],e,a?.AtfpBlockParseRules[e.blockName])),e.innerContent&&e.innerContent.length>0&&r.length>0){const t=e.innerContent.join(" ");let a=document.createElement("div");a.innerHTML=t;const o=a.innerText.split(" ").length;let s=0;r.forEach(t=>{a.innerText.includes(t)&&(s+=t.split(" ").length)}),100*s/o>97&&(n=!0),a=null}if(e.innerContent&&e.innerContent.length>0&&!n){let a=e.innerHTML?e.innerHTML.trim():"";a=a.replace(/\s/g,""),a&&""!==a&&await g([...t,"innerContent"],e.innerContent)}if(e.innerBlocks&&e.innerBlocks.length>0){const a=async(e,a)=>{await d([...t,"innerBlocks",a],e)};await l(a,e.innerBlocks,0)}},g=async(t,e)=>{await l(async(a,n)=>{let r=document.createElement("div");if(r.innerHTML=a,""===r.innerText.trim())return;r=null;let o=a?a.trim():"";if(o=o.replace(/\s/g,""),o&&""!==o){const a=[...t,n].join("_atfpp_"),r=await p(e[n],a,["script","style"]);r&&""!==r&&u(a,e[n],r)}},e,0)},h=async(t,e,a,n=[])=>{if(Object.getPrototypeOf(t)===Object.prototype){const r=Object.keys(t),o=async(r,o)=>{if("boolean"==typeof t[r]&&!0===t[r]&&a&&a[r]){const t=[...e,r].join("_atfpp_"),o=await p(a[r],t);o&&""!==o&&(n.push(o),u(t,a[r],o))}else Object.getPrototypeOf(t[r])!==Object.prototype&&Object.getPrototypeOf(t[r])!==Array.prototype||await h(t[r],[...e,r],a[r])};await l(o,r,0)}else if(Object.getPrototypeOf(t)===Array.prototype){const r=async(a,r)=>{if("boolean"==typeof t[0]&&!0===t[0]){const t=[...e,r].join("_atfpp_"),o=await p(a,t);o&&""!==o&&(n.push(o),u(t,a,o))}else Object.getPrototypeOf(t[0])!==Object.prototype&&Object.getPrototypeOf(t[0])!==Array.prototype||await h(t[0],[...e,r],a,n)};await l(r,a,0)}},f=async(t,e,a)=>{const n=[];let r=e?.attrs;const o=Object.keys(r),s=Object.keys(a?.attributes).filter(t=>o.includes(t));return await l(async(e,o)=>{const s=a?.attributes[e],i=JSON.parse(JSON.stringify(t));if(!0===s){i.push(e);const t=i.join("_atfpp_");if(r[e]&&""!==r[e]){const a=await p(r[e],t);a&&""!==a&&(n.push(a),u(t,r[e],a))}}else"object"==typeof s&&await h(s,[...t,e],r[e],n)},s,0),n};await(async t=>{await l(async(e,n)=>{if(i.includes(t[e].blockName)&&t[e].attrs)await d(["content",e],t[e],a?.AtfpBlockParseRules[t[e].blockName]);else if(t[e].innerBlocks&&t[e].innerBlocks.length>0){const a=async(t,a)=>{await d(["content",e,"innerBlocks",a],t)};await l(a,t[e].innerBlocks,0)}},Object.keys(t),0)})(t)},Vt=async({content:t,service:e,postId:a,storeDispatch:n,filterHtmlContent:r})=>"true"===atfpp_bulk_translate_object.postMetaSync&&"taxonomy"!==atfpp_bulk_translate_object.taxonomy_page?t:await qt({content:t,service:e,postId:a,storeDispatch:n,filterHtmlContent:r}),Gt=t=>t.serviceProvider,Yt=t=>t.pendingPosts,Jt=t=>t.translatePostInfo,Xt=t=>t.progressStatus,Zt=t=>t.countInfo,Qt=t=>t.errorPostsInfo,te=(t,e,a,n,r)=>t.translatedContent[e]?.[a]?.translation?.[r]?.[n]||t.translatedContent[e]?.[a]?.source,ee=(t,e)=>{const a={};return Object.keys(t.translatedContent[e]).forEach(n=>{t.translatedContent[e][n]?.source&&(a[n]=t.translatedContent[e][n]?.source)}),a},ae=(t,e)=>{const a={};return t.translatedContent[e]&&Object.keys(t.translatedContent[e]).length>0&&Object.keys(t.translatedContent[e]).forEach(n=>{t.translatedContent[e][n]?.targetContent&&(a[n]=t.translatedContent[e][n]?.targetContent)}),a},ne=(t,e,a,n)=>{const r=Bt.getState().allowedMetaFields,o=t,s=(t,r)=>{Object.keys(r).forEach(i=>{const l=[...t,i],c="metaFields_atfpp_"+l.join("_atfpp_");if("string"==typeof r[i]){const t=te(Bt.getState(),n,c,e,a);let r=o;t&&""!==t&&l.forEach((e,a)=>{a!==l.length-1?(r.hasOwnProperty(e)||(r[e]={}),r=r[e]):r[e]=t})}"object"==typeof r[i]&&Object.keys(r[i]).length>0&&(o[c]=s(l,r[i]))})};return t&&Object.keys(t).length>0&&Object.keys(t).forEach(i=>{if(r&&r[i]&&"object"==typeof t[i]&&Object.keys(t[i]).length>0)s([i],t[i]);else if("string"==typeof t[i]&&r&&r[i]&&r[i].status){const t="metaFields_atfpp_"+i,r=te(Bt.getState(),n,t,e,a);r&&""!==r&&(o[i]=r)}}),o},re=async({source:t,lang:e,translatedContent:a,serviceProvider:n,postId:r})=>{const o=t=>te(Bt.getState(),r,t,e,n),s=async(t,e,a)=>{await t(e[a],a),++a<e.length&&await s(t,e,a)};return await(async(t,e)=>{e&&""!==e&&(t.title=await o("title"))})(t,t.title),await(async(t,e)=>{e&&""!==e&&(t.post_name=await o("post_name"))})(t,t.post_name),await(async(t,e)=>{e&&""!==e&&(t.excerpt=await o("excerpt"))})(t,t.excerpt),await(async({content:a})=>{const o=function(t){const e=[],a=/(\r\n|\r|\n)/g;let n,r=0;for(;null!==(n=a.exec(t));){n.index>r&&e.push(t.slice(r,n.index));const o=n[0];e.push(`atfpp_skip_${o}_atfpp`),r=a.lastIndex}return r<t.length&&e.push(t.slice(r)),e}(a),i=[];o.length>0&&await s(async(t,a)=>{const o=/^&[a-zA-Z0-9#]+;$/.test(t),s=/^<\/?\s*[a-zA-Z0-9#]+\s*\/?>$/.test(t),l=/^<\s*\/?\s*[a-zA-Z0-9#]+\s*><\/\s*\/?\s*[a-zA-Z0-9#]+\s*>$/.test(t),c=/<!--[\s\S]*?-->/g.test(t)&&t.indexOf("\x3c!--")<t.indexOf("--\x3e"),p=!(o||s||l||c);if(""!==t&&!t.includes("atfpp_skip_")&&p){const t="content_classic_index_"+a,o=te(Bt.getState(),r,t,e,n);i.push(o)}else if(t.includes("atfpp_skip_")){const e=t.replace("atfpp_skip_","").replace("_atfpp","");i.push(e)}else i.push(t)},o,0),t.content=i.join("")})({content:t.content}),"false"===atfpp_bulk_translate_object.postMetaSync&&t.metaFields&&Object.keys(t.metaFields).length>0&&(t.metaFields=ne(t.metaFields,e,n,r)),t},oe=async({source:t,lang:e,translatedContent:a,serviceProvider:n,postId:r})=>{const o=t=>te(Bt.getState(),r,t,e,n);return((t,e)=>{Object.keys(e).forEach(a=>{const n=a.split("_atfpp_");if("title"===n[0])((t,e)=>{e&&""!==e&&(t.title=o("title"))})(t,e[n[0]]);else if("post_name"===n[0])((t,e)=>{e&&""!==e&&(t.post_name=o("post_name"))})(t,e[n[0]]);else if("excerpt"===n[0])((t,e)=>{e&&""!==e&&(t.excerpt=o("excerpt"))})(t,e[n[0]]);else if("content"===n[0]){let e=n,r=t.content;const s=o(a);let i=null,l=null;e=e.slice(1),e.forEach(t=>{i=r,l=t,r=r[t]}),i&&l&&((t,e,a)=>{!t||!t[e]||"string"!=typeof t[e]||""===t[e].trim()||(t[e]=a)})(i,l,s)}})})(t,a),"false"===atfpp_bulk_translate_object.postMetaSync&&t.metaFields&&Object.keys(t.metaFields).length>0&&(t.metaFields=ne(t.metaFields,e,n,r)),t},se=async({source:t,lang:e,translatedContent:a,serviceProvider:n,postId:r})=>{const o=[];Bt.getState().blockParseRules;const s=ee(Bt.getState(),r),i=(t,e,a)=>!(!t||!t[e]||"string"!=typeof t[e]||""===t[e].trim()||(t[e]=a,0)),l=e=>{const n=e.replace(/(_atfpp_\d+)$/,""),r=Object.keys(a).filter(t=>t.includes(n));o.push(...r);const s=[];r.forEach(e=>{let a=e.split("_atfpp_"),n=t.content;const r=c(e);let o=null,l=null;a=a.slice(1),a.forEach(t=>{o=n,l=t,n=n[t]}),o&&l&&o[l]&&i(o,l,r)&&s.push(r)});let l=null,p=null,u=t.content;n.split("_atfpp_").slice(1).forEach(t=>{l=u,p=t,u=u[t]}),l&&p&&l[p]&&"innerContent"===p&&l.innerHTML&&""!==l.innerHTML.trim()&&i(l,"innerHTML",s.join(""))},c=t=>te(Bt.getState(),r,t,e,n),p=a=>{if(Object.keys(s).filter(t=>t.startsWith("content_atfpp_"+a+"_atfpp_innerContent")).length>0)return;let o=Object.keys(s).filter(t=>t.startsWith("content_atfpp_"+a+"_atfpp_attrs")),i={};o.forEach(t=>{const a=((t,e,a)=>t.translatedContent[e]?.[a]?.source)(Bt.getState(),r,t),o=te(Bt.getState(),r,t,e,n);a&&o&&""!==a&&""!==o&&(i[a]=o)});let l=Object.entries(i).sort((t,e)=>e[0].split(/\s+/).length-t[0].split(/\s+/).length).reduce((t,[e,a])=>(t[e]=a,t),{}),c=a.split("_atfpp_"),p=t.content,d=null,g=null;c.forEach(t=>{d=p,g=t,p=p[t]}),u(p,l),o=null,i=null,l=null,c=null,p=null,d=null,g=null},u=(t,e)=>{if(t&&t.innerHTML&&""!==t.innerHTML.trim()){if("core/more"===t.blockName){const a=Object.keys(e)[0],n=e[a],r=new RegExp(`\x3c!--more\\s+${a}`,"g");return t.innerHTML=t.innerHTML.replace(r,`\x3c!--more ${n}`),void(t.innerContent&&t.innerContent.length>0&&t.innerContent.forEach((e,r)=>{const o=new RegExp(`\x3c!--more\\s+${a}`,"g");t.innerContent[r]=e.replace(o,`\x3c!--more ${n}`)}))}let a=t.innerHTML;Object.keys(e).forEach(t=>{const n=new RegExp(`(?<!<[^>]*)${t.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")}(?![^<]*>)`,"g");a=a.replace(n,e[t])}),t.innerHTML=a,a=null,t.innerContent&&t.innerContent.length>0&&t.innerContent.forEach((a,n)=>{if(a&&a&&""!==a.trim()){let r=a;Object.keys(e).forEach(t=>{const a=new RegExp(`(?<!<[^>]*)${t.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")}(?![^<]*>)`,"g");r=r.replace(a,e[t])}),t.innerContent[n]=r,r=null}})}};return((t,e)=>{const a=[];Object.keys(e).forEach(n=>{const r=n.split("_atfpp_");if("title"===r[0])((t,e)=>{e&&""!==e&&(t.title=c("title"))})(t,e[r[0]]);else if("post_name"===r[0])((t,e)=>{e&&""!==e&&(t.post_name=c("post_name"))})(t,e[r[0]]);else if("excerpt"===r[0])((t,e)=>{e&&""!==e&&(t.excerpt=c("excerpt"))})(t,e[r[0]]);else if("content"===r[0]){let e=r,s=t.content;const p=c(n);let u=null,d=null;if(e=e.slice(1),e.includes("attrs")){const n=e.indexOf("attrs"),r=e.slice(0,n);let o=null,s=t.content;const i=r.join("_atfpp_");a.includes(i)||(r.forEach(t=>{o=t,s=s[t]}),(s&&"core/more"===s.blockName||s&&!s.blockName.startsWith("core/")&&(s.innerHTML&&""!==s.innerHTML.trim()||s.originalContent&&""!==s.originalContent.trim()))&&a.push(i))}e.forEach(t=>{u=s,d=t,s=s[t]}),u&&d&&n.includes("innerContent")&&!o.includes(n)?l(n):u&&d&&i(u,d,p)}}),a.forEach(t=>{p(t)})})(t,a),"false"===atfpp_bulk_translate_object.postMetaSync&&t.metaFields&&Object.keys(t.metaFields).length>0&&(t.metaFields=ne(t.metaFields,e,n,r)),t},ie=async({source:t,lang:e,serviceProvider:a,postId:n})=>"true"===atfpp_bulk_translate_object.postMetaSync&&"taxonomy"!==atfpp_bulk_translate_object.taxonomy_page?t:await re({source:t,lang:e,serviceProvider:a,postId:n});class le{static Object=t=>new this(t).extraData();constructor(t){this.textContentObject=t.textContentObject,this.onStartTranslationProcess=t.onStartTranslationProcess||(()=>{}),this.onComplete=t.onComplete||(()=>{}),this.onLanguageError=t.onLanguageError||(()=>{}),this.onBeforeTranslate=t.onBeforeTranslate||(()=>{}),this.onAfterTranslate=t.onAfterTranslate||(()=>{}),this.sourceLanguage=t.sourceLanguage||"en",this.targetLanguage=t.targetLanguage||"hi",this.sourceLanguageLabel=t.sourceLanguageLabel||"English",this.targetLanguageLabel=t.targetLanguageLabel||"Hindi"}extraData=async()=>{const t=await le.languageSupportedStatus(this.sourceLanguage,this.targetLanguage,this.targetLanguageLabel,this.sourceLanguageLabel);return!0!==t?(this.onLanguageError(t),{}):(this.defaultLang=this.targetLanguage,{continueTranslation:this.continueTranslation,stopTranslation:this.stopTranslation,startTranslation:this.startTranslation,reInit:this.reInit,init:this.init})};static languageSupportedStatus=async(t,e,a,n)=>{const r=["en","es","ja","ar","de","bn","fr","hi","it","ko","nl","pl","pt","ru","th","tr","vi","zh","zh-hant","bg","cs","da","el","fi","hr","hu","id","iw","lt","no","ro","sk","sl","sv","uk","kn","ta","te","mr"].map(t=>t.toLowerCase()),o="https:"===window.location.protocol,s=window?.isSecureContext;if(!window.hasOwnProperty("chrome")||!navigator.userAgent.includes("Chrome")||navigator.userAgent.includes("Edg"))return{html:jQuery('<span style="color: #ff4646; display: inline-block;">\n <strong>Important Notice:</strong>\n <ol>\n <li>The Translator API, which leverages Chrome local AI models, is designed specifically for use with the Chrome browser.</li>\n <li>For comprehensive information about the Translator API, <a href="https://developer.chrome.com/docs/ai/translator-api" target="_blank">click here</a>.</li>\n </ol>\n <p>Please ensure you are using the Chrome browser for optimal performance and compatibility.</p>\n </span>'),message:"Browser not supported",type:"browser-not-supported"};if(!("translation"in self&&"createTranslator"in self.translation||"ai"in self&&"translator"in self.ai||"Translator"in self&&"create"in self.Translator||o||s))return{html:jQuery(`<span style="color: #ff4646; display: inline-block;">\n <strong>Important Notice:</strong>\n <ol>\n <li>\n The Translator API is not functioning due to an insecure connection.\n </li>\n <li>\n Please switch to a secure connection (HTTPS) or add this URL to the list of insecure origins treated as secure by visiting \n <span data-clipboard-text="chrome://flags/#unsafely-treat-insecure-origin-as-secure" target="_blank" class="chrome-ai-translator-flags">\n chrome://flags/#unsafely-treat-insecure-origin-as-secure ${le.svgIcons("copy")}\n </span>.\n Click on the URL to copy it, then open a new window and paste this URL to access the settings.\n </li>\n </ol>\n </span>`),message:"Browser not supported",type:"browser-not-supported"};if(!("translation"in self&&"createTranslator"in self.translation||"ai"in self&&"translator"in self.ai||"Translator"in self&&"create"in self.Translator))return{html:jQuery(`<span style="color: #ff4646; display: inline-block;">\n <h4>Steps to Enable the Translator AI Modal:</h4>\n <ol>\n <li>Open this URL in a new Chrome tab: <strong><span data-clipboard-text="chrome://flags/#translation-api" target="_blank" class="chrome-ai-translator-flags">chrome://flags/#translation-api ${le.svgIcons("copy")}</span></strong>. Click on the URL to copy it, then open a new window and paste this URL to access the settings.</li>\n <li>Ensure that the <strong>Experimental translation API</strong> option is set to <strong>Enabled</strong>.</li>\n <li>Click on the <strong>Save</strong> button to apply the changes.</li>\n <li>The Translator AI modal should now be enabled and ready for use.</li>\n </ol>\n <p>For more information, please refer to the <a href="https://developer.chrome.com/docs/ai/translator-api" target="_blank">documentation</a>.</p> \n <p>If the issue persists, please ensure that your browser is up to date and restart your browser.</p>\n <p>If you continue to experience issues after following the above steps, please <a href="https://my.coolplugins.net/account/support-tickets/" target="_blank" rel="noopener">open a support ticket</a> with our team. We are here to help you resolve any problems and ensure a smooth translation experience.</p>\n </span>`),message:"Translation API not available",type:"translation-api-not-available"};if(!r.includes(e.toLowerCase()))return{html:jQuery(`<span style="color: #ff4646; display: inline-block;">\n <strong>Language Support Information:</strong>\n <ol>\n <li>The current version of Chrome AI Translator does not support the Target Language <strong>${a} (${e})</strong></li>\n <li>To view the list of supported languages, please <span data-clipboard-text="chrome://on-device-translation-internals" target="_blank" class="chrome-ai-translator-flags">chrome://on-device-translation-internals ${le.svgIcons("copy")}</span>. Click on the URL to copy it, then open a new window and paste this URL to access the settings.</li>\n <li>Ensure your Chrome browser is updated to the latest version for optimal performance.</li>\n </ol>\n </span>`),message:`Target Language not supported: ${a} (${e})`,type:"language-not-supported"};if(!r.includes(t.toLowerCase()))return{html:jQuery(`<span style="color: #ff4646; display: inline-block;">\n <strong>Language Support Information:</strong>\n <ol>\n <li>The current version of Chrome AI Translator does not support the Source Language <strong>${n} (${t})</strong></li>\n <li>To view the list of supported languages, please <span data-clipboard-text="chrome://on-device-translation-internals" target="_blank" class="chrome-ai-translator-flags">chrome://on-device-translation-internals ${le.svgIcons("copy")}</span>. Click on the URL to copy it, then open a new window and paste this URL to access the settings.</li>\n <li>Ensure your Chrome browser is updated to the latest version for optimal performance.</li>\n </ol>\n </span>`),message:`Source Language not supported: ${n} (${t})`,type:"language-not-supported"};const i=await le.languagePairAvality(t,e);return"after-download"===i||"downloadable"===i||"unavailable"===i?{html:jQuery(`<span style="color: #ff4646; display: inline-block;">\n <h4>Installation Instructions for Language Packs:</h4>\n <ol>\n <li>\n To proceed, please install the language pack for <strong>${a} (${e})</strong> or <strong>${n} (${t})</strong>.\n </li>\n <li>\n After installing the language pack, add this language to your browser's system languages in Chrome settings.<br>\n Go to <strong>Settings &gt; Languages &gt; Add languages</strong> and add <strong>${a}</strong> or <strong>${n}</strong> to your preferred languages list & reload the page.\n </li>\n <li>\n You can install it by visiting the following link: \n <strong>\n <span data-clipboard-text="chrome://on-device-translation-internals" target="_blank" class="chrome-ai-translator-flags">\n chrome://on-device-translation-internals ${le.svgIcons("copy")}\n </span>\n </strong>. Click on the URL to copy it, then open a new window and paste this URL to access the settings.\n </li>\n <li>\n Please check if both your source <strong>(<span style="color:#2271b1">${t}</span>)</strong> and target <strong>(<span style="color:#2271b1">${e}</span>)</strong> languages are available in the language packs list.\n </li>\n <li>\n You need to install both language packs for translation to work. You can search for each language by its language code: <strong>${t}</strong> and <strong>${e}</strong>.\n </li>\n <li>For more help, refer to the <a href="https://developer.chrome.com/docs/ai/translator-api#supported-languages" target="_blank">documentation to check supported languages</a>.</li>\n </ol>\n </span>`),message:`Language pack not installed: ${a} (${e}) or ${n} (${t})`,type:"language-pack-not-installed"}:"downloading"===i?{html:jQuery(`<span style="color: #ff4646; display: inline-block;">\n <h4>Language Pack Download In Progress:</h4>\n <ol>\n <li>\n The language pack for <strong>${a} (${e})</strong> or <strong>${n} (${t})</strong> is already being downloaded.\n </li>\n <li>\n <strong>You do not need to start the download again.</strong> Please wait for the download to complete. Once finished, the translation feature will become available automatically.\n </li>\n <li>\n You can check the download progress by opening:\n <strong>\n <span data-clipboard-text="chrome://on-device-translation-internals" target="_blank" class="chrome-ai-translator-flags">\n chrome://on-device-translation-internals ${le.svgIcons("copy")}\n </span>\n </strong>\n . Click on the URL to copy it, then open a new window and paste this URL in Chrome to view the status.\n </li>\n <li>\n <strong>What to do next:</strong>\n <ul style="margin-top: .5em;">\n <li>Wait for the download to finish. The status will change to <strong>Ready</strong> or <strong>Installed</strong> in the <strong>Language Packs</strong> section.</li>\n <li>After the language pack is installed, you may need to <strong>reload</strong> or <strong>restart</strong> your browser for the changes to take effect.</li>\n </ul>\n </li>\n <li>\n For more help, refer to the <a href="https://developer.chrome.com/docs/ai/translator-api#supported-languages" target="_blank">documentation to check supported languages</a>.\n </li>\n </ol>\n <div style="text-align: right;">\n <button onclick="location.reload()" class="atfpp-error-reload-btn">Reload Page</button>\n </div>\n </span>`),message:"Language pack downloading please wait or try again...",type:"language-pack-downloading"}:"readily"===i||"available"===i||{html:jQuery(`<span style="color: #ff4646; display: inline-block;">\n <h4>Language Pack Installation Required</h4>\n <ol>\n <li>Please ensure that the language pack for <strong>${a} (${e})</strong> or <strong>${n} (${t})</strong> is installed and set as a preferred language in your browser.</li>\n <li>To install the language pack, visit <strong><span data-clipboard-text="chrome://on-device-translation-internals" target="_blank" class="chrome-ai-translator-flags">chrome://on-device-translation-internals ${le.svgIcons("copy")}</span></strong>. Click on the URL to copy it, then open a new window and paste this URL to access the settings.</li>\n <li>If you encounter any issues, please refer to the <a href="https://developer.chrome.com/docs/ai/translator-api#supported-languages" target="_blank">documentation to check supported languages</a> for further assistance.</li>\n </ol>\n </span>`),message:`Language pack missing for ${a} (${e}) or ${n} (${t})`,type:"language-pack-missing"}};static languagePairAvality=async(t,e)=>{try{await self.Translator.create({sourceLanguage:t,targetLanguage:e,monitor(t){t.addEventListener("downloadprogress",t=>{console.log(`Downloaded ${100*t.loaded}%`)})}})}catch(t){console.log("err",t)}if("translation"in self&&"createTranslator"in self.translation)return await self.translation.canTranslate({sourceLanguage:t,targetLanguage:e});if("ai"in self&&"translator"in self.ai){const a=await self.ai.translator.capabilities();return await a.languagePairAvailable(t,e)}return"Translator"in self&&"create"in self.Translator&&await self.Translator.availability({sourceLanguage:t,targetLanguage:e})};AITranslator=async t=>"translation"in self&&"createTranslator"in self.translation?await self.translation.createTranslator({sourceLanguage:this.sourceLanguage,targetLanguage:t}):"ai"in self&&"translator"in self.ai?await self.ai.translator.create({sourceLanguage:this.sourceLanguage,targetLanguage:t}):"Translator"in self&&"create"in self.Translator&&await self.Translator.create({sourceLanguage:this.sourceLanguage,targetLanguage:t});init=async t=>{this.textContent=t,this.textContentKeys=Object.keys(this.textContent),this.translationStart=!1,this.completedTranslateIndex=0,this.completedCharacterCount=0};startTranslationProcess=async()=>{this.onStartTranslationProcess();const t=this.defaultLang;this.translationStart=!0,this.translator=await this.AITranslator(t),this.textContentKeys.length>0&&this.textContentKeys.length>this.completedTranslateIndex&&await this.stringTranslation(this.completedTranslateIndex)};stringTranslation=async t=>{if(!this.translateStatus)return;let e=document.createElement("div");e.innerHTML=this.textContent[this.textContentKeys[t]],this.onBeforeTranslate();const a=e.innerText;let n=[];e.childNodes.length>0&&!e.querySelector(".notranslate")?e.childNodes.forEach(t=>{3!==t.nodeType||""===t.nodeValue.trim()||/^\d+$/.test(t.nodeValue.trim())?t.childNodes.length:n.push(t)}):e.querySelector(".notranslate")&&e.childNodes.forEach(t=>{3!==t.nodeType||""===t.nodeValue.trim()||/^\d+$/.test(t.nodeValue.trim())||n.push(t)}),n.length>0&&await this.stringTranslationBatch(n,0),this.completedTranslateIndex=t,this.completedCharacterCount+=a.length,this.textContent[this.textContentKeys[t]]=e.innerText,this.onAfterTranslate(this.textContentKeys[t],this.textContent[this.textContentKeys[t]]),e.remove(),e=null,this.textContentKeys.length>this.completedTranslateIndex+1&&await this.stringTranslation(this.completedTranslateIndex+1),t===this.textContentKeys.length-1&&this.onComplete({characterCount:this.completedCharacterCount})};translateChildNodes=async(t,e)=>{(t.childNodes.length>0&&!t.querySelector(".notranslate")||t.querySelector(".notranslate"))&&t.childNodes.forEach(t=>{3!==t.nodeType||""===t.nodeValue.trim()||/^\d+$/.test(t.nodeValue.trim())?t.childNodes.length>0&&this.translateChildNodes(t,e):e.push(t)})};stringTranslationBatch=async(t,e)=>{const a=await this.translator.translate(t[e].nodeValue);return a&&""!==a&&(t[e].nodeValue=a),e<t.length-1&&await this.stringTranslationBatch(t,e+1),!0};stopTranslation=()=>{this.translateStatus=!1};reInit=()=>{this.translateBtnEvents()};startTranslation=async()=>{this.translateStatus=!0,await this.startTranslationProcess()};static svgIcons=t=>({copy:'<svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 448 512" height="16px" width="16px" xmlns="http://www.w3.org/2000/svg" fill="#2271b1"><path d="M433.941 65.941l-51.882-51.882A48 48 0 0 0 348.118 0H176c-26.51 0-48 21.49-48 48v48H48c-26.51 0-48 21.49-48 48v320c0 26.51 21.49 48 48 48h224c26.51 0 48-21.49 48-48v-48h80c26.51 0 48-21.49 48-48V99.882a48 48 0 0 0-14.059-33.941zM266 464H54a6 6 0 0 1-6-6V150a6 6 0 0 1 6-6h74v224c0 26.51 21.49 48 48 48h96v42a6 6 0 0 1-6 6zm128-96H182a6 6 0 0 1-6-6V54a6 6 0 0 1 6-6h106v88c0 13.255 10.745 24 24 24h88v202a6 6 0 0 1-6 6zm6-256h-64V48h9.632c1.591 0 3.117.632 4.243 1.757l48.368 48.368a6 6 0 0 1 1.757 4.243V112z"></path></svg>'}[t]||"")}const ce=le,pe=(t,e,a,n,r,o,s)=>{(({postId:t,key:e,lang:a,storeDispatch:n})=>{const r=Bt.getState().translatedContent[t]?.[e]?.source;if(r){const e="string"==typeof r?r.split(/(?<=[.!?]+)\s+/).length:0,o="string"==typeof r?r.trim().split(/\s+/).filter(t=>/[^\p{L}\p{N}]/.test(t)).length:0,s="string"==typeof r?r.length:0,i=Bt.getState().translatePostInfo[t+"_"+a],l=i?.stringsTranslated||0,c=i?.charactersTranslated||0,p=i?.wordsTranslated||0;n(Lt({[t+"_"+a]:{stringsTranslated:l+e,charactersTranslated:c+s,wordsTranslated:p+o}})),n(It({stringsTranslated:Bt.getState().countInfo.stringsTranslated+e,charactersTranslated:Bt.getState().countInfo.charactersTranslated+s}))}})({postId:t,key:e,lang:o,storeDispatch:s}),s($t({postId:t,uniqueKey:e,key:a,provider:r,value:n}))},ue=class{constructor({sourceLang:t="en",targetLangs:e=!1,updateContent:a,totalPosts:n,storeDispatch:r,postId:o,prefix:s,updateDestoryHandler:i}){this.textContentObject=ae(Bt.getState(),o),this.totalTranslatedLength=Object.keys(this.textContentObject).length,this.sourceLang=t,this.targetLangs=e,this.localAiTranslator=null,this.textContentObjectKeys=Object.keys(this.textContentObject),this.translateKeysLength=this.textContentObjectKeys.length,this.updateContent=a,this.totalPosts=n,this.storeDispatch=r,this.completedPostStatus=0,this.postId=o,this.activeTargetLangs="",this.prefix=s,this.serviceProvider=Bt.getState().serviceProvider,i(()=>{this.destroy()}),this.stopTranslation=!1}destroy=()=>{this.stopTranslation=!0,this.localAiTranslator&&this.localAiTranslator.hasOwnProperty("stopTranslation")&&this.localAiTranslator.stopTranslation()};async createLocalAiTranslator(t,e){if(this.stopTranslation)return;this.completedTranslateIndex=0,this.localAiTranslator=null;const a=atfpp_bulk_translate_object.languageObject;this.completedPostStatus=Xt(Bt.getState()),this.activeTargetLangs=t,this.localAiTranslator=await ce.Object({sourceLanguage:this.sourceLang,targetLanguage:t,sourceLanguageLabel:a[this.sourceLang].name,targetLanguageLabel:a[t].name,onAfterTranslate:this.onAfterTranslate,onComplete:this.onComplete,onLanguageError:this.onLanguageError}),this.localAiTranslator.hasOwnProperty("init")&&(this.storeDispatch(Lt({[this.postId+"_"+t]:{status:"running",messageClass:""}})),await this.translateContent(0),this.stopTranslation||this.updateContent(t)),e<this.targetLangs.length-1&&!this.stopTranslation&&await this.createLocalAiTranslator(this.targetLangs[e+1],e+1)}onLanguageError=t=>{let e=!1;t.html&&(e=t.html[0]?.outerHTML),this.storeDispatch(Pt(this.postId+"_"+this.activeTargetLangs)),this.storeDispatch(Nt(100/this.totalPosts)),this.storeDispatch(Lt({[this.postId+"_"+this.activeTargetLangs]:{status:"error",messageClass:"error",errorMessage:t.message,errorHtml:e}}))};onAfterTranslate=(t,e)=>{if(this.stopTranslation)return;pe(this.postId,t,this.activeTargetLangs,e,this.serviceProvider,this.activeTargetLangs,this.storeDispatch),this.completedTranslateIndex++;let a=this.completedTranslateIndex/this.totalTranslatedLength*100;a=a.toFixed(2),a=Math.min(a,100);let n=a;n=Math.round(n),n=Math.min(n,100);const r=document.querySelector(`.${this.prefix}-progress-bar-circular[data-id="${this.postId}_${this.activeTargetLangs}"]`);r&&(r.querySelector(`.${this.prefix}-percentage`).innerHTML=n+"%",r.querySelector(`.${this.prefix}-progress`).style.strokeDasharray=n+", 100");let o=this.completedPostStatus+a/this.totalPosts;const s=document.querySelector(`.${this.prefix}-overall-progress .${this.prefix}-progress`);s&&(o=o.toFixed(2),o=Math.min(o,100),s.style.width=o+"%",s.innerHTML=o+"%")};onComplete=()=>{if(!this.stopTranslation&&this.completedTranslateIndex===this.totalTranslatedLength){const t=new Date-this.startTime,e=Jt(Bt.getState(),(this.postId,this.activeTargetLangs)).duration||0;this.storeDispatch(Lt({[this.postId+"_"+this.activeTargetLangs]:{duration:e+t}})),this.storeDispatch(Nt(100/this.totalPosts))}};async translateContent(t){const e=JSON.parse(JSON.stringify(this.textContentObject));Object.keys(e).length>0&&!this.stopTranslation&&(this.startTime=new Date,await this.localAiTranslator.init(e),await this.localAiTranslator.startTranslation())}async initTranslation(){this.textContentObject&&Object.keys(this.textContentObject).length>0&&this.targetLangs&&this.targetLangs.length>0&&!this.stopTranslation?await this.createLocalAiTranslator(this.targetLangs[0],0):this.targetLangs&&this.targetLangs.length>0&&!this.stopTranslation&&this.targetLangs.forEach(t=>{this.storeDispatch(Pt(this.postId+"_"+t)),this.storeDispatch(Nt(100/this.totalPosts)),this.storeDispatch(Lt({[this.postId+"_"+t]:{status:"error",messageClass:"error",errorMessage:(0,o.__)("No content to translate","autopoly-ai-translation-for-polylang-pro"),errorHtml:!1}}))})}},de=(window.wp.data,["ar","bg","cs","da","de","el","en","en-gb","en-us","es","es-419","et","fi","fr","he","hu","id","it","ja","ko","lt","lv","nb","nl","pl","pt","pt-br","pt-pt","ro","ru","sk","sl","sv","th","tr","uk","vi","zh","zh-hans","zh-hant"]);class ge{constructor({postId:t="",sourceLang:e="",targetLangs:a=[],totalPosts:n=0,prefix:r="",createTranslatePostNonce:o="",updateContent:s=()=>{},storeDispatch:i=()=>{},updateDestoryHandler:l=()=>{},previousCompletedStrings:c=0}){this.CONCURRENCY_LIMIT=window?.atfpp_bulk_translate_object?.AIRequestBatchSize||5,this.MAX_TOKENS=window?.atfpp_bulk_translate_object?.AIRequestMaxTokens||500,this.activePostId=t,this.activeTargetLangs="",this.sourceLang=e,this.targetLangs=a,this.totalPosts=n,this.prefix=r,this.storeDispatch=i,this.updateContent=s,this.createTranslatePostNonce=o,this.APIcontroller=[],this.stopProcess=!1,this.aiProviders=Object.keys(be()).filter(t=>t.endsWith("_ai")),this.previousCompletedStrings=c,this.uniqueIds=[],this.modalClosed=!1;const p=Gt(Bt.getState());this.service="string"==typeof p?p.replace("_ai",""):p,this.Entries=ae(Bt.getState(),t),l(()=>{this.modalClosed=!0,this.service&&this.abortAllRequests("Modal Closed")})}initTranslation=async()=>{this.abortAllRequests("Restart Translation");const t=Yt(Bt.getState()),e=async(a,n)=>{if(n>=this.targetLangs.length)return;this.completedPostStatus=Xt(Bt.getState());const r=await this.beforeInit(a);t.includes(this.activePostId+"_"+a)&&r&&(this.storeDispatch(Lt({[this.activePostId+"_"+a]:{status:"running",messageClass:""}})),this.activeTargetLangs=a,this.uniqueIds=[],this.completedStrings=this.previousCompletedStrings,this.allStrings=this.allStringsFilter(this.activeTargetLangs),this.stringsBatches=this.calculateTokensInBatches(this.allStrings),this.totalStrings=Object.keys(this.allStrings).length+this.previousCompletedStrings,this.stopProcess=!1,this.pendingStrings=!1,this.errorCount=0,this.requestIndex=0,this.errorMessage="",this.scrollDebounce=null,this.isProcessing=!1,this.stringCount=0,this.wordCount=0,this.characterCount=0,this.emptyBatches=0,this.previousCompletedStrings>0&&(await new Promise(t=>setTimeout(t,100)),this.updateProgressBar({totalStrings:this.totalStrings,completedStrings:this.completedStrings,previousCompletedStrings:this.previousCompletedStrings,completedPostStatus:this.completedPostStatus}),await new Promise(t=>setTimeout(t,400))),await this.processChunkBatch()),this.modalClosed||(n++,await e(this.targetLangs[n],n))};this.targetLangs.length>0&&await e(this.targetLangs[0],0)};allStringsFilter=t=>{const e={},a=Bt.getState().translatedContent[this.activePostId];return Object.keys(this.Entries).forEach((n,r)=>{const o=this.Entries[n];let s=o.trim().startsWith("[")&&o.trim().endsWith("]");this.uniqueIds.push(n),s&&!a[n]?.translation?.[this.service+"_ai"]?.[t]?o&&n&&""!==o&&""!==n&&this.aiProviders.forEach(t=>{this.targetLangs.forEach(e=>{pe(this.activePostId,n,e,o,t,e,this.storeDispatch)})}):a[n]?.translation?.[this.service+"_ai"]?.[t]||(e[r]=o)}),e};calculateTokensInBatches=t=>{let e={},a=0,n=[];const r=Object.entries(t);for(let t=0;t<r.length;t++){const[o,s]=r[t],i=s.length,l=Math.ceil(i/4);a+l<=this.MAX_TOKENS?(e[o]=s,a+=l):(n.push(e),e={[o]:s},a=l)}return Object.keys(e).length>0&&n.push(e),n};processChunkBatch=async()=>{if(this.isProcessing)return;if(this.isProcessing=!0,0===[...this.stringsBatches].length)return;const t=new Date;try{await this.runRequest(),this.processCompleteHandler(t)}catch(e){if(this.pendingStrings=!0,this.processCompleteHandler(t),"AbortError"===e.name){const t=this.errorMessage&&this.errorMessage.includes("You exceeded your current quota")?(0,o.__)("You have exceeded you current plan limit. that's why the request is aborted.","autopoly-ai-translation-for-polylang-pro"):e;console.warn(t)}else console.error("An error occurred during the AJAX processing:",e)}};processCompleteHandler=async t=>{const e=t||new Date,a=new Date-e,n=Jt(Bt.getState(),(this.activePostId,this.activeTargetLangs)).duration||0;this.storeDispatch(Lt({[this.activePostId+"_"+this.activeTargetLangs]:{duration:n+a}}));const r=this.pendingStrings;if(this.isProcessing=!1,r)return this.updateTotalProgressStatus(this.totalStrings,this.completedStrings),void this.pendingRequest();this.updateTotalProgressStatus(this.totalStrings,this.completedStrings),this.updateContent(this.activeTargetLangs)};makeAjaxRequest=async t=>{const e=new AbortController;this.APIcontroller.push(e);const a=Object.keys(t),n=Object.assign({},Object.values(t));if(0===Object.values(t).length)return;const r=await(async({controller:t,Strings:e,slug:a,source_language:n,target_language:r})=>{const o={atfp_nonce:atfpp_bulk_translate_object.ai_translate_nonce,action:"atfp_ai_translation",strings:JSON.stringify(e),source_language:n,target_language:r,service_slug:a},s=await fetch(`${atfpp_bulk_translate_object.ai_translate_route_url}/${a}:translate-text`,{method:"POST",headers:{"content-type":"application/x-www-form-urlencoded; charset=UTF-8",Accept:"application/json","X-WP-Nonce":atfpp_bulk_translate_object.ai_translate_route_nonce},signal:t.signal,body:new URLSearchParams(o)});if(!s.ok){const t=await s.json();console.error("WordPress Error:",t)}return await s.json()})({controller:e,Strings:n,slug:this.service,source_language:this.sourceLang,target_language:this.activeTargetLangs});if(r.success&&r.data&&r.data.translate_data){if(Object.keys(r.data.translate_data).length>0){this.errorCount=0;const t=Object.keys(r.data.translate_data)[0];await this.updateData(t,r.data.translate_data,a)}}else this.pendingStrings=!0,r.success&&!r.data.translate_data&&r.data.text&&(console.group("Automatic Translation Error"),console.warn("Empty response"),console.log(t),console.groupEnd()),r.success||(this.errorMessage=r.data,console.group("Automatic Translation Error"),console.log("%c"+r.data,"color: red; font-weight: bold; font-size: 1.2rem;"),console.groupEnd(),this.errorCount++,(this.errorCount>=5||r.data.includes("service is not available."))&&(this.stopProcess=!0,this.abortAllRequests("Error Count Exceeded")),r.data.includes("You exceeded your current quota")&&(this.stopProcess=!0,this.abortAllRequests("Quota Exceeded")))};runRequest=async()=>{const t=this.stringsBatches.slice(0,this.CONCURRENCY_LIMIT);this.requestIndex=this.CONCURRENCY_LIMIT-1;const e=async t=>(await this.makeAjaxRequest(t),this.requestIndex<this.stringsBatches.length-1&&!this.stopProcess?(this.requestIndex++,await e(this.stringsBatches[this.requestIndex])):void 0);await Promise.all(t.map(async t=>{await e(t)}))};abortAllRequests=(t="Unknown Reason")=>{this.stopProcess=!0,this.pendingStrings=!0;try{this.APIcontroller.forEach(e=>{e.signal&&!e.signal.aborted&&e.abort(t)})}catch(t){return void("AbortError"===t.name?console.warn("Request aborted"):console.error("An error occurred during the AJAX processing:",t))}this.scrollDebounce&&clearTimeout(this.scrollDebounce),this.APIcontroller=[]};updateProgressBar=({totalStrings:t,completedStrings:e,completedPostStatus:a})=>{const n=e/t*100;let r=(Math.round(10*n)/10).toFixed(1);r=Math.min(r,100);let o=r;o=Math.round(o),o=Math.min(o,100);const s=document.querySelector(`.${this.prefix}-progress-bar-circular[data-id="${this.activePostId}_${this.activeTargetLangs}"]`);s&&(s.querySelector(`.${this.prefix}-percentage`).innerHTML=o+"%",s.querySelector(`.${this.prefix}-progress`).style.strokeDasharray=o+", 100");let i=this.previousCompletedStrings/t*100;i=(Math.round(10*i)/10).toFixed(1),i=Math.min(i,100);let l=a+(r-i)/this.totalPosts;const c=document.querySelector(`.${this.prefix}-overall-progress .${this.prefix}-progress`);c&&(l=l.toFixed(2),l=Math.min(l,100),c.style.width=l+"%",c.innerHTML=l+"%")};updateTotalProgressStatus=(t,e)=>{const a=e/t*100;let n=(Math.round(10*a)/10).toFixed(1);n=Math.min(n,100);let r=this.previousCompletedStrings/t*100;r=(Math.round(10*r)/10).toFixed(1),r=Math.min(r,100);const o=100/this.totalPosts;this.storeDispatch(Nt((n-r)/100*o))};updateData=async(t,e,a)=>{if(this.stopProcess)return;const n=e[t],r=a[t];if(n&&""!==n){const a=this.uniqueIds[r],n=e[t];this.completedStrings=this.completedStrings,++this.completedStrings,this.updateProgressBar({totalStrings:this.totalStrings,completedStrings:this.completedStrings,completedPostStatus:this.completedPostStatus}),n&&""!==n&&pe(this.activePostId,a,this.activeTargetLangs,n,this.service+"_ai",this.activeTargetLangs,this.storeDispatch)}if(delete e[t],Object.keys(e).length>0){const t=Object.keys(e)[0];await this.updateData(t,e,a)}};pendingRequest=()=>{const t=this.totalStrings,e=this.completedStrings,a=e/t*100;let n=(Math.round(10*a)/10).toFixed(1);n=Math.min(n,100);let r=100-n;r=(Math.round(10*r)/10).toFixed(1),r=Math.min(r,100);let s="",i="";this.errorMessage&&this.errorMessage.includes("You exceeded your current quota")?(s=`<p class="${this.prefix}-ai-pending-request-heading">`+(0,o.__)("Youve exceeded your current plan limit.","autopoly-ai-translation-for-polylang-pro")+"</p> "+(0,o.__)("To continue, please check your plan details and update your API key.","autopoly-ai-translation-for-polylang-pro"),i=(0,o.__)('Click "Translate" after updating your API key to re-translate the remaining strings.',"autopoly-ai-translation-for-polylang-pro")):(s=`<p class="${this.prefix}-ai-pending-request-heading">`+(0,o.__)("Oops! Something went wrong during translation","autopoly-ai-translation-for-polylang-pro")+"</p>",i=(0,o.__)('Click "Translate" to re-translate the remaining strings.',"autopoly-ai-translation-for-polylang-pro"));const l=`<div class="${this.prefix}-ai-pending-request">\n <div>${s}</div>\n <p>${(0,o.__)("To see more details, open your browsers developer console.","autopoly-ai-translation-for-polylang-pro")}</p>\n\n <p>✅ ${(0,o.sprintf)((0,o.__)("Youve translated %s of the strings.","autopoly-ai-translation-for-polylang-pro"),n+"%")}</p>\n <p>❌ ${(0,o.sprintf)((0,o.__)("%s of the strings are still not translated.","autopoly-ai-translation-for-polylang-pro"),r+"%")}</p>\n\n <p><strong>${(0,o.__)("Next Steps:","autopoly-ai-translation-for-polylang-pro")}</strong></p>\n\n <p>${i}</p>\n <p><strong>${(0,o.__)("OR","autopoly-ai-translation-for-polylang-pro")}</strong></p>\n <p>${(0,o.__)('Click "Continue" to proceed without translating the rest of the strings.',"autopoly-ai-translation-for-polylang-pro")}</p>\n </div>`;this.storeDispatch(Lt({[this.activePostId+"_"+this.activeTargetLangs]:{status:"error",messageClass:"error",errorMessage:(0,o.__)("Translation failed.","autopoly-ai-translation-for-polylang-pro"),errorHtml:l,aiError:!0,nonce:this.createTranslatePostNonce,completedStrings:e,totalPosts:this.totalPosts}}))};static translateComplete=async({postId:t,targetLang:e,storeDispatch:a,prefix:n,updateDestoryHandler:r,nonce:o,closeErrorModal:s,totalPosts:i,completedStrings:l})=>{const c=Bt.getState().parentPostsInfo[t];if(!c)return;const{originalContent:{title:p,content:u},editorType:d,sourceLanguage:g}=c,h={title:p,content:JSON.parse(JSON.stringify(u))},f=async e=>{await ve({source:h,postId:t,sourceLang:g,lang:e,editorType:d,createTranslatePostNonce:o,storeDispatch:a})},m=new ge({postId:t,targetLangs:[e],sourceLang:g,totalPosts:i,storeDispatch:a,updateContent:f,createTranslatePostNonce:o,prefix:n,updateDestoryHandler:r,totalPosts:i,previousCompletedStrings:l}),y=m.allStringsFilter(e),_=Xt(Bt.getState());m.updateProgressBar({totalStrings:Object.keys(y).length+l,completedStrings:Object.keys(y).length+l,completedPostStatus:_}),m.updateTotalProgressStatus(Object.keys(y).length+l,Object.keys(y).length+l),s(),await new Promise(t=>setTimeout(t,400)),f(e)};static translateAgain=async({postId:t,targetLang:e,storeDispatch:a,prefix:n,updateDestoryHandler:r,nonce:o,closeErrorModal:s,completedStrings:i,totalPosts:l})=>{const c=Bt.getState().parentPostsInfo[t];if(!c)return;const{originalContent:{title:p,content:u},languages:d,editorType:g,sourceLanguage:h}=c,f={title:p,content:JSON.parse(JSON.stringify(u))};s(),await new Promise(t=>setTimeout(t,500));const m=new ge({postId:t,targetLangs:[e],sourceLang:h,totalPosts:l,storeDispatch:a,updateContent:async e=>{await ve({source:f,postId:t,sourceLang:h,lang:e,editorType:g,createTranslatePostNonce:o,storeDispatch:a})},createTranslatePostNonce:o,prefix:n,updateDestoryHandler:r,totalPosts:l,previousCompletedStrings:i});await m.initTranslation()};beforeInit=async t=>!("deepl"===this.service&&!this.deeplLanguageSupport(this.sourceLang,t));deeplLanguageSupport=(t,e)=>{const a=de.includes(t),n=de.includes(e);if(a&&n)return!0;const r=atfpp_bulk_translate_object.languageObject;return a||this.storeDispatch(Lt({[this.activePostId+"_"+e]:{status:"error",messageClass:"error",errorMessage:(0,o.sprintf)((0,o.__)("Language %s(%s) is not supported by DeepL Translate","autopoly-ai-translation-for-polylang-pro"),r[t].name,t),errorHtml:!1}})),n||this.storeDispatch(Lt({[this.activePostId+"_"+e]:{status:"error",messageClass:"error",errorMessage:(0,o.sprintf)((0,o.__)("Language %s(%s) is not supported by DeepL Translate","autopoly-ai-translation-for-polylang-pro"),r[e].name,e),errorHtml:!1}})),this.storeDispatch(Pt(this.activePostId+"_"+e)),this.storeDispatch(Nt(100/this.totalPosts)),!1}}const he=ge,fe=t=>{const{element:e,scrollSpeed:a,prefix:n,completedPostStatus:r,totalPosts:o,postId:s,lang:i}=t;if(e.scrollHeight-e.offsetHeight<=0)return;let l=null,c=e.scrollTop;const p=()=>{const t=e.scrollHeight-e.offsetHeight+100,u=performance.now();l||(l=u);const d=c+(u-l)/a*(t+2e3-c);var g=e.scrollTop/(e.scrollHeight-e.clientHeight)*100;let h=(Math.round(10*g)/10).toFixed(2);h=Math.min(h,100).toString(),ye(n,s,i,h,r,o),d>t||((d||0===d)&&(e.scrollTop=d),d<t&&requestAnimationFrame(p))};requestAnimationFrame(p)},me=({provider:t,startTime:e,endTime:a,prefix:n,postId:r,lang:o,storeDispatch:s})=>{document.querySelector(`#${n}-${t}-table-container[data-render-id="${r}"]`)&&(({provider:t,startTime:e,endTime:a,prefix:n,postId:r,lang:o,storeDispatch:s})=>{const i=document.querySelector(`#${n}-${t}-table-container[data-render-id="${r}"]`);i&&i.querySelectorAll(`.${n}-${t}-table-cell`).forEach((e,a)=>{const n=e.innerText,i=e.dataset.key;pe(r,i,o,n,t,o,s)})})({provider:t,startTime:e,endTime:a,prefix:n,postId:r,lang:o,storeDispatch:s})},ye=(t,e,a,n,r,o)=>{const s=document.querySelector(`.${t}-progress-bar-circular[data-id="${e}_${a}"]`);let i=n;i=Math.round(i),i=Math.min(i,100),s&&(s.querySelector(`.${t}-percentage`).innerHTML=i+"%",s.querySelector(`.${t}-progress`).style.strokeDasharray=i+", 100");let l=r+n/o;const c=document.querySelector(`.${t}-overall-progress .${t}-progress`);c&&(l=l.toFixed(2),l=Math.min(l,100),c.style.width=l+"%",c.innerHTML=l+"%")},_e=class{constructor({sourceLang:t="en",targetLangs:e=!1,updateContent:a,totalPosts:n,storeDispatch:r,postId:o,prefix:s,updateDestoryHandler:i}){this.sourceLang=t,this.targetLangs=e,this.updateContent=a,this.totalPosts=n,this.storeDispatch=r,this.postId=o,this.prefix=s,this.updateDestoryHandler=i,this.stopTranslation=!1,this.textContentObject=ae(Bt.getState(),o),this.appendStringTable(),i(()=>{this.destroy()})}destroy=()=>{this.stopTranslation=!0};createGoogleTranslator=async(t,e)=>{if(this.stopTranslation)return;this.completedTranslateIndex=0,this.googleTranslator=null;const a=atfpp_bulk_translate_object.languageObject;if(this.completedPostStatus=Xt(Bt.getState()),["ab","ace","ach","aa","af","sq","alz","am","ar","hy","as","av","awa","ay","az","ban","bal","bm","bci","ba","eu","btx","bts","bbc","be","bem","bn","bew","bho","bik","bs","br","bg","bua","yue","ca","ceb","ch","ce","ny","zh-CN","zh-TW","chk","cv","co","crh","crh-Latn","hr","cs","da","fa-AF","dv","din","doi","dov","nl","dyu","dz","en","eo","et","ee","fo","fj","tl","fi","fon","fr","fr-CA","fy","fur","ff","gaa","gl","ka","de","el","gn","gu","ht","cnh","ha","haw","iw","hil","hi","hmn","hu","hrx","iba","is","ig","ilo","id","iu-Latn","iu","ga","it","jam","ja","jw","kac","kl","kn","kr","pam","kk","kha","km","cgg","kg","rw","ktu","trp","kv","gom","ko","kri","ku","ckb","ky","lo","ltg","la","lv","lij","li","ln","lt","lmo","lg","luo","lb","mk","mad","mai","mak","mg","ms","ms-Arab","ml","mt","mam","gv","mi","mr","mh","mwr","mfe","chm","mni-Mtei","min","lus","mn","my","nhe","ndc-ZW","nr","new","ne","bm-Nkoo","no","nus","oc","or","om","os","pag","pap","ps","fa","pl","pt","pt-PT","pa","pa-Arab","qu","kek","rom","ro","rn","ru","se","sm","sg","sa","sat-Latn","sat","gd","nso","sr","st","crs","shn","sn","scn","szl","sd","si","sk","sl","so","es","su","sus","sw","ss","sv","ty","tg","ber-Latn","ber","ta","tt","te","tet","th","bo","ti","tiv","tpi","to","lua","ts","tn","tcy","tum","tr","tk","tyv","ak","udm","uk","ur","ug","uz","ve","vec","vi","war","cy","wo","xh","sah","yi","yo","yua","zap","zu"].includes(this.filterLanguage(t))){this.activeTargetLang=t,this.storeDispatch(Lt({[this.postId+"_"+t]:{status:"running",messageClass:""}})),this.startTime=new Date;const e=await this.translateContent();this.stopTranslation||(this.storeDispatch(Nt(100/this.totalPosts)),e&&(this.updateContent(t),await new Promise(t=>setTimeout(t,500))))}else this.storeDispatch(Pt(this.postId+"_"+t)),this.storeDispatch(Nt(100/this.totalPosts)),this.storeDispatch(Lt({[this.postId+"_"+t]:{status:"error",messageClass:"error",errorMessage:(0,o.sprintf)((0,o.__)("Language %s(%s) is not supported by Google Translate","autopoly-ai-translation-for-polylang-pro"),a[t].name,t),errorHtml:!1}}));this.startTime=null,e<this.targetLangs.length-1&&!this.stopTranslation&&await this.createGoogleTranslator(this.targetLangs[e+1],e+1)};appendTranslateWidget=async()=>{this.googleTranslator=new google.translate.TranslateElement({pageLanguage:this.sourceLang,autoDisplay:!1},`${this.prefix}-google-translate-btn`);const t=document.querySelector(`#${this.prefix}-google-translate-btn`);t&&t.children.length<=0&&Object.values(google?.translate?.TranslateElement()).map(e=>{e instanceof HTMLElement&&e.id===`${this.prefix}-google-translate-btn`&&t.replaceWith(e)})};appendStringTable=()=>{const t=jQuery(`#${this.prefix}-google-table-container`),e=jQuery(`#${this.prefix}-container`);if(t&&t.length>0){t.find(`#${this.prefix}-google-translate-strings-container`).remove(),t.attr("data-render-id",this.postId);const e=`<div id="${this.prefix}-google-translate-strings-container">\n ${Object.keys(this.textContentObject).map(t=>`<div class="${this.prefix}-google-table-row"><div class="${this.prefix}-google-table-cell" data-key="${t}">${this.textContentObject[t]}</div></div>`).join("")}</div>`;t.append(e)}else{const t=`<div id="${this.prefix}-google-table-container" class="translate" data-render-id="${this.postId}"><div id="${this.prefix}-google-translate-btn">Translate</div><div id="${this.prefix}-google-translate-strings-container">${Object.keys(this.textContentObject).map(t=>`<div class="${this.prefix}-google-table-row"><div class="${this.prefix}-google-table-cell" data-key="${t}" lang="${this.sourceLang}">${this.textContentObject[t]}</div></div>`).join("")}</div></div>`;e.append(t)}document.documentElement.setAttribute("translate","no"),document.body.classList.add("notranslate")};translateContent=async()=>{const t=document.querySelector(`#${this.prefix}-google-translate-btn .goog-te-combo`);if(await new Promise(t=>setTimeout(t,1e3)),!t)return!1;const e=this.filterLanguage(this.activeTargetLang);if(!t.querySelector(`option[value="${e}"]`)){const t=atfpp_bulk_translate_object.languageObject;return this.storeDispatch(Lt({[`${this.postId}_${this.activeTargetLang}`]:{status:"error",messageClass:"error",errorMessage:(0,o.sprintf)((0,o.__)("Language %s(%s) is not supported by Google Translate","autopoly-ai-translation-for-polylang-pro"),t[this.activeTargetLang]?.name,this.activeTargetLang),errorHtml:!1}})),!1}if(document.body.classList.add(`${this.prefix}-google-translate`),t.value=e,t.dispatchEvent(new Event("change")),this.stopTranslation)return!1;const a=document.querySelector(`#${this.prefix}-google-translate-strings-container`);if(!a)return!1;let n=!1,r=!1;return await new Promise((t,e)=>{const o=new MutationObserver(async(a,s)=>{for(const s of a)if("childList"===s.type){const a=Array.from(s.addedNodes);for(const s of a)if(1===s.nodeType&&"FONT"===s.tagName){if(!s.getAttribute("style"))continue;r=!0,o.disconnect();try{n=await this.startTranslate(),t()}catch(t){console.error("Translation error:",t),e(t)}return}}});setTimeout(async()=>{o.disconnect(),r||(n=await this.startTranslate(),t())},6e3),o.observe(a,{childList:!0,subtree:!0})}),n};startTranslate=async()=>{await(async({provider:t,prefix:e,postId:a,lang:n,storeDispatch:r,totalPosts:o,completedPostStatus:s})=>{const i=(new Date).getTime();let l=!1;const c=document.querySelector(`#${e}-${t}-table-container[data-render-id="${a}"]`);let p=!1;c&&(c.scrollTop=0,p=c.scrollHeight),await new Promise(u=>{if(c)if("number"==typeof p&&p>100){const d=()=>{if("visible"===document.visibilityState){const t=1e3*Math.ceil(p/(c.offsetHeight||1));fe({element:c,scrollSpeed:t,prefix:e,totalPosts:o,completedPostStatus:s,postId:a,lang:n})}};document.addEventListener("visibilitychange",d),setTimeout(()=>{const r=1e3*Math.ceil(p/(c.offsetHeight||1));fe({element:c,scrollSpeed:r,provider:t,prefix:e,totalPosts:o,completedPostStatus:s,postId:a,lang:n})},500);const g=()=>{if(c.scrollTop+c.clientHeight+50>=c.scrollHeight&&!l){l=!0,c.removeEventListener("scroll",g);const p=(new Date).getTime();ye(e,a,n,100,s,o),document.removeEventListener("visibilitychange",d),setTimeout(()=>{me({provider:t,startTime:i,endTime:p,prefix:e,postId:a,lang:n,storeDispatch:r}),u("Complete")},1e3)}};c.addEventListener("scroll",g),(c.clientHeight||0)+10>=p&&(ye(e,a,n,100,s,o),setTimeout(()=>{const o=(new Date).getTime();document.removeEventListener("visibilitychange",d),me({provider:t,startTime:i,endTime:o,prefix:e,postId:a,lang:n,storeDispatch:r}),u("Complete")},1e3))}else ye(e,a,n,100,s,o),setTimeout(()=>{const o=(new Date).getTime();me({provider:t,startTime:i,endTime:o,prefix:e,postId:a,lang:n,storeDispatch:r}),u("Complete")},1e3);else u("No container")})})({provider:"google",prefix:this.prefix,postId:this.postId,lang:this.activeTargetLang,storeDispatch:this.storeDispatch,totalPosts:this.totalPosts,completedPostStatus:this.completedPostStatus});const t=new Date-this.startTime,e=Jt(Bt.getState(),(this.postId,this.activeTargetLang)).duration||0;return this.storeDispatch(Lt({[this.postId+"_"+this.activeTargetLang]:{duration:e+t}})),!0};filterLanguage=t=>"zh"===t?atfpp_bulk_translate_object.languageObject.zh?.locale.replace("_","-"):t;async initTranslation(){this.textContentObject&&Object.keys(this.textContentObject).length>0&&this.targetLangs&&this.targetLangs.length>0&&!this.stopTranslation?(this.appendTranslateWidget(),await this.createGoogleTranslator(this.targetLangs[0],0)):this.targetLangs&&this.targetLangs.length>0&&!this.stopTranslation&&this.targetLangs.forEach(t=>{this.storeDispatch(Pt(this.postId+"_"+t)),this.storeDispatch(Nt(100/this.totalPosts)),this.storeDispatch(Lt({[this.postId+"_"+t]:{status:"error",messageClass:"error",errorMessage:(0,o.__)("No content to translate","autopoly-ai-translation-for-polylang-pro"),errorHtml:!1}}))})}},be=t=>{t=t||{};const{Service:e=!1,openErrorModalHandler:a=()=>{},prefix:n=""}=t,r=window.atfpp_bulk_translate_object.admin_url,s=window.atfpp_bulk_translate_object.atfpp_url+"assets/images/error-icon.svg",i={google:{Provider:_e,title:"Google Translate",SettingBtnText:"Translate",serviceLabel:"Google Translate",Docs:"https://docs.coolplugins.net/doc/google-translate-for-polylang/?utm_source=atfp_plugin&utm_medium=inside&utm_campaign=docs&utm_content=bulk_translate_google",heading:(0,o.__)("Choose Language","autopoly-ai-translation-for-polylang-pro"),BetaEnabled:!1,ButtonDisabled:t.googleButtonDisabled,ErrorMessage:t.googleButtonDisabled?React.createElement("div",{className:`${n}-provider-error button button-primary`,onClick:()=>a(t.googleButtonDisabled)},React.createElement("img",{src:s,alt:"error"})," ",(0,o.__)("View Error.","autopoly-ai-translation-for-polylang-pro")):React.createElement(React.Fragment,null),Logo:"google.png",filterHtmlContent:!0},localAiTranslator:{Provider:ue,title:"Chrome Built-in AI",SettingBtnText:"Translate",serviceLabel:"Chrome AI Translator",heading:(0,o.sprintf)((0,o.__)("Translate Using %s","autopoly-ai-translation-for-polylang-pro"),"Chrome built-in API"),Docs:"https://docs.coolplugins.net/doc/chrome-ai-translation-polylang/?utm_source=atfp_plugin&utm_medium=inside&utm_campaign=docs&utm_content=bulk_translate_chrome",BetaEnabled:!0,ButtonDisabled:t.localAiTranslatorButtonDisabled,ErrorMessage:t.localAiTranslatorButtonDisabled?React.createElement("div",{className:`${n}-provider-error button button-primary`,onClick:()=>a(t.localAiTranslatorButtonDisabled)},React.createElement("img",{src:s,alt:"error"})," ",(0,o.__)("View Error","autopoly-ai-translation-for-polylang-pro")):React.createElement(React.Fragment,null),Logo:"chrome.png",filterHtmlContent:!0},openai_ai:{Provider:he,title:"OpenAI Model",SettingBtnText:"Translate",serviceLabel:"OpenAI",heading:(0,o.sprintf)((0,o.__)("Translate Using %s Model","autopoly-ai-translation-for-polylang-pro"),"OpenAI"),Docs:"https://docs.coolplugins.net/doc/translate-via-open-ai-polylang/?utm_source=atfp_plugin&utm_medium=inside&utm_campaign=docs&utm_content=bulk_translate_openai",BetaEnabled:!0,ButtonDisabled:t.openai_aiButtonDisabled,ErrorMessage:t.openai_aiButtonDisabled?React.createElement("a",{className:`${n}-provider-error button button-primary`,href:r+"admin.php?page=polylang-atfpp-dashboard&tab=settings",target:"_blank"},React.createElement("img",{src:s,alt:"error"})," ",(0,o.__)("Add API Key","autopoly-ai-translation-for-polylang-pro")):React.createElement(React.Fragment,null),Logo:"openai.png",filterHtmlContent:!0},google_ai:{Provider:he,title:"Gemini Model",SettingBtnText:"Translate",serviceLabel:"Gemini",heading:(0,o.sprintf)((0,o.__)("Translate Using %s Model","autopoly-ai-translation-for-polylang-pro"),"Gemini"),Docs:"https://docs.coolplugins.net/doc/translate-via-gemini-ai-polylang/?utm_source=atfp_plugin&utm_medium=inside&utm_campaign=docs&utm_content=bulk_translate_gemini",BetaEnabled:!0,ButtonDisabled:t.google_aiButtonDisabled,ErrorMessage:t.google_aiButtonDisabled?React.createElement("a",{className:`${n}-provider-error button button-primary`,href:r+"admin.php?page=polylang-atfpp-dashboard&tab=settings",target:"_blank"},React.createElement("img",{src:s,alt:"error"})," ",(0,o.__)("Add API Key","autopoly-ai-translation-for-polylang-pro")):React.createElement(React.Fragment,null),Logo:"gemini.png",filterHtmlContent:!0},deepl_ai:{Provider:he,title:"DeepL Model",SettingBtnText:"Translate",serviceLabel:"DeepL",heading:(0,o.sprintf)((0,o.__)("Translate Using %s Model","autopoly-ai-translation-for-polylang-pro"),"DeepL"),Docs:"https://docs.coolplugins.net/doc/translate-via-deepl-ai-polylang/?utm_source=atfpp_plugin&utm_medium=inside&utm_campaign=docs&utm_content=popup_deepl",BetaEnabled:!0,ButtonDisabled:t.deepl_aiButtonDisabled,ErrorMessage:t.deepl_aiButtonDisabled?React.createElement("a",{className:`${n}-provider-error button button-primary`,href:r+"admin.php?page=polylang-atfpp-dashboard&tab=settings",target:"_blank"},React.createElement("img",{src:s,alt:"error"})," ",(0,o.__)("Add API Key","autopoly-ai-translation-for-polylang-pro")):React.createElement(React.Fragment,null),Logo:"deepl.png",filterHtmlContent:!0}};return e?i[e]:i},ve=async({source:t,postId:e,sourceLang:a,lang:n,editorType:r,createTranslatePostNonce:s,storeDispatch:i})=>{const l=Bt.getState().serviceProvider,c=JSON.parse(JSON.stringify(t)),p=await(async({source:t,postId:e,lang:a,editorType:n})=>{const r={classic:re,elementor:oe,block:se,taxonomy:ie},o=Gt(Bt.getState()),s=ee(Bt.getState(),e);return await r[n]({source:t,lang:a,translatedContent:s,serviceProvider:o,postId:e})})({source:c,postId:e,lang:n,editorType:r,service:l}),u=atfpp_bulk_translate_object.bulkTranslateRouteUrl,d=atfpp_bulk_translate_object.nonce;i(Lt({[e+"_"+n]:{status:"in-progress",messageClass:"in-progress"}}));let g="create-translate-post",h={target_language:n,editor_type:r,privateKey:s,source_language:a};"taxonomy"===r?(g="create-translate-taxonomy",h.term_id=e,h.taxonomy_name=p.title||"",h.taxonomy_description=p.content||"",h.taxonomy=atfpp_bulk_translate_object.taxonomy_page,p.post_name&&""!==p.post_name.trim()&&(h.taxonomy_slug=p.post_name)):(h.post_id=e,h.post_title=p.title||"",h.post_name=p.post_name||"",h.post_content=p.content?JSON.stringify(p.content):"",h.post_meta_fields=p.metaFields?JSON.stringify(p.metaFields):"",h.post_excerpt=p.excerpt||""),await fetch(u+`/${e}:${g}`,{method:"POST",body:new URLSearchParams(h),headers:{"X-WP-Nonce":d,"Content-Type":"application/x-www-form-urlencoded; charset=UTF-8",Accept:"application/json"}}).then(async t=>{const s=await t.json();let c={};if(s.success&&s.data.post_id){const t={};"taxonomy"===r&&(t.taxonomy=atfpp_bulk_translate_object.taxonomy_page),(({provider:t,sourceLang:e,targetLang:a,parentPostId:n,currentPostId:r,editorType:o,updateTranslateDataNonce:s,extraData:i={}})=>{if(!(s&&r&&n&&t&&e&&a&&o))return;const l=Bt.getState().parentPostsInfo[n],c=Bt.getState().translatePostInfo[n+"_"+a],p=c.stringsTranslated||0,u=c.wordsTranslated||0,d=c.charactersTranslated||0,g=(c.duration||0)/1e3,h=l.wordsCount||0,f=l.charactersCount||0,m=l.stringsCount||0,y={provider:t,totalStringCount:p,totalWordCount:u,totalCharacterCount:d,editorType:o,date:(new Date).toISOString(),sourceStringCount:m,sourceWordCount:h,sourceCharacterCount:f,sourceLang:e,targetLang:a,timeTaken:g,action:atfpp_bulk_translate_object.update_translate_data,atfp_nonce:s,post_id:r,ajax_url:atfpp_bulk_translate_object.ajax_url,extraData:JSON.stringify(i)};fetch(atfpp_bulk_translate_object.ajax_url,{method:"POST",headers:{"content-type":"application/x-www-form-urlencoded; charset=UTF-8",Accept:"application/json"},body:new URLSearchParams(y)}).then().catch(t=>{console.error(t)})})({provider:l,sourceLang:a,targetLang:n,currentPostId:s.data.post_id,parentPostId:e,editorType:r,updateTranslateDataNonce:s?.data?.update_translate_data_nonce,extraData:t}),s.data.post_title=""===s.data.post_title?(0,o.__)("N/A","autopoly-ai-translation-for-polylang-pro"):s.data.post_title,c={targetPostId:s.data.post_id,targetPostTitle:s.data.post_title,targetLanguage:n,postLink:s.data.post_link,postEditLink:s.data.post_edit_link,status:"completed",messageClass:"success"},i(It({postsTranslated:Bt.getState().countInfo.postsTranslated+1}))}else if(s.data&&s.data.error){let t="Error Code:"+s.data.status;"string"==typeof s.data.error&&(t+="<br>Error Message:"+s.data.error+"("+s.data.error+")"),"object"==typeof s.data.error&&(t+="<br>Error Message:"+JSON.stringify(s.data.error)),c={status:"error",messageClass:"error",errorMessage:(0,o.__)("Post not created. Please try again.","autopoly-ai-translation-for-polylang-pro"),errorHtml:'<div class="atfpp-error-html">'+t+"</div>"}}else s.code&&s.message?c={status:"error",messageClass:"error",errorMessage:(0,o.__)("Post not created. Please try again.","autopoly-ai-translation-for-polylang-pro"),errorHtml:'<div class="atfpp-error-html">'+s.message+"</div>"}:!s.success||s.data?c={status:"error",messageClass:"error",errorMessage:(0,o.__)("Post not created. Please try again.","autopoly-ai-translation-for-polylang-pro"),errorHtml:'<div class="atfpp-error-html">'+s.data+"</div>"}:s.data.post_id?"string"==typeof s&&(c={status:"error",messageClass:"error",errorMessage:(0,o.__)("Post not created. Please try again.","autopoly-ai-translation-for-polylang-pro"),errorHtml:'<div class="atfpp-error-html">'+s+"</div>"}):c={status:"error",messageClass:"error",errorMessage:(0,o.__)("Post not created. Please try again.","autopoly-ai-translation-for-polylang-pro"),errorHtml:'<div class="atfpp-error-html">'+s.data+"</div>"};i(Pt(e+"_"+n)),i(Ct([e+"_"+n])),i(Lt({[e+"_"+n]:c}))}).catch(t=>{console.log(t),i(Pt(e+"_"+n)),i(Ct([e+"_"+n]));let a=t;t.message&&(a=t.message),t.data&&t.data.status&&(a="Error Code:"+t.data.status,"string"==typeof t.data.error&&(a+="<br>Error Message:"+t.data.error),"object"==typeof t.data.error&&(a+="<br>Error Message:"+JSON.stringify(t.data.error))),i(Lt({[e+"_"+n]:{status:"error",messageClass:"error",errorMessage:(0,o.__)("Post not created. Please try again.","autopoly-ai-translation-for-polylang-pro"),errorHtml:'<div class="atfpp-error-html">'+a+"</div>"}}))})},Te=async({ids:t,langs:e,storeDispatch:a})=>{const n=atfpp_bulk_translate_object.bulkTranslateRouteUrl,r=atfpp_bulk_translate_object.bulkTranslatePrivateKey,i=atfpp_bulk_translate_object.nonce;let l=!1;const p={ids:JSON.stringify(t),lang:JSON.stringify(e),privateKey:r};let u="atfpp:bulk-translate-entries";atfpp_bulk_translate_object.taxonomy_page&&""!==atfpp_bulk_translate_object.taxonomy_page&&(p.taxonomy=atfpp_bulk_translate_object.taxonomy_page,u="atfpp:bulk-translate-taxonomy-entries");const d=await fetch(n+"/"+u,{method:"POST",body:new URLSearchParams(p),headers:{"X-WP-Nonce":i,"Content-Type":"application/x-www-form-urlencoded; charset=UTF-8",Accept:"application/json"}}),g=await d.json();if(!g.success&&!g.code&&g.data&&g.data.message)return{success:!1,message:g.data.message};if(!g.success&&!g.message&&g.data.error)return{success:!1,message:JSON.stringify(g.data.error)};if(!g.success&&g.message&&g.data.trace&&g.data.message)return g.data&&g.data.trace&&delete g.data.trace,{success:!1,message:JSON.stringify(g.data)};if(!g.success&&g.message)return{success:!1,message:g.message};if(!g)return{success:!1,message:(0,o.__)("No posts to translate data undefined","autopoly-ai-translation-for-polylang-pro")};if(!g.success)return{success:!1,message:g.message};if(!g.data)return{success:!1,message:(0,o.__)("No posts to translate untranslated data not found","autopoly-ai-translation-for-polylang-pro")};if(!g.data.posts)return{success:!1,message:(0,o.__)("No posts to translate untranslated posts data not found","autopoly-ai-translation-for-polylang-pro")};if(!g.data.CreateTranslatePostNonce)return{success:!1,message:(0,o.__)("No create translate post nonce","autopoly-ai-translation-for-polylang-pro")};const h=g.data.posts,f=Object.keys(h);if(f.length>0){const t=new Array,e=Object.keys(Bt.getState().translatePostInfo);f.forEach(n=>{const r=h[n].languages,o=h[n].title;r&&r.length>0&&r.forEach(r=>{if(e.includes(n+"_"+r))return;let s=!1;t.includes(n)||e.includes(n+"_"+r)||(t.push(n),s=!0);const i=atfpp_bulk_translate_object.languageObject[r].flag,l=atfpp_bulk_translate_object.languageObject[r].name;a(xt([n+"_"+r])),a(Lt({[n+"_"+r]:{parentPostId:n,targetPostId:null,targetLanguage:r,postLink:null,status:"pending",parentPostTitle:o,firstPostLanguage:s,flagUrl:i,languageName:l,messageClass:"warning"}}))})});const n=async(t,e)=>{const r=f[t],i=Bt.getState().serviceProvider,{title:p,content:u,post_name:d,languages:m,editor_type:y,metaFields:_=null,sourceLanguage:b,excerpt:v=null}=h[r];if(!b){const s=p||"N/A";let i=!1,l=!1;h[r]?.post_link&&(l=h[r].post_link,i=l);const c={title:p,editorType:y,sourceLanguage:b,errorMessage:sprintf((0,o.__)("Set source language for this %s %s before translating.","autopoly-ai-translation-for-polylang-pro"),i?'<a href="'+i+'" target="_blank" rel="noopener noreferrer">'+s+"</a>":s,window?.atfpp_bulk_translate_object?.taxonomy_page||window?.atfpp_bulk_translate_object?.post_label)};if(h[r]?.post_link&&(c.postLink=l),a(zt({postId:r,data:c})),a(It({errorPosts:Bt.getState().countInfo.errorPosts+1})),++t>f.length-1)return;return void await n(t,e)}if(m&&m.length>0){a(Mt({lang:m}));const t={content:u,editorType:y,metaFields:_,service:i,postId:r,storeDispatch:a};if(g?.data?.allowedMetaFields&&_&&(t.allowedMetaFields=JSON.parse(g?.data?.allowedMetaFields)),"block"===y&&(t.blockParseRules=JSON.parse(g?.data?.blockParseRules),l||(a(Ht(JSON.parse(g?.data?.blockParseRules))),l=!0)),(u&&""!==u||_&&Object.keys(_).length>0)&&await(async({content:t,editorType:e,service:a,postId:n,storeDispatch:r,blockParseRules:o=null,metaFields:i=null,allowedMetaFields:l=null})=>{const p={classic:qt,elementor:Wt,block:Kt,taxonomy:Vt},u={content:t,service:a,postId:n,storeDispatch:r};return u.filterHtmlContent=be({Service:a}).filterHtmlContent,o&&(u.blockParseRules=o),i&&Object.keys(i).length>0&&await(async({metaFields:t,service:e,postId:a,storeDispatch:n,allowedMetaFields:r,filterHtmlContent:o})=>{const i=async(t,e,a)=>{await t(e[a],a),++a<e.length&&await i(t,e,a)},l=({key:t,originalValue:e,value:r,type:o,status:s,allowedMetaFields:i})=>{/^\d{1,2}\/\d{1,2}\/\d{4}(?:\s+\d{1,2}:\d{2}\s*(?:AM|PM)?)?$/i.test(r)||/^[0-9.\- _#!$%^&*()+~`]+$/.test(r)||Ut(a,t,e,r,n)},p=async(t,a,n)=>{await i(async r=>{if("string"==typeof a[r]){const i="metaFields_atfpp_"+t.join("_atfpp_")+"_atfpp_"+r,p=a[r];let u=p;if(o){let t=s({content:u,service:e,contentKey:r,skipTags:[]});u=await c(t),t=null}l({key:i,originalValue:p,value:u,type:"string",status:n[t[0]].status,allowedMetaFields:n})}else"object"==typeof a[r]&&Object.keys(a[r]).length>0&&await p([...t,r],a[r],n)},Object.keys(a),0)};Object.keys(t).length>0&&await i(async(a,n)=>{if(r&&r[a]&&r[a].status){const n="metaFields_atfpp_"+a;if("string"===r[a].type){const i=t[a];let p=i;if(o){let t=s({content:p,service:e,contentKey:a,skipTags:[]});p=await c(t),t=null}l({key:n,originalValue:i,value:p,type:r[a].type,status:r[a].status,allowedMetaFields:r})}else"object"==typeof t[a]&&Object.keys(t[a]).length>0&&await p([a],t[a],r)}},Object.keys(t),0)})({service:a,postId:n,storeDispatch:r,metaFields:i,allowedMetaFields:l,filterHtmlContent:u.filterHtmlContent}),p[e]?await p[e](u):t})(t),["classic","block","elementor","taxonomy"].includes(y)){p&&""!==p.trim()&&(a(Ot({postId:r,uniqueKey:"title",value:p})),a(jt({postId:r,uniqueKey:"title",value:p}))),d&&""!==d.trim()&&(a(Ot({postId:r,uniqueKey:"post_name",value:d})),a(jt({postId:r,uniqueKey:"post_name",value:d}))),v&&""!==v.trim()&&(a(Ot({postId:r,uniqueKey:"excerpt",value:v})),a(jt({postId:r,uniqueKey:"excerpt",value:v})));const t=Bt.getState().parentPostsInfo[r],e=(t?.charactersCount||0)+p.length,n=(t?.wordsCount||0)+p.split(/\s+/).filter(t=>/[^\p{L}\p{N}]/.test(t)).length,o=(t?.stringsCount||0)+p.split(/(?<=[.!?]+)\s+/).length,s={};p&&""!==p.trim()&&(s.title=p),s.content=u||{},d&&""!==d.trim()&&(s.post_name=d),v&&""!==v.trim()&&(s.excerpt=v),_&&Object.keys(_).length>0&&(s.metaFields=_),a(Rt({postId:r,data:{editorType:y,originalContent:s,languages:m,sourceLanguage:b,charactersCount:e,wordsCount:n,stringsCount:o}})),a(It({totalPosts:Bt.getState().countInfo.totalPosts+m.length}))}}else console.log(`All target languages for post ${r} already exist. Skipping translation.`);++t>f.length-1||await n(t,e)},r=Bt.getState().pendingPosts.length;return await n(0,r),g?.data?.allowedMetaFields&&a(Ft(JSON.parse(g?.data?.allowedMetaFields))),{postKeys:f,nonce:g.data.CreateTranslatePostNonce}}};var we=a(418);var Ee={notify(){},get:()=>[]};var Se=(()=>!("undefined"==typeof window||void 0===window.document||void 0===window.document.createElement))(),ke=(()=>"undefined"!=typeof navigator&&"ReactNative"===navigator.product)(),Ce=(()=>Se||ke?n.useLayoutEffect:n.useEffect)();Object.defineProperty,Object.getOwnPropertyNames,Object.getOwnPropertySymbols,Object.getOwnPropertyDescriptor,Object.getPrototypeOf,Object.prototype;var xe=Symbol.for("react-redux-context"),Pe="undefined"!=typeof globalThis?globalThis:{};function Le(){if(!n.createContext)return{};const t=Pe[xe]??=new Map;let e=t.get(n.createContext);return e||(e=n.createContext(null),t.set(n.createContext,e)),e}var Ne=Le(),Ie=function(t){const{children:e,context:a,serverState:r,store:o}=t,s=n.useMemo(()=>{const t=function(t,e){let a,n=Ee,r=0,o=!1;function s(){c.onStateChange&&c.onStateChange()}function i(){r++,a||(a=e?e.addNestedSub(s):t.subscribe(s),n=function(){let t=null,e=null;return{clear(){t=null,e=null},notify(){(()=>{let e=t;for(;e;)e.callback(),e=e.next})()},get(){const e=[];let a=t;for(;a;)e.push(a),a=a.next;return e},subscribe(a){let n=!0;const r=e={callback:a,next:null,prev:e};return r.prev?r.prev.next=r:t=r,function(){n&&null!==t&&(n=!1,r.next?r.next.prev=r.prev:e=r.prev,r.prev?r.prev.next=r.next:t=r.next)}}}}())}function l(){r--,a&&0===r&&(a(),a=void 0,n.clear(),n=Ee)}const c={addNestedSub:function(t){i();const e=n.subscribe(t);let a=!1;return()=>{a||(a=!0,e(),l())}},notifyNestedSubs:function(){n.notify()},handleChangeWrapper:s,isSubscribed:function(){return o},trySubscribe:function(){o||(o=!0,i())},tryUnsubscribe:function(){o&&(o=!1,l())},getListeners:()=>n};return c}(o);return{store:o,subscription:t,getServerState:r?()=>r:void 0}},[o,r]),i=n.useMemo(()=>o.getState(),[o]);Ce(()=>{const{subscription:t}=s;return t.onStateChange=t.notifyNestedSubs,t.trySubscribe(),i!==o.getState()&&t.notifyNestedSubs(),()=>{t.tryUnsubscribe(),t.onStateChange=void 0}},[s,i]);const l=a||Ne;return n.createElement(l.Provider,{value:s},e)};function Oe(t=Ne){return function(){return n.useContext(t)}}var $e=Oe();function Ae(t=Ne){const e=t===Ne?$e:Oe(t),a=()=>{const{store:t}=e();return t};return Object.assign(a,{withTypes:()=>a}),a}var je=Ae();function Re(t=Ne){const e=t===Ne?je:Ae(t),a=()=>e().dispatch;return Object.assign(a,{withTypes:()=>a}),a}var De=Re(),Me=(t,e)=>t===e;function He(t=Ne){const e=t===Ne?$e:Oe(t),a=(t,a={})=>{const{equalityFn:r=Me}="function"==typeof a?{equalityFn:a}:a,o=e(),{store:s,subscription:i,getServerState:l}=o,c=(n.useRef(!0),n.useCallback({[t.name]:e=>t(e)}[t.name],[t])),p=(0,we.useSyncExternalStoreWithSelector)(i.addNestedSub,s.getState,l||s.getState,c,r);return n.useDebugValue(p),p};return Object.assign(a,{withTypes:()=>a}),a}var Fe=He();const ze=window.wp.element,{entries:Be,setPrototypeOf:Ue,isFrozen:qe,getPrototypeOf:We,getOwnPropertyDescriptor:Ke}=Object;let{freeze:Ve,seal:Ge,create:Ye}=Object,{apply:Je,construct:Xe}="undefined"!=typeof Reflect&&Reflect;Ve||(Ve=function(t){return t}),Ge||(Ge=function(t){return t}),Je||(Je=function(t,e){for(var a=arguments.length,n=new Array(a>2?a-2:0),r=2;r<a;r++)n[r-2]=arguments[r];return t.apply(e,n)}),Xe||(Xe=function(t){for(var e=arguments.length,a=new Array(e>1?e-1:0),n=1;n<e;n++)a[n-1]=arguments[n];return new t(...a)});const Ze=ga(Array.prototype.forEach),Qe=ga(Array.prototype.lastIndexOf),ta=ga(Array.prototype.pop),ea=ga(Array.prototype.push),aa=ga(Array.prototype.splice),na=ga(String.prototype.toLowerCase),ra=ga(String.prototype.toString),oa=ga(String.prototype.match),sa=ga(String.prototype.replace),ia=ga(String.prototype.indexOf),la=ga(String.prototype.trim),ca=ga(Object.prototype.hasOwnProperty),pa=ga(RegExp.prototype.test),ua=(da=TypeError,function(){for(var t=arguments.length,e=new Array(t),a=0;a<t;a++)e[a]=arguments[a];return Xe(da,e)});var da;function ga(t){return function(e){e instanceof RegExp&&(e.lastIndex=0);for(var a=arguments.length,n=new Array(a>1?a-1:0),r=1;r<a;r++)n[r-1]=arguments[r];return Je(t,e,n)}}function ha(t,e){let a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:na;Ue&&Ue(t,null);let n=e.length;for(;n--;){let r=e[n];if("string"==typeof r){const t=a(r);t!==r&&(qe(e)||(e[n]=t),r=t)}t[r]=!0}return t}function fa(t){for(let e=0;e<t.length;e++)ca(t,e)||(t[e]=null);return t}function ma(t){const e=Ye(null);for(const[a,n]of Be(t))ca(t,a)&&(Array.isArray(n)?e[a]=fa(n):n&&"object"==typeof n&&n.constructor===Object?e[a]=ma(n):e[a]=n);return e}function ya(t,e){for(;null!==t;){const a=Ke(t,e);if(a){if(a.get)return ga(a.get);if("function"==typeof a.value)return ga(a.value)}t=We(t)}return function(){return null}}const _a=Ve(["a","abbr","acronym","address","area","article","aside","audio","b","bdi","bdo","big","blink","blockquote","body","br","button","canvas","caption","center","cite","code","col","colgroup","content","data","datalist","dd","decorator","del","details","dfn","dialog","dir","div","dl","dt","element","em","fieldset","figcaption","figure","font","footer","form","h1","h2","h3","h4","h5","h6","head","header","hgroup","hr","html","i","img","input","ins","kbd","label","legend","li","main","map","mark","marquee","menu","menuitem","meter","nav","nobr","ol","optgroup","option","output","p","picture","pre","progress","q","rp","rt","ruby","s","samp","search","section","select","shadow","slot","small","source","spacer","span","strike","strong","style","sub","summary","sup","table","tbody","td","template","textarea","tfoot","th","thead","time","tr","track","tt","u","ul","var","video","wbr"]),ba=Ve(["svg","a","altglyph","altglyphdef","altglyphitem","animatecolor","animatemotion","animatetransform","circle","clippath","defs","desc","ellipse","enterkeyhint","exportparts","filter","font","g","glyph","glyphref","hkern","image","inputmode","line","lineargradient","marker","mask","metadata","mpath","part","path","pattern","polygon","polyline","radialgradient","rect","slot","stop","style","switch","symbol","text","textpath","title","tref","tspan","view","vkern"]),va=Ve(["feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feDistantLight","feDropShadow","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feImage","feMerge","feMergeNode","feMorphology","feOffset","fePointLight","feSpecularLighting","feSpotLight","feTile","feTurbulence"]),Ta=Ve(["animate","color-profile","cursor","discard","font-face","font-face-format","font-face-name","font-face-src","font-face-uri","foreignobject","hatch","hatchpath","mesh","meshgradient","meshpatch","meshrow","missing-glyph","script","set","solidcolor","unknown","use"]),wa=Ve(["math","menclose","merror","mfenced","mfrac","mglyph","mi","mlabeledtr","mmultiscripts","mn","mo","mover","mpadded","mphantom","mroot","mrow","ms","mspace","msqrt","mstyle","msub","msup","msubsup","mtable","mtd","mtext","mtr","munder","munderover","mprescripts"]),Ea=Ve(["maction","maligngroup","malignmark","mlongdiv","mscarries","mscarry","msgroup","mstack","msline","msrow","semantics","annotation","annotation-xml","mprescripts","none"]),Sa=Ve(["#text"]),ka=Ve(["accept","action","align","alt","autocapitalize","autocomplete","autopictureinpicture","autoplay","background","bgcolor","border","capture","cellpadding","cellspacing","checked","cite","class","clear","color","cols","colspan","controls","controlslist","coords","crossorigin","datetime","decoding","default","dir","disabled","disablepictureinpicture","disableremoteplayback","download","draggable","enctype","enterkeyhint","exportparts","face","for","headers","height","hidden","high","href","hreflang","id","inert","inputmode","integrity","ismap","kind","label","lang","list","loading","loop","low","max","maxlength","media","method","min","minlength","multiple","muted","name","nonce","noshade","novalidate","nowrap","open","optimum","part","pattern","placeholder","playsinline","popover","popovertarget","popovertargetaction","poster","preload","pubdate","radiogroup","readonly","rel","required","rev","reversed","role","rows","rowspan","spellcheck","scope","selected","shape","size","sizes","slot","span","srclang","start","src","srcset","step","style","summary","tabindex","title","translate","type","usemap","valign","value","width","wrap","xmlns","slot"]),Ca=Ve(["accent-height","accumulate","additive","alignment-baseline","amplitude","ascent","attributename","attributetype","azimuth","basefrequency","baseline-shift","begin","bias","by","class","clip","clippathunits","clip-path","clip-rule","color","color-interpolation","color-interpolation-filters","color-profile","color-rendering","cx","cy","d","dx","dy","diffuseconstant","direction","display","divisor","dur","edgemode","elevation","end","exponent","fill","fill-opacity","fill-rule","filter","filterunits","flood-color","flood-opacity","font-family","font-size","font-size-adjust","font-stretch","font-style","font-variant","font-weight","fx","fy","g1","g2","glyph-name","glyphref","gradientunits","gradienttransform","height","href","id","image-rendering","in","in2","intercept","k","k1","k2","k3","k4","kerning","keypoints","keysplines","keytimes","lang","lengthadjust","letter-spacing","kernelmatrix","kernelunitlength","lighting-color","local","marker-end","marker-mid","marker-start","markerheight","markerunits","markerwidth","maskcontentunits","maskunits","max","mask","media","method","mode","min","name","numoctaves","offset","operator","opacity","order","orient","orientation","origin","overflow","paint-order","path","pathlength","patterncontentunits","patterntransform","patternunits","points","preservealpha","preserveaspectratio","primitiveunits","r","rx","ry","radius","refx","refy","repeatcount","repeatdur","restart","result","rotate","scale","seed","shape-rendering","slope","specularconstant","specularexponent","spreadmethod","startoffset","stddeviation","stitchtiles","stop-color","stop-opacity","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke","stroke-width","style","surfacescale","systemlanguage","tabindex","tablevalues","targetx","targety","transform","transform-origin","text-anchor","text-decoration","text-rendering","textlength","type","u1","u2","unicode","values","viewbox","visibility","version","vert-adv-y","vert-origin-x","vert-origin-y","width","word-spacing","wrap","writing-mode","xchannelselector","ychannelselector","x","x1","x2","xmlns","y","y1","y2","z","zoomandpan"]),xa=Ve(["accent","accentunder","align","bevelled","close","columnsalign","columnlines","columnspan","denomalign","depth","dir","display","displaystyle","encoding","fence","frame","height","href","id","largeop","length","linethickness","lspace","lquote","mathbackground","mathcolor","mathsize","mathvariant","maxsize","minsize","movablelimits","notation","numalign","open","rowalign","rowlines","rowspacing","rowspan","rspace","rquote","scriptlevel","scriptminsize","scriptsizemultiplier","selection","separator","separators","stretchy","subscriptshift","supscriptshift","symmetric","voffset","width","xmlns"]),Pa=Ve(["xlink:href","xml:id","xlink:title","xml:space","xmlns:xlink"]),La=Ge(/\{\{[\w\W]*|[\w\W]*\}\}/gm),Na=Ge(/<%[\w\W]*|[\w\W]*%>/gm),Ia=Ge(/\$\{[\w\W]*/gm),Oa=Ge(/^data-[\-\w.\u00B7-\uFFFF]+$/),$a=Ge(/^aria-[\-\w]+$/),Aa=Ge(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp|matrix):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),ja=Ge(/^(?:\w+script|data):/i),Ra=Ge(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),Da=Ge(/^html$/i),Ma=Ge(/^[a-z][.\w]*(-[.\w]+)+$/i);var Ha=Object.freeze({__proto__:null,ARIA_ATTR:$a,ATTR_WHITESPACE:Ra,CUSTOM_ELEMENT:Ma,DATA_ATTR:Oa,DOCTYPE_NAME:Da,ERB_EXPR:Na,IS_ALLOWED_URI:Aa,IS_SCRIPT_OR_DATA:ja,MUSTACHE_EXPR:La,TMPLIT_EXPR:Ia});const Fa=function(){return"undefined"==typeof window?null:window};var za=function t(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:Fa();const a=e=>t(e);if(a.version="3.2.7",a.removed=[],!e||!e.document||9!==e.document.nodeType||!e.Element)return a.isSupported=!1,a;let{document:n}=e;const r=n,o=r.currentScript,{DocumentFragment:s,HTMLTemplateElement:i,Node:l,Element:c,NodeFilter:p,NamedNodeMap:u=e.NamedNodeMap||e.MozNamedAttrMap,HTMLFormElement:d,DOMParser:g,trustedTypes:h}=e,f=c.prototype,m=ya(f,"cloneNode"),y=ya(f,"remove"),_=ya(f,"nextSibling"),b=ya(f,"childNodes"),v=ya(f,"parentNode");if("function"==typeof i){const t=n.createElement("template");t.content&&t.content.ownerDocument&&(n=t.content.ownerDocument)}let T,w="";const{implementation:E,createNodeIterator:S,createDocumentFragment:k,getElementsByTagName:C}=n,{importNode:x}=r;let P={afterSanitizeAttributes:[],afterSanitizeElements:[],afterSanitizeShadowDOM:[],beforeSanitizeAttributes:[],beforeSanitizeElements:[],beforeSanitizeShadowDOM:[],uponSanitizeAttribute:[],uponSanitizeElement:[],uponSanitizeShadowNode:[]};a.isSupported="function"==typeof Be&&"function"==typeof v&&E&&void 0!==E.createHTMLDocument;const{MUSTACHE_EXPR:L,ERB_EXPR:N,TMPLIT_EXPR:I,DATA_ATTR:O,ARIA_ATTR:$,IS_SCRIPT_OR_DATA:A,ATTR_WHITESPACE:j,CUSTOM_ELEMENT:R}=Ha;let{IS_ALLOWED_URI:D}=Ha,M=null;const H=ha({},[..._a,...ba,...va,...wa,...Sa]);let F=null;const z=ha({},[...ka,...Ca,...xa,...Pa]);let B=Object.seal(Ye(null,{tagNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},allowCustomizedBuiltInElements:{writable:!0,configurable:!1,enumerable:!0,value:!1}})),U=null,q=null,W=!0,K=!0,V=!1,G=!0,Y=!1,J=!0,X=!1,Z=!1,Q=!1,tt=!1,et=!1,at=!1,nt=!0,rt=!1,ot=!0,st=!1,it={},lt=null;const ct=ha({},["annotation-xml","audio","colgroup","desc","foreignobject","head","iframe","math","mi","mn","mo","ms","mtext","noembed","noframes","noscript","plaintext","script","style","svg","template","thead","title","video","xmp"]);let pt=null;const ut=ha({},["audio","video","img","source","image","track"]);let dt=null;const gt=ha({},["alt","class","for","id","label","name","pattern","placeholder","role","summary","title","value","style","xmlns"]),ht="http://www.w3.org/1998/Math/MathML",ft="http://www.w3.org/2000/svg",mt="http://www.w3.org/1999/xhtml";let yt=mt,_t=!1,bt=null;const vt=ha({},[ht,ft,mt],ra);let Tt=ha({},["mi","mo","mn","ms","mtext"]),wt=ha({},["annotation-xml"]);const Et=ha({},["title","style","font","a","script"]);let St=null;const kt=["application/xhtml+xml","text/html"];let Ct=null,xt=null;const Pt=n.createElement("form"),Lt=function(t){return t instanceof RegExp||t instanceof Function},Nt=function(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(!xt||xt!==t){if(t&&"object"==typeof t||(t={}),t=ma(t),St=-1===kt.indexOf(t.PARSER_MEDIA_TYPE)?"text/html":t.PARSER_MEDIA_TYPE,Ct="application/xhtml+xml"===St?ra:na,M=ca(t,"ALLOWED_TAGS")?ha({},t.ALLOWED_TAGS,Ct):H,F=ca(t,"ALLOWED_ATTR")?ha({},t.ALLOWED_ATTR,Ct):z,bt=ca(t,"ALLOWED_NAMESPACES")?ha({},t.ALLOWED_NAMESPACES,ra):vt,dt=ca(t,"ADD_URI_SAFE_ATTR")?ha(ma(gt),t.ADD_URI_SAFE_ATTR,Ct):gt,pt=ca(t,"ADD_DATA_URI_TAGS")?ha(ma(ut),t.ADD_DATA_URI_TAGS,Ct):ut,lt=ca(t,"FORBID_CONTENTS")?ha({},t.FORBID_CONTENTS,Ct):ct,U=ca(t,"FORBID_TAGS")?ha({},t.FORBID_TAGS,Ct):ma({}),q=ca(t,"FORBID_ATTR")?ha({},t.FORBID_ATTR,Ct):ma({}),it=!!ca(t,"USE_PROFILES")&&t.USE_PROFILES,W=!1!==t.ALLOW_ARIA_ATTR,K=!1!==t.ALLOW_DATA_ATTR,V=t.ALLOW_UNKNOWN_PROTOCOLS||!1,G=!1!==t.ALLOW_SELF_CLOSE_IN_ATTR,Y=t.SAFE_FOR_TEMPLATES||!1,J=!1!==t.SAFE_FOR_XML,X=t.WHOLE_DOCUMENT||!1,tt=t.RETURN_DOM||!1,et=t.RETURN_DOM_FRAGMENT||!1,at=t.RETURN_TRUSTED_TYPE||!1,Q=t.FORCE_BODY||!1,nt=!1!==t.SANITIZE_DOM,rt=t.SANITIZE_NAMED_PROPS||!1,ot=!1!==t.KEEP_CONTENT,st=t.IN_PLACE||!1,D=t.ALLOWED_URI_REGEXP||Aa,yt=t.NAMESPACE||mt,Tt=t.MATHML_TEXT_INTEGRATION_POINTS||Tt,wt=t.HTML_INTEGRATION_POINTS||wt,B=t.CUSTOM_ELEMENT_HANDLING||{},t.CUSTOM_ELEMENT_HANDLING&&Lt(t.CUSTOM_ELEMENT_HANDLING.tagNameCheck)&&(B.tagNameCheck=t.CUSTOM_ELEMENT_HANDLING.tagNameCheck),t.CUSTOM_ELEMENT_HANDLING&&Lt(t.CUSTOM_ELEMENT_HANDLING.attributeNameCheck)&&(B.attributeNameCheck=t.CUSTOM_ELEMENT_HANDLING.attributeNameCheck),t.CUSTOM_ELEMENT_HANDLING&&"boolean"==typeof t.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements&&(B.allowCustomizedBuiltInElements=t.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements),Y&&(K=!1),et&&(tt=!0),it&&(M=ha({},Sa),F=[],!0===it.html&&(ha(M,_a),ha(F,ka)),!0===it.svg&&(ha(M,ba),ha(F,Ca),ha(F,Pa)),!0===it.svgFilters&&(ha(M,va),ha(F,Ca),ha(F,Pa)),!0===it.mathMl&&(ha(M,wa),ha(F,xa),ha(F,Pa))),t.ADD_TAGS&&(M===H&&(M=ma(M)),ha(M,t.ADD_TAGS,Ct)),t.ADD_ATTR&&(F===z&&(F=ma(F)),ha(F,t.ADD_ATTR,Ct)),t.ADD_URI_SAFE_ATTR&&ha(dt,t.ADD_URI_SAFE_ATTR,Ct),t.FORBID_CONTENTS&&(lt===ct&&(lt=ma(lt)),ha(lt,t.FORBID_CONTENTS,Ct)),ot&&(M["#text"]=!0),X&&ha(M,["html","head","body"]),M.table&&(ha(M,["tbody"]),delete U.tbody),t.TRUSTED_TYPES_POLICY){if("function"!=typeof t.TRUSTED_TYPES_POLICY.createHTML)throw ua('TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.');if("function"!=typeof t.TRUSTED_TYPES_POLICY.createScriptURL)throw ua('TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.');T=t.TRUSTED_TYPES_POLICY,w=T.createHTML("")}else void 0===T&&(T=function(t,e){if("object"!=typeof t||"function"!=typeof t.createPolicy)return null;let a=null;const n="data-tt-policy-suffix";e&&e.hasAttribute(n)&&(a=e.getAttribute(n));const r="dompurify"+(a?"#"+a:"");try{return t.createPolicy(r,{createHTML:t=>t,createScriptURL:t=>t})}catch(t){return console.warn("TrustedTypes policy "+r+" could not be created."),null}}(h,o)),null!==T&&"string"==typeof w&&(w=T.createHTML(""));Ve&&Ve(t),xt=t}},It=ha({},[...ba,...va,...Ta]),Ot=ha({},[...wa,...Ea]),$t=function(t){ea(a.removed,{element:t});try{v(t).removeChild(t)}catch(e){y(t)}},At=function(t,e){try{ea(a.removed,{attribute:e.getAttributeNode(t),from:e})}catch(t){ea(a.removed,{attribute:null,from:e})}if(e.removeAttribute(t),"is"===t)if(tt||et)try{$t(e)}catch(t){}else try{e.setAttribute(t,"")}catch(t){}},jt=function(t){let e=null,a=null;if(Q)t="<remove></remove>"+t;else{const e=oa(t,/^[\r\n\t ]+/);a=e&&e[0]}"application/xhtml+xml"===St&&yt===mt&&(t='<html xmlns="http://www.w3.org/1999/xhtml"><head></head><body>'+t+"</body></html>");const r=T?T.createHTML(t):t;if(yt===mt)try{e=(new g).parseFromString(r,St)}catch(t){}if(!e||!e.documentElement){e=E.createDocument(yt,"template",null);try{e.documentElement.innerHTML=_t?w:r}catch(t){}}const o=e.body||e.documentElement;return t&&a&&o.insertBefore(n.createTextNode(a),o.childNodes[0]||null),yt===mt?C.call(e,X?"html":"body")[0]:X?e.documentElement:o},Rt=function(t){return S.call(t.ownerDocument||t,t,p.SHOW_ELEMENT|p.SHOW_COMMENT|p.SHOW_TEXT|p.SHOW_PROCESSING_INSTRUCTION|p.SHOW_CDATA_SECTION,null)},Dt=function(t){return t instanceof d&&("string"!=typeof t.nodeName||"string"!=typeof t.textContent||"function"!=typeof t.removeChild||!(t.attributes instanceof u)||"function"!=typeof t.removeAttribute||"function"!=typeof t.setAttribute||"string"!=typeof t.namespaceURI||"function"!=typeof t.insertBefore||"function"!=typeof t.hasChildNodes)},Mt=function(t){return"function"==typeof l&&t instanceof l};function Ht(t,e,n){Ze(t,t=>{t.call(a,e,n,xt)})}const Ft=function(t){let e=null;if(Ht(P.beforeSanitizeElements,t,null),Dt(t))return $t(t),!0;const n=Ct(t.nodeName);if(Ht(P.uponSanitizeElement,t,{tagName:n,allowedTags:M}),J&&t.hasChildNodes()&&!Mt(t.firstElementChild)&&pa(/<[/\w!]/g,t.innerHTML)&&pa(/<[/\w!]/g,t.textContent))return $t(t),!0;if(7===t.nodeType)return $t(t),!0;if(J&&8===t.nodeType&&pa(/<[/\w]/g,t.data))return $t(t),!0;if(!M[n]||U[n]){if(!U[n]&&Bt(n)){if(B.tagNameCheck instanceof RegExp&&pa(B.tagNameCheck,n))return!1;if(B.tagNameCheck instanceof Function&&B.tagNameCheck(n))return!1}if(ot&&!lt[n]){const e=v(t)||t.parentNode,a=b(t)||t.childNodes;if(a&&e)for(let n=a.length-1;n>=0;--n){const r=m(a[n],!0);r.__removalCount=(t.__removalCount||0)+1,e.insertBefore(r,_(t))}}return $t(t),!0}return t instanceof c&&!function(t){let e=v(t);e&&e.tagName||(e={namespaceURI:yt,tagName:"template"});const a=na(t.tagName),n=na(e.tagName);return!!bt[t.namespaceURI]&&(t.namespaceURI===ft?e.namespaceURI===mt?"svg"===a:e.namespaceURI===ht?"svg"===a&&("annotation-xml"===n||Tt[n]):Boolean(It[a]):t.namespaceURI===ht?e.namespaceURI===mt?"math"===a:e.namespaceURI===ft?"math"===a&&wt[n]:Boolean(Ot[a]):t.namespaceURI===mt?!(e.namespaceURI===ft&&!wt[n])&&!(e.namespaceURI===ht&&!Tt[n])&&!Ot[a]&&(Et[a]||!It[a]):!("application/xhtml+xml"!==St||!bt[t.namespaceURI]))}(t)?($t(t),!0):"noscript"!==n&&"noembed"!==n&&"noframes"!==n||!pa(/<\/no(script|embed|frames)/i,t.innerHTML)?(Y&&3===t.nodeType&&(e=t.textContent,Ze([L,N,I],t=>{e=sa(e,t," ")}),t.textContent!==e&&(ea(a.removed,{element:t.cloneNode()}),t.textContent=e)),Ht(P.afterSanitizeElements,t,null),!1):($t(t),!0)},zt=function(t,e,a){if(nt&&("id"===e||"name"===e)&&(a in n||a in Pt))return!1;if(K&&!q[e]&&pa(O,e));else if(W&&pa($,e));else if(!F[e]||q[e]){if(!(Bt(t)&&(B.tagNameCheck instanceof RegExp&&pa(B.tagNameCheck,t)||B.tagNameCheck instanceof Function&&B.tagNameCheck(t))&&(B.attributeNameCheck instanceof RegExp&&pa(B.attributeNameCheck,e)||B.attributeNameCheck instanceof Function&&B.attributeNameCheck(e,t))||"is"===e&&B.allowCustomizedBuiltInElements&&(B.tagNameCheck instanceof RegExp&&pa(B.tagNameCheck,a)||B.tagNameCheck instanceof Function&&B.tagNameCheck(a))))return!1}else if(dt[e]);else if(pa(D,sa(a,j,"")));else if("src"!==e&&"xlink:href"!==e&&"href"!==e||"script"===t||0!==ia(a,"data:")||!pt[t])if(V&&!pa(A,sa(a,j,"")));else if(a)return!1;return!0},Bt=function(t){return"annotation-xml"!==t&&oa(t,R)},Ut=function(t){Ht(P.beforeSanitizeAttributes,t,null);const{attributes:e}=t;if(!e||Dt(t))return;const n={attrName:"",attrValue:"",keepAttr:!0,allowedAttributes:F,forceKeepAttr:void 0};let r=e.length;for(;r--;){const o=e[r],{name:s,namespaceURI:i,value:l}=o,c=Ct(s),p=l;let u="value"===s?p:la(p);if(n.attrName=c,n.attrValue=u,n.keepAttr=!0,n.forceKeepAttr=void 0,Ht(P.uponSanitizeAttribute,t,n),u=n.attrValue,!rt||"id"!==c&&"name"!==c||(At(s,t),u="user-content-"+u),J&&pa(/((--!?|])>)|<\/(style|title|textarea)/i,u)){At(s,t);continue}if("attributename"===c&&oa(u,"href")){At(s,t);continue}if(n.forceKeepAttr)continue;if(!n.keepAttr){At(s,t);continue}if(!G&&pa(/\/>/i,u)){At(s,t);continue}Y&&Ze([L,N,I],t=>{u=sa(u,t," ")});const d=Ct(t.nodeName);if(zt(d,c,u)){if(T&&"object"==typeof h&&"function"==typeof h.getAttributeType)if(i);else switch(h.getAttributeType(d,c)){case"TrustedHTML":u=T.createHTML(u);break;case"TrustedScriptURL":u=T.createScriptURL(u)}if(u!==p)try{i?t.setAttributeNS(i,s,u):t.setAttribute(s,u),Dt(t)?$t(t):ta(a.removed)}catch(e){At(s,t)}}else At(s,t)}Ht(P.afterSanitizeAttributes,t,null)},qt=function t(e){let a=null;const n=Rt(e);for(Ht(P.beforeSanitizeShadowDOM,e,null);a=n.nextNode();)Ht(P.uponSanitizeShadowNode,a,null),Ft(a),Ut(a),a.content instanceof s&&t(a.content);Ht(P.afterSanitizeShadowDOM,e,null)};return a.sanitize=function(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=null,o=null,i=null,c=null;if(_t=!t,_t&&(t="\x3c!--\x3e"),"string"!=typeof t&&!Mt(t)){if("function"!=typeof t.toString)throw ua("toString is not a function");if("string"!=typeof(t=t.toString()))throw ua("dirty is not a string, aborting")}if(!a.isSupported)return t;if(Z||Nt(e),a.removed=[],"string"==typeof t&&(st=!1),st){if(t.nodeName){const e=Ct(t.nodeName);if(!M[e]||U[e])throw ua("root node is forbidden and cannot be sanitized in-place")}}else if(t instanceof l)n=jt("\x3c!----\x3e"),o=n.ownerDocument.importNode(t,!0),1===o.nodeType&&"BODY"===o.nodeName||"HTML"===o.nodeName?n=o:n.appendChild(o);else{if(!tt&&!Y&&!X&&-1===t.indexOf("<"))return T&&at?T.createHTML(t):t;if(n=jt(t),!n)return tt?null:at?w:""}n&&Q&&$t(n.firstChild);const p=Rt(st?t:n);for(;i=p.nextNode();)Ft(i),Ut(i),i.content instanceof s&&qt(i.content);if(st)return t;if(tt){if(et)for(c=k.call(n.ownerDocument);n.firstChild;)c.appendChild(n.firstChild);else c=n;return(F.shadowroot||F.shadowrootmode)&&(c=x.call(r,c,!0)),c}let u=X?n.outerHTML:n.innerHTML;return X&&M["!doctype"]&&n.ownerDocument&&n.ownerDocument.doctype&&n.ownerDocument.doctype.name&&pa(Da,n.ownerDocument.doctype.name)&&(u="<!DOCTYPE "+n.ownerDocument.doctype.name+">\n"+u),Y&&Ze([L,N,I],t=>{u=sa(u,t," ")}),T&&at?T.createHTML(u):u},a.setConfig=function(){Nt(arguments.length>0&&void 0!==arguments[0]?arguments[0]:{}),Z=!0},a.clearConfig=function(){xt=null,Z=!1},a.isValidAttribute=function(t,e,a){xt||Nt({});const n=Ct(t),r=Ct(e);return zt(n,r,a)},a.addHook=function(t,e){"function"==typeof e&&ea(P[t],e)},a.removeHook=function(t,e){if(void 0!==e){const a=Qe(P[t],e);return-1===a?void 0:aa(P[t],a,1)[0]}return ta(P[t])},a.removeHooks=function(t){P[t]=[]},a.removeAllHooks=function(){P={afterSanitizeAttributes:[],afterSanitizeElements:[],afterSanitizeShadowDOM:[],beforeSanitizeAttributes:[],beforeSanitizeElements:[],beforeSanitizeShadowDOM:[],uponSanitizeAttribute:[],uponSanitizeElement:[],uponSanitizeShadowNode:[]}},a}();const Ba=({message:t,onClose:e,Title:a,prefix:n,children:r})=>{let s=jQuery("<div>").append(t);const i=s.html();return s.remove(),s=null,(0,ze.useEffect)(()=>{const t=document.querySelectorAll(".chrome-ai-translator-flags");if(t.length>0)return t.forEach(t=>{t.classList.add(`${n}-tooltip-element`),t.addEventListener("click",e=>{if(e.preventDefault(),t.querySelector(`.${n}-tooltip`))return;let a=document.createElement("span");a.textContent="Text to be copied.",a.className=`${n}-tooltip`,t.appendChild(a),(async({text:t=!1,startCopyStatus:e=()=>{},endCopyStatus:a=()=>{}})=>{if(t&&""!==t)try{if(navigator?.clipboard?.writeText)await navigator.clipboard.writeText(t);else{const e=document.createElement("textarea");e.value=t,document.body.appendChild(e),e.select(),document.execCommand&&document.execCommand("copy"),document.body.removeChild(e)}e(),setTimeout(()=>a(),800)}catch(t){console.error("Error copying text to clipboard:",t)}})({text:t.getAttribute("data-clipboard-text"),startCopyStatus:()=>{a.classList.add(`${n}-tooltip-active`)},endCopyStatus:()=>{setTimeout(()=>{a.remove()},800)}})})}),()=>{t.forEach(t=>{t.removeEventListener("click",()=>{})})}},[]),React.createElement("div",{className:`${n}-error-modal-box-container`},React.createElement("div",{className:`${n}-error-modal-box`},React.createElement("div",{className:`${n}-error-modal-box-header`},React.createElement("span",{className:`${n}-error-modal-box-close`,onClick:e},"×"),a&&React.createElement("h3",null,a)),React.createElement("div",{className:`${n}-error-modal-box-body`},React.createElement("p",{dangerouslySetInnerHTML:{__html:za.sanitize(i)}}),r),React.createElement("div",{className:`${n}-error-modal-box-footer`},React.createElement("button",{className:`${n}-error-modal-box-close button button-primary`,onClick:e},(0,o.__)("Back","autopoly-ai-translation-for-polylang-pro")))))},Ua=({postIds:t,selectedLanguages:e,prefix:a,onDestory:s})=>{const i=De(),[l,c]=(0,n.useState)(!0),[p,u]=(0,n.useState)(!1),[d,g]=(0,n.useState)(!1),h=Fe(Jt),[f,m]=(0,n.useState)([]),y=Fe(Qt),_=Fe(Yt),b=Fe(Gt),[v,T]=(0,n.useState)(!0),[w,E]=(0,n.useState)(!1),[S,k]=(0,n.useState)("status"),C=Fe(Zt);let[x,P]=(0,n.useState)(sprintf((0,o.__)("Translations already exist for all selected %s in the chosen languages. There are no new %s to translate.","autopoly-ai-translation-for-polylang-pro"),atfpp_bulk_translate_object.post_label,atfpp_bulk_translate_object.post_label)),L=Fe(Xt);L=L.toFixed(1),L=Math.min(L,100),(0,n.useEffect)(()=>{(async()=>{const n=await Te({ids:t,langs:e,storeDispatch:i});c(!1),n.success||!1!==n.success||!n.message?(async(t=[],e,a,n,r)=>{const s=Bt.getState().pendingPosts;if(s.length<1)return;let i=!1;r(()=>{i=!0});const l=async c=>{const p=t[c];if(!p||i)return;const u=Bt.getState().parentPostsInfo[p];if(u){const{originalContent:{title:t,content:i,post_name:l,excerpt:c,metaFields:d},languages:g,editorType:h,sourceLanguage:f}=u;if(!g||0===g.length)return void console.log(`All target languages for post ${p} already exist. Skipping translation.`);if(!["classic","block","elementor","taxonomy"].includes(h))for(const t of g)a(Pt(p+"_"+t)),a(Nt(100/s.length)),a(Lt({[p+"_"+t]:{status:"error",messageClass:"error",errorMessage:(0,o.__)("This post editor type is not supported for translation","autopoly-ai-translation-for-polylang-pro")}}));const m={title:t,content:JSON.parse(JSON.stringify(i)),post_name:l,excerpt:c,metaFields:d&&Object.keys(d).length>0?JSON.parse(JSON.stringify(d)):{}};await(async({sourceLang:t,targetLangs:e,totalPosts:a,storeDispatch:n,postId:r,prefix:o,source:s,editorType:i,createTranslatePostNonce:l,updateDestoryHandler:c})=>{const p=Bt.getState().serviceProvider,u=be({Service:p});if(u&&u.Provider){const p=new u.Provider({sourceLang:t,targetLangs:e,totalPosts:a,storeDispatch:n,postId:r,createTranslatePostNonce:l,updateContent:async e=>{await ve({source:s,postId:r,sourceLang:t,lang:e,editorType:i,createTranslatePostNonce:l,storeDispatch:n})},prefix:o,updateDestoryHandler:c});await p.initTranslation()}})({sourceLang:f,targetLangs:g,totalPosts:s.length,storeDispatch:a,prefix:n,postId:p,source:m,editorType:h,createTranslatePostNonce:e,updateDestoryHandler:r})}++c>t.length-1||i||await l(c)};await l(0)})(n.postKeys,n.nonce,i,a,I):P(n.message)})()},[]);const N=t=>{u(!1),g(!1)},I=t=>{m(e=>[...e,t])};(0,n.useEffect)(()=>{if(C.totalPosts<1&&!l&&"status"!==S)O("status");else if(h&&Object.keys(h).length>0){if(_.length<1)return void O("completed");let t=!1,e=!1;const a=(n,r)=>{const o=h[n[r]].status;if("running"===o||"in-progress"===o||"pending"===o)return e=!0,void("running"!==S&&O("running"));"error"===o&&(t=!0),++r<n.length&&a(n,r)};if(a(Object.keys(h),0),e)return;O("pending")}},[h]);const O=t=>{k(t)};(0,n.useEffect)(()=>{if(L>=100&&_.length<1){if(C.postsTranslated<1)return T(!1),void E(!1);C.stringsTranslated>0&&setTimeout(()=>{E(!0)},1e3),setTimeout(()=>{T(!1),E(!1)},7500)}},[_]);const $=t=>{({translateAgain:he.translateAgain,continue:he.translateComplete})[t.target.dataset.status]({postId:d.parentPostId,targetLang:d.targetLanguage,storeDispatch:i,prefix:a,updateDestoryHandler:I,nonce:d.nonce,closeErrorModal:N,completedStrings:d.completedStrings,totalPosts:d.totalPosts})};return p?r().createElement(Ba,{message:d.errorHtml,onClose:N,Title:(0,o.__)("Bulk Translation Error","autopoly-ai-translation-for-polylang-pro"),prefix:a},d.aiError&&r().createElement("div",{className:`${a}-ai-error-buttons`},r().createElement("button",{className:`${a}-ai-error-button button`,"data-status":"translateAgain",onClick:$},(0,o.__)("Translate","autopoly-ai-translation-for-polylang-pro")),r().createElement("button",{className:`${a}-ai-error-button button`,"data-status":"continue",onClick:$},(0,o.__)("Continue","autopoly-ai-translation-for-polylang-pro")))):r().createElement("div",{id:`${a}-status-modal-container`},r().createElement("h2",{className:`${a}-bulk-status-heading ${S}`},sprintf((0,o.__)("Bulk Translation %s","autopoly-ai-translation-for-polylang-pro"),(()=>{switch(S){case"running":return(0,o.__)("In Progress","autopoly-ai-translation-for-polylang-pro");case"pending":return(0,o.__)("Pending","autopoly-ai-translation-for-polylang-pro");case"completed":return(0,o.__)("Completed","autopoly-ai-translation-for-polylang-pro");default:return(0,o.__)("Status","autopoly-ai-translation-for-polylang-pro")}})()),"running"===S&&r().createElement("span",{className:`${a}-bulk-status-running`})),r().createElement("div",{className:`${a}-status-modal-close`,onClick:t=>{f.forEach(t=>"function"==typeof t&&t()),s(t)}},"×"),C.totalPosts<1&&C.errorPosts<1&&!l?r().createElement("p",null,x):r().createElement(r().Fragment,null,l&&r().createElement("div",{className:`${a}-progress-skeleton`}),C.totalPosts>1&&v&&!l?r().createElement(r().Fragment,null,r().createElement("div",{className:`${a}-overall-progress`},r().createElement("div",{className:`${a}-progress-bar`},r().createElement("div",{className:`${a}-progress`,style:{width:L+"%"}},L+"%"))),w&&r().createElement("div",{className:`${a}-translator-strings-count`},(0,o.__)("Wahooo! You have saved your valuable time via auto translating","autopoly-ai-translation-for-polylang-pro"),r().createElement("strong",{className:"totalChars"}," ",C.charactersTranslated," "),(0,o.__)("characters using","autopoly-ai-translation-for-polylang-pro"),r().createElement("strong",null," ",(()=>{switch(b){case"google":return"Google Translate";case"localAiTranslator":return"Chrome AI Translator";case"openai_ai":return"OpenAI";case"google_ai":return"Gemini";case"openrouter_ai":return"OpenRouter";case"deepl_ai":return"DeepL";default:return"AI Translator"}})()))):C.postsTranslated>0&&r().createElement("div",{className:`${a}-count-container`},r().createElement("div",{className:`${a}-post-count`},r().createElement("span",{className:`${a}-count-text-heading`},(0,o.__)("Posts Translated:","autopoly-ai-translation-for-polylang-pro")," "),r().createElement("span",{className:`${a}-post-translated-post`},C.postsTranslated),r().createElement("span",{className:`${a}-post-text`}," ",(0,o.__)("out of","autopoly-ai-translation-for-polylang-pro")," "),r().createElement("span",{className:`${a}-post-total`},C.totalPosts),r().createElement("span",{className:`${a}-post-total-text`}," ",(0,o.__)("posts translated","autopoly-ai-translation-for-polylang-pro"))),r().createElement("div",{className:`${a}-string-count`},r().createElement("span",{className:`${a}-count-text-heading`},(0,o.__)("Strings:","autopoly-ai-translation-for-polylang-pro")," "),r().createElement("span",{className:`${a}-string-number`},C.stringsTranslated)),r().createElement("div",{className:`${a}-char-count`},r().createElement("span",{className:`${a}-count-text-heading`},(0,o.__)("Characters:","autopoly-ai-translation-for-polylang-pro")," "),r().createElement("span",{className:`${a}-char-number`},C.charactersTranslated))),r().createElement("div",{className:`${a}-status-table-container`},r().createElement("div",null,r().createElement("table",{className:`${a}-status-table`},r().createElement("thead",null,r().createElement("tr",null,r().createElement("th",null,(0,o.__)("Language","autopoly-ai-translation-for-polylang-pro")),r().createElement("th",null,(0,o.__)("Status","autopoly-ai-translation-for-polylang-pro")),r().createElement("th",null,(0,o.__)("Title","autopoly-ai-translation-for-polylang-pro")),r().createElement("th",null,(0,o.__)("Actions","autopoly-ai-translation-for-polylang-pro")))),r().createElement("tbody",null,l&&r().createElement(r().Fragment,null,r().createElement("tr",null,r().createElement("td",null,r().createElement("div",{className:`${a}-progress-skeleton`})),r().createElement("td",null,r().createElement("div",{className:`${a}-progress-skeleton`})),r().createElement("td",null,r().createElement("div",{className:`${a}-progress-skeleton`})),r().createElement("td",null,r().createElement("div",{className:`${a}-progress-skeleton`}))),r().createElement("tr",null,r().createElement("td",null,r().createElement("div",{className:`${a}-progress-skeleton`})),r().createElement("td",null,r().createElement("div",{className:`${a}-progress-skeleton`})),r().createElement("td",null,r().createElement("div",{className:`${a}-progress-skeleton`})),r().createElement("td",null,r().createElement("div",{className:`${a}-progress-skeleton`})))),!l&&Object.keys(y).length>0&&Object.keys(y).map((t,e)=>r().createElement(r().Fragment,{key:t},r().createElement("tr",{key:`group-title-${t}`,className:`${a}-group-title`},r().createElement("td",{colSpan:"5"},y[t]?.title||(0,o.__)("Untitled","autopoly-ai-translation-for-polylang-pro"))),r().createElement("tr",{key:t},r().createElement("td",{colSpan:"4",style:{textAlign:"center",width:"100%"},className:`${a}-error-message`,dangerouslySetInnerHTML:{__html:za.sanitize(y[t].errorMessage)}})))),!l&&Object.keys(h).map((t,e)=>{const n=h[t],s=[],i="running"===n.status||"in-progress"===n.status;return n.firstPostLanguage&&s.push(r().createElement("tr",{key:`group-title-${n.parentPostId||t}`,className:`${a}-group-title`},r().createElement("td",{colSpan:"5"},n.parentPostTitle||(0,o.__)("Untitled","autopoly-ai-translation-for-polylang-pro")))),s.push(r().createElement("tr",{key:t,className:`${a}-td-${n.status}`},r().createElement("td",{className:`${a}-status-flag`},n.flagUrl&&r().createElement("img",{src:n.flagUrl,width:"20",alt:n.targetLanguage}),n.languageName||n.targetLanguage),"error"===n.status?r().createElement(r().Fragment,null,r().createElement("td",{colSpan:n.errorHtml?"2":"3"},n.errorMessage),n.errorHtml&&r().createElement("td",{colSpan:"1",onClick:()=>{g(n),u(!0)}},r().createElement("button",{className:`${a}-status-error-button`},(0,o.__)("Error Details","autopoly-ai-translation-for-polylang-pro")))):r().createElement(r().Fragment,null,r().createElement("td",null,r().createElement("span",{className:`${a}-status ${n.messageClass} ${n.status}`},"pending"===n.status&&(0,o.__)("Pending","autopoly-ai-translation-for-polylang-pro"),"completed"===n.status&&(0,o.__)("Completed","autopoly-ai-translation-for-polylang-pro"),i&&r().createElement("div",{className:`${a}-progress-bar-circular`,"data-id":n.parentPostId+"_"+n.targetLanguage},r().createElement("svg",{className:`${a}-circle`,viewBox:"0 0 36 36"},r().createElement("path",{className:`${a}-bg`,d:"M18 2.0845\r a 15.9155 15.9155 0 0 1 0 31.831\r a 15.9155 15.9155 0 0 1 0 -31.831"}),r().createElement("path",{className:`${a}-progress`,strokeDasharray:"0, 100",d:"M18 2.0845\r a 15.9155 15.9155 0 0 1 0 31.831\r a 15.9155 15.9155 0 0 1 0 -31.831"})),r().createElement("div",{className:`${a}-percentage`},"0%")))),r().createElement("td",null,r().createElement(r().Fragment,null,"completed"===n.status?r().createElement("a",{href:n.postLink,target:"_blank",rel:"noopener noreferrer"},n.targetPostTitle):"in-progress"===n.status?r().createElement("div",{className:`${a}-${n.messageClass}-text`},(0,o.__)("In Progress","autopoly-ai-translation-for-polylang-pro"),r().createElement("span",null)):r().createElement("div",{className:`${a}-progress-skeleton short`}))),r().createElement("td",null,"completed"===n.status&&n.targetPostId?r().createElement("span",{className:`${a}-view-link`},(t=>{const e=((t,e)=>t.parentPostsInfo[e]?.languages)(Bt.getState(),t);let a=!0;if(!e||!e.length)return!0;for(let n=0;n<e.length;n++)if(!h[t+"_"+e[n]]||["pending","in-progress","running"].includes(h[t+"_"+e[n]].status)){a=!1;break}return a})(n.parentPostId)?r().createElement("a",{href:n.postEditLink,target:"_blank",rel:"noopener noreferrer",className:"button button-primary",title:sprintf((0,o.__)("Open the translated %s for review","autopoly-ai-translation-for-polylang-pro"),atfpp_bulk_translate_object.post_label)},(0,o.__)("Review","autopoly-ai-translation-for-polylang-pro")):r().createElement("button",{className:"button disabled",disabled:!0,title:sprintf((0,o.__)("Please wait until all translations for this %s are complete before reviewing.","autopoly-ai-translation-for-polylang-pro"),atfpp_bulk_translate_object.post_label)},(0,o.__)("Review","autopoly-ai-translation-for-polylang-pro"))):"in-progress"===n.status?r().createElement("div",{className:`${a}-${n.messageClass}-text`},(0,o.__)("In Progress","autopoly-ai-translation-for-polylang-pro"),r().createElement("span",null)):r().createElement("div",{className:`${a}-progress-skeleton short`}))))),s}))))),C.postsTranslated>0&&!_.length&&!v&&r().createElement("div",{className:`${a}-progress-footer`},r().createElement("a",{className:`${a}-progress-button button button-primary`,href:(()=>{const t=Object.values(h).filter(t=>"completed"===t.status&&t.targetLanguage).map(t=>t.targetLanguage).filter((t,e,a)=>a.indexOf(t)===e);if(1===t.length){const e=t[0],a=new URL(window.location.href),n=new URLSearchParams(a.search);n.set("lang",e),n.set("orderby","date"),n.set("order","desc");const r=Object.fromEntries(n.entries());return window.location.href.split("?")[0]+"?"+new URLSearchParams(r).toString()}return window.location.href})()},sprintf((0,o.__)("Check Translated %s","autopoly-ai-translation-for-polylang-pro"),atfpp_bulk_translate_object.post_label)))))};a(338);const qa=({setSettingVisibility:t,prefix:e})=>React.createElement("div",{className:`${e}-setting-modal-header`},React.createElement("h2",null,(0,o.__)("Step 2 - Select Translation Provider","autopoly-ai-translation-for-polylang-pro")),React.createElement("span",{className:`${e}-setting-modal-close`,onClick:e=>t(e)},"×")),Wa=t=>{const e=t.Service,a=t.prefix,n=t[e+"Disabled"],r=be({Service:e,[e+"ButtonDisabled"]:n,openErrorModalHandler:t.openErrorModalHandler,prefix:a}),o=`${a}-${e.replace(/([A-Z])/g,"-$1").toLowerCase().replace(/[^a-z0-9-]/g,"")}-btn`;return React.createElement("tr",null,React.createElement("td",{className:`${a}-provider-name`},React.createElement("img",{src:`${t.imgFolder}${r.Logo}`,alt:r.title}),React.createElement("span",null,r.title)),React.createElement("td",null,r.ButtonDisabled?r.ErrorMessage:React.createElement("button",{id:o,onClick:t.startTranslationHandler,className:`${a}-service-btn button button-primary`,"data-service":e,"data-service-label":r.ServiceLabel},r.SettingBtnText)),React.createElement("td",null,React.createElement("a",{href:r.Docs,target:"_blank",rel:"noopener noreferrer",className:`${a}-doc-icon`},React.createElement("svg",{width:"9",height:"12",viewBox:"0 0 9 12",fill:"none",xmlns:"http://www.w3.org/2000/svg"},React.createElement("path",{d:"M2.17607 6.20533H6.82393V5.53867H2.17607V6.20533ZM2.17607 8.05133H6.82393V7.38467H2.17607V8.05133ZM2.17607 9.898H4.89536V9.23133H2.17607V9.898ZM1.03821 12C0.7425 12 0.495643 11.8973 0.297643 11.692C0.0996427 11.4867 0.000428571 11.2304 0 10.9233V1.07667C0 0.77 0.0992142 0.514 0.297643 0.308667C0.496071 0.103333 0.743143 0.000444444 1.03886 0H6.10714L9 3V10.9233C9 11.23 8.901 11.4862 8.703 11.692C8.505 11.8978 8.25771 12.0004 7.96114 12H1.03821ZM5.78571 3.33333V0.666667H1.03886C0.939857 0.666667 0.849 0.709333 0.766286 0.794666C0.683571 0.88 0.642429 0.974 0.642857 1.07667V10.9233C0.642857 11.0256 0.684 11.1196 0.766286 11.2053C0.848571 11.2911 0.939214 11.3338 1.03821 11.3333H7.96179C8.06036 11.3333 8.151 11.2907 8.23371 11.2053C8.31643 11.12 8.35757 11.0258 8.35714 10.9227V3.33333H5.78571Z",fill:"#6F6F6F"})))))};function Ka(){return Ka=Object.assign?Object.assign.bind():function(t){for(var e=1;e<arguments.length;e++){var a=arguments[e];for(var n in a)({}).hasOwnProperty.call(a,n)&&(t[n]=a[n])}return t},Ka.apply(null,arguments)}const Va=t=>{const{prefix:e,localAiModalError:a}=t,n=be(),r=!atfpp_bulk_translate_object?.AIServices?.includes("openai"),o=!atfpp_bulk_translate_object?.AIServices?.includes("google"),s=!atfpp_bulk_translate_object?.AIServices?.includes("deepl"),i=!atfpp_bulk_translate_object?.AIServices?.includes("openrouter");return React.createElement("div",{className:`${e}-setting-modal-body`},React.createElement("table",null,React.createElement("thead",null,React.createElement("tr",null,React.createElement("th",null,"Name"),React.createElement("th",null,"Translate"),React.createElement("th",null,"Docs"))),React.createElement("tbody",null,Object.keys(n).map(e=>React.createElement(Wa,Ka({key:e},t,{openai_aiDisabled:r,google_aiDisabled:o,openrouter_aiDisabled:i,deepl_aiDisabled:s,localAiTranslatorDisabled:a,localAiModalError:a,openErrorModalHandler:t.errorModalHandler,Service:e}))))))},Ga=({setSettingVisibility:t,prefix:e})=>React.createElement("div",{className:`${e}-setting-modal-footer`},React.createElement("button",{className:`${e}-setting-close button button-primary`,onClick:()=>t(!1)},(0,o.__)("Back","autopoly-ai-translation-for-polylang-pro"))),Ya=t=>{const e=t.prefix||"atfpp-bulk-translate",a=atfpp_bulk_translate_object.atfpp_url+"assets/images/",[o,s]=(0,n.useState)(!1);return r().createElement(r().Fragment,null,o?r().createElement(Ba,{message:o,onDestroy:t.onDestory,onClose:()=>{s(!1)},Title:"AutoPoly - AI Translation For Polylang (Pro)",prefix:e}):r().createElement("div",{id:`${e}-setting-modal-container`},r().createElement("div",{className:`${e}-setting-modal-content`},r().createElement(qa,{setSettingVisibility:t.onDestory,prefix:e}),r().createElement(Va,{startTranslationHandler:async a=>{let n=a.target.classList.contains(`${e}-service-btn`)?a.target:a.target.closest(`.${e}-service-btn`);if(!n)return;const r=n.dataset&&n.dataset.service;t.updateProviderHandler(r)},imgFolder:a,prefix:e,localAiModalError:t.localAiModalError,errorModalHandler:t=>{s(t)}}),r().createElement(Ga,{setSettingVisibility:t.onCloseHandler,prefix:e}))))},Ja=t=>React.createElement("div",{className:t.className},t.children),Xa=({onDestory:t,prefix:e,postIds:a})=>{const s=De(),{languageObject:i={}}=atfpp_bulk_translate_object||{},l=(0,o.sprintf)((0,o.__)("Please select at least one %s for translation.","autopoly-ai-translation-for-polylang-pro"),atfpp_bulk_translate_object.post_label),[c,p]=(0,n.useState)([]),[u,d]=(0,n.useState)(0===a.length?l:""),[g,h]=(0,n.useState)(!1),[f,m]=(0,n.useState)(!1),y=Fe(Zt).totalPosts,[_,b]=(0,n.useState)(!0),[v,T]=(0,n.useState)(!1),[w,E]=(0,n.useState)(!1),S=e=>{m(!1),h(!1),t(e)};(0,n.useEffect)(()=>{(async()=>{const t=await ce.languageSupportedStatus("en","hi","English","Hindi");"browser-not-supported"!==t.type&&"translation-api-not-available"!==t.type&&"browser-not-supported"!==t.type||E((0,o.__)(t.html[0].outerHTML,"autopoly-ai-translation-for-polylang-pro")),b(!1)})()},[f]),(0,n.useEffect)(()=>{f||g||s(At())},[f,g,s]);const k=async()=>{if(0===c.length&&!g)return d((0,o.__)("Please select at least one language","autopoly-ai-translation-for-polylang-pro")),void T(!0);h(t=>!t)},C=()=>{const t=[];"true"===atfpp_bulk_translate_object.postMetaSync&&"taxonomy"!==atfpp_bulk_translate_object.taxonomy_page&&t.push({className:`${e}-notice ${e}-notice-error`,message:r().createElement("p",null,(0,o.__)("For accurate custom field translations, please disable the Custom Fields synchronization in ","autopoly-ai-translation-for-polylang-pro"),r().createElement("a",{href:`${atfpp_bulk_translate_object.admin_url}admin.php?page=mlang_settings`,target:"_blank",rel:"noopener noreferrer"},(0,o.__)("Polylang settings","autopoly-ai-translation-for-polylang-pro")),(0,o.sprintf)((0,o.__)(". This may affect linked %s.","autopoly-ai-translation-for-polylang-pro"),atfpp_bulk_translate_object.post_label))});const a=t.length;if(t.length>0)return t.map((t,e)=>r().createElement(Ja,{className:t.className,key:e,lastNotice:e===a-1},t.message))};return r().createElement("div",{id:`${e}-container`,className:(()=>{let t=[];return f&&t.push(`${e}-status-modal-active`),g&&t.push(`${e}-setting-modal-active`),y||g||!f||t.push(`${e}-empty-posts`),t.join(" ")})()},g&&r().createElement(Ya,{postIds:a,prefix:e,onDestory:S,onCloseHandler:k,updateProviderHandler:t=>{s(Dt(t)),h(!1),m(!0),b(!0)},localAiModalError:w}),f&&!g&&(_?r().createElement("div",{className:`${e}-skeleton-loader`}):r().createElement(Ua,{postIds:a,selectedLanguages:c,prefix:e,onDestory:S})),!f&&!g&&r().createElement("div",{className:`${e}-language-container`},r().createElement("div",{className:`${e}-header`},r().createElement("h2",null,(0,o.__)("Step 1: Select Languages","autopoly-ai-translation-for-polylang-pro")),r().createElement("span",{className:"close",onClick:S,title:(0,o.__)("Close","autopoly-ai-translation-for-polylang-pro")},"×")),u&&""!==u?v?r().createElement(Ba,{message:u,onClose:t=>{T(!1)}}):r().createElement("div",{className:`${e}-error-message`,dangerouslySetInnerHTML:{__html:za.sanitize(u)}}):r().createElement(r().Fragment,null,r().createElement("div",{className:`${e}-body`},r().createElement(C,null),r().createElement("div",{className:`${e}-languages`},Object.keys(i).map(t=>r().createElement("div",{key:t,className:`${e}-language`},r().createElement("div",{title:a.length?i[t].name:l},r().createElement("input",{type:"checkbox",name:"languages",id:t,value:t,onChange:t=>(t=>{const{value:e}=t.target,a=t.target.checked;p(a?[...c,e]:c.filter(t=>t!==e))})(t),disabled:!a.length,checked:c.includes(t)}),r().createElement("label",{htmlFor:t,className:`${e}-language-label`,title:i[t].name},r().createElement("img",{src:i[t].flag,alt:i[t].name}),"  ",i[t].name))))),r().createElement("div",{className:`${e}-select-all-languages`},r().createElement("input",{type:"checkbox",name:"select-all-languages",id:"select-all-languages",onChange:t=>(t=>{const e=t.target.checked;p(e?Object.keys(i):[])})(t),checked:c.length===Object.keys(i).length}),r().createElement("label",{htmlFor:"select-all-languages"},c.length===Object.keys(i).length?(0,o.__)("Unselect All","autopoly-ai-translation-for-polylang-pro"):(0,o.__)("Select All","autopoly-ai-translation-for-polylang-pro")))),r().createElement("div",{className:`${e}-footer`},r().createElement("button",{className:`${e}-footer-button button button-primary`,onClick:S,title:a.length?"":l},(0,o.__)("Close","autopoly-ai-translation-for-polylang-pro")),r().createElement("button",{className:`${e}-footer-button button button-primary`,onClick:k,disabled:!a.length||!c.length,title:a.length?c.length?"":(0,o.__)("Please select at least one language","autopoly-ai-translation-for-polylang-pro"):l},(0,o.__)("Translate","autopoly-ai-translation-for-polylang-pro"))))))};(()=>{const t=t=>{const[e,a]=(0,n.useState)(!1),[o,s]=(0,n.useState)([]),i=t.prefix,l=(document.getElementById(`${i}-wrapper`),t=>{t.preventDefault();let e='table.widefat input[name="post[]"]:checked';atfpp_bulk_translate_object.taxonomy_page&&""!==atfpp_bulk_translate_object.taxonomy_page&&(e='table.widefat input[name="delete_tags[]"]:checked');const n=document.querySelectorAll(e),r=Array.from(n).map(t=>t.value);s(r),a(t=>!t);const o=document.querySelector('.skiptranslate iframe[id=":1.container"]');if(document.body.classList.remove(i+"-google-translate"),o){const t=o.contentDocument.querySelector('a[id=":1.close"][title="Close"] img');t&&t.click()}});return(0,n.useEffect)(()=>{const t=document.querySelectorAll(`.${i}-btn`);t&&t.forEach(t=>{t.addEventListener("click",t=>{t.preventDefault(),l(t)})})},[]),(0,n.useEffect)(()=>{const t=document.getElementById(`${i}-wrapper`);t&&t.classList.toggle(`${i}-active`,e)},[e]),e?r().createElement(Xa,{onDestory:l,prefix:i,postIds:o}):null};window.addEventListener("load",async()=>{const e="atfpp-bulk-translate";await new Promise(t=>setTimeout(t,500)),l().createRoot(document.getElementById(`${e}-wrapper`)).render(r().createElement(Ie,{store:Bt},r().createElement(t,{prefix:e})))})})()})();