From 580d64602fc2a35acdde45731e674cfbe4953cf3 Mon Sep 17 00:00:00 2001 From: Cheng Zhou Date: Wed, 17 Dec 2025 14:19:30 +0800 Subject: [PATCH] =?UTF-8?q?Step=20F10=EF=BC=9AFAQ=20/=20=E7=9F=A5=E8=AF=86?= =?UTF-8?q?=E5=BA=93?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- frontend/src/api/faqs.ts | 47 ++++++ frontend/src/components/FaqCategoryForm.vue | 106 +++++++++++++ frontend/src/components/FaqCategoryPanel.vue | 87 +++++++++++ frontend/src/components/FaqItemForm.vue | 114 ++++++++++++++ frontend/src/components/FaqList.vue | 78 ++++++++++ frontend/src/router/index.ts | 7 + frontend/src/views/Faq.vue | 154 ++++++++++++++++++- frontend/src/views/FaqDetail.vue | 78 ++++++++++ pg_data/base/16384/24576 | Bin 8192 -> 8192 bytes pg_data/base/16384/24584 | Bin 8192 -> 8192 bytes pg_data/base/16384/24653 | Bin 8192 -> 8192 bytes pg_data/base/16384/24659 | Bin 16384 -> 16384 bytes pg_data/base/16384/24727 | Bin 0 -> 8192 bytes pg_data/base/16384/24734 | Bin 8192 -> 16384 bytes pg_data/base/16384/24736 | Bin 8192 -> 16384 bytes pg_data/base/16384/24743 | Bin 8192 -> 16384 bytes pg_data/base/16384/24818 | Bin 0 -> 8192 bytes pg_data/base/16384/24825 | Bin 8192 -> 16384 bytes pg_data/base/16384/24842 | Bin 8192 -> 16384 bytes pg_data/base/16384/24843 | Bin 8192 -> 16384 bytes pg_data/base/16384/2604 | Bin 8192 -> 8192 bytes pg_data/global/pg_control | Bin 8192 -> 8192 bytes pg_data/pg_wal/000000010000000000000001 | Bin 16777216 -> 16777216 bytes pg_data/pg_xact/0000 | Bin 8192 -> 8192 bytes 24 files changed, 669 insertions(+), 2 deletions(-) create mode 100644 frontend/src/api/faqs.ts create mode 100644 frontend/src/components/FaqCategoryForm.vue create mode 100644 frontend/src/components/FaqCategoryPanel.vue create mode 100644 frontend/src/components/FaqItemForm.vue create mode 100644 frontend/src/components/FaqList.vue create mode 100644 frontend/src/views/FaqDetail.vue diff --git a/frontend/src/api/faqs.ts b/frontend/src/api/faqs.ts new file mode 100644 index 00000000..ee4cb310 --- /dev/null +++ b/frontend/src/api/faqs.ts @@ -0,0 +1,47 @@ +import { apiGet, apiPatch, apiPost } from "./axios"; +import type { AxiosResponse } from "axios"; +import type { ApiListResponse } from "../types/api"; + +export interface FaqCategory { + id: string; + study_id?: string | null; + name: string; + description?: string | null; + sort_order: number; + is_active: boolean; + created_at: string; + updated_at: string; +} + +export interface FaqItem { + id: string; + study_id?: string | null; + category_id: string; + question: string; + answer: string; + keywords?: string | null; + version: number; + is_active: boolean; + created_by?: string; + created_at: string; + updated_at: string; +} + +export const fetchFaqCategories = (params?: Record): Promise>> => + apiGet("/api/v1/faqs/categories", { params }); + +export const createFaqCategory = (payload: Record) => + apiPost("/api/v1/faqs/categories", payload); + +export const updateFaqCategory = (categoryId: string, payload: Record) => + apiPatch(`/api/v1/faqs/categories/${categoryId}`, payload); + +export const fetchFaqItems = (params?: Record): Promise>> => + apiGet("/api/v1/faqs/items", { params }); + +export const fetchFaqItem = (itemId: string) => apiGet(`/api/v1/faqs/items/${itemId}`); + +export const createFaqItem = (payload: Record) => apiPost("/api/v1/faqs/items", payload); + +export const updateFaqItem = (itemId: string, payload: Record) => + apiPatch(`/api/v1/faqs/items/${itemId}`, payload); diff --git a/frontend/src/components/FaqCategoryForm.vue b/frontend/src/components/FaqCategoryForm.vue new file mode 100644 index 00000000..cf10bb7a --- /dev/null +++ b/frontend/src/components/FaqCategoryForm.vue @@ -0,0 +1,106 @@ + + + diff --git a/frontend/src/components/FaqCategoryPanel.vue b/frontend/src/components/FaqCategoryPanel.vue new file mode 100644 index 00000000..3dcd72c4 --- /dev/null +++ b/frontend/src/components/FaqCategoryPanel.vue @@ -0,0 +1,87 @@ + + + + + diff --git a/frontend/src/components/FaqItemForm.vue b/frontend/src/components/FaqItemForm.vue new file mode 100644 index 00000000..fdb12527 --- /dev/null +++ b/frontend/src/components/FaqItemForm.vue @@ -0,0 +1,114 @@ + + + diff --git a/frontend/src/components/FaqList.vue b/frontend/src/components/FaqList.vue new file mode 100644 index 00000000..882dc74c --- /dev/null +++ b/frontend/src/components/FaqList.vue @@ -0,0 +1,78 @@ + + + diff --git a/frontend/src/router/index.ts b/frontend/src/router/index.ts index a03f2df3..86d11fe5 100644 --- a/frontend/src/router/index.ts +++ b/frontend/src/router/index.ts @@ -22,6 +22,7 @@ import ImpTransactions from "../views/ImpTransactions.vue"; import Finance from "../views/Finance.vue"; import FinanceDetail from "../views/FinanceDetail.vue"; import Faq from "../views/Faq.vue"; +import FaqDetail from "../views/FaqDetail.vue"; import Issues from "../views/Issues.vue"; import IssueDetail from "../views/IssueDetail.vue"; import Verification from "../views/Verification.vue"; @@ -158,6 +159,12 @@ const routes: RouteRecordRaw[] = [ component: Faq, meta: { title: "FAQ", requiresStudy: true }, }, + { + path: "study/faq/:itemId", + name: "StudyFaqDetail", + component: FaqDetail, + meta: { title: "FAQ 详情", requiresStudy: true }, + }, { path: "study/verifications", name: "StudyVerifications", diff --git a/frontend/src/views/Faq.vue b/frontend/src/views/Faq.vue index de89b9a3..73430ad8 100644 --- a/frontend/src/views/Faq.vue +++ b/frontend/src/views/Faq.vue @@ -1,13 +1,163 @@ - + diff --git a/frontend/src/views/FaqDetail.vue b/frontend/src/views/FaqDetail.vue new file mode 100644 index 00000000..d4dab361 --- /dev/null +++ b/frontend/src/views/FaqDetail.vue @@ -0,0 +1,78 @@ + + + + + diff --git a/pg_data/base/16384/24576 b/pg_data/base/16384/24576 index 691daa8ee10c1a6d668e5b3563fb6eada285aaf8..cc9392cf050c7bd875e14d54f970e601c31cb910 100644 GIT binary patch delta 21 bcmZp0XmDU-0D_E_8`=KJF0oNE!i@88{i3 zI3*bTUpmdz|KXvuzR^Ud#3{o#+w$)F`Q?tKbDdTPU;L=QK{ze3Fg~*+HP=$U@)lE- z!|ElxA z6N4F=-P9vn)E+vQI^qHHli(8bPjTL3~`MIxxq8U)mIW^b#hT^Vo7Ss z-VM$=D;9cRm^@F0yWT|{;sO&i7brqq5GOpj>A#?h@|;Y@jaRN5R7H1zG|2nOKx5PM ziz@lpBuZai_TMwD(3fqp@s4AfNUm@OI>+5VC^8W25~v0Rp_dDHKA*kr>5d&QmN&kf ZzV79s8I${DRY%NRlQ42BMli2@xPH}bP>Jn)cla|cI-H~_z delta 61 zcmZo@U~Fh$+`yv1?NGCfkpT#1FnpNIub?V+W4-}H!8`*7j=2U56+m_Xkd~OgIZPo; NW@13d<}Wrp%m5?F5@7%U diff --git a/pg_data/base/16384/24727 b/pg_data/base/16384/24727 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..186d74bab17104eced253e266e5c1d935a162bb0 100644 GIT binary patch literal 8192 zcmeI%KMMhI9LMqRp-UxQka_2aBp)2CK&YL{*=cTl#M pm0jcVF6{HlJ3JQtJqVuLk(&Ez<)pg(PAhuwN3Ax!aaP5C`vJ~hDwzNP literal 0 HcmV?d00001 diff --git a/pg_data/base/16384/24734 b/pg_data/base/16384/24734 index fe0328464f5b2ff26aa28b355d5faf52aab44da1..87857928d3ce4c43733f9d02d4c0026fb942a392 100644 GIT binary patch delta 126 zcmZp0XlP*6WB>w*`elqD+JoVP{0Dg!1rR&Qkd=W2NP{In^h8C`jdq9Rr9qMjPz^E+ uH{cp>%s1HRxLbar0h<&75cJGHr{azqzwj`feZlG{uoaH delta 42 rcmZo@U~F)ZWdMQ~nKKwcvAJ_w&mgOXoVR4!-zNe}nqVg*%_mUiWmzju*=tUrt~5 Oa?uQsF(`l;$O8Zm$R}$6 delta 42 rcmZo@U~F)ZWdMSRvKfpZ+JoVP{0Dg!1rR&Qkd=XDqNCzQyF>B-z2XTk diff --git a/pg_data/base/16384/24743 b/pg_data/base/16384/24743 index 3f5ee2090cd822c493b7787c1bc063091c1ba9d7..d399f8be11652429cf366984ba11c7a439b90ba2 100644 GIT binary patch delta 126 zcmZp0XlP*6WB`I04a*oov$E!f;z#`rAZ;+f3}gTRV}2V2 delta 42 rcmZo@U~F)ZWdMR3Ju?_VvJEXCQS(jOZm!MOjQo6mnd&u5oT}nE!*<$`}yULrE{HD2VeZC zzk!cUqV(lu|2@+Rec2`(?>MIabXn7ry;Gk8QR~vD{nKBppZcPq)js{%+NCd7EqT9Z z7MG!(!n4lFPxmyyWnV7b%4Gx;owniW?p<(EWjIR*Vj2T@l6&t4XPp%by)W##^!aO> qK=B!w%CCeB=v#1_=f}Hi^=gm;LulEA(ZXY`o(bNE-|=0~rAK-x#R? delta 42 rcmZo@U~F)ZWdH($%2|vc+JoVP{0Dg!1rR&Qkd=XDqNCzQyF>B-xqAr= diff --git a/pg_data/base/16384/24843 b/pg_data/base/16384/24843 index 8ce8442a4d1535d4cfc0cd1be3db9ddeb0238c22..04bab2e8d4b236167a38fe72a3e1e242719f20ed 100644 GIT binary patch delta 126 zcmZp0XlP*6WB`H_OO`Q$Xb*-D@*m_`6hQ1GLskYBAPtrP(GwL#H`*PNmj+1+EQM&0 wVYmU;aAUr~M#tUq6Ajo@7#SoOvMukvpI`1+I@f7+@Wqe%8$jA%fEmaD09=F`t^fc4 delta 42 rcmZo@U~F)ZWdMR7^|Kg3vQC%%?7m$NXROn<%E Mknz0SWCuoG0Csy1k^lez diff --git a/pg_data/pg_wal/000000010000000000000001 b/pg_data/pg_wal/000000010000000000000001 index bff5effe6313bce5103629bb647cb8657eee30c2..619a762405c803212f76abd6d4ac366836c6e093 100644 GIT binary patch delta 560930 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 zzyJdbFu(u<3^2d|0}L?000Rs#zyJdbFu(u<3^2d|0}L?000Rs#zyJdbFu(u<3^2d| z0}L?000Rs#zyJdbFu(u<3^2d|0}L?000Rs#zyJdbFu(u<3^2d|0}L?000Rs#zyJdb zFu(u<3^2d|0}L?000Rs#zyJdbFu(u<3^2d|0}L?000Rs#zyJdbFu(u<3^2d|0}L?0 z00Rs#zyJdbFu(u<3^2d|0}L?000Rs#zyJdbFu(u<3^2d|0}L?000Rs#zyJdbFu(u< z3^2d|0}L?000Rs#zyJdbFu(u<3^2d|0}L?000Rs#zyJdbFu(u<3^2d|0}L?000Rs# zzyJdbFu(u<3^2d|0}L?000Rs#zyJdbFu(u<3^2d|0}L?000Rs#zyJdbFu(u<3^2d| z0}L?000Rs#zyJdbFu(u<3^2d|0}L?000Rs#zyJdbFu(u<3^2d|0}L?000Rs#zyJdb zFu(u<3^2d|0}L?000Rs#zyJdbFu(u<3^2d|0}L?000Rs#zyJdbFu(u<3^2d|0}L?0 z00Rs#zyJdbFu(u<3^2d|0}L?000Rs#zyJdbFu(u<3^2d|0}L?000Rs#zyJdbFu(u< z3^2d|0}L?000Rs#zyJdbFu(u<3^2d|0}L?000Rs#zyJdbFu(u<3^2d|0}L?000Rs# zzyJdbFu(u<3^2d|0}L?000Rs#zyJdbFu(u<3^2d|0}L?000Rs#zyJdbFu(u<3^2d| z0}L?000Rs#zyJdbFu(u<3^2d|0}L?000Rs#zyJdbFu(u<3^2d|0}L?000Rs#zyJdb zFu(u<3^2d|0}L?000Rs#zyJdbFu(u<3^2d|0}L?000Rs#zyJdbFu(u<3^2d|0}L?0 z00Rs#zyJdbFu(u<3^2d|0}L?000Rs#zyJdbFu(u<3^2d|0}L?000Rs#zyJdbFu(u< z3^2d|0}L?000Rs#zyJdbFu(u<3^2d|0}L?000Rs#zyJdbFu(u<3^2d|0}L?000Rs# zzyJdbFu(u<3^2d|0}L?000Rs#zyJdbFu(u<3^2d|0}L?000Rs#zyJdbFu(u<3^2d| z0}L?000Rs#zyJdbFu(u<3^2d|0}L?000Rs#zyJdbFu(u<3^2d|0}L?000Rs#zyJdb zFu(u<3^2d|0}L?000Rs#zyJdbFu(u<3^2d|0}L?000Rs#zyJdbFu(u<3^2d|0}L?0 z00Rs#zyJdbFu(u<3^2d|0}L?000Rs#zyJdbFu(u<3^2d|0}L?000Rs#zyJdbFu(u< z3^2d|0}L?000Rs#zyJdbFu(u<3^2d|0}L?000Rs#zyJdbFu(u<3^2d|0}L?000Rs# zzyJdbFu(u<3^2d|0}L?000Rs#zyJdbFu(u<3^2d|0}L?000Rs#zyJdbFu(u<3^2d| z0}L?000Rs#zyJdbFu(u<3^2d|0}L?000Rs#zyJdbFu(u<3^2d|0}L?000Rs#zyJdb zFu(u<3^2d|0}L?000Rs#zyJdbFu(u<3^2d|0}L?000Rs#zyJdbFu(u<3^2d|0}L?0 z00Rs#zyJdbFu(u<3^2d|0}L?000Rs#zyJdbFu(u<3^2d|0}L?000Rs#zyJdbFu(u< z3^2d|0}L?000Rs#zyJdbFu(u<3^2d|0}L?000Rs#zyJdbFu(u<3^2d|0}L?000Rs# zzyJdbFu(u<3^2d|0}L?000Rs#zyJdbFu(u<3^2d|0}L?000Rs#zyJdbFu(u<3^2d| z0}L?000Rs#zyJdbFu(u<3^2d|0}L?000Rs#zyJdbFu(u<3^2d|0}L?000Rs#zyJdb zFu(u<3^2d|0}L?000Rs#zyJdbFu(u<3^2d|0}L?000Rs#zyJdbFu(u<3^2d|0}L?0 z00Rs#zyJdbFu(u<3^2d|0}L?000Rs#zyJdbFu(u<3^2d|0}L?000Rs#zyJdbFu(u< z3^2d|0}L?000Rs#zyJdbFu(u<3^2d|0}L?000Rs#zyJdbFu(u<3^2d|0}L?000Rs# zzyJdbFu(u<3^2d|0}L?000Rs#zyJdbFu(u<3^2d|0}L?000Rs#zyJdbFu(u<3^2d| z0}L?000Rs#zyJdbFu(u<3^2d|0}L?000Rs#zyJdbFu(u<3^2d|0}L?000Rs#zyJdb zFu(u<3^2d|0}L?000Rs#zyJdbFu(u<3^2d|0}L?000Rs#zyJdbFu(u<3^2d|0}L?0 z00Rs#zyJdbFu(u<3^2d|0}L?000Rs#zyJdbFu(u<3^2d|0}L?000Rs#zyJdbFu(u< z3^2d|0}L?000Rs#zyJdbFu(u<3^2d|0}L?000Rs#zyJdbFu(u<3^2d|0}L?000Rs# zzyJdbFu(u<3^2d|0}L?000Rs#zyJdbFu(u<3^2d|0}L?000Rs#zyJdbFu(u<3^2d| z0}L?000Rs#zyJdbFu(u<3^2d|0}L?000Rs#zyJdbFu(u<3^2d|0}L?000Rs#zyJdb zFu(u<3^2d|0}L?000Rs#zyJdbFu(u<3^2d|0}L?000Rs#zyJdbFu(u<3^2d|0}L?0 z00Rs#zyJdbFu(u<3^2d|0}L?000Rs#zyJdbFu(u<3^2d|0}L?000Rs#zyJdbFu(u< z3^2d|0}L?000Rs#zyJdbFu(u<3^2d|0}L?000Rs#zyJdbFu(u<3^2d|0}L?000Rs# zzyJdbFu(u<3^2d|0}L?000Rs#zyJdbFu(u<3^2d|0}L?000Rs#zyJdbFu(u<3^2d| z0}L?000Rs#zyJdbFu(u<3^2d|0}L?000Rs#zyJdbFu(u<3^2d|0}L?000Rs#zyJdb zFu(u<3^2d|0}L?000Rs#zyJdbFu(u<3^2d|0}L?000Rs#zyJdbFu(u<3^2d|0}L?0 h00Rs#zyJdbFu(u<3^2d|0}L?0!2dS`n+r94{ukq@l3xG- delta 558934 zcmeIw>Cz4a06^gpg%*^ELOv}DZ7Rx=tt{<(Y1d90A#Lg{N0g)xC4|xyG~;hq&~!xWn%EUhYI0Y0 zRa2VUw61P?L(S-#uI;+6Z)P`iW3!swoNnsoZt2!;Yi_r9M|U=_`Q6psEofnjTHHM? zX=%$^-iq$+zE-xX)vf9N9_Yay>fs*g(H`sZp6JP*>gk^8+1B=4&-X$v_EInRO6z*H z*LuA-db78ByY+48o!;%e-tU7pwy6)>+?KZXQQP{sPx`da`n>IZ(U%SSs;}Eo?d+R& zwYzWou04I<-hOCbKlW4mJJ7*??ofyOrC&SJZyoJe$NRk#o$OS9^k=94{_CIZXQrK4 zb8Psbbwjh{0Rs#$zyJdbFu(u<3^2d|0}L?000Rs#zyJdbFu(u<3^2d|0}L?000Rs# zzyJdbFu(u<3^2d|0}L?000Rs#zyJdbFu(u<3^2d|0}L?000Rs#zyJdbFu(u<3^2d| z0}L?000Rs#zyJdbFu(u<3^2d|0}L?000Rs#zyJdbFu(u<3^2d|0}L?000Rs#zyJdb zFu(u<3^2d|0}L?000Rs#zyJdbFu(u<3^2d|0}L?000Rs#zyJdbFu(u<3^2d|0}L?0 z00Rs#zyJdbFu(u<3^2d|0}L?000Rs#zyJdbFu(u<3^2d|0}L?000Rs#zyJdbFu(u< z3^2d|0}L?000Rs#zyJdbFu(u<3^2d|0}L?000Rs#zyJdbFu(u<3^2d|0}L?000Rs# zzyJdbFu(u<3^2d|0}L?000Rs#zyJdbFu(u<3^2d|0}L?000Rs#zyJdbFu(u<3^2d| z0}L?000Rs#zyJdbFu(u<3^2d|0}L?000Rs#zyJdbFu(u<3^2d|0}L?000Rs#zyJdb zFu(u<3^2d|0}L?000Rs#zyJdbFu(u<3^2d|0}L?000Rs#zyJdbFu(u<3^2d|0}L?0 z00Rs#zyJdbFu(u<3^2d|0}L?000Rs#zyJdbFu(u<3^2d|0}L?000Rs#zyJdbFu(u< z3^2d|0}L?000Rs#zyJdbFu(u<3^2d|0}L?000Rs#zyJdbFu(u<3^2d|0}L?000Rs# zzyJdbFu(u<3^2d|0}L?000Rs#zyJdbFu(u<3^2d|0}L?000Rs#zyJdbFu(u<3^2d| z0}L?000Rs#zyJdbFu(u<3^2d|0}L?000Rs#zyJdbFu(u<3^2d|0}L?000Rs#zyJdb zFu(u<3^2d|0}L?000Rs#zyJdbFu(u<3^2d|0}L?000Rs#zyJdbFu(u<3^2d|0}L?0 z00Rs#zyJdbFu(u<3^2d|0}L?000Rs#zyJdbFu(u<3^2d|0}L?000Rs#zyJdbFu(u< z3^2d|0}L?000Rs#zyJdbFu(u<3^2d|0}L?000Rs#zyJdbFu(u<3^2d|0}L?000Rs# zzyJdbFu(u<3^2d|0}L?000Rs#zyJdbFu(u<3^2d|0}L?000Rs#zyJdbFu(u<3^2d| z0}L?000Rs#zyJdbFu(u<3^2d|0}L?000Rs#zyJdbFu(u<3^2d|0}L?000Rs#zyJdb zFu(u<3^2d|0}L?000Rs#zyJdbFu(u<3^2d|0}L?000Rs#zyJdbFu(u<3^2d|0}L?0 z00Rs#zyJdbFu(u<3^2d|0}L?000Rs#zyJdbFu(u<3^2d|0}L?000Rs#zyJdbFu(u< z3^2d|0}L?000Rs#zyJdbFu(u<3^2d|0}L?000Rs#zyJdbFu(u<3^2d|0}L?000Rs# zzyJdbFu(u<3^2d|0}L?000Rs#zyJdbFu(u<3^2d|0}L?000Rs#zyJdbFu(u<3^2d| z0}L?000Rs#zyJdbFu(u<3^2d|0}L?000Rs#zyJdbFu(u<3^2d|0}L?000Rs#zyJdb zFu(u<3^2d|0}L?000Rs#zyJdbFu(u<3^2d|0}L?000Rs#zyJdbFu(u<3^2d|0}L?0 z00Rs#zyJdbFu(u<3^2d|0}L?000Rs#zyJdbFu(u<3^2d|0}L?000Rs#zyJdbFu(u< z3^2d|0}L?000Rs#zyJdbFu(u<3^2d|0}L?000Rs#zyJdbFu(u<3^2d|0}L?000Rs# zzyJdbFu(u<3^2d|0}L?000Rs#zyJdbFu(u<3^2d|0}L?000Rs#zyJdbFu(u<3^2d| z0}L?000Rs#zyJdbFu(u<3^2d|0}L?000Rs#zyJdbFu(u<3^2d|0}L?000Rs#zyJdb zFu(u<3^2d|0}L?000Rs#zyJdbFu(u<3^2d|0}L?000Rs#zyJdbFu(u<3^2d|0}L?0 z00Rs#zyJdbFu(u<3^2d|0}L?000Rs#zyJdbFu(u<3^2d|0}L?000Rs#zyJdbFu(u< z3^2d|0}L?000Rs#zyJdbFu(u<3^2d|0}L?000Rs#zyJdbFu(u<3^2d|0}L?000Rs# zzyJdbFu(u<3^2d|0}L?000Rs#zyJdbFu(u<3^2d|0}L?000Rs#zyJdbFu(u<3^2d| z0}L?000Rs#zyJdbFu(u<3^2d|0}L?000Rs#zyJdbFu(u<3^2d|0}L?000Rs#zyJdb zFu(u<3^2d|0}L?000Rs#zyJdbFu(u<3^2d|0}L?000Rs#zyJdbFu(u<3^2d|0}L?0 z00Rs#zyJdbFu(u<3^2d|0}L?000Rs#zyJdbFu(u<3^2d|0}L?000Rs#zyJdbFu(u< z3^2d|0}L?000Rs#zyJdbFu(u<3^2d|0}L?000Rs#zyJdbFu(u<3^2d|0}L?000Rs# zzyJdbFu(u<3^2d|0}L?000Rs#zyJdbFu(u<3^2d|0}L?000Rs#zyJdbFu(u<3^2d| z0}L?000Rs#zyJdbFu(u<3^2d|0}L?000Rs#zyJdbFu(u<3^2d|0}L?000Rs#zyJdb zFu(u<3^2d|0}L?000Rs#zyJdbFu(u<3^2d|0}L?000Rs#zyJdbFu(u<3^2d|0}L?0 z00Rs#zyJdbFu(u<3^2d|0}L?000Rs#zyJdbFu(u<3^2d|0}L?000Rs#zyJdbFu(u< z3^2d|0}L?000Rs#zyJdbFu(u<3^2d|0}L?000Rs#zyJdbFu(u<3^2d|0}L?000Rs# zzyJdbFu(u<3^2d|0}L?000Rs#zyJdbFu(u<3^2d|0}L?000Rs#zyJdbFu(u<3^2d| z0}L?000Rs#zyJdbFu(u<3^2d|0}L?000Rs#zyJdbFu(u<3^2d|0}L?000Rs#zyJdb zFu(u<3^2d|0}L?000Rs#zyJdbFu(u<3^2d|0}L?000Rs#zyJdbFu(u<3^2d|0}L?0 z00Rs#zyJdbFu(u<3^2d|0}L?000Rs#zyJdbFu(u<3^2d|0}L?000Rs#zyJdbFu(u< z3^2d|0}L?000Rs#zyJdbFu(u<3^2d|0}L?000Rs#zyJdbFu(u<3^2d|0}L?000Rs# zzyJdbFu(u<3^2d|0}L?000Rs#zyJdbFu(u<3^2d|0}L?000Rs#zyJdbFu(u<3^2d| z0}L?000Rs#zyJdbFu(u<3^2d|0}L?000Rs#zyJdbFu(u<3^2d|0}L?000Rs#zyJdb zFu(u<3^2d|0}L?000Rs#zyJdbFu(u<3^2d|0}L?000Rs#zyJdbFu(u<3^2d|0}L?0 z00Rs#zyJdbFu(u<3^2d|0}L?000Rs#zyJdbFu(u<3^2d|0}L?000Rs#zyJdbFu(u< z3^2d|0}L?000Rs#zyJdbFu(u<3^2d|0}L?000Rs#zyJdbFu(u<3^2d|0}L?000Rs# zzyJdbFu(u<3^2d|0}L?000Rs#zyJdbFu(u<3^2d|0}L?000Rs#zyJdbFu(u<3^2d| V0}L?000Rs#aL&Nt|NfmgbQYUc-0=Va diff --git a/pg_data/pg_xact/0000 b/pg_data/pg_xact/0000 index 6f73d0ee0d41f76d4ccee5dc0567a2031695248c..1e1b817e6356519ad39e0204b9c67c928e507e01 100644 GIT binary patch delta 17 YcmZp0XmFTthB-8papOgOc_s!106G%|T>t<8 delta 15 WcmZp0XmFTthEa6mMSb~+4_E*)0|qz%