From d8931afa359ec4c8dfe5c6fdc746fed491e7bac8 Mon Sep 17 00:00:00 2001 From: Favo Yang Date: Sun, 30 Jun 2019 12:35:54 +0800 Subject: [PATCH] Conforms to upm package. --- .gitignore | 1 + CHANGELOG.md | 8 ++++ AddressableImporter.meta => CHANGELOG.md.meta | 5 +-- .../AddressableImportSettings-Insepctor.png | Bin 27742 -> 36699 bytes Documentation~/AddressableImporter.md | 30 ++++++++++++++ .../Editor.meta => Editor.meta | 2 +- .../AddressableImportRule.cs | 0 .../AddressableImportRule.cs.meta | 0 .../AddressableImportSettings.cs | 0 .../AddressableImportSettings.cs.meta | 0 .../Editor => Editor}/AddressableImporter.cs | 0 .../AddressableImporter.cs.meta | 0 .../Unity.AddressableImporter.Editor.asmdef | 18 +++++++++ ...ity.AddressableImporter.Editor.asmdef.meta | 7 ++++ LICENSE => LICENSE.md | 0 LICENSE.meta => LICENSE.md.meta | 0 README.md | 37 +++++++----------- package.json | 10 +++++ package.json.meta | 7 ++++ 19 files changed, 99 insertions(+), 26 deletions(-) create mode 100644 CHANGELOG.md rename AddressableImporter.meta => CHANGELOG.md.meta (57%) create mode 100644 Documentation~/AddressableImporter.md rename AddressableImporter/Editor.meta => Editor.meta (77%) rename {AddressableImporter/Editor => Editor}/AddressableImportRule.cs (100%) rename {AddressableImporter/Editor => Editor}/AddressableImportRule.cs.meta (100%) rename {AddressableImporter/Editor => Editor}/AddressableImportSettings.cs (100%) rename {AddressableImporter/Editor => Editor}/AddressableImportSettings.cs.meta (100%) rename {AddressableImporter/Editor => Editor}/AddressableImporter.cs (100%) rename {AddressableImporter/Editor => Editor}/AddressableImporter.cs.meta (100%) create mode 100644 Editor/Unity.AddressableImporter.Editor.asmdef create mode 100644 Editor/Unity.AddressableImporter.Editor.asmdef.meta rename LICENSE => LICENSE.md (100%) rename LICENSE.meta => LICENSE.md.meta (100%) create mode 100644 package.json create mode 100644 package.json.meta diff --git a/.gitignore b/.gitignore index 0210746..bfe8f4f 100644 --- a/.gitignore +++ b/.gitignore @@ -7,6 +7,7 @@ Assets/AssetStoreTools* # Visual Studio cache directory .vs/ +.vscode/ # Autogenerated VS/MD/Consulo solution and project files ExportedObj/ diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 0000000..cd9ed41 --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,8 @@ +# Changelog +All notable changes to this package will be documented in this file. + +The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/) +and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html). + +## [0.1.0-preview] - 2019-06-30 + - Initial submission for package distribution diff --git a/AddressableImporter.meta b/CHANGELOG.md.meta similarity index 57% rename from AddressableImporter.meta rename to CHANGELOG.md.meta index 7a2e6bf..5e67658 100644 --- a/AddressableImporter.meta +++ b/CHANGELOG.md.meta @@ -1,7 +1,6 @@ fileFormatVersion: 2 -guid: 5a8cf161d701c784783c071aa7a9c506 -folderAsset: yes -DefaultImporter: +guid: e0291b694a2344f4abc085ebe276fefe +TextScriptImporter: externalObjects: {} userData: assetBundleName: diff --git a/Documentation~/AddressableImportSettings-Insepctor.png b/Documentation~/AddressableImportSettings-Insepctor.png index 6aa1bfcb22b6289757db754b749f32be1ffeb665..e1159959dcb5ec5c7eed5c2bfff07a4755a958a7 100644 GIT binary patch literal 36699 zcmZU5by!tR+wZ0~-6b8;DIndrNonZ@NeOAB8>L&6?ha{?7D?%l21zBQn=?G`^IhM2 z&iTX3Ys+HoS!-tQ`&Z+8Rb^RBv?pi~2n17JPDUL9feVB{;3c8R;9s(JQ8B?^a4zby zQjp3K^55VCqLt)JNeHAS7X8)~34BI%lGAm8K(Klq|G@P*7F$3dF-P(;lA4}I`xz)7 z@uz3MV^icqX{qHngHCB_q5dCoCnO7WaL|JY)Ff&kM0+0yk;Kt+bD_o5xdf60k?Job zB~(992L&iB!5c3pHk&^CJiyR8w`6g0f8IPgyqGpTLeF!t=zY+({p0PlbfgNE;9CW` z?`ll`$~Le5h9nK#6(vhUX~rd$p9Dmqto+SgInmb-!NC*V_}S`lXk(XQ!DZ}wmRt{e zye7u?<~;Nb;{DY&)m*!8E4hG^#0MgFmRF^k@h&5Ree;Uy=F4BbW}eW5$e;+`-=2)d zMRg`TRor;EKYZBuS!1phBiHV8wQ;>$m8zT}q$@~IaerlSycuWPvdJ)Re?^!fRZ`C|tfT7=R5%1=xq91a zSE?wI%9C&^zc{nr4<&Hkdo_KoS#Y!G7c2flmw(q^@6J?Q&vgZ(?EZy3cn>BqA8&nj z{PXZ|)Pv0@ZqR;zZD$vaBL&an_D9p6Fa-VUv#zGi6#a5Of9JjVde&mx0IHjc#^o;! zU#UlJ5QRJr*!Y({^XfOT9iaS{o#*zAOAM(-?@Dfuhd7VV7aZ;2FidbL-|f&atL26~ zdCy_kVl5_y5De)F=ypB(GyRU-^K4qXz^Lt=^T5;8VnW};wu_B9tE_2X$FG0Gk~j?Y z<{Ru;Wn;+4eS5+%72m$(a!qD=m2kelFtj&U+k4Ws^A^%~zB{Y(gx{eYnW@6(sAkq9$OWh46!}ok{CdW#m9Y2c5*>8q^brF{1Gox!| zvlgw_G#3s}R)6rSOzSuI`Dk{1oVdTA&17M8jQX>iqtH&APH0Zbq0Q3e`QwXs?j_W= zW_+%PDjkk>mN7~mT=#YzW;0uvkx3P{T9oB?ypM316^c%Lexua%9!F{d9nFW}w$lMJ zh6hbql$(Z5m1y);okxD++nFv)<$d#0b=GBb@F}sOt6JwM9bDsnx}eLoee4rH1$}7o z?>q_qt8;TaeEg@5%U|2~HHwr=grVONP!H&9M@<^`uSV?C``&E#$M-m9>8hyEhQ!I4 zU<9@yK|EBdH(<&HK3#Zd`stkn7L6-@tuy6n`Y_4pue+74%HH(|zLcmTEz$9?rshh+ z*1>k)o7Uv;Xc`MT}Syb`~EkI!iFaDR6^Z&zg_ zriavVe_eLi^n}m0Kh@Z;#244t=WnQi=UQmHZ)bTCBd(NOzEev8{Pg|)Ks5P6qa$|7 zhYwi#mj`N4G85`C8?@lnu(m7+pKE|fE!N(`4q1RV$^jWks^yPQHexY>qxZ4m_haxa z{tx%H2> zaWD;aE`8bY32_}wb=J$82NXXQN0`$`=kY%t_{t99)4kKzUxPDD0)<0os1FsNL8rMS zIHDIChKgf78M5m^M^6`kGqPeo$1dosLy8N(=E~8WU5++jfvif2PSiqEf2aGR+{lBi z^Drhvx*}3%P%hzA)9A_VU)%FtM8#qd#MP8oI^I2a{BX21%(8#UUZ~ipajD@y~}Cz4*15-@-_t>76mX( zV~DKtV9~tgm($wD_7u4365ANt-n8^Me1D!Nz7}_gCpJ!FT59!3{ITF+=hyvy-FY$b z{%$+2$lzKNeJ?xU~EjwZnLBC=r$pwri9qXdes(4dP|$ zwzJ9ee%^Y`&IOdQue0xT;{$jchd*+wmufPniTSpmAxr9;4J15ej&V^893f?jeb1bp z#Hu28b+kn=vqqM-)+qrEqpm+M%Gg-W3B;G}hcgcc&+NT^F8N^zXq&X}Z- z`(E*{BX<+h9C1kK7p)4t0nk2e_Wvf#-!r`Y)UR#qTfmOlZwT*$49`~_ZRB^g$r6gn z$AchqvKHKP<@6E^GQXbjQY^rw;mw>n{UW52eQW-}{ z?r1@gb@JD%;}V6OqCz|0XIz|LkEA|?cpR1#Wjg!zWvu$=5(aD&t&;MN3e3QruaS`N z(p%8Q`LN8T!cXsLC}tkMQ1-sBb`aOry8>9`tf0!UwPCPalJreq48@Gmc+j6L|ND6P zM26pyqE4$4cCo2b=fOWd^Ops*;RdHYxBpaiB*}w?M36Lw!IYjO6(&UxYMb`#b-8HQ z1)RZX?u*E&qVSm?>#^bv`+worZWuE?yBU3Lg#6O;-J=~g1`=h_n`orN`txGNN=xlk zHOQX7`S|sCkab4Q2#Z`Gd;1n3u6pwoKla1+n@W~1YkqOmVj*@l<_|{u?D&Zipjn?8 zG&y1@IpOVzA!P8V8c}B}hmQ!{Dr+0MCAUW*FRC0YHlKNa685NU*EvsRsbBf{O|02v zE8hQJnB_fc-{!Xg8880>WI@-BkR*|!Y;xgv`XZODsb^S($Vr?f$<iHZ#OsVS(4v9Yz zWvos*Cy0U8Hg|{j%OU@6iDBM}XYEp>qwyWb7#{Zm)9}MZ$HTx#hVWg?i+%Xnpm2-} zxb@fPd62z{g2(hJKXZ)5QmXbPDO$FUWB$YjFuig*HXQoIh zGk+9sysh%{nrl0xl2=el_?9T2`HVUC+%5ywO5N$TIFZDxF(n-M`s#Rd6F|6$!I#2F?J4Fbm1r@rrF#N}5`%xkbv-zphyoPmn!Uu0#KfW@p_$^|-ga&qfxs&hF8}PAw ztX>XpncWxR<1wVo%RRU~e|);q`-24duuKf2W+t`A_rt@lfJizy`We39tJ*~bqtliAlm?7BKaYP{4dG- zyvjpsuA|#kmm?@-SW?bDg7JJ^_r>ndqrKWu+h-;#nWEnL-WLaY&63w=v&L@5JFrd- zZ`rl%cAr$u23MQr-06pnUtwnjK658e1)1ez$VJgq;)>X5)$97_5>{)H7?snLG%|xW zlPaoFQ7()Bc6iMaofV&x=z2!3;4Z0BVmEA#ZW|aej%Cc-##)ieX@U>F+cvcw--Q_nqE50BdDQ z*uDS#df(K`7LQQ}mFR1Juge1FFK4s%&SM(5qScO7x86I|jVjcHW2kTN3}P*1a8iCg zzfng>e)=`s({W6%w>2olZNrpAEJm`I)C6@MPU<;4$v|*wU*_>U%JT<9=bE~X@_NlG zJ$bE4T~1@ROPE&00(I;8Ub6FR1-tnsx5zg)_TdD=tq}wlQ=QRpa*?anc9v zOQWx*S!Iq(AQxVTBaaql91-WOTOD*LMw*B#d79$@wL zD!HD2f6Xkfc5n|cY%tNwVpGH?GA3+fNk8nQ2jDZR^ta!I(=!X|ZnI^Gq%l3*xr_-5 zF%j;;ARH<@-I#=IZ^F$HkG(Jm(0u8?63bbV-NcOr!32Y!A`9+ViOw)gCy>;ar>&Ha z`CF*Nsniyn6{N~VmnOfyi80hW5#K7gf{TJ@`E}JN+TyCY&V4nRrhdHWviav+yFXUk zG2tpQ)yvMDl5T8$FhvM2tL}-n34!C2uhIb7FV}(RKFoSjYEdShMJ^nX&wa z)cb0zqkR7yFvEfeor4bRG!0upMp#rOIPAtXOSMbb7Toue1ks5HN5L@>kYdZv@}%HO)c|ra!=_!y-KB0^(J6yro6>vgvyqruyHDay*bLCiVE+C$`=g<~fi|?c^aP z{W$8(Cg=Z76JCV+xfCp^+eswFv8^~Mq|t#Pv6Yy*-jOk-Z4r+ zY0~8TVJ6qNFKi)|Z`2>=0w7)P01uTjP*SU`?ER2Dket=u0LR@fQAz$F_Z9ch(rw-QL zNfmj+L{87cAnqvl4rza?c-1V64s+FO@+de7+7O%sw~e0-_WGqyx%J>R+K*sGL#g~# zbq;>-HLJ8W#t5oq69aAsaeI;p+fc!g&H#}#f1mH)b3EUcY3Id zZOq(~_lu1xGY?$1w5S=reds3uyDxqkAhC z-@M?sFyLw@32_b~q`y2DsN`3?61uGz>zPd{Ab!67{E;4K`F9w*56gwF5$2E6)fb zoHRVB_3w;A*`9^Sg3u{hn2#R{w#`;ER&q za-A+FL_N!4-v$v%GZ%KYJ8Rb!xi+=-opA`t1&7(wVjA~ny3A@bljbzWv}~+_Q3lSi z&L?#E);W{y?jEH?zqZA|-(I`<_=}eMZucMO%d7{Bz7g?!h0tU55+ARt!+y0n|J8sM zK`0HqaE<-K^XSdkX8Ph=OSf*f)pt&YfnY;*#vU@)Yvd;~sti^x`S$~vWAlb@mrsYB zA>MHOOQ`FvQ*yemJFdKv!i*Pu1cJ-X>Kaeh1t#0mkhnd#L7Cz2FQD(O<(nuCw5hx8 zP_4r&y{}J3J1k}vt2TCfhb(%&8;gYA`#&*e@~BKtSg2imxL8?kMiN*SBBlwk;7<_Q zG|1+?IT_`jOG(}nb zYrE;v0$dSpy=~Odb9B!39pS=|qHdp_Xnuv{(pQ^z1Bt#@&@#Wbi45vX8m2HEx0}Cr zhfUI@T4fAWzNhh=;;PPcJy8KXPk)ObD1Q8&0w$t0$JC7+)i#WfMe}s1Os6K{58g+6 zuG52@WvN*(OP!L++Vf}#rWk@D-EZtf5tlgtPa$y)RYIZvWl@^HX^*CV?R4wF>{W`922a7 zf6YLE@o}!;U-{jf9dgEs3BhJ64H+NqFS5#YYqgNlt}k{Eg^~AG{3Y7;swG&oEBA)N zc{g_PjZ&#*ABqS3L{f@%KD#w;z~o?%545TG-N=QqA5XG`rU(qZ4>UutLdy3*w>$58%dZ9v}m1Xt885AkT_^i&JmRM;^weJ z_9emi2SQfcqox2gna5pD?}zFY!9)YTP&Ot**yGF7M@b9qu?XVz{ZpUGrTmB>K{c^Qz%n1dNW1UW_is(9Ek%hbfY*po2@NXKuWS`4QPP7aH7x(Zx@y3(#Sn4zzQTm>$l^A!l-&5^`Bh&so1EaA7qgi!> zO9Kl>_qsJao%+ddVq+hg3?a7(Uhnfa9ngY^f@mFLCTd2dk0zV%P#ds;)$sD5^-yd- z62kPcs^t%hz5Qw}kU_Gy5Xz-5y?Q?o>aCJ39>X2`-JNMK#h%RBOclq2>Ckj&T0U(({0c`)bpk ze9$mjqUAgu84Cfso@V1dMOoK5(w~4AWBEWg*VWHmGi-ERsob>=C1BN3!o)?hY$^=e zq@$h!(C{@Nlg_K1aF|$xJN{I{?n)djJG666Z}S`$E|6L&|CzfbyrY(o@(~le-}Xr9 zx{su#^0w-}3H!&j!5e z70>l(y$JJ%Fif)Y#UyIivd?CE|2}F4MbCGnq-Qz)ooxHrII?TDoX{FE|9c;H5jeE@ zSg~ul7;-^cpzs!Kkp}IfBf_Y`l*vzz1AC&VlD22Js-x2H3TQ4nZX}Dxz%nr2$CqG5 zoZbBv663pHKWiW>`ah2`#~r1-%2V(EU~zsGIlyVqq-r}`$-bTGU71YRg0&)i4tM!O zZ7i?zMP!$9wQpd+3PmUn+6u5uN^rSvfz48SHdmxVCH~N^FLrx-bYcANcfm1Gg7lh= zvJ;T=0%O*Ijx@A0o>w7ykNEGK; zCJDB!(x*o$I_@W;3u~dxLP3w2yG5czxARC1}yQ-{4CiH^&)r+;Fg_zb-uhv;`Dl>Pve7v^zsGx8 zp58A>2QH410D9*gFV)e}eDXTvn=2Xt6Sbhr1f9H`Ejc@Y;zNa{%u`4@H?$Hd$(V_kvxzCGZ`y5b4hl+UBpY?XBK)sb7Qedm0h;k)` zyB*uk@W^yMTsA~f=V)3D;w6K_^Un@T6jsR$fI(gwpR!VS^~#J8gpKPkbwj8PL>T1trgUuw2bwjl6;nB0u`kiS_^`uWt*Sbu*YGB-fj;|tsL13=w3`nRJNlwTiF(15 z{~J9xU<*zr;fik3`$||)J;6J=LLfLQQqD-Zy*k-#!0(UVIu;Seq5o3rclVB6lll^y zbi{dcP}lqGmqI4j6gJ&l7W>PrXkb^lQQ3ap#pZAabce53L$ zdhnN~*(Y|Coe%dnqx0)XoCs+5c2#X!938jLzT6m|IFDs3*$D%Yo^iap*r=^V%%rm^ zs+xC~{<)l-2s;WEqx>;*Je9vNO)ED2;NOr=2Wk>5IUg{6y7(+O=QG`)yPnd>M&s*^ zxd-hd#NCJVj{}>va6zCQ7`zj$9*(|Vs&b^N5e9F237wbRX666>>a8%i@Cgt}C%efw zE-D_*E{saWec;FGs_esDZEBsy zf-~~-!Qv9>!Abu;|qWJn+@lxs?Wk+uQnu<}T_WktJ;0?&A#j-L5-m%5G%!UUeaR*#%g{ zWR+{3fe2ca+RQlfD^2Y}Zhv+hP5Q3d1iSbi9SLBc=iLEoG&|QyZpgRU^Z>g;y7ddq zefZTrC?~d?@7~`0_(Iln=zo7DJNxnl>B7iik8(?E#`vwYq%Uy1`(J4rCg*O&8vzxw zAR~g_U0z9uol%56@MQD{E7Hk!!lIyyXNq8f#BygW6$>6y(%7kNkZ`|Iv&7_2`)>g6 z1WMTB^2utP>@74_)yw9a_r*M7rMYI8A|eCiMxVM5YLf?JIl+srlP|R#6r7?RMqR6S znpGuqA?p+6x;%GSV=Y|y+wF@^%f{7*)BF5G4%sh|Juls*dH?rrWses6cOCm zt92e^P_d(K+@|=EJoF6yN}Y(;Q|l;q9v!1R@6~%>2ok$Nr03S^^DmDbT2&vs|Ex1o zSjF6Z)UP>Kfa$J#_75-{eJ*duSzytmv%83WztUj-ME8!=L53>yT(bdbOXq$>1{W&g zclj%12CYA_ke8*s?JR+HFpt*bw(ia4=PzA-j?lq;Z8k<5 zDhyS8v*2&X`1={y!hbi-NLKo&{L4dmZe5YCIcrBiwbvXRF>l7oj=Jo>ny!7<+xfcc2CRevU@!+TwTAh4OB{>0zcq ze^(4=uRVR+*&!UQ-Jb;R_S{ozcolK={PSzsBmGW36c3z~E(}P-AZbsv$=+r3%cJ9U zr0`Lq&i%NLN#$a5604iT>o$}j>)kXq2;ULd%l5DgRJh=+-@5&t=pBr<9}5~h=LwTP zM-25g>z1Fp*j^4my|ISK~K%u@YGBYxnyE-@N~!4UOo~5`rI*6#s77^dH;(jB)*1qiq(DuaCc^vj3T6Zbfo0K zor`yXvK{VY5V;yEZkG4u(b^LU7J?()(T9eHN92Oko&xEvZFzwuBX*7gk0kiZ$Mw&Y ze5T*E4Qnd65!)&ce8j>5ku~({=OHo!iez;c5Colq_SDXw+NRM}UhAOesOX-DeLUz>^P)3&vP?bdrCqgVjZCClKZB*0;}(Kae1-Wu8Ja>&8)rQFQ&v@)9ipL(9fBu=kz*`= zv&SP!j8}(<0h;KSI{O7JJ{41H@D^lZ2w)K0-KZOsA=U0%uqd?k;XrM8HBE~EBgjd? ze#K32>>zQym#8A9#>Wkv6uH@}ouT~OoHnMty5~X-SgRO($`MW^3>`A08rT)!umcvQ z<7NZ~xqzxHh9o79t%3svg^=cJma5hRp^E*5&}fz__yY0MC(@d(;K$Oh7K(qS0m@GCe<@li6wm``})0IyTi4+x3dp&5#jXmnWG zcr@>bAlE3Wd0G69nf3fn0sc&WYltDuz7|P}mao&(~qaY1pPKe*3)vh#{D11qF^}8smoLowdH|{meWGq|q z7zh?apgEVdo7KVZ^`z{51*m7D*=3vHy0431K+YACx^md@zyU1mL;%BOU+sVi0nY{J ziq>(l?ClKRSXu7RM~KIfBhe|5oxHk7f>kI7%S9L_4d`;5E=_KLe`L3I*fjJ{R-;Vu z)C6>+;&z^vGDJR-^LIb-sBwGi5P{;tCND3q#X&<~Hjp9Q_-3VD)ZGjv{wE?V`!VlF zL_{JqrL=(il;J1{VCJj^q?Bl<~Xd!iggLm_g5Z$T1Ad`F06xIP3uHzbBaSgXbL zH*MqcyRrr;h+YKr)B}{aKX~Itn3u+h3@;PxDw|>AR@g|Cdw!@i@pNXs@Y7}57lcyC zZ|KBvj!g5;KaiZrF+t+20u)Gi5erqa4v3}Z{~4f>9pB^lE=9Vv$fVRH%GC10d``z@ zZJ|cKXRlai(L<2ntwz%QaJi(_BzhiX zD#&0afVyZ^5)+KPh$O0S2*Tf^r1kw_9hy@BXO4^d$bKG(Y3Po;e~Cdtw$$>(cgt(@ ztwuBbI=DNn(10-1G45r;cm|HWG6HSsq9;{vlhbwTj(> zYrHjKF@LIvS;@5yqJ2SF}82QgBA{zpzqmm`QRZA z6m^hlS92gRId>ru%hj0mmXnX4feQXxEMVjZrRcljDiVqh$o~xJF$+QDSxg!%u`Tf+ z130PMk}?yT^`q}S^W9_bCk+A$R-Lm(pO<0R0S#Co)MpXOi$KKc97M&eTijC&@DAKX z$@toI4jT8(@obfG6-9^m{bioR{|qRK);3UClOQRliFYrXT1Jt9Rc@CLUn(LHMx9|% z@F-ZEcC%Or<-k#ge0%oaSmZyVC5CXAyiA(F+gy-oey_#FyD0IfROEKiz6sGElK`FS zE$CDk!!}vLGXIe<05RfC!K0yXkwAp|hLML`y-M=XZypsOnr&DYR9p|F!VY847`ecR zl8A6ZoBu6IU#OtkhrICIKpE;LL*@R18wUC7A_bQPY6;j61wcHT(fS?$&qn?j5itH4 z-R6BUc(m4202b(z@zeI3gT%R7tKIfG6Hd9Fwn`J3KcA$Tcit{B#P2B%$6!feQkLp^ zUgCCS%5X-Ig4W}N`$B^qKmHAF2>}M#b0vh!A89lNu!}H;FA)$#LE;9dXRy;vft{g&0ay8hJ6N6_#@EG%b5hNc> z-h#;mBen?;BJsaH=i=&|(%R?KZghblP6scC;!0hEF0(nI$T^K=FQN_Y<~Qv|TtabD zF0Ngh>#8-2z5n1F@$DJ}l*__`2V6LQv@D1Q$QjjUJlu3VB)(n$uB&fV$!f5w5jH`V zuT<4`t~cEY*?IHz?tJ0wN%bv|;drT5{oC%ZcdwOyxwzX$np`M83;*~W9@;G8b!-tG zW`mLwne!6znng|=e*LCzVi|k2@XZTa1fQQ=-{OX4q~J`n;~rzwnrim|Dg{bP5a|$oIwz|Oz|;iKF(CAj6+HY!$?LhQlT8Q zVfvYoD;QWgv`;CKUqvdhk7?R_`1M4Ym2tllN2^#>65Wx6Fr94G& z_#lKNA5nA#{47uoUg8`eH=BWG!@{;W_24{FF`&IsC>7dOM%QChBA#RO_#}@rK?;_D zFgtH{hH8teO>%a~OkfUB3s|UwyAjw0g7xn~zO`;uCJ;e)80cuz^NDzkF4+t*{blE> zThM0AHiRA8&e<4viZ2=NV+oQKWJrI%N0U_;aQ4?`agzLJ>*a;2E`t_dm7FN%WO&(u z6Wx7i^XyPfr z64{Zk^jM$Mve)+SBYsdRC89CgU7;j%fkC9UJ0w!!R!~0Mq80K3BBuN{@Z5hQu?e@` zkp8LBb(vHk`MzHj5fWrjYxzTSf}n$4kBUnSLNTQ}12m?OUqP5+qUo*q4;9SDl{5>= zxe;h5QivM9wVn{VPf-H#fR1WwkEeyVBIa&?j~ImSImTHi?E(l)@?ke^no~#zac>at z$>y0LubMrkJN{AIDR#(@MDyq-P{o3~DKb(8{vpQ|O2VG*swVa;?S`|`z5i1@$8<3V z)anSjyGRIHO}pAU&w?LNwNv8JUx?}XfVwr|hdcZliuBLO(z%sr73x%oq#tm@2*S(0 zhXvuVrnD^{(pd8mUzd=&pr#i8wrF* z)IY`;ATJO79f*Tcq>?o=m#2f5KqQrxLtgdqf|UU0-NvMf__XcgFZAto9Os|4LI92Xj1 z&ep;coH8KI$M7fMCDPMytKri+e0mCBLNmqhlSs&-l_ctYZtXhsc;3V>zbzA_>W5oI zn>UO2Ur%|ZO{5-)a3d+7AEF$RrmS%2<$uDABxXO~v{5+b$oN){D{*N+XAM__<|-p3 ziPNk~@LiP*oK`7kfi1n;t@!fp%=QOLyeefYI1=LXM@?s5dh6E{YM;q}A?BNYX?tF)ad@KG8M?XE59_g_&m5P1CfqO=&@T~BNzDBd2=dbf|VR(@62C#}$HJl~|7b{qrtYYFY)SDt~? z@RKV2Mk9`LU5&=2ks$(6X66BnIBq1R|2&*I`*@~RmiNrNizx21|2*4`!Plh zm&X=X%7y%b8zUn~O){HoKRf{0pP7-f~DDq0A8&kw|y}|JhcY(b1*laWbK~0xHlPp?X zEQ&2kN!V-dJIw#qy#2?I9><#EkN$(*vJ{$EJEOOlo^pn;d%|Rq^3`!%p{Eg|Cc%8Y zW6|WsOEK%2x{`DSkfzKE+R-4EQ~bxsGrR#8a{CvqA!66G76vvtC&g+a0d zU~5=44vcFoQ3XT=+@gc#+vzSbNvzt+RS1eZ70B@7*@iV}u=Uzev6Ff|vlq~no3V_N zfi%r87N}|5E@5?!vqp{Hu7@0n;+GO5p}5sCfBnQZg%AT*3vcEU+<33z7}L+1wKu+P z&_sLhzp`(8ne}|>(DOzpVZkdcm)Q&Bd7`4w$sPS4?^HGf6pS$|QpJs@44(Kgy%X|E zWN-w9wN|5Agxrj4Oi_|~gmjUrahqJ- z!s%&f#^68IulDTsl1G8sdSt%&wsQL|?nO*omj_k~W7hG9@{d0M4w^CT6Nkp2#e*NH zqo%=O&aw~pEDZVVffkMv<|2xW+`=+bmnZu_Pqu%2W?cUsJ$VM??tT#P^|@KS@8V*H z(7|_{Dsr~v!|yoVb%ut-m~211z3FgYj0se00Z6D`wXwC*$p^?AuS`){UaDF@Gy6p% z7@UHUlx}jgdJ{Ip^r;JH+(`7@^>+r8Pt|~mLxwL^PfF+dqF9!rVhfd{@4Vn^ph6zF zLu7cV?o!-rHHelN#xpI^8=P^*jnQzO32}9hMkds#G#pD~kE(#pxb?o+f!P(G9@3sP z%%D=!OGd;FwcW7Nj?UBV9JZY0}aINohuGd*iM0C_^2T+Nz&&kr3;Mf(S^vcM#Ni! zumUbpUNFwPJmBMNVS!jdr_WQRh|L}91k+CFROu^4a~fQ!+{irHSX*ARCvXX-By03j!)tG!1b*Bnff?MJ_JrB!SPuL3$gqX5_1kh?p_?+|ln(@mfCD@*&;!a1TeW~# zRFRVp8dK%p2V4y+z|UuJbV^1pLS#1CgNIW^hyx#_h%C4FZ z!FC0(@+VAKe=p%qAz@e)rD|+7G8W3gwG9p{-&;OkYg1>FpLd~9$w^5CC9kVc_woch z1WUL>qocXzz(KGx=1iKoXoK?7n8)Y%$P15SWHXWfzJ3$y*Tu!*%8IsUZU8`snGNJX z`dGK(RquIu$BMH#lsX%cJq8bz0r!&zN(65{@3(o}cP)UHJp-V)8IV7>1)Q={bD%rX zGDJgyXlY>4aG^Q!?l>IN9INpB>cD>4EUz7zs2;YPDX%%tkNJF^N;XCqHtzI&RQ~1P zVWza4*TJ1C)`TWxLJ01!Yjs{xfJq?+ZvyzA@X0p3Y(_pXP62YII?>>z>Lxf-Nn{TpI3K3b4!S8omOImQ%4q z-k@j@hAz}#`mqvdpl&F0eRp_La>Y(xbfDQ)H0%e3o*}?Xe{b|<+JYO%QoqCh7Zv%{ z76MU75kQ7l+vzpIa$)dvs@W27c9A%E_9iC(9RI@k*Eav}#LU0v!rq!Argv>hJ*~)6 zj0S+&rdj~{3n<%K@tb+U?GN|f9XlVDaVGmn%NW^tJST;A`G0Ol1@?dDuhJ~l93Up= zAjm$CJ;INGlK}_RUZgZ4+Rl`x(S9m|yZTA>qf-JXowCwObmywYd&_P5;833hh{?#! z#BIW|!4^`lG!V2KqS`R`7icPR4+P}P#uW1@$8b7NzIFjCaDD#F0Nxp!yxzP2)moC8 zmN{rBZ3Z#KG23md(olGs4Djn=YL;un?14z;AMVxBw@#>q^RHUn?J;Sht+Q3Po`Kt- zBVB_+mJhTFtr+6QlP4E=DV7vBPCv$!!ak7zEg4yj$DHIHfgd1m7%lR3z- zf0$lg;wJVe3vBoDH3HQ=h10mQ0vQxZjNI?gjp4M(?fWjgg|&oFwyA0;!A`=wKA68> z{VvsStQ0xwM0n=Dr_<4&ww6BIlsM+Gx~C6b3Xmm0UW9u)IDGO<&!&}=bjx<218J5CI98fmqgn@I*{a1i@v-~*I~6q{k{V4-o; zaRe_K@}7wc9-JvQ+oO}pjr*ranm-Ao7C>l?KjMNxx{d&rN9tY>j+R(-!^mSk1svTj zMCIF+EYtg|lWl$P(GV|&c(|@>pp@*aYM2kNiX@{$t)&K zi!wFo(0*l!xhM;LFZOE$3fw>-HcnYZ|9rqCd!7W6FeCGy)#*AjF@C?IjbwaO%)s3; zz}chQ}MYpHU}x-9&Ty}G)$}g zmjl2Pd6kV!Q;Nx|U6}-UyFq=FDI(4%5cD#OZ{mT^2BGwM;sE&DUSi`Z0w`0cgJ&5YemJHqizKHg|aa7t1*3OrEo1w%;s<=;zj=bL`_k*{s7t!hk z4~{fvK7nJ3l^i0;(;kxzn1KtZqN?|jfegd(7EhN0drIMRJGapwY-AD7iUmUUV?h^8i+%# zDDhE9|D}r;%l@}6ZmJmYO%wz>5H^e$rBW|@+puuao!Tqcqqc9ev5t0 z{dgW77)~ibH~1ZO1f=Vogm2F;DQbDPbTLDLoHGDUIkPl7Z<=L6Xxy_IxlKADBli7a z-;)1-wuR526vtZG)IFGk8$oiO_Pq;wCXnDY{E1Hy7ES&hujlicXBzE`akCejM>#z+ zL<8hsy#KmyNxF$O6!Puz;z9l1I|(2^350fai@FEmHi08*r$~cxBkXEYSbHmu_DBp# z=5jk07u`Rq#xCf~(o?N6eYIdwBx{W;M?mf#gIXZ+!q=cjbsm}ah;l|=ysGX{iqCgV zd-la+l+rHJ0xSNWFfW=%rS$Csn|`}eC6JJ=Hr7@0ZE6cY73pA~pKyvCS|R>&h}fwy z@3R2M7QjJb;^wm%{Z|h&W5D&AhBj?|vb&{cRO`%J#~~uPfeY%-Ift(3t+e~{aS}Lj z1TWO@T}&Z{V^OeZ8+jFQ;Fe4UjH-aJSQT!TImvE++{ceh1M>2p@bE|3W*;u|4A!nF z9*H9$Ju@PSfB3Dblgl*YJ(klphNLAs9G2cSS6jYZGODw#nJP0j{si2IGyf4EG1cyE zphG>}gPc-j}MY1@5U>DyOj#x@t%wCBH-Zbw9>Yjy(wEpnF>5AP{^7zE>;x z2_Jsd_++s7O~aZ$X@8+%_pQU~$refDL-ZhAChpOOhRPs_O1M#EWgM>&_`)2UH;HuH zeVVuW_~+U@YfCTSxNpi+0_w&5x-TysP}y|9$V~U*%x7zssEZ*$(gtLyd^O*l{VCvN zM{^gxoQQ&hKxLPJekD2zA_t z_NmOacea_e)2s9xRu~J63M66JRF#QL+4vB_fhjpTxj3L~>gd}rj@1jiCEFq@wp5r1 zyLi#1_$!M=tDLD;EbA$VyqykFUCfuw|9$Q|@49=k45)`XpvKcbF2FfI=5r*4bMwV} z53s>4(uz`ILsIew__IQHC(3!eqTV(rTODw#WvyALl(`4o-|NtFa(8`pVoOm5wcEhw zZ|^gY0|VchZ0_4{_$t=-@pQ8JlEKL8`Et0rEv_Y7NC=7SmZO;!es_)?cQb>S*o}6N z@z%$Ls@+F`X{YTIYOL7@N_C(9Ov!`AB*-7OvqnELrl%10m=MYTmoRC0U~pZXyX6ZX zG)W_4QRZj79q|oJxcg}G;C(8c$7i~=-;9@H$69T1vPN_*D3-P(Bb7xQSc#~0B< z3H*NoZVX0EzVHsS@WDq@8Y%;@|I^xg$79{U|NpkrK8>tw%80V}CJ~9uWK&ilLb6Vq zkUf$;iXtN`dxau9B(p_!NLl$EFJ0Grd_M2b=k~eXe&6fA>*~7U%y~Xv&*M1mkNa_X zwE{c^OGg5rxA5=s76^PE6GFI$ckjpIH>cb9>9#8Bqc&4VUn@L3iHsRoz4=m@I4(wz z_0cz%c$|D~!Peq@5_j&T37yqhhp|zUt%Zg!XG+AVcq@GtDMZ-&n%B%9zGm-^Wlbz= z*$op36QLUIo3@ORlU7<`(|Y2fQ`Z>4p68*AT&(+ELRi?6=r^}H*vGfQd zr7kl6)T$3g8_v&%v!=j=@eNQQ|f5I z>>iusx>?{7c}KXdLA7pW)Pw|XNvBT7v;xNZE(SB_7_m!XV@VhIT1&94NHB;lIhE}=GD=(|BSHK7%9f3yf{ah>kK80)5AA8EN4xW(Py&`Nh$TzF1c7yzU z@qR~~;q^*mY`syq_~sH3wDLDCo9AOrv2!^^YH$vgStua&UVR{Xl{yH1NXTL$Gc}XN zc0WCUv>wWOS55^S9oF9>OvlmL3Svi8D5X=a^y3sMfm4cQjhpuwL!s+ry4Jk!?ETx@ zMbZl6o+@z7P#&m{7`622je3k$(6t`^!)cX}xDxoQ!E)SoY5I{;gEgptnG{!6YOqSG zL&PYViAWLl{UGy==^$E-1ozK4(|OVuWCKq_=Q9LxPztvqLWHl1e)7QfPOSa9ZYE9r z=SBQY4VZ${P&B_I^@8@W;*)qdgPLw=JAx;;-7%;(i} z8)uR7MvE~JKJ*Tk81wk)(<2Qra-xp+Fiu3ziR)qquc%Xi>LmVtD}-eN5Xk#PiiE22 zL;iHBPdFDJ4k}ot{PmKgLuY-~<(Q-V0c>=jx2y}{Xyc5P&3h_?-e8e*%}IVFj+D%5 z_~Q|@QPVnP48p3_(d<0%h?G7fvG00CCU9W%_hI7uR7>VdsMmawHWLKWw{bl-5;j_G zE7Dnljq>WePM5n^rp>pu;a1)rIjv30$wiV&S+2y1W}p`jikk>LhE>v_2MhHQ*WrKo z$o%`15RHKY?7Fe-WuKyN>QsyAly&_vuCbR%9Gb?X_a30wc_Skz6`5E=6kRm|KvL#o zyUsOF%Lkxt^4GVImhU<8-I%w|j;4Lx-tYgGLUsdle?`#=`-NAo?^mv=Pq>ud)=!&q z{5YJKRWH3(I~MUGj^zAAoKEED^)%hicCmyKb`G^1IFT4>+0Z@RzZDg23!!RbtoI&y z3;^I*Fvb~uAA6|4nwE55Ou}hQi^XR}h|DxRXg5Lg?2xa_JPT`t@vgHnb{9h+sypW7 zlRavnI-cA_Ds4^mol_iYSoq%XL?{smh>L{)X({z>o4GJoS{9uHW!Gx>?C-u5nA)7y zZ`2~|8QsBrkir`61j7>-)L>()I{JN6qdn#4q@=E9d4FZde)h^=?uNryFmHUQ``g~s zbK^LSt%^aZy?^$7b49Mx1jNTbYz{ znHs@x%XEYQ;|j!FW~?3(zcp#!t{Ewdt6!JpyQzT)H~0b>j$cXiKECFQHBWNP0O$Q8 zcA66}EFEoK!*dneqMWz~J@EB7NEXtw?=A5<_EeTNR7+*67{nO(U zbO+>u2W*2L7{%`TdC!s$E^8^Q{a)uI*sayDs(I|@LvDR0w1%U3@}lBKIdu9pzyx6n z=<1lc3&}^w-s;baCAE?|@3!eTX4GZk*0)H3YN5Ryeg8hgZ*Iqqz|kI^30eV@(Me+M zav#(}IvGp>tE)Z3Tw^KJcxK6nB}Ub)_*X*qd_uPx;Dj`E>aol8NP!AvWZfG_&5C^O z?326<>L)(b1mx9gNDkrIB2Y|YSxKr(6VbkeC?VB86jmMm1`ZB?#VSF1Q$&7jIti7d z8IK@o(W_if;&D6{``~N-f+x;#J1-#V7YnlY=%@Fu-h0;rQ@pzI6}7tVCu)wfWCZvK z41NvAQ~9t7-UgXq*oK9(e4(o!%VTGK>Fp zDo+hdOzRU;hzDY-I9M$Aaics&Z|cP1)X}Aj-+J2o78#SUxb{*!{%BBXt8pSr2v7RL zl`9FLAJGHesN_Q!ykT`7X+|+V+^UBkO7gECif8t1Foir1au42#$_eO1ub8ifY&GN! zhB@K0mkeFKb*@tddw`|+12R4YYxS>-wg)?PIq&ogTUfl)-$d^K`x2a%t@wLRMePFL*6RGV=$|C&C_J zOZx*#ePNpX1WjL&83nzdVhu!as#k$CH}N@dCI+Uhk=fR(Y0}7#sU5`pD1IG_onVQ` zILDnDKkeG`D>51u``5Pk^XBd*>+$FWzg$Xn?yC-X!i)_c+BH0z?36!}{bBnS>7cbC z`EOl_32sG>H!$G?50iRT5c>xLWU_}QqqS0;3L=2VHMy3yY6RUr6V*RBzru+zYva__c&dU5eyISES&{R zss?%Te@=U4_hrdl`&o$ZL%-x&c7}e(iAC5pf*|vZP7cNwKET)=wjn;gY#fKvA({ov z3K@h%LWSsNmM%(mW#v-|EjDWLDNfPvQ?PE7D8D79xL)*qU1JO*DUX^brHdC)3or~) zuZf_;L$?rOPk>1%e@KFog0~u#b2acVUAGwNzlvd4iEq#hYq!hEqboM2LvXSbLZPWY5dtf++OFAAt!Yx^vfdSe>s1Cx`r0Y^Dzv}tNx$Sr} zZc!Ak;rRWwIC0EjNdL`Yq(NTBY&M|hiS!Qvto9}qWg3nPsCq&n4w((XIj@kVTp`cE z=eT&%V`R0+hXWOga2gL~5KiNY12+?Xk?ZJV^#<7@O|LmjC_B<|UADr2=Ko@T!$Z;{bsy(B`go8aLz& zyBI98EjHS>VJ#hc6UQtS&=S|@450$iXWG*^rFrD-xTii%qrNm?>x`?M!Hw4?Yg>D# zE!lErW?3zUvG^Iub7p#R8T9S;b?gcjiI;k~CK_nY%3wR1JfmO!eG9l|gs3|uC!M=* ze3n5I3pwHGaH_nZDaDe_fDja!!8@XmeDU+`3k~bdBPMho-=~7`PRut~$x^ZIM#!x$ zk{H^IHh}=Z-uCA5(TbPW;P0+_r=W9{sYoNYW0d6$(|l^K5=L9^SF3K0%Htt&6X7DV ze9LKw$R#i1d+%)Fb56*GxW6T^V<&(&5q++&gx~|zCq%MmB4z&PKt-BQ?*hYoDxg`u zG*c1m#kxo8>XrKrP5NX5y+^0Z-suwK4%xNYf1K^g?2q^HbUIW^v6c+OT=g?oLh|4> z5QcU@w#N68K8@neEPi6I&Y4&1-jH~``f_d8{(Nhxm7|Q#6Zei)CVO7xuwkMCZQb4r z;q0~|*>^t@ImIe`Gl(Pcq?k8@ex>midli? zWjgb_Z7xYPrhSsEQ=R?t$_pNNGPDyd`Idj)7C?Q3v>&~diR0MS{!m)^vrQ@ZMoks&i#v&*y|3@$0>!w z?Zg`4)w%a=nvqta#($wGuFu~iSI`)p=93uh%jysE3N8P-RaL}{U58q(ih_VMOBo+u zWXeQh$~73q_y#1CaBnk)$3ZX8ouPm){92jglq<&EZ4ch|c(Kt)+N7z{Ko?#t%O39> zr&?F51q(Tk>|nxc;`XMmRWqEgf9Hr1a(0$ea&<&_a>f}}Lg^@~J^mnb<=((|;ux&g zuF;gOs!YFN3^IiMHL5jPgHutMh8|msha*Iln;xO+Q0%H!128-56uL)@4t6@}Wwuvk&(aQJOY}>&4>7mA*5>kL)%h0CkyKcn8 zmed1{%BLd5@3|F)NwxGD1uYe8PI6qVBxl6-I*7))=vHEKYR_T7f_#8Ag@BauJf88s ztul1EEj^1C_A6@Cd5-&(R-XC2!3^Z*AqU+Neqb|%ReP|Vpu2GDTj=>D89Vc{3(szt z%xQB5qFEvIyz|vNLW2|2&Ojt#(<-_H*WWOG`*4%GaQBRp-*2cw0>b9qy_JI^?bkE^{Vh1Z5*KN8{!4E&KV|agN%Z|mXFO}q zJ7^rfhdCEfbWNZ?FdHD&8GJ-zFEgVK2B?ru)k_g|4k;+-P@UP0ONK?px{y7|*X7ns z<}2Kf-?_KhCoQM+6M^Xi^ieTCl-m}4;!dmL;25d@nw)@Pc; zijuK^H$a*0FvzRwrX`?mP=z5BdB4@le(D~J^b1w1qi$9o+nL5)X*c`5?O3^=zsi#M zh&bou9z&P5*<<}><8qWN#hoT_tU_$+*O#)NzS%~m-i0;7Ce_ZXy%(O&=0L#z%J~^@ zyM%KT3l_D`O{T^#9y>Q=rt;o{OWhMT8{)K;S&A7E{%(^Xu>tv?B|p{}Y?jQVBd>B| z7Vn`GG4`Eco5fMPq^k7;u$LU3uv|SsK2#%qzBOi z@?O|W>+UKt9_(WfIoxEo9)4kWdDo%ivhYH$RI_iviC!c78Jk#zuf4c;Zx|kyU;IP1 zyr!|%;?>JpC$xH8>+<2Wo_xkfnJ%XA!o)N&#L4ka=P3`~WR(La1fDB)?h;+FBE=V> z=|ZnzRU7zNAY==hRruYN#e%C9)}fbweZY(n>nFgQuxkd3Gu)}opC0>3id&U+0NbTi zTuoFWTmK>C{dgsQe*08h$mO&4U55Ae+RJ)YB0Q7ud&5WRwQ>#wt7Q}h-dWPaW* z)@zn6;LW1LJ`w7<`r(_XcOpf)*e$*%35gybRvWd35?2PO69Xy(6kLB;z8}&1nu|a6 z!szl__Zr3w0FJPDa&+rdZob#3Bep3HoxT*iIRRNvPEfCnEVoiI76rCa*c+7u4IwT7 z-_n$-`h4M&>ndK4Pun5QO53hJhTpXs%srUtFwbGTA;YOT^;`@2cYXuP0DYj&Dr zL!VWGT*ek&=(l$LKfpt5asC?~;u!r04=Fl@;2}E4cu4Z%f5t=9{{tS98~uO9L$d!@ zJY+NfzvCgfD+*w~G+Y0xomoq<#!8xqBgnC#iS#`AFy!MDrs|6*&)=-IM^4?V^z?;* z%bJsTG%OQ$15#>c5CT=S&n{e^o%pOsZ3sg{ z3bbYB^@!+qY$)&aMsqumdBPNE_9J|Fc6Tk>|GO#kA>!DBn$dH4X&OJ<#l8p%6?HR7W}G^X8J3B zB=av>BYdG@QY3|Lc?YfRLc^!u^9Dc-lC-iAq6#KvRbf*4K$B`m2YxO<4{mQS>c*&P z!83}~29M{QhWd7(l&m%<`UR*EdKGR?2$Jtu-^*SOZ=vFgVG#MZMLMHTwr6d=Z3cC2bUHBh(@O%5f9wvwxcQF zLdj}wD6YytzXbOcJBtE_rFAe@MeP2ml!!hD*RiqH55``4N5ptZ9rC~Ca5dD`%iRu$ z3hokY1fYA!b1NuM`vCDF|4M|bAwKG#{6qU0NJ3ZCOer1w{(ZQ=PkfoC9Qp_&DJr0j zIEYqrM97IeXzwvn(wJZcq6+TbKpK}}Nnyq^%9o8wO$@+G&5vN~&L^!6JfhK5W}O9; ziaK1KMM60c%_DCwoWwVsQ(Ky8YCtmSj49qoTOw=pw%(B&ZhgBTWB)IyV%{urj27NhSAXd=Nxe6iEY%e-=0#QbtkrX&xR`3TEko=AYmVx#}|=7)9`$-oC$m_Q5UO zZ5Q2!F3CwnXC{dsWtQ;E;0~okJ-$mzUh(wrFJT#dhFEUY-vwsT9{V}C^uLcR6$h__ z+I#Z#efGzmfvJJGgl_;e6#(nCjiT<}1r~4BBMO>U*PA?wUBFbQjHS@kVFasAWOjH) z_PQ!{i<6FcjGH}KW81H@P(~4*(55B9-WDr(HBA%iT1n47q*;^B4|;U2L&T48-+@T~ zx#@eCF;VEgA~~m}3=zPebS&|}eP9V3MjjbyG&0&p=apYZq{4q?=>9caciI_bJawi; z1wY)2D?o@tMoXx~1ZV>g?@8MHD7a4GVq$klu%97>hKEQpgkyGt zIzn+qe^dJ72w~udde*aq_lK{_oBN%IP~#=1;80hB7& zc~_~Cbj$`>6*=TJp4`KQk1B)e`D`pvZ=u5XX zA%_0Y46y}R?x_f-{XLW25$R^`gcuB}rq?Da@(*B=Ur)|9XRT^7^_#9$9(PQ4c>oCH zWa=4jN`jN|5+C6C3cUfH6C&_}?elKjK}#F5@1x2)J?lcAPU2HC-ucQnoIf1;DOZY= zRl(YAf@qy(tB7IGA41TNPfiL_3Fvm9aPRnSok6nULkK zBKYE$>7+z5wivyr_Q*5*NZ>C;S2czbYw*i?h+~doWL{+{3cfo_pDbk4Wgmd0`W}2T zH&-L0FVc}3!NA$Te;D2G?X@~tI4)=1i8^FLkQpH75S@p9HDu#LY|s9C%Nl;Pzn#-? z^8HJDhNtVeJpXZ;zRGiiy3J!1yvl-8V0_@OQ z4Bp=1fL;J)k^-~X;^(c$p-ahEcIuxo_a>2!N8mmjsTZagu<;z7fN|R^q1_F0NhG?ua+H3W#MywtF0 z&Y7F;oetnEe$H6WXT>K3xnBmLf!g3c8>f{oFxro}w`9kIV^e{^3g*|>D)Y!9jWvxQ#m&jh`~Ob)buEHfeQ12xeOw?{6Yf>qONrv>M)`eplZ3@hTAV!pA}4C2Xp42m zKAw;A^G=r~z}Dox?SKbHja(C~aZ~r0?5fZI6%{!-KAHvz&HbP2sktiQZ<3A7i#1iL z#OCPl2+MEviR>v{u>qdo?^LJk-eSJta|P5rLNYv+qBl33y9>W$!3?utmah5H3cd8n zbJUKPX3|Fq}J*%?I{cJBCW0TK@)={BR=5@rWu+tXrkV zl-=x25pbLJ`&m3DsHnaO0Y@jLaGeo2i1m&bh?N?$nfGuY7OiKqIdp-wxTw!2R_^h> z>x$gZseDaU`b#mOQ*u%r2IS_MS{s?fRL<_#fPNUQycDN!osPjJ8*Q3C~O|KP^7ZTg|aH&!WpDA(vATfqOJ_Ev3;Y7AfVwSRIY-Iq4$kpbO4*|__aC(g{?Uc(K1LAHe1+2S7Q zjdI^_d3#JfYj#?kD9(?r^9u2Fqc|zAMSIq`Xm@9s_zOLHW%7xy(XtuQ6J?qgleZUe4;%q@toIv8mhk>EzQY1++J&_+>f1>p7!rO_vm)SXsN~J z<|F6A>$V8a2fU3KO*@;A2(T@&tY)b&d5G}!O)78 zA(6Qv_P5Zo#Lil&)f%GhWo=Y=zt85gabPOFGan-{8@>Ku9x}PhwnU@Nm)PyNjZ6Dt zwnx z{P^-CXXb^sWyTeGeS5wsw2yZ_kZiiah#K{{e2y~Lwr^RwQk7W({mHQ zY_~?q++s}5B&Zlb$6qZX`427z2s%~9yN=rD@6*H=YNmpm>umEc>xYOiePWQ+|2RZz z`#OP7*{0}k7$yvXVOFbfD)wP2_;kP@k|c)DQ(>N?W2U)iA$X1nW$>PV;x>c#<%)UHYT;9~gay_3#yVE^0l^Z$d% zFxe>>m5&x)GjbR#$|YrSdom?*z+xeDq zP791XTf}zR9?TKNo*~jZ9$t~m1DQK0$dk9o`o76WB0nPGCW&eP;!2r$lk{;=;X9RAelXmK2TYj8Lx!wN|DdQ#1}fv3k?JAHIphaAmw)BZ|Wyl>g3Odw&la?4pf$LC>v*bxn@E z)J)wCD=gb^-Yu8HA^~Ta?lX^w_))jW-s*{HrlS*fI}2n`?BvIHu7pVAT~rh1UvV2W z$^U}eEH3?5+(yxE5CscFwwNcW3i#2{9dl^NHXidHWipxlz&k}}r{T%MG1y8ic1p0%>R-!SMfWF-d zRkB*RZTNeKSrS{K)(DhNc5WVzi%$ePp&F@jV_23f?XhzLu&Qr` zM0nzMbBc;4c@9cN8e-SvvSQ--J#$E+X$hiRzrOvZr-iKYc%%0b=$g2jqHLxf+46pO zLi&z*!W*oOXW3jf$AD9^;|Q@8fJ}rUNV}@fVTCS7oog=Q70Y;P+@@d2);gE;kd%&| zN#c50NC+Nmu8OTrJ}mzqFdGiR|Ag7JB{jJ=q20kE3eBU{T0`fZ`DhZJ>&i!%tAEi^ zi!}Z)5xT>_hZL$-m`rQXBF0}}(S4T*$-kmuqkHtycZwKKm~xu%d#Z@p_MqQMu0eHQ za;>)i&0G15(Z9`wr;IO9D_0Wt)7J!QPbo4ta>)u_EqUBMm&~)4Nwk7E23av1 zfna{EY>#(y5T!~G7Q@End8`zbJbmK=AxJ+o6#mERnk zMkHA0`3a@970a)p@~IC)wx%akJgJq3wN<|ou|0?tVSK`@Mc@|I@xpV}gzWnPFv04< z1Y{+q0ccNbwwrg=$9#icGnR9~{`_#+N<^60*cW6;$*U zr`?pThxxNGJg;CA(?gSqu&wEkeP&pgMIC=!DvR+evLR>;X8tY$d92B&1RVZItzIBS zTl4A{#f5pzfY>Ja(GRx8lbyDtJaH?p=k!^6iBAbHR8KlU5Chq3!1$Sbj}%dge6587 zegyY}ZedJZA2+}^p?CfP-)QTIglY@oJX7kyuhzNAIZN(X5Frq3Qlh6!_0$s83jSId z1+VaH&5wpti&w3W=b$-~h9GuE`U=U^^cf^WqA{Ck?kDl|SXDxF^Mk@nHsM(I%NAL{ z{q}MU0z%JBxuf}?<9@*EHUcH_u@%%4cYN+~R~X_EnS3Ks8fV!OxYd9ycW--ez})?< z7_a{kBtpI&z48X4!1)W6ay$DUKgea>L4>tYJP2sq00;E=tH6v#6xhV_#fiP} zsZ39JDu^Z3|4rXK4Mpgiq-L$R)8`a1sFC|vYZP5w+8`D+ zI7{<0d<%X;ZXjxY+t^_r6E)xuK^pQ-y(Er)2;fnD%4F-jCXOF5l)nkW*WdJ{i#e4v z%@}sUW%^jISS^T9EQJWgf)RJ^&ye~8ZR#4g#=qxeS`*VwVz(TFgaQ#(7TSdpR4o4Fv}#NI-?WqyJQG3TuM5{YC_|zSopTIQVB(*tr~+x%n!(n za1u@*S>puH=n6i;nC=I$Ljrn%(JBYMA4Kb5SKPuNFS!h+C428q<7RU5@@jalP4U8J zrmg`!Bl1`I?@Mcilto;!k-r{n}O`ZyBC@Au#R^&JWE zgBe-yu6-e;vNbh?1kXalE%H`g%SFvRMnLkJy4sYzXA!m`62&?5-~tp ztSs>+%{Ci853FZOX`>=pv@;}6yEi|B5?q*^J}}FODe1Jwq5~Hfu$l8oTA2Y5U5{9n z_z~c>PuR#Ak4tI$LZ#id0WN@obMihxe2jVJ%GvCLo;M2M__LB*`G7vrzOdrWklDWL zj27q8k=L8N!UoUCoDH@5&E_|5tot#Fuk%>B>TgP_e`oPC(8dPv;%qp{4pq-1E{rXCu1H8o22$o z5+`*>)uDdzRV>?Nh##TT4 zr{_FoY6b}|V~_O}Ilti!SyHZ$I}_uzB2#u}=h^WZL0D1bf7YyQE~b`Yz%wDGfdyc1>gw;|>{N)1|S}Wtm#PlXYg)lJ~ZYmQE|$ zeuMRR25<4Vq}=7>vYgDS?Bf}&iw@e*j~>oQHbb+O_YPae93!&(M(i}|oHNB@xSvj3 zu&^cYS7PTTT;>j(TahL~cIf>ak(-hnZ$BP=l=b`~O~qh6i8}D&f1+isqqSrxZ}sKw z!<~)wO3M{-@6DQ~&B;D@F$w{~7oy8^D?zV?zcptHf2?o${BEGJJD~^rykO&mnk)-r zJ5SFF@ePztxCuWOcRWCsa1GlrCJZTnNt713kR6hz#8!V>+cT>e6Ue)SB#YO5IS1BL5*GRlFc%ZN)9{ob zbgWzytPU3@e7xaCYh6salD^SGX>w9ot1dvji~u>c@stx~+7{eC_v9`R5tumGYvc$b zRr)bzbHv*3g7p(^A}*?YDuYs%K|VKn zlqW#hoTchQ^IhRP-@ltmNnH_trnpMQsiw8ch@U)t3e$`?YOedNakb_{33yzqIOcu} z;){)bn{t&QtcuZ9c|cQaMom0F+SB9oY9UvbnK+lHCv@wiVlX3epht(F)Q{_>KjvXL zyWKAaKkY75Z?nBxpPQ4sTxdJQwR_!YBRtjitj?uiOR@xB!SV-`XCBXDh2r|QL$@>$ z`ua|QMTQR?bWkXaY7fG8N6l-TVO#w&17+e2i%dGY`+x%(wDMfRYdB4s974m>90m3v z$0H*3^=d{h1D?4p^g_j%9w`Ni?;O9jK(9^q5@wA+w&OKeaO*q_7G@GH#f{Nd*2H!$ zft!|Q%NeSxm6?=vTT8gYeItyELXVa2;~YJA+Ub=mOO1a(@%Zw7nkxCIWA0hQ#=E!S zQNZjyL6~Dqkcy?>J6LhkwYOWEn4DDVe9U{EO6)qGwYpE_4l|7}oe8B0eb*LiQ6Ubc zX*7KBR~FW<>_C-)Ph|BgL(!ZZnB#7 zqw7x8z{kXmDzej)5MZfpn%vG(B*56Z{MD1~KVx8$aQW1=mq56mHtILsTxf3MHNinf zk%CF0>_ZfYa{KT2@3A#oEsc$wtSiaprUW~ebPr-h>AKKExo?SsFp_XBEokd}-n{2X z#_77Z?T|?pb&B1AJ?Z`E_xs*0%Gg#)@`u}cnLdHukf4MAU+}$sD+XJ7KQT`IKdDhR z;Bf8S!jFQK-lQfft0Zso#A zR3D4I?Z1gndP)%S3964)4Kc_#;tdYn-k4L0;l*i-ED^-<9Nv7mg7+uNN0IfjqEaEP zus12b31D8Di>gsfZsTT~pZ0!8M#r(uePa(4a-kb*T+6=Ro9bY{ep&vvYPz`7Q}6pf zgyoOgxBS)EZiGj0)JS$pVBrZ2Qhvh|8mCMm=~k}7OEZy4xp4?A*Ha(jR|N>)@=Aad zBB{dzHWnt;#z?>{yOJtpN3gXnY~0-E62vvR;8U=pryX?U3jEyiztK}()J0r~aqw1*;gjx6#n3gmnmhy@^s zCD$dlJ;adU!AU6d__%U6{O3dIKye{oA%B8?;bj{P1H>}cz+_d7FW;%Bb>PKB5qP3! zgFQ^%u?J0#t&`vgqnP`FoOkKgPRxhoGgRRbkki}W+SP*$pV?QK`Egp!crM@KyMiO_ zxx~Y{#+=LirX!3ZF_eUMZ&Q$?yC%=P`@9#U9LxOe?!PcY{vBPN6D*gtTRCB*~=VC%~ zb?IL???{n2j<&OxEzrCvXAQTC<%wR+CJEV^!dl~_xu^G7YiLrQcnhRbOY-~QBi_xF zUXxh;fQ3c}>Iz%h8<||=e25?2y6WdrTXVqLLE@;N3LVTO^KlFA+8N&{J`IMY(Pz)T zZ)2}fcVmApyIO5RMkwF%g|3YD`G@awA_HQU&)d8yR>|~4$^~RSQN*|$cPGt+Zp=bC<9mC=N_Ec7`&(hE{#2vueEaY-qjRgQuKyK| zsS_uaY=$!JDI@-Q-iUkPLxV}3lP19>8Tv+;(mh?~OAnMOGK$S=u6TW;Q~BPb?UNF> zhW#@KXUZ z;t4I7aXJ@Lj7ypcqdg2P#NF3-e7yu0xtcK~@pxTYs261oMy+l=umJt@vP<)P^n4$I z(z`+SgFzJvhtgSXPmmomgRBA;N&RHNQC9CtY)2U{cd55dH{F;vSrxHaK|CmPxh>bh z=7HE%XaeKi{&%~Is*f>=a)f=fC@x|Lpl1fD1h0h_n=*)5b}y!(dxw;`Ixv()2G3Gx z_>BjTnHnS~Xx|ABxDG)zHX85O$lZ*^cSET()3T<<{Sm031;e`?@T_ZW=yNl}$xc45 z*b&+%qpm<#vOR12d@dwYvHUddruxO4d5q+x$E{w@PeS3iH3ng@4nkQLB_JbXm=g5@ z(qW)aAml-NcDpNSz)_F^S13~56^hehX<~u}aTs1hE^h<&W%NQ=#oz)K_Uv4M+R9DN zE*zcxFaj)`S4uZw$xn;Ld293#wWjJcol!mT1tnm`~NK3dmEyrxohja6cp_lRJs|ITAU+;yKH@2BYW$nf{;m3gQEqn@y@ET57xyBB z9mAs~m~$oU*xAxqH{+RKIQhIA3T2WnBTT&NeBLgMEB zBh(XA^69EwW}(%?@sg`Hs~XIsQ$rsylo-m3WQ)Z4mTp}Gfu2~7<%<%SDK6F9D^SIc zk(r324ni0OYbZHc1sHH0o8wwLJ=##n&XTdLMI5(>Jgq0i9J%1sNdDs?lx~Bi591cS zNH4PG`nTc2FJNG(+Cf7r2_PvzgV@d(mXz11I^9>Fx6WH-SP6SYh7ysy&V#G_Sc}2K zMp7(N#X#1b@1az!6`Qq^2kGoLIOBb*x8N6X)#nO#^?-DMg0lKAczwu#zFt=+qTPjb zb{{y6lBTuR^SDN&z5^SzHXn5IREbK>I>woLVm>|oeIi=kZx4dDZ8QVz?1uW?kRalN z$~l+#r{c{cXqJNiM!S4K91?XGg4t!EJ?i6O&npRH$Gn;V0KB*$oY_^EH>k4u6SDb+ zwG;>4|0-g_5D0I~{kQ3-p(zc}vSFq>!q>qjmOvbQ z0DaV}0t1DRCaf~e4iPA4{@Ud9mzU;GceXQz(v={UB)Q7}tQepng>4_%B4D2rm}X+h zgYGBENk69U+`iqlq|r+{Q`Nsmwj*W31}k9BB=Z?;;)j#q7aejQ;8|mVf(3*&0)fzQ zt5*vKm-__~L3D&eEP5nDj)t$nYkds;8o-!j+n1C)&{qYQSU-4RKw(4f{L~EVBPY-Q zf9?n!O7-8cqcC~cfARl}IqE8rP;7k_QB`+%4&z5ql0TNM5a54?yK#$yRGh;F+4f=r z9S^=6@Ir@F-!8JfM7}mk0-B>wy{l-lUbD8-r`RkcErFcM;;xNOl7 z_ZgV@eDjEf5vu|~j}NhtiI+MPwE?Uagn#|B^#1sL^Y0tLNG}k^M+o2ksOl7hrYdE- zUjef*)uc<0#5G_kO*{F)1=Q=ig1Mf+H2J%yfD~Re5P7c9+OSemg)+(A)6ZuZLE*JA zOvHqQ3*n%`Kpk@yJu~Bg_wl(6{iR%Fkv*p`N56uyMqjqV?4-}>K9NXL)L1P@3|ovZ zAwG3*xB!@02>HdQX9V59YKakOe`lbQ%E|HsJ(Sa&JUrAWf%XZUOc!;?lXvR;4SVEr z5%c@lOcEpZj;(qb)m7OFs}2I>t8uMGD}n@BG>B(P5j7jllkMCp79tAc5`hh{{~SwW z;2RzEAbFfBaxCA&qUlE-GN+Hg9{iLDsrl81 z^3E56z8VpSPt&bSE)YQpa3R%mLRU+D3~ir<#T^wN(f-;xMD-kSM=17AihrIRn!wt_ zu7uZ)ZVUYaA8K8m$VAw}l3>`%UJlzCh6vQ;hL63U5CcS@vul77NqH`st$3 zAoJ_zmhDaucq)W+Rf5RE!#xGKW%vxn#=|ylSTtXaYzeaqS?GyZN#&|(TTjar8gS%c zf>aw)k`WnlS6%Au=GV!Z}Bfu8!iduyMEi_K4a`=#^ZL>NeJg ziBWUT05zRhz5mW*Is6 z1fJ21Z#SWAO@@UKOY(N5(=VAOM9Zwy8?`G9(_T9bnL6H-E*ovB(`RVD@d-SeYuk3k- ztT)yBJs+1n@BHT$I{EcCcdxtO_o)4}JXXd%8&ErZIRiDJpve*IXRGDed0h8RG}MN@ zbb&2hz8k-7*MnEusu*YPZe3E~M0<&Z4PDDJG$%kWK^d7ShgyZmD4(-g%}oWOGFQh#r)c&*p(WiwxPtNMi{%9T!H?`c^_ zHg@8;Ej3++eMwry%9VUld2n z3_aHDpfuHs*3d_pO0Ql`-+pKqREg6Fr|=wyZK*DDF(-;l;=W!Oer*n;&7k1 zL8F^+tF5OBT26@bgyDP=S~-I5fy1$%_+J;6{DG~HnGJ;HgK=grlwYM8t$|E6R3&|CEDTaHkdupH3w@MD|c?3{lC#0b((*x zQk1^;{=qj^#{R}P9st?s=qgbVO45|aiq+i=$y!F5=a8?g^jJ28Ea%q)97yiEh9k2$o#5o5R#PvW^$7+>G3lx=~q3t}bOtaryrGlOzV~XAA*O^pW z;4;CVfbvkSa^mGmWp7m|HfOoF`yNd;tY|ByN|fY|ZUv3eja5oADa0AY%R*7o`Eb!f?81h^e3`bt#sQ{pdEla;OD93;W{@A`q#E_gxds;?9$ua7VCZ7sU~`$K$~5P(xG6{IRD{ vzc@yr3RwSG0{%6<@Ncew|NaNG@kfL^TAQvG?J?6>@Q=oMZPn+>mO=j?(}VRg literal 27742 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 z118 Addressable Assets > Import Settings`. + +If no settings file exists, an empty one will be created when importing any new asset. + +Once the settings file selected, you can edit rules in the inspector window. Then click `File > Save Project` to apply the changes. + +![AddressableImportSettings Inspector](AddressableImportSettings-Insepctor.png) + +Create a rule +- Path, the path pattern +- Match type + - Wildcard, `*` matches any number of characters, `?` matches a single character + - Regex +- Group name, leaves blank for the default group +- Labels, the labels to add +- Simplified, simplify address to filename without extension + +Rule Examples + +| Type | Example | +|----------|---------------------| +| Wildcard | Asset/Sprites/Icons | +| Wildcard | Asset/Sprites/Level??/*.asset | +| Regex | ^Assets/Models/.*\\.fbx | + +Notices for moved or re-imported assets +- The importer will not override existing labels. +- The importer will only override address if it looks like a path (starts with `Assets/`). In another word, if you changed or simplified the address, then reimport or move it, the address remains no change. diff --git a/AddressableImporter/Editor.meta b/Editor.meta similarity index 77% rename from AddressableImporter/Editor.meta rename to Editor.meta index 4966f23..966cfe1 100644 --- a/AddressableImporter/Editor.meta +++ b/Editor.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 0ff6d86e77543ea499e83e52f9f0c827 +guid: 6eae96027cac7c44bb61b85b07167e29 folderAsset: yes DefaultImporter: externalObjects: {} diff --git a/AddressableImporter/Editor/AddressableImportRule.cs b/Editor/AddressableImportRule.cs similarity index 100% rename from AddressableImporter/Editor/AddressableImportRule.cs rename to Editor/AddressableImportRule.cs diff --git a/AddressableImporter/Editor/AddressableImportRule.cs.meta b/Editor/AddressableImportRule.cs.meta similarity index 100% rename from AddressableImporter/Editor/AddressableImportRule.cs.meta rename to Editor/AddressableImportRule.cs.meta diff --git a/AddressableImporter/Editor/AddressableImportSettings.cs b/Editor/AddressableImportSettings.cs similarity index 100% rename from AddressableImporter/Editor/AddressableImportSettings.cs rename to Editor/AddressableImportSettings.cs diff --git a/AddressableImporter/Editor/AddressableImportSettings.cs.meta b/Editor/AddressableImportSettings.cs.meta similarity index 100% rename from AddressableImporter/Editor/AddressableImportSettings.cs.meta rename to Editor/AddressableImportSettings.cs.meta diff --git a/AddressableImporter/Editor/AddressableImporter.cs b/Editor/AddressableImporter.cs similarity index 100% rename from AddressableImporter/Editor/AddressableImporter.cs rename to Editor/AddressableImporter.cs diff --git a/AddressableImporter/Editor/AddressableImporter.cs.meta b/Editor/AddressableImporter.cs.meta similarity index 100% rename from AddressableImporter/Editor/AddressableImporter.cs.meta rename to Editor/AddressableImporter.cs.meta diff --git a/Editor/Unity.AddressableImporter.Editor.asmdef b/Editor/Unity.AddressableImporter.Editor.asmdef new file mode 100644 index 0000000..ac91906 --- /dev/null +++ b/Editor/Unity.AddressableImporter.Editor.asmdef @@ -0,0 +1,18 @@ +{ + "name": "Unity.AddressableImporter.Editor", + "references": [ + "Unity.Addressables", + "Unity.Addressables.Editor" + ], + "optionalUnityReferences": [], + "includePlatforms": [ + "Editor" + ], + "excludePlatforms": [], + "allowUnsafeCode": false, + "overrideReferences": false, + "precompiledReferences": [], + "autoReferenced": true, + "defineConstraints": [], + "versionDefines": [] +} \ No newline at end of file diff --git a/Editor/Unity.AddressableImporter.Editor.asmdef.meta b/Editor/Unity.AddressableImporter.Editor.asmdef.meta new file mode 100644 index 0000000..00c875a --- /dev/null +++ b/Editor/Unity.AddressableImporter.Editor.asmdef.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 6256bdcb0aaf53446b7dd10403a9d748 +AssemblyDefinitionImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/LICENSE b/LICENSE.md similarity index 100% rename from LICENSE rename to LICENSE.md diff --git a/LICENSE.meta b/LICENSE.md.meta similarity index 100% rename from LICENSE.meta rename to LICENSE.md.meta diff --git a/README.md b/README.md index 1744fd7..843fca0 100644 --- a/README.md +++ b/README.md @@ -3,33 +3,26 @@ A simple rule based addressable asset importer. The importer marks assets as addressable, by applying to files having a path matching the rule pattern. -## Usage +## Install package -You should create a single AddressableImportSettings file located at `Assets/AddressableAssetsData/AddressableImportSettings.asset`. To create it, go to `Assets/AddressableAssetsData` folder, right click in your project window and choose `Create > Addressable Assets > Import Settings`. +### Install as a git package -If no settings file exists, an empty one will be created when importing any new asset. +This is the recommended way to track update. Open Packages/manifest.json with your favorite text editor. Add the following line to the dependencies block. -Once the settings file selected, you can edit rules in the inspector window. Then click `File > Save Project` to apply the changes. + { + "dependencies": { + "com.littlebigfun.addressable-importer": "https://github.com/favoyang/unity-addressable-importer.git" + } + } -![AddressableImportSettings Insepctor](./Documentation~/AddressableImportSettings-Insepctor.png) +### Install as an embbed package via submodule -Create a rule -- Path, the path pattern -- Match type - - Wildcard, `*` matches any number of characters, `?` matches a single character - - Regex -- Group name, leaves blank for the default group -- Labels, the labels to add -- Simplified, simplify address to filename without extension +This way gives you more control if you want to modify the package based on your purpose. Fork the repo, and checkout to your Packages folder as submodule. -Rule Examples + git submodule add https://github.com/[YOURNAME]/unity-addressable-importer.git Packages/unity-addressable-importer + git add -A + git ci -m "Imported unity-addressable-importer as embbed package" -| Type | Example | -|----------|---------------------| -| Wildcard | Asset/Sprites/Icons | -| Wildcard | Asset/Sprites/Level??/*.asset | -| Regex | ^Assets/Models/.*\\.fbx | +## How to use -Notices for moved or re-imported assets -- The importer will not override existing labels. -- The importer will only override address if it looks like a path (starts with `Assets/`). In another word, if you changed or simplified the address, then reimport or move it, the address remains no change. +See [usage](./Documentation~/AddressableImporter.md) diff --git a/package.json b/package.json new file mode 100644 index 0000000..81abaef --- /dev/null +++ b/package.json @@ -0,0 +1,10 @@ +{ + "name": "com.littlebigfun.addressable-importer", + "displayName": "Unity Addressable Importer", + "version": "0.1.0-preview", + "unity": "2018.3", + "description": "A simple rule based addressable asset importer.", + "dependencies": { + "com.unity.addressables": "1.1.4" + } +} \ No newline at end of file diff --git a/package.json.meta b/package.json.meta new file mode 100644 index 0000000..840876d --- /dev/null +++ b/package.json.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 610ea59e9fa780a48a0cf98536261cb3 +PackageManifestImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: