From abb5b0a1078987c4d006bc0d6a20bfc14bf5c65d Mon Sep 17 00:00:00 2001 From: Cheng Zhou Date: Tue, 16 Dec 2025 22:17:26 +0800 Subject: [PATCH] =?UTF-8?q?Step=20F6=EF=BC=9AAE=20&=20=E9=A3=8E=E9=99=A9/?= =?UTF-8?q?=E9=97=AE=E9=A2=98=E7=AE=A1=E7=90=86=EF=BC=88PV=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- backend/app/api/v1/aes.py | 2 +- frontend/src/api/aes.ts | 11 ++ frontend/src/api/attachments.ts | 12 ++ frontend/src/api/comments.ts | 11 ++ frontend/src/api/issues.ts | 11 ++ frontend/src/components/AttachmentList.vue | 84 ++++++++++++ frontend/src/components/CommentList.vue | 101 ++++++++++++++ frontend/src/components/IssueForm.vue | 128 ++++++++++++++++++ frontend/src/components/Layout.vue | 2 + frontend/src/router/index.ts | 21 +++ frontend/src/views/Aes.vue | 150 ++++++++++++++++++++- frontend/src/views/IssueDetail.vue | 99 ++++++++++++++ frontend/src/views/Issues.vue | 150 +++++++++++++++++++++ pg_data/base/16384/24576 | Bin 8192 -> 8192 bytes pg_data/base/16384/24584 | Bin 8192 -> 8192 bytes pg_data/base/16384/24598 | Bin 8192 -> 8192 bytes pg_data/base/16384/24633 | Bin 8192 -> 8192 bytes pg_data/base/16384/24640 | Bin 16384 -> 16384 bytes pg_data/base/16384/24652 | Bin 16384 -> 16384 bytes pg_data/base/16384/24672 | Bin 16384 -> 16384 bytes pg_data/base/16384/24678 | Bin 16384 -> 16384 bytes pg_data/base/16384/24740 | Bin 8192 -> 8192 bytes pg_data/base/16384/24747 | Bin 16384 -> 16384 bytes pg_data/base/16384/24749 | Bin 16384 -> 16384 bytes pg_data/base/16384/24761 | Bin 16384 -> 16384 bytes pg_data/base/16384/24762 | Bin 16384 -> 16384 bytes pg_data/base/16384/24763 | Bin 8192 -> 8192 bytes pg_data/base/16384/24770 | Bin 16384 -> 16384 bytes pg_data/base/16384/24782 | Bin 16384 -> 16384 bytes pg_data/base/16384/24783 | Bin 8192 -> 8192 bytes pg_data/base/16384/24790 | Bin 16384 -> 16384 bytes pg_data/base/16384/24812 | Bin 16384 -> 16384 bytes pg_data/base/16384/24813 | Bin 16384 -> 16384 bytes pg_data/base/16384/24814 | Bin 16384 -> 16384 bytes pg_data/base/16384/24815 | Bin 8192 -> 8192 bytes pg_data/base/16384/24822 | Bin 16384 -> 16384 bytes pg_data/base/16384/24849 | Bin 16384 -> 16384 bytes pg_data/base/16384/24850 | Bin 16384 -> 16384 bytes pg_data/base/16384/24851 | Bin 16384 -> 16384 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 42 files changed, 779 insertions(+), 3 deletions(-) create mode 100644 frontend/src/api/aes.ts create mode 100644 frontend/src/api/attachments.ts create mode 100644 frontend/src/api/comments.ts create mode 100644 frontend/src/api/issues.ts create mode 100644 frontend/src/components/AttachmentList.vue create mode 100644 frontend/src/components/CommentList.vue create mode 100644 frontend/src/components/IssueForm.vue create mode 100644 frontend/src/views/IssueDetail.vue create mode 100644 frontend/src/views/Issues.vue diff --git a/backend/app/api/v1/aes.py b/backend/app/api/v1/aes.py index 9a112b88..6f81d04b 100644 --- a/backend/app/api/v1/aes.py +++ b/backend/app/api/v1/aes.py @@ -14,7 +14,7 @@ from app.schemas.ae import AECreate, AERead, AEUpdate router = APIRouter() ALLOWED_CREATE_ROLES = {"PM", "CRA", "PV"} -ALLOWED_UPDATE_ROLES = {"PM", "PV"} +ALLOWED_UPDATE_ROLES = {"PM", "PV", "CRA"} async def _ensure_study_exists(db: AsyncSession, study_id: uuid.UUID): diff --git a/frontend/src/api/aes.ts b/frontend/src/api/aes.ts new file mode 100644 index 00000000..85ccb56a --- /dev/null +++ b/frontend/src/api/aes.ts @@ -0,0 +1,11 @@ +import { apiGet, apiPost, apiPatch } from "./axios"; +import type { ApiListResponse } from "../types/api"; + +export const fetchAes = (studyId: string, params?: Record) => + apiGet>(`/api/v1/studies/${studyId}/aes/`, { params }); + +export const createAe = (studyId: string, payload: Record) => + apiPost(`/api/v1/studies/${studyId}/aes/`, payload); + +export const updateAe = (studyId: string, aeId: string, payload: Record) => + apiPatch(`/api/v1/studies/${studyId}/aes/${aeId}`, payload); diff --git a/frontend/src/api/attachments.ts b/frontend/src/api/attachments.ts new file mode 100644 index 00000000..8a87eb88 --- /dev/null +++ b/frontend/src/api/attachments.ts @@ -0,0 +1,12 @@ +import { apiGet, apiPost } from "./axios"; + +export const fetchAttachments = (studyId: string, entityType: string, entityId: string) => + apiGet(`/api/v1/studies/${studyId}/${entityType}/${entityId}/attachments`); + +export const uploadAttachment = (studyId: string, entityType: string, entityId: string, file: File) => { + const formData = new FormData(); + formData.append("file", file); + return apiPost(`/api/v1/studies/${studyId}/${entityType}/${entityId}/attachments`, formData, { + headers: { "Content-Type": "multipart/form-data" }, + }); +}; diff --git a/frontend/src/api/comments.ts b/frontend/src/api/comments.ts new file mode 100644 index 00000000..05952929 --- /dev/null +++ b/frontend/src/api/comments.ts @@ -0,0 +1,11 @@ +import { apiGet, apiPost } from "./axios"; + +export const fetchComments = (studyId: string, entityType: string, entityId: string) => + apiGet(`/api/v1/studies/${studyId}/${entityType}/${entityId}/comments`); + +export const createComment = ( + studyId: string, + entityType: string, + entityId: string, + payload: Record +) => apiPost(`/api/v1/studies/${studyId}/${entityType}/${entityId}/comments`, payload); diff --git a/frontend/src/api/issues.ts b/frontend/src/api/issues.ts new file mode 100644 index 00000000..8c0633f7 --- /dev/null +++ b/frontend/src/api/issues.ts @@ -0,0 +1,11 @@ +import { apiGet, apiPost, apiPatch } from "./axios"; +import type { ApiListResponse } from "../types/api"; + +export const fetchIssues = (studyId: string, params?: Record) => + apiGet>(`/api/v1/studies/${studyId}/issues/`, { params }); + +export const createIssue = (studyId: string, payload: Record) => + apiPost(`/api/v1/studies/${studyId}/issues/`, payload); + +export const updateIssue = (studyId: string, issueId: string, payload: Record) => + apiPatch(`/api/v1/studies/${studyId}/issues/${issueId}`, payload); diff --git a/frontend/src/components/AttachmentList.vue b/frontend/src/components/AttachmentList.vue new file mode 100644 index 00000000..81200a47 --- /dev/null +++ b/frontend/src/components/AttachmentList.vue @@ -0,0 +1,84 @@ + + + + + diff --git a/frontend/src/components/CommentList.vue b/frontend/src/components/CommentList.vue new file mode 100644 index 00000000..f7d16f6a --- /dev/null +++ b/frontend/src/components/CommentList.vue @@ -0,0 +1,101 @@ + + + + + diff --git a/frontend/src/components/IssueForm.vue b/frontend/src/components/IssueForm.vue new file mode 100644 index 00000000..64b8c35f --- /dev/null +++ b/frontend/src/components/IssueForm.vue @@ -0,0 +1,128 @@ + + + diff --git a/frontend/src/components/Layout.vue b/frontend/src/components/Layout.vue index 47c934c9..9ca144b4 100644 --- a/frontend/src/components/Layout.vue +++ b/frontend/src/components/Layout.vue @@ -20,6 +20,8 @@ 里程碑 任务 受试者 + AE + 风险/问题 diff --git a/frontend/src/router/index.ts b/frontend/src/router/index.ts index 282c31ea..da059661 100644 --- a/frontend/src/router/index.ts +++ b/frontend/src/router/index.ts @@ -11,10 +11,13 @@ import Milestones from "../views/Milestones.vue"; import Subjects from "../views/Subjects.vue"; import SubjectDetail from "../views/SubjectDetail.vue"; import Aes from "../views/Aes.vue"; +import AeDetail from "../views/AeDetail.vue"; import DataQueries from "../views/DataQueries.vue"; import Imp from "../views/Imp.vue"; import Finance from "../views/Finance.vue"; import Faq from "../views/Faq.vue"; +import Issues from "../views/Issues.vue"; +import IssueDetail from "../views/IssueDetail.vue"; const routes: RouteRecordRaw[] = [ { @@ -70,12 +73,30 @@ const routes: RouteRecordRaw[] = [ component: Aes, meta: { title: "AE", requiresStudy: true }, }, + { + path: "study/aes/:aeId", + name: "StudyAeDetail", + component: AeDetail, + meta: { title: "AE详情", requiresStudy: true }, + }, { path: "study/data-queries", name: "StudyDataQueries", component: DataQueries, meta: { title: "数据问题", requiresStudy: true }, }, + { + path: "study/issues", + name: "StudyIssues", + component: Issues, + meta: { title: "风险/问题", requiresStudy: true }, + }, + { + path: "study/issues/:issueId", + name: "StudyIssueDetail", + component: IssueDetail, + meta: { title: "风险详情", requiresStudy: true }, + }, { path: "study/imp", name: "StudyImp", diff --git a/frontend/src/views/Aes.vue b/frontend/src/views/Aes.vue index e3d5aea3..1a3f03ae 100644 --- a/frontend/src/views/Aes.vue +++ b/frontend/src/views/Aes.vue @@ -1,13 +1,159 @@ - + diff --git a/frontend/src/views/IssueDetail.vue b/frontend/src/views/IssueDetail.vue new file mode 100644 index 00000000..ad8303eb --- /dev/null +++ b/frontend/src/views/IssueDetail.vue @@ -0,0 +1,99 @@ + + + + + diff --git a/frontend/src/views/Issues.vue b/frontend/src/views/Issues.vue new file mode 100644 index 00000000..69085472 --- /dev/null +++ b/frontend/src/views/Issues.vue @@ -0,0 +1,150 @@ + + + + + diff --git a/pg_data/base/16384/24576 b/pg_data/base/16384/24576 index 8cbdcf86d13320172cab16bfd4193dfd98f9f56e..df72e97b14b1ff5c0fcd12ebc57a524fe50a7de4 100644 GIT binary patch delta 29 jcmZp0XmDU>00Ix*V;k99r5K-0?v<)%{IZ!>`ZEgvdu|C~ delta 29 jcmZp0XmDU>00NDcBOBRUr5HC)?v<)%+`pMu`ZEgvef0D=JaV;k8+#TmbBjul_b0RTq&29N*% delta 23 dcmZp0XmDU>0D=$AM>evDiZkxt94o$<0{~R82Xz1d diff --git a/pg_data/base/16384/24598 b/pg_data/base/16384/24598 index 61c800e199099b2784fcf5510bd6246dbee355ab..d1f369e5106d1f0ebeeed0576281001b10b876ac 100644 GIT binary patch delta 22 ccmZp0XmDU-0D=XxH?rl)G9K7mD%;Hj07lFPmjD0& delta 22 ccmZp0XmDU-0D=iI8`<(?8MkdNmF;E%07A?LJ^%m! diff --git a/pg_data/base/16384/24633 b/pg_data/base/16384/24633 index 94cb4a14568e28d6745006090656be25980035e4..d4f6211a54b385c17d315a4d982e789fcc5d4cdb 100644 GIT binary patch delta 304 zcmZp0XmC(w00Ixoql_S0g`q)?L4id9#BP}XiGcx#8|Ho5s2D3(f0G#`iU7@UZ@bYpWs#GNBW>ASq6)=p|a6MoFtNb$+;zGod1;0T)= P?k8Pdj&Q)_I{795#eQ$o delta 44 tcmZp0XmF5b00ND#N ba+90O=`Fiw{&RY9T@s{@35)pT8}=FiZc!nI delta 43 vcmZo@U~Fh$+`ytBS}|`nBLfh~Fx-&;AkU%zV&B-TsL(AxF~DN-9eWi31D6a% diff --git a/pg_data/base/16384/24672 b/pg_data/base/16384/24672 index d1e43ed7628f9e72a7c76b7800d35c44f69437fa..008cb3ae17e5c0340a4ee5a6a4991395a9210703 100644 GIT binary patch delta 3670 zcmciE3rrIS7y#fqd;n1tMBW3=A&SOxeczp#z|o!p@~D=VM1^awMc7bALGgL@v4Laq zDkw~xI2D~nxw@^Ixl(H zlG@pU6;#mG8F3#w?{64=kXHHOM3O27kBL-DB%+i?BSA#4 z3{m$ak%UQVA|`@SM5B=+8ktxu77d(4_X@O!d!NVkdv-h#UT}&CN;)YZ?~KKR=EANs15*D{4lYH zdxysz!*Nd`4lk=05p9KGlZGvtJ+##dxBSwDp=l$hmzj!OLh%=4qg-N@3bsFS!i^cF z>kT$FoxE5O7ppts>Ey(bL~*I@_kiNuTJ_~2^J3G#6J;thSq0Dm{~cfxSAK~FwDAD%aDZnqKA26A z;?NhAP)Q)|FRTIRdzJv}wUcTo5sIL&OhYpJmJ*3!wNNL4QK6b$#V9J03I9#$T1<)_ zcU=oib3QH)6=yJvLKEF zsh2Q+l1V!9qyAmYHF_XTeHG zQ>J}$^tDZUx|*i`)OyU?S%7GT0yWCKf(4jH21|658phP58rCvbftaGClvZP`#e92O zuJv?+iDg~nvD~6C>}_^LNK3wpM5-?LyGN%eCUSggICH|%uj zxdSZo0*~p+F)wMH!~K`y@s-byczP4blx;u$o#iX1dvCx0(|==3Kkj5YOqP5$886W1lLthouP~+ESG$5|SW^!LbIBv}M^bYTT zV7JkGSF(647oDirrnPm zf?p9w$ZPRuf)(pVmMnCzWT=}ZO}#9s>SBomW$j^!$-t5cxD#E4%sQMP)6j{IJrgoT z=sXmQnGo)eI*P0uJGmV#3WhIjz_FiRjhGhKB_P5e!o!La=WUojuJV8}I7^VV!dY}V zdJ%F4%$kfXgA7+uf$O&M>cmO|DiPQ5yByHaADQR+De$%X!Wr? zPtqrQP>+Sbeyh9ATa{5i01v5NeR8`w z)7UAnoiq1&6jG0dPij(p_RMPWg8rnyOP#;(Cmk>tY@FIkD)19Gx4Op<*1gH+Q;&j& zi~7v7(ZXND;cwI0!&ZE$N5W$S_Mv|7?D;lcb&2-U>tN~;@Welpy{ZhUTjN+^K#8@@ zN_{_k`%Gl2OGehHrl;gkt~kZ9O9$Z?Oq5OC_0{Eg4SuMcD7RL2Q0K!F1`18ece29H zKBen&gd>uA82s9BMyYL1WT?4Qn{JSOaZ=~uF{SV6KF^AGpQf$ZY?zNsUKoa zcV>b%UU^xgEZ1z(0T+Ys#X-`zTcYz_JMZ}sV#hz~A@KR7dcU*WEbGIDX8}=m+ePZZ zaQAwbf=6-3$>XKQ#hV+d8`Oi~`n;%8XSdAK9zLlaU)D*f2g0jQdwy~`oZ}efCZEW5 z+v}npKoWT*HMIZ1Vw-q#WK3J;rSQB;2mV+P33Xw@4QZfRFYxA!T?n?Q(hP3@0Tr1R A&Hw-a delta 230 zcmWlTuM5IJ9L2u}3I>HChH1K{@taMv`6n1{4wKR5fyFo&h|KvTE>0|q3kIW2qtR$I zi60Lh@7{YKj&sg9XYz`z7t4zgPQ`?s*t4z0Gf~NRD$zk@o~jH{u~)g$g=}xKu&uT# zM|vd(+&xrs_t`eEH8f+NlQZPVJs2P6g@4E%yTym>1)Ux=zS~Cg0W+o({00-H@z-{` fN09LUEIy)sfRrc$3&>Z#=Mp^)ChhaIzpnlO7L`fA diff --git a/pg_data/base/16384/24740 b/pg_data/base/16384/24740 index b374bb71d3fbc9cc01e764a240395532d385e94f..0b9e430a3c065d696bcaccfe3bd0f2ec09641ac1 100644 GIT binary patch delta 300 zcmZp0XmAi<0D_8&ql_Thfx$s~qJRpw#heceJ7zO5I?VpC(UDQw;1n|h!&xAP0WJpa zhRKQw^=wdq1@)&Xvf6fD^t9fe)}g8Y4aTwVUCFfeecLR7cT zPA(RB$;9ye;hH)SeHdu)T_nRfCm)mv_kgK>$Nx7Lq)Pes#tIO90H_k=92fvP#etbs y!5*Je?0`-Y4R#K4b@lV~a|h}KIR^w_PJz)ofd+$|0|T54+y|IdHy@L+Vg>+YZ%D`h delta 59 zcmZp0XmAi<0D^#qBa9&0gkgisL;;nJj{l`L2GlYN?qp_Q*aO5cz&`n;bogco*%wRz Dm{JX> diff --git a/pg_data/base/16384/24747 b/pg_data/base/16384/24747 index fef49cf506491ec073ddd46983b9308c2830c07e..a2f7caf67db390bc362e1e3d47e13131da360628 100644 GIT binary patch delta 69 zcmZo@U~Fh$+`ytByP@j{BLff^FeJ!-kY`Z)z5;*)FaTL4AB B4axuj delta 37 rcmZo@U~Fh$+`yv1Z4iBgkpT#F7%C?7D@Zc0m~XJrF;ISTjeQFMxU>pi diff --git a/pg_data/base/16384/24762 b/pg_data/base/16384/24762 index e6e6fe8992087c36b0337b7c42fcabbce7367f26..437e3145adc8d25806104277d27da2de9b9cf34b 100644 GIT binary patch delta 47 zcmZo@U~Fh$+`yv1&Cqv*kpTz{7!oG)D@d{@%r{_|FyCOKqp3V2$K+aj@yRvzEdU^w B47>mU delta 37 rcmZo@U~Fh$+`yv1tq^mBkpT#F7%C?7D@Za=m~XJrF;ISTjeQFMwiXIF diff --git a/pg_data/base/16384/24763 b/pg_data/base/16384/24763 index 308c785146a4281ab07fc688b4d135930640462d..e3acf9e5311f54a15934845f4ec189599602352e 100644 GIT binary patch delta 818 zcmZp0XmAi<00M_|M;JkL4#NV`i2^nX0y7yHXUzD(ATa|-PiJ710OAGHJ}@Xu1JY9& z7&iu*hz6Wx25CV6Q3hTHW=@6u5>TPwlW&XDxP2DS*f77%;!5Z8`CE#Uo7`MZZ`nQb zpVN!$k_+ln7vER+6kA%nz;DY2<=2xV7qtBpOB7$bgkrzULt|qv5 zEcP(=JQ&~CK+uvKatie`>>-xG=+kJH2%}jNrfM@Y>YL|+uI8GW(3Y+!LYA8g6*|rfHD|Ppjj-$z}vvAsqh~bgb%~M2|vm7+|4h2u2@8Ge`iZ|K!bb}AqK(d zBS3?Yy$AG~12Zckbzt*aJ#t{dya=NYqPdI@&1LH}`}XYe^0=_i2^no3-v`eHi)upo*-Gk1^}xe3A_LR diff --git a/pg_data/base/16384/24770 b/pg_data/base/16384/24770 index 4673ca14559d8195956a6a319be4093705676ea4..fb8bac773eaa3dcd5ee9df6cef64f660169b5f69 100644 GIT binary patch delta 244 zcmZo@U~Fh$+`yv1-Er;+BLfg5FgQ%+SCG|mm}kIH0K^sZ4H#AcaR-n+0Z10AynPXs7_z8}$WP&4>RdSgY?AQ&Z=&TOaRH!s zchtT9SSPoh*`2v*$Li1R1c~zl#UF-!Qx$%a>A9(oPvLo8t>!Y21Rqdhoo3&jU0xm+ SmK|5fxwUhj!sZut5{v+KA5*0O delta 58 zcmZo@U~Fh$+`yv1-B5pokpT!?7+y@~SCAF2m~X(a0*EI7u?G+z0Ah*x1{)n$%58pQ HC&CB-`}YzZ diff --git a/pg_data/base/16384/24782 b/pg_data/base/16384/24782 index cea27979d487d8fc791e256657f30ec88b5a9167..310a5413abfbb2a01dff0e66572c8a2beafc45ef 100644 GIT binary patch delta 175 zcmZo@U~Fh$+`yv1ec{{@Mg|~AU~rhsuOQ2JVV(g)0T4$3vBSK{S_)E}JAljuK-{s} zQQ^6)rznF2!-D$M#rM@c#g-N?@Y}LM`8CJ{5gg*eIK%}fzqJ!*6abU_AX0=6i^|O} H>?9ZgT@5<` delta 38 scmZo@U~Fh$+`yv1eWLydBLfh)Fua(|uOK_wMnPhu(+auGZ|p=E0pT+Xs{jB1 diff --git a/pg_data/base/16384/24783 b/pg_data/base/16384/24783 index e88fc0229b43a8cf9fe8f93e21141409bf88b379..6693ed109611856874a67a0e1d39afe1e256009b 100644 GIT binary patch literal 8192 zcmeI1dq`7J7{JeQrD&?TOgjhRKRFO6+mY*2&w|;UCQ&a6Y*E*kJek_D3IJuNFe}Nd|(GLb$z*ft@NLj8KVe_r>?7K@Cs?)BrU=4NwEr05w1jPy^HeH9!qe z1JnRDKn+j>)WH8@-~;-NlpWK6Zy|31v#rO={^`aQW>$-C%1)%artKTDo>cIb;gQ@US$JXVhAz#$I0S0v$$Z$_*{2CTWc}T zip+?&IQJtiHXGv7^FkP>b9qO_$`U2wQL+e6_ltLZn5Pf%U?vj$3E~;AeuPWAYoU$H z!eYW~UYz==4NqLRdaqVpIVO;<8V-&dUBAOO%(}~#+Ojv-)ad)Tr?~awq53)Ul;;_G z9{X_-yz0T(gm~CJkNO?gZNmE95f|xmYpviV<}xBKwkzc6mwx(Fp7O#xpJARJPTi(( z=7Oq!{_dQbbwP~-`^5cky_#t@?iv=_BfG^;=GnwSM!Vsia6`Y8% zG`w2Yp55Ep(wdu4a-)){D#7msO+W#muwh8 i+Ql}$x##ShfryXIi1_e)`04F;`M7M@+gMw`h!tU&P@*RQZ; q@w-pmF+tSB@sElhNSp;I9&zVLQTi_LsI`;Y&x9W{Hky3E-T?s4zcB0o delta 45 ycmZo@U~Fh$+`ytBec{JSMg|~IU^pQEL7qhc#J(}#fZ@P=gN=?$dk+BGD-{m_ delta 45 ycmZo@U~Fh$+`ytBE%9?DBLfg9FdUHoAkU%zV&9l=z;Ix`!A8fW@{^C)+W-I|#toeS diff --git a/pg_data/base/16384/24813 b/pg_data/base/16384/24813 index e4dd53980a3a47783e98d87e8951fb5dc0bf2263..3adfa25690e0ee321c947b01326a5b59d8021d77 100644 GIT binary patch delta 130 zcmZo@U~Fh$+`yuseW3g(BLff^Ff_=2kY`Z04!b&^#A|> diff --git a/pg_data/base/16384/24814 b/pg_data/base/16384/24814 index a5918683ee93e0ee54f014515e88b3e84ebf4444..5da7b5becc71aa68fba27f7c6ee28c9738bea38a 100644 GIT binary patch delta 154 zcmZo@U~Fh$+`yus%~5fbkpTz{7!u?^$g?Pb*em86FiZgA3Ls7Z;u}DGV7|ddM^pJ2 p4h9K^`CE#Uo7`MZZ`nQbpVN!$k{~_oIK)|Th_hf3pM1dH0RY>9Hy8i_ delta 45 ycmZo@U~Fh$+`ytBz2N6cMg|~IU^pQEL7qhc#J(}#fZ@P=gN=?$3v{w)u!e1w-hHgxw)L)vU}z~rx({H1)r|p`FvK30yD2? zaB!$Azptx{XQ(d&!!Mu{xcviM{o2bupI!9H>0sO2`4{`2%O8ZAd&2zo8-bTh^$bu3 z!*w)=Frhi5PGCn7=Q01=vsb@9V0-o65p;)$rsNjqSZ7?qemNsuiiT{`G&m)06rlgp#T5? delta 43 vcmZo@U~Fh$+`ytB8u51}BLfh~Fx-&;AkU%zV&B-TsL(AxF~DN-9eWi34G9dA diff --git a/pg_data/base/16384/24849 b/pg_data/base/16384/24849 index 248d9664dba242b68b0b74aa8c75afecddd2b53c..223ed55d95c9013f7d1d73cd73b0debda5754d05 100644 GIT binary patch delta 94 zcmZo@U~Fh$+`ytB|KQ|NMg|~IVOSymL7qhc#6B?JfMEp?-hOOhBLfh~Fg%d|AkU%zVn5idsIXXmVt~fvC-yP`3+W7$ diff --git a/pg_data/global/pg_control b/pg_data/global/pg_control index 23cf07308b872b02eb5dd024935a57ac2fb7867f..d0a17a2c93109ebc2cefb2d3c7cc428f754f8e54 100644 GIT binary patch delta 86 zcmZp0XmFSyq3M?Hn8^SH4|tC;g6I`c8pMHNkoeb$j_QIi#UKF?_&Tw2Ig8)nO^-Gk MGM<;4?7+wi0MA|$Gynhq delta 86 zcmZp0XmFSyq4_Mp^8BQAaGz}<#Lw)tUkLo N8#11ko9w{I3jiyF69fPN diff --git a/pg_data/pg_wal/000000010000000000000001 b/pg_data/pg_wal/000000010000000000000001 index 17970046638b044f027462d40ffd7ccccf8db184..bb30d23c05d9ee18bacc32b43b643c3238ad7d62 100644 GIT binary patch delta 457962 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 z2_YdQgoKa~5<)^q2nit}B!q;J5E4Q{NC*ibAtZ!^kPs3=LP!V+At5A$gpd#tLPAIg z2_YdQgoKa~5<)^q2nit}B!q;J5E4Q{NC*ibAtZ!^kPs3=LP!V+At5A$gpd#tLPAIg z2_YdQgoKa~5<)^q2nit}B!q;J5E4Q{NC*ibAtZ!^kPs3=LP!V+At5A$gpd#tLPAIg z2_YdQgoKa~5<)^q2nit}B!q;J5E4Q{NC*ibAtZ!^kPs3=LP!V+At5A$gpd#tLPAIg z2_YdQgoKa~5<)^q2nit}B!q;J5E4Q{NC*ibAtZ!^kPs3=LP!V+At5A$gpd#tLPAIg z2_YdQgoKa~5<)^q2nit}B!q;J5E4Q{NC*ibAtZ!^kPs3=LP!V+At5A$gpd#tLPAIg z2_YdQgoKa~5<)^q2nit}B!q;J5E4Q{NC*ibAtZ!^kPs3=LP!V+At5A$gpd#tLPAIg z2_YdQgoKa~5<)^q2nit}B!q;J5E4Q{NC*ibAtZ!^kPs3=LP!V+At5A$gpd#tLPAIg z2_YdQgoKa~5<)^q2nit}B!q;J5E4Q{NC*ibAtZ!^kPs3=LP!V+At5A$gpd#tLPAIg z2_YdQgoKa~5<)^q2nit}B!q;J5E4Q{NC*ibAtZ!^kPs3=LP!V+At5A$gpd#tLPAIg z2_YdQgoKa~5<)^q2nit}B!q;J5E4Q{NC*ibAtZ!^kPs3=LP!V+At5A$gpd#tLPAIg z2_YdQgoKa~5<)^q2nit}B!q;J5E4Q{NC*ibAtZ!^kPs3=LP!V+At5A$gpd#tLPAIg z2_YdQgoKa~5<)^q2nit}B!q;J5E4Q{NC*ibAtZ!^kPs3=LP!V+At5A$gpd#tLPAIg z2_YdQgoKa~5<)^q2nit}B!q;J5E4Q{NC*ibAtZ!^kPs3=LP!V+At5A$gpd#tLPAIg z2_YdQgoKa~5<)^q2nit}B!q;J5E4Q{NC*ibAtZ!^kPs3=LP!V+At5A$gpd#tLPAIg z2_YdQgoKa~5<)^q2nit}B!q;J5E4Q{NC*ibAtZ!^kPs3=LP!V+At5A$gpd#tLPAIg z2_YdQgoKa~5<)^q2nit}B!q;J5E4Q{NC*ibAtZ!^kPs3=LP!V+At5A$gpd#tLPAIg z2_YdQgoKa~5<)^q2nit}B!q;J5E4Q{NC*ibAtZ!^kPs3=LP!V+At5A$gpd#tLPAIg z2_YdQgoKa~5<)^q2nit}B!q;J5E4Q{NC*ibAtZ!^kPs3=LP!V+At5A$gpd#tLPAIg z2_YdQgoKa~5<)^q2nit}B!q;J5E4Q{NC*ibAtZ!^kPs3=LP!V+At5A$gpd#tLPAIg z2_YdQgoKa~5<)^q2nit}B!q;J5E4Q{NC*ibAtZ!^kPs3=LP!V+At5A$gpd#tLPAIg z2_YdQgoKa~5<)^q2nit}B!q;J5E4Q{NC*ibAtZ!^kPs3=LP!V+At5A$gpd#tLPAIg z2_YdQgoKa~5<)^q2nit}B!q;J5E4Q{NC*ibAtZ!^kPs3=LP!V+At5A$gpd#tLPAIg z2_YdQgoKa~5<)^q2nit}B!q;J5E4Q{NC*ibAtZ!^kPs3=LP!V+At5A$gpd#tLPAIg z2_YdQgoKa~5<)^q2nit}B!q;J5E4Q{NC*ibAtZ!^kPs3=LP!V+At5A$gpd#tLPAIg z2_YdQgoKa~5<)^q2nit}B!q;J5E4Q{NC*ibAtZ!^kPs3=LP!V+At5A$gpd#tLPAIg z2_YdQgoKa~5<)^q2nit}B!q;J5E4Q{NC*ibAtZ!^kPs3=LP!V+At5A$gpd#tLPAIg z2_YdQgoKa~5<)^q2nit}B!q;J5E4Q{NC*ibAtZ!^kPs3=LP!V+At5A$gpd#tLPAIg z2_YdQgoKa~5<)^q2nit}B!q;J5E4Q{NC*ibAtZ!^kPs3=LP!V+At5A$gpd#tLPAIg z2_YdQgoKa~5<)^q2nit}B!q;J5E4Q{NC*ibAtZ!^kPs3=LP!V+At5A$gpd#tLPAIg z2_YdQgoKa~5<)^q2nit}B!q;J5E4Q{NC*ibAtZ!^kPs3=LP!V+At5A$gpd#tLPAIg z2_YdQgoKa~5<)^q2nit}B!q;J5E4Q{NC*ibAtZ!^kPs3=LP!V+At5A$gpd#tLPAIg z2_YdQgoKa~5<)^q2nit}B!q;J5E4Q{NC*ibAtZ!^kPs3=LP!V+At5A$gpd#tLPAIg z2_YdQgoKa~5<)^q2nit}B!q;J5E4Q{NC*ibAtZ!^kPs3=LP!V+At5A$gpd#tLPAIg z2_YdQgoKa~5<)^q2nit}B!q;J5E4Q{NC*ibAtZ!^kPs3=LP!V+At5A$gpd#tLPAIg z2_YdQgoKa~5<)^q2nit}B!q;J5E4Q{NC*ibAtZ!^kPs3=LP!V+At5A$gpd#tLPAIg z2_YdQgoKa~5<)^q2nit}B!q;J5E4Q{NC*ibAtZ!^kPs3=LP!V+At5A$gpd#tLPAIg z2_YdQgoKa~5<)^q2nit}B!q;J5E4Q{NC*ibAtZ!^kPs3=LP!V+At5A$gpd#tLPAIg z2_YdQgoKa~5<)^q2nit}B!q;J5E4Q{NC*ibAtZ!^kPs3=LP!V+At5A$gpd#tLPAIg z2_YdQgoKa~5<)^q2nit}B!q;J5E4Q{NC*ibAtZ!^kPs3=LP!V+At5A$gpd#tLPAIg z2_YdQgoKa~5<)^q2nit}B!q;J5E4Q{NC*ibAtZ!^kPs3=LP!V+At5A$gpd#tLPAIg z2_YdQgoKa~5<)^q2nit}B!q;J5E4Q{NC*ibAtZ!^kPs3=LP!V+At5A$gpd#tLPAIg z2_YdQgoKa~5<)^q2nit}B!q;J5E4Q{NC*ibAtZ!^kPs3=LP!V+At5A$gpd#tLPAIg z2_YdQgoKa~5<)^q2nit}B!q;J5E4Q{NC*ibAtZ!^kPs3=LP!V+At5A$gpd#tLPAIg z2_YdQgoKa~5<)^q2nit}B!q;J5E4Q{NC*ibAtZ!^kPs3=LP!V+At5A$gpd#tLPALR MM|cX?6cni9CXNGM;vv`aivZ;>6FvXIP0AAF1YBD%dWWUn(J=3>6S9(ZoA{I zd+vMSp+_Ej;;Cnzd*P)Due?_2jkjXndGCXdKKbm6ufF;2ho6