react-docxodus-viewer 0.6.0 → 0.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),t=require("react"),Re=require("docxodus/react"),C=require("docxodus");var Ae=typeof document<"u"?document.currentScript:null;function V(){return`${Date.now()}-${Math.random().toString(36).slice(2,11)}`}async function k(n){if(n instanceof Uint8Array)return n;const a=await n.arrayBuffer();return new Uint8Array(a)}function Ig(){if(typeof document<"u"){const n=document.querySelectorAll('script[src*="docxodus"]');if(n.length>0){const a=n[0].src;return a.substring(0,a.lastIndexOf("/")+1)+"wasm/"}}return"/wasm/"}async function ag(n){const a=n?.wasmBasePath??Ig(),y=new URL("data:text/javascript;base64,Ly8gc3JjL2RvY3hvZHVzLndvcmtlci50cwp2YXIgd2FzbUV4cG9ydHMgPSBudWxsOwp2YXIgaW5pdFByb21pc2UgPSBudWxsOwp2YXIgc2Vzc2lvbkhhbmRsZXMgPSAvKiBAX19QVVJFX18gKi8gbmV3IFNldCgpOwphc3luYyBmdW5jdGlvbiBpbml0aWFsaXplV2FzbShiYXNlUGF0aCkgewogIGlmICh3YXNtRXhwb3J0cykgewogICAgcmV0dXJuOwogIH0KICBpZiAoaW5pdFByb21pc2UpIHsKICAgIHJldHVybiBpbml0UHJvbWlzZTsKICB9CiAgaW5pdFByb21pc2UgPSAoYXN5bmMgKCkgPT4gewogICAgdHJ5IHsKICAgICAgY29uc3Qgbm9ybWFsaXplZFBhdGggPSBiYXNlUGF0aC5lbmRzV2l0aCgiLyIpID8gYmFzZVBhdGggOiBiYXNlUGF0aCArICIvIjsKICAgICAgY29uc3QgZG90bmV0TW9kdWxlID0gYXdhaXQgaW1wb3J0KAogICAgICAgIC8qIHdlYnBhY2tJZ25vcmU6IHRydWUgKi8KICAgICAgICBgJHtub3JtYWxpemVkUGF0aH1fZnJhbWV3b3JrL2RvdG5ldC5qc2AKICAgICAgKTsKICAgICAgY29uc3QgeyBnZXRBc3NlbWJseUV4cG9ydHMsIGdldENvbmZpZyB9ID0gYXdhaXQgZG90bmV0TW9kdWxlLmRvdG5ldC53aXRoRGlhZ25vc3RpY1RyYWNpbmcoZmFsc2UpLmNyZWF0ZSgpOwogICAgICBjb25zdCBjb25maWcgPSBnZXRDb25maWcoKTsKICAgICAgY29uc3QgZXhwb3J0cyA9IGF3YWl0IGdldEFzc2VtYmx5RXhwb3J0cyhjb25maWcubWFpbkFzc2VtYmx5TmFtZSk7CiAgICAgIHdhc21FeHBvcnRzID0gewogICAgICAgIERvY3VtZW50Q29udmVydGVyOiBleHBvcnRzLkRvY3hvZHVzV2FzbS5Eb2N1bWVudENvbnZlcnRlciwKICAgICAgICBEb2N1bWVudENvbXBhcmVyOiBleHBvcnRzLkRvY3hvZHVzV2FzbS5Eb2N1bWVudENvbXBhcmVyLAogICAgICAgIERvY3hTZXNzaW9uQnJpZGdlOiBleHBvcnRzLkRvY3hvZHVzV2FzbS5Eb2N4U2Vzc2lvbkJyaWRnZQogICAgICB9OwogICAgfSBjYXRjaCAoZXJyb3IpIHsKICAgICAgaW5pdFByb21pc2UgPSBudWxsOwogICAgICB0aHJvdyBlcnJvcjsKICAgIH0KICB9KSgpOwogIHJldHVybiBpbml0UHJvbWlzZTsKfQpmdW5jdGlvbiBlbnN1cmVJbml0aWFsaXplZCgpIHsKICBpZiAoIXdhc21FeHBvcnRzKSB7CiAgICB0aHJvdyBuZXcgRXJyb3IoIldvcmtlciBub3QgaW5pdGlhbGl6ZWQuIENhbGwgaW5pdCBmaXJzdC4iKTsKICB9CiAgcmV0dXJuIHdhc21FeHBvcnRzOwp9CmZ1bmN0aW9uIGlzRXJyb3JSZXNwb25zZShyZXN1bHQpIHsKICByZXR1cm4gcmVzdWx0LnN0YXJ0c1dpdGgoInsiKSAmJiByZXN1bHQuaW5jbHVkZXMoJyJFcnJvciInKTsKfQpmdW5jdGlvbiBwYXJzZUVycm9yKHJlc3VsdCkgewogIHRyeSB7CiAgICBjb25zdCBwYXJzZWQgPSBKU09OLnBhcnNlKHJlc3VsdCk7CiAgICByZXR1cm4geyBlcnJvcjogcGFyc2VkLkVycm9yIHx8IHBhcnNlZC5lcnJvciB8fCAiVW5rbm93biBlcnJvciIgfTsKICB9IGNhdGNoIHsKICAgIHJldHVybiB7IGVycm9yOiByZXN1bHQgfTsKICB9Cn0KZnVuY3Rpb24gaGFuZGxlQ29udmVydChyZXF1ZXN0KSB7CiAgY29uc3QgZXhwb3J0cyA9IGVuc3VyZUluaXRpYWxpemVkKCk7CiAgY29uc3Qgb3B0aW9ucyA9IHJlcXVlc3Qub3B0aW9uczsKICB0cnkgewogICAgbGV0IHJlc3VsdDsKICAgIGNvbnN0IG5lZWRzQ29tcGxldGVNZXRob2QgPSBvcHRpb25zPy5yZW5kZXJGb290bm90ZXNBbmRFbmRub3RlcyAhPT0gdm9pZCAwIHx8IG9wdGlvbnM/LnJlbmRlckhlYWRlcnNBbmRGb290ZXJzICE9PSB2b2lkIDAgfHwgb3B0aW9ucz8ucmVuZGVyVHJhY2tlZENoYW5nZXMgIT09IHZvaWQgMCB8fCBvcHRpb25zPy5zaG93RGVsZXRlZENvbnRlbnQgIT09IHZvaWQgMCB8fCBvcHRpb25zPy5yZW5kZXJNb3ZlT3BlcmF0aW9ucyAhPT0gdm9pZCAwIHx8IG9wdGlvbnM/LnJlbmRlclVuc3VwcG9ydGVkQ29udGVudFBsYWNlaG9sZGVycyAhPT0gdm9pZCAwIHx8IG9wdGlvbnM/LmRvY3VtZW50TGFuZ3VhZ2UgIT09IHZvaWQgMDsKICAgIGlmIChuZWVkc0NvbXBsZXRlTWV0aG9kIHx8IG9wdGlvbnM/LnJlbmRlckFubm90YXRpb25zKSB7CiAgICAgIHJlc3VsdCA9IGV4cG9ydHMuRG9jdW1lbnRDb252ZXJ0ZXIuQ29udmVydERvY3hUb0h0bWxDb21wbGV0ZSgKICAgICAgICByZXF1ZXN0LmRvY3VtZW50Qnl0ZXMsCiAgICAgICAgb3B0aW9ucz8ucGFnZVRpdGxlID8/ICJEb2N1bWVudCIsCiAgICAgICAgb3B0aW9ucz8uY3NzUHJlZml4ID8/ICJkb2N4LSIsCiAgICAgICAgb3B0aW9ucz8uZmFicmljYXRlQ2xhc3NlcyA/PyB0cnVlLAogICAgICAgIG9wdGlvbnM/LmFkZGl0aW9uYWxDc3MgPz8gIiIsCiAgICAgICAgb3B0aW9ucz8uY29tbWVudFJlbmRlck1vZGUgPz8gLTEsCiAgICAgICAgb3B0aW9ucz8uY29tbWVudENzc0NsYXNzUHJlZml4ID8/ICJjb21tZW50LSIsCiAgICAgICAgb3B0aW9ucz8ucGFnaW5hdGlvbk1vZGUgPz8gMCwKICAgICAgICBvcHRpb25zPy5wYWdpbmF0aW9uU2NhbGUgPz8gMSwKICAgICAgICBvcHRpb25zPy5wYWdpbmF0aW9uQ3NzQ2xhc3NQcmVmaXggPz8gInBhZ2UtIiwKICAgICAgICBvcHRpb25zPy5yZW5kZXJBbm5vdGF0aW9ucyA/PyBmYWxzZSwKICAgICAgICBvcHRpb25zPy5hbm5vdGF0aW9uTGFiZWxNb2RlID8/IDAsCiAgICAgICAgb3B0aW9ucz8uYW5ub3RhdGlvbkNzc0NsYXNzUHJlZml4ID8/ICJhbm5vdC0iLAogICAgICAgIG9wdGlvbnM/LnJlbmRlckZvb3Rub3Rlc0FuZEVuZG5vdGVzID8/IGZhbHNlLAogICAgICAgIG9wdGlvbnM/LnJlbmRlckhlYWRlcnNBbmRGb290ZXJzID8/IGZhbHNlLAogICAgICAgIG9wdGlvbnM/LnJlbmRlclRyYWNrZWRDaGFuZ2VzID8/IGZhbHNlLAogICAgICAgIG9wdGlvbnM/LnNob3dEZWxldGVkQ29udGVudCA/PyB0cnVlLAogICAgICAgIG9wdGlvbnM/LnJlbmRlck1vdmVPcGVyYXRpb25zID8/IHRydWUsCiAgICAgICAgb3B0aW9ucz8ucmVuZGVyVW5zdXBwb3J0ZWRDb250ZW50UGxhY2Vob2xkZXJzID8/IGZhbHNlLAogICAgICAgIG9wdGlvbnM/LmRvY3VtZW50TGFuZ3VhZ2UgPz8gbnVsbAogICAgICApOwogICAgfSBlbHNlIGlmIChvcHRpb25zPy5wYWdpbmF0aW9uTW9kZSAhPT0gdm9pZCAwICYmIG9wdGlvbnMucGFnaW5hdGlvbk1vZGUgIT09IDApIHsKICAgICAgcmVzdWx0ID0gZXhwb3J0cy5Eb2N1bWVudENvbnZlcnRlci5Db252ZXJ0RG9jeFRvSHRtbFdpdGhQYWdpbmF0aW9uKAogICAgICAgIHJlcXVlc3QuZG9jdW1lbnRCeXRlcywKICAgICAgICBvcHRpb25zLnBhZ2VUaXRsZSA/PyAiRG9jdW1lbnQiLAogICAgICAgIG9wdGlvbnMuY3NzUHJlZml4ID8/ICJkb2N4LSIsCiAgICAgICAgb3B0aW9ucy5mYWJyaWNhdGVDbGFzc2VzID8/IHRydWUsCiAgICAgICAgb3B0aW9ucy5hZGRpdGlvbmFsQ3NzID8/ICIiLAogICAgICAgIG9wdGlvbnMuY29tbWVudFJlbmRlck1vZGUgPz8gLTEsCiAgICAgICAgb3B0aW9ucy5jb21tZW50Q3NzQ2xhc3NQcmVmaXggPz8gImNvbW1lbnQtIiwKICAgICAgICBvcHRpb25zLnBhZ2luYXRpb25Nb2RlLAogICAgICAgIG9wdGlvbnMucGFnaW5hdGlvblNjYWxlID8/IDEsCiAgICAgICAgb3B0aW9ucy5wYWdpbmF0aW9uQ3NzQ2xhc3NQcmVmaXggPz8gInBhZ2UtIgogICAgICApOwogICAgfSBlbHNlIGlmIChvcHRpb25zKSB7CiAgICAgIHJlc3VsdCA9IGV4cG9ydHMuRG9jdW1lbnRDb252ZXJ0ZXIuQ29udmVydERvY3hUb0h0bWxXaXRoT3B0aW9ucygKICAgICAgICByZXF1ZXN0LmRvY3VtZW50Qnl0ZXMsCiAgICAgICAgb3B0aW9ucy5wYWdlVGl0bGUgPz8gIkRvY3VtZW50IiwKICAgICAgICBvcHRpb25zLmNzc1ByZWZpeCA/PyAiZG9jeC0iLAogICAgICAgIG9wdGlvbnMuZmFicmljYXRlQ2xhc3NlcyA/PyB0cnVlLAogICAgICAgIG9wdGlvbnMuYWRkaXRpb25hbENzcyA/PyAiIiwKICAgICAgICBvcHRpb25zLmNvbW1lbnRSZW5kZXJNb2RlID8/IC0xLAogICAgICAgIG9wdGlvbnMuY29tbWVudENzc0NsYXNzUHJlZml4ID8/ICJjb21tZW50LSIKICAgICAgKTsKICAgIH0gZWxzZSB7CiAgICAgIHJlc3VsdCA9IGV4cG9ydHMuRG9jdW1lbnRDb252ZXJ0ZXIuQ29udmVydERvY3hUb0h0bWwoCiAgICAgICAgcmVxdWVzdC5kb2N1bWVudEJ5dGVzCiAgICAgICk7CiAgICB9CiAgICBpZiAoaXNFcnJvclJlc3BvbnNlKHJlc3VsdCkpIHsKICAgICAgcmV0dXJuIHBhcnNlRXJyb3IocmVzdWx0KTsKICAgIH0KICAgIHJldHVybiB7IGh0bWw6IHJlc3VsdCB9OwogIH0gY2F0Y2ggKGVycm9yKSB7CiAgICByZXR1cm4geyBlcnJvcjogU3RyaW5nKGVycm9yKSB9OwogIH0KfQpmdW5jdGlvbiBoYW5kbGVDb21wYXJlKHJlcXVlc3QpIHsKICBjb25zdCBleHBvcnRzID0gZW5zdXJlSW5pdGlhbGl6ZWQoKTsKICBjb25zdCBvcHRpb25zID0gcmVxdWVzdC5vcHRpb25zOwogIHRyeSB7CiAgICBsZXQgcmVzdWx0OwogICAgaWYgKG9wdGlvbnM/LmRldGFpbFRocmVzaG9sZCAhPT0gdm9pZCAwIHx8IG9wdGlvbnM/LmNhc2VJbnNlbnNpdGl2ZSkgewogICAgICByZXN1bHQgPSBleHBvcnRzLkRvY3VtZW50Q29tcGFyZXIuQ29tcGFyZURvY3VtZW50c1dpdGhPcHRpb25zKAogICAgICAgIHJlcXVlc3Qub3JpZ2luYWxCeXRlcywKICAgICAgICByZXF1ZXN0Lm1vZGlmaWVkQnl0ZXMsCiAgICAgICAgb3B0aW9ucz8uYXV0aG9yTmFtZSA/PyAiRG9jeG9kdXMiLAogICAgICAgIG9wdGlvbnM/LmRldGFpbFRocmVzaG9sZCA/PyAwLjE1LAogICAgICAgIG9wdGlvbnM/LmNhc2VJbnNlbnNpdGl2ZSA/PyBmYWxzZQogICAgICApOwogICAgfSBlbHNlIHsKICAgICAgcmVzdWx0ID0gZXhwb3J0cy5Eb2N1bWVudENvbXBhcmVyLkNvbXBhcmVEb2N1bWVudHMoCiAgICAgICAgcmVxdWVzdC5vcmlnaW5hbEJ5dGVzLAogICAgICAgIHJlcXVlc3QubW9kaWZpZWRCeXRlcywKICAgICAgICBvcHRpb25zPy5hdXRob3JOYW1lID8/ICJEb2N4b2R1cyIKICAgICAgKTsKICAgIH0KICAgIGlmIChyZXN1bHQubGVuZ3RoID09PSAwKSB7CiAgICAgIHJldHVybiB7IGVycm9yOiAiQ29tcGFyaXNvbiByZXR1cm5lZCBlbXB0eSByZXN1bHQiIH07CiAgICB9CiAgICByZXR1cm4geyBkb2N1bWVudEJ5dGVzOiByZXN1bHQgfTsKICB9IGNhdGNoIChlcnJvcikgewogICAgcmV0dXJuIHsgZXJyb3I6IFN0cmluZyhlcnJvcikgfTsKICB9Cn0KZnVuY3Rpb24gaGFuZGxlQ29tcGFyZVRvSHRtbChyZXF1ZXN0KSB7CiAgY29uc3QgZXhwb3J0cyA9IGVuc3VyZUluaXRpYWxpemVkKCk7CiAgY29uc3Qgb3B0aW9ucyA9IHJlcXVlc3Qub3B0aW9uczsKICB0cnkgewogICAgY29uc3QgcmVuZGVyVHJhY2tlZENoYW5nZXMgPSBvcHRpb25zPy5yZW5kZXJUcmFja2VkQ2hhbmdlcyA/PyB0cnVlOwogICAgY29uc3QgcmVzdWx0ID0gZXhwb3J0cy5Eb2N1bWVudENvbXBhcmVyLkNvbXBhcmVEb2N1bWVudHNUb0h0bWxXaXRoT3B0aW9ucygKICAgICAgcmVxdWVzdC5vcmlnaW5hbEJ5dGVzLAogICAgICByZXF1ZXN0Lm1vZGlmaWVkQnl0ZXMsCiAgICAgIG9wdGlvbnM/LmF1dGhvck5hbWUgPz8gIkRvY3hvZHVzIiwKICAgICAgcmVuZGVyVHJhY2tlZENoYW5nZXMKICAgICk7CiAgICBpZiAoaXNFcnJvclJlc3BvbnNlKHJlc3VsdCkpIHsKICAgICAgcmV0dXJuIHBhcnNlRXJyb3IocmVzdWx0KTsKICAgIH0KICAgIHJldHVybiB7IGh0bWw6IHJlc3VsdCB9OwogIH0gY2F0Y2ggKGVycm9yKSB7CiAgICByZXR1cm4geyBlcnJvcjogU3RyaW5nKGVycm9yKSB9OwogIH0KfQpmdW5jdGlvbiBoYW5kbGVHZXRSZXZpc2lvbnMocmVxdWVzdCkgewogIGNvbnN0IGV4cG9ydHMgPSBlbnN1cmVJbml0aWFsaXplZCgpOwogIGNvbnN0IG9wdGlvbnMgPSByZXF1ZXN0Lm9wdGlvbnM7CiAgdHJ5IHsKICAgIGNvbnN0IGRldGVjdE1vdmVzID0gb3B0aW9ucz8uZGV0ZWN0TW92ZXMgPz8gdHJ1ZTsKICAgIGNvbnN0IG1vdmVTaW1pbGFyaXR5VGhyZXNob2xkID0gb3B0aW9ucz8ubW92ZVNpbWlsYXJpdHlUaHJlc2hvbGQgPz8gMC44OwogICAgY29uc3QgbW92ZU1pbmltdW1Xb3JkQ291bnQgPSBvcHRpb25zPy5tb3ZlTWluaW11bVdvcmRDb3VudCA/PyAzOwogICAgY29uc3QgY2FzZUluc2Vuc2l0aXZlID0gb3B0aW9ucz8uY2FzZUluc2Vuc2l0aXZlID8/IGZhbHNlOwogICAgY29uc3QgcmVzdWx0ID0gZXhwb3J0cy5Eb2N1bWVudENvbXBhcmVyLkdldFJldmlzaW9uc0pzb25XaXRoT3B0aW9ucygKICAgICAgcmVxdWVzdC5kb2N1bWVudEJ5dGVzLAogICAgICBkZXRlY3RNb3ZlcywKICAgICAgbW92ZVNpbWlsYXJpdHlUaHJlc2hvbGQsCiAgICAgIG1vdmVNaW5pbXVtV29yZENvdW50LAogICAgICBjYXNlSW5zZW5zaXRpdmUKICAgICk7CiAgICBpZiAoaXNFcnJvclJlc3BvbnNlKHJlc3VsdCkpIHsKICAgICAgcmV0dXJuIHBhcnNlRXJyb3IocmVzdWx0KTsKICAgIH0KICAgIGNvbnN0IHBhcnNlZCA9IEpTT04ucGFyc2UocmVzdWx0KTsKICAgIGNvbnN0IHJldmlzaW9ucyA9IChwYXJzZWQuUmV2aXNpb25zIHx8IHBhcnNlZC5yZXZpc2lvbnMgfHwgW10pLm1hcCgKICAgICAgKHIpID0+ICh7CiAgICAgICAgYXV0aG9yOiByLkF1dGhvciB8fCByLmF1dGhvciwKICAgICAgICBkYXRlOiByLkRhdGUgfHwgci5kYXRlLAogICAgICAgIHJldmlzaW9uVHlwZTogci5SZXZpc2lvblR5cGUgfHwgci5yZXZpc2lvblR5cGUsCiAgICAgICAgdGV4dDogci5UZXh0IHx8IHIudGV4dCwKICAgICAgICBtb3ZlR3JvdXBJZDogci5Nb3ZlR3JvdXBJZCA/PyByLm1vdmVHcm91cElkLAogICAgICAgIGlzTW92ZVNvdXJjZTogci5Jc01vdmVTb3VyY2UgPz8gci5pc01vdmVTb3VyY2UsCiAgICAgICAgZm9ybWF0Q2hhbmdlOiByLkZvcm1hdENoYW5nZSB8fCByLmZvcm1hdENoYW5nZSA/IHsKICAgICAgICAgIG9sZFByb3BlcnRpZXM6IHIuRm9ybWF0Q2hhbmdlPy5PbGRQcm9wZXJ0aWVzIHx8IHIuZm9ybWF0Q2hhbmdlPy5vbGRQcm9wZXJ0aWVzLAogICAgICAgICAgbmV3UHJvcGVydGllczogci5Gb3JtYXRDaGFuZ2U/Lk5ld1Byb3BlcnRpZXMgfHwgci5mb3JtYXRDaGFuZ2U/Lm5ld1Byb3BlcnRpZXMsCiAgICAgICAgICBjaGFuZ2VkUHJvcGVydHlOYW1lczogci5Gb3JtYXRDaGFuZ2U/LkNoYW5nZWRQcm9wZXJ0eU5hbWVzIHx8IHIuZm9ybWF0Q2hhbmdlPy5jaGFuZ2VkUHJvcGVydHlOYW1lcwogICAgICAgIH0gOiB2b2lkIDAKICAgICAgfSkKICAgICk7CiAgICByZXR1cm4geyByZXZpc2lvbnMgfTsKICB9IGNhdGNoIChlcnJvcikgewogICAgcmV0dXJuIHsgZXJyb3I6IFN0cmluZyhlcnJvcikgfTsKICB9Cn0KZnVuY3Rpb24gaGFuZGxlR2V0RG9jdW1lbnRNZXRhZGF0YShyZXF1ZXN0KSB7CiAgY29uc3QgZXhwb3J0cyA9IGVuc3VyZUluaXRpYWxpemVkKCk7CiAgdHJ5IHsKICAgIGNvbnN0IHJlc3VsdCA9IGV4cG9ydHMuRG9jdW1lbnRDb252ZXJ0ZXIuR2V0RG9jdW1lbnRNZXRhZGF0YSgKICAgICAgcmVxdWVzdC5kb2N1bWVudEJ5dGVzCiAgICApOwogICAgaWYgKGlzRXJyb3JSZXNwb25zZShyZXN1bHQpKSB7CiAgICAgIHJldHVybiBwYXJzZUVycm9yKHJlc3VsdCk7CiAgICB9CiAgICBjb25zdCBwYXJzZWQgPSBKU09OLnBhcnNlKHJlc3VsdCk7CiAgICBjb25zdCBjb252ZXJ0U2VjdGlvbiA9IChzKSA9PiAoewogICAgICBzZWN0aW9uSW5kZXg6IHMuU2VjdGlvbkluZGV4ID8/IHMuc2VjdGlvbkluZGV4LAogICAgICBwYWdlV2lkdGhQdDogcy5QYWdlV2lkdGhQdCA/PyBzLnBhZ2VXaWR0aFB0LAogICAgICBwYWdlSGVpZ2h0UHQ6IHMuUGFnZUhlaWdodFB0ID8/IHMucGFnZUhlaWdodFB0LAogICAgICBtYXJnaW5Ub3BQdDogcy5NYXJnaW5Ub3BQdCA/PyBzLm1hcmdpblRvcFB0LAogICAgICBtYXJnaW5SaWdodFB0OiBzLk1hcmdpblJpZ2h0UHQgPz8gcy5tYXJnaW5SaWdodFB0LAogICAgICBtYXJnaW5Cb3R0b21QdDogcy5NYXJnaW5Cb3R0b21QdCA/PyBzLm1hcmdpbkJvdHRvbVB0LAogICAgICBtYXJnaW5MZWZ0UHQ6IHMuTWFyZ2luTGVmdFB0ID8/IHMubWFyZ2luTGVmdFB0LAogICAgICBjb250ZW50V2lkdGhQdDogcy5Db250ZW50V2lkdGhQdCA/PyBzLmNvbnRlbnRXaWR0aFB0LAogICAgICBjb250ZW50SGVpZ2h0UHQ6IHMuQ29udGVudEhlaWdodFB0ID8/IHMuY29udGVudEhlaWdodFB0LAogICAgICBoZWFkZXJQdDogcy5IZWFkZXJQdCA/PyBzLmhlYWRlclB0LAogICAgICBmb290ZXJQdDogcy5Gb290ZXJQdCA/PyBzLmZvb3RlclB0LAogICAgICBwYXJhZ3JhcGhDb3VudDogcy5QYXJhZ3JhcGhDb3VudCA/PyBzLnBhcmFncmFwaENvdW50LAogICAgICB0YWJsZUNvdW50OiBzLlRhYmxlQ291bnQgPz8gcy50YWJsZUNvdW50LAogICAgICBoYXNIZWFkZXI6IHMuSGFzSGVhZGVyID8/IHMuaGFzSGVhZGVyLAogICAgICBoYXNGb290ZXI6IHMuSGFzRm9vdGVyID8/IHMuaGFzRm9vdGVyLAogICAgICBoYXNGaXJzdFBhZ2VIZWFkZXI6IHMuSGFzRmlyc3RQYWdlSGVhZGVyID8/IHMuaGFzRmlyc3RQYWdlSGVhZGVyLAogICAgICBoYXNGaXJzdFBhZ2VGb290ZXI6IHMuSGFzRmlyc3RQYWdlRm9vdGVyID8/IHMuaGFzRmlyc3RQYWdlRm9vdGVyLAogICAgICBoYXNFdmVuUGFnZUhlYWRlcjogcy5IYXNFdmVuUGFnZUhlYWRlciA/PyBzLmhhc0V2ZW5QYWdlSGVhZGVyLAogICAgICBoYXNFdmVuUGFnZUZvb3Rlcjogcy5IYXNFdmVuUGFnZUZvb3RlciA/PyBzLmhhc0V2ZW5QYWdlRm9vdGVyLAogICAgICBzdGFydFBhcmFncmFwaEluZGV4OiBzLlN0YXJ0UGFyYWdyYXBoSW5kZXggPz8gcy5zdGFydFBhcmFncmFwaEluZGV4LAogICAgICBlbmRQYXJhZ3JhcGhJbmRleDogcy5FbmRQYXJhZ3JhcGhJbmRleCA/PyBzLmVuZFBhcmFncmFwaEluZGV4LAogICAgICBzdGFydFRhYmxlSW5kZXg6IHMuU3RhcnRUYWJsZUluZGV4ID8/IHMuc3RhcnRUYWJsZUluZGV4LAogICAgICBlbmRUYWJsZUluZGV4OiBzLkVuZFRhYmxlSW5kZXggPz8gcy5lbmRUYWJsZUluZGV4CiAgICB9KTsKICAgIGNvbnN0IG1ldGFkYXRhID0gewogICAgICBzZWN0aW9uczogKHBhcnNlZC5TZWN0aW9ucyB8fCBwYXJzZWQuc2VjdGlvbnMgfHwgW10pLm1hcChjb252ZXJ0U2VjdGlvbiksCiAgICAgIHRvdGFsUGFyYWdyYXBoczogcGFyc2VkLlRvdGFsUGFyYWdyYXBocyA/PyBwYXJzZWQudG90YWxQYXJhZ3JhcGhzLAogICAgICB0b3RhbFRhYmxlczogcGFyc2VkLlRvdGFsVGFibGVzID8/IHBhcnNlZC50b3RhbFRhYmxlcywKICAgICAgaGFzRm9vdG5vdGVzOiBwYXJzZWQuSGFzRm9vdG5vdGVzID8/IHBhcnNlZC5oYXNGb290bm90ZXMsCiAgICAgIGhhc0VuZG5vdGVzOiBwYXJzZWQuSGFzRW5kbm90ZXMgPz8gcGFyc2VkLmhhc0VuZG5vdGVzLAogICAgICBoYXNUcmFja2VkQ2hhbmdlczogcGFyc2VkLkhhc1RyYWNrZWRDaGFuZ2VzID8/IHBhcnNlZC5oYXNUcmFja2VkQ2hhbmdlcywKICAgICAgaGFzQ29tbWVudHM6IHBhcnNlZC5IYXNDb21tZW50cyA/PyBwYXJzZWQuaGFzQ29tbWVudHMsCiAgICAgIGVzdGltYXRlZFBhZ2VDb3VudDogcGFyc2VkLkVzdGltYXRlZFBhZ2VDb3VudCA/PyBwYXJzZWQuZXN0aW1hdGVkUGFnZUNvdW50CiAgICB9OwogICAgcmV0dXJuIHsgbWV0YWRhdGEgfTsKICB9IGNhdGNoIChlcnJvcikgewogICAgcmV0dXJuIHsgZXJyb3I6IFN0cmluZyhlcnJvcikgfTsKICB9Cn0KZnVuY3Rpb24gaGFuZGxlU2Vzc2lvbk9wZW4ocmVxdWVzdCkgewogIGNvbnN0IGV4cG9ydHMgPSBlbnN1cmVJbml0aWFsaXplZCgpOwogIHRyeSB7CiAgICBjb25zdCBoYW5kbGUgPSBleHBvcnRzLkRvY3hTZXNzaW9uQnJpZGdlLk9wZW5TZXNzaW9uKAogICAgICByZXF1ZXN0LmRvY3VtZW50Qnl0ZXMsCiAgICAgIHJlcXVlc3Quc2V0dGluZ3NKc29uID8/ICIiCiAgICApOwogICAgc2Vzc2lvbkhhbmRsZXMuYWRkKGhhbmRsZSk7CiAgICByZXR1cm4geyBoYW5kbGUgfTsKICB9IGNhdGNoIChlcnJvcikgewogICAgcmV0dXJuIHsgZXJyb3I6IFN0cmluZyhlcnJvcikgfTsKICB9Cn0KZnVuY3Rpb24gaGFuZGxlU2Vzc2lvbkNsb3NlKHJlcXVlc3QpIHsKICBjb25zdCBleHBvcnRzID0gZW5zdXJlSW5pdGlhbGl6ZWQoKTsKICB0cnkgewogICAgZXhwb3J0cy5Eb2N4U2Vzc2lvbkJyaWRnZS5DbG9zZVNlc3Npb24ocmVxdWVzdC5oYW5kbGUpOwogICAgc2Vzc2lvbkhhbmRsZXMuZGVsZXRlKHJlcXVlc3QuaGFuZGxlKTsKICAgIHJldHVybiB7fTsKICB9IGNhdGNoIChlcnJvcikgewogICAgcmV0dXJuIHsgZXJyb3I6IFN0cmluZyhlcnJvcikgfTsKICB9Cn0KZnVuY3Rpb24gaGFuZGxlU2Vzc2lvbkFkZEFubm90YXRpb24ocmVxdWVzdCkgewogIGNvbnN0IGV4cG9ydHMgPSBlbnN1cmVJbml0aWFsaXplZCgpOwogIHRyeSB7CiAgICBjb25zdCBqc29uID0gZXhwb3J0cy5Eb2N4U2Vzc2lvbkJyaWRnZS5BZGRBbm5vdGF0aW9uKAogICAgICByZXF1ZXN0LmhhbmRsZSwKICAgICAgcmVxdWVzdC5hbmNob3JJZCwKICAgICAgcmVxdWVzdC5zcGFuSnNvbiwKICAgICAgcmVxdWVzdC5hbm5vdGF0aW9uSnNvbgogICAgKTsKICAgIGNvbnN0IHJlc3VsdCA9IEpTT04ucGFyc2UoanNvbik7CiAgICByZXR1cm4geyByZXN1bHQgfTsKICB9IGNhdGNoIChlcnJvcikgewogICAgcmV0dXJuIHsgZXJyb3I6IFN0cmluZyhlcnJvcikgfTsKICB9Cn0KZnVuY3Rpb24gaGFuZGxlU2Vzc2lvblJlbW92ZUFubm90YXRpb24ocmVxdWVzdCkgewogIGNvbnN0IGV4cG9ydHMgPSBlbnN1cmVJbml0aWFsaXplZCgpOwogIHRyeSB7CiAgICBjb25zdCBqc29uID0gZXhwb3J0cy5Eb2N4U2Vzc2lvbkJyaWRnZS5TZXNzaW9uUmVtb3ZlQW5ub3RhdGlvbigKICAgICAgcmVxdWVzdC5oYW5kbGUsCiAgICAgIHJlcXVlc3QuYW5ub3RhdGlvbklkCiAgICApOwogICAgY29uc3QgcmVzdWx0ID0gSlNPTi5wYXJzZShqc29uKTsKICAgIHJldHVybiB7IHJlc3VsdCB9OwogIH0gY2F0Y2ggKGVycm9yKSB7CiAgICByZXR1cm4geyBlcnJvcjogU3RyaW5nKGVycm9yKSB9OwogIH0KfQpmdW5jdGlvbiBoYW5kbGVTZXNzaW9uVXBkYXRlQW5ub3RhdGlvbihyZXF1ZXN0KSB7CiAgY29uc3QgZXhwb3J0cyA9IGVuc3VyZUluaXRpYWxpemVkKCk7CiAgdHJ5IHsKICAgIGNvbnN0IGpzb24gPSBleHBvcnRzLkRvY3hTZXNzaW9uQnJpZGdlLlVwZGF0ZUFubm90YXRpb24oCiAgICAgIHJlcXVlc3QuaGFuZGxlLAogICAgICByZXF1ZXN0LmFubm90YXRpb25JZCwKICAgICAgcmVxdWVzdC51cGRhdGVKc29uCiAgICApOwogICAgY29uc3QgcmVzdWx0ID0gSlNPTi5wYXJzZShqc29uKTsKICAgIHJldHVybiB7IHJlc3VsdCB9OwogIH0gY2F0Y2ggKGVycm9yKSB7CiAgICByZXR1cm4geyBlcnJvcjogU3RyaW5nKGVycm9yKSB9OwogIH0KfQpmdW5jdGlvbiBoYW5kbGVTZXNzaW9uTW92ZUFubm90YXRpb24ocmVxdWVzdCkgewogIGNvbnN0IGV4cG9ydHMgPSBlbnN1cmVJbml0aWFsaXplZCgpOwogIHRyeSB7CiAgICBjb25zdCBqc29uID0gZXhwb3J0cy5Eb2N4U2Vzc2lvbkJyaWRnZS5Nb3ZlQW5ub3RhdGlvbigKICAgICAgcmVxdWVzdC5oYW5kbGUsCiAgICAgIHJlcXVlc3QuYW5ub3RhdGlvbklkLAogICAgICByZXF1ZXN0Lm5ld0FuY2hvcklkLAogICAgICByZXF1ZXN0Lm5ld1NwYW5Kc29uCiAgICApOwogICAgY29uc3QgcmVzdWx0ID0gSlNPTi5wYXJzZShqc29uKTsKICAgIHJldHVybiB7IHJlc3VsdCB9OwogIH0gY2F0Y2ggKGVycm9yKSB7CiAgICByZXR1cm4geyBlcnJvcjogU3RyaW5nKGVycm9yKSB9OwogIH0KfQpmdW5jdGlvbiBoYW5kbGVQcmVwYXJlKCkgewogIGNvbnN0IGV4cG9ydHMgPSBlbnN1cmVJbml0aWFsaXplZCgpOwogIHRyeSB7CiAgICBjb25zdCByZXN1bHQgPSBleHBvcnRzLkRvY3VtZW50Q29tcGFyZXIuV2FybXVwKCk7CiAgICBpZiAoaXNFcnJvclJlc3BvbnNlKHJlc3VsdCkpIHsKICAgICAgcmV0dXJuIHBhcnNlRXJyb3IocmVzdWx0KTsKICAgIH0KICAgIHJldHVybiB7fTsKICB9IGNhdGNoIChlcnJvcikgewogICAgcmV0dXJuIHsgZXJyb3I6IFN0cmluZyhlcnJvcikgfTsKICB9Cn0KZnVuY3Rpb24gaGFuZGxlR2V0VmVyc2lvbigpIHsKICBjb25zdCBleHBvcnRzID0gZW5zdXJlSW5pdGlhbGl6ZWQoKTsKICB0cnkgewogICAgY29uc3QgcmVzdWx0ID0gZXhwb3J0cy5Eb2N1bWVudENvbnZlcnRlci5HZXRWZXJzaW9uKCk7CiAgICBjb25zdCBwYXJzZWQgPSBKU09OLnBhcnNlKHJlc3VsdCk7CiAgICByZXR1cm4gewogICAgICB2ZXJzaW9uOiB7CiAgICAgICAgbGlicmFyeTogcGFyc2VkLkxpYnJhcnkgfHwgcGFyc2VkLmxpYnJhcnksCiAgICAgICAgZG90bmV0VmVyc2lvbjogcGFyc2VkLkRvdG5ldFZlcnNpb24gfHwgcGFyc2VkLmRvdG5ldFZlcnNpb24sCiAgICAgICAgcGxhdGZvcm06IHBhcnNlZC5QbGF0Zm9ybSB8fCBwYXJzZWQucGxhdGZvcm0KICAgICAgfQogICAgfTsKICB9IGNhdGNoIChlcnJvcikgewogICAgcmV0dXJuIHsgZXJyb3I6IFN0cmluZyhlcnJvcikgfTsKICB9Cn0Kc2VsZi5vbm1lc3NhZ2UgPSBhc3luYyAoZXZlbnQpID0+IHsKICBjb25zdCByZXF1ZXN0ID0gZXZlbnQuZGF0YTsKICB0cnkgewogICAgbGV0IHJlc3BvbnNlOwogICAgc3dpdGNoIChyZXF1ZXN0LnR5cGUpIHsKICAgICAgY2FzZSAiaW5pdCI6IHsKICAgICAgICBjb25zdCBpbml0UmVxdWVzdCA9IHJlcXVlc3Q7CiAgICAgICAgdHJ5IHsKICAgICAgICAgIGF3YWl0IGluaXRpYWxpemVXYXNtKGluaXRSZXF1ZXN0Lndhc21CYXNlUGF0aCk7CiAgICAgICAgICByZXNwb25zZSA9IHsKICAgICAgICAgICAgaWQ6IHJlcXVlc3QuaWQsCiAgICAgICAgICAgIHR5cGU6ICJpbml0IiwKICAgICAgICAgICAgc3VjY2VzczogdHJ1ZQogICAgICAgICAgfTsKICAgICAgICB9IGNhdGNoIChlcnJvcikgewogICAgICAgICAgcmVzcG9uc2UgPSB7CiAgICAgICAgICAgIGlkOiByZXF1ZXN0LmlkLAogICAgICAgICAgICB0eXBlOiAiaW5pdCIsCiAgICAgICAgICAgIHN1Y2Nlc3M6IGZhbHNlLAogICAgICAgICAgICBlcnJvcjogU3RyaW5nKGVycm9yKQogICAgICAgICAgfTsKICAgICAgICB9CiAgICAgICAgYnJlYWs7CiAgICAgIH0KICAgICAgY2FzZSAiY29udmVydERvY3hUb0h0bWwiOiB7CiAgICAgICAgY29uc3QgY29udmVydFJlcXVlc3QgPSByZXF1ZXN0OwogICAgICAgIGNvbnN0IHJlc3VsdCA9IGhhbmRsZUNvbnZlcnQoY29udmVydFJlcXVlc3QpOwogICAgICAgIHJlc3BvbnNlID0gewogICAgICAgICAgaWQ6IHJlcXVlc3QuaWQsCiAgICAgICAgICB0eXBlOiAiY29udmVydERvY3hUb0h0bWwiLAogICAgICAgICAgc3VjY2VzczogIXJlc3VsdC5lcnJvciwKICAgICAgICAgIGh0bWw6IHJlc3VsdC5odG1sLAogICAgICAgICAgZXJyb3I6IHJlc3VsdC5lcnJvcgogICAgICAgIH07CiAgICAgICAgYnJlYWs7CiAgICAgIH0KICAgICAgY2FzZSAiY29tcGFyZURvY3VtZW50cyI6IHsKICAgICAgICBjb25zdCBjb21wYXJlUmVxdWVzdCA9IHJlcXVlc3Q7CiAgICAgICAgY29uc3QgcmVzdWx0ID0gaGFuZGxlQ29tcGFyZShjb21wYXJlUmVxdWVzdCk7CiAgICAgICAgcmVzcG9uc2UgPSB7CiAgICAgICAgICBpZDogcmVxdWVzdC5pZCwKICAgICAgICAgIHR5cGU6ICJjb21wYXJlRG9jdW1lbnRzIiwKICAgICAgICAgIHN1Y2Nlc3M6ICFyZXN1bHQuZXJyb3IsCiAgICAgICAgICBkb2N1bWVudEJ5dGVzOiByZXN1bHQuZG9jdW1lbnRCeXRlcywKICAgICAgICAgIGVycm9yOiByZXN1bHQuZXJyb3IKICAgICAgICB9OwogICAgICAgIGlmIChyZXN1bHQuZG9jdW1lbnRCeXRlcykgewogICAgICAgICAgc2VsZi5wb3N0TWVzc2FnZShyZXNwb25zZSwgeyB0cmFuc2ZlcjogW3Jlc3VsdC5kb2N1bWVudEJ5dGVzLmJ1ZmZlcl0gfSk7CiAgICAgICAgICByZXR1cm47CiAgICAgICAgfQogICAgICAgIGJyZWFrOwogICAgICB9CiAgICAgIGNhc2UgImNvbXBhcmVEb2N1bWVudHNUb0h0bWwiOiB7CiAgICAgICAgY29uc3QgY29tcGFyZVRvSHRtbFJlcXVlc3QgPSByZXF1ZXN0OwogICAgICAgIGNvbnN0IHJlc3VsdCA9IGhhbmRsZUNvbXBhcmVUb0h0bWwoY29tcGFyZVRvSHRtbFJlcXVlc3QpOwogICAgICAgIHJlc3BvbnNlID0gewogICAgICAgICAgaWQ6IHJlcXVlc3QuaWQsCiAgICAgICAgICB0eXBlOiAiY29tcGFyZURvY3VtZW50c1RvSHRtbCIsCiAgICAgICAgICBzdWNjZXNzOiAhcmVzdWx0LmVycm9yLAogICAgICAgICAgaHRtbDogcmVzdWx0Lmh0bWwsCiAgICAgICAgICBlcnJvcjogcmVzdWx0LmVycm9yCiAgICAgICAgfTsKICAgICAgICBicmVhazsKICAgICAgfQogICAgICBjYXNlICJnZXRSZXZpc2lvbnMiOiB7CiAgICAgICAgY29uc3QgZ2V0UmV2aXNpb25zUmVxdWVzdCA9IHJlcXVlc3Q7CiAgICAgICAgY29uc3QgcmVzdWx0ID0gaGFuZGxlR2V0UmV2aXNpb25zKGdldFJldmlzaW9uc1JlcXVlc3QpOwogICAgICAgIHJlc3BvbnNlID0gewogICAgICAgICAgaWQ6IHJlcXVlc3QuaWQsCiAgICAgICAgICB0eXBlOiAiZ2V0UmV2aXNpb25zIiwKICAgICAgICAgIHN1Y2Nlc3M6ICFyZXN1bHQuZXJyb3IsCiAgICAgICAgICByZXZpc2lvbnM6IHJlc3VsdC5yZXZpc2lvbnMsCiAgICAgICAgICBlcnJvcjogcmVzdWx0LmVycm9yCiAgICAgICAgfTsKICAgICAgICBicmVhazsKICAgICAgfQogICAgICBjYXNlICJnZXREb2N1bWVudE1ldGFkYXRhIjogewogICAgICAgIGNvbnN0IGdldE1ldGFkYXRhUmVxdWVzdCA9IHJlcXVlc3Q7CiAgICAgICAgY29uc3QgcmVzdWx0ID0gaGFuZGxlR2V0RG9jdW1lbnRNZXRhZGF0YShnZXRNZXRhZGF0YVJlcXVlc3QpOwogICAgICAgIHJlc3BvbnNlID0gewogICAgICAgICAgaWQ6IHJlcXVlc3QuaWQsCiAgICAgICAgICB0eXBlOiAiZ2V0RG9jdW1lbnRNZXRhZGF0YSIsCiAgICAgICAgICBzdWNjZXNzOiAhcmVzdWx0LmVycm9yLAogICAgICAgICAgbWV0YWRhdGE6IHJlc3VsdC5tZXRhZGF0YSwKICAgICAgICAgIGVycm9yOiByZXN1bHQuZXJyb3IKICAgICAgICB9OwogICAgICAgIGJyZWFrOwogICAgICB9CiAgICAgIGNhc2UgImdldFZlcnNpb24iOiB7CiAgICAgICAgY29uc3QgcmVzdWx0ID0gaGFuZGxlR2V0VmVyc2lvbigpOwogICAgICAgIHJlc3BvbnNlID0gewogICAgICAgICAgaWQ6IHJlcXVlc3QuaWQsCiAgICAgICAgICB0eXBlOiAiZ2V0VmVyc2lvbiIsCiAgICAgICAgICBzdWNjZXNzOiAhcmVzdWx0LmVycm9yLAogICAgICAgICAgdmVyc2lvbjogcmVzdWx0LnZlcnNpb24sCiAgICAgICAgICBlcnJvcjogcmVzdWx0LmVycm9yCiAgICAgICAgfTsKICAgICAgICBicmVhazsKICAgICAgfQogICAgICBjYXNlICJwcmVwYXJlIjogewogICAgICAgIGNvbnN0IHJlc3VsdCA9IGhhbmRsZVByZXBhcmUoKTsKICAgICAgICByZXNwb25zZSA9IHsKICAgICAgICAgIGlkOiByZXF1ZXN0LmlkLAogICAgICAgICAgdHlwZTogInByZXBhcmUiLAogICAgICAgICAgc3VjY2VzczogIXJlc3VsdC5lcnJvciwKICAgICAgICAgIGVycm9yOiByZXN1bHQuZXJyb3IKICAgICAgICB9OwogICAgICAgIGJyZWFrOwogICAgICB9CiAgICAgIGNhc2UgInNlc3Npb25PcGVuIjogewogICAgICAgIGNvbnN0IHNlc3Npb25PcGVuUmVxdWVzdCA9IHJlcXVlc3Q7CiAgICAgICAgY29uc3QgcmVzdWx0ID0gaGFuZGxlU2Vzc2lvbk9wZW4oc2Vzc2lvbk9wZW5SZXF1ZXN0KTsKICAgICAgICByZXNwb25zZSA9IHsKICAgICAgICAgIGlkOiByZXF1ZXN0LmlkLAogICAgICAgICAgdHlwZTogInNlc3Npb25PcGVuIiwKICAgICAgICAgIHN1Y2Nlc3M6ICFyZXN1bHQuZXJyb3IsCiAgICAgICAgICBoYW5kbGU6IHJlc3VsdC5oYW5kbGUsCiAgICAgICAgICBlcnJvcjogcmVzdWx0LmVycm9yCiAgICAgICAgfTsKICAgICAgICBicmVhazsKICAgICAgfQogICAgICBjYXNlICJzZXNzaW9uQ2xvc2UiOiB7CiAgICAgICAgY29uc3Qgc2Vzc2lvbkNsb3NlUmVxdWVzdCA9IHJlcXVlc3Q7CiAgICAgICAgY29uc3QgcmVzdWx0ID0gaGFuZGxlU2Vzc2lvbkNsb3NlKHNlc3Npb25DbG9zZVJlcXVlc3QpOwogICAgICAgIHJlc3BvbnNlID0gewogICAgICAgICAgaWQ6IHJlcXVlc3QuaWQsCiAgICAgICAgICB0eXBlOiAic2Vzc2lvbkNsb3NlIiwKICAgICAgICAgIHN1Y2Nlc3M6ICFyZXN1bHQuZXJyb3IsCiAgICAgICAgICBlcnJvcjogcmVzdWx0LmVycm9yCiAgICAgICAgfTsKICAgICAgICBicmVhazsKICAgICAgfQogICAgICBjYXNlICJzZXNzaW9uQWRkQW5ub3RhdGlvbiI6IHsKICAgICAgICBjb25zdCBhZGRBbm5vdFJlcXVlc3QgPSByZXF1ZXN0OwogICAgICAgIGNvbnN0IHJlc3VsdCA9IGhhbmRsZVNlc3Npb25BZGRBbm5vdGF0aW9uKGFkZEFubm90UmVxdWVzdCk7CiAgICAgICAgcmVzcG9uc2UgPSB7CiAgICAgICAgICBpZDogcmVxdWVzdC5pZCwKICAgICAgICAgIHR5cGU6ICJzZXNzaW9uQWRkQW5ub3RhdGlvbiIsCiAgICAgICAgICBzdWNjZXNzOiAhcmVzdWx0LmVycm9yLAogICAgICAgICAgcmVzdWx0OiByZXN1bHQucmVzdWx0LAogICAgICAgICAgZXJyb3I6IHJlc3VsdC5lcnJvcgogICAgICAgIH07CiAgICAgICAgYnJlYWs7CiAgICAgIH0KICAgICAgY2FzZSAic2Vzc2lvblJlbW92ZUFubm90YXRpb24iOiB7CiAgICAgICAgY29uc3QgcmVtb3ZlQW5ub3RSZXF1ZXN0ID0gcmVxdWVzdDsKICAgICAgICBjb25zdCByZXN1bHQgPSBoYW5kbGVTZXNzaW9uUmVtb3ZlQW5ub3RhdGlvbihyZW1vdmVBbm5vdFJlcXVlc3QpOwogICAgICAgIHJlc3BvbnNlID0gewogICAgICAgICAgaWQ6IHJlcXVlc3QuaWQsCiAgICAgICAgICB0eXBlOiAic2Vzc2lvblJlbW92ZUFubm90YXRpb24iLAogICAgICAgICAgc3VjY2VzczogIXJlc3VsdC5lcnJvciwKICAgICAgICAgIHJlc3VsdDogcmVzdWx0LnJlc3VsdCwKICAgICAgICAgIGVycm9yOiByZXN1bHQuZXJyb3IKICAgICAgICB9OwogICAgICAgIGJyZWFrOwogICAgICB9CiAgICAgIGNhc2UgInNlc3Npb25VcGRhdGVBbm5vdGF0aW9uIjogewogICAgICAgIGNvbnN0IHVwZGF0ZUFubm90UmVxdWVzdCA9IHJlcXVlc3Q7CiAgICAgICAgY29uc3QgcmVzdWx0ID0gaGFuZGxlU2Vzc2lvblVwZGF0ZUFubm90YXRpb24odXBkYXRlQW5ub3RSZXF1ZXN0KTsKICAgICAgICByZXNwb25zZSA9IHsKICAgICAgICAgIGlkOiByZXF1ZXN0LmlkLAogICAgICAgICAgdHlwZTogInNlc3Npb25VcGRhdGVBbm5vdGF0aW9uIiwKICAgICAgICAgIHN1Y2Nlc3M6ICFyZXN1bHQuZXJyb3IsCiAgICAgICAgICByZXN1bHQ6IHJlc3VsdC5yZXN1bHQsCiAgICAgICAgICBlcnJvcjogcmVzdWx0LmVycm9yCiAgICAgICAgfTsKICAgICAgICBicmVhazsKICAgICAgfQogICAgICBjYXNlICJzZXNzaW9uTW92ZUFubm90YXRpb24iOiB7CiAgICAgICAgY29uc3QgbW92ZUFubm90UmVxdWVzdCA9IHJlcXVlc3Q7CiAgICAgICAgY29uc3QgcmVzdWx0ID0gaGFuZGxlU2Vzc2lvbk1vdmVBbm5vdGF0aW9uKG1vdmVBbm5vdFJlcXVlc3QpOwogICAgICAgIHJlc3BvbnNlID0gewogICAgICAgICAgaWQ6IHJlcXVlc3QuaWQsCiAgICAgICAgICB0eXBlOiAic2Vzc2lvbk1vdmVBbm5vdGF0aW9uIiwKICAgICAgICAgIHN1Y2Nlc3M6ICFyZXN1bHQuZXJyb3IsCiAgICAgICAgICByZXN1bHQ6IHJlc3VsdC5yZXN1bHQsCiAgICAgICAgICBlcnJvcjogcmVzdWx0LmVycm9yCiAgICAgICAgfTsKICAgICAgICBicmVhazsKICAgICAgfQogICAgICBkZWZhdWx0OiB7CiAgICAgICAgY29uc3QgdW5rbm93blJlcXVlc3QgPSByZXF1ZXN0OwogICAgICAgIHNlbGYucG9zdE1lc3NhZ2UoewogICAgICAgICAgaWQ6IHVua25vd25SZXF1ZXN0LmlkLAogICAgICAgICAgdHlwZTogdW5rbm93blJlcXVlc3QudHlwZSwKICAgICAgICAgIHN1Y2Nlc3M6IGZhbHNlLAogICAgICAgICAgZXJyb3I6IGBVbmtub3duIHJlcXVlc3QgdHlwZTogJHt1bmtub3duUmVxdWVzdC50eXBlfWAKICAgICAgICB9KTsKICAgICAgICByZXR1cm47CiAgICAgIH0KICAgIH0KICAgIHNlbGYucG9zdE1lc3NhZ2UocmVzcG9uc2UpOwogIH0gY2F0Y2ggKGVycm9yKSB7CiAgICBzZWxmLnBvc3RNZXNzYWdlKHsKICAgICAgaWQ6IHJlcXVlc3QuaWQsCiAgICAgIHR5cGU6IHJlcXVlc3QudHlwZSwKICAgICAgc3VjY2VzczogZmFsc2UsCiAgICAgIGVycm9yOiBTdHJpbmcoZXJyb3IpCiAgICB9KTsKICB9Cn07CnNlbGYucG9zdE1lc3NhZ2UoeyB0eXBlOiAicmVhZHkiIH0pOwo=",typeof document>"u"?require("url").pathToFileURL(__filename).href:Ae&&Ae.tagName.toUpperCase()==="SCRIPT"&&Ae.src||new URL("react-docxodus-viewer.cjs.js",document.baseURI).href).href,u=new Worker(y,{type:"module"}),m=new Map;let b=!0,o=null;u.onmessage=i=>{const l=i.data;if(l.type==="ready")return;const r=m.get(l.id);r&&(m.delete(l.id),l.success?r.resolve(l):r.reject(new Error(l.error||"Unknown error")))},u.onerror=i=>{for(const l of m.values())l.reject(new Error(`Worker error: ${i.message}`));m.clear(),b=!1};function d(i,l){return new Promise((r,h)=>{if(!b){h(new Error("Worker has been terminated"));return}m.set(i.id,{resolve:r,reject:h}),l&&l.length>0?u.postMessage(i,l):u.postMessage(i)})}const I=await d({id:V(),type:"init",wasmBasePath:a});if(!I.success)throw u.terminate(),new Error(`Failed to initialize worker: ${I.error}`);return{async convertDocxToHtml(i,l){const r=await k(i);return(await d({id:V(),type:"convertDocxToHtml",documentBytes:r,options:l},[r.buffer])).html},async compareDocuments(i,l,r){const h=await k(i),A=await k(l);return(await d({id:V(),type:"compareDocuments",originalBytes:h,modifiedBytes:A,options:r},[h.buffer,A.buffer])).documentBytes},async compareDocumentsToHtml(i,l,r){const h=await k(i),A=await k(l);return(await d({id:V(),type:"compareDocumentsToHtml",originalBytes:h,modifiedBytes:A,options:r},[h.buffer,A.buffer])).html},async getRevisions(i,l){const r=await k(i);return(await d({id:V(),type:"getRevisions",documentBytes:r,options:l},[r.buffer])).revisions},async getDocumentMetadata(i){const l=await k(i);return(await d({id:V(),type:"getDocumentMetadata",documentBytes:l},[l.buffer])).metadata},async getVersion(){return(await d({id:V(),type:"getVersion"})).version},prepare(){return o||(o=d({id:V(),type:"prepare"}).then(()=>{}),o.catch(()=>{o=null}),o)},async openDocxSession(i,l){const r=await k(i),h=l?JSON.stringify(l):"",A=await d({id:V(),type:"sessionOpen",documentBytes:r,settingsJson:h},[r.buffer]);if(!A.success||A.handle===void 0)throw new Error(`Failed to open worker DocxSession: ${A.error??"unknown error"}`);const B=A.handle;return{async addAnnotation(w,v,H){const J=await d({id:V(),type:"sessionAddAnnotation",handle:B,anchorId:w,spanJson:v?JSON.stringify(v):"",annotationJson:JSON.stringify(H)});if(!J.success)throw new Error(J.error??"sessionAddAnnotation failed");return J.result},async removeAnnotation(w){const v=await d({id:V(),type:"sessionRemoveAnnotation",handle:B,annotationId:w});if(!v.success)throw new Error(v.error??"sessionRemoveAnnotation failed");return v.result},async updateAnnotation(w,v){const H=await d({id:V(),type:"sessionUpdateAnnotation",handle:B,annotationId:w,updateJson:JSON.stringify(v)});if(!H.success)throw new Error(H.error??"sessionUpdateAnnotation failed");return H.result},async moveAnnotation(w,v,H){const J=await d({id:V(),type:"sessionMoveAnnotation",handle:B,annotationId:w,newAnchorId:v,newSpanJson:H?JSON.stringify(H):""});if(!J.success)throw new Error(J.error??"sessionMoveAnnotation failed");return J.result},async close(){await d({id:V(),type:"sessionClose",handle:B})}}},terminate(){b=!1,u.terminate();for(const i of m.values())i.reject(new Error("Worker terminated"));m.clear()},isActive(){return b}}}function fe(){return typeof Worker<"u"}const Ye={paginationScale:.8,showPageNumbers:!0,renderFootnotesAndEndnotes:!0,renderHeadersAndFooters:!0,commentMode:"disabled",annotationMode:"disabled",renderTrackedChanges:!1,showDeletedContent:!0,renderMoveOperations:!0,pageTitle:"Document",cssPrefix:"docx-",fabricateClasses:!0,additionalCss:"",commentCssClassPrefix:"comment-",annotationCssClassPrefix:"annot-",renderUnsupportedContentPlaceholders:!0,documentLanguage:""};function og(n){return C.isInsertion(n)?"Inserted":C.isDeletion(n)?"Deleted":C.isMove(n)?n.isMoveSource?"Moved from":"Moved to":C.isFormatChange(n)?"Formatted":String(n.revisionType)}function ig(n){return C.isInsertion(n)?"rdv-revision--insertion":C.isDeletion(n)?"rdv-revision--deletion":C.isMove(n)?"rdv-revision--move":C.isFormatChange(n)?"rdv-revision--format":""}function Cg(n){try{return new Date(n).toLocaleDateString(void 0,{year:"numeric",month:"short",day:"numeric",hour:"2-digit",minute:"2-digit"})}catch{return n}}function dg(n,a=150){return n.length<=a?n:n.substring(0,a)+"..."}function be(n){return!(!n||typeof n!="string"||n.includes("<")||n.includes("xmlns")||n.includes("Unid=")||n.length>100)}function ze(n){return n.replace(/([A-Z])/g," $1").replace(/^./,a=>a.toUpperCase()).trim()}function ue(n){return n==="true"?"Yes":n==="false"?"No":n==="single"?"Single":n==="double"?"Double":n}function rg(n){if(!n.formatChange)return[];const{oldProperties:a,newProperties:y}=n.formatChange,u=[],m=new Set;if(a)for(const[b,o]of Object.entries(a)){if(!be(o))continue;m.add(b);const d=y?.[b];u.push({property:ze(b),oldValue:ue(o),newValue:d&&be(d)?ue(d):void 0})}if(y)for(const[b,o]of Object.entries(y))m.has(b)||be(o)&&u.push({property:ze(b),oldValue:void 0,newValue:ue(o)});return u}function Ag({revisions:n}){const[a,y]=t.useState("all"),[u,m]=t.useState(new Set),b=t.useMemo(()=>a==="all"?n:n.filter(I=>{switch(a){case"insertions":return C.isInsertion(I);case"deletions":return C.isDeletion(I);case"moves":return C.isMove(I);case"formatting":return C.isFormatChange(I);default:return!0}}),[n,a]),o=t.useMemo(()=>({total:n.length,insertions:n.filter(C.isInsertion).length,deletions:n.filter(C.isDeletion).length,moves:n.filter(C.isMove).length,formatting:n.filter(C.isFormatChange).length}),[n]),d=I=>{m(i=>{const l=new Set(i);return l.has(I)?l.delete(I):l.add(I),l})};return n.length===0?e.jsx("div",{className:"rdv-revision-panel",children:e.jsxs("div",{className:"rdv-revision-empty",children:[e.jsx("div",{className:"rdv-revision-empty__icon",children:"📝"}),e.jsx("p",{children:"No tracked changes found in this document."})]})}):e.jsxs("div",{className:"rdv-revision-panel",children:[e.jsxs("div",{className:"rdv-revision-header",children:[e.jsxs("div",{className:"rdv-revision-stats",children:[e.jsxs("span",{className:"rdv-revision-stat rdv-revision-stat--total",children:[o.total," change",o.total!==1?"s":""]}),o.insertions>0&&e.jsxs("span",{className:"rdv-revision-stat rdv-revision-stat--insertion",children:["+",o.insertions]}),o.deletions>0&&e.jsxs("span",{className:"rdv-revision-stat rdv-revision-stat--deletion",children:["−",o.deletions]}),o.moves>0&&e.jsxs("span",{className:"rdv-revision-stat rdv-revision-stat--move",children:["↔",o.moves]}),o.formatting>0&&e.jsxs("span",{className:"rdv-revision-stat rdv-revision-stat--format",children:["✎",o.formatting]})]}),e.jsxs("select",{className:"rdv-revision-filter",value:a,onChange:I=>y(I.target.value),children:[e.jsx("option",{value:"all",children:"All Changes"}),e.jsxs("option",{value:"insertions",children:["Insertions (",o.insertions,")"]}),e.jsxs("option",{value:"deletions",children:["Deletions (",o.deletions,")"]}),e.jsxs("option",{value:"moves",children:["Moves (",o.moves,")"]}),e.jsxs("option",{value:"formatting",children:["Formatting (",o.formatting,")"]})]})]}),e.jsx("div",{className:"rdv-revision-list",children:b.map((I,i)=>{const l=u.has(i),r=I.text.length>150,h=C.isFormatChange(I)?rg(I):[];return e.jsxs("div",{className:`rdv-revision-item ${ig(I)}`,children:[e.jsxs("div",{className:"rdv-revision-item__header",children:[e.jsx("span",{className:"rdv-revision-type",children:og(I)}),C.isMove(I)&&I.moveGroupId!==void 0&&e.jsxs("span",{className:"rdv-revision-move-id",children:["#",I.moveGroupId]}),e.jsx("span",{className:"rdv-revision-author",children:I.author||"Unknown"}),e.jsx("span",{className:"rdv-revision-date",children:Cg(I.date)})]}),I.text&&e.jsxs("div",{className:"rdv-revision-item__content",children:[e.jsx("span",{className:"rdv-revision-text",children:l?I.text:dg(I.text)}),r&&e.jsx("button",{className:"rdv-revision-expand",onClick:()=>d(i),children:l?"Show less":"Show more"})]}),h.length>0&&e.jsx("div",{className:"rdv-revision-item__format-details",children:h.map((A,B)=>e.jsxs("div",{className:"rdv-format-change",children:[e.jsx("span",{className:"rdv-format-change__property",children:A.property}),e.jsxs("span",{className:"rdv-format-change__values",children:[A.oldValue&&e.jsx("span",{className:"rdv-format-change__old",children:A.oldValue}),A.oldValue&&A.newValue&&e.jsx("span",{className:"rdv-format-change__arrow",children:"→"}),A.newValue&&e.jsx("span",{className:"rdv-format-change__new",children:A.newValue}),!A.oldValue&&A.newValue&&e.jsx("span",{className:"rdv-format-change__added",children:"(added)"}),A.oldValue&&!A.newValue&&e.jsx("span",{className:"rdv-format-change__removed",children:"(removed)"})]})]},B))})]},i)})})]})}const bg=()=>e.jsxs("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:[e.jsx("path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"}),e.jsx("polyline",{points:"17 8 12 3 7 8"}),e.jsx("line",{x1:"12",y1:"3",x2:"12",y2:"15"})]});function ug(n){switch(n){case"endnote":return C.CommentRenderMode.EndnoteStyle;case"inline":return C.CommentRenderMode.Inline;case"margin":return C.CommentRenderMode.Margin;default:return C.CommentRenderMode.Disabled}}function mg(n){switch(n){case"above":return C.AnnotationLabelMode.Above;case"inline":return C.AnnotationLabelMode.Inline;case"tooltip":return C.AnnotationLabelMode.Tooltip;case"none":return C.AnnotationLabelMode.None;default:return}}function U(n){if(n!=null)return typeof n=="number"?`${n}px`:n}const xe=96/72,Fe=40,hg=.3,Zg=2;function vg(n,a,y,u,m){const b=u*xe,o=m*xe,d=(a-Fe)/b,I=(y-Fe)/o,i=n==="page-width"?d:Math.min(d,I),l=Math.max(hg,Math.min(Zg,i));return Math.round(l*100)/100}function Vg({file:n,html:a,onFileChange:y,onConversionStart:u,onConversionComplete:m,onError:b,onPageChange:o,onRevisionsExtracted:d,settings:I,defaultSettings:i,defaultZoom:l,onSettingsChange:r,className:h,style:A,toolbar:B="top",showSettingsButton:w=!0,showRevisionsTab:v=!0,placeholder:H="Open a DOCX file to view",wasmBasePath:J,useWorker:N=!0,warmup:me=!1,fitMode:te="manual",toolbarActions:E}){const le=t.useMemo(()=>{const g={...Ye};return l!==void 0&&(g.paginationScale=Math.max(.3,Math.min(2,l))),{...g,...i}},[i,l]),[ke,he]=t.useState(null),[Ke,_]=t.useState(null),[Ze,ve]=t.useState(le),F=n!==void 0?n:ke,G=a!==void 0?a:Ke,c=t.useMemo(()=>I?{...le,...I}:Ze,[I,le,Ze]),K=Re.useDocxodus(J),[W,Ve]=t.useState(null),[je,ye]=t.useState(!1),[Qe,Ie]=t.useState(!1),[Se,Ge]=t.useState(null),q=t.useRef(null);t.useEffect(()=>{if(!N||!fe())return;let g=!1;return Ie(!0),Ge(null),ag({wasmBasePath:J}).then(s=>{g?s.terminate():(q.current=s,Ve(s),ye(!0),Ie(!1))}).catch(s=>{g||(Ge(s instanceof Error?s:new Error(String(s))),Ie(!1))}),()=>{g=!0,q.current&&(q.current.terminate(),q.current=null,Ve(null),ye(!1))}},[N,J]),t.useEffect(()=>{!me||!W||W.prepare().catch(()=>{})},[me,W]);const j=N?je:K.isReady,P=N?Qe:K.isLoading,$=N?Se:K.error,[R,pe]=t.useState(!1),[Be,ee]=t.useState(null),[ge,Ne]=t.useState(""),[z,ae]=t.useState(1),[X,oe]=t.useState(0),[Le,ne]=t.useState(!1),[Q,M]=t.useState("document"),[ie,D]=t.useState([]),[Ue,We]=t.useState(!1),[x,ce]=t.useState(null),Xe=t.useRef(null),se=t.useRef(null),[Pe,Me]=t.useState(20);t.useEffect(()=>{const g=()=>{const s=Xe.current;if(!s)return;const Z=getComputedStyle(s).getPropertyValue("--rdv-page-gap").trim(),f=parseFloat(Z);Number.isNaN(f)||Me(f)};return g(),window.addEventListener("resize",g),()=>window.removeEventListener("resize",g)},[]);const Ce=t.useCallback(()=>({commentRenderMode:ug(c.commentMode),pageTitle:c.pageTitle,cssPrefix:c.cssPrefix,fabricateClasses:c.fabricateClasses,additionalCss:c.additionalCss||void 0,commentCssClassPrefix:c.commentCssClassPrefix,paginationMode:C.PaginationMode.Paginated,paginationScale:c.paginationScale,renderAnnotations:c.annotationMode!=="disabled",annotationLabelMode:mg(c.annotationMode),annotationCssClassPrefix:c.annotationCssClassPrefix,renderFootnotesAndEndnotes:c.renderFootnotesAndEndnotes,renderHeadersAndFooters:c.renderHeadersAndFooters,renderTrackedChanges:c.renderTrackedChanges,showDeletedContent:c.showDeletedContent,renderMoveOperations:c.renderMoveOperations,renderUnsupportedContentPlaceholders:c.renderUnsupportedContentPlaceholders,documentLanguage:c.documentLanguage||void 0}),[c]),De=t.useCallback(async g=>{try{const s=N&&W?await W.getDocumentMetadata(g):await C.getDocumentMetadata(g);ce(s)}catch{ce(null)}},[N,W]),Je=t.useCallback(async g=>{if(!(!j||!v)){We(!0);try{const s=N&&W?await W.getRevisions(g):await K.getRevisions(g);D(s),d?.(s)}catch{D([])}finally{We(!1)}}},[j,N,W,K,v,d]),O=t.useCallback(async g=>{if(j){pe(!0),ee(null),D([]),M("document"),u?.(),N||await new Promise(s=>requestAnimationFrame(()=>requestAnimationFrame(s)));try{const s=N&&W?await W.convertDocxToHtml(g,Ce()):await K.convertToHtml(g,Ce());a===void 0&&_(s),m?.(s),Je(g)}catch(s){const Z=s instanceof Error?s:new Error(String(s));ee(Z),b?.(Z)}finally{pe(!1)}}},[j,N,W,K,Ce,a,u,m,b,Je]);t.useEffect(()=>{j&&F&&!G&&!R&&a===void 0&&O(F)},[j,F,G,R,O,a]);const Oe=async g=>{const s=g.target.files?.[0];s&&(Ne(s.name),ee(null),ae(1),oe(0),ce(null),D([]),M("document"),n===void 0&&(he(s),_(null)),y?.(s),De(s),j&&a===void 0&&await O(s))},Te=t.useCallback(async()=>{F&&(a===void 0&&_(null),await O(F))},[F,O,a]),Ee=()=>{n===void 0&&he(null),a===void 0&&_(null),ee(null),Ne(""),ae(1),oe(0),D([]),M("document"),ce(null),y?.(null);const g=document.getElementById("rdv-file-input");g&&(g.value="")},p=t.useCallback(g=>{const s={...c,...g};I===void 0&&ve(s),r?.(s)},[c,I,r]),_e=()=>p({paginationScale:Math.min(c.paginationScale+.1,2)}),qe=()=>p({paginationScale:Math.max(c.paginationScale-.1,.3)}),$e=g=>p({paginationScale:Math.max(.3,Math.min(2,g))}),de=t.useRef(c);t.useEffect(()=>{de.current=c}),t.useEffect(()=>{if(te==="manual"||!x||!G)return;const g=se.current;if(!g||typeof ResizeObserver>"u")return;const s=x.sections[0],Z=s?.pageWidthPt??612,f=s?.pageHeightPt??792,S=()=>{const T=vg(te,g.clientWidth,g.clientHeight,Z,f);if(Math.abs(de.current.paginationScale-T)<.005)return;const L={...de.current,paginationScale:T};I===void 0&&ve(L),r?.(L)};S();const Y=new ResizeObserver(S);return Y.observe(g),()=>Y.disconnect()},[te,x,G,I,r]);const re=g=>{const s=se.current;if(!s||g<1||g>X)return;const Z=s.querySelector(`[data-page-number="${g}"]`);Z&&Z.scrollIntoView({behavior:"smooth",block:"start"})},eg=()=>z>1&&re(z-1),gg=()=>z<X&&re(z+1),ng=g=>{ae(g),o?.(g,X)};t.useEffect(()=>{const g=se.current;if(!g)return;const s=Z=>{const S=Z.target.closest('a[href^="#"]');if(!S)return;const Y=S.getAttribute("href");if(!Y||!Y.startsWith("#"))return;Z.preventDefault();const T=Y.substring(1),L=g.querySelector(`[id="${T}"], [name="${T}"]`);L&&(L.scrollIntoView({behavior:"smooth",block:"center"}),L.classList.add("rdv-footnote-highlight"),setTimeout(()=>L.classList.remove("rdv-footnote-highlight"),2e3))};return g.addEventListener("click",s),()=>g.removeEventListener("click",s)},[G]),t.useEffect(()=>{X>0&&o?.(z,X)},[X,z,o]);const He=R||P,cg=()=>e.jsx("div",{className:"rdv-settings-overlay",onClick:()=>ne(!1),children:e.jsxs("div",{className:"rdv-settings-modal",onClick:g=>g.stopPropagation(),children:[e.jsxs("div",{className:"rdv-settings-header",children:[e.jsx("h3",{children:"Viewer Settings"}),e.jsx("button",{className:"rdv-settings-close",onClick:()=>ne(!1),children:"×"})]}),e.jsxs("div",{className:"rdv-settings-body",children:[e.jsxs("div",{className:"rdv-settings-section",children:[e.jsx("h4",{children:"Display Options"}),e.jsxs("label",{className:"rdv-settings-checkbox",children:[e.jsx("input",{type:"checkbox",checked:c.renderFootnotesAndEndnotes,onChange:g=>p({renderFootnotesAndEndnotes:g.target.checked})}),e.jsx("span",{children:"Show footnotes and endnotes"})]}),e.jsxs("label",{className:"rdv-settings-checkbox",children:[e.jsx("input",{type:"checkbox",checked:c.renderHeadersAndFooters,onChange:g=>p({renderHeadersAndFooters:g.target.checked})}),e.jsx("span",{children:"Show headers and footers"})]}),e.jsxs("label",{className:"rdv-settings-checkbox",children:[e.jsx("input",{type:"checkbox",checked:c.showPageNumbers,onChange:g=>p({showPageNumbers:g.target.checked})}),e.jsx("span",{children:"Show page numbers"})]})]}),e.jsxs("div",{className:"rdv-settings-section",children:[e.jsx("h4",{children:"Comment Rendering"}),e.jsx("div",{className:"rdv-settings-radio-group",children:["disabled","endnote","inline","margin"].map(g=>e.jsxs("label",{className:"rdv-settings-radio",children:[e.jsx("input",{type:"radio",name:"commentMode",checked:c.commentMode===g,onChange:()=>p({commentMode:g})}),e.jsxs("span",{children:[g.charAt(0).toUpperCase()+g.slice(1),g==="endnote"?"s":""]})]},g))})]}),e.jsxs("div",{className:"rdv-settings-section",children:[e.jsx("h4",{children:"Annotation Rendering"}),e.jsx("div",{className:"rdv-settings-radio-group",children:["disabled","above","inline","tooltip","none"].map(g=>e.jsxs("label",{className:"rdv-settings-radio",children:[e.jsx("input",{type:"radio",name:"annotationMode",checked:c.annotationMode===g,onChange:()=>p({annotationMode:g})}),e.jsx("span",{children:g==="none"?"Highlight Only":g.charAt(0).toUpperCase()+g.slice(1)})]},g))})]}),e.jsxs("div",{className:"rdv-settings-section",children:[e.jsx("h4",{children:"Tracked Changes"}),e.jsxs("label",{className:"rdv-settings-checkbox",children:[e.jsx("input",{type:"checkbox",checked:c.renderTrackedChanges,onChange:g=>p({renderTrackedChanges:g.target.checked})}),e.jsx("span",{children:"Show tracked changes"})]}),c.renderTrackedChanges&&e.jsxs("div",{className:"rdv-settings-subsection",children:[e.jsxs("label",{className:"rdv-settings-checkbox",children:[e.jsx("input",{type:"checkbox",checked:c.showDeletedContent,onChange:g=>p({showDeletedContent:g.target.checked})}),e.jsx("span",{children:"Show deleted content"})]}),e.jsxs("label",{className:"rdv-settings-checkbox",children:[e.jsx("input",{type:"checkbox",checked:c.renderMoveOperations,onChange:g=>p({renderMoveOperations:g.target.checked})}),e.jsx("span",{children:"Distinguish move operations"})]})]})]}),e.jsxs("div",{className:"rdv-settings-section",children:[e.jsx("h4",{children:"Advanced"}),e.jsxs("label",{className:"rdv-settings-checkbox",children:[e.jsx("input",{type:"checkbox",checked:c.renderUnsupportedContentPlaceholders,onChange:g=>p({renderUnsupportedContentPlaceholders:g.target.checked})}),e.jsx("span",{children:"Show placeholders for unsupported content"})]}),e.jsx("p",{className:"rdv-settings-hint",children:"Display visual indicators for WMF/EMF images, math equations, form fields, and other unsupported elements"}),e.jsxs("label",{className:"rdv-settings-input-label",children:[e.jsx("span",{children:"Document language override"}),e.jsx("input",{type:"text",className:"rdv-settings-text-input",value:c.documentLanguage,onChange:g=>p({documentLanguage:g.target.value}),placeholder:"Auto-detect (e.g., en-US, fr-FR)"})]})]})]}),e.jsx("div",{className:"rdv-settings-footer",children:e.jsx("button",{className:"rdv-settings-apply",onClick:()=>{Te(),ne(!1)},children:"Apply & Close"})})]})}),sg=ie.length>0,tg=g=>{const Z=["rdv-toolbar-btn","rdv-toolbar-icon-btn",g.variant==="primary"?"rdv-toolbar-icon-btn--primary":"",g.className].filter(Boolean).join(" ");return e.jsx("button",{type:"button",className:Z,onClick:g.onClick,disabled:g.disabled,title:g.label,"aria-label":g.label,children:g.icon},g.key)},we=()=>e.jsxs("div",{className:"rdv-toolbar",children:[e.jsxs("div",{className:"rdv-toolbar-left",children:[e.jsx("label",{htmlFor:"rdv-file-input",className:"rdv-toolbar-btn rdv-toolbar-icon-btn rdv-toolbar-open-btn",title:"Open Document","aria-label":"Open Document",children:e.jsx(bg,{})}),e.jsx("input",{id:"rdv-file-input",type:"file",accept:".docx",onChange:Oe,disabled:He,className:"rdv-file-input"}),ge&&e.jsx("span",{className:"rdv-toolbar-filename",title:ge,children:ge}),ge&&e.jsx("button",{className:"rdv-toolbar-btn rdv-toolbar-icon-btn rdv-toolbar-clear",onClick:Ee,disabled:He,title:"Clear Document","aria-label":"Clear Document",children:"×"}),v&&sg&&G&&e.jsxs(e.Fragment,{children:[e.jsx("div",{className:"rdv-toolbar-separator"}),e.jsxs("div",{className:"rdv-view-tabs",children:[e.jsx("button",{className:`rdv-view-tab ${Q==="document"?"rdv-view-tab--active":""}`,onClick:()=>M("document"),title:"View Document",children:"Document"}),e.jsxs("button",{className:`rdv-view-tab ${Q==="revisions"?"rdv-view-tab--active":""}`,onClick:()=>M("revisions"),title:"View Tracked Changes",children:["Changes (",ie.length,")"]})]})]}),v&&Ue&&e.jsx("span",{className:"rdv-extracting-indicator",title:"Extracting tracked changes...",children:"..."})]}),e.jsxs("div",{className:"rdv-toolbar-right",children:[G&&X>0&&Q==="document"&&e.jsxs(e.Fragment,{children:[e.jsx("button",{className:"rdv-toolbar-btn rdv-toolbar-icon-btn",onClick:eg,disabled:z<=1,title:"Previous Page","aria-label":"Previous Page",children:"◀"}),e.jsxs("div",{className:"rdv-page-input-group",children:[e.jsx("input",{type:"number",className:"rdv-page-input",value:z,min:1,max:X,onChange:g=>{const s=parseInt(g.target.value);isNaN(s)||re(s)}}),e.jsxs("span",{className:"rdv-page-total",children:["/ ",X]})]}),e.jsx("button",{className:"rdv-toolbar-btn rdv-toolbar-icon-btn",onClick:gg,disabled:z>=X,title:"Next Page","aria-label":"Next Page",children:"▶"}),e.jsx("div",{className:"rdv-toolbar-separator"}),e.jsxs("div",{className:"rdv-zoom-group",children:[e.jsx("button",{className:"rdv-toolbar-btn rdv-toolbar-icon-btn rdv-zoom-btn",onClick:qe,disabled:c.paginationScale<=.3,title:"Zoom Out","aria-label":"Zoom Out",children:"−"}),e.jsxs("select",{className:"rdv-zoom-select",value:c.paginationScale,onChange:g=>$e(parseFloat(g.target.value)),"aria-label":"Zoom level",children:[e.jsx("option",{value:"0.5",children:"50%"}),e.jsx("option",{value:"0.75",children:"75%"}),e.jsx("option",{value:"0.8",children:"80%"}),e.jsx("option",{value:"0.9",children:"90%"}),e.jsx("option",{value:"1",children:"100%"}),e.jsx("option",{value:"1.25",children:"125%"}),e.jsx("option",{value:"1.5",children:"150%"}),e.jsx("option",{value:"2",children:"200%"})]}),e.jsx("button",{className:"rdv-toolbar-btn rdv-toolbar-icon-btn rdv-zoom-btn",onClick:_e,disabled:c.paginationScale>=2,title:"Zoom In","aria-label":"Zoom In",children:"+"})]})]}),E&&E.length>0&&e.jsxs(e.Fragment,{children:[G&&X>0&&Q==="document"&&e.jsx("div",{className:"rdv-toolbar-separator"}),E.map(tg)]}),w&&e.jsxs(e.Fragment,{children:[(E?.length||G&&X>0&&Q==="document")&&e.jsx("div",{className:"rdv-toolbar-separator"}),e.jsx("button",{className:"rdv-toolbar-btn rdv-toolbar-icon-btn rdv-toolbar-settings",onClick:()=>ne(!0),title:"Settings","aria-label":"Settings",children:"⚙"})]})]})]}),lg=["rdv-viewer",h].filter(Boolean).join(" ");return e.jsxs("div",{ref:Xe,className:lg,style:A,children:[B==="top"&&e.jsx(we,{}),e.jsxs("div",{className:"rdv-content",children:[$&&e.jsx("div",{className:"rdv-message rdv-message--error",children:e.jsxs("p",{children:["Failed to initialize: ",$.message]})}),!$&&(P||R)&&(x&&R?e.jsx("div",{className:"rdv-pages rdv-pages--loading",style:{...c.stableWidth&&{"--rdv-stable-width":U(c.stableWidth)},...c.stableHeight&&{minHeight:U(c.stableHeight)}},children:e.jsx("div",{className:"rdv-page-placeholders",style:{backgroundColor:"#525659"},children:Array.from({length:x.estimatedPageCount||1}).map((g,s)=>{const Z=x.sections[Math.min(s,x.sections.length-1)],f=c.paginationScale,S=Math.round((Z?.pageWidthPt||612)*(96/72)*f),Y=Math.round((Z?.pageHeightPt||792)*(96/72)*f);return e.jsxs("div",{className:"rdv-page-placeholder",style:{width:`${S}px`,height:`${Y}px`},children:[e.jsx("div",{className:"rdv-page-placeholder__shimmer"}),s===0&&e.jsxs("div",{className:"rdv-page-placeholder__info",children:[e.jsx("div",{className:"rdv-spinner rdv-spinner--small"}),e.jsx("span",{children:"Converting document..."}),e.jsxs("span",{className:"rdv-page-placeholder__count",children:["~",x.estimatedPageCount," page",x.estimatedPageCount!==1?"s":""]})]}),e.jsx("div",{className:"rdv-page-placeholder__number",children:s+1})]},s)})})}):e.jsxs("div",{className:"rdv-message",children:[e.jsx("div",{className:"rdv-spinner"}),e.jsx("p",{children:P&&F?"Loading engine & preparing document...":P?"Loading document engine...":"Processing document..."})]})),!P&&!$&&!G&&!R&&!F&&e.jsxs("div",{className:"rdv-message",style:{...c.stableWidth&&{width:U(c.stableWidth),maxWidth:"100%"},...c.stableHeight&&{minHeight:U(c.stableHeight)}},children:[e.jsx("div",{className:"rdv-message__icon",children:"📄"}),e.jsx("p",{children:H})]}),Be&&!R&&e.jsx("div",{className:"rdv-message rdv-message--error",children:e.jsxs("p",{children:["Error: ",Be.message]})}),Q==="document"&&G&&!R&&e.jsx("div",{ref:se,className:"rdv-pages",style:{...c.stableWidth&&{"--rdv-stable-width":U(c.stableWidth)},...c.stableHeight&&{minHeight:U(c.stableHeight)}},children:e.jsx(Re.PaginatedDocument,{html:G,scale:c.paginationScale,showPageNumbers:c.showPageNumbers,pageGap:Pe,backgroundColor:"#525659",className:"rdv-paginated-document",onPaginationComplete:g=>{oe(g.totalPages)},onPageVisible:ng})}),Q==="revisions"&&G&&!R&&e.jsx(Ag,{revisions:ie})]}),B==="bottom"&&e.jsx(we,{}),Le&&e.jsx(cg,{})]})}Object.defineProperty(exports,"RevisionType",{enumerable:!0,get:()=>C.RevisionType});Object.defineProperty(exports,"isDeletion",{enumerable:!0,get:()=>C.isDeletion});Object.defineProperty(exports,"isFormatChange",{enumerable:!0,get:()=>C.isFormatChange});Object.defineProperty(exports,"isInsertion",{enumerable:!0,get:()=>C.isInsertion});Object.defineProperty(exports,"isMove",{enumerable:!0,get:()=>C.isMove});exports.DEFAULT_SETTINGS=Ye;exports.DocumentViewer=Vg;exports.isWorkerSupported=fe;
2
- //# sourceMappingURL=react-docxodus-viewer.cjs.js.map
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});let e=require("react"),t=require("docxodus/react"),n=require("docxodus"),r=require("react/jsx-runtime");function i(){return`${Date.now()}-${Math.random().toString(36).slice(2,11)}`}async function a(e){if(e instanceof Uint8Array)return e;let t=await e.arrayBuffer();return new Uint8Array(t)}function o(){if(typeof document<`u`){let e=document.querySelectorAll(`script[src*="docxodus"]`);if(e.length>0){let t=e[0].src;return t.substring(0,t.lastIndexOf(`/`)+1)+`wasm/`}}return`/wasm/`}async function s(e){let t=e?.wasmBasePath??o(),n=new URL(`data:text/javascript;base64,Ly8gc3JjL2RvY3hvZHVzLndvcmtlci50cwp2YXIgd2FzbUV4cG9ydHMgPSBudWxsOwp2YXIgaW5pdFByb21pc2UgPSBudWxsOwp2YXIgc2Vzc2lvbkhhbmRsZXMgPSAvKiBAX19QVVJFX18gKi8gbmV3IFNldCgpOwphc3luYyBmdW5jdGlvbiBpbml0aWFsaXplV2FzbShiYXNlUGF0aCkgewogIGlmICh3YXNtRXhwb3J0cykgewogICAgcmV0dXJuOwogIH0KICBpZiAoaW5pdFByb21pc2UpIHsKICAgIHJldHVybiBpbml0UHJvbWlzZTsKICB9CiAgaW5pdFByb21pc2UgPSAoYXN5bmMgKCkgPT4gewogICAgdHJ5IHsKICAgICAgY29uc3Qgbm9ybWFsaXplZFBhdGggPSBiYXNlUGF0aC5lbmRzV2l0aCgiLyIpID8gYmFzZVBhdGggOiBiYXNlUGF0aCArICIvIjsKICAgICAgY29uc3QgZG90bmV0TW9kdWxlID0gYXdhaXQgaW1wb3J0KAogICAgICAgIC8qIHdlYnBhY2tJZ25vcmU6IHRydWUgKi8KICAgICAgICBgJHtub3JtYWxpemVkUGF0aH1fZnJhbWV3b3JrL2RvdG5ldC5qc2AKICAgICAgKTsKICAgICAgY29uc3QgeyBnZXRBc3NlbWJseUV4cG9ydHMsIGdldENvbmZpZyB9ID0gYXdhaXQgZG90bmV0TW9kdWxlLmRvdG5ldC53aXRoRGlhZ25vc3RpY1RyYWNpbmcoZmFsc2UpLmNyZWF0ZSgpOwogICAgICBjb25zdCBjb25maWcgPSBnZXRDb25maWcoKTsKICAgICAgY29uc3QgZXhwb3J0cyA9IGF3YWl0IGdldEFzc2VtYmx5RXhwb3J0cyhjb25maWcubWFpbkFzc2VtYmx5TmFtZSk7CiAgICAgIHdhc21FeHBvcnRzID0gewogICAgICAgIERvY3VtZW50Q29udmVydGVyOiBleHBvcnRzLkRvY3hvZHVzV2FzbS5Eb2N1bWVudENvbnZlcnRlciwKICAgICAgICBEb2N1bWVudENvbXBhcmVyOiBleHBvcnRzLkRvY3hvZHVzV2FzbS5Eb2N1bWVudENvbXBhcmVyLAogICAgICAgIERvY3hEaWZmQnJpZGdlOiBleHBvcnRzLkRvY3hvZHVzV2FzbS5Eb2N4RGlmZkJyaWRnZSwKICAgICAgICBEb2N4U2Vzc2lvbkJyaWRnZTogZXhwb3J0cy5Eb2N4b2R1c1dhc20uRG9jeFNlc3Npb25CcmlkZ2UKICAgICAgfTsKICAgIH0gY2F0Y2ggKGVycm9yKSB7CiAgICAgIGluaXRQcm9taXNlID0gbnVsbDsKICAgICAgdGhyb3cgZXJyb3I7CiAgICB9CiAgfSkoKTsKICByZXR1cm4gaW5pdFByb21pc2U7Cn0KZnVuY3Rpb24gZW5zdXJlSW5pdGlhbGl6ZWQoKSB7CiAgaWYgKCF3YXNtRXhwb3J0cykgewogICAgdGhyb3cgbmV3IEVycm9yKCJXb3JrZXIgbm90IGluaXRpYWxpemVkLiBDYWxsIGluaXQgZmlyc3QuIik7CiAgfQogIHJldHVybiB3YXNtRXhwb3J0czsKfQpmdW5jdGlvbiBpc0Vycm9yUmVzcG9uc2UocmVzdWx0KSB7CiAgcmV0dXJuIHJlc3VsdC5zdGFydHNXaXRoKCJ7IikgJiYgcmVzdWx0LmluY2x1ZGVzKCciRXJyb3IiJyk7Cn0KZnVuY3Rpb24gcGFyc2VFcnJvcihyZXN1bHQpIHsKICB0cnkgewogICAgY29uc3QgcGFyc2VkID0gSlNPTi5wYXJzZShyZXN1bHQpOwogICAgcmV0dXJuIHsgZXJyb3I6IHBhcnNlZC5FcnJvciB8fCBwYXJzZWQuZXJyb3IgfHwgIlVua25vd24gZXJyb3IiIH07CiAgfSBjYXRjaCB7CiAgICByZXR1cm4geyBlcnJvcjogcmVzdWx0IH07CiAgfQp9CmZ1bmN0aW9uIGhhbmRsZUNvbnZlcnQocmVxdWVzdCkgewogIGNvbnN0IGV4cG9ydHMgPSBlbnN1cmVJbml0aWFsaXplZCgpOwogIGNvbnN0IG9wdGlvbnMgPSByZXF1ZXN0Lm9wdGlvbnM7CiAgdHJ5IHsKICAgIGxldCByZXN1bHQ7CiAgICBjb25zdCBuZWVkc0NvbXBsZXRlTWV0aG9kID0gb3B0aW9ucz8ucmVuZGVyRm9vdG5vdGVzQW5kRW5kbm90ZXMgIT09IHZvaWQgMCB8fCBvcHRpb25zPy5yZW5kZXJIZWFkZXJzQW5kRm9vdGVycyAhPT0gdm9pZCAwIHx8IG9wdGlvbnM/LnJlbmRlclRyYWNrZWRDaGFuZ2VzICE9PSB2b2lkIDAgfHwgb3B0aW9ucz8uc2hvd0RlbGV0ZWRDb250ZW50ICE9PSB2b2lkIDAgfHwgb3B0aW9ucz8ucmVuZGVyTW92ZU9wZXJhdGlvbnMgIT09IHZvaWQgMCB8fCBvcHRpb25zPy5yZW5kZXJVbnN1cHBvcnRlZENvbnRlbnRQbGFjZWhvbGRlcnMgIT09IHZvaWQgMCB8fCBvcHRpb25zPy5kb2N1bWVudExhbmd1YWdlICE9PSB2b2lkIDA7CiAgICBpZiAobmVlZHNDb21wbGV0ZU1ldGhvZCB8fCBvcHRpb25zPy5yZW5kZXJBbm5vdGF0aW9ucykgewogICAgICByZXN1bHQgPSBleHBvcnRzLkRvY3VtZW50Q29udmVydGVyLkNvbnZlcnREb2N4VG9IdG1sQ29tcGxldGUoCiAgICAgICAgcmVxdWVzdC5kb2N1bWVudEJ5dGVzLAogICAgICAgIG9wdGlvbnM/LnBhZ2VUaXRsZSA/PyAiRG9jdW1lbnQiLAogICAgICAgIG9wdGlvbnM/LmNzc1ByZWZpeCA/PyAiZG9jeC0iLAogICAgICAgIG9wdGlvbnM/LmZhYnJpY2F0ZUNsYXNzZXMgPz8gdHJ1ZSwKICAgICAgICBvcHRpb25zPy5hZGRpdGlvbmFsQ3NzID8/ICIiLAogICAgICAgIG9wdGlvbnM/LmNvbW1lbnRSZW5kZXJNb2RlID8/IC0xLAogICAgICAgIG9wdGlvbnM/LmNvbW1lbnRDc3NDbGFzc1ByZWZpeCA/PyAiY29tbWVudC0iLAogICAgICAgIG9wdGlvbnM/LnBhZ2luYXRpb25Nb2RlID8/IDAsCiAgICAgICAgb3B0aW9ucz8ucGFnaW5hdGlvblNjYWxlID8/IDEsCiAgICAgICAgb3B0aW9ucz8ucGFnaW5hdGlvbkNzc0NsYXNzUHJlZml4ID8/ICJwYWdlLSIsCiAgICAgICAgb3B0aW9ucz8ucmVuZGVyQW5ub3RhdGlvbnMgPz8gZmFsc2UsCiAgICAgICAgb3B0aW9ucz8uYW5ub3RhdGlvbkxhYmVsTW9kZSA/PyAwLAogICAgICAgIG9wdGlvbnM/LmFubm90YXRpb25Dc3NDbGFzc1ByZWZpeCA/PyAiYW5ub3QtIiwKICAgICAgICBvcHRpb25zPy5yZW5kZXJGb290bm90ZXNBbmRFbmRub3RlcyA/PyBmYWxzZSwKICAgICAgICBvcHRpb25zPy5yZW5kZXJIZWFkZXJzQW5kRm9vdGVycyA/PyBmYWxzZSwKICAgICAgICBvcHRpb25zPy5yZW5kZXJUcmFja2VkQ2hhbmdlcyA/PyBmYWxzZSwKICAgICAgICBvcHRpb25zPy5zaG93RGVsZXRlZENvbnRlbnQgPz8gdHJ1ZSwKICAgICAgICBvcHRpb25zPy5yZW5kZXJNb3ZlT3BlcmF0aW9ucyA/PyB0cnVlLAogICAgICAgIG9wdGlvbnM/LnJlbmRlclVuc3VwcG9ydGVkQ29udGVudFBsYWNlaG9sZGVycyA/PyBmYWxzZSwKICAgICAgICBvcHRpb25zPy5kb2N1bWVudExhbmd1YWdlID8/IG51bGwsCiAgICAgICAgb3B0aW9ucz8uc3RhbXBBbmNob3JzID8/IGZhbHNlCiAgICAgICk7CiAgICB9IGVsc2UgaWYgKG9wdGlvbnM/LnBhZ2luYXRpb25Nb2RlICE9PSB2b2lkIDAgJiYgb3B0aW9ucy5wYWdpbmF0aW9uTW9kZSAhPT0gMCkgewogICAgICByZXN1bHQgPSBleHBvcnRzLkRvY3VtZW50Q29udmVydGVyLkNvbnZlcnREb2N4VG9IdG1sV2l0aFBhZ2luYXRpb24oCiAgICAgICAgcmVxdWVzdC5kb2N1bWVudEJ5dGVzLAogICAgICAgIG9wdGlvbnMucGFnZVRpdGxlID8/ICJEb2N1bWVudCIsCiAgICAgICAgb3B0aW9ucy5jc3NQcmVmaXggPz8gImRvY3gtIiwKICAgICAgICBvcHRpb25zLmZhYnJpY2F0ZUNsYXNzZXMgPz8gdHJ1ZSwKICAgICAgICBvcHRpb25zLmFkZGl0aW9uYWxDc3MgPz8gIiIsCiAgICAgICAgb3B0aW9ucy5jb21tZW50UmVuZGVyTW9kZSA/PyAtMSwKICAgICAgICBvcHRpb25zLmNvbW1lbnRDc3NDbGFzc1ByZWZpeCA/PyAiY29tbWVudC0iLAogICAgICAgIG9wdGlvbnMucGFnaW5hdGlvbk1vZGUsCiAgICAgICAgb3B0aW9ucy5wYWdpbmF0aW9uU2NhbGUgPz8gMSwKICAgICAgICBvcHRpb25zLnBhZ2luYXRpb25Dc3NDbGFzc1ByZWZpeCA/PyAicGFnZS0iCiAgICAgICk7CiAgICB9IGVsc2UgaWYgKG9wdGlvbnMpIHsKICAgICAgcmVzdWx0ID0gZXhwb3J0cy5Eb2N1bWVudENvbnZlcnRlci5Db252ZXJ0RG9jeFRvSHRtbFdpdGhPcHRpb25zKAogICAgICAgIHJlcXVlc3QuZG9jdW1lbnRCeXRlcywKICAgICAgICBvcHRpb25zLnBhZ2VUaXRsZSA/PyAiRG9jdW1lbnQiLAogICAgICAgIG9wdGlvbnMuY3NzUHJlZml4ID8/ICJkb2N4LSIsCiAgICAgICAgb3B0aW9ucy5mYWJyaWNhdGVDbGFzc2VzID8/IHRydWUsCiAgICAgICAgb3B0aW9ucy5hZGRpdGlvbmFsQ3NzID8/ICIiLAogICAgICAgIG9wdGlvbnMuY29tbWVudFJlbmRlck1vZGUgPz8gLTEsCiAgICAgICAgb3B0aW9ucy5jb21tZW50Q3NzQ2xhc3NQcmVmaXggPz8gImNvbW1lbnQtIgogICAgICApOwogICAgfSBlbHNlIHsKICAgICAgcmVzdWx0ID0gZXhwb3J0cy5Eb2N1bWVudENvbnZlcnRlci5Db252ZXJ0RG9jeFRvSHRtbCgKICAgICAgICByZXF1ZXN0LmRvY3VtZW50Qnl0ZXMKICAgICAgKTsKICAgIH0KICAgIGlmIChpc0Vycm9yUmVzcG9uc2UocmVzdWx0KSkgewogICAgICByZXR1cm4gcGFyc2VFcnJvcihyZXN1bHQpOwogICAgfQogICAgcmV0dXJuIHsgaHRtbDogcmVzdWx0IH07CiAgfSBjYXRjaCAoZXJyb3IpIHsKICAgIHJldHVybiB7IGVycm9yOiBTdHJpbmcoZXJyb3IpIH07CiAgfQp9CmZ1bmN0aW9uIGhhbmRsZUNvbXBhcmUocmVxdWVzdCkgewogIGNvbnN0IGV4cG9ydHMgPSBlbnN1cmVJbml0aWFsaXplZCgpOwogIGNvbnN0IG9wdGlvbnMgPSByZXF1ZXN0Lm9wdGlvbnM7CiAgdHJ5IHsKICAgIGxldCByZXN1bHQ7CiAgICBjb25zdCBlbmdpbmUgPSBvcHRpb25zPy5lbmdpbmUgPz8gMCAvKiBXbWxDb21wYXJlciAqLzsKICAgIGlmIChvcHRpb25zPy5kZXRhaWxUaHJlc2hvbGQgIT09IHZvaWQgMCB8fCBvcHRpb25zPy5jYXNlSW5zZW5zaXRpdmUpIHsKICAgICAgcmVzdWx0ID0gZXhwb3J0cy5Eb2N1bWVudENvbXBhcmVyLkNvbXBhcmVEb2N1bWVudHNXaXRoT3B0aW9ucygKICAgICAgICByZXF1ZXN0Lm9yaWdpbmFsQnl0ZXMsCiAgICAgICAgcmVxdWVzdC5tb2RpZmllZEJ5dGVzLAogICAgICAgIG9wdGlvbnM/LmF1dGhvck5hbWUgPz8gIkRvY3hvZHVzIiwKICAgICAgICBvcHRpb25zPy5kZXRhaWxUaHJlc2hvbGQgPz8gMC4xNSwKICAgICAgICBvcHRpb25zPy5jYXNlSW5zZW5zaXRpdmUgPz8gZmFsc2UsCiAgICAgICAgZW5naW5lCiAgICAgICk7CiAgICB9IGVsc2UgewogICAgICByZXN1bHQgPSBleHBvcnRzLkRvY3VtZW50Q29tcGFyZXIuQ29tcGFyZURvY3VtZW50cygKICAgICAgICByZXF1ZXN0Lm9yaWdpbmFsQnl0ZXMsCiAgICAgICAgcmVxdWVzdC5tb2RpZmllZEJ5dGVzLAogICAgICAgIG9wdGlvbnM/LmF1dGhvck5hbWUgPz8gIkRvY3hvZHVzIiwKICAgICAgICBlbmdpbmUKICAgICAgKTsKICAgIH0KICAgIGlmIChyZXN1bHQubGVuZ3RoID09PSAwKSB7CiAgICAgIHJldHVybiB7IGVycm9yOiAiQ29tcGFyaXNvbiByZXR1cm5lZCBlbXB0eSByZXN1bHQiIH07CiAgICB9CiAgICByZXR1cm4geyBkb2N1bWVudEJ5dGVzOiByZXN1bHQgfTsKICB9IGNhdGNoIChlcnJvcikgewogICAgcmV0dXJuIHsgZXJyb3I6IFN0cmluZyhlcnJvcikgfTsKICB9Cn0KZnVuY3Rpb24gaGFuZGxlQ29tcGFyZVRvSHRtbChyZXF1ZXN0KSB7CiAgY29uc3QgZXhwb3J0cyA9IGVuc3VyZUluaXRpYWxpemVkKCk7CiAgY29uc3Qgb3B0aW9ucyA9IHJlcXVlc3Qub3B0aW9uczsKICB0cnkgewogICAgY29uc3QgcmVuZGVyVHJhY2tlZENoYW5nZXMgPSBvcHRpb25zPy5yZW5kZXJUcmFja2VkQ2hhbmdlcyA/PyB0cnVlOwogICAgY29uc3QgZW5naW5lID0gb3B0aW9ucz8uZW5naW5lID8/IDAgLyogV21sQ29tcGFyZXIgKi87CiAgICBjb25zdCByZXN1bHQgPSBleHBvcnRzLkRvY3VtZW50Q29tcGFyZXIuQ29tcGFyZURvY3VtZW50c1RvSHRtbFdpdGhPcHRpb25zKAogICAgICByZXF1ZXN0Lm9yaWdpbmFsQnl0ZXMsCiAgICAgIHJlcXVlc3QubW9kaWZpZWRCeXRlcywKICAgICAgb3B0aW9ucz8uYXV0aG9yTmFtZSA/PyAiRG9jeG9kdXMiLAogICAgICByZW5kZXJUcmFja2VkQ2hhbmdlcywKICAgICAgZW5naW5lCiAgICApOwogICAgaWYgKGlzRXJyb3JSZXNwb25zZShyZXN1bHQpKSB7CiAgICAgIHJldHVybiBwYXJzZUVycm9yKHJlc3VsdCk7CiAgICB9CiAgICByZXR1cm4geyBodG1sOiByZXN1bHQgfTsKICB9IGNhdGNoIChlcnJvcikgewogICAgcmV0dXJuIHsgZXJyb3I6IFN0cmluZyhlcnJvcikgfTsKICB9Cn0KZnVuY3Rpb24gaGFuZGxlR2V0UmV2aXNpb25zKHJlcXVlc3QpIHsKICBjb25zdCBleHBvcnRzID0gZW5zdXJlSW5pdGlhbGl6ZWQoKTsKICBjb25zdCBvcHRpb25zID0gcmVxdWVzdC5vcHRpb25zOwogIHRyeSB7CiAgICBjb25zdCBkZXRlY3RNb3ZlcyA9IG9wdGlvbnM/LmRldGVjdE1vdmVzID8/IHRydWU7CiAgICBjb25zdCBtb3ZlU2ltaWxhcml0eVRocmVzaG9sZCA9IG9wdGlvbnM/Lm1vdmVTaW1pbGFyaXR5VGhyZXNob2xkID8/IDAuODsKICAgIGNvbnN0IG1vdmVNaW5pbXVtV29yZENvdW50ID0gb3B0aW9ucz8ubW92ZU1pbmltdW1Xb3JkQ291bnQgPz8gMzsKICAgIGNvbnN0IGNhc2VJbnNlbnNpdGl2ZSA9IG9wdGlvbnM/LmNhc2VJbnNlbnNpdGl2ZSA/PyBmYWxzZTsKICAgIGNvbnN0IHJlc3VsdCA9IGV4cG9ydHMuRG9jdW1lbnRDb21wYXJlci5HZXRSZXZpc2lvbnNKc29uV2l0aE9wdGlvbnMoCiAgICAgIHJlcXVlc3QuZG9jdW1lbnRCeXRlcywKICAgICAgZGV0ZWN0TW92ZXMsCiAgICAgIG1vdmVTaW1pbGFyaXR5VGhyZXNob2xkLAogICAgICBtb3ZlTWluaW11bVdvcmRDb3VudCwKICAgICAgY2FzZUluc2Vuc2l0aXZlCiAgICApOwogICAgaWYgKGlzRXJyb3JSZXNwb25zZShyZXN1bHQpKSB7CiAgICAgIHJldHVybiBwYXJzZUVycm9yKHJlc3VsdCk7CiAgICB9CiAgICBjb25zdCBwYXJzZWQgPSBKU09OLnBhcnNlKHJlc3VsdCk7CiAgICBjb25zdCByZXZpc2lvbnMgPSAocGFyc2VkLlJldmlzaW9ucyB8fCBwYXJzZWQucmV2aXNpb25zIHx8IFtdKS5tYXAoCiAgICAgIChyKSA9PiAoewogICAgICAgIGF1dGhvcjogci5BdXRob3IgfHwgci5hdXRob3IsCiAgICAgICAgZGF0ZTogci5EYXRlIHx8IHIuZGF0ZSwKICAgICAgICByZXZpc2lvblR5cGU6IHIuUmV2aXNpb25UeXBlIHx8IHIucmV2aXNpb25UeXBlLAogICAgICAgIHRleHQ6IHIuVGV4dCB8fCByLnRleHQsCiAgICAgICAgbW92ZUdyb3VwSWQ6IHIuTW92ZUdyb3VwSWQgPz8gci5tb3ZlR3JvdXBJZCwKICAgICAgICBpc01vdmVTb3VyY2U6IHIuSXNNb3ZlU291cmNlID8/IHIuaXNNb3ZlU291cmNlLAogICAgICAgIGZvcm1hdENoYW5nZTogci5Gb3JtYXRDaGFuZ2UgfHwgci5mb3JtYXRDaGFuZ2UgPyB7CiAgICAgICAgICBvbGRQcm9wZXJ0aWVzOiByLkZvcm1hdENoYW5nZT8uT2xkUHJvcGVydGllcyB8fCByLmZvcm1hdENoYW5nZT8ub2xkUHJvcGVydGllcywKICAgICAgICAgIG5ld1Byb3BlcnRpZXM6IHIuRm9ybWF0Q2hhbmdlPy5OZXdQcm9wZXJ0aWVzIHx8IHIuZm9ybWF0Q2hhbmdlPy5uZXdQcm9wZXJ0aWVzLAogICAgICAgICAgY2hhbmdlZFByb3BlcnR5TmFtZXM6IHIuRm9ybWF0Q2hhbmdlPy5DaGFuZ2VkUHJvcGVydHlOYW1lcyB8fCByLmZvcm1hdENoYW5nZT8uY2hhbmdlZFByb3BlcnR5TmFtZXMKICAgICAgICB9IDogdm9pZCAwCiAgICAgIH0pCiAgICApOwogICAgcmV0dXJuIHsgcmV2aXNpb25zIH07CiAgfSBjYXRjaCAoZXJyb3IpIHsKICAgIHJldHVybiB7IGVycm9yOiBTdHJpbmcoZXJyb3IpIH07CiAgfQp9CmZ1bmN0aW9uIGhhbmRsZUdldERvY3VtZW50TWV0YWRhdGEocmVxdWVzdCkgewogIGNvbnN0IGV4cG9ydHMgPSBlbnN1cmVJbml0aWFsaXplZCgpOwogIHRyeSB7CiAgICBjb25zdCByZXN1bHQgPSBleHBvcnRzLkRvY3VtZW50Q29udmVydGVyLkdldERvY3VtZW50TWV0YWRhdGEoCiAgICAgIHJlcXVlc3QuZG9jdW1lbnRCeXRlcwogICAgKTsKICAgIGlmIChpc0Vycm9yUmVzcG9uc2UocmVzdWx0KSkgewogICAgICByZXR1cm4gcGFyc2VFcnJvcihyZXN1bHQpOwogICAgfQogICAgY29uc3QgcGFyc2VkID0gSlNPTi5wYXJzZShyZXN1bHQpOwogICAgY29uc3QgY29udmVydFNlY3Rpb24gPSAocykgPT4gKHsKICAgICAgc2VjdGlvbkluZGV4OiBzLlNlY3Rpb25JbmRleCA/PyBzLnNlY3Rpb25JbmRleCwKICAgICAgcGFnZVdpZHRoUHQ6IHMuUGFnZVdpZHRoUHQgPz8gcy5wYWdlV2lkdGhQdCwKICAgICAgcGFnZUhlaWdodFB0OiBzLlBhZ2VIZWlnaHRQdCA/PyBzLnBhZ2VIZWlnaHRQdCwKICAgICAgbWFyZ2luVG9wUHQ6IHMuTWFyZ2luVG9wUHQgPz8gcy5tYXJnaW5Ub3BQdCwKICAgICAgbWFyZ2luUmlnaHRQdDogcy5NYXJnaW5SaWdodFB0ID8/IHMubWFyZ2luUmlnaHRQdCwKICAgICAgbWFyZ2luQm90dG9tUHQ6IHMuTWFyZ2luQm90dG9tUHQgPz8gcy5tYXJnaW5Cb3R0b21QdCwKICAgICAgbWFyZ2luTGVmdFB0OiBzLk1hcmdpbkxlZnRQdCA/PyBzLm1hcmdpbkxlZnRQdCwKICAgICAgY29udGVudFdpZHRoUHQ6IHMuQ29udGVudFdpZHRoUHQgPz8gcy5jb250ZW50V2lkdGhQdCwKICAgICAgY29udGVudEhlaWdodFB0OiBzLkNvbnRlbnRIZWlnaHRQdCA/PyBzLmNvbnRlbnRIZWlnaHRQdCwKICAgICAgaGVhZGVyUHQ6IHMuSGVhZGVyUHQgPz8gcy5oZWFkZXJQdCwKICAgICAgZm9vdGVyUHQ6IHMuRm9vdGVyUHQgPz8gcy5mb290ZXJQdCwKICAgICAgcGFyYWdyYXBoQ291bnQ6IHMuUGFyYWdyYXBoQ291bnQgPz8gcy5wYXJhZ3JhcGhDb3VudCwKICAgICAgdGFibGVDb3VudDogcy5UYWJsZUNvdW50ID8/IHMudGFibGVDb3VudCwKICAgICAgaGFzSGVhZGVyOiBzLkhhc0hlYWRlciA/PyBzLmhhc0hlYWRlciwKICAgICAgaGFzRm9vdGVyOiBzLkhhc0Zvb3RlciA/PyBzLmhhc0Zvb3RlciwKICAgICAgaGFzRmlyc3RQYWdlSGVhZGVyOiBzLkhhc0ZpcnN0UGFnZUhlYWRlciA/PyBzLmhhc0ZpcnN0UGFnZUhlYWRlciwKICAgICAgaGFzRmlyc3RQYWdlRm9vdGVyOiBzLkhhc0ZpcnN0UGFnZUZvb3RlciA/PyBzLmhhc0ZpcnN0UGFnZUZvb3RlciwKICAgICAgaGFzRXZlblBhZ2VIZWFkZXI6IHMuSGFzRXZlblBhZ2VIZWFkZXIgPz8gcy5oYXNFdmVuUGFnZUhlYWRlciwKICAgICAgaGFzRXZlblBhZ2VGb290ZXI6IHMuSGFzRXZlblBhZ2VGb290ZXIgPz8gcy5oYXNFdmVuUGFnZUZvb3RlciwKICAgICAgc3RhcnRQYXJhZ3JhcGhJbmRleDogcy5TdGFydFBhcmFncmFwaEluZGV4ID8/IHMuc3RhcnRQYXJhZ3JhcGhJbmRleCwKICAgICAgZW5kUGFyYWdyYXBoSW5kZXg6IHMuRW5kUGFyYWdyYXBoSW5kZXggPz8gcy5lbmRQYXJhZ3JhcGhJbmRleCwKICAgICAgc3RhcnRUYWJsZUluZGV4OiBzLlN0YXJ0VGFibGVJbmRleCA/PyBzLnN0YXJ0VGFibGVJbmRleCwKICAgICAgZW5kVGFibGVJbmRleDogcy5FbmRUYWJsZUluZGV4ID8/IHMuZW5kVGFibGVJbmRleAogICAgfSk7CiAgICBjb25zdCBtZXRhZGF0YSA9IHsKICAgICAgc2VjdGlvbnM6IChwYXJzZWQuU2VjdGlvbnMgfHwgcGFyc2VkLnNlY3Rpb25zIHx8IFtdKS5tYXAoY29udmVydFNlY3Rpb24pLAogICAgICB0b3RhbFBhcmFncmFwaHM6IHBhcnNlZC5Ub3RhbFBhcmFncmFwaHMgPz8gcGFyc2VkLnRvdGFsUGFyYWdyYXBocywKICAgICAgdG90YWxUYWJsZXM6IHBhcnNlZC5Ub3RhbFRhYmxlcyA/PyBwYXJzZWQudG90YWxUYWJsZXMsCiAgICAgIGhhc0Zvb3Rub3RlczogcGFyc2VkLkhhc0Zvb3Rub3RlcyA/PyBwYXJzZWQuaGFzRm9vdG5vdGVzLAogICAgICBoYXNFbmRub3RlczogcGFyc2VkLkhhc0VuZG5vdGVzID8/IHBhcnNlZC5oYXNFbmRub3RlcywKICAgICAgaGFzVHJhY2tlZENoYW5nZXM6IHBhcnNlZC5IYXNUcmFja2VkQ2hhbmdlcyA/PyBwYXJzZWQuaGFzVHJhY2tlZENoYW5nZXMsCiAgICAgIGhhc0NvbW1lbnRzOiBwYXJzZWQuSGFzQ29tbWVudHMgPz8gcGFyc2VkLmhhc0NvbW1lbnRzLAogICAgICBlc3RpbWF0ZWRQYWdlQ291bnQ6IHBhcnNlZC5Fc3RpbWF0ZWRQYWdlQ291bnQgPz8gcGFyc2VkLmVzdGltYXRlZFBhZ2VDb3VudAogICAgfTsKICAgIHJldHVybiB7IG1ldGFkYXRhIH07CiAgfSBjYXRjaCAoZXJyb3IpIHsKICAgIHJldHVybiB7IGVycm9yOiBTdHJpbmcoZXJyb3IpIH07CiAgfQp9CmZ1bmN0aW9uIGhhbmRsZVNlc3Npb25PcGVuKHJlcXVlc3QpIHsKICBjb25zdCBleHBvcnRzID0gZW5zdXJlSW5pdGlhbGl6ZWQoKTsKICB0cnkgewogICAgY29uc3QgaGFuZGxlID0gZXhwb3J0cy5Eb2N4U2Vzc2lvbkJyaWRnZS5PcGVuU2Vzc2lvbigKICAgICAgcmVxdWVzdC5kb2N1bWVudEJ5dGVzLAogICAgICByZXF1ZXN0LnNldHRpbmdzSnNvbiA/PyAiIgogICAgKTsKICAgIHNlc3Npb25IYW5kbGVzLmFkZChoYW5kbGUpOwogICAgcmV0dXJuIHsgaGFuZGxlIH07CiAgfSBjYXRjaCAoZXJyb3IpIHsKICAgIHJldHVybiB7IGVycm9yOiBTdHJpbmcoZXJyb3IpIH07CiAgfQp9CmZ1bmN0aW9uIGhhbmRsZVNlc3Npb25DbG9zZShyZXF1ZXN0KSB7CiAgY29uc3QgZXhwb3J0cyA9IGVuc3VyZUluaXRpYWxpemVkKCk7CiAgdHJ5IHsKICAgIGV4cG9ydHMuRG9jeFNlc3Npb25CcmlkZ2UuQ2xvc2VTZXNzaW9uKHJlcXVlc3QuaGFuZGxlKTsKICAgIHNlc3Npb25IYW5kbGVzLmRlbGV0ZShyZXF1ZXN0LmhhbmRsZSk7CiAgICByZXR1cm4ge307CiAgfSBjYXRjaCAoZXJyb3IpIHsKICAgIHJldHVybiB7IGVycm9yOiBTdHJpbmcoZXJyb3IpIH07CiAgfQp9CmZ1bmN0aW9uIGhhbmRsZVNlc3Npb25BZGRBbm5vdGF0aW9uKHJlcXVlc3QpIHsKICBjb25zdCBleHBvcnRzID0gZW5zdXJlSW5pdGlhbGl6ZWQoKTsKICB0cnkgewogICAgY29uc3QganNvbiA9IGV4cG9ydHMuRG9jeFNlc3Npb25CcmlkZ2UuQWRkQW5ub3RhdGlvbigKICAgICAgcmVxdWVzdC5oYW5kbGUsCiAgICAgIHJlcXVlc3QuYW5jaG9ySWQsCiAgICAgIHJlcXVlc3Quc3Bhbkpzb24sCiAgICAgIHJlcXVlc3QuYW5ub3RhdGlvbkpzb24KICAgICk7CiAgICBjb25zdCByZXN1bHQgPSBKU09OLnBhcnNlKGpzb24pOwogICAgcmV0dXJuIHsgcmVzdWx0IH07CiAgfSBjYXRjaCAoZXJyb3IpIHsKICAgIHJldHVybiB7IGVycm9yOiBTdHJpbmcoZXJyb3IpIH07CiAgfQp9CmZ1bmN0aW9uIGhhbmRsZVNlc3Npb25SZW1vdmVBbm5vdGF0aW9uKHJlcXVlc3QpIHsKICBjb25zdCBleHBvcnRzID0gZW5zdXJlSW5pdGlhbGl6ZWQoKTsKICB0cnkgewogICAgY29uc3QganNvbiA9IGV4cG9ydHMuRG9jeFNlc3Npb25CcmlkZ2UuU2Vzc2lvblJlbW92ZUFubm90YXRpb24oCiAgICAgIHJlcXVlc3QuaGFuZGxlLAogICAgICByZXF1ZXN0LmFubm90YXRpb25JZAogICAgKTsKICAgIGNvbnN0IHJlc3VsdCA9IEpTT04ucGFyc2UoanNvbik7CiAgICByZXR1cm4geyByZXN1bHQgfTsKICB9IGNhdGNoIChlcnJvcikgewogICAgcmV0dXJuIHsgZXJyb3I6IFN0cmluZyhlcnJvcikgfTsKICB9Cn0KZnVuY3Rpb24gaGFuZGxlU2Vzc2lvblVwZGF0ZUFubm90YXRpb24ocmVxdWVzdCkgewogIGNvbnN0IGV4cG9ydHMgPSBlbnN1cmVJbml0aWFsaXplZCgpOwogIHRyeSB7CiAgICBjb25zdCBqc29uID0gZXhwb3J0cy5Eb2N4U2Vzc2lvbkJyaWRnZS5VcGRhdGVBbm5vdGF0aW9uKAogICAgICByZXF1ZXN0LmhhbmRsZSwKICAgICAgcmVxdWVzdC5hbm5vdGF0aW9uSWQsCiAgICAgIHJlcXVlc3QudXBkYXRlSnNvbgogICAgKTsKICAgIGNvbnN0IHJlc3VsdCA9IEpTT04ucGFyc2UoanNvbik7CiAgICByZXR1cm4geyByZXN1bHQgfTsKICB9IGNhdGNoIChlcnJvcikgewogICAgcmV0dXJuIHsgZXJyb3I6IFN0cmluZyhlcnJvcikgfTsKICB9Cn0KZnVuY3Rpb24gaGFuZGxlU2Vzc2lvbk1vdmVBbm5vdGF0aW9uKHJlcXVlc3QpIHsKICBjb25zdCBleHBvcnRzID0gZW5zdXJlSW5pdGlhbGl6ZWQoKTsKICB0cnkgewogICAgY29uc3QganNvbiA9IGV4cG9ydHMuRG9jeFNlc3Npb25CcmlkZ2UuTW92ZUFubm90YXRpb24oCiAgICAgIHJlcXVlc3QuaGFuZGxlLAogICAgICByZXF1ZXN0LmFubm90YXRpb25JZCwKICAgICAgcmVxdWVzdC5uZXdBbmNob3JJZCwKICAgICAgcmVxdWVzdC5uZXdTcGFuSnNvbgogICAgKTsKICAgIGNvbnN0IHJlc3VsdCA9IEpTT04ucGFyc2UoanNvbik7CiAgICByZXR1cm4geyByZXN1bHQgfTsKICB9IGNhdGNoIChlcnJvcikgewogICAgcmV0dXJuIHsgZXJyb3I6IFN0cmluZyhlcnJvcikgfTsKICB9Cn0KZnVuY3Rpb24gaGFuZGxlUHJlcGFyZSgpIHsKICBjb25zdCBleHBvcnRzID0gZW5zdXJlSW5pdGlhbGl6ZWQoKTsKICB0cnkgewogICAgY29uc3QgcmVzdWx0ID0gZXhwb3J0cy5Eb2N1bWVudENvbXBhcmVyLldhcm11cCgpOwogICAgaWYgKGlzRXJyb3JSZXNwb25zZShyZXN1bHQpKSB7CiAgICAgIHJldHVybiBwYXJzZUVycm9yKHJlc3VsdCk7CiAgICB9CiAgICByZXR1cm4ge307CiAgfSBjYXRjaCAoZXJyb3IpIHsKICAgIHJldHVybiB7IGVycm9yOiBTdHJpbmcoZXJyb3IpIH07CiAgfQp9CmZ1bmN0aW9uIGhhbmRsZUdldFZlcnNpb24oKSB7CiAgY29uc3QgZXhwb3J0cyA9IGVuc3VyZUluaXRpYWxpemVkKCk7CiAgdHJ5IHsKICAgIGNvbnN0IHJlc3VsdCA9IGV4cG9ydHMuRG9jdW1lbnRDb252ZXJ0ZXIuR2V0VmVyc2lvbigpOwogICAgY29uc3QgcGFyc2VkID0gSlNPTi5wYXJzZShyZXN1bHQpOwogICAgcmV0dXJuIHsKICAgICAgdmVyc2lvbjogewogICAgICAgIGxpYnJhcnk6IHBhcnNlZC5MaWJyYXJ5IHx8IHBhcnNlZC5saWJyYXJ5LAogICAgICAgIGRvdG5ldFZlcnNpb246IHBhcnNlZC5Eb3RuZXRWZXJzaW9uIHx8IHBhcnNlZC5kb3RuZXRWZXJzaW9uLAogICAgICAgIHBsYXRmb3JtOiBwYXJzZWQuUGxhdGZvcm0gfHwgcGFyc2VkLnBsYXRmb3JtCiAgICAgIH0KICAgIH07CiAgfSBjYXRjaCAoZXJyb3IpIHsKICAgIHJldHVybiB7IGVycm9yOiBTdHJpbmcoZXJyb3IpIH07CiAgfQp9CnNlbGYuYWRkRXZlbnRMaXN0ZW5lcigibWVzc2FnZSIsIGFzeW5jIChldmVudCkgPT4gewogIGNvbnN0IHJlcXVlc3QgPSBldmVudC5kYXRhOwogIHRyeSB7CiAgICBsZXQgcmVzcG9uc2U7CiAgICBzd2l0Y2ggKHJlcXVlc3QudHlwZSkgewogICAgICBjYXNlICJpbml0IjogewogICAgICAgIGNvbnN0IGluaXRSZXF1ZXN0ID0gcmVxdWVzdDsKICAgICAgICB0cnkgewogICAgICAgICAgYXdhaXQgaW5pdGlhbGl6ZVdhc20oaW5pdFJlcXVlc3Qud2FzbUJhc2VQYXRoKTsKICAgICAgICAgIHJlc3BvbnNlID0gewogICAgICAgICAgICBpZDogcmVxdWVzdC5pZCwKICAgICAgICAgICAgdHlwZTogImluaXQiLAogICAgICAgICAgICBzdWNjZXNzOiB0cnVlCiAgICAgICAgICB9OwogICAgICAgIH0gY2F0Y2ggKGVycm9yKSB7CiAgICAgICAgICByZXNwb25zZSA9IHsKICAgICAgICAgICAgaWQ6IHJlcXVlc3QuaWQsCiAgICAgICAgICAgIHR5cGU6ICJpbml0IiwKICAgICAgICAgICAgc3VjY2VzczogZmFsc2UsCiAgICAgICAgICAgIGVycm9yOiBTdHJpbmcoZXJyb3IpCiAgICAgICAgICB9OwogICAgICAgIH0KICAgICAgICBicmVhazsKICAgICAgfQogICAgICBjYXNlICJjb252ZXJ0RG9jeFRvSHRtbCI6IHsKICAgICAgICBjb25zdCBjb252ZXJ0UmVxdWVzdCA9IHJlcXVlc3Q7CiAgICAgICAgY29uc3QgcmVzdWx0ID0gaGFuZGxlQ29udmVydChjb252ZXJ0UmVxdWVzdCk7CiAgICAgICAgcmVzcG9uc2UgPSB7CiAgICAgICAgICBpZDogcmVxdWVzdC5pZCwKICAgICAgICAgIHR5cGU6ICJjb252ZXJ0RG9jeFRvSHRtbCIsCiAgICAgICAgICBzdWNjZXNzOiAhcmVzdWx0LmVycm9yLAogICAgICAgICAgaHRtbDogcmVzdWx0Lmh0bWwsCiAgICAgICAgICBlcnJvcjogcmVzdWx0LmVycm9yCiAgICAgICAgfTsKICAgICAgICBicmVhazsKICAgICAgfQogICAgICBjYXNlICJjb21wYXJlRG9jdW1lbnRzIjogewogICAgICAgIGNvbnN0IGNvbXBhcmVSZXF1ZXN0ID0gcmVxdWVzdDsKICAgICAgICBjb25zdCByZXN1bHQgPSBoYW5kbGVDb21wYXJlKGNvbXBhcmVSZXF1ZXN0KTsKICAgICAgICByZXNwb25zZSA9IHsKICAgICAgICAgIGlkOiByZXF1ZXN0LmlkLAogICAgICAgICAgdHlwZTogImNvbXBhcmVEb2N1bWVudHMiLAogICAgICAgICAgc3VjY2VzczogIXJlc3VsdC5lcnJvciwKICAgICAgICAgIGRvY3VtZW50Qnl0ZXM6IHJlc3VsdC5kb2N1bWVudEJ5dGVzLAogICAgICAgICAgZXJyb3I6IHJlc3VsdC5lcnJvcgogICAgICAgIH07CiAgICAgICAgaWYgKHJlc3VsdC5kb2N1bWVudEJ5dGVzKSB7CiAgICAgICAgICBzZWxmLnBvc3RNZXNzYWdlKHJlc3BvbnNlLCB7IHRyYW5zZmVyOiBbcmVzdWx0LmRvY3VtZW50Qnl0ZXMuYnVmZmVyXSB9KTsKICAgICAgICAgIHJldHVybjsKICAgICAgICB9CiAgICAgICAgYnJlYWs7CiAgICAgIH0KICAgICAgY2FzZSAiY29tcGFyZURvY3VtZW50c1RvSHRtbCI6IHsKICAgICAgICBjb25zdCBjb21wYXJlVG9IdG1sUmVxdWVzdCA9IHJlcXVlc3Q7CiAgICAgICAgY29uc3QgcmVzdWx0ID0gaGFuZGxlQ29tcGFyZVRvSHRtbChjb21wYXJlVG9IdG1sUmVxdWVzdCk7CiAgICAgICAgcmVzcG9uc2UgPSB7CiAgICAgICAgICBpZDogcmVxdWVzdC5pZCwKICAgICAgICAgIHR5cGU6ICJjb21wYXJlRG9jdW1lbnRzVG9IdG1sIiwKICAgICAgICAgIHN1Y2Nlc3M6ICFyZXN1bHQuZXJyb3IsCiAgICAgICAgICBodG1sOiByZXN1bHQuaHRtbCwKICAgICAgICAgIGVycm9yOiByZXN1bHQuZXJyb3IKICAgICAgICB9OwogICAgICAgIGJyZWFrOwogICAgICB9CiAgICAgIGNhc2UgImdldFJldmlzaW9ucyI6IHsKICAgICAgICBjb25zdCBnZXRSZXZpc2lvbnNSZXF1ZXN0ID0gcmVxdWVzdDsKICAgICAgICBjb25zdCByZXN1bHQgPSBoYW5kbGVHZXRSZXZpc2lvbnMoZ2V0UmV2aXNpb25zUmVxdWVzdCk7CiAgICAgICAgcmVzcG9uc2UgPSB7CiAgICAgICAgICBpZDogcmVxdWVzdC5pZCwKICAgICAgICAgIHR5cGU6ICJnZXRSZXZpc2lvbnMiLAogICAgICAgICAgc3VjY2VzczogIXJlc3VsdC5lcnJvciwKICAgICAgICAgIHJldmlzaW9uczogcmVzdWx0LnJldmlzaW9ucywKICAgICAgICAgIGVycm9yOiByZXN1bHQuZXJyb3IKICAgICAgICB9OwogICAgICAgIGJyZWFrOwogICAgICB9CiAgICAgIGNhc2UgImdldERvY3VtZW50TWV0YWRhdGEiOiB7CiAgICAgICAgY29uc3QgZ2V0TWV0YWRhdGFSZXF1ZXN0ID0gcmVxdWVzdDsKICAgICAgICBjb25zdCByZXN1bHQgPSBoYW5kbGVHZXREb2N1bWVudE1ldGFkYXRhKGdldE1ldGFkYXRhUmVxdWVzdCk7CiAgICAgICAgcmVzcG9uc2UgPSB7CiAgICAgICAgICBpZDogcmVxdWVzdC5pZCwKICAgICAgICAgIHR5cGU6ICJnZXREb2N1bWVudE1ldGFkYXRhIiwKICAgICAgICAgIHN1Y2Nlc3M6ICFyZXN1bHQuZXJyb3IsCiAgICAgICAgICBtZXRhZGF0YTogcmVzdWx0Lm1ldGFkYXRhLAogICAgICAgICAgZXJyb3I6IHJlc3VsdC5lcnJvcgogICAgICAgIH07CiAgICAgICAgYnJlYWs7CiAgICAgIH0KICAgICAgY2FzZSAiZ2V0VmVyc2lvbiI6IHsKICAgICAgICBjb25zdCByZXN1bHQgPSBoYW5kbGVHZXRWZXJzaW9uKCk7CiAgICAgICAgcmVzcG9uc2UgPSB7CiAgICAgICAgICBpZDogcmVxdWVzdC5pZCwKICAgICAgICAgIHR5cGU6ICJnZXRWZXJzaW9uIiwKICAgICAgICAgIHN1Y2Nlc3M6ICFyZXN1bHQuZXJyb3IsCiAgICAgICAgICB2ZXJzaW9uOiByZXN1bHQudmVyc2lvbiwKICAgICAgICAgIGVycm9yOiByZXN1bHQuZXJyb3IKICAgICAgICB9OwogICAgICAgIGJyZWFrOwogICAgICB9CiAgICAgIGNhc2UgInByZXBhcmUiOiB7CiAgICAgICAgY29uc3QgcmVzdWx0ID0gaGFuZGxlUHJlcGFyZSgpOwogICAgICAgIHJlc3BvbnNlID0gewogICAgICAgICAgaWQ6IHJlcXVlc3QuaWQsCiAgICAgICAgICB0eXBlOiAicHJlcGFyZSIsCiAgICAgICAgICBzdWNjZXNzOiAhcmVzdWx0LmVycm9yLAogICAgICAgICAgZXJyb3I6IHJlc3VsdC5lcnJvcgogICAgICAgIH07CiAgICAgICAgYnJlYWs7CiAgICAgIH0KICAgICAgY2FzZSAic2Vzc2lvbk9wZW4iOiB7CiAgICAgICAgY29uc3Qgc2Vzc2lvbk9wZW5SZXF1ZXN0ID0gcmVxdWVzdDsKICAgICAgICBjb25zdCByZXN1bHQgPSBoYW5kbGVTZXNzaW9uT3BlbihzZXNzaW9uT3BlblJlcXVlc3QpOwogICAgICAgIHJlc3BvbnNlID0gewogICAgICAgICAgaWQ6IHJlcXVlc3QuaWQsCiAgICAgICAgICB0eXBlOiAic2Vzc2lvbk9wZW4iLAogICAgICAgICAgc3VjY2VzczogIXJlc3VsdC5lcnJvciwKICAgICAgICAgIGhhbmRsZTogcmVzdWx0LmhhbmRsZSwKICAgICAgICAgIGVycm9yOiByZXN1bHQuZXJyb3IKICAgICAgICB9OwogICAgICAgIGJyZWFrOwogICAgICB9CiAgICAgIGNhc2UgInNlc3Npb25DbG9zZSI6IHsKICAgICAgICBjb25zdCBzZXNzaW9uQ2xvc2VSZXF1ZXN0ID0gcmVxdWVzdDsKICAgICAgICBjb25zdCByZXN1bHQgPSBoYW5kbGVTZXNzaW9uQ2xvc2Uoc2Vzc2lvbkNsb3NlUmVxdWVzdCk7CiAgICAgICAgcmVzcG9uc2UgPSB7CiAgICAgICAgICBpZDogcmVxdWVzdC5pZCwKICAgICAgICAgIHR5cGU6ICJzZXNzaW9uQ2xvc2UiLAogICAgICAgICAgc3VjY2VzczogIXJlc3VsdC5lcnJvciwKICAgICAgICAgIGVycm9yOiByZXN1bHQuZXJyb3IKICAgICAgICB9OwogICAgICAgIGJyZWFrOwogICAgICB9CiAgICAgIGNhc2UgInNlc3Npb25BZGRBbm5vdGF0aW9uIjogewogICAgICAgIGNvbnN0IGFkZEFubm90UmVxdWVzdCA9IHJlcXVlc3Q7CiAgICAgICAgY29uc3QgcmVzdWx0ID0gaGFuZGxlU2Vzc2lvbkFkZEFubm90YXRpb24oYWRkQW5ub3RSZXF1ZXN0KTsKICAgICAgICByZXNwb25zZSA9IHsKICAgICAgICAgIGlkOiByZXF1ZXN0LmlkLAogICAgICAgICAgdHlwZTogInNlc3Npb25BZGRBbm5vdGF0aW9uIiwKICAgICAgICAgIHN1Y2Nlc3M6ICFyZXN1bHQuZXJyb3IsCiAgICAgICAgICByZXN1bHQ6IHJlc3VsdC5yZXN1bHQsCiAgICAgICAgICBlcnJvcjogcmVzdWx0LmVycm9yCiAgICAgICAgfTsKICAgICAgICBicmVhazsKICAgICAgfQogICAgICBjYXNlICJzZXNzaW9uUmVtb3ZlQW5ub3RhdGlvbiI6IHsKICAgICAgICBjb25zdCByZW1vdmVBbm5vdFJlcXVlc3QgPSByZXF1ZXN0OwogICAgICAgIGNvbnN0IHJlc3VsdCA9IGhhbmRsZVNlc3Npb25SZW1vdmVBbm5vdGF0aW9uKHJlbW92ZUFubm90UmVxdWVzdCk7CiAgICAgICAgcmVzcG9uc2UgPSB7CiAgICAgICAgICBpZDogcmVxdWVzdC5pZCwKICAgICAgICAgIHR5cGU6ICJzZXNzaW9uUmVtb3ZlQW5ub3RhdGlvbiIsCiAgICAgICAgICBzdWNjZXNzOiAhcmVzdWx0LmVycm9yLAogICAgICAgICAgcmVzdWx0OiByZXN1bHQucmVzdWx0LAogICAgICAgICAgZXJyb3I6IHJlc3VsdC5lcnJvcgogICAgICAgIH07CiAgICAgICAgYnJlYWs7CiAgICAgIH0KICAgICAgY2FzZSAic2Vzc2lvblVwZGF0ZUFubm90YXRpb24iOiB7CiAgICAgICAgY29uc3QgdXBkYXRlQW5ub3RSZXF1ZXN0ID0gcmVxdWVzdDsKICAgICAgICBjb25zdCByZXN1bHQgPSBoYW5kbGVTZXNzaW9uVXBkYXRlQW5ub3RhdGlvbih1cGRhdGVBbm5vdFJlcXVlc3QpOwogICAgICAgIHJlc3BvbnNlID0gewogICAgICAgICAgaWQ6IHJlcXVlc3QuaWQsCiAgICAgICAgICB0eXBlOiAic2Vzc2lvblVwZGF0ZUFubm90YXRpb24iLAogICAgICAgICAgc3VjY2VzczogIXJlc3VsdC5lcnJvciwKICAgICAgICAgIHJlc3VsdDogcmVzdWx0LnJlc3VsdCwKICAgICAgICAgIGVycm9yOiByZXN1bHQuZXJyb3IKICAgICAgICB9OwogICAgICAgIGJyZWFrOwogICAgICB9CiAgICAgIGNhc2UgInNlc3Npb25Nb3ZlQW5ub3RhdGlvbiI6IHsKICAgICAgICBjb25zdCBtb3ZlQW5ub3RSZXF1ZXN0ID0gcmVxdWVzdDsKICAgICAgICBjb25zdCByZXN1bHQgPSBoYW5kbGVTZXNzaW9uTW92ZUFubm90YXRpb24obW92ZUFubm90UmVxdWVzdCk7CiAgICAgICAgcmVzcG9uc2UgPSB7CiAgICAgICAgICBpZDogcmVxdWVzdC5pZCwKICAgICAgICAgIHR5cGU6ICJzZXNzaW9uTW92ZUFubm90YXRpb24iLAogICAgICAgICAgc3VjY2VzczogIXJlc3VsdC5lcnJvciwKICAgICAgICAgIHJlc3VsdDogcmVzdWx0LnJlc3VsdCwKICAgICAgICAgIGVycm9yOiByZXN1bHQuZXJyb3IKICAgICAgICB9OwogICAgICAgIGJyZWFrOwogICAgICB9CiAgICAgIGRlZmF1bHQ6IHsKICAgICAgICBjb25zdCB1bmtub3duUmVxdWVzdCA9IHJlcXVlc3Q7CiAgICAgICAgc2VsZi5wb3N0TWVzc2FnZSh7CiAgICAgICAgICBpZDogdW5rbm93blJlcXVlc3QuaWQsCiAgICAgICAgICB0eXBlOiB1bmtub3duUmVxdWVzdC50eXBlLAogICAgICAgICAgc3VjY2VzczogZmFsc2UsCiAgICAgICAgICBlcnJvcjogYFVua25vd24gcmVxdWVzdCB0eXBlOiAke3Vua25vd25SZXF1ZXN0LnR5cGV9YAogICAgICAgIH0pOwogICAgICAgIHJldHVybjsKICAgICAgfQogICAgfQogICAgc2VsZi5wb3N0TWVzc2FnZShyZXNwb25zZSk7CiAgfSBjYXRjaCAoZXJyb3IpIHsKICAgIHNlbGYucG9zdE1lc3NhZ2UoewogICAgICBpZDogcmVxdWVzdC5pZCwKICAgICAgdHlwZTogcmVxdWVzdC50eXBlLAogICAgICBzdWNjZXNzOiBmYWxzZSwKICAgICAgZXJyb3I6IFN0cmluZyhlcnJvcikKICAgIH0pOwogIH0KfSk7CnNlbGYucG9zdE1lc3NhZ2UoeyB0eXBlOiAicmVhZHkiIH0pOwo=`,``+{}.url).href,r=new Worker(n,{type:`module`}),s=new Map,c=!0,l=null;r.onmessage=e=>{let t=e.data;if(t.type===`ready`)return;let n=s.get(t.id);n&&(s.delete(t.id),t.success?n.resolve(t):n.reject(Error(t.error||`Unknown error`)))},r.onerror=e=>{for(let t of s.values())t.reject(Error(`Worker error: ${e.message}`));s.clear(),c=!1};function u(e,t){return new Promise((n,i)=>{if(!c){i(Error(`Worker has been terminated`));return}s.set(e.id,{resolve:n,reject:i}),t&&t.length>0?r.postMessage(e,t):r.postMessage(e)})}let d=await u({id:i(),type:`init`,wasmBasePath:t});if(!d.success)throw r.terminate(),Error(`Failed to initialize worker: ${d.error}`);return{async convertDocxToHtml(e,t){let n=await a(e);return(await u({id:i(),type:`convertDocxToHtml`,documentBytes:n,options:t},[n.buffer])).html},async compareDocuments(e,t,n){let r=await a(e),o=await a(t);return(await u({id:i(),type:`compareDocuments`,originalBytes:r,modifiedBytes:o,options:n},[r.buffer,o.buffer])).documentBytes},async compareDocumentsToHtml(e,t,n){let r=await a(e),o=await a(t);return(await u({id:i(),type:`compareDocumentsToHtml`,originalBytes:r,modifiedBytes:o,options:n},[r.buffer,o.buffer])).html},async getRevisions(e,t){let n=await a(e);return(await u({id:i(),type:`getRevisions`,documentBytes:n,options:t},[n.buffer])).revisions},async getDocumentMetadata(e){let t=await a(e);return(await u({id:i(),type:`getDocumentMetadata`,documentBytes:t},[t.buffer])).metadata},async getVersion(){return(await u({id:i(),type:`getVersion`})).version},prepare(){return l||(l=u({id:i(),type:`prepare`}).then(()=>void 0),l.catch(()=>{l=null}),l)},async openDocxSession(e,t){let n=await a(e),r=t?JSON.stringify(t):``,o=await u({id:i(),type:`sessionOpen`,documentBytes:n,settingsJson:r},[n.buffer]);if(!o.success||o.handle===void 0)throw Error(`Failed to open worker DocxSession: ${o.error??`unknown error`}`);let s=o.handle;return{async addAnnotation(e,t,n){let r=await u({id:i(),type:`sessionAddAnnotation`,handle:s,anchorId:e,spanJson:t?JSON.stringify(t):``,annotationJson:JSON.stringify(n)});if(!r.success)throw Error(r.error??`sessionAddAnnotation failed`);return r.result},async removeAnnotation(e){let t=await u({id:i(),type:`sessionRemoveAnnotation`,handle:s,annotationId:e});if(!t.success)throw Error(t.error??`sessionRemoveAnnotation failed`);return t.result},async updateAnnotation(e,t){let n=await u({id:i(),type:`sessionUpdateAnnotation`,handle:s,annotationId:e,updateJson:JSON.stringify(t)});if(!n.success)throw Error(n.error??`sessionUpdateAnnotation failed`);return n.result},async moveAnnotation(e,t,n){let r=await u({id:i(),type:`sessionMoveAnnotation`,handle:s,annotationId:e,newAnchorId:t,newSpanJson:n?JSON.stringify(n):``});if(!r.success)throw Error(r.error??`sessionMoveAnnotation failed`);return r.result},async close(){await u({id:i(),type:`sessionClose`,handle:s})}}},terminate(){c=!1,r.terminate();for(let e of s.values())e.reject(Error(`Worker terminated`));s.clear()},isActive(){return c}}}function c(){return typeof Worker<`u`}var l={paginationScale:.8,showPageNumbers:!0,renderFootnotesAndEndnotes:!0,renderHeadersAndFooters:!0,commentMode:`disabled`,annotationMode:`disabled`,renderTrackedChanges:!1,showDeletedContent:!0,renderMoveOperations:!0,pageTitle:`Document`,cssPrefix:`docx-`,fabricateClasses:!0,additionalCss:``,commentCssClassPrefix:`comment-`,annotationCssClassPrefix:`annot-`,renderUnsupportedContentPlaceholders:!0,documentLanguage:``};function u(e){return(0,n.isInsertion)(e)?`Inserted`:(0,n.isDeletion)(e)?`Deleted`:(0,n.isMove)(e)?e.isMoveSource?`Moved from`:`Moved to`:(0,n.isFormatChange)(e)?`Formatted`:String(e.revisionType)}function d(e){return(0,n.isInsertion)(e)?`rdv-revision--insertion`:(0,n.isDeletion)(e)?`rdv-revision--deletion`:(0,n.isMove)(e)?`rdv-revision--move`:(0,n.isFormatChange)(e)?`rdv-revision--format`:``}function f(e){try{return new Date(e).toLocaleDateString(void 0,{year:`numeric`,month:`short`,day:`numeric`,hour:`2-digit`,minute:`2-digit`})}catch{return e}}function p(e,t=150){return e.length<=t?e:e.substring(0,t)+`...`}function m(e){return!(!e||typeof e!=`string`||e.includes(`<`)||e.includes(`xmlns`)||e.includes(`Unid=`)||e.length>100)}function h(e){return e.replace(/([A-Z])/g,` $1`).replace(/^./,e=>e.toUpperCase()).trim()}function g(e){return e===`true`?`Yes`:e===`false`?`No`:e===`single`?`Single`:e===`double`?`Double`:e}function _(e){if(!e.formatChange)return[];let{oldProperties:t,newProperties:n}=e.formatChange,r=[],i=new Set;if(t)for(let[e,a]of Object.entries(t)){if(!m(a))continue;i.add(e);let t=n?.[e];r.push({property:h(e),oldValue:g(a),newValue:t&&m(t)?g(t):void 0})}if(n)for(let[e,t]of Object.entries(n))i.has(e)||m(t)&&r.push({property:h(e),oldValue:void 0,newValue:g(t)});return r}function ee({revisions:t}){let[i,a]=(0,e.useState)(`all`),[o,s]=(0,e.useState)(new Set),c=(0,e.useMemo)(()=>i===`all`?t:t.filter(e=>{switch(i){case`insertions`:return(0,n.isInsertion)(e);case`deletions`:return(0,n.isDeletion)(e);case`moves`:return(0,n.isMove)(e);case`formatting`:return(0,n.isFormatChange)(e);default:return!0}}),[t,i]),l=(0,e.useMemo)(()=>({total:t.length,insertions:t.filter(n.isInsertion).length,deletions:t.filter(n.isDeletion).length,moves:t.filter(n.isMove).length,formatting:t.filter(n.isFormatChange).length}),[t]),m=e=>{s(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n})};return t.length===0?(0,r.jsx)(`div`,{className:`rdv-revision-panel`,children:(0,r.jsxs)(`div`,{className:`rdv-revision-empty`,children:[(0,r.jsx)(`div`,{className:`rdv-revision-empty__icon`,children:`📝`}),(0,r.jsx)(`p`,{children:`No tracked changes found in this document.`})]})}):(0,r.jsxs)(`div`,{className:`rdv-revision-panel`,children:[(0,r.jsxs)(`div`,{className:`rdv-revision-header`,children:[(0,r.jsxs)(`div`,{className:`rdv-revision-stats`,children:[(0,r.jsxs)(`span`,{className:`rdv-revision-stat rdv-revision-stat--total`,children:[l.total,` change`,l.total===1?``:`s`]}),l.insertions>0&&(0,r.jsxs)(`span`,{className:`rdv-revision-stat rdv-revision-stat--insertion`,children:[`+`,l.insertions]}),l.deletions>0&&(0,r.jsxs)(`span`,{className:`rdv-revision-stat rdv-revision-stat--deletion`,children:[`−`,l.deletions]}),l.moves>0&&(0,r.jsxs)(`span`,{className:`rdv-revision-stat rdv-revision-stat--move`,children:[`↔`,l.moves]}),l.formatting>0&&(0,r.jsxs)(`span`,{className:`rdv-revision-stat rdv-revision-stat--format`,children:[`✎`,l.formatting]})]}),(0,r.jsxs)(`select`,{className:`rdv-revision-filter`,value:i,onChange:e=>a(e.target.value),children:[(0,r.jsx)(`option`,{value:`all`,children:`All Changes`}),(0,r.jsxs)(`option`,{value:`insertions`,children:[`Insertions (`,l.insertions,`)`]}),(0,r.jsxs)(`option`,{value:`deletions`,children:[`Deletions (`,l.deletions,`)`]}),(0,r.jsxs)(`option`,{value:`moves`,children:[`Moves (`,l.moves,`)`]}),(0,r.jsxs)(`option`,{value:`formatting`,children:[`Formatting (`,l.formatting,`)`]})]})]}),(0,r.jsx)(`div`,{className:`rdv-revision-list`,children:c.map((e,t)=>{let i=o.has(t),a=e.text.length>150,s=(0,n.isFormatChange)(e)?_(e):[];return(0,r.jsxs)(`div`,{className:`rdv-revision-item ${d(e)}`,children:[(0,r.jsxs)(`div`,{className:`rdv-revision-item__header`,children:[(0,r.jsx)(`span`,{className:`rdv-revision-type`,children:u(e)}),(0,n.isMove)(e)&&e.moveGroupId!==void 0&&(0,r.jsxs)(`span`,{className:`rdv-revision-move-id`,children:[`#`,e.moveGroupId]}),(0,r.jsx)(`span`,{className:`rdv-revision-author`,children:e.author||`Unknown`}),(0,r.jsx)(`span`,{className:`rdv-revision-date`,children:f(e.date)})]}),e.text&&(0,r.jsxs)(`div`,{className:`rdv-revision-item__content`,children:[(0,r.jsx)(`span`,{className:`rdv-revision-text`,children:i?e.text:p(e.text)}),a&&(0,r.jsx)(`button`,{className:`rdv-revision-expand`,onClick:()=>m(t),children:i?`Show less`:`Show more`})]}),s.length>0&&(0,r.jsx)(`div`,{className:`rdv-revision-item__format-details`,children:s.map((e,t)=>(0,r.jsxs)(`div`,{className:`rdv-format-change`,children:[(0,r.jsx)(`span`,{className:`rdv-format-change__property`,children:e.property}),(0,r.jsxs)(`span`,{className:`rdv-format-change__values`,children:[e.oldValue&&(0,r.jsx)(`span`,{className:`rdv-format-change__old`,children:e.oldValue}),e.oldValue&&e.newValue&&(0,r.jsx)(`span`,{className:`rdv-format-change__arrow`,children:`→`}),e.newValue&&(0,r.jsx)(`span`,{className:`rdv-format-change__new`,children:e.newValue}),!e.oldValue&&e.newValue&&(0,r.jsx)(`span`,{className:`rdv-format-change__added`,children:`(added)`}),e.oldValue&&!e.newValue&&(0,r.jsx)(`span`,{className:`rdv-format-change__removed`,children:`(removed)`})]})]},t))})]},t)})})]})}var te=()=>(0,r.jsxs)(`svg`,{width:`16`,height:`16`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,"aria-hidden":`true`,children:[(0,r.jsx)(`path`,{d:`M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4`}),(0,r.jsx)(`polyline`,{points:`17 8 12 3 7 8`}),(0,r.jsx)(`line`,{x1:`12`,y1:`3`,x2:`12`,y2:`15`})]});function ne(e){switch(e){case`endnote`:return n.CommentRenderMode.EndnoteStyle;case`inline`:return n.CommentRenderMode.Inline;case`margin`:return n.CommentRenderMode.Margin;default:return n.CommentRenderMode.Disabled}}function re(e){switch(e){case`above`:return n.AnnotationLabelMode.Above;case`inline`:return n.AnnotationLabelMode.Inline;case`tooltip`:return n.AnnotationLabelMode.Tooltip;case`none`:return n.AnnotationLabelMode.None;default:return}}function v(e){if(e!=null)return typeof e==`number`?`${e}px`:e}var y=96/72,b=40,ie=.3,x=2;function ae(e,t,n,r,i){let a=r*y,o=i*y,s=(t-b)/a,c=(n-b)/o;return Math.round(Math.max(ie,Math.min(x,e===`page-width`?s:Math.min(s,c)))*100)/100}function oe({file:i,html:a,onFileChange:o,onConversionStart:u,onConversionComplete:d,onError:f,onPageChange:p,onRevisionsExtracted:m,settings:h,defaultSettings:g,defaultZoom:_,onSettingsChange:y,className:b,style:ie,toolbar:x=`top`,showSettingsButton:oe=!0,showRevisionsTab:S=!0,placeholder:se=`Open a DOCX file to view`,wasmBasePath:C,useWorker:w=!0,warmup:ce=!1,fitMode:le=`manual`,toolbarActions:T}){let E=(0,e.useMemo)(()=>{let e={...l};return _!==void 0&&(e.paginationScale=Math.max(.3,Math.min(2,_))),{...e,...g}},[g,_]),[ue,de]=(0,e.useState)(null),[fe,D]=(0,e.useState)(null),[pe,me]=(0,e.useState)(E),O=i===void 0?ue:i,k=a===void 0?fe:a,A=(0,e.useMemo)(()=>h?{...E,...h}:pe,[h,E,pe]),j=(0,t.useDocxodus)(C),[M,he]=(0,e.useState)(null),[ge,_e]=(0,e.useState)(!1),[ve,ye]=(0,e.useState)(null),be=w&&c()&&!ge&&!ve,N=(0,e.useRef)(null);(0,e.useEffect)(()=>{if(!w||!c())return;let e=!1;return s({wasmBasePath:C}).then(t=>{e?t.terminate():(N.current=t,he(t),_e(!0),ye(null))}).catch(t=>{e||ye(t instanceof Error?t:Error(String(t)))}),()=>{e=!0,N.current&&(N.current.terminate(),N.current=null,he(null),_e(!1))}},[w,C]),(0,e.useEffect)(()=>{!ce||!M||M.prepare().catch(()=>{})},[ce,M]);let P=w?ge:j.isReady,F=w?be:j.isLoading,I=w?ve:j.error,[L,xe]=(0,e.useState)(!1),[Se,R]=(0,e.useState)(null),[z,Ce]=(0,e.useState)(``),[B,we]=(0,e.useState)(1),[V,H]=(0,e.useState)(0),[Te,U]=(0,e.useState)(!1),[W,G]=(0,e.useState)(`document`),[K,q]=(0,e.useState)([]),[Ee,De]=(0,e.useState)(!1),[J,Y]=(0,e.useState)(null),Oe=(0,e.useRef)(null),X=(0,e.useRef)(null),[ke,Ae]=(0,e.useState)(20);(0,e.useEffect)(()=>{let e=()=>{let e=Oe.current;if(!e)return;let t=getComputedStyle(e).getPropertyValue(`--rdv-page-gap`).trim(),n=parseFloat(t);Number.isNaN(n)||Ae(n)};return e(),window.addEventListener(`resize`,e),()=>window.removeEventListener(`resize`,e)},[]);let Z=(0,e.useCallback)(()=>({commentRenderMode:ne(A.commentMode),pageTitle:A.pageTitle,cssPrefix:A.cssPrefix,fabricateClasses:A.fabricateClasses,additionalCss:A.additionalCss||void 0,commentCssClassPrefix:A.commentCssClassPrefix,paginationMode:n.PaginationMode.Paginated,paginationScale:A.paginationScale,renderAnnotations:A.annotationMode!==`disabled`,annotationLabelMode:re(A.annotationMode),annotationCssClassPrefix:A.annotationCssClassPrefix,renderFootnotesAndEndnotes:A.renderFootnotesAndEndnotes,renderHeadersAndFooters:A.renderHeadersAndFooters,renderTrackedChanges:A.renderTrackedChanges,showDeletedContent:A.showDeletedContent,renderMoveOperations:A.renderMoveOperations,renderUnsupportedContentPlaceholders:A.renderUnsupportedContentPlaceholders,documentLanguage:A.documentLanguage||void 0}),[A]),je=(0,e.useCallback)(async e=>{try{let t=w&&M?await M.getDocumentMetadata(e):await(0,n.getDocumentMetadata)(e);Y(t)}catch{Y(null)}},[w,M]),Me=(0,e.useCallback)(async e=>{if(!(!P||!S)){De(!0);try{let t=w&&M?await M.getRevisions(e):await j.getRevisions(e);q(t),m?.(t)}catch{q([])}finally{De(!1)}}},[P,w,M,j,S,m]),Q=(0,e.useCallback)(async e=>{if(P){xe(!0),R(null),q([]),G(`document`),u?.(),w||await new Promise(e=>requestAnimationFrame(()=>requestAnimationFrame(e)));try{let t=w&&M?await M.convertDocxToHtml(e,Z()):await j.convertToHtml(e,Z());a===void 0&&D(t),d?.(t),Me(e)}catch(e){let t=e instanceof Error?e:Error(String(e));R(t),f?.(t)}finally{xe(!1)}}},[P,w,M,j,Z,a,u,d,f,Me]);(0,e.useEffect)(()=>{P&&O&&!k&&!L&&a===void 0&&Q(O)},[P,O,k,L,Q,a]);let Ne=async e=>{let t=e.target.files?.[0];t&&(Ce(t.name),R(null),we(1),H(0),Y(null),q([]),G(`document`),i===void 0&&(de(t),D(null)),o?.(t),je(t),P&&a===void 0&&await Q(t))},Pe=(0,e.useCallback)(async()=>{O&&(a===void 0&&D(null),await Q(O))},[O,Q,a]),Fe=()=>{i===void 0&&de(null),a===void 0&&D(null),R(null),Ce(``),we(1),H(0),q([]),G(`document`),Y(null),o?.(null);let e=document.getElementById(`rdv-file-input`);e&&(e.value=``)},$=(0,e.useCallback)(e=>{let t={...A,...e};h===void 0&&me(t),y?.(t)},[A,h,y]),Ie=()=>$({paginationScale:Math.min(A.paginationScale+.1,2)}),Le=()=>$({paginationScale:Math.max(A.paginationScale-.1,.3)}),Re=e=>$({paginationScale:Math.max(.3,Math.min(2,e))}),ze=(0,e.useRef)(A);(0,e.useEffect)(()=>{ze.current=A}),(0,e.useEffect)(()=>{if(le===`manual`||!J||!k)return;let e=X.current;if(!e||typeof ResizeObserver>`u`)return;let t=J.sections[0],n=t?.pageWidthPt??612,r=t?.pageHeightPt??792,i=()=>{let t=ae(le,e.clientWidth,e.clientHeight,n,r);if(Math.abs(ze.current.paginationScale-t)<.005)return;let i={...ze.current,paginationScale:t};h===void 0&&me(i),y?.(i)};i();let a=new ResizeObserver(i);return a.observe(e),()=>a.disconnect()},[le,J,k,h,y]);let Be=e=>{let t=X.current;if(!t||e<1||e>V)return;let n=t.querySelector(`[data-page-number="${e}"]`);n&&n.scrollIntoView({behavior:`smooth`,block:`start`})},Ve=()=>B>1&&Be(B-1),He=()=>B<V&&Be(B+1),Ue=e=>{we(e),p?.(e,V)};(0,e.useEffect)(()=>{let e=X.current;if(!e)return;let t=t=>{let n=t.target.closest(`a[href^="#"]`);if(!n)return;let r=n.getAttribute(`href`);if(!r||!r.startsWith(`#`))return;t.preventDefault();let i=r.substring(1),a=e.querySelector(`[id="${i}"], [name="${i}"]`);a&&(a.scrollIntoView({behavior:`smooth`,block:`center`}),a.classList.add(`rdv-footnote-highlight`),setTimeout(()=>a.classList.remove(`rdv-footnote-highlight`),2e3))};return e.addEventListener(`click`,t),()=>e.removeEventListener(`click`,t)},[k]),(0,e.useEffect)(()=>{V>0&&p?.(B,V)},[V,B,p]);let We=L||F,Ge=()=>(0,r.jsx)(`div`,{className:`rdv-settings-overlay`,onClick:()=>U(!1),children:(0,r.jsxs)(`div`,{className:`rdv-settings-modal`,onClick:e=>e.stopPropagation(),children:[(0,r.jsxs)(`div`,{className:`rdv-settings-header`,children:[(0,r.jsx)(`h3`,{children:`Viewer Settings`}),(0,r.jsx)(`button`,{className:`rdv-settings-close`,onClick:()=>U(!1),children:`×`})]}),(0,r.jsxs)(`div`,{className:`rdv-settings-body`,children:[(0,r.jsxs)(`div`,{className:`rdv-settings-section`,children:[(0,r.jsx)(`h4`,{children:`Display Options`}),(0,r.jsxs)(`label`,{className:`rdv-settings-checkbox`,children:[(0,r.jsx)(`input`,{type:`checkbox`,checked:A.renderFootnotesAndEndnotes,onChange:e=>$({renderFootnotesAndEndnotes:e.target.checked})}),(0,r.jsx)(`span`,{children:`Show footnotes and endnotes`})]}),(0,r.jsxs)(`label`,{className:`rdv-settings-checkbox`,children:[(0,r.jsx)(`input`,{type:`checkbox`,checked:A.renderHeadersAndFooters,onChange:e=>$({renderHeadersAndFooters:e.target.checked})}),(0,r.jsx)(`span`,{children:`Show headers and footers`})]}),(0,r.jsxs)(`label`,{className:`rdv-settings-checkbox`,children:[(0,r.jsx)(`input`,{type:`checkbox`,checked:A.showPageNumbers,onChange:e=>$({showPageNumbers:e.target.checked})}),(0,r.jsx)(`span`,{children:`Show page numbers`})]})]}),(0,r.jsxs)(`div`,{className:`rdv-settings-section`,children:[(0,r.jsx)(`h4`,{children:`Comment Rendering`}),(0,r.jsx)(`div`,{className:`rdv-settings-radio-group`,children:[`disabled`,`endnote`,`inline`,`margin`].map(e=>(0,r.jsxs)(`label`,{className:`rdv-settings-radio`,children:[(0,r.jsx)(`input`,{type:`radio`,name:`commentMode`,checked:A.commentMode===e,onChange:()=>$({commentMode:e})}),(0,r.jsxs)(`span`,{children:[e.charAt(0).toUpperCase()+e.slice(1),e===`endnote`?`s`:``]})]},e))})]}),(0,r.jsxs)(`div`,{className:`rdv-settings-section`,children:[(0,r.jsx)(`h4`,{children:`Annotation Rendering`}),(0,r.jsx)(`div`,{className:`rdv-settings-radio-group`,children:[`disabled`,`above`,`inline`,`tooltip`,`none`].map(e=>(0,r.jsxs)(`label`,{className:`rdv-settings-radio`,children:[(0,r.jsx)(`input`,{type:`radio`,name:`annotationMode`,checked:A.annotationMode===e,onChange:()=>$({annotationMode:e})}),(0,r.jsx)(`span`,{children:e===`none`?`Highlight Only`:e.charAt(0).toUpperCase()+e.slice(1)})]},e))})]}),(0,r.jsxs)(`div`,{className:`rdv-settings-section`,children:[(0,r.jsx)(`h4`,{children:`Tracked Changes`}),(0,r.jsxs)(`label`,{className:`rdv-settings-checkbox`,children:[(0,r.jsx)(`input`,{type:`checkbox`,checked:A.renderTrackedChanges,onChange:e=>$({renderTrackedChanges:e.target.checked})}),(0,r.jsx)(`span`,{children:`Show tracked changes`})]}),A.renderTrackedChanges&&(0,r.jsxs)(`div`,{className:`rdv-settings-subsection`,children:[(0,r.jsxs)(`label`,{className:`rdv-settings-checkbox`,children:[(0,r.jsx)(`input`,{type:`checkbox`,checked:A.showDeletedContent,onChange:e=>$({showDeletedContent:e.target.checked})}),(0,r.jsx)(`span`,{children:`Show deleted content`})]}),(0,r.jsxs)(`label`,{className:`rdv-settings-checkbox`,children:[(0,r.jsx)(`input`,{type:`checkbox`,checked:A.renderMoveOperations,onChange:e=>$({renderMoveOperations:e.target.checked})}),(0,r.jsx)(`span`,{children:`Distinguish move operations`})]})]})]}),(0,r.jsxs)(`div`,{className:`rdv-settings-section`,children:[(0,r.jsx)(`h4`,{children:`Advanced`}),(0,r.jsxs)(`label`,{className:`rdv-settings-checkbox`,children:[(0,r.jsx)(`input`,{type:`checkbox`,checked:A.renderUnsupportedContentPlaceholders,onChange:e=>$({renderUnsupportedContentPlaceholders:e.target.checked})}),(0,r.jsx)(`span`,{children:`Show placeholders for unsupported content`})]}),(0,r.jsx)(`p`,{className:`rdv-settings-hint`,children:`Display visual indicators for WMF/EMF images, math equations, form fields, and other unsupported elements`}),(0,r.jsxs)(`label`,{className:`rdv-settings-input-label`,children:[(0,r.jsx)(`span`,{children:`Document language override`}),(0,r.jsx)(`input`,{type:`text`,className:`rdv-settings-text-input`,value:A.documentLanguage,onChange:e=>$({documentLanguage:e.target.value}),placeholder:`Auto-detect (e.g., en-US, fr-FR)`})]})]})]}),(0,r.jsx)(`div`,{className:`rdv-settings-footer`,children:(0,r.jsx)(`button`,{className:`rdv-settings-apply`,onClick:()=>{Pe(),U(!1)},children:`Apply & Close`})})]})}),Ke=K.length>0,qe=e=>(0,r.jsx)(`button`,{type:`button`,className:[`rdv-toolbar-btn`,`rdv-toolbar-icon-btn`,e.variant===`primary`?`rdv-toolbar-icon-btn--primary`:``,e.className].filter(Boolean).join(` `),onClick:e.onClick,disabled:e.disabled,title:e.label,"aria-label":e.label,children:e.icon},e.key),Je=()=>(0,r.jsxs)(`div`,{className:`rdv-toolbar`,children:[(0,r.jsxs)(`div`,{className:`rdv-toolbar-left`,children:[(0,r.jsx)(`label`,{htmlFor:`rdv-file-input`,className:`rdv-toolbar-btn rdv-toolbar-icon-btn rdv-toolbar-open-btn`,title:`Open Document`,"aria-label":`Open Document`,children:(0,r.jsx)(te,{})}),(0,r.jsx)(`input`,{id:`rdv-file-input`,type:`file`,accept:`.docx`,onChange:Ne,disabled:We,className:`rdv-file-input`}),z&&(0,r.jsx)(`span`,{className:`rdv-toolbar-filename`,title:z,children:z}),z&&(0,r.jsx)(`button`,{className:`rdv-toolbar-btn rdv-toolbar-icon-btn rdv-toolbar-clear`,onClick:Fe,disabled:We,title:`Clear Document`,"aria-label":`Clear Document`,children:`×`}),S&&Ke&&k&&(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(`div`,{className:`rdv-toolbar-separator`}),(0,r.jsxs)(`div`,{className:`rdv-view-tabs`,children:[(0,r.jsx)(`button`,{className:`rdv-view-tab ${W===`document`?`rdv-view-tab--active`:``}`,onClick:()=>G(`document`),title:`View Document`,children:`Document`}),(0,r.jsxs)(`button`,{className:`rdv-view-tab ${W===`revisions`?`rdv-view-tab--active`:``}`,onClick:()=>G(`revisions`),title:`View Tracked Changes`,children:[`Changes (`,K.length,`)`]})]})]}),S&&Ee&&(0,r.jsx)(`span`,{className:`rdv-extracting-indicator`,title:`Extracting tracked changes...`,children:`...`})]}),(0,r.jsxs)(`div`,{className:`rdv-toolbar-right`,children:[k&&V>0&&W===`document`&&(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(`button`,{className:`rdv-toolbar-btn rdv-toolbar-icon-btn`,onClick:Ve,disabled:B<=1,title:`Previous Page`,"aria-label":`Previous Page`,children:`◀`}),(0,r.jsxs)(`div`,{className:`rdv-page-input-group`,children:[(0,r.jsx)(`input`,{type:`number`,className:`rdv-page-input`,value:B,min:1,max:V,onChange:e=>{let t=parseInt(e.target.value);isNaN(t)||Be(t)}}),(0,r.jsxs)(`span`,{className:`rdv-page-total`,children:[`/ `,V]})]}),(0,r.jsx)(`button`,{className:`rdv-toolbar-btn rdv-toolbar-icon-btn`,onClick:He,disabled:B>=V,title:`Next Page`,"aria-label":`Next Page`,children:`▶`}),(0,r.jsx)(`div`,{className:`rdv-toolbar-separator`}),(0,r.jsxs)(`div`,{className:`rdv-zoom-group`,children:[(0,r.jsx)(`button`,{className:`rdv-toolbar-btn rdv-toolbar-icon-btn rdv-zoom-btn`,onClick:Le,disabled:A.paginationScale<=.3,title:`Zoom Out`,"aria-label":`Zoom Out`,children:`−`}),(0,r.jsxs)(`select`,{className:`rdv-zoom-select`,value:A.paginationScale,onChange:e=>Re(parseFloat(e.target.value)),"aria-label":`Zoom level`,children:[(0,r.jsx)(`option`,{value:`0.5`,children:`50%`}),(0,r.jsx)(`option`,{value:`0.75`,children:`75%`}),(0,r.jsx)(`option`,{value:`0.8`,children:`80%`}),(0,r.jsx)(`option`,{value:`0.9`,children:`90%`}),(0,r.jsx)(`option`,{value:`1`,children:`100%`}),(0,r.jsx)(`option`,{value:`1.25`,children:`125%`}),(0,r.jsx)(`option`,{value:`1.5`,children:`150%`}),(0,r.jsx)(`option`,{value:`2`,children:`200%`})]}),(0,r.jsx)(`button`,{className:`rdv-toolbar-btn rdv-toolbar-icon-btn rdv-zoom-btn`,onClick:Ie,disabled:A.paginationScale>=2,title:`Zoom In`,"aria-label":`Zoom In`,children:`+`})]})]}),T&&T.length>0&&(0,r.jsxs)(r.Fragment,{children:[k&&V>0&&W===`document`&&(0,r.jsx)(`div`,{className:`rdv-toolbar-separator`}),T.map(qe)]}),oe&&(0,r.jsxs)(r.Fragment,{children:[(T?.length||k&&V>0&&W===`document`)&&(0,r.jsx)(`div`,{className:`rdv-toolbar-separator`}),(0,r.jsx)(`button`,{className:`rdv-toolbar-btn rdv-toolbar-icon-btn rdv-toolbar-settings`,onClick:()=>U(!0),title:`Settings`,"aria-label":`Settings`,children:`⚙`})]})]})]});return(0,r.jsxs)(`div`,{ref:Oe,className:[`rdv-viewer`,b].filter(Boolean).join(` `),style:ie,children:[x===`top`&&Je(),(0,r.jsxs)(`div`,{className:`rdv-content`,children:[I&&(0,r.jsx)(`div`,{className:`rdv-message rdv-message--error`,children:(0,r.jsxs)(`p`,{children:[`Failed to initialize: `,I.message]})}),!I&&(F||L)&&(J&&L?(0,r.jsx)(`div`,{className:`rdv-pages rdv-pages--loading`,style:{...A.stableWidth&&{"--rdv-stable-width":v(A.stableWidth)},...A.stableHeight&&{minHeight:v(A.stableHeight)}},children:(0,r.jsx)(`div`,{className:`rdv-page-placeholders`,style:{backgroundColor:`#525659`},children:Array.from({length:J.estimatedPageCount||1}).map((e,t)=>{let n=J.sections[Math.min(t,J.sections.length-1)],i=A.paginationScale,a=Math.round((n?.pageWidthPt||612)*(96/72)*i),o=Math.round((n?.pageHeightPt||792)*(96/72)*i);return(0,r.jsxs)(`div`,{className:`rdv-page-placeholder`,style:{width:`${a}px`,height:`${o}px`},children:[(0,r.jsx)(`div`,{className:`rdv-page-placeholder__shimmer`}),t===0&&(0,r.jsxs)(`div`,{className:`rdv-page-placeholder__info`,children:[(0,r.jsx)(`div`,{className:`rdv-spinner rdv-spinner--small`}),(0,r.jsx)(`span`,{children:`Converting document...`}),(0,r.jsxs)(`span`,{className:`rdv-page-placeholder__count`,children:[`~`,J.estimatedPageCount,` page`,J.estimatedPageCount===1?``:`s`]})]}),(0,r.jsx)(`div`,{className:`rdv-page-placeholder__number`,children:t+1})]},t)})})}):(0,r.jsxs)(`div`,{className:`rdv-message`,children:[(0,r.jsx)(`div`,{className:`rdv-spinner`}),(0,r.jsx)(`p`,{children:F&&O?`Loading engine & preparing document...`:F?`Loading document engine...`:`Processing document...`})]})),!F&&!I&&!k&&!L&&!O&&(0,r.jsxs)(`div`,{className:`rdv-message`,style:{...A.stableWidth&&{width:v(A.stableWidth),maxWidth:`100%`},...A.stableHeight&&{minHeight:v(A.stableHeight)}},children:[(0,r.jsx)(`div`,{className:`rdv-message__icon`,children:`📄`}),(0,r.jsx)(`p`,{children:se})]}),Se&&!L&&(0,r.jsx)(`div`,{className:`rdv-message rdv-message--error`,children:(0,r.jsxs)(`p`,{children:[`Error: `,Se.message]})}),W===`document`&&k&&!L&&(0,r.jsx)(`div`,{ref:X,className:`rdv-pages`,style:{...A.stableWidth&&{"--rdv-stable-width":v(A.stableWidth)},...A.stableHeight&&{minHeight:v(A.stableHeight)}},children:(0,r.jsx)(t.PaginatedDocument,{html:k,scale:A.paginationScale,showPageNumbers:A.showPageNumbers,pageGap:ke,backgroundColor:`#525659`,className:`rdv-paginated-document`,onPaginationComplete:e=>{H(e.totalPages)},onPageVisible:Ue})}),W===`revisions`&&k&&!L&&(0,r.jsx)(ee,{revisions:K})]}),x===`bottom`&&Je(),Te&&Ge()]})}exports.DEFAULT_SETTINGS=l,exports.DocumentViewer=oe,Object.defineProperty(exports,"RevisionType",{enumerable:!0,get:function(){return n.RevisionType}}),Object.defineProperty(exports,"isDeletion",{enumerable:!0,get:function(){return n.isDeletion}}),Object.defineProperty(exports,"isFormatChange",{enumerable:!0,get:function(){return n.isFormatChange}}),Object.defineProperty(exports,"isInsertion",{enumerable:!0,get:function(){return n.isInsertion}}),Object.defineProperty(exports,"isMove",{enumerable:!0,get:function(){return n.isMove}}),exports.isWorkerSupported=c;
2
+ //# sourceMappingURL=react-docxodus-viewer.cjs.js.map