Commit 33617e4b authored by wanglei's avatar wanglei

[新增]清理功能

parent 50dd9119
...@@ -146,6 +146,7 @@ dependencies { ...@@ -146,6 +146,7 @@ dependencies {
// annotationProcessor("com.github.bumptech.glide:compiler:4.16.0") // annotationProcessor("com.github.bumptech.glide:compiler:4.16.0")
kapt("com.github.bumptech.glide:compiler:4.16.0") kapt("com.github.bumptech.glide:compiler:4.16.0")
implementation("jp.wasabeef:glide-transformations:4.3.0") implementation("jp.wasabeef:glide-transformations:4.3.0")
implementation("com.github.pokercc:ExpandableRecyclerView:0.9.3")
//可选 //可选
// implementation("com.github.angcyo.DslTablayout:ViewPager1Delegate:3.7.1") // implementation("com.github.angcyo.DslTablayout:ViewPager1Delegate:3.7.1")
......
...@@ -2,6 +2,15 @@ ...@@ -2,6 +2,15 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android" <manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"> xmlns:tools="http://schemas.android.com/tools">
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission
android:name="android.permission.BATTERY_STATS"
tools:ignore="ProtectedPermissions" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission
android:name="android.permission.MANAGE_EXTERNAL_STORAGE"
tools:ignore="ScopedStorage" />
<uses-permission android:name="android.permission.FOREGROUND_SERVICE" /> <uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
<uses-permission android:name="android.permission.FOREGROUND_SERVICE_DATA_SYNC" /> <uses-permission android:name="android.permission.FOREGROUND_SERVICE_DATA_SYNC" />
<uses-permission android:name="android.permission.POST_NOTIFICATIONS" /> <uses-permission android:name="android.permission.POST_NOTIFICATIONS" />
...@@ -17,12 +26,7 @@ ...@@ -17,12 +26,7 @@
android:supportsRtl="true" android:supportsRtl="true"
android:theme="@style/Theme.AppTheme" android:theme="@style/Theme.AppTheme"
tools:targetApi="31"> tools:targetApi="31">
<activity
android:name=".ui.guide.GuideActivity"
android:exported="false" />
<activity
android:name=".ui.guide.GuideCleanActivity"
android:exported="false" />
<activity <activity
android:name=".ui.splash.SplashActivity" android:name=".ui.splash.SplashActivity"
android:exported="true" android:exported="true"
...@@ -40,6 +44,30 @@ ...@@ -40,6 +44,30 @@
android:exported="false" android:exported="false"
android:screenOrientation="portrait" android:screenOrientation="portrait"
tools:ignore="DiscouragedApi,LockedOrientationActivity" /> tools:ignore="DiscouragedApi,LockedOrientationActivity" />
<activity
android:name=".ui.guide.GuideActivity"
android:exported="false"
android:screenOrientation="portrait"
tools:ignore="DiscouragedApi,LockedOrientationActivity" />
<activity
android:name=".ui.guide.GuideCleanActivity"
android:exported="false"
android:screenOrientation="portrait"
tools:ignore="DiscouragedApi,LockedOrientationActivity" />
<activity
android:name=".ui.batteryinfo.BatteryInfoActivity"
android:screenOrientation="portrait"
tools:ignore="DiscouragedApi,LockedOrientationActivity" />
<activity
android:name=".ui.clean.JunkCleanActivity"
android:exported="false"
android:screenOrientation="portrait"
tools:ignore="DiscouragedApi,LockedOrientationActivity" />
<activity
android:name=".ui.cleanresult.CleanResultActivity"
android:exported="false"
android:screenOrientation="portrait"
tools:ignore="DiscouragedApi,LockedOrientationActivity" />
<provider <provider
android:name="androidx.core.content.FileProvider" android:name="androidx.core.content.FileProvider"
......
{"v":"5.6.3","fr":25,"ip":0,"op":36,"w":870,"h":870,"nm":"1-扫描动画","ddd":0,"assets":[{"id":"image_0","w":120,"h":120,"u":"images/","p":"img_0.png","e":0},{"id":"image_1","w":198,"h":198,"u":"images/","p":"img_1.png","e":0},{"id":"image_2","w":678,"h":678,"u":"images/","p":"img_2.png","e":0},{"id":"image_3","w":678,"h":678,"u":"images/","p":"img_3.png","e":0}],"layers":[{"ddd":0,"ind":1,"ty":4,"nm":"小飞圆","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":20,"s":[60],"e":[0]},{"t":40}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":20,"s":[141,893,0],"e":[437,429,0],"to":[0,0,0],"ti":[0,0,0]},{"t":35}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[16,16],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"椭圆路径 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"填充 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[300,300],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"变换"}],"nm":"小飞圆","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":75,"st":0,"bm":0},{"ddd":0,"ind":2,"ty":4,"nm":"小飞圆","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.8],"y":[1]},"o":{"x":[0.2],"y":[0]},"t":5,"s":[60],"e":[0]},{"t":25}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.8,"y":1},"o":{"x":0.2,"y":0},"t":5,"s":[892,226,0],"e":[462,460,0],"to":[0,0,0],"ti":[0,0,0]},{"t":20}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[16,16],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"椭圆路径 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"填充 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[300,300],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"变换"}],"nm":"小飞圆","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":75,"st":0,"bm":0},{"ddd":0,"ind":3,"ty":4,"nm":"小飞圆","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.8],"y":[1]},"o":{"x":[0.2],"y":[0]},"t":5,"s":[60],"e":[0]},{"t":25}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.8,"y":1},"o":{"x":0.2,"y":0},"t":5,"s":[-81,761,0],"e":[431,435,0],"to":[0,0,0],"ti":[0,0,0]},{"t":30}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[22,22],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"椭圆路径 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"填充 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[300,300],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"变换"}],"nm":"小飞圆","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":75,"st":0,"bm":0},{"ddd":0,"ind":4,"ty":4,"nm":"小飞圆","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.8],"y":[1]},"o":{"x":[0.2],"y":[0]},"t":10,"s":[60],"e":[0]},{"t":30}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.8,"y":1},"o":{"x":0.2,"y":0},"t":10,"s":[574,-48,0],"e":[434,408,0],"to":[0,0,0],"ti":[0,0,0]},{"t":30}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[20,20],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"椭圆路径 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"填充 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[300,300],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"变换"}],"nm":"小飞圆","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":75,"st":0,"bm":0},{"ddd":0,"ind":5,"ty":4,"nm":"小飞圆","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.8],"y":[1]},"o":{"x":[0.2],"y":[0]},"t":0,"s":[60],"e":[0]},{"t":20}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.8,"y":1},"o":{"x":0.2,"y":0},"t":0,"s":[-48,-40,0],"e":[444,444,0],"to":[0,0,0],"ti":[0,0,0]},{"t":18}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[36,36],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"椭圆路径 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"填充 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[300,300],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"变换"}],"nm":"小飞圆","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":75,"st":0,"bm":0},{"ddd":0,"ind":6,"ty":4,"nm":"小飞圆","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.2],"y":[0]},"t":16,"s":[60],"e":[0]},{"t":36}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.8,"y":1},"o":{"x":0.2,"y":0},"t":16,"s":[1018,824,0],"e":[446,462,0],"to":[0,0,0],"ti":[0,0,0]},{"t":31}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[26,26],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"椭圆路径 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"填充 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[300,300],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"变换"}],"nm":"小飞圆","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":75,"st":0,"bm":0},{"ddd":0,"ind":7,"ty":2,"nm":"icon_clean_home","refId":"image_0","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[435,435,0],"ix":2},"a":{"a":0,"k":[60,60,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"ip":0,"op":75,"st":0,"bm":0},{"ddd":0,"ind":8,"ty":2,"nm":"小圆","refId":"image_1","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[435,435,0],"ix":2},"a":{"a":0,"k":[99,99,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"ip":0,"op":75,"st":0,"bm":0},{"ddd":0,"ind":9,"ty":2,"nm":"转圈园","refId":"image_2","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":0,"s":[0],"e":[360]},{"t":35}],"ix":10},"p":{"a":0,"k":[435,435,0],"ix":2},"a":{"a":0,"k":[339,339,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"ip":0,"op":75,"st":0,"bm":0},{"ddd":0,"ind":10,"ty":2,"nm":"背景圆","refId":"image_3","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[435,435,0],"ix":2},"a":{"a":0,"k":[339,339,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"ip":0,"op":75,"st":0,"bm":0}],"markers":[]}
\ No newline at end of file
{"v":"5.6.3","fr":60,"ip":0,"op":302,"w":340,"h":340,"nm":"trash","ddd":0,"assets":[],"layers":[{"ddd":0,"ind":1,"ty":4,"nm":"Shape Layer 6","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[170.375,196,0],"ix":2},"a":{"a":0,"k":[0.375,19.75,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-18.25,17],[-4.75,31.5],[19,8]],"c":false},"ix":2},"nm":"路径 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.368627458811,0.639215707779,1,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":10,"ix":5},"lc":2,"lj":2,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"变换"}],"nm":"Shape 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tm","s":{"a":0,"k":0,"ix":1},"e":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":239,"s":[0],"e":[100]},{"t":259}],"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":2,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim","hd":false}],"ip":0,"op":600,"st":0,"bm":0},{"ddd":0,"ind":2,"ty":4,"nm":"Shape Layer 5","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":170,"s":[0],"e":[100]},{"t":176}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[170,195.25,0],"ix":2},"a":{"a":0,"k":[-7.875,28.375,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":1,"k":[{"i":{"x":[0.833,0.833],"y":[0.833,0.833]},"o":{"x":[0.167,0.167],"y":[0.167,0.167]},"t":222,"s":[51.45,51.45],"e":[73.45,73.45]},{"t":235}],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"st","c":{"a":0,"k":[0.368627458811,0.639215707779,1,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":10,"ix":5},"lc":2,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[-7.875,28.375],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"变换"}],"nm":"Ellipse 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.83],"y":[0]},"t":185,"s":[0],"e":[100]},{"t":216}],"ix":1},"e":{"a":0,"k":0.1,"ix":2},"o":{"a":0,"k":85.1,"ix":3},"m":1,"ix":2,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim","hd":false}],"ip":0,"op":600,"st":0,"bm":0},{"ddd":0,"ind":3,"ty":3,"nm":"Null 1","sr":1,"ks":{"o":{"a":0,"k":0,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[220,270,0],"ix":2},"a":{"a":0,"k":[50,100,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"t":140,"s":[100,100,100],"e":[100,93,100]},{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"t":146.473,"s":[100,93,100],"e":[100,100,100]},{"t":152}],"ix":6}},"ao":0,"ip":0,"op":600,"st":0,"bm":0},{"ddd":0,"ind":4,"ty":4,"nm":"Слой 5 Outlines","parent":3,"sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.075],"y":[0]},"t":25,"s":[100],"e":[0]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":49,"s":[0],"e":[0]},{"i":{"x":[0.839],"y":[1]},"o":{"x":[1],"y":[0]},"t":120,"s":[0],"e":[100]},{"t":151}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.204,"y":0},"t":25,"s":[0.138,-56.776,0],"e":[0.138,-113.776,0],"to":[0,-9.5,0],"ti":[0,9.5,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":49,"s":[0.138,-113.776,0],"e":[0.138,-113.776,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.839,"y":1},"o":{"x":1,"y":0},"t":120,"s":[0.138,-113.776,0],"e":[0.138,-56.776,0],"to":[0,9.5,0],"ti":[0,-9.5,0]},{"t":143}],"ix":2},"a":{"a":0,"k":[63.142,28.474,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[12.926,0],[0,0],[0,0],[0,0],[0,2.751],[0,0]],"o":[[0,0],[0,0],[0,0],[2.751,0],[0,0],[0,-12.926]],"v":[[8.004,-19.109],[-31.446,-19.109],[-31.446,19.109],[26.466,19.109],[31.446,14.128],[31.446,4.333]],"c":true},"ix":2},"nm":"路径 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.796078443527,0.874509811401,0.972549021244,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[94.588,37.59],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"变换"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[12.926,0],[0,0],[0,-12.926],[0,0],[-2.751,0],[0,0],[0,2.751],[0,0]],"o":[[0,0],[-12.926,0],[0,0],[0,2.751],[0,0],[2.751,0],[0,0],[0,-12.926]],"v":[[39.45,-19.109],[-39.45,-19.109],[-62.892,4.333],[-62.892,14.128],[-57.911,19.109],[57.912,19.109],[62.892,14.128],[62.892,4.333]],"c":true},"ix":2},"nm":"路径 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.796078443527,0.874509811401,0.972549021244,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[63.142,37.59],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"变换"}],"nm":"Group 2","np":2,"cix":2,"bm":0,"ix":2,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[2.64,0],[0,0],[0,-2.639]],"o":[[0,0],[0,0],[0,-2.639],[0,0],[-2.639,0],[0,0]],"v":[[-13.883,4.135],[13.882,4.135],[13.882,0.649],[9.096,-4.136],[-9.097,-4.136],[-13.883,0.649]],"c":true},"ix":2},"nm":"路径 1","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[2.751,0],[0,0],[0,2.751],[0,0],[-8.132,0],[0,0],[0,-8.131],[0,0]],"o":[[0,0],[-2.751,0],[0,0],[0,-8.131],[0,0],[8.133,0],[0,0],[0,2.751]],"v":[[18.863,14.096],[-18.863,14.096],[-23.843,9.115],[-23.843,0.649],[-9.097,-14.097],[9.096,-14.097],[23.843,0.649],[23.843,9.115]],"c":true},"ix":2},"nm":"路径 2","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[63.143,14.347],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"变换"}],"nm":"Group 3","np":3,"cix":2,"bm":0,"ix":3,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":600,"st":0,"bm":0},{"ddd":0,"ind":5,"ty":4,"nm":"Слой 4 Outlines","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10,"x":"var $bm_rt;\nvar $bm_rt;\n$bm_rt = $bm_rt = transform.rotation;"},"p":{"a":0,"k":[93.5,97.5,0],"ix":2,"x":"var $bm_rt;\nvar $bm_rt;\n$bm_rt = $bm_rt = transform.position;"},"a":{"a":0,"k":[8.596,8.597,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"t":9,"s":[100,100,100],"e":[30,30,100]},{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"t":48.844,"s":[30,30,100],"e":[100,100,100]},{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"t":84.25,"s":[100,100,100],"e":[30,30,100]},{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"t":126.783,"s":[30,30,100],"e":[100,100,100]},{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"t":162.193,"s":[100,100,100],"e":[30,30,100]},{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"t":205.305,"s":[30,30,100],"e":[100,100,100]},{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"t":240.711,"s":[100,100,100],"e":[30,30,100]},{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"t":280.559,"s":[30,30,100],"e":[100,100,100]},{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"t":315.961,"s":[100,100,100],"e":[30,30,100]},{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"t":359.074,"s":[30,30,100],"e":[100,100,100]},{"t":394.484375}],"ix":6,"x":"var $bm_rt;\nvar $bm_rt;\n$bm_rt = $bm_rt = loopOut('cycle', 0);"}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[-0.31,-0.898],[0,0],[-0.872,-0.301],[0,0],[0.898,-0.311],[0,0],[0.301,-0.872],[0,0],[0.31,0.899],[0,0],[0.871,0.3],[0,0],[-0.898,0.31],[0,0],[-0.301,0.871]],"o":[[0.31,-0.898],[0,0],[0.301,0.871],[0,0],[0.898,0.31],[0,0],[-0.872,0.3],[0,0],[-0.31,0.899],[0,0],[-0.301,-0.872],[0,0],[-0.898,-0.311],[0,0],[0.871,-0.301],[0,0]],"v":[[-0.945,-5.699],[0.945,-5.699],[1.689,-3.546],[3.546,-1.689],[5.699,-0.946],[5.699,0.946],[3.546,1.689],[1.689,3.546],[0.945,5.698],[-0.945,5.698],[-1.689,3.546],[-3.546,1.689],[-5.699,0.946],[-5.699,-0.946],[-3.546,-1.689],[-1.689,-3.546]],"c":true},"ix":2},"nm":"路径 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":2,"ix":5},"lc":1,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[8.596,8.597],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"变换"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":600,"st":0,"bm":0},{"ddd":0,"ind":6,"ty":4,"nm":"Слой 3 Outlines","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[97.499,160.5,0],"ix":2},"a":{"a":0,"k":[5.606,5.605,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"t":30.516,"s":[100,100,100],"e":[30,30,100]},{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"t":70.357,"s":[30,30,100],"e":[100,100,100]},{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"t":105.766,"s":[100,100,100],"e":[30,30,100]},{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"t":148.299,"s":[30,30,100],"e":[100,100,100]},{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"t":183.707,"s":[100,100,100],"e":[30,30,100]},{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"t":226.82,"s":[30,30,100],"e":[100,100,100]},{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"t":262.225,"s":[100,100,100],"e":[30,30,100]},{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"t":302.072,"s":[30,30,100],"e":[100,100,100]},{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"t":337.475,"s":[100,100,100],"e":[30,30,100]},{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"t":380.59,"s":[30,30,100],"e":[100,100,100]},{"t":416}],"ix":6,"x":"var $bm_rt;\nvar $bm_rt;\n$bm_rt = $bm_rt = loopOut('cycle', 0);"}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[-0.202,-0.585],[0,0],[-0.568,-0.196],[0,0],[0.585,-0.203],[0,0],[0.196,-0.568],[0,0],[0.203,0.585],[0,0],[0.568,0.197],[0,0],[-0.586,0.202],[0,0],[-0.197,0.568]],"o":[[0.203,-0.585],[0,0],[0.196,0.568],[0,0],[0.585,0.202],[0,0],[-0.568,0.197],[0,0],[-0.202,0.585],[0,0],[-0.197,-0.568],[0,0],[-0.586,-0.203],[0,0],[0.568,-0.196],[0,0]],"v":[[-0.616,-3.717],[0.617,-3.717],[1.102,-2.313],[2.313,-1.102],[3.717,-0.617],[3.717,0.617],[2.313,1.1],[1.102,2.311],[0.617,3.717],[-0.616,3.717],[-1.1,2.311],[-2.311,1.1],[-3.716,0.617],[-3.716,-0.617],[-2.311,-1.102],[-1.1,-2.313]],"c":true},"ix":2},"nm":"路径 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":1.304,"ix":5},"lc":1,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[5.606,5.605],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"变换"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":600,"st":0,"bm":0},{"ddd":0,"ind":7,"ty":4,"nm":"Слой 2 Outlines","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[245.5,125.5,0],"ix":2},"a":{"a":0,"k":[9.344,9.344,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"t":-7.869,"s":[100,100,100],"e":[30,30,100]},{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"t":26.34,"s":[30,30,100],"e":[100,100,100]},{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"t":61.748,"s":[100,100,100],"e":[30,30,100]},{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"t":104.279,"s":[30,30,100],"e":[100,100,100]},{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"t":139.693,"s":[100,100,100],"e":[30,30,100]},{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"t":182.803,"s":[30,30,100],"e":[100,100,100]},{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"t":218.211,"s":[100,100,100],"e":[30,30,100]},{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"t":258.055,"s":[30,30,100],"e":[100,100,100]},{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"t":293.459,"s":[100,100,100],"e":[30,30,100]},{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"t":336.572,"s":[30,30,100],"e":[100,100,100]},{"t":371.982421875}],"ix":6,"x":"var $bm_rt;\nvar $bm_rt;\n$bm_rt = $bm_rt = loopOut('cycle', 0);"}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[-0.337,-0.976],[0,0],[-0.946,-0.327],[0,0],[0.975,-0.337],[0,0],[0.327,-0.946],[0,0],[0.337,0.976],[0,0],[0.946,0.327],[0,0],[-0.976,0.336],[0,0],[-0.327,0.947]],"o":[[0.337,-0.976],[0,0],[0.327,0.947],[0,0],[0.975,0.336],[0,0],[-0.946,0.327],[0,0],[-0.337,0.976],[0,0],[-0.327,-0.946],[0,0],[-0.976,-0.337],[0,0],[0.946,-0.327],[0,0]],"v":[[-1.027,-6.194],[1.028,-6.194],[1.835,-3.854],[3.854,-1.836],[6.195,-1.027],[6.195,1.027],[3.854,1.835],[1.835,3.853],[1.028,6.194],[-1.027,6.194],[-1.835,3.853],[-3.853,1.835],[-6.194,1.027],[-6.194,-1.027],[-3.853,-1.836],[-1.835,-3.854]],"c":true},"ix":2},"nm":"路径 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":2.174,"ix":5},"lc":1,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[9.344,9.344],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"变换"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":600,"st":0,"bm":0},{"ddd":0,"ind":8,"ty":4,"nm":"Слой 1 Outlines","parent":3,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[0.138,85,0],"ix":2},"a":{"a":0,"k":[56.193,123.762,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.44,"y":1},"o":{"x":0.333,"y":0},"t":168,"s":[{"i":[[2.751,0],[0,2.75],[0,0],[-2.75,0],[0,-2.751],[0,0]],"o":[[-2.75,0],[0,0],[0,-2.751],[2.751,0],[0,0],[0,2.75]],"v":[[0.001,34.396],[-4.98,29.417],[-4.98,-29.415],[0.001,-34.396],[4.98,-29.415],[4.98,29.417]],"c":true}],"e":[{"i":[[2.751,0],[0,2.75],[0,0],[-2.75,0],[0,-2.751],[0,0]],"o":[[-2.75,0],[0,0],[0,-2.751],[2.751,0],[0,0],[0,2.75]],"v":[[-0.037,5.146],[-5.018,0.167],[-5.034,-0.165],[-0.053,-5.146],[4.926,-0.165],[4.942,0.167]],"c":true}]},{"t":181}],"ix":2},"nm":"路径 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.368627458811,0.639215707779,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[81.674,62.006],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":180,"s":[100],"e":[0]},{"t":186}],"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"变换"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,2.751],[0,0],[2.751,0],[0,0]],"o":[[0,0],[0,-2.751],[0,0],[2.751,0]],"v":[[2.49,29.417],[2.49,-29.415],[-2.49,-34.396],[-2.49,34.396]],"c":true},"ix":2},"nm":"路径 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.368627458811,0.639215707779,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[58.684,62.005],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"变换"}],"nm":"Group 2","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[2.751,0],[0,2.75],[0,0],[-2.75,0],[0,-2.751],[0,0]],"o":[[-2.75,0],[0,0],[0,-2.751],[2.751,0],[0,0],[0,2.75]],"v":[[0,34.396],[-4.98,29.417],[-4.98,-29.415],[0,-34.396],[4.98,-29.415],[4.98,29.417]],"c":true},"ix":2},"nm":"路径 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.368627458811,0.639215707779,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[56.193,62.006],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"变换"}],"nm":"Group 3","np":2,"cix":2,"bm":0,"ix":2,"mn":"ADBE Vector Group","hd":false},{"ty":"tr","p":{"a":0,"k":[56.193,62.006],"ix":2},"a":{"a":0,"k":[56.193,62.006],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.833,0.833],"y":[0.833,0.833]},"o":{"x":[0.167,0.167],"y":[0.167,0.167]},"t":157,"s":[100,100],"e":[100,5]},{"t":167}],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":1,"k":[{"i":{"x":[0.44],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":157,"s":[100],"e":[0]},{"t":167}],"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"变换"}],"nm":"Group 6","np":2,"cix":2,"bm":0,"ix":2,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[2.75,0],[0,2.75],[0,0],[-2.751,0],[0,-2.751],[0,0]],"o":[[-2.751,0],[0,0],[0,-2.751],[2.75,0],[0,0],[0,2.75]],"v":[[0,34.396],[-4.98,29.417],[-4.98,-29.415],[0,-34.396],[4.98,-29.415],[4.98,29.417]],"c":true},"ix":2},"nm":"路径 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.368627458811,0.639215707779,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[30.712,62.006],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.833,0.833],"y":[0.833,0.833]},"o":{"x":[0.167,0.167],"y":[0.167,0.167]},"t":150,"s":[100,100],"e":[100,5]},{"t":160}],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":1,"k":[{"i":{"x":[0.44],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":150,"s":[100],"e":[0]},{"t":160}],"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"变换"}],"nm":"Group 4","np":2,"cix":2,"bm":0,"ix":3,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[2.751,0],[0,0],[0,-2.751],[0,0],[-8.128,0],[0,0],[0,8.129],[0,0]],"o":[[0,0],[-2.751,0],[0,0],[0,8.129],[0,0],[8.129,0],[0,0],[0,-2.751]],"v":[[50.964,-61.756],[-50.964,-61.756],[-55.943,-56.776],[-55.943,47.013],[-41.202,61.756],[41.202,61.756],[55.943,47.013],[55.943,-56.776]],"c":true},"ix":2},"nm":"路径 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[56.193,62.006],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"变换"}],"nm":"Group 5","np":2,"cix":2,"bm":0,"ix":4,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":600,"st":0,"bm":0},{"ddd":0,"ind":9,"ty":4,"nm":"Layer 5 Outlines","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.934},"o":{"x":0.167,"y":0.066},"t":47,"s":[12.183,-168.399,0],"e":[170.183,188.601,0],"to":[184.167,233.5,0],"ti":[-26.333,-59.5,0]},{"t":67}],"ix":2},"a":{"a":0,"k":[256,256,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"t":47,"s":[70.688,70.688,100],"e":[25.687,25.688,100]},{"t":67}],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-3.134,-1.544],[-0.427,1.544],[3.134,1.544],[3.134,-1.544]],"c":true},"ix":2},"nm":"路径 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.890200018883,0.874499976635,0.917599976063,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[340.805,325.668],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"变换"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[9.876,0],[0,0],[1.217,2.683],[-1.939,2.218],[0,0],[-2.849,0.003],[0,0],[-1.874,-2.143],[0,0],[0,0]],"o":[[0,0],[-2.947,0],[-1.217,-2.681],[0,0],[1.875,-2.145],[0,0],[2.847,0],[0,0],[0,0],[0,9.876]],"v":[[34.017,34.963],[-43.964,34.963],[-50.711,30.615],[-49.541,22.671],[-2.104,-31.584],[5.329,-34.963],[5.336,-34.963],[12.766,-31.594],[51.928,13.082],[51.928,17.051]],"c":true},"ix":2},"nm":"路径 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.180399999022,0.270599991083,0.360799998045,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[292.011,318.191],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"变换"}],"nm":"Group 2","np":2,"cix":2,"bm":0,"ix":2,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[4.762,0],[0,0],[0,9.876],[0,0],[0,0],[-2.849,0.003],[0,0],[-1.874,-2.143],[0,0],[1.964,-4.336]],"o":[[0,0],[-9.877,0],[0,0],[0,0],[1.876,-2.144],[0,0],[2.847,0],[0,0],[3.137,3.579],[-1.967,4.339]],"v":[[18.814,24.865],[-13.774,24.865],[-31.686,6.953],[-31.686,2.997],[-10.278,-21.487],[-2.844,-24.865],[-2.838,-24.865],[4.592,-21.497],[27.82,4.999],[29.722,17.833]],"c":true},"ix":2},"nm":"路径 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.917599976063,0.949000000954,0.960799992085,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[237.269,328.289],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"变换"}],"nm":"Group 3","np":2,"cix":2,"bm":0,"ix":3,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[6.702,0],[0,6.702],[-6.702,0],[0,-6.701]],"o":[[-6.702,0],[0,-6.701],[6.702,0],[0,6.702]],"v":[[0,12.152],[-12.153,-0.001],[0,-12.152],[12.153,-0.001]],"c":true},"ix":2},"nm":"路径 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.917599976063,0.949000000954,0.960799992085,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[256.469,275.368],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"变换"}],"nm":"Group 4","np":2,"cix":2,"bm":0,"ix":4,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[9.876,0],[0,0],[0,9.876],[0,0],[-9.876,0],[0,0],[0,-9.876],[0,0]],"o":[[0,0],[-9.876,0],[0,0],[0,-9.876],[0,0],[9.876,0],[0,0],[0,9.876]],"v":[[51.267,52.501],[-51.266,52.501],[-69.178,34.589],[-69.178,-34.59],[-51.266,-52.501],[51.267,-52.501],[69.178,-34.59],[69.178,34.589]],"c":true},"ix":2},"nm":"路径 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[274.761,300.653],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"变换"}],"nm":"Group 5","np":2,"cix":2,"bm":0,"ix":5,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[1.729,0],[0,0],[0,1.729],[0,0],[0,0],[0,0],[-1.268,1.268],[0,0],[0,0]],"o":[[0,1.729],[0,0],[-1.729,0],[0,0],[0,0],[0,0],[1.268,1.268],[0,0],[0,0],[0,0]],"v":[[37.807,22.015],[34.694,25.242],[-34.579,25.242],[-37.691,22.015],[-37.691,20.171],[-25.128,7.607],[-14.754,17.981],[-10.258,17.981],[15.791,-8.069],[37.807,13.947]],"c":true},"ix":2},"nm":"路径 1","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[-5.648,0],[0,-5.533],[5.648,0],[0,5.648]],"o":[[5.648,0],[0,5.648],[-5.648,0],[0,-5.533]],"v":[[-15.676,-19.595],[-5.533,-9.452],[-15.676,0.806],[-25.934,-9.452]],"c":true},"ix":2},"nm":"路径 2","mn":"ADBE Vector Shape - Group","hd":false},{"ind":2,"ty":"sh","ix":3,"ks":{"a":0,"k":{"i":[[5.187,0],[0,0],[0,-5.187],[0,0],[-5.187,0],[0,0],[0,5.187],[0,0]],"o":[[0,0],[-5.187,0],[0,0],[0,5.187],[0,0],[5.186,0],[0,0],[0,-5.186]],"v":[[34.694,-31.467],[-34.579,-31.467],[-44.031,-22.015],[-44.031,22.015],[-34.579,31.467],[34.694,31.467],[44.031,22.015],[44.031,-22.016]],"c":true},"ix":2},"nm":"路径 3","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[255.942,287.41],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"变换"}],"nm":"Group 6","np":4,"cix":2,"bm":0,"ix":6,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-38.671,-39.939],[-38.671,39.939],[38.671,39.939]],"c":true},"ix":2},"nm":"路径 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[319.279,159.64],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"变换"}],"nm":"Group 7","np":2,"cix":2,"bm":0,"ix":7,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-19.595,0],[0,0],[0,0],[0,0],[19.595,0],[0,0],[0,19.595],[0,0]],"o":[[0,0],[0,0],[0,0],[0,19.595],[0,0],[-19.595,0],[0,0],[0,-19.595]],"v":[[-66.449,-136.298],[24.724,-136.298],[101.95,-55.729],[101.95,100.797],[66.449,136.298],[-66.449,136.298],[-101.95,100.797],[-101.95,-100.797]],"c":true},"ix":2},"nm":"路径 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.890200018883,0.933300018311,0.949000000954,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[256,256],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"变换"}],"nm":"Group 8","np":2,"cix":2,"bm":0,"ix":8,"mn":"ADBE Vector Group","hd":false}],"ip":47,"op":167.12109375,"st":47,"bm":0},{"ddd":0,"ind":10,"ty":4,"nm":"Layer 4 Outlines","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":1},"o":{"x":0.167,"y":0},"t":65.998,"s":[331.183,-168.399,0],"e":[170.183,188.601,0],"to":[-214.833,307.5,0],"ti":[26.833,-59.5,0]},{"t":86}],"ix":2},"a":{"a":0,"k":[256,256,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"t":65.998,"s":[70.688,70.688,100],"e":[25.687,25.688,100]},{"t":86}],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[2.57,0],[0,0],[0,0],[0,0],[0,-2.571]],"o":[[0,0],[0,0],[0,0],[2.57,0],[0,2.57]],"v":[[0.011,-4.301],[-4.643,-4.301],[-4.643,-13.61],[0.011,-13.61],[4.665,-8.955]],"c":true},"ix":2},"nm":"路径 1","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[7.711,0],[0,0],[0,-2.57],[0,0],[-2.57,0],[0,2.571],[0,0],[0,0],[0,7.711]],"o":[[0,0],[-2.57,0],[0,0],[0,2.571],[2.571,0],[0,0],[0,0],[7.711,0],[0,-7.712]],"v":[[0.011,-22.918],[-9.298,-22.918],[-13.952,-18.264],[-13.952,18.97],[-9.298,23.625],[-4.643,18.97],[-4.643,5.008],[0.011,5.008],[13.974,-8.955]],"c":true},"ix":2},"nm":"路径 2","mn":"ADBE Vector Shape - Group","hd":false},{"ind":2,"ty":"sh","ix":3,"ks":{"a":0,"k":{"i":[[2.103,0.495],[0.964,-1.932],[0,0],[0,0],[2.314,-1.12],[-0.021,-1.803],[0,0],[-2.571,0],[0,2.571],[0,0],[0,0],[-2.301,1.371],[-0.412,0.691],[0,0],[0,0],[-2.57,0],[0,2.571],[0,0]],"o":[[-2.102,-0.495],[0,0],[0,0],[-1.12,-2.314],[-1.623,0.785],[0,0],[0,2.571],[2.57,0],[0,0],[0,0],[1.372,2.3],[0.692,-0.413],[0,0],[0,0],[0,2.571],[2.571,0],[0,0],[0.002,-2.161]],"v":[[-31.503,-22.797],[-36.735,-20.344],[-41.878,-10.054],[-46.997,-20.344],[-53.215,-22.505],[-55.84,-18.264],[-55.84,18.97],[-51.186,23.625],[-46.532,18.97],[-46.532,1.452],[-46.043,2.434],[-39.394,4.116],[-37.712,2.434],[-37.223,1.452],[-37.223,18.97],[-32.569,23.625],[-27.915,18.97],[-27.915,-18.264]],"c":true},"ix":2},"nm":"路径 3","mn":"ADBE Vector Shape - Group","hd":false},{"ind":3,"ty":"sh","ix":4,"ks":{"a":0,"k":{"i":[[2.571,0],[0,0],[0,0],[2.57,0],[0,-2.57],[0,0],[0,0],[0,0],[2.57,0],[0,-2.57],[0,0],[-2.571,0],[0,0],[0,0],[-2.571,0],[0,2.571],[0,0],[0,0],[0,2.57]],"o":[[0,0],[0,0],[0,-2.57],[-2.571,0],[0,0],[0,0],[0,0],[0,-2.57],[-2.571,0],[0,0],[0,2.57],[0,0],[0,0],[0,2.571],[2.57,0],[0,0],[0,0],[2.571,0],[0,-2.571]],"v":[[51.207,5.008],[46.553,5.008],[46.553,0.353],[41.9,-4.301],[37.245,0.353],[37.245,5.008],[32.591,5.008],[32.591,-18.264],[27.937,-22.918],[23.282,-18.264],[23.282,9.662],[27.937,14.316],[37.245,14.316],[37.245,18.97],[41.9,23.625],[46.553,18.97],[46.553,14.316],[51.207,14.316],[55.862,9.662]],"c":true},"ix":2},"nm":"路径 4","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[223.409,181.178],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"变换"}],"nm":"Group 1","np":5,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[2.57,0],[0,0],[2.571,0],[0,-2.57],[0,0],[0,-2.57],[-2.571,0],[0,0],[-2.57,0],[0,2.57],[0,0],[0,2.571]],"o":[[0,0],[0,-2.57],[-2.57,0],[0,0],[-2.571,0],[0,2.571],[0,0],[0,2.57],[2.571,0],[0,0],[2.57,0],[0,-2.57]],"v":[[58.178,-4.655],[2.327,-4.655],[-2.328,-9.309],[-6.982,-4.655],[-16.29,-4.655],[-20.945,-0.001],[-16.29,4.655],[-6.982,4.655],[-2.328,9.309],[2.327,4.655],[58.178,4.655],[62.832,-0.001]],"c":true},"ix":2},"nm":"路径 1","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[2.571,0],[0,-2.57],[0,0],[-2.57,0],[0,2.57],[0,0]],"o":[[-2.57,0],[0,0],[0,2.57],[2.571,0],[0,0],[0,-2.57]],"v":[[-39.562,-9.309],[-44.215,-4.655],[-44.215,4.655],[-39.562,9.309],[-34.908,4.655],[-34.908,-4.655]],"c":true},"ix":2},"nm":"路径 2","mn":"ADBE Vector Shape - Group","hd":false},{"ind":2,"ty":"sh","ix":3,"ks":{"a":0,"k":{"i":[[2.57,0],[0,-2.57],[0,0],[-2.571,0],[0,2.57],[0,0]],"o":[[-2.571,0],[0,0],[0,2.57],[2.57,0],[0,0],[0,-2.57]],"v":[[-58.179,-9.309],[-62.833,-4.655],[-62.833,4.655],[-58.179,9.309],[-53.525,4.655],[-53.525,-4.655]],"c":true},"ix":2},"nm":"路径 3","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.180399999022,0.270599991083,0.360799998045,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[267.636,344.432],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"变换"}],"nm":"Group 2","np":4,"cix":2,"bm":0,"ix":2,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[2.57,0],[0,2.57],[0,0],[-2.57,0],[0,-2.57],[0,0]],"o":[[-2.57,0],[0,0],[0,-2.57],[2.57,0],[0,0],[0,2.57]],"v":[[0,9.309],[-4.654,4.655],[-4.654,-4.654],[0,-9.308],[4.654,-4.654],[4.654,4.655]],"c":true},"ix":2},"nm":"路径 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0,0,0,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[209.457,344.431],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"变换"}],"nm":"Group 3","np":2,"cix":2,"bm":0,"ix":3,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-7.711,0],[0,0],[0,-7.712],[0,0],[7.711,0],[0,0],[0,7.711],[0,0]],"o":[[0,0],[7.711,0],[0,0],[0,7.711],[0,0],[-7.711,0],[0,0],[0,-7.712]],"v":[[-65.16,-37.234],[65.16,-37.234],[79.123,-23.271],[79.123,23.272],[65.16,37.234],[-65.16,37.234],[-79.123,23.272],[-79.123,-23.271]],"c":true},"ix":2},"nm":"路径 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.678399980068,0.72159999609,0.737299978733,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[223.42,181.531],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"变换"}],"nm":"Group 4","np":2,"cix":2,"bm":0,"ix":4,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0.015,5.135],[0,0]],"o":[[0,0],[-5.134,-0.015],[0,0],[0,0]],"v":[[18.617,18.617],[-9.309,18.617],[-18.617,9.308],[-18.617,-18.617]],"c":true},"ix":2},"nm":"路径 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.678399980068,0.72159999609,0.737299978733,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[349.086,139.643],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"变换"}],"nm":"Group 5","np":2,"cix":2,"bm":0,"ix":5,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[3.917,-12.519],[1.594,3.406],[0.055,0.846],[0,0],[-3.765,-0.257],[-0.96,-0.608]],"o":[[-7.968,10.42],[-3.406,1.594],[-0.359,-0.768],[0,0],[0.257,-3.764],[1.133,0.078],[0,0]],"v":[[13.823,-12.363],[-4.143,22.311],[-13.196,19.03],[-13.823,16.587],[-13.823,-17.297],[-6.54,-23.647],[-3.351,-22.602]],"c":true},"ix":2},"nm":"路径 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.678399980068,0.72159999609,0.737299978733,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[265.169,279.627],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"变换"}],"nm":"Group 6","np":2,"cix":2,"bm":0,"ix":6,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.958,-0.547],[0,0],[0.279,-0.14],[-7.968,10.419],[0,0],[1.686,-2.956]],"o":[[0,0],[-0.279,0.14],[3.916,-12.519],[0,0],[2.956,1.687],[-0.547,0.958]],"v":[[12.552,0.023],[-15.746,16.918],[-16.537,17.337],[1.428,-17.337],[12.552,-10.682],[14.851,-2.276]],"c":true},"ix":2},"nm":"路径 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.678399980068,0.72159999609,0.737299978733,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[277.564,284.601],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"变换"}],"nm":"Group 7","np":2,"cix":2,"bm":0,"ix":7,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[5.135,-0.016],[0,0],[0.016,5.135],[0,0]],"o":[[0,0],[-0.015,5.135],[0,0],[-5.135,-0.016],[0,0],[0,0]],"v":[[79.123,-23.271],[79.123,13.963],[69.814,23.271],[-69.814,23.271],[-79.123,13.963],[-79.123,-23.271]],"c":true},"ix":2},"nm":"路径 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.678399980068,0.72159999609,0.737299978733,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[269.963,344.431],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"变换"}],"nm":"Group 8","np":2,"cix":2,"bm":0,"ix":8,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-0.015,-5.135],[0,0],[0,0],[-1.955,6.27],[-0.279,0.14],[0,0],[1.686,2.956],[0.958,0.546],[0,0],[-13.524,7.44],[0,0]],"o":[[0,0],[0,0],[0.801,-6.518],[0.279,-0.139],[0,0],[2.956,-1.686],[-0.547,-0.958],[0,0],[9.371,-12.265],[0,0],[5.135,0.016]],"v":[[46.1,-32.58],[46.1,41.888],[-46.101,41.888],[-41.959,22.666],[-41.168,22.247],[-12.87,5.352],[-10.571,-3.054],[-12.87,-5.352],[-23.993,-12.008],[10.727,-41.889],[36.791,-41.889]],"c":true},"ix":2},"nm":"路径 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.835300028324,0.902000010014,0.925499975681,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[302.985,279.271],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"变换"}],"nm":"Group 9","np":2,"cix":2,"bm":0,"ix":9,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-0.015,-5.135],[0,0],[0,0],[0,0],[-5.135,0.016],[0,0]],"o":[[0,0],[0,0],[0,0],[0.016,-5.135],[0,0],[5.135,0.016]],"v":[[79.123,-32.58],[79.123,41.888],[-79.123,41.888],[-79.123,-32.58],[-69.814,-41.889],[69.814,-41.889]],"c":true},"ix":2},"nm":"路径 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.894100010395,0.933300018311,0.949000000954,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[269.963,279.271],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"变换"}],"nm":"Group 10","np":2,"cix":2,"bm":0,"ix":10,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[5.135,-0.015],[0,0],[0.016,5.135],[0,0],[0,0],[0,7.711],[0,0],[7.712,0],[0,0],[0,0],[-5.135,0.015],[0,0],[0,0],[-5.134,-0.015]],"o":[[0,0],[-0.015,5.135],[0,0],[-5.135,-0.015],[0,0],[0,0],[7.712,0],[0,0],[0,-7.711],[0,0],[0,0],[0.016,-5.134],[0,0],[0,0],[0.015,5.135],[0,0]],"v":[[97.74,-97.74],[97.74,125.665],[88.431,134.974],[-88.431,134.974],[-97.74,125.665],[-97.74,-37.234],[18.617,-37.234],[32.58,-51.197],[32.58,-97.74],[18.617,-111.703],[-97.74,-111.703],[-97.74,-125.666],[-88.431,-134.974],[60.506,-134.974],[60.506,-107.049],[69.814,-97.74]],"c":true},"ix":2},"nm":"路径 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.933300018311,0.956900000572,0.964699983597,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[269.963,256],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"变换"}],"nm":"Group 11","np":2,"cix":2,"bm":0,"ix":11,"mn":"ADBE Vector Group","hd":false}],"ip":66,"op":186.240234375,"st":66.12109375,"bm":0},{"ddd":0,"ind":11,"ty":4,"nm":"Layer 3 Outlines","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":1},"o":{"x":0.167,"y":0},"t":86,"s":[170.183,-168.399,0],"e":[170.183,188.601,0],"to":[0,59.5,0],"ti":[0,-59.5,0]},{"t":106}],"ix":2},"a":{"a":0,"k":[256,256,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"t":86,"s":[70.688,70.688,100],"e":[25.687,25.688,100]},{"t":106}],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,3.173],[0,0],[-2.615,0],[0,0],[0,-3.172],[0,0],[2.614,0]],"o":[[0,0],[-2.615,0],[0,0],[0,-3.173],[0,0],[2.616,0],[0,0],[0.002,3.176],[0,0]],"v":[[31.053,15.455],[-31.055,15.455],[-35.788,9.708],[-35.788,-9.708],[-31.055,-15.455],[31.051,-15.455],[35.785,-9.709],[35.785,9.708],[31.053,15.454]],"c":true},"ix":2},"nm":"路径 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.835300028324,0.878400027752,0.894100010395,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[284.447,269.156],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"变换"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[1.858,-0.036],[0,0],[0,2.307],[-1.901,0],[0,0],[0.03,-2.308]],"o":[[0,0],[-1.901,0],[0,-2.307],[0,0],[1.901,0.037],[-0.03,2.255]],"v":[[5.95,14.62],[-41.292,14.62],[-44.735,10.443],[-41.292,6.264],[5.95,6.264],[9.337,10.509]],"c":true},"ix":2},"nm":"路径 1","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[1.901,0],[0,0],[0,2.307],[-1.901,0],[0,0],[0,-2.307]],"o":[[0,0],[-1.901,0],[0,-2.307],[0,0],[1.901,0],[0,2.307]],"v":[[41.294,-6.266],[-41.292,-6.266],[-44.735,-10.443],[-41.292,-14.62],[41.294,-14.62],[44.735,-10.443]],"c":true},"ix":2},"nm":"路径 2","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.596099972725,0.686299979687,0.717599987984,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[230.076,193.134],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"变换"}],"nm":"Group 2","np":3,"cix":2,"bm":0,"ix":2,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,-8.522],[0,0],[7.021,0],[0,0],[0,8.522],[0,0],[-7.016,0],[0,0],[0,8.52],[-7.02,0],[0,0]],"o":[[0,0],[0,8.522],[0,0],[-7.015,0],[0,0],[0,-8.522],[0,0],[7.019,0],[0,-8.522],[0,0],[7.02,0]],"v":[[91.617,-80.683],[91.617,80.682],[78.906,96.111],[-78.907,96.111],[-91.618,80.682],[-91.618,-49.827],[-78.907,-65.256],[1.464,-65.256],[14.174,-80.683],[26.883,-96.112],[78.907,-96.112]],"c":true},"ix":2},"nm":"路径 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.921599984169,0.949000000954,0.956900000572,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[239.627,296.346],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"变换"}],"nm":"Group 3","np":2,"cix":2,"bm":0,"ix":3,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,-8.522],[0,0],[7.021,0],[0,0],[0,8.522],[0,0],[-7.016,0],[0,0],[0,8.52],[-7.021,0],[0,0]],"o":[[0,0],[0,8.522],[0,0],[-7.015,0],[0,0],[0,-8.522],[0,0],[7.019,0],[0,-8.522],[0,0],[7.022,0]],"v":[[94.37,-80.683],[94.37,80.682],[81.659,96.111],[-81.66,96.111],[-94.37,80.682],[-94.37,-49.827],[-81.66,-65.256],[-1.288,-65.256],[11.421,-80.683],[24.13,-96.112],[81.659,-96.112]],"c":true},"ix":2},"nm":"路径 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.921599984169,0.949000000954,0.956900000572,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[242.38,296.346],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"变换"}],"nm":"Group 4","np":2,"cix":2,"bm":0,"ix":4,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-79.896,-29.411],[57.75,-29.411],[57.75,70.838],[-79.896,70.838]],"c":true},"ix":2},"nm":"路径 1","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-57.75,-70.838],[79.896,-70.838],[79.896,-40.611],[-57.75,-40.611]],"c":true},"ix":2},"nm":"路径 2","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.894100010395,0.925499975681,0.941200017929,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[247.099,190.38],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"变换"}],"nm":"Group 5","np":3,"cix":2,"bm":0,"ix":5,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-68.823,-70.838],[68.823,-70.838],[68.823,70.838],[-68.823,70.838]],"c":true},"ix":2},"nm":"路径 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.780399978161,0.843100011349,0.874499976635,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[258.172,190.38],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"变换"}],"nm":"Group 6","np":2,"cix":2,"bm":0,"ix":6,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-68.823,-106.755],[68.823,-106.755],[68.823,106.755],[-68.823,106.755]],"c":true},"ix":2},"nm":"路径 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.686299979687,0.745100021362,0.772499978542,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[280.317,267.724],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"变换"}],"nm":"Group 7","np":2,"cix":2,"bm":0,"ix":7,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,-8.522],[7.019,0],[0,0],[0,-8.523],[0,0],[-7.021,0],[0,0],[0,8.522],[0,0],[7.021,0],[0,0]],"o":[[0,8.52],[0,0],[-7.021,0],[0,0],[0,8.522],[0,0],[7.021,0],[0,0],[0,-8.522],[0,0],[-7.02,0]],"v":[[11.419,-80.683],[-1.29,-65.254],[-81.659,-65.254],[-94.37,-49.825],[-94.37,80.682],[-81.659,96.111],[81.66,96.111],[94.371,80.682],[94.371,-80.683],[81.66,-96.112],[24.13,-96.112]],"c":true},"ix":2},"nm":"路径 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.921599984169,0.949000000954,0.956900000572,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[269.62,296.346],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"变换"}],"nm":"Group 8","np":2,"cix":2,"bm":0,"ix":8,"mn":"ADBE Vector Group","hd":false}],"ip":86,"op":206.361328125,"st":86.240234375,"bm":0},{"ddd":0,"ind":12,"ty":4,"nm":"Layer 2 Outlines","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.967},"o":{"x":0.167,"y":0.033},"t":104.998,"s":[98.183,-168.399,0],"e":[170.183,188.601,0],"to":[12,59.5,0],"ti":[-12,-59.5,0]},{"t":125}],"ix":2},"a":{"a":0,"k":[256,256,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"t":104.998,"s":[70.688,70.688,100],"e":[25.687,25.688,100]},{"t":125}],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[19.134,0],[0,14.352],[-19.134,0],[0,-14.352]],"o":[[-19.134,0],[0,-14.352],[19.134,0],[0,14.352]],"v":[[0,25.59],[-34.12,-0.001],[0,-25.59],[34.12,-0.001]],"c":true},"ix":2},"nm":"路径 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.596099972725,0.686299979687,0.717599987984,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[204.82,341.868],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"变换"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,-30.025],[4.778,0],[0,4.778],[19.448,3.925],[0,0]],"o":[[0,4.778],[-4.778,0],[0,-20.642],[0,0],[28.831,4.095]],"v":[[25.59,25.248],[17.059,33.779],[8.529,25.248],[-25.589,-16.549],[-25.589,-33.779]],"c":true},"ix":2},"nm":"路径 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.800000011921,0.851000010967,0.874499976635,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[264.53,265.44],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"变换"}],"nm":"Group 2","np":2,"cix":2,"bm":0,"ix":2,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,-30.025],[4.778,0],[0,4.778],[19.448,3.925],[0,0],[4.777,0],[0,4.778],[0,0],[-4.778,0],[-2.73,-0.512]],"o":[[0,4.778],[-4.778,0],[0,-20.642],[0,0],[0,4.778],[-4.778,0],[0,0],[0,-4.778],[2.899,0],[28.831,4.095]],"v":[[34.12,0],[25.589,8.53],[17.059,0],[-17.059,-41.797],[-17.059,51.179],[-25.589,59.709],[-34.119,51.179],[-34.119,-51.179],[-25.589,-59.709],[-17.059,-59.027]],"c":true},"ix":2},"nm":"路径 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.596099972725,0.686299979687,0.717599987984,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[256,290.688],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"变换"}],"nm":"Group 3","np":2,"cix":2,"bm":0,"ix":3,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[1.6,1.599],[0,0],[2.262,0],[0,0],[0,0],[-4.711,0],[0,0],[0,0]],"o":[[0,0],[-1.599,-1.601],[0,0],[0,0],[0,4.711],[0,0],[0,0],[0,-2.263]],"v":[[31.621,19.559],[-19.559,-31.62],[-25.59,-34.12],[-34.12,-34.12],[-34.12,25.59],[-25.59,34.12],[34.12,34.12],[34.12,25.59]],"c":true},"ix":2},"nm":"路径 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.717599987984,0.831399977207,0.85490000248,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[307.179,178.662],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"变换"}],"nm":"Group 4","np":2,"cix":2,"bm":0,"ix":4,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[4.778,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,4.778],[0,0],[0,0],[0,0],[0,0]],"v":[[51.18,-60.278],[51.18,119.987],[42.649,128.517],[-51.18,128.517],[-51.18,-128.517],[-17.06,-128.517]],"c":true},"ix":2},"nm":"路径 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.839200019836,0.890200018883,0.91369998455,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[290.12,273.06],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"变换"}],"nm":"Group 5","np":2,"cix":2,"bm":0,"ix":5,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[4.778,0],[0,0],[0,4.778],[0,0],[-4.778,0],[0,0]],"o":[[0,0],[0,4.778],[0,0],[-4.778,0],[0,0],[0,-4.778],[0,0],[0,0]],"v":[[102.359,-60.278],[102.359,119.987],[93.829,128.517],[-93.829,128.517],[-102.359,119.987],[-102.359,-119.987],[-93.829,-128.517],[34.12,-128.517]],"c":true},"ix":2},"nm":"路径 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.909799993038,0.925499975681,0.949000000954,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[238.94,273.06],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"变换"}],"nm":"Group 6","np":2,"cix":2,"bm":0,"ix":6,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,-4.778],[0,0],[4.778,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,4.778],[0,0],[0,0],[0,0],[4.778,0]],"v":[[51.18,-128.518],[51.18,128.518],[42.649,137.048],[-51.18,137.048],[-51.18,-137.048],[42.649,-137.048]],"c":true},"ix":2},"nm":"路径 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.596099972725,0.686299979687,0.717599987984,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[324.239,247.47],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"变换"}],"nm":"Group 7","np":2,"cix":2,"bm":0,"ix":7,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,-4.778],[0,0],[4.778,0],[0,0],[0,4.778],[0,0],[-4.778,0],[0,0]],"o":[[0,0],[0,4.778],[0,0],[-4.778,0],[0,0],[0,-4.778],[0,0],[4.778,0]],"v":[[102.359,-128.518],[102.359,128.518],[93.829,137.048],[-93.829,137.048],[-102.359,128.518],[-102.359,-128.518],[-93.829,-137.048],[93.829,-137.048]],"c":true},"ix":2},"nm":"路径 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.800000011921,0.851000010967,0.874499976635,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[273.06,247.47],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"变换"}],"nm":"Group 8","np":2,"cix":2,"bm":0,"ix":8,"mn":"ADBE Vector Group","hd":false}],"ip":105,"op":225.482421875,"st":105.36328125,"bm":0},{"ddd":0,"ind":13,"ty":4,"nm":"Layer 1 Outlines","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":1},"o":{"x":0.167,"y":0},"t":122,"s":[235.183,-168.399,0],"e":[170.183,188.601,0],"to":[-10.833,59.5,0],"ti":[10.833,-59.5,0]},{"t":142}],"ix":2},"a":{"a":0,"k":[256,256,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"t":122,"s":[70.688,70.688,100],"e":[25.687,25.688,100]},{"t":142}],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[2.298,0],[0,0],[0,2.298],[-2.297,0],[0,0],[0,-2.299]],"o":[[0,0],[-2.297,0],[0,-2.299],[0,0],[2.297,0],[0,2.298]],"v":[[59.468,63.285],[-59.468,63.285],[-63.627,59.124],[-59.468,54.962],[59.468,54.962],[63.628,59.124]],"c":true},"ix":2},"nm":"路径 1","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[2.298,0],[0,0],[0,2.299],[-2.297,0],[0,0],[0,-2.298]],"o":[[0,0],[-2.297,0],[0,-2.298],[0,0],[2.297,0],[0,2.299]],"v":[[59.468,33.723],[-59.468,33.723],[-63.627,29.562],[-59.468,25.4],[59.468,25.4],[63.628,29.562]],"c":true},"ix":2},"nm":"路径 2","mn":"ADBE Vector Shape - Group","hd":false},{"ind":2,"ty":"sh","ix":3,"ks":{"a":0,"k":{"i":[[2.298,0],[0,0],[0,2.299],[-2.297,0],[0,0],[0,-2.298]],"o":[[0,0],[-2.297,0],[0,-2.298],[0,0],[2.297,0],[0,2.299]],"v":[[59.468,4.162],[-59.468,4.162],[-63.627,0],[-59.468,-4.161],[59.468,-4.161],[63.628,0]],"c":true},"ix":2},"nm":"路径 3","mn":"ADBE Vector Shape - Group","hd":false},{"ind":3,"ty":"sh","ix":4,"ks":{"a":0,"k":{"i":[[2.298,0],[0,0],[0,2.298],[-2.297,0],[0,0],[0,-2.299]],"o":[[0,0],[-2.297,0],[0,-2.299],[0,0],[2.297,0],[0,2.298]],"v":[[59.468,-25.4],[-59.468,-25.4],[-63.627,-29.561],[-59.468,-33.722],[59.468,-33.722],[63.628,-29.561]],"c":true},"ix":2},"nm":"路径 4","mn":"ADBE Vector Shape - Group","hd":false},{"ind":4,"ty":"sh","ix":5,"ks":{"a":0,"k":{"i":[[2.298,0],[0,0],[0,2.298],[-2.297,0],[0,0],[0,-2.299]],"o":[[0,0],[-2.297,0],[0,-2.299],[0,0],[2.297,0],[0,2.298]],"v":[[59.468,-54.962],[-59.468,-54.962],[-63.627,-59.122],[-59.468,-63.285],[59.468,-63.285],[63.628,-59.122]],"c":true},"ix":2},"nm":"路径 5","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.603900015354,0.686299979687,0.717599987984,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[307.666,239.088],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"变换"}],"nm":"Group 1","np":6,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[1.311,1.28],[0,0],[0.901,0],[0,0],[0,0],[-2.891,0],[0,0],[0,0]],"o":[[0,0],[-1.532,-1.454],[0,0],[0,0],[0,6.557],[0,0],[0,0],[0,-0.853]],"v":[[17.812,14.788],[-14.589,-16.116],[-17.273,-17.932],[-19.486,-17.932],[-19.422,11.375],[-10.529,17.521],[19.486,17.521],[19.486,17.064]],"c":true},"ix":2},"nm":"路径 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.709800004959,0.76859998703,0.811800003052,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[374.345,137.448],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"变换"}],"nm":"Group 2","np":2,"cix":2,"bm":0,"ix":2,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[-2.891,0],[0,0],[0,0],[1.311,1.28],[0,0],[0.901,0],[0,0]],"o":[[0,6.557],[0,0],[0,0],[0,-0.854],[0,0],[-1.532,-1.454],[0,0],[0,0]],"v":[[-19.422,11.376],[-10.529,17.522],[19.486,17.522],[19.486,17.064],[17.811,14.788],[-14.589,-16.116],[-17.273,-17.933],[-19.486,-17.933]],"c":true},"ix":2},"nm":"路径 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[374.345,137.447],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"变换"}],"nm":"Group 3","np":2,"cix":2,"bm":0,"ix":3,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[1.153,1.122],[0,0],[0.901,0],[0,0],[29.809,-60.514],[1.525,-2.664],[0,0],[0,1.628]],"o":[[0,0],[0,-1.596],[0,0],[-1.532,-1.454],[0,0],[40.172,53.783],[-1.348,2.758],[0,0],[1.627,0],[0,0]],"v":[[35.923,58.989],[35.923,-74.235],[34.249,-76.969],[1.849,-107.873],[-0.837,-109.69],[-35.922,-109.69],[-23.27,101.554],[-27.582,109.69],[32.969,109.69],[35.923,106.72]],"c":true},"ix":2},"nm":"路径 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.843100011349,0.905900001526,0.925499975681,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[357.909,229.205],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"变换"}],"nm":"Group 4","np":2,"cix":2,"bm":0,"ix":4,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[4.06,-1.374],[0,0],[0,0],[0,0],[-1.532,0.252],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0.269,1.532]],"o":[[0,0],[-4.091,1.374],[0,0],[0,0],[0,0],[0.252,1.532],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[-1.532,0.253],[0,0]],"v":[[-55.692,-12.742],[-70.81,-100.889],[-83.037,-96.766],[-81.157,-85.816],[-66.039,2.331],[-49.578,98.315],[-46.309,100.638],[-1.761,92.991],[19.376,89.373],[83.037,66.462],[82.279,65.277],[45.535,71.582],[8.586,77.918],[-35.961,85.565],[-39.247,83.243]],"c":true},"ix":2},"nm":"路径 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.603900015354,0.686299979687,0.717599987984,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[240.56,278.232],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"变换"}],"nm":"Group 5","np":2,"cix":2,"bm":0,"ix":5,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[-1.627,0],[0,0],[0,0],[0,0],[0,0],[0,1.628]],"o":[[0,0],[0,0],[0,1.643],[0,0],[0,0],[0,0],[0,0],[-1.627,0],[0,0]],"v":[[-59.025,-100.993],[-70.92,-98.954],[-70.92,98.022],[-67.966,100.993],[7.243,100.993],[51.76,93.361],[70.921,90.075],[-56.071,90.075],[-59.025,87.105]],"c":true},"ix":2},"nm":"路径 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.709800004959,0.76859998703,0.811800003052,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[278.852,248.821],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"变换"}],"nm":"Group 6","np":2,"cix":2,"bm":0,"ix":6,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[1.311,1.28],[0,0],[0.901,0],[0,0],[0.003,-1.63],[0,0],[-1.627,0],[0,0],[0,1.628]],"o":[[0,0],[0,-0.854],[0,0],[-1.532,-1.454],[0,0],[-1.631,0.003],[0,0],[0,1.628],[0,0],[1.627,0],[0,0]],"v":[[87.003,58.989],[87.003,-74.693],[85.328,-76.969],[52.928,-107.873],[50.242,-109.69],[-84.048,-109.69],[-87.003,-106.736],[-87.003,106.72],[-84.048,109.69],[84.048,109.69],[87.003,106.72]],"c":true},"ix":2},"nm":"路径 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.929400026798,0.952899992466,0.956900000572,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[306.829,229.205],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"变换"}],"nm":"Group 7","np":2,"cix":2,"bm":0,"ix":7,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[-0.266,-1.544],[0,0],[0,0],[0,0],[-1.533,0.252],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[-1.543,0.275],[0,0],[0,0],[0,0],[0.269,1.533],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[-38.301,-108.11],[-89.072,-99.405],[-91.379,-96.118],[-88.377,-78.596],[-73.26,9.551],[-56.815,105.535],[-53.529,107.858],[-8.982,100.211],[72.484,86.244],[91.645,82.957],[81.614,82.957]],"c":true},"ix":2},"nm":"路径 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.843100011349,0.905900001526,0.925499975681,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[258.128,255.938],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"变换"}],"nm":"Group 8","np":2,"cix":2,"bm":0,"ix":8,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[16.049,-5.766],[-0.521,-1.469],[0,0],[0,0],[-1.469,0.538],[0,0],[0,0]],"o":[[-16.903,5.688],[-1.47,0.538],[0,0],[0,0],[0.538,1.469],[0,0],[0,0],[0,0]],"v":[[-54.461,-107.755],[-104.158,-90.66],[-105.88,-87.026],[-69.594,13.872],[-36.658,105.511],[-33.024,107.217],[9.501,91.923],[106.401,57.084]],"c":true},"ix":2},"nm":"路径 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.709800004959,0.76859998703,0.811800003052,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[224.211,285.097],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"变换"}],"nm":"Group 9","np":2,"cix":2,"bm":0,"ix":9,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[-1.627,0],[0,0],[0,1.628],[0,0],[0,0],[0,6.556],[0,0],[0,0],[0.003,-1.63],[0,0]],"o":[[0,0],[0,1.628],[0,0],[1.627,0],[0,0],[0,0],[-2.89,0],[0,0],[0,0],[-1.631,0.003],[0,0],[0,0]],"v":[[-87.002,5.127],[-87.002,106.72],[-84.048,109.69],[84.048,109.69],[87.003,106.72],[87.003,-74.235],[56.988,-74.235],[48.094,-80.381],[48.031,-109.69],[-84.048,-109.69],[-87.003,-106.736],[-87.003,5.127]],"c":true},"ix":2},"nm":"路径 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[306.829,229.205],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"变换"}],"nm":"Group 10","np":2,"cix":2,"bm":0,"ix":10,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[-1.542,0.275],[0,0],[0,0],[-0.6,-3.492],[0,0],[0,0],[1.532,-0.268],[0,0],[0,0],[0.269,1.533]],"o":[[0,0],[-0.266,-1.544],[0,0],[0,0],[1.564,-0.679],[0,0],[0,0],[0.269,1.533],[0,0],[0,0],[-1.532,0.253],[0,0]],"v":[[-81.364,18.588],[-99.483,-87.081],[-97.176,-90.368],[27.604,-111.761],[56.181,-116.469],[60.888,-112.867],[91.755,41.277],[99.48,86.37],[97.174,89.656],[-17.086,109.248],[-61.634,116.895],[-64.92,114.572]],"c":true},"ix":2},"nm":"路径 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[266.232,246.902],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"变换"}],"nm":"Group 11","np":2,"cix":2,"bm":0,"ix":11,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[-1.469,0.537],[-45.954,19.607],[-0.884,-2.449],[0,0],[0,0],[1.469,-0.522],[0,0],[0,0],[0.537,1.469]],"o":[[0,0],[-0.521,-1.47],[47.707,-17.159],[2.053,-1.296],[0,0],[0,0],[0.521,1.47],[0,0],[0,0],[-1.469,0.537],[0,0]],"v":[[-76.805,32.334],[-113.091,-68.563],[-111.369,-72.197],[36.049,-124.921],[40.598,-122.488],[97.61,24.466],[113.091,67.52],[111.385,71.155],[2.291,110.385],[-40.235,125.68],[-43.868,123.974]],"c":true},"ix":2},"nm":"路径 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[231.422,266.635],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"变换"}],"nm":"Group 12","np":2,"cix":2,"bm":0,"ix":12,"mn":"ADBE Vector Group","hd":false}],"ip":122,"op":242.603515625,"st":122.482421875,"bm":0}],"markers":[]}
\ No newline at end of file
{"nm":"Gpay Tick","h":150,"w":150,"meta":{"g":"@lottiefiles/toolkit-js 0.33.2"},"layers":[{"ty":4,"nm":"Tick","sr":1,"st":0,"op":1800,"ip":0,"hasMask":false,"ao":0,"ks":{"a":{"a":0,"k":[278.033,227.218,0]},"s":{"a":1,"k":[{"o":{"x":0.333,"y":0},"i":{"x":0.667,"y":1},"s":[20,20,100],"t":30},{"s":[100,100,100],"t":60}]},"sk":{"a":0,"k":0},"p":{"a":0,"k":[346.916,346.917,0]},"r":{"a":1,"k":[{"o":{"x":0.333,"y":0},"i":{"x":0.667,"y":1},"s":[-99],"t":30},{"s":[0],"t":60}]},"sa":{"a":0,"k":0},"o":{"a":1,"k":[{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[0],"t":0},{"o":{"x":0.167,"y":0},"i":{"x":0.833,"y":1},"s":[100],"t":4},{"s":[100],"t":32}]}},"ef":[],"shapes":[{"ty":"gr","nm":"Group 1","it":[{"ty":"sh","nm":"路径 1","d":1,"ks":{"a":0,"k":{"c":false,"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-153.033,0.588],[-51.404,102.218],[153.032,-102.218]]}}},{"ty":"st","nm":"Stroke 1","lc":2,"lj":2,"ml":1,"o":{"a":0,"k":100},"w":{"a":0,"k":50},"c":{"a":0,"k":[0,0.98,0.604]}},{"ty":"tr","a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"sk":{"a":0,"k":0},"p":{"a":0,"k":[278.033,227.218]},"r":{"a":0,"k":0},"sa":{"a":0,"k":0},"o":{"a":0,"k":100}}]},{"ty":"tm","nm":"Trim Paths 1","e":{"a":1,"k":[{"o":{"x":0.67,"y":0},"i":{"x":0.33,"y":1},"s":[0],"t":31},{"s":[100],"t":60}]},"o":{"a":0,"k":0},"s":{"a":0,"k":0},"m":1}],"ind":1,"parent":4},{"ty":4,"nm":"Glow Mask","sr":1,"st":0,"op":1800,"ip":0,"hasMask":false,"td":1,"ao":0,"ks":{"a":{"a":0,"k":[346.917,346.917,0]},"s":{"a":1,"k":[{"o":{"x":0.333,"y":0},"i":{"x":0.667,"y":1},"s":[1.56,1.56,100],"t":30},{"o":{"x":0.333,"y":0},"i":{"x":0.833,"y":1},"s":[8.59,8.59,100],"t":60},{"o":{"x":0.167,"y":0},"i":{"x":0.833,"y":1},"s":[7.42,7.42,100],"t":80},{"o":{"x":0.167,"y":0},"i":{"x":0.833,"y":1},"s":[7.97,7.97,100],"t":92},{"o":{"x":0.167,"y":0},"i":{"x":0.833,"y":1},"s":[7.66,7.66,100],"t":100},{"s":[7.81,7.81,100],"t":110}]},"sk":{"a":0,"k":0},"p":{"a":1,"k":[{"o":{"x":0.506,"y":0},"i":{"x":0.783,"y":1},"s":[85.86,92.8,0],"t":0},{"o":{"x":0.337,"y":0},"i":{"x":0.576,"y":1},"s":[77.28,87.03,0],"t":30},{"s":[73.99,76.71,0],"t":50}]},"r":{"a":0,"k":0},"sa":{"a":0,"k":0},"o":{"a":1,"k":[{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[0],"t":0},{"o":{"x":0.167,"y":0},"i":{"x":0.833,"y":1},"s":[100],"t":4},{"s":[100],"t":32}]}},"ef":[],"shapes":[{"ty":"gr","nm":"Group 1","it":[{"ty":"sh","nm":"路径 1","d":1,"ks":{"a":0,"k":{"c":true,"i":[[0,-191.459],[191.459,0],[0,191.458],[-191.458,0]],"o":[[0,191.458],[-191.458,0],[0,-191.459],[191.459,0]],"v":[[346.667,0],[0,346.667],[-346.667,0],[0,-346.666]]}}},{"ty":"fl","nm":"Fill 1","c":{"a":0,"k":[0,0.577,1]},"r":1,"o":{"a":0,"k":100}},{"ty":"tr","a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"sk":{"a":0,"k":0},"p":{"a":0,"k":[346.916,346.917]},"r":{"a":0,"k":0},"sa":{"a":0,"k":0},"o":{"a":0,"k":100}}]}],"ind":2},{"ty":4,"nm":"Glow","sr":1,"st":0,"op":1800,"ip":0,"tt":1,"hasMask":false,"ao":0,"ks":{"a":{"a":0,"k":[0,0,0]},"s":{"a":0,"k":[7.81,7.81,100]},"sk":{"a":0,"k":0},"p":{"a":1,"k":[{"o":{"x":0.72,"y":0},"i":{"x":0.833,"y":0.817},"s":[4.38,34.38,0],"t":94},{"s":[110.63,95.94,0],"t":140}]},"r":{"a":0,"k":0},"sa":{"a":0,"k":0},"o":{"a":1,"k":[{"o":{"x":0.167,"y":0},"i":{"x":0.833,"y":1},"s":[0],"t":0},{"o":{"x":0.167,"y":0},"i":{"x":0.833,"y":1},"s":[100],"t":4},{"o":{"x":0.72,"y":0},"i":{"x":0.833,"y":0.643},"s":[100],"t":110},{"s":[0],"t":140}]}},"ef":[],"shapes":[{"ty":"gr","nm":"Shape 1","it":[{"ty":"sh","nm":"路径 1","d":1,"ks":{"a":0,"k":{"c":true,"i":[[0,0],[348.655,1.947],[0,0],[35.647,880.072]],"o":[[0,0],[-8.868,-0.049],[0,0],[-3.819,-94.283]],"v":[[211.999,-440],[-480,280],[-136,648],[483.999,-312]]}}},{"ty":"fl","nm":"Fill 1","c":{"a":0,"k":[0.769,0.824,1]},"r":1,"o":{"a":0,"k":30}},{"ty":"tr","a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"sk":{"a":0,"k":0},"p":{"a":0,"k":[0,0]},"r":{"a":0,"k":0},"sa":{"a":0,"k":0},"o":{"a":0,"k":100}}]}],"ind":3},{"ty":4,"nm":"Background Circle (Blue)","sr":1,"st":0,"op":1800,"ip":0,"hasMask":false,"ao":0,"ks":{"a":{"a":0,"k":[346.917,346.917,0]},"s":{"a":1,"k":[{"o":{"x":0.333,"y":0},"i":{"x":0.667,"y":1},"s":[1.56,1.56,100],"t":30},{"o":{"x":0.333,"y":0},"i":{"x":0.833,"y":1},"s":[8.59,8.59,100],"t":60},{"o":{"x":0.167,"y":0},"i":{"x":0.833,"y":1},"s":[7.42,7.42,100],"t":80},{"o":{"x":0.167,"y":0},"i":{"x":0.833,"y":1},"s":[7.97,7.97,100],"t":92},{"o":{"x":0.167,"y":0},"i":{"x":0.833,"y":1},"s":[7.66,7.66,100],"t":100},{"s":[7.81,7.81,100],"t":110}]},"sk":{"a":0,"k":0},"p":{"a":1,"k":[{"o":{"x":0.506,"y":0},"i":{"x":0.783,"y":1},"s":[85.86,92.8,0],"t":0},{"o":{"x":0.337,"y":0},"i":{"x":0.576,"y":1},"s":[77.28,87.03,0],"t":30},{"s":[73.99,76.71,0],"t":50}]},"r":{"a":0,"k":0},"sa":{"a":0,"k":0},"o":{"a":1,"k":[{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[0],"t":0},{"o":{"x":0.167,"y":0},"i":{"x":0.833,"y":1},"s":[100],"t":4},{"s":[100],"t":32}]}},"ef":[],"shapes":[{"ty":"gr","nm":"Group 1","it":[{"ty":"sh","nm":"路径 1","d":1,"ks":{"a":0,"k":{"c":true,"i":[[0,-191.459],[191.459,0],[0,191.458],[-191.458,0]],"o":[[0,191.458],[-191.458,0],[0,-191.459],[191.459,0]],"v":[[346.667,0],[0,346.667],[-346.667,0],[0,-346.666]]}}},{"ty":"fl","nm":"Fill 1","c":{"a":0,"k":[1,1,1]},"r":1,"o":{"a":0,"k":100}},{"ty":"tr","a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"sk":{"a":0,"k":0},"p":{"a":0,"k":[346.916,346.917]},"r":{"a":0,"k":0},"sa":{"a":0,"k":0},"o":{"a":0,"k":100}}]}],"ind":4},{"ty":4,"nm":"Background(Blue)","sr":1,"st":0,"op":1800,"ip":0,"hasMask":false,"ao":0,"ks":{"a":{"a":0,"k":[346.917,346.917,0]},"s":{"a":1,"k":[{"o":{"x":0.67,"y":0},"i":{"x":0.33,"y":1},"s":[100,100,100],"t":0},{"o":{"x":0.67,"y":0},"i":{"x":0.33,"y":1},"s":[148,148,100],"t":60},{"s":[88,88,100],"t":110}]},"sk":{"a":0,"k":0},"p":{"a":1,"k":[{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[346.917,346.917,0],"t":30,"ti":[0,0,0],"to":[0,0,0]},{"s":[346.917,346.917,0],"t":49}]},"r":{"a":0,"k":0},"sa":{"a":0,"k":0},"o":{"a":1,"k":[{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[0],"t":0},{"o":{"x":0.167,"y":0},"i":{"x":0.833,"y":1},"s":[20],"t":4},{"s":[20],"t":32}]}},"ef":[],"shapes":[{"ty":"gr","nm":"Group 1","it":[{"ty":"sh","nm":"路径 1","d":1,"ks":{"a":0,"k":{"c":true,"i":[[0,-191.459],[191.459,0],[0,191.458],[-191.458,0]],"o":[[0,191.458],[-191.458,0],[0,-191.459],[191.459,0]],"v":[[346.667,0],[0,346.667],[-346.667,0],[0,-346.666]]}}},{"ty":"fl","nm":"Fill 1","c":{"a":0,"k":[1,1,1]},"r":1,"o":{"a":0,"k":100}},{"ty":"tr","a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"sk":{"a":0,"k":0},"p":{"a":0,"k":[346.916,346.917]},"r":{"a":0,"k":0},"sa":{"a":0,"k":0},"o":{"a":0,"k":100}}]}],"ind":5,"parent":4},{"ty":4,"nm":"Element 11","sr":1,"st":0,"op":1800,"ip":0,"hasMask":false,"ao":0,"ks":{"a":{"a":0,"k":[88.379,84.132,0]},"s":{"a":0,"k":[7.81,7.81,100]},"sk":{"a":0,"k":0},"p":{"a":1,"k":[{"o":{"x":0.174,"y":0},"i":{"x":0.33,"y":1},"s":[85.04,92.58,0],"t":10},{"s":[60.51,113.68,0],"t":42}]},"r":{"a":0,"k":0},"sa":{"a":0,"k":0},"o":{"a":1,"k":[{"o":{"x":0.167,"y":0},"i":{"x":0.833,"y":1},"s":[0],"t":0},{"o":{"x":0.167,"y":0},"i":{"x":0.833,"y":1},"s":[100],"t":4},{"o":{"x":0.72,"y":0},"i":{"x":0.833,"y":0.601},"s":[100],"t":32},{"s":[0],"t":87}]}},"ef":[],"shapes":[{"ty":"gr","nm":"Group 1","it":[{"ty":"sh","nm":"路径 1","d":1,"ks":{"a":0,"k":{"c":false,"i":[[0,0],[-17.539,13.457],[-12.743,-16.607],[0,0]],"o":[[-12.743,-16.608],[17.539,-13.458],[0,0],[0,0]],"v":[[-25.635,34.132],[-16.894,-20.673],[38.306,-14.931],[38.379,-14.837]]}}},{"ty":"st","nm":"Stroke 1","lc":2,"lj":2,"ml":1,"o":{"a":0,"k":100},"w":{"a":0,"k":20},"c":{"a":0,"k":[0.239,0.326,1]}},{"ty":"tr","a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"sk":{"a":0,"k":0},"p":{"a":0,"k":[88.378,84.131]},"r":{"a":0,"k":0},"sa":{"a":0,"k":0},"o":{"a":0,"k":100}}]}],"ind":6},{"ty":4,"nm":"Element 10","sr":1,"st":0,"op":1800,"ip":0,"hasMask":false,"ao":0,"ks":{"a":{"a":0,"k":[33.514,41.664,0]},"s":{"a":0,"k":[7.81,7.81,100]},"sk":{"a":0,"k":0},"p":{"a":1,"k":[{"o":{"x":0.229,"y":0},"i":{"x":0.33,"y":1},"s":[85.01,92.74,0],"t":10},{"s":[102.67,111.49,0],"t":46}]},"r":{"a":0,"k":0},"sa":{"a":0,"k":0},"o":{"a":1,"k":[{"o":{"x":0.167,"y":0},"i":{"x":0.833,"y":1},"s":[0],"t":0},{"o":{"x":0.167,"y":0},"i":{"x":0.833,"y":1},"s":[100],"t":4},{"o":{"x":0.72,"y":0},"i":{"x":0.833,"y":0.601},"s":[100],"t":32},{"s":[0],"t":87}]}},"ef":[],"shapes":[{"ty":"gr","nm":"Group 1","it":[{"ty":"sh","nm":"路径 1","d":1,"ks":{"a":0,"k":{"c":true,"i":[[3.281,-1.895],[0,0],[1.894,3.281],[0,0],[-3.281,1.894],[0,0],[-1.894,-3.282],[0,0]],"o":[[0,0],[-3.281,1.894],[0,0],[-1.894,-3.283],[0,0],[3.281,-1.895],[0,0],[1.894,3.281]],"v":[[28.859,29.055],[10.732,39.52],[1.361,37.009],[-31.37,-19.681],[-28.859,-29.053],[-10.732,-39.519],[-1.361,-37.008],[31.37,19.683]]}}},{"ty":"fl","nm":"Fill 1","c":{"a":0,"k":[0,0.577,1]},"r":1,"o":{"a":0,"k":100}},{"ty":"tr","a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"sk":{"a":0,"k":0},"p":{"a":0,"k":[33.514,41.664]},"r":{"a":0,"k":0},"sa":{"a":0,"k":0},"o":{"a":0,"k":100}}]}],"ind":7},{"ty":4,"nm":"Element 9","sr":1,"st":0,"op":1800,"ip":0,"hasMask":false,"ao":0,"ks":{"a":{"a":0,"k":[60.548,78.82,0]},"s":{"a":0,"k":[7.81,7.81,100]},"sk":{"a":0,"k":0},"p":{"a":1,"k":[{"o":{"x":0.189,"y":0},"i":{"x":0.33,"y":1},"s":[86.47,92.96,0],"t":10},{"s":[111,96.87,0],"t":43}]},"r":{"a":0,"k":0},"sa":{"a":0,"k":0},"o":{"a":1,"k":[{"o":{"x":0.167,"y":0},"i":{"x":0.833,"y":1},"s":[0],"t":0},{"o":{"x":0.167,"y":0},"i":{"x":0.833,"y":1},"s":[100],"t":4},{"o":{"x":0.72,"y":0},"i":{"x":0.833,"y":0.601},"s":[100],"t":32},{"s":[0],"t":87}]}},"ef":[],"shapes":[{"ty":"gr","nm":"Group 1","it":[{"ty":"sh","nm":"路径 1","d":1,"ks":{"a":0,"k":{"c":false,"i":[[0,0],[2.886,-21.917],[20.753,2.734],[0.039,0.005]],"o":[[20.754,2.733],[-2.886,21.918],[-0.04,-0.005],[0,0]],"v":[[-12.409,-41.32],[20.162,3.615],[-22.93,38.586],[-23.048,38.571]]}}},{"ty":"st","nm":"Stroke 1","lc":2,"lj":2,"ml":1,"o":{"a":0,"k":100},"w":{"a":0,"k":15},"c":{"a":0,"k":[0.871,0.247,0.247]}},{"ty":"tr","a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"sk":{"a":0,"k":0},"p":{"a":0,"k":[60.548,78.82]},"r":{"a":0,"k":0},"sa":{"a":0,"k":0},"o":{"a":0,"k":100}}]}],"ind":8},{"ty":4,"nm":"Element 8","sr":1,"st":0,"op":1800,"ip":0,"hasMask":false,"ao":0,"ks":{"a":{"a":0,"k":[47.326,47.325,0]},"s":{"a":0,"k":[7.81,7.81,100]},"sk":{"a":0,"k":0},"p":{"a":1,"k":[{"o":{"x":0.263,"y":0},"i":{"x":0.33,"y":1},"s":[85.58,91.51,0],"t":10},{"s":[109.17,68.22,0],"t":68}]},"r":{"a":0,"k":0},"sa":{"a":0,"k":0},"o":{"a":1,"k":[{"o":{"x":0.167,"y":0},"i":{"x":0.833,"y":1},"s":[0],"t":0},{"o":{"x":0.167,"y":0},"i":{"x":0.833,"y":1},"s":[100],"t":4},{"o":{"x":0.72,"y":0},"i":{"x":0.833,"y":0.601},"s":[100],"t":32},{"s":[0],"t":87}]}},"ef":[],"shapes":[{"ty":"gr","nm":"Group 1","it":[{"ty":"sh","nm":"路径 1","d":1,"ks":{"a":0,"k":{"c":true,"i":[[-11.644,-3.948],[0,0],[-3.912,2.92],[0,0],[0.157,-12.294],[0,0],[-3.985,-2.819],[0,0],[11.74,-3.65],[0,0],[1.449,-4.662],[0,0],[7.098,10.038],[0,0],[4.882,-0.063],[0,0],[-7.354,9.853],[0,0],[1.569,4.624],[0,0]],"o":[[0,0],[4.623,1.568],[0,0],[9.854,-7.353],[0,0],[-0.062,4.882],[0,0],[10.038,7.099],[0,0],[-4.662,1.449],[0,0],[-3.649,11.74],[0,0],[-2.82,-3.986],[0,0],[-12.293,0.156],[0,0],[2.92,-3.913],[0,0],[-3.948,-11.644]],"v":[[-17.558,-36.37],[-13.481,-34.987],[0.154,-37.147],[3.606,-39.722],[27.31,-27.644],[27.255,-23.339],[33.522,-11.038],[37.038,-8.552],[32.877,17.724],[28.763,19.002],[19.003,28.764],[17.724,32.876],[-8.551,37.037],[-11.037,33.522],[-23.338,27.255],[-27.644,27.31],[-39.721,3.606],[-37.146,0.155],[-34.987,-13.481],[-36.37,-17.558]]}}},{"ty":"fl","nm":"Fill 1","c":{"a":0,"k":[1,0.737,0.196]},"r":1,"o":{"a":0,"k":100}},{"ty":"tr","a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"sk":{"a":0,"k":0},"p":{"a":0,"k":[47.325,47.325]},"r":{"a":0,"k":0},"sa":{"a":0,"k":0},"o":{"a":0,"k":100}}]}],"ind":9},{"ty":4,"nm":"Element 7","sr":1,"st":0,"op":1800,"ip":0,"hasMask":false,"ao":0,"ks":{"a":{"a":0,"k":[77.856,74.774,0]},"s":{"a":0,"k":[7.81,7.81,100]},"sk":{"a":0,"k":0},"p":{"a":1,"k":[{"o":{"x":0.229,"y":0},"i":{"x":0.33,"y":1},"s":[84.86,91.71,0],"t":10},{"s":[102.82,50.46,0],"t":46}]},"r":{"a":0,"k":0},"sa":{"a":0,"k":0},"o":{"a":1,"k":[{"o":{"x":0.167,"y":0},"i":{"x":0.833,"y":1},"s":[0],"t":0},{"o":{"x":0.167,"y":0},"i":{"x":0.833,"y":1},"s":[100],"t":4},{"o":{"x":0.72,"y":0},"i":{"x":0.833,"y":0.601},"s":[100],"t":32},{"s":[0],"t":87}]}},"ef":[],"shapes":[{"ty":"gr","nm":"Group 1","it":[{"ty":"sh","nm":"路径 1","d":1,"ks":{"a":0,"k":{"c":false,"i":[[0,0],[-12.731,9.768],[-9.249,-12.055],[-0.018,-0.022]],"o":[[-9.249,-12.055],[12.73,-9.768],[0.018,0.023],[0,0]],"v":[[-18.607,24.774],[-12.262,-15.006],[27.805,-10.838],[27.857,-10.77]]}}},{"ty":"st","nm":"Stroke 1","lc":2,"lj":2,"ml":1,"o":{"a":0,"k":100},"w":{"a":0,"k":20},"c":{"a":0,"k":[0.914,0.937,0.957]}},{"ty":"tr","a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"sk":{"a":0,"k":0},"p":{"a":0,"k":[77.856,74.774]},"r":{"a":0,"k":0},"sa":{"a":0,"k":0},"o":{"a":0,"k":100}}]}],"ind":10},{"ty":4,"nm":"Element 6","sr":1,"st":0,"op":1800,"ip":0,"hasMask":false,"ao":0,"ks":{"a":{"a":0,"k":[47.326,47.325,0]},"s":{"a":0,"k":[7.81,7.81,100]},"sk":{"a":0,"k":0},"p":{"a":1,"k":[{"o":{"x":0.189,"y":0},"i":{"x":0.33,"y":1},"s":[84.49,91.39,0],"t":10},{"s":[41.36,106.55,0],"t":43}]},"r":{"a":0,"k":0},"sa":{"a":0,"k":0},"o":{"a":1,"k":[{"o":{"x":0.167,"y":0},"i":{"x":0.833,"y":1},"s":[0],"t":0},{"o":{"x":0.167,"y":0},"i":{"x":0.833,"y":1},"s":[100],"t":4},{"o":{"x":0.72,"y":0},"i":{"x":0.833,"y":0.601},"s":[100],"t":32},{"s":[0],"t":87}]}},"ef":[],"shapes":[{"ty":"gr","nm":"Group 1","it":[{"ty":"sh","nm":"路径 1","d":1,"ks":{"a":0,"k":{"c":true,"i":[[-11.644,-3.948],[0,0],[-3.913,2.92],[0,0],[0.157,-12.294],[0,0],[-3.986,-2.819],[0,0],[11.74,-3.65],[0,0],[1.449,-4.662],[0,0],[7.099,10.038],[0,0],[4.881,-0.062],[0,0],[-7.353,9.853],[0,0],[1.568,4.624],[0,0]],"o":[[0,0],[4.623,1.567],[0,0],[9.853,-7.352],[0,0],[-0.063,4.882],[0,0],[10.038,7.1],[0,0],[-4.662,1.449],[0,0],[-3.649,11.741],[0,0],[-2.819,-3.987],[0,0],[-12.293,0.157],[0,0],[2.92,-3.913],[0,0],[-3.948,-11.644]],"v":[[-17.558,-36.37],[-13.481,-34.987],[0.154,-37.147],[3.605,-39.723],[27.31,-27.644],[27.255,-23.339],[33.521,-11.038],[37.037,-8.553],[32.875,17.724],[28.763,19.002],[19.003,28.764],[17.724,32.875],[-8.552,37.037],[-11.039,33.522],[-23.339,27.254],[-27.645,27.31],[-39.722,3.606],[-37.146,0.154],[-34.987,-13.481],[-36.37,-17.558]]}}},{"ty":"fl","nm":"Fill 1","c":{"a":0,"k":[0.914,0.937,0.957]},"r":1,"o":{"a":0,"k":100}},{"ty":"tr","a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"sk":{"a":0,"k":0},"p":{"a":0,"k":[47.325,47.325]},"r":{"a":0,"k":0},"sa":{"a":0,"k":0},"o":{"a":0,"k":100}}]}],"ind":11},{"ty":4,"nm":"Element 5","sr":1,"st":0,"op":1800,"ip":0,"hasMask":false,"ao":0,"ks":{"a":{"a":0,"k":[30.771,30.771,0]},"s":{"a":0,"k":[7.81,7.81,100]},"sk":{"a":0,"k":0},"p":{"a":1,"k":[{"o":{"x":0.283,"y":0},"i":{"x":0.33,"y":1},"s":[83.7,91.5,0],"t":10},{"s":[40.41,91.97,0],"t":70}]},"r":{"a":0,"k":0},"sa":{"a":0,"k":0},"o":{"a":1,"k":[{"o":{"x":0.167,"y":0},"i":{"x":0.833,"y":1},"s":[0],"t":0},{"o":{"x":0.167,"y":0},"i":{"x":0.833,"y":1},"s":[100],"t":4},{"o":{"x":0.72,"y":0},"i":{"x":0.833,"y":0.601},"s":[100],"t":32},{"s":[0],"t":87}]}},"ef":[],"shapes":[{"ty":"gr","nm":"Group 1","it":[{"ty":"sh","nm":"路径 1","d":1,"ks":{"a":0,"k":{"c":true,"i":[[0,-16.856],[16.856,0],[0,16.856],[-16.857,0]],"o":[[0,16.856],[-16.857,0],[0,-16.856],[16.856,0]],"v":[[30.521,0],[0,30.521],[-30.521,0],[0,-30.521]]}}},{"ty":"fl","nm":"Fill 1","c":{"a":0,"k":[0.98,0.753,0.2]},"r":1,"o":{"a":0,"k":100}},{"ty":"tr","a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"sk":{"a":0,"k":0},"p":{"a":0,"k":[30.771,30.771]},"r":{"a":0,"k":0},"sa":{"a":0,"k":0},"o":{"a":0,"k":100}}]}],"ind":12},{"ty":4,"nm":"Element 4","sr":1,"st":0,"op":1800,"ip":0,"hasMask":false,"ao":0,"ks":{"a":{"a":0,"k":[42,25.144,0]},"s":{"a":0,"k":[7.81,7.81,100]},"sk":{"a":0,"k":0},"p":{"a":1,"k":[{"o":{"x":0.273,"y":0},"i":{"x":0.33,"y":1},"s":[83.96,92.09,0],"t":10},{"s":[34.89,73.03,0],"t":69}]},"r":{"a":0,"k":0},"sa":{"a":0,"k":0},"o":{"a":1,"k":[{"o":{"x":0.167,"y":0},"i":{"x":0.833,"y":1},"s":[0],"t":0},{"o":{"x":0.167,"y":0},"i":{"x":0.833,"y":1},"s":[100],"t":4},{"o":{"x":0.72,"y":0},"i":{"x":0.833,"y":0.601},"s":[100],"t":32},{"s":[0],"t":87}]}},"ef":[],"shapes":[{"ty":"gr","nm":"Group 1","it":[{"ty":"sh","nm":"路径 1","d":1,"ks":{"a":0,"k":{"c":true,"i":[[-0.829,-3.697],[0,0],[3.698,-0.828],[0,0],[0.83,3.697],[0,0],[-3.697,0.828],[0,0]],"o":[[0,0],[0.829,3.697],[0,0],[-3.697,0.828],[0,0],[-0.828,-3.697],[0,0],[3.697,-0.828]],"v":[[36.343,-18.872],[40.921,1.552],[35.727,9.747],[-28.148,24.066],[-36.344,18.872],[-40.922,-1.553],[-35.728,-9.747],[28.148,-24.066]]}}},{"ty":"fl","nm":"Fill 1","c":{"a":0,"k":[0,0.577,1]},"r":1,"o":{"a":0,"k":100}},{"ty":"tr","a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"sk":{"a":0,"k":0},"p":{"a":0,"k":[42,25.144]},"r":{"a":0,"k":0},"sa":{"a":0,"k":0},"o":{"a":0,"k":100}}]}],"ind":13},{"ty":4,"nm":"Element 3","sr":1,"st":0,"op":1800,"ip":0,"hasMask":false,"ao":0,"ks":{"a":{"a":0,"k":[47.326,47.325,0]},"s":{"a":0,"k":[7.81,7.81,100]},"sk":{"a":0,"k":0},"p":{"a":1,"k":[{"o":{"x":0.174,"y":0},"i":{"x":0.33,"y":1},"s":[83.4,92.19,0],"t":10},{"s":[41.36,57.51,0],"t":61}]},"r":{"a":0,"k":0},"sa":{"a":0,"k":0},"o":{"a":1,"k":[{"o":{"x":0.167,"y":0},"i":{"x":0.833,"y":1},"s":[0],"t":0},{"o":{"x":0.167,"y":0},"i":{"x":0.833,"y":1},"s":[100],"t":4},{"o":{"x":0.72,"y":0},"i":{"x":0.833,"y":0.601},"s":[100],"t":32},{"s":[0],"t":87}]}},"ef":[],"shapes":[{"ty":"gr","nm":"Group 1","it":[{"ty":"sh","nm":"路径 1","d":1,"ks":{"a":0,"k":{"c":true,"i":[[-11.644,-3.948],[0,0],[-3.913,2.92],[0,0],[0.157,-12.294],[0,0],[-3.986,-2.819],[0,0],[11.74,-3.65],[0,0],[1.449,-4.662],[0,0],[7.099,10.038],[0,0],[4.881,-0.063],[0,0],[-7.353,9.854],[0,0],[1.568,4.624],[0,0]],"o":[[0,0],[4.623,1.568],[0,0],[9.853,-7.353],[0,0],[-0.063,4.882],[0,0],[10.038,7.099],[0,0],[-4.662,1.449],[0,0],[-3.649,11.74],[0,0],[-2.819,-3.986],[0,0],[-12.293,0.157],[0,0],[2.92,-3.912],[0,0],[-3.948,-11.644]],"v":[[-17.558,-36.37],[-13.481,-34.987],[0.154,-37.147],[3.605,-39.722],[27.31,-27.644],[27.255,-23.339],[33.521,-11.038],[37.037,-8.552],[32.875,17.724],[28.763,19.002],[19.003,28.764],[17.724,32.876],[-8.552,37.037],[-11.039,33.522],[-23.339,27.255],[-27.645,27.309],[-39.722,3.605],[-37.146,0.154],[-34.987,-13.481],[-36.37,-17.558]]}}},{"ty":"fl","nm":"Fill 1","c":{"a":0,"k":[0.278,0.678,0.49]},"r":1,"o":{"a":0,"k":100}},{"ty":"tr","a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"sk":{"a":0,"k":0},"p":{"a":0,"k":[47.325,47.325]},"r":{"a":0,"k":0},"sa":{"a":0,"k":0},"o":{"a":0,"k":100}}]}],"ind":14},{"ty":4,"nm":"Element 2","sr":1,"st":0,"op":1800,"ip":0,"hasMask":false,"ao":0,"ks":{"a":{"a":0,"k":[33.515,41.664,0]},"s":{"a":0,"k":[7.81,7.81,100]},"sk":{"a":0,"k":0},"p":{"a":1,"k":[{"o":{"x":0.292,"y":0},"i":{"x":0.33,"y":1},"s":[85.83,92.93,0],"t":10},{"s":[61.61,42.77,0],"t":71}]},"r":{"a":0,"k":0},"sa":{"a":0,"k":0},"o":{"a":1,"k":[{"o":{"x":0.167,"y":0},"i":{"x":0.833,"y":1},"s":[0],"t":0},{"o":{"x":0.167,"y":0},"i":{"x":0.833,"y":1},"s":[100],"t":4},{"o":{"x":0.72,"y":0},"i":{"x":0.833,"y":0.601},"s":[100],"t":32},{"s":[0],"t":87}]}},"ef":[],"shapes":[{"ty":"gr","nm":"Group 1","it":[{"ty":"sh","nm":"路径 1","d":1,"ks":{"a":0,"k":{"c":true,"i":[[3.281,-1.895],[0,0],[1.895,3.281],[0,0],[-3.281,1.894],[0,0],[-1.895,-3.281],[0,0]],"o":[[0,0],[-3.282,1.895],[0,0],[-1.895,-3.281],[0,0],[3.281,-1.894],[0,0],[1.895,3.282]],"v":[[28.859,29.054],[10.733,39.519],[1.36,37.008],[-31.37,-19.683],[-28.859,-29.054],[-10.732,-39.52],[-1.36,-37.009],[31.37,19.682]]}}},{"ty":"fl","nm":"Fill 1","c":{"a":0,"k":[0.878,0.267,0.243]},"r":1,"o":{"a":0,"k":100}},{"ty":"tr","a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"sk":{"a":0,"k":0},"p":{"a":0,"k":[33.515,41.664]},"r":{"a":0,"k":0},"sa":{"a":0,"k":0},"o":{"a":0,"k":100}}]}],"ind":15},{"ty":4,"nm":"Element 1","sr":1,"st":0,"op":1800,"ip":0,"hasMask":false,"ao":0,"ks":{"a":{"a":0,"k":[30.771,30.771,0]},"s":{"a":0,"k":[7.81,7.81,100]},"sk":{"a":0,"k":0},"p":{"a":1,"k":[{"o":{"x":0.252,"y":0},"i":{"x":0.33,"y":1},"s":[84.94,91.76,0],"t":10},{"s":[80.25,39.41,0],"t":67}]},"r":{"a":0,"k":0},"sa":{"a":0,"k":0},"o":{"a":1,"k":[{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[0],"t":0},{"o":{"x":0.167,"y":0},"i":{"x":0.833,"y":1},"s":[100],"t":4},{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[100],"t":32},{"s":[0],"t":87}]}},"ef":[],"shapes":[{"ty":"gr","nm":"Group 1","it":[{"ty":"sh","nm":"路径 1","d":1,"ks":{"a":0,"k":{"c":true,"i":[[0,-16.856],[16.856,0],[0,16.857],[-16.857,0]],"o":[[0,16.857],[-16.857,0],[0,-16.856],[16.856,0]],"v":[[30.522,-0.001],[0,30.522],[-30.522,-0.001],[0,-30.522]]}}},{"ty":"fl","nm":"Fill 1","c":{"a":0,"k":[0.239,0.326,1]},"r":1,"o":{"a":0,"k":100}},{"ty":"tr","a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"sk":{"a":0,"k":0},"p":{"a":0,"k":[30.771,30.772]},"r":{"a":0,"k":0},"sa":{"a":0,"k":0},"o":{"a":0,"k":100}}]}],"ind":16}],"v":"5.8.1","fr":60,"op":180,"ip":0,"assets":[]}
\ No newline at end of file
package com.base.appzxhy.base package com.base.appzxhy.base
import android.animation.Animator
import android.animation.AnimatorListenerAdapter
import android.animation.ValueAnimator
import android.annotation.SuppressLint
import android.app.Activity import android.app.Activity
import android.app.Dialog import android.app.Dialog
import android.content.Context import android.content.Context
...@@ -7,28 +11,39 @@ import android.content.Intent ...@@ -7,28 +11,39 @@ import android.content.Intent
import android.graphics.Color import android.graphics.Color
import android.os.Bundle import android.os.Bundle
import android.view.LayoutInflater import android.view.LayoutInflater
import androidx.activity.ComponentActivity import android.view.View
import android.view.animation.LinearInterpolator
import androidx.activity.SystemBarStyle import androidx.activity.SystemBarStyle
import androidx.activity.enableEdgeToEdge import androidx.activity.enableEdgeToEdge
import androidx.activity.result.ActivityResult import androidx.activity.result.ActivityResult
import androidx.activity.result.ActivityResultCallback import androidx.activity.result.ActivityResultCallback
import androidx.activity.result.contract.ActivityResultContracts
import androidx.annotation.ColorInt import androidx.annotation.ColorInt
import androidx.appcompat.app.AppCompatActivity import androidx.appcompat.app.AppCompatActivity
import androidx.appcompat.widget.AppCompatTextView
import androidx.core.app.ActivityOptionsCompat import androidx.core.app.ActivityOptionsCompat
import androidx.core.view.ViewCompat import androidx.core.view.ViewCompat
import androidx.core.view.WindowInsetsCompat import androidx.core.view.WindowInsetsCompat
import androidx.fragment.app.Fragment
import androidx.lifecycle.lifecycleScope import androidx.lifecycle.lifecycleScope
import androidx.viewbinding.ViewBinding import androidx.viewbinding.ViewBinding
import com.airbnb.lottie.LottieAnimationView
import com.base.appzxhy.SpConstObject.appLanguageCountrySp import com.base.appzxhy.SpConstObject.appLanguageCountrySp
import com.base.appzxhy.SpConstObject.appLanguageSp import com.base.appzxhy.SpConstObject.appLanguageSp
import com.base.appzxhy.R import com.base.appzxhy.R
import com.base.appzxhy.bean.FeatureBean.Companion.BATTERY_INFO
import com.base.appzxhy.bean.FeatureBean.Companion.JUNK_CLEAN
import com.base.appzxhy.bean.FileBean
import com.base.appzxhy.business.ads.AdsMgr
import com.base.appzxhy.business.ads.AdsShowCallBack
import com.base.appzxhy.business.ads.NativeParentView
import com.base.appzxhy.business.helper.EventUtils import com.base.appzxhy.business.helper.EventUtils
import com.base.appzxhy.ui.batteryinfo.BatteryInfoActivity
import com.base.appzxhy.ui.clean.JunkCleanActivity
import com.base.appzxhy.ui.main.MainActivity import com.base.appzxhy.ui.main.MainActivity
import com.base.appzxhy.utils.ActivityLauncher import com.base.appzxhy.utils.ActivityLauncher
import com.base.appzxhy.utils.ActivityManagerUtils import com.base.appzxhy.utils.ActivityManagerUtils
import com.base.appzxhy.utils.FileUtils
import com.base.appzxhy.utils.LogEx import com.base.appzxhy.utils.LogEx
import com.base.appzxhy.utils.MediaUtils
import com.base.appzxhy.utils.VpnStatusListener import com.base.appzxhy.utils.VpnStatusListener
import com.base.appzxhy.utils.VpnStatusListener.Companion.vpnFlow import com.base.appzxhy.utils.VpnStatusListener.Companion.vpnFlow
import com.hjq.language.MultiLanguages import com.hjq.language.MultiLanguages
...@@ -245,10 +260,133 @@ abstract class BaseActivity<VB : ViewBinding>( ...@@ -245,10 +260,133 @@ abstract class BaseActivity<VB : ViewBinding>(
fun goToAc( fun goToAc(
clazz: Class<out Activity>, clazz: Class<out Activity>,
options: ActivityOptionsCompat? = null, options: ActivityOptionsCompat? = null,
exb: (Intent.() -> Unit)? = null,
activityResultCallback: ActivityResultCallback<ActivityResult>? = null activityResultCallback: ActivityResultCallback<ActivityResult>? = null
) { ) {
launcher.launch(Intent(this, clazz), options, activityResultCallback) launcher.launch(
Intent(this, clazz).apply {
exb?.let { this.it() }
}, options, activityResultCallback
)
}
protected var isBackDisable = false
@SuppressLint("SetTextI18n")
open fun showAdAnimation(
lottieConfig: LottieConfig,
finish: (() -> Unit)? = null
) {
if (isBackDisable) return
isBackDisable = true
val adNext = {
val include: View? = findViewById(R.id.layout_animation)
val flAd: NativeParentView? = findViewById(R.id.include_flAd)
var tvProgress: AppCompatTextView? = findViewById(R.id.tv_progress)
val lottie: LottieAnimationView? = findViewById(R.id.lottie_animation)
include?.let {
it.visibility = View.VISIBLE
it.setOnClickListener { }
}
flAd?.let { AdsMgr.showNative(it, R.layout.layout_admob_native_custom) }
lottie?.let {
lottieConfig.images?.let { img -> it.imageAssetsFolder = img }
it.setAnimation(lottieConfig.data)
it.loop(lottieConfig.isLoop)
it.playAnimation()
}
when (lottieConfig) {
LottieConfig.CLEAN_LOTTIE -> {
lottie?.addAnimatorUpdateListener { animation ->
val value = animation.animatedValue as Float * 100
tvProgress?.text = "${value.toInt()}%"
if (value.toInt() == 100) {
include?.visibility = View.GONE
finish?.invoke()
}
}
}
else -> {
lifecycleScope.launch {
val durationTime = Random.Default.nextLong(3000, 4000)
ValueAnimator.ofInt(0, 100).apply {
duration = durationTime
interpolator = LinearInterpolator()
addUpdateListener { animation ->
val value = animation.animatedValue as Int
tvProgress?.text = "${value}%"
}
addListener(object : AnimatorListenerAdapter() {
override fun onAnimationEnd(animation: Animator) {
include?.visibility = View.GONE
lottie?.cancelAnimation()
finish?.invoke()
}
})
}.start()
}
}
}
isBackDisable = false
}
AdsMgr.showInsert(this, showCallBack = object : AdsShowCallBack() {
override fun next() {
adNext.invoke()
}
})
}
}
fun Activity.jumpAction(key: String) {
if (this !is BaseActivity<*>) {
throw Exception("")
}
when (key) {
BATTERY_INFO -> {
goToAc(BatteryInfoActivity::class.java)
}
JUNK_CLEAN -> {
goToAc(JunkCleanActivity::class.java)
}
} }
} }
enum class LottieConfig(val data: String, val images: String? = null, val isLoop: Boolean = true) {
BATTERY_INFO_LOTTIE("battery_info/scan/data.json", "battery_info/scan/images", true),
// LARGE_FILE("large_files/scan/data.json", "large_files/scan/images"),
// PHOTO_COMPRESSION("photo_compression/scan/data.json", "photo_compression/scan/images"),
// PHOTO_COMPRESSION_COMPRESS("photo_compression/compress/data.json", "photo_compression/compress/images"),
// SCREENSHOT("screenshot/scan/data.json", "screenshot/scan/images"),
// SIMILAR_PHOTOS("similar_photos/scan/data.json", "similar_photos/scan/images"),
// WHATSAPP("whatsapp/scan/data.json", "whatsapp/scan/images"),
CLEAN_LOTTIE("clean.json"),
// WEATHER(""),
// CONSTELLATION("")
}
fun AppCompatActivity.cleanFiles(list: List<FileBean>) {
lifecycleScope.launch(Dispatchers.IO) {
val paths = list.filter { it.isSelected }.map { it.path }.toTypedArray()
paths.forEach { FileUtils.deleteFile(it) }
launch(Dispatchers.Main) { MediaUtils.updateMedia(applicationContext, paths) }
}
}
package com.base.appzxhy.bean
data class FileBean(
val name: String,
val path: String = "",
var icon: Int = 0,
var length: Long = 0,
var lastModified: Long = 0,
var mineType: String = "",
var isSelected: Boolean = false,
var isScanning: Boolean = true,
var state: Int = 0,
var type: Int = 0,
var items: MutableList<FileBean> = mutableListOf()
)
...@@ -201,9 +201,9 @@ object AdsMgr { ...@@ -201,9 +201,9 @@ object AdsMgr {
showCallBack?.failed() showCallBack?.failed()
return return
} }
LogEx.logDebug("showAd", "adSwitch=${AdConfigBean.adsConfigBean.adSwitch}") LogEx.logDebug("showAd", "adSwitch=${adsConfigBean.adSwitch}")
val from = activity::class.java.simpleName val from = activity::class.java.simpleName
if (AdConfigBean.adsConfigBean.adSwitch) { if (adsConfigBean.adSwitch) {
adInterMgr.show(activity, isUnLimit, AdmobEvent("interAd", from), showCallBack) adInterMgr.show(activity, isUnLimit, AdmobEvent("interAd", from), showCallBack)
} else { } else {
maxInsertMgr.show(activity, isUnLimit, AdMaxEvent("interAd", from), showCallBack) maxInsertMgr.show(activity, isUnLimit, AdMaxEvent("interAd", from), showCallBack)
......
...@@ -119,13 +119,15 @@ class AdNativeMgr { ...@@ -119,13 +119,15 @@ class AdNativeMgr {
loadAd(MyApplication.appContext, AdmobEvent("nativeAd", "preload"), null) loadAd(MyApplication.appContext, AdmobEvent("nativeAd", "preload"), null)
} }
} else { } else {
val flag = cacheItems.remove(nativeAd)
val flag = cacheItems.remove(nativeAd)
Log.e(TAG, "ready show remove=$flag size=${cacheItems.size}") Log.e(TAG, "ready show remove=$flag size=${cacheItems.size}")
nativeCallBack?.invoke(nativeAd) nativeCallBack?.invoke(nativeAd)
parent.setNativeAd(nativeAd, layout) parent.setNativeAd(nativeAd, layout)
admobEvent.showAd(nativeAd.responseInfo) admobEvent.showAd(nativeAd.responseInfo)
loadAd(MyApplication.appContext, AdmobEvent("nativeAd", "preload"), null) loadAd(MyApplication.appContext, AdmobEvent("nativeAd", "preload"), null)
} }
......
package com.base.appzxhy.ui.adapter
import android.content.Context
import android.view.ViewGroup
import com.base.appzxhy.R
import com.base.appzxhy.business.ads.AdsMgr
import com.base.appzxhy.business.ads.NativeParentView
import com.base.appzxhy.utils.XmlEx.inflate
import com.chad.library.adapter4.BaseQuickAdapter
class AdAdapter(
val layout: Int
) : BaseQuickAdapter<Any, CommonViewHolder>() {
override fun onBindViewHolder(holder: CommonViewHolder, position: Int, item: Any?) {
item ?: return
val flAd: NativeParentView? = holder.itemView.findViewById(R.id.flAd)
flAd?.let { AdsMgr.showNative(it, R.layout.layout_admob_native_custom) }
}
override fun onCreateViewHolder(
context: Context,
parent: ViewGroup,
viewType: Int
): CommonViewHolder {
return CommonViewHolder(layout.inflate(parent))
}
}
\ No newline at end of file
package com.base.appzxhy.ui.batteryinfo
import android.content.Context
import android.graphics.Typeface
import android.text.Spannable
import android.text.SpannableString
import android.text.style.AbsoluteSizeSpan
import android.text.style.StyleSpan
import android.view.ViewGroup
import com.base.appzxhy.R
import com.base.appzxhy.databinding.ItemBatteryHeadBinding
import com.base.appzxhy.ui.adapter.CommonViewHolder
import com.base.appzxhy.utils.XmlEx.inflate
import com.chad.library.adapter4.BaseQuickAdapter
class BatteryHead(
val hour: Int,
val min: Int,
)
class BatteryHeadAdapter : BaseQuickAdapter<BatteryHead, CommonViewHolder>() {
override fun onBindViewHolder(
holder: CommonViewHolder,
position: Int,
item: BatteryHead?
) {
item ?: return
val binding = ItemBatteryHeadBinding.bind(holder.itemView)
val h = if (item.hour < 10) "0${item.hour}" else item.hour.toString()
val min = if (item.min < 10) "0${item.min}" else item.min.toString()
val text1 = "$h h "
val text2 = "$min m"
binding.tvTime.text = buildSpannableString(text1, h)
binding.tvTime.append(buildSpannableString(text2, min))
}
override fun onCreateViewHolder(
context: Context,
parent: ViewGroup,
viewType: Int
): CommonViewHolder {
return CommonViewHolder(R.layout.item_battery_head.inflate(parent))
}
fun buildSpannableString(fullString: String, tagString: String): SpannableString {
val spannableString = SpannableString(fullString)
val start = fullString.indexOf(tagString)
val end = start + tagString.length
spannableString.setSpan(
StyleSpan(Typeface.BOLD),
start,
end,
Spannable.SPAN_EXCLUSIVE_EXCLUSIVE
)
spannableString.setSpan(
AbsoluteSizeSpan(32, true),
start, end,
SpannableString.SPAN_EXCLUSIVE_EXCLUSIVE
)
return spannableString
}
}
\ No newline at end of file
package com.base.appzxhy.ui.batteryinfo
import android.content.Intent
import android.content.IntentFilter
import androidx.recyclerview.widget.ConcatAdapter
import com.base.appzxhy.R
import com.base.appzxhy.base.BaseActivity
import com.base.appzxhy.base.LottieConfig
import com.base.appzxhy.databinding.ActivityBatteryInfo2Binding
import com.base.appzxhy.ui.adapter.AdAdapter
import com.base.appzxhy.utils.Utils
class BatteryInfoActivity : BaseActivity<ActivityBatteryInfo2Binding>(ActivityBatteryInfo2Binding::inflate) {
private val concatAdapter = ConcatAdapter()
private val batteryHeadAdapter = BatteryHeadAdapter()
private val batteryInfoAdapter = BatteryInfoAdapter()
private val adAdapter = AdAdapter(R.layout.item_ad)
private val batteryInfoList = listOf(
BatteryInfoBean(R.drawable.icon_current_average, "37.5℃", "Temperature"),
BatteryInfoBean(R.drawable.icon_voltage, "3.6V", "Voltage"),
BatteryInfoBean(R.drawable.icon_technology, "Li-Poly", "Technology"),
BatteryInfoBean(R.drawable.icon_battery, "0mAh", "Battery Capacity"),
BatteryInfoBean(R.drawable.icon_electric_current, "0mA", "Electric Current"),
BatteryInfoBean(R.drawable.icon_current_average, "0mA", "Current Average"),
)
private var batteryReceiver: BatteryReceiver? = null
override fun onDestroy() {
super.onDestroy()
batteryReceiver?.let { unregisterReceiver(batteryReceiver) }
}
override fun initView() {
showAdAnimation(LottieConfig.BATTERY_INFO_LOTTIE) {
adAdapter.submitList(listOf(""))
}
batteryReceiver = BatteryReceiver { updateBatteryInfo() }
registerReceiver(batteryReceiver, IntentFilter(Intent.ACTION_BATTERY_CHANGED))
binding.rv.adapter = concatAdapter
concatAdapter.addAdapter(batteryHeadAdapter)
batteryHeadAdapter.submitList(
listOf(BatteryHead(1, 0))
)
concatAdapter.addAdapter(adAdapter)
concatAdapter.addAdapter(batteryInfoAdapter)
batteryInfoAdapter.submitList(listOf(batteryInfoList))
}
override fun initListener() {
super.initListener()
binding.ivBack.setOnClickListener { onBackPressedDispatcher.onBackPressed() }
}
// @SuppressLint("SetTextI18n")
// private fun updateBatteryInfo() {
// val percent = BatteryReceiver.level / BatteryReceiver.scale.toFloat()
// val remainingCapacity = BatteryReceiver.mAh * percent
// val wTime = (remainingCapacity / 3.0f).toInt()
// val vTime = (remainingCapacity / 3.9f).toInt()
// val mTime = (remainingCapacity / 3.5f).toInt()
// val battery = (percent * 100).toInt()
// val temperature = Utils.divide(BatteryReceiver.temperature, 10)
// val voltage = Utils.divide(BatteryReceiver.voltage, 1000)
// binding.tvBattery.text = "${battery}%"
// binding.tvStandbyHour.text = "%02d".format(wTime / 60)
// binding.tvStandbyMinute.text = "%02d".format(wTime % 60)
// binding.tvVideoHour.text = "%02d".format(vTime / 60)
// binding.tvVideoMinute.text = "%02d".format(vTime % 60)
// binding.tvMusicHour.text = "%02d".format(mTime / 60)
// binding.tvMusicMinute.text = "%02d".format(mTime % 60)
// binding.tvTemperature.text = "$temperature℃"
// binding.tvVoltage.text = "${voltage}V"
// binding.tvPower.text = "${(BatteryReceiver.mAh * percent).toInt()}mAh"
// binding.tvBatteryType.text = BatteryReceiver.technology
// binding.tvBatteryCapacity.text = "${BatteryReceiver.mAh.toInt()}mAh"
// binding.tvBatteryStatus.text = getString(if (BatteryReceiver.isCharging) R.string.charging else R.string.normal)
// val resource = if (battery > 80) {
// R.drawable.dianchi100
// } else if (battery > 60) {
// R.drawable.dianchi80
// } else if (battery > 40) {
// R.drawable.dianchi60
// } else if (battery > 20) {
// R.drawable.dianchi40
// } else {
// R.drawable.dianchi20
// }
// binding.ivBattery.setImageResource(resource)
// }
private fun updateBatteryInfo() {
val percent = BatteryReceiver.level / BatteryReceiver.scale.toFloat()
val remainingCapacity = BatteryReceiver.mAh * percent
val wTime = (remainingCapacity / 3.0f).toInt()
batteryHeadAdapter.submitList(
listOf(
BatteryHead(wTime / 60, wTime % 60)
)
)
val temperature = Utils.divide(BatteryReceiver.temperature, 10)
batteryInfoList[0].tvValue = "$temperature℃"
val voltage = Utils.divide(BatteryReceiver.voltage, 1000)
batteryInfoList[1].tvValue = "${voltage}V"
batteryInfoList[3].tvValue = "${(BatteryReceiver.mAh * percent).toInt()}mAh"
batteryInfoList[4].tvValue = "${BatteryReceiver.mA.toInt()}mA"
batteryInfoList[5].tvValue = "${BatteryReceiver.avmA.toInt()}mA"
batteryInfoAdapter.submitList(listOf(
batteryInfoList
))
}
}
\ No newline at end of file
package com.base.appzxhy.ui.batteryinfo
import android.content.Context
import android.view.ViewGroup
import androidx.recyclerview.widget.GridLayoutManager
import androidx.recyclerview.widget.RecyclerView
import com.base.appzxhy.R
import com.base.appzxhy.databinding.ItemBatteryInfoBinding
import com.base.appzxhy.ui.adapter.CommonViewHolder
import com.base.appzxhy.utils.XmlEx.inflate
import com.chad.library.adapter4.BaseQuickAdapter
data class BatteryInfoBean(
val icon: Int,
var tvValue: String,
val title: String,
)
class BatteryInfoAdapter : BaseQuickAdapter<List<BatteryInfoBean>, CommonViewHolder>() {
var initSub: Boolean = false
val subAdapter = SubAdapter()
override fun onBindViewHolder(
holder: CommonViewHolder,
position: Int,
item: List<BatteryInfoBean>?
) {
item ?: return
if (!initSub) {
initSub = true
val rv = holder.itemView.findViewById<RecyclerView>(R.id.rv)
rv.layoutManager = GridLayoutManager(holder.itemView.context, 2)
rv.adapter = subAdapter
}
subAdapter.submitList(item)
}
override fun onCreateViewHolder(
context: Context,
parent: ViewGroup,
viewType: Int
): CommonViewHolder {
return CommonViewHolder(R.layout.item_rv.inflate(parent))
}
inner class SubAdapter : BaseQuickAdapter<BatteryInfoBean, CommonViewHolder>() {
override fun onBindViewHolder(
holder: CommonViewHolder,
position: Int,
item: BatteryInfoBean?
) {
item ?: return
val binding = ItemBatteryInfoBinding.bind(holder.itemView)
binding.iv.setImageResource(item.icon)
binding.tvValue.text = item.tvValue
binding.tvTitle.text = item.title
}
override fun onCreateViewHolder(
context: Context,
parent: ViewGroup,
viewType: Int
): CommonViewHolder {
return CommonViewHolder(R.layout.item_battery_info.inflate(parent))
}
}
}
\ No newline at end of file
package com.base.appzxhy.ui.batteryinfo
import android.content.BroadcastReceiver
import android.content.Context
import android.content.Intent
import android.content.IntentFilter
import android.os.BatteryManager
import android.os.Build
class BatteryReceiver(
private val block: (() -> Unit?)? = null
) : BroadcastReceiver() {
companion object {
var level = 0
var scale = 0
var voltage = 0
var temperature = 0
var technology = ""
var health = 0
var status = 0
var mAh = 0f
var isCharging = false
var mA = 0.0F//电流
var avmA = 0.0F//平均电流
fun register(context: Context) {
val intentFilter = IntentFilter().apply {
addAction(Intent.ACTION_BATTERY_CHANGED)
}
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) {
context.registerReceiver(BatteryReceiver(), intentFilter, Context.RECEIVER_EXPORTED)
} else {
context.registerReceiver(BatteryReceiver(), intentFilter)
}
}
}
override fun onReceive(context: Context, intent: Intent) {
if (Intent.ACTION_BATTERY_CHANGED != intent.action) return
val batteryManager = context.getSystemService(Context.BATTERY_SERVICE) as BatteryManager
level = intent.getIntExtra(BatteryManager.EXTRA_LEVEL, 0)
scale = intent.getIntExtra(BatteryManager.EXTRA_SCALE, 0)
voltage = intent.getIntExtra(BatteryManager.EXTRA_VOLTAGE, 0)
temperature = intent.getIntExtra(BatteryManager.EXTRA_TEMPERATURE, 0)
technology = intent.getStringExtra(BatteryManager.EXTRA_TECHNOLOGY).toString()
health = intent.getIntExtra(BatteryManager.EXTRA_HEALTH, 0)
status = intent.getIntExtra(BatteryManager.EXTRA_STATUS, BatteryManager.BATTERY_STATUS_UNKNOWN)
isCharging = status == BatteryManager.BATTERY_STATUS_CHARGING || status == BatteryManager.BATTERY_STATUS_FULL
val chargeCounter = batteryManager.getIntProperty(BatteryManager.BATTERY_PROPERTY_CHARGE_COUNTER)
val propertyCapacity = batteryManager.getIntProperty(BatteryManager.BATTERY_PROPERTY_CAPACITY)
if (chargeCounter != Int.MIN_VALUE && propertyCapacity != Int.MIN_VALUE) {
mAh = (chargeCounter / (propertyCapacity.toFloat() / 100f)) / 1000f
}
var currentMicroA = batteryManager.getIntProperty(BatteryManager.BATTERY_PROPERTY_CURRENT_NOW)
if (currentMicroA != Int.Companion.MIN_VALUE) {
mA = currentMicroA / 1000f // 转换为毫安
}
val avCurrentMicroA = batteryManager.getIntProperty(BatteryManager.BATTERY_PROPERTY_CURRENT_AVERAGE)
if (avCurrentMicroA != Int.Companion.MIN_VALUE) {
avmA = avCurrentMicroA / 1000f // 转换为毫安
}
block?.invoke()
if (block == null) uiHandle(context)
}
private fun uiHandle(context: Context) {
}
}
\ No newline at end of file
package com.base.appzxhy.ui.clean
import android.animation.ValueAnimator
import android.annotation.SuppressLint
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import android.view.animation.LinearInterpolator
import androidx.core.view.ViewCompat
import androidx.core.view.WindowInsetsCompat
import androidx.lifecycle.lifecycleScope
import androidx.recyclerview.widget.LinearLayoutManager
import com.base.appzxhy.R
import com.base.appzxhy.base.BaseActivity
import com.base.appzxhy.base.LottieConfig
import com.base.appzxhy.base.cleanFiles
import com.base.appzxhy.bean.FeatureBean.Companion.JUNK_CLEAN
import com.base.appzxhy.bean.FileBean
import com.base.appzxhy.business.ads.AdsMgr
import com.base.appzxhy.databinding.ActivityJunkCleanBinding
import com.base.appzxhy.databinding.ItemJunkCleanChildBinding
import com.base.appzxhy.databinding.ItemJunkCleanGroupBinding
import com.base.appzxhy.ui.cleanresult.CleanResultActivity
import com.base.appzxhy.utils.FileUtils
import com.base.appzxhy.utils.MediaUtils
import com.base.appzxhy.utils.MineTypeUtils
import com.base.appzxhy.utils.MyAnimationUtils
import com.base.appzxhy.utils.Utils
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.async
import kotlinx.coroutines.delay
import kotlinx.coroutines.launch
import kotlinx.coroutines.withContext
import pokercc.android.expandablerecyclerview.ExpandableAdapter
import pokercc.android.expandablerecyclerview.ExpandableItemAnimator
import kotlin.random.Random
class JunkCleanActivity : BaseActivity<ActivityJunkCleanBinding>(ActivityJunkCleanBinding::inflate) {
private var isStartAnimation = true
private var list = mutableListOf<FileBean>()
private var total: Long = 0
private var selectedFiles = listOf<FileBean>()
private val adapter by lazy {
class ChildViewHolder(val binding: ItemJunkCleanChildBinding) : ExpandableAdapter.ViewHolder(binding.root)
class GroupViewHolder(val binding: ItemJunkCleanGroupBinding) : ExpandableAdapter.ViewHolder(binding.root)
object : ExpandableAdapter<ExpandableAdapter.ViewHolder>() {
override fun getChildCount(groupPosition: Int): Int = list[groupPosition].items.size
override fun getGroupCount(): Int = list.size
override fun onCreateChildViewHolder(viewGroup: ViewGroup, viewType: Int): ViewHolder {
val binding = ItemJunkCleanChildBinding.inflate(LayoutInflater.from(viewGroup.context), viewGroup, false)
return ChildViewHolder(binding)
}
override fun onCreateGroupViewHolder(viewGroup: ViewGroup, viewType: Int): ViewHolder {
val binding = ItemJunkCleanGroupBinding.inflate(LayoutInflater.from(viewGroup.context), viewGroup, false)
return GroupViewHolder(binding)
}
override fun onGroupViewHolderExpandChange(
holder: ViewHolder,
groupPosition: Int,
animDuration: Long,
expand: Boolean
) {
}
override fun onBindGroupViewHolder(
holder: ViewHolder,
groupPosition: Int,
expand: Boolean,
payloads: List<Any>
) {
holder as GroupViewHolder
val group = list[groupPosition]
holder.binding.tvName.text = group.name
holder.binding.tvLength.text = Utils.getSizeFormat(group.length)
holder.binding.ivIcon.setImageResource(group.icon)
holder.binding.ivIndicator.setImageResource(if (expand) R.drawable.icon_up else R.drawable.icon_down)
holder.binding.clItem.setBackgroundResource(if (expand && group.items.isNotEmpty()) R.drawable.white_background_top_8 else R.drawable.white_background_8)
holder.binding.ivSelect.isSelected = group.isSelected
holder.binding.ivSelect.setOnClickListener {
group.isSelected = !group.isSelected
group.items.forEach { it.isSelected = group.isSelected }
notifyGroupChange(groupPosition)
for (childPosition in 0..<group.items.size) {
notifyChildChange(groupPosition, childPosition)
}
updateSelection()
}
if (isStartAnimation) {
val translationX = holder.itemView.context.resources.displayMetrics.widthPixels.toFloat()
holder.itemView.translationX = -translationX
MyAnimationUtils.translationX(holder.itemView, -translationX, 0f, 1000, (groupPosition + 1) * 300L)
}
if (groupPosition == list.size - 1) isStartAnimation = false
}
override fun onBindChildViewHolder(
holder: ViewHolder,
groupPosition: Int,
childPosition: Int,
payloads: List<Any>
) {
holder as ChildViewHolder
val group = list[groupPosition]
val child = group.items[childPosition]
holder.binding.tvName.text = child.name
holder.binding.tvLength.text = Utils.getSizeFormat(child.length)
holder.itemView.setBackgroundResource(if (childPosition == group.items.size - 1) R.drawable.white_background_bottom_8 else R.color.white)
holder.binding.ivSelect.isSelected = child.isSelected
holder.itemView.setOnClickListener {
child.isSelected = !child.isSelected
notifyChildChange(groupPosition, childPosition)
val isSelected = group.items.stream().allMatch(FileBean::isSelected)
if (group.isSelected != isSelected) {
group.isSelected = isSelected
notifyGroupChange(groupPosition)
}
updateSelection()
}
}
}
}
private fun updateSelection() {
selectedFiles = list.flatMap { it.items.takeIf { it.isNotEmpty() }?.filter { it.isSelected } ?: emptyList() }
total = selectedFiles.sumOf { it.length }
setClean()
}
private fun setClean() {
binding.tvClean.text =
if (total > 0) "${getString(R.string.clean)} (${Utils.getSizeFormat(total)})" else getString(R.string.go_it)
binding.tvClean.isEnabled = total > 0
}
override fun useDefaultImmersive() {
setStatusBarColor()
ViewCompat.setOnApplyWindowInsetsListener(binding.root) { v, insets ->
val systemBars = insets.getInsets(WindowInsetsCompat.Type.systemBars())
v.setPadding(systemBars.left, 0, systemBars.right, systemBars.bottom)
binding.clTop.setPadding(0, systemBars.top, 0, 0)
insets
}
}
override fun initView() {
super.initView()
AdsMgr.showNative(binding.flAd, R.layout.layout_admob_native_custom)
binding.expandableFiles.adapter = adapter
binding.expandableFiles.layoutManager = LinearLayoutManager(this)
binding.expandableFiles.itemAnimator = ExpandableItemAnimator(binding.expandableFiles)
initData()
}
override fun initListener() {
super.initListener()
binding.ivBack.setOnClickListener { onBackPressedDispatcher.onBackPressed() }
binding.tvClean.setOnClickListener {
if (isBackDisable) return@setOnClickListener
if (total > 0) {
showAdAnimation(LottieConfig.CLEAN_LOTTIE) {
// cleanFiles(selectedFiles)
CleanResultActivity.functionKey = JUNK_CLEAN
CleanResultActivity.titleName = this@JunkCleanActivity.getString(R.string.junk_clean)
CleanResultActivity.total = total
goToAc(CleanResultActivity::class.java)
finish()
}
} else {
// goToAc(CleanResultActivity)
}
}
}
@SuppressLint("NotifyDataSetChanged")
private fun initData() {
isBackDisable = true
binding.tvPath.text = ""
binding.tvClean.visibility = View.GONE
lifecycleScope.launch(Dispatchers.IO) {
val emptyFolders = async { FileUtils.findEmptyFolders() }.await()
val files = async { MediaUtils.findSpecifiedFiles(this@JunkCleanActivity) }.await()
emptyFolders.forEach { it.isSelected = true }
files.forEach { it.isSelected = true }
val apkFiles = files.filter { file ->
MineTypeUtils.apks.any { suffix -> file.name.endsWith(suffix, true) }
}.toMutableList()
val tempFiles = files.filter { file ->
MineTypeUtils.temps.any { suffix -> file.name.endsWith(suffix, true) }
}.toMutableList()
val logsFiles = files.filter { file ->
MineTypeUtils.logs.any { suffix -> file.name.endsWith(suffix, true) }
}.toMutableList()
list = getGroupData()
list[0].length = emptyFolders.sumOf { it.length }
list[1].length = apkFiles.sumOf { it.length }
list[2].length = tempFiles.sumOf { it.length }
list[3].length = logsFiles.sumOf { it.length }
list[0].items = emptyFolders
list[1].items = apkFiles
list[2].items = tempFiles
list[3].items = logsFiles
total = list.sumOf { it.length }
val childData = mutableListOf<FileBean>().apply {
addAll(emptyFolders)
addAll(apkFiles)
addAll(tempFiles)
addAll(logsFiles)
}
val list = childData.sortedByDescending { it.length }
val totalSize = list.sumOf { it.length }
val random = Random.nextLong(2500, 3000)
launch(Dispatchers.Main) {
MyAnimationUtils.progress(binding.pbProgress, 0, 100, random)
ValueAnimator.ofFloat(0f, totalSize.toFloat()).apply {
duration = random
interpolator = LinearInterpolator()
addUpdateListener { animation ->
val value = animation.animatedValue as Float
setSize(value.toLong())
}
}.start()
}
for (data in list) {
if (binding.pbProgress.progress == 100) break
withContext(Dispatchers.Main) {
binding.tvPath.text = data.path
}
}
delay(random)
launch(Dispatchers.Main) {
scanComplete()
adapter.notifyDataSetChanged()
}
}
}
private fun getGroupData(): MutableList<FileBean> {
return mutableListOf(
FileBean(getString(R.string.empty_folder), icon = R.drawable.icon_empty, isSelected = true),
FileBean(getString(R.string.apk_files), icon = R.drawable.icon_apk, isSelected = true),
FileBean(getString(R.string.temp_files), icon = R.drawable.temp, isSelected = true),
FileBean(getString(R.string.logs_files), icon = R.drawable.icon_log, isSelected = true),
)
}
private fun scanComplete() {
isBackDisable = false
binding.expandableFiles.visibility = View.VISIBLE
binding.tvClean.visibility = View.VISIBLE
binding.tvPath.text = getString(R.string.clean_tips)
updateSelection()
}
private fun setSize(size: Long) {
val values = Utils.getSizeArray(size)
binding.tvLength.text = values[0]
binding.tvUnit.text = values[1]
}
}
\ No newline at end of file
package com.base.appzxhy.ui.cleanresult
import android.annotation.SuppressLint
import android.view.LayoutInflater
import android.view.ViewGroup
import androidx.activity.addCallback
import androidx.core.view.ViewCompat
import androidx.core.view.WindowInsetsCompat
import androidx.recyclerview.widget.LinearLayoutManager
import androidx.recyclerview.widget.RecyclerView
import com.base.appzxhy.R
import com.base.appzxhy.base.BaseActivity
import com.base.appzxhy.base.jumpAction
import com.base.appzxhy.bean.FeatureBean
import com.base.appzxhy.bean.FeatureBean.Companion.BATTERY_INFO
import com.base.appzxhy.bean.FeatureBean.Companion.JUNK_CLEAN
import com.base.appzxhy.bean.FeatureBean.Companion.LARGE_FILE_CLEAN
import com.base.appzxhy.bean.FeatureBean.Companion.PHOTO_COMPRESSION
import com.base.appzxhy.bean.FeatureBean.Companion.SCREENSHOT_CLEAN
import com.base.appzxhy.bean.FeatureBean.Companion.SIMILAR_PHOTOS
import com.base.appzxhy.business.ads.AdsMgr
import com.base.appzxhy.business.ads.AdsShowCallBack
import com.base.appzxhy.databinding.ActivityCleanResultBinding
import com.base.appzxhy.databinding.ItemCleanResultBinding
import com.base.appzxhy.utils.MyAnimationUtils
import com.base.appzxhy.utils.Utils
class CleanResultActivity : BaseActivity<ActivityCleanResultBinding>(ActivityCleanResultBinding::inflate) {
companion object {
var total: Long = 0
var functionKey = ""
var titleName = ""
}
private var list = mutableListOf<FeatureBean>()
private val adapter by lazy {
class ViewHolder(val binding: ItemCleanResultBinding) : RecyclerView.ViewHolder(binding.root)
object : RecyclerView.Adapter<ViewHolder>() {
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ViewHolder {
val binding = ItemCleanResultBinding.inflate(LayoutInflater.from(parent.context), parent, false)
return ViewHolder(binding)
}
override fun getItemCount(): Int = list.size
override fun onBindViewHolder(holder: ViewHolder, position: Int) {
val item = list[position]
holder.binding.ivImage.setImageResource(item.icon)
holder.binding.tvName.text = getString(item.titleRes)
holder.binding.tvContent.setText(item.content)
holder.binding.tvCleanNow.setOnClickListener {
jumpAction(item.key)
}
val translationX = resources.displayMetrics.widthPixels.toFloat()
holder.itemView.translationX = -translationX
MyAnimationUtils.translationX(holder.itemView, -translationX, 0f, 1000, (position + 1) * 300L)
if (position == 0) {
AdsMgr.showNative(holder.binding.flAd, R.layout.layout_admob_native_custom)
}
}
}
}
override fun useDefaultImmersive() {
setStatusBarColor()
ViewCompat.setOnApplyWindowInsetsListener(binding.root) { v, insets ->
val systemBars = insets.getInsets(WindowInsetsCompat.Type.systemBars())
v.setPadding(systemBars.left, 0, systemBars.right, systemBars.bottom)
binding.clTop.setPadding(0, systemBars.top, 0, 0)
insets
}
}
@SuppressLint("SetTextI18n", "NotifyDataSetChanged")
override fun initView() {
super.initView()
binding.rvResult.adapter = adapter
binding.rvResult.layoutManager = LinearLayoutManager(this)
if (titleName.isNotEmpty()) binding.tvTitle.text = titleName
binding.tvCleanedUp.text = "${getString(R.string.cleaned_up)} ${Utils.getSizeFormat(total)}"
list = getData()
adapter.notifyDataSetChanged()
}
override fun initListener() {
super.initListener()
onBackPressedDispatcher.addCallback {
AdsMgr.showInsert(this@CleanResultActivity, showCallBack = object : AdsShowCallBack() {
override fun next() {
finishToMainTop()
}
})
}
binding.ivBack.setOnClickListener {
onBackPressedDispatcher.onBackPressed()
}
}
private fun getData(): MutableList<FeatureBean> {
val list = mutableListOf<FeatureBean>().apply {
add(FeatureBean(JUNK_CLEAN, R.string.junk_clean, R.drawable.h_junkclean, R.string.result_junk_clean))
add(FeatureBean(BATTERY_INFO, R.string.battery_info, R.drawable.h_battery, R.string.result_battery_info))
add(FeatureBean(LARGE_FILE_CLEAN, R.string.large_file_clean, R.drawable.h_lagre, R.string.result_large_file_clean))
add(
FeatureBean(
PHOTO_COMPRESSION,
R.string.photo_compression,
R.drawable.h_compression,
R.string.result_photo_compression
)
)
add(FeatureBean(SCREENSHOT_CLEAN, R.string.screenshot_clean, R.drawable.h_screenshot, R.string.result_screenshot_clean))
add(FeatureBean(SIMILAR_PHOTOS, R.string.similar_photos, R.drawable.h_similar, R.string.result_similar_photos))
}
val filteredList = list.filter { it.key != functionKey }
val randomIndices = filteredList.indices.shuffled().take(4).toList()
val data = randomIndices.map { filteredList[it] }
return data.toMutableList()
}
}
\ No newline at end of file
package com.base.appzxhy.ui.dialog
import android.app.Activity
import android.view.Gravity
import android.view.LayoutInflater
import android.widget.LinearLayout
import androidx.appcompat.app.AlertDialog
import com.base.appzxhy.R
import com.base.appzxhy.base.BaseActivity
import com.base.appzxhy.base.jumpAction
import com.base.appzxhy.databinding.DialogStorageBinding
import com.base.appzxhy.utils.PermissionUtils.checkStorePermission
import com.base.appzxhy.utils.PermissionUtils.requestStoragePermission
fun Activity.permissionStorageJump(key: String) {
if (this !is BaseActivity<*>) {
throw Exception("")
}
if (this.checkStorePermission()) {
jumpAction(key)
} else {
val dialog = StoragePermissionDialog(this)
dialog.action = {
requestStoragePermission(launcher) {
if (it) {
jumpAction(key)
}
}
}
dialog.showDialog()
}
}
class StoragePermissionDialog(
val activity: Activity
) {
val dialog = AlertDialog.Builder(activity).create()
val binding = DialogStorageBinding.inflate(LayoutInflater.from(activity))
var action: (() -> Unit)? = null
fun showDialog() {
dialog.setView(binding.root)
dialog.setCanceledOnTouchOutside(true)
dialog.show()
val params = dialog.window?.attributes
params?.width = LinearLayout.LayoutParams.MATCH_PARENT
params?.height = LinearLayout.LayoutParams.WRAP_CONTENT
params?.gravity = Gravity.BOTTOM
dialog.window?.attributes = params
dialog.window?.setBackgroundDrawableResource(android.R.color.transparent)
val appName = activity.getString(R.string.app_name)
binding.tvContent.text = activity.getString(R.string.storage_permission_content, appName)
binding.tvOpenSettings.setOnClickListener {
dialog.dismiss()
action?.invoke()
}
}
}
\ No newline at end of file
...@@ -4,6 +4,7 @@ import androidx.lifecycle.lifecycleScope ...@@ -4,6 +4,7 @@ import androidx.lifecycle.lifecycleScope
import androidx.recyclerview.widget.ConcatAdapter import androidx.recyclerview.widget.ConcatAdapter
import com.base.appzxhy.R import com.base.appzxhy.R
import com.base.appzxhy.base.BaseFragment import com.base.appzxhy.base.BaseFragment
import com.base.appzxhy.base.jumpAction
import com.base.appzxhy.bean.FeatureBean import com.base.appzxhy.bean.FeatureBean
import com.base.appzxhy.bean.FeatureBean.Companion.BATTERY_INFO import com.base.appzxhy.bean.FeatureBean.Companion.BATTERY_INFO
import com.base.appzxhy.bean.FeatureBean.Companion.JUNK_CLEAN import com.base.appzxhy.bean.FeatureBean.Companion.JUNK_CLEAN
...@@ -12,6 +13,7 @@ import com.base.appzxhy.bean.FeatureBean.Companion.PHOTO_COMPRESSION ...@@ -12,6 +13,7 @@ import com.base.appzxhy.bean.FeatureBean.Companion.PHOTO_COMPRESSION
import com.base.appzxhy.bean.FeatureBean.Companion.SCREENSHOT_CLEAN import com.base.appzxhy.bean.FeatureBean.Companion.SCREENSHOT_CLEAN
import com.base.appzxhy.bean.FeatureBean.Companion.SIMILAR_PHOTOS import com.base.appzxhy.bean.FeatureBean.Companion.SIMILAR_PHOTOS
import com.base.appzxhy.databinding.FragmentHomeBinding import com.base.appzxhy.databinding.FragmentHomeBinding
import com.base.appzxhy.ui.dialog.permissionStorageJump
import com.base.appzxhy.utils.Utils import com.base.appzxhy.utils.Utils
import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.async import kotlinx.coroutines.async
...@@ -36,7 +38,7 @@ class HomeFragment : BaseFragment<FragmentHomeBinding>(FragmentHomeBinding::infl ...@@ -36,7 +38,7 @@ class HomeFragment : BaseFragment<FragmentHomeBinding>(FragmentHomeBinding::infl
concatAdapter.addAdapter(YuanAdapter2().apply { concatAdapter.addAdapter(YuanAdapter2().apply {
submitList(listOf(arrayOf("", ""))) submitList(listOf(arrayOf("", "")))
cleanClick = { cleanClick = {
// ActivityController.action(requireContext(), launcher, R.string.junk_clean) (requireActivity() as MainActivity).permissionStorageJump(JUNK_CLEAN)
} }
initData(this) initData(this)
}) })
...@@ -44,7 +46,11 @@ class HomeFragment : BaseFragment<FragmentHomeBinding>(FragmentHomeBinding::infl ...@@ -44,7 +46,11 @@ class HomeFragment : BaseFragment<FragmentHomeBinding>(FragmentHomeBinding::infl
concatAdapter.addAdapter(FeatureAdapter().apply { concatAdapter.addAdapter(FeatureAdapter().apply {
submitList(listOf(featureList)) submitList(listOf(featureList))
itemClick = { bean -> itemClick = { bean ->
// ActivityController.action(requireContext(), launcher, bean.name) if (bean.key == BATTERY_INFO) {
requireActivity().jumpAction(bean.key)
} else {
requireActivity().permissionStorageJump(bean.key)
}
} }
}) })
......
package com.base.appzxhy.utils
import android.os.Environment
import com.base.appzxhy.bean.FileBean
import java.io.File
object FileUtils {
private const val WHATS_APP_MEDIA_DIR = "Android/media/com.whatsapp/WhatsApp/Media/"
fun findWhatsappFiles(): MutableList<FileBean> {
val rootDir = File(getAppSpecificDirPath(WHATS_APP_MEDIA_DIR))
// val rootDir = File(getAppSpecificDirPath("Pictures/"))
val list = findFilesRecursive(rootDir, arrayOf())
list.sortByDescending { it.lastModified }
return list
}
fun findEmptyFolders(): MutableList<FileBean> {
val externalStorageDir = Environment.getExternalStorageDirectory()
val filters = arrayOf("/storage/emulated/0/Android/data", "/storage/emulated/0/Android/obb")
val emptyFolders = getAllEmptyFolders(externalStorageDir, filters)
return emptyFolders.map { FileBean(it.name, it.path, length = 4 * 1024) }.toMutableList()
}
fun findTempFiles(): MutableList<FileBean> {
val rootDir = Environment.getExternalStorageDirectory()
return findFilesRecursive(rootDir, arrayOf(".temp"))
}
fun findApkFiles(): MutableList<FileBean> {
val rootDir = Environment.getExternalStorageDirectory()
return findFilesRecursive(rootDir, arrayOf(".apk", ".aab"))
}
fun findLogFiles(): MutableList<FileBean> {
val rootDir = Environment.getExternalStorageDirectory()
return findFilesRecursive(rootDir, arrayOf(".log"))
}
fun deleteFile(filePath: String) {
File(filePath).deleteIfExists()
}
fun File?.deleteIfExists(): Boolean {
if (this?.exists() == true) {
return this.delete()
}
return false
}
private fun findFilesRecursive(dir: File, suffixes: Array<String>): MutableList<FileBean> {
return dir.walk()
.filter { it.isFile && it.endsWith(suffixes) }
.map { FileBean(it.name, it.path, length = it.length(), lastModified = it.lastModified()) }
.toMutableList()
}
private fun File.endsWith(suffixes: Array<String>): Boolean {
return suffixes.isEmpty() || suffixes.any { name.lowercase().endsWith(it.lowercase()) }
}
private fun getAppSpecificDirPath(relativePath: String): String {
return "${Environment.getExternalStorageDirectory()}/$relativePath"
}
private fun getAllEmptyFolders(root: File, filters: Array<String>): MutableList<File> {
return root.walk()
.filter {
it.isDirectory && !filters.contains(it.path) && !it.isHidden && it.list()?.isEmpty() == true
}
.toMutableList()
}
}
\ No newline at end of file
package com.base.appzxhy.utils
import android.annotation.SuppressLint
import android.content.Context
import android.database.Cursor
import android.media.MediaScannerConnection
import android.net.Uri
import android.provider.MediaStore
import com.base.appzxhy.bean.FileBean
import java.text.SimpleDateFormat
import java.util.Locale
object MediaUtils {
private val projection = arrayOf(
MediaStore.Files.FileColumns.DISPLAY_NAME,
MediaStore.Files.FileColumns.DATA,
MediaStore.Files.FileColumns.SIZE,
MediaStore.Files.FileColumns.DATE_MODIFIED,
MediaStore.Files.FileColumns.MIME_TYPE
)
private const val EXTERNAL = "external"
fun updateMedia(context: Context, paths: Array<String>) {
if (paths.isEmpty()) return
MediaScannerConnection.scanFile(context, paths, null, null)
}
fun findFiles(context: Context, size: Long = 0): MutableList<FileBean> {
return queryFilesWithSize(context, MediaStore.Files.getContentUri(EXTERNAL), size)
}
fun findSpecifiedFiles(context: Context): MutableList<FileBean> {
val suffixes = arrayOf("%.log", "%.apk", "%.aab", "%.temp", "%.LOG", "%.APK", "%.AAB", "%.TEMP")
return queryFilesWithSuffixes(context, MediaStore.Files.getContentUri(EXTERNAL), suffixes)
}
fun findScreenshotsFiles(context: Context, block: (total: Long, MutableList<FileBean>) -> Unit) {
val selection = "${MediaStore.Images.Media.RELATIVE_PATH} LIKE ?"
val selectionArgs = arrayOf("%Screenshots%")
val list = query(context, MediaStore.Images.Media.EXTERNAL_CONTENT_URI, projection, selection, selectionArgs)
val map = mutableMapOf<String, MutableList<FileBean>>()
val dateFormat = SimpleDateFormat("yyyy/MM", Locale.getDefault())
list.forEach { map.getOrPut(dateFormat.format(it.lastModified)) { mutableListOf() }.add(it) }
val result = mutableListOf<FileBean>()
map.forEach { (key, value) ->
result.add(FileBean(key, items = value))
}
block(list.sumOf { it.length }, result)
}
fun findImageFiles(context: Context, size: Long = 0): MutableList<FileBean> {
return queryFilesWithSize(context, MediaStore.Images.Media.EXTERNAL_CONTENT_URI, size)
}
fun findVideoFiles(context: Context, size: Long = 0): MutableList<FileBean> {
return queryFilesWithSize(context, MediaStore.Video.Media.EXTERNAL_CONTENT_URI, size)
}
fun findAudioFiles(context: Context, size: Long = 0): MutableList<FileBean> {
return queryFilesWithSize(context, MediaStore.Audio.Media.EXTERNAL_CONTENT_URI, size)
}
fun findDocFiles(context: Context, size: Long = 0): MutableList<FileBean> {
val mimeTypes = arrayOf(
"text/plain",
"application/msword",
"application/vnd.openxmlformats-officedocument.wordprocessingml.document",
"application/vnd.ms-excel",
"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",
"application/pdf",
)
return queryFilesWithMimeTypes(context, MediaStore.Files.getContentUri(EXTERNAL), mimeTypes, size)
}
private fun queryFilesWithSuffixes(context: Context, uri: Uri, suffixes: Array<String>): MutableList<FileBean> {
val selection = suffixes.joinToString(separator = " OR ") { "${MediaStore.Files.FileColumns.DISPLAY_NAME} LIKE ?" }
return query(context, uri, projection, selection, suffixes)
}
private fun queryFilesWithSize(context: Context, uri: Uri, size: Long): MutableList<FileBean> {
var selection: String? = null
var selectionArgs: Array<String>? = null
if (size > 0) {
selection = "${MediaStore.Files.FileColumns.SIZE} >= ?"
selectionArgs = arrayOf(size.toString())
}
return query(context, uri, projection, selection, selectionArgs)
}
private fun queryFilesWithMimeTypes(context: Context, uri: Uri, mimeTypes: Array<String>, size: Long): MutableList<FileBean> {
val (selection, selectionArgs) = buildSelectionWithMimeTypes(mimeTypes, size)
return query(context, uri, projection, selection, selectionArgs)
}
private fun buildSelectionWithMimeTypes(mimeTypes: Array<String>, size: Long): Pair<String, Array<String>> {
val mimeTypeConditions = mimeTypes.joinToString(separator = " OR ") { "${MediaStore.Files.FileColumns.MIME_TYPE}=?" }
val sizeCondition = "${MediaStore.Files.FileColumns.SIZE} >=?"
val selection = "($mimeTypeConditions) AND ($sizeCondition)"
val selectionArgs = mimeTypes + size.toString()
return selection to selectionArgs
}
private fun buildSelectionWithMimeTypes(mimeTypes: Array<String>): Pair<String, Array<String>> {
val selection = mimeTypes.joinToString(prefix = "${MediaStore.Files.FileColumns.MIME_TYPE}=?", separator = " OR ") { "'$it'" }
val selectionArgs = mimeTypes
return Pair(selection, selectionArgs)
}
@SuppressLint("Range")
private fun query(
context: Context,
uri: Uri,
projection: Array<String>,
selection: String? = null,
selectionArgs: Array<String>? = null,
sortOrder: String = MediaStore.Files.FileColumns.DATE_MODIFIED
): MutableList<FileBean> {
val list = mutableListOf<FileBean>()
var cursor: Cursor? = null
try {
val contentResolver = context.contentResolver
cursor = contentResolver.query(
uri,
projection,
selection,
selectionArgs,
"$sortOrder DESC"
)
cursor?.let {
while (it.moveToNext()) {
val displayName = it.getString(it.getColumnIndex(projection[0]))
val filePath = it.getString(it.getColumnIndex(projection[1]))
val size = it.getLong(it.getColumnIndex(projection[2]))
val dateModified = it.getLong(it.getColumnIndex(projection[3])) * 1000
val mineType = it.getString(it.getColumnIndex(projection[4]))
list.add(FileBean(displayName, filePath, 0, size, dateModified, mineType))
}
}
} catch (e: Exception) {
e.printStackTrace()
} finally {
cursor?.close()
}
return list
}
}
\ No newline at end of file
package com.base.appzxhy.utils
import android.webkit.MimeTypeMap
object MineTypeUtils {
val TYPE_VIDEO = 0
val TYPE_IMAGE = 1
val TYPE_AUDIO = 2
val mineTypes by lazy {
listOf(
"image/",
"video/",
"audio/",
"text/",
MimeTypeMap.getSingleton().getMimeTypeFromExtension("pdf") ?: "",
MimeTypeMap.getSingleton().getMimeTypeFromExtension("doc") ?: "",
MimeTypeMap.getSingleton().getMimeTypeFromExtension("docx") ?: "",
MimeTypeMap.getSingleton().getMimeTypeFromExtension("xls") ?: "",
MimeTypeMap.getSingleton().getMimeTypeFromExtension("xlsx") ?: "",
MimeTypeMap.getSingleton().getMimeTypeFromExtension("ppt") ?: "",
MimeTypeMap.getSingleton().getMimeTypeFromExtension("apk") ?: "",
)
}
val images = listOf(".jpeg", ".jpg", ".png", ".gif", ".webp", ".ico", ".raw") // 图像
val videos = listOf(".mp4", ".avi", ".mov", ".wmv", ".flv") // 视频
val audios = listOf(".mp3", ".wav", ".m4a", ".ncm") // 音频
val apks = listOf(".apk", ".aab")
val temps = listOf(".temp")
val logs = listOf(".log")
fun isImage(mineType: String): Boolean {
return mineType.startsWith(mineTypes[0])
}
fun isVideo(mineType: String): Boolean {
return mineType.startsWith(mineTypes[1])
}
fun isAudio(mineType: String): Boolean {
return mineType.startsWith(mineTypes[2])
}
fun isDoc(mineType: String): Boolean {
return mineType.startsWith(mineTypes[3])
|| mineType.startsWith(mineTypes[4])
|| mineType.startsWith(mineTypes[5])
|| mineType.startsWith(mineTypes[6])
|| mineType.startsWith(mineTypes[7])
|| mineType.startsWith(mineTypes[8])
|| mineType.startsWith(mineTypes[9])
}
fun isApk(mineType: String): Boolean {
return mineType.startsWith(mineTypes[10])
}
}
\ No newline at end of file
package com.base.appzxhy.utils
import android.animation.ObjectAnimator
import android.animation.ValueAnimator
import android.view.View
import android.view.animation.LinearInterpolator
import android.widget.ProgressBar
object MyAnimationUtils {
fun rotation(view: View, durationTime: Long = 2000) {
ValueAnimator.ofFloat(0f, 360f).apply {
duration = durationTime
interpolator = LinearInterpolator()
repeatCount = ValueAnimator.INFINITE
repeatMode = ValueAnimator.RESTART
addUpdateListener { animation ->
val animatedValue = animation.animatedValue as Float
view.rotation = animatedValue
}
}.start()
}
fun progress(
progressBar: ProgressBar,
start: Int = 0,
end: Int = 100,
durationTime: Long = 1500
) {
ValueAnimator.ofInt(start, end).apply {
duration = durationTime
interpolator = LinearInterpolator()
addUpdateListener { animation ->
progressBar.progress = animation.animatedValue as Int
}
}.start()
}
fun ofFloat(end: Float, durationTime: Long, update: (value: Float) -> Unit) {
ValueAnimator.ofFloat(0f, end).apply {
duration = durationTime
interpolator = LinearInterpolator()
addUpdateListener { animation ->
val value = animation.animatedValue as Float
update(value)
}
}.start()
}
fun translationX(
view: View,
start: Float,
end: Float,
durationTime: Long = 1500,
delay: Long = 0
) {
ObjectAnimator.ofFloat(view, View.TRANSLATION_X, start, end).apply {
duration = durationTime
startDelay = delay
start()
}
}
}
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<solid android:color="@color/colorPrimary" />
<corners android:radius="50dp" />
</shape>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_enabled="true" android:drawable="@drawable/bg_enable_50"/>
<item android:state_enabled="false" android:drawable="@drawable/bg_enable_no_50"/>
</selector>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<solid android:color="@color/colorPrimary" />
<corners android:radius="50dp" />
</shape>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<solid android:color="@color/colorDisEnable" />
<corners android:radius="50dp" />
</shape>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<solid android:color="#ffffff" />
<corners android:radius="8dp" />
</shape>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/icon_fang_s" android:state_selected="true" />
<item android:drawable="@drawable/icon_fang_n" android:state_selected="false" />
</selector>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@android:id/background">
<shape>
<solid android:color="@color/colorPrimary" />
</shape>
</item>
<item android:id="@android:id/progress">
<scale android:scaleWidth="100%">
<shape>
<solid android:color="@color/white" />
</shape>
</scale>
</item>
</layer-list>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<solid android:color="@color/white" />
<corners android:radius="12dp" />
</shape>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<solid android:color="@color/white" />
<corners android:radius="16dp" />
</shape>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<solid android:color="@color/white" />
<corners android:radius="24dp" />
</shape>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<solid android:color="@color/white" />
<corners android:radius="8dp" />
</shape>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<solid android:color="@color/white" />
<corners
android:bottomLeftRadius="14dp"
android:bottomRightRadius="14dp" />
</shape>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<solid android:color="@color/white" />
<corners
android:bottomLeftRadius="8dp"
android:bottomRightRadius="8dp" />
</shape>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<solid android:color="@color/white" />
<corners
android:topLeftRadius="14dp"
android:topRightRadius="14dp" />
</shape>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<solid android:color="@color/white" />
<corners
android:topLeftRadius="8dp"
android:topRightRadius="8dp" />
</shape>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/color_f7fafa">
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/cl_top"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/colorPrimary"
app:layout_constraintTop_toTopOf="parent">
<androidx.appcompat.widget.LinearLayoutCompat
android:id="@+id/ll_title"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center_vertical"
android:orientation="horizontal"
android:paddingVertical="6dp"
app:layout_constraintTop_toTopOf="parent">
<FrameLayout
android:id="@+id/fl_back"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="12dp"
android:padding="4dp"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent">
<androidx.appcompat.widget.AppCompatImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/icon_return_w" />
</FrameLayout>
<androidx.appcompat.widget.AppCompatTextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/battery_info"
android:textColor="@color/white"
android:textSize="20sp"
android:textStyle="bold"
app:layout_constraintBottom_toBottomOf="@id/fl_back"
app:layout_constraintStart_toEndOf="@id/fl_back"
app:layout_constraintTop_toTopOf="@id/fl_back" />
</androidx.appcompat.widget.LinearLayoutCompat>
</androidx.constraintlayout.widget.ConstraintLayout>
<androidx.core.widget.NestedScrollView
android:id="@+id/nsv_container"
android:layout_width="match_parent"
android:layout_height="0dp"
android:scrollbars="none"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintTop_toBottomOf="@id/cl_top">
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/cl_battery"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/colorPrimary"
android:paddingBottom="85dp"
app:layout_constraintTop_toTopOf="parent">
<androidx.appcompat.widget.AppCompatImageView
android:id="@+id/iv_battery"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="40dp"
android:src="@drawable/dianchi20"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/tv_battery"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="10dp"
android:text="0%"
android:textColor="#ffffff"
android:textSize="36sp"
app:layout_constraintBottom_toBottomOf="@id/iv_battery"
app:layout_constraintEnd_toEndOf="@id/iv_battery"
app:layout_constraintStart_toStartOf="@id/iv_battery"
app:layout_constraintTop_toTopOf="@id/iv_battery"
tools:ignore="HardcodedText,TextContrastCheck" />
<androidx.appcompat.widget.LinearLayoutCompat
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="83dp"
android:orientation="horizontal"
android:paddingHorizontal="38dp"
app:layout_constraintTop_toBottomOf="@id/iv_battery">
<androidx.appcompat.widget.LinearLayoutCompat
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:gravity="center"
android:orientation="vertical">
<androidx.appcompat.widget.AppCompatImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/icon_daiji_battery" />
<androidx.appcompat.widget.LinearLayoutCompat
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal">
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/tv_standby_hour"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="32"
android:textColor="@color/white"
android:textSize="18sp"
tools:ignore="HardcodedText,TextContrastCheck" />
<androidx.appcompat.widget.AppCompatTextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="h"
android:textColor="@color/white"
android:textSize="14sp"
tools:ignore="HardcodedText,TextContrastCheck" />
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/tv_standby_minute"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="4dp"
android:text="24"
android:textColor="@color/white"
android:textSize="18sp"
tools:ignore="HardcodedText,TextContrastCheck" />
<androidx.appcompat.widget.AppCompatTextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="m"
android:textColor="@color/white"
android:textSize="14sp"
tools:ignore="HardcodedText,TextContrastCheck" />
</androidx.appcompat.widget.LinearLayoutCompat>
</androidx.appcompat.widget.LinearLayoutCompat>
<androidx.appcompat.widget.LinearLayoutCompat
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:gravity="center"
android:orientation="vertical">
<androidx.appcompat.widget.AppCompatImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/icon_video_battery" />
<androidx.appcompat.widget.LinearLayoutCompat
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal">
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/tv_video_hour"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="32"
android:textColor="@color/white"
android:textSize="18sp"
tools:ignore="HardcodedText,TextContrastCheck" />
<androidx.appcompat.widget.AppCompatTextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="h"
android:textColor="@color/white"
android:textSize="14sp"
tools:ignore="HardcodedText,TextContrastCheck" />
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/tv_video_minute"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="4dp"
android:text="24"
android:textColor="@color/white"
android:textSize="18sp"
tools:ignore="HardcodedText,TextContrastCheck" />
<androidx.appcompat.widget.AppCompatTextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="m"
android:textColor="@color/white"
android:textSize="14sp"
tools:ignore="HardcodedText,TextContrastCheck" />
</androidx.appcompat.widget.LinearLayoutCompat>
</androidx.appcompat.widget.LinearLayoutCompat>
<androidx.appcompat.widget.LinearLayoutCompat
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:gravity="center"
android:orientation="vertical">
<androidx.appcompat.widget.AppCompatImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/icon_music_battery" />
<androidx.appcompat.widget.LinearLayoutCompat
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal">
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/tv_music_hour"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="32"
android:textColor="@color/white"
android:textSize="18sp"
tools:ignore="HardcodedText,TextContrastCheck" />
<androidx.appcompat.widget.AppCompatTextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="h"
android:textColor="@color/white"
android:textSize="14sp"
tools:ignore="HardcodedText,TextContrastCheck" />
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/tv_music_minute"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="4dp"
android:text="24"
android:textColor="@color/white"
android:textSize="18sp"
tools:ignore="HardcodedText,TextContrastCheck" />
<androidx.appcompat.widget.AppCompatTextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="m"
android:textColor="@color/white"
android:textSize="14sp"
tools:ignore="HardcodedText,TextContrastCheck" />
</androidx.appcompat.widget.LinearLayoutCompat>
</androidx.appcompat.widget.LinearLayoutCompat>
</androidx.appcompat.widget.LinearLayoutCompat>
</androidx.constraintlayout.widget.ConstraintLayout>
<androidx.appcompat.widget.LinearLayoutCompat
android:id="@+id/ll_battery_status"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginHorizontal="15dp"
android:layout_marginTop="-65dp"
android:background="@drawable/white_background"
android:orientation="vertical"
app:layout_constraintTop_toBottomOf="@id/cl_battery">
<androidx.appcompat.widget.AppCompatTextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="20dp"
android:layout_marginTop="20dp"
android:text="@string/battery_status"
android:textColor="@color/color_181b1f"
android:textSize="18sp"
android:textStyle="bold" />
<androidx.appcompat.widget.LinearLayoutCompat
android:id="@+id/ll_battery_type"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="12dp"
android:orientation="horizontal"
android:paddingHorizontal="30dp"
android:paddingBottom="24dp">
<androidx.appcompat.widget.LinearLayoutCompat
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:gravity="center"
android:orientation="vertical">
<androidx.appcompat.widget.AppCompatImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/icon_wendu_battery" />
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/tv_temperature"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="4dp"
android:text="37.5℃"
android:textColor="@color/colorPrimary"
android:textSize="14sp"
android:textStyle="bold"
tools:ignore="HardcodedText" />
<androidx.appcompat.widget.AppCompatTextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/temperature"
android:textColor="@color/color_aeb4bd"
android:textSize="12sp"
tools:ignore="TextContrastCheck" />
</androidx.appcompat.widget.LinearLayoutCompat>
<androidx.appcompat.widget.LinearLayoutCompat
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:gravity="center"
android:orientation="vertical">
<androidx.appcompat.widget.AppCompatImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/icon_v_battery" />
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/tv_voltage"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="4dp"
android:text="3.6V"
android:textColor="@color/colorPrimary"
android:textSize="14sp"
android:textStyle="bold"
tools:ignore="HardcodedText" />
<androidx.appcompat.widget.AppCompatTextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/voltage"
android:textColor="@color/color_aeb4bd"
android:textSize="12sp"
tools:ignore="TextContrastCheck" />
</androidx.appcompat.widget.LinearLayoutCompat>
<androidx.appcompat.widget.LinearLayoutCompat
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:gravity="center"
android:orientation="vertical">
<androidx.appcompat.widget.AppCompatImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/icon_ah_battery" />
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/tv_power"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="4dp"
android:text="4753mAh"
android:textColor="@color/colorPrimary"
android:textSize="14sp"
android:textStyle="bold"
tools:ignore="HardcodedText" />
<androidx.appcompat.widget.AppCompatTextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/power"
android:textColor="@color/color_aeb4bd"
android:textSize="12sp"
tools:ignore="TextContrastCheck" />
</androidx.appcompat.widget.LinearLayoutCompat>
</androidx.appcompat.widget.LinearLayoutCompat>
</androidx.appcompat.widget.LinearLayoutCompat>
<com.base.appzxhy.business.ads.NativeParentView
android:id="@+id/flAd"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginHorizontal="15dp"
android:layout_marginTop="10dp"
app:layout_constraintTop_toBottomOf="@id/ll_battery_status">
<ImageView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:src="@drawable/zhanwei1"
tools:ignore="ContentDescription,ImageContrastCheck" />
</com.base.appzxhy.business.ads.NativeParentView>
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/cl_health"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="15dp"
android:layout_marginTop="11dp"
android:layout_marginEnd="5dp"
android:background="@drawable/white_background"
android:paddingHorizontal="20dp"
android:paddingVertical="16dp"
app:layout_constraintEnd_toStartOf="@id/cl_battery_status"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/flAd">
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/tv_health_content"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/health"
android:textColor="@color/color_aeb4bd"
android:textSize="12sp"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
tools:ignore="TextContrastCheck" />
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/tv_health"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="4dp"
android:text="@string/good"
android:textColor="@color/color_666666"
android:textSize="16sp"
android:textStyle="bold"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/tv_health_content" />
</androidx.constraintlayout.widget.ConstraintLayout>
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/cl_battery_status"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="5dp"
android:layout_marginTop="11dp"
android:layout_marginEnd="15dp"
android:background="@drawable/white_background"
android:paddingHorizontal="20dp"
android:paddingVertical="16dp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toEndOf="@id/cl_health"
app:layout_constraintTop_toBottomOf="@id/flAd">
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/tv_battery_status_content"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/battery_status"
android:textColor="@color/color_aeb4bd"
android:textSize="12sp"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
tools:ignore="TextContrastCheck" />
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/tv_battery_status"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="4dp"
android:text="@string/normal"
android:textColor="@color/color_666666"
android:textSize="16sp"
android:textStyle="bold"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/tv_battery_status_content" />
</androidx.constraintlayout.widget.ConstraintLayout>
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/cl_battery_type"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="15dp"
android:layout_marginTop="11dp"
android:layout_marginEnd="5dp"
android:background="@drawable/white_background"
android:paddingHorizontal="20dp"
android:paddingVertical="16dp"
app:layout_constraintEnd_toStartOf="@id/cl_battery_capacity"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/cl_health">
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/tv_battery_type_content"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/battery_type"
android:textColor="@color/color_aeb4bd"
android:textSize="12sp"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/tv_battery_type"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="4dp"
android:text="Li-poly"
android:textColor="@color/color_666666"
android:textSize="16sp"
android:textStyle="bold"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/tv_battery_type_content"
tools:ignore="HardcodedText" />
</androidx.constraintlayout.widget.ConstraintLayout>
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/cl_battery_capacity"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="5dp"
android:layout_marginTop="11dp"
android:layout_marginEnd="15dp"
android:background="@drawable/white_background"
android:paddingHorizontal="20dp"
android:paddingVertical="16dp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toEndOf="@id/cl_battery_type"
app:layout_constraintTop_toBottomOf="@id/cl_battery_status">
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/tv_battery_capacity_content"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/battery_capacity"
android:textColor="@color/color_aeb4bd"
android:textSize="12sp"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/tv_battery_capacity"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="4dp"
android:text="4900mAh"
android:textColor="@color/color_666666"
android:textSize="16sp"
android:textStyle="bold"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/tv_battery_capacity_content"
tools:ignore="HardcodedText" />
</androidx.constraintlayout.widget.ConstraintLayout>
</androidx.constraintlayout.widget.ConstraintLayout>
</androidx.core.widget.NestedScrollView>
<include
android:id="@+id/layout_animation"
layout="@layout/layout_animation"
android:visibility="visible"
tools:visibility="invisible" />
</androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/color_fafafa">
<FrameLayout
android:id="@+id/cl_top"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:layout_constraintTop_toTopOf="parent">
<androidx.appcompat.widget.AppCompatImageView
android:id="@+id/ivBack"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:padding="@dimen/dp_16"
android:src="@drawable/icon_return_b" />
<androidx.appcompat.widget.AppCompatTextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:text="@string/battery_info"
android:textColor="@color/black"
android:textSize="20sp"
android:textStyle="bold"
app:layout_constraintBottom_toBottomOf="@id/fl_back"
app:layout_constraintStart_toEndOf="@id/fl_back"
app:layout_constraintTop_toTopOf="@id/fl_back" />
</FrameLayout>
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/rv"
android:layout_width="match_parent"
android:layout_height="0dp"
app:layoutManager="androidx.recyclerview.widget.LinearLayoutManager"
app:layout_constraintBottom_toTopOf="@id/tvBtn"
app:layout_constraintTop_toBottomOf="@id/cl_top">
</androidx.recyclerview.widget.RecyclerView>
<TextView
android:id="@+id/tvBtn"
android:layout_width="match_parent"
android:layout_height="@dimen/dp_45"
android:layout_marginHorizontal="@dimen/dp_50"
android:layout_marginBottom="@dimen/dp_20"
android:background="@drawable/bg_btn_50"
android:foreground="?attr/selectableItemBackground"
android:gravity="center"
android:text="@string/finish"
android:textColor="@color/white"
android:textSize="@dimen/sp_17"
android:textStyle="bold"
app:layout_constraintBottom_toBottomOf="parent" />
<include
android:id="@+id/layout_animation"
layout="@layout/layout_animation"
android:visibility="visible"
tools:visibility="invisible" />
</androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/color_f7fafa">
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/cl_top"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/colorPrimary"
app:layout_constraintTop_toTopOf="parent">
<FrameLayout
android:id="@+id/ll_title"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center_vertical"
android:orientation="horizontal"
android:paddingTop="6dp"
android:paddingBottom="6dp"
app:layout_constraintTop_toTopOf="parent"
tools:layout_editor_absoluteX="16dp">
<androidx.appcompat.widget.AppCompatImageView
android:id="@+id/ivBack"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:padding="@dimen/dp_16"
android:src="@drawable/icon_return_w" />
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/tv_title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:text="@string/app_name"
android:textColor="@color/white"
android:textSize="20sp"
android:textStyle="bold" />
</FrameLayout>
<com.airbnb.lottie.LottieAnimationView
android:id="@+id/idLottie"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="-8dp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/ll_title"
app:lottie_autoPlay="true"
app:lottie_fileName="ok.json" />
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/tv_cleaned_up"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="-8dp"
android:text="@string/cleaned_up"
android:textColor="@color/white"
android:textSize="20sp"
android:textStyle="bold"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/idLottie" />
<androidx.appcompat.widget.AppCompatTextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="2dp"
android:layout_marginBottom="32dp"
android:text="@string/cleaned_up_content"
android:textColor="@color/white"
android:textSize="14sp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/tv_cleaned_up" />
</androidx.constraintlayout.widget.ConstraintLayout>
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/rvResult"
android:layout_width="match_parent"
android:layout_height="0dp"
android:paddingTop="12dp"
android:paddingBottom="12dp"
android:scrollbars="none"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintTop_toBottomOf="@id/cl_top" />
</androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/color_f7fafa">
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/cl_top"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/colorPrimary"
app:layout_constraintTop_toTopOf="parent">
<FrameLayout
android:id="@+id/ll_title"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center_vertical"
android:orientation="horizontal"
android:paddingTop="6dp"
android:paddingBottom="6dp"
app:layout_constraintTop_toTopOf="parent">
<androidx.appcompat.widget.AppCompatImageView
android:id="@+id/ivBack"
android:padding="@dimen/dp_16"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/icon_return_w" />
<androidx.appcompat.widget.AppCompatTextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:text="@string/junk_clean"
android:textColor="@color/white"
android:textSize="20sp"
android:textStyle="bold" />
</FrameLayout>
<androidx.appcompat.widget.LinearLayoutCompat
android:id="@+id/ll_size"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="36dp"
android:gravity="center"
android:orientation="vertical"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/ll_title">
<androidx.appcompat.widget.LinearLayoutCompat
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal">
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/tv_length"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="0"
android:textColor="@color/white"
android:textSize="32sp"
android:textStyle="bold"
tools:ignore="HardcodedText" />
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/tv_unit"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="6dp"
android:text="B"
android:textColor="@color/white"
android:textSize="17sp"
android:textStyle="bold"
tools:ignore="HardcodedText" />
</androidx.appcompat.widget.LinearLayoutCompat>
<androidx.appcompat.widget.AppCompatTextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/found"
android:textColor="@color/white"
android:textSize="16sp"
android:textStyle="bold"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/ll_size" />
</androidx.appcompat.widget.LinearLayoutCompat>
<com.airbnb.lottie.LottieAnimationView
android:id="@+id/lottie_scan"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="36dp"
android:layout_marginEnd="50dp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toBottomOf="@id/ll_title" />
<ProgressBar
android:id="@+id/pb_progress"
style="?android:attr/progressBarStyleHorizontal"
android:layout_width="match_parent"
android:layout_height="2dp"
android:layout_marginTop="32dp"
android:max="100"
android:progress="0"
android:progressDrawable="@drawable/junk_clean_progress"
app:layout_constraintTop_toBottomOf="@id/ll_size" />
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/tv_path"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:ellipsize="end"
android:maxLines="1"
android:paddingVertical="6dp"
android:text="@string/clean_tips"
android:textColor="@color/white"
android:textSize="14sp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintTop_toBottomOf="@id/pb_progress"
tools:ignore="TextContrastCheck"
tools:layout_editor_absoluteX="15dp" />
</androidx.constraintlayout.widget.ConstraintLayout>
<com.base.appzxhy.business.ads.NativeParentView
android:id="@+id/flAd"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginHorizontal="15dp"
android:layout_marginTop="10dp"
app:layout_constraintTop_toBottomOf="@id/cl_top">
<androidx.appcompat.widget.AppCompatImageView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:src="@drawable/zhanwei1"
tools:ignore="ImageContrastCheck" />
</com.base.appzxhy.business.ads.NativeParentView>
<pokercc.android.expandablerecyclerview.ExpandableRecyclerView
android:id="@+id/expandable_files"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_marginTop="12dp"
android:layout_marginBottom="12dp"
android:paddingStart="15dp"
android:paddingEnd="15dp"
android:scrollbars="none"
android:visibility="gone"
app:layout_constraintBottom_toTopOf="@id/tv_clean"
app:layout_constraintTop_toBottomOf="@id/flAd" />
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/tv_clean"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginHorizontal="30dp"
android:layout_marginBottom="30dp"
android:background="@drawable/bg_btn_enable_50"
android:gravity="center"
android:paddingVertical="12dp"
android:text="@string/clean"
android:textColor="@color/white"
android:textSize="18sp"
android:textStyle="bold"
app:layout_constraintBottom_toBottomOf="parent" />
<include
android:id="@+id/layout_animation"
layout="@layout/layout_animation"
android:visibility="gone" />
</androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/white_background_top"
android:paddingTop="24dp"
android:paddingBottom="40dp">
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/tv_title"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginHorizontal="24dp"
android:text="@string/storage_permission_title"
android:textColor="@color/color_1a1a1a"
android:textSize="18sp"
android:textStyle="bold"
app:layout_constraintTop_toTopOf="parent" />
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/tvContent"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginHorizontal="24dp"
android:layout_marginTop="8dp"
android:text="@string/storage_permission_content"
android:textColor="@color/color_666666"
android:textSize="16sp"
app:layout_constraintTop_toBottomOf="@id/tv_title" />
<androidx.appcompat.widget.AppCompatImageView
android:id="@+id/iv_permission"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginHorizontal="15dp"
android:layout_marginTop="12dp"
android:adjustViewBounds="true"
android:src="@drawable/img_quanxian_pop"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/tvContent" />
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/tvOpenSettings"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginHorizontal="30dp"
android:layout_marginTop="30dp"
android:background="@drawable/bg_btn_50"
android:gravity="center"
android:paddingVertical="12dp"
android:text="@string/open_settings"
android:textColor="@color/white"
android:textSize="18sp"
android:textStyle="bold"
app:layout_constraintTop_toBottomOf="@id/iv_permission" />
</androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<com.base.appzxhy.business.ads.NativeParentView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/flAd"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginHorizontal="15dp"
android:layout_marginTop="10dp">
<androidx.appcompat.widget.AppCompatImageView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:src="@drawable/zhanwei1" />
</com.base.appzxhy.business.ads.NativeParentView>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingVertical="@dimen/dp_20">
<LinearLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/dp_35"
android:layout_marginEnd="@dimen/dp_50"
android:orientation="vertical"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toStartOf="@id/iv"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent">
<TextView
android:id="@+id/tvTime"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="00 h 00 m"
android:textColor="@color/black"
android:textSize="@dimen/sp_17" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/dp_20"
android:text="@string/left_with_current_power_consumption"
android:textColor="#666666"
android:textSize="@dimen/sp_16" />
</LinearLayout>
<androidx.appcompat.widget.AppCompatImageView
android:id="@+id/iv"
android:layout_width="@dimen/dp_98"
android:layout_height="@dimen/dp_118"
android:layout_marginEnd="@dimen/dp_18"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:srcCompat="@drawable/dianchi" />
</androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tool="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="@dimen/dp_90"
android:layout_marginHorizontal="@dimen/dp_8"
android:layout_marginVertical="@dimen/dp_5"
android:background="@drawable/bg_ffffff_8"
android:gravity="center_vertical"
android:orientation="horizontal">
<androidx.appcompat.widget.AppCompatImageView
android:id="@+id/iv"
android:layout_width="@dimen/dp_45"
android:layout_height="@dimen/dp_45"
android:layout_marginStart="@dimen/dp_15" />
<LinearLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginHorizontal="@dimen/dp_8"
android:layout_weight="1"
android:orientation="vertical">
<TextView
android:id="@+id/tvValue"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="@color/color_1a1a1a"
android:textSize="@dimen/sp_18"
tool:text="3.6v" />
<TextView
android:id="@+id/tvTitle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/dp_4"
android:textColor="@color/color_666666"
android:textSize="@dimen/sp_12"
tool:text="Voltage" />
</LinearLayout>
</LinearLayout>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="15dp"
android:layout_marginTop="12dp"
android:layout_marginEnd="15dp"
android:background="@drawable/white_background"
android:padding="16dp">
<androidx.appcompat.widget.AppCompatImageView
android:id="@+id/iv_image"
android:layout_width="@dimen/dp_40"
android:layout_height="@dimen/dp_40"
android:src="@drawable/h_junkclean"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<androidx.appcompat.widget.LinearLayoutCompat
android:id="@+id/ll_content"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="5dp"
android:orientation="vertical"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toEndOf="@id/iv_image"
app:layout_constraintTop_toTopOf="parent">
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/tv_name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/junk_clean"
android:textColor="@color/color_181b1f"
android:textSize="16sp"
android:textStyle="bold" />
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/tv_content"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/result_junk_clean"
android:textColor="@color/color_666666"
android:textSize="16sp" />
</androidx.appcompat.widget.LinearLayoutCompat>
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/tv_clean_now"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="16dp"
android:background="@drawable/bg_btn_50"
android:gravity="center"
android:paddingTop="8dp"
android:paddingBottom="8dp"
android:text="@string/clean_now"
android:textColor="@color/white"
android:textSize="14sp"
android:textStyle="bold"
app:layout_constraintTop_toBottomOf="@id/ll_content"
tools:layout_editor_absoluteX="16dp" />
<com.base.appzxhy.business.ads.NativeParentView
android:id="@+id/flAd"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="4dp"
android:visibility="gone"
app:layout_constraintTop_toBottomOf="@id/tv_clean_now">
<androidx.appcompat.widget.AppCompatImageView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:src="@drawable/zhanwei1" />
</com.base.appzxhy.business.ads.NativeParentView>
</androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/white"
android:paddingHorizontal="16dp"
android:paddingVertical="12dp">
<androidx.appcompat.widget.AppCompatImageView
android:id="@+id/iv_icon"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/icon_empty"
android:visibility="invisible"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/tv_name"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="4dp"
android:layout_marginEnd="4dp"
android:text="@string/app_name"
android:textColor="@color/color_666666"
android:textSize="14sp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toStartOf="@id/tv_length"
app:layout_constraintStart_toEndOf="@id/iv_icon"
app:layout_constraintTop_toTopOf="parent" />
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/tv_length"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="8dp"
android:text="0B"
android:textColor="@color/color_aeb4bd"
android:textSize="12sp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toStartOf="@id/iv_select"
app:layout_constraintTop_toTopOf="parent"
tools:ignore="HardcodedText" />
<androidx.appcompat.widget.AppCompatImageView
android:id="@+id/iv_select"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/bg_select_yuan"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/cl_item"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="12dp"
android:background="@drawable/white_background_8"
android:paddingHorizontal="16dp"
android:paddingVertical="12dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintTop_toTopOf="parent">
<androidx.appcompat.widget.AppCompatImageView
android:id="@+id/iv_icon"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/icon_empty"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/tv_name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="4dp"
android:text="@string/app_name"
android:textColor="@color/color_1a1a1a"
android:textSize="16sp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toEndOf="@id/iv_icon"
app:layout_constraintTop_toTopOf="parent" />
<androidx.appcompat.widget.AppCompatImageView
android:id="@+id/iv_indicator"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="4dp"
android:src="@drawable/icon_down"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toEndOf="@id/tv_name"
app:layout_constraintTop_toTopOf="parent" />
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/tv_length"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="8dp"
android:text="0B"
android:textColor="@color/color_aeb4bd"
android:textSize="12sp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toStartOf="@id/iv_select"
app:layout_constraintTop_toTopOf="parent"
tools:ignore="HardcodedText" />
<androidx.appcompat.widget.AppCompatImageView
android:id="@+id/iv_select"
android:layout_width="@dimen/dp_20"
android:layout_height="@dimen/dp_20"
android:src="@drawable/bg_select_fang"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>
</androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<androidx.recyclerview.widget.RecyclerView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:id="@+id/rv"
android:layout_height="match_parent"/>
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/colorPrimary">
<androidx.constraintlayout.widget.Guideline
android:id="@+id/gl_line"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
app:layout_constraintGuide_percent="0.1" />
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/cl_animation"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:layout_constraintTop_toBottomOf="@id/gl_line">
<com.airbnb.lottie.LottieAnimationView
android:id="@+id/lottie_animation"
android:layout_width="260dp"
android:layout_height="260dp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:lottie_autoPlay="true"
app:lottie_loop="true" />
<androidx.appcompat.widget.AppCompatImageView
android:id="@+id/iv_icon"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/icon_xingzuo"
android:visibility="gone"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/tv_progress"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:paddingVertical="2dp"
android:text="0%"
android:textAlignment="center"
android:textColor="@color/white"
android:textSize="30sp"
android:textStyle="bold"
app:layout_constraintTop_toBottomOf="@id/cl_animation"
tools:ignore="HardcodedText" />
<androidx.appcompat.widget.AppCompatTextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:text="@string/please_wait"
android:textAlignment="center"
android:textColor="@color/white"
android:textSize="14sp"
app:layout_constraintTop_toBottomOf="@id/tv_progress" />
<com.base.appzxhy.business.ads.NativeParentView
android:id="@+id/include_flAd"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/color_f0f0f0"
app:layout_constraintBottom_toBottomOf="parent">
<androidx.appcompat.widget.AppCompatImageView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:src="@drawable/zhanwei1" />
</com.base.appzxhy.business.ads.NativeParentView>
</androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file
...@@ -3,8 +3,29 @@ ...@@ -3,8 +3,29 @@
<color name="black">#FF000000</color> <color name="black">#FF000000</color>
<color name="white">#FFFFFFFF</color> <color name="white">#FFFFFFFF</color>
<color name="colorPrimary">#3e7bf7</color> <color name="colorPrimary">#3e7bf7</color>
<color name="colorDisEnable">#FF7DB9FF</color>
<color name="color_66000000">#66000000</color>
<color name="color_00fac8">#00FAC8</color>
<color name="color_00cec4">#00CEC4</color>
<color name="color_1a1a1a">#1A1A1A</color>
<color name="color_181b1f">#181B1F</color>
<color name="color_666666">#666666</color>
<color name="color_27d07e">#27D07E</color>
<color name="color_ff6651">#FF6651</color>
<color name="color_cccccc">#CCCCCC</color>
<color name="color_f7fafa">#F7FAFA</color>
<color name="color_aeb4bd">#AEB4BD</color>
<color name="color_f0f0f0">#F0F0F0</color>
<color name="color_ededed">#EDEDED</color>
<color name="color_ebebeb">#EBEBEB</color>
<color name="color_d9d9d9">#D9D9D9</color>
<color name="color_9b9595">#9B9595</color>
<color name="color_8b8b8b">#8B8B8B</color> <color name="color_8b8b8b">#8B8B8B</color>
<color name="color_4f4f4f">#4F4F4F</color>
<color name="color_999999">#999999</color>
<color name="color_f3f4f6">#F3F4F6</color>
<color name="color_4990fa">#4990FA</color>
<color name="color_fafafa">#FAFAFA</color>
</resources> </resources>
\ No newline at end of file
...@@ -15,4 +15,14 @@ ...@@ -15,4 +15,14 @@
<dimen name="sp_12">12sp</dimen> <dimen name="sp_12">12sp</dimen>
<dimen name="dp_8">8dp</dimen> <dimen name="dp_8">8dp</dimen>
<dimen name="dp_180">180dp</dimen> <dimen name="dp_180">180dp</dimen>
<dimen name="dp_98">98dp</dimen>
<dimen name="dp_118">118dp</dimen>
<dimen name="dp_18">18dp</dimen>
<dimen name="sp_17">17sp</dimen>
<dimen name="dp_35">35dp</dimen>
<dimen name="dp_5">5dp</dimen>
<dimen name="dp_90">90dp</dimen>
<dimen name="dp_45">45dp</dimen>
<dimen name="sp_18">18sp</dimen>
<dimen name="dp_4">4dp</dimen>
</resources> </resources>
\ No newline at end of file
<resources> <resources>
<string name="app_name">AppName</string> <string name="app_name">Dumpster Cleaner</string>
<string name="hello_blank_fragment">Hello blank fragment</string> <string name="hello_blank_fragment">Hello blank fragment</string>
<string name="facebook_app_id">4512448902756291</string> <string name="facebook_app_id">4512448902756291</string>
...@@ -20,9 +20,12 @@ Please rest assured that we will handle your information in strict accordance wi ...@@ -20,9 +20,12 @@ Please rest assured that we will handle your information in strict accordance wi
<string name="document">Document</string> <string name="document">Document</string>
<string name="video">Video</string> <string name="video">Video</string>
<string name="continue_">Continue</string> <string name="continue_">Continue</string>
<string name="file_recovery">File Recovery</string> <string name="open_settings">Open Settings</string>
<string name="storage_permission_title">Need to obtain storage permissions</string>
<string name="storage_permission_content">To ensure proper functionality,please allow %s to access all files on your device.</string>
<string name="file_recovery">File Recovery</string>
<string name="junk_clean">Junk Clean</string> <string name="junk_clean">Junk Clean</string>
<string name="battery_info">Battery Info</string> <string name="battery_info">Battery Info</string>
<string name="screenshot_clean">Screenshot Clean</string> <string name="screenshot_clean">Screenshot Clean</string>
...@@ -35,4 +38,38 @@ Please rest assured that we will handle your information in strict accordance wi ...@@ -35,4 +38,38 @@ Please rest assured that we will handle your information in strict accordance wi
<string name="settings">Settings</string> <string name="settings">Settings</string>
<string name="battery_status">Battery status</string>
<string name="temperature">Temperature</string>
<string name="voltage">Voltage</string>
<string name="health">Health</string>
<string name="good">Good</string>
<string name="normal">Normal</string>
<string name="battery_type">Battery Type</string>
<string name="battery_capacity">Battery Capacity</string>
<string name="please_wait">Please wait</string>
<string name="power">Power</string>
<string name="charging">Charging</string>
<string name="left_with_current_power_consumption">left with current power consumption</string>
<string name="finish">Finish</string>
<string name="found">Found</string>
<string name="clean_tips">Clean Up doesn\'t Delete Your Personal Data</string>
<string name="clean">Clean</string>
<string name="go_it">Go it</string>
<string name="empty_folder">Empty Folder</string>
<string name="apk_files">Apk Files</string>
<string name="temp_files">Temp Files</string>
<string name="logs_files">Logs Files</string>
<string name="cleaned_up">Cleaned Up</string>
<string name="cleaned_up_content">Cleaned up other data to free up more space</string>
<string name="result_junk_clean">Clean up unnecessary junk files!</string>
<string name="clean_now">Clean Now</string>
<string name="result_battery_info">View battery usage and details</string>
<string name="result_large_file_clean">Clean large flies to free up storage space</string>
<string name="result_photo_compression">Reduce photo size to release more space</string>
<string name="result_screenshot_clean">Check screenshot cleaner to release more space</string>
<string name="result_similar_photos">Delete similar photos to save space.</string>
</resources> </resources>
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment