hunter-mate 0.1.19 → 0.1.21

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.
Files changed (124) hide show
  1. package/dist/assets/extension/background/{service-worker.20261008011501.js → service-worker.20261015181453.js} +8 -8
  2. package/dist/assets/extension/background/service-worker.js +8 -8
  3. package/dist/assets/extension/build-info.json +1 -1
  4. package/dist/assets/extension/content/index.js +2 -2
  5. package/dist/assets/extension/manifest.json +3 -3
  6. package/dist/assets/extension/offscreen/offscreen.html +1 -1
  7. package/dist/assets/extension/offscreen/offscreen.js +2 -2
  8. package/dist/assets/extension/package.json +1 -1
  9. package/dist/assets/server/chunks/{chunk-IXYSL3NT.mjs → chunk-BLXHCSZD.mjs} +8 -10
  10. package/dist/assets/server/chunks/{script-rule-ANR2J7E6.mjs → script-rule-ZJN6CEYX.mjs} +1 -1
  11. package/dist/assets/server/main.mjs +4087 -2872
  12. package/dist/index.js +231 -52
  13. package/dist/web/dist/404.html +1 -1
  14. package/dist/web/dist/_next/static/cIjUG1nvMEwYon0Zb8dYt/_buildManifest.js +1 -0
  15. package/dist/web/dist/_next/static/chunks/105-dcd8f6d5867c8995.js +32 -0
  16. package/dist/web/dist/_next/static/chunks/166.b263e636ff66212f.js +1 -0
  17. package/dist/web/dist/_next/static/chunks/1e6d5a0c.75afa2d319272f42.js +15 -0
  18. package/dist/web/dist/_next/static/chunks/555-e2a871b9d2eccb03.js +12 -0
  19. package/dist/web/dist/_next/static/chunks/589-f984bff035a1cb85.js +1 -0
  20. package/dist/web/dist/_next/static/chunks/671.ae431f885d6c7f0c.js +1 -0
  21. package/dist/web/dist/_next/static/chunks/686-9f419b70feea9470.js +1 -0
  22. package/dist/web/dist/_next/static/chunks/852-248884963a986600.js +1 -0
  23. package/dist/web/dist/_next/static/chunks/865-0ed23dd43c0832a2.js +1 -0
  24. package/dist/web/dist/_next/static/chunks/935-7be3e60dd8bc29d2.js +5 -0
  25. package/dist/web/dist/_next/static/chunks/954-fb0212fe71f60a52.js +1 -0
  26. package/dist/web/dist/_next/static/chunks/a7067448-e416655baf443992.js +1 -0
  27. package/dist/web/dist/_next/static/chunks/app/_not-found/page-5b7249eb3c9a6cb9.js +1 -0
  28. package/dist/web/dist/_next/static/chunks/app/admin/data/page-14698e9c4ddaa6d9.js +1 -0
  29. package/dist/web/dist/_next/static/chunks/app/auth/verify/page-05304d5803008d61.js +1 -0
  30. package/dist/web/dist/_next/static/chunks/app/companies/page-ec27ce9ab3610221.js +1 -0
  31. package/dist/web/dist/_next/static/chunks/app/company/admin/page-c2584183bc4b34d1.js +1 -0
  32. package/dist/web/dist/_next/static/chunks/app/entity/page-08755f96102f0565.js +1 -0
  33. package/dist/web/dist/_next/static/chunks/app/jobs/page-4175a90f1b42f87d.js +1 -0
  34. package/dist/web/dist/_next/static/chunks/app/layout-af39afc7866e74db.js +1 -0
  35. package/dist/web/dist/_next/static/chunks/app/logs/page-be50a4e10b1a0024.js +1 -0
  36. package/dist/web/dist/_next/static/chunks/app/matching/jobs/[id]/talents/page-cf445b0cb8c2cb0a.js +1 -0
  37. package/dist/web/dist/_next/static/chunks/app/matching/portraits/[id]/jobs/page-c7ff0d79b6a75915.js +1 -0
  38. package/dist/web/dist/_next/static/chunks/app/page-bd282e1e5f0965f1.js +1 -0
  39. package/dist/web/dist/_next/static/chunks/app/parselog/page-9814e75d6900a743.js +1 -0
  40. package/dist/web/dist/_next/static/chunks/app/recordings/page-441016638b43c4f8.js +1 -0
  41. package/dist/web/dist/_next/static/chunks/app/resource-usage/page-f6fa06bfe21bcd32.js +1 -0
  42. package/dist/web/dist/_next/static/chunks/app/shared/[token]/page-c9c5042a2d07c0bc.js +1 -0
  43. package/dist/web/dist/_next/static/chunks/app/snapshots/[id]/agent-prompt/page-f54cf2f0058035ca.js +1 -0
  44. package/dist/web/dist/_next/static/chunks/app/talents/page-c0a0c250eb5f5459.js +1 -0
  45. package/dist/web/dist/_next/static/chunks/app/team/insights/page-8b3934df3e292368.js +1 -0
  46. package/dist/web/dist/_next/static/chunks/framework-8aa939434277315a.js +1 -0
  47. package/dist/web/dist/_next/static/chunks/main-8a2c75d6c43385dd.js +1 -0
  48. package/dist/web/dist/_next/static/chunks/main-app-f496bd51a73ef9f3.js +1 -0
  49. package/dist/web/dist/_next/static/chunks/pages/_app-037e1cd81d653e68.js +4 -0
  50. package/dist/web/dist/_next/static/chunks/pages/_error-59095d3b83385d1f.js +1 -0
  51. package/dist/web/dist/_next/static/chunks/{webpack-cf21e951181fd345.js → webpack-54e74ccc9e9451ee.js} +1 -1
  52. package/dist/web/dist/_next/static/css/bd072fee69ae8474.css +3 -0
  53. package/dist/web/dist/admin/data.html +1 -1
  54. package/dist/web/dist/admin/data.txt +8 -6
  55. package/dist/web/dist/auth/verify.html +1 -1
  56. package/dist/web/dist/auth/verify.txt +8 -6
  57. package/dist/web/dist/companies.html +1 -1
  58. package/dist/web/dist/companies.txt +9 -7
  59. package/dist/web/dist/company/admin.html +1 -1
  60. package/dist/web/dist/company/admin.txt +8 -6
  61. package/dist/web/dist/entity.html +1 -1
  62. package/dist/web/dist/entity.txt +9 -7
  63. package/dist/web/dist/index.html +1 -1
  64. package/dist/web/dist/index.txt +9 -7
  65. package/dist/web/dist/jobs.html +1 -1
  66. package/dist/web/dist/jobs.txt +9 -7
  67. package/dist/web/dist/logs.html +1 -1
  68. package/dist/web/dist/logs.txt +9 -7
  69. package/dist/web/dist/matching/jobs/placeholder/talents.html +1 -1
  70. package/dist/web/dist/matching/jobs/placeholder/talents.txt +8 -6
  71. package/dist/web/dist/matching/portraits/placeholder/jobs.html +1 -1
  72. package/dist/web/dist/matching/portraits/placeholder/jobs.txt +8 -6
  73. package/dist/web/dist/parselog.html +1 -1
  74. package/dist/web/dist/parselog.txt +9 -7
  75. package/dist/web/dist/recordings.html +1 -1
  76. package/dist/web/dist/recordings.txt +9 -7
  77. package/dist/web/dist/resource-usage.html +1 -1
  78. package/dist/web/dist/resource-usage.txt +9 -7
  79. package/dist/web/dist/shared/placeholder.html +1 -1
  80. package/dist/web/dist/shared/placeholder.txt +8 -6
  81. package/dist/web/dist/snapshots/placeholder/agent-prompt.html +1 -1
  82. package/dist/web/dist/snapshots/placeholder/agent-prompt.txt +8 -6
  83. package/dist/web/dist/talents.html +1 -1
  84. package/dist/web/dist/talents.txt +8 -6
  85. package/dist/web/dist/team/insights.html +1 -1
  86. package/dist/web/dist/team/insights.txt +8 -6
  87. package/package.json +1 -1
  88. package/dist/web/dist/_next/static/9Wm8FfXwBJyMk-wYf4l81/_buildManifest.js +0 -1
  89. package/dist/web/dist/_next/static/chunks/166.f30be223f694f8ee.js +0 -1
  90. package/dist/web/dist/_next/static/chunks/1e6d5a0c.0488932e17ecdf24.js +0 -15
  91. package/dist/web/dist/_next/static/chunks/542-4a43545450151f1d.js +0 -1
  92. package/dist/web/dist/_next/static/chunks/589-5e99e548a0ee6bac.js +0 -1
  93. package/dist/web/dist/_next/static/chunks/670-750aa43678fb0d30.js +0 -1
  94. package/dist/web/dist/_next/static/chunks/671.3b8e9cc96b25b6ea.js +0 -1
  95. package/dist/web/dist/_next/static/chunks/686-ade57c57a1737818.js +0 -1
  96. package/dist/web/dist/_next/static/chunks/852-5150a7ae95a599fb.js +0 -1
  97. package/dist/web/dist/_next/static/chunks/935-4058f12c3d405b32.js +0 -5
  98. package/dist/web/dist/_next/static/chunks/a7067448-d3882c7e74c162bf.js +0 -1
  99. package/dist/web/dist/_next/static/chunks/app/_not-found/page-cf5ab201496f0914.js +0 -1
  100. package/dist/web/dist/_next/static/chunks/app/admin/data/page-a566c6b13c61f9d4.js +0 -1
  101. package/dist/web/dist/_next/static/chunks/app/auth/verify/page-38fa28a48f76defa.js +0 -1
  102. package/dist/web/dist/_next/static/chunks/app/companies/page-058047767bc162f4.js +0 -1
  103. package/dist/web/dist/_next/static/chunks/app/company/admin/page-a2088b59c3820800.js +0 -1
  104. package/dist/web/dist/_next/static/chunks/app/entity/page-dc9664fb628e2d08.js +0 -1
  105. package/dist/web/dist/_next/static/chunks/app/jobs/page-4fb6a67d044b238d.js +0 -1
  106. package/dist/web/dist/_next/static/chunks/app/layout-1feb99bf08beb3c8.js +0 -1
  107. package/dist/web/dist/_next/static/chunks/app/logs/page-ccc6bb863cf77e56.js +0 -1
  108. package/dist/web/dist/_next/static/chunks/app/matching/jobs/[id]/talents/page-c6714cec1ffd7c5e.js +0 -1
  109. package/dist/web/dist/_next/static/chunks/app/matching/portraits/[id]/jobs/page-658eca1ae5ca29dc.js +0 -1
  110. package/dist/web/dist/_next/static/chunks/app/page-291cd145a56bd020.js +0 -1
  111. package/dist/web/dist/_next/static/chunks/app/parselog/page-b1b7ae9483273ce0.js +0 -1
  112. package/dist/web/dist/_next/static/chunks/app/recordings/page-c12948f01885099e.js +0 -1
  113. package/dist/web/dist/_next/static/chunks/app/resource-usage/page-8394e96892688180.js +0 -1
  114. package/dist/web/dist/_next/static/chunks/app/shared/[token]/page-e859e87f2301b120.js +0 -1
  115. package/dist/web/dist/_next/static/chunks/app/snapshots/[id]/agent-prompt/page-f519552be54e3bdf.js +0 -1
  116. package/dist/web/dist/_next/static/chunks/app/talents/page-75af05473ea322d9.js +0 -1
  117. package/dist/web/dist/_next/static/chunks/app/team/insights/page-7b8769e35cd9987b.js +0 -1
  118. package/dist/web/dist/_next/static/chunks/framework-b3a558b17a070965.js +0 -1
  119. package/dist/web/dist/_next/static/chunks/main-8d45182e1c21cb95.js +0 -1
  120. package/dist/web/dist/_next/static/chunks/main-app-70da092dee991648.js +0 -1
  121. package/dist/web/dist/_next/static/chunks/pages/_app-8438560f1c1a7980.js +0 -4
  122. package/dist/web/dist/_next/static/chunks/pages/_error-17756f67e0a11350.js +0 -1
  123. package/dist/web/dist/_next/static/css/9eaf0c9cc1c24641.css +0 -3
  124. /package/dist/web/dist/_next/static/{9Wm8FfXwBJyMk-wYf4l81 → cIjUG1nvMEwYon0Zb8dYt}/_ssgManifest.js +0 -0
@@ -1 +0,0 @@
1
- !function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},t=(new e.Error).stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="3a850503-4205-4fa7-8109-33373e9cce2e",e._sentryDebugIdIdentifier="sentry-dbid-3a850503-4205-4fa7-8109-33373e9cce2e")}catch(e){}}();"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[542],{9616:function(e,t,a){a.d(t,{I:function(){return x},v:function(){return p}});var s=a(2835),n=a(635),r=a(4431),l=a(4704);function o(e){let t=null!=e?e:"<职位管理页 tabId>";return["公共纪律(全文 SSOT: hunter-mate-harness .harness/workflows/subagent-job-platform-ops.md,先读再动手):",'0. 浏览器操作只走 hunter-mate extension *;控制命令 JSON 显式带 "__tab":"'.concat(t,'"(cp.tab.* 子命令用 "tab":"').concat(t,'");录制 title 带 job-ops- 前缀;执行环境带写护栏先切 SINGLE_REPO_DEV。'),"1. 风控红线:cp.eval 读 location.href/document.title 判页面存活;CAPTCHA/登录墙/空白杀 → 立即 halt 当日不重试;eval ≥2s、字段填写 ≥1.5s、切页 3-5s(human-paced,平台数值以 risk-profile 为准)。","2. 回写契约:结果必须调 hunter-mate API 落库并 GET 读回;只操作不落库=未完成。凭证零落地:平台账号密码不入库,note 只记别名。"].join("\n")}function d(e,t,a,s,n){return["[hunter-mate] ".concat(e),"","职位案件: #".concat(t," ").concat(a,"(平台槽位: ").concat(s,")"),"API 基址: http://127.0.0.1:34571",...n?["平台页 tab: ".concat(n,"(已开则定向复用;未开用 hunter-mate extension 后台新开,禁 CDP 附加导航)")]:[],""].join("\n")}function c(e){return[d("收简历:到平台收件箱收取本案职位简历,落人才库并回写简历流水。",e.jobCaseId,e.title,e.platform),o(),"","执行步骤:","1. 前置:GET /job-cases/".concat(e.jobCaseId,"/postings 确认 ").concat(e.platform," 槽位 status=published(未发布无收件箱)。"),"2. 打开收件箱(猎聘=职位详情页 /job/gethjobdetail?hjobId=<id> 内待处理简历区;入口结构按 flows/resume-collect.yaml,标 recon-pending 处先只读 recon 固化再提取)。","3. 逐份提取:候选人姓名/接收时间;详情走既有 talent adapter 落人才库,命中已有人才复用 talentEntityId(dedup 结论),不重复建档。","4. 回写:先 GET /job-cases/".concat(e.jobCaseId,"/applications 查重(同人同案跳过),再 POST /job-cases/").concat(e.jobCaseId,'/applications {name, platform:"').concat(e.platform,'", talentEntityId?, note};单平台单次 ≤20 份;回写后 GET 读回确认。'),"5. 只读平台:沟通/回复/下载等任何平台写操作不在范围。"].join("\n")}let i={draft:{label:"待发布",cls:"bg-gray-100 text-gray-500"},published:{label:"已发布",cls:"bg-emerald-100 text-emerald-700"},offline:{label:"已下线",cls:"bg-gray-200 text-gray-400"}},u=["job","job-list","job-detail"];function p(e){let{platform:t,sm:a}=e,n=(0,l.mS)(t);return(0,s.jsx)("span",{title:t,className:"inline-flex items-center justify-center rounded bg-[color:var(--brand-soft)] font-semibold ".concat(a?"h-3.5 w-3.5 text-[8px]":"h-4 w-4 text-[9px]"),style:{color:n.fg},children:n.label})}function b(e){let{text:t,label:a,primary:r}=e,[l,o]=(0,n.useState)(!1);return(0,s.jsx)("button",{type:"button",onClick:async()=>{try{await navigator.clipboard.writeText(t)}catch(a){let e=document.createElement("textarea");e.value=t,document.body.appendChild(e),e.select(),document.execCommand("copy"),e.remove()}o(!0),window.setTimeout(()=>o(!1),2e3)},className:r?"rounded bg-blue-600 px-2 py-1 text-xs text-white hover:bg-blue-700":"rounded border border-blue-300 px-1.5 py-0.5 text-xs text-blue-700 hover:bg-blue-50",children:l?"已复制 ✓":a})}function x(e){var t,a;let{jobCaseId:l,caseTitle:x}=e,[m,g]=(0,n.useState)([]),[h,y]=(0,n.useState)([]),[f,j]=(0,n.useState)(new Set),[v,N]=(0,n.useState)(""),[w,C]=(0,n.useState)([]),[S,k]=(0,n.useState)(!1),[I,E]=(0,n.useState)(""),[T,A]=(0,n.useState)(null),[P,_]=(0,n.useState)(null),[D,O]=(0,n.useState)(""),[G,H]=(0,n.useState)([]),[J,L]=(0,n.useState)(!1),[U,R]=(0,n.useState)([]),[M,q]=(0,n.useState)(""),[K,V]=(0,n.useState)(""),[W,z]=(0,n.useState)(""),B=(0,n.useCallback)(async()=>{let e=await (0,r.rd)("/job-cases/".concat(l,"/postings"));g(null!=e?e:[]);let t=await (0,r.rd)("/job-cases/".concat(l,"/applications"));R(null!=t?t:[])},[l]);(0,n.useEffect)(()=>{B(),(0,r.rd)("/job-postings/sources").then(e=>C(null!=e?e:[])),(0,r.rd)("/adapters/capabilities").then(e=>{var t;return y(null!==(t=null==e?void 0:e.platforms)&&void 0!==t?t:[])})},[B]);let F=(0,n.useCallback)(e=>{let t=e.trim().toLowerCase();return h.find(e=>e.platform===t||t.includes(e.platform)||e.platform.includes(t))},[h]),Q=(0,n.useCallback)(async(e,t,a)=>{k(!0),E("");let s=await (0,r.rd)(e,{method:t,headers:{"Content-Type":"application/json"},body:null!=a?JSON.stringify(a):void 0});return(k(!1),null==s&&"DELETE"!==t)?(E("操作失败(服务端拒绝或网络错误)"),!1):(await B(),!0)},[B]),X=(0,n.useCallback)(async()=>{var e;let t=await (0,r.rd)("/entities?type=job&limit=10&q=".concat(encodeURIComponent(D.trim())));H(null!==(e=null==t?void 0:t.items)&&void 0!==e?e:[])},[D]),Y=(0,n.useCallback)(async(e,t)=>{("new"===e?await Q("/job-cases/".concat(l,"/postings"),"POST",{platform:t.source,jobPostingId:t.id,status:"published"}):await Q("/job-case-postings/".concat(e),"PATCH",{jobPostingId:t.id,status:"published"}))&&(_(null),H([]),O(""))},[Q,l]),Z=(0,n.useMemo)(()=>{let e=new Set;for(let t of m)e.add(t.platform);for(let t of U)t.platform&&e.add(t.platform);return Array.from(e).sort()},[m,U]),$=Z.includes(M)?M:null!==(t=Z[0])&&void 0!==t?t:"",ee=(0,n.useMemo)(()=>U.filter(e=>{var t;return(null!==(t=e.platform)&&void 0!==t?t:"")===$}),[U,$]),et=m.filter(e=>f.has(e.id)).map(e=>e.platform);return(0,s.jsxs)("div",{className:"space-y-3",children:[(0,s.jsx)("div",{className:"flex items-center gap-2 text-xs text-gray-400",children:(0,s.jsx)("span",{children:"发布是 agent 平台适配能力:勾选平台后复制任务 prompt 给 agent 执行;手动操作收在「手动」里。"})}),I?(0,s.jsx)("div",{className:"text-xs text-red-500",children:I}):null,(0,s.jsxs)("div",{className:"flex items-center gap-2",children:[(0,s.jsx)(b,{primary:!0,label:"让Agent同步检查".concat(et.length?"(".concat(et.join("、"),")"):""),text:[d("职位已发布同步检查:到平台职位管理页核对本案职位是否已发布,回写槽位状态。",(a={jobCaseId:l,title:x,platforms:et.length?et:["<勾选平台>"]}).jobCaseId,a.title,a.platforms.join("、"),a.tabId),o(a.tabId),"","执行步骤:","1. GET /job-cases/".concat(a.jobCaseId,"/postings 读目标平台槽位(须有 pid;无槽位先 POST 建 draft 槽位)。"),"2. 打开平台职位管理页(猎聘=https://h.liepin.com/job/showlistpage?jobStatus=11);解析优先走 adapter:录制该页 → recordings show <sid> --parse(jobs-list adapter);adapter 未就绪按 flows/job-sync.yaml recon 选择器只读提取(标 assumed)。","3. 标题归一化比对(去空白/全半角/大小写;企业名包装差异忽略):命中 → 取平台行 id+状态;同标题多行取最新,note 记全部候选。",'4. 回写:命中 → PATCH /job-case-postings/<pid> {status:"published", note:"synced <date> 平台行=<id> 平台状态=<status>"};未命中 → note 记"未找到发布 <date>",status 保持 draft。',"5. 平台有而本地 job_postings 无 → 触发 adapter parse 落库后再补链接;全部回写后 GET 读回确认。"].join("\n")}),(0,s.jsx)("span",{className:"text-xs text-gray-400",children:et.length?"把 prompt 贴给 agent,回写后刷新可见":"先勾选下方平台槽位"})]}),(0,s.jsx)("div",{className:"space-y-1.5",children:0===m.length?(0,s.jsx)("div",{className:"rounded border border-dashed border-gray-200 p-4 text-center text-xs text-gray-400",children:"还没有平台槽位,先在下方添加"}):m.map(e=>{var t,a;let n=F(e.platform),r=!!n&&n.rules>0,m=!!n&&n.pageClasses.some(e=>u.some(t=>e.startsWith(t)));return(0,s.jsxs)("div",{className:"flex items-center gap-2 rounded border border-gray-200 px-2.5 py-1.5 text-sm",children:[(0,s.jsx)("input",{type:"checkbox",checked:f.has(e.id),onChange:t=>{let a=new Set(f);t.target.checked?a.add(e.id):a.delete(e.id),j(a)},title:"勾选后纳入同步检查"}),(0,s.jsx)(p,{platform:e.platform}),(0,s.jsx)("span",{className:"w-24 truncate font-medium text-gray-800",children:e.platform}),(0,s.jsx)("span",{className:"rounded px-1.5 py-0.5 text-[10px] ".concat(r?"bg-blue-50 text-blue-600":"bg-gray-100 text-gray-400"),title:n?"adapter rules=".concat(n.rules," pageClasses=").concat(n.pageClasses.join(",")):"adapter 未登记",children:r?m?"适配\xb7职位":"适配\xb7人才":"未适配"}),(0,s.jsx)("span",{className:"rounded px-1.5 py-0.5 text-xs ".concat(i[e.status].cls),children:i[e.status].label}),e.posting?(0,s.jsxs)("a",{href:e.posting.sourceUrl,target:"_blank",rel:"noreferrer",className:"min-w-0 flex-1 truncate text-xs text-blue-600 hover:underline",title:e.posting.sourceUrl,children:[null!==(t=e.posting.title)&&void 0!==t?t:"(无标题)",e.posting.company?" \xb7 ".concat(e.posting.company):""]}):(0,s.jsx)("span",{className:"flex-1 text-xs text-gray-300",children:"未链接发布"}),e.publishedAt?(0,s.jsx)("span",{className:"text-xs text-gray-400",children:e.publishedAt.slice(0,10)}):null,(0,s.jsxs)("span",{className:"flex items-center gap-1 text-xs",children:["published"!==e.status?(0,s.jsx)(b,{label:"让Agent发布",text:[d("发布职位(谨慎级写操作,费用敏感):代用户在平台发布本职位,查重前置(禁止重复发布)→资格前置→recon→填单→自检→提交→回写。",(a={jobCaseId:l,title:x,platform:e.platform}).jobCaseId,a.title,a.platform,a.tabId),o(a.tabId),"","执行步骤:","1. 资格硬闸门:读平台发布资格(猎聘=职位管理页顶《猎头诚信联盟承诺函》审核状态+账户资源配额);不足 → halt 报告,不绕过。",'2. 查重硬闸门(发布可能产生费用,禁止重复发布):先做同步检查同款列表核对(adapter parse 优先,标题归一化比对本案职位);命中已发布/审核中 → 立即 halt,回报用户裁定"再发重复 vs 旧职位修改再发",不得自行决定;未命中须把比对证据(行数+标题集合)写进汇报。',"2b. 费用意识:发布前 recon 平台收费规则(不可见标 assumed 并声明);同平台同职位只发一次,再发/多平台代发须用户逐个授权。","3. 表单 recon:打开发职位页(猎聘=职位管理「发职位」入口,禁直达表单 URL),按 flows/job-publish.yaml 字段清单逐项读控件;recon-pending 项首跑只 recon 不提交,补录 flow 后再执行。","4. 填单(JobCase #".concat(a.jobCaseId,"):").concat(a.jd?"JD 摘要:".concat(a.jd):"职位信息以 JobCase 详情为准",";每字段间隔 ≥2s,eval 间隔 ≥3s(表单页红线)。"),"5. 提交前自检:cp.eval 读表单全部已填值与期望逐字段比对;提交前状态录一次(录制最后一镜)。","6. 提交+读回:点击提交 → 等审核态/结果文案 → 读平台状态;提交步出现 CAPTCHA/二次验证 → 立即 halt 报告人工,绝不重试提交。",'7. 回写:PATCH /job-case-postings/<pid> {status:"published", note:"published <date> 平台状态=<审核中|已发布|失败原因原文> 查重证据=<行数+标题>"};失败完整回写原因;等平台列表可见后走同步检查补链接。'].join("\n")}):(0,s.jsx)(b,{label:"让Agent收简历",text:c({jobCaseId:l,title:x,platform:e.platform})}),(0,s.jsx)("button",{type:"button",onClick:()=>A(T===e.id?null:e.id),className:"rounded border border-gray-200 px-1.5 py-0.5 text-gray-400 hover:bg-gray-50",children:"手动"})]}),T===e.id?(0,s.jsxs)("span",{className:"flex items-center gap-1 text-xs",children:["published"!==e.status?(0,s.jsx)("button",{type:"button",disabled:S,onClick:()=>void Q("/job-case-postings/".concat(e.id),"PATCH",{status:"published"}),className:"rounded border border-emerald-300 px-1.5 py-0.5 text-emerald-700 hover:bg-emerald-50",children:"标记已发布"}):(0,s.jsx)("button",{type:"button",disabled:S,onClick:()=>void Q("/job-case-postings/".concat(e.id),"PATCH",{status:"offline"}),className:"rounded border border-gray-300 px-1.5 py-0.5 text-gray-500 hover:bg-gray-50",children:"下线"}),(0,s.jsx)("button",{type:"button",disabled:S,onClick:()=>{_(P===e.id?null:e.id),O(""),H([])},className:"rounded border border-blue-300 px-1.5 py-0.5 text-blue-700 hover:bg-blue-50",children:e.posting?"换链接":"链接发布"}),(0,s.jsx)("button",{type:"button",disabled:S,onClick:()=>void Q("/job-case-postings/".concat(e.id),"DELETE"),className:"rounded border border-gray-200 px-1.5 py-0.5 text-gray-400 hover:bg-red-50 hover:text-red-500",children:"删除槽位"})]}):null]},e.id)})}),null!=P?(0,s.jsxs)("div",{className:"rounded border border-blue-200 bg-blue-50/50 p-2",children:[(0,s.jsxs)("div",{className:"flex gap-1.5",children:[(0,s.jsx)("input",{type:"text",value:D,onChange:e=>O(e.target.value),onKeyDown:e=>"Enter"===e.key&&void X(),placeholder:"按标题/公司搜索解析库里的职位发布…",className:"flex-1 rounded border border-gray-300 px-2 py-1 text-xs outline-none focus:border-blue-500"}),(0,s.jsx)("button",{type:"button",onClick:()=>void X(),className:"rounded bg-blue-600 px-2 py-1 text-xs text-white hover:bg-blue-700",children:"搜索"})]}),(0,s.jsxs)("div",{className:"mt-1.5 space-y-1",children:[G.map(e=>{var t;return(0,s.jsxs)("button",{type:"button",onClick:()=>void Y(P,e),className:"block w-full truncate rounded bg-white px-2 py-1 text-left text-xs hover:bg-blue-100",title:e.sourceUrl,children:[(0,s.jsx)(p,{platform:e.source,sm:!0})," ",null!==(t=e.title)&&void 0!==t?t:"(无标题)",e.company?" \xb7 ".concat(e.company):""," ",(0,s.jsxs)("span",{className:"text-gray-400",children:["(",e.source,")"]})]},e.id)}),0===G.length&&D?(0,s.jsx)("div",{className:"text-xs text-gray-400",children:"无匹配,换个关键词"}):null]})]}):null,(0,s.jsxs)("div",{className:"flex items-center gap-1.5 border-t border-gray-100 pt-2",children:[(0,s.jsx)("input",{type:"text",list:"hm-known-platforms",value:v,onChange:e=>N(e.target.value),placeholder:"平台名(如 liepin.com / 拉勾)",className:"w-56 rounded border border-gray-300 px-2 py-1 text-xs outline-none focus:border-blue-500"}),(0,s.jsx)("datalist",{id:"hm-known-platforms",children:w.map(e=>(0,s.jsx)("option",{value:e},e))}),(0,s.jsx)("button",{type:"button",disabled:S||!v.trim(),onClick:()=>void Q("/job-cases/".concat(l,"/postings"),"POST",{platform:v.trim()}).then(e=>e&&N("")),className:"rounded border border-gray-300 px-2 py-1 text-xs hover:bg-gray-50 disabled:opacity-40",children:"添加待发布"}),(0,s.jsx)("button",{type:"button",disabled:S||!v.trim(),onClick:()=>{_("new"),O(v.trim()),X()},className:"rounded border border-blue-300 px-2 py-1 text-xs text-blue-700 hover:bg-blue-50 disabled:opacity-40",children:"添加并链接发布…"})]}),(0,s.jsxs)("section",{className:"border-t border-gray-100 pt-3",children:[(0,s.jsxs)("div",{className:"mb-1.5 flex items-center justify-between",children:[(0,s.jsxs)("h3",{className:"text-sm font-medium text-gray-800",children:["收到的简历(",U.length,")"]}),$?(0,s.jsx)(b,{label:"让Agent收简历",text:c({jobCaseId:l,title:x,platform:$})}):null]}),Z.length?(0,s.jsx)("div",{className:"mb-2 flex gap-1",children:Z.map(e=>(0,s.jsxs)("button",{type:"button",onClick:()=>q(e),className:"flex items-center gap-1 rounded px-2 py-1 text-xs ".concat($===e?"bg-[color:var(--brand-soft)] font-medium text-[color:var(--brand-strong)]":"text-gray-500 hover:bg-gray-100"),children:[(0,s.jsx)(p,{platform:e,sm:!0}),e,(0,s.jsxs)("span",{className:"text-gray-400",children:["(",U.filter(t=>{var a;return(null!==(a=t.platform)&&void 0!==a?a:"")===e}).length,")"]})]},e))}):(0,s.jsx)("div",{className:"rounded border border-dashed border-gray-200 p-3 text-center text-xs text-gray-400",children:"还没有平台槽位;添加平台并发布后,按平台收简历"}),$?0===ee.length?(0,s.jsxs)("div",{className:"rounded border border-dashed border-gray-200 p-3 text-center text-xs text-gray-400",children:[$," 还没有收到简历"]}):(0,s.jsx)("div",{className:"space-y-1",children:ee.map(e=>{var t,a;return(0,s.jsxs)("div",{className:"flex items-center gap-2 rounded border border-gray-100 px-2 py-1 text-xs",children:[(0,s.jsx)("span",{className:"font-medium text-gray-800",children:e.name}),(null===(t=e.posting)||void 0===t?void 0:t.title)?(0,s.jsx)("span",{className:"min-w-0 flex-1 truncate text-gray-400",children:e.posting.title}):(0,s.jsx)("span",{className:"flex-1"}),e.note?(0,s.jsx)("span",{className:"text-gray-400",children:e.note}):null,(0,s.jsx)("span",{className:"text-gray-400",children:null===(a=e.receivedAt)||void 0===a?void 0:a.slice(0,10)}),(0,s.jsx)("button",{type:"button",disabled:S,onClick:()=>void Q("/job-applications/".concat(e.id),"DELETE"),className:"text-gray-300 hover:text-red-500",children:"✕"})]},e.id)})}):null,(0,s.jsxs)("div",{className:"mt-2",children:[(0,s.jsx)("button",{type:"button",onClick:()=>L(!J),className:"text-xs text-gray-400 underline hover:text-gray-600",children:J?"收起手动录入":"手动录入简历(agent 不在场兜底)"}),J?(0,s.jsxs)("div",{className:"mt-1.5 flex items-center gap-1.5",children:[(0,s.jsx)("input",{type:"text",value:K,onChange:e=>V(e.target.value),placeholder:"候选人姓名",className:"w-36 rounded border border-gray-300 px-2 py-1 text-xs outline-none focus:border-blue-500"}),(0,s.jsxs)("span",{className:"text-xs text-gray-500",children:["平台=",(0,s.jsx)("b",{children:$||"未选"})]}),(0,s.jsx)("input",{type:"text",value:W,onChange:e=>z(e.target.value),placeholder:"备注(可空)",className:"w-44 rounded border border-gray-300 px-2 py-1 text-xs outline-none focus:border-blue-500"}),(0,s.jsx)("button",{type:"button",disabled:S||!K.trim()||!$,onClick:()=>void Q("/job-cases/".concat(l,"/applications"),"POST",{name:K.trim(),platform:$,note:W.trim()||void 0}).then(e=>{e&&(V(""),z(""))}),className:"rounded border border-gray-300 px-2 py-1 text-xs hover:bg-gray-50 disabled:opacity-40",children:"录入"})]}):null]})]})]})}},8801:function(e,t,a){a.d(t,{hm:function(){return c},mJ:function(){return u},oU:function(){return i}});var s=a(635);let n="hm-view-mode",r=new Set;function l(){return"bd"===window.localStorage.getItem(n)?"bd":"delivery"}function o(e){return r.add(e),()=>r.delete(e)}function d(e){"undefined"!=typeof document&&(document.documentElement.dataset.view=e)}function c(e){window.localStorage.setItem(n,e),d(e),r.forEach(e=>e())}function i(){d(l())}function u(e){let t=(0,s.useSyncExternalStore)(o,l,()=>"delivery");return null!=e?e:t}}}]);
@@ -1 +0,0 @@
1
- !function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},t=(new e.Error).stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="221bbda7-1fb7-47ba-8a9c-b0990fb3f4fd",e._sentryDebugIdIdentifier="sentry-dbid-221bbda7-1fb7-47ba-8a9c-b0990fb3f4fd")}catch(e){}}();"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[589],{5589:function(e,t,n){n.d(t,{default:function(){return o.a}});var r=n(6867),o=n.n(r)},4656:function(e,t,n){function r(e,t,n,r){return!1}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"getDomainLocale",{enumerable:!0,get:function(){return r}}),n(2693),("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},6867:function(e,t,n){Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return j}});let r=n(8422),o=n(2835),l=r._(n(635)),u=n(6197),f=n(3076),a=n(7119),i=n(5898),c=n(4828),d=n(1931),s=n(3700),p=n(6274),b=n(4656),y=n(1533),h=n(6e3),v=new Set;function g(e,t,n,r,o,l){if("undefined"!=typeof window&&(l||(0,f.isLocalURL)(t))){if(!r.bypassPrefetchedCheck){let o=t+"%"+n+"%"+(void 0!==r.locale?r.locale:"locale"in e?e.locale:void 0);if(v.has(o))return;v.add(o)}(async()=>l?e.prefetch(t,o):e.prefetch(t,n,r))().catch(e=>{})}}function _(e){return"string"==typeof e?e:(0,a.formatUrl)(e)}let j=l.default.forwardRef(function(e,t){let n,r;let{href:a,as:v,children:j,prefetch:k=null,passHref:C,replace:m,shallow:M,scroll:P,locale:w,onClick:O,onMouseEnter:E,onTouchStart:I,legacyBehavior:L=!1,...x}=e;n=j,L&&("string"==typeof n||"number"==typeof n)&&(n=(0,o.jsx)("a",{children:n}));let R=l.default.useContext(d.RouterContext),D=l.default.useContext(s.AppRouterContext),T=null!=R?R:D,S=!R,U=!1!==k,K=null===k?h.PrefetchKind.AUTO:h.PrefetchKind.FULL,{href:A,as:N}=l.default.useMemo(()=>{if(!R){let e=_(a);return{href:e,as:v?_(v):e}}let[e,t]=(0,u.resolveHref)(R,a,!0);return{href:e,as:v?(0,u.resolveHref)(R,v):t||e}},[R,a,v]),H=l.default.useRef(A),q=l.default.useRef(N);L&&(r=l.default.Children.only(n));let z=L?r&&"object"==typeof r&&r.ref:t,[B,F,G]=(0,p.useIntersection)({rootMargin:"200px"}),J=l.default.useCallback(e=>{(q.current!==N||H.current!==A)&&(G(),q.current=N,H.current=A),B(e),z&&("function"==typeof z?z(e):"object"==typeof z&&(z.current=e))},[N,z,A,G,B]);l.default.useEffect(()=>{T&&F&&U&&g(T,A,N,{locale:w},{kind:K},S)},[N,A,F,w,U,null==R?void 0:R.locale,T,S,K]);let Q={ref:J,onClick(e){L||"function"!=typeof O||O(e),L&&r.props&&"function"==typeof r.props.onClick&&r.props.onClick(e),T&&!e.defaultPrevented&&function(e,t,n,r,o,u,a,i,c){let{nodeName:d}=e.currentTarget;if("A"===d.toUpperCase()&&(function(e){let t=e.currentTarget.getAttribute("target");return t&&"_self"!==t||e.metaKey||e.ctrlKey||e.shiftKey||e.altKey||e.nativeEvent&&2===e.nativeEvent.which}(e)||!c&&!(0,f.isLocalURL)(n)))return;e.preventDefault();let s=()=>{let e=null==a||a;"beforePopState"in t?t[o?"replace":"push"](n,r,{shallow:u,locale:i,scroll:e}):t[o?"replace":"push"](r||n,{scroll:e})};c?l.default.startTransition(s):s()}(e,T,A,N,m,M,P,w,S)},onMouseEnter(e){L||"function"!=typeof E||E(e),L&&r.props&&"function"==typeof r.props.onMouseEnter&&r.props.onMouseEnter(e),T&&(U||!S)&&g(T,A,N,{locale:w,priority:!0,bypassPrefetchedCheck:!0},{kind:K},S)},onTouchStart:function(e){L||"function"!=typeof I||I(e),L&&r.props&&"function"==typeof r.props.onTouchStart&&r.props.onTouchStart(e),T&&(U||!S)&&g(T,A,N,{locale:w,priority:!0,bypassPrefetchedCheck:!0},{kind:K},S)}};if((0,i.isAbsoluteUrl)(N))Q.href=N;else if(!L||C||"a"===r.type&&!("href"in r.props)){let e=void 0!==w?w:null==R?void 0:R.locale,t=(null==R?void 0:R.isLocaleDomain)&&(0,b.getDomainLocale)(N,e,null==R?void 0:R.locales,null==R?void 0:R.domainLocales);Q.href=t||(0,y.addBasePath)((0,c.addLocale)(N,e,null==R?void 0:R.defaultLocale))}return L?l.default.cloneElement(r,Q):(0,o.jsx)("a",{...x,...Q,children:n})});("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},6274:function(e,t,n){Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"useIntersection",{enumerable:!0,get:function(){return a}});let r=n(635),o=n(1935),l="function"==typeof IntersectionObserver,u=new Map,f=[];function a(e){let{rootRef:t,rootMargin:n,disabled:a}=e,i=a||!l,[c,d]=(0,r.useState)(!1),s=(0,r.useRef)(null),p=(0,r.useCallback)(e=>{s.current=e},[]);return(0,r.useEffect)(()=>{if(l){if(i||c)return;let e=s.current;if(e&&e.tagName)return function(e,t,n){let{id:r,observer:o,elements:l}=function(e){let t;let n={root:e.root||null,margin:e.rootMargin||""},r=f.find(e=>e.root===n.root&&e.margin===n.margin);if(r&&(t=u.get(r)))return t;let o=new Map;return t={id:n,observer:new IntersectionObserver(e=>{e.forEach(e=>{let t=o.get(e.target),n=e.isIntersecting||e.intersectionRatio>0;t&&n&&t(n)})},e),elements:o},f.push(n),u.set(n,t),t}(n);return l.set(e,t),o.observe(e),function(){if(l.delete(e),o.unobserve(e),0===l.size){o.disconnect(),u.delete(r);let e=f.findIndex(e=>e.root===r.root&&e.margin===r.margin);e>-1&&f.splice(e,1)}}}(e,e=>e&&d(e),{root:null==t?void 0:t.current,rootMargin:n})}else if(!c){let e=(0,o.requestIdleCallback)(()=>d(!0));return()=>(0,o.cancelIdleCallback)(e)}},[i,n,t,c,s.current]),[p,c,(0,r.useCallback)(()=>{d(!1)},[])]}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)}}]);
@@ -1 +0,0 @@
1
- !function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},t=(new e.Error).stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="93683638-004d-4d7d-92fd-76a24f6a7549",e._sentryDebugIdIdentifier="sentry-dbid-93683638-004d-4d7d-92fd-76a24f6a7549")}catch(e){}}();"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[670],{7473:function(e,t,n){var l=n(8321);n.o(l,"useParams")&&n.d(t,{useParams:function(){return l.useParams}}),n.o(l,"usePathname")&&n.d(t,{usePathname:function(){return l.usePathname}}),n.o(l,"useRouter")&&n.d(t,{useRouter:function(){return l.useRouter}}),n.o(l,"useSearchParams")&&n.d(t,{useSearchParams:function(){return l.useSearchParams}})},4518:function(e,t,n){n.d(t,{m:function(){return r}});var l=n(2835);function r(e){let{filterBar:t,listPanel:n,detailPanel:r}=e;return(0,l.jsxs)("div",{className:"flex h-full",children:[(0,l.jsxs)("div",{className:"flex w-80 flex-col border-r border-gray-200 bg-white",children:[t,n]}),(0,l.jsx)("div",{className:"flex-1 overflow-auto bg-gray-50 p-6",children:r})]})}},3718:function(e,t,n){n.d(t,{L:function(){return a}});var l=n(2835),r=n(635);function a(e){let{items:t,selectedId:n,onSelect:a,loading:s,emptyText:i="暂无数据",onLoadMore:u,loadingMore:c,exhausted:o}=e,d=(0,r.useRef)(null);return(0,r.useEffect)(()=>{if(!u)return;let e=d.current;if(!e)return;let t=new IntersectionObserver(e=>{e.some(e=>e.isIntersecting)&&u()},{root:e.closest(".overflow-auto"),rootMargin:"200px"});return t.observe(e),()=>t.disconnect()},[u]),(0,l.jsxs)("div",{className:"flex-1 overflow-auto",children:[s?(0,l.jsx)("div",{className:"p-4 text-center text-sm text-gray-400",children:"加载中…"}):0===t.length?(0,l.jsx)("div",{className:"p-4 text-center text-sm text-gray-400",children:i}):(0,l.jsx)("ul",{className:"divide-y divide-gray-100",children:t.map(e=>(0,l.jsx)("li",{role:"button",tabIndex:0,onClick:()=>a(e.id),onKeyDown:t=>{("Enter"===t.key||" "===t.key)&&a(e.id)},className:"cursor-pointer px-3 py-2 text-sm transition-colors ".concat(n===e.id?"bg-blue-50":"hover:bg-gray-50"),children:e.content},e.id))}),u&&!s&&t.length>0&&(0,l.jsx)("div",{ref:d,className:"p-3 text-center text-xs text-gray-400",children:c?"加载更多…":o?"没有更多了":""})]})}},5912:function(e,t,n){n.d(t,{dy:function(){return d},h5:function(){return f},oj:function(){return s},rY:function(){return x}});var l=n(2835),r=n(8448),a=n(4704);function s(e){let{name:t,headline:n,source:a,updatedAt:s}=e;return(0,l.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,l.jsx)("div",{className:"font-medium text-gray-900",children:t}),n?(0,l.jsx)("div",{className:"truncate text-xs text-gray-500",children:n}):null,(0,l.jsxs)("div",{className:"mt-0.5 flex items-center gap-2 text-xs text-gray-400",children:[a?(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)("span",{children:a}),(0,l.jsx)("span",{children:"\xb7"})]}):null,(0,l.jsx)("span",{children:(0,r.d3)(s)})]})]})}let i={draft:"草稿",active:"交付中",archived:"已归档"},u={recommended:"推",pending_invite:"邀",invited:"发",replied:"复",to_client:"客",interview_pending:"面",interview_scheduled:"试",offer_pending:"o",onboarding:"到",rejected:"否"};function c(e){let{stages:t}=e,n=Object.keys(t);if(!n.length)return null;let r=0,a=0;for(let e of n)r+=t[e].week,a+=t[e].total;return(0,l.jsxs)("div",{className:"mt-1",children:[(0,l.jsx)("div",{className:"flex gap-px overflow-hidden rounded",children:n.map(e=>{var n;let r=t[e],a=r.total>0;return(0,l.jsxs)("span",{title:"".concat(e,": 本周 ").concat(r.week," / 总 ").concat(r.total),className:"flex-1 py-0.5 text-center text-[9px] leading-none ".concat(a?"text-white":"bg-gray-100 text-gray-300"),style:a?{background:"var(--brand)"}:void 0,children:[null!==(n=u[e])&&void 0!==n?n:e.slice(0,1),r.total>0?r.total:""]},e)})}),(0,l.jsxs)("div",{className:"mt-0.5 text-[10px] text-gray-400",children:["本周 +",r," \xb7 共 ",a]})]})}function o(e){let{platforms:t}=e;return t.length?(0,l.jsx)("span",{className:"flex items-center gap-0.5",title:t.join("、"),children:t.map(e=>{let t=(0,a.mS)(e);return(0,l.jsx)("span",{title:e,className:"flex h-4 w-4 items-center justify-center rounded bg-[color:var(--brand-soft)] text-[9px] font-semibold",style:{color:t.fg},children:t.label},e)})}):null}function d(e){var t;let{title:n,status:a,hmhLocal:s,subtitle:u,customerName:d,time:f,stages:x,platforms:m,apps:h}=e;return(0,l.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,l.jsxs)("div",{className:"flex items-center gap-2",children:[(0,l.jsx)("span",{className:"font-medium text-gray-900",children:n}),(0,l.jsx)("span",{className:"rounded px-1.5 py-0.5 text-xs ".concat("active"===a?"bg-emerald-100 text-emerald-700":"bg-gray-100 text-gray-500"),children:null!==(t=i[a])&&void 0!==t?t:a}),s?(0,l.jsx)("span",{className:"rounded bg-purple-100 px-1.5 py-0.5 text-xs text-purple-700",children:"本地"}):null,m?(0,l.jsx)(o,{platforms:m}):null]}),u?(0,l.jsx)("div",{className:"truncate text-xs text-gray-500",children:u}):null,void 0!==d?(0,l.jsx)("div",{className:"text-xs text-gray-500",children:d}):null,x?(0,l.jsx)(c,{stages:x}):null,h?(0,l.jsxs)("div",{className:"mt-0.5 text-[10px] text-gray-400",children:["简历:本周 ",h.week," / 共 ",h.total]}):null,(0,l.jsx)("div",{className:"mt-0.5 text-xs text-gray-400",children:(0,r.d3)(f)})]})}function f(e){var t;let{name:n,headline:a,overall:s,invitationChannel:i,updatedAt:u}=e;return(0,l.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,l.jsxs)("div",{className:"flex items-center gap-2",children:[(0,l.jsx)("span",{className:"font-medium text-gray-900",children:n}),null!=s?(0,l.jsxs)("span",{className:"rounded bg-emerald-100 px-1.5 py-0.5 text-xs text-emerald-700",children:[s,"分"]}):null,i?(0,l.jsx)("span",{className:"rounded bg-sky-100 px-1.5 py-0.5 text-xs text-sky-700",children:null!==(t=({email:"邮件",linkedin:"LinkedIn",wechat:"微信"})[i])&&void 0!==t?t:i}):null]}),a?(0,l.jsx)("div",{className:"truncate text-xs text-gray-500",children:a}):null,(0,l.jsx)("div",{className:"mt-0.5 text-xs text-gray-400",children:(0,r.d3)(u)})]})}function x(e){let{title:t,source:n,company:a,sourceUrl:s,updatedAt:i}=e;return(0,l.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,l.jsxs)("div",{className:"flex items-center gap-2",children:[(0,l.jsx)("span",{className:"font-medium text-gray-900",children:t}),(0,l.jsx)("span",{className:"rounded bg-blue-100 px-1.5 py-0.5 text-xs text-blue-700",children:n})]}),a?(0,l.jsx)("div",{className:"truncate text-xs text-gray-500",children:a}):null,(0,l.jsxs)("div",{className:"mt-0.5 flex items-center gap-2 text-xs text-gray-400",children:[(0,l.jsx)("span",{children:(0,r.d3)(i)}),s?(0,l.jsx)("a",{href:s,target:"_blank",rel:"noreferrer",className:"text-blue-500 hover:underline",onClick:e=>e.stopPropagation(),children:"来源"}):null]})]})}},6119:function(e,t,n){n.d(t,{B:function(){return s}});var l=n(2835),r=n(635),a=n(2182);function s(e){let[t,n]=(0,r.useState)(new Set),[s,i]=(0,r.useState)(null),[u,c]=(0,r.useState)(!1),[o,d]=(0,r.useState)(null),f=(0,r.useCallback)(e=>{n(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n})},[]),x=(0,r.useCallback)(e=>{let t=new Set(e);n(e=>{let n=new Set(Array.from(e).filter(e=>t.has(e)));return n.size===e.size?e:n})},[]),m=(0,r.useCallback)(()=>n(new Set),[]),h=(0,r.useCallback)(e=>(0,l.jsx)("input",{type:"checkbox",className:"mt-1 accent-blue-600",checked:t.has(e),onChange:()=>f(e),onClick:e=>e.stopPropagation()}),[t,f]),g=(0,r.useCallback)(async()=>{if(!s)return;c(!0),d(null);let t=s.ids;try{var l,r;let s=await fetch(e.deleteUrl,{method:"DELETE",headers:{"Content-Type":"application/json"},body:JSON.stringify({ids:t})});if(!s.ok){let l=await s.json().catch(()=>null),i=null==l?void 0:l.message;if(401===s.status){d("登录已过期,请在弹窗中重新登录;登录后自动继续删除"),(0,a.jr)({message:"string"==typeof i?i:"登录已过期,请重新登录",oldUserId:null!==(r=e.currentUserId)&&void 0!==r?r:null,retry:async()=>{var l;let r=await fetch(e.deleteUrl,{method:"DELETE",headers:{"Content-Type":"application/json"},body:JSON.stringify({ids:t})});if(!r.ok){let e=await r.json().catch(()=>null),t=null==e?void 0:e.message;return d("string"==typeof t?t:"续跑删除仍失败,请稍后重试"),!1}return n(new Set),d("已删除 ".concat(t.length," 条")),null===(l=e.onDeleted)||void 0===l||l.call(e),!0}});return}d("string"==typeof i?i:"操作失败,请稍后重试");return}n(new Set),d("已删除 ".concat(t.length," 条")),null===(l=e.onDeleted)||void 0===l||l.call(e)}finally{c(!1),i(null)}},[s,e.deleteUrl,e.onDeleted,e.currentUserId]),p=(0,r.useCallback)(e=>(0,l.jsxs)("div",{className:"flex items-center gap-3 border-t border-gray-100 px-3 py-2",children:[(0,l.jsxs)("label",{className:"flex items-center gap-1.5 text-sm text-gray-600",children:[(0,l.jsx)("input",{type:"checkbox",className:"accent-blue-600",checked:e.length>0&&t.size===e.length,onChange:()=>n(t=>t.size===e.length&&e.length>0?new Set:new Set(e.map(e=>String(e.id))))}),"全选"]}),t.size>0&&(0,l.jsxs)("span",{className:"flex items-center gap-2 text-sm",children:[(0,l.jsxs)("span",{className:"text-gray-500",children:["已选 ",t.size," 条"]}),(0,l.jsx)("button",{type:"button",onClick:()=>i({ids:Array.from(t).map(Number)}),className:"rounded-lg bg-red-600 px-3 py-1 text-white hover:bg-red-700",children:"删除"})]}),o&&(0,l.jsx)("span",{className:"text-xs text-green-600",children:o})]}),[t,o]);return{selectedIds:t,checkbox:h,prune:x,bar:p,modal:(0,r.useCallback)(()=>s?(0,l.jsx)("div",{className:"fixed inset-0 z-50 flex items-center justify-center bg-black/40",children:(0,l.jsxs)("div",{className:"w-96 rounded-xl bg-white p-6 shadow-xl",children:[(0,l.jsx)("h3",{className:"text-base font-semibold text-gray-900",children:"删除确认"}),(0,l.jsxs)("p",{className:"mt-3 text-sm text-gray-600",children:["确定删除选中的 ",s.ids.length," 条",e.label,"吗?删除后不能自行恢复;如误删,请联系管理员找回。"]}),(0,l.jsxs)("div",{className:"mt-6 flex justify-end gap-2",children:[(0,l.jsx)("button",{type:"button",disabled:u,onClick:()=>i(null),className:"rounded-lg px-4 py-1.5 text-sm text-gray-600 hover:bg-gray-100",children:"取消"}),(0,l.jsx)("button",{type:"button",disabled:u,onClick:()=>void g(),className:"rounded-lg bg-red-600 px-4 py-1.5 text-sm text-white hover:bg-red-700 disabled:opacity-50",children:u?"处理中…":"确定"})]})]})}):null,[s,u,g,e.label]),clear:m}}},3464:function(e,t,n){n.d(t,{k:function(){return r}});var l=n(635);function r(e){var t,n,r;let a=null!==(t=e.pageSize)&&void 0!==t?t:50,[s,i]=(0,l.useState)([]),[u,c]=(0,l.useState)(0),[o,d]=(0,l.useState)(!0),[f,x]=(0,l.useState)(!1),[m,h]=(0,l.useState)(null),g=(0,l.useRef)(0),p=(0,l.useRef)(!1),v=(0,l.useRef)([]),y=null!==(n=e.byKey)&&void 0!==n?n:e=>String(e.id),b=(0,l.useRef)(0),j=(0,l.useCallback)(async(t,n)=>{let l=++g.current;0===t?d(!0):x(!0),h(null);try{var r;let s=await e.fetchPage(t,a);if(l!==g.current)return;b.current=null!==(r=s.nextOffset)&&void 0!==r?r:t+s.items.length,n&&0===s.items.length?c(e=>Math.min(e,v.current.length)):c(s.total),i(e=>{if(!n)return s.items;let t=new Set(e.map(y));return[...e,...s.items.filter(e=>!t.has(y(e)))]})}catch(e){if(l!==g.current)return;h(e instanceof Error?e.message:"加载失败")}finally{l===g.current&&(d(!1),x(!1),p.current=!1)}},[e.fetchPage,a]);(0,l.useEffect)(()=>{p.current=!0,j(0,!1)},[j,...null!==(r=e.deps)&&void 0!==r?r:[]]),(0,l.useEffect)(()=>{v.current=s},[s]);let N=(0,l.useCallback)(()=>{!p.current&&(v.current.length>=u||(p.current=!0,j(b.current,!0)))},[j,u]),w=(0,l.useCallback)(()=>{p.current=!0,b.current=0,j(0,!1)},[j]);return{items:s,total:u,loading:o,loadingMore:f,exhausted:!o&&s.length>=u,error:m,loadMore:N,refresh:w}}},5777:function(e,t,n){n.d(t,{Cd:function(){return N},Xc:function(){return k},aG:function(){return b},cp:function(){return j},nu:function(){return y},tQ:function(){return w}});var l=n(635),r=n(4431),a=n(7002),s=n(529);let i=null,u=null,c=null,o=new Set;function d(){o.forEach(e=>e())}function f(e){let t=new Headers,n=(0,a.Xc)();return n&&t.set("Authorization","UTOKEN ".concat(n)),(0,r.rd)(e,{headers:t})}async function x(){let[e,t]=await Promise.all([(0,r.rd)("/auth/session"),f("/datasync/state")]),n=(null==e?void 0:e.loggedIn)&&e.token?e.token:null,l=null!=t?t:null;if(!l&&e&&n&&n!==(0,a.Xc)()?((0,a.GK)(n),l=await f("/datasync/state")):(0,a.GK)(n),!e&&!l){i=i?{...i,loadError:"本地服务无响应"}:{session:null,sync:null,utoken:(0,a.Xc)(),loadError:"本地服务无响应",refresh:m},d();return}i={session:null!=e?e:{loggedIn:!1},sync:l,utoken:(0,a.Xc)(),loadError:null,refresh:m},d()}function m(){return u||(u=x().finally(()=>{u=null}))}function h(e){return o.add(e),1===o.size&&(m(),c=setInterval(()=>void m(),6e4)),()=>{o.delete(e),0===o.size&&c&&(clearInterval(c),c=null)}}let g={session:null,sync:null,utoken:null,loadError:null,refresh:m};function p(){return null!=i?i:g}function v(){return p()}function y(){return(0,l.useSyncExternalStore)(h,p,v)}function b(e){var t;return(null!==(t=null==e?void 0:e.memberships)&&void 0!==t?t:[]).filter(e=>!e.isPersonal&&!e.leftAt)}function j(e){var t,n;let l=null!==(t=null==e?void 0:e.activeTenantId)&&void 0!==t?t:null;if(null==l)return null;let r=(null!==(n=null==e?void 0:e.memberships)&&void 0!==n?n:[]).find(e=>e.tenantId===l&&!e.leftAt);return!r||r.isPersonal?null:l}function N(e,t){var n,l;if(!t)return null;let r=(null!==(n=null==e?void 0:e.memberships)&&void 0!==n?n:[]).find(e=>e.tenantId===t&&!e.leftAt&&!e.isPersonal);return null!==(l=null==r?void 0:r.role)&&void 0!==l?l:null}function w(){return s.env.NEXT_PUBLIC_HUNTER_MATE_SERVER_URL||""}function k(){return(0,a.Xc)()}},2182:function(e,t,n){n.d(t,{H7:function(){return o},jr:function(){return s},mn:function(){return c},nk:function(){return u},qd:function(){return i}});let l=null,r=new Set;function a(){r.forEach(e=>e())}function s(e){l=e,a()}function i(){l&&(l=null,a())}function u(){return l}function c(e){return r.add(e),()=>r.delete(e)}function o(e){if(!e)return null;try{var t,n,l,r,a;let s=e.split(".")[1],i=JSON.parse(decodeURIComponent(escape(atob(s.replace(/-/g,"+").replace(/_/g,"/"))))),u=null!==(a=null!==(r=null!==(l=null==i?void 0:null===(t=i.data)||void 0===t?void 0:t._id)&&void 0!==l?l:null==i?void 0:null===(n=i.data)||void 0===n?void 0:n.id)&&void 0!==r?r:null==i?void 0:i.sub)&&void 0!==a?a:null;return"number"==typeof u?u:null}catch(e){return null}}},8448:function(e,t,n){n.d(t,{d3:function(){return l}});function l(e){return e?("string"==typeof e?new Date(e):e).toLocaleString("zh-CN",{hour12:!1}):""}},4431:function(e,t,n){n.d(t,{Ox:function(){return a},rd:function(){return u},uz:function(){return c}});var l=n(7002),r=n(529);function a(){return r.env.HUNTER_MATE_SERVER_URL||""}let s=a();function i(e){let t=(0,l.Xc)();if(!t)return e;let n=new Headers(null==e?void 0:e.headers);return n.has("Authorization")||n.set("Authorization","UTOKEN ".concat(t)),{...e,headers:n}}async function u(e,t){try{let n=await fetch("".concat(s).concat(e),{cache:"no-store",...i(t)});if(!n.ok)return null;return await n.json()}catch(e){return null}}async function c(e,t){try{let n=await fetch("".concat(s).concat(e),i({method:"POST",cache:"no-store",headers:{"Content-Type":"application/json"},body:null!=t?JSON.stringify(t):void 0}));if(!n.ok)return null;return await n.json()}catch(e){return null}}},4704:function(e,t,n){n.d(t,{mS:function(){return r}});let l={linkedin:{label:"in",fg:"#0a66c2"},builtin:{label:"bi",fg:"#5c2d91"},lagou:{label:"拉",fg:"#00b38a"},zhaopin:{label:"智",fg:"#ff7f00"},"51job":{label:"前",fg:"#ff6000"},liepin:{label:"猎",fg:"#008ccb"},boss:{label:"B",fg:"#00bebd"}};function r(e){var t;return null!==(t=l[e.replace(/^www\./,"").split(".")[0].toLowerCase()])&&void 0!==t?t:{label:e.slice(0,1).toUpperCase(),fg:"var(--brand)"}}},7002:function(e,t,n){n.d(t,{GK:function(){return s},Lc:function(){return i},Xc:function(){return a}});let l=null,r=new Set;function a(){return l}function s(e){e!==l&&(l=e,r.forEach(e=>e()))}function i(e){return r.add(e),()=>{r.delete(e)}}}}]);
@@ -1 +0,0 @@
1
- !function(){try{var t="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},e=(new t.Error).stack;e&&(t._sentryDebugIds=t._sentryDebugIds||{},t._sentryDebugIds[e]="47294d9e-68c4-44d0-96de-dc65f786af76",t._sentryDebugIdIdentifier="sentry-dbid-47294d9e-68c4-44d0-96de-dc65f786af76")}catch(t){}}(),(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[671],{8047:function(t,e){"use strict";e.byteLength=function(t){var e=s(t),r=e[0],n=e[1];return(r+n)*3/4-n},e.toByteArray=function(t){var e,r,o=s(t),f=o[0],u=o[1],h=new i((f+u)*3/4-u),a=0,l=u>0?f-4:f;for(r=0;r<l;r+=4)e=n[t.charCodeAt(r)]<<18|n[t.charCodeAt(r+1)]<<12|n[t.charCodeAt(r+2)]<<6|n[t.charCodeAt(r+3)],h[a++]=e>>16&255,h[a++]=e>>8&255,h[a++]=255&e;return 2===u&&(e=n[t.charCodeAt(r)]<<2|n[t.charCodeAt(r+1)]>>4,h[a++]=255&e),1===u&&(e=n[t.charCodeAt(r)]<<10|n[t.charCodeAt(r+1)]<<4|n[t.charCodeAt(r+2)]>>2,h[a++]=e>>8&255,h[a++]=255&e),h},e.fromByteArray=function(t){for(var e,n=t.length,i=n%3,o=[],f=0,u=n-i;f<u;f+=16383)o.push(function(t,e,n){for(var i,o=[],f=e;f<n;f+=3)o.push(r[(i=(t[f]<<16&16711680)+(t[f+1]<<8&65280)+(255&t[f+2]))>>18&63]+r[i>>12&63]+r[i>>6&63]+r[63&i]);return o.join("")}(t,f,f+16383>u?u:f+16383));return 1===i?o.push(r[(e=t[n-1])>>2]+r[e<<4&63]+"=="):2===i&&o.push(r[(e=(t[n-2]<<8)+t[n-1])>>10]+r[e>>4&63]+r[e<<2&63]+"="),o.join("")};for(var r=[],n=[],i="undefined"!=typeof Uint8Array?Uint8Array:Array,o="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",f=0,u=o.length;f<u;++f)r[f]=o[f],n[o.charCodeAt(f)]=f;function s(t){var e=t.length;if(e%4>0)throw Error("Invalid string. Length must be a multiple of 4");var r=t.indexOf("=");-1===r&&(r=e);var n=r===e?0:4-r%4;return[r,n]}n["-".charCodeAt(0)]=62,n["_".charCodeAt(0)]=63},6671:function(t,e,r){"use strict";let n=r(8047),i=r(1489),o="function"==typeof Symbol&&"function"==typeof Symbol.for?Symbol.for("nodejs.util.inspect.custom"):null;function f(t){if(t>2147483647)throw RangeError('The value "'+t+'" is invalid for option "size"');let e=new Uint8Array(t);return Object.setPrototypeOf(e,u.prototype),e}function u(t,e,r){if("number"==typeof t){if("string"==typeof e)throw TypeError('The "string" argument must be of type string. Received type number');return a(t)}return s(t,e,r)}function s(t,e,r){if("string"==typeof t)return function(t,e){if(("string"!=typeof e||""===e)&&(e="utf8"),!u.isEncoding(e))throw TypeError("Unknown encoding: "+e);let r=0|y(t,e),n=f(r),i=n.write(t,e);return i!==r&&(n=n.slice(0,i)),n}(t,e);if(ArrayBuffer.isView(t))return function(t){if(M(t,Uint8Array)){let e=new Uint8Array(t);return p(e.buffer,e.byteOffset,e.byteLength)}return l(t)}(t);if(null==t)throw TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof t);if(M(t,ArrayBuffer)||t&&M(t.buffer,ArrayBuffer)||"undefined"!=typeof SharedArrayBuffer&&(M(t,SharedArrayBuffer)||t&&M(t.buffer,SharedArrayBuffer)))return p(t,e,r);if("number"==typeof t)throw TypeError('The "value" argument must not be of type number. Received type number');let n=t.valueOf&&t.valueOf();if(null!=n&&n!==t)return u.from(n,e,r);let i=function(t){var e;if(u.isBuffer(t)){let e=0|c(t.length),r=f(e);return 0===r.length||t.copy(r,0,0,e),r}return void 0!==t.length?"number"!=typeof t.length||(e=t.length)!=e?f(0):l(t):"Buffer"===t.type&&Array.isArray(t.data)?l(t.data):void 0}(t);if(i)return i;if("undefined"!=typeof Symbol&&null!=Symbol.toPrimitive&&"function"==typeof t[Symbol.toPrimitive])return u.from(t[Symbol.toPrimitive]("string"),e,r);throw TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof t)}function h(t){if("number"!=typeof t)throw TypeError('"size" argument must be of type number');if(t<0)throw RangeError('The value "'+t+'" is invalid for option "size"')}function a(t){return h(t),f(t<0?0:0|c(t))}function l(t){let e=t.length<0?0:0|c(t.length),r=f(e);for(let n=0;n<e;n+=1)r[n]=255&t[n];return r}function p(t,e,r){let n;if(e<0||t.byteLength<e)throw RangeError('"offset" is outside of buffer bounds');if(t.byteLength<e+(r||0))throw RangeError('"length" is outside of buffer bounds');return Object.setPrototypeOf(n=void 0===e&&void 0===r?new Uint8Array(t):void 0===r?new Uint8Array(t,e):new Uint8Array(t,e,r),u.prototype),n}function c(t){if(t>=2147483647)throw RangeError("Attempt to allocate Buffer larger than maximum size: 0x7fffffff bytes");return 0|t}function y(t,e){if(u.isBuffer(t))return t.length;if(ArrayBuffer.isView(t)||M(t,ArrayBuffer))return t.byteLength;if("string"!=typeof t)throw TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof t);let r=t.length,n=arguments.length>2&&!0===arguments[2];if(!n&&0===r)return 0;let i=!1;for(;;)switch(e){case"ascii":case"latin1":case"binary":return r;case"utf8":case"utf-8":return x(t).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*r;case"hex":return r>>>1;case"base64":return N(t).length;default:if(i)return n?-1:x(t).length;e=(""+e).toLowerCase(),i=!0}}function g(t,e,r){let i=!1;if((void 0===e||e<0)&&(e=0),e>this.length||((void 0===r||r>this.length)&&(r=this.length),r<=0||(r>>>=0)<=(e>>>=0)))return"";for(t||(t="utf8");;)switch(t){case"hex":return function(t,e,r){let n=t.length;(!e||e<0)&&(e=0),(!r||r<0||r>n)&&(r=n);let i="";for(let n=e;n<r;++n)i+=P[t[n]];return i}(this,e,r);case"utf8":case"utf-8":return B(this,e,r);case"ascii":return function(t,e,r){let n="";r=Math.min(t.length,r);for(let i=e;i<r;++i)n+=String.fromCharCode(127&t[i]);return n}(this,e,r);case"latin1":case"binary":return function(t,e,r){let n="";r=Math.min(t.length,r);for(let i=e;i<r;++i)n+=String.fromCharCode(t[i]);return n}(this,e,r);case"base64":var o,f;return o=e,f=r,0===o&&f===this.length?n.fromByteArray(this):n.fromByteArray(this.slice(o,f));case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return function(t,e,r){let n=t.slice(e,r),i="";for(let t=0;t<n.length-1;t+=2)i+=String.fromCharCode(n[t]+256*n[t+1]);return i}(this,e,r);default:if(i)throw TypeError("Unknown encoding: "+t);t=(t+"").toLowerCase(),i=!0}}function d(t,e,r){let n=t[e];t[e]=t[r],t[r]=n}function b(t,e,r,n,i){var o;if(0===t.length)return -1;if("string"==typeof r?(n=r,r=0):r>2147483647?r=2147483647:r<-2147483648&&(r=-2147483648),(o=r=+r)!=o&&(r=i?0:t.length-1),r<0&&(r=t.length+r),r>=t.length){if(i)return -1;r=t.length-1}else if(r<0){if(!i)return -1;r=0}if("string"==typeof e&&(e=u.from(e,n)),u.isBuffer(e))return 0===e.length?-1:w(t,e,r,n,i);if("number"==typeof e)return(e&=255,"function"==typeof Uint8Array.prototype.indexOf)?i?Uint8Array.prototype.indexOf.call(t,e,r):Uint8Array.prototype.lastIndexOf.call(t,e,r):w(t,[e],r,n,i);throw TypeError("val must be string, number or Buffer")}function w(t,e,r,n,i){let o,f=1,u=t.length,s=e.length;if(void 0!==n&&("ucs2"===(n=String(n).toLowerCase())||"ucs-2"===n||"utf16le"===n||"utf-16le"===n)){if(t.length<2||e.length<2)return -1;f=2,u/=2,s/=2,r/=2}function h(t,e){return 1===f?t[e]:t.readUInt16BE(e*f)}if(i){let n=-1;for(o=r;o<u;o++)if(h(t,o)===h(e,-1===n?0:o-n)){if(-1===n&&(n=o),o-n+1===s)return n*f}else -1!==n&&(o-=o-n),n=-1}else for(r+s>u&&(r=u-s),o=r;o>=0;o--){let r=!0;for(let n=0;n<s;n++)if(h(t,o+n)!==h(e,n)){r=!1;break}if(r)return o}return -1}function B(t,e,r){r=Math.min(t.length,r);let n=[],i=e;for(;i<r;){let e=t[i],o=null,f=e>239?4:e>223?3:e>191?2:1;if(i+f<=r){let r,n,u,s;switch(f){case 1:e<128&&(o=e);break;case 2:(192&(r=t[i+1]))==128&&(s=(31&e)<<6|63&r)>127&&(o=s);break;case 3:r=t[i+1],n=t[i+2],(192&r)==128&&(192&n)==128&&(s=(15&e)<<12|(63&r)<<6|63&n)>2047&&(s<55296||s>57343)&&(o=s);break;case 4:r=t[i+1],n=t[i+2],u=t[i+3],(192&r)==128&&(192&n)==128&&(192&u)==128&&(s=(15&e)<<18|(63&r)<<12|(63&n)<<6|63&u)>65535&&s<1114112&&(o=s)}}null===o?(o=65533,f=1):o>65535&&(o-=65536,n.push(o>>>10&1023|55296),o=56320|1023&o),n.push(o),i+=f}return function(t){let e=t.length;if(e<=4096)return String.fromCharCode.apply(String,t);let r="",n=0;for(;n<e;)r+=String.fromCharCode.apply(String,t.slice(n,n+=4096));return r}(n)}function E(t,e,r){if(t%1!=0||t<0)throw RangeError("offset is not uint");if(t+e>r)throw RangeError("Trying to access beyond buffer length")}function m(t,e,r,n,i,o){if(!u.isBuffer(t))throw TypeError('"buffer" argument must be a Buffer instance');if(e>i||e<o)throw RangeError('"value" argument is out of bounds');if(r+n>t.length)throw RangeError("Index out of range")}function I(t,e,r,n,i){_(e,n,i,t,r,7);let o=Number(e&BigInt(4294967295));t[r++]=o,o>>=8,t[r++]=o,o>>=8,t[r++]=o,o>>=8,t[r++]=o;let f=Number(e>>BigInt(32)&BigInt(4294967295));return t[r++]=f,f>>=8,t[r++]=f,f>>=8,t[r++]=f,f>>=8,t[r++]=f,r}function A(t,e,r,n,i){_(e,n,i,t,r,7);let o=Number(e&BigInt(4294967295));t[r+7]=o,o>>=8,t[r+6]=o,o>>=8,t[r+5]=o,o>>=8,t[r+4]=o;let f=Number(e>>BigInt(32)&BigInt(4294967295));return t[r+3]=f,f>>=8,t[r+2]=f,f>>=8,t[r+1]=f,f>>=8,t[r]=f,r+8}function U(t,e,r,n,i,o){if(r+n>t.length||r<0)throw RangeError("Index out of range")}function v(t,e,r,n,o){return e=+e,r>>>=0,o||U(t,e,r,4,34028234663852886e22,-34028234663852886e22),i.write(t,e,r,n,23,4),r+4}function R(t,e,r,n,o){return e=+e,r>>>=0,o||U(t,e,r,8,17976931348623157e292,-17976931348623157e292),i.write(t,e,r,n,52,8),r+8}e.lW=u,e.h2=50,u.TYPED_ARRAY_SUPPORT=function(){try{let t=new Uint8Array(1),e={foo:function(){return 42}};return Object.setPrototypeOf(e,Uint8Array.prototype),Object.setPrototypeOf(t,e),42===t.foo()}catch(t){return!1}}(),u.TYPED_ARRAY_SUPPORT||"undefined"==typeof console||"function"!=typeof console.error||console.error("This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support."),Object.defineProperty(u.prototype,"parent",{enumerable:!0,get:function(){if(u.isBuffer(this))return this.buffer}}),Object.defineProperty(u.prototype,"offset",{enumerable:!0,get:function(){if(u.isBuffer(this))return this.byteOffset}}),u.poolSize=8192,u.from=function(t,e,r){return s(t,e,r)},Object.setPrototypeOf(u.prototype,Uint8Array.prototype),Object.setPrototypeOf(u,Uint8Array),u.alloc=function(t,e,r){return(h(t),t<=0)?f(t):void 0!==e?"string"==typeof r?f(t).fill(e,r):f(t).fill(e):f(t)},u.allocUnsafe=function(t){return a(t)},u.allocUnsafeSlow=function(t){return a(t)},u.isBuffer=function(t){return null!=t&&!0===t._isBuffer&&t!==u.prototype},u.compare=function(t,e){if(M(t,Uint8Array)&&(t=u.from(t,t.offset,t.byteLength)),M(e,Uint8Array)&&(e=u.from(e,e.offset,e.byteLength)),!u.isBuffer(t)||!u.isBuffer(e))throw TypeError('The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array');if(t===e)return 0;let r=t.length,n=e.length;for(let i=0,o=Math.min(r,n);i<o;++i)if(t[i]!==e[i]){r=t[i],n=e[i];break}return r<n?-1:n<r?1:0},u.isEncoding=function(t){switch(String(t).toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"latin1":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return!0;default:return!1}},u.concat=function(t,e){let r;if(!Array.isArray(t))throw TypeError('"list" argument must be an Array of Buffers');if(0===t.length)return u.alloc(0);if(void 0===e)for(r=0,e=0;r<t.length;++r)e+=t[r].length;let n=u.allocUnsafe(e),i=0;for(r=0;r<t.length;++r){let e=t[r];if(M(e,Uint8Array))i+e.length>n.length?(u.isBuffer(e)||(e=u.from(e)),e.copy(n,i)):Uint8Array.prototype.set.call(n,e,i);else if(u.isBuffer(e))e.copy(n,i);else throw TypeError('"list" argument must be an Array of Buffers');i+=e.length}return n},u.byteLength=y,u.prototype._isBuffer=!0,u.prototype.swap16=function(){let t=this.length;if(t%2!=0)throw RangeError("Buffer size must be a multiple of 16-bits");for(let e=0;e<t;e+=2)d(this,e,e+1);return this},u.prototype.swap32=function(){let t=this.length;if(t%4!=0)throw RangeError("Buffer size must be a multiple of 32-bits");for(let e=0;e<t;e+=4)d(this,e,e+3),d(this,e+1,e+2);return this},u.prototype.swap64=function(){let t=this.length;if(t%8!=0)throw RangeError("Buffer size must be a multiple of 64-bits");for(let e=0;e<t;e+=8)d(this,e,e+7),d(this,e+1,e+6),d(this,e+2,e+5),d(this,e+3,e+4);return this},u.prototype.toString=function(){let t=this.length;return 0===t?"":0==arguments.length?B(this,0,t):g.apply(this,arguments)},u.prototype.toLocaleString=u.prototype.toString,u.prototype.equals=function(t){if(!u.isBuffer(t))throw TypeError("Argument must be a Buffer");return this===t||0===u.compare(this,t)},u.prototype.inspect=function(){let t="",r=e.h2;return t=this.toString("hex",0,r).replace(/(.{2})/g,"$1 ").trim(),this.length>r&&(t+=" ... "),"<Buffer "+t+">"},o&&(u.prototype[o]=u.prototype.inspect),u.prototype.compare=function(t,e,r,n,i){if(M(t,Uint8Array)&&(t=u.from(t,t.offset,t.byteLength)),!u.isBuffer(t))throw TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof t);if(void 0===e&&(e=0),void 0===r&&(r=t?t.length:0),void 0===n&&(n=0),void 0===i&&(i=this.length),e<0||r>t.length||n<0||i>this.length)throw RangeError("out of range index");if(n>=i&&e>=r)return 0;if(n>=i)return -1;if(e>=r)return 1;if(e>>>=0,r>>>=0,n>>>=0,i>>>=0,this===t)return 0;let o=i-n,f=r-e,s=Math.min(o,f),h=this.slice(n,i),a=t.slice(e,r);for(let t=0;t<s;++t)if(h[t]!==a[t]){o=h[t],f=a[t];break}return o<f?-1:f<o?1:0},u.prototype.includes=function(t,e,r){return -1!==this.indexOf(t,e,r)},u.prototype.indexOf=function(t,e,r){return b(this,t,e,r,!0)},u.prototype.lastIndexOf=function(t,e,r){return b(this,t,e,r,!1)},u.prototype.write=function(t,e,r,n){var i,o,f,u,s,h,a,l;if(void 0===e)n="utf8",r=this.length,e=0;else if(void 0===r&&"string"==typeof e)n=e,r=this.length,e=0;else if(isFinite(e))e>>>=0,isFinite(r)?(r>>>=0,void 0===n&&(n="utf8")):(n=r,r=void 0);else throw Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");let p=this.length-e;if((void 0===r||r>p)&&(r=p),t.length>0&&(r<0||e<0)||e>this.length)throw RangeError("Attempt to write outside buffer bounds");n||(n="utf8");let c=!1;for(;;)switch(n){case"hex":return function(t,e,r,n){let i;r=Number(r)||0;let o=t.length-r;n?(n=Number(n))>o&&(n=o):n=o;let f=e.length;for(n>f/2&&(n=f/2),i=0;i<n;++i){let n=parseInt(e.substr(2*i,2),16);if(n!=n)break;t[r+i]=n}return i}(this,t,e,r);case"utf8":case"utf-8":return i=e,o=r,k(x(t,this.length-i),this,i,o);case"ascii":case"latin1":case"binary":return f=e,u=r,k(function(t){let e=[];for(let r=0;r<t.length;++r)e.push(255&t.charCodeAt(r));return e}(t),this,f,u);case"base64":return s=e,h=r,k(N(t),this,s,h);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return a=e,l=r,k(function(t,e){let r,n;let i=[];for(let o=0;o<t.length&&!((e-=2)<0);++o)n=(r=t.charCodeAt(o))>>8,i.push(r%256),i.push(n);return i}(t,this.length-a),this,a,l);default:if(c)throw TypeError("Unknown encoding: "+n);n=(""+n).toLowerCase(),c=!0}},u.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}},u.prototype.slice=function(t,e){let r=this.length;t=~~t,e=void 0===e?r:~~e,t<0?(t+=r)<0&&(t=0):t>r&&(t=r),e<0?(e+=r)<0&&(e=0):e>r&&(e=r),e<t&&(e=t);let n=this.subarray(t,e);return Object.setPrototypeOf(n,u.prototype),n},u.prototype.readUintLE=u.prototype.readUIntLE=function(t,e,r){t>>>=0,e>>>=0,r||E(t,e,this.length);let n=this[t],i=1,o=0;for(;++o<e&&(i*=256);)n+=this[t+o]*i;return n},u.prototype.readUintBE=u.prototype.readUIntBE=function(t,e,r){t>>>=0,e>>>=0,r||E(t,e,this.length);let n=this[t+--e],i=1;for(;e>0&&(i*=256);)n+=this[t+--e]*i;return n},u.prototype.readUint8=u.prototype.readUInt8=function(t,e){return t>>>=0,e||E(t,1,this.length),this[t]},u.prototype.readUint16LE=u.prototype.readUInt16LE=function(t,e){return t>>>=0,e||E(t,2,this.length),this[t]|this[t+1]<<8},u.prototype.readUint16BE=u.prototype.readUInt16BE=function(t,e){return t>>>=0,e||E(t,2,this.length),this[t]<<8|this[t+1]},u.prototype.readUint32LE=u.prototype.readUInt32LE=function(t,e){return t>>>=0,e||E(t,4,this.length),(this[t]|this[t+1]<<8|this[t+2]<<16)+16777216*this[t+3]},u.prototype.readUint32BE=u.prototype.readUInt32BE=function(t,e){return t>>>=0,e||E(t,4,this.length),16777216*this[t]+(this[t+1]<<16|this[t+2]<<8|this[t+3])},u.prototype.readBigUInt64LE=j(function(t){S(t>>>=0,"offset");let e=this[t],r=this[t+7];(void 0===e||void 0===r)&&C(t,this.length-8);let n=e+256*this[++t]+65536*this[++t]+16777216*this[++t],i=this[++t]+256*this[++t]+65536*this[++t]+16777216*r;return BigInt(n)+(BigInt(i)<<BigInt(32))}),u.prototype.readBigUInt64BE=j(function(t){S(t>>>=0,"offset");let e=this[t],r=this[t+7];(void 0===e||void 0===r)&&C(t,this.length-8);let n=16777216*e+65536*this[++t]+256*this[++t]+this[++t],i=16777216*this[++t]+65536*this[++t]+256*this[++t]+r;return(BigInt(n)<<BigInt(32))+BigInt(i)}),u.prototype.readIntLE=function(t,e,r){t>>>=0,e>>>=0,r||E(t,e,this.length);let n=this[t],i=1,o=0;for(;++o<e&&(i*=256);)n+=this[t+o]*i;return n>=(i*=128)&&(n-=Math.pow(2,8*e)),n},u.prototype.readIntBE=function(t,e,r){t>>>=0,e>>>=0,r||E(t,e,this.length);let n=e,i=1,o=this[t+--n];for(;n>0&&(i*=256);)o+=this[t+--n]*i;return o>=(i*=128)&&(o-=Math.pow(2,8*e)),o},u.prototype.readInt8=function(t,e){return(t>>>=0,e||E(t,1,this.length),128&this[t])?-((255-this[t]+1)*1):this[t]},u.prototype.readInt16LE=function(t,e){t>>>=0,e||E(t,2,this.length);let r=this[t]|this[t+1]<<8;return 32768&r?4294901760|r:r},u.prototype.readInt16BE=function(t,e){t>>>=0,e||E(t,2,this.length);let r=this[t+1]|this[t]<<8;return 32768&r?4294901760|r:r},u.prototype.readInt32LE=function(t,e){return t>>>=0,e||E(t,4,this.length),this[t]|this[t+1]<<8|this[t+2]<<16|this[t+3]<<24},u.prototype.readInt32BE=function(t,e){return t>>>=0,e||E(t,4,this.length),this[t]<<24|this[t+1]<<16|this[t+2]<<8|this[t+3]},u.prototype.readBigInt64LE=j(function(t){S(t>>>=0,"offset");let e=this[t],r=this[t+7];return(void 0===e||void 0===r)&&C(t,this.length-8),(BigInt(this[t+4]+256*this[t+5]+65536*this[t+6]+(r<<24))<<BigInt(32))+BigInt(e+256*this[++t]+65536*this[++t]+16777216*this[++t])}),u.prototype.readBigInt64BE=j(function(t){S(t>>>=0,"offset");let e=this[t],r=this[t+7];return(void 0===e||void 0===r)&&C(t,this.length-8),(BigInt((e<<24)+65536*this[++t]+256*this[++t]+this[++t])<<BigInt(32))+BigInt(16777216*this[++t]+65536*this[++t]+256*this[++t]+r)}),u.prototype.readFloatLE=function(t,e){return t>>>=0,e||E(t,4,this.length),i.read(this,t,!0,23,4)},u.prototype.readFloatBE=function(t,e){return t>>>=0,e||E(t,4,this.length),i.read(this,t,!1,23,4)},u.prototype.readDoubleLE=function(t,e){return t>>>=0,e||E(t,8,this.length),i.read(this,t,!0,52,8)},u.prototype.readDoubleBE=function(t,e){return t>>>=0,e||E(t,8,this.length),i.read(this,t,!1,52,8)},u.prototype.writeUintLE=u.prototype.writeUIntLE=function(t,e,r,n){if(t=+t,e>>>=0,r>>>=0,!n){let n=Math.pow(2,8*r)-1;m(this,t,e,r,n,0)}let i=1,o=0;for(this[e]=255&t;++o<r&&(i*=256);)this[e+o]=t/i&255;return e+r},u.prototype.writeUintBE=u.prototype.writeUIntBE=function(t,e,r,n){if(t=+t,e>>>=0,r>>>=0,!n){let n=Math.pow(2,8*r)-1;m(this,t,e,r,n,0)}let i=r-1,o=1;for(this[e+i]=255&t;--i>=0&&(o*=256);)this[e+i]=t/o&255;return e+r},u.prototype.writeUint8=u.prototype.writeUInt8=function(t,e,r){return t=+t,e>>>=0,r||m(this,t,e,1,255,0),this[e]=255&t,e+1},u.prototype.writeUint16LE=u.prototype.writeUInt16LE=function(t,e,r){return t=+t,e>>>=0,r||m(this,t,e,2,65535,0),this[e]=255&t,this[e+1]=t>>>8,e+2},u.prototype.writeUint16BE=u.prototype.writeUInt16BE=function(t,e,r){return t=+t,e>>>=0,r||m(this,t,e,2,65535,0),this[e]=t>>>8,this[e+1]=255&t,e+2},u.prototype.writeUint32LE=u.prototype.writeUInt32LE=function(t,e,r){return t=+t,e>>>=0,r||m(this,t,e,4,4294967295,0),this[e+3]=t>>>24,this[e+2]=t>>>16,this[e+1]=t>>>8,this[e]=255&t,e+4},u.prototype.writeUint32BE=u.prototype.writeUInt32BE=function(t,e,r){return t=+t,e>>>=0,r||m(this,t,e,4,4294967295,0),this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t,e+4},u.prototype.writeBigUInt64LE=j(function(t,e=0){return I(this,t,e,BigInt(0),BigInt("0xffffffffffffffff"))}),u.prototype.writeBigUInt64BE=j(function(t,e=0){return A(this,t,e,BigInt(0),BigInt("0xffffffffffffffff"))}),u.prototype.writeIntLE=function(t,e,r,n){if(t=+t,e>>>=0,!n){let n=Math.pow(2,8*r-1);m(this,t,e,r,n-1,-n)}let i=0,o=1,f=0;for(this[e]=255&t;++i<r&&(o*=256);)t<0&&0===f&&0!==this[e+i-1]&&(f=1),this[e+i]=(t/o>>0)-f&255;return e+r},u.prototype.writeIntBE=function(t,e,r,n){if(t=+t,e>>>=0,!n){let n=Math.pow(2,8*r-1);m(this,t,e,r,n-1,-n)}let i=r-1,o=1,f=0;for(this[e+i]=255&t;--i>=0&&(o*=256);)t<0&&0===f&&0!==this[e+i+1]&&(f=1),this[e+i]=(t/o>>0)-f&255;return e+r},u.prototype.writeInt8=function(t,e,r){return t=+t,e>>>=0,r||m(this,t,e,1,127,-128),t<0&&(t=255+t+1),this[e]=255&t,e+1},u.prototype.writeInt16LE=function(t,e,r){return t=+t,e>>>=0,r||m(this,t,e,2,32767,-32768),this[e]=255&t,this[e+1]=t>>>8,e+2},u.prototype.writeInt16BE=function(t,e,r){return t=+t,e>>>=0,r||m(this,t,e,2,32767,-32768),this[e]=t>>>8,this[e+1]=255&t,e+2},u.prototype.writeInt32LE=function(t,e,r){return t=+t,e>>>=0,r||m(this,t,e,4,2147483647,-2147483648),this[e]=255&t,this[e+1]=t>>>8,this[e+2]=t>>>16,this[e+3]=t>>>24,e+4},u.prototype.writeInt32BE=function(t,e,r){return t=+t,e>>>=0,r||m(this,t,e,4,2147483647,-2147483648),t<0&&(t=4294967295+t+1),this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t,e+4},u.prototype.writeBigInt64LE=j(function(t,e=0){return I(this,t,e,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))}),u.prototype.writeBigInt64BE=j(function(t,e=0){return A(this,t,e,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))}),u.prototype.writeFloatLE=function(t,e,r){return v(this,t,e,!0,r)},u.prototype.writeFloatBE=function(t,e,r){return v(this,t,e,!1,r)},u.prototype.writeDoubleLE=function(t,e,r){return R(this,t,e,!0,r)},u.prototype.writeDoubleBE=function(t,e,r){return R(this,t,e,!1,r)},u.prototype.copy=function(t,e,r,n){if(!u.isBuffer(t))throw TypeError("argument should be a Buffer");if(r||(r=0),n||0===n||(n=this.length),e>=t.length&&(e=t.length),e||(e=0),n>0&&n<r&&(n=r),n===r||0===t.length||0===this.length)return 0;if(e<0)throw RangeError("targetStart out of bounds");if(r<0||r>=this.length)throw RangeError("Index out of range");if(n<0)throw RangeError("sourceEnd out of bounds");n>this.length&&(n=this.length),t.length-e<n-r&&(n=t.length-e+r);let i=n-r;return this===t&&"function"==typeof Uint8Array.prototype.copyWithin?this.copyWithin(e,r,n):Uint8Array.prototype.set.call(t,this.subarray(r,n),e),i},u.prototype.fill=function(t,e,r,n){let i;if("string"==typeof t){if("string"==typeof e?(n=e,e=0,r=this.length):"string"==typeof r&&(n=r,r=this.length),void 0!==n&&"string"!=typeof n)throw TypeError("encoding must be a string");if("string"==typeof n&&!u.isEncoding(n))throw TypeError("Unknown encoding: "+n);if(1===t.length){let e=t.charCodeAt(0);("utf8"===n&&e<128||"latin1"===n)&&(t=e)}}else"number"==typeof t?t&=255:"boolean"==typeof t&&(t=Number(t));if(e<0||this.length<e||this.length<r)throw RangeError("Out of range index");if(r<=e)return this;if(e>>>=0,r=void 0===r?this.length:r>>>0,t||(t=0),"number"==typeof t)for(i=e;i<r;++i)this[i]=t;else{let o=u.isBuffer(t)?t:u.from(t,n),f=o.length;if(0===f)throw TypeError('The value "'+t+'" is invalid for argument "value"');for(i=0;i<r-e;++i)this[i+e]=o[i%f]}return this};let O={};function T(t,e,r){O[t]=class extends r{constructor(){super(),Object.defineProperty(this,"message",{value:e.apply(this,arguments),writable:!0,configurable:!0}),this.name=`${this.name} [${t}]`,this.stack,delete this.name}get code(){return t}set code(t){Object.defineProperty(this,"code",{configurable:!0,enumerable:!0,value:t,writable:!0})}toString(){return`${this.name} [${t}]: ${this.message}`}}}function L(t){let e="",r=t.length,n="-"===t[0]?1:0;for(;r>=n+4;r-=3)e=`_${t.slice(r-3,r)}${e}`;return`${t.slice(0,r)}${e}`}function _(t,e,r,n,i,o){if(t>r||t<e){let n;let i="bigint"==typeof e?"n":"";throw n=o>3?0===e||e===BigInt(0)?`>= 0${i} and < 2${i} ** ${(o+1)*8}${i}`:`>= -(2${i} ** ${(o+1)*8-1}${i}) and < 2 ** ${(o+1)*8-1}${i}`:`>= ${e}${i} and <= ${r}${i}`,new O.ERR_OUT_OF_RANGE("value",n,t)}S(i,"offset"),(void 0===n[i]||void 0===n[i+o])&&C(i,n.length-(o+1))}function S(t,e){if("number"!=typeof t)throw new O.ERR_INVALID_ARG_TYPE(e,"number",t)}function C(t,e,r){if(Math.floor(t)!==t)throw S(t,r),new O.ERR_OUT_OF_RANGE(r||"offset","an integer",t);if(e<0)throw new O.ERR_BUFFER_OUT_OF_BOUNDS;throw new O.ERR_OUT_OF_RANGE(r||"offset",`>= ${r?1:0} and <= ${e}`,t)}T("ERR_BUFFER_OUT_OF_BOUNDS",function(t){return t?`${t} is outside of buffer bounds`:"Attempt to access memory outside buffer bounds"},RangeError),T("ERR_INVALID_ARG_TYPE",function(t,e){return`The "${t}" argument must be of type number. Received type ${typeof e}`},TypeError),T("ERR_OUT_OF_RANGE",function(t,e,r){let n=`The value of "${t}" is out of range.`,i=r;return Number.isInteger(r)&&Math.abs(r)>4294967296?i=L(String(r)):"bigint"==typeof r&&(i=String(r),(r>BigInt(2)**BigInt(32)||r<-(BigInt(2)**BigInt(32)))&&(i=L(i)),i+="n"),n+=` It must be ${e}. Received ${i}`},RangeError);let $=/[^+/0-9A-Za-z-_]/g;function x(t,e){let r;e=e||1/0;let n=t.length,i=null,o=[];for(let f=0;f<n;++f){if((r=t.charCodeAt(f))>55295&&r<57344){if(!i){if(r>56319||f+1===n){(e-=3)>-1&&o.push(239,191,189);continue}i=r;continue}if(r<56320){(e-=3)>-1&&o.push(239,191,189),i=r;continue}r=(i-55296<<10|r-56320)+65536}else i&&(e-=3)>-1&&o.push(239,191,189);if(i=null,r<128){if((e-=1)<0)break;o.push(r)}else if(r<2048){if((e-=2)<0)break;o.push(r>>6|192,63&r|128)}else if(r<65536){if((e-=3)<0)break;o.push(r>>12|224,r>>6&63|128,63&r|128)}else if(r<1114112){if((e-=4)<0)break;o.push(r>>18|240,r>>12&63|128,r>>6&63|128,63&r|128)}else throw Error("Invalid code point")}return o}function N(t){return n.toByteArray(function(t){if((t=(t=t.split("=")[0]).trim().replace($,"")).length<2)return"";for(;t.length%4!=0;)t+="=";return t}(t))}function k(t,e,r,n){let i;for(i=0;i<n&&!(i+r>=e.length)&&!(i>=t.length);++i)e[i+r]=t[i];return i}function M(t,e){return t instanceof e||null!=t&&null!=t.constructor&&null!=t.constructor.name&&t.constructor.name===e.name}let P=function(){let t="0123456789abcdef",e=Array(256);for(let r=0;r<16;++r){let n=16*r;for(let i=0;i<16;++i)e[n+i]=t[r]+t[i]}return e}();function j(t){return"undefined"==typeof BigInt?F:t}function F(){throw Error("BigInt not supported")}},1489:function(t,e){e.read=function(t,e,r,n,i){var o,f,u=8*i-n-1,s=(1<<u)-1,h=s>>1,a=-7,l=r?i-1:0,p=r?-1:1,c=t[e+l];for(l+=p,o=c&(1<<-a)-1,c>>=-a,a+=u;a>0;o=256*o+t[e+l],l+=p,a-=8);for(f=o&(1<<-a)-1,o>>=-a,a+=n;a>0;f=256*f+t[e+l],l+=p,a-=8);if(0===o)o=1-h;else{if(o===s)return f?NaN:1/0*(c?-1:1);f+=Math.pow(2,n),o-=h}return(c?-1:1)*f*Math.pow(2,o-n)},e.write=function(t,e,r,n,i,o){var f,u,s,h=8*o-i-1,a=(1<<h)-1,l=a>>1,p=23===i?5960464477539062e-23:0,c=n?0:o-1,y=n?1:-1,g=e<0||0===e&&1/e<0?1:0;for(isNaN(e=Math.abs(e))||e===1/0?(u=isNaN(e)?1:0,f=a):(f=Math.floor(Math.log(e)/Math.LN2),e*(s=Math.pow(2,-f))<1&&(f--,s*=2),f+l>=1?e+=p/s:e+=p*Math.pow(2,1-l),e*s>=2&&(f++,s/=2),f+l>=a?(u=0,f=a):f+l>=1?(u=(e*s-1)*Math.pow(2,i),f+=l):(u=e*Math.pow(2,l-1)*Math.pow(2,i),f=0));i>=8;t[r+c]=255&u,c+=y,u/=256,i-=8);for(f=f<<i|u,h+=i;h>0;t[r+c]=255&f,c+=y,f/=256,h-=8);t[r+c-y]|=128*g}}}]);