From 26a5160794319999ffa4f73c06e387c6992e73ce Mon Sep 17 00:00:00 2001 From: elvis Date: Wed, 22 May 2019 13:26:33 +0800 Subject: [PATCH 1/8] try add verticalpadding and horizontalpadding between tags support --- .../com/zhy/view/flowlayout/FlowLayout.java | 33 +++++++++++-------- flowlayout-lib/src/main/res/values/attrs.xml | 2 ++ 2 files changed, 22 insertions(+), 13 deletions(-) diff --git a/flowlayout-lib/src/main/java/com/zhy/view/flowlayout/FlowLayout.java b/flowlayout-lib/src/main/java/com/zhy/view/flowlayout/FlowLayout.java index 57850b5..4faf694 100755 --- a/flowlayout-lib/src/main/java/com/zhy/view/flowlayout/FlowLayout.java +++ b/flowlayout-lib/src/main/java/com/zhy/view/flowlayout/FlowLayout.java @@ -24,11 +24,14 @@ public class FlowLayout extends ViewGroup { protected List mLineWidth = new ArrayList(); private int mGravity; private List lineViews = new ArrayList<>(); + private int mTagVerticalPadding, mTagHorizontalPadding; public FlowLayout(Context context, AttributeSet attrs, int defStyle) { super(context, attrs, defStyle); TypedArray ta = context.obtainStyledAttributes(attrs, R.styleable.TagFlowLayout); mGravity = ta.getInt(R.styleable.TagFlowLayout_tag_gravity, LEFT); + mTagVerticalPadding = ta.getDimensionPixelSize(R.styleable.TagFlowLayout_vertical_padding, 0); + mTagHorizontalPadding = ta.getDimensionPixelSize(R.styleable.TagFlowLayout_horizontal_padding, 0); int layoutDirection = TextUtilsCompat.getLayoutDirectionFromLocale(Locale.getDefault()); if (layoutDirection == LayoutDirection.RTL) { if (mGravity == LEFT) { @@ -63,13 +66,13 @@ protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { int lineHeight = 0; int cCount = getChildCount(); - for (int i = 0; i < cCount; i++) { View child = getChildAt(i); if (child.getVisibility() == View.GONE) { if (i == cCount - 1) { + lineWidth -= mTagHorizontalPadding; width = Math.max(lineWidth, width); - height += lineHeight; + height += lineHeight - mTagVerticalPadding; } continue; } @@ -80,20 +83,22 @@ protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { int childWidth = child.getMeasuredWidth() + lp.leftMargin + lp.rightMargin; int childHeight = child.getMeasuredHeight() + lp.topMargin - + lp.bottomMargin; + + lp.bottomMargin + mTagVerticalPadding; if (lineWidth + childWidth > sizeWidth - getPaddingLeft() - getPaddingRight()) { + lineWidth -= mTagHorizontalPadding; width = Math.max(width, lineWidth); lineWidth = childWidth; height += lineHeight; lineHeight = childHeight; } else { - lineWidth += childWidth; + lineWidth += childWidth + mTagHorizontalPadding; lineHeight = Math.max(lineHeight, childHeight); } if (i == cCount - 1) { + lineWidth -= mTagHorizontalPadding; width = Math.max(lineWidth, width); - height += lineHeight; + height += lineHeight - mTagVerticalPadding; } } setMeasuredDimension( @@ -125,24 +130,26 @@ protected void onLayout(boolean changed, int l, int t, int r, int b) { MarginLayoutParams lp = (MarginLayoutParams) child .getLayoutParams(); - int childWidth = child.getMeasuredWidth(); - int childHeight = child.getMeasuredHeight(); + int childWidth = child.getMeasuredWidth() + lp.leftMargin + lp.rightMargin; + int childHeight = child.getMeasuredHeight() + lp.topMargin + lp.bottomMargin + mTagVerticalPadding; - if (childWidth + lineWidth + lp.leftMargin + lp.rightMargin > width - getPaddingLeft() - getPaddingRight()) { + if (childWidth + lineWidth > width - getPaddingLeft() - getPaddingRight()) { + lineWidth -= mTagHorizontalPadding; mLineHeight.add(lineHeight); mAllViews.add(lineViews); mLineWidth.add(lineWidth); lineWidth = 0; - lineHeight = childHeight + lp.topMargin + lp.bottomMargin; + lineHeight = childHeight; lineViews = new ArrayList(); } - lineWidth += childWidth + lp.leftMargin + lp.rightMargin; - lineHeight = Math.max(lineHeight, childHeight + lp.topMargin - + lp.bottomMargin); + lineWidth += childWidth + mTagHorizontalPadding; + lineHeight = Math.max(lineHeight, childHeight); lineViews.add(child); } + lineWidth -= mTagHorizontalPadding; + lineHeight -= mTagVerticalPadding; mLineHeight.add(lineHeight); mLineWidth.add(lineWidth); mAllViews.add(lineViews); @@ -191,7 +198,7 @@ protected void onLayout(boolean changed, int l, int t, int r, int b) { child.layout(lc, tc, rc, bc); left += child.getMeasuredWidth() + lp.leftMargin - + lp.rightMargin; + + lp.rightMargin + mTagHorizontalPadding; } top += lineHeight; } diff --git a/flowlayout-lib/src/main/res/values/attrs.xml b/flowlayout-lib/src/main/res/values/attrs.xml index d1454ed..6b8b835 100644 --- a/flowlayout-lib/src/main/res/values/attrs.xml +++ b/flowlayout-lib/src/main/res/values/attrs.xml @@ -7,5 +7,7 @@ + + \ No newline at end of file From 0d40a02a559238f5944cf2b6eea8b51d79257529 Mon Sep 17 00:00:00 2001 From: elvis Date: Wed, 22 May 2019 13:38:59 +0800 Subject: [PATCH 2/8] update readme --- README.md | 21 ++++++++++++++++----- 1 file changed, 16 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 5b4a0a5..7ca6a9a 100644 --- a/README.md +++ b/README.md @@ -3,8 +3,15 @@ # FlowLayout Android流式布局,支持单选、多选等,适合用于产品标签等。 +## 关于Fork +新增了标签间padding支持 -##特色 +| 属性 | 说明 | +| ------------------ | ------------------- | +| horizontal_padding | 标签之间水平padding | +| vertical_padding | 标签之间垂直padding | + +## 特色 * 以setAdapter形式注入数据 * 直接设置selector为background即可完成标签选则的切换,类似CheckBox * 支持控制选择的Tag数量,比如:单选、多选 @@ -13,7 +20,7 @@ Android流式布局,支持单选、多选等,适合用于产品标签等。 * 支持adapter.notifyDataChanged * Activity重建(或者旋转)后,选择的状态自动保存 -##效果图 +## 效果图 @@ -47,7 +54,7 @@ dependencies { 支持通过state=checked来控制选中和取消,也可以自己在Adapter 的onSelected和unSelected中分别处理显示。 -###设置数据 +### 设置数据 ```java mFlowLayout.setAdapter(new TagAdapter(mVals) @@ -98,7 +105,7 @@ public void unSelected(int position, View view) { ``` -###事件 +### 事件 ```java mFlowLayout.setOnTagClickListener(new TagFlowLayout.OnTagClickListener() @@ -126,7 +133,7 @@ mFlowLayout.setOnSelectListener(new TagFlowLayout.OnSelectListener() ``` 选择多个标签时的回调。 -##预先设置Item选中 +## 预先设置Item选中 ```java //预先设置选中 @@ -137,3 +144,7 @@ flowLayout.getSelectedList(); + + + + From 1ea944143380e136e7081246f8a5dc02eb8d5d57 Mon Sep 17 00:00:00 2001 From: elvis Date: Wed, 22 May 2019 14:20:19 +0800 Subject: [PATCH 3/8] add auto stretch tags position --- .../com/zhy/view/flowlayout/FlowLayout.java | 108 ++++++++++++------ flowlayout-lib/src/main/res/values/attrs.xml | 1 + 2 files changed, 75 insertions(+), 34 deletions(-) diff --git a/flowlayout-lib/src/main/java/com/zhy/view/flowlayout/FlowLayout.java b/flowlayout-lib/src/main/java/com/zhy/view/flowlayout/FlowLayout.java index 4faf694..2877a87 100755 --- a/flowlayout-lib/src/main/java/com/zhy/view/flowlayout/FlowLayout.java +++ b/flowlayout-lib/src/main/java/com/zhy/view/flowlayout/FlowLayout.java @@ -25,6 +25,7 @@ public class FlowLayout extends ViewGroup { private int mGravity; private List lineViews = new ArrayList<>(); private int mTagVerticalPadding, mTagHorizontalPadding; + private boolean mAutoStretch; public FlowLayout(Context context, AttributeSet attrs, int defStyle) { super(context, attrs, defStyle); @@ -32,6 +33,7 @@ public FlowLayout(Context context, AttributeSet attrs, int defStyle) { mGravity = ta.getInt(R.styleable.TagFlowLayout_tag_gravity, LEFT); mTagVerticalPadding = ta.getDimensionPixelSize(R.styleable.TagFlowLayout_vertical_padding, 0); mTagHorizontalPadding = ta.getDimensionPixelSize(R.styleable.TagFlowLayout_horizontal_padding, 0); + mAutoStretch = ta.getBoolean(R.styleable.TagFlowLayout_auto_stretch, false); int layoutDirection = TextUtilsCompat.getLayoutDirectionFromLocale(Locale.getDefault()); if (layoutDirection == LayoutDirection.RTL) { if (mGravity == LEFT) { @@ -160,49 +162,87 @@ protected void onLayout(boolean changed, int l, int t, int r, int b) { int lineNum = mAllViews.size(); - for (int i = 0; i < lineNum; i++) { - lineViews = mAllViews.get(i); - lineHeight = mLineHeight.get(i); - - // set gravity - int currentLineWidth = this.mLineWidth.get(i); - switch (this.mGravity) { - case LEFT: - left = getPaddingLeft(); - break; - case CENTER: - left = (width - currentLineWidth) / 2 + getPaddingLeft(); - break; - case RIGHT: - // 适配了rtl,需要补偿一个padding值 - left = width - (currentLineWidth + getPaddingLeft()) - getPaddingRight(); - // 适配了rtl,需要把lineViews里面的数组倒序排 + if (mAutoStretch) { + for (int i = 0; i < lineNum; i++) { + lineViews = mAllViews.get(i); + lineHeight = mLineHeight.get(i); + + int cTotalWidth = 0; + final int lineChildCount = lineViews.size(); + for (int j = 0; j < lineChildCount; j++) { + View child = lineViews.get(j); + if (child.getVisibility() == View.GONE) { + continue; + } + cTotalWidth += child.getMeasuredWidth(); + } + int gap = 0; + if (lineChildCount > 1) { + gap = (width - cTotalWidth) / (lineChildCount - 1); + } + left = getPaddingLeft(); + if (this.mGravity == RIGHT) { Collections.reverse(lineViews); - break; + } + for (int j = 0; j < lineChildCount; j++) { + View child = lineViews.get(j); + if (child.getVisibility() == View.GONE) { + continue; + } + int lc = left; + int rc = lc + child.getMeasuredWidth(); + int bc = top + child.getMeasuredHeight(); + + child.layout(lc, top, rc, bc); + + left += child.getMeasuredWidth() + gap; + } + top += lineHeight; } - - for (int j = 0; j < lineViews.size(); j++) { - View child = lineViews.get(j); - if (child.getVisibility() == View.GONE) { - continue; + } else { + for (int i = 0; i < lineNum; i++) { + lineViews = mAllViews.get(i); + lineHeight = mLineHeight.get(i); + + // set gravity + int currentLineWidth = this.mLineWidth.get(i); + switch (this.mGravity) { + case LEFT: + left = getPaddingLeft(); + break; + case CENTER: + left = (width - currentLineWidth) / 2 + getPaddingLeft(); + break; + case RIGHT: + // 适配了rtl,需要补偿一个padding值 + left = width - (currentLineWidth + getPaddingLeft()) - getPaddingRight(); + // 适配了rtl,需要把lineViews里面的数组倒序排 + Collections.reverse(lineViews); + break; } - MarginLayoutParams lp = (MarginLayoutParams) child - .getLayoutParams(); + for (int j = 0; j < lineViews.size(); j++) { + View child = lineViews.get(j); + if (child.getVisibility() == View.GONE) { + continue; + } + + MarginLayoutParams lp = (MarginLayoutParams) child + .getLayoutParams(); - int lc = left + lp.leftMargin; - int tc = top + lp.topMargin; - int rc = lc + child.getMeasuredWidth(); - int bc = tc + child.getMeasuredHeight(); + int lc = left + lp.leftMargin; + int tc = top + lp.topMargin; + int rc = lc + child.getMeasuredWidth(); + int bc = tc + child.getMeasuredHeight(); - child.layout(lc, tc, rc, bc); + child.layout(lc, tc, rc, bc); - left += child.getMeasuredWidth() + lp.leftMargin - + lp.rightMargin + mTagHorizontalPadding; + left += child.getMeasuredWidth() + lp.leftMargin + + lp.rightMargin + mTagHorizontalPadding; + } + top += lineHeight; } - top += lineHeight; } - } @Override diff --git a/flowlayout-lib/src/main/res/values/attrs.xml b/flowlayout-lib/src/main/res/values/attrs.xml index 6b8b835..8c31386 100644 --- a/flowlayout-lib/src/main/res/values/attrs.xml +++ b/flowlayout-lib/src/main/res/values/attrs.xml @@ -9,5 +9,6 @@ + \ No newline at end of file From 3ba41b77f6fb47119b8586c2cb9f1fa1d6833b56 Mon Sep 17 00:00:00 2001 From: elvis Date: Wed, 22 May 2019 14:29:35 +0800 Subject: [PATCH 4/8] add auto stretch on TagFlowLayout --- README.md | 37 +++++++++++++++--- auto_stretch_sample.png | Bin 0 -> 65077 bytes ...al_padding_and_vertical_padding_sample.png | Bin 0 -> 65257 bytes 3 files changed, 32 insertions(+), 5 deletions(-) create mode 100644 auto_stretch_sample.png create mode 100644 horizontal_padding_and_vertical_padding_sample.png diff --git a/README.md b/README.md index 7ca6a9a..e0dd487 100644 --- a/README.md +++ b/README.md @@ -4,14 +4,41 @@ Android流式布局,支持单选、多选等,适合用于产品标签等。 ## 关于Fork -新增了标签间padding支持 +新增了标签间padding支持与水平自定拉伸 -| 属性 | 说明 | -| ------------------ | ------------------- | -| horizontal_padding | 标签之间水平padding | -| vertical_padding | 标签之间垂直padding | +| 属性 | 单位 | 说明 | +| ------------------ | ------- | ------------------------------------------------------------ | +| horizontal_padding | dp | 标签之间水平padding | +| vertical_padding | dp | 标签之间垂直padding | +| auto_stretch | boolean | 是否水平平铺标签,会忽略horizontal_padding以及tag的margin属性 | + +### horizontal_padding与vertical_padding示例 +``` + +``` + + +### auto_stretch示例 +``` + +``` + ## 特色 + * 以setAdapter形式注入数据 * 直接设置selector为background即可完成标签选则的切换,类似CheckBox * 支持控制选择的Tag数量,比如:单选、多选 diff --git a/auto_stretch_sample.png b/auto_stretch_sample.png new file mode 100644 index 0000000000000000000000000000000000000000..83ce3807b1ad620efa1a1fee1b5d3201b5627ccc GIT binary patch literal 65077 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¥djhK~?pM3a2kaq+AY5)y2Fgu5c5F**J} zoO?W9OV59QQ}i#GSA6{+7XE)f1GT2DPhBHf-zNBI*w|9boIa7q#HGn>FG6${bW41E zJo$+e4kc$E7T?M50mBRXJ&Y)QJoS?mIW9t?qM{csUKA1%+SJvRx3aRr7@nSBCjMZM9*m$ z+}Ln&dHUhpPBXVEMd72|aD%SCIC)STFT5pdGlfkYvm0V~6gqru=1ugY3&WY|6AzEa z7@WO&Twk?cRj`?DgNp1GZN*>O(rKE7Z1O#CpE=e{dDeLCS?ZUkDzEn0=Bzj$9(u%cx@$j$4L6|nNQ#9mD(Lo_%9x^ zIQx28h#V3f{19%d;E*Rll_fcZ3tFnVuGQNe1WZBkiK;Ok`ukTK?4ZEnYd=3aAV;lD z`Agyu$B~@PbzWj*6s&W^wlUwA-d+z#;Sm>Q(mLKsdb$JuVpOKkX*@7^Yy>vHwU>(haAsRxL2WHh7mQ3?{D$#6YIXcAatnI#TF}>m3J_}}V;W7|7LxvlajPl!^iq8og!L z?e1P>bAvr4qMY^@%v|JLVe=o>-u+Bod(PKJ&Vnh zqd$G~+`DVv?`=2GwsXRI&FOK0M1^+;z0Q=RSvgVh+eAy*?F??Sg+3;id{d^p+VS1D z%d(+$?>4i(d2$Y@neO@yba*XX-8|3YC?d{#7-rCIwGBWLfv78}!}rUL6#rt-#mr}Y z{osKE6MydkKsx%uwf(2T>oF&m>5RI|A5bUm-E&dJfBmg${lH1%v->U#CDeAEgyM?`ZL%4lg_U^O_>+%{9NnR{ zt_n18u&X^19H1kM73Fx_t>ILm&?qFxjJnk9J>y zDi^uir840E@})RT$Of){==;5)6nF`&+2hzlhpVx-`YHB*S=>}UtX&A>}^GC}Q zAvpzZ6wIpufNN7QM^^4HL*NKY90N%p-0<*|xG zQZS}=@u7=F^iH)V*25rr!)zI&c}`PZ_F%)U#^OTRK7V!U0ADt6jD!TV^P{1M2FEmz zUHj*6pLP?yZlLhV!BXS)y5sz`fO*{OnB)=Wf%_*|rk=$8_P&*;v$XNKMN)~9o8GU4 zJ&U>L&~H;Vjtj&LWhM3;s!JYBMvn_VUd;%nVt=;Nn9NK<&<-#a+#tFDhLIpQI=gW( z2@8LM2L_g-Fm=dvIH0p=%(0Yz5f`lzUCqsQU~@$cD@)&jp)W20{Gxe_0r2Dfok@67 zcX!&^vPc_(V+oy5df4tH+qrYeXgPf=f#X4WlwkS^o$03n@5HDzm|}CFot@&k`PS@f z2`wchVZ0O`nn~8;q9TB{ENElUz0}R}kpw}_nU|-IAnO36z4Y~M-Bq=+nt)LtluI{G z&gFmLp;vA*49?ix^Fl9O)OJO}Gtnqc&T!~GxvKO^mG8D^`W@?3>p_LISpD*IRwqJu zlFIdre+tHikMPuu9~m!-WlEAF*B{zZT%U-z^Os5fBtvMMVC>pYi9cy#x;A&NhLX&U z4>D@8=sna^&@0w{pIrsFl7wf0V zCw05p8XAs*_rf2~(*K3#ch>7SOaU~8ewXy1k;H;`k&HwZjHJm5X4eo=iz?LcyQ@_ytLyH-(dw| zc_80fJLO;znF&-xEN|nzyemc`4#RSLx8E+;*hyn1qeXELF9N|h-}JAWR^lVrI476; zVghEl=c^mwM@9fZc&k0nX(+mAnKz-Cb8qjTKYuW=^gh-H#Uc8{@#EQdTA2E8F~f~z zi53jQO(xU3s`Me-C8^dR$#5V7U7+QGm5oN=mlPMvvxBU~Bdty4Hp8lv5RCLLV*PW9 zKxt`7SIMH7fjNhaW`}xKY$Jvs)Bkw$5$e#;5=>3!dRp^trdI#t9g;`QDe*LhtbB(&jrmU1zjx-#p10gJ6dbb2wc!2uES>V^ zh@-uZMO_@zClh1)`JZXt-zDx=Rep=hi65icvAa?ieXgbC;XPrmmaVLTwjt*T9-|ez z6t818hEHNk!l_wq%Wn6II9R@1iwzo^ip;RS+==!BCOEELM!|EK{sd#tUE~X8Z^qcx z5X1gI`U(1X_Swew9ae-)=2ifn8n#DJCJw$3%6`1BfD@ceF_JlvU}M89;sdaPxer>z zzjky8sf+yV?Ja=}fTSGg3>)18f_rXxl1^*~3%~GH`i1nm&g0T00cHt;est<8*CWiCqx1B!GGKWd5H>z`M)581kiRuz(!C?4)_HN zq;DJzec!P2j0&d!V}u|=LY(mqg7^z(I*Yw(kE;c0rPtq?t9|7l|+j9{w2s}i8lRGrW_PBG;Yfinr;QKjU6z)g`ApEVqHAD z>>U~>-QqMza1K^g?`&G6g8@s5H&zhETM$q|j~SfH0%;L9GlScIna_l2@4Ei&LDmIS zYW)H;w}}0-sc{}12p9@g-*nWd;{0Va^X)dz`HTtF$MPiG>}S_`>3OeGr*SpW6*B29 zyfdL#)i;wMdAU%fcXf5a>SX?2E;IxM#*Fa(hEl>9UcVTx1D{Gt+Ty{bunT{_A7Xr> zlSN+J-gtFHm7Z#S;z)n>K>brP`cHACN}gMPI&D=0;tvfyYnn^g74=zFT%nxWm0u3+ zifH+u(0HK8M{9kj-!qs)YkM^*_+ufGQcW+&ClSw&GY^bmUT?2%YO;O$3i*Ie{6@>- zTDL%1z&$d8CAQdp9GZdRksuhr3TA8}g=XmFXe+)I*Nx<&WUYyL%FH^-LNJdhA_v=UP~xz zo&NC0JATryH;r3XC=pxcto$T7{OZ#eQOKQG$LWi&U$C=xVl|4EE z3(Dk=UdOn0*4)a9IDAanCGvgNTc3@lxEBFlc8$i9BL0q92eK6ftkiOk4@EHzbxSF# zt++jizIR_%^`}wa#s|hFwLrNaJK9wL=AD2&7F2j$JhKb*A_(h`WoHJ-Dsdx|at4Q-i2&Sgt+1+NI#ZL_WY9}e*-6@&jR3ccrPaTX^M2Y|*mMy;Gf|ZBb zWew1g;oc&if!Vj>68JCicWK#8+*{YeYt>vd=lv7(i)=Awc!-$z#Vaq-TFX!ic9kVw zc+y>_=a7;nci{32BU@fN4Q73R9UCxnNARMfq{V1Mw8Kx`kZBzi6a9ZFY2i%< zkvipELy*1|qZZS_|8+vB!kI zxt2)eE4eeb#{D|SAkq1E^?UiTyd6)|ORgnaXTOV$uodq&n&JA)vHqi@gM~C@y<~7Z zvrDlJZkJ}G&%dA1VVG#L6Yy>1xNm0JN>3|!#PV&6X!~amnwK9Pq@O!QvYhhaZJ@D{ z`*`B}S(G zb9MWv4Q`fieV5u{+!e}U<9M$4;1dJW`UYBE8e=m5AgM?>jrc^<3#Dm`#K?^iajnN&wwX>)GJ1R^IG3Ha3PCIMkxq zurABmb6gq)&;oBIDCl>NlJJ^GH|@Pv!Emj_G(X#WcPGd6z$v%kfXvJ5AZj6gKp!AVNK$T4USEsf1lCWURdpO+%`BBq@a?*(Ohr=ueIxW z8TuJ7P%Aq4fGL0=18l3=l0KNq{=VUMM*x0&^p_ah6WDAudZ8l6qN5u^X%BPHPDhqk zh@lbqWDAQA5+`q%QHCfz`pm&I@%Xu;XUy)bEInn2l>ByplFiq(eFLeBJO|NQ+?*1+ zXY3XG#NTr3yBGdEGjwpSUK*k2xK7x?VuEaaH_E z%5z%gl(dRgBjJclB^V`JCTO^IPt^WH5PnVCVi?d48VjBCPWmfUZ2;5T*o znvC<4Xs3(QR)5b!+&@U~dZvd@(0UX?PiWL7*NK@Ko@k3-IrTh243{Jp8w4`jwm7p& znT!JrT>9^u^X764(1hVl34Qk}j;?fdmv4>mN^OrT%MSD;9N+L-w@yM~z*nYT9TpaYUCwwxlWe}} zvI$)L4!q5T2haROo_Sfya54DlG{&GAF1AMqPeu)HjsC7!7Cq&$Mj^AlQc%7PC|IXB zdKWV_rSKQLzA*H{d%M#+qh#~=@l;7o!>3js+e~oHT*?E?SFW`jU;&16m6hZ}FjMa48jtxMB4?l=Em?7dY`oL$!~ z+CYHdPLSZig9Q!l5Zv7fZo%ClNYDg#cY=rD?(Pl=?gV$T7w`Lhr~aFLYS*bccbl6o zx|{CjSu)p{V~jcByMFiuFAzFV%r>f`+5+zBC=tlsi6@-}Qx**~-T8@n`-KdiegKkR z>i@mezZwGYYQ=d@w{F?L(GfW1%YppH*>)Sbvv~^o4?LVk`|<+mi0AkxMf^T{Bxeck zk_reTW^H7*+njCgV8`>{?dG0ErUEL9?`qx{v<9nLv)3KG_w6LD!2i~e{vu4EtgZv~a!tqVAApaA7lKase4V5(4Ow$GAxYUZA?55DL|An^1ra<@19 z=`LCGBJ3Q4GtAFxQoVy-eQ`tc0eqIe{iGEgOW2@?>6}8Im|-SzBaFLS%b2|HgYIiL zb-txcS1Z+HzE9_1FmzmQpN)?|Hal|O+*7t~KJ7iEp>e(z1(sCWwY%ARh?BE3h)B=v z*%l^rC-*LNT~{u_$nu_cW3^(%^5$BAug7(ve%Sf#5Yu2Htidt1y9N5oY&s_W?Z!@3LK@sw2oUA$4cjiJ4F>@iR z$5^Uvho=>xjZp7l?DxSQ>V;}HjLXR>9>094(AVR!zcYavip5dh>&c*27$BHx)-!%E z{e+yh!&eJ8fVF%26CyBwuvDWza0IpA2@Xw!rZ#pzU_xL3=n*h1qfarwFaUD)zYRMX zNIx3HkkjpZ@j;GkWs;fB>wX5FwNf`H@z^EvWVULU5w)@^_2Oa9OQ+2{xRdue`v!uT znH^@~)Sk9&!xoe8tuzeDlptnhaj^xcZv`~KBUrf)pg2$9Pdkk7-Bji#4lbk4&GS3K zdMK4$JML8wD&YVeHYlU0uQ$`5b;#%jG4k&wwE(S`{@f+7Aug?`9D37R0Ze;UZKb#J z5>_uDUe!Km5X<|SV2&JzVD8~#fEaO=7lUa@jwv^oO;&Q)n(Yj7Gvic;J zuybhjjllfr#CuDSp6CS8JL&y<7g^jmAwQT0@3A$pmLxE_Qu(OWmp__hEmImN;^4>nM2Bk#Sh405YqpuD&h91%mljo?LH ziu$ked{V0JSK{t3D)+$_aAw-%0cXrJ4xMZBxn6PQ6W{`EVm#de&FcfFb9{Ih*Ys=1 zW`O+FIp**-!6$2Au01+Bdfss#ac~-7=XUZKFQbWm>{Ejvr!Fn8FMZuzbT%vDz4HEj z1HODjXW|)E$cPow9A2-~+!jgl{O??P_jhBB8xj26@|0#}o#*>c@ zfGv1#%)p%Jk zA6cIlKB$O*e7)qA-fUt;p-FN--*?!=1(0=bX+>)z@Vt5&tb-HhxfI|$@KSp2@^Bua z2}+^DKbh@!0xg)zs=JT4&$6=r64Fu6noM{4-Dt$wr*gWTYN1Ykn=ehX+t^kYXF z)`@z+F<-3>*uI7bCEFhChMPnK4tGw_E;yNwyXq&iJk3oU+tbn`{CR==`!*aAFa2bc zQT_8khZ+&v_*!p}dD?ofRh)HF-KjIZ$O@wr`Eds4Fv zolNBei1gKmLqmDKhLTedz@M6EF6f{N_QR+%b{8G?DnKupb6^cPO5`Ij)m4l;@jmf9 z;{ld@Ps5?_-{koqcDVIQ&yDQ<4>c|h4kR;C%a>uV zn_@B!F7sfZh>-Pcr(a9w4EsS1aS6G51)?`peMnRoK9d#}Dm zC+S44jfRU|sP5j%EmNy5YU3>HeA%n?c-2(F>$mpz>Du8H>Mf(nL%Dw2lhyzT0^#Mf zncG`%>ng(_;?hT-{>>$Mlx#imTrf!#t5UWF_@6M^G&>B7dXP!q^Qdm}py|$$le4D0 zJOrYASvw{7taR!jhTN=<^B0l{+8)IT^AIITtk0CjF%N2C}MSwsnagEK~ zZ=Y{N>d{j1jGNXO!OPioB7RMN15L@j2u6M8=+9SaZu_IC=Io-s#pUqwuLcT%Na?-J znmND-Y+h@}dhbE;OhdlI129&o`B-ooIJ$%L84$LXZE^P;3M_zx_*O`9Gh*js%rpjC z2e%^OWdmgVc+)2k<-ufR1}MKXif(`zl{3PZOaLz=&wrcu=m2gah*zVi?dPPuyi<@~oSEFmKc*ZC*1+9MEu8&B7bj0%K zHeF*n_F722;^Jkbyuo)BJ|64!&T@_2nN15>M0LBdri2z!j+t_Zw=251zb2=3A4u7BX1+W(RR&KH6c@v-D@eE5wo{O_=?`P8QH72{uvL`iAw10#4P+0q8O1WeA2@PT)|kO=x@yfNo>4U(1W z6XNixfS-TQzGZ97M4~y`q`Bbzw1w~8OY+&UUjRgK1XNJ+lvkVReJyY6umM_tE$1Pr3rX%C>#Pj+{oWePi=bHdx!U*KuSLE1vmsv7n!Rta`a z&Y^2>T{*tXX+YpvFaMmlY+V-3Gv!f^C@FDWw(kS9{6UIsMXXAU-`dkvy}s9}*uBtm z^Ao@a!~tmS2uyo`b&#g|1|S2dXmh$eBmf-^yo#k5!Nve}-9C>8`k5|^7FYe@&!1=K zd%pzEwYyM?D02&o1rWu-XX(m^jq%?fGWnc-!8v&VG1<87;pw`~cYreSVsB%aObvT0 zis#r3^s0GoI&=7(zKw#$Wt?Ccfa~)Fy%s1_7NOZEw@@R8`=LaN>h=|LX-vnhFgP}s= za*=Ho*N%_9O`uiV_F=cHpke_oFeTdI=jXP_Ug~<|NT<_BLpTy#5^oKdW4wTYfgJkw z>k3KSwrCv_Zk1-3S63anBBz%tay@S;EAy~uCjHG~!r>)mjqvIT-t66$-)#I5Kk!iL z1RDhjX-XIh6?b`Y(W486^I=y)pn9$0YSC(g)i}{N^LE%w&wVQ%-1wA_8E6iBW^h{# zNS(hIg#zUjh2rt2$+3y67_B8ET41K zA^oT7`2x@~#vX*vLDetB$v}1h!Qi7ldWB}qc82G%J)aFRa0V#L^Erd9+6pqYt5kqg z=s1+tX$#ZNK-*+AJcU*Yi~l(-I)+x8Zo2n6iGLq9Q=~j!rHuzs8Z$3Ry!y$34dk%4!fat-Ur%ehvWbo+yhgp&H-qWvJFP~CuqAhWP4Pq|F{o=7{>X;+x?susoc&b z%O@oErA29T`@_d`>OHEe5lGy${$}DEf1}#pGnmu<99Q=nK=86dU&RX{H1e_+5bTi; zF}l_8%14>{N_?(Z($4b1%a>V?Bt+V?qrJ}Y{#Tv-O}!9TFFm^!cG_xy0CL|XiwVJ5 zj~WS%vD2_+r}|Rmr#A`Fr5hcP{UQ54A~Sh*c0j-pM~;xtmz4M%S?OzoqNQk`i`-7V zFmNP-daYGZ%k>0K!PyOpT=S8%_fza~`(m$jv1dl(#wRDwrZS({_FF>JXJ=;?& zK#2>0s-v#2pE}YNg zZ2{;>&}A1K9g^{${1%gM8sMryngoFTUj`i;u)hWV-j0F7n@f-(=6`xy0eXmg9cZtC zZp=N;K_fgfU{(eI4!~eKaK?+0XJez1uDDG?mo`?h2f|QkVI$9e(!u)Nn}4E!cF0`G z7@Q7=nzCDHl=K-Z#p9&qsvN&e)>s`*7aE2=V*HaA7G~sHL~uV7SvPPJ0W*LLC@lsZ zID`V>K*b0s1S@`^4kOS7Mh);9AX(=?_1)qkH%Q1RqPPMAG1O_>RaQV36L7j;A1x(H z<%1>&0)Wf}z)O7Th$mgn4nPNxiT)?+1k?=hB;Ir);=q;yfj;#4r>ON}w&@gjkwrzZ zjmwJAfw>t&@vt%n{09c`Q`HrY`1}k;4=O#~KhI$E{NFeI|2hP@*S-S#x}-T8cf0*X z*M4A%JXrV@$$*J~JZIieEcl;UGYY}Md47gGoJj58d8BdC`0tw(m5NoE3BP{ShpW~c z#1#Jcw_dD8LItN6sRvOy39bv1Dg)0P<+DE(60N7YwxXh{sv@@P*0*FWR$1kjhAF1g zJi>hKZrL6km<7aDLB%}CwI1Dq=d>}0x`twuo+NhK)@q?15=Atr z1yIc6>(TydRhHGR(e!k@a;M$z7&Gvgrtvg7yRn|XR`3fooE9nF&?;YPk$Fn*2DVv& z1;J;GOTC!jQ(=_Plrm+NK^7{=wHk(5u%(3yOLk&ns;aV6bSv~Fv|Y^ezu2`RURfHv zH6#aL#%Yix7Uhpi{C8nVT`ah6pt0+o1;eOWq01Nni!6b;1s;Y$7`e9cc6ilAD1PS)P?a#eCqM=rHA1c;@UI)SihYZ_gBF*oj*Sj02P_I+68_ zW&W&&^|kaS{i@rfuKS{<;#NceK{Fa*E-rp$^rHfw%Gs_rSD#g8e~~_Qdld(Vxa4z( zh$f88$NjpbTPwdXnPC|AcF`!Qy}0Y|MSm37zgnY)dN2{-Zv=a=CNLWsBZwGe1xNei zW@9ca<>qvX%(!W^2Zx*rcVklVzBTOc6+}XVVQ}cFu5ZfeEaoJ{iMGZ|DiPI;2xewh z9SGJWN0ymM`ooKUJXco6$xOTqqI8%watL@RMt2nZm6Ug?==OGc(zgJvOXM{v6;&)! zAi1E74BcmU3PG9SpY}u;g*iDih?!pOysD}Th^*)luX2Rn8U}P?ewH%Gf(`b^75RQx zKI9u}ir9V1Y=Mvl`3Y>$b-NQ`}cB=1qlZCfdl_ z61MyKD-BDX-5-rkm1s(2h$E}gnAVVNX23hDYQAEs(9U}tDyA;q z+I&xW;+wSl#7YVgB=YaJfI6ZN?qy_-H+{2ncNfYPG`&`4VuN|Hf%xN=D?(Nfdf+^p z2!FXXp$oG>s;xyHi#db|2%*4Jgch%&^U zJkm+wGjI1qo0?3&x)XlDef8BmupbRht0&3nG?7o7yR$-#PHW=JQ}>?aU!vst^2B7{ zASK0YVXu!mRqY#M7XI%bMgpYj%!o-mq}=&)_;}h`kxbQRa#lh_TD9*)P?+rLFbl=c zXWkmpsWrLimzLjCTt#ATc>gL(;^z*P3KH6chbcGm%E9zqI3&7MSSG;S;Y!~dSs8`F zMI^MNRw2z3ts(J9^7OC0=I#~uJX#)1ZJxspN#k1Izzzqo6><9AM1=EffRD_vi#TF( zU5|iZRkvU%1gl(+CLGgQ3>K0lHKtwNMWTq({d;^aJqA;@rm6TPo_5O|i{nPRRf8dQ zxU)G+K0_rnpI9)Z46J2>d9QeA;B2)|+PU?tTRq2`yuV?Vs$ZBI6SmmI#;4k|&+qq# z@4wxWy=!n_wHKdI#C}(y=}1TG9mBQa!TLzv{rgZY55>n%rKzrr1l~DlZHD(H-hqL& zUjtGO5_5K~Akj-_-U|!CNl*0=qW)$>2I?_*l~9rXvd;||>*%5cQdrYu;{}4L>n*`q z|6FoqMp1-w!idc{)lYTw6=qk>p+y#E4k+ktz0fX&yPxVVi|M7~;p!?8*M?xVV&x!> zXVnT5!5z`)k1&Z*M_e0N2bk9rF{L7am_=tj8)@Lj)P;& zIy?f&LjFWY*9%XK)sW=rx6D?xC~5%4cA5TA(1T^T#oaEPEh5^$TG$j8v(WuI9GB#M zo21w4UXMI|Xr)O+e7q1t>wrdrfd++?7SMIj$bR=gRx+&MB6yNyogzz;6X!fo$LfsA zd?Oq6hvjxJ{J0r*S=v$nH<#};foE`wqyVtiy20fT_WIyiWkrdd1t^Koo2pT?An%TP zP7OXBWTT3mVJX1H-88JyMbV!7VJn-FKaxkVH*5~JE}-TT^>Ujl$MC)yH#ipD#}9R} zpvO;IVZJ6k=fEtCCm3iQoGv9&CLqd-$BDmFNEO9e8AT6R*bj1f5oa38C`ekIm4TH$M(?Y>^oPyM zR(99igKXmZ-^g?YN=SyyJF$MV^<_eLVoBN)j~YGnx-wlP8n#J1W84wKYF0=%Imm1>T~lMYFc#Tp7$646Vy0rpn1$eQoOsY|gNcI0 zQ{J`}4B>}aR4Iai;B4D|TpiA5h;c_sW*3Ar7dFDJ&CR+9=0bLS^{(Q5ZhpT0m3fz% z$^In=h^b($)D+53^uDL&vY~rd3MKeDplTu)$}&4#-muqG&QaEUJUW;IXJ0TBdsvrw zHK+l1;&f)Y);z9P!=KBRwMG(iMBPqg8fE6hPu!#4fR zdotxks3>k}4m%i05A;~a$!*@>O{EzedQGGL2dRf$bYoih_5`n;)=mr*VJ?wsRd<6QewvgBXB`ZU2Q6L+3s zRB;E?NthUS97s3R$5lU{fQmKZk1~|wP8NDopPXNOrHDDsY&xLuv&}+~Rp;73p?l1_ z40L(Z_)04fHx%YLNG!fs0vm1HcBi%Mwbi~P4NTeR@m`)*I=Z4mY*W(5uaD*Cjd+%} ze(3qIi*Du{vF<2)CO*Eg9Iyk9%@V4pS6)Q>6{K`jUzO!UtENQiii$$zoSvc&7)aBv zYgJPHx^ERyEGv0bSvYz4;_Gr-c#uj&Vt8SS#UOsRAJuS)f^~_4H{FR(4p?K{VRMiK zpT6;1>PQjB@vG^}sB_{p+2nD*RY#{87uV)gjF5GonFaLem>rvRCvTl5A#y@*sW9VaGqGcRe5iV8963;c!1Y@=S=Hu$8#iBQI z4wkg;r9{!k%e$7_qs>9(?=By(baxxa)=EroRYP@<@5uyfJi}R!XiE9*tb=yx*4neH zm6NJw-AA)Xc68QuYz%RSS4JU&`B#Q)UthWXrJb+tp`6zjili?3+H6`#e4Y3imxoXF z8$aEGcG6j!iXMX)QE>Mj*%bkr!qos5q)0MN$%);DAkKf*A#8#ei~7}VAT*^b4kh=O zG7*$M5Pw)tygdz!ZgtF=ni`AeGiMOFi@3_Mo!*$bp9H>Z--B#85f8Nvv%eBzz1UkN zflu>s-qtI`&_d|wRhj6ECYTm#Fv;J2qIZZt`Sj$YmgvD}AbfazU7^8Am}4Zf)2PYQ z>5Y&jKg37K;uWc^vp_q%2PqI{!j$q`li_Fs zz9)yZr2$3vT3TMwc=%W@H|h!xSFM1^gdr65+7Dq;N=)GUd~POA@>4WH^dpVn>uPaG zpq0ToMOyq()yt9e(Lm^`vBod7b|a>)<`d$H1WMyR5u~V_i-ph-dcC(6r$l~=w_#aZ4IRg40r19+ zbCi>Gvx+I8&FPhLpgfCAq$}G3ijpMd_}F=v?z54|I*(QIYIEE(?qy^BK`23bXD9p` zBJ)uX{+*;3@3ePuIM*ic{$+-ySWcuvb$CNpQ+imNUHL_z3FlkkC8rHUcD>C)sBJa# zNB_f%b1DdpcNVInn!=qh{);L!WjZjc%dIZto6N;n3o*W zcTl;zLQ6%Y9}!Ii(K7zdvK7Py1i#~HI6L z&1&SEx&gIsXpU&ZD<%Oei4QuYjd?L7YCl~Jgc-Cgujn5PvQ)F+5?lS_Hre?uCGW91 z>TIjhF>=(>_mEm8CbHQ?h>#!6odj%WR>AG2Vy`vSZWWN8{Upyg>@$R*Km8<`hD>)T zXq6>kZo8OIK^g+3gb2-T-oCqsw9kK3RXG&TUm#|B=ZR|x>GgcFP3$aA+lDCc>V^=dvrY zMi}P~38_bedx8Su9Z%+?KOdpe5pNlb*}P2up*^{KDD{bTVpdj0HQA#D6JX(>6!YFC zxq97v9DtMl4%^7teINGFUm5lg{aIjuC<|7_h)*yHaxLPtY>t@ye%Oq==F9B9-{!P7 z3L%>6rs5sV=%=xBxIc7G(-ReQ2w@w8xL)5iVtI&}yoo>qU=cnxzKPJOm%&Xa;vylL{PK3iJAS^%=Dh~ zo$k%?xx{gLIu}kHD8~@i*-GxogVuCJo7x$U;rW*)F;lN~2(>G#;}Gg{vq|P^h=zt9 zX86qRMwQOdvlOn#nK3zeeU_Liq5jPK1$9h(~?il`9&E8&VF1!=*$r!vSe3e6?h?9{5xT3H1+EobD7t_;r7Spa+o%P?W0A?Ww%Wb>B` zTimtN;DS>>?2dG7?Ma6NRCK zl*e!fJae2cUHNvJ6JRJE^+ruWqFkhz;+aP_aDH;J$>&eU!rb{g#}_eyFS=rvhW#Oc z3qry9A(MmgZqy~1TwwQ-{xGjbWM%#%JDmcYApWnG>dCdn5Hi&Fk4@pu3KI?+pTnXD zhezIU^J*28Tn#fcttcxEMqKun37g`)vlBXvJwKolo3Y6~kaT$~5=`$(`VM;RCSAX&GD)#<@XxF9k z7F>VG&JVNF8ALd$goPEwLtM=sQ?ohwPj`L=`fs@jzwZiP=kEHvSXX%JGm|9o?Px+O z-WA-IwW#;zg(*)=DtUM5K?t%eB#ON>=}6P-4?pnCi0fUFQUjOqy+2R2^E^7Nh6Zpr zqD@w)KK^H=%3KBKdm*xZ#%mGQn%;9cXEM$m4u-T^#@D1xqh? zp8iM^FJ?%rUcd$YR;#q5((+B^O}?!zaQoO&tqnJ%!(wyd*F*O034Q_Eu5T*)u%AEK}Q`KPov z>M1U3J>LpD!Z(r(T(&4@XX;qi6FL7AJS#c@ztcgL#r12rGLK}h{#B7rtz&M--Wui$ z@R9fp-c}OVnJXid5p}yhY<>%MA|T{n(}x>psTMP0GN&lZBaaSUO-vlk{jQtABHDcr z``vWR8OLwl*qw_!6D?sGTbFhVA5ou$3X2`u#eD5%-S=(k*q5a73F3?=3U@a#UU22c z?hQA5G>bx4MY4h>3{qKAY?O7<2nM-FC8B_C%~qF+-hFbejkn7`%IT&Jm6~?m)P6m! zh;(jrCjU$JF}s@(rK%K2&w;BoPm@w@c|5m@9cPnzANh?Nck2~lo3Q#K}kY&$Y#X>RA+iX zoZo<@do4tSm`@@~V5EPXP`Up&|3l*6(=Qyb62**-#iTjP@|!y*u3};@F^-|=)zinR z$nAf4GTI!-Pi5J;hHFhg87r?M?th~3Hn667D59{3ZsgQ%BI7P+2n|3Twni_-v{!BZG$+c5j&5<+!BvpGD7OreV{jx3n)Lmv z;vP9=^(r)Rp`i~Zq$%4Tk-xIZ-0_v7ckZSN%X3(xqq^}&Tf{T>!Df_dS@oxsxdiun zC`ToweS0QUAUnzzK0tb&(bOWMifMlLrjcZ%&KQH)73%Dd&b^3kn=JPEodjMmG4bVX1&R-6(WMNA($r1pOsC6G2wbgzx+5E$3GtJ?<0KM zP&!>DIV$8~@su8@*0dD_d4%JujzaJ&uaa8!nmCu#6EeQ8|PIBWwW& zH|`Qcc_v@at{syKT_~Qp7hW#axoIg(ei1uQzdB=@Jo&Z-P*fdRo> zg4|x~DKC5mp~AX&tKt*j-*fcn=oHgEa=4#w@I!tYqd`hR&x2pGC+U??UOCxPcwGtm*vu{1}!zj?a^feq;iE2!M&xfmJ+flHk8~sG)e53n?7lG3;OGD z6~+Ro)pwsT;0=#qxFN7oBt^N<-1KwOGOCFlC}ET`egxS;r(J#xD*d4E9gC^Q^m2O9Xuw{cL~fLMhGH6+~_dM z>ItX!Y@&}X%l+R{n|JKl>L;#r0^sgi(&yNuum*SBXRzgZVx2c8nPr zm2$!$2))@59kUk+LpteCWe^!53gr>NTRQ>5mmifZdPST-d*Dc5egUU- zgJ+IG7u(W8Pq%>f$B!LCJV;W|Bj`7D#b`jwQV;BNDlV!!TU<{H;Fs6nuAXY@ z*TSW64-#4WnwY9O-Ljv>A~lUpHaa-1GUoAsnW@7S;68(hDXOS$v3yBAeEZ&76`vD) zA@WC0N#S#tu@0h(;oG!s*V4yhQeo2QoTf-%b`J4Zi^enOhyB`8T3*EUUo~q`O(giu zK3`4=vmVX!h2a75saw#B8JSH}a)GDvKVqe#!p$=H2WQ~t|5YdZKN8da@0vJDOphelie4OXd20gbvL7Bc8=ckh=!IbmU_<0m;m(;`ARchda9~m z@x{xVdeBa>1)~>Oh__Ivycf4$FhgJsx&h89Nfa`s?A zy%`RU>{QZG(OVG8x`2AuPni2tk>z+j!v59U?JF*0+d@naf@U9jx{?yh6tz7)MZ1r9 zaN0P1h`B#G4VHUQHW+z_kLf zGlt_%wYjd_M}voiq{RuNJLR5-j~O{QINQ94i04WwNoOti(LUgzu8%DmQ8}YTg#*c5 zT_x$9Mq^kJJV(9lzi6By5lpM^DdUJJx)-sjt7tfy+it>YH0?R@g*hA{qAA6ASuC^x zh@eZfG?W2zK&MQTAp5PEXNuSJ(Rg_Vd4myL6+5`W4m#ZC<8Vaqe;XB80%sst$sm$i z`h~s5;zb84XaTd^HvP5LYIs&9OLTA~txRwdeP=Ir6dLiDN|s>SH^G|H43B0x%*=(s zAr{g-%yvN`7KEI<Zp;$@g&MPS~#8W&G%QeLQ0&thc(Edvr+1O**d>|)A zG%>UJEXQ-L_1viRFB5<69XrB?armPJCMni)Sa9FoN-;C68$b3~hDb?uhE0}Cbed<9 z3$F(;~hf7V=}Mv=bvQx{tPKIu-p#ENUYb z`K|pOrAv0OH?Vt@%-2wUlR=w3`Lo!%l6)3GZlQH&?G?Swgo1+XzkDNyWUf!k-MoTR zwwNyPZubev0NRfO=k9{Q+lJ@^AF44{jNqA(wNX|2qYhWprMtY z9F^>n(@Hb-#Us!hOBh+|;pzLAGlZ@?OE|Jf(2hd=T&T>qP4o2Y5@r-7y~^M->$*s8 zU-jDamj`vAt}4*cDHzz+;P#Nwcz^kB?(?h6!rG6&^d_arz!v<)g#RI>SVUor!Ax1s zS4|klFLiIZH5Khy>)YpFKqM*7Ee}U&BAN_>F>KI|KmFARF92=i*4?I699_Fz(`TBiYgML7DP zrgL14wf?wU^(0@Dj)Uxb5vvLIoh*Y>G6x0AreFpQRA zgK6=7dBuecrM5p%Tyh>{p89m?e;cRTOi*U#xLGMV%}|ww%92fZLcgDq!mHMlgGayV z$J^HsteRZ>pE6~*8utiM10~UZzn@E7POqY7fKp8y_R(?5hi#iT_+K&qhiqAN-HWur zNFy_Fv%!KWRY_aCE2+2nNNxXeFMqb$1-q79UT!)Y>R2us;a`dL+^suXHn3_{i(?k& z5r^?g0S9OHudr8*qXf3EvRxcCbq(fU$E`tw^viFRQ`5Fm|X%R_ZTfc!CP2?A5(Y`g|E6 zQQ{%fg=qfGK^nhe+Yt7hQjMjJ6rQJwFSZy$X->|^(>%N?(qI)TP+{CRyM$MoiQeuMItWVXF;LQ`am%j@Oc#JVyf7-K9_gJU33q@yY1Y936_Uhb(2QhEFA8t4?Xy_>kl=v-akf(fX##Zu%3R@IhzQoZ;2tWc5U7*{ zZ=Xuko5BZqWPBVold4g6I9!- zp=EdKFM{pWTkd4LUP|2$3e%EadgiU?GEP=X;PX7b>y`i-GWm3ep0*6dr7P)@gM!ey z%ttj1N*5Qur?=-Yd5eyz+^G96tu%>{or`8thUSqcbSZI=eT4dT}wXo6uPNj{hfMjJ|)8p3VjkE`PAwMt$4>d79eC12K=wk^MX z&RN1QVA4(>kMf&Do`8M%Q7tiLMbhhy$zF7qM)ZZWpp+IF%m#CWtb#hl`&Uwq6SDdG z!louZTzLkyK)_p^R+87*@*X!Mznp89`028tq}_9hq`d!eVc%Q4_~zdU0sBD`Oo#}W z5VyQ_s%;Ampmjn;6BqSCY~eM3*#)duABDc&FlpWiIsUv%CUf%?UtCl=pO!YhEPbJAirBcT?9Z4ObR+YNFADh$Y|qWxt&i=$ zPsBgrjIw^0b-c=(H%YpjTSo5%Is_W0RMA_E>1At@p6%LL?XqMN>_$Jk{T0*9p~(~h2gRv}p2r(_|7VS%7M2@ToS`>3|b*wz^1fjN?S$!9VKm6tK9 zJ3~8OD8e)AQAzW!use$fv!|X_8}AWrb`0mV%bFz{%nea6JQm*`(OHB}u8+}#`RGUW z##D$0QA!^$Lat=zDXdyrcP7ys)_}_=HS)=ZsmY)j!I(lc zq+-pej>qOR2L_;k1&>Z1*xPRyuzyt)!EJo^xQze&&zOJpy>!l7r~P4}A=@jLhTvE; z6Gz{Iycp|Vjy^TEv*=1InPEKhJ@tF#D)zIyt@W?Gy)g4y(88Z%mVjq)8F9iw*RU~3 zJMAfR@y&H)%^ysmRP&i}QTSm#V#l5o!gLek((8E>mlI^?w0rp(r0cM7Dp%!!3ZG~3 z)u_jkqY#L%5J9KL)Np(kKKaw1E*}`+8X*w6ua2=?Gu#{y;HVmPhWjzptox^Z)M;^t z%)ekLEA!VTnKScO$E-~27Hs%5xMP!i-1o-mlw%U>)`hpZlkj(8=6AK1o?xQJND3Ax z!QaGi!R#xP`jkZpogaRa*hWT&}WSWOp+*MUjR)u<-5~aB-gJAxQdeL+|};o zqvev=rr08ibhTI)w1nzf3-d;T#g8=JP&k8vZ{$V@30IB%uwnKR5ADRJdL+|OonK}N zfngyYkoMqk%H@D%&=)-8eIqAs#8GQ8ni&wW7UK&WD-Xt<46Jp({dYemgSs_mt9N5; zwPBKHMlb96S1c}bYlZia^6h-=_C=3JT8Swxd5(S#=g6XMUIX=Zjy8K;6v)HZYe;=7 zI3dd@18EZ;j>CMT>2)#O4Z$D;FQ&olefP8;_I|9?=@GQ|7$Ce2qjVU15$AtgQqr*C z{w_E37azRz`n1l9iX`W|8vWW;3&!}HBv<&XZfi3ovU@Udi)~YCUn>buS5&nSQj7Y{ zgC7}G?ow&HD-9g>N_sN__FrAqE4xoes~??u7RKn5qCIfB`0qxJ6_1YG%OWDtb+I{ImO0j(yVcjqPgigADa-amI@8MrZy&!)Z!WiYpSdsUxi~9V z36$cz@&C5Wjak!tErkC|C0N&4sPI4u=(se!7Ck@bEP~X8e*ib)vqtPyGnIureDvXT zLKlgIe2X8=S;1D5w()QHbny^DN$2X=KDd31DT|^KqTh@h7Zwee6U^y)zZ&&gZ17tLHnd$?Nj4ED*xxEd(HmUgGt0781er^Kj^{vu;?AeZpU)#Nv8KZ zS=|d;)Ru2Wf-{<$%xtgme)i1odg;QJla$K5FiY`2au-R4Vs=PZI%GWS4LM$omxGV5 zdikLrCw@5>V&9Js$7uJj?rSE#EmxRZKEJb^%ivXMKpn%;IDPZ^O2K|z@O#x;NPA_e zV6OB?X}PQ)KhoXXU24IP;or9pRlk>~a4#AcZ8bCO9H)k(UWd~7%x^5ydWS!GQPQq7 zj%K>o41!(KrEwCJ%|G&}o7|zM=7IMD^vvirRc@ahP(#=(<67Q-=J&KQ+B{DB|xOpi@ zV4*{ohYm@N)s}L;2bdvTDJxe{zxN*xMkl)}Ow52w($2nwuO9g&15vmWB-$P=&II`=&iiB=-4~vCa$@$;3rYtBmmy`i*F8M|6L^LN1;lmAWOp%_<58kcKTx zj{O^&WCU-&X3~l#Vykr_&Y{W_ooYXec_7Lf_7OqYa`!NOc^qFB7k+u54WDc+DD14} z=~~vS)7rcuMr1a&`j#bIo#D3B5*y#D)YQFSM3IGDTkwHpc1J*tGfm?4;ym$MdkH^A z9F)RhnM8H3so5~yxpyf_EH^P^I;;V~kV6tB%Vo#bs6?S_FN-{g#z&v!<-P$8!z=}Z zW0R_~6L%5zv~pcl{~-*-_?xO?)q$l$bmCjjpcns0%3J?P%B5J#Zk7(`bndUoEwlLD zC*ltl`b>qwCHftvhaj>Q>5TH2!N12T=D<((g)D>-<=@6eUZ-=2;tW$^OOl&!l=&xZ z+0wbV##vXWJkosBg9TSOg+030$I?8llc1{9)jDPHs@jEbtYJ4ati)SI*4;=f=#| z(L=^$_I`hGhN6>wMA2M0axLW%Q2?YGrKxNYIknL<#g(>EDiJ*_C@>@QQb-rcqtebY z?cT8IqiKTTmXBL9DoV@>kxW8w0vwN8Sm)@5{bFs_<7*e4Xama#5!WfqY6%P7&0fM_ zX*baY5d+0KZ-%JvKZ3RS1TR6Yg|Xj@n9t@RT##BW*DzkfG_JLG-6zTzJ5?#m3ab|y zHSgSQ)`oPyZ*9eYBC(BE`mhg69o3`Xg20ZlMb6$b-3Q-jP4(s! z_+N!P?xS042MW8Yiawr%bi9exsw^6t$;0=sjzT}@MIaqBlAK-unfa}2Jj|s2nPfH| z`&}eVq_~~=)hdipzMAl5{!GId!G4zD|F{!r0&%5(?u1E#ZWL4iL77@R)|_*R5!%&F zVBW|2X6Du!s9xjUkD3z^+i z{DGtTypp`iCaa2KpJwFzbLO}B>p#Rv8U?boDTzru`5)F>qB1AnMCSZ4982{&P=MEl zH4n4LgoHkhy8XF3bRg1VD-tP3Nm+m@{1W}ma8Y@uXk6-t4U$e>@hkMHh(=hM+?SN$ zQ=`bIi*9e280*oNCLWm~R#L^7tkf4t(9V*KWr$Syh)VxNHAPfFdKhN%!C=T*kfbV; zIeIFrCoI7X&Ew}KY?^W$hHQ#S^4Ucyq-nw)_5UL9+Z(6S3dA5h5fNB@kFm>_$xlgN zBsv~7tm}CaT-D)$SQ6!+e`<*pXg70oMqu|b44S_w&SW$m7 zeN+A{#oND%^Y}0TQn;iv#Dguo9(`oxcQFy^J{`$S?DlY30Em1?$O)Tv6mp@hU2+YB z>2FS3swS7MRqEgflzfqIXWMS%e^I@hfaH-ePvJ{I=um&t!kq?BnYyJC;)yxY1DQfL zk+G2sYT$pZ?&CPO)xIb8kS5$=o2_nBCql`uSYyCOq-#{2tE)GX#rj%5N@G=k?wIQQ zbawoS_-rNCrtFAQBW1kR&HgExp2g2o%V<$}KSlKDV$9U!e$b;4 znqPrTvyW6m1KmoNyqGfXG4z^wh$5VG*ahQ#-%%EVd5rVlm@^Q^WVOESx+Ko>G^~;a|jdWEm?9BUqsc{eAuV<^zU%He=JfE~t#>q?828PzA@K>P3r1U)$uUpG(k~O}j=Bh_Maa zt9xA3{nK%2kJ~$USEN`1Slh@->fB83R7?=Ejq(M5a`t@v!;)YlbWMe1O74R{NHxC)bOOLuddXsp3eC2rX8ri){;0jG zj2y9X(yo4TM&y)vkyX}D+&t4?cm6^51T4A#qI=4Pf(ph=8JV>QTO!3Ou%mcoL|XK{ z6rm5nFE4hUGjS5SwZQN-6MeO~lwO4q81L#=t2uh}sLc=de^pG+@FPhOM+pDwzgsJG z>jQS0$me|-_o63Q?qpA6$)=*d_lGo7P@7-Q9O#e$e&d&Wbv7RuSdolxNqL~SFSDB4 zYonZ;J^SR;afOJO9d}HB^)u8xz6H3fI@jLP56fqK*dLj>Lot5Og80@aH?sXfvErW0 zi2`eYe@k*{*(X(nDr6YnVJ_=--PHMd zeuVs-O&1$vt1Bby*ezvY(J1tbw(Vrxn-W`g!Ge2A*?)X~W%v6YOy?*`ntO%HFdV+O zm7%{X?Kduw_)2p>z?V6lK-aTGha3J2UqV&Q(SPN&1&6<~Q5ql4c5*pOu5>jisn~WT z!XeH$Y?yMZkLVWDSDMe??Zjh1bjFu6Xq_gm{qBc73j8j>;zKPHKXsw!VgI7Bc;D#L z6T`~!WFYti&i{kB=$p?n%yoDp@c{*s44T)=f|p&j{Z6ywY;?>mwUvu}&e(}iC;RAs_^-qQiy zht>hAuL*vyQ#K)@LZA{lj9mTf>0A}i$7kvs3VIlEw}4>hz@89N{Kv3R?zAkr`D!H$45H^_W3G~zuO`!F)c+_~tWDR|ZhwN8VFPj#gGGo@SeQ!|63 z;_B~}8ayhEly~YW4gbatlqYoeJkSOb{@l!x{(yYN1F9i6Oa1^18oN2^R|BH5o2fKr(|$G$>%vE>wXE&L~T!0HK;${fu1r#3Hwyq6&Cy$%_#ksS%(%2X}_;S%} zPOA~if{WZDggXT!>&CF9IIv31YL2>iM=$k}Wa2YpXnsW=%BDs)UXb2Sq2?^l#~k&O z%9Zf*Kc~)Y#r<=9`~SB-e)MdQOP;*8F{+9p=+j@g2G5o&V23}H%oXPzu<*kp>7MK2;h$OZ@2UrC8A;6C{=uo@8XS^gn5 za4VeqnH)qf`8KgQQ`f`#D}ty-q8GJ~y8Wgld(W<(;z_fSabEFV9u}Tz@$2w(mNidY^4#aWxLB*nC7+EvxvU$x5MDXqG3dDrr16 zP>V4#;29BN;b#!Z(BHR{-*@nEeqt&na{?RxIK?U-iaUU(7grm zif?##Lu26KO~#?kVp5*exOl|xrrm(zo2`6acqfAPLwa%L=-Lm{++tIpxJ51legJz+ zI(GD{vX}ZWAlvK*Ap^v8!uG;B7kP(V1MEX|1Wxw_6%Mgsn3j$?lc0I?*<7c|7Gp4K zR9iPGI?0|r4Rs+0nL2eV?&*tVa=qoWEDki@`tCiHU2g3|vUiVp!4T&#Z+746e}8#e zh8gnk+ZKhjwlwBqI$WY^W@b(!$j9DEJ`SJL0*%Lo`tuXccR1Kye3RsG^dV}Eow-&X zF&WBAVsg=oW?>WV&C)tro>kWsFDx~R`L=ztc7e@Zi@CH2a_ zJ;V8;l@vh#W5_UVx#<2{~9Hk>LiGjtKEE!(K_cFCU~-sruT zkBwoOV%S2n`1XMRTW5LS zT6wzCm$r0gzXf?^z2Npt6CPGj6`FJIV$RFQuMvq-_sNEwZ8)hP|M+B;B~%|Eqj)Ly zqU3O7jZxc6>hvRo$ZD)Gw!!#|cS-Q>F8GEw{iwwY*k|8|&V;}8M_zDqKi)%`DQdaP zAkm{GxeX@J!q$o7(>sRLvW;kK&#s=8sISv77D-KeWFl82SL0oV+JZ^gW5*WoI0*YOsxSG zkh3rT&)qe>qE(TP`>SV5gw9&7Mwqh3tVE;4{9j#Yiitgn24i_> zPwOU%5^Cy%(C7s#L-WFccD-zYK&?h)Yr2JIp_UN>g&PFSxRV{qE(w=Q_%6wvel(ms zwU~-Nsy;*NU{9RrnaJAgf`!$qI|xyy5={E&cZsaraFR|4AJ*pnAs<}{sPIVL*^6=qRA+u6e52LSx8MRb-Uz*pRz&z80M#HQo7fTdJCSSgLp7r{NoH z_{^f{OOk6#5w%P07UALu`G}j87}k@<=jYPrrn?yVk>)jL=DusB^V^r0S{u?%`lFgX zy}6_|W{eQ&qF~99k^56BhuPoC`uQ6i%(zx#3Wda4r)*7pXZ5;=t@7|hVMae={0$Q( zFtodMHtYIlmilGbu-V+0WxD!LP~-xMX3EZpf9Xb*JfY{P3g1vCkC3R{wV&^Ozu(N5 zk-ad7d+xzkCsvFi zOr*E!`FTt50zUX8$%=3&5FQu^66Rtdyn&K{m`j1{YlTCoP?l z!7C7)mV_JEEm`oRnfnnYBi3bcmg(}N&p`@ZPUtHAeju)&w(Rik`fqx2dfVSRr5O1Z zr!o6&7$n)Ly*S^UkR(tXUJHqp*AC?BFBlEr?K)B4|H9l0*S0*0cvwn6sgX`ME@{Ptw77#*n=5=nB?43~p$Q928Gi)J?nT<64 z$k!mCMS`Yt>C}uFRdy0QHH>`7E>L8deaS!N^A7HYk)cf$$YlQ}VJ}>@k-2v78wIn? zm$sr6ZQc%69G>h_464?~t?Kbm`5?8}ef)GNbZi!~F_sC9O8xmAfxeCUQ)8J9joxL-enT*1A67yKAOj z*^4kQ?D-+cAp!bV@43HXhZ^MVfq20szlqvaj)lsqiS!>aEYsVHur2pf@3qa3!uz<~ zx_s-iI4oHqr79V4U;V@E2yrHpZYXJ|?n%K1IdTqL>{%;Oa)fG9oaLBc7S4N=xs(ZA zfnyiEoC(8fa?VWW1$P+wR%Rj*b;_(L7>v~*E3yw9hFg_kCSF>)3l$2~tFXb>lg|?P z!jUUXKT?FBuyZO4SK9^ssrY+t1=hX%8TUK6CJJSu+LzY*C&C~De3LH%#nW`KEIQRT z6Slwr*F(7aQ4w%PCHP8hOyC}>A*GI%)K9wXX5KC#sJoREo_LB$%Zs>)qjhvQJiH%4 zTd}RAQieJ5K+=NnQL3&wf`s3*G|)-H<}%&1*gE8f zDQ4;+!nI|*E^Yb^&Tc?t9wgriXLhJnw-(Jwi%#4ay!4vEDHmHc!go&SlxSpi*M#lL zi_nsb+rKuM_K|QqeHcajIyc<%v?vcpzf;52V%6MfcWzXcNF};|BB}M*^8BmO^p0qu zAE27sSeEviTeh9lfsGSJcyO&a2NpEZtiwU01y!fQX}g!TGS`ovQFhs{I`$e+1Bpq8 z4s)s6t_qnnc>l^@bmtP1+w@vF^bEGl;ZnCp(d)t*$jbr2NFv0%oB`bWG z1!faO%Gzw5bHs1Xh~;>5JGt=yeCH&n)@jDDS}*vE0Azp0m)rXcBy(h!sxs*WhUQic zEN2><@`q3PiUhP=DOPMv|Mo&nuJhNK59s{vUBtk+nX6dmlG_7Ixc~HpMcNQ;B4RR= z*4QMPg+w?mTJeNaXZ^F|-JahgkjkHrmXCGp2I8iC49D~4Y&~5fyDu7!J7qI-!bfbZ z-0xV1IMn6O?Cl0v`87hbU$(xOGK;ZcITy}*(9f#dxuWfK-Z}j{DVLM|JR-Qg$4i;n zzWvACX~VIR)N)*>20k!#yH-#x8#LWJSxI{z90tw*74NZ-rNchU|C5$$=?R=3tg^+L zzUh<*)q*E2-j~Y6g(kh2P4qn8IzRK1Oc9nCPiX1NOojc7wcL2km0+!UGz6WxSt{XYFzT|`n>ebihau9gA;AU{ zbdcW!INk%xtgX3C?iXLZ-}B`LyzYvga64B>Xfxr{Ua-CcSXAcW*kJ}FJZ=NmwsVQBG z=#<;2oDbcyrmtqyUWxq;0cH1dxn_FloZO4Sv%^Lk-Ud+&mH4H!&5+LVbWkgfpL=S+ z`xkytI8(UatD5{*h$=r^b+jDHbkOl~Ijehpo$Li?8+auCOCn2>lUbaL^vS#-)?PGH5aeZ@aJa-gT)XxGFNfIKgaWr3ZKo*+ zE^Fkloyh?KOJN2SOdEk0gxBVV3vv3$R&3QCg{_>*Cs~t<&v@=uk?O_vT01x(+}FlafdN>c3=sj_M!;Ngjzf9 z405Aeev+M4f$ngKMuFm5M*qwj_!SMroy5+13d?2ndBSCgG2F{-|CdJa*L&A2RR-^) zhf}f2=rk?HtX=d)?)fTL3kjVgCKux-k?6*POexs4W2Nztc*|ulxPl2Y>y22r=Ax3Y ziYYLHqBpntZl=|%x#toMDPC4>@yb{uKgbDlaZG+<+SRo9f#6<5_$| z&&BI~wZqE>D$9kqh2>Ta23dLd%V7cG;lcUV2ka`9jBX=()%ZpUy)Oq=(mW_9o%hQY z9X*g28QtlmoiF5I9ga^wZ$~X1dy|I2XSAwoHaZr9G*a%=X}J9OL@QV11fvCc{3I^poR}u^O{v|H@2fx!$HgrbS+v#F=x7cemVNc`kx%&>#t1(!J1do={)J5NOn; zG^yL>@LKuOYb!s(d5JnJb<_o+P=|H3zN1};=Oo=l0@3;6<_9y3CbsXuxw$1QOza6c+l^qOsH2*8Ebx0o(i;7}|!^!?%gCKM7}6 zIYw`>I0TG2P~L2X9EhZW6g1uHK-kb^r9(a}46EdfVFTB4!Gh44?AMjj(Ogla?+>K* z(8!xdi{*gi`QiMi0z^$4FiGcy25K9FqjOYe`>D+NJDN-SsFEYYzs`Ie_ccDPTkMQZ z>zqIng)I%Y7wmOg_r?DF@lMRY?M*I27z9u z(&R}r_PS7OEo@}LBih*72?B!zTSEn2UV!%By<2W`;eFz02}kTvj(xi)S7>EidUzMH zLSM{nn{uV+E$`|y|Jg;Q)QgiIZDaMgTqr#Jk^lSK|Hf7?Tu|c9zPrha1w-qdAtYtq~YLFIB zVomF~m+zONOvq*;zI-mTG#-usR?d?Otk?UC*ulu9N(Fw%S>5$6B2_ zWzW++s-Lr&{KA-O_uC|2R8)<0y86aP@{t%bhcU9d!;0V9G*<}5y6&hc{II>^Gl=B# zRmFE#7^2_>8*K^eFJav}tzRP(s@mJMUZY#(-Ti0qHMmv}aulZ0;kmzsR_eTOx$L$r zqkk2dMfJPLxA|Z}m`<=KH|&M3z=ojO6EE$%mBLjyTDhlxygg zCwxL~_mX{xQ8OBcO3%k;rU&lJoo>ZBMy<0O%iHOKG8mS_fge!6eYlQG;Qo~V*Y5c- zQ;&i6Z?UarmTBLb4c>PDx(a_9{-$TUBdCrlaAI49mPw9@QG6X7Py0S@*`j$GGN^iM z`cleky3OX439QqY>92Z?e@Hh&E}&5(pffiTy1d`~!>C}Knq5>7u%@*+PQ22wp<8Qk zh1!BG7M8Hg?5RM&OUiB$q zMuDPfy0aMe2C}KklHs7^?5+xQ)k|X;J})7*h-Pidv2)3hEe1#K$$AiP8mxla7y$8K;XvW1A5=OP`ah zMGPs>kX7PZr`L-xwBpAFM$|j+c|&IVYX+h3kUgA+z@q7FlDe*}P$d7>sEUY29k3Iz zaK*K)?Yuw`(Bpnm7@x;pbm#ybl*rKM4mQ6RnVH`JXCW&nd0?5jir!BgVOz=YvgFWK z*o6|#>i!0q+fY=0E`e#?K*o^`1XgZ{dCm1Km;8zks#-T;<|sH~lD$KQK6Zh))qO?S z7^SFo^*s{)Y6+$kAAVGE8FD$aVZ^im5uSrBUELcs8HPn@P)9MXV@F@&l>WMghxX*k z0RNpeK1#oHX5!4xW%b0nK*4-2K_BCS=1h(zg?IFI8?Pd_H`p?vYFs;bh&|q&PZ9XO4q10tf4*VhxXRQ9PYGn#@yHZh8Zr+>&{mdsm&I~hBP{ab zx2%~cIBZiwB9>*LR|<7y+D6v}_$Yau`TkixY8`*{7QG4o+-8RK=j|vcxOo9qf#KhUTZf+6VZc>4yOFdr6A7CxJ1EWL zl%%W|<%|Y{s722Wr(`hfLuT6^BL8c5n@aKOQHo7Bi^yhQdzy|MIDV;LWsDWL*k7eC+o^ezU9>(x> z26hTEY%wwXv^6ZZzV9-R%Nz%lyC%g)%}fwY{dNW=O*|1U{8dv99LH=x5}>7^a@sH{ z0?5RPw&>Ba^BJbK{x|>!dK@4{5bABaeFFh2IiHS8Fk2woBJXBofBaK9qFS?{i4V=a zJ0gHVUsb{a@for93RioGU1@}GB%y%#v&CUe#NQF z01PALlg7c$+R=uCa|#Pcej#j0mA!}&b{rzj;I4{r2L-h`p}hsF2YM74YyxaAM%`MF z3iegE->WxHmtc}Buf7CFjDU|BiQ;VfthFtuF$= z6%F^d7~Dps=y7+6P@$4i>LeU1)IKQ+6*I#{-}}WRA1e|%EnC$G49Cy7kai|HbKZ!C z!pgacuU6an`?q*V5w}UF-%~$T#M2rAiYCT6evdw>^re&yqjyO>eg)%s{A%2NT&H9) zc}Xp?79Zul8aKyUV9TVaOkJjGXG4rwmvc^99mRLVp|KYB0A+!wCCEXz((yB_DmEjQ z44*>28rNTe#25Pa0FB1V%oARJzD(L_ta~(`p?b76r`QF5A{B5XXr31K@eJ;#IUys= ziFbR9JrfHnCDls{!QyHRU@5ZsYyTXi1p)$fOW>CWTnchJWUMb*9@}lBHcYrf9_Kpw z_;9LdN`49Qd!vymBl$Qgwox?J_9CU(GFyMldcE}=BsBG#$eoXK=5C#}4_!*}r{{N) zT?=_SKQWQxI)MYnPr3c1VYu=l5CNtO&{mf$AWJSC zRu4$yp>`ECnLt@v7a~D-6DEz1!_~H_sN%7&Y%d}|03h#ce9uJ-apJKZHl^aNBG$+- z*s$cg-8Ub`Nd!IpPb|QJh0Xt}Bvq*atY#ok>rzKH$e`5J5@h zfrxW1q+M0{BDR0B-2(np$pj6sfbvba zBo0t~aF^BmbNTPb|NE`c-C{g2WOq|nsnZu+H`92t%)9&8tmfh3hnKf`tRp|{6~d(M zR?Rua9QiMw36C8G_*!!b_mMkPa9hvdbV*CQ-YI?h)B+!Gz`dw)fD7pJ%9m5*!%5tQ zOOLIM9y(HE^P9fLww#Lj(1sO7K{1nAtZKJH8AzjcKbVS31@74@KpM`wosL83+0qbBj8B&XTzjs1Xmsm~(rGqx$JVO}<_yE)FcG^F!- zo=!zeX>a~YW&y4{-qN%<&eOj2N_60KOnEhMgZK#v3C!>&|bH!J3i+_L2Eel>6_=g&Y_1r~V zi1e6|5qA-|5@3PM9>sA>f-Uj>p~fFd&;g?V5cx@IR|C4TjRcR$PF;9R>XW-#4+Ja; z>6C7x%^999xbyT+I^E!d6kc(R6hAv-^<|JqD~?++fAsqwJUj|S3eW~Gv;c-6)6xUL zfwiJ|KZGrenkPK=8PJZ8;+O&2d(E?Ce6E77%+izFD{ZqKm`C*}?rR)NhE-qKI-!1y zUpDM*V}Xx0q$ZwWgf>y}U^}EsN1SzS4+%CXj-? zzxU59FR2j#u0{8U8N>MWugCz93l7b#n$^@+R6LsHau0O#ypD>Q#dzbD#`Dti_2luK1V-7r?4a4J4g= z{<%Cy&Trf`%T!p;)4DHMj_z{sW-IfDq~E2Bjc7G{S9o#-^&@3D*>ROac8x4^Trn^4 z;gT%!xsDz4e{ByiwataJc03$*esGJ67<;3ad!%k;1L?Ss1rd00Gg#7&c?%%u)o<0~-n*yn!$<4)rB&>D25$d!;;o7^Du^DQA zsf5Yi(`(35fQF=#KKLbY$eAwN#g;aIHm3P1GVjy^iHdLYNJ$cS`$BEocvwS-R4yNj z*ey*($beq7K=;j`>NHq5jSW!0eEYbw`)Ph^1CUtn@+-D73VHa+If9yA`f64G`P>uR{; zB?58&olKx;{UJI680m%l`@7M{Zt7<(>gb^3PkBbTb&rL={tD6~Gp}~GOgWK61m*VE zrf-kbl!xG?P*<*U1mC0CbS?@Ppl=vFlM~tBUz!7%V6sjfpB(>E?g9n`XRsaZ=0>{* zH6n1r$rWY@vY z6nKYb?85g$7zYV$*QDSLM4H;m2w-$ik357f&1Vub+juk2WSr(bpLx)Wkywv5tNu>F zNWL#}mLej|FlWBD5Nv@h|8aQLMI>3$;RrW9{B+qHYkl8+(UYK$#V0%0*%SIYrXKzp+_X?0a>R&gl-CI>uT zfT5KE2Muss!>*A{#$$cX!N4Tv@H3(m&z1s&i{NBCD1uh~aU^gw$>^PhxESA{jT$dr@p4oztj25NjMb9)Rnp zB&ZV-5_5zc`ThX^?ZkNbeJs!;MNT!0L(3|#zA);lkQe#FVK6wVnE3X#N%T zf1~+db#7LlXdzI!!(DlJk^o~bKI(-5zFmEvL#>u-@Gj}1`c_eKq{Qb4ZMTJ9)Ktcx zb9GDy1A(mO|75x_8Rq-VDeLN6VbLqT+d!kA>>rfqs|;m4e`{+XFQQSaa>yRhVH}uO zarNRt@_&ncvtGNut1x-Ok`iO3lbE57j=2=J_iyEQIj+(?N(89X^h5$P=YlVHYw06^ zPNP39-=t&!O%CvEpjrW?U;}BNX^FQ7!vHTX_96vEhnPxW3xP(sdK=|q1-dE zWOl{D%^4_Bu`E{>iaRNL(s4NiSf1!cB23e!G~ow?$IDwH`7=lI@NIu1B<|RAfxHc2 z9BApG5^Eera|E0$oZy$JYpsQ7TH_}T2>6-CWD)2$$)9jL*8lY`Fo$AK3JiMjroXSr zRL15XFi0|rFJI#i8*OgXrKY3V0K|`a?;%bbv#&IvcJy#LA4Ba|Nbj_ zcB7DU-VoSr{gQPDLU@(-`$990ZcLaguRh@qi>|T84o!IAXFOuUcHKi+Mci3F^D5Lj z&W6zH{zs)$fcApfu63nD7yL&8d9xuLNpG88IuIdL<@n14Dw|$4lzDUCUobPaf|gKo zU>`Q_*`V!VL%yc-WE%Kuj@1r!zo;shtvPQZ^v6i*fY>sj5`n_R8<(X!&b#;@MvA@w z{tlc%6gozKY>0YlCpJ<~-i)OIAi{wdy8g@4LYHSamAkgLU&_KE=5p#kw$BdgD%bPT zPHgKLSq)j*mqlIiNT*&-Z8nMBxeo50UPG7MXlSJhcgNgW@%JjLAv|p8)Lc;Yv87Dw-Ggvj+K6vY{c}OSNUffUG z`SsU$w|m|n;B54$n%JEhb&YpmZi!hU%sK z7QY{$lI<`z#e%E4(O5sI6W)aavy9TU7c5zz@b}56H+wHw?J|Z$K_Oya!?muhqISzN zhV9yd&p>~-7sBoMUs5*f^SWRBUnyJK)ChK{O$cA%>vfTZ0P$Muki(WMX%S%s_^33L zP1Pqkcwqw-=QK#Ig>HewT8-(Pzu11b_TM~y^jdJd&tScXTt@KNVGZ@_Q@lX_Z%<~r ze4^jU({GdAXGF7ZzNn$hCrG__?XTI=cZv>u%!+fNQma?!s>z+$iL#Utn}#+PVS(qQ zds^%1dP#do)#DFskyE~W0ZbUv`Oor4+oPs$0i=!3*n2fJ?elH~tQ4z%S=jA|zb@Uz zEEQXfc_ml7HSMc5-m{&(#$UVodzEI+3ULy6^KBT%uXej*xa(c6d5lLlG#Re80ywwi z%4*3hMK~5+6FriBkLA-aZ#dMXE0#SP89A<;a^kKF?EPgbkP#+HOnyKR1}WTNyKa`^ z7I3q_Th|5v%$2IUYop9!>=p6~`o27^TO+NqT~heYQ#%^l`8cN@D6%r{&UU>NxuD%E zfjibi)I)+yM~QQt>hM#KI1qYP{&R%1kg&p(Z_Y)f{(0r)s6QM08O|(QllCFq^tsWr z3dv$=pT%a;4zXjKCpdyziBYYF%wx6l^es~ZzOa0kX9R6B^mXW3RPWx{Xk*C2kV`Sz zyY%pDS|^05f(i8zm^GJeL_~<fk|1R*rMXl|LFqqPU7J&7)AEBSK#x|kl2`B23%?H0yo->@~0)K0= zagt>P`3osPUB~3|Dv__ zR5p5Cc?{xR7Z`RBIfn^YCEZUDNK*Rxw)}xk$srOgs#JeCbHUojpXjGKuhWaZ;k~aH z(P=QwZ|ybvyQSWbh#B@@z2)0M)ww!NoVb6_Dv)q-t#mxVxN7ve)(Fve3*l#uAwBSl_}kQ{K=mwk`-mOFXivj+egjSS#$s zfPd6>3k_z!1hPxeWnFuOSP6qqF1WfBxiFPzM#~5Z5A7!(krLVts87GlJh%=5r`fJooM}Xj zeFp3(`ie`7$|9KA(t_P(nY=aS$bDyJ{yhx*9)+6_fq%_q?~zAYglw35_-nkrqftOe^w@Ni*N>Mbk_Lb^0zUgw}TzG^33D@ zLc3=;S@YxAg-=1Ek;SWUc&G0|Eh53FpTazUvd;PPtg6^7E}#F6hswWwMW*k-5)hsM z)f)mYUwn9(2lr(hF7puk(Y+CY-cXd5wP_(=)Lw*sL!@>@3=@NxFCU_dPZ%e+TS`p z=bL$M=v>$Frm@kABcMtjYpfJ=gauBs4szd2?HZf=+Wjz&>|6dAU#r7DXkoDb%Ux)G zPr>l}R11gieex00GnE_jQ=3A%M`s}r--Lq9_;(tuyyE>Fv2NQJri()`HZ!+P-drY-8`CFaI;O@EC{@V$fjmdWLf(=FQ;iQ!Gi{&!Z#J5H4Z~E&$ zUk~SgQ>Fpd#0)9F)Rf`Fh_VAdc1-bxsQdF)3`bz+gb`@h+)ukaE#)&Gyd)rkZGx7R z?Dj{f()H$cY`_F`>VpveI?inATBu3<+{kTV9z{+Lt_ z&Q}tkRjX%*Xi6POwjW7!MhCb%2WC8OcDoB@zg*MhobeTDh3P_~{(-`!mF)a#F`9mg zQ{Rab_np|Z5tELUW;cVi_tiRr%O+~fVEyQqus(iVzjH6zD&{8)(>`}T-t8zK!m6Hm z!$(l}{67`*{xZ^KCc%#TdAU?Tjnz=7nDZd1ZJdb;H6defBqpT>U-M#P($L_iX zfqu4RM?CdP`iB|j@YCsrE~nM0%@S)@gS<$5`5tS7ajDt)&0(`HQVsfMk2tWDC~@E%=@Rdcc=VArLshCQJWp61QV71N$50`cIGH{Qvao zqFT(&{2Y3=<7OdCg)=AZPHpxqh$;-Khd;Uf`dwNIJ_@2+udHX5Qd5%TaQVSH&hL+FKYu<7-ks#WhmiG}F0JQ?T6iph zNiGyMl_-pZSgKeZ9fq6e?S>@@-22ebTVt216qG5D_Gg71|6x%bE#5+5Sk~t~%hqF7 zah;Gq+FcStMz6=Oay_b?p7zV=0kKn?#s!JPw)9;SLc?LMe)mZ}vbxoGM6+>v8lwc4 z8tp9(ne#_I2=lUYJVqGd@pF%$Pdi&CH?DoCk?km>WjNnqCkDMRa?xq(QgB zE9Q;KNkt+54zbmihThroDx0520EFZ>yy)vTxiXsb;bYm91kM1TqSixwO?mY>l zPq)Z9S^IzuE5#_D8a#%-DtD~BhZ@hP=n0X1Sg@UqoK{BQG~qGU6W?TYnCmVe9D9+TDup2QsMLw1b>Y0dPIi zVXWjNN}sdh#8})*GC}1o=Pv^*=yL+TX@U#_RA+V8tGr3-GeEfh1%jlCe!-DHLz1 zvyL?8x_3dRP3cbZG9@sM3~FIrBWAo{xDa;%Mzic@vH8)Y&hJgL-qB&XTh#n9N=uIT zd*8;Ho^q!7#x@COa>$axbx#Pl4o>%46urO-G;J05sJ$=9DD9g9@8_!MN^P)a|Mmzl z2^@>`nqqtbOq{kT>+EMtcCB!e*G}YPP=DMG@qGf%LsU&5f1k-;Gu-gN68;d@4NrM1 z31FAt%}!XSA)mHSYw*HMyMa&9@apT&(EkM=Cv~0+kqWDq_$dE_pWAn5|5yAx__9RJ zkcSn_!PU}v#@F!cQN^{YJX79GRm1TWyvOK}D>`JkSL)T=f~G$vdFw8kkL1A>H{Pk` z8EffJi$#}=r01;X5dgT45JTrcZgje|&@Um5D4*(IRJ*!CKE}6KQkLPzBl+K6i2|cl zO2b8Llru>6>TOr6?lq}hSc3m^-d)28LBRUGK0a?1$V~*tfm7QeEe&c}gaUE`3GS@0 z%=;9bvfgEt(=2aDxDqg7&%~?LIkrWihqtp&0ohlX`OU5bg1~6t7c$+)=mj7L#POzO+qIUR)ST>L*{zxA`r~CVos1F-HP~cd;W}e zv6H(S`%2H?jSW3^#;yuQ?9a3>y->PYHIn-0LKWA=?&C9q)QM;f7Y=scrYz<0dwg)# zz=%NMc>3WRvr>034w@3(2;WsDIDM^Xttb4gy)@kK2iHa@=$?)IBCUhZGc>+_!S zt$efPVe+xODLwy}84iEhN$qeB+<@vT6MtXbr=L>FEv>2#YI$0E5)L8y<)mG$GoBm~ zVr?aPxA*{*27ue4?Fmf+Afc}XJd%Mdc_ zXbpv7i*p@;BEnzwTd52-PGG2U2~f1p;{~1{HMfZY5oWD-4X?|a3=A|7vNq3>Mu0@B zg_coufy%@{v4uTUslur($yPL3fHgDuEy!R4Rk>|r z4an~C`p*<=^%YjyKQ_<;9#%6jJ-MbSfebcH1YkH-EVDjE7}h}s33|175~+Pd!`nMk z_DXJS+;3u6?ly&dXj{P>cs@->;rmLz($!QV*E~e<)|=oyyq#O;i8B#!$zJjvAj6$& z%Knr6t)`$PJT-zJHmZrwDHv0j?h(H??Wvw|+q~-p5Sm83fnN+y^BiO?pLeEyo)3u* zqLVs)+Jsg2PE4BUHc!2_C6L88KbCW9TB#O29;=TvjIBg;RZOZ|NBAIvHfBDgSsJJB z=@fzKpsfe_$CjFbQtB(SBV7$YuA<@=@)*k7iUcDB0P=aF(Yp?Bjgc>r(o4goy1n}; zM-X6BYS@;VGJuMjW|Sz9l!Blx#JOM%&w~U3_!JecO9p&{9^0~<4Dd{rv-4;wY0k@f zt-h#SFav*IS*RifMpb1i&rEr!KcFq{Dzz%$Lh&3)8k4WLPr=M(Y&kQJ)!_u(Te= zapPcbG;8QslJl#jp-Xdv9(#{vzcM;Hm7gGGQzeTeu6cplo0vge-hO3zsU42 zG5&vxpO-aP0Q&;aM9E2tYyO4ye`6N@hHU(eSos^U^LHlvI}`r@btb$4UwFRwV`6d* zEc*gmDKp&q`H1w^EmIj_;`>0O288c<{V_iNUi{l2e}&=iK=?Z|{GAp5YJ|Vq@UJ%f zs}28Z!@t__uQvRv4gYGxzuNGxHvFp%|7yd(+VHP7{C`>--tO|gbUfE2ul(brm6KAI KtbAu0{67F#h(4?U literal 0 HcmV?d00001 diff --git a/horizontal_padding_and_vertical_padding_sample.png b/horizontal_padding_and_vertical_padding_sample.png new file mode 100644 index 0000000000000000000000000000000000000000..be75a1f75c91ca0b83209511591991197abc275a GIT binary patch literal 65257 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

FZ6KR{*cnX0P075|E^QEgEFcYOCL0V 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 Xu-L3IJxK-TuuH0nT2CtEpN0N6gl)|! literal 0 HcmV?d00001 From bd0b762763b31e25b2e7673ca826b5c4a4bba73f Mon Sep 17 00:00:00 2001 From: elvis Date: Wed, 22 May 2019 14:31:07 +0800 Subject: [PATCH 5/8] update readme --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index e0dd487..4b95355 100644 --- a/README.md +++ b/README.md @@ -4,7 +4,7 @@ Android流式布局,支持单选、多选等,适合用于产品标签等。 ## 关于Fork -新增了标签间padding支持与水平自定拉伸 +新增了标签间padding支持与水平自动拉伸 | 属性 | 单位 | 说明 | | ------------------ | ------- | ------------------------------------------------------------ | From b12714959d94d8640bf9f4ab0d111933e537d933 Mon Sep 17 00:00:00 2001 From: elvis Date: Wed, 22 May 2019 17:37:33 +0800 Subject: [PATCH 6/8] =?UTF-8?q?fix=20auto=5Fstretch=E5=B1=9E=E6=80=A7?= =?UTF-8?q?=E5=BD=B1=E5=93=8D=E5=9E=82=E7=9B=B4margin?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 74 +++++++------------ .../com/zhy/view/flowlayout/FlowLayout.java | 10 ++- 2 files changed, 33 insertions(+), 51 deletions(-) diff --git a/README.md b/README.md index 4b95355..10bdf0c 100644 --- a/README.md +++ b/README.md @@ -3,40 +3,6 @@ # FlowLayout Android流式布局,支持单选、多选等,适合用于产品标签等。 -## 关于Fork -新增了标签间padding支持与水平自动拉伸 - -| 属性 | 单位 | 说明 | -| ------------------ | ------- | ------------------------------------------------------------ | -| horizontal_padding | dp | 标签之间水平padding | -| vertical_padding | dp | 标签之间垂直padding | -| auto_stretch | boolean | 是否水平平铺标签,会忽略horizontal_padding以及tag的margin属性 | - -### horizontal_padding与vertical_padding示例 -``` - -``` - - -### auto_stretch示例 -``` - -``` - - ## 特色 * 以setAdapter形式注入数据 @@ -53,6 +19,10 @@ Android流式布局,支持单选、多选等,适合用于产品标签等。 + + + + ## 用法 ```java @@ -64,26 +34,34 @@ dependencies { ### 声明 布局文件中声明: -```java - - +``` + + ``` 支持属性: -`max_select`:-1为不限制选择数量,>=1的数字为控制选择tag的数量 +| 属性 | 单位 | 说明 | +| ------------------ | ------- | ------------------------------------------------------------ | +| max_select | integer | -1为不限制选择数量,>=1的数字为控制选择tag的数量 | +| horizontal_padding | dp | 标签之间水平padding | +| vertical_padding | dp | 标签之间垂直padding | +| auto_stretch | boolean | 是否水平平铺标签,会忽略horizontal_padding以及标签的margin水平属性 | 支持通过state=checked来控制选中和取消,也可以自己在Adapter 的onSelected和unSelected中分别处理显示。 ### 设置数据 -```java +``` mFlowLayout.setAdapter(new TagAdapter(mVals) { @Override @@ -102,7 +80,7 @@ getView中回调,类似ListView等用法。 ### 对于选中状态 -```java +``` Date: Wed, 22 May 2019 17:59:14 +0800 Subject: [PATCH 7/8] =?UTF-8?q?auto=5Fstretch=E5=B1=9E=E6=80=A7=E4=BC=98?= =?UTF-8?q?=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/zhy/view/flowlayout/FlowLayout.java | 115 ++++++------------ 1 file changed, 38 insertions(+), 77 deletions(-) diff --git a/flowlayout-lib/src/main/java/com/zhy/view/flowlayout/FlowLayout.java b/flowlayout-lib/src/main/java/com/zhy/view/flowlayout/FlowLayout.java index 9941e9c..04b67d5 100755 --- a/flowlayout-lib/src/main/java/com/zhy/view/flowlayout/FlowLayout.java +++ b/flowlayout-lib/src/main/java/com/zhy/view/flowlayout/FlowLayout.java @@ -156,96 +156,57 @@ protected void onLayout(boolean changed, int l, int t, int r, int b) { mLineWidth.add(lineWidth); mAllViews.add(lineViews); - int left = getPaddingLeft(); int top = getPaddingTop(); int lineNum = mAllViews.size(); - if (mAutoStretch) { - for (int i = 0; i < lineNum; i++) { - lineViews = mAllViews.get(i); - lineHeight = mLineHeight.get(i); - - int cTotalWidth = 0; - final int lineChildCount = lineViews.size(); - for (int j = 0; j < lineChildCount; j++) { - View child = lineViews.get(j); - if (child.getVisibility() == View.GONE) { - continue; - } - cTotalWidth += child.getMeasuredWidth(); - } - int gap = 0; - if (lineChildCount > 1) { - gap = (width - cTotalWidth) / (lineChildCount - 1); - } - left = getPaddingLeft(); - if (this.mGravity == RIGHT) { + for (int i = 0; i < lineNum; i++) { + lineViews = mAllViews.get(i); + lineHeight = mLineHeight.get(i); + + // set gravity + int currentLineWidth = this.mLineWidth.get(i); + switch (this.mGravity) { + case LEFT: + left = getPaddingLeft(); + break; + case CENTER: + left = (width - currentLineWidth) / 2 + getPaddingLeft(); + break; + case RIGHT: + // 适配了rtl,需要补偿一个padding值 + left = width - (currentLineWidth + getPaddingLeft()) - getPaddingRight(); + // 适配了rtl,需要把lineViews里面的数组倒序排 Collections.reverse(lineViews); - } - for (int j = 0; j < lineChildCount; j++) { - View child = lineViews.get(j); - if (child.getVisibility() == View.GONE) { - continue; - } - MarginLayoutParams lp = (MarginLayoutParams) child - .getLayoutParams(); - - int lc = left + lp.leftMargin; - int tc = top + lp.topMargin; - int rc = lc + child.getMeasuredWidth(); - int bc = tc + child.getMeasuredHeight(); - - child.layout(lc, tc, rc, bc); - - left += child.getMeasuredWidth() + gap; - } - top += lineHeight; + break; + } + int lineChildCount = lineViews.size(); + int gap = 0; + if (lineChildCount > 1) { + gap = (width - currentLineWidth) / (lineChildCount - 1); } - } else { - for (int i = 0; i < lineNum; i++) { - lineViews = mAllViews.get(i); - lineHeight = mLineHeight.get(i); - - // set gravity - int currentLineWidth = this.mLineWidth.get(i); - switch (this.mGravity) { - case LEFT: - left = getPaddingLeft(); - break; - case CENTER: - left = (width - currentLineWidth) / 2 + getPaddingLeft(); - break; - case RIGHT: - // 适配了rtl,需要补偿一个padding值 - left = width - (currentLineWidth + getPaddingLeft()) - getPaddingRight(); - // 适配了rtl,需要把lineViews里面的数组倒序排 - Collections.reverse(lineViews); - break; + for (int j = 0; j < lineChildCount; j++) { + View child = lineViews.get(j); + if (child.getVisibility() == View.GONE) { + continue; } - for (int j = 0; j < lineViews.size(); j++) { - View child = lineViews.get(j); - if (child.getVisibility() == View.GONE) { - continue; - } + MarginLayoutParams lp = (MarginLayoutParams) child + .getLayoutParams(); - MarginLayoutParams lp = (MarginLayoutParams) child - .getLayoutParams(); + int lc = left + lp.leftMargin; + int tc = top + lp.topMargin; + int rc = lc + child.getMeasuredWidth(); + int bc = tc + child.getMeasuredHeight(); - int lc = left + lp.leftMargin; - int tc = top + lp.topMargin; - int rc = lc + child.getMeasuredWidth(); - int bc = tc + child.getMeasuredHeight(); + child.layout(lc, tc, rc, bc); - child.layout(lc, tc, rc, bc); - - left += child.getMeasuredWidth() + lp.leftMargin - + lp.rightMargin + mTagHorizontalPadding; - } - top += lineHeight; + left += child.getMeasuredWidth() + lp.leftMargin + + lp.rightMargin + mTagHorizontalPadding; + if (mAutoStretch) left += gap; } + top += lineHeight; } } From 470143dc4b6824d885cf35982210f1d49e885e8b Mon Sep 17 00:00:00 2001 From: elvis Date: Wed, 22 May 2019 18:00:54 +0800 Subject: [PATCH 8/8] =?UTF-8?q?=E6=9B=B4=E6=96=B0auto=5Fstretch=E5=B1=9E?= =?UTF-8?q?=E6=80=A7=E8=AF=B4=E6=98=8E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 10bdf0c..0ec8d60 100644 --- a/README.md +++ b/README.md @@ -54,7 +54,7 @@ dependencies { | max_select | integer | -1为不限制选择数量,>=1的数字为控制选择tag的数量 | | horizontal_padding | dp | 标签之间水平padding | | vertical_padding | dp | 标签之间垂直padding | -| auto_stretch | boolean | 是否水平平铺标签,会忽略horizontal_padding以及标签的margin水平属性 | +| auto_stretch | boolean | 标签两端对齐,中间间隙均分 | 支持通过state=checked来控制选中和取消,也可以自己在Adapter 的onSelected和unSelected中分别处理显示。