@lyhue1991/pi-web 0.8.9 → 0.8.11
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.
- package/.next/BUILD_ID +1 -1
- package/.next/app-path-routes-manifest.json +7 -6
- package/.next/build-manifest.json +2 -2
- package/.next/required-server-files.js +1 -1
- package/.next/required-server-files.json +1 -1
- package/.next/routes-manifest.json +6 -0
- package/.next/server/app/_global-error/page.js +3 -3
- package/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
- package/.next/server/app/_global-error.html +1 -1
- package/.next/server/app/_global-error.rsc +1 -1
- package/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
- package/.next/server/app/_global-error.segments/_global-error.segment.rsc +1 -1
- package/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
- package/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
- package/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/.next/server/app/_not-found/page.js +2 -2
- package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/.next/server/app/_not-found.html +1 -1
- package/.next/server/app/_not-found.rsc +3 -3
- package/.next/server/app/_not-found.segments/_full.segment.rsc +3 -3
- package/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
- package/.next/server/app/_not-found.segments/_index.segment.rsc +3 -3
- package/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
- package/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
- package/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/api/agent/[id]/bash-output/route.js +1 -1
- package/.next/server/app/api/agent/[id]/events/route.js +2 -2
- package/.next/server/app/api/agent/[id]/route.js +1 -1
- package/.next/server/app/api/agent/new/route.js +1 -1
- package/.next/server/app/api/agent/running/events/route.js +2 -2
- package/.next/server/app/api/agent/running/route.js +1 -1
- package/.next/server/app/api/app-update/route.js +1 -0
- package/.next/server/app/api/app-update/route.js.nft.json +1 -0
- package/.next/server/app/api/app-update/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/auth/all-providers/route.js +1 -1
- package/.next/server/app/api/auth/api-key/[provider]/route.js +1 -1
- package/.next/server/app/api/auth/login/[provider]/route.js +2 -2
- package/.next/server/app/api/auth/logout/[provider]/route.js +1 -1
- package/.next/server/app/api/auth/providers/route.js +1 -1
- package/.next/server/app/api/cwd/browse/route.js +1 -1
- package/.next/server/app/api/cwd/validate/route.js +1 -1
- package/.next/server/app/api/default-cwd/route.js +1 -1
- package/.next/server/app/api/file-index/route.js +1 -1
- package/.next/server/app/api/files/[...path]/route.js +1 -1
- package/.next/server/app/api/git/diff/route.js +1 -1
- package/.next/server/app/api/git/status/route.js +2 -2
- package/.next/server/app/api/home/route.js +1 -1
- package/.next/server/app/api/models/route.js +1 -1
- package/.next/server/app/api/models-config/catalog/route.js +1 -1
- package/.next/server/app/api/models-config/discover/route.js +1 -1
- package/.next/server/app/api/models-config/route.js +1 -1
- package/.next/server/app/api/models-config/test/route.js +1 -1
- package/.next/server/app/api/plugins/route.js +1 -1
- package/.next/server/app/api/project-trust/route.js +1 -1
- package/.next/server/app/api/sessions/[id]/auto-name/route.js +3 -3
- package/.next/server/app/api/sessions/[id]/context/route.js +1 -1
- package/.next/server/app/api/sessions/[id]/entries/[entryId]/thinking/route.js +1 -1
- package/.next/server/app/api/sessions/[id]/export/route.js +2 -2
- package/.next/server/app/api/sessions/[id]/route.js +1 -1
- package/.next/server/app/api/sessions/[id]/state/route.js +1 -1
- package/.next/server/app/api/sessions/route.js +1 -1
- package/.next/server/app/api/skills/check/route.js +1 -1
- package/.next/server/app/api/skills/install/route.js +1 -1
- package/.next/server/app/api/skills/route.js +2 -2
- package/.next/server/app/api/skills/search/route.js +1 -1
- package/.next/server/app/api/skills/update/route.js +1 -1
- package/.next/server/app/api/worktrees/route.js +1 -1
- package/.next/server/app/favicon.ico/route.js +1 -1
- package/.next/server/app/index.html +1 -1
- package/.next/server/app/index.rsc +6 -6
- package/.next/server/app/index.segments/__PAGE__.segment.rsc +4 -4
- package/.next/server/app/index.segments/_full.segment.rsc +6 -6
- package/.next/server/app/index.segments/_head.segment.rsc +1 -1
- package/.next/server/app/index.segments/_index.segment.rsc +3 -3
- package/.next/server/app/index.segments/_tree.segment.rsc +3 -3
- package/.next/server/app/manifest.webmanifest/route.js +2 -2
- package/.next/server/app/manifest.webmanifest.body +1 -1
- package/.next/server/app/page.js +12 -4
- package/.next/server/app/page_client-reference-manifest.js +1 -1
- package/.next/server/app-paths-manifest.json +7 -6
- package/.next/server/chunks/2325.js +2 -2
- package/.next/server/chunks/5582.js +2 -2
- package/.next/server/chunks/6429.js +1 -1
- package/.next/server/middleware-build-manifest.js +1 -1
- package/.next/server/pages/404.html +1 -1
- package/.next/server/pages/500.html +1 -1
- package/.next/static/Y3wut-kJDLcCh4UZn-zRj/_buildManifest.js +1 -0
- package/.next/static/chunks/5830-005dcf9c56a25234.js +7 -0
- package/.next/static/chunks/app/{api/agent/[id]/bash-output/route-35860f4efe0047e5.js → _global-error/page-169a43802549110e.js} +1 -1
- package/.next/static/chunks/app/api/agent/[id]/{events/route-35860f4efe0047e5.js → bash-output/route-169a43802549110e.js} +1 -1
- package/.next/static/chunks/app/api/agent/[id]/{route-35860f4efe0047e5.js → events/route-169a43802549110e.js} +1 -1
- package/.next/static/chunks/app/{_global-error/page-35860f4efe0047e5.js → api/agent/[id]/route-169a43802549110e.js} +1 -1
- package/.next/static/chunks/app/api/agent/new/route-169a43802549110e.js +1 -0
- package/.next/static/chunks/app/api/agent/running/events/route-169a43802549110e.js +1 -0
- package/.next/static/chunks/app/api/agent/running/route-169a43802549110e.js +1 -0
- package/.next/static/chunks/app/api/app-update/route-169a43802549110e.js +1 -0
- package/.next/static/chunks/app/api/auth/all-providers/route-169a43802549110e.js +1 -0
- package/.next/static/chunks/app/api/auth/api-key/[provider]/route-169a43802549110e.js +1 -0
- package/.next/static/chunks/app/api/auth/login/[provider]/route-169a43802549110e.js +1 -0
- package/.next/static/chunks/app/api/auth/logout/[provider]/route-169a43802549110e.js +1 -0
- package/.next/static/chunks/app/api/auth/providers/route-169a43802549110e.js +1 -0
- package/.next/static/chunks/app/api/cwd/browse/route-169a43802549110e.js +1 -0
- package/.next/static/chunks/app/api/cwd/validate/route-169a43802549110e.js +1 -0
- package/.next/static/chunks/app/api/default-cwd/route-169a43802549110e.js +1 -0
- package/.next/static/chunks/app/api/file-index/route-169a43802549110e.js +1 -0
- package/.next/static/chunks/app/api/files/[...path]/route-169a43802549110e.js +1 -0
- package/.next/static/chunks/app/api/git/diff/route-169a43802549110e.js +1 -0
- package/.next/static/chunks/app/api/git/status/route-169a43802549110e.js +1 -0
- package/.next/static/chunks/app/api/home/route-169a43802549110e.js +1 -0
- package/.next/static/chunks/app/api/models/route-169a43802549110e.js +1 -0
- package/.next/static/chunks/app/api/models-config/catalog/route-169a43802549110e.js +1 -0
- package/.next/static/chunks/app/api/models-config/discover/route-169a43802549110e.js +1 -0
- package/.next/static/chunks/app/api/models-config/route-169a43802549110e.js +1 -0
- package/.next/static/chunks/app/api/models-config/test/route-169a43802549110e.js +1 -0
- package/.next/static/chunks/app/api/plugins/route-169a43802549110e.js +1 -0
- package/.next/static/chunks/app/api/project-trust/route-169a43802549110e.js +1 -0
- package/.next/static/chunks/app/api/sessions/[id]/auto-name/route-169a43802549110e.js +1 -0
- package/.next/static/chunks/app/api/sessions/[id]/context/route-169a43802549110e.js +1 -0
- package/.next/static/chunks/app/api/sessions/[id]/entries/[entryId]/thinking/route-169a43802549110e.js +1 -0
- package/.next/static/chunks/app/api/sessions/[id]/export/route-169a43802549110e.js +1 -0
- package/.next/static/chunks/app/api/sessions/[id]/route-169a43802549110e.js +1 -0
- package/.next/static/chunks/app/api/sessions/[id]/state/route-169a43802549110e.js +1 -0
- package/.next/static/chunks/app/api/sessions/route-169a43802549110e.js +1 -0
- package/.next/static/chunks/app/api/skills/check/route-169a43802549110e.js +1 -0
- package/.next/static/chunks/app/api/skills/install/route-169a43802549110e.js +1 -0
- package/.next/static/chunks/app/api/skills/route-169a43802549110e.js +1 -0
- package/.next/static/chunks/app/api/skills/search/route-169a43802549110e.js +1 -0
- package/.next/static/chunks/app/api/skills/update/route-169a43802549110e.js +1 -0
- package/.next/static/chunks/app/api/worktrees/route-169a43802549110e.js +1 -0
- package/.next/static/chunks/app/layout-d4ee15c25233e0ff.js +1 -0
- package/.next/static/chunks/app/manifest.webmanifest/route-169a43802549110e.js +1 -0
- package/.next/static/chunks/app/page-7e7db0fda0a48eb9.js +74 -0
- package/.next/static/chunks/next/dist/client/components/builtin/app-error-169a43802549110e.js +1 -0
- package/.next/static/chunks/next/dist/client/components/builtin/forbidden-169a43802549110e.js +1 -0
- package/.next/static/chunks/next/dist/client/components/builtin/not-found-169a43802549110e.js +1 -0
- package/.next/static/chunks/next/dist/client/components/builtin/unauthorized-169a43802549110e.js +1 -0
- package/.next/static/css/{121a2cf33104c046.css → 4cbedad236d913cb.css} +1 -1
- package/.next/static/css/d37755afd25e5a62.css +1 -0
- package/.next/trace +6 -6
- package/.next/trace-build +1 -1
- package/.next/types/app/api/app-update/route.ts +351 -0
- package/.next/types/routes.d.ts +2 -1
- package/.next/types/validator.ts +9 -0
- package/README.ja.md +9 -1
- package/README.md +10 -1
- package/README.ru.md +9 -1
- package/README.zh-CN.md +9 -1
- package/package.json +5 -2
- package/public/sw.js +42 -0
- package/public/sw.test.mjs +86 -0
- package/.next/static/0higXHyDYAOyRelxENDyp/_buildManifest.js +0 -1
- package/.next/static/chunks/4948-5ec4f163df73e1c4.js +0 -1
- package/.next/static/chunks/app/api/agent/new/route-35860f4efe0047e5.js +0 -1
- package/.next/static/chunks/app/api/agent/running/events/route-35860f4efe0047e5.js +0 -1
- package/.next/static/chunks/app/api/agent/running/route-35860f4efe0047e5.js +0 -1
- package/.next/static/chunks/app/api/auth/all-providers/route-35860f4efe0047e5.js +0 -1
- package/.next/static/chunks/app/api/auth/api-key/[provider]/route-35860f4efe0047e5.js +0 -1
- package/.next/static/chunks/app/api/auth/login/[provider]/route-35860f4efe0047e5.js +0 -1
- package/.next/static/chunks/app/api/auth/logout/[provider]/route-35860f4efe0047e5.js +0 -1
- package/.next/static/chunks/app/api/auth/providers/route-35860f4efe0047e5.js +0 -1
- package/.next/static/chunks/app/api/cwd/browse/route-35860f4efe0047e5.js +0 -1
- package/.next/static/chunks/app/api/cwd/validate/route-35860f4efe0047e5.js +0 -1
- package/.next/static/chunks/app/api/default-cwd/route-35860f4efe0047e5.js +0 -1
- package/.next/static/chunks/app/api/file-index/route-35860f4efe0047e5.js +0 -1
- package/.next/static/chunks/app/api/files/[...path]/route-35860f4efe0047e5.js +0 -1
- package/.next/static/chunks/app/api/git/diff/route-35860f4efe0047e5.js +0 -1
- package/.next/static/chunks/app/api/git/status/route-35860f4efe0047e5.js +0 -1
- package/.next/static/chunks/app/api/home/route-35860f4efe0047e5.js +0 -1
- package/.next/static/chunks/app/api/models/route-35860f4efe0047e5.js +0 -1
- package/.next/static/chunks/app/api/models-config/catalog/route-35860f4efe0047e5.js +0 -1
- package/.next/static/chunks/app/api/models-config/discover/route-35860f4efe0047e5.js +0 -1
- package/.next/static/chunks/app/api/models-config/route-35860f4efe0047e5.js +0 -1
- package/.next/static/chunks/app/api/models-config/test/route-35860f4efe0047e5.js +0 -1
- package/.next/static/chunks/app/api/plugins/route-35860f4efe0047e5.js +0 -1
- package/.next/static/chunks/app/api/project-trust/route-35860f4efe0047e5.js +0 -1
- package/.next/static/chunks/app/api/sessions/[id]/auto-name/route-35860f4efe0047e5.js +0 -1
- package/.next/static/chunks/app/api/sessions/[id]/context/route-35860f4efe0047e5.js +0 -1
- package/.next/static/chunks/app/api/sessions/[id]/entries/[entryId]/thinking/route-35860f4efe0047e5.js +0 -1
- package/.next/static/chunks/app/api/sessions/[id]/export/route-35860f4efe0047e5.js +0 -1
- package/.next/static/chunks/app/api/sessions/[id]/route-35860f4efe0047e5.js +0 -1
- package/.next/static/chunks/app/api/sessions/[id]/state/route-35860f4efe0047e5.js +0 -1
- package/.next/static/chunks/app/api/sessions/route-35860f4efe0047e5.js +0 -1
- package/.next/static/chunks/app/api/skills/check/route-35860f4efe0047e5.js +0 -1
- package/.next/static/chunks/app/api/skills/install/route-35860f4efe0047e5.js +0 -1
- package/.next/static/chunks/app/api/skills/route-35860f4efe0047e5.js +0 -1
- package/.next/static/chunks/app/api/skills/search/route-35860f4efe0047e5.js +0 -1
- package/.next/static/chunks/app/api/skills/update/route-35860f4efe0047e5.js +0 -1
- package/.next/static/chunks/app/api/worktrees/route-35860f4efe0047e5.js +0 -1
- package/.next/static/chunks/app/layout-31f2ba37eb37389a.js +0 -1
- package/.next/static/chunks/app/manifest.webmanifest/route-35860f4efe0047e5.js +0 -1
- package/.next/static/chunks/app/page-e7bc895400a4e9ee.js +0 -72
- package/.next/static/chunks/next/dist/client/components/builtin/app-error-35860f4efe0047e5.js +0 -1
- package/.next/static/chunks/next/dist/client/components/builtin/forbidden-35860f4efe0047e5.js +0 -1
- package/.next/static/chunks/next/dist/client/components/builtin/not-found-35860f4efe0047e5.js +0 -1
- package/.next/static/chunks/next/dist/client/components/builtin/unauthorized-35860f4efe0047e5.js +0 -1
- package/.next/static/css/5abc1265b2e78c04.css +0 -1
- /package/.next/static/{0higXHyDYAOyRelxENDyp → Y3wut-kJDLcCh4UZn-zRj}/_ssgManifest.js +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
(()=>{var a={};a.id=3955,a.ids=[3955],a.modules={261:a=>{"use strict";a.exports=require("next/dist/shared/lib/router/utils/app-paths")},3295:a=>{"use strict";a.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},10846:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},28354:a=>{"use strict";a.exports=require("util")},29021:a=>{"use strict";a.exports=require("fs")},29294:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},33873:a=>{"use strict";a.exports=require("path")},44870:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},
|
|
1
|
+
(()=>{var a={};a.id=3955,a.ids=[3955],a.modules={261:a=>{"use strict";a.exports=require("next/dist/shared/lib/router/utils/app-paths")},3295:a=>{"use strict";a.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},10846:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},28354:a=>{"use strict";a.exports=require("util")},29021:a=>{"use strict";a.exports=require("fs")},29294:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},33873:a=>{"use strict";a.exports=require("path")},44870:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},63033:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},70135:(a,b,c)=>{"use strict";c.r(b),c.d(b,{handler:()=>J,patchFetch:()=>I,routeModule:()=>E,serverHooks:()=>H,workAsyncStorage:()=>F,workUnitAsyncStorage:()=>G});var d={};c.r(d),c.d(d,{POST:()=>D,dynamic:()=>x});var e=c(19225),f=c(84006),g=c(8317),h=c(99373),i=c(34775),j=c(24235),k=c(261),l=c(54365),m=c(90771),n=c(73461),o=c(67798),p=c(92280),q=c(62018),r=c(45696),s=c(47929),t=c(86439),u=c(37527),v=c(23211),w=c(84107);let x="force-dynamic",y=/\x1B\[[0-9;]*m/g,z=process.env.SKILLS_API_URL||"https://skills.sh";function A(a){let b=a.replace(y,""),c=[],d=b.split("\n");for(let a=0;a<d.length;a++){let b=d[a].trim().match(/^([\w.\-]+\/[\w.\-@:]+)\s+([\d.,]+[KMB]?\s+installs)$/);if(b){let e=d[a+1]?.trim().replace(/^└\s*/,"");c.push({package:b[1],installs:b[2],url:e?.startsWith("https://")?e:""})}}return c}async function B(a,b){let c=`${z}/api/search?q=${encodeURIComponent(a)}&limit=${b}`,d=await fetch(c,{cache:"no-store"});if(!d.ok)throw Error(`skills.sh search failed: HTTP ${d.status}`);return((await d.json()).skills??[]).map(a=>{var b;let c=a.name?.trim(),d=a.source?.trim(),e=a.id?.trim();return c&&(d||e)?{package:`${d||e}@${c}`,installs:(b=a.installs)&&!(b<=0)?b>=1e6?`${(b/1e6).toFixed(1).replace(/\.0$/,"")}M installs`:b>=1e3?`${(b/1e3).toFixed(1).replace(/\.0$/,"")}K installs`:`${b} install${1===b?"":"s"}`:"",url:e?`${z}/${e}`:""}:null}).filter(a=>null!==a).sort((a,b)=>C(b.installs)-C(a.installs))}function C(a){let b=a.match(/^([\d.]+)([KMB])?\s+installs?$/);if(!b)return 0;let c=Number(b[1]);return Number.isFinite(c)?c*("B"===b[2]?1e9:"M"===b[2]?1e6:"K"===b[2]?1e3:1):0}async function D(a){try{let b,{query:c,limit:d}=await a.json();if(!c?.trim())return v.NextResponse.json({error:"query required"},{status:400});let e=(b="number"==typeof d?d:Number(d),Number.isFinite(b)?Math.min(50,Math.max(1,Math.floor(b))):50);try{let a=await B(c.trim(),e);return v.NextResponse.json({results:a})}catch{let{stdout:a,stderr:b}=await (0,w.a)(["skills","find",c.trim()],{timeout:2e4,env:{...process.env,FORCE_COLOR:"0"}}),d=A(a+b).slice(0,e);return v.NextResponse.json({results:d})}}catch(c){let a=(c.stdout??"")+(c.stderr??""),b=a?A(a):[];if(b.length>0)return v.NextResponse.json({results:b});return v.NextResponse.json({error:c.message??String(c)},{status:500})}}let E=new e.AppRouteRouteModule({definition:{kind:f.RouteKind.APP_ROUTE,page:"/api/skills/search/route",pathname:"/api/skills/search",filename:"route",bundlePath:"app/api/skills/search/route"},distDir:".next",relativeProjectDir:"",resolvedPagePath:"/Users/liangyun/Codes/pi-web/app/api/skills/search/route.ts",nextConfigOutput:"",userland:d,...{}}),{workAsyncStorage:F,workUnitAsyncStorage:G,serverHooks:H}=E;function I(){return(0,g.patchFetch)({workAsyncStorage:F,workUnitAsyncStorage:G})}async function J(a,b,c){c.requestMeta&&(0,h.setRequestMeta)(a,c.requestMeta),E.isDev&&(0,h.addRequestMeta)(a,"devRequestTimingInternalsEnd",process.hrtime.bigint());let d="/api/skills/search/route";"/index"===d&&(d="/");let e=await E.prepare(a,b,{srcPage:d,multiZoneDraftMode:!1});if(!e)return b.statusCode=400,b.end("Bad Request"),null==c.waitUntil||c.waitUntil.call(c,Promise.resolve()),null;let{buildId:g,deploymentId:v,params:w,nextConfig:x,parsedUrl:y,isDraftMode:z,prerenderManifest:A,routerServerContext:B,isOnDemandRevalidate:C,revalidateOnlyGenerated:D,resolvedPathname:F,clientReferenceManifest:G,serverActionsManifest:H}=e,I=(0,k.normalizeAppPath)(d),J=!!(A.dynamicRoutes[I]||A.routes[F]),K=async()=>((null==B?void 0:B.render404)?await B.render404(a,b,y,!1):b.end("This page could not be found"),null);if(J&&!z){let a=!!A.routes[F],b=A.dynamicRoutes[I];if(b&&!1===b.fallback&&!a){if(x.adapterPath)return await K();throw new t.NoFallbackError}}let L=null;!J||E.isDev||z||(L="/index"===(L=F)?"/":L);let M=!0===E.isDev||!J,N=J&&!M;H&&G&&(0,j.setManifestsSingleton)({page:d,clientReferenceManifest:G,serverActionsManifest:H});let O=a.method||"GET",P=(0,i.getTracer)(),Q=P.getActiveScopeSpan(),R=!!(null==B?void 0:B.isWrappedByNextServer),S=!!(0,h.getRequestMeta)(a,"minimalMode"),T=(0,h.getRequestMeta)(a,"incrementalCache")||await E.getIncrementalCache(a,x,A,S);null==T||T.resetRequestCache(),globalThis.__incrementalCache=T;let U={params:w,previewProps:A.preview,renderOpts:{experimental:{authInterrupts:!!x.experimental.authInterrupts},cacheComponents:!!x.cacheComponents,supportsDynamicResponse:M,incrementalCache:T,cacheLifeProfiles:x.cacheLife,waitUntil:c.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:void 0,onInstrumentationRequestError:(b,c,d,e)=>E.onRequestError(a,b,d,e,B)},sharedContext:{buildId:g,deploymentId:v}},V=new l.NodeNextRequest(a),W=new l.NodeNextResponse(b),X=m.NextRequestAdapter.fromNodeNextRequest(V,(0,m.signalFromNodeResponse)(b));try{let e,g=async a=>E.handle(X,U).finally(()=>{if(!a)return;a.setAttributes({"http.status_code":b.statusCode,"next.rsc":!1});let c=P.getRootSpanAttributes();if(!c)return;if(c.get("next.span_type")!==n.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${c.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let f=c.get("next.route");if(f){let b=`${O} ${f}`;a.setAttributes({"next.route":f,"http.route":f,"next.span_name":b}),a.updateName(b),e&&e!==a&&(e.setAttribute("http.route",f),e.updateName(b))}else a.updateName(`${O} ${d}`)}),h=async e=>{var h,i;let j=async({previousCacheEntry:f})=>{try{if(!S&&C&&D&&!f)return b.statusCode=404,b.setHeader("x-nextjs-cache","REVALIDATED"),b.end("This page could not be found"),null;let d=await g(e);a.fetchMetrics=U.renderOpts.fetchMetrics;let h=U.renderOpts.pendingWaitUntil;h&&c.waitUntil&&(c.waitUntil(h),h=void 0);let i=U.renderOpts.collectedTags;if(!J)return await (0,p.I)(V,W,d,U.renderOpts.pendingWaitUntil),null;{let a=await d.blob(),b=(0,q.toNodeOutgoingHttpHeaders)(d.headers);i&&(b[s.NEXT_CACHE_TAGS_HEADER]=i),!b["content-type"]&&a.type&&(b["content-type"]=a.type);let c=void 0!==U.renderOpts.collectedRevalidate&&!(U.renderOpts.collectedRevalidate>=s.INFINITE_CACHE)&&U.renderOpts.collectedRevalidate,e=void 0===U.renderOpts.collectedExpire||U.renderOpts.collectedExpire>=s.INFINITE_CACHE?void 0:U.renderOpts.collectedExpire;return{value:{kind:u.CachedRouteKind.APP_ROUTE,status:d.status,body:Buffer.from(await a.arrayBuffer()),headers:b},cacheControl:{revalidate:c,expire:e}}}}catch(b){throw(null==f?void 0:f.isStale)&&await E.onRequestError(a,b,{routerKind:"App Router",routePath:d,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:N,isOnDemandRevalidate:C})},!1,B),b}},k=await E.handleResponse({req:a,nextConfig:x,cacheKey:L,routeKind:f.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:A,isRoutePPREnabled:!1,isOnDemandRevalidate:C,revalidateOnlyGenerated:D,responseGenerator:j,waitUntil:c.waitUntil,isMinimalMode:S});if(!J)return null;if((null==k||null==(h=k.value)?void 0:h.kind)!==u.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==k||null==(i=k.value)?void 0:i.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});S||b.setHeader("x-nextjs-cache",C?"REVALIDATED":k.isMiss?"MISS":k.isStale?"STALE":"HIT"),z&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let l=(0,q.fromNodeOutgoingHttpHeaders)(k.value.headers);return S&&J||l.delete(s.NEXT_CACHE_TAGS_HEADER),!k.cacheControl||b.getHeader("Cache-Control")||l.get("Cache-Control")||l.set("Cache-Control",(0,r.getCacheControlHeader)(k.cacheControl)),await (0,p.I)(V,W,new Response(k.value.body,{headers:l,status:k.value.status||200})),null};R&&Q?await h(Q):(e=P.getActiveScopeSpan(),await P.withPropagatedContext(a.headers,()=>P.trace(n.BaseServerSpan.handleRequest,{spanName:`${O} ${d}`,kind:i.SpanKind.SERVER,attributes:{"http.method":O,"http.target":a.url}},h),void 0,!R))}catch(b){if(b instanceof t.NoFallbackError||await E.onRequestError(a,b,{routerKind:"App Router",routePath:I,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:N,isOnDemandRevalidate:C})},!1,B),J)throw b;return await (0,p.I)(V,W,new Response(null,{status:500})),null}}},78335:()=>{},79646:a=>{"use strict";a.exports=require("child_process")},84107:(a,b,c)=>{"use strict";c.d(b,{a:()=>j});var d=c(79646),e=c(28354),f=c(29021),g=c(33873);let h=require("process"),i=(0,e.promisify)(d.execFile);async function j(a,b={}){let c=function(){let a=(0,g.dirname)(h.execPath);for(let b of[(0,g.join)(a,"node_modules","npm","bin","npx-cli.js"),(0,g.join)(a,"..","lib","node_modules","npm","bin","npx-cli.js")])try{if((0,f.existsSync)(b))return b}catch{}return null}(),{command:d,commandArgs:e}=c?{command:h.execPath,commandArgs:[c,...a]}:{command:"npx",commandArgs:a};return i(d,e,{timeout:b.timeout,cwd:b.cwd,env:b.env})}},86439:a=>{"use strict";a.exports=require("next/dist/shared/lib/no-fallback-error.external")},96487:()=>{}};var b=require("../../../../webpack-runtime.js");b.C(a);var c=b.X(0,[4741,1813],()=>b(b.s=70135));module.exports=c})();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";(()=>{var a={};a.id=9156,a.ids=[9156],a.modules={261:a=>{a.exports=require("next/dist/shared/lib/router/utils/app-paths")},3295:a=>{a.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},10846:a=>{a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},19038:(a,b,c)=>{c.d(b,{CU:()=>l,S7:()=>u});var d=c(79646),e=c(79748),f=c(21820),g=c(33873),h=c(28354);let i=process.env.SKILLS_API_URL||"https://skills.sh",j=(0,h.promisify)(d.execFile);class k extends Error{constructor(a){super(`HTTP ${a}`),this.status=a}}function l(a){let b=n(a.skillPath??""),c=b?`${a.source}/${b}`:a.source,d=a.ref?`#${encodeURIComponent(a.ref)}`:"",e=["skills","add",`${c}${d}`,"--skill",m(a.package),"-y","--agent","pi"];return"global"===a.scope&&e.push("-g"),e}function m(a){let b=a.lastIndexOf("@");return b>=0?a.slice(b+1):a}function n(a){let b=a.replace(/\\/g,"/");return b.toLowerCase().endsWith("/skill.md")?b=b.slice(0,-9):b.toLowerCase().endsWith("skill.md")&&(b=b.slice(0,-8)),b.replace(/\/$/,"")}function o(a,b,c,d){return{package:a.package,scope:a.scope,state:b,currentVersion:a.versionHash,latestVersion:c,message:d}}async function p(a,b,c){let d=await b(a,{cache:"no-store",headers:c,signal:AbortSignal.timeout(15e3)});if(!d.ok)throw new k(d.status);return d.json()}async function q(a){let b=`https://github.com/${a.source}.git`,c=a.ref||"HEAD",d=n(a.skillPath),h=await (0,e.mkdtemp)((0,g.join)((0,f.tmpdir)(),"pi-web-skill-check-"));try{await j("git",["init","--bare",h],{timeout:3e4}),await j("git",[`--git-dir=${h}`,"fetch","--depth=1","--filter=blob:none","--no-tags",b,c],{timeout:3e4});let a=d?`FETCH_HEAD:${d}`:"FETCH_HEAD^{tree}",{stdout:e}=await j("git",[`--git-dir=${h}`,"rev-parse",a],{timeout:3e4}),f=e.trim();if(!/^[0-9a-f]{40}$/i.test(f))throw Error("Invalid Git tree hash");return f}finally{await (0,e.rm)(h,{recursive:!0,force:!0})}}async function r(a,b){let c,d=a.ref||"HEAD",e=`https://api.github.com/repos/${a.source}/git/trees/${encodeURIComponent(d)}?recursive=1`,f={Accept:"application/vnd.github.v3+json","User-Agent":"pi-web"};b.githubToken&&(f.Authorization=`Bearer ${b.githubToken}`);let g=n(a.skillPath);try{let a=await p(e,b.fetcher,f);if(c="string"!=typeof a.sha||g?void 0:a.sha,g&&Array.isArray(a.tree)){let b=a.tree.find(a=>"tree"===a.type&&a.path===g);b&&"string"==typeof b.sha&&(c=b.sha)}}catch(d){if(!(d instanceof k)||![401,403,429].includes(d.status))throw d;c=await b.resolveGitTreeHash(a)}return c?o(a,c===a.versionHash?"up-to-date":"update-available",c):o(a,"error",void 0,"Remote skill path was not found.")}async function s(a,b){let[c,d]=a.source.split("/"),e=m(a.package).toLowerCase().replace(/[\s_]+/g,"-").replace(/[^a-z0-9-]/g,"").replace(/-+/g,"-").replace(/^-|-$/g,""),f=`${b.skillsApiBase}/api/download/${encodeURIComponent(c)}/${encodeURIComponent(d)}/${encodeURIComponent(e)}`,g=await p(f,b.fetcher),h="string"==typeof g.hash?g.hash:void 0;return h?o(a,h===a.versionHash?"up-to-date":"update-available",h):o(a,"error",void 0,"skills.sh did not return a version hash.")}async function t(a,b={}){if(!a.canCheckForUpdates||!a.versionHash||!a.skillPath)return o(a,"unsupported",void 0,"This lock entry cannot be checked automatically.");let c={...b,fetcher:b.fetcher??fetch,skillsApiBase:b.skillsApiBase??i,resolveGitTreeHash:b.resolveGitTreeHash??q};try{return"global"===a.scope?await r(a,c):await s(a,c)}catch(b){return o(a,"error",void 0,b instanceof Error?b.message:String(b))}}async function u(a,b={}){let c=b.fetcher??fetch,d=new Map,e=async(a,b)=>{let e=d.get(a);return e||(e=c(a,b),d.set(a,e)),(await e).clone()};return Promise.all(a.map(a=>t(a,{...b,fetcher:e})))}},21278:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{y:()=>i});var e=c(75430),f=c(75805),g=c(72498),h=a([e,g]);async function i(a){let b=(0,e.getAgentDir)(),c=new e.DefaultResourceLoader({cwd:a,agentDir:b});await c.reload((0,g.Fk)(a,b));let{skills:d,diagnostics:h}=c.getSkills();return{skills:(0,f._)(d,{cwd:a,agentDir:b}),diagnostics:h,projectResourcesLoaded:(0,g.Y1)(a,b).trusted}}[e,g]=h.then?(await h)():h,d()}catch(a){d(a)}})},21820:a=>{a.exports=require("os")},28354:a=>{a.exports=require("util")},29021:a=>{a.exports=require("fs")},29294:a=>{a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},33873:a=>{a.exports=require("path")},43469:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.r(b),c.d(b,{handler:()=>y,patchFetch:()=>x,routeModule:()=>z,serverHooks:()=>C,workAsyncStorage:()=>A,workUnitAsyncStorage:()=>B});var e=c(19225),f=c(84006),g=c(8317),h=c(99373),i=c(34775),j=c(24235),k=c(261),l=c(54365),m=c(90771),n=c(73461),o=c(67798),p=c(92280),q=c(62018),r=c(45696),s=c(47929),t=c(86439),u=c(37527),v=c(56679),w=a([v]);v=(w.then?(await w)():w)[0];let z=new e.AppRouteRouteModule({definition:{kind:f.RouteKind.APP_ROUTE,page:"/api/skills/update/route",pathname:"/api/skills/update",filename:"route",bundlePath:"app/api/skills/update/route"},distDir:".next",relativeProjectDir:"",resolvedPagePath:"/Users/liangyun/Codes/pi-web/app/api/skills/update/route.ts",nextConfigOutput:"",userland:v,...{}}),{workAsyncStorage:A,workUnitAsyncStorage:B,serverHooks:C}=z;function x(){return(0,g.patchFetch)({workAsyncStorage:A,workUnitAsyncStorage:B})}async function y(a,b,c){c.requestMeta&&(0,h.setRequestMeta)(a,c.requestMeta),z.isDev&&(0,h.addRequestMeta)(a,"devRequestTimingInternalsEnd",process.hrtime.bigint());let d="/api/skills/update/route";"/index"===d&&(d="/");let e=await z.prepare(a,b,{srcPage:d,multiZoneDraftMode:!1});if(!e)return b.statusCode=400,b.end("Bad Request"),null==c.waitUntil||c.waitUntil.call(c,Promise.resolve()),null;let{buildId:g,deploymentId:v,params:w,nextConfig:x,parsedUrl:y,isDraftMode:A,prerenderManifest:B,routerServerContext:C,isOnDemandRevalidate:D,revalidateOnlyGenerated:E,resolvedPathname:F,clientReferenceManifest:G,serverActionsManifest:H}=e,I=(0,k.normalizeAppPath)(d),J=!!(B.dynamicRoutes[I]||B.routes[F]),K=async()=>((null==C?void 0:C.render404)?await C.render404(a,b,y,!1):b.end("This page could not be found"),null);if(J&&!A){let a=!!B.routes[F],b=B.dynamicRoutes[I];if(b&&!1===b.fallback&&!a){if(x.adapterPath)return await K();throw new t.NoFallbackError}}let L=null;!J||z.isDev||A||(L=F,L="/index"===L?"/":L);let M=!0===z.isDev||!J,N=J&&!M;H&&G&&(0,j.setManifestsSingleton)({page:d,clientReferenceManifest:G,serverActionsManifest:H});let O=a.method||"GET",P=(0,i.getTracer)(),Q=P.getActiveScopeSpan(),R=!!(null==C?void 0:C.isWrappedByNextServer),S=!!(0,h.getRequestMeta)(a,"minimalMode"),T=(0,h.getRequestMeta)(a,"incrementalCache")||await z.getIncrementalCache(a,x,B,S);null==T||T.resetRequestCache(),globalThis.__incrementalCache=T;let U={params:w,previewProps:B.preview,renderOpts:{experimental:{authInterrupts:!!x.experimental.authInterrupts},cacheComponents:!!x.cacheComponents,supportsDynamicResponse:M,incrementalCache:T,cacheLifeProfiles:x.cacheLife,waitUntil:c.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:void 0,onInstrumentationRequestError:(b,c,d,e)=>z.onRequestError(a,b,d,e,C)},sharedContext:{buildId:g,deploymentId:v}},V=new l.NodeNextRequest(a),W=new l.NodeNextResponse(b),X=m.NextRequestAdapter.fromNodeNextRequest(V,(0,m.signalFromNodeResponse)(b));try{let e,g=async a=>z.handle(X,U).finally(()=>{if(!a)return;a.setAttributes({"http.status_code":b.statusCode,"next.rsc":!1});let c=P.getRootSpanAttributes();if(!c)return;if(c.get("next.span_type")!==n.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${c.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let f=c.get("next.route");if(f){let b=`${O} ${f}`;a.setAttributes({"next.route":f,"http.route":f,"next.span_name":b}),a.updateName(b),e&&e!==a&&(e.setAttribute("http.route",f),e.updateName(b))}else a.updateName(`${O} ${d}`)}),h=async e=>{var h,i;let j=async({previousCacheEntry:f})=>{try{if(!S&&D&&E&&!f)return b.statusCode=404,b.setHeader("x-nextjs-cache","REVALIDATED"),b.end("This page could not be found"),null;let d=await g(e);a.fetchMetrics=U.renderOpts.fetchMetrics;let h=U.renderOpts.pendingWaitUntil;h&&c.waitUntil&&(c.waitUntil(h),h=void 0);let i=U.renderOpts.collectedTags;if(!J)return await (0,p.I)(V,W,d,U.renderOpts.pendingWaitUntil),null;{let a=await d.blob(),b=(0,q.toNodeOutgoingHttpHeaders)(d.headers);i&&(b[s.NEXT_CACHE_TAGS_HEADER]=i),!b["content-type"]&&a.type&&(b["content-type"]=a.type);let c=void 0!==U.renderOpts.collectedRevalidate&&!(U.renderOpts.collectedRevalidate>=s.INFINITE_CACHE)&&U.renderOpts.collectedRevalidate,e=void 0===U.renderOpts.collectedExpire||U.renderOpts.collectedExpire>=s.INFINITE_CACHE?void 0:U.renderOpts.collectedExpire;return{value:{kind:u.CachedRouteKind.APP_ROUTE,status:d.status,body:Buffer.from(await a.arrayBuffer()),headers:b},cacheControl:{revalidate:c,expire:e}}}}catch(b){throw(null==f?void 0:f.isStale)&&await z.onRequestError(a,b,{routerKind:"App Router",routePath:d,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:N,isOnDemandRevalidate:D})},!1,C),b}},k=await z.handleResponse({req:a,nextConfig:x,cacheKey:L,routeKind:f.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:B,isRoutePPREnabled:!1,isOnDemandRevalidate:D,revalidateOnlyGenerated:E,responseGenerator:j,waitUntil:c.waitUntil,isMinimalMode:S});if(!J)return null;if((null==k||null==(h=k.value)?void 0:h.kind)!==u.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==k||null==(i=k.value)?void 0:i.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});S||b.setHeader("x-nextjs-cache",D?"REVALIDATED":k.isMiss?"MISS":k.isStale?"STALE":"HIT"),A&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let l=(0,q.fromNodeOutgoingHttpHeaders)(k.value.headers);return S&&J||l.delete(s.NEXT_CACHE_TAGS_HEADER),!k.cacheControl||b.getHeader("Cache-Control")||l.get("Cache-Control")||l.set("Cache-Control",(0,r.getCacheControlHeader)(k.cacheControl)),await (0,p.I)(V,W,new Response(k.value.body,{headers:l,status:k.value.status||200})),null};R&&Q?await h(Q):(e=P.getActiveScopeSpan(),await P.withPropagatedContext(a.headers,()=>P.trace(n.BaseServerSpan.handleRequest,{spanName:`${O} ${d}`,kind:i.SpanKind.SERVER,attributes:{"http.method":O,"http.target":a.url}},h),void 0,!R))}catch(b){if(b instanceof t.NoFallbackError||await z.onRequestError(a,b,{routerKind:"App Router",routePath:I,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:N,isOnDemandRevalidate:D})},!1,C),J)throw b;return await (0,p.I)(V,W,new Response(null,{status:500})),null}}d()}catch(a){d(a)}})},44870:a=>{a.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},56679:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.r(b),c.d(b,{POST:()=>k,dynamic:()=>l});var e=c(23211),f=c(84107),g=c(19038),h=c(21278),i=c(80547),j=a([h,i]);[h,i]=j.then?(await j)():j;let l="force-dynamic";async function k(a){try{let b=await a.json(),c="string"==typeof b.cwd?b.cwd:"",d="string"==typeof b.package?b.package:"",j="global"===b.scope||"project"===b.scope?b.scope:void 0;if(!c||!d||!j)return e.NextResponse.json({error:"cwd, package, and scope are required"},{status:400});let k=await (0,i.mc)();if(!(0,i.B7)(c,k))return e.NextResponse.json({error:"Access denied"},{status:403});let{skills:l}=await (0,h.y)(c),m=l.find(a=>a.install?.package===d&&a.install.scope===j);if(!m?.install)return e.NextResponse.json({error:"Installed skill not found"},{status:404});if(!m.install.canCheckForUpdates)return e.NextResponse.json({error:"This skill cannot be updated automatically"},{status:400});let{stdout:n,stderr:o}=await (0,f.a)((0,g.CU)(m.install),{timeout:6e4,cwd:"project"===j?c:void 0,env:{...process.env,FORCE_COLOR:"0"}}),p=(await (0,h.y)(c)).skills.find(a=>a.install?.package===d&&a.install.scope===j);return e.NextResponse.json({success:!0,skill:p,output:`${n}${o}`.slice(-500)})}catch(b){let a=`${b.stdout??""}${b.stderr??""}`;return e.NextResponse.json({error:a||b.message||String(b)},{status:500})}}d()}catch(a){d(a)}})},63033:a=>{a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},72498:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{Fk:()=>i,Y1:()=>g,er:()=>h});var e=c(75430),f=a([e]);function g(a,b){if(!(a&&(0,e.hasTrustRequiringProjectResources)(a)))return{requiresTrust:!1,trusted:!0};let c=new e.ProjectTrustStore(b);return{requiresTrust:!0,trusted:!0===c.get(a)}}function h(a,b){let c=g(a,b);return c.requiresTrust?(new e.ProjectTrustStore(b).set(a,!0),{requiresTrust:!0,trusted:!0}):c}function i(a,b){if(!g(a,b).requiresTrust)return;let c=new e.ProjectTrustStore(b);return{resolveProjectTrust:async()=>!0===c.get(a)}}e=(f.then?(await f)():f)[0],d()}catch(a){d(a)}})},75430:a=>{a.exports=import("@earendil-works/pi-coding-agent")},75805:(a,b,c)=>{c.d(b,{_:()=>j});var d=c(29021),e=c(21820),f=c(33873);function g(a){try{let b=JSON.parse((0,d.readFileSync)(a,"utf8"));return b.skills&&"object"==typeof b.skills?b.skills:{}}catch{return{}}}function h(a,b){let c=(0,f.relative)((0,f.resolve)(b),(0,f.resolve)(a));return""!==c&&".."!==c&&!c.startsWith(`..${f.sep}`)&&!(0,f.isAbsolute)(c)}function i(a,b,c){var d;let e=function(a,b){if(a[b])return a[b];let c=b.toLowerCase(),d=Object.keys(a).find(a=>a.toLowerCase()===c);return d?a[d]:void 0}(a,b);if(!e||"string"!=typeof e.source||!e.source.trim())return;let f="string"==typeof e.sourceType?e.sourceType:void 0,g=(d=e.source.trim(),"github"!==f?d.replace(/\/$/,""):d.replace(/^git\+/,"").replace(/^https?:\/\/github\.com\//,"").replace(/^git@github\.com:/,"").replace(/\.git$/,"").replace(/\/$/,""));if(!g)return;let h="string"==typeof e.skillPath?e.skillPath:void 0,i="string"==typeof e.ref?e.ref:void 0,j="global"===c?e.skillFolderHash:e.computedHash,k="string"==typeof j&&j?j:void 0,l="github"===f&&/^[\w.-]+\/[\w.-]+$/.test(g);return{package:`${g}@${b}`,scope:c,source:g,sourceType:f,skillsShUrl:"local"===f?void 0:function(a,b){if(!a||a.includes("://")||a.startsWith("git@"))return;let c=a.split("/").filter(Boolean).map(encodeURIComponent).join("/");if(c)return`https://skills.sh/${c}/${encodeURIComponent(b)}`}(g,b),...h&&{skillPath:h},...i&&{ref:i},...k&&{versionHash:k},canCheckForUpdates:!!(l&&h&&k&&("global"===c||!i))}}function j(a,{cwd:b,agentDir:c,globalLockPath:k=function({homeDir:a=(0,e.homedir)(),xdgStateHome:b=process.env.XDG_STATE_HOME}={}){return b?(0,f.join)(b,"skills",".skill-lock.json"):(0,f.join)(a,".agents",".skill-lock.json")}(),projectLockPath:l=(0,f.join)(b,"skills-lock.json")}){let m=g(k),n=g(l),o=(0,f.join)(c,"skills"),p=(0,f.join)(b,".pi","skills");return a.map(a=>{if(!(0,d.existsSync)(a.filePath))return a;let b=h(a.filePath,o)?i(m,a.name,"global"):h(a.filePath,p)?i(n,a.name,"project"):void 0;return b?{...a,install:b}:a})}},76760:a=>{a.exports=require("node:path")},79646:a=>{a.exports=require("child_process")},79748:a=>{a.exports=require("fs/promises")},80547:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{A$:()=>o,B7:()=>p,Nw:()=>i.Nw,mc:()=>n,uK:()=>m,wz:()=>i.wz});var e=c(29021),f=c(21820),g=c(33873),h=c.n(g),i=c(25252),j=c(82536),k=c(40402),l=a([k]);k=(l.then?(await l)():l)[0];let q=/^[a-zA-Z]:[\\/]/;function m(a){return q.test(a)||a.startsWith("\\\\")||a.startsWith("//")}async function n(){let a=Date.now(),b=globalThis.__piAllowedRootsCache;if(b&&b.expiresAt>a)return b.roots;let c=await (0,k.dQ)(),d=new Set;for(let a of c)a.cwd&&d.add((0,i.Nw)(a.cwd)),a.projectRoot&&d.add((0,i.Nw)(a.projectRoot));try{for(let a of(0,e.readdirSync)((0,f.homedir)()))/^pi-cwd-\d{8}$/.test(a)&&d.add((0,i.Nw)(h().join((0,f.homedir)(),a)))}catch{}for(let a of(0,i.HM)())d.add(a);return globalThis.__piAllowedRootsCache={roots:d,expiresAt:a+5e3},d}function o(a,b){for(let c of b){let b=m(a)||m(c),d=b?h().win32:h(),e=b?"\\":h().sep,f=d.resolve(a),g=d.resolve(c),i=b?f.toLowerCase():f,j=b?g.toLowerCase():g,k=j.endsWith(e)?j:j+e;if(i===j||i.startsWith(k))return!0}return!1}function p(a,b){return(0,j.x)(a,b)}d()}catch(a){d(a)}})},82536:(a,b,c)=>{c.d(b,{x:()=>i});var d=c(29021),e=c(33873),f=c.n(e);let g=/^[a-zA-Z]:[\\/]/;function h(a){return g.test(a)||a.startsWith("\\\\")||a.startsWith("//")}function i(a,b){let c;try{c=(0,d.realpathSync)(a)}catch{return!1}let e=new Set;for(let a of b)try{e.add((0,d.realpathSync)(a))}catch{}return function(a,b){for(let c of b){let b=h(a)||h(c),d=b?f().win32:f(),e=b?"\\":f().sep,g=d.resolve(a),i=d.resolve(c),j=b?g.toLowerCase():g,k=b?i.toLowerCase():i,l=k.endsWith(e)?k:k+e;if(j===k||j.startsWith(l))return!0}return!1}(c,e)}},84107:(a,b,c)=>{c.d(b,{a:()=>j});var d=c(79646),e=c(28354),f=c(29021),g=c(33873);let h=require("process"),i=(0,e.promisify)(d.execFile);async function j(a,b={}){let c=function(){let a=(0,g.dirname)(h.execPath);for(let b of[(0,g.join)(a,"node_modules","npm","bin","npx-cli.js"),(0,g.join)(a,"..","lib","node_modules","npm","bin","npx-cli.js")])try{if((0,f.existsSync)(b))return b}catch{}return null}(),{command:d,commandArgs:e}=c?{command:h.execPath,commandArgs:[c,...a]}:{command:"npx",commandArgs:a};return i(d,e,{timeout:b.timeout,cwd:b.cwd,env:b.env})}},86439:a=>{a.exports=require("next/dist/shared/lib/no-fallback-error.external")}};var b=require("../../../../webpack-runtime.js");b.C(a);var c=b.X(0,[4741,1813,5582],()=>b(b.s=43469));module.exports=c})();
|
|
1
|
+
"use strict";(()=>{var a={};a.id=9156,a.ids=[9156],a.modules={261:a=>{a.exports=require("next/dist/shared/lib/router/utils/app-paths")},3236:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.r(b),c.d(b,{handler:()=>y,patchFetch:()=>x,routeModule:()=>z,serverHooks:()=>C,workAsyncStorage:()=>A,workUnitAsyncStorage:()=>B});var e=c(19225),f=c(84006),g=c(8317),h=c(99373),i=c(34775),j=c(24235),k=c(261),l=c(54365),m=c(90771),n=c(73461),o=c(67798),p=c(92280),q=c(62018),r=c(45696),s=c(47929),t=c(86439),u=c(37527),v=c(56679),w=a([v]);v=(w.then?(await w)():w)[0];let z=new e.AppRouteRouteModule({definition:{kind:f.RouteKind.APP_ROUTE,page:"/api/skills/update/route",pathname:"/api/skills/update",filename:"route",bundlePath:"app/api/skills/update/route"},distDir:".next",relativeProjectDir:"",resolvedPagePath:"/Users/liangyun/Codes/pi-web/app/api/skills/update/route.ts",nextConfigOutput:"",userland:v,...{}}),{workAsyncStorage:A,workUnitAsyncStorage:B,serverHooks:C}=z;function x(){return(0,g.patchFetch)({workAsyncStorage:A,workUnitAsyncStorage:B})}async function y(a,b,c){c.requestMeta&&(0,h.setRequestMeta)(a,c.requestMeta),z.isDev&&(0,h.addRequestMeta)(a,"devRequestTimingInternalsEnd",process.hrtime.bigint());let d="/api/skills/update/route";"/index"===d&&(d="/");let e=await z.prepare(a,b,{srcPage:d,multiZoneDraftMode:!1});if(!e)return b.statusCode=400,b.end("Bad Request"),null==c.waitUntil||c.waitUntil.call(c,Promise.resolve()),null;let{buildId:g,deploymentId:v,params:w,nextConfig:x,parsedUrl:y,isDraftMode:A,prerenderManifest:B,routerServerContext:C,isOnDemandRevalidate:D,revalidateOnlyGenerated:E,resolvedPathname:F,clientReferenceManifest:G,serverActionsManifest:H}=e,I=(0,k.normalizeAppPath)(d),J=!!(B.dynamicRoutes[I]||B.routes[F]),K=async()=>((null==C?void 0:C.render404)?await C.render404(a,b,y,!1):b.end("This page could not be found"),null);if(J&&!A){let a=!!B.routes[F],b=B.dynamicRoutes[I];if(b&&!1===b.fallback&&!a){if(x.adapterPath)return await K();throw new t.NoFallbackError}}let L=null;!J||z.isDev||A||(L=F,L="/index"===L?"/":L);let M=!0===z.isDev||!J,N=J&&!M;H&&G&&(0,j.setManifestsSingleton)({page:d,clientReferenceManifest:G,serverActionsManifest:H});let O=a.method||"GET",P=(0,i.getTracer)(),Q=P.getActiveScopeSpan(),R=!!(null==C?void 0:C.isWrappedByNextServer),S=!!(0,h.getRequestMeta)(a,"minimalMode"),T=(0,h.getRequestMeta)(a,"incrementalCache")||await z.getIncrementalCache(a,x,B,S);null==T||T.resetRequestCache(),globalThis.__incrementalCache=T;let U={params:w,previewProps:B.preview,renderOpts:{experimental:{authInterrupts:!!x.experimental.authInterrupts},cacheComponents:!!x.cacheComponents,supportsDynamicResponse:M,incrementalCache:T,cacheLifeProfiles:x.cacheLife,waitUntil:c.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:void 0,onInstrumentationRequestError:(b,c,d,e)=>z.onRequestError(a,b,d,e,C)},sharedContext:{buildId:g,deploymentId:v}},V=new l.NodeNextRequest(a),W=new l.NodeNextResponse(b),X=m.NextRequestAdapter.fromNodeNextRequest(V,(0,m.signalFromNodeResponse)(b));try{let e,g=async a=>z.handle(X,U).finally(()=>{if(!a)return;a.setAttributes({"http.status_code":b.statusCode,"next.rsc":!1});let c=P.getRootSpanAttributes();if(!c)return;if(c.get("next.span_type")!==n.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${c.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let f=c.get("next.route");if(f){let b=`${O} ${f}`;a.setAttributes({"next.route":f,"http.route":f,"next.span_name":b}),a.updateName(b),e&&e!==a&&(e.setAttribute("http.route",f),e.updateName(b))}else a.updateName(`${O} ${d}`)}),h=async e=>{var h,i;let j=async({previousCacheEntry:f})=>{try{if(!S&&D&&E&&!f)return b.statusCode=404,b.setHeader("x-nextjs-cache","REVALIDATED"),b.end("This page could not be found"),null;let d=await g(e);a.fetchMetrics=U.renderOpts.fetchMetrics;let h=U.renderOpts.pendingWaitUntil;h&&c.waitUntil&&(c.waitUntil(h),h=void 0);let i=U.renderOpts.collectedTags;if(!J)return await (0,p.I)(V,W,d,U.renderOpts.pendingWaitUntil),null;{let a=await d.blob(),b=(0,q.toNodeOutgoingHttpHeaders)(d.headers);i&&(b[s.NEXT_CACHE_TAGS_HEADER]=i),!b["content-type"]&&a.type&&(b["content-type"]=a.type);let c=void 0!==U.renderOpts.collectedRevalidate&&!(U.renderOpts.collectedRevalidate>=s.INFINITE_CACHE)&&U.renderOpts.collectedRevalidate,e=void 0===U.renderOpts.collectedExpire||U.renderOpts.collectedExpire>=s.INFINITE_CACHE?void 0:U.renderOpts.collectedExpire;return{value:{kind:u.CachedRouteKind.APP_ROUTE,status:d.status,body:Buffer.from(await a.arrayBuffer()),headers:b},cacheControl:{revalidate:c,expire:e}}}}catch(b){throw(null==f?void 0:f.isStale)&&await z.onRequestError(a,b,{routerKind:"App Router",routePath:d,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:N,isOnDemandRevalidate:D})},!1,C),b}},k=await z.handleResponse({req:a,nextConfig:x,cacheKey:L,routeKind:f.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:B,isRoutePPREnabled:!1,isOnDemandRevalidate:D,revalidateOnlyGenerated:E,responseGenerator:j,waitUntil:c.waitUntil,isMinimalMode:S});if(!J)return null;if((null==k||null==(h=k.value)?void 0:h.kind)!==u.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==k||null==(i=k.value)?void 0:i.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});S||b.setHeader("x-nextjs-cache",D?"REVALIDATED":k.isMiss?"MISS":k.isStale?"STALE":"HIT"),A&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let l=(0,q.fromNodeOutgoingHttpHeaders)(k.value.headers);return S&&J||l.delete(s.NEXT_CACHE_TAGS_HEADER),!k.cacheControl||b.getHeader("Cache-Control")||l.get("Cache-Control")||l.set("Cache-Control",(0,r.getCacheControlHeader)(k.cacheControl)),await (0,p.I)(V,W,new Response(k.value.body,{headers:l,status:k.value.status||200})),null};R&&Q?await h(Q):(e=P.getActiveScopeSpan(),await P.withPropagatedContext(a.headers,()=>P.trace(n.BaseServerSpan.handleRequest,{spanName:`${O} ${d}`,kind:i.SpanKind.SERVER,attributes:{"http.method":O,"http.target":a.url}},h),void 0,!R))}catch(b){if(b instanceof t.NoFallbackError||await z.onRequestError(a,b,{routerKind:"App Router",routePath:I,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:N,isOnDemandRevalidate:D})},!1,C),J)throw b;return await (0,p.I)(V,W,new Response(null,{status:500})),null}}d()}catch(a){d(a)}})},3295:a=>{a.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},10846:a=>{a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},19038:(a,b,c)=>{c.d(b,{CU:()=>l,S7:()=>u});var d=c(79646),e=c(79748),f=c(21820),g=c(33873),h=c(28354);let i=process.env.SKILLS_API_URL||"https://skills.sh",j=(0,h.promisify)(d.execFile);class k extends Error{constructor(a){super(`HTTP ${a}`),this.status=a}}function l(a){let b=n(a.skillPath??""),c=b?`${a.source}/${b}`:a.source,d=a.ref?`#${encodeURIComponent(a.ref)}`:"",e=["skills","add",`${c}${d}`,"--skill",m(a.package),"-y","--agent","pi"];return"global"===a.scope&&e.push("-g"),e}function m(a){let b=a.lastIndexOf("@");return b>=0?a.slice(b+1):a}function n(a){let b=a.replace(/\\/g,"/");return b.toLowerCase().endsWith("/skill.md")?b=b.slice(0,-9):b.toLowerCase().endsWith("skill.md")&&(b=b.slice(0,-8)),b.replace(/\/$/,"")}function o(a,b,c,d){return{package:a.package,scope:a.scope,state:b,currentVersion:a.versionHash,latestVersion:c,message:d}}async function p(a,b,c){let d=await b(a,{cache:"no-store",headers:c,signal:AbortSignal.timeout(15e3)});if(!d.ok)throw new k(d.status);return d.json()}async function q(a){let b=`https://github.com/${a.source}.git`,c=a.ref||"HEAD",d=n(a.skillPath),h=await (0,e.mkdtemp)((0,g.join)((0,f.tmpdir)(),"pi-web-skill-check-"));try{await j("git",["init","--bare",h],{timeout:3e4}),await j("git",[`--git-dir=${h}`,"fetch","--depth=1","--filter=blob:none","--no-tags",b,c],{timeout:3e4});let a=d?`FETCH_HEAD:${d}`:"FETCH_HEAD^{tree}",{stdout:e}=await j("git",[`--git-dir=${h}`,"rev-parse",a],{timeout:3e4}),f=e.trim();if(!/^[0-9a-f]{40}$/i.test(f))throw Error("Invalid Git tree hash");return f}finally{await (0,e.rm)(h,{recursive:!0,force:!0})}}async function r(a,b){let c,d=a.ref||"HEAD",e=`https://api.github.com/repos/${a.source}/git/trees/${encodeURIComponent(d)}?recursive=1`,f={Accept:"application/vnd.github.v3+json","User-Agent":"pi-web"};b.githubToken&&(f.Authorization=`Bearer ${b.githubToken}`);let g=n(a.skillPath);try{let a=await p(e,b.fetcher,f);if(c="string"!=typeof a.sha||g?void 0:a.sha,g&&Array.isArray(a.tree)){let b=a.tree.find(a=>"tree"===a.type&&a.path===g);b&&"string"==typeof b.sha&&(c=b.sha)}}catch(d){if(!(d instanceof k)||![401,403,429].includes(d.status))throw d;c=await b.resolveGitTreeHash(a)}return c?o(a,c===a.versionHash?"up-to-date":"update-available",c):o(a,"error",void 0,"Remote skill path was not found.")}async function s(a,b){let[c,d]=a.source.split("/"),e=m(a.package).toLowerCase().replace(/[\s_]+/g,"-").replace(/[^a-z0-9-]/g,"").replace(/-+/g,"-").replace(/^-|-$/g,""),f=`${b.skillsApiBase}/api/download/${encodeURIComponent(c)}/${encodeURIComponent(d)}/${encodeURIComponent(e)}`,g=await p(f,b.fetcher),h="string"==typeof g.hash?g.hash:void 0;return h?o(a,h===a.versionHash?"up-to-date":"update-available",h):o(a,"error",void 0,"skills.sh did not return a version hash.")}async function t(a,b={}){if(!a.canCheckForUpdates||!a.versionHash||!a.skillPath)return o(a,"unsupported",void 0,"This lock entry cannot be checked automatically.");let c={...b,fetcher:b.fetcher??fetch,skillsApiBase:b.skillsApiBase??i,resolveGitTreeHash:b.resolveGitTreeHash??q};try{return"global"===a.scope?await r(a,c):await s(a,c)}catch(b){return o(a,"error",void 0,b instanceof Error?b.message:String(b))}}async function u(a,b={}){let c=b.fetcher??fetch,d=new Map,e=async(a,b)=>{let e=d.get(a);return e||(e=c(a,b),d.set(a,e)),(await e).clone()};return Promise.all(a.map(a=>t(a,{...b,fetcher:e})))}},21278:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{y:()=>i});var e=c(75430),f=c(75805),g=c(72498),h=a([e,g]);async function i(a){let b=(0,e.getAgentDir)(),c=new e.DefaultResourceLoader({cwd:a,agentDir:b});await c.reload((0,g.Fk)(a,b));let{skills:d,diagnostics:h}=c.getSkills();return{skills:(0,f._)(d,{cwd:a,agentDir:b}),diagnostics:h,projectResourcesLoaded:(0,g.Y1)(a,b).trusted}}[e,g]=h.then?(await h)():h,d()}catch(a){d(a)}})},21820:a=>{a.exports=require("os")},28354:a=>{a.exports=require("util")},29021:a=>{a.exports=require("fs")},29294:a=>{a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},33873:a=>{a.exports=require("path")},44870:a=>{a.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},56679:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.r(b),c.d(b,{POST:()=>k,dynamic:()=>l});var e=c(23211),f=c(84107),g=c(19038),h=c(21278),i=c(80547),j=a([h,i]);[h,i]=j.then?(await j)():j;let l="force-dynamic";async function k(a){try{let b=await a.json(),c="string"==typeof b.cwd?b.cwd:"",d="string"==typeof b.package?b.package:"",j="global"===b.scope||"project"===b.scope?b.scope:void 0;if(!c||!d||!j)return e.NextResponse.json({error:"cwd, package, and scope are required"},{status:400});let k=await (0,i.mc)();if(!(0,i.B7)(c,k))return e.NextResponse.json({error:"Access denied"},{status:403});let{skills:l}=await (0,h.y)(c),m=l.find(a=>a.install?.package===d&&a.install.scope===j);if(!m?.install)return e.NextResponse.json({error:"Installed skill not found"},{status:404});if(!m.install.canCheckForUpdates)return e.NextResponse.json({error:"This skill cannot be updated automatically"},{status:400});let{stdout:n,stderr:o}=await (0,f.a)((0,g.CU)(m.install),{timeout:6e4,cwd:"project"===j?c:void 0,env:{...process.env,FORCE_COLOR:"0"}}),p=(await (0,h.y)(c)).skills.find(a=>a.install?.package===d&&a.install.scope===j);return e.NextResponse.json({success:!0,skill:p,output:`${n}${o}`.slice(-500)})}catch(b){let a=`${b.stdout??""}${b.stderr??""}`;return e.NextResponse.json({error:a||b.message||String(b)},{status:500})}}d()}catch(a){d(a)}})},63033:a=>{a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},72498:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{Fk:()=>i,Y1:()=>g,er:()=>h});var e=c(75430),f=a([e]);function g(a,b){if(!(a&&(0,e.hasTrustRequiringProjectResources)(a)))return{requiresTrust:!1,trusted:!0};let c=new e.ProjectTrustStore(b);return{requiresTrust:!0,trusted:!0===c.get(a)}}function h(a,b){let c=g(a,b);return c.requiresTrust?(new e.ProjectTrustStore(b).set(a,!0),{requiresTrust:!0,trusted:!0}):c}function i(a,b){if(!g(a,b).requiresTrust)return;let c=new e.ProjectTrustStore(b);return{resolveProjectTrust:async()=>!0===c.get(a)}}e=(f.then?(await f)():f)[0],d()}catch(a){d(a)}})},75430:a=>{a.exports=import("@earendil-works/pi-coding-agent")},75805:(a,b,c)=>{c.d(b,{_:()=>j});var d=c(29021),e=c(21820),f=c(33873);function g(a){try{let b=JSON.parse((0,d.readFileSync)(a,"utf8"));return b.skills&&"object"==typeof b.skills?b.skills:{}}catch{return{}}}function h(a,b){let c=(0,f.relative)((0,f.resolve)(b),(0,f.resolve)(a));return""!==c&&".."!==c&&!c.startsWith(`..${f.sep}`)&&!(0,f.isAbsolute)(c)}function i(a,b,c){var d;let e=function(a,b){if(a[b])return a[b];let c=b.toLowerCase(),d=Object.keys(a).find(a=>a.toLowerCase()===c);return d?a[d]:void 0}(a,b);if(!e||"string"!=typeof e.source||!e.source.trim())return;let f="string"==typeof e.sourceType?e.sourceType:void 0,g=(d=e.source.trim(),"github"!==f?d.replace(/\/$/,""):d.replace(/^git\+/,"").replace(/^https?:\/\/github\.com\//,"").replace(/^git@github\.com:/,"").replace(/\.git$/,"").replace(/\/$/,""));if(!g)return;let h="string"==typeof e.skillPath?e.skillPath:void 0,i="string"==typeof e.ref?e.ref:void 0,j="global"===c?e.skillFolderHash:e.computedHash,k="string"==typeof j&&j?j:void 0,l="github"===f&&/^[\w.-]+\/[\w.-]+$/.test(g);return{package:`${g}@${b}`,scope:c,source:g,sourceType:f,skillsShUrl:"local"===f?void 0:function(a,b){if(!a||a.includes("://")||a.startsWith("git@"))return;let c=a.split("/").filter(Boolean).map(encodeURIComponent).join("/");if(c)return`https://skills.sh/${c}/${encodeURIComponent(b)}`}(g,b),...h&&{skillPath:h},...i&&{ref:i},...k&&{versionHash:k},canCheckForUpdates:!!(l&&h&&k&&("global"===c||!i))}}function j(a,{cwd:b,agentDir:c,globalLockPath:k=function({homeDir:a=(0,e.homedir)(),xdgStateHome:b=process.env.XDG_STATE_HOME}={}){return b?(0,f.join)(b,"skills",".skill-lock.json"):(0,f.join)(a,".agents",".skill-lock.json")}(),projectLockPath:l=(0,f.join)(b,"skills-lock.json")}){let m=g(k),n=g(l),o=(0,f.join)(c,"skills"),p=(0,f.join)(b,".pi","skills");return a.map(a=>{if(!(0,d.existsSync)(a.filePath))return a;let b=h(a.filePath,o)?i(m,a.name,"global"):h(a.filePath,p)?i(n,a.name,"project"):void 0;return b?{...a,install:b}:a})}},76760:a=>{a.exports=require("node:path")},79646:a=>{a.exports=require("child_process")},79748:a=>{a.exports=require("fs/promises")},80547:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{A$:()=>o,B7:()=>p,Nw:()=>i.Nw,mc:()=>n,uK:()=>l.uK,wz:()=>i.wz});var e=c(29021),f=c(21820),g=c(33873),h=c.n(g),i=c(25252),j=c(82536),k=c(40402),l=c(58864),m=a([k]);async function n(){let a=Date.now(),b=globalThis.__piAllowedRootsCache;if(b&&b.expiresAt>a)return b.roots;let c=await (0,k.dQ)(),d=new Set;for(let a of c)a.cwd&&d.add((0,i.Nw)(a.cwd)),a.projectRoot&&d.add((0,i.Nw)(a.projectRoot));try{for(let a of(0,e.readdirSync)((0,f.homedir)()))/^pi-cwd-\d{8}$/.test(a)&&d.add((0,i.Nw)(h().join((0,f.homedir)(),a)))}catch{}for(let a of(0,i.HM)())d.add(a);return globalThis.__piAllowedRootsCache={roots:d,expiresAt:a+5e3},d}function o(a,b){return(0,j.o)(a,b)}function p(a,b){return(0,j.x)(a,b)}k=(m.then?(await m)():m)[0],d()}catch(a){d(a)}})},82536:(a,b,c)=>{c.d(b,{o:()=>h,x:()=>i});var d=c(29021),e=c(33873),f=c.n(e),g=c(58864);function h(a,b){for(let c of b){let b=(0,g.uK)(a)||(0,g.uK)(c),d=b?f().win32:f(),e=b?"\\":f().sep,h=d.resolve(a),i=d.resolve(c),j=b?h.toLowerCase():h,k=b?i.toLowerCase():i,l=k.endsWith(e)?k:k+e;if(j===k||j.startsWith(l))return!0}return!1}function i(a,b){let c;try{c=(0,d.realpathSync)(a)}catch{return!1}let e=new Set;for(let a of b)try{e.add((0,d.realpathSync)(a))}catch{}return h(c,e)}},84107:(a,b,c)=>{c.d(b,{a:()=>j});var d=c(79646),e=c(28354),f=c(29021),g=c(33873);let h=require("process"),i=(0,e.promisify)(d.execFile);async function j(a,b={}){let c=function(){let a=(0,g.dirname)(h.execPath);for(let b of[(0,g.join)(a,"node_modules","npm","bin","npx-cli.js"),(0,g.join)(a,"..","lib","node_modules","npm","bin","npx-cli.js")])try{if((0,f.existsSync)(b))return b}catch{}return null}(),{command:d,commandArgs:e}=c?{command:h.execPath,commandArgs:[c,...a]}:{command:"npx",commandArgs:a};return i(d,e,{timeout:b.timeout,cwd:b.cwd,env:b.env})}},86439:a=>{a.exports=require("next/dist/shared/lib/no-fallback-error.external")}};var b=require("../../../../webpack-runtime.js");b.C(a);var c=b.X(0,[4741,1813,5582],()=>b(b.s=3236));module.exports=c})();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";(()=>{var a={};a.id=4016,a.ids=[4016],a.modules={261:a=>{a.exports=require("next/dist/shared/lib/router/utils/app-paths")},3295:a=>{a.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},10846:a=>{a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},21820:a=>{a.exports=require("os")},28354:a=>{a.exports=require("util")},29021:a=>{a.exports=require("fs")},29294:a=>{a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},33873:a=>{a.exports=require("path")},42819:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.r(b),c.d(b,{DELETE:()=>m,GET:()=>k,POST:()=>l});var e=c(23211),f=c(29021),g=c(24923),h=c(80547),i=a([h]);async function j(a){let b=await (0,h.mc)();return(0,h.A$)(a,b)&&(0,h.B7)(a,b)?null:e.NextResponse.json({error:"Access denied"},{status:403})}async function k(a){try{let b=new URL(a.url).searchParams.get("cwd");if(!b)return e.NextResponse.json({error:"cwd is required"},{status:400});let c=await j(b);if(c)return c;let d=await (0,g.KI)(b),i=[],k=!0;try{i=await (0,g.P9)((0,f.existsSync)(b)?b:d.projectRoot)}catch{k=!1}for(let a of i)(0,h.wz)(a.path);return e.NextResponse.json({projectRoot:d.projectRoot,isGit:k,isTopLevel:d.isTopLevel,worktrees:i})}catch(a){return e.NextResponse.json({error:String(a)},{status:500})}}async function l(a){try{let b=await a.json();if(!b.cwd||"string"!=typeof b.cwd)return e.NextResponse.json({error:"cwd is required"},{status:400});if(!b.branch||"string"!=typeof b.branch)return e.NextResponse.json({error:"branch is required"},{status:400});let c=await j(b.cwd);if(c)return c;if(!(0,f.existsSync)(b.cwd))return e.NextResponse.json({error:`Directory does not exist: ${b.cwd}`},{status:400});let d=await (0,g.l)(b.cwd,b.branch);return e.NextResponse.json(d)}catch(b){let a=b instanceof Error?b.message:String(b);return e.NextResponse.json({error:a},{status:400})}}async function m(a){try{let b=await a.json();if(!b.cwd||"string"!=typeof b.cwd)return e.NextResponse.json({error:"cwd is required"},{status:400});if(!b.path||"string"!=typeof b.path)return e.NextResponse.json({error:"path is required"},{status:400});let c=await j(b.cwd);if(c)return c;return await (0,g.IL)(b.cwd,b.path,!0===b.force),e.NextResponse.json({success:!0})}catch(c){let a=c instanceof Error?c.message:String(c),b=/contains modified or untracked files|is dirty/i.test(a);return e.NextResponse.json({error:a,dirty:b},{status:b?409:400})}}h=(i.then?(await i)():i)[0],d()}catch(a){d(a)}})},44870:a=>{a.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},63033:a=>{a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},75430:a=>{a.exports=import("@earendil-works/pi-coding-agent")},76760:a=>{a.exports=require("node:path")},79646:a=>{a.exports=require("child_process")},80547:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{A$:()=>o,B7:()=>p,Nw:()=>i.Nw,mc:()=>n,uK:()=>m,wz:()=>i.wz});var e=c(29021),f=c(21820),g=c(33873),h=c.n(g),i=c(25252),j=c(82536),k=c(40402),l=a([k]);k=(l.then?(await l)():l)[0];let q=/^[a-zA-Z]:[\\/]/;function m(a){return q.test(a)||a.startsWith("\\\\")||a.startsWith("//")}async function n(){let a=Date.now(),b=globalThis.__piAllowedRootsCache;if(b&&b.expiresAt>a)return b.roots;let c=await (0,k.dQ)(),d=new Set;for(let a of c)a.cwd&&d.add((0,i.Nw)(a.cwd)),a.projectRoot&&d.add((0,i.Nw)(a.projectRoot));try{for(let a of(0,e.readdirSync)((0,f.homedir)()))/^pi-cwd-\d{8}$/.test(a)&&d.add((0,i.Nw)(h().join((0,f.homedir)(),a)))}catch{}for(let a of(0,i.HM)())d.add(a);return globalThis.__piAllowedRootsCache={roots:d,expiresAt:a+5e3},d}function o(a,b){for(let c of b){let b=m(a)||m(c),d=b?h().win32:h(),e=b?"\\":h().sep,f=d.resolve(a),g=d.resolve(c),i=b?f.toLowerCase():f,j=b?g.toLowerCase():g,k=j.endsWith(e)?j:j+e;if(i===j||i.startsWith(k))return!0}return!1}function p(a,b){return(0,j.x)(a,b)}d()}catch(a){d(a)}})},82536:(a,b,c)=>{c.d(b,{x:()=>i});var d=c(29021),e=c(33873),f=c.n(e);let g=/^[a-zA-Z]:[\\/]/;function h(a){return g.test(a)||a.startsWith("\\\\")||a.startsWith("//")}function i(a,b){let c;try{c=(0,d.realpathSync)(a)}catch{return!1}let e=new Set;for(let a of b)try{e.add((0,d.realpathSync)(a))}catch{}return function(a,b){for(let c of b){let b=h(a)||h(c),d=b?f().win32:f(),e=b?"\\":f().sep,g=d.resolve(a),i=d.resolve(c),j=b?g.toLowerCase():g,k=b?i.toLowerCase():i,l=k.endsWith(e)?k:k+e;if(j===k||j.startsWith(l))return!0}return!1}(c,e)}},86439:a=>{a.exports=require("next/dist/shared/lib/no-fallback-error.external")},89733:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.r(b),c.d(b,{handler:()=>y,patchFetch:()=>x,routeModule:()=>z,serverHooks:()=>C,workAsyncStorage:()=>A,workUnitAsyncStorage:()=>B});var e=c(19225),f=c(84006),g=c(8317),h=c(99373),i=c(34775),j=c(24235),k=c(261),l=c(54365),m=c(90771),n=c(73461),o=c(67798),p=c(92280),q=c(62018),r=c(45696),s=c(47929),t=c(86439),u=c(37527),v=c(42819),w=a([v]);v=(w.then?(await w)():w)[0];let z=new e.AppRouteRouteModule({definition:{kind:f.RouteKind.APP_ROUTE,page:"/api/worktrees/route",pathname:"/api/worktrees",filename:"route",bundlePath:"app/api/worktrees/route"},distDir:".next",relativeProjectDir:"",resolvedPagePath:"/Users/liangyun/Codes/pi-web/app/api/worktrees/route.ts",nextConfigOutput:"",userland:v,...{}}),{workAsyncStorage:A,workUnitAsyncStorage:B,serverHooks:C}=z;function x(){return(0,g.patchFetch)({workAsyncStorage:A,workUnitAsyncStorage:B})}async function y(a,b,c){c.requestMeta&&(0,h.setRequestMeta)(a,c.requestMeta),z.isDev&&(0,h.addRequestMeta)(a,"devRequestTimingInternalsEnd",process.hrtime.bigint());let d="/api/worktrees/route";"/index"===d&&(d="/");let e=await z.prepare(a,b,{srcPage:d,multiZoneDraftMode:!1});if(!e)return b.statusCode=400,b.end("Bad Request"),null==c.waitUntil||c.waitUntil.call(c,Promise.resolve()),null;let{buildId:g,deploymentId:v,params:w,nextConfig:x,parsedUrl:y,isDraftMode:A,prerenderManifest:B,routerServerContext:C,isOnDemandRevalidate:D,revalidateOnlyGenerated:E,resolvedPathname:F,clientReferenceManifest:G,serverActionsManifest:H}=e,I=(0,k.normalizeAppPath)(d),J=!!(B.dynamicRoutes[I]||B.routes[F]),K=async()=>((null==C?void 0:C.render404)?await C.render404(a,b,y,!1):b.end("This page could not be found"),null);if(J&&!A){let a=!!B.routes[F],b=B.dynamicRoutes[I];if(b&&!1===b.fallback&&!a){if(x.adapterPath)return await K();throw new t.NoFallbackError}}let L=null;!J||z.isDev||A||(L=F,L="/index"===L?"/":L);let M=!0===z.isDev||!J,N=J&&!M;H&&G&&(0,j.setManifestsSingleton)({page:d,clientReferenceManifest:G,serverActionsManifest:H});let O=a.method||"GET",P=(0,i.getTracer)(),Q=P.getActiveScopeSpan(),R=!!(null==C?void 0:C.isWrappedByNextServer),S=!!(0,h.getRequestMeta)(a,"minimalMode"),T=(0,h.getRequestMeta)(a,"incrementalCache")||await z.getIncrementalCache(a,x,B,S);null==T||T.resetRequestCache(),globalThis.__incrementalCache=T;let U={params:w,previewProps:B.preview,renderOpts:{experimental:{authInterrupts:!!x.experimental.authInterrupts},cacheComponents:!!x.cacheComponents,supportsDynamicResponse:M,incrementalCache:T,cacheLifeProfiles:x.cacheLife,waitUntil:c.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:void 0,onInstrumentationRequestError:(b,c,d,e)=>z.onRequestError(a,b,d,e,C)},sharedContext:{buildId:g,deploymentId:v}},V=new l.NodeNextRequest(a),W=new l.NodeNextResponse(b),X=m.NextRequestAdapter.fromNodeNextRequest(V,(0,m.signalFromNodeResponse)(b));try{let e,g=async a=>z.handle(X,U).finally(()=>{if(!a)return;a.setAttributes({"http.status_code":b.statusCode,"next.rsc":!1});let c=P.getRootSpanAttributes();if(!c)return;if(c.get("next.span_type")!==n.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${c.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let f=c.get("next.route");if(f){let b=`${O} ${f}`;a.setAttributes({"next.route":f,"http.route":f,"next.span_name":b}),a.updateName(b),e&&e!==a&&(e.setAttribute("http.route",f),e.updateName(b))}else a.updateName(`${O} ${d}`)}),h=async e=>{var h,i;let j=async({previousCacheEntry:f})=>{try{if(!S&&D&&E&&!f)return b.statusCode=404,b.setHeader("x-nextjs-cache","REVALIDATED"),b.end("This page could not be found"),null;let d=await g(e);a.fetchMetrics=U.renderOpts.fetchMetrics;let h=U.renderOpts.pendingWaitUntil;h&&c.waitUntil&&(c.waitUntil(h),h=void 0);let i=U.renderOpts.collectedTags;if(!J)return await (0,p.I)(V,W,d,U.renderOpts.pendingWaitUntil),null;{let a=await d.blob(),b=(0,q.toNodeOutgoingHttpHeaders)(d.headers);i&&(b[s.NEXT_CACHE_TAGS_HEADER]=i),!b["content-type"]&&a.type&&(b["content-type"]=a.type);let c=void 0!==U.renderOpts.collectedRevalidate&&!(U.renderOpts.collectedRevalidate>=s.INFINITE_CACHE)&&U.renderOpts.collectedRevalidate,e=void 0===U.renderOpts.collectedExpire||U.renderOpts.collectedExpire>=s.INFINITE_CACHE?void 0:U.renderOpts.collectedExpire;return{value:{kind:u.CachedRouteKind.APP_ROUTE,status:d.status,body:Buffer.from(await a.arrayBuffer()),headers:b},cacheControl:{revalidate:c,expire:e}}}}catch(b){throw(null==f?void 0:f.isStale)&&await z.onRequestError(a,b,{routerKind:"App Router",routePath:d,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:N,isOnDemandRevalidate:D})},!1,C),b}},k=await z.handleResponse({req:a,nextConfig:x,cacheKey:L,routeKind:f.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:B,isRoutePPREnabled:!1,isOnDemandRevalidate:D,revalidateOnlyGenerated:E,responseGenerator:j,waitUntil:c.waitUntil,isMinimalMode:S});if(!J)return null;if((null==k||null==(h=k.value)?void 0:h.kind)!==u.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==k||null==(i=k.value)?void 0:i.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});S||b.setHeader("x-nextjs-cache",D?"REVALIDATED":k.isMiss?"MISS":k.isStale?"STALE":"HIT"),A&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let l=(0,q.fromNodeOutgoingHttpHeaders)(k.value.headers);return S&&J||l.delete(s.NEXT_CACHE_TAGS_HEADER),!k.cacheControl||b.getHeader("Cache-Control")||l.get("Cache-Control")||l.set("Cache-Control",(0,r.getCacheControlHeader)(k.cacheControl)),await (0,p.I)(V,W,new Response(k.value.body,{headers:l,status:k.value.status||200})),null};R&&Q?await h(Q):(e=P.getActiveScopeSpan(),await P.withPropagatedContext(a.headers,()=>P.trace(n.BaseServerSpan.handleRequest,{spanName:`${O} ${d}`,kind:i.SpanKind.SERVER,attributes:{"http.method":O,"http.target":a.url}},h),void 0,!R))}catch(b){if(b instanceof t.NoFallbackError||await z.onRequestError(a,b,{routerKind:"App Router",routePath:I,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:N,isOnDemandRevalidate:D})},!1,C),J)throw b;return await (0,p.I)(V,W,new Response(null,{status:500})),null}}d()}catch(a){d(a)}})}};var b=require("../../../webpack-runtime.js");b.C(a);var c=b.X(0,[4741,1813,5582],()=>b(b.s=89733));module.exports=c})();
|
|
1
|
+
"use strict";(()=>{var a={};a.id=4016,a.ids=[4016],a.modules={261:a=>{a.exports=require("next/dist/shared/lib/router/utils/app-paths")},3295:a=>{a.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},10846:a=>{a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},18908:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.r(b),c.d(b,{handler:()=>y,patchFetch:()=>x,routeModule:()=>z,serverHooks:()=>C,workAsyncStorage:()=>A,workUnitAsyncStorage:()=>B});var e=c(19225),f=c(84006),g=c(8317),h=c(99373),i=c(34775),j=c(24235),k=c(261),l=c(54365),m=c(90771),n=c(73461),o=c(67798),p=c(92280),q=c(62018),r=c(45696),s=c(47929),t=c(86439),u=c(37527),v=c(42819),w=a([v]);v=(w.then?(await w)():w)[0];let z=new e.AppRouteRouteModule({definition:{kind:f.RouteKind.APP_ROUTE,page:"/api/worktrees/route",pathname:"/api/worktrees",filename:"route",bundlePath:"app/api/worktrees/route"},distDir:".next",relativeProjectDir:"",resolvedPagePath:"/Users/liangyun/Codes/pi-web/app/api/worktrees/route.ts",nextConfigOutput:"",userland:v,...{}}),{workAsyncStorage:A,workUnitAsyncStorage:B,serverHooks:C}=z;function x(){return(0,g.patchFetch)({workAsyncStorage:A,workUnitAsyncStorage:B})}async function y(a,b,c){c.requestMeta&&(0,h.setRequestMeta)(a,c.requestMeta),z.isDev&&(0,h.addRequestMeta)(a,"devRequestTimingInternalsEnd",process.hrtime.bigint());let d="/api/worktrees/route";"/index"===d&&(d="/");let e=await z.prepare(a,b,{srcPage:d,multiZoneDraftMode:!1});if(!e)return b.statusCode=400,b.end("Bad Request"),null==c.waitUntil||c.waitUntil.call(c,Promise.resolve()),null;let{buildId:g,deploymentId:v,params:w,nextConfig:x,parsedUrl:y,isDraftMode:A,prerenderManifest:B,routerServerContext:C,isOnDemandRevalidate:D,revalidateOnlyGenerated:E,resolvedPathname:F,clientReferenceManifest:G,serverActionsManifest:H}=e,I=(0,k.normalizeAppPath)(d),J=!!(B.dynamicRoutes[I]||B.routes[F]),K=async()=>((null==C?void 0:C.render404)?await C.render404(a,b,y,!1):b.end("This page could not be found"),null);if(J&&!A){let a=!!B.routes[F],b=B.dynamicRoutes[I];if(b&&!1===b.fallback&&!a){if(x.adapterPath)return await K();throw new t.NoFallbackError}}let L=null;!J||z.isDev||A||(L=F,L="/index"===L?"/":L);let M=!0===z.isDev||!J,N=J&&!M;H&&G&&(0,j.setManifestsSingleton)({page:d,clientReferenceManifest:G,serverActionsManifest:H});let O=a.method||"GET",P=(0,i.getTracer)(),Q=P.getActiveScopeSpan(),R=!!(null==C?void 0:C.isWrappedByNextServer),S=!!(0,h.getRequestMeta)(a,"minimalMode"),T=(0,h.getRequestMeta)(a,"incrementalCache")||await z.getIncrementalCache(a,x,B,S);null==T||T.resetRequestCache(),globalThis.__incrementalCache=T;let U={params:w,previewProps:B.preview,renderOpts:{experimental:{authInterrupts:!!x.experimental.authInterrupts},cacheComponents:!!x.cacheComponents,supportsDynamicResponse:M,incrementalCache:T,cacheLifeProfiles:x.cacheLife,waitUntil:c.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:void 0,onInstrumentationRequestError:(b,c,d,e)=>z.onRequestError(a,b,d,e,C)},sharedContext:{buildId:g,deploymentId:v}},V=new l.NodeNextRequest(a),W=new l.NodeNextResponse(b),X=m.NextRequestAdapter.fromNodeNextRequest(V,(0,m.signalFromNodeResponse)(b));try{let e,g=async a=>z.handle(X,U).finally(()=>{if(!a)return;a.setAttributes({"http.status_code":b.statusCode,"next.rsc":!1});let c=P.getRootSpanAttributes();if(!c)return;if(c.get("next.span_type")!==n.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${c.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let f=c.get("next.route");if(f){let b=`${O} ${f}`;a.setAttributes({"next.route":f,"http.route":f,"next.span_name":b}),a.updateName(b),e&&e!==a&&(e.setAttribute("http.route",f),e.updateName(b))}else a.updateName(`${O} ${d}`)}),h=async e=>{var h,i;let j=async({previousCacheEntry:f})=>{try{if(!S&&D&&E&&!f)return b.statusCode=404,b.setHeader("x-nextjs-cache","REVALIDATED"),b.end("This page could not be found"),null;let d=await g(e);a.fetchMetrics=U.renderOpts.fetchMetrics;let h=U.renderOpts.pendingWaitUntil;h&&c.waitUntil&&(c.waitUntil(h),h=void 0);let i=U.renderOpts.collectedTags;if(!J)return await (0,p.I)(V,W,d,U.renderOpts.pendingWaitUntil),null;{let a=await d.blob(),b=(0,q.toNodeOutgoingHttpHeaders)(d.headers);i&&(b[s.NEXT_CACHE_TAGS_HEADER]=i),!b["content-type"]&&a.type&&(b["content-type"]=a.type);let c=void 0!==U.renderOpts.collectedRevalidate&&!(U.renderOpts.collectedRevalidate>=s.INFINITE_CACHE)&&U.renderOpts.collectedRevalidate,e=void 0===U.renderOpts.collectedExpire||U.renderOpts.collectedExpire>=s.INFINITE_CACHE?void 0:U.renderOpts.collectedExpire;return{value:{kind:u.CachedRouteKind.APP_ROUTE,status:d.status,body:Buffer.from(await a.arrayBuffer()),headers:b},cacheControl:{revalidate:c,expire:e}}}}catch(b){throw(null==f?void 0:f.isStale)&&await z.onRequestError(a,b,{routerKind:"App Router",routePath:d,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:N,isOnDemandRevalidate:D})},!1,C),b}},k=await z.handleResponse({req:a,nextConfig:x,cacheKey:L,routeKind:f.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:B,isRoutePPREnabled:!1,isOnDemandRevalidate:D,revalidateOnlyGenerated:E,responseGenerator:j,waitUntil:c.waitUntil,isMinimalMode:S});if(!J)return null;if((null==k||null==(h=k.value)?void 0:h.kind)!==u.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==k||null==(i=k.value)?void 0:i.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});S||b.setHeader("x-nextjs-cache",D?"REVALIDATED":k.isMiss?"MISS":k.isStale?"STALE":"HIT"),A&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let l=(0,q.fromNodeOutgoingHttpHeaders)(k.value.headers);return S&&J||l.delete(s.NEXT_CACHE_TAGS_HEADER),!k.cacheControl||b.getHeader("Cache-Control")||l.get("Cache-Control")||l.set("Cache-Control",(0,r.getCacheControlHeader)(k.cacheControl)),await (0,p.I)(V,W,new Response(k.value.body,{headers:l,status:k.value.status||200})),null};R&&Q?await h(Q):(e=P.getActiveScopeSpan(),await P.withPropagatedContext(a.headers,()=>P.trace(n.BaseServerSpan.handleRequest,{spanName:`${O} ${d}`,kind:i.SpanKind.SERVER,attributes:{"http.method":O,"http.target":a.url}},h),void 0,!R))}catch(b){if(b instanceof t.NoFallbackError||await z.onRequestError(a,b,{routerKind:"App Router",routePath:I,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:N,isOnDemandRevalidate:D})},!1,C),J)throw b;return await (0,p.I)(V,W,new Response(null,{status:500})),null}}d()}catch(a){d(a)}})},21820:a=>{a.exports=require("os")},28354:a=>{a.exports=require("util")},29021:a=>{a.exports=require("fs")},29294:a=>{a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},33873:a=>{a.exports=require("path")},42819:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.r(b),c.d(b,{DELETE:()=>m,GET:()=>k,POST:()=>l});var e=c(23211),f=c(29021),g=c(24923),h=c(80547),i=a([h]);async function j(a){let b=await (0,h.mc)();return(0,h.A$)(a,b)&&(0,h.B7)(a,b)?null:e.NextResponse.json({error:"Access denied"},{status:403})}async function k(a){try{let b=new URL(a.url).searchParams.get("cwd");if(!b)return e.NextResponse.json({error:"cwd is required"},{status:400});let c=await j(b);if(c)return c;let d=await (0,g.KI)(b),i=[],k=null,l=!0;try{i=await (0,g.P9)((0,f.existsSync)(b)?b:d.projectRoot),k=(0,g.xw)(i,b)}catch{l=!1}for(let a of i)(0,h.wz)(a.path);return e.NextResponse.json({projectRoot:d.projectRoot,isGit:l,isTopLevel:d.isTopLevel,currentWorktreePath:k,worktrees:i})}catch(a){return e.NextResponse.json({error:String(a)},{status:500})}}async function l(a){try{let b=await a.json();if(!b.cwd||"string"!=typeof b.cwd)return e.NextResponse.json({error:"cwd is required"},{status:400});if(!b.branch||"string"!=typeof b.branch)return e.NextResponse.json({error:"branch is required"},{status:400});let c=await j(b.cwd);if(c)return c;if(!(0,f.existsSync)(b.cwd))return e.NextResponse.json({error:`Directory does not exist: ${b.cwd}`},{status:400});let d=await (0,g.l)(b.cwd,b.branch);return e.NextResponse.json(d)}catch(b){let a=b instanceof Error?b.message:String(b);return e.NextResponse.json({error:a},{status:400})}}async function m(a){try{let b=await a.json();if(!b.cwd||"string"!=typeof b.cwd)return e.NextResponse.json({error:"cwd is required"},{status:400});if(!b.path||"string"!=typeof b.path)return e.NextResponse.json({error:"path is required"},{status:400});let c=await j(b.cwd);if(c)return c;return await (0,g.IL)(b.cwd,b.path,!0===b.force),e.NextResponse.json({success:!0})}catch(c){let a=c instanceof Error?c.message:String(c),b=/contains modified or untracked files|is dirty/i.test(a);return e.NextResponse.json({error:a,dirty:b},{status:b?409:400})}}h=(i.then?(await i)():i)[0],d()}catch(a){d(a)}})},44870:a=>{a.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},63033:a=>{a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},75430:a=>{a.exports=import("@earendil-works/pi-coding-agent")},76760:a=>{a.exports=require("node:path")},79646:a=>{a.exports=require("child_process")},80547:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{A$:()=>o,B7:()=>p,Nw:()=>i.Nw,mc:()=>n,uK:()=>l.uK,wz:()=>i.wz});var e=c(29021),f=c(21820),g=c(33873),h=c.n(g),i=c(25252),j=c(82536),k=c(40402),l=c(58864),m=a([k]);async function n(){let a=Date.now(),b=globalThis.__piAllowedRootsCache;if(b&&b.expiresAt>a)return b.roots;let c=await (0,k.dQ)(),d=new Set;for(let a of c)a.cwd&&d.add((0,i.Nw)(a.cwd)),a.projectRoot&&d.add((0,i.Nw)(a.projectRoot));try{for(let a of(0,e.readdirSync)((0,f.homedir)()))/^pi-cwd-\d{8}$/.test(a)&&d.add((0,i.Nw)(h().join((0,f.homedir)(),a)))}catch{}for(let a of(0,i.HM)())d.add(a);return globalThis.__piAllowedRootsCache={roots:d,expiresAt:a+5e3},d}function o(a,b){return(0,j.o)(a,b)}function p(a,b){return(0,j.x)(a,b)}k=(m.then?(await m)():m)[0],d()}catch(a){d(a)}})},82536:(a,b,c)=>{c.d(b,{o:()=>h,x:()=>i});var d=c(29021),e=c(33873),f=c.n(e),g=c(58864);function h(a,b){for(let c of b){let b=(0,g.uK)(a)||(0,g.uK)(c),d=b?f().win32:f(),e=b?"\\":f().sep,h=d.resolve(a),i=d.resolve(c),j=b?h.toLowerCase():h,k=b?i.toLowerCase():i,l=k.endsWith(e)?k:k+e;if(j===k||j.startsWith(l))return!0}return!1}function i(a,b){let c;try{c=(0,d.realpathSync)(a)}catch{return!1}let e=new Set;for(let a of b)try{e.add((0,d.realpathSync)(a))}catch{}return h(c,e)}},86439:a=>{a.exports=require("next/dist/shared/lib/no-fallback-error.external")}};var b=require("../../../webpack-runtime.js");b.C(a);var c=b.X(0,[4741,1813,5582],()=>b(b.s=18908));module.exports=c})();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";(()=>{var a={};a.id=3230,a.ids=[3230],a.modules={261:a=>{a.exports=require("next/dist/shared/lib/router/utils/app-paths")},3295:a=>{a.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},10846:a=>{a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},29294:a=>{a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},44870:a=>{a.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},63033:a=>{a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},75505:(a,b,c)=>{c.r(b),c.d(b,{handler:()=>E,patchFetch:()=>D,routeModule:()=>z,serverHooks:()=>C,workAsyncStorage:()=>A,workUnitAsyncStorage:()=>B});var d={};c.r(d),c.d(d,{GET:()=>x,dynamic:()=>y});var e=c(19225),f=c(84006),g=c(8317),h=c(99373),i=c(34775),j=c(24235),k=c(261),l=c(54365),m=c(90771),n=c(73461),o=c(67798),p=c(92280),q=c(62018),r=c(45696),s=c(47929),t=c(86439),u=c(37527),v=c(23211);let w=Buffer.from("iVBORw0KGgoAAAANSUhEUgAAAgAAAAIACAYAAAD0eNT6AAAACXBIWXMAAAsTAAALEwEAmpwYAAAGiGlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgOS4xLWMwMDMgNzkuOTY5MGE4NywgMjAyNS8wMy8wNi0xOToxMjowMyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iIHhtbG5zOnBob3Rvc2hvcD0iaHR0cDovL25zLmFkb2JlLmNvbS9waG90b3Nob3AvMS4wLyIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0RXZ0PSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VFdmVudCMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIDI2LjcgKFdpbmRvd3MpIiB4bXA6Q3JlYXRlRGF0ZT0iMjAyNi0wMy0yM1QxOTowNDoyMCswODowMCIgeG1wOk1vZGlmeURhdGU9IjIwMjYtMDMtMjNUMTk6NDA6MjYrMDg6MDAiIHhtcDpNZXRhZGF0YURhdGU9IjIwMjYtMDMtMjNUMTk6NDA6MjYrMDg6MDAiIGRjOmZvcm1hdD0iaW1hZ2UvcG5nIiBwaG90b3Nob3A6Q29sb3JNb2RlPSIzIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjFmOTkwNDYzLWExMzQtOTk0Ny04ZjgxLTRhZjU1NzM4ODI3MyIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDo2ZTNiNDIxZC1jNmM5LTdkNDYtOWUzYS1iZmIyMzk1OTEzMTUiIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDo2ZTNiNDIxZC1jNmM5LTdkNDYtOWUzYS1iZmIyMzk1OTEzMTUiPiA8eG1wTU06SGlzdG9yeT4gPHJkZjpTZXE+IDxyZGY6bGkgc3RFdnQ6YWN0aW9uPSJjcmVhdGVkIiBzdEV2dDppbnN0YW5jZUlEPSJ4bXAuaWlkOjZlM2I0MjFkLWM2YzktN2Q0Ni05ZTNhLWJmYjIzOTU5MTMxNSIgc3RFdnQ6d2hlbj0iMjAyNi0wMy0yM1QxOTowNDoyMCswODowMCIgc3RFdnQ6c29mdHdhcmVBZ2VudD0iQWRvYmUgUGhvdG9zaG9wIDI2LjcgKFdpbmRvd3MpIi8+IDxyZGY6bGkgc3RFdnQ6YWN0aW9uPSJzYXZlZCIgc3RFdnQ6aW5zdGFuY2VJRD0ieG1wLmlpZDozOTdhM2JkNi05ZGQ4LTAwNGItYjc2Mi02MGVhYTdmMTQyM2QiIHN0RXZ0OndoZW49IjIwMjYtMDMtMjNUMTk6Mjk6NDgrMDg6MDAiIHN0RXZ0OnNvZnR3YXJlQWdlbnQ9IkFkb2JlIFBob3Rvc2hvcCAyNi43IChXaW5kb3dzKSIgc3RFdnQ6Y2hhbmdlZD0iLyIvPiA8cmRmOmxpIHN0RXZ0OmFjdGlvbj0ic2F2ZWQiIHN0RXZ0Omluc3RhbmNlSUQ9InhtcC5paWQ6MWY5OTA0NjMtYTEzNC05OTQ3LThmODEtNGFmNTU3Mzg4MjczIiBzdEV2dDp3aGVuPSIyMDI2LTAzLTIzVDE5OjQwOjI2KzA4OjAwIiBzdEV2dDpzb2Z0d2FyZUFnZW50PSJBZG9iZSBQaG90b3Nob3AgMjYuNyAoV2luZG93cykiIHN0RXZ0OmNoYW5nZWQ9Ii8iLz4gPC9yZGY6U2VxPiA8L3htcE1NOkhpc3Rvcnk+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+ArNDjQAAUSxJREFUeJzt3Xe4nFd57/3v7K6y1ZslS7Ity0XuxhXbFGMbgw2hJ0BCCZCEhOSk5+R933PSE04a4dCL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","base64");function x(){return new v.NextResponse(w,{headers:{"Content-Type":"image/x-icon","Cache-Control":"public, max-age=0, must-revalidate"}})}let y="force-static",z=new e.AppRouteRouteModule({definition:{kind:f.RouteKind.APP_ROUTE,page:"/favicon.ico/route",pathname:"/favicon.ico",filename:"favicon",bundlePath:"app/favicon.ico/route"},distDir:".next",relativeProjectDir:"",resolvedPagePath:"next-metadata-route-loader?filePath=%2FUsers%2Fliangyun%2FCodes%2Fpi-web%2Fapp%2Ffavicon.ico&isDynamicRouteExtension=0!?__next_metadata_route__",nextConfigOutput:"",userland:d,...{}}),{workAsyncStorage:A,workUnitAsyncStorage:B,serverHooks:C}=z;function D(){return(0,g.patchFetch)({workAsyncStorage:A,workUnitAsyncStorage:B})}async function E(a,b,c){c.requestMeta&&(0,h.setRequestMeta)(a,c.requestMeta),z.isDev&&(0,h.addRequestMeta)(a,"devRequestTimingInternalsEnd",process.hrtime.bigint());let d="/favicon.ico/route";"/index"===d&&(d="/");let e=await z.prepare(a,b,{srcPage:d,multiZoneDraftMode:!1});if(!e)return b.statusCode=400,b.end("Bad Request"),null==c.waitUntil||c.waitUntil.call(c,Promise.resolve()),null;let{buildId:g,deploymentId:v,params:w,nextConfig:x,parsedUrl:y,isDraftMode:A,prerenderManifest:B,routerServerContext:C,isOnDemandRevalidate:D,revalidateOnlyGenerated:E,resolvedPathname:F,clientReferenceManifest:G,serverActionsManifest:H}=e,I=(0,k.normalizeAppPath)(d),J=!!(B.dynamicRoutes[I]||B.routes[F]),K=async()=>((null==C?void 0:C.render404)?await C.render404(a,b,y,!1):b.end("This page could not be found"),null);if(J&&!A){let a=!!B.routes[F],b=B.dynamicRoutes[I];if(b&&!1===b.fallback&&!a){if(x.adapterPath)return await K();throw new t.NoFallbackError}}let L=null;!J||z.isDev||A||(L="/index"===(L=F)?"/":L);let M=!0===z.isDev||!J,N=J&&!M;H&&G&&(0,j.setManifestsSingleton)({page:d,clientReferenceManifest:G,serverActionsManifest:H});let O=a.method||"GET",P=(0,i.getTracer)(),Q=P.getActiveScopeSpan(),R=!!(null==C?void 0:C.isWrappedByNextServer),S=!!(0,h.getRequestMeta)(a,"minimalMode"),T=(0,h.getRequestMeta)(a,"incrementalCache")||await z.getIncrementalCache(a,x,B,S);null==T||T.resetRequestCache(),globalThis.__incrementalCache=T;let U={params:w,previewProps:B.preview,renderOpts:{experimental:{authInterrupts:!!x.experimental.authInterrupts},cacheComponents:!!x.cacheComponents,supportsDynamicResponse:M,incrementalCache:T,cacheLifeProfiles:x.cacheLife,waitUntil:c.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:void 0,onInstrumentationRequestError:(b,c,d,e)=>z.onRequestError(a,b,d,e,C)},sharedContext:{buildId:g,deploymentId:v}},V=new l.NodeNextRequest(a),W=new l.NodeNextResponse(b),X=m.NextRequestAdapter.fromNodeNextRequest(V,(0,m.signalFromNodeResponse)(b));try{let e,g=async a=>z.handle(X,U).finally(()=>{if(!a)return;a.setAttributes({"http.status_code":b.statusCode,"next.rsc":!1});let c=P.getRootSpanAttributes();if(!c)return;if(c.get("next.span_type")!==n.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${c.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let f=c.get("next.route");if(f){let b=`${O} ${f}`;a.setAttributes({"next.route":f,"http.route":f,"next.span_name":b}),a.updateName(b),e&&e!==a&&(e.setAttribute("http.route",f),e.updateName(b))}else a.updateName(`${O} ${d}`)}),h=async e=>{var h,i;let j=async({previousCacheEntry:f})=>{try{if(!S&&D&&E&&!f)return b.statusCode=404,b.setHeader("x-nextjs-cache","REVALIDATED"),b.end("This page could not be found"),null;let d=await g(e);a.fetchMetrics=U.renderOpts.fetchMetrics;let h=U.renderOpts.pendingWaitUntil;h&&c.waitUntil&&(c.waitUntil(h),h=void 0);let i=U.renderOpts.collectedTags;if(!J)return await (0,p.I)(V,W,d,U.renderOpts.pendingWaitUntil),null;{let a=await d.blob(),b=(0,q.toNodeOutgoingHttpHeaders)(d.headers);i&&(b[s.NEXT_CACHE_TAGS_HEADER]=i),!b["content-type"]&&a.type&&(b["content-type"]=a.type);let c=void 0!==U.renderOpts.collectedRevalidate&&!(U.renderOpts.collectedRevalidate>=s.INFINITE_CACHE)&&U.renderOpts.collectedRevalidate,e=void 0===U.renderOpts.collectedExpire||U.renderOpts.collectedExpire>=s.INFINITE_CACHE?void 0:U.renderOpts.collectedExpire;return{value:{kind:u.CachedRouteKind.APP_ROUTE,status:d.status,body:Buffer.from(await a.arrayBuffer()),headers:b},cacheControl:{revalidate:c,expire:e}}}}catch(b){throw(null==f?void 0:f.isStale)&&await z.onRequestError(a,b,{routerKind:"App Router",routePath:d,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:N,isOnDemandRevalidate:D})},!1,C),b}},k=await z.handleResponse({req:a,nextConfig:x,cacheKey:L,routeKind:f.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:B,isRoutePPREnabled:!1,isOnDemandRevalidate:D,revalidateOnlyGenerated:E,responseGenerator:j,waitUntil:c.waitUntil,isMinimalMode:S});if(!J)return null;if((null==k||null==(h=k.value)?void 0:h.kind)!==u.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==k||null==(i=k.value)?void 0:i.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});S||b.setHeader("x-nextjs-cache",D?"REVALIDATED":k.isMiss?"MISS":k.isStale?"STALE":"HIT"),A&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let l=(0,q.fromNodeOutgoingHttpHeaders)(k.value.headers);return S&&J||l.delete(s.NEXT_CACHE_TAGS_HEADER),!k.cacheControl||b.getHeader("Cache-Control")||l.get("Cache-Control")||l.set("Cache-Control",(0,r.getCacheControlHeader)(k.cacheControl)),await (0,p.I)(V,W,new Response(k.value.body,{headers:l,status:k.value.status||200})),null};R&&Q?await h(Q):(e=P.getActiveScopeSpan(),await P.withPropagatedContext(a.headers,()=>P.trace(n.BaseServerSpan.handleRequest,{spanName:`${O} ${d}`,kind:i.SpanKind.SERVER,attributes:{"http.method":O,"http.target":a.url}},h),void 0,!R))}catch(b){if(b instanceof t.NoFallbackError||await z.onRequestError(a,b,{routerKind:"App Router",routePath:I,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:N,isOnDemandRevalidate:D})},!1,C),J)throw b;return await (0,p.I)(V,W,new Response(null,{status:500})),null}}},86439:a=>{a.exports=require("next/dist/shared/lib/no-fallback-error.external")}};var b=require("../../webpack-runtime.js");b.C(a);var c=b.X(0,[4741,1813],()=>b(b.s=75505));module.exports=c})();
|
|
1
|
+
"use strict";(()=>{var a={};a.id=3230,a.ids=[3230],a.modules={261:a=>{a.exports=require("next/dist/shared/lib/router/utils/app-paths")},3295:a=>{a.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},10846:a=>{a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},29294:a=>{a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},44870:a=>{a.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},63033:a=>{a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},74215:(a,b,c)=>{c.r(b),c.d(b,{handler:()=>E,patchFetch:()=>D,routeModule:()=>z,serverHooks:()=>C,workAsyncStorage:()=>A,workUnitAsyncStorage:()=>B});var d={};c.r(d),c.d(d,{GET:()=>x,dynamic:()=>y});var e=c(19225),f=c(84006),g=c(8317),h=c(99373),i=c(34775),j=c(24235),k=c(261),l=c(54365),m=c(90771),n=c(73461),o=c(67798),p=c(92280),q=c(62018),r=c(45696),s=c(47929),t=c(86439),u=c(37527),v=c(23211);let w=Buffer.from("iVBORw0KGgoAAAANSUhEUgAAAgAAAAIACAYAAAD0eNT6AAAACXBIWXMAAAsTAAALEwEAmpwYAAAGiGlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgOS4xLWMwMDMgNzkuOTY5MGE4NywgMjAyNS8wMy8wNi0xOToxMjowMyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iIHhtbG5zOnBob3Rvc2hvcD0iaHR0cDovL25zLmFkb2JlLmNvbS9waG90b3Nob3AvMS4wLyIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0RXZ0PSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VFdmVudCMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIDI2LjcgKFdpbmRvd3MpIiB4bXA6Q3JlYXRlRGF0ZT0iMjAyNi0wMy0yM1QxOTowNDoyMCswODowMCIgeG1wOk1vZGlmeURhdGU9IjIwMjYtMDMtMjNUMTk6NDA6MjYrMDg6MDAiIHhtcDpNZXRhZGF0YURhdGU9IjIwMjYtMDMtMjNUMTk6NDA6MjYrMDg6MDAiIGRjOmZvcm1hdD0iaW1hZ2UvcG5nIiBwaG90b3Nob3A6Q29sb3JNb2RlPSIzIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjFmOTkwNDYzLWExMzQtOTk0Ny04ZjgxLTRhZjU1NzM4ODI3MyIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDo2ZTNiNDIxZC1jNmM5LTdkNDYtOWUzYS1iZmIyMzk1OTEzMTUiIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDo2ZTNiNDIxZC1jNmM5LTdkNDYtOWUzYS1iZmIyMzk1OTEzMTUiPiA8eG1wTU06SGlzdG9yeT4gPHJkZjpTZXE+IDxyZGY6bGkgc3RFdnQ6YWN0aW9uPSJjcmVhdGVkIiBzdEV2dDppbnN0YW5jZUlEPSJ4bXAuaWlkOjZlM2I0MjFkLWM2YzktN2Q0Ni05ZTNhLWJmYjIzOTU5MTMxNSIgc3RFdnQ6d2hlbj0iMjAyNi0wMy0yM1QxOTowNDoyMCswODowMCIgc3RFdnQ6c29mdHdhcmVBZ2VudD0iQWRvYmUgUGhvdG9zaG9wIDI2LjcgKFdpbmRvd3MpIi8+IDxyZGY6bGkgc3RFdnQ6YWN0aW9uPSJzYXZlZCIgc3RFdnQ6aW5zdGFuY2VJRD0ieG1wLmlpZDozOTdhM2JkNi05ZGQ4LTAwNGItYjc2Mi02MGVhYTdmMTQyM2QiIHN0RXZ0OndoZW49IjIwMjYtMDMtMjNUMTk6Mjk6NDgrMDg6MDAiIHN0RXZ0OnNvZnR3YXJlQWdlbnQ9IkFkb2JlIFBob3Rvc2hvcCAyNi43IChXaW5kb3dzKSIgc3RFdnQ6Y2hhbmdlZD0iLyIvPiA8cmRmOmxpIHN0RXZ0OmFjdGlvbj0ic2F2ZWQiIHN0RXZ0Omluc3RhbmNlSUQ9InhtcC5paWQ6MWY5OTA0NjMtYTEzNC05OTQ3LThmODEtNGFmNTU3Mzg4MjczIiBzdEV2dDp3aGVuPSIyMDI2LTAzLTIzVDE5OjQwOjI2KzA4OjAwIiBzdEV2dDpzb2Z0d2FyZUFnZW50PSJBZG9iZSBQaG90b3Nob3AgMjYuNyAoV2luZG93cykiIHN0RXZ0OmNoYW5nZWQ9Ii8iLz4gPC9yZGY6U2VxPiA8L3htcE1NOkhpc3Rvcnk+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+ArNDjQAAUSxJREFUeJzt3Xe4nFd57/3v7K6y1ZslS7Ity0XuxhXbFGMbgw2hJ0BCCZCEhOSk5+R933PSE04a4dCLSSihd7BNx2AIprj3KstVzepdu7x//Gayt6Ut7SnPzCrP73Ndc6ltzb41mnnW/ax1r3tVRkdHmcyxl1056deY2UEqQA/QVf31dOAIYA4wFzgaOBaYXf2zlcD86tdP/sFMRwXYDzxVfWwBNgFrgUerj83ANuCJ6o8AQ9VHTq+FWds98K2v1/V1PW2Ow6wsKmig6kaD/GxgEXBC9dfT0WB/AjCl+nV9QD/6HHZXnyNn86s/jqKBfT+wr/oYrj4eBVajRGENcB9KFJ5EycFIZ0M2y5cTALPmdAMz0KC2CjgN3dkvBo4DBoFeYCoa5Ht5+mxAmVXQ61F7fcY7EjgXJQe7gZ0oWdgC3IMSgQ3ALcCD1Z9vRcmDmTXACYDZ5OZUHzPQAL8COAPd0U8HZlX/vK/6yP1Ovt26UNLUj15bgOXAqcBeYA9aQtgBbEeJwX3Vx73Auurv7+9k0GapcQJgdrCZ6C5+JXASGuznoc/LdDTYz8Z3851WAQaqj1njfv88lAxsRLUEO9Aywq1oGWF19bENM/tvTgCs7CpoMDkGOApN558OLEXT+0egO1GLVzdK2maO+72L0LJBLSl4HCUEd6JZggfRTIJZaTkBsDKaD5wMLEMD/wnAElS0txRN41vautFOi7njfu8KVGT4GPAwSgIeRbMEd6F6ArPScAJgZTAH3d0fhab1T0GDfu0u32v25TCA/v9XVn89hGYIHkHJwC3AbYwlBp4hsKw5AbBcLQSORwP9aWhq/1h0l+/3vYHeB4uqj3OAl6HZgLuB+6uP29GygesHLDu+EFouBtDd/HJUpX8ucD4a+D2lb/XoR8Wfx1V/vQ+4GbiesaRgNdqK6G2HljwnAJaqCjANWICmdM9Bd/hnVX/0oG+t6kOJ5LlowL8f+ClwE3ADqiV4Cm1NNEuOEwBLzQAq7DoZeCZwJhr0F4UMyrLXjZaTTgBej2YGbgdurD4eRPUEQ6ECNGuUEwBLwQDad38C2pN/IdrmNS9kUFZqZ1Qfr0ONh74HfAMVET6Gth56mcCi5gTAYlVrtbscNXq5Eg38Mw/3l8wCWAi8Gng52j3wQ+BrqO/AOtTO2Cw6TgAsJhVUiDUHeC7at/1M1IzHa/oWuz5UgLoCeBVqUfwd4FtomWAbPtnQIuIEwGJQQSfknQq8FHg2cCI6UMd79C1F04BnoC2obwauAz4PfBN1KAQnAxaYEwALqQ8N9BehO/0LUVW/W+9aLnpQ0erLgItR8eDPUM3ADejQIrMgnABYCNPRYP8K4AK0hjodHQ9rlqMKKmS9GNW0vA74BfB1tESwJlxoVlZOAKyTBtHa/mvRHf98fLdv5TO1+ngRSoDfhJYIvoh6DHgroXWEEwDrhBPQNP9lqGHPEfhu36zC2IFFJwMvQMsDVwM/QFsJzdrGCYC1Sxdq0nM58DzgJHSh6woZlFmkpqEi2BPR5+Vm1Ffg2+jkQrPCOQGwog2gC1htrfPM6u+Z2eR6gaOrjwvRMsE3gB+hI4u9PGCFcQJgRZkFPAtN9V+Bpv29hc+seQtQAnAhmhH4CXAtKh70+QPWMicA1qol6E7/UuAS1ATFzIpT2z1wMZpd+xY6ofDnwNaAcVninABYswbRoP/LqJJ5SdhwzErhvOrjPuALwDXo/IFtIYOyNDkBsEYtAJaiiv434Tt+sxCOA/4cNRj6D9RPYDU+d8Aa4ATA6jULHbv7EjT4H43fP2ahHQ/8DTqI6JPoEKI1wP6QQVkafAG3yQwAR6HmPW8GFgWNxswO1IOS8zPQjMBVqLHQWmBPuLAsdk4A7HCWoHa9b0KNSlzVbxavbrRj4Dy0a+DjwJeAx0IGZfFyAmATqVUd/zYq8HO7XrN09ABno5MIXwG8F+0ccGdBexonADbeIDqK901ou9Fg2HDMrAV9qDfHGWi3wH+ghkI7AsZkEXECYKD3wfnAW4Hno4I/t+w1y8Mgmgm4FPgq8AHUQ2A4ZFAWnhMAWwn8LqruX4juGswsL93AHODVwHOALwPvAR4IF5KF5gSgvGahlr1vRkVD7tdvlr9+tKvnN9HSwIdRD4Et4UKyUJwAlE8X8ELgjahv//yw4ZhZAFNQvc/JwJXAB4HvA6Mhg7LOcgJQLiuA16NpwBV4W59Z2c1FTYROQcsCnwLuCBmQdY4TgHKYie76X42q+6eGDcfMItIDrEI3Bc9AswFfwUWC2XMCkLcu4FzgV1GR3+Kg0ZhZzPrRLqCVKBH4AnALMBIwJmsjJwD5Woragr4SFfl1hw3HzBJxDPBn6Obhw8A3cJFglpwA5KcCnAn8ARr8va3PzBrVjZYLTwY+D3wIHTvsIsGMOAHIyyCawnsLOrHPzKwVC4HfQfUBH0Ithd1JMBNOAPLQhY4FfTPwBtTww8ysKJejmcX3AZ8AHgaGQgZkrXO71/RNRQ193gv8IR78zaw9FgD/C9UFXIGbhyXPMwBpWwy8DU35zwsci5nlrws1EDoBeDc6V2BD0IisaZ4BSFMPauP5TlSt68HfzDppIZoNeC/aLeBdRglyApCebrSv/5PohC//H5pZCH3oGvQR4HXAjLDhWKM8eKRlIfBPwD+jKTgzs9BWAf+GZiSXhw3FGuEEIA0VdHDPB9Ga/9yw4ZiZPc0MNAvwPrRbwBLgIsD49aIe/n+MDuwwM4tRF9ouuAR4P1oa2Bs0IjssJwBxmw78LvAb6AxvM7OYVYBTUYHgcuBf8C6BaDkBiNcK1M731Xhvv5ml5Qjg94CjgX8Ebgwbjk3ECUB8+oFLgP+BenG7TsPMUjQFeBWwDPh74FrcPTAqTgDiMht4DfBW4KTAsZiZFeE84G9RbcCn8cmC0XACEI9FaOD/jerPzcxyMb4u4P3AmrDhGDgBiMUJwP9Ex/dODRyLmVk7LAb+BM0E/DXwQNhwzAlAeGcDfwm8MHAcZmbt1g38Gtot8BfAQ2HDKTcXmIXTD7wYTYd58DezMnkNY9c+txAOxAlAGNNRP/934q5ZZlY+XcClwFXAb+GtzkE4Aei82Wh/7Ntxcx8zK7dFaCngf+MW5x3nGoDOOhJVwr4WmBY4FjOzGExFswADwJ8Dm8OGUx5OADrnaHSS3y/h193MbLx+4PWMFQeuDRtOOXgJoDNOQqdkvQwP/mZmExkA3ohOPT0tcCyl4ASg/Y5Dd/6XoezWzMwm1gu8CHgP8KzAsWTPCUD7dKMq1w8AL8CDv5lZvS5Au6QuCh1IzpwAtM9z0Rv4OYHjMDNL0enAPwPPDhxHtpwAtMdlaJvfiaEDMTNL2DnA/0GzqVYwJwDFez7wD8AzQgdiZpaBc4F/RJ1TrUBOAIp1Bbrzd3c/M7PinI5urF4D9IUNJR9OAIpzOfB36I1qZmbFWoVOEXxZ6EBy4T3pxXgW8Fd476qZWTutAP4M2A9cA+wOG07aPAPQmm5U8PevqFjFzMza63TgX4BX4zGsJX7xmteFpqLegwv+zMw6aTk6N+CloQNJmROA5lTQG+/twLGBYzEzK6Njgb8FLgkdSKqcADTnSjTtf0zoQMzMSuwE1HDNSUATnAA07gXoDbcsdCBmZsYq3HW1KU4A6ldB+/zfhY72NTOzOKwC3gGcHzqQlDgBqE8XYydUrQgci5mZHex0NBNwauA4kuEEoD6noYK/5aEDMTOzQzobJQGrQgeSAicAkzsZdZ/ywT5mZvF7DkoCvENrEk4ADu9Y1HDiytCBmJlZ3S5BN25LQwcSMycAh7YI+EPU6c/MzNLyKuBtwNzQgcTKCcDEFgF/CrwhcBxmZtacbuA3UctgnyA4AScAB+tFR06+FZgSOBYzM2veTDST+yv48LuDOAE42MvQ4D8QOhAzM2vZ0cD/A7wkcBzRcQLwdJegAyZcPWpmlo/j0THCzw4dSEycAIw5Ga37nxY6EDMzK9xZqCjwyNCBxMIJgMwE/gC4NHQgZmbWNi8F/hJYHDiOKDgBUHXo29Dav5mZ5asbeB3wR0B/4FiCcwIArwd+C5gVOA4zM2u/XuC1aItgqZU9AXg+2iLiNSEzs/JYCPwu8OLQgYRU5gTgeOAvgBNCB2JmZh13LPAPwMWhAwmlrAlAPxr8zwsdiJmZBbMK7f6aFjqQEMqYAPQC/xN4EVAJHIuZmYX1LOCvKGFRYBkTgGcBbwKmhw7EzMyCmwK8EZ390hs2lM4qWwJwEtoD6iMizcysZg7wx8AzQgfSSWVKABag86EvCB2ImZlFZwVKAuaHDqRTypIATEd7Pl+M1/3NzOxgFTRG/DYwGDiWjihDAlABLgd+Bx8HaWZmh9aLOsM+N3QgnVCGBOBcdMLfwtCBmJlZ9OahrYEnhw6k3XJPAJYAbwHODB2ImZkl4wLg11EykK3cE4AXAr8SOggzM0vOm4CXkPE4me0/DLgM+H1gauA4zMwsPTPQroDLQgfSLrkmACvQ1P+q0IGYmVmyjkc7yI4PHUg75JgAdAG/DLwsdCBmZpa8lwCvDB1EO+SYALwK+C3y/LeZmVnnvQF4eeggipbbIHkC8Drc6tfMzIqzAi0FnBI6kCLllgC8CXhB6CDMzCw7lwJvBfpCB1KUnBKA15DhFI2ZmUXjSuDVoYMoSi4JwBLgtcDRoQMxM7NsLUX1ACcFjqMQuSQAvwk8J3QQZmaWvWejQvPk5ZAAvBBt+3PDHzMza7cKWgr45dCBtCr1BGAGKso4LnQgZmZWGkehY4OPChtGa1JOACpo8L8wdCBmZlY6Z6B6gGTH0WQDB05D2/5mBY7DzMzKZxB1nE22IDDVBGAA+CPgmNCBmJlZaa0C/gyYHjqQZqSaAFwMXA50hw7EzMxKqxuNRZeR4HiaXMBor/+fA/NCB2JmZqU3F/g9YHnoQBqVWgIwHXgzcHboQMzMzKrOA36dxJYCUksAlqLDfvpDB2JmZlbVD7yexA6iSykBmIle4CNCB2JmZnaAxcCvorEqCSklAOcBb8GFf2ZmFp9utAyQzLbAVBKAY1CRxZzQgZiZmR3CIrRFPYmCwFQSgPOBF4QOwszMbBIvqT6ir1VLIQE4BZ32VwkdiJmZ2SS6ULH6yaEDmUzsCUA/cAVwUehAzMzM6nQm8MzQQUwm9gTgbOC1oYMwMzNr0JuBC0IHcTgxJwDdwHNIYBrFzMzsAKcCvwRMCx3IocScAFwEvDx0EGZmZk16FTq7JkqxJgAV9KKdHjgOMzOzZi0HLgGmhA5kIrEmAM8FrgwdhJmZWYteCDw/dBATiTEB6EOV/2eEDsTMzKxFxwKvAOaHDuRAMSYAL0QJgJmZWQ4uQksBUYktAegCLgWODx2ImZlZQZYBzwZ6QgcyXmwJwC8RYZZkZmbWoucCLwodxHgxJQA9wMuA40IHYmZmVrDjgJcS0bgbTSB425+ZmeXtbCKqcYspAXg+cGLoIMzMzNrkBDQLEIVYEoAzUIFEd+hAzMzM2ugsIjkoKJYE4LW457+ZmeVvFfCroYOAOLYkHIsO/ekPHIfZZEarDyb48VBfW6n+uoIS7sq432vl+x/Kgc892fca/5yVA3488OsO9XsTvRa1f+/hNPs6xOjAf/uhvqaer5vISMMRPf37jH/fjX9fWud1oxmAY4EHQgYSOgGoAK/H+/6tvYaArdXHPmD/uB+Hqj/uAXZUf3+k+hiu/v3R6tcNVX9/okRgIgdeaLtoPgkYpb4EoDbojk7yewc+LwfEVTngayYyMu7PJxrcupn83zl+cBr/90cm+PN64m5koGz0/+FQr/9kSdToBF/X6Pcf5uD300SxTPR8E72GXcBUYE71MQ9YDAzWGY+1Zhk67O4fmfwz3TahE4Cj0L7I6YHjsDyMAnurj93AdmAL8CSwGnis+nt7qj/uqv58F7Cz+veGqs9TG+jHDyy132sknkbvyOt5zsNp5vkPHLyKiqXe55xocK/nOSaKu5H/n1Zeq2Y1OwPQ6ved6H3Yg669C9FN2HnAOcCROBFot9mo781VwMZQQYRMAHqAl6DTksxaMYQ+RI8Dj1Qfq6uPjejOfhtjd/i1u/79IYI1i8zdwI3Ad9BOrJeiluwL8FJBO52IagHeja5JHRcyAZiDDkiYFTAGS9MIsAF4EA32a9Bg/3j199cD69CdvZkd3ihKkLehz9H9wC3AG4HTcBLQLrOA1wGfR7OTHRcqAehChX9e+7d67QOeQgP8A8BNwF3AfSgB2BEuNLNsDAP3oERgJ/D7eIdWOy1HBwV9htYKPZsSKgEYBF6DZgHMDmUE2Iym8e9E05Q3A/dWf28vmsbv+AfHLHN7gc+iGoE/wEu17TILzYRfjWZgOipUAnAKyno8tWQT2Y/u6O8Evgv8FE31PwVsQrMBZtZe21ESsBR4CzAjbDhZ6gKeh1oEf7fT3zxEAjALeDV+M9nBRoG1aMC/AbgdTfWvI+BWGbMSexK4FjgXuDBwLLkaRPUWt6CbnI4JkQDMR1v/Qm9BtHgMo0H+TuA64Nto4B8+zN8xs864B/gB6mDnZdvidaHD8OaReQLQh/6hCzv8fS1Oo2i//gPAl4AvAnfgNX2zmDyFkvNtOAFol7lobFxNB5c4O50AHAH8MkoEzB4CPg18ExX2PYUHf7PY7EFLc3tCB5KxPuDX0exnx9oDdzoBWEkkpyBZUGvQG/27wI+BR8OGY2aTqHXKtPY5EzUHyjIBmAdcgQ/9KbMtwM+BrwPXoEY+Lu4zi98wnp1rty7gDFQHtb0T37CTCcDRqPWvlU9tCvF7wEdQEuCtfGbpaOUUS6vfSxmrhWq7TiUAFTS9cVSHvp/FYw/wX+jQix+gav8gfa/NrGn1nERprTsdzQJklQCsQIdLWLmsBb5QffwEFxGZpap2Gqa13xXA9cDD7f5GnUoATgEu69D3svCGgV+gtf5P08GiFjOzxF2BrpsPt/sbdSIB6EWH/gx04HtZeFuAH6G1/h/S4cYWZmaJm46WzL+Ndl+0TScSgBV4619Z1Kb8r0KNQ1zoZ2bWuDOAZcDd7fwmXe188qrTUYcjy9sjaOB/Nzqxz4O/mVlzzgKOa/c3aXcCMBMdIjGtzd/HwlqNBv8Po77hZmbWvEXABbR57Gx3AnAiSgAsXw+igf8qOlC0YmZWEmej+rm2aXcCsAoVM1ie7gTeiQr+Hg8ci5lZTk5B7fPbpp0JwHRUyODWv3m6Fa33fwoV/5mZWXHmAufRxmWAdiYAx6ElAMvLMHAj8F7gs8DGsOGYmWXrAuAZ7XrydiYAp9HGwC2YO9F6/+eATYFjMTPL2SrghHY9ebsSgAFU/DerTc9vYTwM/Cfa6785bChm1kE+DCiMaWgrfVuW0tuVAJyN1v8tH08Bn0AtKtcHjsXMOquLzvSNsYOdgfoCFK5d/6Gn4vX/nKwHPoSm/h8JHIuZWZmchm6qC9euBGAVMNim57bO2oTu+t+H9/mbmXXaFNq0DNCOBOAEOtDC0DpiP3Ad8H58529mFsoCYEnRT9qOBOBEYGkbntc6axT4CbrzvzdwLGYWlgsAw1oMHFv0k7YrAVjWhue1zlqDtvpdD4wEjsXMwuoCukMHUWIn0oZTdYtOAGag1r9TCn5e66ydwJeBbwF7w4ZiZhHwLoCw+tBugBlFPmnR/6GnAysKfk7rrFHgBlT4d3/gWMwsDj04AQhtMQXvriv6P/QM4MiCn9M66y7gXcDNKBkwM5uGkgALZyEFdwVsRwIwr+DntM55EvgM8E1gX+BYzCwOU9B1vS90ICW3hIIb7BWZAByNt/+lrLbl73PVn5uZAcxB1/epoQMpuS7UEKiwI4KLTADOBY4o8Pmss+4Frq7+OBw4FjOLx2J0sNuswHGYttifX9STFZkAnIUTgFRtBr4CfAOv+5vZmAq6+z8Z6A0ci2kpZlVRT1ZUAtCLmhS05cQia6u9aK//1ejAHzOzmpmo8ty1XXGYggoBCynILCoBOBWv/6fqAVT4d0vgOMwsLhW0tft8YHrYUGycpRTUFrioBOBsYG5Bz2WddRvwY2B36EDMLCrTgeeh+i53AYzHIHBUEU9URAJQQRnJtAKeyzrrdtTxb23gOMwsLr3Ai4EXomUAi8d0YHkRT1RUArAQGCjguaxz9gPfQVv/3O7XzGq6gAuAN6LiPx8EFJe5aNa95fG7iATgCOAkPEWUmhuAa4D1oQMxs2j0oWn/t6HDZ9z8Jz59qC5jfqtP1GolYQU4j4KmI6xjtgFfQ2v/ZmZdqOHPhcBbgYvwoW4xWwCcAqxr5UlaTQB6gHPwGlFK9gO3Aj/ChX9mpu3bpzO25r8K3/nHbhranvl9Wmjc1moC0I2aRDhTTMda4AvAHaEDCagLXfQG0GegB13wKtU/60UNkTYDW4i7NXIFdWibgWIe/zjU19fWdEca+D4TPV89a8OH+5ra6z0KbAW2NxhTKD3AbMZa446PubaseuD/Q4WJX8NGGm+NHuLn41UO+PFQXzOA7viXoAH/AtTtb0ED8Vg4U9HJu90ETABq2xFcJJKO+4EfoItt7qaiC/VM9F6dXv31bJRBT0EDfy9KCGpnnvcDO9ASyY+Iu0HSPOBSdAfXBQwxNjgcOEgcODhMlChM9Fk+VFLRdYivr1cXuoB1oYLU7xP/rFQXWvJ8UfXH4epjlLGEBpQU1JMATORQX1dvclTh6YneRH8+BRVvH4+auHmff1oG0BJAHy0c3NZqArASbQG0NGwGfoZO/ctNBQ3q09FgvxTNTq2o/rgUVc8Oog9PbfA68GJZu4hvQUnAzzv1D2jSkcDLUeFWL0oAUlF73QdQQprCstQAcBrwJtSRbTdPH7DHD7qxttWuve7daABxAXeajkPXttubfYJWEoAeNHXk7X/puBX4NvlU/lfQoDcIHIO2LJ2IBv0j0Z3/jOpjCo3tetmPiiV3Fhhv0Sro3z4P/RtTnonbQ9xLLTUD6M55ProGDoYNx0psKpoFuIsmlwFaSQBqhSM+IjINe9HWv1uJ986kEVPQDNTpKBE9Hg38Synm1LKNwH1obTpWXWjWozbVnGoCsBZ4jDT6UfSiJCCFWgXLWz+68eklQALQiy7ArhZNw91o+j/mAa0es9DU1+lon/KFaOAv2hbiXyrpYmx2I9XBfwjNSG0mjUG1B930eNrcQhtgbMfGnmaeoJUEYBquGE3FCPBD1Pc/pTXi8QZQ0dVzgVei/uTtbD+9HdjVxucvQheqeRgg3QRgGCUAO0IHUqd+tLRUyGlsZi3oRh0BF6Dlyoa18iZ2AWA69gE3A4+GDqQJ3Wia63Lgl1Dh1Rzau/V0CM2UxL4m3YXuRlM+p30YXbxiL/6r6UUJQMqvueVjHro+PtDMX242AehBg39/k3/fOmcYVYneRwvbRQKZjxqTXI4y3WV05sK7HXiCJqfVOqgbJUMpb+EaQa937K91TQ9KPr0EYDHoRjMATfUDaCUBqH1Ti9tW4JvAw4HjaEQf2mp1GfAaVODXyffaNjRbEvtdaTdKklLuxDmC3qOxv9Y13YxtIzULrRvVRfXQwQSgHxVeeR0sfutQk5XYC9pqFqCuZG9CRX6zA8SwHb1esVel1z78KXfiHEYJQCozAN14BsDi0YNqo/po4nrV7AA+gO7KvA4WtyE09X8PaWz9Oxp4A/BatK4VqrBtF7CB+JdM+tD0f8qJ+CgqAEwlAfASgMWkD/UCmEIT3V2bvXBMQ41WLG7r0b7/2Cuse4CzgNcBVxK+uHQPsIn4d0xMQZ/FVHcAQJpFgI02lTJrpxNRLVDDDd6aTQCORt2wLG6PAzcR91T2FOBZ6M7/hWhfe2jbUSOg2M0g/U50+9BZCzF3XByvgoufLS7zgMVoprchzSQA/agRS8rrjmUwjLqr3U68d7IDqML/d4DzaO++/nqNoOn/pvbVdlAFFf/F8Jq1YjeqAUihCRDoupfyrgvLTzc61bHhnQDNJAC96FAVT4HFbS/aG7o2dCCHMBV4CfA/UFe/WDpK7kaFkzHPmoBer1mkX4ezm/gbLtVU0FRr6rMulpcu9L5suCVwMwlAH6rUTnndsQweRe1/YyxkG0Qn2P0+2u4Xk13o7r/pM7Y7pHYIUuqJ+G7SWf/vQq95LMmqGWgsXoBm5xsqpm3m4jENdQF0FWy8hoDVKAmIbSAbQEfX/jbxDf6ggsmdxD8l3YM+iynvAADNtKSSANROn/TNj8WkGziKJpblm0kA+nABYOyG0DT2OuLa/ldBh/f8BnEO/qBDaZ4ivsTpQH3objTlBGCYdI4BBr3WfaQ/62J5qQCLaKI4tZk38hTS7jxWBnvRDMCa0IEc4Gzg14GLiHMadQRtpVlL/INSL9oFkHINwB6UcMX+Wtf0ovetZwAsNrUagIY0kwAci7INi9ceNPg33BiijY5H3f2uJN4q6lE0IG0g/hmAftQlMeUEYCdKtmIvuKzpwUsAFqelaDtgQxpNAKai09i8BTButX3ssUz/L0H7/F9B3BXUI4wtAcRugCan/SKyj/RmAPpxAmDxmU0TzfkaTQAGUJbhD0DcNhJPY5VpwKXoUJ85gWOZTG0JYHPoQOowgGpxUk4AajUAsRdc1vTjLoAWpwpKAhqqCWr0jVxbd7R41Q5XiWFatYLW+38HHeUbu72oe2IKd6Q5FKTtR9suY21UdaABNAua8mtu+VqGbrjqfn82OwNg8RpBd1UxXFSfgfr7nxw6kDptRHf/sa//gxKAftIejPaj5aoY3qv1cBGgxaqCllqn0sAsQKMXj2no6EGL1yhKAkKv/89ABX+XosQxdiPAw+gQoNCvXT2mVh8pD0b7UNOlVBKALtJOuCxvtZNB674mNPpmno46Dlm8Kuj/NeTA0IMG/itJZ8ZoP9o6uZH416QrKMGKdTdFvWqnLqaw5AIuArS4DdLgLpVGE4AZ6K7D4tWNZmpC7rNfBryFeJv9TGQIeBLYEjiOenSh/+PUDwLaRVy7VQ6n1gZ4Fu6CanGaTYN1Qc3MAKQwnVtmXehoyFDb7eahPv9nk1aXumE0+KdwME0X+hymvANgFK3/p7DjAnRX5QTAYjaXBuuCmukD4B4A8ZuLtoh1eqqyApwF/BrpdYscQbsnUkgAppH+QDSKtqrGeFjVobgI0GK2AF0X6p4ZbCQBqJ0B4Dd//AaBc1B3qE46Du33P4n0Bqc96OyEhk7TCmQOagKUekFaSj0AarU13fgaaHGaAcxHN4B1qfcC0oWm/90COA1TgUuA59O5afg5wMuAF5PmwLQe1QDEvh5dQVl+6sW4Q2i2JZUEAMZaAZvFahaqBahLIwnAFBrILCy4o1EV/qkd+F7T0MD/K6Q39Q+qQn8cbUmLXQW93jNJ+050Dzp6OaUEoLYLwCxWS9HRwHWp9+6wC73xU7y4l1UP8Ex0+t5mtMWtXd/nItTrvxPJRjvsAB4lju6Jk6mgZHw66ScAKc0AVHACYPFb0cgXewYgb/PQXfkb0Gl87ZiafwbwRuDMNjx3p+xEpyfuDh1IHWpbAGeRdgKwizRnAGI8xtqsZgoNFOo7AcjfXOBtwJ+gQbqoO5gKKjR8G6o1iPmUv8nsBJ4gjRmALjQTN5e0E4DNqAdAKl0AK6gAMKWtrVY+IzSQVNf7Zq5Uv9Y9ANI0B3gJ6g9wLfAttCTQzBasLlRpejGq+L+I9JeGdqMEIIUdALUagJQP5RpFMwDbSOPchRonABa7Hhp4jzaSANS2wVia5gIvAI5Fe/VvAO5A/e83oLvfw1XA96IE4lTgQuAytN0vh6robagIMIU96b00uNc3QqOo8HIf8e+6GK+hi6tZAH00MMvbyJu5q8GvtzitRIUizwduBm5EswEbUCe83eiiXLsw96C7zUXAidW/dxL5FEMNo7v/FLYAghKAmaSfeO1j8qQzJhV0cU2tv4WVS61XRV3qHdC7cQVsTrpQU6dL0N38EBr4tzF2Ua49etHd5iBjBSY5zQRtRwWAKWwBBH0WU/8c1pYAdpJOEWAMh2yZTaabNiQAs1FFecrrjnawHsZOlJsFHBEulGB2oJmPVAaihqp8IzWKEs3abFMqckp8LU99NLBTpd439AC66HgJwHKzBS1/pGI2StZSt5c0ii5raoXQngGwmDVUp1JvAjBEOtt1zOpVOwJ4DWncida2AE6f7AsjVysCTGHbZU3tOGDPAljMGqoBqPfNPBttJUt97dFsvBF09/8YaSQA3ageI/UlAFARYAq7Lmpqr70TAItZW2YAjgKWNRONWcRGUPHfptCB1KkH3YVODR1Ii2o1ACklAKO4CNDi108DN+r1JgDTSf+iY3agfWgGYGvoQOrUjQpxU/8sjqDiy9RqAEZIY6bIyqufBhr21ZsA1BoBmeVkF7CWdNaia4dypd6PfhQlACl1AezC0/8Wv7YsATgBsBxtRbsAUlHbtpn6DECtCNB302bFaksRoLNfy80IsB4dSpOKPtTAaU7oQFo0RFpdAM1S0dBYXe8X9uAWmJaXPWj737rQgTRgKmrWlPoMwB7UBCiV5ktmqWjLEkBvI09qloDdwKOklQBMI48jufdUH54BMCtWQ4f2NbIE4BkAy8k+dB59KjsAQHf+OfQA2EtaBYBmqRh/kNukGkkAXARoOdmD7v53hA6kATPIoxnXPtxZ1KwdRmggua43AfD+V8vNZrQFMBX9wHzymAHYg3cBmLVDW2YAGnpSswSsI50OgKDp/wWkXwBYOwo4ld4LZikZpg0zAF4CsJzsRAWAO0MH0oB+tASQehOgYVR3sYu0bipSitXKa5QGdtc0MgNglotNwP2kVQDYRx4JwAiwHe3CSOm6MoK3LVpm6k0AGppWMIvcdnQC4PbQgTSgD3UB7A0dSItGGSsCTCkBMEvBEG1YAmjoSc0itxU1AdoVOpAGTAHmkUcNQIq7AJysWAqGaeCz1cgSgKe/LBePoBqAlNSKAFPfBphqAgCug7L4eReA2WHU1v+3hQ6kQVNQDUDqRhjbBpga3wRZ7NqSAJjl4ingSdJb0pqFagBSN4oSgH2hA2nQCFoychJgMWuoWLWRIkC/8S0Hm1ESkNr7eRbpr//D2ECaWgIwiraNpva+sXLZRwM9NupNADaR1rnpZoeyEe0ASGkKugcYII8DuWo1ACm9/qC4vXPBYreLBvqb1JsArEN3TWapexxYTVpFaFOBQfJZsttPekswkGbMVi61o7br0sgFxZmvpW4HKgB8MnQgDZoDLCL9HgCg60iKCcAoitnXQYtZQ8v1jfQBSOmOyWwi69H2v9Qu4vOAxeSzBJBiAgBeArD4DdHA8lq9CUBDhQVmERpGd/6bQwfShJnAXPJKAFIrpqvVAKRWu2Dlsqf6qEujMwCpfWjNavYADwJPhA6kCdNQEtAdOpAC1HYBpDiQOgGw2LVlBmAb2gWQUutUs/H2AA+QZgIwE5hPHgnATnQ9Se1mYhQVV6V0gqSVz24aGKfrTQA2AxtIc/rUDLSM9Rhp7maZU33kYB8NTFFGZBQtg6YYu5XHemBtvV9cbwIwgqYVUmveYVazDW1nTc0UtP4/JXQgBUm5qZiLoS12O2jglNNGtgFW8GEYlq5HUHacmukoAegLHUhBUq4lGsEJgMWtoVmqRg4D2o/XvyxNW1EBYIpLWAPkc/cP6d5F13YB7MNbAS1e22ngoLNGzgLYieoAzFKzGXgIJQIpqaACwBwOAapJOQHYhaZYU53BsLyNolnOumc6G6kB2E2aBVRmW9AOgNRmAHrQ9P/M0IEUaIQ076BH0eC/lTSbGFn+NqBeJ21JAPaQ3gXUDPSBeIj0Lty1BGAwdCAFaui40oiM3waYYvyWv3VoCaDwGoARVFywpfGYzILajwb/FGevutExwDktAaR4919Ta7KS8r/B8rWLBttVN5oApLaGarYReBhN36amC939TwsdSIFSPlBnP04ALF77aHB2qpFtgE4ALEVr0RHAKfaw6EKD/0DoQApS6yeS6hT6frQM4ATAYrSDBrfZNpIADKElgNTWUa3c1qACwLrPyI5INzAbmBE6kIKkngDsrT5Sjd/ytpUGt6k2kgCA9he6FaalZE31keJd2wzgGPKqAUh58NyLZwAsXhvQ+Fz3TXqjCcBWfCCQpWMv6gC4JXAczZoLLAgdRIFGSXvw3IuufyknMZanUdTsbDsN9NloJgFIsZraymcEDf6Pk+4RrjPJZ/0fxhKAVJOAWptVJwAWmyF02NneRv5SownAjuo3MYvdEHA3er+mWLcygNb/c0oAIN1GQKD30V7Sjd/yNUQTO50aTQD24hkAS8MwcAvqAZDiBXs6cAR5bQEcIe1tgCOoDirFVsaWty6a+Fw1mgDsAzY1+k3MAtgL3EuaRwADTAUWkVcCAGlPn4+i65+3Q1ts1qOeJw1pJgHY0ug3MeuwUeAJ4FHSHXByXAIYJd3/j5pdNHDamlmHPEgTs/PNLAFsIt0pPCuHncCdpHv3Dxr455DXUcA1KV8/akejm8WkqaWpRhOA3cB9eCugxW0bKgBM+U5tEC0B9IYOxJ5mhAabrZi12Qia/m+422mjCQBoqiHlOyvL307U/W9n6EBaMBOYFzoIO8g+9L5KcWeJ5WkY3fA0fL1rJgHYTRPFBmYdtAm4BzXFSNUM8pz+T90QTgAsLiOo3qnhdufNJAB7qt/MU2AWo9rxv4+EDqRF04G+0EHYQfajxNJ1ABaLYXRT3vZtgKD1/9WkX81reVqPCgBTnv6fCswCegLHYQfbjd5jDXVcM2ujjajjacOaSQD2Vr+ZEwCLzSjwMHA7aR9aNRdYCPSHDsQOUksAUjxe2vJ0N03252m2BuAhPAVm8RlGrX/vI+1ubQtQF0AnAPHZi3qh+PpnMdgP3E+TM1LNJADQZNMBszYbQstTj4YOpEUzgfm4BiBGtSJozwBYDIbQ9a6p92OzCcAmfCiQxecpYA3p353NRE2Acq0BqIQOoAV7gbWkXWNi+RhC17yOzgDsR61WXQdgsRhBM1OrSXv6H7QEsCB0EG3QRfPXnJisw71QLA570HWvqbG42Q/jHnTQSup3WpaP3cBNaP0/5cS0G1iCzgHITQXNaqQ8AwA6dnU9vv5ZeA+iwuemNJsA7EaNVrwOZrHYCdxK+ktTs1EL4FwLALtIPwGoHQuc8k4TS99+4A5aeB82mwAMo6lW74W1WDyJMuGU78oq6AyAKaQ/SOasgmYBnABYSPtRPUrTXSlbWY97uPrNzULbjZr/bAgdSIsqqP//IPkmADn8u0bQe84zoBbSXnTmSdM3Pa0kANur39wtgS20HcCNaF02ZV3AUrQFMIdiuQNVyCMBqLVeTfmsCUvfLuA2Wih6buUisw/ddXkazELbiAoAm+qGFZEu1ABoDvkmAN2knwQMoRnQ1GecLG1Poi2ATWs1AbibJk4gMivQKCpIvY/0T2iroMF/MHQgbVIBekk/udmPaqCaOoDFrADDwF202I+ilQ/iMKq6Tv2uy9L2KPALYGvoQArQg84AmBk6kDbpRt0Nu0MH0qJhtNy0DScAFsYutATf0k1Pq5n4g9WHWShr0Pp/6s1/QEcAL6v+mKscZgBACedm8njfWXp2o2tfSz1PWv0gjqBz110NayGMoLXYW8njPbgIzQDkrJf0ZwBA7ze3BLZQdqBTT4MmAEMUsA5h1qTtaO1/LelPxQ4Ai4FpoQNps27yOeNgI14CtTCepIDZ91YTgGFUgOUEwEJ4ACWgOZgGHEP+CUAuSwCg+pM1eBnAOmsX8GMK2IZaxAfxcbwV0DpvB/BTtP0vB9OBleS7A6Cmj3yOOX4U7Qbw9c866SngZxQw61lEAvAg2g5o1klb0OD/cNgwCjMFNQHKfQagH5hK+r0AYOxUwJTbT1t6dqEb75YVkQDsBn6A18Kss9aQz+APuiueS76HANUMkE+r402o/iSHAlRLx2Y089SyIhKAUbQNywmAdcpW4Ba0AyUX89AMQA4D4+F0odmOXAoBH0ezUWadMIpOAFxXxJMVVYxzB+n3Ybd0PAn8BK3B5iD3BkDjVdBsRy4JwCa0G8CsEzagbc+FKCoB2Ih2A5h1wqOo+j+X4qup6ACgHPbHT6YLLQPkUgi4Fc0C+Gh064TNaPdTIYrcjvMj4LECn89sIttQBvxk6EAKNBM1AcrlrvhwKijhyaXWYSPqRbE5dCBWCmuAm4t6sqITgEIqE80O4y7gOrQVJgcVNPgfQz53xYfThXY65JIAbADuR4mpWTvtR7VPhaz/Q7EJwMO4GMba7w50+E8uW6+60PT/sZQnAchpCWAPuva5CNra7SkKqv6vKTIB2A88VODzmR1oE+p/nVPRVTeaAVgSOpAOqaBdAL2hAynQExR4V2Z2CJspeOdT0S05byCfymyLyzDq/HcLLR6BGZk+dAJgGXYAgK45gygJyGXL43ZUmLUjdCCWtQeBnxf5hO1IAAqrUDQbp9ZwKpfWvzVz0d1/GQoAQf/O+SjhySUB2AncRsHTs2bj7EOD/4Yin7ToBOA+4M6Cn9NsFM0s3URed1kVdALgAvI5IGcy3cBsVAiYSwKwC934rA0diGXrIQrc/1/TjovOg3hLjBVrOzr8Yk3oQArWg9b/51GeBAA0/d9HPgnACGqE5uuetcvDqAC6UO246NyPimLMirIJLS/lts20F03/LyCfwbAeA+RVBAhKAHJLUC0e96Gb60K1IwH4EarUNivKWjT9tTN0IAWrrYfPCR1Ihw2iJCCnpGcXcC/eCWXFewzNgBauHQlA7aCWnCq1LZydKKHM7e4fNA2+BJgeOpAOm4b+zTktewyhQsCbyKdHhcXhTgrs/jdeuz6At+OzAawYdwLfIc/DpuaiLYC5NMWpVw8wi/zOPrgXJQA+F8CKdBPqgFq4diUAN+JlACvGzcCPyefgn5pu1P53buhAAuhGSx/TQgdSsG0oCdgSOA7LxxO0ofq/pl0JwDpUtGDWis3ofbQ1dCBtMA04ivJN/4OuO3PIM/l5FCUB+0IHYlm4E72f2qKda3B34NMBrTW/QNNfu0IH0gZTgePRnviyqaBCwJyaAdU8jt63OSat1nk30cbeOu1MAP4Lndpm1oy9wPfQ9NdI4FjaYRpKAGYFjiOECtoFkFshIGjHys/I67wKC2Mdei+1rai0nR++WiZs1qhRNPX/U/JtrjIXWEp+++HrUUGD/yD5JQAjqAD6IfQ+NmvWz2lzMX27P3z34X2x1rgtwDWoqVSO+oCV5LkGXo8KqgGYT55nIKxF51Y8HDgOS1vyCcBNwHfb/D0sP+uAa4EnQwfSJvOB41BL3LKaCywkzwRgE0oAvBXamvUESgDauvzZ7gRgHdrCleMarrXHHtRQ5W7ybSY1HziaPAe/es1AswC5vgYPo9atXgawZlxHBxLITqy/3Yc6A5rV40Hga+S79g+q/D+Kcq7/1/SjRCjX12AbqoHyEqg14wY6sITUiQTgATQLYDaZ/WjZ6Hvk3U51LrCcfO9+69GFlgByPQdhD3A98A08A2qNeRTtfmr77FEnEoANKJvxVJhN5iHgh+TZ9rdmKpr+P4L8KuAbNRfNhOTWErjmYeD7uB+KNebbtOHkv4l06gJ0Gzol0OxQdqJ1rx+gg1VytQQ4gXynvhsxFW2FHAgdSJuMoDu5a4HdgWOxNIwC36RDh591KgF4AK3rmh3KRrRUlPOaaS+6+18WOpBI9KMlgP7QgbTRw8BX0NZAs8ncTBs7/x2oUwnAHrQd8IEOfT9Ly0407fUL8q38B+3/X44TgJrpaEYk5wRgCB2O9lXgqcCxWPy+TgeXjDq5BrkGZcJmB3oCvTdyvvsHzQAsARaHDiQSM8h7CaBmPfAx1NnSBYF2KMOoXq5j50h0MgF4ClXEbu/g97T4DaE7/1vI/xz1qWjwL+MJgBPpR8WQZXg9bgM+h09JtUP7Ph2c/ofOVyHfhaZ6vSPAau5E06ObQgfSAQvQHa+NmQPMCx1EBwwBXwT+E9cD2MH2ovdGR4r/ajqdAKxDU70+K9tqbkGZb+5V0n3ACtT8xsbMQHURZWiLvA34LPAZfFywPd2DaAt0R2ugOp0ADKNjgnM95MUa8wBa81pP/rNCs1D/fycATzcAHEs5ZgFA176PAV9ACYHZPnRjvKHT3zhEI5IngE+inQFWXkNo2983yX/wBzW9OQlYFDqQyPSiBGBB6EA6ZBT1Bngv8AkCXPQtOhvQmNjx+rgQCcAu4GpgR4DvbfF4DDX9WR06kA5ZiI4A7gsdSGT6gOPR61MWw2jp65+B96OZsJybX9mhDaOW0Y+E+OahWpE+Avws0Pe28DajxlDXhw6kQ7pQA6Cy3OU2ogfNACyjXGcjDKPk993A24GfkP8uGDvYFrQcFOSGOFQCsBX4MOr+ZuXzEJoFKktjqMWo/e9g6EAiNR2dCTAzcBwhrEdFgX8FvA8dg+1eAeXxGKqLC/J/HirjHkWdAW8FnhcoBgtjBzoX4o7QgXTQkcAqyrHfvVlLUZOkMnbL24Guh3cBtwPPBk6jvElRWewgUPFfTcgptx1o3+NplKcC2NT05yuoGLQsFqP1/5xb3rZqMUqU7qG824TXAh9HhwedA1wCnIuWjqYD09B7qBIqQCvUI8CnCHj0ecgEYAT1Pf5tnACUxVbge+jAizJU/tccjav/J3MkmgXopbwJwCgaDJ4EvoVmSBej989xaBbpRPRemoFPlEzZbtQZN2hnyNBFNxtRe8wVwOzAsVj7XYfubraEDaNjutDa/2no7s0ObRkqBpyKDocqu93oJMGHUa+MReg1WoyulxcAF6LtpZae+4CPErjeI3QCMIr2wr4SOCtwLNY+I2id6xq0/akseoAzgZMJ/1mLXR9j/QC8N/7pRtCSWW3ZrBdtoX0l8FKUEFg6anf/t4UOJNQugPGeQA1hgq2DWNvtRIP/jyjXfudu4Bjc/79ey9AUt2slDm8/2kb9N6ihUJA95Na0u1Hjn+BiSAAAriKCbMjaZgPwZVTlXCYDaP3WNS71WQKcgV+vem1DRYMfoZy7J1J1K5GMd7EkALcD38GNMHK0G037l2nbH4zd/R8TOpCELAROxQ2TGrEB1dX8lPIWT6bkbtT4JwqxJACgF+XW0EFY4R5FF6iyHYE6CJyHTrqz+h2Fl0wadS86U6OjR8laU36MmqBFIaYE4Oe4PXBuRoA7UcHSrsCxdNoCVKm9OHQgiVmAZgHmhA4kIVvRDEBZztVI1V1oKTQaMSUAoFmAm0IHYYXZBNwIrAsdSABHoep/79VuzEy0I+jY0IEkZh3qH2Dxuo6I7v4hvgTgOtQAw/KwGk1Plu3o51nohDvfxTauH/VNOCF0IInZjZbZXAcQp/tQnVtUYksAAD5NhC+UNWwYWIMamZTtorQMtXJ1AtCcI1D/hEW47W299qMZty2B47CJfYPI7v4hzgTgVrROsjtwHNaaEXTSVRkLk1ai7WxTQgeSqH5UQHl+6EASMooS7bIl2ym4H93URvd/E2MCAPD96sPStR/NAGwJHEen9QMnod721rzTUALQFzqQhFTwjEmMvonOQIlOrAnAXahy3NK1DZ11XrYOj2cAZ+Pe/60aQMsAK4n3OhWTCio47Q4diD3NI8C3ifR8i5g/WNdWH5ambWjrX5lO/esGLgJOx73/i3AycCU+KKweXWjJaWroQOxp/hP4buggDiXmBOB29OJtCx2INWU/KgQskwF0bOvC0IFkYiFwGW4MVI8+lCgNhg7E/tud6CY2yrt/iDsBAC0DfDF0ENaUIcp1998FnIISAO/9L84K4BkoubJDG0S7J1wDEI//JPLmdrEnAI8BXyfiDMoOaXTcowwGgefjBjZFWwy8BHUHtENbCMwPHYT9t+vR2BX1+TaxJwCg5kDvDx2ENawXvb/KckeyHE1XHxE6kMz0AM9EyZX7KkxsKjp0yq9PHDYD70DL2FFLIQF4CvgYOlHO0jGN8pzrPgMNUqsoT8LTSbOAy4Fn4dd3IrPQUokTgDh8AvhR6CDqkUICAMqk3kl5ppNzMFh9pPIea8VKNEB56197dKE6gBcB0wPHEqMZaAZqZuhAjPuBj6JjmqOXysV5FDUGinY7hR1kCrog5b4vuRfd+Z+Pi//aqR/NALwGFwTW1GZDFqCzJ7wFMKwh4MPA3aEDqVcqCQCoq9z7ibyowv5bDypMyv2ueCVwMTA3dCAlsAJ4HeqzYLoxmo4aTx0VNhRDRetfJqGjz1NKAAB+TCJrK0Y3umAvDx1IG00Dnld95D7TEYMK6g74a2i7pWlp5IW4WVJou9EN6qOhA2lEagnAWuDvgCdCB2KT6kb74nM+FOcINC3tRjWdMwC8Cng5LnoDLT2dh5efQhpFx9h/jMQOsUstAQD4KfBxynfGfIqOBs4iz+5k04FL8XR0CPOAN6OiwLLsNDlQN3rvnYPX/kNbB/w98GToQBqVYgKwC/gAkXdYMmDsZLwTQgfSBsvRAJTzEkfMjgHeADyHcp67MIDefxeGDqTk9gJfQMfYJyfFBABgNfB2ynnWfGpWogtVTv3xZwAvQOvRnnoN53zgN9FdcJn6A1TQ0trluPtfaLcA/5dEi9NTTQBAay7fw70BYrcIdXE7KXQgBboA3X3mlNSkqB8VYP4OqoQvi+OAN6EkwMJ5HPWnuS90IM1KOQEYBv4NuCNwHDa5lcAbgRNDB1KA09FWtFWB4zCZAVwB/B5wbuBYOuEIVAB5OfkW16bim8CnQgfRipQTAICb0IlLm0MHYoc1APwS8Kuk3St/Cfo3XEG5ppxjNxN4KfCHaE0815qAGehgpFejmTUL52fAu0IH0arUEwCADwI/DB2ETWoQeAXwMtS7PDUz0X7rK8hzV0PqpgIvBt6GagJyq82Ygu7630Bey2kp2gh8kgzOp8khAdiMijCiP3nJOA61cn0u6W3fOg8tY+S4oyEXA8CVwJ+i3QF9QaMpzlSUfP4xqnXw7FNY1wBXhQ6iCLlMlX0P+AZqPGNxewbwu6iG4xrUPzt2F6E15rNCB2KTmoaOZZ6Dtgp+GVhPusXCs4BfAX4bOBkP/qH9EBX+7QgdSBFySQAA/h04DX34LV79aJ22CzXTuQbYEjKgSTwDXXwvJr9p5VxNQUnbYjTr9BXURnw4ZFANqqBW2q9GrY9Xhg3H0Al/H0e1Z1nIKQG4G3gvsAxP08auF3g2KmqqJQGPBY3oYH1o8P991MfAJ9ClZwXwFuBYVHx6A/AI8c8GDAKnAq8EXos6H1p4Xwc+HTqIIuWUAIAy/ROBvyG/f1uOzgD+HDgS+AQ68TGGhhpTUJOZPwUuwQf9pGwQJXCnAZ9HF/B7UUfR2GYE+lGicjmqNzkZt/mNxZ3AZ8lk6r8mx0HyKnQ05m8GjsPqsxx4K9pf/wngamBnwHjmoS1lb0Jr/h7801dB77NfR8Wc3wGuBW4G9gWMa7x5aPnypajRVMrbZXOzBW35+0bgOAqXYwKwAfgoyvjPCxyLTa6CLn6Xo73NpwDfRVtstnQwjgF04X1BNZYT8OCfm9no//ho1DTo5+h9dgfwMJ1PBqZVYzm9GteFqGYhl90LuXg3WvvPTo4JAMBPgA+j/bLes52GXrTF6Vi09n4DukO7D12c27E00IV6qR+P9o5fipLGGW34XhaPxegO+0LgHuBG4C7gAXSe+zqUfBadEPQAc1GiuxwN9iej9/1KXGQao6tRt79doQNph1wTAIAvoQTgD0IHYg2Zjfq7nws8gZK576ML9CZ03vZudBx0o2u4PWidtR8VHx6FBoGLUdHVbPL+TNiYCnoPnIlme3ai41zvqD7uRzUpm1HyuR8lBPvR1tXRcY/xz9mFZo56xz360HtrOapROh3NdM1HswAD5NGTJTcPAe9D154s5Xyx2wR8CGXYlwaOxRrTh/ZxzwGWounRtWinwAPAg9WfP4m6cu0GRsY9YOxi3IUusPPQDpEjqj+uQnddS9Edmaf7y6m2HXU6OtzpeLRDZQsa/NehZcXNqJ/ABmAbSgaGGUtCK+h62lt9rnlogJ9XfSxEd/9zgAWk1wirbPaj/f7fDh1IO+WcAIC2Br4TZdvunZ2mmdXHKnSxfQrNDDyFkrx11Z/vRRfl2t1ZF3p/1wb/RegiPBtdgBfgQd8ONgUlhUurvx5F76sdaODfiqaD9/P0hLN259+N3nMzqo+ZeAtpij4DfJF4ikTbIvcEAOA64B3AX+OsO3XdjA3eNaNo0K9Nzw4zlgDULsZ9uIOaNafC2LLR3MCxWGfciar+Y+tNUrgyJAA70a6Ak9FJbh4I8lJhbK3VzKwV61EfmRtDB9IJZSk8WQf8KxkXc5iZWUv2om6yXye+JlFtUZYEAHRa4F+j9WMzM7OaIeBzaLk4ZCOyjipTAjCMWgX/G3EfPmNmZp11C/D/okLP0ihTAgCa4nkPqgnYEzgWMzMLbzXwl6gJVKmULQEAbeH5K+D60IGYmVlQ64F/QSeSxn5KZOHKmACAmnr8T+CnoQMxM7MgdgL/jhrGlW7wh/ImAAA3oTWfe0IHYmZmHTUKfAH4P2Te7OdwypwAgE6dex/aJmhmZuVwPfC3aDa4tMqeAIBODfw02gZiZmZ5uxdt97s/dCChOQFQUeA7gM+HDsTMzNpqPdoJ9uXAcUTBCYCsAd6OlgTMzCxPn0CFf4YTgPFuRdtB7gwdiJmZFe5jwLvRyY6GE4ADXYvaBd8XOhAzMyvMl1DF/+rQgcTECcDBvgC8k5JXh5qZZeJrwP/Gh8EdxAnAwYbRroD3UKJDIczMMnQ/8E/AHaEDiZETgIltQgnAR4CRwLGYmVnj1gD/C/iv0IHEygnAoa1FRYFfpCRnQ5uZZeJR1OnV1+/D6AkdQOTWAH9U/fkrQgZiZmZ1WQv8Cert4sH/MDwDMLlH0FGR3h5oZha3p4C/QFX/Hvwn4QSgPncCv4cPDjIzi9V24N9Qs5/SHvDTCCcA9fsB8FcowzQzs3jsRh3+3oXau1sdnADUbxj4Cjo8yG8wM7M47AM+hZq4bQ0cS1KcADRmD/AT/CYzM4vBTuCDwP+HZ2cb5l0AjekGlgEDoQMxMyu5ncBVwN8D6wLHkiQnAI3pBy4GZocOxMysxLag5dh/xYN/05wANGYRcFroIMzMSmw38B/APwIbwoaSNicA9asApwAzQwdiZlZS21CL9n/Bg3/LnADUbwrwTGBq6EDMzEpoF/Ah4J9Rtz9rkXcB1G8QuAgXAJqZddouVPD3Djz4F8YzAPVbCZwYOggzs5LZjqb9/wl4PHAsWXECUJ8pwIVoF4CZmXXGNlTt/0/4zr9wTgDqMxN4Np7+NzPrlI2oyc87qj+3gjkBqM8s4OTQQZiZlcR64O0oAdgZOJZsOQGYXB/wXGBh6EDMzErgCXTw2keBvYFjyZoTgMktAC4DekMHYmaWuVvR4P91YH/gWLLnBGBy84HzQgdhZpaxEeCb6FCfmwLHUhpOAA6vCzgDtQA2M7Pi7QU+Cfwl8EjYUMrFCcDhLUHT/2ZmVrztqLvf23Fr345zAnB4y4HnhQ7CzCxD64B3AR/A2/yCcAJwaF3o5L95oQMxM8vMA+hAn08BWwPHUlpOAA5tGer+Z2ZmxbkT+Dvgi3ibX1BOAA5tJfCc0EGYmWViG/A94L3A94GhsOGYE4BDW4Wr/83MirAJrfW/C3gycCxW5QRgYotQAmBmZq15HN31fwB4KnAsNo4TgIkdB1wQOggzs8TdCbwH+ATa8mcRcQIwsXOBk0IHYWaWqFHgh8A/AN8BhsOGYxNxAnCwZcCpoYMwM0vUJlTh/4/A/YFjscNwAnCw41H7XzMza8xqVOj3HmBf4FhsEk4ADrYKT/+bmTXqRuBvgK+hw30sck4Anm4e6v5nZmb1WYc6+n0IuCtwLNYAJwBPdxqe/jczq9dtjN31u6tfYpwAPN25wOmhgzAzi9xO4EvAO4Gb8JR/kpwAjFkOnBU6CDOzyD2KDvL5KLAlbCjWCicAYy7ECYCZ2aEMoe19HwR+AuwKG461ygnAmHOApaGDMDOL0B3AR4DPAY8FjsUK4gRAlgArQgdhZhaZUVTg9x7gOry3PytOAOQ4YHHoIMzMIvIwKvS7CvX0t8w4AZDzUAdAM7Oy2w98F/gwcDWwJ2w41i5OAGAAFf9NDR2ImVlAI8B96K7/08DtaAnAMuUEQG1/jwwdhJlZQNvQXf8HgW/igb8UnADAM4GjQgdhZhbALuAXwGeBr6I9/lYSZU8ApgHPARYEjsPMrJOG0WD/eVTkd0/YcCyEsicAp+PiPzMrl+1oS9+70LS/2/iWVNkTgDPw3b+ZlcN24Bbg46ij31NBo7HgypwAVFD73/mhAzEza6MhVN3/HtTJb0PYcCwWZU4ATgNOCR2EmVkbbQc+BnwANfPxdL/9t7ImABXgJXj7n5nlaRfwZeCTwH8Bm4NGY1EqawIwCDwPmBE6EDOzAu0Avg58CrgBWB82HItZWROAU4BloYMwMyvIbuB64BPA94DHw4ZjKShjAtALPBuYHToQM7MWbQN+gKr6r0cH+AyHDMjSUcYEoB8lAIOhAzEza9IONMX/eeBbwBpc4GcNKmMCsBI4MXQQZmZNWI0G/h8APwTuR9v8zBpWtgSgH7gcmBM6EDOzOo2iqf2fo5P6rgPWBozHMlG2BGAu8FJ0BoCZWcz2A7cBP0WD/g9wVb8VqGwJwPG497+ZxW0ncCua4r8G+Ame5rc2KFMCMBU4D+gLHUiJjKI1ysdR86W5wFJgVsCYzGK0F7XovQ8d0PM14PagEVn2ypQAzAGeDwyEDqQERtFRo9ehfck/B7rQ7MtFqAnTcej/xM2YrMx2AE+iu/za3f4jQSOy0ihTAnAKcFboIDI3iu5ifgz8B3AtWses+Un18SFgFXAx8EKUGMxCswRmuRtBPfofAL6JWvbehmYBzDqmLAnADOACfPffTtuBm4EPo0rlHYf52s0oSfhx9euvBF4OnAlMB6a0NVKzMPaiz8nPgG9UHw+gxNms48qSAMwCzga6A8eRoy1o4P8M8FVgHY01JHkSzQh8Bp3QeAnwLOB0lLh1FReqWUeNouK9vWj//jfQHf8vgK0B4zIDypMALAfOCR1EZvajO/j3o97jW3j6dH+jtgE/Qlue3oVmbC4HzkX1At66aSnZy9gU/w3AjSjZ3R0yKLPxypAADALPwZXnRboVTd1fjQqWiuo9PgrsAzaiKujr0JkNZwGXoaRgBWroZBabETTI/xh9Nn4GPIaO5nWbXotOGRKARajy3Fp3DypY+gJKAlq545/MCJom3Youot8HFqOCwXNQMrAKJ3YW3ka0de/bwB2oa98m2vv5MGtZGRKA5bj6v1Wr0cD/OTTw7+rw9x8Cnqo+7gC+AywEjkL/t89CSwUzOxyXldcaNLX/C+Am4G6UCHjQt2TkngAMoMpyH/3buBHgTuDr6LSxW1H1fmijqN5gC3Av6pb2ebTN81zg2OrPj8YFhFacfahJz61oy94vgAfRlP++gHGZNS33BGA5Wv+3xjwKfBbd9d+MWpPGajdKBO5DMwPzUbfBVcDJaMngWLQUlPv73Yq1A3WyvB2t69+Fal4ep7i6F7Ngcr8gno6mh60+69E65mfRnfWWoNE0ZvzMwP1oZ8ICYBlwBJoVOBM4ASWG00MEadFbixLK21EHy4erj0fxfn3LTM4JwGy099/bxw5vBG1X+jY6bax20cvBesZOT7sGWIISgKVoa+FJKBk4Gr9Pymo9ev+vrv54N0ogH0aFfGbZyjkBWA6cETqIiA2jNczvoC13PyHv5iTDaPq21me9H80OHIuWC2ozA0urvz81QIzWXvvQnfz4xwNod8t9qMjUrDRyTgCOAZ4ROohIPY769H8W+C/iXuNvl73oTu9+9Fr0MVY7sAolAUehrYfT0UmGs/B5BanYj+7gN6Fp/cfRYH8XGvBXc/h21WbZyzUBqB39621hT7ceddr7HKruj6GqPxb70IzIg2hGBFQ4uBIVFi5HNSUnotqCKSgx8ExBeHvR1tSd6D3+GPAQSu4eQnf3TwB7QgVoFqNcE4DTcfHfeBtRFfM16KCeDWHDScba6qOmG9UOnIpmBJahnQa1JYN+tPV0JtDb0UjLYR8axHczVvC5HiVtT6D/q9vQHb5P1jObRK4JwEp0sEyZjaA1zQfRVP9/4Dv+Vg2jIrG7x/3eVLR0sATNDCxE9QTHVH89m7ETDrtRb4IevJRwKCNo+n4POh9iB2oEtRG97uvRYH8HasazATffMWtKjgnAVLTdq8xH/25Fd/yfQC101x7+y60Fu9C2sXurv65UH93AHJSM1nYbDKL35RzGEoZpqP6gD80a1JKEXA1VH8PVH/eNe+xAU/arUYHebWjdfqj6Z9vQVjxvxzMrQI4JwFlo/b+s7kan6X0WVzWHUBugRtDRyOvQDosuxpKDCpoRWMjYroOjUEIwh7EZgyNQ/UFtOaFywKO7+qj9OoRh9G8drf58mLHXYD+ait+K7ty3o1mojdUfn0Lb7daiAX579bGv+py15zKzNsgxATib8vX+H0KFTp+vPu7B06IxqQ2M4+1Bg+A96HM4/u6/NgMwCyUIC8Z9zYzqj1Oqfza3+vNBxmYTKtWvry0/1HQxljAcyui4P68N5MOomn599e+PVOPfitbha1P166pfUyvI21T9mh2MnYhXG9hrPw7hQd4siNwSgCXo7j/nKdQDjT+adx2dP6jHWlebFj/QFnSHPP6uv2fcz2vLBrWBvTbLQPXXgygBqP1+NypUnKhAsTZrUUsAar8eQXfkm6uP2mdrhKdP59d+vX/c3zOziOWWAJyNKrTL4A5U2Hc1GiS8xSlf49e9x88k7A4Qi5llIrcE4DS0TStnt6J9/NeipiYe+M3MrGE5JQBHoeNgc7QH+C6q6L8eVUd74Dczs6bllABcTH7T//vQoP9FdDrf/fgYUjMzK0BOCcBZqAgwB3uAn6HOfdeg9X5XSpuZWWFySQCOQt3XUrcD9er/TvVxM77jNzOzNsglAbgUOD50EC3YhfaDXw18iqe3mjUzMytcDglANzr4Z3HoQJqwFXWJux64DrgRH2JiZmYdkEMCsIL0tv7tQXf8XwH+HR1qYmZm1jE5JADnk87d/xZ0Ot+PgP9Ed/zumGZmZh2XegLQD7wAODJ0IJPYBvwC+BbwJbSdz1X9ZmYWTOoJwGnA6aGDOIxd6I7/88D70UEpZmZmwaWcAFRQ8d+C0IEcoHZ62j3AR4CvojX+iQ57MTMzCyLlBKALeCY68jQmdzJ2SM9DqJufmZlZVFJOAJYCJ4YOYpybgY+iBj7344HfzMwilmoC0AU8F5gbOhB0MM/ngK+hBj4e+M3MLHqpJgB9wEWEnf6/H/g0quq/CzfwMTOzhKSaAMwATqHz8Y8AP0ANfH6G7v53djgGMzOzlqWaABxJZ0/+2w1ci47mvR4V+rmq38zMkpVqArAbtdPtxPf5IfBl4LvAA7iBj5mZZSDVBOAx4F7g6DY9/0Z0OM/1wPeAO9r0fczMzIJINQHYjabjzwdmFvi829F2vi8CX0CJhpmZWXZSTQCGUIe911NMAvA48HN0NO81+I7fzMwyl2oCAFoC+DjwZ8CsJp9jLTqZ76uoyG9jIZGZmZlFLuUEYBT4v8Ac4K3A9Dr/3jDwJDqK92o01b+pHQGamZnFKuUEAHTa3l+gZOC3UH+AiYxUv3Y92sd/LfANtOZvZmZWOqknAKCCwL8AVqMk4Gg04I+gxGATKuy7CU33/xTv4Tczs5LLIQEA9QS4Cg3uZwLT0B3/NlTJfz+wFffpNzMzA+D/B1ynHvGC3F7HAAAAAElFTkSuQmCC","base64");function x(){return new v.NextResponse(w,{headers:{"Content-Type":"image/x-icon","Cache-Control":"public, max-age=0, must-revalidate"}})}let y="force-static",z=new e.AppRouteRouteModule({definition:{kind:f.RouteKind.APP_ROUTE,page:"/favicon.ico/route",pathname:"/favicon.ico",filename:"favicon",bundlePath:"app/favicon.ico/route"},distDir:".next",relativeProjectDir:"",resolvedPagePath:"next-metadata-route-loader?filePath=%2FUsers%2Fliangyun%2FCodes%2Fpi-web%2Fapp%2Ffavicon.ico&isDynamicRouteExtension=0!?__next_metadata_route__",nextConfigOutput:"",userland:d,...{}}),{workAsyncStorage:A,workUnitAsyncStorage:B,serverHooks:C}=z;function D(){return(0,g.patchFetch)({workAsyncStorage:A,workUnitAsyncStorage:B})}async function E(a,b,c){c.requestMeta&&(0,h.setRequestMeta)(a,c.requestMeta),z.isDev&&(0,h.addRequestMeta)(a,"devRequestTimingInternalsEnd",process.hrtime.bigint());let d="/favicon.ico/route";"/index"===d&&(d="/");let e=await z.prepare(a,b,{srcPage:d,multiZoneDraftMode:!1});if(!e)return b.statusCode=400,b.end("Bad Request"),null==c.waitUntil||c.waitUntil.call(c,Promise.resolve()),null;let{buildId:g,deploymentId:v,params:w,nextConfig:x,parsedUrl:y,isDraftMode:A,prerenderManifest:B,routerServerContext:C,isOnDemandRevalidate:D,revalidateOnlyGenerated:E,resolvedPathname:F,clientReferenceManifest:G,serverActionsManifest:H}=e,I=(0,k.normalizeAppPath)(d),J=!!(B.dynamicRoutes[I]||B.routes[F]),K=async()=>((null==C?void 0:C.render404)?await C.render404(a,b,y,!1):b.end("This page could not be found"),null);if(J&&!A){let a=!!B.routes[F],b=B.dynamicRoutes[I];if(b&&!1===b.fallback&&!a){if(x.adapterPath)return await K();throw new t.NoFallbackError}}let L=null;!J||z.isDev||A||(L="/index"===(L=F)?"/":L);let M=!0===z.isDev||!J,N=J&&!M;H&&G&&(0,j.setManifestsSingleton)({page:d,clientReferenceManifest:G,serverActionsManifest:H});let O=a.method||"GET",P=(0,i.getTracer)(),Q=P.getActiveScopeSpan(),R=!!(null==C?void 0:C.isWrappedByNextServer),S=!!(0,h.getRequestMeta)(a,"minimalMode"),T=(0,h.getRequestMeta)(a,"incrementalCache")||await z.getIncrementalCache(a,x,B,S);null==T||T.resetRequestCache(),globalThis.__incrementalCache=T;let U={params:w,previewProps:B.preview,renderOpts:{experimental:{authInterrupts:!!x.experimental.authInterrupts},cacheComponents:!!x.cacheComponents,supportsDynamicResponse:M,incrementalCache:T,cacheLifeProfiles:x.cacheLife,waitUntil:c.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:void 0,onInstrumentationRequestError:(b,c,d,e)=>z.onRequestError(a,b,d,e,C)},sharedContext:{buildId:g,deploymentId:v}},V=new l.NodeNextRequest(a),W=new l.NodeNextResponse(b),X=m.NextRequestAdapter.fromNodeNextRequest(V,(0,m.signalFromNodeResponse)(b));try{let e,g=async a=>z.handle(X,U).finally(()=>{if(!a)return;a.setAttributes({"http.status_code":b.statusCode,"next.rsc":!1});let c=P.getRootSpanAttributes();if(!c)return;if(c.get("next.span_type")!==n.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${c.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let f=c.get("next.route");if(f){let b=`${O} ${f}`;a.setAttributes({"next.route":f,"http.route":f,"next.span_name":b}),a.updateName(b),e&&e!==a&&(e.setAttribute("http.route",f),e.updateName(b))}else a.updateName(`${O} ${d}`)}),h=async e=>{var h,i;let j=async({previousCacheEntry:f})=>{try{if(!S&&D&&E&&!f)return b.statusCode=404,b.setHeader("x-nextjs-cache","REVALIDATED"),b.end("This page could not be found"),null;let d=await g(e);a.fetchMetrics=U.renderOpts.fetchMetrics;let h=U.renderOpts.pendingWaitUntil;h&&c.waitUntil&&(c.waitUntil(h),h=void 0);let i=U.renderOpts.collectedTags;if(!J)return await (0,p.I)(V,W,d,U.renderOpts.pendingWaitUntil),null;{let a=await d.blob(),b=(0,q.toNodeOutgoingHttpHeaders)(d.headers);i&&(b[s.NEXT_CACHE_TAGS_HEADER]=i),!b["content-type"]&&a.type&&(b["content-type"]=a.type);let c=void 0!==U.renderOpts.collectedRevalidate&&!(U.renderOpts.collectedRevalidate>=s.INFINITE_CACHE)&&U.renderOpts.collectedRevalidate,e=void 0===U.renderOpts.collectedExpire||U.renderOpts.collectedExpire>=s.INFINITE_CACHE?void 0:U.renderOpts.collectedExpire;return{value:{kind:u.CachedRouteKind.APP_ROUTE,status:d.status,body:Buffer.from(await a.arrayBuffer()),headers:b},cacheControl:{revalidate:c,expire:e}}}}catch(b){throw(null==f?void 0:f.isStale)&&await z.onRequestError(a,b,{routerKind:"App Router",routePath:d,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:N,isOnDemandRevalidate:D})},!1,C),b}},k=await z.handleResponse({req:a,nextConfig:x,cacheKey:L,routeKind:f.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:B,isRoutePPREnabled:!1,isOnDemandRevalidate:D,revalidateOnlyGenerated:E,responseGenerator:j,waitUntil:c.waitUntil,isMinimalMode:S});if(!J)return null;if((null==k||null==(h=k.value)?void 0:h.kind)!==u.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==k||null==(i=k.value)?void 0:i.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});S||b.setHeader("x-nextjs-cache",D?"REVALIDATED":k.isMiss?"MISS":k.isStale?"STALE":"HIT"),A&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let l=(0,q.fromNodeOutgoingHttpHeaders)(k.value.headers);return S&&J||l.delete(s.NEXT_CACHE_TAGS_HEADER),!k.cacheControl||b.getHeader("Cache-Control")||l.get("Cache-Control")||l.set("Cache-Control",(0,r.getCacheControlHeader)(k.cacheControl)),await (0,p.I)(V,W,new Response(k.value.body,{headers:l,status:k.value.status||200})),null};R&&Q?await h(Q):(e=P.getActiveScopeSpan(),await P.withPropagatedContext(a.headers,()=>P.trace(n.BaseServerSpan.handleRequest,{spanName:`${O} ${d}`,kind:i.SpanKind.SERVER,attributes:{"http.method":O,"http.target":a.url}},h),void 0,!R))}catch(b){if(b instanceof t.NoFallbackError||await z.onRequestError(a,b,{routerKind:"App Router",routePath:I,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:N,isOnDemandRevalidate:D})},!1,C),J)throw b;return await (0,p.I)(V,W,new Response(null,{status:500})),null}}},86439:a=>{a.exports=require("next/dist/shared/lib/no-fallback-error.external")}};var b=require("../../webpack-runtime.js");b.C(a);var c=b.X(0,[4741,1813],()=>b(b.s=74215));module.exports=c})();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
<!DOCTYPE html><html lang="en" translate="no" class="__variable_66b8ca notranslate"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1, viewport-fit=cover, interactive-widget=resizes-content"/><link rel="preload" href="/_next/static/media/7deddc85b7ffd1dc-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="preload" href="/_next/static/media/ec14413c594b3356-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="stylesheet" href="/_next/static/css/88714c00e109ce28.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/
|
|
1
|
+
<!DOCTYPE html><html lang="en" translate="no" class="__variable_66b8ca notranslate"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1, viewport-fit=cover, interactive-widget=resizes-content"/><link rel="preload" href="/_next/static/media/7deddc85b7ffd1dc-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="preload" href="/_next/static/media/ec14413c594b3356-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="stylesheet" href="/_next/static/css/88714c00e109ce28.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/d37755afd25e5a62.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/4cbedad236d913cb.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-7d99d3f4d7ad7ec6.js"/><script src="/_next/static/chunks/4bd1b696-e356ca5ba0218e27.js" async=""></script><script src="/_next/static/chunks/3794-1b03b52e3112452e.js" async=""></script><script src="/_next/static/chunks/main-app-44b3ecb27de577ad.js" async=""></script><script src="/_next/static/chunks/app/layout-d4ee15c25233e0ff.js" async=""></script><script src="/_next/static/chunks/628fdacb-48668c51ab99a6cc.js" async=""></script><script src="/_next/static/chunks/5830-005dcf9c56a25234.js" async=""></script><script src="/_next/static/chunks/app/page-7e7db0fda0a48eb9.js" async=""></script><meta name="next-size-adjust" content=""/><meta name="google" content="notranslate"/><meta name="theme-color" content="#ffffff" media="(prefers-color-scheme: light)"/><meta name="theme-color" content="#1a1a1a" media="(prefers-color-scheme: dark)"/><title>Pi Web</title><meta name="description" content="Pi Web interface for the pi coding agent"/><meta name="application-name" content="Pi Web"/><link rel="manifest" href="/manifest.webmanifest"/><meta name="format-detection" content="telephone=no"/><meta name="mobile-web-app-capable" content="yes"/><meta name="apple-mobile-web-app-title" content="Pi Web"/><meta name="apple-mobile-web-app-status-bar-style" content="black-translucent"/><link rel="icon" href="/favicon.ico?8aa486c701a3d218" type="image/x-icon" sizes="512x512"/><link rel="icon" href="/icons/icon-192.png" sizes="192x192" type="image/png"/><link rel="apple-touch-icon" href="/icons/apple-touch-icon.png" sizes="180x180" type="image/png"/><script>(function(){try{var t=localStorage.getItem("pi-theme");var dark=t==="dark"||((t==null||t===""||t==="auto")&&window.matchMedia("(prefers-color-scheme: dark)").matches);if(dark)document.documentElement.classList.add("dark")}catch(e){}})();</script><script src="/_next/static/chunks/polyfills-42372ed130431b0a.js" noModule=""></script></head><body translate="no" class="notranslate"><div hidden=""><!--$--><!--/$--></div><!--$!--><template data-dgst="BAILOUT_TO_CLIENT_SIDE_RENDERING"></template><!--/$--><!--$--><!--/$--><script src="/_next/static/chunks/webpack-7d99d3f4d7ad7ec6.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[57121,[],\"\"]\n3:I[74581,[],\"\"]\n4:I[57788,[\"7177\",\"static/chunks/app/layout-d4ee15c25233e0ff.js\"],\"PwaRegistration\"]\n5:\"$Sreact.suspense\"\n6:I[39247,[\"5803\",\"static/chunks/628fdacb-48668c51ab99a6cc.js\",\"5830\",\"static/chunks/5830-005dcf9c56a25234.js\",\"8974\",\"static/chunks/app/page-7e7db0fda0a48eb9.js\"],\"I18nProvider\"]\n7:I[4724,[\"5803\",\"static/chunks/628fdacb-48668c51ab99a6cc.js\",\"5830\",\"static/chunks/5830-005dcf9c56a25234.js\",\"8974\",\"static/chunks/app/page-7e7db0fda0a48eb9.js\"],\"AppShell\"]\n8:I[90484,[],\"OutletBoundary\"]\na:I[90484,[],\"ViewportBoundary\"]\nc:I[90484,[],\"MetadataBoundary\"]\ne:I[27123,[],\"default\",1]\n:HL[\"/_next/static/media/7deddc85b7ffd1dc-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n:HL[\"/_next/static/media/ec14413c594b3356-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n:HL[\"/_next/static/css/88714c00e109ce28.css\",\"style\"]\n:HL[\"/_next/static/css/d37755afd25e5a62.css\",\"style\"]\n:HL[\"/_next/static/css/4cbedad236d913cb.css\",\"style\"]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"c\":[\"\",\"\"],\"q\":\"\",\"i\":false,\"f\":[[[\"\",{\"children\":[\"__PAGE__\",{}]},\"$undefined\",\"$undefined\",16],[[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/88714c00e109ce28.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"link\",\"1\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/d37755afd25e5a62.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"translate\":\"no\",\"className\":\"__variable_66b8ca notranslate\",\"suppressHydrationWarning\":true,\"children\":[[\"$\",\"head\",null,{\"children\":[[\"$\",\"meta\",null,{\"name\":\"google\",\"content\":\"notranslate\"}],[\"$\",\"script\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"(function(){try{var t=localStorage.getItem(\\\"pi-theme\\\");var dark=t===\\\"dark\\\"||((t==null||t===\\\"\\\"||t===\\\"auto\\\")\u0026\u0026window.matchMedia(\\\"(prefers-color-scheme: dark)\\\").matches);if(dark)document.documentElement.classList.add(\\\"dark\\\")}catch(e){}})();\"}}]]}],[\"$\",\"body\",null,{\"translate\":\"no\",\"className\":\"notranslate\",\"children\":[[\"$\",\"$L2\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L3\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"},\"children\":404}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0},\"children\":\"This page could not be found.\"}]}]]}]}]],[]],\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}],[\"$\",\"$L4\",null,{}]]}]]}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[[\"$\",\"$5\",null,{\"children\":[\"$\",\"$L6\",null,{\"children\":[\"$\",\"$L7\",null,{}]}]}],[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/4cbedad236d913cb.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]],[\"$\",\"$L8\",null,{\"children\":[\"$\",\"$5\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@9\"}]}]]}],{},null,false,null]},null,false,null],[\"$\",\"$1\",\"h\",{\"children\":[null,[\"$\",\"$La\",null,{\"children\":\"$Lb\"}],[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$Lc\",null,{\"children\":[\"$\",\"$5\",null,{\"name\":\"Next.Metadata\",\"children\":\"$Ld\"}]}]}],[\"$\",\"meta\",null,{\"name\":\"next-size-adjust\",\"content\":\"\"}]]}],false]],\"m\":\"$undefined\",\"G\":[\"$e\",[]],\"S\":true,\"h\":null,\"s\":\"$undefined\",\"l\":\"$undefined\",\"p\":\"$undefined\",\"d\":\"$undefined\",\"b\":\"Y3wut-kJDLcCh4UZn-zRj\"}\n"])</script><script>self.__next_f.push([1,"b:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1, viewport-fit=cover, interactive-widget=resizes-content\"}],[\"$\",\"meta\",\"2\",{\"name\":\"theme-color\",\"content\":\"#ffffff\",\"media\":\"(prefers-color-scheme: light)\"}],[\"$\",\"meta\",\"3\",{\"name\":\"theme-color\",\"content\":\"#1a1a1a\",\"media\":\"(prefers-color-scheme: dark)\"}]]\n"])</script><script>self.__next_f.push([1,"f:I[86869,[],\"IconMark\"]\n9:null\nd:[[\"$\",\"title\",\"0\",{\"children\":\"Pi Web\"}],[\"$\",\"meta\",\"1\",{\"name\":\"description\",\"content\":\"Pi Web interface for the pi coding agent\"}],[\"$\",\"meta\",\"2\",{\"name\":\"application-name\",\"content\":\"Pi Web\"}],[\"$\",\"link\",\"3\",{\"rel\":\"manifest\",\"href\":\"/manifest.webmanifest\",\"crossOrigin\":\"$undefined\"}],[\"$\",\"meta\",\"4\",{\"name\":\"format-detection\",\"content\":\"telephone=no\"}],[\"$\",\"meta\",\"5\",{\"name\":\"mobile-web-app-capable\",\"content\":\"yes\"}],[\"$\",\"meta\",\"6\",{\"name\":\"apple-mobile-web-app-title\",\"content\":\"Pi Web\"}],[\"$\",\"meta\",\"7\",{\"name\":\"apple-mobile-web-app-status-bar-style\",\"content\":\"black-translucent\"}],[\"$\",\"link\",\"8\",{\"rel\":\"icon\",\"href\":\"/favicon.ico?8aa486c701a3d218\",\"type\":\"image/x-icon\",\"sizes\":\"512x512\"}],[\"$\",\"link\",\"9\",{\"rel\":\"icon\",\"href\":\"/icons/icon-192.png\",\"sizes\":\"192x192\",\"type\":\"image/png\"}],[\"$\",\"link\",\"10\",{\"rel\":\"apple-touch-icon\",\"href\":\"/icons/apple-touch-icon.png\",\"sizes\":\"180x180\",\"type\":\"image/png\"}],[\"$\",\"$Lf\",\"11\",{}]]\n"])</script></body></html>
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
1:"$Sreact.fragment"
|
|
2
2
|
2:I[57121,[],""]
|
|
3
3
|
3:I[74581,[],""]
|
|
4
|
-
4:I[57788,["7177","static/chunks/app/layout-
|
|
4
|
+
4:I[57788,["7177","static/chunks/app/layout-d4ee15c25233e0ff.js"],"PwaRegistration"]
|
|
5
5
|
5:"$Sreact.suspense"
|
|
6
|
-
6:I[39247,["5803","static/chunks/628fdacb-48668c51ab99a6cc.js","
|
|
7
|
-
7:I[
|
|
6
|
+
6:I[39247,["5803","static/chunks/628fdacb-48668c51ab99a6cc.js","5830","static/chunks/5830-005dcf9c56a25234.js","8974","static/chunks/app/page-7e7db0fda0a48eb9.js"],"I18nProvider"]
|
|
7
|
+
7:I[4724,["5803","static/chunks/628fdacb-48668c51ab99a6cc.js","5830","static/chunks/5830-005dcf9c56a25234.js","8974","static/chunks/app/page-7e7db0fda0a48eb9.js"],"AppShell"]
|
|
8
8
|
8:I[90484,[],"OutletBoundary"]
|
|
9
9
|
a:I[90484,[],"ViewportBoundary"]
|
|
10
10
|
c:I[90484,[],"MetadataBoundary"]
|
|
@@ -12,9 +12,9 @@ e:I[27123,[],"default",1]
|
|
|
12
12
|
:HL["/_next/static/media/7deddc85b7ffd1dc-s.p.woff2","font",{"crossOrigin":"","type":"font/woff2"}]
|
|
13
13
|
:HL["/_next/static/media/ec14413c594b3356-s.p.woff2","font",{"crossOrigin":"","type":"font/woff2"}]
|
|
14
14
|
:HL["/_next/static/css/88714c00e109ce28.css","style"]
|
|
15
|
-
:HL["/_next/static/css/
|
|
16
|
-
:HL["/_next/static/css/
|
|
17
|
-
0:{"P":null,"c":["",""],"q":"","i":false,"f":[[["",{"children":["__PAGE__",{}]},"$undefined","$undefined",16],[["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/88714c00e109ce28.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","link","1",{"rel":"stylesheet","href":"/_next/static/css/
|
|
15
|
+
:HL["/_next/static/css/d37755afd25e5a62.css","style"]
|
|
16
|
+
:HL["/_next/static/css/4cbedad236d913cb.css","style"]
|
|
17
|
+
0:{"P":null,"c":["",""],"q":"","i":false,"f":[[["",{"children":["__PAGE__",{}]},"$undefined","$undefined",16],[["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/88714c00e109ce28.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","link","1",{"rel":"stylesheet","href":"/_next/static/css/d37755afd25e5a62.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]],["$","html",null,{"lang":"en","translate":"no","className":"__variable_66b8ca notranslate","suppressHydrationWarning":true,"children":[["$","head",null,{"children":[["$","meta",null,{"name":"google","content":"notranslate"}],["$","script",null,{"dangerouslySetInnerHTML":{"__html":"(function(){try{var t=localStorage.getItem(\"pi-theme\");var dark=t===\"dark\"||((t==null||t===\"\"||t===\"auto\")&&window.matchMedia(\"(prefers-color-scheme: dark)\").matches);if(dark)document.documentElement.classList.add(\"dark\")}catch(e){}})();"}}]]}],["$","body",null,{"translate":"no","className":"notranslate","children":[["$","$L2",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L3",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}],["$","$L4",null,{}]]}]]}]]}],{"children":[["$","$1","c",{"children":[["$","$5",null,{"children":["$","$L6",null,{"children":["$","$L7",null,{}]}]}],[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/4cbedad236d913cb.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]],["$","$L8",null,{"children":["$","$5",null,{"name":"Next.MetadataOutlet","children":"$@9"}]}]]}],{},null,false,null]},null,false,null],["$","$1","h",{"children":[null,["$","$La",null,{"children":"$Lb"}],["$","div",null,{"hidden":true,"children":["$","$Lc",null,{"children":["$","$5",null,{"name":"Next.Metadata","children":"$Ld"}]}]}],["$","meta",null,{"name":"next-size-adjust","content":""}]]}],false]],"m":"$undefined","G":["$e",[]],"S":true,"h":null,"s":"$undefined","l":"$undefined","p":"$undefined","d":"$undefined","b":"Y3wut-kJDLcCh4UZn-zRj"}
|
|
18
18
|
b:[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1, viewport-fit=cover, interactive-widget=resizes-content"}],["$","meta","2",{"name":"theme-color","content":"#ffffff","media":"(prefers-color-scheme: light)"}],["$","meta","3",{"name":"theme-color","content":"#1a1a1a","media":"(prefers-color-scheme: dark)"}]]
|
|
19
19
|
f:I[86869,[],"IconMark"]
|
|
20
20
|
9:null
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
1:"$Sreact.fragment"
|
|
2
2
|
2:"$Sreact.suspense"
|
|
3
|
-
3:I[39247,["5803","static/chunks/628fdacb-48668c51ab99a6cc.js","
|
|
4
|
-
4:I[
|
|
3
|
+
3:I[39247,["5803","static/chunks/628fdacb-48668c51ab99a6cc.js","5830","static/chunks/5830-005dcf9c56a25234.js","8974","static/chunks/app/page-7e7db0fda0a48eb9.js"],"I18nProvider"]
|
|
4
|
+
4:I[4724,["5803","static/chunks/628fdacb-48668c51ab99a6cc.js","5830","static/chunks/5830-005dcf9c56a25234.js","8974","static/chunks/app/page-7e7db0fda0a48eb9.js"],"AppShell"]
|
|
5
5
|
5:I[90484,[],"OutletBoundary"]
|
|
6
|
-
:HL["/_next/static/css/
|
|
7
|
-
0:{"rsc":["$","$1","c",{"children":[["$","$2",null,{"children":["$","$L3",null,{"children":["$","$L4",null,{}]}]}],[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/
|
|
6
|
+
:HL["/_next/static/css/4cbedad236d913cb.css","style"]
|
|
7
|
+
0:{"rsc":["$","$1","c",{"children":[["$","$2",null,{"children":["$","$L3",null,{"children":["$","$L4",null,{}]}]}],[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/4cbedad236d913cb.css","precedence":"next"}]],["$","$L5",null,{"children":["$","$2",null,{"name":"Next.MetadataOutlet","children":"$@6"}]}]]}],"isPartial":false,"staleTime":300,"varyParams":null,"buildId":"Y3wut-kJDLcCh4UZn-zRj"}
|
|
8
8
|
6:null
|