大理水控初始版本
diff --git a/g401302/hex/STM32IAPCombine51.hex b/g401302/hex/STM32IAPCombine51.hex
new file mode 100644
index 0000000..1e44517
--- /dev/null
+++ b/g401302/hex/STM32IAPCombine51.hex
@@ -0,0 +1,1026 @@
+:020000040800F2
+:10000000F0370020F5010008FD010008FF0100089D
+:1000100001020008030200080502000800000000B9
+:1000200000000000000000000000000007020008BF
+:1000300009020008000000000B0200081513000868
+:100040000F0200080F0200080F0200080F0200084C
+:100050000F0200080F0200080F0200080F0200083C
+:100060000F0200080F0200080F0200080F0200082C
+:100070000F0200080F0200080F0200080F0200081C
+:100080000F0200080F0200080F0200080F0200080C
+:100090000F0200080F0200080F0200080F020008FC
+:1000A0000F0200080F0200080F0200080F020008EC
+:1000B0000F0200080F0200080F0200080F020008DC
+:1000C0000F0200080F0200080F0200080F020008CC
+:1000D0000F0200080F0200080F0200080F020008BC
+:1000E0000F0200080F0200080F0200080F020008AC
+:1000F0000F0200080F0200080F0200080F0200089C
+:100100000F0200080F0200080F0200080F0200088B
+:100110000F0200080F0200080F0200080F0200087B
+:100120000F0200080F0200080F0200080F0200086B
+:1001300000F002F800F03FF80AA090E8000C8244BA
+:100140008344AAF10107DA4501D100F034F8AFF297
+:10015000090EBAE80F0013F0010F18BFFB1A43F0A5
+:1001600001031847542B0000742B0000103A24BFE1
+:1001700078C878C1FAD8520724BF30C830C144BF0C
+:1001800004680C607047000000230024002500264E
+:10019000103A28BF78C1FBD8520728BF30C148BFEA
+:1001A0000B607047642900F08180002070471FB504
+:1001B0001FBD10B510BD00F067FA1146FFF7F7FF3D
+:1001C00001F0ECFC00F085FA03B4FFF7F2FF03BC8A
+:1001D00000F08CFAEFF30980704780F309887047CC
+:1001E000EFF30880704780F30888704740BA704783
+:1001F000C0BA70470948804709480047FEE7FEE754
+:10020000FEE7FEE7FEE7FEE7FEE7FEE7FEE7FEE7C6
+:1002100004480549034A054B70470000991300083C
+:1002200031010008F0070020F0370020F00700201F
+:100230000FB41CB5074B06AA7B446946009005988D
+:1002400000F0E3F90020694600F0F2F91CBC5DF80B
+:1002500014FB0000F503000070B5044685690068D2
+:10026000C10601D5302600E02026C00708D070BDA9
+:10027000D4E9012130469047206A00F10100206254
+:100280006D1EF5D570BD70B5044685690078C00750
+:1002900008D170BDD4E9012120209047206A00F1E7
+:1002A000010020626D1EF5D570BD00002DE9F04102
+:1002B0000646002410687529314616A511D0AFF303
+:1002C0000080002803DAC0F1000013A507E03168C0
+:1002D0008A0701D511A502E0490704D510A501241C
+:1002E00001E0AFF3008000210A2306F1240707E0B4
+:1002F000B0FBF3F203FB1200303078541046491C77
+:100300000028F5D123462A463046BDE8F04100F0EA
+:100310001BB90000000000002D0000002B000000B1
+:10032000200000002DE9F0474FF0000A89460446FE
+:10033000C0F820A02046E1688847002876D025280C
+:1003400006D0D4E901219047206A401C2062F1E7E1
+:10035000E168204600258847C4F81CA0064600270F
+:10036000C4F818A02A2E09D0304601F045F838B359
+:1003700004EB8708303EC8F8186019E059F8041BF0
+:10038000204604EB87029161E1688847012F064609
+:1003900018D1E069002820DA25F020051DE0D8F802
+:1003A000180000EB800006EB40003038C8F8180059
+:1003B0002046E1688847064601F01EF80028EED185
+:1003C000012F0AD02E2E08D12046E16888477F1CD5
+:1003D0000646022F45F02005C4DBA069002803DA99
+:1003E000404245F00105A061E80701D025F0100565
+:1003F000B6B1A6F14100192802D8203645F40065AF
+:100400004A463146204625604D46FFF7CBFE58B19F
+:10041000012806D0ED1D25F0070000F1080989E745
+:1004200004E005F1040985E730468AE7206ABDE863
+:10043000F08740EA010310B59B070FD1042A0DD3C2
+:1004400010C808C9121F9C42F8D020BA19BA8842B5
+:1004500001D9012010BD4FF0FF3010BD1AB1D307F4
+:1004600003D0521C07E0002010BD10F8013B11F82A
+:10047000014B1B1B07D110F8013B11F8014B1B1B53
+:1004800001D1921EF1D1184610BD10B5203AC0F02E
+:100490000B80B1E81850203AA0E81850B1E8185085
+:1004A000A0E81850BFF4F5AF5FEA027C24BFB1E8C2
+:1004B0001850A0E8185044BF18C918C0BDE8104033
+:1004C0005FEA827C24BF51F8043B40F8043B08BF3C
+:1004D0007047D20728BF31F8023B48BF11F8012B03
+:1004E00028BF20F8023B48BF00F8012B704702F0FC
+:1004F000FF0343EA032242EA024200F002B84FF04F
+:1005000000020429C0F0128010F0030C00F0978064
+:10051000CCF1040CBCF1020F18BF00F8012BA8BFEE
+:1005200020F8022BA1EB0C0100F089B85FEAC17C36
+:1005300024BF00F8012B00F8012B48BF00F8012B65
+:1005400070477047704770472DE9F0470D46994650
+:100550009246044600F124080168880604D5E06943
+:1005600021F01001216000E00120A84202DDA0EB93
+:10057000050700E00027A16907EB050202EB09006F
+:10058000A1EB0000A0612078C00602D42046FFF74E
+:1005900063FE002608E0D4E901211AF8060090471E
+:1005A000206A401C761C20624E45F4DB2078C00691
+:1005B0000AD52046FFF750FE06E0D4E9012130209D
+:1005C0009047206A401C2062381EA7F10107F4DC26
+:1005D00007E0D4E9012118F805009047206A401C83
+:1005E0002062281EA5F10105F3DC2046FFF74BFE33
+:1005F0002078000602D50220BDE8F0870120FBE745
+:1006000001694A1C02610878704700B58FB0CDE9D6
+:1006100001310021059105497944CDE903101146C6
+:100620006846FFF77FFE0FB000BD0000E5FFFFFF4B
+:100630000A6802F8010B0A6070474FF0000200B52B
+:10064000134694469646203922BFA0E80C50A0E8F5
+:100650000C50B1F12001BFF4F7AF090728BFA0E8A3
+:100660000C5048BF0CC05DF804EB890028BF40F86F
+:10067000042B08BF704748BF20F8022B11F0804FB1
+:1006800018BF00F8012B7047754600F029F8AE46F8
+:1006900005006946534620F00700854618B020B58E
+:1006A000FFF7B6FDBDE820404FF000064FF0000711
+:1006B0004FF000084FF0000B21F00701AC46ACE80A
+:1006C000C009ACE8C009ACE8C009ACE8C0098D4677
+:1006D00070470446AFF300802046FFF775FD000029
+:1006E000004870478C07002070470000014918201F
+:1006F000ABBEFEE7260002007CB503460C46002098
+:100700000190002112E0585C9DF8055068400F4DA3
+:1007100035F8100000909DF801009DF804506840E5
+:100720008DF80100BDF800000190491CA142EAD3F8
+:10073000012A07D19DF801600846491C1E549DF806
+:1007400000005854BDF804007CBD0000B62A000823
+:10075000F0B585B006464FF414270EBB14222C4981
+:100760006846FFF792FE2B48C068CDF8060029487E
+:100770008068CDF80A0001220E216846FFF7BCFF11
+:10078000002409E06A461021384600F0D1FAC5B2CB
+:1007900005B903E0601CC4B20A2CF3DB00BF2FE0F4
+:1007A000012E20D114221A4914316846FFF76DFE3C
+:1007B000FF2208210DF10600FFF799FE01220E210C
+:1007C0006846FFF799FF002409E06A461021384681
+:1007D00000F0AEFAC5B205B903E0601CC4B20A2C41
+:1007E000F3DB00BF0CE0002407E0380B00F022FA36
+:1007F000C5B205B903E0601CC4B20A2CF5DB00BF2A
+:100800000A2C02DA002005B0F0BD0120FBE7000051
+:10081000902A00087C0400200149C860704700004D
+:100820000020024030B5044604254FF4302000F08B
+:100830007BF80546042D17D10C48006940F00200F2
+:100840000A49086108464461006940F040000861B7
+:100850004FF4302000F068F805460448006941F67E
+:10086000FD71084001490861284630BD0020024062
+:1008700004200B49C96811F0010F01D001200EE0DE
+:100880000749C96811F0040F01D0022007E00449AC
+:10089000C96811F0100F01D0032000E00420704758
+:1008A0000020024078B506460C4604250020009042
+:1008B000E80200F039F80546042D24D113480069F8
+:1008C00040F00100114908613480E80200F02CF882
+:1008D0000546042D10D1B01C0090200C0099088012
+:1008E000E80200F021F805460848006941F6FE716B
+:1008F00008400649086106E00448006941F6FE71B7
+:10090000084002490861284678BD000000200240E6
+:10091000024803494860034848607047230167451F
+:1009200000200240AB89EFCD00B502460423FFF75B
+:100930009FFF034603E0FFF79BFF0346521E012B78
+:1009400001D1002AF7D102B90523184600BD0000E5
+:100950002DE9FC4105460E46174600F017F91E48E2
+:1009600000F036F900F0FF0808F00200022802D07B
+:100970004046BDE8FC818021184800F003F9B6F537
+:10098000807F01D90120F4E702208DF80000280CB7
+:100990008DF80100280A8DF80200E8B28DF80300F6
+:1009A000002405E01DF804000B4901F0CDFA641C99
+:1009B000042CF7D3002404E0385D074901F0C4FAA1
+:1009C000641CB442F8D38021044800F0DDF80248EA
+:1009D00000F0F2F8CDE70000A08601000010014011
+:1009E0002DE9F041024600250026002000230024C6
+:1009F000002791F803C00CF00F0591F803C01CF01C
+:100A0000100F03D091F802C04CEA050591F800C020
+:100A1000BCF1000F31D0146800202BE04FF0010C26
+:100A20000CFA00F3B1F800C00CEA03069E4220D194
+:100A300083004FF00F0C0CFA03F7BC4305FA03FCDC
+:100A40004CEA040491F803C0BCF1280F06D14FF022
+:100A5000010C0CFA00FCC2F814C00AE091F803C0C3
+:100A6000BCF1480F05D14FF0010C0CFA00FCC2F8A4
+:100A700010C0401C0828D1D31460B1F800C0BCF1EC
+:100A8000FF0F34DD546800202EE000F1080C4FF019
+:100A9000010808FA0CF3B1F800C00CEA03069E4204
+:100AA00021D183004FF00F0C0CFA03F7BC4305FA79
+:100AB00003FC4CEA040491F803C0BCF1280F05D1F3
+:100AC00000F1080C08FA0CF8C2F8148091F803C081
+:100AD000BCF1480F07D100F1080C4FF0010808FAEB
+:100AE0000CF8C2F81080401C0828CED35460BDE832
+:100AF000F0810000F0B50A46002300240021002503
+:100B000000F00046B6F1004F02D11D4EF16901E040
+:100B10001B4E7168C0F3034583B200F44016B6F56E
+:100B2000401F08D121F07061154E766826F070667E
+:100B3000134F7E6012E000F48016B6F5801F06D1D8
+:100B4000032606FA05F4A14341F0706106E0460D64
+:100B5000360103FA06F6B14341F0706122B1460D49
+:100B6000360103FA06F6314300F00046B6F1004FB5
+:100B700002D1034EF16101E0014E7160F0BD000051
+:100B800000000140416170470161704708B5802154
+:100B90000748FFF7F7FF06208DF800009DF80000DA
+:100BA000044901F0D1F980210148FFF7EDFF08BDAC
+:100BB00000100140A086010070B50446204600F0F8
+:100BC00007F8C5B2FF2D01D1012070BD0020FCE760
+:100BD00038B5044680211348FFF7D4FF05208DF86F
+:100BE00000009DF80000214601F0AEF900BF9DF81D
+:100BF0000000214601F0A8F98DF8010004B1641E3F
+:100C00009DF8010010F0010F01D0002CEFD18021E0
+:100C10000448FFF7B9FF0CB9FF2038BD9DF801006B
+:100C2000FBE700000010014010B501F05BF9002067
+:100C300010BD00002DE9FC410646FFF7A7FF17484D
+:100C4000FFF7C6FF074607F00200022802D0384629
+:100C5000BDE8FC8180211248FFF794FF3403202077
+:100C60008DF80000200C8DF80100200A8DF802009C
+:100C7000E0B28DF80300002505E01DF805000749E6
+:100C800001F062F96D1C042DF7D380210448FFF7B1
+:100C90007BFF0448FFF790FFDAE70000A086010021
+:100CA00000100140002D31012DE9FC4105460E46A2
+:100CB00017461D48FFF780FF00F0FF08B8F1000F4E
+:100CC00002D04046BDE8FC8180211848FFF75AFF5A
+:100CD000A819B0F5800F01D90120F3E703208DF8A2
+:100CE0000000280C8DF80100280A8DF80200E8B2F7
+:100CF0008DF80300002405E01DF804000A4901F006
+:100D000023F9641C042CF7D3002405E00649AA202B
+:100D100001F01AF93855641CB442F7D38021034816
+:100D2000FFF732FF0020CDE7A08601000010014050
+:100D30002DE9F84F04460E469346CDF800B02948F9
+:100D4000844200D200BFA019B0F5800F02D9012063
+:100D5000BDE8F88FB1462746C4F30B00251A1AE008
+:100D600007EB090105F58050814202D9A0EB070885
+:100D700000E0C846AF4209D1280BFFF75BFF00F047
+:100D8000FF0ABAF1000F01D05046E1E705F58055A2
+:100D9000A9EB08094744B9F1000FE1D1E0B2251AE7
+:100DA0001CE0A11905F58070814202D9A0EB04086E
+:100DB00000E0B04641462046009AFFF7C9FD00F02A
+:100DC000FF0ABAF1000F01D05046C1E705F5807562
+:100DD000A6EB08064444009840440090002EE0D161
+:100DE0000020B5E7007012000446204600F0D8F954
+:100DF0002DE9F04FADF20C4D4AA103C90DF580620B
+:100E000003C2002609E06A4610214FF41420FFF7C0
+:100E10004BFF054605B902E0761C032EF3D300BF55
+:100E2000032E04D301200DF20C4DBDE8F08F0022FB
+:100E300010216846FFF760FC05460DB10220F2E77D
+:100E4000062269460DF58060FFF7F3FA08B103202A
+:100E5000E9E79DF809909DF8080040EA09299DF806
+:100E6000070040EA09299DF8060040EA09299DF893
+:100E70000D409DF80C0040EA04249DF80B0040EA68
+:100E800004249DF80A0040EA04244FF4162BB4F51C
+:100E9000A05F01D20420C6E70020CDF80804A246D6
+:100EA00000262CE0BAF5806F02D34FF4806800E092
+:100EB000D046002709E00BEB06006A464146FFF7E3
+:100EC000F3FE054605B902E07F1C052FF3D300BFF2
+:100ED00025B10220FFF73CFC0520A4E7002709E02C
+:100EE0001DF80700C043C1B2DDF808040844CDF87E
+:100EF00008047F1C4745F3D34644AAEB080AA642E0
+:100F0000D0D3DDF80804484504D00220FFF720FCC8
+:100F1000062088E70548C0F800B0054804600020B6
+:100F200081E700005A4B3C2D1E0F000050000020AE
+:100F3000540000202DE9F04FADF5077D81468A462B
+:100F400015462F46002443E0B7F5007F02D34FF447
+:100F5000007600E03E464FF0000B0EE00AEB040086
+:100F600007AA3146FFF7A0FE8046B8F1000F00D176
+:100F700006E00BF1010000F0FF0BBBF1050FEDDB0C
+:100F800000BFB8F1000F04D001200DF5077DBDE8CA
+:100F9000F08F09EB0400324607A900F041F88046C3
+:100FA000B8F1000F01D00120EFE73444BF1B6420EB
+:100FB0006043B0FBF5F0024607A1019002A8FFF7DD
+:100FC00037F902AA1021552000F00AFC00F0ACFD10
+:100FD000AC42B9D30020D8E72533642525000000B2
+:100FE00010B50220FFF7B4FB002010BD4CF6CC403A
+:100FF0000149086070470000003000400149486026
+:1010000070470000003000400149886070470000D0
+:101010000030004001490860704700000030004087
+:101020002DE9F04107468846154615F0030F01D11A
+:10103000AD0802E0012000EB95053E46002406E0E5
+:1010400058F824103046FFF72DFC361D641CAC42C6
+:10105000F6D33E46002409E058F824103068884250
+:1010600002D00120BDE8F081361D641CAC42F3D3F0
+:101070000020F7E710B500214FF0006000F002F803
+:1010800010BD0000024A0A400243024B1A6070473A
+:1010900080FFFF1F08ED00E029B1064AD269024334
+:1010A000044BDA6104E0034AD2698243014BDA61FE
+:1010B000704700000010024029B1064A92690243BD
+:1010C000044B9A6104E0034A92698243014B9A619E
+:1010D000704700000010024070B58AB02F4A07CA5E
+:1010E00007AB07C32D4A0C3207CA04AB07C34FF442
+:1010F0001526FFF799FD002508E001AA0C213046CE
+:10110000FFF7D2FD044604B902E06D1C052DF4D3AF
+:1011100000BF00220C2101A8FFF7EEFA04460CB133
+:101120000AB070BD0A2201A907A8FFF782F960B1D1
+:10113000002506E0300BFFF77DFD044604B902E010
+:101140006D1C052DF6D300BFEAE701220A2104A891
+:10115000FFF7D2FA04A807C801AB07C3002518E0BF
+:1011600001AA0C213046FFF7E3FD044604B10FE06D
+:1011700001AA0C213046FFF797FD044604B107E0B1
+:101180000C2204A901A8FFF754F900B903E000BF3D
+:101190006D1C052DE4D300BF00BFC1E7782A00080D
+:1011A000044645F25550FFF735FF0520FFF726FFAF
+:1011B000C4F38F00FFF728FFFFF718FF00BFFEE71B
+:1011C00021B1028842F04002028004E002884FF61A
+:1011D000BF731A40028070470246002013890B42F9
+:1011E00001D0012000E00020704701468889704747
+:1011F0008181704710B50022028802F441520B88A9
+:101200004C8823438C882343CC8823430C89234375
+:101210004C8923438C892343CC8923431A4302807E
+:10122000838B4FF2FF74234083830B8A038210BDAC
+:1012300010B500F001F810BD0CB500200190009031
+:101240003248006840F480303049086000BF2F48C1
+:10125000006800F4003000900198401C0190009854
+:1012600018B90198B0F5A06FF1D12848006810F4C2
+:10127000003F02D00120009001E000200090009883
+:10128000012842D12248006840F01000204908603F
+:101290000846006820F0030008600846006840F037
+:1012A00002000860194840681849486008464068CC
+:1012B00048600846406840F48060486008464068DE
+:1012C00020F47C1048600846406840F4E81048600C
+:1012D0000846006840F08070086000BF0B48006856
+:1012E00010F0007FFAD00948406820F00300074959
+:1012F00048600846406840F00200486000BF03486C
+:10130000406800F00C000828F9D10CBD0010024024
+:101310000020024010B500F07BFD03480068401C2F
+:101320000149086010BD00006800002030B50020B1
+:1013300015490860154800684FF47A72B0FBF2F165
+:10134000B1F1807F00D31DE021F07F40401E4FF0BF
+:10135000E022506150170F22002807DA13071D0EF4
+:101360000B4B00F00F04241F1D5503E013071C0E48
+:10137000084B1C5400BF00204FF0E0229061072072
+:10138000106100BF30BD0000680000202000002078
+:1013900018ED00E000E400E010B51348006840F0EC
+:1013A00001001149086008464068104908400E498C
+:1013B0004860084600680E4908400B490860084626
+:1013C000006820F4802008600846406820F4FE0091
+:1013D00048604FF41F008860FFF72AFF4FF000605D
+:1013E0000449086010BD0000001002400000FFF832
+:1013F000FFFFF6FE08ED00E030380A2801D2012098
+:101400007047002070470000044A116800BF034A7B
+:101410001268521A8242FAD3704700006800002016
+:1014200010B5E22000F060F8A22000F05DF8A020E6
+:1014300000F05AF8C82000F057F8A42000F054F843
+:10144000402000F051F8252000F04EF805480078C3
+:1014500000F09FFA2F2000F047F8AF2000F044F88A
+:1014600010BD00001C00002010B5A52000F03CF8C5
+:1014700010BD000010B54FF4806106480068FFF70A
+:101480003EF83F237F220021084600F01DFB00F0BC
+:101490004BFB10BD1400002010B54FF480610548CF
+:1014A0000068FFF72CF83F237F220021084600F058
+:1014B0000BFB10BD1400002070B5002410E0204686
+:1014C00000F0D6FA002000F0CAFA002504E000205F
+:1014D00000F018F8681CC5B2802DF8DB601CC4B29F
+:1014E000102CECDB70BD000010B504464FF4806199
+:1014F0000348FFF747FB204600F0C4FA10BD000088
+:101500000010014010B504464FF480610348FFF716
+:101510003BFB204600F0B6FA10BD00000010014071
+:101520002DE9FF5F05460E469246AC48807950454E
+:1015300003DCAA48C079504501DA4FF02E0AA748CB
+:10154000007A00283AD1002431E0A4480068A34979
+:101550008979AAEB0101A14A127901FB020010F876
+:10156000048000271FE02819802802DAF01940289B
+:1015700003DB002004B0BDE8F09F0120B84010EA72
+:10158000080F07D0F219D1B22A19D0B2012200F007
+:101590000FFA06E0F219D1B22A19D0B2002200F0F7
+:1015A00007FA781CC7B2082FDDDB601CC4B28B4879
+:1015B0000079A042C9DC89480079DBE78748007AD6
+:1015C000012878D185494879C11700EB5171C910BC
+:1015D000A0EBC101002908DD80494879C11700EB63
+:1015E0005171C91001F1010806E07C494879C11721
+:1015F00000EB51714FEAE1087848007900FB08F0F0
+:10160000401CC0B20390754801688079AAEB0002C3
+:10161000039802FB00100290029890F800B0029824
+:10162000401C0290002741E000243BE0029807FBA9
+:101630000800005D01904FF000092EE0E8198028B5
+:1016400004DA06EBC4004844402801DB002091E79F
+:1016500009EBC40061494979884200DB19E00120A7
+:1016600000FA09F00199084209D006EBC4024A4485
+:10167000D1B2EA19D0B2012200F09AF908E006EBE3
+:10168000C4024A44D1B2EA19D0B2002200F090F963
+:1016900000BF09F1010000F0FF09B9F1080FCDDB2F
+:1016A000601CC4B24445C1DB781CC7B25F45BBDBDC
+:1016B00058465FE7FFE74948007A02286FD147495B
+:1016C0004879C11700EB5171C91001F1010B434872
+:1016D000007900FB0BF0C0B20290404801688079AD
+:1016E000AAEB0002029802FB001001903B4890F820
+:1016F0000490002003901FE00021002000BF0AE0BA
+:10170000364B1B795B1E039FDB1B4343DAB2019B05
+:10171000995C421CD0B25845F2DB39B9A9F10102FB
+:1017200002F0FF09B9F1000F01D106E005E0039ACC
+:10173000521CD2B2039200BFDEE700BF002446E095
+:101740004FF000083FE025480179019804FB0100B3
+:1017500010F80800009000272FE005EB0800802813
+:1017600004DA06EBC4003844402801DB002001E71E
+:1017700007EBC40019494979884200DB1BE00120CE
+:10178000B840009908420BD006EBC4023A44D1B2EB
+:1017900005EB0802D0B2012200F00AF90AE01AE0D3
+:1017A00006EBC4023A44D1B205EB0802D0B20022E3
+:1017B00000F0FEF800BF781CC7B2082FCDDB08F19F
+:1017C000010000F0FF08C845BDDB601CC4B25C45E9
+:1017D000B6DB4846CEE60020CCE6000070040020D0
+:1017E0002DE9F04106460F4614460C484079C0F1F9
+:1017F0003F00B84201DABDE8F08109E022783946BD
+:101800003046FFF78DFE0546681C3044C6B2641CA6
+:1018100020780028F2D100BFEDE70000700400201E
+:1018200008B501211020FFF747FC4FF48060ADF8A8
+:10183000000003208DF8020010208DF80300694697
+:101840002648FFF7CDF84FF40060ADF80000032004
+:101850008DF8020010208DF8030069461F48FFF73D
+:10186000BFF801210420FFF727FC01211C48FFF7E6
+:1018700041F94FF40040ADF8000003208DF802005C
+:1018800010208DF8030069461648FFF7A9F84FF4B9
+:1018900000411448FFF778F94FF480711148FFF7C1
+:1018A00073F900F01FFB00F029F80120FFF7ACFDF1
+:1018B000FFF7B6FDFFF7D8FD4FF4FA70FFF7A4FD70
+:1018C00000F016F8002000F0C1F8FFF7F5FD06491A
+:1018D000064800F045F8FFF7CDFD08BD00100140B7
+:1018E00000023000000801401000002070000020BD
+:1018F00010B5A420FFF7F8FD10BD000010B54FF49F
+:1019000080710B48FFF73EF94FF400610948FFF77B
+:1019100039F90120FFF778FD4FF400610548FFF722
+:1019200033F94FF480710248FFF72EF910BD000023
+:1019300000080140001001407F2008490968087034
+:1019400000200649096888703F20044909684870EA
+:10195000002002490968C870704700001800002084
+:10196000024A1060024A1160704700001400002013
+:101970001800002010B5044604F00F00FFF7B4FD76
+:1019800010BD10B50446102141EA2410FFF7ACFD4C
+:1019900010BD10B504468120FFF7A6FD3F2C03DDE6
+:1019A0003F20FFF7A1FD02E02046FFF79DFD10BD9F
+:1019B0002DE9F04105460C4616467F2D01DC3F2CF3
+:1019C00001DDBDE8F081E6B1E21704EB5272D210FE
+:1019D00005EBC2121C4B9A5C2146E31704EB5373D0
+:1019E000DB10A4EBC3070123BB401A43D3B220464C
+:1019F000E21704EB5272D21005EBC212124FBB5425
+:101A00001AE0E21704EB5272D21005EBC2120E4B31
+:101A10009A5C2146E31704EB5373DB10A4EBC30776
+:101A20000123BB409A432046E31704EB5373DB10BA
+:101A300005EBC313044FFA5423462A462146284691
+:101A400000F042F800BFBCE77000002010B504466B
+:101A500004F03F0141F04000FFF746FD10BD10B516
+:101A600004462046FFF78DFF2046FFF783FF10BD99
+:101A700010B5044604F00F0141F0B000FFF734FD4B
+:101A800010BD000010B504464FF480710648FFF702
+:101A900079F84FF47A71204600F056FA4FF48071CD
+:101AA0000148FFF771F810BD0008014070B5049CB3
+:101AB000044D286029716A71AB71EC710025014EEB
+:101AC000357270BD7004002010B57F2800DD7F20C6
+:101AD0007F2A00DD7F223F2900DD3F213F2B00DDF3
+:101AE0003F23104C24682478844202DD0D4C246886
+:101AF00020700C4C2468A478944202DA094C2468C3
+:101B0000A270084C246864788C4202DD054C24687D
+:101B10006170044C2468E4789C4202DA014C246829
+:101B2000E37010BD1800002070B500242CE01948A7
+:101B300000684178601CB1EBC00F00DB22E0154863
+:101B40000068C078B0EBC40F00DA1FE02046FFF752
+:101B50008FFF104909680878FFF781FF0D4800687A
+:101B6000057809E0802101FB04510B4A1268505CA2
+:101B7000FFF7C8FC681CC5B2064800688078A84218
+:101B8000F0DA00BF601CC4B2102CD0DB00BFFFF73E
+:101B9000D3FE70BD180000201400002008B50025F9
+:101BA00000266748406867490860FFF763FAFFF757
+:101BB000BDFBFFF739F8FFF733FEFFF75BFC7F2033
+:101BC00020230722052100905F48FFF76FFF4FF4A5
+:101BD00000415E48FEF7D8FFFFF70AF95C4908604C
+:101BE00008460068002870D1FFF756FC59A2002172
+:101BF0000846FFF7F5FDFFF797FFFEF789FE352052
+:101C0000FEF70AFE4E4D05F57036584805601EE099
+:101C100056480068FEF706FE0446042C11D0FFF774
+:101C20003BFC53A200210846FFF7DAFD55A2102124
+:101C30000020FFF7D5FDFFF777FF4FF47A70FFF72D
+:101C4000D3F84A48006800F50060484908604748F2
+:101C50000068B042DCD3FFF71FFC4EA2002108460B
+:101C6000FFF7BEFD51A210210020FFF7B9FDFFF7DD
+:101C70005BFF52480268524801683148FFF75AF941
+:101C8000334908600846006890B14EA22021002028
+:101C9000FFF7A6FD3BA230210020FFF7A1FDFFF7D3
+:101CA00043FF0220FEF754FD4FF47A70FFF79CF8D3
+:101CB000FFF796F947A220210020FFF791FDFFF7DB
+:101CC00033FF4FF47A70FFF76BFAFFF705FA1C4801
+:101CD00000681F49086008460068B0F1005F1ED91F
+:101CE000084600684049884219D2164800681449DD
+:101CF000884214D9134800683C4988420FD21148E1
+:101D000000683B4908600E490868FEF76CFA4FF41A
+:101D100080414803FFF7B6F9354800688047FFF770
+:101D2000BBFB34A200210846FFF75AFD34A2102164
+:101D30000020FFF755FDFFF7F7FE00BFFEE70000AC
+:101D400000400008080000208C1F00080008014027
+:101D5000040000204572617365204170706C6963F6
+:101D60006174696F6E2E2E2E0000000000000020AE
+:101D7000457261736520466C617368204661696CC9
+:101D8000000000005761697420746F2052657374FD
+:101D90006172740050726F6772616D204170706C77
+:101DA00069636174696F6E2E00000000506C65619C
+:101DB000736520576169742E2E2E00005400002098
+:101DC0005000002050726F6772616D204661696C2F
+:101DD00000000000526561647920746F20526573C1
+:101DE000746172740000000000C00020000004084C
+:101DF0000C0000204E6F20417070436F646521001D
+:101E00005665723A4941505F76312E3031000000FC
+:101E10000648002107E0026812B10268521E026003
+:101E2000001D4A1CD1B20029F5D070476C0000207B
+:101E300008B501211C20FFF73FF94FF48050ADF8A1
+:101E4000000003208DF8020010208DF80300694681
+:101E50001048FEF7C5FD8020ADF8000069460E4829
+:101E6000FEF7BEFD4FF48070ADF8000069460B48E8
+:101E7000FEF7B6FD4FF480510648FEF785FE80213F
+:101E80000548FEF781FE4FF480710448FEF77CFEA2
+:101E900008BD0000000C0140001001400008014096
+:101EA00008B501210920FFF707F94FF42040ADF8EC
+:101EB000000003208DF8020018208DF80300694609
+:101EC0000748FEF78DFD4FF48040ADF80000042078
+:101ED0008DF8030069460248FEF782FD08BD000048
+:101EE000000C014000B585B0FFF7A2FFFFF7D8FF57
+:101EF00001218803FFF7D0F80020ADF800004FF46F
+:101F00008270ADF802000020ADF804000220ADF8A8
+:101F100006000120ADF808004002ADF80A001820C4
+:101F2000ADF80C000020ADF80E000720ADF8100051
+:101F300069460448FFF75EF901210248FFF740F9BE
+:101F400005B000BD0038004070B506460D462C4671
+:101F500000E0641E02210C48FFF73EF908B9002C8E
+:101F6000F7D131460848FFF743F92C4600E0641EDC
+:101F700001210548FFF730F908B9002CF7D10248D4
+:101F8000FFF733F9C0B270BD003800400000000018
+:101F90000000005F00000007000700147F147F149A
+:101FA000242A7F2A122313086462364955225000DE
+:101FB00005030000001C2241000041221C00082AE9
+:101FC0001C2A0808083E08080050300000080808CD
+:101FD0000808006060000020100804023E514945D6
+:101FE0003E00427F400042615149462141454B310C
+:101FF0001814127F1027454545393C4A494930019C
+:10200000710905033649494936064949291E0036F2
+:102010003600000056360000000814224114141443
+:102020001414412214080002015109063249794171
+:102030003E7E1111117E7F494949363E4141412280
+:102040007F4141221C7F494949417F090901013EE5
+:10205000414151327F0808087F00417F4100204004
+:10206000413F017F081422417F404040407F0204ED
+:10207000027F7F0408107F3E4141413E7F090909EC
+:10208000063E4151215E7F09192946464949493199
+:1020900001017F01013F4040403F1F2040201F7F42
+:1020A0002018207F6314081463030478040361512B
+:1020B00049454300007F4141020408102041417F0F
+:1020C00000000402010204404040404000010204BC
+:1020D0000020545454787F484444383844444420C1
+:1020E000384444487F3854545418087E0901020883
+:1020F0001454543C7F0804047800447D4000204080
+:10210000443D00007F10284400417F40007C0418BB
+:1021100004787C0804047838444444387C1414144B
+:1021200008081414187C7C080404084854545420EB
+:10213000043F4440203C4040207C1C2040201C3C6C
+:102140004030403C44281028440C5050503C4464DB
+:10215000544C44000836410000007F000000413626
+:10216000080008082A1C08081C2A080800E0F038A3
+:102170000C0C0C0C38F8C000001F7FE080808080C1
+:10218000E0FF1F000000000101010101000000004C
+:1021900000101818FCFC0000000000000000000007
+:1021A000FFFF00000000000000000000010100002F
+:1021B0000000000000081C0C0C0C0C8CF8F0000057
+:1021C00000F0F89C8C86868383800000000101016A
+:1021D000010101010101000000081C0C0C0C0C8C19
+:1021E000F8F000000080C080818383C7FF7C00007E
+:1021F0000000010101010101000000000000008059
+:10220000C07038FCFC000000001C1E1B111810FFE1
+:10221000FF10180000000000000000010100000095
+:102220000000F4FC1C0C0C0C0C0000000080C383AC
+:10223000838383C7FE7800000000000101010101D3
+:102240000000000000C0F0781C0C0C0C080000001E
+:10225000003FFFC3838383C3FE7C000000000001B6
+:102260000101010100000000000C0C0C0C8CCC7C66
+:102270003C0C0000000080F07C0F03000000000018
+:1022800000000101000000000000000000F0F81C48
+:102290000C0C0C0CF8F0000000F8FF8F0706068FFE
+:1022A000FFF8000000000103030303010100000028
+:1022B00000F0F81C0C0C0C1CF8E000000001878EEC
+:1022C0008C8C8CEE7F1F00000000010101010100D9
+:1022D000000000000600000000000000000F0000E9
+:1022E0000F00000F00000F000000000000000000C1
+:1022F00000000000000000000000000000000000DE
+:1023000000000700001E00E01F00FF1FF8FF03FF92
+:102310001F00FF01000F000000000000000000008F
+:1023200000000000000000000000000000000000AD
+:102330000E000000C07F00F8FF01FCFF07FCFF0754
+:102340003E800F0E000E0E000E0E000E1E800FFCC3
+:10235000FF07FCFF07F8FF01C07F000000000E0030
+:10236000000070000E38000E38000E1C000E0E002B
+:102370000EFEFF0FFEFF0FFEFF0FFEFF0F00000E11
+:1023800000000E00000E00000E0000000E00000015
+:1023900060000F78800F7CC00F7CE00F1EF00F0EE6
+:1023A000F80E0E7C0E0E3E0E1E1F0EFE0F0EFC07CC
+:1023B0000EF8030EF0010E0000000E000000308049
+:1023C000013880033C80073C800F1E000F0E0E0E6C
+:1023D0000E0E0E0E0E0E1E1F0FFEFF0FFCFB07FC57
+:1023E000F903F0E0010000000F00000000F0000021
+:1023F000F80000FE0080EF00C0E700F0E1007CE0A4
+:10240000003EE000FEFF0FFEFF0FFEFF0FFEFF0F7E
+:1024100000E00000E0000E000000008001F88703EB
+:10242000FE8707FE870FFE070F0E030E8E030E8E2C
+:10243000030E8E070F8EFF070EFF070EFE0300FC34
+:10244000000000000E000000C07F00F0FF01F8FF58
+:1024500007FCFF073E0E0F0E070E0E070E0E070EAF
+:102460001E0F0F3EFF0F3CFE0738FE0330F8010041
+:1024700000000E0000000E00000E00000E00000E16
+:10248000000F0EE00F0EF80F0EFE0F8EFF00CE0FA6
+:1024900000FE0300FE00003E00001E0000000000E1
+:1024A0000E000000F0E001F8FB03FCFB07FEFF0F4D
+:1024B0001E1F0F0E0E0E0E0E0E0E0E0E1E1F0FFE08
+:1024C000FF0FFCFB07FCFB03F0E0010000000E0027
+:1024D0000000F08301F88703FC8F07FE9F0F1E1E8C
+:1024E0000F0E1C0E0E1C0E0E1C0E1E8E0FFCFF0778
+:1024F000FCFF03F8FF01C07F0000000000000000A7
+:102500000000005F00000007000700147F147F1424
+:10251000242A7F2A12231308646236495522500068
+:1025200005030000001C2241000041221C00082A73
+:102530001C2A0808083E0808005030000008080857
+:102540000808006060000020100804023E51494560
+:102550003E00427F400042615149462141454B3196
+:102560001814127F1027454545393C4A4949300126
+:10257000710905033649494936064949291E00367D
+:1025800036000000563600000008142241141414CE
+:1025900014144122140800020151090632497941FC
+:1025A0003E7E1111117E7F494949363E414141220B
+:1025B0007F4141221C7F494949417F090901013E70
+:1025C000414151327F0808087F00417F410020408F
+:1025D000413F017F081422417F404040407F020478
+:1025E000027F7F0408107F3E4141413E7F09090977
+:1025F000063E4151215E7F09192946464949493124
+:1026000001017F01013F4040403F1F2040201F7FCC
+:102610002018207F631408146303047804036151B5
+:1026200049454300007F4141020408102041417F99
+:102630000000040201020440404040400001020446
+:102640000020545454787F4844443838444444204B
+:10265000384444487F3854545418087E090102080D
+:102660001454543C7F0804047800447D400020400A
+:10267000443D00007F10284400417F40007C041846
+:1026800004787C0804047838444444387C141414D6
+:1026900008081414187C7C08040408485454542076
+:1026A000043F4440203C4040207C1C2040201C3CF7
+:1026B0004030403C44281028440C5050503C446466
+:1026C000544C44000836410000007F0000004136B1
+:1026D000080008082A1C08081C2A080800E0F0382E
+:1026E0000C0C0C0C38F8C000001F7FE0808080804C
+:1026F000E0FF1F00000000010101010100000000D7
+:1027000000101818FCFC0000000000000000000091
+:10271000FFFF0000000000000000000001010000B9
+:102720000000000000081C0C0C0C0C8CF8F00000E1
+:1027300000F0F89C8C8686838380000000010101F4
+:10274000010101010101000000081C0C0C0C0C8CA3
+:10275000F8F000000080C080818383C7FF7C000008
+:1027600000000101010101010000000000000080E3
+:10277000C07038FCFC000000001C1E1B111810FF6C
+:10278000FF10180000000000000000010100000020
+:102790000000F4FC1C0C0C0C0C0000000080C38337
+:1027A000838383C7FE78000000000001010101015E
+:1027B0000000000000C0F0781C0C0C0C08000000A9
+:1027C000003FFFC3838383C3FE7C00000000000141
+:1027D0000101010100000000000C0C0C0C8CCC7CF1
+:1027E0003C0C0000000080F07C0F030000000000A3
+:1027F00000000101000000000000000000F0F81CD3
+:102800000C0C0C0CF8F0000000F8FF8F0706068F88
+:10281000FFF80000000001030303030101000000B2
+:1028200000F0F81C0C0C0C1CF8E000000001878E76
+:102830008C8C8CEE7F1F0000000001010101010063
+:10284000000000000600000000000000000F000073
+:102850000F00000F00000F0000000000000000004B
+:102860000000000000000000000000000000000068
+:1028700000000700001E00E01F00FF1FF8FF03FF1D
+:102880001F00FF01000F000000000000000000001A
+:102890000000000000000000000000000000000038
+:1028A0000E000000C07F00F8FF01FCFF07FCFF07DF
+:1028B0003E800F0E000E0E000E0E000E1E800FFC4E
+:1028C000FF07FCFF07F8FF01C07F000000000E00BB
+:1028D000000070000E38000E38000E1C000E0E00B6
+:1028E0000EFEFF0FFEFF0FFEFF0FFEFF0F00000E9C
+:1028F00000000E00000E00000E0000000E000000A0
+:1029000060000F78800F7CC00F7CE00F1EF00F0E70
+:10291000F80E0E7C0E0E3E0E1E1F0EFE0F0EFC0756
+:102920000EF8030EF0010E0000000E0000003080D3
+:10293000013880033C80073C800F1E000F0E0E0EF6
+:102940000E0E0E0E0E0E1E1F0FFEFF0FFCFB07FCE1
+:10295000F903F0E0010000000F00000000F00000AB
+:10296000F80000FE0080EF00C0E700F0E1007CE02E
+:10297000003EE000FEFF0FFEFF0FFEFF0FFEFF0F09
+:1029800000E00000E0000E000000008001F8870376
+:10299000FE8707FE870FFE070F0E030E8E030E8EB7
+:1029A000030E8E070F8EFF070EFF070EFE0300FCBF
+:1029B000000000000E000000C07F00F0FF01F8FFE3
+:1029C00007FCFF073E0E0F0E070E0E070E0E070E3A
+:1029D0001E0F0F3EFF0F3CFE0738FE0330F80100CC
+:1029E00000000E0000000E00000E00000E00000EA1
+:1029F000000F0EE00F0EF80F0EFE0F8EFF00CE0F31
+:102A000000FE0300FE00003E00001E00000000006B
+:102A10000E000000F0E001F8FB03FCFB07FEFF0FD7
+:102A20001E1F0F0E0E0E0E0E0E0E0E0E1E1F0FFE92
+:102A3000FF0FFCFB07FCFB03F0E0010000000E00B1
+:102A40000000F08301F88703FC8F07FE9F0F1E1E16
+:102A50000F0E1C0E0E1C0E0E1C0E1E8E0FFCFF0702
+:102A6000FCFF03F8FF01C07F00000000D0B2CFAA36
+:102A7000C6D5AABBCCDD0000D0B2CFAAC6D5AABBB2
+:102A8000CCDD0000A0A1A2A3A4A50E0F0A050000A2
+:102A90005A4B3C2D1E0F00000000000000000000FB
+:102AA000000000000F1E2D3C4B5A000000000000EB
+:102AB000000000000000000021104220633084402C
+:102AC000A550C660E770088129914AA16BB18CC1FD
+:102AD000ADD1CEE1EFF13112100273325222B55274
+:102AE0009442F772D662399318837BB35AA3BDD34D
+:102AF0009CC3FFF3DEE36224433420040114E66444
+:102B0000C774A44485546AA54BB528850995EEE59C
+:102B1000CFF5ACC58DD55336722611163006D77653
+:102B2000F6669556B4465BB77AA719973887DFF7EC
+:102B3000FEE79DD7BCC7C448E5588668A77840081B
+:102B4000611802282338CCC9EDD98EE9AFF948893C
+:102B500069990AA92BB9F55AD44AB77A966A711AB3
+:102B6000500A333A122AFDDBDCCBBFFB9EEB799B8C
+:102B7000588B3BBB1AABA66C877CE44CC55C222C03
+:102B8000033C600C411CAEED8FFDECCDCDDD2AADDC
+:102B90000BBD688D499D977EB66ED55EF44E133E93
+:102BA000322E511E700E9FFFBEEFDDDFFCCF1BBF2C
+:102BB0003AAF599F788F8891A981CAB1EBA10CD106
+:102BC0002DC14EF16FE18010A100C230E32004500E
+:102BD000254046706760B9839893FBA3DAB33DC381
+:102BE0001CD37FE35EF3B1029012F322D23235425E
+:102BF000145277625672EAB5CBA5A89589856EF511
+:102C00004FE52CD50DC5E234C324A01481046674AD
+:102C1000476424540544DBA7FAB79987B8975FE760
+:102C20007EF71DC73CD7D326F2369106B0165766FD
+:102C30007676154634564CD96DC90EF92FE9C899E8
+:102C4000E9898AB9ABA94458654806782768C0184D
+:102C5000E1088238A3287DCB5CDB3FEB1EFBF98BC0
+:102C6000D89BBBAB9ABB754A545A376A167AF10A9D
+:102C7000D01AB32A923A2EFD0FED6CDD4DCDAABDD0
+:102C80008BADE89DC98D267C076C645C454CA23CED
+:102C9000832CE01CC10C1FEF3EFF5DCF7CDF9BAFA0
+:102CA000BABFD98FF89F176E367E554E745E932E3D
+:102CB000B23ED10EF01E0000D82C0008000000200B
+:102CC000700000006C010008482D00087000002012
+:102CD00080370000880100080000000000000000AC
+:102CE00000000000000000000000000000000000E4
+:102CF000000000002500000000A24A0400000000BF
+:102D0000000000000102030406070809000080C05B
+:102D1000E0F0F8FCFE01FF000000000000000000F1
+:102D200000600900FF00000000000000000000003B
+:102D30000000000000000000000000000000000093
+:102D40000000000000000000000000000000000083
+:102D50000000000000000000000000000000000073
+:102D60000000000000000000000000000000000063
+:102D70000000000000000000000000000000000053
+:102D80000000000000000000000000000000000043
+:102D90000000000000000000000000000000000033
+:102DA0000000000000000000000000000000000023
+:102DB0000000000000000000000000000000000013
+:102DC0000000000000000000000000000000000003
+:102DD00000000000000000000000000000000000F3
+:102DE00000000000000000000000000000000000E3
+:102DF00000000000000000000000000000000000D3
+:102E000000000000000000000000000000000000C2
+:102E100000000000000000000000000000000000B2
+:102E200000000000000000000000000000000000A2
+:102E30000000000000000000000000000000000092
+:102E40000000000000000000000000000000000082
+:102E50000000000000000000000000000000000072
+:102E60000000000000000000000000000000000062
+:102E70000000000000000000000000000000000052
+:102E80000000000000000000000000000000000042
+:102E90000000000000000000000000000000000032
+:102EA0000000000000000000000000000000000022
+:102EB0000000000000000000000000000000000012
+:102EC0000000000000000000000000000000000002
+:102ED00000000000000000000000000000000000F2
+:102EE00000000000000000000000000000000000E2
+:102EF00000000000000000000000000000000000D2
+:102F000000000000000000000000000000000000C1
+:102F100000000000000000000000000000000000B1
+:102F200000000000000000000000000000000000A1
+:102F30000000000000000000000000000000000091
+:102F40000000000000000000000000000000000081
+:102F50000000000000000000000000000000000071
+:102F60000000000000000000000000000000000061
+:102F70000000000000000000000000000000000051
+:102F80000000000000000000000000000000000041
+:102F90000000000000000000000000000000000031
+:102FA0000000000000000000000000000000000021
+:102FB0000000000000000000000000000000000011
+:102FC0000000000000000000000000000000000001
+:102FD00000000000000000000000000000000000F1
+:102FE00000000000000000000000000000000000E1
+:102FF00000000000000000000000000000000000D1
+:1030000000000000000000000000000000000000C0
+:1030100000000000000000000000000000000000B0
+:1030200000000000000000000000000000000000A0
+:103030000000000000000000000000000000000090
+:103040000000000000000000000000000000000080
+:103050000000000000000000000000000000000070
+:103060000000000000000000000000000000000060
+:103070000000000000000000000000000000000050
+:103080000000000000000000000000000000000040
+:103090000000000000000000000000000000000030
+:1030A0000000000000000000000000000000000020
+:1030B0000000000000000000000000000000000010
+:1030C0000000000000000000000000000000000000
+:1030D00000000000000000000000000000000000F0
+:1030E00000000000000000000000000000000000E0
+:1030F00000000000000000000000000000000000D0
+:1031000000000000000000000000000000000000BF
+:1031100000000000000000000000000000000000AF
+:10312000000000000000000000000000000000009F
+:10313000000000000000000000000000000000008F
+:10314000000000000000000000000000000000007F
+:10315000000000000000000000000000000000006F
+:10316000000000000000000000000000000000005F
+:10317000000000000000000000000000000000004F
+:10318000000000000000000000000000000000003F
+:10319000000000000000000000000000000000002F
+:1031A000000000000000000000000000000000001F
+:1031B000000000000000000000000000000000000F
+:1031C00000000000000000000000000000000000FF
+:1031D00000000000000000000000000000000000EF
+:1031E00000000000000000000000000000000000DF
+:1031F00000000000000000000000000000000000CF
+:1032000000000000000000000000000000000000BE
+:1032100000000000000000000000000000000000AE
+:10322000000000000000000000000000000000009E
+:10323000000000000000000000000000000000008E
+:10324000000000000000000000000000000000007E
+:10325000000000000000000000000000000000006E
+:10326000000000000000000000000000000000005E
+:10327000000000000000000000000000000000004E
+:10328000000000000000000000000000000000003E
+:10329000000000000000000000000000000000002E
+:1032A000000000000000000000000000000000001E
+:1032B000000000000000000000000000000000000E
+:1032C00000000000000000000000000000000000FE
+:1032D00000000000000000000000000000000000EE
+:1032E00000000000000000000000000000000000DE
+:1032F00000000000000000000000000000000000CE
+:1033000000000000000000000000000000000000BD
+:1033100000000000000000000000000000000000AD
+:10332000000000000000000000000000000000009D
+:10333000000000000000000000000000000000008D
+:10334000000000000000000000000000000000007D
+:10335000000000000000000000000000000000006D
+:10336000000000000000000000000000000000005D
+:10337000000000000000000000000000000000004D
+:10338000000000000000000000000000000000003D
+:10339000000000000000000000000000000000002D
+:1033A000000000000000000000000000000000001D
+:1033B000000000000000000000000000000000000D
+:1033C00000000000000000000000000000000000FD
+:1033D00000000000000000000000000000000000ED
+:1033E00000000000000000000000000000000000DD
+:1033F00000000000000000000000000000000000CD
+:1034000000000000000000000000000000000000BC
+:1034100000000000000000000000000000000000AC
+:10342000000000000000000000000000000000009C
+:10343000000000000000000000000000000000008C
+:10344000000000000000000000000000000000007C
+:10345000000000000000000000000000000000006C
+:10346000000000000000000000000000000000005C
+:10347000000000000000000000000000000000004C
+:10348000000000000000000000000000000000003C
+:10349000000000000000000000000000000000002C
+:1034A000000000000000000000000000000000001C
+:1034B000000000000000000000000000000000000C
+:1034C00000000000000000000000000000000000FC
+:1034D00000000000000000000000000000000000EC
+:1034E00000000000000000000000000000000000DC
+:1034F00000000000000000000000000000000000CC
+:1035000000000000000000000000000000000000BB
+:1035100000000000000000000000000000000000AB
+:10352000000000000000000000000000000000009B
+:10353000000000000000000000000000000000008B
+:10354000000000000000000000000000000000007B
+:10355000000000000000000000000000000000006B
+:10356000000000000000000000000000000000005B
+:10357000000000000000000000000000000000004B
+:10358000000000000000000000000000000000003B
+:10359000000000000000000000000000000000002B
+:1035A000000000000000000000000000000000001B
+:1035B000000000000000000000000000000000000B
+:1035C00000000000000000000000000000000000FB
+:1035D00000000000000000000000000000000000EB
+:1035E00000000000000000000000000000000000DB
+:1035F00000000000000000000000000000000000CB
+:1036000000000000000000000000000000000000BA
+:1036100000000000000000000000000000000000AA
+:10362000000000000000000000000000000000009A
+:10363000000000000000000000000000000000008A
+:10364000000000000000000000000000000000007A
+:10365000000000000000000000000000000000006A
+:10366000000000000000000000000000000000005A
+:10367000000000000000000000000000000000004A
+:10368000000000000000000000000000000000003A
+:10369000000000000000000000000000000000002A
+:1036A000000000000000000000000000000000001A
+:1036B000000000000000000000000000000000000A
+:1036C00000000000000000000000000000000000FA
+:1036D00000000000000000000000000000000000EA
+:1036E00000000000000000000000000000000000DA
+:1036F00000000000000000000000000000000000CA
+:1037000000000000000000000000000000000000B9
+:1037100000000000000000000000000000000000A9
+:103720000000000000000000000000000000000099
+:103730000000000000000000000000000000000089
+:103740000000000000000000000000000000000079
+:103750000000000000000000000000000000000069
+:103760000000000000000000000000000000000059
+:103770000000000000000000000000000000000049
+:103780000000000000000000000000000000000039
+:103790000000000000000000000000000000000029
+:1037A0000000000000000000000000000000000019
+:1037B0000000000000000000000000000000000009
+:1037C00000000000000000000000000000000000F9
+:1037D00000000000000000000000000000000000E9
+:1037E00000000000000000000000000000000000D9
+:1037F00000000000000000000000000000000000C9
+:1038000080656778000000000000000000000000F4
+:1038100000000000000000000000000000000000A8
+:103820000000000000000000000000000000000098
+:103830000000000000000000000000000000000088
+:103840000000000000000000000000000000000078
+:103850000000000000000000000000000000000068
+:103860000000000000000000000000000000000058
+:103870000000000000000000000000000000000048
+:103880000000000000000000000000000000000038
+:103890000000000000000000000000000000000028
+:1038A0000000000000000000000000000000000018
+:1038B0000000000000000000000000000000000008
+:1038C00000000000000000000000000000000000F8
+:1038D00000000000000000000000000000000000E8
+:1038E00000000000000000000000000000000000D8
+:1038F00000000000000000000000000000000000C8
+:1039000000000000000000000000000000000000B7
+:1039100000000000000000000000000000000000A7
+:103920000000000000000000000000000000000097
+:103930000000000000000000000000000000000087
+:103940000000000000000000000000000000000077
+:103950000000000000000000000000000000000067
+:103960000000000000000000000000000000000057
+:103970000000000000000000000000000000000047
+:103980000000000000000000000000000000000037
+:103990000000000000000000000000000000000027
+:1039A0000000000000000000000000000000000017
+:1039B0000000000000000000000000000000000007
+:1039C00000000000000000000000000000000000F7
+:1039D00000000000000000000000000000000000E7
+:1039E00000000000000000000000000000000000D7
+:1039F00000000000000000000000000000000000C7
+:103A000000000000000000000000000000000000B6
+:103A100000000000000000000000000000000000A6
+:103A20000000000000000000000000000000000096
+:103A30000000000000000000000000000000000086
+:103A40000000000000000000000000000000000076
+:103A50000000000000000000000000000000000066
+:103A60000000000000000000000000000000000056
+:103A70000000000000000000000000000000000046
+:103A80000000000000000000000000000000000036
+:103A90000000000000000000000000000000000026
+:103AA0000000000000000000000000000000000016
+:103AB0000000000000000000000000000000000006
+:103AC00000000000000000000000000000000000F6
+:103AD00000000000000000000000000000000000E6
+:103AE00000000000000000000000000000000000D6
+:103AF00000000000000000000000000000000000C6
+:103B000000000000000000000000000000000000B5
+:103B100000000000000000000000000000000000A5
+:103B20000000000000000000000000000000000095
+:103B30000000000000000000000000000000000085
+:103B40000000000000000000000000000000000075
+:103B50000000000000000000000000000000000065
+:103B60000000000000000000000000000000000055
+:103B70000000000000000000000000000000000045
+:103B80000000000000000000000000000000000035
+:103B90000000000000000000000000000000000025
+:103BA0000000000000000000000000000000000015
+:103BB0000000000000000000000000000000000005
+:103BC00000000000000000000000000000000000F5
+:103BD00000000000000000000000000000000000E5
+:103BE00000000000000000000000000000000000D5
+:103BF00000000000000000000000000000000000C5
+:103C000000000000000000000000000000000000B4
+:103C100000000000000000000000000000000000A4
+:103C20000000000000000000000000000000000094
+:103C30000000000000000000000000000000000084
+:103C40000000000000000000000000000000000074
+:103C50000000000000000000000000000000000064
+:103C60000000000000000000000000000000000054
+:103C70000000000000000000000000000000000044
+:103C80000000000000000000000000000000000034
+:103C90000000000000000000000000000000000024
+:103CA0000000000000000000000000000000000014
+:103CB0000000000000000000000000000000000004
+:103CC00000000000000000000000000000000000F4
+:103CD00000000000000000000000000000000000E4
+:103CE00000000000000000000000000000000000D4
+:103CF00000000000000000000000000000000000C4
+:103D000000000000000000000000000000000000B3
+:103D100000000000000000000000000000000000A3
+:103D20000000000000000000000000000000000093
+:103D30000000000000000000000000000000000083
+:103D40000000000000000000000000000000000073
+:103D50000000000000000000000000000000000063
+:103D60000000000000000000000000000000000053
+:103D70000000000000000000000000000000000043
+:103D80000000000000000000000000000000000033
+:103D90000000000000000000000000000000000023
+:103DA0000000000000000000000000000000000013
+:103DB0000000000000000000000000000000000003
+:103DC00000000000000000000000000000000000F3
+:103DD00000000000000000000000000000000000E3
+:103DE00000000000000000000000000000000000D3
+:103DF00000000000000000000000000000000000C3
+:103E000000000000000000000000000000000000B2
+:103E100000000000000000000000000000000000A2
+:103E20000000000000000000000000000000000092
+:103E30000000000000000000000000000000000082
+:103E40000000000000000000000000000000000072
+:103E50000000000000000000000000000000000062
+:103E60000000000000000000000000000000000052
+:103E70000000000000000000000000000000000042
+:103E80000000000000000000000000000000000032
+:103E90000000000000000000000000000000000022
+:103EA0000000000000000000000000000000000012
+:103EB0000000000000000000000000000000000002
+:103EC00000000000000000000000000000000000F2
+:103ED00000000000000000000000000000000000E2
+:103EE00000000000000000000000000000000000D2
+:103EF00000000000000000000000000000000000C2
+:103F000000000000000000000000000000000000B1
+:103F100000000000000000000000000000000000A1
+:103F20000000000000000000000000000000000091
+:103F30000000000000000000000000000000000081
+:103F40000000000000000000000000000000000071
+:103F50000000000000000000000000000000000061
+:103F60000000000000000000000000000000000051
+:103F70000000000000000000000000000000000041
+:103F80000000000000000000000000000000000031
+:103F90000000000000000000000000000000000021
+:103FA0000000000000000000000000000000000011
+:103FB0000000000000000000000000000000000001
+:103FC00000000000000000000000000000000000F1
+:103FD00000000000000000000000000000000000E1
+:103FE00000000000000000000000000000000000D1
+:103FF00000000000000000000000000000000000C1
+:00000001FF
diff --git a/g401302/hex/readme.txt b/g401302/hex/readme.txt
new file mode 100644
index 0000000..8a9f258
--- /dev/null
+++ b/g401302/hex/readme.txt
@@ -0,0 +1,14 @@
+Éú³É°üº¬bootloaderºÍapplicationµÄºÏ²¢.hex,²»ÐèÒª¼ÓÃÜ
+1£¬ÔÚapplicationĿ¼Ï±àдmerge.iniÎļþ
+2£¬ÔÚhexĿ¼Ï·ÅbootloaderµÄ.hexÎļþ£¬ÕâÀïÊÇSTM32IAPCombine.hex
+3£¬keil optionsÀïµÄdebugÀïÃæÑ¡Ôñuse simulator£¬°´ctrl+F5ÔÚhexĿ¼ÏÂÉú³ÉºÏ²¢.hex,ÕâÀïÊÇwaterctrl_combine.hex
+4£¬´ò¿ªseggerÏÂJ-Flash
+1) File ->open data file (Ñ¡ÔñÉú³ÉµÄwaterctrl_combine.hex)
+2) Option->
+project settings --Target InterfaceÑ¡ÔñSWD
+project settings --CPUÑ¡ÔñDevice,ST STM32F101RB,¹´Ñ¡Check core ID
+3)target --connect,Á¬½Ó³É¹¦ºó°´F7ÏÂÔØ£¬F9ÔËÐÐ 
+
+
+##STM32IAPCombine51.hex G401302µÄbootloader
+##STM32IAPCombine50.hex G401300µÄbootloader
\ No newline at end of file
diff --git a/g401302/lib/G401_drv_hw_V04.lib b/g401302/lib/G401_drv_hw_V04.lib
new file mode 100644
index 0000000..d744d92
--- /dev/null
+++ b/g401302/lib/G401_drv_hw_V04.lib
Binary files differ
diff --git a/g401302/lib/g401_uart5_v001.lib b/g401302/lib/g401_uart5_v001.lib
new file mode 100644
index 0000000..94ae122
--- /dev/null
+++ b/g401302/lib/g401_uart5_v001.lib
Binary files differ
diff --git a/g401302/project/JLinkSettings.ini b/g401302/project/JLinkSettings.ini
new file mode 100644
index 0000000..2d53bb4
--- /dev/null
+++ b/g401302/project/JLinkSettings.ini
@@ -0,0 +1,35 @@
+[BREAKPOINTS]
+ForceImpTypeAny = 0
+ShowInfoWin = 1
+EnableFlashBP = 2
+BPDuringExecution = 0
+[CFI]
+CFISize = 0x00
+CFIAddr = 0x00
+[CPU]
+OverrideMemMap = 0
+AllowSimulation = 1
+ScriptFile=""
+[FLASH]
+CacheExcludeSize = 0x00
+CacheExcludeAddr = 0x00
+MinNumBytesFlashDL = 0
+SkipProgOnCRCMatch = 1
+VerifyDownload = 1
+AllowCaching = 1
+EnableFlashDL = 2
+Override = 0
+Device="UNSPECIFIED"
+[GENERAL]
+WorkRAMSize = 0x00
+WorkRAMAddr = 0x00
+RAMUsageLimit = 0x00
+[SWO]
+SWOLogFile=""
+[MEM]
+RdOverrideOrMask = 0x00
+RdOverrideAndMask = 0xFFFFFFFF
+RdOverrideAddr = 0xFFFFFFFF
+WrOverrideOrMask = 0x00
+WrOverrideAndMask = 0xFFFFFFFF
+WrOverrideAddr = 0xFFFFFFFF
diff --git a/g401302/project/g401302.uvopt b/g401302/project/g401302.uvopt
new file mode 100644
index 0000000..156579a
--- /dev/null
+++ b/g401302/project/g401302.uvopt
@@ -0,0 +1,1388 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
+<ProjectOpt xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="project_opt.xsd">
+
+  <SchemaVersion>1.0</SchemaVersion>
+
+  <Header>### uVision Project, (C) Keil Software</Header>
+
+  <Extensions>
+    <cExt>*.c</cExt>
+    <aExt>*.s*; *.src; *.a*</aExt>
+    <oExt>*.obj</oExt>
+    <lExt>*.lib</lExt>
+    <tExt>*.txt; *.h; *.inc</tExt>
+    <pExt>*.plm</pExt>
+    <CppX>*.cpp</CppX>
+  </Extensions>
+
+  <DaveTm>
+    <dwLowDateTime>0</dwLowDateTime>
+    <dwHighDateTime>0</dwHighDateTime>
+  </DaveTm>
+
+  <Target>
+    <TargetName>flow</TargetName>
+    <ToolsetNumber>0x4</ToolsetNumber>
+    <ToolsetName>ARM-ADS</ToolsetName>
+    <TargetOption>
+      <CLKADS>8000000</CLKADS>
+      <OPTTT>
+        <gFlags>1</gFlags>
+        <BeepAtEnd>1</BeepAtEnd>
+        <RunSim>1</RunSim>
+        <RunTarget>0</RunTarget>
+      </OPTTT>
+      <OPTHX>
+        <HexSelection>1</HexSelection>
+        <FlashByte>65535</FlashByte>
+        <HexRangeLowAddress>0</HexRangeLowAddress>
+        <HexRangeHighAddress>0</HexRangeHighAddress>
+        <HexOffset>0</HexOffset>
+      </OPTHX>
+      <OPTLEX>
+        <PageWidth>79</PageWidth>
+        <PageLength>66</PageLength>
+        <TabStop>8</TabStop>
+        <ListingPath>..\outFlow\</ListingPath>
+      </OPTLEX>
+      <ListingPage>
+        <CreateCListing>1</CreateCListing>
+        <CreateAListing>1</CreateAListing>
+        <CreateLListing>1</CreateLListing>
+        <CreateIListing>0</CreateIListing>
+        <AsmCond>1</AsmCond>
+        <AsmSymb>1</AsmSymb>
+        <AsmXref>0</AsmXref>
+        <CCond>1</CCond>
+        <CCode>0</CCode>
+        <CListInc>0</CListInc>
+        <CSymb>0</CSymb>
+        <LinkerCodeListing>0</LinkerCodeListing>
+      </ListingPage>
+      <OPTXL>
+        <LMap>1</LMap>
+        <LComments>1</LComments>
+        <LGenerateSymbols>1</LGenerateSymbols>
+        <LLibSym>1</LLibSym>
+        <LLines>1</LLines>
+        <LLocSym>1</LLocSym>
+        <LPubSym>1</LPubSym>
+        <LXref>0</LXref>
+        <LExpSel>0</LExpSel>
+      </OPTXL>
+      <OPTFL>
+        <tvExp>1</tvExp>
+        <tvExpOptDlg>0</tvExpOptDlg>
+        <IsCurrentTarget>1</IsCurrentTarget>
+      </OPTFL>
+      <CpuCode>255</CpuCode>
+      <Books>
+        <Book>
+          <Number>0</Number>
+          <Title>Reference Manual</Title>
+          <Path>DATASHTS\ST\STM32F10xxx.PDF</Path>
+        </Book>
+        <Book>
+          <Number>1</Number>
+          <Title>Technical Reference Manual</Title>
+          <Path>datashts\arm\cortex_m3\r1p1\DDI0337E_CORTEX_M3_R1P1_TRM.PDF</Path>
+        </Book>
+        <Book>
+          <Number>2</Number>
+          <Title>Generic User Guide</Title>
+          <Path>datashts\arm\cortex_m3\r2p1\DUI0552A_CORTEX_M3_DGUG.PDF</Path>
+        </Book>
+      </Books>
+      <DllOpt>
+        <SimDllName>SARMCM3.DLL</SimDllName>
+        <SimDllArguments>-REMAP</SimDllArguments>
+        <SimDlgDllName>DCM.DLL</SimDlgDllName>
+        <SimDlgDllArguments>-pCM3</SimDlgDllArguments>
+        <TargetDllName>SARMCM3.DLL</TargetDllName>
+        <TargetDllArguments></TargetDllArguments>
+        <TargetDlgDllName>TCM.DLL</TargetDlgDllName>
+        <TargetDlgDllArguments>-pCM3</TargetDlgDllArguments>
+      </DllOpt>
+      <DebugOpt>
+        <uSim>0</uSim>
+        <uTrg>1</uTrg>
+        <sLdApp>1</sLdApp>
+        <sGomain>1</sGomain>
+        <sRbreak>1</sRbreak>
+        <sRwatch>1</sRwatch>
+        <sRmem>1</sRmem>
+        <sRfunc>1</sRfunc>
+        <sRbox>1</sRbox>
+        <tLdApp>1</tLdApp>
+        <tGomain>1</tGomain>
+        <tRbreak>1</tRbreak>
+        <tRwatch>1</tRwatch>
+        <tRmem>1</tRmem>
+        <tRfunc>0</tRfunc>
+        <tRbox>1</tRbox>
+        <sRunDeb>0</sRunDeb>
+        <sLrtime>0</sLrtime>
+        <nTsel>7</nTsel>
+        <sDll></sDll>
+        <sDllPa></sDllPa>
+        <sDlgDll></sDlgDll>
+        <sDlgPa></sDlgPa>
+        <sIfile>.\merge.ini</sIfile>
+        <tDll></tDll>
+        <tDllPa></tDllPa>
+        <tDlgDll></tDlgDll>
+        <tDlgPa></tDlgPa>
+        <tIfile></tIfile>
+        <pMon>Segger\JL2CM3.dll</pMon>
+      </DebugOpt>
+      <TargetDriverDllRegistry>
+        <SetRegEntry>
+          <Number>0</Number>
+          <Key>JL2CM3</Key>
+          <Name>-U20370421 -O718 -S9 -A0 -C0 -JU1 -JI127.0.0.1 -JP0 -RST0 -N00("ARM CoreSight SW-DP") -D00(1BA01477) -L00(0) -TO18 -TC10000000 -TP21 -TDS8007 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -TB1 -TFE0 -FO15 -FD20000000 -FC2000 -FN1 -FF0STM32F10x_512 -FS08000000 -FL080000</Name>
+        </SetRegEntry>
+        <SetRegEntry>
+          <Number>0</Number>
+          <Key>DLGUARM</Key>
+          <Name>(106=-1,-1,-1,-1,0)(107=-1,-1,-1,-1,0)</Name>
+        </SetRegEntry>
+        <SetRegEntry>
+          <Number>0</Number>
+          <Key>DLGTARM</Key>
+          <Name>(1010=-1,-1,-1,-1,0)(1007=-1,-1,-1,-1,0)(1008=-1,-1,-1,-1,0)(1009=-1,-1,-1,-1,0)</Name>
+        </SetRegEntry>
+        <SetRegEntry>
+          <Number>0</Number>
+          <Key>UL2CM3</Key>
+          <Name>-UV0010M9E -O718 -S10 -C0 -TO18 -TC10000000 -TP21 -TDS8007 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -FO15 -FD20000000 -FC2000 -FN1 -FF0STM32F10x_512 -FS08000000 -FL040000</Name>
+        </SetRegEntry>
+        <SetRegEntry>
+          <Number>0</Number>
+          <Key>DLGDARM</Key>
+          <Name>(1010=-1,-1,-1,-1,0)(1007=-1,-1,-1,-1,0)(1008=90,120,456,345,0)(1009=-1,-1,-1,-1,0)</Name>
+        </SetRegEntry>
+        <SetRegEntry>
+          <Number>0</Number>
+          <Key>ARMDBGFLAGS</Key>
+          <Name>-T0</Name>
+        </SetRegEntry>
+      </TargetDriverDllRegistry>
+      <Breakpoint>
+        <Bp>
+          <Number>0</Number>
+          <Type>0</Type>
+          <LineNumber>296</LineNumber>
+          <EnabledFlag>0</EnabledFlag>
+          <Address>134296172</Address>
+          <ByteObject>0</ByteObject>
+          <ManyObjects>0</ManyObjects>
+          <SizeOfObject>0</SizeOfObject>
+          <BreakByAccess>0</BreakByAccess>
+          <BreakIfRCount>1</BreakIfRCount>
+          <Filename></Filename>
+          <ExecCommand></ExecCommand>
+          <Expression>\\G401302_flow\../../supwisdom/sp_data.c\296</Expression>
+        </Bp>
+        <Bp>
+          <Number>1</Number>
+          <Type>0</Type>
+          <LineNumber>623</LineNumber>
+          <EnabledFlag>0</EnabledFlag>
+          <Address>134295132</Address>
+          <ByteObject>0</ByteObject>
+          <ManyObjects>0</ManyObjects>
+          <SizeOfObject>0</SizeOfObject>
+          <BreakByAccess>0</BreakByAccess>
+          <BreakIfRCount>1</BreakIfRCount>
+          <Filename></Filename>
+          <ExecCommand></ExecCommand>
+          <Expression>\\G401302_flow\../../supwisdom/sp_consume.c\623</Expression>
+        </Bp>
+        <Bp>
+          <Number>2</Number>
+          <Type>0</Type>
+          <LineNumber>206</LineNumber>
+          <EnabledFlag>1</EnabledFlag>
+          <Address>134291598</Address>
+          <ByteObject>0</ByteObject>
+          <ManyObjects>0</ManyObjects>
+          <SizeOfObject>0</SizeOfObject>
+          <BreakByAccess>0</BreakByAccess>
+          <BreakIfRCount>1</BreakIfRCount>
+          <Filename></Filename>
+          <ExecCommand></ExecCommand>
+          <Expression>\\G401302_flow\../../supwisdom/sp_communicate.c\206</Expression>
+        </Bp>
+      </Breakpoint>
+      <WatchWindow1>
+        <Ww>
+          <count>0</count>
+          <WinNumber>1</WinNumber>
+          <ItemText>60*4095/653</ItemText>
+        </Ww>
+        <Ww>
+          <count>1</count>
+          <WinNumber>1</WinNumber>
+          <ItemText>cardkey
+</ItemText>
+        </Ww>
+        <Ww>
+          <count>2</count>
+          <WinNumber>1</WinNumber>
+          <ItemText>usart_info</ItemText>
+        </Ww>
+      </WatchWindow1>
+      <MemoryWindow1>
+        <Mm>
+          <WinNumber>1</WinNumber>
+          <SubType>0</SubType>
+          <ItemText>0x20004EC0</ItemText>
+        </Mm>
+      </MemoryWindow1>
+      <MemoryWindow2>
+        <Mm>
+          <WinNumber>2</WinNumber>
+          <SubType>2</SubType>
+          <ItemText>0X20002F10</ItemText>
+        </Mm>
+      </MemoryWindow2>
+      <MemoryWindow3>
+        <Mm>
+          <WinNumber>3</WinNumber>
+          <SubType>2</SubType>
+          <ItemText>0x200000ee</ItemText>
+        </Mm>
+      </MemoryWindow3>
+      <MemoryWindow4>
+        <Mm>
+          <WinNumber>4</WinNumber>
+          <SubType>2</SubType>
+          <ItemText>0x08007C84</ItemText>
+        </Mm>
+      </MemoryWindow4>
+      <DebugFlag>
+        <trace>0</trace>
+        <periodic>1</periodic>
+        <aLwin>1</aLwin>
+        <aCover>0</aCover>
+        <aSer1>0</aSer1>
+        <aSer2>0</aSer2>
+        <aPa>0</aPa>
+        <viewmode>1</viewmode>
+        <vrSel>0</vrSel>
+        <aSym>0</aSym>
+        <aTbox>0</aTbox>
+        <AscS1>1</AscS1>
+        <AscS2>0</AscS2>
+        <AscS3>0</AscS3>
+        <aSer3>0</aSer3>
+        <eProf>0</eProf>
+        <aLa>0</aLa>
+        <aPa1>0</aPa1>
+        <AscS4>0</AscS4>
+        <aSer4>0</aSer4>
+        <StkLoc>0</StkLoc>
+        <TrcWin>0</TrcWin>
+        <newCpu>0</newCpu>
+        <uProt>0</uProt>
+      </DebugFlag>
+      <LintExecutable></LintExecutable>
+      <LintConfigFile></LintConfigFile>
+    </TargetOption>
+  </Target>
+
+  <Target>
+    <TargetName>timer</TargetName>
+    <ToolsetNumber>0x4</ToolsetNumber>
+    <ToolsetName>ARM-ADS</ToolsetName>
+    <TargetOption>
+      <CLKADS>8000000</CLKADS>
+      <OPTTT>
+        <gFlags>1</gFlags>
+        <BeepAtEnd>1</BeepAtEnd>
+        <RunSim>1</RunSim>
+        <RunTarget>0</RunTarget>
+      </OPTTT>
+      <OPTHX>
+        <HexSelection>1</HexSelection>
+        <FlashByte>65535</FlashByte>
+        <HexRangeLowAddress>0</HexRangeLowAddress>
+        <HexRangeHighAddress>0</HexRangeHighAddress>
+        <HexOffset>0</HexOffset>
+      </OPTHX>
+      <OPTLEX>
+        <PageWidth>79</PageWidth>
+        <PageLength>66</PageLength>
+        <TabStop>8</TabStop>
+        <ListingPath>..\outTimer\</ListingPath>
+      </OPTLEX>
+      <ListingPage>
+        <CreateCListing>1</CreateCListing>
+        <CreateAListing>1</CreateAListing>
+        <CreateLListing>1</CreateLListing>
+        <CreateIListing>0</CreateIListing>
+        <AsmCond>1</AsmCond>
+        <AsmSymb>1</AsmSymb>
+        <AsmXref>0</AsmXref>
+        <CCond>1</CCond>
+        <CCode>0</CCode>
+        <CListInc>0</CListInc>
+        <CSymb>0</CSymb>
+        <LinkerCodeListing>0</LinkerCodeListing>
+      </ListingPage>
+      <OPTXL>
+        <LMap>1</LMap>
+        <LComments>1</LComments>
+        <LGenerateSymbols>1</LGenerateSymbols>
+        <LLibSym>1</LLibSym>
+        <LLines>1</LLines>
+        <LLocSym>1</LLocSym>
+        <LPubSym>1</LPubSym>
+        <LXref>0</LXref>
+        <LExpSel>0</LExpSel>
+      </OPTXL>
+      <OPTFL>
+        <tvExp>1</tvExp>
+        <tvExpOptDlg>0</tvExpOptDlg>
+        <IsCurrentTarget>0</IsCurrentTarget>
+      </OPTFL>
+      <CpuCode>255</CpuCode>
+      <Books>
+        <Book>
+          <Number>0</Number>
+          <Title>Reference Manual</Title>
+          <Path>DATASHTS\ST\STM32F10xxx.PDF</Path>
+        </Book>
+        <Book>
+          <Number>1</Number>
+          <Title>Technical Reference Manual</Title>
+          <Path>datashts\arm\cortex_m3\r1p1\DDI0337E_CORTEX_M3_R1P1_TRM.PDF</Path>
+        </Book>
+        <Book>
+          <Number>2</Number>
+          <Title>Generic User Guide</Title>
+          <Path>datashts\arm\cortex_m3\r2p1\DUI0552A_CORTEX_M3_DGUG.PDF</Path>
+        </Book>
+      </Books>
+      <DllOpt>
+        <SimDllName>SARMCM3.DLL</SimDllName>
+        <SimDllArguments>-REMAP</SimDllArguments>
+        <SimDlgDllName>DCM.DLL</SimDlgDllName>
+        <SimDlgDllArguments>-pCM3</SimDlgDllArguments>
+        <TargetDllName>SARMCM3.DLL</TargetDllName>
+        <TargetDllArguments></TargetDllArguments>
+        <TargetDlgDllName>TCM.DLL</TargetDlgDllName>
+        <TargetDlgDllArguments>-pCM3</TargetDlgDllArguments>
+      </DllOpt>
+      <DebugOpt>
+        <uSim>1</uSim>
+        <uTrg>0</uTrg>
+        <sLdApp>1</sLdApp>
+        <sGomain>1</sGomain>
+        <sRbreak>1</sRbreak>
+        <sRwatch>1</sRwatch>
+        <sRmem>1</sRmem>
+        <sRfunc>1</sRfunc>
+        <sRbox>1</sRbox>
+        <tLdApp>1</tLdApp>
+        <tGomain>1</tGomain>
+        <tRbreak>1</tRbreak>
+        <tRwatch>1</tRwatch>
+        <tRmem>1</tRmem>
+        <tRfunc>0</tRfunc>
+        <tRbox>1</tRbox>
+        <sRunDeb>0</sRunDeb>
+        <sLrtime>0</sLrtime>
+        <nTsel>5</nTsel>
+        <sDll></sDll>
+        <sDllPa></sDllPa>
+        <sDlgDll></sDlgDll>
+        <sDlgPa></sDlgPa>
+        <sIfile>.\merge.ini</sIfile>
+        <tDll></tDll>
+        <tDllPa></tDllPa>
+        <tDlgDll></tDlgDll>
+        <tDlgPa></tDlgPa>
+        <tIfile></tIfile>
+        <pMon>Segger\JL2CM3.dll</pMon>
+      </DebugOpt>
+      <TargetDriverDllRegistry>
+        <SetRegEntry>
+          <Number>0</Number>
+          <Key>JL2CM3</Key>
+          <Name>-U20370421 -O718 -S9 -A0 -C0 -JU1 -JI127.0.0.1 -JP0 -RST0 -N00("ARM CoreSight SW-DP") -D00(1BA01477) -L00(0) -TO18 -TC10000000 -TP21 -TDS8007 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -TB1 -TFE0 -FO15 -FD20000000 -FC2000 -FN1 -FF0STM32F10x_512 -FS08000000 -FL080000</Name>
+        </SetRegEntry>
+        <SetRegEntry>
+          <Number>0</Number>
+          <Key>DLGUARM</Key>
+          <Name>(106=-1,-1,-1,-1,0)(107=-1,-1,-1,-1,0)</Name>
+        </SetRegEntry>
+        <SetRegEntry>
+          <Number>0</Number>
+          <Key>DLGTARM</Key>
+          <Name>(1010=-1,-1,-1,-1,0)(1007=-1,-1,-1,-1,0)(1008=-1,-1,-1,-1,0)(1009=-1,-1,-1,-1,0)</Name>
+        </SetRegEntry>
+        <SetRegEntry>
+          <Number>0</Number>
+          <Key>UL2CM3</Key>
+          <Name>-UV0010M9E -O718 -S10 -C0 -TO18 -TC10000000 -TP21 -TDS8007 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -FO15 -FD20000000 -FC2000 -FN1 -FF0STM32F10x_512 -FS08000000 -FL040000</Name>
+        </SetRegEntry>
+        <SetRegEntry>
+          <Number>0</Number>
+          <Key>DLGDARM</Key>
+          <Name>(1010=-1,-1,-1,-1,0)(1007=-1,-1,-1,-1,0)(1008=90,120,456,345,0)(1009=-1,-1,-1,-1,0)</Name>
+        </SetRegEntry>
+        <SetRegEntry>
+          <Number>0</Number>
+          <Key>ARMDBGFLAGS</Key>
+          <Name>-T0</Name>
+        </SetRegEntry>
+      </TargetDriverDllRegistry>
+      <WatchWindow1>
+        <Ww>
+          <count>0</count>
+          <WinNumber>1</WinNumber>
+          <ItemText>60*4095/653</ItemText>
+        </Ww>
+        <Ww>
+          <count>1</count>
+          <WinNumber>1</WinNumber>
+          <ItemText>cardkey
+</ItemText>
+        </Ww>
+      </WatchWindow1>
+      <MemoryWindow1>
+        <Mm>
+          <WinNumber>1</WinNumber>
+          <SubType>0</SubType>
+          <ItemText>rd_buff</ItemText>
+        </Mm>
+      </MemoryWindow1>
+      <MemoryWindow2>
+        <Mm>
+          <WinNumber>2</WinNumber>
+          <SubType>2</SubType>
+          <ItemText>0X20002F10</ItemText>
+        </Mm>
+      </MemoryWindow2>
+      <MemoryWindow3>
+        <Mm>
+          <WinNumber>3</WinNumber>
+          <SubType>2</SubType>
+          <ItemText>0x200000ee</ItemText>
+        </Mm>
+      </MemoryWindow3>
+      <MemoryWindow4>
+        <Mm>
+          <WinNumber>4</WinNumber>
+          <SubType>2</SubType>
+          <ItemText>0x08007C84</ItemText>
+        </Mm>
+      </MemoryWindow4>
+      <DebugFlag>
+        <trace>0</trace>
+        <periodic>1</periodic>
+        <aLwin>1</aLwin>
+        <aCover>0</aCover>
+        <aSer1>0</aSer1>
+        <aSer2>0</aSer2>
+        <aPa>0</aPa>
+        <viewmode>1</viewmode>
+        <vrSel>0</vrSel>
+        <aSym>0</aSym>
+        <aTbox>0</aTbox>
+        <AscS1>1</AscS1>
+        <AscS2>0</AscS2>
+        <AscS3>0</AscS3>
+        <aSer3>0</aSer3>
+        <eProf>0</eProf>
+        <aLa>0</aLa>
+        <aPa1>0</aPa1>
+        <AscS4>0</AscS4>
+        <aSer4>0</aSer4>
+        <StkLoc>0</StkLoc>
+        <TrcWin>0</TrcWin>
+        <newCpu>0</newCpu>
+        <uProt>0</uProt>
+      </DebugFlag>
+      <LintExecutable></LintExecutable>
+      <LintConfigFile></LintConfigFile>
+    </TargetOption>
+  </Target>
+
+  <Group>
+    <GroupName>lcd</GroupName>
+    <tvExp>1</tvExp>
+    <tvExpOptDlg>0</tvExpOptDlg>
+    <cbSel>0</cbSel>
+    <File>
+      <GroupNumber>1</GroupNumber>
+      <FileNumber>1</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <Focus>0</Focus>
+      <ColumnNumber>0</ColumnNumber>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <TopLine>101</TopLine>
+      <CurrentLine>110</CurrentLine>
+      <bDave2>0</bDave2>
+      <PathWithFileName>..\..\lcd\glcd.c</PathWithFileName>
+      <FilenameWithoutPath>glcd.c</FilenameWithoutPath>
+    </File>
+    <File>
+      <GroupNumber>1</GroupNumber>
+      <FileNumber>2</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <Focus>0</Focus>
+      <ColumnNumber>0</ColumnNumber>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <TopLine>0</TopLine>
+      <CurrentLine>0</CurrentLine>
+      <bDave2>0</bDave2>
+      <PathWithFileName>..\..\lcd\graphics.c</PathWithFileName>
+      <FilenameWithoutPath>graphics.c</FilenameWithoutPath>
+    </File>
+    <File>
+      <GroupNumber>1</GroupNumber>
+      <FileNumber>3</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <Focus>0</Focus>
+      <ColumnNumber>0</ColumnNumber>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <TopLine>0</TopLine>
+      <CurrentLine>0</CurrentLine>
+      <bDave2>0</bDave2>
+      <PathWithFileName>..\..\lcd\graphs.c</PathWithFileName>
+      <FilenameWithoutPath>graphs.c</FilenameWithoutPath>
+    </File>
+    <File>
+      <GroupNumber>1</GroupNumber>
+      <FileNumber>4</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <Focus>0</Focus>
+      <ColumnNumber>0</ColumnNumber>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <TopLine>0</TopLine>
+      <CurrentLine>0</CurrentLine>
+      <bDave2>0</bDave2>
+      <PathWithFileName>..\..\lcd\text.c</PathWithFileName>
+      <FilenameWithoutPath>text.c</FilenameWithoutPath>
+    </File>
+    <File>
+      <GroupNumber>1</GroupNumber>
+      <FileNumber>5</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <Focus>0</Focus>
+      <ColumnNumber>0</ColumnNumber>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <TopLine>0</TopLine>
+      <CurrentLine>0</CurrentLine>
+      <bDave2>0</bDave2>
+      <PathWithFileName>..\..\lcd\text_tiny.c</PathWithFileName>
+      <FilenameWithoutPath>text_tiny.c</FilenameWithoutPath>
+    </File>
+    <File>
+      <GroupNumber>1</GroupNumber>
+      <FileNumber>6</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <Focus>0</Focus>
+      <ColumnNumber>0</ColumnNumber>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <TopLine>0</TopLine>
+      <CurrentLine>0</CurrentLine>
+      <bDave2>0</bDave2>
+      <PathWithFileName>..\..\lcd\unit_tests.c</PathWithFileName>
+      <FilenameWithoutPath>unit_tests.c</FilenameWithoutPath>
+    </File>
+    <File>
+      <GroupNumber>1</GroupNumber>
+      <FileNumber>7</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <Focus>0</Focus>
+      <ColumnNumber>0</ColumnNumber>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <TopLine>0</TopLine>
+      <CurrentLine>0</CurrentLine>
+      <bDave2>0</bDave2>
+      <PathWithFileName>..\..\lcd\glcd_spi.c</PathWithFileName>
+      <FilenameWithoutPath>glcd_spi.c</FilenameWithoutPath>
+    </File>
+    <File>
+      <GroupNumber>1</GroupNumber>
+      <FileNumber>8</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <Focus>0</Focus>
+      <ColumnNumber>0</ColumnNumber>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <TopLine>0</TopLine>
+      <CurrentLine>0</CurrentLine>
+      <bDave2>0</bDave2>
+      <PathWithFileName>..\..\lcd\ST7565R.c</PathWithFileName>
+      <FilenameWithoutPath>ST7565R.c</FilenameWithoutPath>
+    </File>
+    <File>
+      <GroupNumber>1</GroupNumber>
+      <FileNumber>9</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <Focus>0</Focus>
+      <ColumnNumber>0</ColumnNumber>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <TopLine>54</TopLine>
+      <CurrentLine>76</CurrentLine>
+      <bDave2>0</bDave2>
+      <PathWithFileName>..\..\lcd\spi.c</PathWithFileName>
+      <FilenameWithoutPath>spi.c</FilenameWithoutPath>
+    </File>
+  </Group>
+
+  <Group>
+    <GroupName>icc_apdu_lib</GroupName>
+    <tvExp>1</tvExp>
+    <tvExpOptDlg>0</tvExpOptDlg>
+    <cbSel>0</cbSel>
+    <File>
+      <GroupNumber>2</GroupNumber>
+      <FileNumber>10</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <Focus>0</Focus>
+      <ColumnNumber>0</ColumnNumber>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <TopLine>0</TopLine>
+      <CurrentLine>0</CurrentLine>
+      <bDave2>0</bDave2>
+      <PathWithFileName>..\..\icc_apdu_lib\des.c</PathWithFileName>
+      <FilenameWithoutPath>des.c</FilenameWithoutPath>
+    </File>
+  </Group>
+
+  <Group>
+    <GroupName>sw</GroupName>
+    <tvExp>1</tvExp>
+    <tvExpOptDlg>0</tvExpOptDlg>
+    <cbSel>0</cbSel>
+    <File>
+      <GroupNumber>3</GroupNumber>
+      <FileNumber>11</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <Focus>0</Focus>
+      <ColumnNumber>0</ColumnNumber>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <TopLine>0</TopLine>
+      <CurrentLine>0</CurrentLine>
+      <bDave2>0</bDave2>
+      <PathWithFileName>..\src\nec_apdu.c</PathWithFileName>
+      <FilenameWithoutPath>nec_apdu.c</FilenameWithoutPath>
+    </File>
+    <File>
+      <GroupNumber>3</GroupNumber>
+      <FileNumber>12</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <Focus>0</Focus>
+      <ColumnNumber>0</ColumnNumber>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <TopLine>1</TopLine>
+      <CurrentLine>1</CurrentLine>
+      <bDave2>0</bDave2>
+      <PathWithFileName>..\src\nec_hardware.c</PathWithFileName>
+      <FilenameWithoutPath>nec_hardware.c</FilenameWithoutPath>
+    </File>
+    <File>
+      <GroupNumber>3</GroupNumber>
+      <FileNumber>13</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <Focus>0</Focus>
+      <ColumnNumber>31</ColumnNumber>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <TopLine>132</TopLine>
+      <CurrentLine>139</CurrentLine>
+      <bDave2>0</bDave2>
+      <PathWithFileName>..\src\stm32f10x_it.c</PathWithFileName>
+      <FilenameWithoutPath>stm32f10x_it.c</FilenameWithoutPath>
+    </File>
+    <File>
+      <GroupNumber>3</GroupNumber>
+      <FileNumber>14</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <Focus>0</Focus>
+      <ColumnNumber>0</ColumnNumber>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <TopLine>11</TopLine>
+      <CurrentLine>15</CurrentLine>
+      <bDave2>0</bDave2>
+      <PathWithFileName>..\..\supwisdom\main.c</PathWithFileName>
+      <FilenameWithoutPath>main.c</FilenameWithoutPath>
+    </File>
+    <File>
+      <GroupNumber>3</GroupNumber>
+      <FileNumber>15</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <Focus>0</Focus>
+      <ColumnNumber>0</ColumnNumber>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <TopLine>25</TopLine>
+      <CurrentLine>25</CurrentLine>
+      <bDave2>0</bDave2>
+      <PathWithFileName>..\..\supwisdom\sp_card.c</PathWithFileName>
+      <FilenameWithoutPath>sp_card.c</FilenameWithoutPath>
+    </File>
+    <File>
+      <GroupNumber>3</GroupNumber>
+      <FileNumber>16</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <Focus>0</Focus>
+      <ColumnNumber>0</ColumnNumber>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <TopLine>196</TopLine>
+      <CurrentLine>208</CurrentLine>
+      <bDave2>0</bDave2>
+      <PathWithFileName>..\..\supwisdom\sp_communicate.c</PathWithFileName>
+      <FilenameWithoutPath>sp_communicate.c</FilenameWithoutPath>
+    </File>
+    <File>
+      <GroupNumber>3</GroupNumber>
+      <FileNumber>17</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <Focus>0</Focus>
+      <ColumnNumber>0</ColumnNumber>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <TopLine>551</TopLine>
+      <CurrentLine>558</CurrentLine>
+      <bDave2>0</bDave2>
+      <PathWithFileName>..\..\supwisdom\sp_consume.c</PathWithFileName>
+      <FilenameWithoutPath>sp_consume.c</FilenameWithoutPath>
+    </File>
+    <File>
+      <GroupNumber>3</GroupNumber>
+      <FileNumber>18</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <Focus>0</Focus>
+      <ColumnNumber>0</ColumnNumber>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <TopLine>208</TopLine>
+      <CurrentLine>215</CurrentLine>
+      <bDave2>0</bDave2>
+      <PathWithFileName>..\..\supwisdom\sp_data.c</PathWithFileName>
+      <FilenameWithoutPath>sp_data.c</FilenameWithoutPath>
+    </File>
+    <File>
+      <GroupNumber>3</GroupNumber>
+      <FileNumber>19</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <Focus>0</Focus>
+      <ColumnNumber>0</ColumnNumber>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <TopLine>0</TopLine>
+      <CurrentLine>0</CurrentLine>
+      <bDave2>0</bDave2>
+      <PathWithFileName>..\..\supwisdom\sp_des.c</PathWithFileName>
+      <FilenameWithoutPath>sp_des.c</FilenameWithoutPath>
+    </File>
+    <File>
+      <GroupNumber>3</GroupNumber>
+      <FileNumber>20</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <Focus>0</Focus>
+      <ColumnNumber>56</ColumnNumber>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <TopLine>208</TopLine>
+      <CurrentLine>228</CurrentLine>
+      <bDave2>0</bDave2>
+      <PathWithFileName>..\..\supwisdom\sp_display.c</PathWithFileName>
+      <FilenameWithoutPath>sp_display.c</FilenameWithoutPath>
+    </File>
+    <File>
+      <GroupNumber>3</GroupNumber>
+      <FileNumber>21</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <Focus>0</Focus>
+      <ColumnNumber>0</ColumnNumber>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <TopLine>0</TopLine>
+      <CurrentLine>0</CurrentLine>
+      <bDave2>0</bDave2>
+      <PathWithFileName>..\..\supwisdom\sp_flash.c</PathWithFileName>
+      <FilenameWithoutPath>sp_flash.c</FilenameWithoutPath>
+    </File>
+    <File>
+      <GroupNumber>3</GroupNumber>
+      <FileNumber>22</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <Focus>0</Focus>
+      <ColumnNumber>0</ColumnNumber>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <TopLine>9</TopLine>
+      <CurrentLine>9</CurrentLine>
+      <bDave2>0</bDave2>
+      <PathWithFileName>..\..\supwisdom\sp_menu.c</PathWithFileName>
+      <FilenameWithoutPath>sp_menu.c</FilenameWithoutPath>
+    </File>
+    <File>
+      <GroupNumber>3</GroupNumber>
+      <FileNumber>23</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <Focus>0</Focus>
+      <ColumnNumber>0</ColumnNumber>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <TopLine>15</TopLine>
+      <CurrentLine>21</CurrentLine>
+      <bDave2>0</bDave2>
+      <PathWithFileName>..\..\supwisdom\sp_msgpack.c</PathWithFileName>
+      <FilenameWithoutPath>sp_msgpack.c</FilenameWithoutPath>
+    </File>
+    <File>
+      <GroupNumber>3</GroupNumber>
+      <FileNumber>24</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <Focus>0</Focus>
+      <ColumnNumber>0</ColumnNumber>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <TopLine>175</TopLine>
+      <CurrentLine>175</CurrentLine>
+      <bDave2>0</bDave2>
+      <PathWithFileName>..\..\supwisdom\sp_util.c</PathWithFileName>
+      <FilenameWithoutPath>sp_util.c</FilenameWithoutPath>
+    </File>
+    <File>
+      <GroupNumber>3</GroupNumber>
+      <FileNumber>25</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <Focus>0</Focus>
+      <ColumnNumber>0</ColumnNumber>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <TopLine>0</TopLine>
+      <CurrentLine>0</CurrentLine>
+      <bDave2>0</bDave2>
+      <PathWithFileName>..\..\supwisdom\sp_upgrade.c</PathWithFileName>
+      <FilenameWithoutPath>sp_upgrade.c</FilenameWithoutPath>
+    </File>
+  </Group>
+
+  <Group>
+    <GroupName>lib</GroupName>
+    <tvExp>1</tvExp>
+    <tvExpOptDlg>0</tvExpOptDlg>
+    <cbSel>0</cbSel>
+    <File>
+      <GroupNumber>4</GroupNumber>
+      <FileNumber>26</FileNumber>
+      <FileType>4</FileType>
+      <tvExp>0</tvExp>
+      <Focus>0</Focus>
+      <ColumnNumber>0</ColumnNumber>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <TopLine>0</TopLine>
+      <CurrentLine>0</CurrentLine>
+      <bDave2>0</bDave2>
+      <PathWithFileName>..\lib\G401_drv_hw_V04.lib</PathWithFileName>
+      <FilenameWithoutPath>G401_drv_hw_V04.lib</FilenameWithoutPath>
+    </File>
+    <File>
+      <GroupNumber>4</GroupNumber>
+      <FileNumber>27</FileNumber>
+      <FileType>4</FileType>
+      <tvExp>0</tvExp>
+      <Focus>0</Focus>
+      <ColumnNumber>0</ColumnNumber>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <TopLine>0</TopLine>
+      <CurrentLine>0</CurrentLine>
+      <bDave2>0</bDave2>
+      <PathWithFileName>..\lib\g401_uart5_v001.lib</PathWithFileName>
+      <FilenameWithoutPath>g401_uart5_v001.lib</FilenameWithoutPath>
+    </File>
+  </Group>
+
+  <Group>
+    <GroupName>st_fw_lib</GroupName>
+    <tvExp>0</tvExp>
+    <tvExpOptDlg>0</tvExpOptDlg>
+    <cbSel>0</cbSel>
+    <File>
+      <GroupNumber>5</GroupNumber>
+      <FileNumber>28</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <Focus>0</Focus>
+      <ColumnNumber>0</ColumnNumber>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <TopLine>0</TopLine>
+      <CurrentLine>0</CurrentLine>
+      <bDave2>0</bDave2>
+      <PathWithFileName>..\..\st_fw_lib\src\core_cm3.c</PathWithFileName>
+      <FilenameWithoutPath>core_cm3.c</FilenameWithoutPath>
+    </File>
+    <File>
+      <GroupNumber>5</GroupNumber>
+      <FileNumber>29</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <Focus>0</Focus>
+      <ColumnNumber>0</ColumnNumber>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <TopLine>0</TopLine>
+      <CurrentLine>0</CurrentLine>
+      <bDave2>0</bDave2>
+      <PathWithFileName>..\..\st_fw_lib\src\misc.c</PathWithFileName>
+      <FilenameWithoutPath>misc.c</FilenameWithoutPath>
+    </File>
+    <File>
+      <GroupNumber>5</GroupNumber>
+      <FileNumber>30</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <Focus>0</Focus>
+      <ColumnNumber>0</ColumnNumber>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <TopLine>0</TopLine>
+      <CurrentLine>0</CurrentLine>
+      <bDave2>0</bDave2>
+      <PathWithFileName>..\..\st_fw_lib\src\stm32f10x_adc.c</PathWithFileName>
+      <FilenameWithoutPath>stm32f10x_adc.c</FilenameWithoutPath>
+    </File>
+    <File>
+      <GroupNumber>5</GroupNumber>
+      <FileNumber>31</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <Focus>0</Focus>
+      <ColumnNumber>0</ColumnNumber>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <TopLine>0</TopLine>
+      <CurrentLine>0</CurrentLine>
+      <bDave2>0</bDave2>
+      <PathWithFileName>..\..\st_fw_lib\src\stm32f10x_bkp.c</PathWithFileName>
+      <FilenameWithoutPath>stm32f10x_bkp.c</FilenameWithoutPath>
+    </File>
+    <File>
+      <GroupNumber>5</GroupNumber>
+      <FileNumber>32</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <Focus>0</Focus>
+      <ColumnNumber>0</ColumnNumber>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <TopLine>0</TopLine>
+      <CurrentLine>0</CurrentLine>
+      <bDave2>0</bDave2>
+      <PathWithFileName>..\..\st_fw_lib\src\stm32f10x_can.c</PathWithFileName>
+      <FilenameWithoutPath>stm32f10x_can.c</FilenameWithoutPath>
+    </File>
+    <File>
+      <GroupNumber>5</GroupNumber>
+      <FileNumber>33</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <Focus>0</Focus>
+      <ColumnNumber>0</ColumnNumber>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <TopLine>0</TopLine>
+      <CurrentLine>0</CurrentLine>
+      <bDave2>0</bDave2>
+      <PathWithFileName>..\..\st_fw_lib\src\stm32f10x_cec.c</PathWithFileName>
+      <FilenameWithoutPath>stm32f10x_cec.c</FilenameWithoutPath>
+    </File>
+    <File>
+      <GroupNumber>5</GroupNumber>
+      <FileNumber>34</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <Focus>0</Focus>
+      <ColumnNumber>0</ColumnNumber>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <TopLine>0</TopLine>
+      <CurrentLine>0</CurrentLine>
+      <bDave2>0</bDave2>
+      <PathWithFileName>..\..\st_fw_lib\src\stm32f10x_crc.c</PathWithFileName>
+      <FilenameWithoutPath>stm32f10x_crc.c</FilenameWithoutPath>
+    </File>
+    <File>
+      <GroupNumber>5</GroupNumber>
+      <FileNumber>35</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <Focus>0</Focus>
+      <ColumnNumber>0</ColumnNumber>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <TopLine>0</TopLine>
+      <CurrentLine>0</CurrentLine>
+      <bDave2>0</bDave2>
+      <PathWithFileName>..\..\st_fw_lib\src\stm32f10x_dac.c</PathWithFileName>
+      <FilenameWithoutPath>stm32f10x_dac.c</FilenameWithoutPath>
+    </File>
+    <File>
+      <GroupNumber>5</GroupNumber>
+      <FileNumber>36</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <Focus>0</Focus>
+      <ColumnNumber>0</ColumnNumber>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <TopLine>0</TopLine>
+      <CurrentLine>0</CurrentLine>
+      <bDave2>0</bDave2>
+      <PathWithFileName>..\..\st_fw_lib\src\stm32f10x_dbgmcu.c</PathWithFileName>
+      <FilenameWithoutPath>stm32f10x_dbgmcu.c</FilenameWithoutPath>
+    </File>
+    <File>
+      <GroupNumber>5</GroupNumber>
+      <FileNumber>37</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <Focus>0</Focus>
+      <ColumnNumber>0</ColumnNumber>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <TopLine>0</TopLine>
+      <CurrentLine>0</CurrentLine>
+      <bDave2>0</bDave2>
+      <PathWithFileName>..\..\st_fw_lib\src\stm32f10x_dma.c</PathWithFileName>
+      <FilenameWithoutPath>stm32f10x_dma.c</FilenameWithoutPath>
+    </File>
+    <File>
+      <GroupNumber>5</GroupNumber>
+      <FileNumber>38</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <Focus>0</Focus>
+      <ColumnNumber>0</ColumnNumber>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <TopLine>0</TopLine>
+      <CurrentLine>0</CurrentLine>
+      <bDave2>0</bDave2>
+      <PathWithFileName>..\..\st_fw_lib\src\stm32f10x_exti.c</PathWithFileName>
+      <FilenameWithoutPath>stm32f10x_exti.c</FilenameWithoutPath>
+    </File>
+    <File>
+      <GroupNumber>5</GroupNumber>
+      <FileNumber>39</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <Focus>0</Focus>
+      <ColumnNumber>0</ColumnNumber>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <TopLine>0</TopLine>
+      <CurrentLine>0</CurrentLine>
+      <bDave2>0</bDave2>
+      <PathWithFileName>..\..\st_fw_lib\src\stm32f10x_flash.c</PathWithFileName>
+      <FilenameWithoutPath>stm32f10x_flash.c</FilenameWithoutPath>
+    </File>
+    <File>
+      <GroupNumber>5</GroupNumber>
+      <FileNumber>40</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <Focus>0</Focus>
+      <ColumnNumber>0</ColumnNumber>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <TopLine>0</TopLine>
+      <CurrentLine>0</CurrentLine>
+      <bDave2>0</bDave2>
+      <PathWithFileName>..\..\st_fw_lib\src\stm32f10x_fsmc.c</PathWithFileName>
+      <FilenameWithoutPath>stm32f10x_fsmc.c</FilenameWithoutPath>
+    </File>
+    <File>
+      <GroupNumber>5</GroupNumber>
+      <FileNumber>41</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <Focus>0</Focus>
+      <ColumnNumber>0</ColumnNumber>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <TopLine>232</TopLine>
+      <CurrentLine>236</CurrentLine>
+      <bDave2>0</bDave2>
+      <PathWithFileName>..\..\st_fw_lib\src\stm32f10x_gpio.c</PathWithFileName>
+      <FilenameWithoutPath>stm32f10x_gpio.c</FilenameWithoutPath>
+    </File>
+    <File>
+      <GroupNumber>5</GroupNumber>
+      <FileNumber>42</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <Focus>0</Focus>
+      <ColumnNumber>0</ColumnNumber>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <TopLine>0</TopLine>
+      <CurrentLine>0</CurrentLine>
+      <bDave2>0</bDave2>
+      <PathWithFileName>..\..\st_fw_lib\src\stm32f10x_i2c.c</PathWithFileName>
+      <FilenameWithoutPath>stm32f10x_i2c.c</FilenameWithoutPath>
+    </File>
+    <File>
+      <GroupNumber>5</GroupNumber>
+      <FileNumber>43</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <Focus>0</Focus>
+      <ColumnNumber>0</ColumnNumber>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <TopLine>0</TopLine>
+      <CurrentLine>0</CurrentLine>
+      <bDave2>0</bDave2>
+      <PathWithFileName>..\..\st_fw_lib\src\stm32f10x_pwr.c</PathWithFileName>
+      <FilenameWithoutPath>stm32f10x_pwr.c</FilenameWithoutPath>
+    </File>
+    <File>
+      <GroupNumber>5</GroupNumber>
+      <FileNumber>44</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <Focus>0</Focus>
+      <ColumnNumber>0</ColumnNumber>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <TopLine>0</TopLine>
+      <CurrentLine>0</CurrentLine>
+      <bDave2>0</bDave2>
+      <PathWithFileName>..\..\st_fw_lib\src\stm32f10x_iwdg.c</PathWithFileName>
+      <FilenameWithoutPath>stm32f10x_iwdg.c</FilenameWithoutPath>
+    </File>
+    <File>
+      <GroupNumber>5</GroupNumber>
+      <FileNumber>45</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <Focus>0</Focus>
+      <ColumnNumber>0</ColumnNumber>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <TopLine>0</TopLine>
+      <CurrentLine>0</CurrentLine>
+      <bDave2>0</bDave2>
+      <PathWithFileName>..\..\st_fw_lib\src\stm32f10x_rcc.c</PathWithFileName>
+      <FilenameWithoutPath>stm32f10x_rcc.c</FilenameWithoutPath>
+    </File>
+    <File>
+      <GroupNumber>5</GroupNumber>
+      <FileNumber>46</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <Focus>0</Focus>
+      <ColumnNumber>0</ColumnNumber>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <TopLine>0</TopLine>
+      <CurrentLine>0</CurrentLine>
+      <bDave2>0</bDave2>
+      <PathWithFileName>..\..\st_fw_lib\src\stm32f10x_rtc.c</PathWithFileName>
+      <FilenameWithoutPath>stm32f10x_rtc.c</FilenameWithoutPath>
+    </File>
+    <File>
+      <GroupNumber>5</GroupNumber>
+      <FileNumber>47</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <Focus>0</Focus>
+      <ColumnNumber>0</ColumnNumber>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <TopLine>0</TopLine>
+      <CurrentLine>0</CurrentLine>
+      <bDave2>0</bDave2>
+      <PathWithFileName>..\..\st_fw_lib\src\stm32f10x_sdio.c</PathWithFileName>
+      <FilenameWithoutPath>stm32f10x_sdio.c</FilenameWithoutPath>
+    </File>
+    <File>
+      <GroupNumber>5</GroupNumber>
+      <FileNumber>48</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <Focus>0</Focus>
+      <ColumnNumber>0</ColumnNumber>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <TopLine>0</TopLine>
+      <CurrentLine>0</CurrentLine>
+      <bDave2>0</bDave2>
+      <PathWithFileName>..\..\st_fw_lib\src\stm32f10x_spi.c</PathWithFileName>
+      <FilenameWithoutPath>stm32f10x_spi.c</FilenameWithoutPath>
+    </File>
+    <File>
+      <GroupNumber>5</GroupNumber>
+      <FileNumber>49</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <Focus>0</Focus>
+      <ColumnNumber>0</ColumnNumber>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <TopLine>0</TopLine>
+      <CurrentLine>0</CurrentLine>
+      <bDave2>0</bDave2>
+      <PathWithFileName>..\..\st_fw_lib\src\stm32f10x_tim.c</PathWithFileName>
+      <FilenameWithoutPath>stm32f10x_tim.c</FilenameWithoutPath>
+    </File>
+    <File>
+      <GroupNumber>5</GroupNumber>
+      <FileNumber>50</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <Focus>0</Focus>
+      <ColumnNumber>0</ColumnNumber>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <TopLine>0</TopLine>
+      <CurrentLine>0</CurrentLine>
+      <bDave2>0</bDave2>
+      <PathWithFileName>..\..\st_fw_lib\src\stm32f10x_usart.c</PathWithFileName>
+      <FilenameWithoutPath>stm32f10x_usart.c</FilenameWithoutPath>
+    </File>
+    <File>
+      <GroupNumber>5</GroupNumber>
+      <FileNumber>51</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <Focus>0</Focus>
+      <ColumnNumber>0</ColumnNumber>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <TopLine>0</TopLine>
+      <CurrentLine>0</CurrentLine>
+      <bDave2>0</bDave2>
+      <PathWithFileName>..\..\st_fw_lib\src\stm32f10x_wwdg.c</PathWithFileName>
+      <FilenameWithoutPath>stm32f10x_wwdg.c</FilenameWithoutPath>
+    </File>
+    <File>
+      <GroupNumber>5</GroupNumber>
+      <FileNumber>52</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <Focus>0</Focus>
+      <ColumnNumber>0</ColumnNumber>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <TopLine>0</TopLine>
+      <CurrentLine>0</CurrentLine>
+      <bDave2>0</bDave2>
+      <PathWithFileName>..\..\st_fw_lib\system_stm32f10x.c</PathWithFileName>
+      <FilenameWithoutPath>system_stm32f10x.c</FilenameWithoutPath>
+    </File>
+    <File>
+      <GroupNumber>5</GroupNumber>
+      <FileNumber>53</FileNumber>
+      <FileType>2</FileType>
+      <tvExp>0</tvExp>
+      <Focus>0</Focus>
+      <ColumnNumber>0</ColumnNumber>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <TopLine>0</TopLine>
+      <CurrentLine>0</CurrentLine>
+      <bDave2>0</bDave2>
+      <PathWithFileName>..\..\st_fw_lib\startup_stm32f10x_hd.s</PathWithFileName>
+      <FilenameWithoutPath>startup_stm32f10x_hd.s</FilenameWithoutPath>
+    </File>
+  </Group>
+
+  <Group>
+    <GroupName>sys_hw</GroupName>
+    <tvExp>1</tvExp>
+    <tvExpOptDlg>0</tvExpOptDlg>
+    <cbSel>0</cbSel>
+    <File>
+      <GroupNumber>6</GroupNumber>
+      <FileNumber>54</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <Focus>0</Focus>
+      <ColumnNumber>0</ColumnNumber>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <TopLine>58</TopLine>
+      <CurrentLine>62</CurrentLine>
+      <bDave2>0</bDave2>
+      <PathWithFileName>..\..\sys_hw\keypad.c</PathWithFileName>
+      <FilenameWithoutPath>keypad.c</FilenameWithoutPath>
+    </File>
+    <File>
+      <GroupNumber>6</GroupNumber>
+      <FileNumber>55</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <Focus>0</Focus>
+      <ColumnNumber>0</ColumnNumber>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <TopLine>0</TopLine>
+      <CurrentLine>0</CurrentLine>
+      <bDave2>0</bDave2>
+      <PathWithFileName>..\..\sys_hw\drv_adc.c</PathWithFileName>
+      <FilenameWithoutPath>drv_adc.c</FilenameWithoutPath>
+    </File>
+  </Group>
+
+  <Group>
+    <GroupName>zk</GroupName>
+    <tvExp>0</tvExp>
+    <tvExpOptDlg>0</tvExpOptDlg>
+    <cbSel>0</cbSel>
+    <File>
+      <GroupNumber>7</GroupNumber>
+      <FileNumber>56</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <Focus>0</Focus>
+      <ColumnNumber>0</ColumnNumber>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <TopLine>0</TopLine>
+      <CurrentLine>0</CurrentLine>
+      <bDave2>0</bDave2>
+      <PathWithFileName>..\..\zk\gb2312_16.c</PathWithFileName>
+      <FilenameWithoutPath>gb2312_16.c</FilenameWithoutPath>
+    </File>
+  </Group>
+
+  <Group>
+    <GroupName>libqr</GroupName>
+    <tvExp>0</tvExp>
+    <tvExpOptDlg>0</tvExpOptDlg>
+    <cbSel>0</cbSel>
+    <File>
+      <GroupNumber>8</GroupNumber>
+      <FileNumber>57</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <Focus>0</Focus>
+      <ColumnNumber>0</ColumnNumber>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <TopLine>0</TopLine>
+      <CurrentLine>0</CurrentLine>
+      <bDave2>0</bDave2>
+      <PathWithFileName>..\..\libqr\qrencode.c</PathWithFileName>
+      <FilenameWithoutPath>qrencode.c</FilenameWithoutPath>
+    </File>
+  </Group>
+
+  <Group>
+    <GroupName>msgpack</GroupName>
+    <tvExp>0</tvExp>
+    <tvExpOptDlg>0</tvExpOptDlg>
+    <cbSel>0</cbSel>
+    <File>
+      <GroupNumber>9</GroupNumber>
+      <FileNumber>58</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <Focus>0</Focus>
+      <ColumnNumber>0</ColumnNumber>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <TopLine>0</TopLine>
+      <CurrentLine>0</CurrentLine>
+      <bDave2>0</bDave2>
+      <PathWithFileName>..\..\msgpack\cwpack.c</PathWithFileName>
+      <FilenameWithoutPath>cwpack.c</FilenameWithoutPath>
+    </File>
+  </Group>
+
+</ProjectOpt>
diff --git a/g401302/project/g401302.uvproj b/g401302/project/g401302.uvproj
new file mode 100644
index 0000000..eb083a6
--- /dev/null
+++ b/g401302/project/g401302.uvproj
@@ -0,0 +1,1439 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
+<Project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="project_proj.xsd">
+
+  <SchemaVersion>1.1</SchemaVersion>
+
+  <Header>### uVision Project, (C) Keil Software</Header>
+
+  <Targets>
+    <Target>
+      <TargetName>flow</TargetName>
+      <ToolsetNumber>0x4</ToolsetNumber>
+      <ToolsetName>ARM-ADS</ToolsetName>
+      <TargetOption>
+        <TargetCommonOption>
+          <Device>STM32F103RC</Device>
+          <Vendor>STMicroelectronics</Vendor>
+          <Cpu>IRAM(0x20000000-0x2000BFFF) IROM(0x8000000-0x803FFFF) CLOCK(8000000) CPUTYPE("Cortex-M3")</Cpu>
+          <FlashUtilSpec></FlashUtilSpec>
+          <StartupFile>"STARTUP\ST\STM32F10x\startup_stm32f10x_hd.s" ("STM32 High Density Line Startup Code")</StartupFile>
+          <FlashDriverDll>UL2CM3(-O14 -S0 -C0 -N00("ARM Cortex-M3") -D00(1BA00477) -L00(4) -FO7 -FD20000000 -FC800 -FN1 -FF0STM32F10x_512 -FS08000000 -FL040000)</FlashDriverDll>
+          <DeviceId>4230</DeviceId>
+          <RegisterFile>stm32f10x.h</RegisterFile>
+          <MemoryEnv></MemoryEnv>
+          <Cmp></Cmp>
+          <Asm></Asm>
+          <Linker></Linker>
+          <OHString></OHString>
+          <InfinionOptionDll></InfinionOptionDll>
+          <SLE66CMisc></SLE66CMisc>
+          <SLE66AMisc></SLE66AMisc>
+          <SLE66LinkerMisc></SLE66LinkerMisc>
+          <SFDFile></SFDFile>
+          <UseEnv>0</UseEnv>
+          <BinPath></BinPath>
+          <IncludePath></IncludePath>
+          <LibPath></LibPath>
+          <RegisterFilePath>ST\STM32F10x\</RegisterFilePath>
+          <DBRegisterFilePath>ST\STM32F10x\</DBRegisterFilePath>
+          <TargetStatus>
+            <Error>0</Error>
+            <ExitCodeStop>0</ExitCodeStop>
+            <ButtonStop>0</ButtonStop>
+            <NotGenerated>0</NotGenerated>
+            <InvalidFlash>1</InvalidFlash>
+          </TargetStatus>
+          <OutputDirectory>..\outFlow\</OutputDirectory>
+          <OutputName>G401302_flow</OutputName>
+          <CreateExecutable>1</CreateExecutable>
+          <CreateLib>0</CreateLib>
+          <CreateHexFile>1</CreateHexFile>
+          <DebugInformation>1</DebugInformation>
+          <BrowseInformation>1</BrowseInformation>
+          <ListingPath>..\outFlow\</ListingPath>
+          <HexFormatSelection>1</HexFormatSelection>
+          <Merge32K>0</Merge32K>
+          <CreateBatchFile>0</CreateBatchFile>
+          <BeforeCompile>
+            <RunUserProg1>0</RunUserProg1>
+            <RunUserProg2>0</RunUserProg2>
+            <UserProg1Name></UserProg1Name>
+            <UserProg2Name></UserProg2Name>
+            <UserProg1Dos16Mode>0</UserProg1Dos16Mode>
+            <UserProg2Dos16Mode>0</UserProg2Dos16Mode>
+          </BeforeCompile>
+          <BeforeMake>
+            <RunUserProg1>1</RunUserProg1>
+            <RunUserProg2>0</RunUserProg2>
+            <UserProg1Name>cmd /c gitver.bat</UserProg1Name>
+            <UserProg2Name></UserProg2Name>
+            <UserProg1Dos16Mode>0</UserProg1Dos16Mode>
+            <UserProg2Dos16Mode>0</UserProg2Dos16Mode>
+          </BeforeMake>
+          <AfterMake>
+            <RunUserProg1>1</RunUserProg1>
+            <RunUserProg2>0</RunUserProg2>
+            <UserProg1Name>fromelf --bin -o ..\outFlow\@l.bin ..\outFlow\@l.axf</UserProg1Name>
+            <UserProg2Name></UserProg2Name>
+            <UserProg1Dos16Mode>0</UserProg1Dos16Mode>
+            <UserProg2Dos16Mode>0</UserProg2Dos16Mode>
+          </AfterMake>
+          <SelectedForBatchBuild>0</SelectedForBatchBuild>
+          <SVCSIdString></SVCSIdString>
+        </TargetCommonOption>
+        <CommonProperty>
+          <UseCPPCompiler>0</UseCPPCompiler>
+          <RVCTCodeConst>0</RVCTCodeConst>
+          <RVCTZI>0</RVCTZI>
+          <RVCTOtherData>0</RVCTOtherData>
+          <ModuleSelection>0</ModuleSelection>
+          <IncludeInBuild>1</IncludeInBuild>
+          <AlwaysBuild>0</AlwaysBuild>
+          <GenerateAssemblyFile>0</GenerateAssemblyFile>
+          <AssembleAssemblyFile>0</AssembleAssemblyFile>
+          <PublicsOnly>0</PublicsOnly>
+          <StopOnExitCode>3</StopOnExitCode>
+          <CustomArgument></CustomArgument>
+          <IncludeLibraryModules></IncludeLibraryModules>
+        </CommonProperty>
+        <DllOption>
+          <SimDllName>SARMCM3.DLL</SimDllName>
+          <SimDllArguments>-REMAP</SimDllArguments>
+          <SimDlgDll>DCM.DLL</SimDlgDll>
+          <SimDlgDllArguments>-pCM3</SimDlgDllArguments>
+          <TargetDllName>SARMCM3.DLL</TargetDllName>
+          <TargetDllArguments></TargetDllArguments>
+          <TargetDlgDll>TCM.DLL</TargetDlgDll>
+          <TargetDlgDllArguments>-pCM3</TargetDlgDllArguments>
+        </DllOption>
+        <DebugOption>
+          <OPTHX>
+            <HexSelection>1</HexSelection>
+            <HexRangeLowAddress>0</HexRangeLowAddress>
+            <HexRangeHighAddress>0</HexRangeHighAddress>
+            <HexOffset>0</HexOffset>
+            <Oh166RecLen>16</Oh166RecLen>
+          </OPTHX>
+          <Simulator>
+            <UseSimulator>0</UseSimulator>
+            <LoadApplicationAtStartup>1</LoadApplicationAtStartup>
+            <RunToMain>1</RunToMain>
+            <RestoreBreakpoints>1</RestoreBreakpoints>
+            <RestoreWatchpoints>1</RestoreWatchpoints>
+            <RestoreMemoryDisplay>1</RestoreMemoryDisplay>
+            <RestoreFunctions>1</RestoreFunctions>
+            <RestoreToolbox>1</RestoreToolbox>
+            <LimitSpeedToRealTime>0</LimitSpeedToRealTime>
+          </Simulator>
+          <Target>
+            <UseTarget>1</UseTarget>
+            <LoadApplicationAtStartup>1</LoadApplicationAtStartup>
+            <RunToMain>1</RunToMain>
+            <RestoreBreakpoints>1</RestoreBreakpoints>
+            <RestoreWatchpoints>1</RestoreWatchpoints>
+            <RestoreMemoryDisplay>1</RestoreMemoryDisplay>
+            <RestoreFunctions>0</RestoreFunctions>
+            <RestoreToolbox>1</RestoreToolbox>
+          </Target>
+          <RunDebugAfterBuild>0</RunDebugAfterBuild>
+          <TargetSelection>7</TargetSelection>
+          <SimDlls>
+            <CpuDll></CpuDll>
+            <CpuDllArguments></CpuDllArguments>
+            <PeripheralDll></PeripheralDll>
+            <PeripheralDllArguments></PeripheralDllArguments>
+            <InitializationFile>.\merge.ini</InitializationFile>
+          </SimDlls>
+          <TargetDlls>
+            <CpuDll></CpuDll>
+            <CpuDllArguments></CpuDllArguments>
+            <PeripheralDll></PeripheralDll>
+            <PeripheralDllArguments></PeripheralDllArguments>
+            <InitializationFile></InitializationFile>
+            <Driver>Segger\JL2CM3.dll</Driver>
+          </TargetDlls>
+        </DebugOption>
+        <Utilities>
+          <Flash1>
+            <UseTargetDll>1</UseTargetDll>
+            <UseExternalTool>0</UseExternalTool>
+            <RunIndependent>0</RunIndependent>
+            <UpdateFlashBeforeDebugging>1</UpdateFlashBeforeDebugging>
+            <Capability>1</Capability>
+            <DriverSelection>4099</DriverSelection>
+          </Flash1>
+          <Flash2>Segger\JL2CM3.dll</Flash2>
+          <Flash3>"" ()</Flash3>
+          <Flash4></Flash4>
+        </Utilities>
+        <TargetArmAds>
+          <ArmAdsMisc>
+            <GenerateListings>0</GenerateListings>
+            <asHll>1</asHll>
+            <asAsm>1</asAsm>
+            <asMacX>1</asMacX>
+            <asSyms>1</asSyms>
+            <asFals>1</asFals>
+            <asDbgD>1</asDbgD>
+            <asForm>1</asForm>
+            <ldLst>0</ldLst>
+            <ldmm>1</ldmm>
+            <ldXref>1</ldXref>
+            <BigEnd>0</BigEnd>
+            <AdsALst>1</AdsALst>
+            <AdsACrf>1</AdsACrf>
+            <AdsANop>0</AdsANop>
+            <AdsANot>0</AdsANot>
+            <AdsLLst>1</AdsLLst>
+            <AdsLmap>1</AdsLmap>
+            <AdsLcgr>1</AdsLcgr>
+            <AdsLsym>1</AdsLsym>
+            <AdsLszi>1</AdsLszi>
+            <AdsLtoi>1</AdsLtoi>
+            <AdsLsun>1</AdsLsun>
+            <AdsLven>1</AdsLven>
+            <AdsLsxf>1</AdsLsxf>
+            <RvctClst>0</RvctClst>
+            <GenPPlst>0</GenPPlst>
+            <AdsCpuType>"Cortex-M3"</AdsCpuType>
+            <RvctDeviceName></RvctDeviceName>
+            <mOS>0</mOS>
+            <uocRom>0</uocRom>
+            <uocRam>0</uocRam>
+            <hadIROM>1</hadIROM>
+            <hadIRAM>1</hadIRAM>
+            <hadXRAM>0</hadXRAM>
+            <uocXRam>0</uocXRam>
+            <RvdsVP>0</RvdsVP>
+            <hadIRAM2>0</hadIRAM2>
+            <hadIROM2>0</hadIROM2>
+            <StupSel>8</StupSel>
+            <useUlib>0</useUlib>
+            <EndSel>0</EndSel>
+            <uLtcg>0</uLtcg>
+            <RoSelD>3</RoSelD>
+            <RwSelD>3</RwSelD>
+            <CodeSel>0</CodeSel>
+            <OptFeed>0</OptFeed>
+            <NoZi1>0</NoZi1>
+            <NoZi2>0</NoZi2>
+            <NoZi3>0</NoZi3>
+            <NoZi4>0</NoZi4>
+            <NoZi5>0</NoZi5>
+            <Ro1Chk>0</Ro1Chk>
+            <Ro2Chk>0</Ro2Chk>
+            <Ro3Chk>0</Ro3Chk>
+            <Ir1Chk>1</Ir1Chk>
+            <Ir2Chk>0</Ir2Chk>
+            <Ra1Chk>0</Ra1Chk>
+            <Ra2Chk>0</Ra2Chk>
+            <Ra3Chk>0</Ra3Chk>
+            <Im1Chk>1</Im1Chk>
+            <Im2Chk>0</Im2Chk>
+            <OnChipMemories>
+              <Ocm1>
+                <Type>0</Type>
+                <StartAddress>0x0</StartAddress>
+                <Size>0x0</Size>
+              </Ocm1>
+              <Ocm2>
+                <Type>0</Type>
+                <StartAddress>0x0</StartAddress>
+                <Size>0x0</Size>
+              </Ocm2>
+              <Ocm3>
+                <Type>0</Type>
+                <StartAddress>0x0</StartAddress>
+                <Size>0x0</Size>
+              </Ocm3>
+              <Ocm4>
+                <Type>0</Type>
+                <StartAddress>0x0</StartAddress>
+                <Size>0x0</Size>
+              </Ocm4>
+              <Ocm5>
+                <Type>0</Type>
+                <StartAddress>0x0</StartAddress>
+                <Size>0x0</Size>
+              </Ocm5>
+              <Ocm6>
+                <Type>0</Type>
+                <StartAddress>0x0</StartAddress>
+                <Size>0x0</Size>
+              </Ocm6>
+              <IRAM>
+                <Type>0</Type>
+                <StartAddress>0x20000000</StartAddress>
+                <Size>0xc000</Size>
+              </IRAM>
+              <IROM>
+                <Type>1</Type>
+                <StartAddress>0x8000000</StartAddress>
+                <Size>0x40000</Size>
+              </IROM>
+              <XRAM>
+                <Type>0</Type>
+                <StartAddress>0x0</StartAddress>
+                <Size>0x0</Size>
+              </XRAM>
+              <OCR_RVCT1>
+                <Type>1</Type>
+                <StartAddress>0x0</StartAddress>
+                <Size>0x0</Size>
+              </OCR_RVCT1>
+              <OCR_RVCT2>
+                <Type>1</Type>
+                <StartAddress>0x0</StartAddress>
+                <Size>0x0</Size>
+              </OCR_RVCT2>
+              <OCR_RVCT3>
+                <Type>1</Type>
+                <StartAddress>0x0</StartAddress>
+                <Size>0x0</Size>
+              </OCR_RVCT3>
+              <OCR_RVCT4>
+                <Type>1</Type>
+                <StartAddress>0x8004000</StartAddress>
+                <Size>0x3c000</Size>
+              </OCR_RVCT4>
+              <OCR_RVCT5>
+                <Type>1</Type>
+                <StartAddress>0x0</StartAddress>
+                <Size>0x0</Size>
+              </OCR_RVCT5>
+              <OCR_RVCT6>
+                <Type>0</Type>
+                <StartAddress>0x0</StartAddress>
+                <Size>0x0</Size>
+              </OCR_RVCT6>
+              <OCR_RVCT7>
+                <Type>0</Type>
+                <StartAddress>0x0</StartAddress>
+                <Size>0x0</Size>
+              </OCR_RVCT7>
+              <OCR_RVCT8>
+                <Type>0</Type>
+                <StartAddress>0x0</StartAddress>
+                <Size>0x0</Size>
+              </OCR_RVCT8>
+              <OCR_RVCT9>
+                <Type>0</Type>
+                <StartAddress>0x20000000</StartAddress>
+                <Size>0xc000</Size>
+              </OCR_RVCT9>
+              <OCR_RVCT10>
+                <Type>0</Type>
+                <StartAddress>0x0</StartAddress>
+                <Size>0x0</Size>
+              </OCR_RVCT10>
+            </OnChipMemories>
+            <RvctStartVector></RvctStartVector>
+          </ArmAdsMisc>
+          <Cads>
+            <interw>1</interw>
+            <Optim>1</Optim>
+            <oTime>0</oTime>
+            <SplitLS>0</SplitLS>
+            <OneElfS>1</OneElfS>
+            <Strict>0</Strict>
+            <EnumInt>0</EnumInt>
+            <PlainCh>0</PlainCh>
+            <Ropi>0</Ropi>
+            <Rwpi>0</Rwpi>
+            <wLevel>0</wLevel>
+            <uThumb>0</uThumb>
+            <VariousControls>
+              <MiscControls>--c99 --diag_suppress=188 -DFLOWSENSOR</MiscControls>
+              <Define>STM32F10X_HD,USE_STDPERIPH_DRIVER,HW_V02</Define>
+              <Undefine></Undefine>
+              <IncludePath>..\src;..\lib;..\..\icc_apdu_lib;..\..\st_fw_lib\inc;..\..\st_fw_lib;..\..\lcd;.\;..\..\sys_hw;..\..\zk;..\..\app_drv;..\..\libqr;..\..\msgpack;</IncludePath>
+            </VariousControls>
+          </Cads>
+          <Aads>
+            <interw>1</interw>
+            <Ropi>0</Ropi>
+            <Rwpi>0</Rwpi>
+            <thumb>0</thumb>
+            <SplitLS>0</SplitLS>
+            <SwStkChk>0</SwStkChk>
+            <NoWarn>0</NoWarn>
+            <VariousControls>
+              <MiscControls></MiscControls>
+              <Define></Define>
+              <Undefine></Undefine>
+              <IncludePath></IncludePath>
+            </VariousControls>
+          </Aads>
+          <LDads>
+            <umfTarg>1</umfTarg>
+            <Ropi>0</Ropi>
+            <Rwpi>0</Rwpi>
+            <noStLib>0</noStLib>
+            <RepFail>1</RepFail>
+            <useFile>0</useFile>
+            <TextAddressRange>0x08000000</TextAddressRange>
+            <DataAddressRange>0x20000000</DataAddressRange>
+            <ScatterFile></ScatterFile>
+            <IncludeLibs></IncludeLibs>
+            <IncludeLibsPath></IncludeLibsPath>
+            <Misc></Misc>
+            <LinkerInputFile></LinkerInputFile>
+            <DisabledWarnings></DisabledWarnings>
+          </LDads>
+        </TargetArmAds>
+      </TargetOption>
+      <Groups>
+        <Group>
+          <GroupName>lcd</GroupName>
+          <Files>
+            <File>
+              <FileName>glcd.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\lcd\glcd.c</FilePath>
+            </File>
+            <File>
+              <FileName>graphics.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\lcd\graphics.c</FilePath>
+            </File>
+            <File>
+              <FileName>graphs.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\lcd\graphs.c</FilePath>
+            </File>
+            <File>
+              <FileName>text.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\lcd\text.c</FilePath>
+            </File>
+            <File>
+              <FileName>text_tiny.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\lcd\text_tiny.c</FilePath>
+            </File>
+            <File>
+              <FileName>unit_tests.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\lcd\unit_tests.c</FilePath>
+            </File>
+            <File>
+              <FileName>glcd_spi.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\lcd\glcd_spi.c</FilePath>
+            </File>
+            <File>
+              <FileName>ST7565R.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\lcd\ST7565R.c</FilePath>
+            </File>
+            <File>
+              <FileName>spi.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\lcd\spi.c</FilePath>
+            </File>
+          </Files>
+        </Group>
+        <Group>
+          <GroupName>icc_apdu_lib</GroupName>
+          <Files>
+            <File>
+              <FileName>des.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\icc_apdu_lib\des.c</FilePath>
+            </File>
+          </Files>
+        </Group>
+        <Group>
+          <GroupName>sw</GroupName>
+          <Files>
+            <File>
+              <FileName>nec_apdu.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\src\nec_apdu.c</FilePath>
+            </File>
+            <File>
+              <FileName>nec_hardware.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\src\nec_hardware.c</FilePath>
+            </File>
+            <File>
+              <FileName>stm32f10x_it.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\src\stm32f10x_it.c</FilePath>
+            </File>
+            <File>
+              <FileName>main.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\supwisdom\main.c</FilePath>
+            </File>
+            <File>
+              <FileName>sp_card.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\supwisdom\sp_card.c</FilePath>
+            </File>
+            <File>
+              <FileName>sp_communicate.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\supwisdom\sp_communicate.c</FilePath>
+            </File>
+            <File>
+              <FileName>sp_consume.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\supwisdom\sp_consume.c</FilePath>
+            </File>
+            <File>
+              <FileName>sp_data.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\supwisdom\sp_data.c</FilePath>
+            </File>
+            <File>
+              <FileName>sp_des.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\supwisdom\sp_des.c</FilePath>
+            </File>
+            <File>
+              <FileName>sp_display.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\supwisdom\sp_display.c</FilePath>
+            </File>
+            <File>
+              <FileName>sp_flash.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\supwisdom\sp_flash.c</FilePath>
+            </File>
+            <File>
+              <FileName>sp_menu.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\supwisdom\sp_menu.c</FilePath>
+            </File>
+            <File>
+              <FileName>sp_msgpack.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\supwisdom\sp_msgpack.c</FilePath>
+            </File>
+            <File>
+              <FileName>sp_util.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\supwisdom\sp_util.c</FilePath>
+            </File>
+            <File>
+              <FileName>sp_upgrade.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\supwisdom\sp_upgrade.c</FilePath>
+            </File>
+          </Files>
+        </Group>
+        <Group>
+          <GroupName>lib</GroupName>
+          <Files>
+            <File>
+              <FileName>G401_drv_hw_V04.lib</FileName>
+              <FileType>4</FileType>
+              <FilePath>..\lib\G401_drv_hw_V04.lib</FilePath>
+            </File>
+            <File>
+              <FileName>g401_uart5_v001.lib</FileName>
+              <FileType>4</FileType>
+              <FilePath>..\lib\g401_uart5_v001.lib</FilePath>
+            </File>
+          </Files>
+        </Group>
+        <Group>
+          <GroupName>st_fw_lib</GroupName>
+          <Files>
+            <File>
+              <FileName>core_cm3.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\st_fw_lib\src\core_cm3.c</FilePath>
+            </File>
+            <File>
+              <FileName>misc.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\st_fw_lib\src\misc.c</FilePath>
+            </File>
+            <File>
+              <FileName>stm32f10x_adc.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\st_fw_lib\src\stm32f10x_adc.c</FilePath>
+            </File>
+            <File>
+              <FileName>stm32f10x_bkp.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\st_fw_lib\src\stm32f10x_bkp.c</FilePath>
+            </File>
+            <File>
+              <FileName>stm32f10x_can.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\st_fw_lib\src\stm32f10x_can.c</FilePath>
+            </File>
+            <File>
+              <FileName>stm32f10x_cec.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\st_fw_lib\src\stm32f10x_cec.c</FilePath>
+            </File>
+            <File>
+              <FileName>stm32f10x_crc.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\st_fw_lib\src\stm32f10x_crc.c</FilePath>
+            </File>
+            <File>
+              <FileName>stm32f10x_dac.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\st_fw_lib\src\stm32f10x_dac.c</FilePath>
+            </File>
+            <File>
+              <FileName>stm32f10x_dbgmcu.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\st_fw_lib\src\stm32f10x_dbgmcu.c</FilePath>
+            </File>
+            <File>
+              <FileName>stm32f10x_dma.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\st_fw_lib\src\stm32f10x_dma.c</FilePath>
+            </File>
+            <File>
+              <FileName>stm32f10x_exti.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\st_fw_lib\src\stm32f10x_exti.c</FilePath>
+            </File>
+            <File>
+              <FileName>stm32f10x_flash.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\st_fw_lib\src\stm32f10x_flash.c</FilePath>
+            </File>
+            <File>
+              <FileName>stm32f10x_fsmc.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\st_fw_lib\src\stm32f10x_fsmc.c</FilePath>
+            </File>
+            <File>
+              <FileName>stm32f10x_gpio.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\st_fw_lib\src\stm32f10x_gpio.c</FilePath>
+            </File>
+            <File>
+              <FileName>stm32f10x_i2c.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\st_fw_lib\src\stm32f10x_i2c.c</FilePath>
+            </File>
+            <File>
+              <FileName>stm32f10x_pwr.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\st_fw_lib\src\stm32f10x_pwr.c</FilePath>
+            </File>
+            <File>
+              <FileName>stm32f10x_iwdg.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\st_fw_lib\src\stm32f10x_iwdg.c</FilePath>
+            </File>
+            <File>
+              <FileName>stm32f10x_rcc.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\st_fw_lib\src\stm32f10x_rcc.c</FilePath>
+            </File>
+            <File>
+              <FileName>stm32f10x_rtc.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\st_fw_lib\src\stm32f10x_rtc.c</FilePath>
+            </File>
+            <File>
+              <FileName>stm32f10x_sdio.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\st_fw_lib\src\stm32f10x_sdio.c</FilePath>
+            </File>
+            <File>
+              <FileName>stm32f10x_spi.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\st_fw_lib\src\stm32f10x_spi.c</FilePath>
+            </File>
+            <File>
+              <FileName>stm32f10x_tim.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\st_fw_lib\src\stm32f10x_tim.c</FilePath>
+            </File>
+            <File>
+              <FileName>stm32f10x_usart.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\st_fw_lib\src\stm32f10x_usart.c</FilePath>
+            </File>
+            <File>
+              <FileName>stm32f10x_wwdg.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\st_fw_lib\src\stm32f10x_wwdg.c</FilePath>
+            </File>
+            <File>
+              <FileName>system_stm32f10x.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\st_fw_lib\system_stm32f10x.c</FilePath>
+            </File>
+            <File>
+              <FileName>startup_stm32f10x_hd.s</FileName>
+              <FileType>2</FileType>
+              <FilePath>..\..\st_fw_lib\startup_stm32f10x_hd.s</FilePath>
+            </File>
+          </Files>
+        </Group>
+        <Group>
+          <GroupName>sys_hw</GroupName>
+          <Files>
+            <File>
+              <FileName>keypad.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\sys_hw\keypad.c</FilePath>
+            </File>
+            <File>
+              <FileName>drv_adc.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\sys_hw\drv_adc.c</FilePath>
+            </File>
+          </Files>
+        </Group>
+        <Group>
+          <GroupName>zk</GroupName>
+          <Files>
+            <File>
+              <FileName>gb2312_16.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\zk\gb2312_16.c</FilePath>
+            </File>
+          </Files>
+        </Group>
+        <Group>
+          <GroupName>libqr</GroupName>
+          <Files>
+            <File>
+              <FileName>qrencode.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\libqr\qrencode.c</FilePath>
+            </File>
+          </Files>
+        </Group>
+        <Group>
+          <GroupName>msgpack</GroupName>
+          <Files>
+            <File>
+              <FileName>cwpack.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\msgpack\cwpack.c</FilePath>
+            </File>
+          </Files>
+        </Group>
+      </Groups>
+    </Target>
+    <Target>
+      <TargetName>timer</TargetName>
+      <ToolsetNumber>0x4</ToolsetNumber>
+      <ToolsetName>ARM-ADS</ToolsetName>
+      <TargetOption>
+        <TargetCommonOption>
+          <Device>STM32F103RC</Device>
+          <Vendor>STMicroelectronics</Vendor>
+          <Cpu>IRAM(0x20000000-0x2000BFFF) IROM(0x8000000-0x803FFFF) CLOCK(8000000) CPUTYPE("Cortex-M3")</Cpu>
+          <FlashUtilSpec></FlashUtilSpec>
+          <StartupFile>"STARTUP\ST\STM32F10x\startup_stm32f10x_hd.s" ("STM32 High Density Line Startup Code")</StartupFile>
+          <FlashDriverDll>UL2CM3(-O14 -S0 -C0 -N00("ARM Cortex-M3") -D00(1BA00477) -L00(4) -FO7 -FD20000000 -FC800 -FN1 -FF0STM32F10x_512 -FS08000000 -FL040000)</FlashDriverDll>
+          <DeviceId>4230</DeviceId>
+          <RegisterFile>stm32f10x.h</RegisterFile>
+          <MemoryEnv></MemoryEnv>
+          <Cmp></Cmp>
+          <Asm></Asm>
+          <Linker></Linker>
+          <OHString></OHString>
+          <InfinionOptionDll></InfinionOptionDll>
+          <SLE66CMisc></SLE66CMisc>
+          <SLE66AMisc></SLE66AMisc>
+          <SLE66LinkerMisc></SLE66LinkerMisc>
+          <SFDFile></SFDFile>
+          <UseEnv>0</UseEnv>
+          <BinPath></BinPath>
+          <IncludePath></IncludePath>
+          <LibPath></LibPath>
+          <RegisterFilePath>ST\STM32F10x\</RegisterFilePath>
+          <DBRegisterFilePath>ST\STM32F10x\</DBRegisterFilePath>
+          <TargetStatus>
+            <Error>0</Error>
+            <ExitCodeStop>0</ExitCodeStop>
+            <ButtonStop>0</ButtonStop>
+            <NotGenerated>0</NotGenerated>
+            <InvalidFlash>1</InvalidFlash>
+          </TargetStatus>
+          <OutputDirectory>..\outTimer\</OutputDirectory>
+          <OutputName>G401302_timer</OutputName>
+          <CreateExecutable>1</CreateExecutable>
+          <CreateLib>0</CreateLib>
+          <CreateHexFile>1</CreateHexFile>
+          <DebugInformation>1</DebugInformation>
+          <BrowseInformation>1</BrowseInformation>
+          <ListingPath>..\outTimer\</ListingPath>
+          <HexFormatSelection>1</HexFormatSelection>
+          <Merge32K>0</Merge32K>
+          <CreateBatchFile>0</CreateBatchFile>
+          <BeforeCompile>
+            <RunUserProg1>0</RunUserProg1>
+            <RunUserProg2>0</RunUserProg2>
+            <UserProg1Name></UserProg1Name>
+            <UserProg2Name></UserProg2Name>
+            <UserProg1Dos16Mode>0</UserProg1Dos16Mode>
+            <UserProg2Dos16Mode>0</UserProg2Dos16Mode>
+          </BeforeCompile>
+          <BeforeMake>
+            <RunUserProg1>1</RunUserProg1>
+            <RunUserProg2>0</RunUserProg2>
+            <UserProg1Name>cmd /c gitver.bat</UserProg1Name>
+            <UserProg2Name></UserProg2Name>
+            <UserProg1Dos16Mode>0</UserProg1Dos16Mode>
+            <UserProg2Dos16Mode>0</UserProg2Dos16Mode>
+          </BeforeMake>
+          <AfterMake>
+            <RunUserProg1>1</RunUserProg1>
+            <RunUserProg2>0</RunUserProg2>
+            <UserProg1Name>fromelf --bin -o ..\outTimer\@l.bin ..\outTimer\@l.axf</UserProg1Name>
+            <UserProg2Name></UserProg2Name>
+            <UserProg1Dos16Mode>0</UserProg1Dos16Mode>
+            <UserProg2Dos16Mode>0</UserProg2Dos16Mode>
+          </AfterMake>
+          <SelectedForBatchBuild>0</SelectedForBatchBuild>
+          <SVCSIdString></SVCSIdString>
+        </TargetCommonOption>
+        <CommonProperty>
+          <UseCPPCompiler>0</UseCPPCompiler>
+          <RVCTCodeConst>0</RVCTCodeConst>
+          <RVCTZI>0</RVCTZI>
+          <RVCTOtherData>0</RVCTOtherData>
+          <ModuleSelection>0</ModuleSelection>
+          <IncludeInBuild>1</IncludeInBuild>
+          <AlwaysBuild>0</AlwaysBuild>
+          <GenerateAssemblyFile>0</GenerateAssemblyFile>
+          <AssembleAssemblyFile>0</AssembleAssemblyFile>
+          <PublicsOnly>0</PublicsOnly>
+          <StopOnExitCode>3</StopOnExitCode>
+          <CustomArgument></CustomArgument>
+          <IncludeLibraryModules></IncludeLibraryModules>
+        </CommonProperty>
+        <DllOption>
+          <SimDllName>SARMCM3.DLL</SimDllName>
+          <SimDllArguments>-REMAP</SimDllArguments>
+          <SimDlgDll>DCM.DLL</SimDlgDll>
+          <SimDlgDllArguments>-pCM3</SimDlgDllArguments>
+          <TargetDllName>SARMCM3.DLL</TargetDllName>
+          <TargetDllArguments></TargetDllArguments>
+          <TargetDlgDll>TCM.DLL</TargetDlgDll>
+          <TargetDlgDllArguments>-pCM3</TargetDlgDllArguments>
+        </DllOption>
+        <DebugOption>
+          <OPTHX>
+            <HexSelection>1</HexSelection>
+            <HexRangeLowAddress>0</HexRangeLowAddress>
+            <HexRangeHighAddress>0</HexRangeHighAddress>
+            <HexOffset>0</HexOffset>
+            <Oh166RecLen>16</Oh166RecLen>
+          </OPTHX>
+          <Simulator>
+            <UseSimulator>1</UseSimulator>
+            <LoadApplicationAtStartup>1</LoadApplicationAtStartup>
+            <RunToMain>1</RunToMain>
+            <RestoreBreakpoints>1</RestoreBreakpoints>
+            <RestoreWatchpoints>1</RestoreWatchpoints>
+            <RestoreMemoryDisplay>1</RestoreMemoryDisplay>
+            <RestoreFunctions>1</RestoreFunctions>
+            <RestoreToolbox>1</RestoreToolbox>
+            <LimitSpeedToRealTime>0</LimitSpeedToRealTime>
+          </Simulator>
+          <Target>
+            <UseTarget>0</UseTarget>
+            <LoadApplicationAtStartup>1</LoadApplicationAtStartup>
+            <RunToMain>1</RunToMain>
+            <RestoreBreakpoints>1</RestoreBreakpoints>
+            <RestoreWatchpoints>1</RestoreWatchpoints>
+            <RestoreMemoryDisplay>1</RestoreMemoryDisplay>
+            <RestoreFunctions>0</RestoreFunctions>
+            <RestoreToolbox>1</RestoreToolbox>
+          </Target>
+          <RunDebugAfterBuild>0</RunDebugAfterBuild>
+          <TargetSelection>5</TargetSelection>
+          <SimDlls>
+            <CpuDll></CpuDll>
+            <CpuDllArguments></CpuDllArguments>
+            <PeripheralDll></PeripheralDll>
+            <PeripheralDllArguments></PeripheralDllArguments>
+            <InitializationFile>.\merge.ini</InitializationFile>
+          </SimDlls>
+          <TargetDlls>
+            <CpuDll></CpuDll>
+            <CpuDllArguments></CpuDllArguments>
+            <PeripheralDll></PeripheralDll>
+            <PeripheralDllArguments></PeripheralDllArguments>
+            <InitializationFile></InitializationFile>
+            <Driver>Segger\JL2CM3.dll</Driver>
+          </TargetDlls>
+        </DebugOption>
+        <Utilities>
+          <Flash1>
+            <UseTargetDll>1</UseTargetDll>
+            <UseExternalTool>0</UseExternalTool>
+            <RunIndependent>0</RunIndependent>
+            <UpdateFlashBeforeDebugging>1</UpdateFlashBeforeDebugging>
+            <Capability>1</Capability>
+            <DriverSelection>4099</DriverSelection>
+          </Flash1>
+          <Flash2>Segger\JL2CM3.dll</Flash2>
+          <Flash3>"" ()</Flash3>
+          <Flash4></Flash4>
+        </Utilities>
+        <TargetArmAds>
+          <ArmAdsMisc>
+            <GenerateListings>0</GenerateListings>
+            <asHll>1</asHll>
+            <asAsm>1</asAsm>
+            <asMacX>1</asMacX>
+            <asSyms>1</asSyms>
+            <asFals>1</asFals>
+            <asDbgD>1</asDbgD>
+            <asForm>1</asForm>
+            <ldLst>0</ldLst>
+            <ldmm>1</ldmm>
+            <ldXref>1</ldXref>
+            <BigEnd>0</BigEnd>
+            <AdsALst>1</AdsALst>
+            <AdsACrf>1</AdsACrf>
+            <AdsANop>0</AdsANop>
+            <AdsANot>0</AdsANot>
+            <AdsLLst>1</AdsLLst>
+            <AdsLmap>1</AdsLmap>
+            <AdsLcgr>1</AdsLcgr>
+            <AdsLsym>1</AdsLsym>
+            <AdsLszi>1</AdsLszi>
+            <AdsLtoi>1</AdsLtoi>
+            <AdsLsun>1</AdsLsun>
+            <AdsLven>1</AdsLven>
+            <AdsLsxf>1</AdsLsxf>
+            <RvctClst>0</RvctClst>
+            <GenPPlst>0</GenPPlst>
+            <AdsCpuType>"Cortex-M3"</AdsCpuType>
+            <RvctDeviceName></RvctDeviceName>
+            <mOS>0</mOS>
+            <uocRom>0</uocRom>
+            <uocRam>0</uocRam>
+            <hadIROM>1</hadIROM>
+            <hadIRAM>1</hadIRAM>
+            <hadXRAM>0</hadXRAM>
+            <uocXRam>0</uocXRam>
+            <RvdsVP>0</RvdsVP>
+            <hadIRAM2>0</hadIRAM2>
+            <hadIROM2>0</hadIROM2>
+            <StupSel>8</StupSel>
+            <useUlib>0</useUlib>
+            <EndSel>0</EndSel>
+            <uLtcg>0</uLtcg>
+            <RoSelD>3</RoSelD>
+            <RwSelD>3</RwSelD>
+            <CodeSel>0</CodeSel>
+            <OptFeed>0</OptFeed>
+            <NoZi1>0</NoZi1>
+            <NoZi2>0</NoZi2>
+            <NoZi3>0</NoZi3>
+            <NoZi4>0</NoZi4>
+            <NoZi5>0</NoZi5>
+            <Ro1Chk>0</Ro1Chk>
+            <Ro2Chk>0</Ro2Chk>
+            <Ro3Chk>0</Ro3Chk>
+            <Ir1Chk>1</Ir1Chk>
+            <Ir2Chk>0</Ir2Chk>
+            <Ra1Chk>0</Ra1Chk>
+            <Ra2Chk>0</Ra2Chk>
+            <Ra3Chk>0</Ra3Chk>
+            <Im1Chk>1</Im1Chk>
+            <Im2Chk>0</Im2Chk>
+            <OnChipMemories>
+              <Ocm1>
+                <Type>0</Type>
+                <StartAddress>0x0</StartAddress>
+                <Size>0x0</Size>
+              </Ocm1>
+              <Ocm2>
+                <Type>0</Type>
+                <StartAddress>0x0</StartAddress>
+                <Size>0x0</Size>
+              </Ocm2>
+              <Ocm3>
+                <Type>0</Type>
+                <StartAddress>0x0</StartAddress>
+                <Size>0x0</Size>
+              </Ocm3>
+              <Ocm4>
+                <Type>0</Type>
+                <StartAddress>0x0</StartAddress>
+                <Size>0x0</Size>
+              </Ocm4>
+              <Ocm5>
+                <Type>0</Type>
+                <StartAddress>0x0</StartAddress>
+                <Size>0x0</Size>
+              </Ocm5>
+              <Ocm6>
+                <Type>0</Type>
+                <StartAddress>0x0</StartAddress>
+                <Size>0x0</Size>
+              </Ocm6>
+              <IRAM>
+                <Type>0</Type>
+                <StartAddress>0x20000000</StartAddress>
+                <Size>0xc000</Size>
+              </IRAM>
+              <IROM>
+                <Type>1</Type>
+                <StartAddress>0x8000000</StartAddress>
+                <Size>0x40000</Size>
+              </IROM>
+              <XRAM>
+                <Type>0</Type>
+                <StartAddress>0x0</StartAddress>
+                <Size>0x0</Size>
+              </XRAM>
+              <OCR_RVCT1>
+                <Type>1</Type>
+                <StartAddress>0x0</StartAddress>
+                <Size>0x0</Size>
+              </OCR_RVCT1>
+              <OCR_RVCT2>
+                <Type>1</Type>
+                <StartAddress>0x0</StartAddress>
+                <Size>0x0</Size>
+              </OCR_RVCT2>
+              <OCR_RVCT3>
+                <Type>1</Type>
+                <StartAddress>0x0</StartAddress>
+                <Size>0x0</Size>
+              </OCR_RVCT3>
+              <OCR_RVCT4>
+                <Type>1</Type>
+                <StartAddress>0x8004000</StartAddress>
+                <Size>0x3c000</Size>
+              </OCR_RVCT4>
+              <OCR_RVCT5>
+                <Type>1</Type>
+                <StartAddress>0x0</StartAddress>
+                <Size>0x0</Size>
+              </OCR_RVCT5>
+              <OCR_RVCT6>
+                <Type>0</Type>
+                <StartAddress>0x0</StartAddress>
+                <Size>0x0</Size>
+              </OCR_RVCT6>
+              <OCR_RVCT7>
+                <Type>0</Type>
+                <StartAddress>0x0</StartAddress>
+                <Size>0x0</Size>
+              </OCR_RVCT7>
+              <OCR_RVCT8>
+                <Type>0</Type>
+                <StartAddress>0x0</StartAddress>
+                <Size>0x0</Size>
+              </OCR_RVCT8>
+              <OCR_RVCT9>
+                <Type>0</Type>
+                <StartAddress>0x20000000</StartAddress>
+                <Size>0xc000</Size>
+              </OCR_RVCT9>
+              <OCR_RVCT10>
+                <Type>0</Type>
+                <StartAddress>0x0</StartAddress>
+                <Size>0x0</Size>
+              </OCR_RVCT10>
+            </OnChipMemories>
+            <RvctStartVector></RvctStartVector>
+          </ArmAdsMisc>
+          <Cads>
+            <interw>1</interw>
+            <Optim>1</Optim>
+            <oTime>0</oTime>
+            <SplitLS>0</SplitLS>
+            <OneElfS>1</OneElfS>
+            <Strict>0</Strict>
+            <EnumInt>0</EnumInt>
+            <PlainCh>0</PlainCh>
+            <Ropi>0</Ropi>
+            <Rwpi>0</Rwpi>
+            <wLevel>0</wLevel>
+            <uThumb>0</uThumb>
+            <VariousControls>
+              <MiscControls>--c99 --diag_suppress=188</MiscControls>
+              <Define>STM32F10X_HD,USE_STDPERIPH_DRIVER,HW_V02</Define>
+              <Undefine></Undefine>
+              <IncludePath>..\src;..\lib;..\..\icc_apdu_lib;..\..\st_fw_lib\inc;..\..\st_fw_lib;..\..\lcd;.\;..\..\sys_hw;..\..\zk;..\..\app_drv;..\..\libqr;..\..\msgpack;</IncludePath>
+            </VariousControls>
+          </Cads>
+          <Aads>
+            <interw>1</interw>
+            <Ropi>0</Ropi>
+            <Rwpi>0</Rwpi>
+            <thumb>0</thumb>
+            <SplitLS>0</SplitLS>
+            <SwStkChk>0</SwStkChk>
+            <NoWarn>0</NoWarn>
+            <VariousControls>
+              <MiscControls></MiscControls>
+              <Define></Define>
+              <Undefine></Undefine>
+              <IncludePath></IncludePath>
+            </VariousControls>
+          </Aads>
+          <LDads>
+            <umfTarg>1</umfTarg>
+            <Ropi>0</Ropi>
+            <Rwpi>0</Rwpi>
+            <noStLib>0</noStLib>
+            <RepFail>1</RepFail>
+            <useFile>0</useFile>
+            <TextAddressRange>0x08000000</TextAddressRange>
+            <DataAddressRange>0x20000000</DataAddressRange>
+            <ScatterFile></ScatterFile>
+            <IncludeLibs></IncludeLibs>
+            <IncludeLibsPath></IncludeLibsPath>
+            <Misc></Misc>
+            <LinkerInputFile></LinkerInputFile>
+            <DisabledWarnings></DisabledWarnings>
+          </LDads>
+        </TargetArmAds>
+      </TargetOption>
+      <Groups>
+        <Group>
+          <GroupName>lcd</GroupName>
+          <Files>
+            <File>
+              <FileName>glcd.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\lcd\glcd.c</FilePath>
+            </File>
+            <File>
+              <FileName>graphics.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\lcd\graphics.c</FilePath>
+            </File>
+            <File>
+              <FileName>graphs.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\lcd\graphs.c</FilePath>
+            </File>
+            <File>
+              <FileName>text.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\lcd\text.c</FilePath>
+            </File>
+            <File>
+              <FileName>text_tiny.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\lcd\text_tiny.c</FilePath>
+            </File>
+            <File>
+              <FileName>unit_tests.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\lcd\unit_tests.c</FilePath>
+            </File>
+            <File>
+              <FileName>glcd_spi.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\lcd\glcd_spi.c</FilePath>
+            </File>
+            <File>
+              <FileName>ST7565R.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\lcd\ST7565R.c</FilePath>
+            </File>
+            <File>
+              <FileName>spi.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\lcd\spi.c</FilePath>
+            </File>
+          </Files>
+        </Group>
+        <Group>
+          <GroupName>icc_apdu_lib</GroupName>
+          <Files>
+            <File>
+              <FileName>des.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\icc_apdu_lib\des.c</FilePath>
+            </File>
+          </Files>
+        </Group>
+        <Group>
+          <GroupName>sw</GroupName>
+          <Files>
+            <File>
+              <FileName>nec_apdu.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\src\nec_apdu.c</FilePath>
+            </File>
+            <File>
+              <FileName>nec_hardware.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\src\nec_hardware.c</FilePath>
+            </File>
+            <File>
+              <FileName>stm32f10x_it.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\src\stm32f10x_it.c</FilePath>
+            </File>
+            <File>
+              <FileName>main.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\supwisdom\main.c</FilePath>
+            </File>
+            <File>
+              <FileName>sp_card.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\supwisdom\sp_card.c</FilePath>
+            </File>
+            <File>
+              <FileName>sp_communicate.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\supwisdom\sp_communicate.c</FilePath>
+            </File>
+            <File>
+              <FileName>sp_consume.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\supwisdom\sp_consume.c</FilePath>
+            </File>
+            <File>
+              <FileName>sp_data.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\supwisdom\sp_data.c</FilePath>
+            </File>
+            <File>
+              <FileName>sp_des.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\supwisdom\sp_des.c</FilePath>
+            </File>
+            <File>
+              <FileName>sp_display.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\supwisdom\sp_display.c</FilePath>
+            </File>
+            <File>
+              <FileName>sp_flash.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\supwisdom\sp_flash.c</FilePath>
+            </File>
+            <File>
+              <FileName>sp_menu.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\supwisdom\sp_menu.c</FilePath>
+            </File>
+            <File>
+              <FileName>sp_msgpack.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\supwisdom\sp_msgpack.c</FilePath>
+            </File>
+            <File>
+              <FileName>sp_util.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\supwisdom\sp_util.c</FilePath>
+            </File>
+            <File>
+              <FileName>sp_upgrade.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\supwisdom\sp_upgrade.c</FilePath>
+            </File>
+          </Files>
+        </Group>
+        <Group>
+          <GroupName>lib</GroupName>
+          <Files>
+            <File>
+              <FileName>G401_drv_hw_V04.lib</FileName>
+              <FileType>4</FileType>
+              <FilePath>..\lib\G401_drv_hw_V04.lib</FilePath>
+            </File>
+            <File>
+              <FileName>g401_uart5_v001.lib</FileName>
+              <FileType>4</FileType>
+              <FilePath>..\lib\g401_uart5_v001.lib</FilePath>
+            </File>
+          </Files>
+        </Group>
+        <Group>
+          <GroupName>st_fw_lib</GroupName>
+          <Files>
+            <File>
+              <FileName>core_cm3.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\st_fw_lib\src\core_cm3.c</FilePath>
+            </File>
+            <File>
+              <FileName>misc.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\st_fw_lib\src\misc.c</FilePath>
+            </File>
+            <File>
+              <FileName>stm32f10x_adc.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\st_fw_lib\src\stm32f10x_adc.c</FilePath>
+            </File>
+            <File>
+              <FileName>stm32f10x_bkp.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\st_fw_lib\src\stm32f10x_bkp.c</FilePath>
+            </File>
+            <File>
+              <FileName>stm32f10x_can.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\st_fw_lib\src\stm32f10x_can.c</FilePath>
+            </File>
+            <File>
+              <FileName>stm32f10x_cec.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\st_fw_lib\src\stm32f10x_cec.c</FilePath>
+            </File>
+            <File>
+              <FileName>stm32f10x_crc.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\st_fw_lib\src\stm32f10x_crc.c</FilePath>
+            </File>
+            <File>
+              <FileName>stm32f10x_dac.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\st_fw_lib\src\stm32f10x_dac.c</FilePath>
+            </File>
+            <File>
+              <FileName>stm32f10x_dbgmcu.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\st_fw_lib\src\stm32f10x_dbgmcu.c</FilePath>
+            </File>
+            <File>
+              <FileName>stm32f10x_dma.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\st_fw_lib\src\stm32f10x_dma.c</FilePath>
+            </File>
+            <File>
+              <FileName>stm32f10x_exti.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\st_fw_lib\src\stm32f10x_exti.c</FilePath>
+            </File>
+            <File>
+              <FileName>stm32f10x_flash.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\st_fw_lib\src\stm32f10x_flash.c</FilePath>
+            </File>
+            <File>
+              <FileName>stm32f10x_fsmc.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\st_fw_lib\src\stm32f10x_fsmc.c</FilePath>
+            </File>
+            <File>
+              <FileName>stm32f10x_gpio.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\st_fw_lib\src\stm32f10x_gpio.c</FilePath>
+            </File>
+            <File>
+              <FileName>stm32f10x_i2c.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\st_fw_lib\src\stm32f10x_i2c.c</FilePath>
+            </File>
+            <File>
+              <FileName>stm32f10x_pwr.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\st_fw_lib\src\stm32f10x_pwr.c</FilePath>
+            </File>
+            <File>
+              <FileName>stm32f10x_iwdg.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\st_fw_lib\src\stm32f10x_iwdg.c</FilePath>
+            </File>
+            <File>
+              <FileName>stm32f10x_rcc.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\st_fw_lib\src\stm32f10x_rcc.c</FilePath>
+            </File>
+            <File>
+              <FileName>stm32f10x_rtc.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\st_fw_lib\src\stm32f10x_rtc.c</FilePath>
+            </File>
+            <File>
+              <FileName>stm32f10x_sdio.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\st_fw_lib\src\stm32f10x_sdio.c</FilePath>
+            </File>
+            <File>
+              <FileName>stm32f10x_spi.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\st_fw_lib\src\stm32f10x_spi.c</FilePath>
+            </File>
+            <File>
+              <FileName>stm32f10x_tim.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\st_fw_lib\src\stm32f10x_tim.c</FilePath>
+            </File>
+            <File>
+              <FileName>stm32f10x_usart.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\st_fw_lib\src\stm32f10x_usart.c</FilePath>
+            </File>
+            <File>
+              <FileName>stm32f10x_wwdg.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\st_fw_lib\src\stm32f10x_wwdg.c</FilePath>
+            </File>
+            <File>
+              <FileName>system_stm32f10x.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\st_fw_lib\system_stm32f10x.c</FilePath>
+            </File>
+            <File>
+              <FileName>startup_stm32f10x_hd.s</FileName>
+              <FileType>2</FileType>
+              <FilePath>..\..\st_fw_lib\startup_stm32f10x_hd.s</FilePath>
+            </File>
+          </Files>
+        </Group>
+        <Group>
+          <GroupName>sys_hw</GroupName>
+          <Files>
+            <File>
+              <FileName>keypad.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\sys_hw\keypad.c</FilePath>
+            </File>
+            <File>
+              <FileName>drv_adc.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\sys_hw\drv_adc.c</FilePath>
+            </File>
+          </Files>
+        </Group>
+        <Group>
+          <GroupName>zk</GroupName>
+          <Files>
+            <File>
+              <FileName>gb2312_16.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\zk\gb2312_16.c</FilePath>
+            </File>
+          </Files>
+        </Group>
+        <Group>
+          <GroupName>libqr</GroupName>
+          <Files>
+            <File>
+              <FileName>qrencode.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\libqr\qrencode.c</FilePath>
+            </File>
+          </Files>
+        </Group>
+        <Group>
+          <GroupName>msgpack</GroupName>
+          <Files>
+            <File>
+              <FileName>cwpack.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\msgpack\cwpack.c</FilePath>
+            </File>
+          </Files>
+        </Group>
+      </Groups>
+    </Target>
+  </Targets>
+
+</Project>
diff --git a/g401302/project/gitver.bat b/g401302/project/gitver.bat
new file mode 100644
index 0000000..996c3ce
--- /dev/null
+++ b/g401302/project/gitver.bat
@@ -0,0 +1,10 @@
+@echo off
+SET LINE1=#ifndef GIT_VERSION
+SET LINE2=#define GIT_VERSION
+SET LINE3=#endif
+
+FOR /F %%I IN ('git describe --dirty --always --tags --abbrev=4') DO SET VERSTR=%%I
+
+echo %LINE1%  > ../../supwisdom/sp_version.h 
+echo %LINE2% ^"%VERSTR%^" >> ../../supwisdom/sp_version.h 
+echo %LINE3% >> ../../supwisdom/sp_version.h 
\ No newline at end of file
diff --git a/g401302/project/merge.ini b/g401302/project/merge.ini
new file mode 100644
index 0000000..8efd9d0
--- /dev/null
+++ b/g401302/project/merge.ini
@@ -0,0 +1,16 @@
+/******************************************************************************/
+/* FLASH.INI: FLASH Initialization File                                       */
+/******************************************************************************/
+// <<< Use Configuration Wizard in Context Menu >>>                           // 
+/******************************************************************************/
+/* This file is part of the uVision/ARM development tools.                    */
+/* Copyright (c) 2005-2006 Keil Software. All rights reserved.                */
+/* This software may only be used under the terms of a valid, current,        */
+/* end user licence from KEIL for a compatible version of KEIL software       */
+/* development tools. Nothing else gives you the right to use this software.  */
+/******************************************************************************/
+LOAD ..\hex\STM32IAPCombine51.hex  // Download  
+save ..\hex\G401302_combine.hex 0x08000000,0x0803FFFF 
+//g,main
+
+
diff --git a/g401302/src/G401_drv_hw_V01.h b/g401302/src/G401_drv_hw_V01.h
new file mode 100644
index 0000000..0a63590
--- /dev/null
+++ b/g401302/src/G401_drv_hw_V01.h
@@ -0,0 +1,623 @@
+
+#ifndef   __G401_HWDRV_LIB_H__
+#define   __G401_HWDRV_LIB_H__
+
+#include "stdint.h"
+#include "stm32f10x.h"
+#include "drv_usart.h"
+
+////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+/*
+	³õʼ»¯Ê±»ù¶¨Ê±Æ÷(1ms)
+*/
+extern  u32 SysTick_cfg(void);
+/*
+	Çý¶¯Ê¹ÓÃSYSTICK²úÉúʱ»ù£¬²¢ÅäÖÃSYSTICKΪ1msÒç³öÖжϣ¬Ó¦ÓòãÐèÍê
+	³ÉSYSTICKÖжϷþÎñº¯ÊýSysTick_Handler£¬²¢µ÷ÓÃTimerTickº¯Êý£¬
+	Íê³ÉÏÔʾɨÃ衢ͨѶËùÐ趨ʱµÈ²Ù×÷
+*/
+extern  void TimerTick(void);
+	   
+
+/*
+	»ñÈ¡Çý¶¯²ãά»¤µÄ32λms¼¶µÎ´ðµ±Ç°Öµ£¬¸Ãֵÿms¸üÐÂ1´Î£¬Ã¿´Î¼Ó1
+*/
+extern  u32 timer_get_ticker(void);
+
+////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+/*
+	¹¦ÄÜ: ¼ÆËãÖ¸¶¨³¤¶ÈÊý¾ÝÁ÷µÄcrcУÑéÖµ
+	ÊäÈë: pBuffer£¬Êý¾ÝÁ÷Ö¸Õë BufferLength: Êý¾ÝÁ÷×Ö½Ú³¤¶È
+	Êä³ö: crc16
+*/
+extern  u16 calcCRC( u8 *pBuffer, u16 BufferLength);
+
+////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+//RTCÇý¶¯Ïà¹Ø
+//ʱ¼ä½á¹¹Ìå
+typedef struct
+{
+	uint8_t			year;						//Äê	
+	uint8_t			month;						//ÔÂ
+	uint8_t			day;						//ÈÕ
+	uint8_t 		week;    					//ÐÇÆÚ
+	uint8_t 		hour;						//ʱ
+	uint8_t 		minute;						//·Ö
+	uint8_t 		second;						//Ãë
+}_SystemTime ;
+/*
+	RTC³õʼ»¯
+*/
+extern void rtc_init(void);
+/*
+	»ñȡϵͳÈÕÆÚ
+*/
+extern uint8_t  rtc_get_time(_SystemTime* t);
+
+/*
+	ÉèÖÃϵͳÈÕÆÚ
+*/
+extern uint8_t  rtc_set_time(_SystemTime* t);
+
+////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+//EEPROMÏà¹Ø
+
+////#define E2PROM_SIZE    (64*1024/8UL)
+/*
+	ʹÄÜE2PROMд±£»¤
+*/
+extern void e2prom_lock(void);	
+/*
+	ʧÄÜE2PROMд±£»¤
+*/ 
+extern void e2prom_unlock(void);
+/*********************************************
+*¹¦ÄÜ:I2C×ÜÏß³õʼ»¯,Ö÷³ÌÐòÊ×Ïȵ÷ÓøóÌÐò
+*²ÎÊý:time_factor ÑÓʱϵÊý,Ò»°ã´«0£¬Ê¹ÓÃĬÈϵľÍÐÐ
+*********************************************/
+extern void e2prom_init(u32 time_factor);
+
+/******************************************************************************
+¹¦ÄÜ£º´ÓÖ¸¶¨µØÖ·¿ªÊ¼¶Áȡָ¶¨³¤¶ÈµÄÊý¾Ý
+²ÎÊý£º
+	*dest_buff - ´æ·Å¶Á³öÊý¾ÝµÄÖ¸Õë
+	 addr - ¿ªÊ¼µØÖ·
+	 len  - Òª¶Á³öµÄ³¤¶È
+·µ»ØÖµ£º
+	0 - ³É¹¦
+	1 - ʧ°Ü
+******************************************************************************/
+extern u8 e2prom_read(u8 *dest_buff, u16 addr, u16 len);
+
+/******************************************************************************
+¹¦ÄÜ£ºÐ´EEPROM¡£ÏòÖ¸¶¨µØÖ·¿ªÊ¼Ð´ÈëÖ¸¶¨³¤¶ÈµÄÊý¾Ý¡£
+²ÎÊý£º
+	*src_buff - ´æ·ÅдÈëÊý¾ÝµÄÖ¸Õë
+	addr - ¿ªÊ¼µØÖ·
+	len - ҪдÈëµÄ³¤¶È
+·µ»ØÖµ£º
+	0 - ³É¹¦
+	1 - ʧ°Ü
+******************************************************************************/
+extern u8 e2prom_write(u8 *src_buff, u16 addr, u16 len);
+
+////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+//ADCÏà¹Ø
+/*
+	ADC³õʼ»¯
+*/
+//extern void adc_init(void);
+/*
+	Ó¦ÓòãÐèÍê³ÉSYSTICKÖжϷþÎñº¯ÊýDMA1_Channel1_IRQHandler£¬²¢µ÷ÓÃDMA1_Channel1_readº¯Êý
+*/
+extern void DMA1_Channel1_read(void);
+/*
+	²»ÐèÒªÌṩ
+*/
+//extern uint16_t adc_get_val(uint8_t ch);
+
+////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+//·§ÃÅÇý¶¯Ïà¹Ø
+#define valve_state_on   1
+#define valve_state_off  0
+
+/*
+	³õʼ»¯·§ÃÅÇý¶¯IO
+*/
+extern void valve_init(void);
+
+/*
+	ÉèÖ÷§ÃÅ״̬
+	state: valve_state_on »ò valve_state_off	
+*/
+extern void valve_sta_set(uint8_t sta);
+
+/*
+	»ñÈ¡·§ÃÅ״̬
+	·µ»ØÖµ: valve_state_on »ò valve_state_off	
+*/
+extern uint8_t valve_sta_get(void);
+
+/*
+	·§ÃÅ¿ØÖÆÂß¼­£¬Ð趨ÆÚµ÷ÓÃÒÑÇý¶¯·§ÃÅ¿ØÖÆ×´Ì¬»ú£¬½¨Òé
+	ÔÚÖ÷Ñ­»·Öе÷ÓÃ
+*/
+extern void valve_ctrl(void);
+
+////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+//Á÷Á¿¼ÆÏà¹Ø
+/*
+	Á÷Á¿¼Æ³õʼ»¯
+*/
+extern void initFlowSensorDriver(void);
+/*
+	¸üÐÂÁ÷Á¿¼ÆÂö³å¼ÆÊýÖµ£¬Ð趨ÆÚµ÷Óøú¯Êý£¬½¨ÒéÔÚSysTick_Handlerµ÷ÓÃ
+*/
+//extern void flowsensor_update_count(void);
+/*
+	»ñÈ¡Á÷Á¿¼ÆÂö³å¼ÆÊýÖµ
+*/
+extern u32  flowsensor_get_count(void);
+/*
+	ÉèÖÃÁ÷Á¿¼ÆÂö³å¼ÆÊýÖµ
+*/
+extern void flowsensor_set_count(u32 val);
+
+/*
+	»ñÈ¡Á÷Á¿¼ÆµçÁ÷AD²ÉÑùÖµ£¬ÒÔ´ËÅжÏÁ÷Á¿¼ÆÊÇ·ñÒì³££¬½¨ÒéÔÚÖ÷Ñ­»·Öе÷ÓÃ(µçÁ÷Öµ=ADÖµ/4095*3.3/9.1)
+*/
+extern u16 flowsensor_sta(void);
+
+////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+//¼üÅÌÏà¹Ø
+//¼üÖµ¶¨Òå
+#define KEY_NONE         ( 0u)          //¿ÕÏÐ״̬
+#define KEY_DIG0         (10u)          //Êý×Ö¼ü0
+#define KEY_DIG1         ( 1u)          //Êý×Ö¼ü1
+#define KEY_DIG2         ( 2u)          //Êý×Ö¼ü2
+#define KEY_DIG3         ( 3u)          //Êý×Ö¼ü3
+#define KEY_DIG4         ( 4u)          //Êý×Ö¼ü4
+#define KEY_DIG5         ( 5u)          //Êý×Ö¼ü5
+#define KEY_DIG6         ( 6u)          //Êý×Ö¼ü6
+#define KEY_DIG7         ( 7u)          //Êý×Ö¼ü7
+#define KEY_DIG8         ( 8u)          //Êý×Ö¼ü8
+#define KEY_DIG9         ( 9u)          //Êý×Ö¼ü9
+#define KEY_ENTER        (12u)          //È·Èϼü
+#define KEY_CANCEL       (11u)          //È¡Ïû¼ü
+
+/*
+	¼üÅ̳õʼ»¯
+*/
+//extern uint8_t keypad_init(void);
+/*
+	¶ÁÈ¡°´¼üÖµ
+*/
+//extern uint8_t keypad_get_key(void);
+
+////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+//flashÏà¹Ø
+
+//¹æ¸ñ¶¨Òå
+#define FLASH_PAGE_SIZE_W25X32	256 
+#define FLASH_SIZE				(4 * 1024 * 1024)
+#define FLASH_PAGE_NUM			8192
+#define FLASH_SECTOR_SIZE		(4*1024)
+#define FLASH_SECTOR_NUMBER		512
+#define FLASH_BLOCK_SIZE		(64*1024)
+#define FLASH_BLOCK_NUM			64
+//·µ»ØÖµ
+#define	NC_OK					0				//²Ù×÷³É¹¦
+#define NC_FlashErr				0x0000ffff		//´íÎó
+#define	NC_ElseERR				0x01			//ÆäÓà´íÎó
+#define	NC_Writeable			0x02			//ÔÊÐíд
+
+/*
+	³õʼ»¯
+*/
+extern u32 HW_Flash_Init(void);
+/*
+	¶ÁDEVICE ID
+*/
+extern void HW_FLASH_JEDEC_ID(uint8_t *buf);
+
+/*
+	¶ÁFLASH
+*/
+extern u32 HW_Flash_Read(uint32_t addr, uint32_t size,	uint8_t *buffer);
+/*
+	Ò³²Á³ý
+*/
+extern u32 HW_Flash_PageErase(uint32_t page);
+/*
+	Ò³±à³Ì
+*/
+extern u32 Flash_Page_Program(uint32_t addr, uint32_t size, uint8_t *pbuf);	
+/*
+	ÕûƬ²Á³ý£ºÐèÒªºÜ³¤Ê±¼ä£¬Êµ¼Ê²âÊÔ40s
+*/
+extern u32 HW_Flash_ChipErase(void);
+/*
+	²»´ø²Á³ýµÄд
+*/
+extern u32 HW_Flash_NotEraseWrite(uint32_t dest, uint32_t size, uint8_t *src);                               
+/*
+	´ø²Á³ýµÄд
+*/
+extern u32 HW_Flash_SmartWrite(uint32_t addr, uint32_t size, uint8_t *src);
+
+////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+//¿´ÃŹ·Ïà¹Ø
+/*
+	¹¦ÄÜ:³õʼ»¯¿´ÃŹ·
+*/
+extern void initWatchDog(void);
+/*
+	ι¹·£¬ÐèÒªÔÚÖ÷Ñ­»·Öе÷ÓÃ
+*/
+extern void feedWatchDog(void);
+
+
+////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+//mifare one hw lib
+
+#define KEYA   		    0x60   	    //AÃÜÂë
+#define KEYB   		    0x61        //BÃÜÂë	 
+
+//²ÎÊýRequestMode£º
+#define PICC_REQ_ALL 	0x52
+#define PICC_REQ_IDLE 	0x26
+
+/*
+	³õʼ»¯¶Á¿¨½Ó¿Ú
+*/
+extern  void HW_SPI_RF_CfgInit(void);
+
+/*
+
+ 	¹¦ÄÜ: RC530Éϵ縴λ 
+          1. ½«RC530´Óµôµçģʽ»½ÐÑ£¬²¢Íê³É³õʼ»¯
+          2. »ò½«RC530ÖØÐ¸´Î»
+*/
+  extern  u8 M1_RCReset(void);
+
+/*
+	¹¦ÄÜ:  È¡µÃ¿¨ÐòÁкÅ
+	Êä³ö:  uchar *pSN  				- ¿¨ÐòÁкÅ
+	·µ»Ø:  0-²Ù×÷³É¹¦  ÆäËûÖµ-²Ù×÷ʧ°Ü   
+*/
+extern  u8 GetM1SN( u8 *pSN );
+
+/*
+
+ 	¹¦ÄÜ: Ѱ¿¨
+	²ÎÊý: RequestMode-Ѱ¿¨Ä£Ê½£¬ÎªIDLE »ò ALL		atq-¿¨Æ¬µÄÀàÐÍ  ÔÝÎÞÓÃ
+	·µ»Ø: µ±Îª0x00 ʱ±íʾÓп¨£¬·ñÔòÎÞ¿¨
+*/
+extern  u8 M1_Request(u8  RequestMode, u8 * atq );
+
+/*
+
+ 	¹¦ÄÜ: ¼ÓÔØÃÜÔ¿
+	²ÎÊý: ÃÜÔ¿
+	·µ»Ø:  0-²Ù×÷³É¹¦  ÆäËûÖµ-²Ù×÷ʧ°Ü   
+*/
+//extern  u8 Load_RAM ( u8 * RawCode );
+
+/*
+
+ 	¹¦ÄÜ: ͨ¹ý¿éºÅ½øÐÐУÑ飬֧³ÖS50£¬S70¿¨
+	²ÎÊý: AuthMode-AÃÜÂë »ò BÃÜÂë snr:¿¨Î¨Ò»ºÅ block:¿éºÅ key:ÃÜÔ¿
+	·µ»Ø:  0-²Ù×÷³É¹¦  ÆäËûÖµ-²Ù×÷ʧ°Ü   
+*/
+extern  u8 M1_AuthBlk( u8 AuthMode, u8 *Snr, u8 Block, u8 *key );
+
+extern u8 M1_Select(u8 *Snr);
+/*
+		M1_E2Read      ¶ÁÈ¡RC500µÄE2ÖеÄÊý¾Ý 
+	 	Addr		     :E2ÆðʼµØÖ·(Addr < 80H )
+		length		:ÒªÇó¶ÁÈ¡µÄ×Ö½ÚÊý( СÓÚµÈÓÚ16 )
+		pBuffer		:¶Á³öÊý¾ÝµÄ»º³åÇø
+		·µ»ØÖµ		£º0±íʾд³É¹¦
+*/
+//extern  u8 M1_E2Read( u8 Addr, u8 length, u8 * pBuffer);
+
+/*
+		M1_E2Write  ½«Êý¾ÝдÈëRC500µÄE2ÖÐ
+	 	Addr		:E2ÆðʼµØÖ·( 0x10 <=Addr < 0x1ff )
+		length		:ÒªÇóдÈëµÄ×Ö½ÚÊý( СÓÚµÈÓÚ16 )
+		pBuffer		:ҪдÈëÊý¾ÝµÄ»º³åÇø
+		·µ»ØÖµ		£º0±íʾд³É¹¦
+*/
+//extern  u8 M1_E2Write( unsigned int Addr, u8 length, u8 * pBuffer);
+
+/*
+  	¹¦ÄÜ£º        ¶Á¿¨°åÓ²¼þµôµç£º
+	º¯ÊýÔ­ÐÍ£º    void HardPwrDwn()                      ÔÝûÓÐд
+	²ÎÊý£º  	  ÎÞ
+	·µ»ØÖµ£º      ÎÞ
+	˵Ã÷£º
+   	    ½«¶Á¿¨°åµÄRF¡ªRST¿ØÖÆÏßÖÃΪ¸ßµçƽ£¬¶Á¿¨°å´¦ÓÚÓ²¼þµôµç״̬£¨µçÔ´Õý³£Ìṩ£©¡£
+*/
+extern  void M1_HardPwrDwn( void );
+
+/*
+		M1_PCDSn    ¶ÁÈ¡RC500µÈ¶Á¿¨Ð¾Æ¬µÄÐòÁкÅ
+		pSn			:ÐòÁкŻº³åÇø
+		·µ»ØÖµ		£º0±íʾд³É¹¦
+*/
+extern unsigned char M1_PCDSn( unsigned char * pBuffer);
+
+/*
+  	¹¦ÄÜ£º        ¶Á¿¨°å¶Á¿¨Ð¾Æ¬É䯵¹Ø±Õ£º
+	º¯ÊýÔ­ÐÍ£º    void M1_RadioOff()
+   	²ÎÊý£º  	  ÎÞ
+   	·µ»ØÖµ£º      ÎÞ
+   	˵Ã÷£º
+   	    ½«¶Á¿¨°åÉϵĶÁ¿¨Ð¾Æ¬µÄÉ䯵·¢Ë͹صô,½µµÍ¹¦ºÄºÍ¶ÔÍâ¸ÉÈÅ
+		´Ëʱ¶Á¿¨Ð¾Æ¬»¹ÔÚ¹¤×÷.
+*/
+extern void M1_RadioOff( void );
+
+/*
+  	¹¦ÄÜ£º        ¶Á¿¨°å¶Á¿¨Ð¾Æ¬É䯵´ò¿ª£º
+	º¯ÊýÔ­ÐÍ£º    void M1_RadioOn()
+   	²ÎÊý£º  	  ÎÞ
+   	·µ»ØÖµ£º      ÎÞ
+   	˵Ã÷£º
+   	    ½«¶Á¿¨°åÉϵĶÁ¿¨Ð¾Æ¬µÄÉ䯵·¢ËÍ´ò¿ª
+
+		M1_RadioOn() ºÍ M1_RadioOff()ÊÇÒ»¶Ôº¯Êý,ÓÃÔÚÒ»°ãÇé¿öϵĽÚÄܺͽµµÍÉ䯵¸ÉÈÅÉÏ.
+*/
+extern void M1_RadioOn( void );
+
+/*
+		Fread          ¶Á¿éÊý¾Ý 
+	 	Block		:¶Á¿éºÅ
+		ReadBuffer	:¶Á³öµÄÊý¾ÝµÄ»º³åÇø
+		·µ»ØÖµ		£º0±íʾ¶Á³É¹¦
+*/
+extern u8 M1_Read(u8 Block, u8 * ReadBuffer);
+
+/*
+		Fwrite     д¿éÊý¾Ý 
+	 	Block		:д¿éºÅ
+		ReadBuffer	:ҪдÊý¾ÝµÄ»º³åÇø
+		·µ»ØÖµ		£º0±íʾд³É¹¦
+*/
+extern u8 M1_Write( u8 Block, u8 * WriteBuffer);
+
+/*
+  	¹¦ÄÜ£º        ¼ì²é¶Á¿¨Ð¾Æ¬ÊÇ·ñ·¢ÉäÕý³£
+	º¯ÊýÔ­ÐÍ£º    u8 M1_TranSta()
+   	²ÎÊý£º  	  ÎÞ
+   	·µ»ØÖµ£º      1 - ÔØ²¨Î´·¢Éä
+				  0 - ÔØ²¨·¢Éä
+*/
+//extern u8 M1_TranSta( void );
+
+/*
+	Halt
+ 	¹¦ÄÜ£º ÖÕÖ¹¿¨
+	²ÎÊý:  ÎÞ
+	·µ»ØÖµ£ºµ±Îª0x00 ʱ±íʾ¿¨ÖÕÖ¹³É¹¦
+*/
+extern u8 M1_Halt( void );
+
+/*
+	¹¦ÄÜ£º  Mifare¿¨¿é¶Á(º¬Ñ°¿¨, Ñ¡¿¨, УÑé, ¶Á¿¨(Ò»¿é), ¿É¹©Ñ¡Ôñ)£º
+	ÊäÈ룺  u8 *pSN  				- ¿¨ÐòÁкÅ
+ 		u8 Mode			- ( ¸ù¾Ý¶¨ÒåµÄ³£Á¿±í½øÐÐ"»ò"×éºÏ )
+		   bit0 				- AÃÜÂë»òBÃÜÂë(  0 - A	1 - B)     
+		   bit2	 				- 0 - Ѱ¿¨       1 - ²»Ñ°¿¨
+		   bit3					- 0 - ²»Ð£ÑéÃÜÂë 1 - ҪУÑéÃÜÂë
+		u8 Block    			- Òª¶ÁµÄ¿éºÅ
+		u8 *pKey				- ÉÈÇø¶ÁдÃÜÂë
+
+	Êä³ö£º  u8 *pBuffer			- ¶Á³öµÄ16×Ö½ÚÊý¾Ý
+	·µ»ØÖµ£ºµ±Îª0x00 ʱÕýÈ·¶Á³ö
+*/
+extern  u8 M1_BlkRead( u8 Mode, u8 Block, u8 *pSN, u8  * pBuffer, u8 *pKey );
+
+/*
+	¹¦ÄÜ£º  Mifare¿¨¿éд(º¬Ñ°¿¨, Ñ¡¿¨, УÑé, ¶Á¿¨(Ò»¿é), ¿É¹©Ñ¡Ôñ)£º
+	ÊäÈ룺  u8 *pSN  				- ¿¨ÐòÁкÅ
+		u8 Mode			- ( ¸ù¾Ý¶¨ÒåµÄ³£Á¿±í½øÐÐ"»ò"×éºÏ )
+		   bit0 				- AÃÜÂë»òBÃÜÂë(  0 - A	1 - B)     
+		   bit2	 				- 0 - Ѱ¿¨       1 - ²»Ñ°¿¨
+		   bit3					- 0 - ²»Ð£ÑéÃÜÂë 1 - ҪУÑéÃÜÂë
+		u8 Block    			- Òª¶ÁµÄ¿éºÅ
+		u8 *pKey				- ÉÈÇø¶ÁдÃÜÂë
+		u8 *pBuffer			- ҪдÈëµÄ16×Ö½ÚÊý¾Ý
+	·µ»ØÖµ£ºµ±Îª0x00 ʱÕýÈ·¶Á³ö
+*/
+extern  u8 M1_BlkWrite( u8 Mode, u8 Block, u8 *pSN, u8 * pBuffer, u8 *pKey );
+
+
+////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+//CPU¿¨ºÍESAMÄ£¿é
+
+//¹¦ÄÜ£º³õʼ»¯SAMͨѶ½Ó¿Ú
+//²ÎÊý£ºÎÞ
+//·µ»Ø£ºÎÞ
+extern void ISO7816_USART_Init(void);
+
+//ich¶¨Òå
+#define	PROTOCOL_T0_CH1			1		                // ESAMÄ£¿é
+#define PROTOCOL_TCL_PCD0		0x80                    //·Ç½Ó´¥Ê½¿¨
+
+//¿¨Éϵ磬ÓÃÓÚSAM¿¨À临λ
+//²ÎÊý£ºcid=0
+//      ich ͨµÀºÅ
+//·µ»Ø£º0³É¹¦
+extern unsigned short Gen_PowerOnCard(unsigned char cid, int ich);
+
+//¹Ø±ÕSAM¿¨µçÔ´
+//²ÎÊý£ºich ͨµÀºÅ
+extern void Gen_PowerOffCard(int ich);
+
+//¹¦ÄÜ£º¿¨¸´Î»Ç°³õʼ»¯Ïà¹ØÊý¾Ý½á¹¹£¨ÓÃÓÚSAM»ò¿¨Æ¬£©
+//²ÎÊý£ºcid=0
+//      ich ͨµÀºÅ
+void Gen_ResetInfo( unsigned char cid, int ich );
+//¹¦ÄÜ£º¿¨¸´Î»£¨¿ÉÓÃÓÚ¸´Î»SAM»ò¿¨Æ¬£©
+//²ÎÊý£ºcid=0
+//      ich ͨµÀºÅ
+//·µ»Ø£º0³É¹¦
+extern unsigned short Gen_ResetCard(unsigned char cid, int ich);
+
+//¹¦ÄÜ£ºActivation of a PICC in IDLE mode.£¨ÓÃÓÚ¿¨Æ¬£©
+//²ÎÊý£ºbr (IN) Baudrate for MIFARE communication 0 106 kBaud
+//      atq (OUT) Answer to Request
+//      sak (OUT) Select acknowledge
+//      uid (OUT) up to 10 bytes UID
+//      uid_len (OUT) length of the UID
+//·µ»Ø£º0 ok
+extern short Mf500PiccActivateIdle(unsigned char br,
+                           unsigned char *atq, 
+                           unsigned char *sak, 
+                           unsigned char *uid, 
+                           unsigned char *uid_len);
+
+//¹¦ÄÜ£ºSends the PICC into the halt state.
+//²ÎÊý£ºNone
+//·µ»Ø£º0 ok
+//extern short Mf500PiccHalt(void); 
+
+//¹¦ÄÜ£ºÔÚÉ䯵¿¨¼ÓµçÇÒ½øÈë144433-4Çé¿öϲâÊÔ¿¨Æ¬µÄ´æÔÚ
+//²ÎÊý£ºÎÞ
+//·µ»Ø£º0 ¿¨´æÔÚ
+//      ÆäËû ¿¨²»´æÔÚ
+extern unsigned char PICC_TclCheckRFRounge(void);
+
+//¹¦ÄÜ£ºÊý¾Ý½»»»£¨¿ÉÓÃÓÚ¸´Î»SAM»ò¿¨Æ¬£©
+//²ÎÊý£ºcid=0
+//      nad_send=0
+//      cmd_buf ÃüÁ³åÇø
+//      cmd_len ÃüÁ¶È
+//      ExpectedResponseLength ÆÚÍû¿¨Æ¬»Ø¸´µÄÊý¾Ý³¤¶È
+//      rec_buf ÓÃÓÚ»ñÈ¡·µ»ØÊý¾ÝµÄÖ¸Õë
+//      rec_buf_len ʵ¼Ê½ÓÊÕµ½µÄÊý¾Ý³¤¶È 
+//      ich ͨµÀºÅ
+//·µ»Ø£º0³É¹¦             
+extern unsigned short Gen_Exchange(unsigned char cid, 
+                                        unsigned char nad_send,
+                                        unsigned char *cmd_buf,
+                                        unsigned char cmd_len, 
+                                        unsigned char ExpectedResponseLength, 
+                                        unsigned char **rec_buf, 
+                                        unsigned char *rec_buf_len, 
+                                        int ich);
+
+//¹¦ÄÜ: ÉèÖÃ3DES(Ë«±¶³¤)ÃÜÔ¿
+//²ÎÊý: 16×Ö½ÚÃÜÔ¿Öµ
+//·µ»Ø: 0 ³É¹¦
+//      ÆäËû ʧ°Ü
+//extern u8 des_set_keys(u8 key[16]);
+
+//¹¦ÄÜ: 3des¼ÓÃÜ
+//²ÎÊý: src[8] ÊäÈë8×Ö½ÚÃ÷ÎÄÊý¾Ý
+//      dest[8] Êä³ö8×Ö½ÚÃÜÎÄÊý¾Ý
+//·µ»Ø: ÎÞ
+//extern void des_encrypt(u8 src [ 8 ], u8 dest [ 8 ]);
+
+//¹¦ÄÜ: 3des½âÃÜ
+//²ÎÊý: src[8] ÊäÈë8×Ö½ÚÃÜÎÄÊý¾Ý
+//      dest[8] Êä³ö8×Ö½ÚÃ÷ÎÄÊý¾Ý
+//·µ»Ø: ÎÞ
+//extern void des_decrypt(u8 src [ 8 ], u8 dest [ 8 ]);
+
+//¹¦ÄÜ: ²Á³ýESAM¿ªÆÕ¿¨½á¹¹£¬²¢Ìæ»»³õʼÖ÷¿ØÃÜԿΪ16×Ö½ÚÈ«0
+//²ÎÊý: ÎÞ
+//·µ»Ø: 0x9000 ³É¹¦
+//      0x0000 ²»ÊÇ¿ªÆÕ³õʼESAM¿¨¿Õ¼ä£¬²»ÄܽøÐвÁ³ý²Ù×÷
+//      ÆäËû   ʧ°Ü
+//extern u16 erase_mf(void);
+
+
+////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+//CANͨѶÏà¹Ø
+typedef struct 
+{
+	unsigned int   id;                 /* 29 bit identifier                               */
+	unsigned char  data[8];            /* Data field                                      */
+	unsigned char  len;                /* Length of data field in bytes                   */
+	unsigned char  ch;                 /* Object channel                                  */
+	unsigned char  format;             /* 0 - STANDARD, 1- EXTENDED IDENTIFIER            */
+	unsigned char  type;               /* 0 - DATA FRAME, 1 - REMOTE FRAME                */
+}CAN_msg; //CANͨѶÏûÏ¢¶¨Òå
+
+//CANͨѶͨµÀ¶¨Òå(Object channel)
+#define DEF_CAN_CHANNEL_SEND			0x01
+#define DEF_CAN_CHANNEL_RECV			0x01
+
+//CANÖ¡¸ñʽ
+#define	STANDARD_FORMAT	0
+#define	EXTENDED_FORMAT	1
+
+//CANÖ¡ÀàÐÍ
+#define	DATA_FRAME		0
+#define	REMOTE_FRAME	1
+
+
+/**********************************************************************************************
+;º¯ÊýÔ­ÐÍ£ºunsigned int APP_CAN_Init( U32 baud, U08 addr )
+;º¯Êý¹¦ÄÜ£º³õʼ»¯ºÍÆô¶¯CAN¿ØÖÆÆ÷
+;Êä	   È룺baud - CAN²¨ÌØÂÊ addr - ´Ó»úµØÖ·
+;·µ »Ø Öµ£º0 - ³É¹¦ ÆäËû - ʧ°Ü 
+**********************************************************************************************/
+extern unsigned int APP_CAN_Init( u32 baud, u8 addr );
+
+//ʹÓÃCAN¿ØÖÆÆ÷·¢ËÍÏûÏ¢
+extern unsigned int CAN_Send(unsigned int ctrl, CAN_msg *msg, unsigned short timeout);
+
+//CAN¿ØÖÆÆ÷½ÓÊÕÏûÏ¢
+extern unsigned int CAN_Recieve( CAN_msg *msg );
+
+//»ñÈ¡CAN·¢ËÍ״̬ 0£ºÃ»·¢ËÍ  1£ºÔÚ·¢ËÍ
+extern unsigned char Get_CAN_TxState(void);
+
+//»ñÈ¡CAN·¢ËÍ״̬ 0£ºÃ»½ÓÊÕ  1£ºÔÚ½ÓÊÕ
+extern unsigned char Get_CAN_RxState(void);
+
+extern void USB_HP_CAN1_TX (void);
+
+
+extern void USB_LP_CAN1_RX0(void);
+
+
+////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+//ÏÔʾÏà¹Ø
+/**
+ * ´ò¿ª±³¹â
+ */
+void glcd_bkl_on(void);
+
+/**
+ * ¹Ø±Õ±³¹â
+ */
+void glcd_bkl_off(void);
+
+/**
+ * ³õʼ»¯LCDÏÔʾ
+ */
+void glcd_init(void);
+
+/**
+ * ÏÔʾÊý¾Ý
+ */
+void glcd_write(void);
+
+/**
+ * Çå³ýÏÔʾ
+ */
+void glcd_clear(void);
+
+/**
+ * Çå³ýÏÔʾ»º³åÇø
+ */
+void glcd_clear_buffer(void);
+
+//ÏÔʾ²¿·ÖÇë²Î¼ûËùÌṩԴÂ룬ÐèÒªµÄ×ÔÐÐÔö¼Ó
+
+#endif
diff --git a/g401302/src/nec_apdu.c b/g401302/src/nec_apdu.c
new file mode 100644
index 0000000..5e31693
--- /dev/null
+++ b/g401302/src/nec_apdu.c
@@ -0,0 +1,100 @@
+#include <string.h>
+#include "../../nec_hardware.h"
+#include "../../nec_apdu.h"
+
+#define RETCODE_OK  0x9000
+
+int8 psam_poweron(uint8 cid)
+{
+  return Gen_PowerOnCard(cid, PROTOCOL_T0_CH1);
+}
+void psam_powreoff(uint8 cid)
+{
+  Gen_PowerOffCard(cid);
+}
+
+static uint8 gPICC_SNR[8]; 			/* 卡片SNå? */
+int8 card_request(uint8* sak,uint8 snr[8])
+{
+  uint8 gPICC_SNR_LEN;					/* æ‰?获取的卡片SN数据长度 */
+  uint8 gPICC_ATQA[2];					/*	*/
+  uint8 gPICC_SAK;						/*	*/
+
+  if(!Mf500PiccActivateIdle(0, gPICC_ATQA, &gPICC_SAK, gPICC_SNR, &gPICC_SNR_LEN))
+  {
+    *sak = gPICC_SAK;
+    memcpy(snr,gPICC_SNR,8);
+    return 0;
+  }
+  return -1;
+}
+int8 card_m1_mode(uint8 cardphyid[8])
+{
+  uint8 buff[2];
+  if(M1_Request(PICC_REQ_IDLE, buff))
+  {
+    if(M1_Request(PICC_REQ_IDLE, buff))
+    {
+      return -1;
+    }
+  }
+  if(!GetM1SN(cardphyid))
+  {
+    if(!M1_Select(cardphyid))
+    {
+      return 0;
+    }
+  }
+  return -1;
+}
+int8 card_rf_reset(void)
+{
+  return M1_RCReset();
+}
+int8 card_cpu_mode(void)
+{
+  Gen_ResetInfo(0, PROTOCOL_TCL_PCD0);
+  return Gen_ResetCard(0, PROTOCOL_TCL_PCD0);
+}
+int8 card_cpu_exist(void)
+{
+  return PICC_TclCheckRFRounge();
+}
+
+void card_radio_on(void)
+{
+  M1_RadioOn();
+}
+void card_radio_off(void)
+{
+  M1_RadioOff();
+}
+uint16 card_m1_auth(uint8* cardphyid,uint8 blockno, uint8 key[6])
+{
+  return M1_AuthBlk(KEYA,cardphyid,blockno,key);
+}
+uint16 card_m1_read(uint8 blockno,uint8 readbuf[16])
+{
+  return M1_Read(blockno,readbuf);
+}
+uint16 card_m1_write(uint8 blockno,uint8 writebuf[16])
+{
+  return M1_Write(blockno,writebuf);
+}
+uint16 card_cpu_exchange(uint8* cmd_buf,
+                         uint8 cmd_len,
+                         uint8 ExpectedResponseLength,
+                         uint8** rec_buf,
+                         uint8* rec_buf_len)
+{
+  uint16 ret;
+  ret =Gen_Exchange(0,0, cmd_buf, cmd_len, ExpectedResponseLength, rec_buf, rec_buf_len,
+                    PROTOCOL_TCL_PCD0);
+  if(ret != RETCODE_OK)
+  {
+    return Gen_Exchange(0,0, cmd_buf, cmd_len, ExpectedResponseLength, rec_buf, rec_buf_len,
+                        PROTOCOL_TCL_PCD0);
+  }
+  return RETCODE_OK;
+}
+
diff --git a/g401302/src/nec_hardware.c b/g401302/src/nec_hardware.c
new file mode 100644
index 0000000..3f86ff3
--- /dev/null
+++ b/g401302/src/nec_hardware.c
@@ -0,0 +1,59 @@
+#include "../../nec_hardware.h"
+
+/*Ó²¼þ³õʼ»¯*/
+uint16 sp_init(void)
+{
+  valve_init();
+  initFlowSensorDriver();
+  SysTick_cfg();
+  e2prom_init(0);
+  HW_Flash_Init();
+  rtc_init();
+  glcd_init();
+  usart_init();
+  initWatchDog();
+
+  HW_SPI_RF_CfgInit();
+
+  ISO7816_USART_Init();    //SAMÄ£¿é³õʼ»¯
+
+  if(Gen_PowerOnCard(0,PROTOCOL_T0_CH1))  //¸´Î»SAMÄ£¿éʧ°Ü
+  {
+    return 1;
+  }
+  return 0;
+}
+/*ι¹·*/
+void sp_feed_dog(void)
+{
+  feedWatchDog();
+}
+
+/*Ö÷Ñ­»·µ÷Óà ·§ÃÅ¿ØÖÆ*/
+void sp_valve_control(void)
+{
+  valve_ctrl();
+}
+/*Ö÷Ñ­»·µ÷Óà Âö³å¼ÆÊý¸üпØÖÆ*/
+void sp_flowsensor_control(void)
+{
+  //flowsensor_update_count();
+}
+
+/*»ñÈ¡µ±Ç°Á÷Á¿¼ÆÂö³å¼ÆÊý*/
+uint32 sp_flowsensor_get_count(void)
+{
+  return flowsensor_get_count();
+}
+
+/*Á÷Á¿¼ÆÂö³å¼ÆÊýÇåÁã      */
+void sp_flowsensor_count_clear(void)
+{
+  flowsensor_set_count(0);
+}
+/*0--Á÷Á¿¼ÆÕý³£ 1--Á÷Á¿¼ÆÒì³£*/
+uint8 sp_flowsensor_check_valid(void)
+{
+  return flowsensor_sta();
+}
+
diff --git a/g401302/src/stm32f10x_it.c b/g401302/src/stm32f10x_it.c
new file mode 100644
index 0000000..82b6810
--- /dev/null
+++ b/g401302/src/stm32f10x_it.c
@@ -0,0 +1,168 @@
+/**
+  ******************************************************************************
+  * @file    Project/STM32F10x_StdPeriph_Template/stm32f10x_it.c 
+  * @author  MCD Application Team
+  * @version V3.5.0
+  * @date    08-April-2011
+  * @brief   Main Interrupt Service Routines.
+  *          This file provides template for all exceptions handler and 
+  *          peripherals interrupt service routine.
+  ******************************************************************************
+  * @attention
+  *
+  * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS
+  * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE
+  * TIME. AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY
+  * DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING
+  * FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE
+  * CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS.
+  *
+  * <h2><center>&copy; COPYRIGHT 2011 STMicroelectronics</center></h2>
+  ******************************************************************************
+  */
+
+/* Includes ------------------------------------------------------------------*/
+#include "stm32f10x_it.h"
+#include "G401_drv_hw_V01.h"
+
+/** @addtogroup STM32F10x_StdPeriph_Template
+  * @{
+  */
+
+/* Private typedef -----------------------------------------------------------*/
+/* Private define ------------------------------------------------------------*/
+/* Private macro -------------------------------------------------------------*/
+/* Private variables ---------------------------------------------------------*/
+/* Private function prototypes -----------------------------------------------*/
+/* Private functions ---------------------------------------------------------*/
+
+/******************************************************************************/
+/*            Cortex-M3 Processor Exceptions Handlers                         */
+/******************************************************************************/
+
+/**
+  * @brief  This function handles NMI exception.
+  * @param  None
+  * @retval None
+  */
+void NMI_Handler(void)
+{
+}
+
+/**
+  * @brief  This function handles Hard Fault exception.
+  * @param  None
+  * @retval None
+  */
+void HardFault_Handler(void)
+{
+  /* Go to infinite loop when Hard Fault exception occurs */
+  while (1)
+  {
+  }
+}
+
+/**
+  * @brief  This function handles Memory Manage exception.
+  * @param  None
+  * @retval None
+  */
+void MemManage_Handler(void)
+{
+  /* Go to infinite loop when Memory Manage exception occurs */
+  while (1)
+  {
+  }
+}
+
+/**
+  * @brief  This function handles Bus Fault exception.
+  * @param  None
+  * @retval None
+  */
+void BusFault_Handler(void)
+{
+  /* Go to infinite loop when Bus Fault exception occurs */
+  while (1)
+  {
+  }
+}
+
+/**
+  * @brief  This function handles Usage Fault exception.
+  * @param  None
+  * @retval None
+  */
+void UsageFault_Handler(void)
+{
+  /* Go to infinite loop when Usage Fault exception occurs */
+  while (1)
+  {
+  }
+}
+
+/**
+  * @brief  This function handles SVCall exception.
+  * @param  None
+  * @retval None
+  */
+void SVC_Handler(void)
+{
+}
+
+/**
+  * @brief  This function handles Debug Monitor exception.
+  * @param  None
+  * @retval None
+  */
+void DebugMon_Handler(void)
+{
+}
+
+/**
+  * @brief  This function handles PendSVC exception.
+  * @param  None
+  * @retval None
+  */
+void PendSV_Handler(void)
+{
+}
+
+/**
+  * @brief  This function handles SysTick Handler.
+  * @param  None
+  * @retval None
+  */
+void SysTick_Handler(void)
+{
+	TimerTick();
+	ComOverTimeProceed();
+}
+
+void USART1_IRQHandler(void)
+{
+}
+
+void UART5_IRQHandler(void)
+{
+	usart_isr_proc();	  
+
+	//´Ë´¦¿ÉÌí¼ÓÓ¦Óòã´úÂë
+}
+
+void ADC_IRQHandler(void)
+{
+}
+
+void DMA1_Channel1_IRQHandler(void)
+{
+  //DMA1_Channel1_read();
+}
+void USB_HP_CAN1_TX_IRQHandler (void)
+{
+   USB_HP_CAN1_TX ();
+}
+void USB_LP_CAN1_RX0_IRQHandler (void)
+{
+   USB_LP_CAN1_RX0();
+}
diff --git a/g401302/src/stm32f10x_it.h b/g401302/src/stm32f10x_it.h
new file mode 100644
index 0000000..9fd17c0
--- /dev/null
+++ b/g401302/src/stm32f10x_it.h
@@ -0,0 +1,65 @@
+/**
+  ******************************************************************************
+  * @file    Project/STM32F10x_StdPeriph_Template/stm32f10x_it.h 
+  * @author  MCD Application Team
+  * @version V3.5.0
+  * @date    08-April-2011
+  * @brief   This file contains the headers of the interrupt handlers.
+  ******************************************************************************
+  * @attention
+  *
+  * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS
+  * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE
+  * TIME. AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY
+  * DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING
+  * FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE
+  * CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS.
+  *
+  * <h2><center>&copy; COPYRIGHT 2011 STMicroelectronics</center></h2>
+  ******************************************************************************
+  */ 
+
+/* Define to prevent recursive inclusion -------------------------------------*/
+#ifndef __STM32F10x_IT_H
+#define __STM32F10x_IT_H
+
+#ifdef __cplusplus
+ extern "C" {
+#endif 
+
+/* Includes ------------------------------------------------------------------*/
+
+#include "stm32f10x.h"
+
+/* Exported types ------------------------------------------------------------*/
+/* Exported constants --------------------------------------------------------*/
+/* Exported macro ------------------------------------------------------------*/
+/* Exported functions ------------------------------------------------------- */
+
+void NMI_Handler(void);
+void HardFault_Handler(void);
+void MemManage_Handler(void);
+void BusFault_Handler(void);
+void UsageFault_Handler(void);
+void SVC_Handler(void);
+void DebugMon_Handler(void);
+void PendSV_Handler(void);
+void SysTick_Handler(void);
+void TIM4_IRQHandler(void);
+void USART1_IRQHandler(void);
+void UART5_IRQHandler(void);
+void DMAChannel4_IRQHandler(void);
+void DMAChannel5_IRQHandler(void);
+void EXTI0_IRQHandler(void);
+void EXTI1_IRQHandler(void);
+void DMA1_Channel1_IRQHandler(void);
+void USB_HP_CAN1_TX_IRQHandler (void);
+void USB_LP_CAN1_RX0_IRQHandler (void);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* __STM32F10x_IT_H */
+
+/******************* (C) COPYRIGHT 2011 STMicroelectronics *****END OF FILE****/