kwui-cli 0.1.2

Command line tool for kwui - A GUI library with JSX/CSS support
KAr ,/������f��i����l����e����_����f����o��	��r��
��m����a����t��
��.����r����s��������l��i����b����.����r����s��������m�� a����i����n����.����r����s��������p��!��a��"��c��#��k��$��a��%��g��&��e��'��r��(��.��)��r��*��s��+���������7	05_�P�7G5_P"use num_e ::{TryFromPrimitive, Into�};

pub const FILE_MAGIC: [u8; 4] = ['K' as _, 'A�	r�	 @];�IVERSION: u16 G1�kstruct Header {
  @�magic�x,�version`F�flags�	chunk_size @�.dir_count�file�node cVec<N 
>�Nitem�I 
�`��C@� }

#[ �!(Clon!�Copy, ��)] 7repr(!A A%A� F �F!�=Solid!a2�Jj@��jDir h1�
h����A/��@�ch!w��lokid�eq�	hi��FDebug, PartialEq, @�<\AlgorithmTyp��Stor�MLzf��`t��a���a�R:�]�P��lengtA8��
compressed_�!� �
�A���diges#c�20], // sha-1�zfnam#KString��referenc ����offse e����}
#![allow(unused, dead_code)]

mod file_format;�packager 
 7 itertools::I�
 @�+::P 5 m�th_clean�std::@@*th 
pub �E{list, un@X}�$enum `anput {
  SourceF � { src: String },� Dir�@:Mapp@3�A!)st�N H�-}��fna"(out �_Al: &str, i@�_@� [��]) ->�-
io::Result<()>��let m!@K_!�ms = Vec::new()!3!�%dir�$!���  @�@�.into@5r()�u@""ch�'�@��::�� } =���@�!� �B�,::b3(& ����3aH_name = *���.a"@%()�!ok_or_else(||���b�A�Erro"�oth!!@!!("invalid sb�a�@w {}",@�.!P!�"h_lossy())��})?���B�'��AA"�!7�,::from("/") +@��[.as@��FaZb}.push(b"��C!�:@�	�bm()��� ��
}�#p�9`�B�Ž#�����$ectory�����@ifb�Ok((sub��b�# !�))"�scan@("�B�ref"� &"m���#�G	m%`Q��/��1c3@��������������0�+�����u�YgQ��|A��
#<"�	.ends_with��f�@)��(!�5�	�} Gi�W�
>���A^�؂�b�C���#��m�&��<�M!�$��'�[..( 9."�!�- 1)]���
��9��	T �H��������O��̠FhfcXF��e&�*�^��So+gidxG_�9.BSrfind('/'�3@A� �"�&�/B� D$T"���// p+Btln+qadd [{}]+_ D�F `�� ���-�� (�7+�7�%sort_by_key(|x| x@./qerca,S�i�1 ����.dedup coll)��tcrateO9���	�O,��a��).map_err(|e|��eL� �
.�� �.�O� Nn�,�$> anyhow��.u<�p>,N�<�T>�P�ent*�)�walk@�:W %\�� ��.f!Low.�nks(true�"I���mN3"�_!<a8e."!ƀ �SB�full_N�!�`�.@!� W!2����`81�mpon 4B ry�a��I��5�`�b�-�o���	����� ]by::<A�_>>��#���[(�
�J`�"�pA)..��A
"`!=$m�G{}/o2 "��^.joinC�cR�@Cmeta D�j@data()?�u$�@.isK2��@@F���+ $�I@@- � s W �8��@�$``F�����}, D�"�d�:����a�N@ -�� ��!�� ��E��	��@-�"�@.����<�i������
� ���$�@V�HD��!5i�"C�}
#![allow(unused, dead_code)]

mo
d file_format;`
packager;

 2 crate::�::*;`anyhow�clap::{Parser, Subcommand}�itertools::I�
�kwui_cli =self, P }Input�:path  ean�0std +
  fmt::��,`@+ P 2@HthBuf},
�Iwalkdi@�#[derive(��!	#[��(autho �version, about, long_` = NonA?
struct Cli ���Fs� ] � �_: C�s ����2 /enum�'�ZAArch ��@ �!*_A�	: String,
`o@	#[arg(name �	"SRC_FILE|@DIR`@:DST`` ` " �@G@@b_!>_mapp fs: Vec<�s>�!k@*UnB,�	�iA���@/@t �et@`: Opt!y�ZList�!X �!cfn main() ->��::Result<()>�Mlet"�i!(!�B�"�();`�`urren`� #b�env::�().unwrap�7#Rch@U.���k@�::�
�@���)@���} =���@�m"�a��@tcf> �!�::new���#[ p 6�	o���@ese = if`
Ok(_) a,f �metadata(&p)�
A@	vec![p.to_#\"f()���} el$��eSome(idx@ip.rfi#�':'�``�1 �p[.. 6]�k���`22`2@h + 1)..�8`�s1, =�ń8�`9��	�!A�.is_empty"��
_continue�	B�\�
6a	rcA
%]��#E�(&@y[0]�D	println!("`. {}=>{}"!"3 6 rc��_loss ��M@�dsE���leC�>= 2��@�6`u1��@�6_@4 � xd�.split(&['/', '\\'])�0#�'(|&x| !x���7collec'<#�<_>>��@@�#�_ ���`�.jo%"/"�i@!c 4.e&�_with`.�f@ 3�l���3@�P$/rom`g�9����V#���asDl �+ !�o����+�����c�
���M!� �������w�s���
�@B�#�h_�� C��V�	���!�@N%#e L�> *B� *�=��P.push*J�P::SourceF m�k� �:@����.%0o()���}����@��@�M���Y�@!x�2��	�@�!�!eA�*��aD*)��@ ��� ������,A����L�(&�} &�')?�i,]�:����@`Bd��9@������*'���w_or(���
R�W�8E��P ]��
canonicalize(&�#�@A5P7::un(���Z�6�BL��@�P�z�
(��l J���
z�,�!�,s �d)$-: &PG16st ,��EI}ftem>,MOν�_M�F�_1mJI 7�xA�@$ y�#M�entry!��::W0�#��M >��.f*$ow_links(0�e�Fb@i%�QGy O�(|e| e.okAA���@�full_L	".`�.@&� T!*-����5`72�mp1CntA ry`^��G��3�0�(|+:xI�o���	����� [�H�
�&��[(�
��-��.depAN0�"Q!6!�0%-{}/m ,� ��!E�@�ON Ba>.@o[��&�@��@D���k	��@@, � p U �,��V $��@���C� (�q�.��@à3�ddC+ [{}]:@.O��aK!3�e@#B�m�� x� �� ��4C��0��@,�!�@-���>�
h"������ ��� ��D���!+i�%}
use crate::file_format::*;
u anyhow�byteorder::{LittleEndian, ReadB 
sExt, Write�}�;lzf 5
compress as@_�, de����Bsha1 CDiges eS �iz �S �lstd (
  fs::F �,`
io Buf@�, �er�� Reek�From��}�:o Hwindow @UMetadata@�`\path::P  X,
 �
const SOLID_CHUNK_SIZE: u@� = 256 << 20 +#[ �ive(Clone)]
pub �
ruct PackItem ��`	rc: String�~ .dst�}
`Bfn �ck(`�output_A�: & ]�;@_!�ms: Vec<�o>�dir��u ) ->�!::Result<()>��let mut f �A�::cre"h(��)? �!�`,h"Eer -wB@_�_Ac(&`H, false !р�.cA-()"A����[@?un�ced_buff"�`�u8> u �::new();��@6 ll`�!� 2 � �)��.a9�v�=chunk�VC@�jwith_ca!�ity�Jlen ��H#� @` in�!�o r()�l@if ( m.flags & u16"�"�(B<F ::Dir)) != 0�9@"�tinu#B@
@}�	�
9.#�#p�p �gthC�b�, 0��@B�@@7!o�W.@���$���F �� `E ���5@��@��::bail!("��@� error."�s�@�B�A@�B��/ �ne"Z�#(&��name��@%cch�(&�
�[0..�@�]�L@Ok(�w ��) =� ��.�6<�R@q * 4 / 5�2�p$�tln!�g�"C�c [{}]->@"�j�E�!�"�_F�s(�)�&@���F��`�s.push(c��)@�0&��Ai�����A�����Galgo%chm: A�
Typ!aLz&�@��d[: 0�%}�'f.��aC���E��w�,#x'�w�����	Err(#������warn'ib�, {}",e���, e�
��w�
�	#�!�և���Q��E�g�9�5�'Stor�
��
��������(+��D�E�('�_total�E ���!��R%�'7.fold((0F�	, |acc, x|��( .0 + xCQ&�, @1`�X�N)`�@�`!ڨ��C�F����m��`C�"�Bmis�9{}%�B��*�s��}�9���M����@��	A�[���8�$��2�����	�`��`
@"TB��c�J��t�`�K�S�,����+!Y`�up*��
�&�g ����f)�FM@`C'�&�K�+�L���I"���I�+�Acur+�ndex#�B��offse,4�),!Option<*�e K!dimpl�x,d"\j&+I�l Self��@�@`�������k`�����N-E�S�܀ � "�ts �, $w-I�[u8)_,�a��Df@ start$M-���@enF� G���wh!=�5<`&��@�.advanc,��7@#�``�a� >=�a3�k�P@b-ik�K����Y!
e.is_n!2�0NASome(refa(fEs��@d�
� �@9"�n@/f,Wad�!L[am..!��5�` +%Y�����1�* �n =!��j@�
W��_@} e.��M�I�E�
�	`�bz�"��=b�@��-�"��F<��E`R�&&�bx�9�y[�P]B�'$��N���6b=c����"�x!��!�!�1�!�@!��L�*�	����3@���^@*���"�pla#�EE::op'?&`7a|�	H�/-�wrap%���@�݀	}E��Entry����@I@~���%�JLookupTab��node��N 
��v"�$H1���eIbool��@���|cr`�`�fa@`�1 PFY`H�:�@c-S�lokid �QMAX���eq�hi��yenum3�rentNi���zL@|(fJ�E@q�H@f�!�a�S!�E�X,��c�[A0,�n`�G��֊1Av�S��c::@�M�9�"��p c%�>�[*@#�@�#� D_�e�D��@4�	Da��D�1�
Da��D���	�).73j��d,"4AJ��C-��(�,BS)��CS��@��[t/h@+m ��J��!�next��(���B�:: Qm��Ĵ`���E�#=�z�returnb��]�@B*�K�Zg߀ ����t- 1]������`��Ղ^jJ�j)���� ? ��d�c!��@HbI� 4ms!w*�::�Ƞg��4'qck�4���	0abuild����`s+�@`JNr�e��€.�`>�����dal@fU��@`8�  ����'`��'���#H$���T"��"�}f/�}���@//��"���[=N���B }az`r[��"�hf[�r���&$�� !���a���m@C�D!��?C0U�k@�}`,����o����*��_eE����.�widx`0 � ����9* A6����N���}��@�
A�key!y�G��
utf16_lossy2`��t@8valu&���f?�V@c��( s,�?������u���g�S�8a7����,�F Kp���%<�_�٠vo)�@��8��ҠBP.�����
�@`��%�a^��@�~��@@(�@@����B�
��*����X@���F:nser�`!�$�#"$�'�Gq ��B|e�B|.e7�de��4Kco<c?5<Eh_>>A�@r@�E���M#q P0hh�2�IN�dS=��I��Ewpy@C��b�����@@psE/ '� �]�E@@@< fd�I[ Z�(B� F<`-E��	��	��b L#@m�  t@{�=�&�f�z���z�� d�z�_�z�䃍�i�d�i@A����������aI`d�	_���
��F�A�&�&�)1���b,a�c�@q�t�rB.��cZ�2,@@ .�@W@&@P"L���@@A�= * ��s!'@�(`:a =v�:�@����@9 �@�@� F��!�)�V�$���)sry_an�P��APm�ck")�ck*���/��g)�d�װResult<(D�o�>,j'�G��)�e�|@�i���5 � B���-g~��`U�*a.//7�ocess��``<�]@<�eq!:�>lI��diges*�	empty_sha1�4�e*�c ?�%�F?�F��@zFla(�Dir�"��K�`�@ے�Z@C7j,�s ��0�Z��a���@q�d�d�s@q�� i�k��@�������]��so5f@�solid��65�e.@?�_)b(` _` "�`, ]dedup`��5 GT����c":�!�}�@�fD��4�	d�_p#2:$�an`e{L6~!d �A@@�(��,!�BX+@�5(&�1��@2�q%�6�/a%(&@$ڀN�J &�T�r$�@Boj@1@G@s��@s[@@(]4m���
)�o��@�@� !�{"$.�3!@e�kc��	4@��@!k:�r�
�@b�f. �#@��L:�dx���@�/��@B�zC��@`�@� ������|@��: 1�	�k�4����	1�D:�BLjB�(��@�t��e2(����B������#@����@0��]�ڀ4"�s�����:�(�&���$�i2�%3'��aL1<;; 20�C�G�hash=�.�&����ˀ�b""�#�aliz;�3dto9��w �Sb�,�[B�6�1,�t���@��`��J`#��E<P��)EF`[�A,�umSU ��$�#j�Mcontinu����@@5&�GuZ1*���Zu`�D@*�
���˅"%�L@�d�M�0��(fpaAM�a�u64,����f!���`H��A�b � &f.meta?�a?�!�''A���@-B\�b?�R<�er�f���'�% W�?loop�@0 �aT�@@=O& �x@�l_  ��A@�p��`6����A�"��}�F!���'�������@��"<s"n�x�y�%@Ǣ=��#�&��C�a{ ��
����(p"�Cb(i32,�a��@�& �pfto2�wercas��$�o&�32 -��B� P"�"�	9���@b`�namL�@/�n �"Y@��.m<4|s|0v �0�ing �SU)�4��F�i_or_defa,�Aa�Ȋ#g � �.r!pd("."�@@(s")i$#^rc[@2 + 1)."��@ S�&= "exe" | ��9 dll�ocx�sys"�UAb {-�@(@1�`g�(��E !xa�#�?"zzz"�>Dwpub(4 unJi(inputfD̸&Xarget]-:�b|����D9��&�\��A�hdS!CV_�
�if@&`�@'@Q$I=�_t}�=�����S�&�� ,�Y���^!untln7�L�couwār�
*X�A�#�a�`( QA��POq�8f7�
chunk�"�o�h@;���jFy�`G� �`��1workk�A� I-�$���9�8|(_67Cg| W� p@���9���N$���-rh�%$�`Q��last`�:�(4�,��O�GD���5bw!�$�&JWr@� q�5I�aa9f���g�M��%h��jh� �_D�!(,K�h��Ț��=?rac?{}]...!%�N�U@@�  |��.joi#P `|[1$��2$�*��D���st9�fs::c#steC�_all@�Cr@u@�^@ [@�h�(��I�`	 �)E~`@�.as_,S���@Haڀ�@.`�D��4����M+7aQ->AW�V�`~ ��)Ƃ����.������{opy�@ Sa��{�(h����m��
A�E3����b6�j@,a���!@[r����].�)2���@O#���J�)�
J$ ��" tEG seEQ#2 ` �rbw.wC����g�� @ ;M���@b$@�0�plac"��
���u��,�@9I�(� 
�clist�
a��L#�(��p0 &Z�$or*4L���SS�$-�(a�!�j� archive �q���.�(a�`���H�B���t���G�gi,�!cFE�!�9���#_H��
���#{}:�iK�c~g��#j@��x,Wu'^�<'=>R5QG,�8_ad�^'
N� &'re:R��%в`f`0�8V<CI�8�@~^,���.u �k�	.��Hu8�E
fetched: bool,DEimpl���	���+�Xx�	ـ�h������d�S:����@�^���a`_�
s�A-�A2�^`�6��:::with_ca,�ity(����Yfals���3�!6f:<W�*jH>��jL[b��`4BAGyW��Y�hb&aZ��s.���@GH@Krema#3�	��>�>�	�!�.`��?@Z@Q`�cmp::m*T�I.d@8a|!`G�)�-����x�%� Q�	p@�Err(`qC| orK!�::Inv1dD2��F�[����h��j�����[����..(�$Bn)]�
�	%?؅9��" -���$~���"Pa�_b���@j�t: dA!b�	�X@@4��(�s�`TA�)p, 0�9A�B?comp ,se]�$�::Dj�3.�+R� R�O��{��3��`��%`��4���J�3 algoI�@�& <- *��@)�hmjFN ����
�q�� �c�@"��3�K"�A v`XTyp0fStor ~�4@`��z cpy_H�_sli*/&�t m@/@���sLz�@�q =�U�lzf3&�x����)S�_e#�|e|������N�w��,��Ot8_���(0maI���  �or������h�}�P�j����::o@�("i�����ionb�b"����@$!Sa�����A���"!@*��#����0r��@ ?C�o�b�O�`5`
s2�r,����`%�{�?�5�[@��@�	��`Gc�� >��G��X�
�`!&e5��2@�W&r�Z@�!@eclea*`�"!�%�i��I��@�@��@`W�?`�U��`t] �on7�V�N�K*�"JEG�(*6hkMXbS��Hj��
BF
magiX[0[q4������`!��!)`M�	FILE_MAGIC��tbail-��9U�9��c@�vercKZ�`�%�&�LittleEndian,��� ��/./`�VERSION���=f0��������@�a�j��332�
�f�F���@<�D�*;AV�Z�"<�xVU�(=B�@�B<@@A&hE�s@�[�\%� _M�0.v΀��@TcZ\�@@/lok%��$2eq�(2hi�$2@�	s.push(Nod�mch��`��`��`��}�T$�
/8�e���A�@@��<_��@"��������5�erenc���@A��"�@@2�Z���_��@@8��&8@��A-��@��:�X20]��@f]�Y�B���6�8lag�3���&����
1��z�����B2`A�3l��4`$�f�
5��@A��z�.try'@to�$@@Ba+�>�	��E��7�F�@@s�i,W�.E`��XaR�@���@`���:�Q`�����*��@��/�@@l`(��T��h�5�`���`��i��5^�b��ef�c��`X�}wz���P\��total`�����F�`h��C���`�.�� 364��`1��`�d1�
%�)�p���_@)����~w@�=A�aM`���Pack��A�St?g ��TAM�X`��R#K)�`� { SOLID_CHUNK_SIZE��2�}��f��(&i�jd�C`-��/C�`�bz!�16��K0���s���y�a�w���
=� J_�2��P� �;"�7`�a��8b
A(en!�#K��, num�u`6N+build_@'y_and`�Y7~i�3��@XF"tbl!m	LookupTabl17V��	0�n @Z �HD-���@ ?!�sert(&e.}e@%8=na�3���#l�t �$�2.2 @Mc���8@�`���N �f.seek(S F:�::C.� �(01&unwrap�Ȃ����t@�"�(IB@|A�)!y��`�
9@>'H�Q@�.jv�$1j��$1j��1$�@��� �m!z��@
�	�`�M�`Z��
�@A�@�&�@2.Ǫ���@��`5d��1�
C`1��c���i�7!w5��7��C��G�#@g�.fold(0, |acc, x|  7=x�P�P�Cd�I���b@(�"`f �iK K�- 1) /�`G�����#�@�D�����i^> ��
����-�׀!�@��n@�)�a@`[��@��:�L�<@b
�遹����
!}�Y����`��!`��.A8��M��[BA��`C�`‰�X���
`3��"g�
(�;a��[�n���k�
��8���C��I��-�c��I��I��B�:�`��@@�$`���d%�$F��.�`)����T�
��5��+
up  ��	 ht�5#��� [c�]���t�Sta(��Y'�u!���������2�//��D_��`���"��@����@Lx�b��;�5"�$Э:ne/��l(��&. a�bool�D�`&"`.to_lowercas7��Yis_i.��(ends_U(".png"�@||�K�"gif�"jp�Ejpe #��!��
}