From fd48655e038e76e17190b4ffe2444bc8e62798ce Mon Sep 17 00:00:00 2001
From: wuhui_zzw <1760308791@qq.com>
Date: Tue, 18 Jun 2024 16:59:10 +0800
Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=EF=BC=9A=E9=85=8D=E9=80=81?=
=?UTF-8?q?=E5=95=86=20-=20=E7=BC=B4=E8=B4=B9=E8=AE=B0=E5=BD=95=E6=9F=A5?=
=?UTF-8?q?=E7=9C=8B=E5=8F=8A=E5=88=86=E9=85=8D?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
api/agent.js | 8 +
pages/agent/delivery/mer_list.vue | 68 +++++-
pages/agent/delivery/payment_record.vue | 308 +++++++++++++++++++++---
static/images/mer_avatar.png | Bin 0 -> 6971 bytes
4 files changed, 348 insertions(+), 36 deletions(-)
create mode 100644 static/images/mer_avatar.png
diff --git a/api/agent.js b/api/agent.js
index 9871537..f2e9e68 100644
--- a/api/agent.js
+++ b/api/agent.js
@@ -58,10 +58,18 @@ export function deliveryPaymentList(data) {
export function deliveryCreateOrder(data) {
return request.post(`agent/delivery/create_order`, data);
}
+// 配送商 - 缴费记录
+export function deliveryPaymentRecord(data) {
+ return request.get(`agent/delivery/payment_record`, data);
+}
// 配送商 - 获取相关商户列表
export function deliveryMerList(data) {
return request.get(`agent/delivery/mer_list`, data);
}
+// 配送商 - 分配缴费记录
+export function deliveryAllocationOrder(data) {
+ return request.post(`agent/delivery/allocation_order`, data);
+}
diff --git a/pages/agent/delivery/mer_list.vue b/pages/agent/delivery/mer_list.vue
index 85f5814..2da6918 100644
--- a/pages/agent/delivery/mer_list.vue
+++ b/pages/agent/delivery/mer_list.vue
@@ -3,7 +3,7 @@
-
+
@@ -15,10 +15,9 @@
联系电话:{{ item.mer_phone || '' }}
-
+
+ 选中
+
@@ -33,7 +32,7 @@
import {mapGetters} from "vuex";
import emptyPage from '@/components/emptyPage.vue';
import authorize from '@/components/Authorize';
-import {deliveryMerList} from "../../../api/agent";
+import {deliveryMerList, deliveryAllocationOrder} from "@/api/agent";
export default {
components: {
@@ -54,11 +53,25 @@ export default {
page: 1,
agent_id: 0,
search_text: '',
+ // 分配缴费订单
+ agent_delivery_id: '',
+ }
+ },
+ watch: {
+ search_text: {
+ handler() {
+ this.page = 1;
+ this.list = [];
+
+ this.getList();
+ },
+ immediate: true
}
},
onLoad(options) {
let _this = this;
_this.agent_id = options.agent_id || 0;
+ _this.agent_delivery_id = options.agent_delivery_id || 0;
// 判断:agent_id <= 0 抛出错误,返回代理中心
if(Number(_this.agent_id) <= 0){
_this.$util.Tips({
@@ -96,7 +109,7 @@ export default {
init () {
this.getList();
},
- // 记录
+ // 信息获取
getList() {
let _this = this;
let params = {
@@ -116,6 +129,44 @@ export default {
this.$util.Tips({title: err});
});
},
+ // 配送商缴费分配 - 选中
+ allocation(mer_id){
+ let _this = this;
+ let config = {
+ content: '是否确认分配给当前商户,确认后订单赠送的相关额度会赠送给当前商户!',
+ confirmText: '选中',// 确认按钮文字
+ showCancel: true, // 是否显示取消按钮
+ cancelText: '取消', // 取消按钮文字
+ };
+ // 提示
+ _this.$util.tips(config, function () {
+ let params = {
+ mer_id: mer_id,
+ agent_id: _this.agent_id,
+ agent_delivery_id: _this.agent_delivery_id
+ };
+ deliveryAllocationOrder(params).then(res => {
+ if(Number(res.status) === 200){
+ _this.$util.tips({ content: '分配成功!'}, function () {
+ uni.navigateTo({
+ url: '/pages/agent/delivery/payment_record?agent_id=' + _this.agent_id
+ })
+ });
+ }else{
+ _this.$util.Tips({title: res.message});
+ }
+ }).catch(err => {
+ _this.$util.Tips({title: err});
+ });
+ });
+ },
+
+
+
+
+
+
+
}
}
@@ -139,6 +190,9 @@ export default {
line-height: 60rpx;
color: #ffffff;
}
+ .search-text::placeholder{
+ color: #ffffff!important;
+ }
}
.list-content{
diff --git a/pages/agent/delivery/payment_record.vue b/pages/agent/delivery/payment_record.vue
index 1da45e0..8f7b31e 100644
--- a/pages/agent/delivery/payment_record.vue
+++ b/pages/agent/delivery/payment_record.vue
@@ -1,16 +1,64 @@
-
-
-
- 资金缴费记录
-
-
+
+
+ 全部
+ 待付款
+ 待分配
+ 已完成
+
+
+
+
+
+
+ {{ item.store_order.order_sn || '' }}
+ 待付款
+ 待分配
+ 已完成
+
+
+
+
+ 购买品牌额度
+ +{{ item.title_quota || '0.00' }}
+
+
+ 其他品牌额度
+ +{{ item.other_quota || '0.00' }}
+
+
+ 绑定商户名称
+ {{ item.mer_id > 0 ? item.mer.mer_name : '未绑定' }}
+
+
+
+
+
+ 缴费金额:
+ ¥{{ item.price || '0.00' }}
+
+
+ 去支付
+ 去分配
+
+
+
+
+
-
+
+
+
@@ -18,11 +66,15 @@
import {mapGetters} from "vuex";
import emptyPage from '@/components/emptyPage.vue';
import authorize from '@/components/Authorize';
+import {deliveryPaymentRecord} from "../../../api/agent";
+import payment from '@/components/payment';
+import {getUserInfo} from "@/api/user";
export default {
components: {
authorize,
- emptyPage
+ emptyPage,
+ payment
},
computed: {
...mapGetters(['isLogin', 'uid', 'userInfo', 'viewColor'])
@@ -37,7 +89,36 @@ export default {
list: [],
page: 1,
agent_id: 0,
-
+ // 选项卡相关
+ tab_active: 'all',
+ // 支付相关
+ pay_list: [
+ {
+ name: "微信支付",
+ icon: "icon-weixinzhifu",
+ value: 'wechat',
+ title: '微信快捷支付',
+ payStatus: 1
+ },
+ {
+ name: "支付宝支付",
+ icon: "icon-zhifubao",
+ value: 'alipay',
+ title: '支付宝支付',
+ payStatus: this.$store.getters.globalData.alipay_open
+ },
+ {
+ name: "余额支付",
+ icon: "icon-yuezhifu",
+ value: 'balance',
+ title: '可用余额:',
+ number: 0,
+ payStatus: this.$store.getters.globalData.yue_pay_status
+ }
+ ],
+ pay_close: false,
+ pay_order_id: '',
+ totalPrice: 0,
}
},
onLoad(options) {
@@ -79,30 +160,61 @@ export default {
// 授权成功 初始化
init () {
this.getList();
+ getUserInfo().then(res => {
+ this.pay_list[2].number = res.data.now_money;
+ });
+ },
+ // 点击切换选项卡
+ changeTab(type){
+ this.page = 1;
+ this.list = [];
+ this.tab_active = type;
+ this.getList();
},
// 记录
getList() {
let _this = this;
-
- console.log("列表信息获取");
- // let params = {
- // page: _this.page,
- // pid: _this.agent_id
- // };
- // myAgentList(params).then(res => {
- // let list = res.data.list || {};
- // _this.total = res.data.count || 0;
- // if (Object.values(list).length > 0) {
- // _this.list = _this.$util.SplitArray(list, _this.list);
- // _this.$set(_this, 'list', _this.list);
- // _this.page++;
- // }
- // }).catch(err => {
- // this.$util.Tips({title: err});
- // });
+ let params = {
+ page: _this.page,
+ agent_id: _this.agent_id,
+ status: _this.tab_active === 'all' ? '' : Number(_this.tab_active),
+ };
+ deliveryPaymentRecord(params).then(res => {
+ let list = res.data.list || {};
+ _this.total = res.data.count || 0;
+ if (Object.values(list).length > 0) {
+ _this.list = _this.$util.SplitArray(list, _this.list);
+ _this.$set(_this, 'list', _this.list);
+ _this.page++;
+ }
+ }).catch(err => {
+ this.$util.Tips({title: err});
+ });
},
-
-
+ // 支付 - 发起支付
+ goPay(orderInfo) {
+ this.$set(this, 'pay_close', true);
+ this.order_id = orderInfo.group_order_id;
+ this.pay_order_id = orderInfo.group_order_id.toString()
+ this.$set(this, 'totalPrice', orderInfo.pay_price);
+ },
+ // 支付 - 事件回调
+ onChangeFun(e) {
+ let opt = e;
+ let action = opt.action || null;
+ let value = opt.value != undefined ? opt.value : null;
+ (action && this[action]) && this[action](value);
+ },
+ // 支付 - 关闭弹框
+ payClose() {
+ this.pay_close = false;
+ },
+ // 分配订单给商户
+ goAllocation(id){
+ uni.navigateTo({
+ url: '/pages/agent/delivery/mer_list?agent_id=' + this.agent_id + '&agent_delivery_id=' + id
+ })
+ }
@@ -114,11 +226,149 @@ export default {
.main-content {
width: 100vw;
min-height: 100vh!important;
- background: #f6f6f6;
+ background: #f6f6f6;// #f6f6f6
+ .tabs{
+ width: 100%;
+ background-color: #ffffff;
+ display: inline-flex;
+ flex-direction: row;
+ flex-wrap: nowrap;
+ justify-content: space-around;
+ align-items: center;
+ .tab{
+ height: 80rpx;
+ line-height: 80rpx;
+ font-size: 30rpx;
+ }
+ .tab-active{
+ position: relative;
+ color: #d60000;
+ }
+ .tab-active::after{
+ content: "";
+ position: absolute;
+ bottom: 0;
+ left: 0;
+ width: 100%;
+ height: 6rpx;
+ background-color: #d60000;
+ }
+ }
+ .list-content{
+ width: 100%;
+ padding: 0 20rpx 100rpx 20rpx;
+ .list-box{
+ width: 100%;
+ margin-top: 30rpx;
+ background-color: #ffffff;
+ border-radius: 20rpx;
+ .top-info{
+ width: 100%;
+ height: 80rpx;
+ padding: 0 20rpx;
+ display: inline-flex;
+ flex-direction: row;
+ flex-wrap: nowrap;
+ justify-content: space-between;
+ align-items: center;
+ .order-no{
+ color: #060606;
+ }
+ .status-text{
+ position: relative;
+ color: #060606;
+ height: 60rpx;
+ line-height: 60rpx;
+ }
+ .status-text:after{
+ content: "";
+ position: absolute;
+ left: -20rpx;
+ bottom: calc((60rpx - 10rpx) / 2);
+ width: 10rpx;
+ height: 10rpx;
+ border-radius: 50%;
+ background-color: #d60000;
+ }
+ }
+
+ .center-info{
+ width: 100%;
+ padding: 20rpx;
+ border-top: 2rpx solid #f7f7f7;
+ border-bottom: 2rpx solid #f7f7f7;
+
+ .info-box{
+ width: 100%;
+ height: 60rpx;
+ display: inline-flex;
+ flex-direction: row;
+ justify-content: flex-start;
+ flex-wrap: nowrap;
+ align-items: center;
+ .box-label{
+ color: #757b95;
+ width: 200rpx;
+ height: 60rpx;
+ line-height: 60rpx;
+ }
+ .box-content{
+ width: calc(100% - 200rpx);
+ height: 60rpx;
+ line-height: 60rpx;
+ color: #060606;
+ display: inline-flex;
+ flex-direction: row;
+ justify-content: flex-start;
+ flex-wrap: nowrap;
+ align-items: center;
+ }
+ }
+ }
+
+ .bottom-info{
+ width: 100%;
+ padding: 0 20rpx;
+ height: 80rpx;
+ display: inline-flex;
+ flex-direction: row;
+ flex-wrap: nowrap;
+ justify-content: space-between;
+ align-items: center;
+ .left{
+ display: inline-flex;
+ flex-direction: row;
+ align-items: center;
+ flex-wrap: nowrap;
+ justify-content: flex-start;
+ .left-title{
+ color: #070707;
+ font-size: 26rpx;
+ }
+ .price{
+ color: #d60104;
+ font-size: 30rpx;
+ }
+ }
+ .right{
+ .pay-btn{
+ background-color: #d60000;
+ color: #ffffff;
+ height: 50rpx;
+ line-height: 50rpx;
+ border-radius: 15rpx;
+ font-size: 26rpx;
+ padding:0 20rpx;
+ }
+ }
+
+ }
+ }
+ }
}
diff --git a/static/images/mer_avatar.png b/static/images/mer_avatar.png
new file mode 100644
index 0000000000000000000000000000000000000000..dbe0fcad43befb0147753a3696af76020e89c70b
GIT binary patch
literal 6971
zcmY*;XH=6-&^C&of)NoA4br4{q<4YPd+$|RNGQ@pny3T<(wp=uAV_c01w~3I21qEO
z_ZC_Z2=(Q8-}8Ns&yPKO?%AE$*>msA&R!Q>M@tz%0wf_IAONVUDCiLo+_3tm-MM)!
zkyoA9yzcJ4QZe-+Ah`eYpLQde>pl$u0T8RIAZPG;3OfURWw8>}vp+Y9+S!EkHJ3A6
zGh^O@zDL_-ido3>8&kYYPx=-oGFYc7*;hv^fsJb4)Ud7-%-Ya6dpF=clAxO5?8TVG
z949-_{rIMD?qiU=2LHa|fnv?hILg7erI^oUJGqV;`$uYR`&h8`yIHyS;kH-snbcL#
zkQXW!7X9aWqa#gR_mjW
z|8L-WzQs!q-G;mOzR&{SJ!CB){{JSvL)k$oB+1ne?|6
zCLP$o2l;|V-9r1Ze^*aZ{hZ3kA@nSZgilWZ@~=ygUl#l0#%SYn)XLQUBkz0fph6P;
z|Ai>sdeM#1eXIBc-G6tbqhZAkdegpRqJsUckzEOXlgs(HckHajDU8xOeuq{L
z)!tG%wcd7y|JB}M2Q^pksN_{kO`8;YEB-sm;BF`+=cX%BXN{w#%&1!Qs##K}*HF2e
zUNUfwnA=Qg$Cw6VtjlE+`UT9wOK
zFh3KJbuOQrAm7&6{4gj=sbo9!M}g2yWE`YdHf_qXa(v3t2qSH@6qA4PeNrF&Qx|yj
zjJN-ifoV9<98NUVDctm67Fs`DT1u>_yh1vm$U(=Jk6zYoalSpcWiRxp{@i1e7P@JC
zNbFZKWA8KVE{ttH)DFo){fVtt5moAtYm5FGH)4C2B4=o
zpz|C<5~J2dMOl!hLC6HFHAD9gFQ=&UEnX>Clv@?Fk`>75-zy96Jh8YF@(XfV2oWg^
z7CUH{KCFG{{n2kx0p$Pqb;gsBWgb9VSCbQj+2Bh91~TbdKbw6@^T=s?!*6@kny=5D
zUS_#+D`tFd{tq({GRpRYqKut?kUCa~WcDs188dbu?gJLRFMjIB1_4rNoDl-BBf
z3$~G8_;BYqTd>wx#H8HM%<^nxwacYa`lQfu6T!mdbS|j8^hYuRMiO8SJZXQVBnHsT
zRCPJ2srNN*zBUB%ofGZ%c#723Y-7vMtMRm5EqUgY6yZsiPDSGCXYT69aiRHayLPT2
zJcnl#$^0^1dMhWGX?E{5_
zMgCWKCXK!@AM2{FfKi#J;+<@GrxmsxqfWmvasQ|U>%AX{Rx
zg9OPOQu9l+S_k7h>GO9%zI|GOMwl%0Dc|P{kNqYA+T$?7&2R6)dnHedlq7*9uE!?j
zjb#$pHP@pwWh`7YRqFE^-`CZQ(cr6P^COd{ig#(^EaZUMrvj~o-KIm@J)X8dQp<~I
zC`~d>ndw7j=z_Isi+SCDIMvU%3eV+F)gf+g$5SH=z~7{#z7&RnSQH6C#KrP?&c$ZF
z=790ySy#ClzVit>$wE9%-OE1w=Ag6J!nq%If1HYzcgy;rxTRdB*~U&1*5HXi_d!p$
zY1TPwaS5TkZP~^Wx|y#~vXe^OA(pPL=e{M7`&N3n@VNPmHDZtH+I6AR1nfL5s3B0%
z&<7Dtd7mf7q9`JYiOX(`-zze4?1qo|S9Hq=uenKPO>wN{q-!U&j%Fh&uomU3U1afX
zkE!L#BmAmjgTm~LoRxBiI%jk~DzkWH4RcE7OmF_UPT9JKPYU0uQaNOXBZrP!JCcO;
zH42@7b?y2!2jVMRC`~53o!{wN)U^N6<6%$AHu9y9Oq~Bht@K{U(H_n$Q=~-SKWJX(
z2J*WZapJ^}VHWolu<)!+*o%VG^0aKv#hmT5CAFXTP6c6BtUym2of&fC^cU`A7Xx&7
z8&7Hy^XqV1I2#GRT1=Am{EqLJx61k*SIS%fI~<)-HDQN!thb{oeCFv<=KjiSL^;ne3Teks@pbxi3P3T?=U9rCP#WO(6m+ts5ivnzu
z?hg&VHcG7lj#l)3D;41VZ7SM=)UF%IyOv_}pI`KvBl!bjcu9H&vW`crm-4{tbCv62
z7Zh6epPuG00`CcWnT_s_iZ4`cP-IU^^im*gdVDU~ywyKFe-otCK+U^}QxH;^=qFN&
zwhe$23uaz%w2?ako?cf&*~>AgxU`fP*%ypCrd?vfmQyEqZ?fi>9))MhfaRO_gvN(I
zbm=
z02^4p&YOwS?)|zwEo6U3=plgR5yY=kt|8FkGR~eOutn0W-XXPgb9yYu+}*&Z813e#
zDrCShrX-XUtYzB{E8_z&KqY37rNXv-dWKm`xCIo62;$(2#CA-ewGo2cHoh8SW
zD{^jir`(Q3S7Ex(f>w+2DtJ446GZp}H^f|gan9a9^$nkRxJdF4i!%oiQhY)eqf9*Fk
z41BGnzblSbZIsEx93M*;;pM`$zgomheraQD^U?K9dA>#n;T)$qn8FeTIihRyjYG<(
zx12KkRuf4RBzDp1&@6vV+{y38Gr4f}gc&mbdHaKDVaf#zqIx!ODP~clOZ2K5BAQg@
z;Kl{k^jNdh8erPd1z8!Z9-fEVA=*SQ+mWQdIKAaP;N`tfvI1&^-iO7OE|fm=YspI$
zzC?_Ote*~-y8SpkOlSAI-uqkJgRFk&N<=cK
zs&TV>YF%hk^ndSK2jR_qOZS@>UFbZ{
z<2^Oez9r7)!95y6Nn)e|9X!JT$n*T4@3v1$-8}8^4u*a7dN$GW<&chg4ZiUvdZ?|&
ze$)BxPdofF>6cQgKhi7~?t;DwqimEJ27!4hOU51N^`&?DI_}l6p9bfyo2W*%x97go
z?B?N3;^ByZEq^>|dO2#AiC)ay{^Vk=c8TLLP5Jt^6k>24(FJzY1Ay)Eu1}AO9oX#I
zJfq;JgQXh=IKYb7P`ov`$hf)>MeHVF_@~ruym>fjPv^F^UZHXIm&Gu7Swo-FEsj$R
zF>+o(s4$o?P+u=?=(7c&qcluc(P&(3VTPoBxuG}Tgw&tc9}umO_EIPD
znd~s&!k5Xoz8U#s)QJ^@Ej$%?7MLMlURs*if%cK?SrhDA+8*MXNDcld8sKJ#cui`L
z*O;>#Db+JfHh`WY)<`)Y8&s)YrA_X
z&7M4>g42HX%EZN9C0M))?REYW9P7vc>^Cued@4RT4-2OK-BqP^$;Q+9AwNm!{(FbdTfVU);K%6foLK&4DP5wXAp><{
zTiX!&3^;9j2GS;t
z&&Ug&NV$0!Mb$>eaC(}BDiLK+g1_$lAyoj0v~zYlhmrWxL~uytt$%nHbPz6tuPBAA
zRHjhHy;%O0@tYhVTis1fX{~dRyrS@<`&ccV;9HlqCd~uDceO{F*RX_2l-YZ>L+Ly`
zncH_{9mv)Zv3H$eG3{O5k}XM-z2wn!RtL%Of^@OciZj%25boPMeatU`yuCVyrdOs{
z`gMTohYy{AJ^ze4X(+fvC9N?rT60vM0m!N6!o5_GSoa_T7D<_dI9&g!Yj)?qH}C%;
zBGb`ad|Bua+0mYqkZKbedbT;i_BUD0^u1TgfcEs4c?t+k$V}SRu!Xv(LT=be1ZyOm
z3pZ~LuXDhZKnxRU=ffsRl44Y>ja>`OG`&sE
z5q@{$=NhlW6VcdQ^t?xP+O#JlKDurfzDPg3CkJRZ`(U9$r@*XjYow)Wlta2vq{skl
z6@#A`$&H3y5_Z2ROkR0Ep^@G6YI6DPONU9XFl`}WJ@GIwzzJ_GvaRpBmaH63=14Ee
zj;YIEVHFNm2|ZO$OocB^hHS%?Q#CevW``~tg|IrK^(6IyuWZ`XePf!ctO3#oM5$6M
zU6(9Z8nYiDwgwa(eRNOPveBn!>&hR2Qfzoi>_kC1nROqL>L8{LkC+TmS#2}FUT|wj
zy@{cZ+5jiwI*}TrmSaKE_a?FdYjl#r)x_{6&&gk$0mmy~PH$BsZdszZU_RC$iP#;~
zX}X1+C(@K0d#xE+d3&>V93wD*N_7}?sLz5-#jo^ORfrA5I^u_9y{7tCP}b^_N-A1)
z-ghTjHBnnN(HU)vL=a_!~r3DYz=
z_4TWRNhc@Bc2OWcQQ}fXhA?vsfBW)t82J><7|`P7Bvr~25&g6sLzg#wqOo-Co`x%spKH$U{1ARC7o{G0
z(_pwaY?u=GW~|k)*Et-PVtfEr?Mi1gQGWiaRvT3=#k`)~Dq&`r|(TId-s4
z3c?5bmPrj!QY038y2~+#{5ms#ZY7`=|
zB0ay`%ydR8iu;jmF!m3!{C$%-q?aWB#z`(23`|H!WdMD(3B*R4JiROG)vXDBEd1R$
zZ5O@eG$t#QD`4nk(KoE9uRzFYuxgmWm>&uzNa@@C^^{#YMJkV*m$yKx{XOD#99
ztO`yn#x{-#d4HGa|6uO#VUea#8xLmAl-nsU{sxlOdf%&Om#F2R&kS%VT3q)21z@x1
zJxpQDGJAUW?O(96&7)m+f}TZ{qoGO!|)!&-E)usak(<
zZf|(4EkWG`)+#y7XX1519H;q;G>?BaI1}b~-h(SneJ=z@j1nt=;vJtreW?!5*Kf@r
zKUt`-ix`?XeS;e@10%;ML44E`w7No3g3WvKjESK1y=Of}pme`JUt11w(cF2n(?r}V
zALUVCeyA?UgX&N#Y;j{w`}z`vZ3KK2c{P#N<4icN&E6`OL_7Ayy{ti<)(`pEfxf=2
zqzM-pGx|{Bef-PB^h|^0%$q(nH*0wB_n&-fqvTetp{Sv*f1G#kx&qbO*P8Ek=Fu9>
z?Tyt((5L31U*R<)iU>%};jm;oV(U1ix9h|TKO(;v61oy(xXB7}Qn1oL4MIaw@f+yzt{@3-eiYf2PvK8fq?*FbuxoTf?jslfBi2~LjIbR;9bI(+B1@T
z0l#VYHMv7JM*E*LwA?AMEMUN*OEOy~`QL+j=FmI9uJ?>~m>T%E#)|&N^`a$eMl~dr
z|J8^Pu)oi)*GwCxr1Za@|8Ir!R`4ITMp#{02mChy^C?20P>@}(f-YI{@5x)bFmHO%
u6n+ktzkT5ZI;ar*P3ruYO8SPmBHaFrzXEoPDqpi<1geT!3KjA;@BRmj_krI4
literal 0
HcmV?d00001