From 171b9973b465dd76d910f38410aff0ca37a4aed1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=B0=A2=E6=80=9D?= Date: Fri, 19 Sep 2025 14:11:23 +0800 Subject: [PATCH] =?UTF-8?q?=E4=B8=8A=E7=BA=BFactions=E6=B5=81=E6=B0=B4?= =?UTF-8?q?=E7=BA=BF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/common/DateUtil.js | 21 +++ src/forge/DevOps/cardList/api.js | 65 +++++++ src/forge/DevOps/cardList/fetch.js | 7 + src/forge/DevOps/cardList/index.jsx | 178 ++++++++++++++++++ src/forge/DevOps/cardList/index.scss | 245 +++++++++++++++++++++++++ src/forge/DevOps/cardList/newModal.jsx | 183 ++++++++++++++++++ src/forge/Main/Detail.js | 12 ++ src/forge/Main/sub/DetailBanner.jsx | 31 +++- src/forge/Settings/Setting.js | 2 +- src/images/devOps/delete.png | Bin 0 -> 494 bytes src/images/devOps/edit.png | Bin 0 -> 483 bytes src/images/devOps/modal-back.png | Bin 0 -> 11302 bytes src/images/devOps/start.png | Bin 0 -> 698 bytes src/images/devOps/template.png | Bin 0 -> 55073 bytes 14 files changed, 735 insertions(+), 9 deletions(-) create mode 100644 src/forge/DevOps/cardList/api.js create mode 100644 src/forge/DevOps/cardList/fetch.js create mode 100644 src/forge/DevOps/cardList/index.jsx create mode 100644 src/forge/DevOps/cardList/index.scss create mode 100644 src/forge/DevOps/cardList/newModal.jsx create mode 100644 src/images/devOps/delete.png create mode 100644 src/images/devOps/edit.png create mode 100644 src/images/devOps/modal-back.png create mode 100644 src/images/devOps/start.png create mode 100644 src/images/devOps/template.png diff --git a/src/common/DateUtil.js b/src/common/DateUtil.js index 4808ae5a9..72f8fc3e6 100644 --- a/src/common/DateUtil.js +++ b/src/common/DateUtil.js @@ -135,4 +135,25 @@ export function timeAgo(backDate) { // return seconds + "秒前"; // } return "刚刚"; +} + +// seconds: 秒数,返回格式为 xxhxxmxxs 的字符串 +export function secondsToTimeFormat(seconds) { + const hours = Math.floor(seconds / 3600); // 计算小时数 + const minutes = Math.floor((seconds % 3600) / 60); // 计算分钟数 + const remainingSeconds = seconds % 60; // 计算剩余秒数 + + let result = ""; + + if (hours > 0) { + result += `${hours}h`; + } + if (minutes > 0) { + result += `${minutes}m`; + } + if (remainingSeconds > 0 || result === "") { + result += `${remainingSeconds}s`; + } + + return result; } \ No newline at end of file diff --git a/src/forge/DevOps/cardList/api.js b/src/forge/DevOps/cardList/api.js new file mode 100644 index 000000000..7dce8c03c --- /dev/null +++ b/src/forge/DevOps/cardList/api.js @@ -0,0 +1,65 @@ +import fetch from './fetch'; +export function addPipelines(owner, repo, data) { + return fetch({ + url:`/v1/${ owner }/${ repo }/pipelines`, + method: 'POST', + data + }) +} + +export function getCardList(owner, repo, params) { + return fetch({ + url:`/v1/${ owner }/${ repo }/pipelines`, + method: 'get', + params + }) +} + +export function getTemplateList() { + return fetch({ + url:`/action/templates.json`, + method: 'get', + }) +} + +export function getProjectBranch(owner, repo) { + return fetch({ + url:`/${ owner }/${ repo }/branches.json`, + method: 'GET', + }) +} + +export function runPipeline(owner, repo, params) { + return fetch({ + url:`/v1/${ owner }/${ repo }/actions/runs.json`, + method: 'post', + data: params + }) +} + +export function delPipelines(owner, repo, id) { + return fetch({ + url:`/v1/${ owner }/${ repo }/pipelines/${ id }.json`, + method: 'DELETE', + }) +} + +export function stopPipelines(owner, repo, params) { + return fetch({ + url:`/v1/${ owner }/${ repo }/actions/disable.json`, + method: 'POST', + data: params + }) +} + +export function startPipelines(owner, repo, params) { + return fetch({ + url:`/v1/${ owner }/${ repo }/actions/enable.json`, + method: 'POST', + data: params + }) +} + + + + diff --git a/src/forge/DevOps/cardList/fetch.js b/src/forge/DevOps/cardList/fetch.js new file mode 100644 index 000000000..babbe58fe --- /dev/null +++ b/src/forge/DevOps/cardList/fetch.js @@ -0,0 +1,7 @@ +import javaFetch from '../../javaFetch'; + +// let settings = JSON.parse(localStorage.chromesetting); + +const service = javaFetch('/api'); +export default service; +export const TokenKey = 'autologin_trustie'; \ No newline at end of file diff --git a/src/forge/DevOps/cardList/index.jsx b/src/forge/DevOps/cardList/index.jsx new file mode 100644 index 000000000..e14bb2172 --- /dev/null +++ b/src/forge/DevOps/cardList/index.jsx @@ -0,0 +1,178 @@ +import { message, Popover, Button, Divider, Switch, Modal, Pagination } from "antd"; +import React, { useEffect, useState } from "react"; +import './index.scss'; +import { secondsToTimeFormat, timeAgo } from "../../../common/DateUtil"; +import { runPipeline, delPipelines, stopPipelines, startPipelines, getCardList } from './api' +import Nodata from "../../Nodata"; +import New from "./newModal"; + +const { confirm } = Modal; + +function CardDevops(props) { + const { project, match } = props || {}; + const {owner, projectsId} = match.params; + const [list, setList] = useState([]) + const [ visible , setVisible ] = useState(false); + const [ pageNum , setPageNum ] = useState(1); + const [ total , setTotal ] = useState(0); + const pageSize = 20; + + let settings = localStorage.chromesetting && JSON.parse(localStorage.chromesetting); + let pipelineUrl = settings && settings.common.pipeline; + + + useEffect(() => { + document.title = `流水线-${owner}/${projectsId}`; + }, []) + + useEffect(()=>{ + getList(); + const intervalId = setInterval(() => { + getList(); + }, 10000); + return () => clearInterval(intervalId); + }, [pageNum]) + + function getList(){ + getCardList(owner, projectsId, { limit: pageSize, page: pageNum }).then(res => { + if (res.status === 0) { + setList(res.pipelines.map(e => { + e.run_data = e.run_data || {} + return e + })) + setTotal(res.count) + } + }) + } + + // 删除流水线 + async function delPipelineFunc(id) { + confirm({ + title: '提示', + content: '确认删除该流水线?', + onOk() { + delPipelines( owner, projectsId, id).then(res => { + if(res && res.status === 0){ + message.success(`流水线删除成功!`); + getList(); + } + }) + }, + onCancel() { + }, + }); + + } + + // 手动运行流水线 + async function run (item) { + if (!item.file_name) { + message.warning('请先编辑流水线内容!') + return + } + runPipeline( owner, projectsId, { ref: item.branch, workflow: item.file_name.split('/').pop() }).then(res => { + if(res && res.status === 0) { + message.success('运行成功!') + getList(); + } + }) + } + + // 禁用/启用流水线 + async function stopPipelineFunc(id,status, fileName = undefined) { + if (!fileName) { + message.warning('请先编辑流水线内容!') + return + } + let res = !status ? await stopPipelines(owner, projectsId, { id, workflow: fileName.split('/').pop() }) : await startPipelines(owner, projectsId, { id, workflow: fileName.split('/').pop() }) + + if(res && res.status === 0){ + message.info(`流水线${ !status ? "禁用":"启用"}成功!`); + getList(); + } + } + + const listType = { + 1: '声明式', + 2: '图形化', + } + let toBeDesigned = -1 + + const statusEnum = { + 1: '成功', + 2: '失败', + 5: '等待', + 6: '运行中', + 0: '待启动', + [toBeDesigned]: '待设计' + } + + return
+ setVisible(false)} + onOk={()=>{setVisible(false);getList()}} + /> + +
+ {list && list.map(e=>{ + if (!e.run_data.status && e.run_data.status !== 0) { + e.run_data.status = (!e.json && !e.yaml) ? -1 : 0 + } + return
+
+
+
{ + // window.location.href = `${mygetHelmetapi && mygetHelmetapi.common.zone}/${owner}/pipeline/${e.id}` + window.open(`${ pipelineUrl }/devops/${owner}/${projectsId}/${e.id}`) + }}> +
+
{listType[e.pipeline_type]}
+ {e.pipeline_name} +
+
+

+

+ {statusEnum[+e.run_data.status] || ((!e.json && !e.yaml) ? "待设计" : "待启动")} + {!!e.run_data.total && #{e.run_data.total}    {timeAgo(e.run_data.stopped)} 执行时长{secondsToTimeFormat(e.run_data.length)}} +

+

分支:{e.branch}

+
{e.run_data.schedule && 定时}历史共执行{e.run_data.total || 0}次(成功{e.run_data.success || 0}次,失败{e.run_data.failure || 0}次)
+
+
+ +
+
+ run(e) }/> + window.open(`${ pipelineUrl }/devops/${owner}/${projectsId}/${e.id}/edit`) }/> + delPipelineFunc(e.id) }/> +
+
+
+ stopPipelineFunc(e.id, e.disable, e.file_name)} /> + { e.disable? '禁用' : '启用' } +
+
+
+
+
+ })} + {list && !list.length &&
} +
+ { + total > pageSize && +
+ +
+ } +
+} + +export default CardDevops \ No newline at end of file diff --git a/src/forge/DevOps/cardList/index.scss b/src/forge/DevOps/cardList/index.scss new file mode 100644 index 000000000..3c06a7502 --- /dev/null +++ b/src/forge/DevOps/cardList/index.scss @@ -0,0 +1,245 @@ +.cardList { + margin: 30px auto; + width: 1200px; + padding-bottom: 50px; + display: flex; + flex-direction: column; + .ant-btn-primary { + margin-left: auto; + } + .listData { + display: flex; + flex-wrap: wrap; + } + .card { + width: 333px; + border-radius: 6px; + margin-right: 31px; + margin-bottom: 25px; + padding: 0 1px 1px 1px; + display: flex; + flex-direction: column; + cursor: pointer; + &:hover{ + box-shadow: 0px 0px 15px 1px rgba(109,130,170,0.44); + } + .statusBar{ + height: 6px; + margin: 0 4px; + } + .cardContent { + flex-grow: 2; + background: #FFFFFF; + border-radius: 6px 6px 6px 6px; + padding: 15px 17px 20px; + box-sizing: border-box; + .cartHead { + display: flex; + align-items: center; + div { + width: 57px; + height: 21px; + border-radius: 4px 4px 4px 4px; + border: 1px solid $primary-color; + font-size: 13px; + color: $primary-color; + line-height: 21px; + text-align: center; + margin-right: 11px; + } + .f36{ + color: #F3651C; + border-color: #F3651C; + } + span { + font-family: 'alibaba-medium'; + font-size: 16px; + color: #1E1E1E; + } + } + .cardBody { + margin-top: 12px; + height: 133px; + background: #d4dff13d; + border-radius: 6px; + padding: 20px 15px; + display: flex; + flex-direction: column; + justify-content: space-between; + font-size: 14px; + color: #082340; + box-sizing: border-box; + p { + display: flex; + align-items: baseline; + line-height: 1; + } + div { + line-height: 22px; + } + .statusIcon { + width: 4px; + height: 12px; + border-radius: 6px 6px 6px 6px; + margin-right: 12px; + } + } + .cartBottom { + display: flex; + align-items: center; + .leftButton { + img { + width: 26px; + margin-right: 20px; + cursor: pointer; + } + } + .rightButton { + margin-left: auto; + font-size: 14px; + color: $primary-color; + .status-switch { + display: flex; + align-items: center; + justify-content: center; + button { + margin-right: 10px; + } + .ant-switch-checked { + background: #07A35A; + &:hover { + background: #07A35A !important; + } + } + } + } + } + } + .scheduleBox{ + border-radius: 4px; + border: 1px solid #F3651C; + color: #F3651C; + padding: 3px 4px; + } + } + .statusIcon, .card, .statusBar{ + background: #979797; + } + .developStatus2.statusIcon, .card.developStatus2, .developStatus2 .statusBar{ + background: #EC6E66; + } + .developStatus1.statusIcon, .card.developStatus1, .developStatus1 .statusBar{ + background: #07A35A; + } + .developStatus5.statusIcon, .card.developStatus5, .developStatus5 .statusBar{ + background: #979797; + } + .developStatus6.statusIcon, .card.developStatus6, .developStatus6 .statusBar{ + background: #2D74FB; + } + .card.developStatus6 .statusBar { + background-image: repeating-linear-gradient(115deg, #ffffff63 0, #2D74FB 1px, #2D74FB 10px, #ffffff63 11px, #ffffff63 20px); + animation: 3s linear 0s infinite normal none running workflow-running; + } +} + +@keyframes workflow-running{ + 0% { + background-position-x: -53.5px; + } + 100% { + background-position-x: 0; + } +} + +.templateContainer { + height: 380px; + overflow-y: auto; +} +.template{ + padding: 15px 18px; + background-size: 100% 100%; + background-image: url('../../../images/devOps/template.png'); + border-radius: 4px; + border: 1px solid rgba(158,169,185,0.23); + margin-bottom: 15px; + font-size: 16px; + cursor: pointer; + &:hover{ + border-color: #0d5ef8; + } + .nodes { + display: flex; + align-items: center; + flex-wrap: wrap; + font-size: 14px; + } + .node{ + padding: 1px 12px; + background: rgba(70,106,255,0.05); + border-radius: 4px; + display: inline-block; + } +} +.templateSelected { + border-color: #0d5ef8; +} +.themeColorSpan { + color: #0d5ef8; +} + +.format-style{ + div[class~="ant-modal-title"]{ + font-size: 18px; + color: #0d0f12; + } + div[class~='ant-modal-content']{ + position: relative; + &::before{ + position: absolute; + top: 0px; + width: 100%; + height: 120px; + left: 0px; + content: ""; + z-index: 1; + border-radius: 9px; + background: linear-gradient(179.62deg,#c0ceff 0%,rgba(214, 233, 255, 0.78) 49.37%,#fbfcff 92%,#fff 100%); + } + &::after{ + position: absolute; + top: 30px; + width: 180px; + height: 140px; + content: ""; + left: 55px; + z-index: 2; + background-image: url('../../../images/devOps/modal-back.png'); + } + div[class~="ant-modal-body"]{ + min-height: 100px; + position: relative; + z-index: 3; + padding: 0 24px; + } + div[class~="ant-modal-header"]{ + text-align: center; + margin-bottom: 30px; + background-color: transparent; + position: relative; + z-index: 3; + border-bottom: unset; + } + div[class~="ant-modal-footer"]{ + border-top: unset; + } + } + div[class~='format-button']{ + text-align: center; + padding:20px 0; + button{ + width: 100px; + margin:0px 16px; + } + } +} diff --git a/src/forge/DevOps/cardList/newModal.jsx b/src/forge/DevOps/cardList/newModal.jsx new file mode 100644 index 000000000..186d9eaaa --- /dev/null +++ b/src/forge/DevOps/cardList/newModal.jsx @@ -0,0 +1,183 @@ +import React , { useState , useEffect } from 'react'; +import { getProjectBranch, addPipelines, getTemplateList } from './api'; +import './index.scss'; +import { Modal , Form , Input, Select , Button, Divider } from 'antd'; + +const modalList = [ + { + name: '空白模板', + id: -1, + nodes: [{ name: '请自定义您的流水线模板' }] + }, +] + +const pipType = { + all: 0, + code: 1, + image: 2 +} + +const { Option } = Select; + + +const New =({ + open,onCancel,form,match, onOk +}) => { + + const { getFieldDecorator } = form; + const {owner, projectsId} = match.params; + // const [ loading, setLoading ] = useState(false); + const [ pipelineType, setPipelineType ] = useState(pipType.code); + const [ branchList, setBranchList] = useState([]); + const [ templateList, setTemplateList ] = useState([]); + const [ templateSelected, setTemplateSelected ] = useState(-1); + + let settings = JSON.parse(localStorage.chromesetting); + let pipelineUrl = settings && settings.common.pipeline; + + useEffect(() => { + if(open){ + getTemplates(); + getBranchList() + } + }, [open]); + + function getTemplates(){ + // 获取流水线模板列表 + getTemplateList().then(res=>{ + + if(res.templates){ + res.templates.map((item)=>{ + return item.nodes = JSON.parse(item.json).nodes + }) + setTemplateList(modalList.concat(res.templates)); + } + }) + } + + function getBranchList () { + getProjectBranch(owner, projectsId).then(res => { + setBranchList(res) + }) + } + + async function onSubmit() { + await form.validateFields(); + const { branch , pipeline_name, pipeline_type } = form.getFieldsValue(); + const params = { + branch,pipeline_name, pipeline_type + } + if (pipelineType === pipType.image) params.pipelineTemplateJson = templateSelected !== -1 ? getTemplateJson(templateSelected) : {nodes: [], edges: [], combos: []} + addPipelines(owner, projectsId, params).then(res=>{ + if(res.id){ + form.resetFields(); + onOk() + window.open(`${ pipelineUrl }/devops/${owner}/${projectsId}/${res.id}/edit`) + } + }) + } + + const getTemplateJson = (id) => { + let json = {} + for (let i = 0; i < templateList.length; i++) { + const element = templateList[i]; + if (element.id === id) json = JSON.parse(element.json) + } + return json + } + + function close() { + form.resetFields(); + onCancel(); + } + + return( + + + + + } + > +
+ + + {getFieldDecorator("pipeline_name",{ + rules:[{ required: true, message: '请输入流水线名称' }] + })( + + )} + + + {getFieldDecorator("branch",{ + rules: [{ required: true, message: '请选择代码库分支' }] + })( + + )} + + + {getFieldDecorator("pipeline_type",{ + rules: [{ required: true, message: '请选择流水线类型' }] + })( + + )} + + { + pipelineType === pipType.image && + +
+ { + templateList.map(e => { + console.log('e.nodes', e.nodes); + + return
{ + setTemplateSelected(e.id) + }}> + {e.name} +
+ {e.nodes && e.nodes.map((item, index)=>{ + const nextItem = e.nodes[index+1] + return + {item.name} + {nextItem && } + + })} +
+
+ }) + } +
+
+ } + +
+ ) +} +export default Form.create()(New) \ No newline at end of file diff --git a/src/forge/Main/Detail.js b/src/forge/Main/Detail.js index ce033477c..1c29f5842 100644 --- a/src/forge/Main/Detail.js +++ b/src/forge/Main/Detail.js @@ -151,6 +151,10 @@ const Review = Loadable({ loader: () => import('../Newfile/codeReview'), loading: Loading, }); +const DevopsCard = Loadable({ + loader: () => import('../DevOps/cardList'), + loading: Loading, +}); /** * permission:Manager:管理员,Reporter:报告人员(只有读取权限),Developer:开发人员(除不能设置仓库信息外) */ @@ -176,6 +180,8 @@ function checkPathname(projectsId, owner, pathname) { name = "dataset" } else if (url.indexOf(`/devops`) > -1) { name = "devops" + } else if (url.indexOf(`/actions`) > -1) { + name = "devops" } else if (url.indexOf(`/source`) > -1) { name = "source" } else if (url.indexOf(`/wiki`) > -1) { @@ -839,6 +845,12 @@ class Detail extends Component { () => () } > + {/* 流水线 */} + () + } + > {/* 标签列表 */} {/* - {/* */} - - 引擎(Engine) - {projectDetail && projectDetail.ops_count ? {projectDetail.ops_count} : ""} - - + + + + 引擎(Engine) + {projectDetail && projectDetail.ops_count ? {projectDetail.ops_count} : ""} + + + + + 引擎(Actions) + + + + }> +
  • e.preventDefault()}> + + + 流水线(devops) + +
  • +
    :"" } { diff --git a/src/forge/Settings/Setting.js b/src/forge/Settings/Setting.js index 544ac6521..ef3c7c95b 100644 --- a/src/forge/Settings/Setting.js +++ b/src/forge/Settings/Setting.js @@ -17,7 +17,7 @@ const menu = [ {name:"代码库",index:"code"}, {name:"疑修 (Issue)",index:"issues"}, {name:"合并请求 (PR)",index:"pulls"}, - {name:"引擎 (Engine)",index:"devops"}, + {name:"流水线 (Devops)",index:"devops"}, {name:"数据集",index:"dataset"}, // {name:"资源库",index:"resources"}, {name:"里程碑",index:"versions"}, diff --git a/src/images/devOps/delete.png b/src/images/devOps/delete.png new file mode 100644 index 0000000000000000000000000000000000000000..8845d164d812552d42db432fec3a6cdb3235bef3 GIT binary patch literal 494 zcmeAS@N?(olHy`uVBq!ia0vp^CLqkg3?x4-dwml~F%}28J29*~C-V}>=?d@(aRt&K z(9jSX8tUNC;1Js25?byM(BK~0U>jQL99iWMQQ;a@!r7ax0vpfQo^#l|We_0;&Y+1u}r*EhOl<8P+!NB$GqQ8?ifZZ`7OdN_dH?wfm+n1y`t1FOUw;-$ zF7pR!yy@xU7~*mK?X;VGO$Gw4ue+kIbUor)^nlIk|Nm;fr4s~v=DG=2Jg|wC^1GEe z*-!Gf^tG5oNee{{r(LQG94@4H6{#CV$P05_W9Z^twxH{Yp@cxOre#9QSY}1dn~;+C>fLHP8P+%Y%vC=yO)b~JKjl@j z)s`UbtwGvXRn{8zr@l(Ob$N;8fvvNTavx}_(7k;+u@d)qCLCKr#E2lpF%gU2r%u=*_S0Yb=9*A%4=@v zxj&niRP$xgMawl&%AKDlh_BC@yr}q5{KAi`>+b*4{1F$j)l9@Zz;1KE{EL2F^|F_Z zXHGZafA8p4x{KTQ>kG-fN~RyrcgxNwQ9G;u{xAQIAdCMR_SRc~fy&_N>gTe~DWM4f DoA=EE literal 0 HcmV?d00001 diff --git a/src/images/devOps/modal-back.png b/src/images/devOps/modal-back.png new file mode 100644 index 0000000000000000000000000000000000000000..409116835f6dcd44f0ad510967cd316f4dc58b0d GIT binary patch literal 11302 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 literal 0 HcmV?d00001 diff --git a/src/images/devOps/start.png b/src/images/devOps/start.png new file mode 100644 index 0000000000000000000000000000000000000000..e5a41c72b38d76198d2190e9530baf10e7f3c1de GIT binary patch literal 698 zcmeAS@N?(olHy`uVBq!ia0vp^CLqkg3?x4-dwml~F%}28J29*~C-V}>2@LQFaRt&2 z0Syij6|PZLE)f;Zk(EH?6jkL6zIT9oSk%fprWFaCTDVX{`W8SMkL#0ZB z{DK(-6bu{!;uG=<>Kpne%wMp6!~O&3FWi6d{)6?@f@Q@DHX71h4Xx2uv)E^E=;eIaS(-W-v>+~c`hu4}p) z&H8CK+3MxlS2Nb#vamTXxP9ZJo#)PMTzxv>S-;++w_=Y27~5UqpFcCc@-O00LBV>1 z!)+FM7Yby7wEP_B!#2E3tS4=Iz2@&^Y2{ziw3LmdA$F#f)5n&b$ELb;8gp2l{n%M1 zuu6LK&3SV*geFWbo4TmwbpO)tSq{FO8ye?*PWE&B!crs^TPhpA?ee9tdESL=xmTQJ zd;1G6ikN;-2n=wvQc&5G#p$yq@`6|n)3;2HsC)OawSx7)oGAB#$wW1HlmYx^AfH0$QGKF=j>6Mx0ZWf>gk2dwVxSkzF%qB zxxQ2`c>T(PGaJ?J$Q@>{RQj=b)x`wUDf-)#E6&F()pcZTdT(_0_@i6G_gycZGBxy` znOl71;&q-fnfXmIrXft(D~{yK9}DdX__KFff9WNqsc$5jelQ=H;mM{gdEEe*L>N3> L{an^LB{Ts5@MJC= literal 0 HcmV?d00001 diff --git a/src/images/devOps/template.png b/src/images/devOps/template.png new file mode 100644 index 0000000000000000000000000000000000000000..3877e1b649bd17ab1cfb7a61e3a3dd57f2e2a484 GIT binary patch literal 55073 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 literal 0 HcmV?d00001