From 4257ab352812c5743ad70a8ace2c122a58caabf2 Mon Sep 17 00:00:00 2001 From: BabeL Date: Fri, 23 Aug 2024 16:59:20 +0800 Subject: [PATCH] renewal the readme --- LICENSE | 339 ++++++++++++++++++++++++++++++++++++++++++++++++++ docs/str.xlsx | Bin 16166 -> 0 bytes readme.md | 71 +++++++++-- 3 files changed, 399 insertions(+), 11 deletions(-) create mode 100644 LICENSE delete mode 100644 docs/str.xlsx diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..ecbc059 --- /dev/null +++ b/LICENSE @@ -0,0 +1,339 @@ + GNU GENERAL PUBLIC LICENSE + Version 2, June 1991 + + Copyright (C) 1989, 1991 Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +License is intended to guarantee your freedom to share and change free +software--to make sure the software is free for all its users. This +General Public License applies to most of the Free Software +Foundation's software and to any other program whose authors commit to +using it. (Some other Free Software Foundation software is covered by +the GNU Lesser General Public License instead.) You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +this service if you wish), that you receive source code or can get it +if you want it, that you can change the software or use pieces of it +in new free programs; and that you know you can do these things. + + To protect your rights, we need to make restrictions that forbid +anyone to deny you these rights or to ask you to surrender the rights. +These restrictions translate to certain responsibilities for you if you +distribute copies of the software, or if you modify it. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must give the recipients all the rights that +you have. You must make sure that they, too, receive or can get the +source code. And you must show them these terms so they know their +rights. + + We protect your rights with two steps: (1) copyright the software, and +(2) offer you this license which gives you legal permission to copy, +distribute and/or modify the software. + + Also, for each author's protection and ours, we want to make certain +that everyone understands that there is no warranty for this free +software. If the software is modified by someone else and passed on, we +want its recipients to know that what they have is not the original, so +that any problems introduced by others will not reflect on the original +authors' reputations. + + Finally, any free program is threatened constantly by software +patents. We wish to avoid the danger that redistributors of a free +program will individually obtain patent licenses, in effect making the +program proprietary. To prevent this, we have made it clear that any +patent must be licensed for everyone's free use or not licensed at all. + + The precise terms and conditions for copying, distribution and +modification follow. + + GNU GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License applies to any program or other work which contains +a notice placed by the copyright holder saying it may be distributed +under the terms of this General Public License. The "Program", below, +refers to any such program or work, and a "work based on the Program" +means either the Program or any derivative work under copyright law: +that is to say, a work containing the Program or a portion of it, +either verbatim or with modifications and/or translated into another +language. (Hereinafter, translation is included without limitation in +the term "modification".) Each licensee is addressed as "you". + +Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running the Program is not restricted, and the output from the Program +is covered only if its contents constitute a work based on the +Program (independent of having been made by running the Program). +Whether that is true depends on what the Program does. + + 1. You may copy and distribute verbatim copies of the Program's +source code as you receive it, in any medium, provided that you +conspicuously and appropriately publish on each copy an appropriate +copyright notice and disclaimer of warranty; keep intact all the +notices that refer to this License and to the absence of any warranty; +and give any other recipients of the Program a copy of this License +along with the Program. + +You may charge a fee for the physical act of transferring a copy, and +you may at your option offer warranty protection in exchange for a fee. + + 2. You may modify your copy or copies of the Program or any portion +of it, thus forming a work based on the Program, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) You must cause the modified files to carry prominent notices + stating that you changed the files and the date of any change. + + b) You must cause any work that you distribute or publish, that in + whole or in part contains or is derived from the Program or any + part thereof, to be licensed as a whole at no charge to all third + parties under the terms of this License. + + c) If the modified program normally reads commands interactively + when run, you must cause it, when started running for such + interactive use in the most ordinary way, to print or display an + announcement including an appropriate copyright notice and a + notice that there is no warranty (or else, saying that you provide + a warranty) and that users may redistribute the program under + these conditions, and telling the user how to view a copy of this + License. (Exception: if the Program itself is interactive but + does not normally print such an announcement, your work based on + the Program is not required to print an announcement.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Program, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Program, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Program. + +In addition, mere aggregation of another work not based on the Program +with the Program (or with a work based on the Program) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may copy and distribute the Program (or a work based on it, +under Section 2) in object code or executable form under the terms of +Sections 1 and 2 above provided that you also do one of the following: + + a) Accompany it with the complete corresponding machine-readable + source code, which must be distributed under the terms of Sections + 1 and 2 above on a medium customarily used for software interchange; or, + + b) Accompany it with a written offer, valid for at least three + years, to give any third party, for a charge no more than your + cost of physically performing source distribution, a complete + machine-readable copy of the corresponding source code, to be + distributed under the terms of Sections 1 and 2 above on a medium + customarily used for software interchange; or, + + c) Accompany it with the information you received as to the offer + to distribute corresponding source code. (This alternative is + allowed only for noncommercial distribution and only if you + received the program in object code or executable form with such + an offer, in accord with Subsection b above.) + +The source code for a work means the preferred form of the work for +making modifications to it. For an executable work, complete source +code means all the source code for all modules it contains, plus any +associated interface definition files, plus the scripts used to +control compilation and installation of the executable. However, as a +special exception, the source code distributed need not include +anything that is normally distributed (in either source or binary +form) with the major components (compiler, kernel, and so on) of the +operating system on which the executable runs, unless that component +itself accompanies the executable. + +If distribution of executable or object code is made by offering +access to copy from a designated place, then offering equivalent +access to copy the source code from the same place counts as +distribution of the source code, even though third parties are not +compelled to copy the source along with the object code. + + 4. You may not copy, modify, sublicense, or distribute the Program +except as expressly provided under this License. Any attempt +otherwise to copy, modify, sublicense or distribute the Program is +void, and will automatically terminate your rights under this License. +However, parties who have received copies, or rights, from you under +this License will not have their licenses terminated so long as such +parties remain in full compliance. + + 5. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Program or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Program (or any work based on the +Program), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Program or works based on it. + + 6. Each time you redistribute the Program (or any work based on the +Program), the recipient automatically receives a license from the +original licensor to copy, distribute or modify the Program subject to +these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties to +this License. + + 7. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Program at all. For example, if a patent +license would not permit royalty-free redistribution of the Program by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Program. + +If any portion of this section is held invalid or unenforceable under +any particular circumstance, the balance of the section is intended to +apply and the section as a whole is intended to apply in other +circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system, which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 8. If the distribution and/or use of the Program is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Program under this License +may add an explicit geographical distribution limitation excluding +those countries, so that distribution is permitted only in or among +countries not thus excluded. In such case, this License incorporates +the limitation as if written in the body of this License. + + 9. The Free Software Foundation may publish revised and/or new versions +of the General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + +Each version is given a distinguishing version number. If the Program +specifies a version number of this License which applies to it and "any +later version", you have the option of following the terms and conditions +either of that version or of any later version published by the Free +Software Foundation. If the Program does not specify a version number of +this License, you may choose any version ever published by the Free Software +Foundation. + + 10. If you wish to incorporate parts of the Program into other free +programs whose distribution conditions are different, write to the author +to ask for permission. For software which is copyrighted by the Free +Software Foundation, write to the Free Software Foundation; we sometimes +make exceptions for this. Our decision will be guided by the two goals +of preserving the free status of all derivatives of our free software and +of promoting the sharing and reuse of software generally. + + NO WARRANTY + + 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY +FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN +OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES +PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED +OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS +TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE +PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, +REPAIR OR CORRECTION. + + 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR +REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, +INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING +OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED +TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY +YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER +PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE +POSSIBILITY OF SUCH DAMAGES. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License along + with this program; if not, write to the Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +Also add information on how to contact you by electronic and paper mail. + +If the program is interactive, make it output a short notice like this +when it starts in an interactive mode: + + Gnomovision version 69, Copyright (C) year name of author + Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, the commands you use may +be called something other than `show w' and `show c'; they could even be +mouse-clicks or menu items--whatever suits your program. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the program, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the program + `Gnomovision' (which makes passes at compilers) written by James Hacker. + + , 1 April 1989 + Ty Coon, President of Vice + +This General Public License does not permit incorporating your program into +proprietary programs. If your program is a subroutine library, you may +consider it more useful to permit linking proprietary applications with the +library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. \ No newline at end of file diff --git a/docs/str.xlsx b/docs/str.xlsx deleted file mode 100644 index 23060965be17093a7bc6a50ed9fd24ff65d57b64..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16166 zcmeIZgSzn$|M89KNao3Q&|t-xQH9$Fso167v6*xiqMbx<1f?P^w+b zJG9)rA+NrM$}>_ji}Gt4ea^~~)=U5D7o!wJB$?L=mYaToBB`bdt&wtz(_@NEhcitx z`@Eqs*cwY{TszY0#5z=K2RD%%2VQMS#C56mK%6ywr?;;6=T4fK$ZN$%AQz^E0i#Zq zZ~$rG%uf(S>&SYn3O2h*pS};6d9tJDJtV77l$+=Tee3upz^vFf6L}mmTZWB-!7OnF zUT(TT-=d-6W}YsE6Jr8zyTWPcZ3v0`H;h}<1K?GcD9UgbDTPni$;QwDzt{29j!w|& zMe>0k+ba|Z$lDt@h~mGAWrG?E`Sm-m$-YY+{JU5hIGNfwGc*0Z|4$tM56j@cOual_ zPNA0tA@mIJ95!?}zZ!=kD&sB!XeCwk^_N;fZivpKz+dg8CO}ce3j+V>*Y5i~vb-t~ zeKn zUfJWBRLmh~BlE>d?;#t~n+H5K6$@U=YNISCJ~B@O6PvCp@$^pg7jH)Sj3H$*4zzo= z$&Z7SIX8aV^&A(YnVx;zu)SqN=fi=K#Kmjx7V1BRq)T=R6%!l;qzD=W1o@pZ9yZMG z_D4it zvx@@#0L05*Z+?W=|SyOc0TrvZPpYZZ%4BQ?t(>McX@18WzvbgUB`82BG3DyL2Ka7f@IYWd-zDfDmgZmO=$}>x^nDZfE{FfO zuX1HMnLZYjcKFvY7WZ^FOw>geX0l_oBV?H2dfH_wQg+|#b$mLYp5_l3W^nsZ&$IDC zw>wUxEpYUkZu;T~G>FgWHfQ{h_TyLM;4nrf6-0p_A<@x}50A=D;E~dt(OZP#hZwRj zcy{k;C~?E`3dzK;TV_HztR`4o*{qzW2uI$v?r8nC|6{PqaYbN#Qxi!Vt=Z07i`eol zRCb^z@$?lgtdszvC&={v94Y;Mx5O>XW!tlvoacmfcitny4ndg=Q7NaOcc=?V*w9B} zKiYWbo!rz`wX;nZ(WepG&gDyn(d#p_?cu@s_4k$jPnO}{5N6nh2LU-%0s+B!Z}F$n zb+#}yb#Z3?qhS55eKQh9W0qJjLhq6uk&^GW;Yh`Um2@}`0eY(KmC??k3|l-6;~=Gv zr-E)Uvi+g*iT6A)FE4w^JH1Mc+qm_prSz5r;)%k8YLq}*sZKwyjO|36QD8(vX;6Gt z*Hqa2GWTfE4F4>MW?=9{Vtq{`bI;T{6a{<0;rCwVhM9OR@A>7aYdp;zlQ1PeXye<``DVVbw zGiPjOjaCLdMtFFw+R(jclm@ESX{5Rv*h(8g<9oaJmd~*_$xNO_fzfYFvI2;l0`MAL z^mLw?G8e}^(v{WMN!7<-&IdF7`l^&Kgqc;aOFt2(U2!^JzL%L&R`)Q`<$h;6Xl>RU z9L@+WD>%y`21DBI&(LgqfMaxkFGf=_QhS57dIDX-QYdQP(ss+6n;`V*kwY!T@#`yL zvFm3?SYB5s`gz;gR-K+_;i2TiODyPdZTqT~0B6-`e}e6L4`Z~f>0(MW#^Sy3LBdr# zX!BUNh|<~IJw%ZA{O#}xqp3_Tz~s~wKu7-b1*(iOx)Q<@OES8{rSor z_k-`}yQ2@pLY>}^&pStx3cU&^2QODe^pB%S4R62h?^1plbhcONc=|q_yj(3Sys=_W zA_&$bBrUNM`;N5F1|t+KV?}2v9y{W{@8{_VfQr$5>KIh*cchXj=MX9 zb+o+`-}s4&RD~2xzs%3|#h81`gLyru2=Q)ee{Cqy<2>nvSYR|rum&Lh*=R?BlbWEl zw%s_LXZK5P%hp%maOBImaiLd@OwSuVeM{~zSUANc(vTn#|N4($dkuB(*1_ueQh1Wf zEjQuQn%Rd&O7GU%t@OTS$T+XA)F*zDyYmBYda)kfpaOrum|pla8er^Y_U^R+0}8Hl zu1W?}vg1{L?B(k2)f6IMSa0F8Sd=<}QDB-1+oNH%bUhshKwL3gMiLC+G<#LoeZw_Z z!ZAT9U`xis*%4ee$D2}RA2E5oV(X)d~C+G=diYeE+P|WCKDK(crA-b#G%(M}=+O zC0^rJX^otHfYx^>2CLnyq)Q@V1BRX z*Dln@f3H6wk@Whr9@xE={bzL!FQdvGVseKi3|f_G1hD(ES8dE+%hlQco0r3lmuza! zx_7sJ0gYa`Bfgv=^%D3f#w(QE8H%ZFp%J%1w1%31QLa@=$-uaKSy`D|7sOW~GrEdy zAK^;8xGtLj>6lbHD~C6mrXpF{^Y%g65Dv|(3e5O#7M&a_FOuuihZAcd-$;H8$eOZi z`Zf*VvDnW2h(VA5O)ZJbv$y2Nj?1DgLfl#A!o#5}dU>vtj7i0_ba;asErD9SB|)8` z`=W^PDV2@4XYFXiZ3osVJ2fXKgqR(2!O$mish2!oPC%q+_4-xJ{O}TnzeZx&Be*{H zBh5Z_q3i>f=9SoP`?2iEa&%t2r zX>4hqs)5CUA#u0YFpzRDiC?jT<|W+8_S|KpUBjFpAh*~|`}z%CmF7co3K4lkMWBUD z=lTsDFX|P1Rj`9q^-$pEOh<|%yAN|q;YCZCU?30Kem8grfFxDJ4$SpArp;r5ij1@) z$A5nh26IhiKQwYUGr|vqNn=kltbTP%VhmPoM1eE0p0EgfM>B#YN~Z$@S<7k8(QWAH zsJti&Fopjv+_)P>g;UN{YD1b|8=^>}<1C4eppLE92x7HFdJK`YFJ{j1DfEaeAyNXl z;ZTS}E5feLC85#KpTuRvQu8K#&bkrhcuz@|f^hos> z1u~L)SX06M1@Og@`WK7S%85+4u3Ex+SSd_7OhBil;h6)M0)><)AcI4JgX;meN;+0ay%VZdt^bAkf zEQ-LBmr#zc?Elf1-5TiJb)3sbnXi$!u8W3R$}3@103Gdm49v_ZppCDVGN%?ZOp7Lj zOp(uwZ!KLO6Fy8>%$Od^45MOjV3d$uQU+By(P~=9G+Hze(rZjp&z7zr6GEl?`-Ec^ z@Wr)RDpB3BFtFl*%_M(Ua&&L**H*9G6l#-S zk19?&ZVPSD2bC&cc{tjW$)D;DSSq1W+bjF8wvDsnl(>Fl014b@vb@8z=X*tQOZ$G+ zDcvMea%^txUsB8T`760GB^$}2xNPx`dHr&F$b|Oj*IkTK-{APZv6-0sk}OMK>SZaA zLr@WkR0J-rgpG)ZHRP>nG%wB(=b=T-9cXG&xu}c;)HT@MBhgYj03^W7#p>SPDk28$ z(K$ZN96^RaIl7JOhTdH$~v_3Ydz2(uloKl&9# zMqmk)zjiGapB;VRvk(v>b7<Xm}@hb{58OSj)0r)Jwt~&va+dv?g)ZDHrY6$?-cH;iV z?r}Wl5UM9eXVw>A1XuuTaU$#cFF{^Na!YCmIri)(I^Nkc70Q!BheN2Xr z?j>#}8L#1M?P@eY{&k1ljD$ug!fL@&skwa*9aFZ%z-&g7nNI{X!KJ$f}ljtDh1WOg@l$Lh&fy%9FS`{EfcWznPv$J;IBVZjtzg_q z0R1-V$jvZ zigI9;24P(Jfa89)}gRuyIDU|9l-nZCtO)zihLs7_@3vN>X7 z+MwrO?v=6y6hVzN={%<4=yuV|ZS?iJ@%yO?laCosj#3qBs(zwGt0O9)BAdyUwQFCE z+(vbPvNVJrxwU56xk^rgIN$^pswcCJYumRkWz8@I94|;LWlFazJ6}*fTEnw(FQ2%z zYYiEF!Hav**6FI!z-y>bgSHpOGBD^`SklRq@9oBq>*vNgZ>JxZ9Ph_h?6Kg|7Pbz% z{S0}7YcjMLgWZ92ej^Q;dy$- ziR*NOfyv(c;l$j}_l5QG*8w*(vESz4DBJ4-vCzZL-sFq$P)>_DbBFikave2u$K&CFSJ z^f?~){tJV5gj&dGtm<>U50deGU3wE*>F`ycb{6`S@OOh+$L34}rYk}NVM1$!8N8Jz zG0w$lvpFs{>r&z5yF|UIJ*>mwqK|~cs9V#gLtU;;$MoQ%ipsMS&%ZutVH94EpS3qE*3fS{tCcz=3&|xX9#8*v#paYA%Lgm(Ts6ia zGx8I88%7i(Pq5PaT<_E@+!yM@hD}N9netZi)3vBW*gy>63S`=TAh&o){zcC67HBj^ zqx#Fe-{Ui%ZTIxH%$H1bN)Oyq15J;n3!Y_il%q)K$yVS~k9=(2?N9y}HSHdT~NrXlsK)IWzNy@@V-DXr&Duyw; zpFD1bC78Ksqub8OH?;~?nep9Hbz%|J76@OH{QKULp zGm06vCg-a;#mTe zI{ovRZ5s!n-Jbr8rxzKamb$!r^7lOTsq(5H;22wNm91r(_gF0d*nhIo&tO135P;dmo=%lIL6AzAT-TF9mwCT2**Av!TkjIfz$r@ zL5lOrMcWlqX+7)!5LI(?v+Q3{!Vy-Ie$Yg9j1&K8(KTR19Q5Q`94LgEHA+jhem!71`x##4eG)la6YK8Ia_J z^ERnEy$7p{T`sW%PP(!U7v<8?2*#w^^Bryn7SRigsYUk0-y+~h(*sci@@{yylO*i1 zbDUSEH=k41$0~aOpvV)eN(QqSRBMuZhG8_nbzDoKB{C$gDy5sMQvq2o2<~W=vl78_>^Jr+X~O%Q+Byl2zcO zhpyuNIq5mK6w#1#Vf8Zh(H1F12=Eqg6&n$^NKAblu(bE2sDt|a!*H1%Ldj>CiwJ-X z&>@1J;#riymrYBw)r>g3?OCR2{>sF+ifb@5!+qc~X?d*Wyj$z+baAt~_YkG0`Lo8g zW%lM9Ui_^|#Nn+4-w@8=H-mC)%d&u!#m$bC`P4_Oj7} zjc;;GR&+1ntbut^hk4N<1X)$YXCbN{gCJJ;V~(fw-J&7#Wuao_H$l!k<4NVFC6gqT z)T8mc+hWc1_B)&2Q4n9xuxY~uKC}(AtKCI$++nojN(v^sUoX$NtHvtPoJV3ZIXR%{ z-8!RH0PU=wp(LTr1k6m;Pa}Bi6p=LN71arWi_cdRu*a{<`)zMmDX~*67yH&Wc)btF zeGl0^mlI=)@>YloRMGGecglul5r*gc(8AQzQF`AR zFWTA$N*M{K&!dh8B?5CmQ!jBth4YEsE`YFoox_$;uf*<74r(>OW<$@yM{G1|i?qsy zcX*aHUw=K5=6Q90X;B54+$jgeVv!3@mlGI)1V2_HrdT?5SMm}pE{sMT8n>)L78W{3OeYnj?fqf>5pH|@ zQYc`G$JgjkND~Jle_p}L!ui}4PXhh=JxElAJ{)3J2jCHewsxOQ z@q+!|4v(dGbiH}r_l9*cARrij%A&<5CsPv@7biz^Z+y3WJ!B0GkvUlMP(T|7s)V?gk`R#!!nwS_55OZsp-)FCLR{k2*@q~!8VEG0aBsi6S;M04>|py!nexz|9h@);u_} zNMN{cL#ZBaSw;uU-9vYq8E8FTSR(#b~ z+A1qMtDcXRXX?&ImX}9XvgKhYjW;EmYgwsS3@M9Y=js zzQfyA$MX)t0CQnahMqWS-u$qEcjvL_Exo;TMTf?=T_wA!BvxpjJ~BHyNxy=Y87rw} za^z4_46obp>TZ_R%#dnm=erw3gqTP1HpWA%<`DdIB4PEkFat|ZXkI{oqDgpkEZdmB zr>qQHN7-e?iKZyX#_PLJ^k^Swr>f5VTc`TKFx|@N`lzcRix-f!+>C` zKtg0ANRgZf!^yx*uN|+dJ7W<+4{m~?1>!{l@WXSn}^`GQYU&>bulv4EhM%z!nNxEgt#B4j5$n(b!AkuyngP=f#kTHpG zrGZn1z6h4s%nf_=Q_zjfy|hG@iiBM0J#b^=%^JS!b534!ZH2$dj*=h@ZW)8WwyFYW zAuW7xGwR-CJ5|tk>M%(RA-423+Jsse>oiXpF{o4{I(_!Kg*+vAF6{t*Uuljps3~af zC?A_3r|a4qNlAZXyBU6Z)N3&15cu|{xw0m*t%zLI_E=EguC3b%&ZABcfzM1oiRFl{ zOtC(Z;=4{aNe1JYyW%r9bvB3|FeFT3*797o!X=|kT{ay}jLYUH18LO4%W22k%RAaP zK`u}ORtCG=reS{Un}&-J1r_)`I2v)gSyi&JPnrWy@1@4cc$(2rrvllD&!u!1)iH21 z-Y_{KzcDIq1Zzg%0`?$piTWg;-~QPn7y>bQiVf zf}d-BGhyF9-df<^bdEY#*z7Cw_7IM0Zk;H?IUh!Rye~753VN$c!#akP@i7?%t`42V!F$#~(4#t4D*aaCp&4D9_uC!00l+RP`E`nCaB5rkl zsfv`$a8WBuj>ryDHE5M|_NHpLrnu+Fuzp|6)TU5;}{p+;F7#d|Lm6MS^l%uhyV<1Hc z!V4}H#Z_`#&9y0Ls)FZUOYJ>6=G>k8G0z7aXV)3SEOh0ze#s9)E{+h<0~ON~9Q)z~ zJnVwA#|myH7Ur5{F=9b0#zM1%CLd)PNp;CRVidifj7>Y6KJfNY;m9C~jzUmV@Sr3j zD?-QJKbx*OYqRsNL=s3{VZ&i7ndA%`@Ta1|i{oL#FV>%Prve0Kv|EC%vE#&tO)^Hi zFR#m-53P;DB%@%%z+S$ycvCFfQWkt5fXPY~nb7vUkk0gpJSx6)(N_R}yLwo>R^$+1 zFZC&r!b2VDSySW57bQN6g(qvoUr0Jk2>K)Iw9e^;f8C zIwWGj3TMagKIn#-D9u-1en0U#ySR7-(^>6qUS`iDibNUN4tmLo~0YwE0r^Q>0X^FZaeJrX}70CD3M#wsK8q;2%Dh z);4IR`V`odV>T)JcNVNY;1&d29wNJ05g}3FEc^`lTD2|3BjyEdrzA=ZenWB-TQ&v9 z57Cw3FeC_9&zN9|2YYidiTD*KS^|B#??I`~mS@D0gL#BZPD-!t(`JDf6?Rk%0-3Q% zyI`Z^#_585fb7HW2YMPL#1rzO1hs`Rw#^58sMxw;3 zg#+ovz*?{AsHyYy8*&p9JYvgZTIlo96XwX~y#8{J) z{z-v1=)?GZ`ll!AWZAr zkZI^=CUWr5e=a}-ynnCZ`w?urTwVcfI$P{WF=ci_v^PJSuOt$ckLh~a*ceVjqzxT@ z^OzZrZfz~%`6}({Zhv=MW49V&Z9JkTskKB!)r_PsJlGUadkVcE;_ljv2+>Nc3(brF z++aD?Vj8?)cE%L;l((KUXhzF=D1pq~(<_(rdR^XpgZ_y3%JiApB9Gv3N&R5l&HP|f zxyna22fdJZQZhF$pt%5XBTdw=>ZRqT`I8mYLujudB)VB3jViR3!C7jZdX?_;W!v>e z!lMQFDoAOw3*W$k*MW_rv)0S?i3`s(u{;~Q?P1T+JnIW$A% zx_3B~ijGc?VeFCdzQiP3P!P$GNa>@XJbv(inq6N2z;?b>qpay!e&?X}wXXIVCURb< z?r^4JB=T$;Rr!=bY{^9)YWM=#f_NqXb7vrz&2PCey|^fCO@5h&9VHjk$b=*jMuHsS zeh$X{rAGzpOpJ(U{R_-28;t%(5iMVxmd4zbHYC2e0=a5}H)WnCA=+%>LypB;lM^S@ ziUiI;4qmM2n4gT{;#%mANNCg36;|qEa?$LYA}NZKrrVBaL)+8$=rg#u=pjSFfiC9^ z%nIj$vK)djl0AE{Cu3hV>=GuW zts$;$C+aSoZ7hHypzj3W3T?{-_HtmsfP!meHngbt!B-k(H+>rC*M1M3^VP`NdJunq z#lpTLO_N4F(qSDPYJW8L$N&-))~H_x^ZJ9H-pibpu0bw%R675_Fz`jqeXW6P4a$<{ z-hNNRM)X!w0vD?URw_HZoJ{^Bv|Uy4db=vtTc2uxW4Kb;>=eDNPg5)mGKs*U$bn&z zBa<`>UW|EQ4PD-Hm+w#v2R&)zSw*}$X28S{U$V>LipH+53f4mOJYV+miZkvSn(xey zi)C6tFQzYC%?Vd5aV)aJ7>dv?jX_tkJOqN=;6J{i>Q5Let7m-MsM9hkW_LEF^8+2o zFR2Nt>Hcg@$7c&tzAy}DreMHCqhMF!jGUAn`@PL}C$nIrVOe$ZxZY%;Cnx~M+F?W2 zkOt4v@RTpwge4)x#K%|UXy@bpw$qP$5Izk;69<0?b7cBnIZ1QI?XJ>Mc^w{5mKb!$fKNkTNssjuY0Hm;Bk6 z%MmFDm44&2fw*@l;+qyW&klYL!QY zLBr0n1}jnS@tB(LPtozNk74OI)3CO7qOmkKAqjmx)05SL<=Honn)bvd7@J04H_Q|jc2uG}CB7Ck^{&8Lgbg)r%=rYcLk&x_)TH$>K70`;}s?})5n zUB~=ya&>=t>0-?M`Nw|6y6R(wo=UZ+I-yyWQapZMrU>D zbv;-jSf)(2<(+8-Bv%fZKz`ox@{Mcx;2F7Le*Tt+f9mV2)?11d&K0Km!Z?p0f1?p^ zJ0r~7fKBaVHbJWCV3y7pYOAe|!lc^d^Fuu4#Yf zYz$2h6AK{C&mEU;jnHA2oxgCL;OB_CZZ^YV{;av1Zc@H3TP+3=B3!>gAWTRj9T6O8 zE?eBf2B#c7JwZN!PCa;FTegJWQS+AWS&r2@7q0K3ar&udaV%rWt;}8X&5;5*1vS|pg%;3?E5-+4sG*AZNPn}mVYUy`jv z21jU5Ax;DV?OBej_q-tt#J$=dLNFJUXgEJMl-;;F>VdVH8l$3qDOz^cM{fk4un&$WOsV#or!?`}7H01w{x#kPZp2aN zoane156MvX*tZ(iJ}K&ORz#vHxG@(^#(`g^KA;LDCV|v8Cf`Q&2aFTiRYI16@G;Vr zjOeEh3Y7#}yX!EtHH(rUUZo=@zfZJ5qlvO>b5_beJH^g_l@&I6|dw_xOETzgr{ zzM?qt?pi&^>FFUr6t&M@J94BF+O^oqO_X_!8uFA4kKsBNj{wYG)_V|l$vCcyl&EIe zZB}@pAq;sSOG(b%MS|NythJv4rQEe*DL4F!`!PdtgMKcg(Cea?K}Bw-2$ZzAu?u#`Fi9_}K$_Vv zi^fll>Ghv5a9DB726uHiJ(w!#Rn6*k#A&M&jCqy7IhiLU(w;%13VRjMuT+1!+8tZV zDw#0$qWZ)?$(#D#^GfRb80Ow@v7_&|N!iqBGk2%)eCcm;{0NI_Z{b}yDWc-4&cZS5 zcAo__?iQeL?OceAmd%a94>%Zs_f(WhrgxGfyT>K`_Rimm*8ifb z{@|z--OuId`aO5#zl3S>ff6+QdOu;)es|T9|Kp_XcTDe}VVeI4^8G7V^N$eU;Hhq_ z_k;qdjVHr1Lzk+|YnC6V)G2mTy-aytAjb4HmSp%kwo6UfpAgh>j%k8B-af86=$Sco z>xxn!R@exWEbfEJ;R(gsr<HQ z8%fJXl@G)<)<;-iRiMN5VnZ*rofRl~UiN>Tz<@3yCDw)C@{r+t@Z*m$u5OOKZ6moL zMjg?hoeYr2kI$CJ`rYwzEn4vCtOpU&li(HEDBflWGkT9B zQz4vMczRFh4W*y^zjC0zsWp4#I|n|$b0EsUa^NQihyO9)JIVgMGUDZaGhoOaV1@KD ziw`nbaR-Ogw+~Fb0PA)jl>@7ia8Yc|35$y%t{Ifx4jgUJFg`pUjNXm?N^&wgn-K}i zIeiW#_kzi|S7ZduVQFt*oXw3>aCOOCN_@x3v^^+_k+c@PrG<2$TLWcESaztVKPoAF zKK!a!=35yL$>LY#dln6V?KejQ49VV_1$SqMp{7}v*j}*ioj7|nda)n8F;>r2mZz@0 z*i}WN5&i`{<#g8dqQHVS7QXv^cv*QYyz&hnC6rZ&Ydx0c#FC8{b=mq_2l0VgMXtb& zb#OL4Ko>GxKWT|(L+%lJpooX-?wQ&QSBrip|S%vk|k~(UTx1Z-{FQ0o4 zZ>)@KyC2Cf^S-ujJJotQMm{yH`#bI}Sk6z0epxO?dHYUC9*muA9=e26XskCTvt z9O55)1FHjNR)?{eJsM6&Vyv`k{uw>`l&yH->~M@f2eyko3r@_b8-4^Ai4<4EA^6f6sjR3ls$874{F{|DQaVzvKCPI>cX?SP}le zLHtK@#NV;}J#^|XEHdvo7VlH}dmz={5&YfB{TG5QqCXJ)` -Will add in Future: `
` - EMUs in MTR (25kV AC and 1.5kV DC) `
` - Light Rail system `
` - KTT and other locomotives and wagons used in Kowloon-Canton Railway `
` -**Other Information** `
` -Made by Babel `
` -Sprites are made by Gorender and Magicavoxel `
` -All of thsee files, images and GRFs are under GPL-2.0 License `
` - -Start mtr-make.py to compile the NewGRF.`
` +## **General Information** +China Set: MTR Addon is a add-on of [China Set: Trains](https://github.com/OpenTTD-China-Set/China-Set-Trains). +This is a add-on GRF of China Set Series. It add the vehicles of MTR uses in HongKong. +China Set: MTR Addon is licensed under GPL v2. + +Features: + - Yellow Head Train + - MLR Train + +Features in Future: + - More EMUs in MTR (25kV AC and 1.5kV DC) + - Light Rail system + - KTT and other locomotives and wagons used in Kowloon-Canton Railway + +## **Contributors** +Vox: + - Babel + - ctx + +Code: + - Almost copy from [China Set: Trains](https://github.com/OpenTTD-China-Set/China-Set-Trains) + - Babel + - Jonh Franklin + +Also thanks to everyone provide support to China Set. + +## **Buliding** +Sprites in China Set: MTR Addon are render by Gorender from .vox files. +You can use Magicavoxel to change and create voxes. + +The .lng files are generate by [a .csv file](./docs/str.CSV) during the complie process, so please change the csv file to change strings. + +If you want to compile the NewGRF, you should(for windows): + 1.Install [nmlc](https://www.tt-wiki.net/wiki/NMLTutorial/Installation) and add it to the system path. + 2.Install [Gorender](https://github.com/mattkimber/gorender) and add it to the system path. + 3.Install Python 3.11+ + +Then, start mtr-make.py to compile the NewGRF. + +## **License** + +```text +China Set: Trains + +Copyright (C) 2024 China Set Team + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License along +with this program; if not, please check +https://www.gnu.org/licenses/old-licenses/gpl-2.0.en.html +```